From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: Miroslav Rezanina To: git-commits@fedoraproject.org Subject: [rpms/qemu] eln: * Tue May 26 2026 Miroslav Rezanina - 10.1.0-19 Date: Tue, 30 Jun 2026 15:09:02 GMT Message-ID: <178283214261.1.8279960059052225584.rpms-qemu-cc2f0f0661a8@fedoraproject.org> List-ID: X-Git-Repo: rpms/qemu X-Git-Branch: eln X-Git-Rev: cc2f0f0661a8d01f6c107202f580c744fdd22c44 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvcWVtdQogICAgICAgICAgICBCcmFuY2ggOiBlbG4KICAgICAgICAgICAgQ29t bWl0IDogY2MyZjBmMDY2MWE4ZDAxZjZjMTA3MjAyZjU4MGM3NDRmZGQyMmM0NAogICAgICAgICAg ICBBdXRob3IgOiBNaXJvc2xhdiBSZXphbmluYSA8bXJlemFuaW5AcmVkaGF0LmNvbT4KICAgICAg ICAgICAgRGF0ZSAgIDogMjAyNi0wNi0zMFQxNzowNzo1NyswMjowMAogICAgICAgICAgICBTdGF0 cyAgOiArMTc5MTMvLTEgaW4gMTE3IGZpbGUocykKICAgICAgICAgICAgVVJMICAgIDogaHR0cHM6 Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9xZW11L2MvY2MyZjBmMDY2MWE4ZDAxZjZjMTA3 MjAyZjU4MGM3NDRmZGQyMmM0ND9icmFuY2g9ZWxuCgogICAgICAgICAgICBMb2c6CiAgICAgICAg ICAgICogVHVlIE1heSAyNiAyMDI2IE1pcm9zbGF2IFJlemFuaW5hIDxtcmV6YW5pbkByZWRoYXQu Y29tPiAtIDEwLjEuMC0xOQoKLSBrdm0tdm1zdGF0ZS1JbnRyb2R1Y2UtVk1TVEFURV9WQVJSQVlf SU5UMzJfQUxMT0MucGF0Y2ggW1JIRUwtMTc0ODU4XQotIGt2bS10YXJnZXQtYXJtLU1vdmUtY29t cGFyZV91NjQtdG8taGVscGVyLmMucGF0Y2ggW1JIRUwtMTc0ODU4XQotIGt2bS10YXJnZXQtYXJt LUNvbnZlcnQtaW5pdF9jcHJlZ19saXN0LXRvLWdfaGFzaF90YWJsZV9mLnBhdGNoIFtSSEVMLTE3 NDg1OF0KLSBrdm0tdGFyZ2V0LWFybS1tYWNoaW5lLVVzZS1WTVNUQVRFX1ZBUlJBWV9JTlQzMl9B TExPQy1mby5wYXRjaCBbUkhFTC0xNzQ4NThdCi0ga3ZtLXRhcmdldC1hcm0ta3ZtLUV4cG9ydC1r dm1fcHJpbnRfcmVnaXN0ZXJfbmFtZS5wYXRjaCBbUkhFTC0xNzQ4NThdCi0ga3ZtLXRhcmdldC1h cm0ta3ZtLVR3ZWFrLXByaW50X3JlZ2lzdGVyX25hbWUtZm9yLWFybTY0LXMucGF0Y2ggW1JIRUwt MTc0ODU4XQotIGt2bS10YXJnZXQtYXJtLW1hY2hpbmUtVHJhY2UtY3ByZWctbmFtZXMtd2hpY2gt ZG8tbm90LW1hLnBhdGNoIFtSSEVMLTE3NDg1OF0KLSBrdm0tdGFyZ2V0LWFybS1tYWNoaW5lLVRy YWNlLWFsbC1yZWdpc3Rlci1taXNtYXRjaGVzLnBhdGNoIFtSSEVMLTE3NDg1OF0KLSBrdm0tdGFy Z2V0LWFybS1tYWNoaW5lLUZpeC1kZXRlY3Rpb24tb2YtdW5rbm93bi1pbmNvbWluZy5wYXRjaCBb UkhFTC0xNzQ4NThdCi0ga3ZtLXRhcmdldC1hcm0tY3B1LUludHJvZHVjZS10aGUtaW5mcmFzdHJ1 Y3R1cmUtZm9yLWNwcmUucGF0Y2ggW1JIRUwtMTc0ODU4XQotIGt2bS10YXJnZXQtYXJtLW1hY2hp bmUtSGFuZGxlLVRvbGVyYW5jZU5vdE9uQm90aEVuZHMtbWlnLnBhdGNoIFtSSEVMLTE3NDg1OF0K LSBrdm0tdGFyZ2V0LWFybS1tYWNoaW5lLUhhbmRsZS1Ub2xlcmFuY2VPbmx5U3JjVGVzdFZhbHVl LS5wYXRjaCBbUkhFTC0xNzQ4NThdCi0ga3ZtLXRhcmdldC1hcm0tY3B1NjQtTWl0aWdhdGUtbWln cmF0aW9uLWZhaWx1cmVzLWR1ZS10by0ucGF0Y2ggW1JIRUwtMTc0ODU4XQotIGt2bS10YXJnZXQt YXJtLWNwdTY0LURlZmluZS1jcHJlZy1taWdyYXRpb24tdG9sZXJhbmNlLWZvLnBhdGNoIFtSSEVM LTE3NDg1OF0KLSBrdm0tdGFyZ2V0LWFybS1oZWxwZXItRGVmaW5lLWNwcmVnLW1pZ3JhdGlvbi10 b2xlcmFuY2UtZi5wYXRjaCBbUkhFTC0xNzQ4NThdCi0ga3ZtLVJldmVydC10YXJnZXQtYXJtLVJl aW5zdGF0ZS1ib2d1cy1BQXJjaDMyLURCR0RUUlRYLXIucGF0Y2ggW1JIRUwtMTc0ODU4XQotIGt2 bS1ody1wY2ktaG9zdC1ncGV4LWFjcGktRml4LV9EU00tZnVuY3Rpb24tMC1zdXBwb3J0LXJlLnBh dGNoIFtSSEVMLTEzODQ5NF0KLSBrdm0tdmZpby1zY3NpLXVpLUVycm9yLWNoZWNrLXFpb19jaGFu bmVsX3NvY2tldF9jb25uZWN0Xy5wYXRjaCBbUkhFTC0xMzg0OTRdCi0ga3ZtLXZmaW8taWdkLUVu YWJsZS1xdWlya3Mtd2hlbi1JR0QtaXMtbm90LXRoZS1wcmltYXJ5LWQucGF0Y2ggW1JIRUwtMTM4 NDk0XQotIGt2bS12ZmlvLVJlbW92ZS12ZmlvLWFtZC14Z2JlLWRldmljZS5wYXRjaCBbUkhFTC0x Mzg0OTRdCi0ga3ZtLXZmaW8tUmVtb3ZlLXZmaW8tY2FseGVkYS14Z21hYy1kZXZpY2UucGF0Y2gg W1JIRUwtMTM4NDk0XQotIGt2bS1ody1hcm0tdmlydC1JbmNsdWRlLXN5c3RlbS1zeXN0ZW0uaC5w YXRjaCBbUkhFTC0xMzg0OTRdCi0ga3ZtLXZmaW8tUmVtb3ZlLXZmaW8tcGxhdGZvcm0ucGF0Y2gg W1JIRUwtMTM4NDk0XQotIGt2bS12ZmlvLU1vdmUtdmZpby1yZWdpb24uaC11bmRlci1ody12Zmlv LnBhdGNoIFtSSEVMLTEzODQ5NF0KLSBrdm0tdmZpby1jb250YWluZXItc2V0LWVycm9yLW9uLWNw ci1mYWlsdXJlLnBhdGNoIFtSSEVMLTEzODQ5NF0KLSBrdm0tdmZpby1SZXBvcnQtYW4tZXJyb3It d2hlbi10aGUtZG1hX21heF9tYXBwaW5ncy1saW1pdC5wYXRjaCBbUkhFTC0xMzg0OTRdCi0ga3Zt LWh3LXZmaW8tdXNlci1hZGQteC1wY2ktY2xhc3MtY29kZS5wYXRjaCBbUkhFTC0xMzg0OTRdCi0g a3ZtLXZmaW8tSW50cm9kdWNlLWhlbHBlci12ZmlvX3BjaV9mcm9tX3ZmaW9fZGV2aWNlLnBhdGNo IFtSSEVMLTEzODQ5NF0KLSBrdm0tdmZpby12ZmlvLWNvbnRhaW5lci1iYXNlLmgtdXBkYXRlLVZG SU9Db250YWluZXJCYXNlLS5wYXRjaCBbUkhFTC0xMzg0OTRdCi0ga3ZtLXZmaW8tdmZpby1jb250 YWluZXIuaC11cGRhdGUtVkZJT0NvbnRhaW5lci1kZWNsYXJhdGkucGF0Y2ggW1JIRUwtMTM4NDk0 XQotIGt2bS1ody12ZmlvLWNwci1sZWdhY3kuYy11c2UtUU9NLWNhc3RzLXdoZXJlLWFwcHJvcHJp YXRlLnBhdGNoIFtSSEVMLTEzODQ5NF0KLSBrdm0taHctdmZpby1jb250YWluZXIuYy11c2UtUU9N LWNhc3RzLXdoZXJlLWFwcHJvcHJpYXRlLnBhdGNoIFtSSEVMLTEzODQ5NF0KLSBrdm0tdmZpby1z cGFwci5jLXVzZS1RT00tY2FzdHMtd2hlcmUtYXBwcm9wcmlhdGUucGF0Y2ggW1JIRUwtMTM4NDk0 XQotIGt2bS12ZmlvLXZmaW8tY29udGFpbmVyLmgtcmVuYW1lLVZGSU9Db250YWluZXItYmNvbnRh aW5lLnBhdGNoIFtSSEVMLTEzODQ5NF0KLSBrdm0tdmZpby11c2VyLWNvbnRhaW5lci5oLXVwZGF0 ZS1WRklPVXNlckNvbnRhaW5lci1kZWNsYS5wYXRjaCBbUkhFTC0xMzg0OTRdCi0ga3ZtLXZmaW8t Y29udGFpbmVyLmMtdXNlLVFPTS1jYXN0cy13aGVyZS1hcHByb3ByaWF0ZS5wYXRjaCBbUkhFTC0x Mzg0OTRdCi0ga3ZtLXZmaW8tdXNlci1jb250YWluZXIuaC1yZW5hbWUtVkZJT1VzZXJDb250YWlu ZXItYmNvbnQucGF0Y2ggW1JIRUwtMTM4NDk0XQotIGt2bS12ZmlvLXVzZXItcGNpLmMtdXBkYXRl LVZGSU9Vc2VyUENJRGV2aWNlLWRlY2xhcmF0aW9uLnBhdGNoIFtSSEVMLTEzODQ5NF0KLSBrdm0t dmZpby11c2VyLXBjaS5jLXVzZS1RT00tY2FzdHMtd2hlcmUtYXBwcm9wcmlhdGUucGF0Y2ggW1JI RUwtMTM4NDk0XQotIGt2bS12ZmlvLXVzZXItcGNpLmMtcmVuYW1lLVZGSU9Vc2VyUENJRGV2aWNl LWRldmljZS1maWVsLnBhdGNoIFtSSEVMLTEzODQ5NF0KLSBrdm0tdmZpby1wY2kuaC11cGRhdGUt VkZJT1BDSURldmljZS1kZWNsYXJhdGlvbi5wYXRjaCBbUkhFTC0xMzg0OTRdCi0ga3ZtLXZmaW8t cGNpLmMtdXNlLVFPTS1jYXN0cy13aGVyZS1hcHByb3ByaWF0ZS5wYXRjaCBbUkhFTC0xMzg0OTRd Ci0ga3ZtLXZmaW8tcGNpLXF1aXJrcy5jLXVzZS1RT00tY2FzdHMtd2hlcmUtYXBwcm9wcmlhdGUu cGF0Y2ggW1JIRUwtMTM4NDk0XQotIGt2bS12ZmlvLWNwci5jLXVzZS1RT00tY2FzdHMtd2hlcmUt YXBwcm9wcmlhdGUucGF0Y2ggW1JIRUwtMTM4NDk0XQotIGt2bS12ZmlvLWlnZC5jLXVzZS1RT00t Y2FzdHMtd2hlcmUtYXBwcm9wcmlhdGUucGF0Y2ggW1JIRUwtMTM4NDk0XQotIGt2bS12ZmlvLXVz ZXItcGNpLmMtdXNlLVFPTS1jYXN0cy13aGVyZS1hcHByb3ByaWF0ZTIucGF0Y2ggW1JIRUwtMTM4 NDk0XQotIGt2bS12ZmlvLXBjaS5oLXJlbmFtZS1WRklPUENJRGV2aWNlLXBkZXYtZmllbGQtdG8t cGFyZW50LnBhdGNoIFtSSEVMLTEzODQ5NF0KLSBrdm0tdHJlZXdpZGUtaGFuZGxlLXJlc3VsdC1v Zi1xaW9fY2hhbm5lbF9zZXRfYmxvY2tpbmcucGF0Y2ggW1JIRUwtMTM4NDk0XQotIGt2bS12Zmlv LXBjaS1Eby1ub3QtdW5wYXJlbnQtaW4taW5zdGFuY2VfZmluYWxpemUucGF0Y2ggW1JIRUwtMTM4 NDk0XQotIGt2bS12ZmlvLURvLW5vdC11bnBhcmVudC1pbi1pbnN0YW5jZV9maW5hbGl6ZS5wYXRj aCBbUkhFTC0xMzg0OTRdCi0ga3ZtLWluY2x1ZGUtaHctdmZpby12ZmlvLWNvbnRhaW5lci5oLXJl bmFtZS1WRklPQ29udGFpbmUucGF0Y2ggW1JIRUwtMTM4NDk0XQotIGt2bS1pbmNsdWRlLWh3LXZm aW8tdmZpby1jb250YWluZXItYmFzZS5oLXJlbmFtZS1WRklPQ29uLnBhdGNoIFtSSEVMLTEzODQ5 NF0KLSBrdm0taW5jbHVkZS1ody12ZmlvLXZmaW8tY29udGFpbmVyLmgtcmVuYW1lLWZpbGUtdG8t dmZpby5wYXRjaCBbUkhFTC0xMzg0OTRdCi0ga3ZtLWluY2x1ZGUtaHctdmZpby12ZmlvLWNvbnRh aW5lci1iYXNlLmgtcmVuYW1lLWZpbGUtdG8ucGF0Y2ggW1JIRUwtMTM4NDk0XQotIGt2bS1ody12 ZmlvLWNvbnRhaW5lci5jLXJlbmFtZS1maWxlLXRvLWNvbnRhaW5lci1sZWdhY3kuLnBhdGNoIFtS SEVMLTEzODQ5NF0KLSBrdm0taHctdmZpby1jb250YWluZXItYmFzZS5jLXJlbmFtZS1maWxlLXRv LWNvbnRhaW5lci5jLnBhdGNoIFtSSEVMLTEzODQ5NF0KLSBrdm0tdmZpby1pb21tdWZkLmMtdXNl LVFPTS1jYXN0cy13aGVyZS1hcHByb3ByaWF0ZS5wYXRjaCBbUkhFTC0xMzg0OTRdCi0ga3ZtLXZm aW8tY3ByLWlvbW11ZmQuYy11c2UtUU9NLWNhc3RzLXdoZXJlLWFwcHJvcHJpYXRlLnBhdGNoIFtS SEVMLTEzODQ5NF0KLSBrdm0tdmZpby12ZmlvLWlvbW11ZmQuaC1yZW5hbWUtVkZJT0NvbnRhaW5l ci1iY29udGFpbmVyLS5wYXRjaCBbUkhFTC0xMzg0OTRdCi0ga3ZtLXZmaW8tc3BhcHIuYy11c2Ut UU9NLWNhc3RzLXdoZXJlLWFwcHJvcHJpYXRlMi5wYXRjaCBbUkhFTC0xMzg0OTRdCi0ga3ZtLXZm aW8tc3BhcHIuYy1yZW5hbWUtVkZJT0NvbnRhaW5lci1iY29udGFpbmVyLWZpZWxkLXQucGF0Y2gg W1JIRUwtMTM4NDk0XQotIGt2bS12ZmlvLXBjaS5jLXJlbmFtZS12ZmlvX2luc3RhbmNlX2luaXQt dG8tdmZpb19wY2lfaW5pLnBhdGNoIFtSSEVMLTEzODQ5NF0KLSBrdm0tdmZpby1wY2kuYy1yZW5h bWUtdmZpb19pbnN0YW5jZV9maW5hbGl6ZS10by12ZmlvX3BjaS5wYXRjaCBbUkhFTC0xMzg0OTRd Ci0ga3ZtLXZmaW8tcGNpLmMtcmVuYW1lLXZmaW9fcGNpX2Rldl9jbGFzc19pbml0LXRvLXZmaW9f cGMucGF0Y2ggW1JIRUwtMTM4NDk0XQotIGt2bS12ZmlvLXBjaS5jLXJlbmFtZS12ZmlvX3BjaV9k ZXZfaW5mby10by12ZmlvX3BjaV9pbmZvLnBhdGNoIFtSSEVMLTEzODQ5NF0KLSBrdm0tczM5MHgt czM5MC1wY2ktdmZpby5jLXVzZS1RT00tY2FzdHMtd2hlcmUtYXBwcm9wcmlhdC5wYXRjaCBbUkhF TC0xMzg0OTRdCi0ga3ZtLWh3LXZmaW8tdHlwZXMuaC1yZW5hbWUtVFlQRV9WRklPX1BDSV9CQVNF LXRvLVRZUEVfVkYucGF0Y2ggW1JIRUwtMTM4NDk0XQotIGt2bS12ZmlvLXBjaS5jLXJlbmFtZS12 ZmlvX3BjaV9iYXNlX2Rldl9jbGFzc19pbml0LXRvLXZmLnBhdGNoIFtSSEVMLTEzODQ5NF0KLSBr dm0tdmZpby1wY2kuYy1yZW5hbWUtdmZpb19wY2lfYmFzZV9kZXZfaW5mby10by12ZmlvX3BjaS5w YXRjaCBbUkhFTC0xMzg0OTRdCi0ga3ZtLXZmaW8tcGNpLmMtcmVuYW1lLXZmaW9fcGNpX2Rldl9w cm9wZXJ0aWVzLXRvLXZmaW9fcGMucGF0Y2ggW1JIRUwtMTM4NDk0XQotIGt2bS12ZmlvLXBjaS5j LXJlbmFtZS12ZmlvX3BjaV9kZXZfbm9ob3RwbHVnX3Byb3BlcnRpZXMtLnBhdGNoIFtSSEVMLTEz ODQ5NF0KLSBrdm0tdmZpby1wY2kuYy1yZW5hbWUtdmZpb19wY2lfbm9ob3RwbHVnX2Rldl9jbGFz c19pbml0LS5wYXRjaCBbUkhFTC0xMzg0OTRdCi0ga3ZtLXZmaW8tcGNpLmMtcmVuYW1lLXZmaW9f cGNpX25vaG90cGx1Z19kZXZfaW5mby10by12ZmkucGF0Y2ggW1JIRUwtMTM4NDk0XQotIGt2bS12 ZmlvLXVzZXItcGNpLmMtcmVuYW1lLXZmaW9fdXNlcl9wY2lfZGV2X2NsYXNzX2luaXQtLnBhdGNo IFtSSEVMLTEzODQ5NF0KLSBrdm0tdmZpby11c2VyLXBjaS5jLXJlbmFtZS12ZmlvX3VzZXJfcGNp X2Rldl9wcm9wZXJ0aWVzLS5wYXRjaCBbUkhFTC0xMzg0OTRdCi0ga3ZtLXZmaW8tdXNlci1wY2ku Yy1yZW5hbWUtdmZpb191c2VyX2luc3RhbmNlX2luaXQtdG8tdmYucGF0Y2ggW1JIRUwtMTM4NDk0 XQotIGt2bS12ZmlvLXVzZXItcGNpLmMtcmVuYW1lLXZmaW9fdXNlcl9pbnN0YW5jZV9maW5hbGl6 ZS10LnBhdGNoIFtSSEVMLTEzODQ5NF0KLSBrdm0tdmZpby11c2VyLXBjaS5jLXJlbmFtZS12Zmlv X3VzZXJfcGNpX2Rldl9pbmZvLXRvLXZmaS5wYXRjaCBbUkhFTC0xMzg0OTRdCi0ga3ZtLWluY2x1 ZGUtaHctdmZpby12ZmlvLWRldmljZS5oLWZpeC1pbmNsdWRlLWhlYWRlci1ndWEucGF0Y2ggW1JI RUwtMTM4NDk0XQotIGt2bS12ZmlvLVJlbW92ZS13b3JrYXJvdW5kLWZvci1rZXJuZWwtRE1BLXVu bWFwLW92ZXJmbG93LnBhdGNoIFtSSEVMLTEzODQ5NF0KLSBrdm0tc3lzdGVtLWlvbW11ZmQtVXNl LXVpbnQ2NF90LXR5cGUtZm9yLUlPVkEtbWFwcGluZy1zaS5wYXRjaCBbUkhFTC0xMzg0OTRdCi0g a3ZtLWh3LXZmaW8tUmVvcmRlci12ZmlvX2NvbnRhaW5lcl9xdWVyeV9kaXJ0eV9iaXRtYXAtdHIu cGF0Y2ggW1JIRUwtMTM4NDk0XQotIGt2bS1ody12ZmlvLUF2b2lkLXJhbV9hZGRyX3QtaW4tdmZp b19jb250YWluZXJfcXVlcnlfZGlyLnBhdGNoIFtSSEVMLTEzODQ5NF0KLSBrdm0taHctdmZpby1V c2UtdWludDY0X3QtZm9yLUlPVkEtbWFwcGluZy1zaXplLWluLXZmaW9fYy5wYXRjaCBbUkhFTC0x Mzg0OTRdCi0ga3ZtLW1pZ3JhdGlvbi1wdXNoLUVycm9yLWVycnAtaW50by12bXN0YXRlX3N1YnNl Y3Rpb25fbG8ucGF0Y2ggW1JIRUwtMTM4NDk0XQotIGt2bS1taWdyYXRpb24tcHVzaC1FcnJvci1l cnJwLWludG8tdm1zdGF0ZV9sb2FkX3N0YXRlLnBhdGNoIFtSSEVMLTEzODQ5NF0KLSBrdm0tbWln cmF0aW9uLVJlbW92ZS1lcnJvci12YXJpYW50LW9mLXZtc3RhdGVfc2F2ZV9zdGF0ZS5wYXRjaCBb UkhFTC0xMzg0OTRdCi0ga3ZtLW1pZ3JhdGlvbi1tdWx0aS1tb2RlLW5vdGlmaWVyLnBhdGNoIFtS SEVMLTEzODQ5NF0KLSBrdm0tbWlncmF0aW9uLWFkZC1jcHJfd2Fsa19mZC5wYXRjaCBbUkhFTC0x Mzg0OTRdCi0ga3ZtLW9zbGliLXFlbXVfY2xlYXJfY2xvZXhlYy5wYXRjaCBbUkhFTC0xMzg0OTRd Ci0ga3ZtLW1pZ3JhdGlvbi1jcHItZXhlYy1jb21tYW5kLXBhcmFtZXRlci5wYXRjaCBbUkhFTC0x Mzg0OTRdCi0ga3ZtLW1pZ3JhdGlvbi1jcHItZXhlYy1zYXZlLWFuZC1sb2FkLnBhdGNoIFtSSEVM LTEzODQ5NF0KLSBrdm0tbWlncmF0aW9uLWNwci1leGVjLW1vZGUucGF0Y2ggW1JIRUwtMTM4NDk0 XQotIGt2bS1taWdyYXRpb24tY3ByLWV4ZWMtZG9jcy5wYXRjaCBbUkhFTC0xMzg0OTRdCi0ga3Zt LXZmaW8tY3ByLWV4ZWMtbW9kZS5wYXRjaCBbUkhFTC0xMzg0OTRdCi0ga3ZtLWh3LXZmaW8tbGlz dGVuZXItSW5jbHVkZS1taXNzaW5nLWV4ZWMtdGFyZ2V0X3BhZ2UuaC0ucGF0Y2ggW1JIRUwtMTM4 NDk0XQotIGt2bS1ody1SZW1vdmUtdW5uZWNlc3Nhcnktc3lzdGVtLXJhbV9hZGRyLmgtaGVhZGVy LnBhdGNoIFtSSEVMLTEzODQ5NF0KLSBrdm0tdmZpby1jb250YWluZXItUmVtYXAtb25seS1wb3B1 bGF0ZWQtcGFydHMtaW4tYS1zZWN0aS5wYXRjaCBbUkhFTC0xMzg0OTRdCi0ga3ZtLXZmaW8tY3By LWxlZ2FjeS1kcm9wLWFuLWVycm9uZW91cy1hc3NlcnQucGF0Y2ggW1JIRUwtMTM4NDk0XQotIGt2 bS12ZmlvLWlvbW11ZmQtU2V0LWNwci5pb2FzX2lkLW9uLXNvdXJjZS1zaWRlLWZvci1DUFItLnBh dGNoIFtSSEVMLTEzODQ5NF0KLSBrdm0tdmZpby1pb21tdWZkLVJlc3RvcmUtdmJhc2VkZXYtcy1y ZWZlcmVuY2UtdG8taHdwdC1hZi5wYXRjaCBbUkhFTC0xMzg0OTRdCi0ga3ZtLXZmaW8tY29udGFp bmVyLVN1cHBvcnQtdW5tYXAtYWxsLWluLW9uZS1pb2N0bC5wYXRjaCBbUkhFTC0xMzg0OTRdCi0g a3ZtLXZmaW8taW9tbXVmZC1TdXBwb3J0LXVubWFwLWFsbC1pbi1vbmUtaW9jdGwucGF0Y2ggW1JI RUwtMTM4NDk0XQotIGt2bS12ZmlvLWxpc3RlbmVyLUFkZC1hbi1hc3NlcnRpb24tZm9yLXVubWFw X2FsbC5wYXRjaCBbUkhFTC0xMzg0OTRdCi0ga3ZtLXZmaW8tQ2xlYW4tdXAtaW5jbHVkZXMucGF0 Y2ggW1JIRUwtMTM4NDk0XQotIGt2bS1taWdyYXRpb24tc2V0LWNvcnJlY3QtbGlzdC1wb2ludGVy LXdoZW4tcmVtb3Zpbmctbm90LnBhdGNoIFtSSEVMLTEzODQ5NF0KLSBrdm0tdmZpby11c2VyLXNp bXBsaWZ5LXZmaW9fdXNlcl9wcm9jZXNzLnBhdGNoIFtSSEVMLTEzODQ5NF0KLSBrdm0tdmZpby11 c2VyLWNsYXJpZnktcGFydGlhbC1tZXNzYWdlLWhhbmRsaW5nLnBhdGNoIFtSSEVMLTEzODQ5NF0K LSBrdm0tdmZpby11c2VyLXJlZmFjdG9yLW91dC1oZWFkZXItaGFuZGxpbmcucGF0Y2ggW1JIRUwt MTM4NDk0XQotIGt2bS12ZmlvLXVzZXItc2ltcGxpZnktdmZpb191c2VyX3JlY3Zfb25lLnBhdGNo IFtSSEVMLTEzODQ5NF0KLSBrdm0tdmZpby11c2VyLXJlY3ljbGUtbXNnLW9uLWZhaWx1cmUucGF0 Y2ggW1JIRUwtMTM4NDk0XQotIGt2bS1pbmNsdWRlLWh3LWh5cGVydi1SZW1vdmUtdW51c2VkLXN0 cnVjdC1tc2h2X3ZwX3JlZ2lzLnBhdGNoIFtSSEVMLTEzODQ5NF0KLSBrdm0tbGludXgtaGVhZGVy cy1VcGRhdGUtdG8tTGludXgtdjYuMTgtcmMzLnBhdGNoIFtSSEVMLTEzODQ5NF0KLSBrdm0tbGlu dXgtaGVhZGVycy1VcGRhdGUtdG8tTGludXgtdjYuMTktcmMxLnBhdGNoIFtSSEVMLTEzODQ5NF0K LSBrdm0taHctdmZpby1BZGQtaGVscGVyLXRvLXJldHJpZXZlLWRldmljZS1mZWF0dXJlLnBhdGNo IFtSSEVMLTEzODQ5NF0KLSBrdm0taHctdmZpby1yZWdpb24tQ3JlYXRlLWRtYWJ1Zi1mb3ItUENJ LUJBUi1wZXItcmVnaW9uLnBhdGNoIFtSSEVMLTEzODQ5NF0KLSBSZXNvbHZlczogUkhFTC0xNzQ4 NTgKICAoW3JoZWwxMF0gQmFja3BvcnQgcWVtdSBjcm9zcy1rZXJuZWwgbWlncmF0aW9uIG1pdGln YXRpb24gc2VyaWVzKQotIFJlc29sdmVzOiBSSEVMLTEzODQ5NAogIChOVklESUE6R3JhY2UtSG9w cGVyOkJhY2twb3J0IHZmaW86IEFkZCBETUFCVUYgc3VwcG9ydCBmb3IgUENJIEJBUiByZWdpb25z IC0gUkhFTCAxMC4zKQoKLS0tCmRpZmYgLS1naXQgYS9rdm0tUmV2ZXJ0LXRhcmdldC1hcm0tUmVp bnN0YXRlLWJvZ3VzLUFBcmNoMzItREJHRFRSVFgtci5wYXRjaCBiL2t2bS1SZXZlcnQtdGFyZ2V0 LWFybS1SZWluc3RhdGUtYm9ndXMtQUFyY2gzMi1EQkdEVFJUWC1yLnBhdGNoCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVhYTU5ZjEKLS0tIC9kZXYvbnVsbAorKysgYi9rdm0t UmV2ZXJ0LXRhcmdldC1hcm0tUmVpbnN0YXRlLWJvZ3VzLUFBcmNoMzItREJHRFRSVFgtci5wYXRj aApAQCAtMCwwICsxLDgwIEBACitGcm9tIDk1MjYwNzJmYjg0Yjg0NGQzZGU0OWQyNzI3Y2E5NjUw ZjRmYTRkNGMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBFcmljIEF1Z2VyIDxlcmlj LmF1Z2VyQHJlZGhhdC5jb20+CitEYXRlOiBNb24sIDIwIEFwciAyMDI2IDE2OjAzOjU3ICswMjAw CitTdWJqZWN0OiBbUEFUQ0ggMDE2LzExNl0gUmV2ZXJ0ICJ0YXJnZXQvYXJtOiBSZWluc3RhdGUg Ym9ndXMgQUFyY2gzMiBEQkdEVFJUWAorIHJlZ2lzdGVyIGZvciBtaWdyYXRpb24gY29tcGF0Igor CitSSC1BdXRob3I6IEVyaWMgQXVnZXIgPGVyaWMuYXVnZXJAcmVkaGF0LmNvbT4KK1JILU1lcmdl UmVxdWVzdDogNDg4OiBbcmhlbC0xMF0gQmFja3BvcnQgY3Jvc3Mta2VybmVsIG1pZ3JhdGlvbiBm YWlsdXJlIG1pdGlnYXRpb24gc2VyaWVzCitSSC1KaXJhOiBSSEVMLTE3NDg1OAorUkgtQWNrZWQt Ynk6IE1vaGFtbWFkZmFpeiBCYXdhIDxOb25lPgorUkgtQWNrZWQtYnk6IFNlYmFzdGlhbiBPdHQg PHNlYm90dEByZWRoYXQuY29tPgorUkgtQWNrZWQtYnk6IEdhdmluIFNoYW4gPGdzaGFuQHJlZGhh dC5jb20+CitSSC1Db21taXQ6IFsxNi8xNl0gNjBiZTVlZjNmNmZlNTE2YjQ4MGU1NzhjZDYxMDYx OGQxODBhOTY1NSAoZWF1Z2VyMS9jZW50b3MtcWVtdS1rdm0pCisKK1RoaXMgcmV2ZXJ0cyBjb21t aXQgNGYyYjgyZjYwNDMxICgidGFyZ2V0L2FybTogUmVpbnN0YXRlIGJvZ3VzIEFBcmNoMzIKK0RC R0RUUlRYIHJlZ2lzdGVyIGZvciBtaWdyYXRpb24gY29tcGF0KS4gV2UgZG9uJ3QgbmVlZCB0aGF0 IGNvbW1pdAorYW55bW9yZSBhcyB0aGUgQUFyY2gzMiBEQkdEVFJUWCByZWdpc3RlciBpcyBkZWNs YXJlZCB0bworYmUgc2FmZSB0byBpZ25vcmUgaW4gdGhlIGluY29taW5nIG1pZ3JhdGlvbiBzdHJl YW0uCisKK1NpZ25lZC1vZmYtYnk6IEVyaWMgQXVnZXIgPGVyaWMuYXVnZXJAcmVkaGF0LmNvbT4K K1Jldmlld2VkLWJ5OiBTZWJhc3RpYW4gT3R0IDxzZWJvdHRAcmVkaGF0LmNvbT4KK1Jldmlld2Vk LWJ5OiBQZXRlciBNYXlkZWxsIDxwZXRlci5tYXlkZWxsQGxpbmFyby5vcmc+CitNZXNzYWdlLWlk OiAyMDI2MDQyMDE0MDU1Mi4xMDQzNjktOC1lcmljLmF1Z2VyQHJlZGhhdC5jb20KK1NpZ25lZC1v ZmYtYnk6IFBldGVyIE1heWRlbGwgPHBldGVyLm1heWRlbGxAbGluYXJvLm9yZz4KKyhjaGVycnkg cGlja2VkIGZyb20gY29tbWl0IDIwMjEyNmRjYjlkNjI2MWMzOGU2Mjk3OTkyNjVkZWZlYjMyNjBk MjUpCitTaWduZWQtb2ZmLWJ5OiBFcmljIEF1Z2VyIDxlcmljLmF1Z2VyQHJlZGhhdC5jb20+Cist LS0KKyB0YXJnZXQvYXJtL2RlYnVnX2hlbHBlci5jIHwgMjkgLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMjkgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQg YS90YXJnZXQvYXJtL2RlYnVnX2hlbHBlci5jIGIvdGFyZ2V0L2FybS9kZWJ1Z19oZWxwZXIuYwor aW5kZXggNTc5NTE2ZTE1NC4uYWVlMDZkNGQ0MiAxMDA2NDQKKy0tLSBhL3RhcmdldC9hcm0vZGVi dWdfaGVscGVyLmMKKysrKyBiL3RhcmdldC9hcm0vZGVidWdfaGVscGVyLmMKK0BAIC05NDAsMTMg Kzk0MCw2IEBAIHN0YXRpYyB2b2lkIGRiZ2NsYWltY2xyX3dyaXRlKENQVUFSTVN0YXRlICplbnYs IGNvbnN0IEFSTUNQUmVnSW5mbyAqcmksCisgICAgIGVudi0+Y3AxNS5kYmdjbGFpbSAmPSB+KHZh bHVlICYgMHhGRik7CisgfQorIAorLXN0YXRpYyBDUEFjY2Vzc1Jlc3VsdCBhY2Nlc3NfYm9ndXMo Q1BVQVJNU3RhdGUgKmVudiwgY29uc3QgQVJNQ1BSZWdJbmZvICpyaSwKKy0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGJvb2wgaXNyZWFkKQorLXsKKy0gICAgLyogQWx3YXlzIFVO REVGLCBhcyBpZiB0aGlzIGNwcmVnIGRpZG4ndCBleGlzdCAqLworLSAgICByZXR1cm4gQ1BfQUND RVNTX1VOREVGSU5FRDsKKy19CistCisgc3RhdGljIGNvbnN0IEFSTUNQUmVnSW5mbyBkZWJ1Z19j cF9yZWdpbmZvW10gPSB7CisgICAgIC8qCisgICAgICAqIERCR0RSQVIsIERCR0RTQVI6IGFsd2F5 cyBSQVogc2luY2Ugd2UgZG9uJ3QgaW1wbGVtZW50IG1lbW9yeSBtYXBwZWQKK0BAIC0xMDA5LDI4 ICsxMDAyLDYgQEAgc3RhdGljIGNvbnN0IEFSTUNQUmVnSW5mbyBkZWJ1Z19jcF9yZWdpbmZvW10g PSB7CisgICAgICAgLm9wYzAgPSAyLCAub3BjMSA9IDMsIC5jcm4gPSAwLCAuY3JtID0gNCwgLm9w YzIgPSAwLAorICAgICAgIC5hY2Nlc3MgPSBQTDBfUlcsIC5hY2Nlc3NmbiA9IGFjY2Vzc190ZGNj LAorICAgICAgIC50eXBlID0gQVJNX0NQX0NPTlNULCAucmVzZXR2YWx1ZSA9IDAgfSwKKy0gICAg LyoKKy0gICAgICogVGhpcyBpcyBub3QgYSByZWFsIEFBcmNoMzIgcmVnaXN0ZXIuIFdlIHVzZWQg dG8gaW5jb3JyZWN0bHkgZXhwb3NlCistICAgICAqIHRoaXMgZHVlIHRvIGEgUUVNVSBidWc7IHRv IGF2b2lkIGJyZWFraW5nIG1pZ3JhdGlvbiBjb21wYXRpYmlsaXR5IHdlCistICAgICAqIG5lZWQg dG8gY29udGludWUgdG8gcHJvdmlkZSBpdCBzbyB0aGF0IHdlIGRvbid0IGZhaWwgdGhlIGluYm91 bmQKKy0gICAgICogbWlncmF0aW9uIHdoZW4gaXQgdGVsbHMgdXMgYWJvdXQgYSBzeXNyZWcgdGhh dCB3ZSBkb24ndCBoYXZlLgorLSAgICAgKiBXZSBzZXQgYW4gYWx3YXlzLWZhaWxzIC5hY2Nlc3Nm biwgd2hpY2ggbWVhbnMgdGhhdCB0aGUgZ3Vlc3QgZG9lc24ndAorLSAgICAgKiBhY3R1YWxseSBz ZWUgdGhpcyByZWdpc3RlciAoaXQgd2lsbCBhbHdheXMgVU5ERUYsIGlkZW50aWNhbGx5IHRvIGlm CistICAgICAqIHRoZXJlIHdlcmUgbm8gY3ByZWcgZGVmaW5pdGlvbiBmb3IgaXQgb3RoZXIgdGhh biB0aGF0IHdlIHdvbid0IHByaW50CistICAgICAqIGEgTE9HX1VOSU1QIG1lc3NhZ2UgYWJvdXQg aXQpLCBhbmQgd2Ugc2V0IHRoZSBBUk1fQ1BfTk9fR0RCIGZsYWcgc28gdGhlCistICAgICAqIGdk YnN0dWIgd29uJ3Qgc2VlIGl0IGVpdGhlci4KKy0gICAgICogKFdlIGNhbid0IGp1c3Qgc2V0IC5h Y2Nlc3MgPSAwLCBiZWNhdXNlIGFkZF9jcHJlZ190b19oYXNodGFibGUoKQorLSAgICAgKiBoZWxw ZnVsbHkgaWdub3JlcyBjcHJlZ3Mgd2hpY2ggYXJlbid0IGFjY2Vzc2libGUgdG8gdGhlIGhpZ2hl c3QKKy0gICAgICogaW1wbGVtZW50ZWQgRUwuKQorLSAgICAgKgorLSAgICAgKiBUT0RPOiBpbXBs ZW1lbnQgYSBzeXN0ZW0gZm9yIGJlaW5nIGFibGUgdG8gZGVzY3JpYmUgInRoaXMgcmVnaXN0ZXIK Ky0gICAgICogY2FuIGJlIGlnbm9yZWQgaWYgaXQgYXBwZWFycyBpbiB0aGUgaW5ib3VuZCBzdHJl YW0iOyB0aGVuIHdlIGNhbgorLSAgICAgKiByZW1vdmUgdGhpcyB0ZW1wb3JhcnkgaGFjay4KKy0g ICAgICovCistICAgIHsgLm5hbWUgPSAiQk9HVVNfREJHRFRSX0VMMCIsIC5zdGF0ZSA9IEFSTV9D UF9TVEFURV9BQTMyLAorLSAgICAgIC5jcCA9IDE0LCAub3BjMSA9IDMsIC5jcm4gPSAwLCAuY3Jt ID0gNSwgLm9wYzIgPSAwLAorLSAgICAgIC5hY2Nlc3MgPSBQTDBfUlcsIC5hY2Nlc3NmbiA9IGFj Y2Vzc19ib2d1cywKKy0gICAgICAudHlwZSA9IEFSTV9DUF9DT05TVCB8IEFSTV9DUF9OT19HREIs IC5yZXNldHZhbHVlID0gMCB9LAorICAgICAvKgorICAgICAgKiBPU0VDQ1JfRUwxIHByb3ZpZGVz IGEgbWVjaGFuaXNtIGZvciBhbiBvcGVyYXRpbmcgc3lzdGVtCisgICAgICAqIHRvIGFjY2VzcyB0 aGUgY29udGVudHMgb2YgRURFQ0NSLiBFREVDQ1IgaXMgbm90IGltcGxlbWVudGVkIHRob3VnaCwK Ky0tIAorMi41Mi4wCisKCmRpZmYgLS1naXQgYS9rdm0taHctUmVtb3ZlLXVubmVjZXNzYXJ5LXN5 c3RlbS1yYW1fYWRkci5oLWhlYWRlci5wYXRjaCBiL2t2bS1ody1SZW1vdmUtdW5uZWNlc3Nhcnkt c3lzdGVtLXJhbV9hZGRyLmgtaGVhZGVyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAuLmYyZGEzNGMKLS0tIC9kZXYvbnVsbAorKysgYi9rdm0taHctUmVtb3ZlLXVubmVj ZXNzYXJ5LXN5c3RlbS1yYW1fYWRkci5oLWhlYWRlci5wYXRjaApAQCAtMCwwICsxLDEzOCBAQAor RnJvbSBlYjhlOTg3ZGNkMGRhZjNkZmFiYjAxNGU3MWM3ZjRkODQwZjU2OWNhIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP1BoaWxpcHBlPTIwTWF0aGlldS1EYXVkPUMz PUE5Pz0gPHBoaWxtZEBsaW5hcm8ub3JnPgorRGF0ZTogVHVlLCAzMCBTZXAgMjAyNSAwOToyMDoz OCArMDIwMAorU3ViamVjdDogW1BBVENIIDA5Ny8xMTZdIGh3OiBSZW1vdmUgdW5uZWNlc3Nhcnkg J3N5c3RlbS9yYW1fYWRkci5oJyBoZWFkZXIKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5 cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6 IDhiaXQKKworUkgtQXV0aG9yOiBSb2RvbGZvIFZpY2sgPE5vbmU+CitSSC1NZXJnZVJlcXVlc3Q6 IDQ4NjogQWRkIERNQUJVRiBzdXBwb3J0CitSSC1KaXJhOiBSSEVMLTEzODQ5NAorUkgtQWNrZWQt Ynk6IEPDqWRyaWMgTGUgR29hdGVyIDxjbGdAcmVkaGF0LmNvbT4KK1JILUFja2VkLWJ5OiBFcmlj IEF1Z2VyIDxlcmljLmF1Z2VyQHJlZGhhdC5jb20+CitSSC1Db21taXQ6IFs4MS8xMDBdIGJkNzZk ZjI3NmJlN2U2ODg5NDhhZGE1ZjE5NmQzMDg2ZjgwZDIyN2UgKHJvdmljazEvcWVtdS1rdm0pCisK K05vbmUgb2YgdGhlc2UgZmlsZXMgcmVxdWlyZSBkZWZpbml0aW9uIGV4cG9zZWQgYnkgInN5c3Rl bS9yYW1fYWRkci5oIiwKK3JlbW92ZSBpdHMgaW5jbHVzaW9uLgorCitTaWduZWQtb2ZmLWJ5OiBQ aGlsaXBwZSBNYXRoaWV1LURhdWTDqSA8cGhpbG1kQGxpbmFyby5vcmc+CitSZXZpZXdlZC1ieTog UmljaGFyZCBIZW5kZXJzb24gPHJpY2hhcmQuaGVuZGVyc29uQGxpbmFyby5vcmc+CitSZXZpZXdl ZC1ieTogSmFnYW5uYXRoYW4gUmFtYW4gPGphZy5yYW1hbkBvcmFjbGUuY29tPgorUmV2aWV3ZWQt Ynk6IEPDqWRyaWMgTGUgR29hdGVyIDxjbGdAcmVkaGF0LmNvbT4KK1Jldmlld2VkLWJ5OiBFcmlj IEZhcm1hbiA8ZmFybWFuQGxpbnV4LmlibS5jb20+CitSZXZpZXdlZC1ieTogVGhvbWFzIEh1dGgg PHRodXRoQHJlZGhhdC5jb20+CitBY2tlZC1ieTogTWljaGFlbCBTLiBUc2lya2luIDxtc3RAcmVk aGF0LmNvbT4KK01lc3NhZ2UtSWQ6IDwyMDI1MTAwMTE3NTQ0OC4xODkzMy03LXBoaWxtZEBsaW5h cm8ub3JnPgorKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgOTc0ODBjYTY5MmU5NGJiNzkwMTkw YTQzYmIxMjJiZDA3NTJiOGY2MikKK1NpZ25lZC1vZmYtYnk6IEVyaWMgQXVnZXIgPGVyaWMuYXVn ZXJAcmVkaGF0LmNvbT4KKy0tLQorIGh3L3BwYy9zcGFwci5jICAgICAgICAgICAgICAgICAgICB8 IDEgLQorIGh3L3BwYy9zcGFwcl9jYXBzLmMgICAgICAgICAgICAgICB8IDEgLQorIGh3L3BwYy9z cGFwcl9wY2kuYyAgICAgICAgICAgICAgICB8IDEgLQorIGh3L3JlbW90ZS9tZW1vcnkuYyAgICAg ICAgICAgICAgICB8IDEgLQorIGh3L3JlbW90ZS9wcm94eS1tZW1vcnktbGlzdGVuZXIuYyB8IDEg LQorIGh3L3MzOTB4L3MzOTAtdmlydGlvLWNjdy5jICAgICAgICB8IDEgLQorIGh3L3ZmaW8vc3Bh cHIuYyAgICAgICAgICAgICAgICAgICB8IDEgLQorIGh3L3ZpcnRpby92aXJ0aW8tbWVtLmMgICAg ICAgICAgICB8IDEgLQorIDggZmlsZXMgY2hhbmdlZCwgOCBkZWxldGlvbnMoLSkKKworZGlmZiAt LWdpdCBhL2h3L3BwYy9zcGFwci5jIGIvaHcvcHBjL3NwYXByLmMKK2luZGV4IDE4NTVhM2NkOGQu LjU5MDZhMTMyNWQgMTAwNjQ0CistLS0gYS9ody9wcGMvc3BhcHIuYworKysrIGIvaHcvcHBjL3Nw YXByLmMKK0BAIC03Nyw3ICs3Nyw2IEBACisgI2luY2x1ZGUgImh3L3ZpcnRpby92aXJ0aW8tc2Nz aS5oIgorICNpbmNsdWRlICJody92aXJ0aW8vdmhvc3Qtc2NzaS1jb21tb24uaCIKKyAKKy0jaW5j bHVkZSAic3lzdGVtL3JhbV9hZGRyLmgiCisgI2luY2x1ZGUgInN5c3RlbS9jb25maWRlbnRpYWwt Z3Vlc3Qtc3VwcG9ydC5oIgorICNpbmNsdWRlICJody91c2IuaCIKKyAjaW5jbHVkZSAicWVtdS9j b25maWctZmlsZS5oIgorZGlmZiAtLWdpdCBhL2h3L3BwYy9zcGFwcl9jYXBzLmMgYi9ody9wcGMv c3BhcHJfY2Fwcy5jCitpbmRleCBmMmY1NzIyZDhhLi4wZjk0YzE5MmZkIDEwMDY0NAorLS0tIGEv aHcvcHBjL3NwYXByX2NhcHMuYworKysrIGIvaHcvcHBjL3NwYXByX2NhcHMuYworQEAgLTI3LDcg KzI3LDYgQEAKKyAjaW5jbHVkZSAicWFwaS9lcnJvci5oIgorICNpbmNsdWRlICJxYXBpL3Zpc2l0 b3IuaCIKKyAjaW5jbHVkZSAic3lzdGVtL2h3X2FjY2VsLmgiCistI2luY2x1ZGUgInN5c3RlbS9y YW1fYWRkci5oIgorICNpbmNsdWRlICJ0YXJnZXQvcHBjL2NwdS5oIgorICNpbmNsdWRlICJ0YXJn ZXQvcHBjL21tdS1oYXNoNjQuaCIKKyAjaW5jbHVkZSAiY3B1LW1vZGVscy5oIgorZGlmZiAtLWdp dCBhL2h3L3BwYy9zcGFwcl9wY2kuYyBiL2h3L3BwYy9zcGFwcl9wY2kuYworaW5kZXggMWFjMTE4 NTgyNS4uZjkwOTU1NTJlOCAxMDA2NDQKKy0tLSBhL2h3L3BwYy9zcGFwcl9wY2kuYworKysrIGIv aHcvcHBjL3NwYXByX3BjaS5jCitAQCAtMzQsNyArMzQsNiBAQAorICNpbmNsdWRlICJody9wY2kv cGNpX2hvc3QuaCIKKyAjaW5jbHVkZSAiaHcvcHBjL3NwYXByLmgiCisgI2luY2x1ZGUgImh3L3Bj aS1ob3N0L3NwYXByLmgiCistI2luY2x1ZGUgInN5c3RlbS9yYW1fYWRkci5oIgorICNpbmNsdWRl IDxsaWJmZHQuaD4KKyAjaW5jbHVkZSAidHJhY2UuaCIKKyAjaW5jbHVkZSAicWVtdS9lcnJvci1y ZXBvcnQuaCIKK2RpZmYgLS1naXQgYS9ody9yZW1vdGUvbWVtb3J5LmMgYi9ody9yZW1vdGUvbWVt b3J5LmMKK2luZGV4IDAwMTkzYTU1MmYuLjgxOTVhYTVmYjggMTAwNjQ0CistLS0gYS9ody9yZW1v dGUvbWVtb3J5LmMKKysrKyBiL2h3L3JlbW90ZS9tZW1vcnkuYworQEAgLTExLDcgKzExLDYgQEAK KyAjaW5jbHVkZSAicWVtdS9vc2RlcC5oIgorIAorICNpbmNsdWRlICJody9yZW1vdGUvbWVtb3J5 LmgiCistI2luY2x1ZGUgInN5c3RlbS9yYW1fYWRkci5oIgorICNpbmNsdWRlICJxYXBpL2Vycm9y LmgiCisgCisgc3RhdGljIHZvaWQgcmVtb3RlX3N5c21lbV9yZXNldCh2b2lkKQorZGlmZiAtLWdp dCBhL2h3L3JlbW90ZS9wcm94eS1tZW1vcnktbGlzdGVuZXIuYyBiL2h3L3JlbW90ZS9wcm94eS1t ZW1vcnktbGlzdGVuZXIuYworaW5kZXggMzBhYzc0OTYxZC4uZTFhNTJkMjRmMCAxMDA2NDQKKy0t LSBhL2h3L3JlbW90ZS9wcm94eS1tZW1vcnktbGlzdGVuZXIuYworKysrIGIvaHcvcmVtb3RlL3By b3h5LW1lbW9yeS1saXN0ZW5lci5jCitAQCAtMTIsNyArMTIsNiBAQAorICNpbmNsdWRlICJxZW11 L3JhbmdlLmgiCisgI2luY2x1ZGUgInN5c3RlbS9tZW1vcnkuaCIKKyAjaW5jbHVkZSAiZXhlYy9j cHUtY29tbW9uLmgiCistI2luY2x1ZGUgInN5c3RlbS9yYW1fYWRkci5oIgorICNpbmNsdWRlICJx YXBpL2Vycm9yLmgiCisgI2luY2x1ZGUgInFlbXUvZXJyb3ItcmVwb3J0LmgiCisgI2luY2x1ZGUg Imh3L3JlbW90ZS9tcHFlbXUtbGluay5oIgorZGlmZiAtLWdpdCBhL2h3L3MzOTB4L3MzOTAtdmly dGlvLWNjdy5jIGIvaHcvczM5MHgvczM5MC12aXJ0aW8tY2N3LmMKK2luZGV4IDQ5MzdhMGMzYjgu LmMyZWJjMDg2YjMgMTAwNjQ0CistLS0gYS9ody9zMzkweC9zMzkwLXZpcnRpby1jY3cuYworKysr IGIvaHcvczM5MHgvczM5MC12aXJ0aW8tY2N3LmMKK0BAIC0xMyw3ICsxMyw2IEBACisgCisgI2lu Y2x1ZGUgInFlbXUvb3NkZXAuaCIKKyAjaW5jbHVkZSAicWFwaS9lcnJvci5oIgorLSNpbmNsdWRl ICJzeXN0ZW0vcmFtX2FkZHIuaCIKKyAjaW5jbHVkZSAic3lzdGVtL2NvbmZpZGVudGlhbC1ndWVz dC1zdXBwb3J0LmgiCisgI2luY2x1ZGUgImh3L2JvYXJkcy5oIgorICNpbmNsdWRlICJody9zMzkw eC9zY2xwLmgiCitkaWZmIC0tZ2l0IGEvaHcvdmZpby9zcGFwci5jIGIvaHcvdmZpby9zcGFwci5j CitpbmRleCA4ZDlkNjhkYTRlLi4wZjIzNjgxYTNmIDEwMDY0NAorLS0tIGEvaHcvdmZpby9zcGFw ci5jCisrKysgYi9ody92ZmlvL3NwYXByLmMKK0BAIC0xNyw3ICsxNyw2IEBACisgCisgI2luY2x1 ZGUgImh3L3ZmaW8vdmZpby1jb250YWluZXItbGVnYWN5LmgiCisgI2luY2x1ZGUgImh3L2h3Lmgi CistI2luY2x1ZGUgInN5c3RlbS9yYW1fYWRkci5oIgorICNpbmNsdWRlICJxZW11L2Vycm9yLXJl cG9ydC5oIgorICNpbmNsdWRlICJxYXBpL2Vycm9yLmgiCisgI2luY2x1ZGUgInRyYWNlLmgiCitk aWZmIC0tZ2l0IGEvaHcvdmlydGlvL3ZpcnRpby1tZW0uYyBiL2h3L3ZpcnRpby92aXJ0aW8tbWVt LmMKK2luZGV4IDE4MDU1OTc4NzkuLjU4MmYzZjBlMDAgMTAwNjQ0CistLS0gYS9ody92aXJ0aW8v dmlydGlvLW1lbS5jCisrKysgYi9ody92aXJ0aW8vdmlydGlvLW1lbS5jCitAQCAtMjQsNyArMjQs NiBAQAorICNpbmNsdWRlICJody92aXJ0aW8vdmlydGlvLW1lbS5oIgorICNpbmNsdWRlICJxYXBp L2Vycm9yLmgiCisgI2luY2x1ZGUgInFhcGkvdmlzaXRvci5oIgorLSNpbmNsdWRlICJzeXN0ZW0v cmFtX2FkZHIuaCIKKyAjaW5jbHVkZSAibWlncmF0aW9uL21pc2MuaCIKKyAjaW5jbHVkZSAiaHcv Ym9hcmRzLmgiCisgI2luY2x1ZGUgImh3L3FkZXYtcHJvcGVydGllcy5oIgorLS0gCisyLjUyLjAK KwoKZGlmZiAtLWdpdCBhL2t2bS1ody1hcm0tdmlydC1JbmNsdWRlLXN5c3RlbS1zeXN0ZW0uaC5w YXRjaCBiL2t2bS1ody1hcm0tdmlydC1JbmNsdWRlLXN5c3RlbS1zeXN0ZW0uaC5wYXRjaApuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYTdjNTE4Ci0tLSAvZGV2L251bGwKKysr IGIva3ZtLWh3LWFybS12aXJ0LUluY2x1ZGUtc3lzdGVtLXN5c3RlbS5oLnBhdGNoCkBAIC0wLDAg KzEsNDcgQEAKK0Zyb20gMDNkMzdlNjVjNTVhNDVkNTc0MTBlMzQ5NDY4MWM3OWE0Mzc2MmFkYyBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ID0/VVRGLTg/cT9DPUMzPUE5ZHJpYz0yMExl PTIwR29hdGVyPz0gPGNsZ0ByZWRoYXQuY29tPgorRGF0ZTogTW9uLCAxIFNlcCAyMDI1IDA4OjQ2 OjI0ICswMjAwCitTdWJqZWN0OiBbUEFUQ0ggMDIyLzExNl0gaHcvYXJtL3ZpcnQ6IEluY2x1ZGUg J3N5c3RlbS9zeXN0ZW0uaCcKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQv cGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKwor UkgtQXV0aG9yOiBSb2RvbGZvIFZpY2sgPE5vbmU+CitSSC1NZXJnZVJlcXVlc3Q6IDQ4NjogQWRk IERNQUJVRiBzdXBwb3J0CitSSC1KaXJhOiBSSEVMLTEzODQ5NAorUkgtQWNrZWQtYnk6IEPDqWRy aWMgTGUgR29hdGVyIDxjbGdAcmVkaGF0LmNvbT4KK1JILUFja2VkLWJ5OiBFcmljIEF1Z2VyIDxl cmljLmF1Z2VyQHJlZGhhdC5jb20+CitSSC1Db21taXQ6IFs2LzEwMF0gMTdkMTJhMjZmYjgzNDMy ZDI2MWY2NDRmZjk1ODNiZGQ0MjI0ZmVlMyAocm92aWNrMS9xZW11LWt2bSkKKworaHcvYXJtL3Zp cnQuYyBzaG91bGQgaW5jbHVkZSAnc3lzdGVtL3N5c3RlbS5oJyBmb3IgOgorCisgIHNlcmlhbF9o ZCgpCisgIHFlbXVfYWRkX21hY2hpbmVfaW5pdF9kb25lX25vdGlmaWVyKCkKKworUmV2aWV3ZWQt Ynk6IFBoaWxpcHBlIE1hdGhpZXUtRGF1ZMOpIDxwaGlsbWRAbGluYXJvLm9yZz4KK1Jldmlld2Vk LWJ5OiBQZXRlciBNYXlkZWxsIDxwZXRlci5tYXlkZWxsQGxpbmFyby5vcmc+CitMaW5rOiBodHRw czovL2xvcmUua2VybmVsLm9yZy9xZW11LWRldmVsLzIwMjUwNzMxMTQ0MDE5LjE0MDM1OTEtMS1j bGdAcmVkaGF0LmNvbQorU2lnbmVkLW9mZi1ieTogQ8OpZHJpYyBMZSBHb2F0ZXIgPGNsZ0ByZWRo YXQuY29tPgorTWVzc2FnZS1JRDogPDIwMjUwOTAxMDY0NjMxLjUzMDcyMy0yLWNsZ0ByZWRoYXQu Y29tPgorU2lnbmVkLW9mZi1ieTogUGhpbGlwcGUgTWF0aGlldS1EYXVkw6kgPHBoaWxtZEBsaW5h cm8ub3JnPgorKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgMzE5Y2E4NDk0OWZjMzEzNDc3NDM0 MmQ1MDc5MDU5MjY4MGMzYjliMCkKK1NpZ25lZC1vZmYtYnk6IEVyaWMgQXVnZXIgPGVyaWMuYXVn ZXJAcmVkaGF0LmNvbT4KKy0tLQorIGh3L2FybS92aXJ0LmMgfCAxICsKKyAxIGZpbGUgY2hhbmdl ZCwgMSBpbnNlcnRpb24oKykKKworZGlmZiAtLWdpdCBhL2h3L2FybS92aXJ0LmMgYi9ody9hcm0v dmlydC5jCitpbmRleCAyYTM5OWU0NjhjLi45OTBkMmM3M2M3IDEwMDY0NAorLS0tIGEvaHcvYXJt L3ZpcnQuYworKysrIGIvaHcvYXJtL3ZpcnQuYworQEAgLTQ5LDYgKzQ5LDcgQEAKKyAjaW5jbHVk ZSAic3lzdGVtL2t2bS5oIgorICNpbmNsdWRlICJzeXN0ZW0vaHZmLmgiCisgI2luY2x1ZGUgInN5 c3RlbS9xdGVzdC5oIgorKyNpbmNsdWRlICJzeXN0ZW0vc3lzdGVtLmgiCisgI2luY2x1ZGUgImh3 L2xvYWRlci5oIgorICNpbmNsdWRlICJxYXBpL2Vycm9yLmgiCisgI2luY2x1ZGUgInFlbXUvYml0 b3BzLmgiCistLSAKKzIuNTIuMAorCgpkaWZmIC0tZ2l0IGEva3ZtLWh3LXBjaS1ob3N0LWdwZXgt YWNwaS1GaXgtX0RTTS1mdW5jdGlvbi0wLXN1cHBvcnQtcmUucGF0Y2ggYi9rdm0taHctcGNpLWhv c3QtZ3BleC1hY3BpLUZpeC1fRFNNLWZ1bmN0aW9uLTAtc3VwcG9ydC1yZS5wYXRjaApuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MWEzYTllCi0tLSAvZGV2L251bGwKKysrIGIv a3ZtLWh3LXBjaS1ob3N0LWdwZXgtYWNwaS1GaXgtX0RTTS1mdW5jdGlvbi0wLXN1cHBvcnQtcmUu cGF0Y2gKQEAgLTAsMCArMSw2NyBAQAorRnJvbSA1Y2JmYzI4MWU0MGFmNDQxMWRiZGFjOTRmZTcw NDM4NWM0NzNiNDg1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogRXJpYyBBdWdlciA8 ZXJpYy5hdWdlckByZWRoYXQuY29tPgorRGF0ZTogV2VkLCAyMiBPY3QgMjAyNSAwOTowNjozOCAr MDEwMAorU3ViamVjdDogW1BBVENIIDAxNy8xMTZdIGh3L3BjaS1ob3N0L2dwZXgtYWNwaTogRml4 IF9EU00gZnVuY3Rpb24gMCBzdXBwb3J0CisgcmV0dXJuIHZhbHVlCitNSU1FLVZlcnNpb246IDEu MAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5z ZmVyLUVuY29kaW5nOiA4Yml0CisKK1JILUF1dGhvcjogUm9kb2xmbyBWaWNrIDxOb25lPgorUkgt TWVyZ2VSZXF1ZXN0OiA0ODY6IEFkZCBETUFCVUYgc3VwcG9ydAorUkgtSmlyYTogUkhFTC0xMzg0 OTQKK1JILUFja2VkLWJ5OiBDw6lkcmljIExlIEdvYXRlciA8Y2xnQHJlZGhhdC5jb20+CitSSC1B Y2tlZC1ieTogRXJpYyBBdWdlciA8ZXJpYy5hdWdlckByZWRoYXQuY29tPgorUkgtQ29tbWl0OiBb MS8xMDBdIDA4MTc0YTU5MjI0OWMzMzA1N2MxMzFhYTZmZjJkNDlmMzQ2ZTNmZTYgKHJvdmljazEv cWVtdS1rdm0pCisKK0N1cnJlbnRseSwgb25seSBmdW5jdGlvbiAwIGlzIHN1cHBvcnRlZC4gQWNj b3JkaW5nIHRvIHRoZSBBQ1BJCitTcGVjaWZpY2F0aW9uLCBSZXZpc2lvbiA2LjYsIFNlY3Rpb24g OS4xLjEg4oCcX0RTTSAoRGV2aWNlIFNwZWNpZmljCitNZXRob2Qp4oCdLCBiaXQgMCBzaG91bGQg YmUgMCB0byBpbmRpY2F0ZSB0aGF0IG5vIG90aGVyIGZ1bmN0aW9ucworYXJlIHN1cHBvcnRlZCBi ZXlvbmQgZnVuY3Rpb24gMC4KKworVGhlIHJlc3VsdGluZyBBTUwgY2hhbmdlIGxvb2tzIGxpa2Ug dGhpczoKKworTWV0aG9kIChfRFNNLCA0LCBOb3RTZXJpYWxpemVkKSAgLy8gX0RTTTogRGV2aWNl LVNwZWNpZmljIE1ldGhvZAoreworICAgIElmICgoQXJnMCA9PSBUb1VVSUQgKCJlNWM5MzdkMC0z NTUzLTRkN2EtOTExNy1lYTRkMTljMzQzNGQiKQorICAgIHsKKyAgICAgICAgSWYgKChBcmcyID09 IFplcm8pKQorICAgICAgICB7CisgICAgICAgICAgICBSZXR1cm4gKEJ1ZmZlciAoT25lKQorICAg ICAgICAgICAgeworLSAgICAgICAgICAgICAgIDB4MDEgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAvLyAuCisrICAgICAgICAgICAgICAgMHgwMCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIC4KKyAgICAgICAgICAgIH0pCisg ICAgICAgIH0KKyAgICB9Cit9CisKK0ZpeGVzOiA1Yjg1ZWFiZTY4ZjkgKCJhY3BpOiBhZGQgYWNw aV9kc2R0X2FkZF9ncGV4IikKK1NpZ25lZC1vZmYtYnk6IEVyaWMgQXVnZXIgPGVyaWMuYXVnZXJA cmVkaGF0LmNvbT4KK1NpZ25lZC1vZmYtYnk6IFNoYW1lZXIgS29sb3RodW0gPHNrb2xvdGh1bXRo b0BudmlkaWEuY29tPgorVGVzdGVkLWJ5OiBaaGFuZ2ZlaSBHYW8gPHpoYW5nZmVpLmdhb0BsaW5h cm8ub3JnPgorUmV2aWV3ZWQtYnk6IE1pY2hhZWwgUy4gVHNpcmtpbiA8bXN0QHJlZGhhdC5jb20+ CitTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIFMuIFRzaXJraW4gPG1zdEByZWRoYXQuY29tPgorTWVz c2FnZS1JZDogPDIwMjUxMDIyMDgwNjM5LjI0Mzk2NS0zLXNrb2xvdGh1bXRob0BudmlkaWEuY29t PgorKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgMzI1YWEyZDg2YTIwNzg2YzMwOGIwODc0ZDE1 YTYwZDFiOTI0YmQwZSkKK1NpZ25lZC1vZmYtYnk6IEVyaWMgQXVnZXIgPGVyaWMuYXVnZXJAcmVk aGF0LmNvbT4KKy0tLQorIGh3L3BjaS1ob3N0L2dwZXgtYWNwaS5jIHwgMiArLQorIDEgZmlsZSBj aGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvaHcv cGNpLWhvc3QvZ3BleC1hY3BpLmMgYi9ody9wY2ktaG9zdC9ncGV4LWFjcGkuYworaW5kZXggOTUy YTBhY2UxOS4uNDU4N2JhZWI3OCAxMDA2NDQKKy0tLSBhL2h3L3BjaS1ob3N0L2dwZXgtYWNwaS5j CisrKysgYi9ody9wY2ktaG9zdC9ncGV4LWFjcGkuYworQEAgLTY0LDcgKzY0LDcgQEAgc3RhdGlj IEFtbCAqYnVpbGRfcGNpX2hvc3RfYnJpZGdlX2RzbV9tZXRob2Qodm9pZCkKKyAgICAgVVVJRCA9 IGFtbF90b3V1aWQoIkU1QzkzN0QwLTM1NTMtNEQ3QS05MTE3LUVBNEQxOUMzNDM0RCIpOworICAg ICBpZmN0eCA9IGFtbF9pZihhbWxfZXF1YWwoYW1sX2FyZygwKSwgVVVJRCkpOworICAgICBpZmN0 eDEgPSBhbWxfaWYoYW1sX2VxdWFsKGFtbF9hcmcoMiksIGFtbF9pbnQoMCkpKTsKKy0gICAgdWlu dDhfdCBieXRlX2xpc3RbMV0gPSB7MX07CisrICAgIHVpbnQ4X3QgYnl0ZV9saXN0WzFdID0gezB9 OworICAgICBidWYgPSBhbWxfYnVmZmVyKDEsIGJ5dGVfbGlzdCk7CisgICAgIGFtbF9hcHBlbmQo aWZjdHgxLCBhbWxfcmV0dXJuKGJ1ZikpOworICAgICBhbWxfYXBwZW5kKGlmY3R4LCBpZmN0eDEp OworLS0gCisyLjUyLjAKKwoKZGlmZiAtLWdpdCBhL2t2bS1ody12ZmlvLUFkZC1oZWxwZXItdG8t cmV0cmlldmUtZGV2aWNlLWZlYXR1cmUucGF0Y2ggYi9rdm0taHctdmZpby1BZGQtaGVscGVyLXRv LXJldHJpZXZlLWRldmljZS1mZWF0dXJlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAuLjRjZWM5NTIKLS0tIC9kZXYvbnVsbAorKysgYi9rdm0taHctdmZpby1BZGQtaGVs cGVyLXRvLXJldHJpZXZlLWRldmljZS1mZWF0dXJlLnBhdGNoCkBAIC0wLDAgKzEsMTA4IEBACitG cm9tIDM1ZjI5OWNlNWU1ZTNkNjY1YWIzZDljZTMyM2VkMzc1ZDQ1ZTFhODAgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCitGcm9tOiBTaGFtZWVyIEtvbG90aHVtIDxza29sb3RodW10aG9AbnZpZGlh LmNvbT4KK0RhdGU6IFdlZCwgMjEgSmFuIDIwMjYgMTE6NDE6MTAgKzAwMDAKK1N1YmplY3Q6IFtQ QVRDSCAxMTUvMTE2XSBody92ZmlvOiBBZGQgaGVscGVyIHRvIHJldHJpZXZlIGRldmljZSBmZWF0 dXJlCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0 PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK1JILUF1dGhvcjogUm9k b2xmbyBWaWNrIDxOb25lPgorUkgtTWVyZ2VSZXF1ZXN0OiA0ODY6IEFkZCBETUFCVUYgc3VwcG9y dAorUkgtSmlyYTogUkhFTC0xMzg0OTQKK1JILUFja2VkLWJ5OiBDw6lkcmljIExlIEdvYXRlciA8 Y2xnQHJlZGhhdC5jb20+CitSSC1BY2tlZC1ieTogRXJpYyBBdWdlciA8ZXJpYy5hdWdlckByZWRo YXQuY29tPgorUkgtQ29tbWl0OiBbOTkvMTAwXSBhMDQzYzgzNDRjZWRlZGQxZWI3ZWVkN2FjODJj ZmQxNGFlY2ViYmUxIChyb3ZpY2sxL3FlbXUta3ZtKQorCitBZGQgdmZpb19kZXZpY2VfZ2V0X2Zl YXR1cmUoKSBhcyBhIGNvbW1vbiBoZWxwZXIgdG8gcmV0cmlldmUKK1ZGSU8gZGV2aWNlIGZlYXR1 cmVzLgorCitObyBmdW5jdGlvbmFsIGNoYW5nZSBpbnRlbmRlZC4KKworUmV2aWV3ZWQtYnk6IEPD qWRyaWMgTGUgR29hdGVyIDxjbGdAcmVkaGF0LmNvbT4KK1NpZ25lZC1vZmYtYnk6IFNoYW1lZXIg S29sb3RodW0gPHNrb2xvdGh1bXRob0BudmlkaWEuY29tPgorUmV2aWV3ZWQtYnk6IEVyaWMgQXVn ZXIgPGVyaWMuYXVnZXJAcmVkaGF0LmNvbT4KK1Rlc3RlZC1ieTogRXJpYyBBdWdlciA8ZXJpYy5h dWdlckByZWRoYXQuY29tPgorUmV2aWV3ZWQtYnk6IE1pY2hhZWwgUy4gVHNpcmtpbiA8bXN0QHJl ZGhhdC5jb20+CitMaW5rOiBodHRwczovL2xvcmUua2VybmVsLm9yZy9xZW11LWRldmVsLzIwMjYw MTIxMTE0MTExLjM0MDQ1LTMtc2tvbG90aHVtdGhvQG52aWRpYS5jb20KK1NpZ25lZC1vZmYtYnk6 IEPDqWRyaWMgTGUgR29hdGVyIDxjbGdAcmVkaGF0LmNvbT4KKyhjaGVycnkgcGlja2VkIGZyb20g Y29tbWl0IGRlMzZkYTEwNmRjZmQ0MmVlNzk3NzlhMjU3MTNlODY1MDAyNzYzODIpCitTaWduZWQt b2ZmLWJ5OiBDw6lkcmljIExlIEdvYXRlciA8Y2xnQHJlZGhhdC5jb20+CistLS0KKyBody92Zmlv L2NvbnRhaW5lci5jICAgICAgICAgICB8IDIgKy0KKyBody92ZmlvL2RldmljZS5jICAgICAgICAg ICAgICB8IDkgKysrKysrKysrCisgaHcvdmZpby9saXN0ZW5lci5jICAgICAgICAgICAgfCA0ICsr LS0KKyBpbmNsdWRlL2h3L3ZmaW8vdmZpby1kZXZpY2UuaCB8IDMgKysrCisgNCBmaWxlcyBjaGFu Z2VkLCAxNSBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvaHcv dmZpby9jb250YWluZXIuYyBiL2h3L3ZmaW8vY29udGFpbmVyLmMKK2luZGV4IGNjMDM2N2VjYzQu LjFiODU2OWQzNmEgMTAwNjQ0CistLS0gYS9ody92ZmlvL2NvbnRhaW5lci5jCisrKysgYi9ody92 ZmlvL2NvbnRhaW5lci5jCitAQCAtMjA3LDcgKzIwNyw3IEBAIHN0YXRpYyBpbnQgdmZpb19kZXZp Y2VfZG1hX2xvZ2dpbmdfcmVwb3J0KFZGSU9EZXZpY2UgKnZiYXNlZGV2LCBod2FkZHIgaW92YSwK KyAgICAgZmVhdHVyZS0+ZmxhZ3MgPSBWRklPX0RFVklDRV9GRUFUVVJFX0dFVCB8CisgICAgICAg ICAgICAgICAgICAgICAgVkZJT19ERVZJQ0VfRkVBVFVSRV9ETUFfTE9HR0lOR19SRVBPUlQ7Cisg CistICAgIHJldHVybiB2YmFzZWRldi0+aW9fb3BzLT5kZXZpY2VfZmVhdHVyZSh2YmFzZWRldiwg ZmVhdHVyZSk7CisrICAgIHJldHVybiB2ZmlvX2RldmljZV9nZXRfZmVhdHVyZSh2YmFzZWRldiwg ZmVhdHVyZSk7CisgfQorIAorIHN0YXRpYyBpbnQgdmZpb19jb250YWluZXJfaW9tbXVfcXVlcnlf ZGlydHlfYml0bWFwKAorZGlmZiAtLWdpdCBhL2h3L3ZmaW8vZGV2aWNlLmMgYi9ody92ZmlvL2Rl dmljZS5jCitpbmRleCA4YjYzZTc2NWFjLi4zMzBmMjU5OGZmIDEwMDY0NAorLS0tIGEvaHcvdmZp by9kZXZpY2UuYworKysrIGIvaHcvdmZpby9kZXZpY2UuYworQEAgLTUxNSw2ICs1MTUsMTUgQEAg dm9pZCB2ZmlvX2RldmljZV91bnByZXBhcmUoVkZJT0RldmljZSAqdmJhc2VkZXYpCisgICAgIHZi YXNlZGV2LT5iY29udGFpbmVyID0gTlVMTDsKKyB9CisgCisraW50IHZmaW9fZGV2aWNlX2dldF9m ZWF0dXJlKFZGSU9EZXZpY2UgKnZiYXNlZGV2LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICBzdHJ1Y3QgdmZpb19kZXZpY2VfZmVhdHVyZSAqZmVhdHVyZSkKKyt7CisrICAgIGlmICghdmJh c2VkZXYtPmlvX29wcyB8fCAhdmJhc2VkZXYtPmlvX29wcy0+ZGV2aWNlX2ZlYXR1cmUpIHsKKysg ICAgICAgIHJldHVybiAtRUlOVkFMOworKyAgICB9CisrICAgIHJldHVybiB2YmFzZWRldi0+aW9f b3BzLT5kZXZpY2VfZmVhdHVyZSh2YmFzZWRldiwgZmVhdHVyZSk7CisrfQorKworIC8qCisgICog VHJhZGl0aW9uYWwgaW9jdGwoKSBiYXNlZCBpbworICAqLworZGlmZiAtLWdpdCBhL2h3L3ZmaW8v bGlzdGVuZXIuYyBiL2h3L3ZmaW8vbGlzdGVuZXIuYworaW5kZXggMjcxNzRiZjg3Yy4uYWZjZjUx OGY1NiAxMDA2NDQKKy0tLSBhL2h3L3ZmaW8vbGlzdGVuZXIuYworKysrIGIvaHcvdmZpby9saXN0 ZW5lci5jCitAQCAtODgwLDcgKzg4MCw3IEBAIHN0YXRpYyB2b2lkIHZmaW9fZGV2aWNlc19kbWFf bG9nZ2luZ19zdG9wKFZGSU9Db250YWluZXIgKmJjb250YWluZXIpCisgICAgICAgICAgICAgY29u dGludWU7CisgICAgICAgICB9CisgCistICAgICAgICByZXQgPSB2YmFzZWRldi0+aW9fb3BzLT5k ZXZpY2VfZmVhdHVyZSh2YmFzZWRldiwgZmVhdHVyZSk7CisrICAgICAgICByZXQgPSB2ZmlvX2Rl dmljZV9nZXRfZmVhdHVyZSh2YmFzZWRldiwgZmVhdHVyZSk7CisgCisgICAgICAgICBpZiAocmV0 ICE9IDApIHsKKyAgICAgICAgICAgICB3YXJuX3JlcG9ydCgiJXM6IEZhaWxlZCB0byBzdG9wIERN QSBsb2dnaW5nLCBlcnIgJWQgKCVzKSIsCitAQCAtOTg1LDcgKzk4NSw3IEBAIHN0YXRpYyBib29s IHZmaW9fZGV2aWNlc19kbWFfbG9nZ2luZ19zdGFydChWRklPQ29udGFpbmVyICpiY29udGFpbmVy LAorICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgfQorIAorLSAgICAgICAgcmV0ID0g dmJhc2VkZXYtPmlvX29wcy0+ZGV2aWNlX2ZlYXR1cmUodmJhc2VkZXYsIGZlYXR1cmUpOworKyAg ICAgICAgcmV0ID0gdmZpb19kZXZpY2VfZ2V0X2ZlYXR1cmUodmJhc2VkZXYsIGZlYXR1cmUpOwor ICAgICAgICAgaWYgKHJldCkgeworICAgICAgICAgICAgIGVycm9yX3NldGdfZXJybm8oZXJycCwg LXJldCwgIiVzOiBGYWlsZWQgdG8gc3RhcnQgRE1BIGxvZ2dpbmciLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgdmJhc2VkZXYtPm5hbWUpOworZGlmZiAtLWdpdCBhL2luY2x1ZGUvaHcv dmZpby92ZmlvLWRldmljZS5oIGIvaW5jbHVkZS9ody92ZmlvL3ZmaW8tZGV2aWNlLmgKK2luZGV4 IGRhYzMwNWZjNmYuLmZjMjhmNTgwYmEgMTAwNjQ0CistLS0gYS9pbmNsdWRlL2h3L3ZmaW8vdmZp by1kZXZpY2UuaAorKysrIGIvaW5jbHVkZS9ody92ZmlvL3ZmaW8tZGV2aWNlLmgKK0BAIC0yNTgs NiArMjU4LDkgQEAgdm9pZCB2ZmlvX2RldmljZV9wcmVwYXJlKFZGSU9EZXZpY2UgKnZiYXNlZGV2 LCBWRklPQ29udGFpbmVyICpiY29udGFpbmVyLAorIAorIHZvaWQgdmZpb19kZXZpY2VfdW5wcmVw YXJlKFZGSU9EZXZpY2UgKnZiYXNlZGV2KTsKKyAKKytpbnQgdmZpb19kZXZpY2VfZ2V0X2ZlYXR1 cmUoVkZJT0RldmljZSAqdmJhc2VkZXYsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0 cnVjdCB2ZmlvX2RldmljZV9mZWF0dXJlICpmZWF0dXJlKTsKKysKKyBpbnQgdmZpb19kZXZpY2Vf Z2V0X3JlZ2lvbl9pbmZvKFZGSU9EZXZpY2UgKnZiYXNlZGV2LCBpbnQgaW5kZXgsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgdmZpb19yZWdpb25faW5mbyAqKmluZm8p OworIGludCB2ZmlvX2RldmljZV9nZXRfcmVnaW9uX2luZm9fdHlwZShWRklPRGV2aWNlICp2YmFz ZWRldiwgdWludDMyX3QgdHlwZSwKKy0tIAorMi41Mi4wCisKCmRpZmYgLS1naXQgYS9rdm0taHct dmZpby1Bdm9pZC1yYW1fYWRkcl90LWluLXZmaW9fY29udGFpbmVyX3F1ZXJ5X2Rpci5wYXRjaCBi L2t2bS1ody12ZmlvLUF2b2lkLXJhbV9hZGRyX3QtaW4tdmZpb19jb250YWluZXJfcXVlcnlfZGly LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdmNDU4ZjUKLS0tIC9k ZXYvbnVsbAorKysgYi9rdm0taHctdmZpby1Bdm9pZC1yYW1fYWRkcl90LWluLXZmaW9fY29udGFp bmVyX3F1ZXJ5X2Rpci5wYXRjaApAQCAtMCwwICsxLDE2OCBAQAorRnJvbSBlOGNmNmEwY2U5ZGZm NWM2ODY4ZDNmYjllZTZmYzIwMTYwYzZjMzFhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJv bTogPT9VVEYtOD9xP1BoaWxpcHBlPTIwTWF0aGlldS1EYXVkPUMzPUE5Pz0gPHBoaWxtZEBsaW5h cm8ub3JnPgorRGF0ZTogVHVlLCAzMCBTZXAgMjAyNSAxNDozNToyNyArMDIwMAorU3ViamVjdDog W1BBVENIIDA4My8xMTZdIGh3L3ZmaW86IEF2b2lkIHJhbV9hZGRyX3QgaW4KKyB2ZmlvX2NvbnRh aW5lcl9xdWVyeV9kaXJ0eV9iaXRtYXAoKQorTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlw ZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzog OGJpdAorCitSSC1BdXRob3I6IFJvZG9sZm8gVmljayA8Tm9uZT4KK1JILU1lcmdlUmVxdWVzdDog NDg2OiBBZGQgRE1BQlVGIHN1cHBvcnQKK1JILUppcmE6IFJIRUwtMTM4NDk0CitSSC1BY2tlZC1i eTogQ8OpZHJpYyBMZSBHb2F0ZXIgPGNsZ0ByZWRoYXQuY29tPgorUkgtQWNrZWQtYnk6IEVyaWMg QXVnZXIgPGVyaWMuYXVnZXJAcmVkaGF0LmNvbT4KK1JILUNvbW1pdDogWzY3LzEwMF0gMzc5NjZh NzZiNTFjMTVkYmU0YWZlZDdmMjI0ZTYzNDdmMmZkMTUzZiAocm92aWNrMS9xZW11LWt2bSkKKwor VGhlICdyYW1fYWRkcl90JyB0eXBlIGlzIGRlc2NyaWJlZCBhczoKKworICBhIFFFTVUgaW50ZXJu YWwgYWRkcmVzcyBzcGFjZSB0aGF0IG1hcHMgZ3Vlc3QgUkFNIHBoeXNpY2FsCisgIGFkZHJlc3Nl cyBpbnRvIGFuIGludGVybWVkaWF0ZSBhZGRyZXNzIHNwYWNlIHRoYXQgY2FuIG1hcAorICB0byBo b3N0IHZpcnR1YWwgYWRkcmVzcyBzcGFjZXMuCisKK3ZmaW9fY29udGFpbmVyX3F1ZXJ5X2RpcnR5 X2JpdG1hcCgpIGRvZXNuJ3QgZXhwZWN0IHN1Y2ggUUVNVQoraW50ZXJtZWRpYXRlIGFkZHJlc3Ms IGJ1dCBhIGd1ZXN0IHBoeXNpY2FsIGFkZHJlc3Nlcy4gVXNlIHRoZQorYXBwcm9wcmlhdGUgJ2h3 YWRkcicgdHlwZSwgcmVuYW1lIGFzIEB0cmFuc2xhdGVkX2FkZHIgZm9yCitjbGFyaXR5LgorCitT aWduZWQtb2ZmLWJ5OiBQaGlsaXBwZSBNYXRoaWV1LURhdWTDqSA8cGhpbG1kQGxpbmFyby5vcmc+ CitSZXZpZXdlZC1ieTogQ8OpZHJpYyBMZSBHb2F0ZXIgPGNsZ0ByZWRoYXQuY29tPgorTGluazog aHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvcWVtdS1kZXZlbC8yMDI1MDkzMDEyMzUyOC40Mjg3OC00 LXBoaWxtZEBsaW5hcm8ub3JnCitTaWduZWQtb2ZmLWJ5OiBDw6lkcmljIExlIEdvYXRlciA8Y2xn QHJlZGhhdC5jb20+CisoY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCAwY2E3MGQzYmY3MjJhOTRj NTNmMjU0NjcwZTZhNjQyZTc3YWEwNzdjKQorU2lnbmVkLW9mZi1ieTogRXJpYyBBdWdlciA8ZXJp Yy5hdWdlckByZWRoYXQuY29tPgorLS0tCisgaHcvdmZpby9jb250YWluZXIuYyAgICAgICAgICAg ICAgfCAxMSArKysrKystLS0tLQorIGh3L3ZmaW8vbGlzdGVuZXIuYyAgICAgICAgICAgICAgIHwg MTggKysrKysrKysrLS0tLS0tLS0tCisgaHcvdmZpby90cmFjZS1ldmVudHMgICAgICAgICAgICAg fCAgMiArLQorIGluY2x1ZGUvaHcvdmZpby92ZmlvLWNvbnRhaW5lci5oIHwgIDMgKystCisgNCBm aWxlcyBjaGFuZ2VkLCAxOCBpbnNlcnRpb25zKCspLCAxNiBkZWxldGlvbnMoLSkKKworZGlmZiAt LWdpdCBhL2h3L3ZmaW8vY29udGFpbmVyLmMgYi9ody92ZmlvL2NvbnRhaW5lci5jCitpbmRleCAy NTBiMjBmNDI0Li45ZDY5NDM5MzcxIDEwMDY0NAorLS0tIGEvaHcvdmZpby9jb250YWluZXIuYwor KysrIGIvaHcvdmZpby9jb250YWluZXIuYworQEAgLTI0Niw3ICsyNDYsNyBAQCBzdGF0aWMgaW50 IHZmaW9fY29udGFpbmVyX2RldmljZXNfcXVlcnlfZGlydHlfYml0bWFwKAorIAorIGludCB2Zmlv X2NvbnRhaW5lcl9xdWVyeV9kaXJ0eV9iaXRtYXAoY29uc3QgVkZJT0NvbnRhaW5lciAqYmNvbnRh aW5lciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ2NF90IGlv dmEsIHVpbnQ2NF90IHNpemUsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICByYW1fYWRkcl90IHJhbV9hZGRyLCBFcnJvciAqKmVycnApCisrICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBod2FkZHIgdHJhbnNsYXRlZF9hZGRyLCBFcnJvciAqKmVycnAp CisgeworICAgICBib29sIGFsbF9kZXZpY2VfZGlydHlfdHJhY2tpbmcgPQorICAgICAgICAgdmZp b19jb250YWluZXJfZGV2aWNlc19kaXJ0eV90cmFja2luZ19pc19zdXBwb3J0ZWQoYmNvbnRhaW5l cik7CitAQCAtMjU1LDcgKzI1NSw3IEBAIGludCB2ZmlvX2NvbnRhaW5lcl9xdWVyeV9kaXJ0eV9i aXRtYXAoY29uc3QgVkZJT0NvbnRhaW5lciAqYmNvbnRhaW5lciwKKyAgICAgaW50IHJldDsKKyAK KyAgICAgaWYgKCFiY29udGFpbmVyLT5kaXJ0eV9wYWdlc19zdXBwb3J0ZWQgJiYgIWFsbF9kZXZp Y2VfZGlydHlfdHJhY2tpbmcpIHsKKy0gICAgICAgIGNwdV9waHlzaWNhbF9tZW1vcnlfc2V0X2Rp cnR5X3JhbmdlKHJhbV9hZGRyLCBzaXplLAorKyAgICAgICAgY3B1X3BoeXNpY2FsX21lbW9yeV9z ZXRfZGlydHlfcmFuZ2UodHJhbnNsYXRlZF9hZGRyLCBzaXplLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgdGNnX2VuYWJsZWQoKSA/IERJUlRZX0NMSUVOVFNf QUxMIDoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERJUlRZ X0NMSUVOVFNfTk9DT0RFKTsKKyAgICAgICAgIHJldHVybiAwOworQEAgLTI4MCwxMSArMjgwLDEy IEBAIGludCB2ZmlvX2NvbnRhaW5lcl9xdWVyeV9kaXJ0eV9iaXRtYXAoY29uc3QgVkZJT0NvbnRh aW5lciAqYmNvbnRhaW5lciwKKyAgICAgICAgIGdvdG8gb3V0OworICAgICB9CisgCistICAgIGRp cnR5X3BhZ2VzID0gY3B1X3BoeXNpY2FsX21lbW9yeV9zZXRfZGlydHlfbGViaXRtYXAodmJtYXAu Yml0bWFwLCByYW1fYWRkciwKKysgICAgZGlydHlfcGFnZXMgPSBjcHVfcGh5c2ljYWxfbWVtb3J5 X3NldF9kaXJ0eV9sZWJpdG1hcCh2Ym1hcC5iaXRtYXAsCisrICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNsYXRlZF9hZGRyLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZi bWFwLnBhZ2VzKTsKKyAKKy0gICAgdHJhY2VfdmZpb19jb250YWluZXJfcXVlcnlfZGlydHlfYml0 bWFwKGlvdmEsIHNpemUsIHZibWFwLnNpemUsIHJhbV9hZGRyLAorLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlydHlfcGFnZXMpOworKyAgICB0cmFjZV92Zmlv X2NvbnRhaW5lcl9xdWVyeV9kaXJ0eV9iaXRtYXAoaW92YSwgc2l6ZSwgdmJtYXAuc2l6ZSwKKysg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zbGF0ZWRfYWRk ciwgZGlydHlfcGFnZXMpOworIG91dDoKKyAgICAgZ19mcmVlKHZibWFwLmJpdG1hcCk7CisgCitk aWZmIC0tZ2l0IGEvaHcvdmZpby9saXN0ZW5lci5jIGIvaHcvdmZpby9saXN0ZW5lci5jCitpbmRl eCAzYjZmMTdmMGMzLi5hMmMxOWEzY2VjIDEwMDY0NAorLS0tIGEvaHcvdmZpby9saXN0ZW5lci5j CisrKysgYi9ody92ZmlvL2xpc3RlbmVyLmMKK0BAIC0xMDU5LDcgKzEwNTksNyBAQCBzdGF0aWMg dm9pZCB2ZmlvX2lvbW11X21hcF9kaXJ0eV9ub3RpZnkoSU9NTVVOb3RpZmllciAqbiwgSU9NTVVU TEJFbnRyeSAqaW90bGIpCisgICAgIFZGSU9HdWVzdElPTU1VICpnaW9tbXUgPSBnZG4tPmdpb21t dTsKKyAgICAgVkZJT0NvbnRhaW5lciAqYmNvbnRhaW5lciA9IGdpb21tdS0+YmNvbnRhaW5lcjsK KyAgICAgaHdhZGRyIGlvdmEgPSBpb3RsYi0+aW92YSArIGdpb21tdS0+aW9tbXVfb2Zmc2V0Owor LSAgICByYW1fYWRkcl90IHRyYW5zbGF0ZWRfYWRkcjsKKysgICAgaHdhZGRyIHRyYW5zbGF0ZWRf YWRkcjsKKyAgICAgRXJyb3IgKmxvY2FsX2VyciA9IE5VTEw7CisgICAgIGludCByZXQgPSAtRUlO VkFMOworICAgICBNZW1vcnlSZWdpb24gKm1yOworQEAgLTExMDgsOCArMTEwOCw4IEBAIHN0YXRp YyBpbnQgdmZpb19yYW1fZGlzY2FyZF9xdWVyeV9kaXJ0eV9iaXRtYXAoTWVtb3J5UmVnaW9uU2Vj dGlvbiAqc2VjdGlvbiwKKyB7CisgICAgIGNvbnN0IGh3YWRkciBzaXplID0gaW50MTI4X2dldDY0 KHNlY3Rpb24tPnNpemUpOworICAgICBjb25zdCBod2FkZHIgaW92YSA9IHNlY3Rpb24tPm9mZnNl dF93aXRoaW5fYWRkcmVzc19zcGFjZTsKKy0gICAgY29uc3QgcmFtX2FkZHJfdCByYW1fYWRkciA9 IG1lbW9yeV9yZWdpb25fZ2V0X3JhbV9hZGRyKHNlY3Rpb24tPm1yKSArCistICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBzZWN0aW9uLT5vZmZzZXRfd2l0aGluX3JlZ2lvbjsKKysgICAg Y29uc3QgaHdhZGRyIHRyYW5zbGF0ZWRfYWRkciA9IG1lbW9yeV9yZWdpb25fZ2V0X3JhbV9hZGRy KHNlY3Rpb24tPm1yKSArCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWN0 aW9uLT5vZmZzZXRfd2l0aGluX3JlZ2lvbjsKKyAgICAgVkZJT1JhbURpc2NhcmRMaXN0ZW5lciAq dnJkbCA9IG9wYXF1ZTsKKyAgICAgRXJyb3IgKmxvY2FsX2VyciA9IE5VTEw7CisgICAgIGludCBy ZXQ7CitAQCAtMTExOCw4ICsxMTE4LDggQEAgc3RhdGljIGludCB2ZmlvX3JhbV9kaXNjYXJkX3F1 ZXJ5X2RpcnR5X2JpdG1hcChNZW1vcnlSZWdpb25TZWN0aW9uICpzZWN0aW9uLAorICAgICAgKiBT eW5jIHRoZSB3aG9sZSBtYXBwZWQgcmVnaW9uIChzcGFubmluZyBtdWx0aXBsZSBpbmRpdmlkdWFs IG1hcHBpbmdzKQorICAgICAgKiBpbiBvbmUgZ28uCisgICAgICAqLworLSAgICByZXQgPSB2Zmlv X2NvbnRhaW5lcl9xdWVyeV9kaXJ0eV9iaXRtYXAodnJkbC0+YmNvbnRhaW5lciwgaW92YSwgc2l6 ZSwgcmFtX2FkZHIsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbG9jYWxfZXJy KTsKKysgICAgcmV0ID0gdmZpb19jb250YWluZXJfcXVlcnlfZGlydHlfYml0bWFwKHZyZGwtPmJj b250YWluZXIsIGlvdmEsIHNpemUsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB0cmFuc2xhdGVkX2FkZHIsICZsb2NhbF9lcnIpOworICAgICBpZiAocmV0KSB7 CisgICAgICAgICBlcnJvcl9yZXBvcnRfZXJyKGxvY2FsX2Vycik7CisgICAgIH0KK0BAIC0xMTgz LDcgKzExODMsNyBAQCBzdGF0aWMgaW50IHZmaW9fc3luY19pb21tdV9kaXJ0eV9iaXRtYXAoVkZJ T0NvbnRhaW5lciAqYmNvbnRhaW5lciwKKyBzdGF0aWMgaW50IHZmaW9fc3luY19kaXJ0eV9iaXRt YXAoVkZJT0NvbnRhaW5lciAqYmNvbnRhaW5lciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgTWVtb3J5UmVnaW9uU2VjdGlvbiAqc2VjdGlvbiwgRXJyb3IgKiplcnJwKQorIHsK Ky0gICAgcmFtX2FkZHJfdCByYW1fYWRkcjsKKysgICAgaHdhZGRyIHRyYW5zbGF0ZWRfYWRkcjsK KyAKKyAgICAgaWYgKG1lbW9yeV9yZWdpb25faXNfaW9tbXUoc2VjdGlvbi0+bXIpKSB7CisgICAg ICAgICByZXR1cm4gdmZpb19zeW5jX2lvbW11X2RpcnR5X2JpdG1hcChiY29udGFpbmVyLCBzZWN0 aW9uKTsKK0BAIC0xMTk4LDEyICsxMTk4LDEyIEBAIHN0YXRpYyBpbnQgdmZpb19zeW5jX2RpcnR5 X2JpdG1hcChWRklPQ29udGFpbmVyICpiY29udGFpbmVyLAorICAgICAgICAgcmV0dXJuIHJldDsK KyAgICAgfQorIAorLSAgICByYW1fYWRkciA9IG1lbW9yeV9yZWdpb25fZ2V0X3JhbV9hZGRyKHNl Y3Rpb24tPm1yKSArCistICAgICAgICAgICAgICAgc2VjdGlvbi0+b2Zmc2V0X3dpdGhpbl9yZWdp b247CisrICAgIHRyYW5zbGF0ZWRfYWRkciA9IG1lbW9yeV9yZWdpb25fZ2V0X3JhbV9hZGRyKHNl Y3Rpb24tPm1yKSArCisrICAgICAgICAgICAgICAgICAgICAgIHNlY3Rpb24tPm9mZnNldF93aXRo aW5fcmVnaW9uOworIAorICAgICByZXR1cm4gdmZpb19jb250YWluZXJfcXVlcnlfZGlydHlfYml0 bWFwKGJjb250YWluZXIsCisgICAgICAgICAgICAgICAgICAgIFJFQUxfSE9TVF9QQUdFX0FMSUdO KHNlY3Rpb24tPm9mZnNldF93aXRoaW5fYWRkcmVzc19zcGFjZSksCistICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgaW50MTI4X2dldDY0KHNlY3Rpb24tPnNpemUpLCByYW1fYWRkciwg ZXJycCk7CisrICAgICAgICAgICAgICAgICAgIGludDEyOF9nZXQ2NChzZWN0aW9uLT5zaXplKSwg dHJhbnNsYXRlZF9hZGRyLCBlcnJwKTsKKyB9CisgCisgc3RhdGljIHZvaWQgdmZpb19saXN0ZW5l cl9sb2dfc3luYyhNZW1vcnlMaXN0ZW5lciAqbGlzdGVuZXIsCitkaWZmIC0tZ2l0IGEvaHcvdmZp by90cmFjZS1ldmVudHMgYi9ody92ZmlvL3RyYWNlLWV2ZW50cworaW5kZXggYjFiNDcwY2MyOS4u MWU4OTU0NDhjZCAxMDA2NDQKKy0tLSBhL2h3L3ZmaW8vdHJhY2UtZXZlbnRzCisrKysgYi9ody92 ZmlvL3RyYWNlLWV2ZW50cworQEAgLTEwNSw3ICsxMDUsNyBAQCB2ZmlvX2RldmljZV9kaXJ0eV90 cmFja2luZ19zdGFydChpbnQgbnJfcmFuZ2VzLCB1aW50NjRfdCBtaW4zMiwgdWludDY0X3QgbWF4 MzIsCisgdmZpb19pb21tdV9tYXBfZGlydHlfbm90aWZ5KHVpbnQ2NF90IGlvdmFfc3RhcnQsIHVp bnQ2NF90IGlvdmFfZW5kKSAiaW9tbXUgZGlydHkgQCAweCUiUFJJeDY0IiAtIDB4JSJQUkl4NjQK KyAKKyAjIGNvbnRhaW5lci5jCistdmZpb19jb250YWluZXJfcXVlcnlfZGlydHlfYml0bWFwKHVp bnQ2NF90IGlvdmEsIHVpbnQ2NF90IHNpemUsIHVpbnQ2NF90IGJpdG1hcF9zaXplLCB1aW50NjRf dCBzdGFydCwgdWludDY0X3QgZGlydHlfcGFnZXMpICJpb3ZhPTB4JSJQUkl4NjQiIHNpemU9IDB4 JSJQUkl4NjQiIGJpdG1hcF9zaXplPTB4JSJQUkl4NjQiIHN0YXJ0PTB4JSJQUkl4NjQiIGRpcnR5 X3BhZ2VzPSUiUFJJdTY0CisrdmZpb19jb250YWluZXJfcXVlcnlfZGlydHlfYml0bWFwKHVpbnQ2 NF90IGlvdmEsIHVpbnQ2NF90IHNpemUsIHVpbnQ2NF90IGJpdG1hcF9zaXplLCB1aW50NjRfdCB0 cmFuc2xhdGVkX2FkZHIsIHVpbnQ2NF90IGRpcnR5X3BhZ2VzKSAiaW92YT0weCUiUFJJeDY0IiBz aXplPSAweCUiUFJJeDY0IiBiaXRtYXBfc2l6ZT0weCUiUFJJeDY0IiBncGE9MHglIlBSSXg2NCIg ZGlydHlfcGFnZXM9JSJQUkl1NjQKKyAKKyAjIGNvbnRhaW5lci1sZWdhY3kuYworIHZmaW9fY29u dGFpbmVyX2Rpc2Nvbm5lY3QoaW50IGZkKSAiY2xvc2UgY29udGFpbmVyLT5mZD0lZCIKK2RpZmYg LS1naXQgYS9pbmNsdWRlL2h3L3ZmaW8vdmZpby1jb250YWluZXIuaCBiL2luY2x1ZGUvaHcvdmZp by92ZmlvLWNvbnRhaW5lci5oCitpbmRleCBiOGZiMmI4YjVkLi4wOTNjMzYwZjBlIDEwMDY0NAor LS0tIGEvaW5jbHVkZS9ody92ZmlvL3ZmaW8tY29udGFpbmVyLmgKKysrKyBiL2luY2x1ZGUvaHcv dmZpby92ZmlvLWNvbnRhaW5lci5oCitAQCAtOTgsNyArOTgsOCBAQCBib29sIHZmaW9fY29udGFp bmVyX2RpcnR5X3RyYWNraW5nX2lzX3N0YXJ0ZWQoCisgYm9vbCB2ZmlvX2NvbnRhaW5lcl9kZXZp Y2VzX2RpcnR5X3RyYWNraW5nX2lzX3N1cHBvcnRlZCgKKyAgICAgY29uc3QgVkZJT0NvbnRhaW5l ciAqYmNvbnRhaW5lcik7CisgaW50IHZmaW9fY29udGFpbmVyX3F1ZXJ5X2RpcnR5X2JpdG1hcChj b25zdCBWRklPQ29udGFpbmVyICpiY29udGFpbmVyLAorLSAgICB1aW50NjRfdCBpb3ZhLCB1aW50 NjRfdCBzaXplLCByYW1fYWRkcl90IHJhbV9hZGRyLCBFcnJvciAqKmVycnApOworKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDY0X3QgaW92YSwgdWludDY0X3Qgc2l6 ZSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGh3YWRkciB0cmFuc2xh dGVkX2FkZHIsIEVycm9yICoqZXJycCk7CisgCisgR0xpc3QgKnZmaW9fY29udGFpbmVyX2dldF9p b3ZhX3Jhbmdlcyhjb25zdCBWRklPQ29udGFpbmVyICpiY29udGFpbmVyKTsKKyAKKy0tIAorMi41 Mi4wCisKCmRpZmYgLS1naXQgYS9rdm0taHctdmZpby1SZW9yZGVyLXZmaW9fY29udGFpbmVyX3F1 ZXJ5X2RpcnR5X2JpdG1hcC10ci5wYXRjaCBiL2t2bS1ody12ZmlvLVJlb3JkZXItdmZpb19jb250 YWluZXJfcXVlcnlfZGlydHlfYml0bWFwLXRyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAuLjBkY2MzY2UKLS0tIC9kZXYvbnVsbAorKysgYi9rdm0taHctdmZpby1SZW9y ZGVyLXZmaW9fY29udGFpbmVyX3F1ZXJ5X2RpcnR5X2JpdG1hcC10ci5wYXRjaApAQCAtMCwwICsx LDUxIEBACitGcm9tIDBmNThhZmFjODFmZDNmY2YwN2UxMzBkMzU5ZWI1NGI3NTRkN2I2ZTAgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/UGhpbGlwcGU9MjBNYXRoaWV1 LURhdWQ9QzM9QTk/PSA8cGhpbG1kQGxpbmFyby5vcmc+CitEYXRlOiBUdWUsIDMwIFNlcCAyMDI1 IDE0OjM1OjI2ICswMjAwCitTdWJqZWN0OiBbUEFUQ0ggMDgyLzExNl0gaHcvdmZpbzogUmVvcmRl ciB2ZmlvX2NvbnRhaW5lcl9xdWVyeV9kaXJ0eV9iaXRtYXAoKQorIHRyYWNlIGZvcm1hdAorTUlN RS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAor Q29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorCitSSC1BdXRob3I6IFJvZG9sZm8gVmlj ayA8Tm9uZT4KK1JILU1lcmdlUmVxdWVzdDogNDg2OiBBZGQgRE1BQlVGIHN1cHBvcnQKK1JILUpp cmE6IFJIRUwtMTM4NDk0CitSSC1BY2tlZC1ieTogQ8OpZHJpYyBMZSBHb2F0ZXIgPGNsZ0ByZWRo YXQuY29tPgorUkgtQWNrZWQtYnk6IEVyaWMgQXVnZXIgPGVyaWMuYXVnZXJAcmVkaGF0LmNvbT4K K1JILUNvbW1pdDogWzY2LzEwMF0gNGIwZjE5MjAxZTU2ODRhYjI3ZDJmYjQ2ZTU1YTY1YTk2NWNl NDVkYSAocm92aWNrMS9xZW11LWt2bSkKKworVXBkYXRlIHRoZSB0cmFjZS1ldmVudHMgY29tbWVu dHMgYWZ0ZXIgdGhlIGNoYW5nZXMgZnJvbQorY29tbWl0IGRjY2U1MWIxOTM4ICgiaHcvdmZpby9j b250YWluZXItYmFzZS5jOiByZW5hbWUgZmlsZQordG8gY29udGFpbmVyLmMiKSBhbmQgY29tbWl0 IGEzYmNhZTYyYjZhICgiaHcvdmZpby9jb250YWluZXIuYzoKK3JlbmFtZSBmaWxlIHRvIGNvbnRh aW5lci1sZWdhY3kuYyIpLgorCitTaWduZWQtb2ZmLWJ5OiBQaGlsaXBwZSBNYXRoaWV1LURhdWTD qSA8cGhpbG1kQGxpbmFyby5vcmc+CitSZXZpZXdlZC1ieTogQ8OpZHJpYyBMZSBHb2F0ZXIgPGNs Z0ByZWRoYXQuY29tPgorTGluazogaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvcWVtdS1kZXZlbC8y MDI1MDkzMDEyMzUyOC40Mjg3OC0zLXBoaWxtZEBsaW5hcm8ub3JnCitTaWduZWQtb2ZmLWJ5OiBD w6lkcmljIExlIEdvYXRlciA8Y2xnQHJlZGhhdC5jb20+CisoY2hlcnJ5IHBpY2tlZCBmcm9tIGNv bW1pdCA1NzY0YTcxNTI3N2FmYzRkNjA3NmZiZjJiYWUxNjk3ZGJkMmZhMTgyKQorU2lnbmVkLW9m Zi1ieTogRXJpYyBBdWdlciA8ZXJpYy5hdWdlckByZWRoYXQuY29tPgorLS0tCisgaHcvdmZpby90 cmFjZS1ldmVudHMgfCA0ICsrLS0KKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAy IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvaHcvdmZpby90cmFjZS1ldmVudHMgYi9ody92 ZmlvL3RyYWNlLWV2ZW50cworaW5kZXggNzQ5NmUxYjY0Yi4uYjFiNDcwY2MyOSAxMDA2NDQKKy0t LSBhL2h3L3ZmaW8vdHJhY2UtZXZlbnRzCisrKysgYi9ody92ZmlvL3RyYWNlLWV2ZW50cworQEAg LTEwNCwxMCArMTA0LDEwIEBAIHZmaW9fZGV2aWNlX2RpcnR5X3RyYWNraW5nX3VwZGF0ZSh1aW50 NjRfdCBzdGFydCwgdWludDY0X3QgZW5kLCB1aW50NjRfdCBtaW4sIHVpCisgdmZpb19kZXZpY2Vf ZGlydHlfdHJhY2tpbmdfc3RhcnQoaW50IG5yX3JhbmdlcywgdWludDY0X3QgbWluMzIsIHVpbnQ2 NF90IG1heDMyLCB1aW50NjRfdCBtaW42NCwgdWludDY0X3QgbWF4NjQsIHVpbnQ2NF90IG1pbnBj aSwgdWludDY0X3QgbWF4cGNpKSAibnJfcmFuZ2VzICVkIDMyOlsweCUiUFJJeDY0IiAtIDB4JSJQ Ukl4NjQiXSwgNjQ6WzB4JSJQUkl4NjQiIC0gMHglIlBSSXg2NCJdLCBwY2k2NDpbMHglIlBSSXg2 NCIgLSAweCUiUFJJeDY0Il0iCisgdmZpb19pb21tdV9tYXBfZGlydHlfbm90aWZ5KHVpbnQ2NF90 IGlvdmFfc3RhcnQsIHVpbnQ2NF90IGlvdmFfZW5kKSAiaW9tbXUgZGlydHkgQCAweCUiUFJJeDY0 IiAtIDB4JSJQUkl4NjQKKyAKKy0jIGNvbnRhaW5lci1iYXNlLmMKKysjIGNvbnRhaW5lci5jCisg dmZpb19jb250YWluZXJfcXVlcnlfZGlydHlfYml0bWFwKHVpbnQ2NF90IGlvdmEsIHVpbnQ2NF90 IHNpemUsIHVpbnQ2NF90IGJpdG1hcF9zaXplLCB1aW50NjRfdCBzdGFydCwgdWludDY0X3QgZGly dHlfcGFnZXMpICJpb3ZhPTB4JSJQUkl4NjQiIHNpemU9IDB4JSJQUkl4NjQiIGJpdG1hcF9zaXpl PTB4JSJQUkl4NjQiIHN0YXJ0PTB4JSJQUkl4NjQiIGRpcnR5X3BhZ2VzPSUiUFJJdTY0CisgCist IyBjb250YWluZXIuYworKyMgY29udGFpbmVyLWxlZ2FjeS5jCisgdmZpb19jb250YWluZXJfZGlz Y29ubmVjdChpbnQgZmQpICJjbG9zZSBjb250YWluZXItPmZkPSVkIgorIHZmaW9fZ3JvdXBfcHV0 KGludCBmZCkgImNsb3NlIGdyb3VwLT5mZD0lZCIKKyB2ZmlvX2RldmljZV9nZXQoY29uc3QgY2hh ciAqIG5hbWUsIHVuc2lnbmVkIGludCBmbGFncywgdW5zaWduZWQgaW50IG51bV9yZWdpb25zLCB1 bnNpZ25lZCBpbnQgbnVtX2lycXMpICJEZXZpY2UgJXMgZmxhZ3M6ICV1LCByZWdpb25zOiAldSwg aXJxczogJXUiCistLSAKKzIuNTIuMAorCgpkaWZmIC0tZ2l0IGEva3ZtLWh3LXZmaW8tVXNlLXVp bnQ2NF90LWZvci1JT1ZBLW1hcHBpbmctc2l6ZS1pbi12ZmlvX2MucGF0Y2ggYi9rdm0taHctdmZp by1Vc2UtdWludDY0X3QtZm9yLUlPVkEtbWFwcGluZy1zaXplLWluLXZmaW9fYy5wYXRjaApuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MzcyZTBiCi0tLSAvZGV2L251bGwKKysr IGIva3ZtLWh3LXZmaW8tVXNlLXVpbnQ2NF90LWZvci1JT1ZBLW1hcHBpbmctc2l6ZS1pbi12Zmlv X2MucGF0Y2gKQEAgLTAsMCArMSwyMjkgQEAKK0Zyb20gNGI3ZTI4ODI3YmJlNzExMjdhNzg0NzA0 MGI1YjkyMTQwZmQ0MTFhZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ID0/VVRGLTg/ cT9QaGlsaXBwZT0yME1hdGhpZXUtRGF1ZD1DMz1BOT89IDxwaGlsbWRAbGluYXJvLm9yZz4KK0Rh dGU6IFR1ZSwgMzAgU2VwIDIwMjUgMTQ6MzU6MjggKzAyMDAKK1N1YmplY3Q6IFtQQVRDSCAwODQv MTE2XSBody92ZmlvOiBVc2UgdWludDY0X3QgZm9yIElPVkEgbWFwcGluZyBzaXplIGluCisgdmZp b19jb250YWluZXJfZG1hXyptYXAKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRl eHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQK KworUkgtQXV0aG9yOiBSb2RvbGZvIFZpY2sgPE5vbmU+CitSSC1NZXJnZVJlcXVlc3Q6IDQ4Njog QWRkIERNQUJVRiBzdXBwb3J0CitSSC1KaXJhOiBSSEVMLTEzODQ5NAorUkgtQWNrZWQtYnk6IEPD qWRyaWMgTGUgR29hdGVyIDxjbGdAcmVkaGF0LmNvbT4KK1JILUFja2VkLWJ5OiBFcmljIEF1Z2Vy IDxlcmljLmF1Z2VyQHJlZGhhdC5jb20+CitSSC1Db21taXQ6IFs2OC8xMDBdIGY4YjAwZjlmZjgz YzQ0MzgxNzNlZmVkMTNiMGIzMzY0NTk1NDE4NzcgKHJvdmljazEvcWVtdS1rdm0pCisKK1RoZSAn cmFtX2FkZHJfdCcgdHlwZSBpcyBkZXNjcmliZWQgYXM6CisKKyAgYSBRRU1VIGludGVybmFsIGFk ZHJlc3Mgc3BhY2UgdGhhdCBtYXBzIGd1ZXN0IFJBTSBwaHlzaWNhbAorICBhZGRyZXNzZXMgaW50 byBhbiBpbnRlcm1lZGlhdGUgYWRkcmVzcyBzcGFjZSB0aGF0IGNhbiBtYXAKKyAgdG8gaG9zdCB2 aXJ0dWFsIGFkZHJlc3Mgc3BhY2VzLgorCitUaGlzIGRvZXNuJ3QgcmVwcmVzZW50IHdlbGwgYW4g SU9WQSBtYXBwaW5nIHNpemUuIFNpbXBseSB1c2UKK3RoZSB1aW50NjRfdCB0eXBlLgorCitTaWdu ZWQtb2ZmLWJ5OiBQaGlsaXBwZSBNYXRoaWV1LURhdWTDqSA8cGhpbG1kQGxpbmFyby5vcmc+CitS ZXZpZXdlZC1ieTogQ8OpZHJpYyBMZSBHb2F0ZXIgPGNsZ0ByZWRoYXQuY29tPgorTGluazogaHR0 cHM6Ly9sb3JlLmtlcm5lbC5vcmcvcWVtdS1kZXZlbC8yMDI1MDkzMDEyMzUyOC40Mjg3OC01LXBo aWxtZEBsaW5hcm8ub3JnCitTaWduZWQtb2ZmLWJ5OiBDw6lkcmljIExlIEdvYXRlciA8Y2xnQHJl ZGhhdC5jb20+CisoY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCBmMGI1MmFhMDhhYjA4NjhjMThk ODgxMzgxYThmZGE0YjU5YjM3NTE3KQorU2lnbmVkLW9mZi1ieTogRXJpYyBBdWdlciA8ZXJpYy5h dWdlckByZWRoYXQuY29tPgorLS0tCisgaHcvdmZpby11c2VyL2NvbnRhaW5lci5jICAgICAgICAg fCAgNCArKy0tCisgaHcvdmZpby9jb250YWluZXItbGVnYWN5LmMgICAgICAgfCAgOCArKysrLS0t LQorIGh3L3ZmaW8vY29udGFpbmVyLmMgICAgICAgICAgICAgIHwgIDQgKystLQorIGh3L3ZmaW8v Y3ByLWxlZ2FjeS5jICAgICAgICAgICAgIHwgIDIgKy0KKyBody92ZmlvL2lvbW11ZmQuYyAgICAg ICAgICAgICAgICB8ICA2ICsrKy0tLQorIGluY2x1ZGUvaHcvdmZpby92ZmlvLWNvbnRhaW5lci5o IHwgMTAgKysrKystLS0tLQorIGluY2x1ZGUvaHcvdmZpby92ZmlvLWNwci5oICAgICAgIHwgIDIg Ky0KKyA3IGZpbGVzIGNoYW5nZWQsIDE4IGluc2VydGlvbnMoKyksIDE4IGRlbGV0aW9ucygtKQor CitkaWZmIC0tZ2l0IGEvaHcvdmZpby11c2VyL2NvbnRhaW5lci5jIGIvaHcvdmZpby11c2VyL2Nv bnRhaW5lci5jCitpbmRleCA0MTFlYjdiMjhiLi5lNDUxOTJmZWY2IDEwMDY0NAorLS0tIGEvaHcv dmZpby11c2VyL2NvbnRhaW5lci5jCisrKysgYi9ody92ZmlvLXVzZXIvY29udGFpbmVyLmMKK0BA IC0zOSw3ICszOSw3IEBAIHN0YXRpYyB2b2lkIHZmaW9fdXNlcl9saXN0ZW5lcl9jb21taXQoVkZJ T0NvbnRhaW5lciAqYmNvbnRhaW5lcikKKyB9CisgCisgc3RhdGljIGludCB2ZmlvX3VzZXJfZG1h X3VubWFwKGNvbnN0IFZGSU9Db250YWluZXIgKmJjb250YWluZXIsCistICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGh3YWRkciBpb3ZhLCByYW1fYWRkcl90IHNpemUsCisrICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGh3YWRkciBpb3ZhLCB1aW50NjRfdCBzaXplLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBJT01NVVRMQkVudHJ5ICppb3RsYiwgYm9vbCB1bm1h cF9hbGwpCisgeworICAgICBWRklPVXNlckNvbnRhaW5lciAqY29udGFpbmVyID0gVkZJT19JT01N VV9VU0VSKGJjb250YWluZXIpOworQEAgLTgxLDcgKzgxLDcgQEAgc3RhdGljIGludCB2ZmlvX3Vz ZXJfZG1hX3VubWFwKGNvbnN0IFZGSU9Db250YWluZXIgKmJjb250YWluZXIsCisgfQorIAorIHN0 YXRpYyBpbnQgdmZpb191c2VyX2RtYV9tYXAoY29uc3QgVkZJT0NvbnRhaW5lciAqYmNvbnRhaW5l ciwgaHdhZGRyIGlvdmEsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICByYW1fYWRkcl90 IHNpemUsIHZvaWQgKnZhZGRyLCBib29sIHJlYWRvbmx5LAorKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgdWludDY0X3Qgc2l6ZSwgdm9pZCAqdmFkZHIsIGJvb2wgcmVhZG9ubHksCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBNZW1vcnlSZWdpb24gKm1ycCkKKyB7CisgICAgIFZG SU9Vc2VyQ29udGFpbmVyICpjb250YWluZXIgPSBWRklPX0lPTU1VX1VTRVIoYmNvbnRhaW5lcik7 CitkaWZmIC0tZ2l0IGEvaHcvdmZpby9jb250YWluZXItbGVnYWN5LmMgYi9ody92ZmlvL2NvbnRh aW5lci1sZWdhY3kuYworaW5kZXggMmQxOWQ5N2UyZC4uMTM5NGRkNmZlOCAxMDA2NDQKKy0tLSBh L2h3L3ZmaW8vY29udGFpbmVyLWxlZ2FjeS5jCisrKysgYi9ody92ZmlvL2NvbnRhaW5lci1sZWdh Y3kuYworQEAgLTgzLDcgKzgzLDcgQEAgc3RhdGljIGludCB2ZmlvX3JhbV9ibG9ja19kaXNjYXJk X2Rpc2FibGUoVkZJT0xlZ2FjeUNvbnRhaW5lciAqY29udGFpbmVyLAorIH0KKyAKKyBzdGF0aWMg aW50IHZmaW9fZG1hX3VubWFwX2JpdG1hcChjb25zdCBWRklPTGVnYWN5Q29udGFpbmVyICpjb250 YWluZXIsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHdhZGRyIGlvdmEsIHJh bV9hZGRyX3Qgc2l6ZSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBod2FkZHIg aW92YSwgdWludDY0X3Qgc2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJ T01NVVRMQkVudHJ5ICppb3RsYikKKyB7CisgICAgIGNvbnN0IFZGSU9Db250YWluZXIgKmJjb250 YWluZXIgPSBWRklPX0lPTU1VKGNvbnRhaW5lcik7CitAQCAtMTM2LDcgKzEzNiw3IEBAIHVubWFw X2V4aXQ6CisgfQorIAorIHN0YXRpYyBpbnQgdmZpb19sZWdhY3lfZG1hX3VubWFwX29uZShjb25z dCBWRklPQ29udGFpbmVyICpiY29udGFpbmVyLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBod2FkZHIgaW92YSwgcmFtX2FkZHJfdCBzaXplLAorKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBod2FkZHIgaW92YSwgdWludDY0X3Qgc2l6ZSwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSU9NTVVUTEJFbnRyeSAqaW90bGIpCisg eworICAgICBjb25zdCBWRklPTGVnYWN5Q29udGFpbmVyICpjb250YWluZXIgPSBWRklPX0lPTU1V X0xFR0FDWShiY29udGFpbmVyKTsKK0BAIC0xODEsNyArMTgxLDcgQEAgc3RhdGljIGludCB2Zmlv X2xlZ2FjeV9kbWFfdW5tYXBfb25lKGNvbnN0IFZGSU9Db250YWluZXIgKmJjb250YWluZXIsCisg ICogRE1BIC0gTWFwcGluZyBhbmQgdW5tYXBwaW5nIGZvciB0aGUgInR5cGUxIiBJT01NVSBpbnRl cmZhY2UgdXNlZCBvbiB4ODYKKyAgKi8KKyBzdGF0aWMgaW50IHZmaW9fbGVnYWN5X2RtYV91bm1h cChjb25zdCBWRklPQ29udGFpbmVyICpiY29udGFpbmVyLAorLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGh3YWRkciBpb3ZhLCByYW1fYWRkcl90IHNpemUsCisrICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgaHdhZGRyIGlvdmEsIHVpbnQ2NF90IHNpemUsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgSU9NTVVUTEJFbnRyeSAqaW90bGIsIGJvb2wgdW5t YXBfYWxsKQorIHsKKyAgICAgaW50IHJldDsKK0BAIC0yMDYsNyArMjA2LDcgQEAgc3RhdGljIGlu dCB2ZmlvX2xlZ2FjeV9kbWFfdW5tYXAoY29uc3QgVkZJT0NvbnRhaW5lciAqYmNvbnRhaW5lciwK KyB9CisgCisgc3RhdGljIGludCB2ZmlvX2xlZ2FjeV9kbWFfbWFwKGNvbnN0IFZGSU9Db250YWlu ZXIgKmJjb250YWluZXIsIGh3YWRkciBpb3ZhLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICByYW1fYWRkcl90IHNpemUsIHZvaWQgKnZhZGRyLCBib29sIHJlYWRvbmx5LAorKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50NjRfdCBzaXplLCB2b2lkICp2YWRkciwgYm9v bCByZWFkb25seSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWVtb3J5UmVnaW9u ICptcikKKyB7CisgICAgIGNvbnN0IFZGSU9MZWdhY3lDb250YWluZXIgKmNvbnRhaW5lciA9IFZG SU9fSU9NTVVfTEVHQUNZKGJjb250YWluZXIpOworZGlmZiAtLWdpdCBhL2h3L3ZmaW8vY29udGFp bmVyLmMgYi9ody92ZmlvL2NvbnRhaW5lci5jCitpbmRleCA5ZDY5NDM5MzcxLi40MWRlMzQzOTI0 IDEwMDY0NAorLS0tIGEvaHcvdmZpby9jb250YWluZXIuYworKysrIGIvaHcvdmZpby9jb250YWlu ZXIuYworQEAgLTc0LDcgKzc0LDcgQEAgdm9pZCB2ZmlvX2FkZHJlc3Nfc3BhY2VfaW5zZXJ0KFZG SU9BZGRyZXNzU3BhY2UgKnNwYWNlLAorIH0KKyAKKyBpbnQgdmZpb19jb250YWluZXJfZG1hX21h cChWRklPQ29udGFpbmVyICpiY29udGFpbmVyLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAg IGh3YWRkciBpb3ZhLCByYW1fYWRkcl90IHNpemUsCisrICAgICAgICAgICAgICAgICAgICAgICAg ICAgaHdhZGRyIGlvdmEsIHVpbnQ2NF90IHNpemUsCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgdm9pZCAqdmFkZHIsIGJvb2wgcmVhZG9ubHksIE1lbW9yeVJlZ2lvbiAqbXIpCisgeworICAg ICBWRklPSU9NTVVDbGFzcyAqdmlvYyA9IFZGSU9fSU9NTVVfR0VUX0NMQVNTKGJjb250YWluZXIp OworQEAgLTkzLDcgKzkzLDcgQEAgaW50IHZmaW9fY29udGFpbmVyX2RtYV9tYXAoVkZJT0NvbnRh aW5lciAqYmNvbnRhaW5lciwKKyB9CisgCisgaW50IHZmaW9fY29udGFpbmVyX2RtYV91bm1hcChW RklPQ29udGFpbmVyICpiY29udGFpbmVyLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg aHdhZGRyIGlvdmEsIHJhbV9hZGRyX3Qgc2l6ZSwKKysgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGh3YWRkciBpb3ZhLCB1aW50NjRfdCBzaXplLAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgSU9NTVVUTEJFbnRyeSAqaW90bGIsIGJvb2wgdW5tYXBfYWxsKQorIHsKKyAgICAgVkZJ T0lPTU1VQ2xhc3MgKnZpb2MgPSBWRklPX0lPTU1VX0dFVF9DTEFTUyhiY29udGFpbmVyKTsKK2Rp ZmYgLS1naXQgYS9ody92ZmlvL2Nwci1sZWdhY3kuYyBiL2h3L3ZmaW8vY3ByLWxlZ2FjeS5jCitp bmRleCBiYmY3YTBkMzVmLi4zYTFkMTI2NTU2IDEwMDY0NAorLS0tIGEvaHcvdmZpby9jcHItbGVn YWN5LmMKKysrKyBiL2h3L3ZmaW8vY3ByLWxlZ2FjeS5jCitAQCAtMzksNyArMzksNyBAQCBzdGF0 aWMgYm9vbCB2ZmlvX2RtYV91bm1hcF92YWRkcl9hbGwoVkZJT0xlZ2FjeUNvbnRhaW5lciAqY29u dGFpbmVyLAorICAqIFRoZSBpbmNvbWluZyBzdGF0ZSBpcyBjbGVhcmVkIHRoZXJlYWZ0ZXIuCisg ICovCisgc3RhdGljIGludCB2ZmlvX2xlZ2FjeV9jcHJfZG1hX21hcChjb25zdCBWRklPQ29udGFp bmVyICpiY29udGFpbmVyLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHdh ZGRyIGlvdmEsIHJhbV9hZGRyX3Qgc2l6ZSwgdm9pZCAqdmFkZHIsCisrICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBod2FkZHIgaW92YSwgdWludDY0X3Qgc2l6ZSwgdm9pZCAqdmFk ZHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIHJlYWRvbmx5LCBN ZW1vcnlSZWdpb24gKm1yKQorIHsKKyAgICAgY29uc3QgVkZJT0xlZ2FjeUNvbnRhaW5lciAqY29u dGFpbmVyID0gVkZJT19JT01NVV9MRUdBQ1koYmNvbnRhaW5lcik7CitkaWZmIC0tZ2l0IGEvaHcv dmZpby9pb21tdWZkLmMgYi9ody92ZmlvL2lvbW11ZmQuYworaW5kZXggNzZmMDgwNmVjMC4uMTBm YzA2NWQyMCAxMDA2NDQKKy0tLSBhL2h3L3ZmaW8vaW9tbXVmZC5jCisrKysgYi9ody92ZmlvL2lv bW11ZmQuYworQEAgLTM1LDcgKzM1LDcgQEAKKyAgICAgICAgICAgICBUWVBFX0hPU1RfSU9NTVVf REVWSUNFX0lPTU1VRkQgIi12ZmlvIgorIAorIHN0YXRpYyBpbnQgaW9tbXVmZF9jZGV2X21hcChj b25zdCBWRklPQ29udGFpbmVyICpiY29udGFpbmVyLCBod2FkZHIgaW92YSwKKy0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgcmFtX2FkZHJfdCBzaXplLCB2b2lkICp2YWRkciwgYm9vbCByZWFk b25seSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDY0X3Qgc2l6ZSwgdm9pZCAq dmFkZHIsIGJvb2wgcmVhZG9ubHksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1lbW9y eVJlZ2lvbiAqbXIpCisgeworICAgICBjb25zdCBWRklPSU9NTVVGRENvbnRhaW5lciAqY29udGFp bmVyID0gVkZJT19JT01NVV9JT01NVUZEKGJjb250YWluZXIpOworQEAgLTQ2LDcgKzQ2LDcgQEAg c3RhdGljIGludCBpb21tdWZkX2NkZXZfbWFwKGNvbnN0IFZGSU9Db250YWluZXIgKmJjb250YWlu ZXIsIGh3YWRkciBpb3ZhLAorIH0KKyAKKyBzdGF0aWMgaW50IGlvbW11ZmRfY2Rldl9tYXBfZmls ZShjb25zdCBWRklPQ29udGFpbmVyICpiY29udGFpbmVyLAorLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGh3YWRkciBpb3ZhLCByYW1fYWRkcl90IHNpemUsCisrICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgaHdhZGRyIGlvdmEsIHVpbnQ2NF90IHNpemUsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGZkLCB1bnNpZ25lZCBsb25nIHN0YXJ0LCBi b29sIHJlYWRvbmx5KQorIHsKKyAgICAgY29uc3QgVkZJT0lPTU1VRkRDb250YWluZXIgKmNvbnRh aW5lciA9IFZGSU9fSU9NTVVfSU9NTVVGRChiY29udGFpbmVyKTsKK0BAIC01Nyw3ICs1Nyw3IEBA IHN0YXRpYyBpbnQgaW9tbXVmZF9jZGV2X21hcF9maWxlKGNvbnN0IFZGSU9Db250YWluZXIgKmJj b250YWluZXIsCisgfQorIAorIHN0YXRpYyBpbnQgaW9tbXVmZF9jZGV2X3VubWFwKGNvbnN0IFZG SU9Db250YWluZXIgKmJjb250YWluZXIsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg aHdhZGRyIGlvdmEsIHJhbV9hZGRyX3Qgc2l6ZSwKKysgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBod2FkZHIgaW92YSwgdWludDY0X3Qgc2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBJT01NVVRMQkVudHJ5ICppb3RsYiwgYm9vbCB1bm1hcF9hbGwpCisgeworICAgICBj b25zdCBWRklPSU9NTVVGRENvbnRhaW5lciAqY29udGFpbmVyID0gVkZJT19JT01NVV9JT01NVUZE KGJjb250YWluZXIpOworZGlmZiAtLWdpdCBhL2luY2x1ZGUvaHcvdmZpby92ZmlvLWNvbnRhaW5l ci5oIGIvaW5jbHVkZS9ody92ZmlvL3ZmaW8tY29udGFpbmVyLmgKK2luZGV4IDA5M2MzNjBmMGUu LmM0YjU4ZDY2NGIgMTAwNjQ0CistLS0gYS9pbmNsdWRlL2h3L3ZmaW8vdmZpby1jb250YWluZXIu aAorKysrIGIvaW5jbHVkZS9ody92ZmlvL3ZmaW8tY29udGFpbmVyLmgKK0BAIC04MSwxMCArODEs MTAgQEAgdm9pZCB2ZmlvX2FkZHJlc3Nfc3BhY2VfaW5zZXJ0KFZGSU9BZGRyZXNzU3BhY2UgKnNw YWNlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWRklPQ29udGFpbmVyICpiY29u dGFpbmVyKTsKKyAKKyBpbnQgdmZpb19jb250YWluZXJfZG1hX21hcChWRklPQ29udGFpbmVyICpi Y29udGFpbmVyLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGh3YWRkciBpb3ZhLCByYW1f YWRkcl90IHNpemUsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgaHdhZGRyIGlvdmEsIHVp bnQ2NF90IHNpemUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqdmFkZHIsIGJv b2wgcmVhZG9ubHksIE1lbW9yeVJlZ2lvbiAqbXIpOworIGludCB2ZmlvX2NvbnRhaW5lcl9kbWFf dW5tYXAoVkZJT0NvbnRhaW5lciAqYmNvbnRhaW5lciwKKy0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGh3YWRkciBpb3ZhLCByYW1fYWRkcl90IHNpemUsCisrICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBod2FkZHIgaW92YSwgdWludDY0X3Qgc2l6ZSwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIElPTU1VVExCRW50cnkgKmlvdGxiLCBib29sIHVubWFwX2FsbCk7CisgYm9v bCB2ZmlvX2NvbnRhaW5lcl9hZGRfc2VjdGlvbl93aW5kb3coVkZJT0NvbnRhaW5lciAqYmNvbnRh aW5lciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNZW1vcnlSZWdp b25TZWN0aW9uICpzZWN0aW9uLAorQEAgLTE2Nyw3ICsxNjcsNyBAQCBzdHJ1Y3QgVkZJT0lPTU1V Q2xhc3MgeworICAgICAgKiBSZXR1cm5zIDAgdG8gaW5kaWNhdGUgc3VjY2VzcyBhbmQgLWVycm5v IG90aGVyd2lzZS4KKyAgICAgICovCisgICAgIGludCAoKmRtYV9tYXApKGNvbnN0IFZGSU9Db250 YWluZXIgKmJjb250YWluZXIsCistICAgICAgICAgICAgICAgICAgIGh3YWRkciBpb3ZhLCByYW1f YWRkcl90IHNpemUsCisrICAgICAgICAgICAgICAgICAgIGh3YWRkciBpb3ZhLCB1aW50NjRfdCBz aXplLAorICAgICAgICAgICAgICAgICAgICB2b2lkICp2YWRkciwgYm9vbCByZWFkb25seSwgTWVt b3J5UmVnaW9uICptcik7CisgICAgIC8qKgorICAgICAgKiBAZG1hX21hcF9maWxlCitAQCAtMTgy LDcgKzE4Miw3IEBAIHN0cnVjdCBWRklPSU9NTVVDbGFzcyB7CisgICAgICAqIEByZWFkb25seTog bWFwIHJlYWQgb25seSBpZiB0cnVlCisgICAgICAqLworICAgICBpbnQgKCpkbWFfbWFwX2ZpbGUp KGNvbnN0IFZGSU9Db250YWluZXIgKmJjb250YWluZXIsCistICAgICAgICAgICAgICAgICAgICAg ICAgaHdhZGRyIGlvdmEsIHJhbV9hZGRyX3Qgc2l6ZSwKKysgICAgICAgICAgICAgICAgICAgICAg ICBod2FkZHIgaW92YSwgdWludDY0X3Qgc2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBp bnQgZmQsIHVuc2lnbmVkIGxvbmcgc3RhcnQsIGJvb2wgcmVhZG9ubHkpOworICAgICAvKioKKyAg ICAgICogQGRtYV91bm1hcAorQEAgLTE5OCw3ICsxOTgsNyBAQCBzdHJ1Y3QgVkZJT0lPTU1VQ2xh c3MgeworICAgICAgKiBSZXR1cm5zIDAgdG8gaW5kaWNhdGUgc3VjY2VzcyBhbmQgLWVycm5vIG90 aGVyd2lzZS4KKyAgICAgICovCisgICAgIGludCAoKmRtYV91bm1hcCkoY29uc3QgVkZJT0NvbnRh aW5lciAqYmNvbnRhaW5lciwKKy0gICAgICAgICAgICAgICAgICAgICBod2FkZHIgaW92YSwgcmFt X2FkZHJfdCBzaXplLAorKyAgICAgICAgICAgICAgICAgICAgIGh3YWRkciBpb3ZhLCB1aW50NjRf dCBzaXplLAorICAgICAgICAgICAgICAgICAgICAgIElPTU1VVExCRW50cnkgKmlvdGxiLCBib29s IHVubWFwX2FsbCk7CisgCisgCitkaWZmIC0tZ2l0IGEvaW5jbHVkZS9ody92ZmlvL3ZmaW8tY3By LmggYi9pbmNsdWRlL2h3L3ZmaW8vdmZpby1jcHIuaAoraW5kZXggMjZlZTBjNGZlMS4uODFmNGUy NGUyMiAxMDA2NDQKKy0tLSBhL2luY2x1ZGUvaHcvdmZpby92ZmlvLWNwci5oCisrKysgYi9pbmNs dWRlL2h3L3ZmaW8vdmZpby1jcHIuaAorQEAgLTIxLDcgKzIxLDcgQEAgc3RydWN0IFZGSU9JT01N VUZEQ29udGFpbmVyOworIHN0cnVjdCBJT01NVUZEQmFja2VuZDsKKyAKKyB0eXBlZGVmIGludCAo KmRtYV9tYXBfZm4pKGNvbnN0IHN0cnVjdCBWRklPQ29udGFpbmVyICpiY29udGFpbmVyLAorLSAg ICAgICAgICAgICAgICAgICAgICAgICAgaHdhZGRyIGlvdmEsIHJhbV9hZGRyX3Qgc2l6ZSwgdm9p ZCAqdmFkZHIsCisrICAgICAgICAgICAgICAgICAgICAgICAgICBod2FkZHIgaW92YSwgdWludDY0 X3Qgc2l6ZSwgdm9pZCAqdmFkZHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIHJl YWRvbmx5LCBNZW1vcnlSZWdpb24gKm1yKTsKKyAKKyB0eXBlZGVmIHN0cnVjdCBWRklPQ29udGFp bmVyQ1BSIHsKKy0tIAorMi41Mi4wCisKCmRpZmYgLS1naXQgYS9rdm0taHctdmZpby1jb250YWlu ZXItYmFzZS5jLXJlbmFtZS1maWxlLXRvLWNvbnRhaW5lci5jLnBhdGNoIGIva3ZtLWh3LXZmaW8t Y29udGFpbmVyLWJhc2UuYy1yZW5hbWUtZmlsZS10by1jb250YWluZXIuYy5wYXRjaApuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZDZjODkzCi0tLSAvZGV2L251bGwKKysrIGIv a3ZtLWh3LXZmaW8tY29udGFpbmVyLWJhc2UuYy1yZW5hbWUtZmlsZS10by1jb250YWluZXIuYy5w YXRjaApAQCAtMCwwICsxLDUwIEBACitGcm9tIGMwMmFjOTM5MDA4Zjk2NTA3MmFlZWJhOTNjNTQw ZmNlZGJkODU0MjIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNYXJrIENhdmUtQXls YW5kIDxtYXJrLmNhdmVheWxhbmRAbnV0YW5peC5jb20+CitEYXRlOiBUaHUsIDI1IFNlcCAyMDI1 IDEyOjMxOjE0ICswMTAwCitTdWJqZWN0OiBbUEFUQ0ggMDU2LzExNl0gaHcvdmZpby9jb250YWlu ZXItYmFzZS5jOiByZW5hbWUgZmlsZSB0byBjb250YWluZXIuYworTUlNRS1WZXJzaW9uOiAxLjAK K0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zl ci1FbmNvZGluZzogOGJpdAorCitSSC1BdXRob3I6IFJvZG9sZm8gVmljayA8Tm9uZT4KK1JILU1l cmdlUmVxdWVzdDogNDg2OiBBZGQgRE1BQlVGIHN1cHBvcnQKK1JILUppcmE6IFJIRUwtMTM4NDk0 CitSSC1BY2tlZC1ieTogQ8OpZHJpYyBMZSBHb2F0ZXIgPGNsZ0ByZWRoYXQuY29tPgorUkgtQWNr ZWQtYnk6IEVyaWMgQXVnZXIgPGVyaWMuYXVnZXJAcmVkaGF0LmNvbT4KK1JILUNvbW1pdDogWzQw LzEwMF0gZGZiZDg1ZmZmYjJlODdkMTJkYzBlNDI2YzViN2UwNTRiMDJhYjZhNSAocm92aWNrMS9x ZW11LWt2bSkKKworUmVuYW1lIHRoZSBmaWxlIHRvIHJlZmxlY3QgdGhlIHByZXZpb3VzIHJlbmFt ZSBvZiBWRklPQ29udGFpbmVyQmFzZSB0bworVkZJT0NvbnRhaW5lci4KKworU2lnbmVkLW9mZi1i eTogTWFyayBDYXZlLUF5bGFuZCA8bWFyay5jYXZlYXlsYW5kQG51dGFuaXguY29tPgorUmV2aWV3 ZWQtYnk6IEPDqWRyaWMgTGUgR29hdGVyIDxjbGdAcmVkaGF0LmNvbT4KK0xpbms6IGh0dHBzOi8v bG9yZS5rZXJuZWwub3JnL3FlbXUtZGV2ZWwvMjAyNTA5MjUxMTMxNTkuMTc2MDMxNy03LW1hcmsu Y2F2ZWF5bGFuZEBudXRhbml4LmNvbQorU2lnbmVkLW9mZi1ieTogQ8OpZHJpYyBMZSBHb2F0ZXIg PGNsZ0ByZWRoYXQuY29tPgorKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgZGNjZTUxYjE5Mzg1 ZWE2NWFjNmRiMjk1MjA0NzE2YTllYjMxMWZiZikKK1NpZ25lZC1vZmYtYnk6IEVyaWMgQXVnZXIg PGVyaWMuYXVnZXJAcmVkaGF0LmNvbT4KKy0tLQorIGh3L3ZmaW8ve2NvbnRhaW5lci1iYXNlLmMg PT4gY29udGFpbmVyLmN9IHwgMAorIGh3L3ZmaW8vbWVzb24uYnVpbGQgICAgICAgICAgICAgICAg ICAgICAgIHwgMiArLQorIDIgZmlsZXMgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRp b24oLSkKKyByZW5hbWUgaHcvdmZpby97Y29udGFpbmVyLWJhc2UuYyA9PiBjb250YWluZXIuY30g KDEwMCUpCisKK2RpZmYgLS1naXQgYS9ody92ZmlvL2NvbnRhaW5lci1iYXNlLmMgYi9ody92Zmlv L2NvbnRhaW5lci5jCitzaW1pbGFyaXR5IGluZGV4IDEwMCUKK3JlbmFtZSBmcm9tIGh3L3ZmaW8v Y29udGFpbmVyLWJhc2UuYworcmVuYW1lIHRvIGh3L3ZmaW8vY29udGFpbmVyLmMKK2RpZmYgLS1n aXQgYS9ody92ZmlvL21lc29uLmJ1aWxkIGIvaHcvdmZpby9tZXNvbi5idWlsZAoraW5kZXggNjJi N2E3ZWFhYy4uODJmNjg2OThmYiAxMDA2NDQKKy0tLSBhL2h3L3ZmaW8vbWVzb24uYnVpbGQKKysr KyBiL2h3L3ZmaW8vbWVzb24uYnVpbGQKK0BAIC0zLDcgKzMsNyBAQAorIHZmaW9fc3MgPSBzcy5z b3VyY2Vfc2V0KCkKKyB2ZmlvX3NzLmFkZChmaWxlcygKKyAgICdsaXN0ZW5lci5jJywKKy0gICdj b250YWluZXItYmFzZS5jJywKKysgICdjb250YWluZXIuYycsCisgICAnY29udGFpbmVyLWxlZ2Fj eS5jJywKKyAgICdoZWxwZXJzLmMnLAorICkpCistLSAKKzIuNTIuMAorCgpkaWZmIC0tZ2l0IGEv a3ZtLWh3LXZmaW8tY29udGFpbmVyLmMtcmVuYW1lLWZpbGUtdG8tY29udGFpbmVyLWxlZ2FjeS4u cGF0Y2ggYi9rdm0taHctdmZpby1jb250YWluZXIuYy1yZW5hbWUtZmlsZS10by1jb250YWluZXIt bGVnYWN5Li5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNzdlNjQz Ci0tLSAvZGV2L251bGwKKysrIGIva3ZtLWh3LXZmaW8tY29udGFpbmVyLmMtcmVuYW1lLWZpbGUt dG8tY29udGFpbmVyLWxlZ2FjeS4ucGF0Y2gKQEAgLTAsMCArMSw1MiBAQAorRnJvbSAwMzlmN2Mw Y2ZlZWY3ZTVlNzE5NGQ3MzY1OWRhZDgyYmQxOTE5NDQzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQorRnJvbTogTWFyayBDYXZlLUF5bGFuZCA8bWFyay5jYXZlYXlsYW5kQG51dGFuaXguY29tPgor RGF0ZTogVGh1LCAyNSBTZXAgMjAyNSAxMjozMToxMyArMDEwMAorU3ViamVjdDogW1BBVENIIDA1 NS8xMTZdIGh3L3ZmaW8vY29udGFpbmVyLmM6IHJlbmFtZSBmaWxlIHRvCisgY29udGFpbmVyLWxl Z2FjeS5jCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFy c2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK1JILUF1dGhvcjog Um9kb2xmbyBWaWNrIDxOb25lPgorUkgtTWVyZ2VSZXF1ZXN0OiA0ODY6IEFkZCBETUFCVUYgc3Vw cG9ydAorUkgtSmlyYTogUkhFTC0xMzg0OTQKK1JILUFja2VkLWJ5OiBDw6lkcmljIExlIEdvYXRl ciA8Y2xnQHJlZGhhdC5jb20+CitSSC1BY2tlZC1ieTogRXJpYyBBdWdlciA8ZXJpYy5hdWdlckBy ZWRoYXQuY29tPgorUkgtQ29tbWl0OiBbMzkvMTAwXSA2MDc1ZjMxYzFlNWQ2YmJiMzExZjUzZTI3 NTc4YmEwN2RhNDA0ZTNlIChyb3ZpY2sxL3FlbXUta3ZtKQorCitUaGlzIGZpbGUgaXMgbW9zdGx5 IGNvbmNlcm5lZCB3aXRoIHRoZSBWRklPTGVnYWN5Q29udGFpbmVyIGltcGxlbWVudGF0aW9uIHNv CityZW5hbWUgaXQgdG8gcmVmbGVjdCB0aGUgcHJldmlvdXMgcmVuYW1lIG9mIFZGSU9Db250YWlu ZXIgdG8KK1ZGSU9MZWdhY3lDb250YWluZXIuCisKK1NpZ25lZC1vZmYtYnk6IE1hcmsgQ2F2ZS1B eWxhbmQgPG1hcmsuY2F2ZWF5bGFuZEBudXRhbml4LmNvbT4KK1Jldmlld2VkLWJ5OiBDw6lkcmlj IExlIEdvYXRlciA8Y2xnQHJlZGhhdC5jb20+CitMaW5rOiBodHRwczovL2xvcmUua2VybmVsLm9y Zy9xZW11LWRldmVsLzIwMjUwOTI1MTEzMTU5LjE3NjAzMTctNi1tYXJrLmNhdmVheWxhbmRAbnV0 YW5peC5jb20KK1NpZ25lZC1vZmYtYnk6IEPDqWRyaWMgTGUgR29hdGVyIDxjbGdAcmVkaGF0LmNv bT4KKyhjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IGEzYmNhZTYyYjZhMTYxZGVhNDUyMWYyNTRm MTljNWE4NTUxYzI4YWYpCitTaWduZWQtb2ZmLWJ5OiBFcmljIEF1Z2VyIDxlcmljLmF1Z2VyQHJl ZGhhdC5jb20+CistLS0KKyBody92ZmlvL3tjb250YWluZXIuYyA9PiBjb250YWluZXItbGVnYWN5 LmN9IHwgMAorIGh3L3ZmaW8vbWVzb24uYnVpbGQgICAgICAgICAgICAgICAgICAgICAgICAgfCAy ICstCisgMiBmaWxlcyBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorIHJl bmFtZSBody92ZmlvL3tjb250YWluZXIuYyA9PiBjb250YWluZXItbGVnYWN5LmN9ICgxMDAlKQor CitkaWZmIC0tZ2l0IGEvaHcvdmZpby9jb250YWluZXIuYyBiL2h3L3ZmaW8vY29udGFpbmVyLWxl Z2FjeS5jCitzaW1pbGFyaXR5IGluZGV4IDEwMCUKK3JlbmFtZSBmcm9tIGh3L3ZmaW8vY29udGFp bmVyLmMKK3JlbmFtZSB0byBody92ZmlvL2NvbnRhaW5lci1sZWdhY3kuYworZGlmZiAtLWdpdCBh L2h3L3ZmaW8vbWVzb24uYnVpbGQgYi9ody92ZmlvL21lc29uLmJ1aWxkCitpbmRleCBkM2VkM2Ni N2FjLi42MmI3YTdlYWFjIDEwMDY0NAorLS0tIGEvaHcvdmZpby9tZXNvbi5idWlsZAorKysrIGIv aHcvdmZpby9tZXNvbi5idWlsZAorQEAgLTQsNyArNCw3IEBAIHZmaW9fc3MgPSBzcy5zb3VyY2Vf c2V0KCkKKyB2ZmlvX3NzLmFkZChmaWxlcygKKyAgICdsaXN0ZW5lci5jJywKKyAgICdjb250YWlu ZXItYmFzZS5jJywKKy0gICdjb250YWluZXIuYycsCisrICAnY29udGFpbmVyLWxlZ2FjeS5jJywK KyAgICdoZWxwZXJzLmMnLAorICkpCisgdmZpb19zcy5hZGQod2hlbjogJ0NPTkZJR19QU0VSSUVT JywgaWZfdHJ1ZTogZmlsZXMoJ3NwYXByLmMnKSkKKy0tIAorMi41Mi4wCisKCmRpZmYgLS1naXQg YS9rdm0taHctdmZpby1jb250YWluZXIuYy11c2UtUU9NLWNhc3RzLXdoZXJlLWFwcHJvcHJpYXRl LnBhdGNoIGIva3ZtLWh3LXZmaW8tY29udGFpbmVyLmMtdXNlLVFPTS1jYXN0cy13aGVyZS1hcHBy b3ByaWF0ZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZTU2NjQ3 Ci0tLSAvZGV2L251bGwKKysrIGIva3ZtLWh3LXZmaW8tY29udGFpbmVyLmMtdXNlLVFPTS1jYXN0 cy13aGVyZS1hcHByb3ByaWF0ZS5wYXRjaApAQCAtMCwwICsxLDE1NyBAQAorRnJvbSBiYTQ1MDFm OGM4Nzk1NDAxODI0ZTNjMGRjNTJmZTg0N2QxNTE4NTI1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQorRnJvbTogTWFyayBDYXZlLUF5bGFuZCA8bWFyay5jYXZlYXlsYW5kQG51dGFuaXguY29tPgor RGF0ZTogVHVlLCAxNSBKdWwgMjAyNSAxMDoyNTo0NCArMDEwMAorU3ViamVjdDogW1BBVENIIDAz Mi8xMTZdIGh3L3ZmaW8vY29udGFpbmVyLmM6IHVzZSBRT00gY2FzdHMgd2hlcmUgYXBwcm9wcmlh dGUKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9 VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworUkgtQXV0aG9yOiBSb2Rv bGZvIFZpY2sgPE5vbmU+CitSSC1NZXJnZVJlcXVlc3Q6IDQ4NjogQWRkIERNQUJVRiBzdXBwb3J0 CitSSC1KaXJhOiBSSEVMLTEzODQ5NAorUkgtQWNrZWQtYnk6IEPDqWRyaWMgTGUgR29hdGVyIDxj bGdAcmVkaGF0LmNvbT4KK1JILUFja2VkLWJ5OiBFcmljIEF1Z2VyIDxlcmljLmF1Z2VyQHJlZGhh dC5jb20+CitSSC1Db21taXQ6IFsxNi8xMDBdIDNkM2IyZjU2ZTM2YWFlMGUyNGI4NGFjNzMzZGU1 YWM4MmMxMmViZjcgKHJvdmljazEvcWVtdS1rdm0pCisKK1VzZSBRT00gY2FzdHMgdG8gY29udmVy dCBiZXR3ZWVuIFZGSU9Db250YWluZXIgYW5kIFZGSU9Db250YWluZXJCYXNlIGluc3RlYWQKK29m IGFjY2Vzc2luZyBiY29udGFpbmVyIGRpcmVjdGx5LgorCitTaWduZWQtb2ZmLWJ5OiBNYXJrIENh dmUtQXlsYW5kIDxtYXJrLmNhdmVheWxhbmRAbnV0YW5peC5jb20+CitSZXZpZXdlZC1ieTogQ8Op ZHJpYyBMZSBHb2F0ZXIgPGNsZ0ByZWRoYXQuY29tPgorTGluazogaHR0cHM6Ly9sb3JlLmtlcm5l bC5vcmcvcWVtdS1kZXZlbC8yMDI1MDcxNTA5MzExMC4xMDczMTctNS1tYXJrLmNhdmVheWxhbmRA bnV0YW5peC5jb20KK1NpZ25lZC1vZmYtYnk6IEPDqWRyaWMgTGUgR29hdGVyIDxjbGdAcmVkaGF0 LmNvbT4KKyhjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDU5NDdmNjliNjM2MzliNTRmMDJkYjE3 MjdjNTU5ZjhhYWUzMmQ4NDkpCitTaWduZWQtb2ZmLWJ5OiBFcmljIEF1Z2VyIDxlcmljLmF1Z2Vy QHJlZGhhdC5jb20+CistLS0KKyBody92ZmlvL2NvbnRhaW5lci5jIHwgMzEgKysrKysrKysrKysr Ky0tLS0tLS0tLS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAxMyBpbnNlcnRpb25zKCspLCAx OCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2h3L3ZmaW8vY29udGFpbmVyLmMgYi9ody92 ZmlvL2NvbnRhaW5lci5jCitpbmRleCBjMTU1NGMxZmQxLi44NjBkMWFlYmRhIDEwMDY0NAorLS0t IGEvaHcvdmZpby9jb250YWluZXIuYworKysrIGIvaHcvdmZpby9jb250YWluZXIuYworQEAgLTg1 LDcgKzg1LDcgQEAgc3RhdGljIGludCB2ZmlvX2RtYV91bm1hcF9iaXRtYXAoY29uc3QgVkZJT0Nv bnRhaW5lciAqY29udGFpbmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGh3 YWRkciBpb3ZhLCByYW1fYWRkcl90IHNpemUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgSU9NTVVUTEJFbnRyeSAqaW90bGIpCisgeworLSAgICBjb25zdCBWRklPQ29udGFpbmVy QmFzZSAqYmNvbnRhaW5lciA9ICZjb250YWluZXItPmJjb250YWluZXI7CisrICAgIGNvbnN0IFZG SU9Db250YWluZXJCYXNlICpiY29udGFpbmVyID0gVkZJT19JT01NVShjb250YWluZXIpOworICAg ICBzdHJ1Y3QgdmZpb19pb21tdV90eXBlMV9kbWFfdW5tYXAgKnVubWFwOworICAgICBzdHJ1Y3Qg dmZpb19iaXRtYXAgKmJpdG1hcDsKKyAgICAgVkZJT0JpdG1hcCB2Ym1hcDsKK0BAIC0xMzgsOCAr MTM4LDcgQEAgc3RhdGljIGludCB2ZmlvX2xlZ2FjeV9kbWFfdW5tYXBfb25lKGNvbnN0IFZGSU9D b250YWluZXJCYXNlICpiY29udGFpbmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBod2FkZHIgaW92YSwgcmFtX2FkZHJfdCBzaXplLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBJT01NVVRMQkVudHJ5ICppb3RsYikKKyB7CistICAgIGNvbnN0 IFZGSU9Db250YWluZXIgKmNvbnRhaW5lciA9IGNvbnRhaW5lcl9vZihiY29udGFpbmVyLCBWRklP Q29udGFpbmVyLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgYmNvbnRhaW5lcik7CisrICAgIGNvbnN0IFZGSU9Db250YWluZXIgKmNvbnRhaW5lciA9 IFZGSU9fSU9NTVVfTEVHQUNZKGJjb250YWluZXIpOworICAgICBzdHJ1Y3QgdmZpb19pb21tdV90 eXBlMV9kbWFfdW5tYXAgdW5tYXAgPSB7CisgICAgICAgICAuYXJnc3ogPSBzaXplb2YodW5tYXAp LAorICAgICAgICAgLmZsYWdzID0gMCwKK0BAIC0yMjcsOCArMjI2LDcgQEAgc3RhdGljIGludCB2 ZmlvX2xlZ2FjeV9kbWFfbWFwKGNvbnN0IFZGSU9Db250YWluZXJCYXNlICpiY29udGFpbmVyLCBo d2FkZHIgaW92YSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFtX2FkZHJfdCBz aXplLCB2b2lkICp2YWRkciwgYm9vbCByZWFkb25seSwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgTWVtb3J5UmVnaW9uICptcikKKyB7CistICAgIGNvbnN0IFZGSU9Db250YWluZXIg KmNvbnRhaW5lciA9IGNvbnRhaW5lcl9vZihiY29udGFpbmVyLCBWRklPQ29udGFpbmVyLAorLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmNvbnRhaW5l cik7CisrICAgIGNvbnN0IFZGSU9Db250YWluZXIgKmNvbnRhaW5lciA9IFZGSU9fSU9NTVVfTEVH QUNZKGJjb250YWluZXIpOworICAgICBzdHJ1Y3QgdmZpb19pb21tdV90eXBlMV9kbWFfbWFwIG1h cCA9IHsKKyAgICAgICAgIC5hcmdzeiA9IHNpemVvZihtYXApLAorICAgICAgICAgLmZsYWdzID0g VkZJT19ETUFfTUFQX0ZMQUdfUkVBRCwKK0BAIC0yNjAsOCArMjU4LDcgQEAgc3RhdGljIGludAor IHZmaW9fbGVnYWN5X3NldF9kaXJ0eV9wYWdlX3RyYWNraW5nKGNvbnN0IFZGSU9Db250YWluZXJC YXNlICpiY29udGFpbmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJv b2wgc3RhcnQsIEVycm9yICoqZXJycCkKKyB7CistICAgIGNvbnN0IFZGSU9Db250YWluZXIgKmNv bnRhaW5lciA9IGNvbnRhaW5lcl9vZihiY29udGFpbmVyLCBWRklPQ29udGFpbmVyLAorLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmNvbnRhaW5lcik7 CisrICAgIGNvbnN0IFZGSU9Db250YWluZXIgKmNvbnRhaW5lciA9IFZGSU9fSU9NTVVfTEVHQUNZ KGJjb250YWluZXIpOworICAgICBpbnQgcmV0OworICAgICBzdHJ1Y3QgdmZpb19pb21tdV90eXBl MV9kaXJ0eV9iaXRtYXAgZGlydHkgPSB7CisgICAgICAgICAuYXJnc3ogPSBzaXplb2YoZGlydHkp LAorQEAgLTI4Niw4ICsyODMsNyBAQCB2ZmlvX2xlZ2FjeV9zZXRfZGlydHlfcGFnZV90cmFja2lu Zyhjb25zdCBWRklPQ29udGFpbmVyQmFzZSAqYmNvbnRhaW5lciwKKyBzdGF0aWMgaW50IHZmaW9f bGVnYWN5X3F1ZXJ5X2RpcnR5X2JpdG1hcChjb25zdCBWRklPQ29udGFpbmVyQmFzZSAqYmNvbnRh aW5lciwKKyAgICAgICAgICAgICAgICAgICAgICAgVkZJT0JpdG1hcCAqdmJtYXAsIGh3YWRkciBp b3ZhLCBod2FkZHIgc2l6ZSwgRXJyb3IgKiplcnJwKQorIHsKKy0gICAgY29uc3QgVkZJT0NvbnRh aW5lciAqY29udGFpbmVyID0gY29udGFpbmVyX29mKGJjb250YWluZXIsIFZGSU9Db250YWluZXIs CistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiY29u dGFpbmVyKTsKKysgICAgY29uc3QgVkZJT0NvbnRhaW5lciAqY29udGFpbmVyID0gVkZJT19JT01N VV9MRUdBQ1koYmNvbnRhaW5lcik7CisgICAgIHN0cnVjdCB2ZmlvX2lvbW11X3R5cGUxX2RpcnR5 X2JpdG1hcCAqZGJpdG1hcDsKKyAgICAgc3RydWN0IHZmaW9faW9tbXVfdHlwZTFfZGlydHlfYml0 bWFwX2dldCAqcmFuZ2U7CisgICAgIGludCByZXQ7CitAQCAtNTA5LDcgKzUwNSw3IEBAIHN0YXRp YyB2b2lkIHZmaW9fZ2V0X2lvbW11X2luZm9fbWlncmF0aW9uKFZGSU9Db250YWluZXIgKmNvbnRh aW5lciwKKyB7CisgICAgIHN0cnVjdCB2ZmlvX2luZm9fY2FwX2hlYWRlciAqaGRyOworICAgICBz dHJ1Y3QgdmZpb19pb21tdV90eXBlMV9pbmZvX2NhcF9taWdyYXRpb24gKmNhcF9taWc7CistICAg IFZGSU9Db250YWluZXJCYXNlICpiY29udGFpbmVyID0gJmNvbnRhaW5lci0+YmNvbnRhaW5lcjsK KysgICAgVkZJT0NvbnRhaW5lckJhc2UgKmJjb250YWluZXIgPSBWRklPX0lPTU1VKGNvbnRhaW5l cik7CisgCisgICAgIGhkciA9IHZmaW9fZ2V0X2lvbW11X2luZm9fY2FwKGluZm8sIFZGSU9fSU9N TVVfVFlQRTFfSU5GT19DQVBfTUlHUkFUSU9OKTsKKyAgICAgaWYgKCFoZHIpIHsKK0BAIC01MzIs OCArNTI4LDcgQEAgc3RhdGljIHZvaWQgdmZpb19nZXRfaW9tbXVfaW5mb19taWdyYXRpb24oVkZJ T0NvbnRhaW5lciAqY29udGFpbmVyLAorIAorIHN0YXRpYyBib29sIHZmaW9fbGVnYWN5X3NldHVw KFZGSU9Db250YWluZXJCYXNlICpiY29udGFpbmVyLCBFcnJvciAqKmVycnApCisgeworLSAgICBW RklPQ29udGFpbmVyICpjb250YWluZXIgPSBjb250YWluZXJfb2YoYmNvbnRhaW5lciwgVkZJT0Nv bnRhaW5lciwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJj b250YWluZXIpOworKyAgICBWRklPQ29udGFpbmVyICpjb250YWluZXIgPSBWRklPX0lPTU1VX0xF R0FDWShiY29udGFpbmVyKTsKKyAgICAgZ19hdXRvZnJlZSBzdHJ1Y3QgdmZpb19pb21tdV90eXBl MV9pbmZvICppbmZvID0gTlVMTDsKKyAgICAgaW50IHJldDsKKyAKK0BAIC02NDgsNyArNjQzLDcg QEAgc3RhdGljIGJvb2wgdmZpb19jb250YWluZXJfY29ubmVjdChWRklPR3JvdXAgKmdyb3VwLCBB ZGRyZXNzU3BhY2UgKmFzLAorIAorICAgICBpZiAoIWNwcl9pc19pbmNvbWluZygpKSB7CisgICAg ICAgICBRTElTVF9GT1JFQUNIKGJjb250YWluZXIsICZzcGFjZS0+Y29udGFpbmVycywgbmV4dCkg eworLSAgICAgICAgICAgIGNvbnRhaW5lciA9IGNvbnRhaW5lcl9vZihiY29udGFpbmVyLCBWRklP Q29udGFpbmVyLCBiY29udGFpbmVyKTsKKysgICAgICAgICAgICBjb250YWluZXIgPSBWRklPX0lP TU1VX0xFR0FDWShiY29udGFpbmVyKTsKKyAgICAgICAgICAgICBpZiAoIWlvY3RsKGdyb3VwLT5m ZCwgVkZJT19HUk9VUF9TRVRfQ09OVEFJTkVSLCAmY29udGFpbmVyLT5mZCkpIHsKKyAgICAgICAg ICAgICAgICAgcmV0dXJuIHZmaW9fY29udGFpbmVyX2dyb3VwX2FkZChjb250YWluZXIsIGdyb3Vw LCBlcnJwKTsKKyAgICAgICAgICAgICB9CitAQCAtNjY2LDcgKzY2MSw3IEBAIHN0YXRpYyBib29s IHZmaW9fY29udGFpbmVyX2Nvbm5lY3QoVkZJT0dyb3VwICpncm91cCwgQWRkcmVzc1NwYWNlICph cywKKyAgICAgICAgICAqIGNyZWF0ZSB0aGUgY29udGFpbmVyIHN0cnVjdCBhbmQgZ3JvdXAgbGlz dC4KKyAgICAgICAgICAqLworICAgICAgICAgUUxJU1RfRk9SRUFDSChiY29udGFpbmVyLCAmc3Bh Y2UtPmNvbnRhaW5lcnMsIG5leHQpIHsKKy0gICAgICAgICAgICBjb250YWluZXIgPSBjb250YWlu ZXJfb2YoYmNvbnRhaW5lciwgVkZJT0NvbnRhaW5lciwgYmNvbnRhaW5lcik7CisrICAgICAgICAg ICAgY29udGFpbmVyID0gVkZJT19JT01NVV9MRUdBQ1koYmNvbnRhaW5lcik7CisgCisgICAgICAg ICAgICAgaWYgKHZmaW9fY3ByX2NvbnRhaW5lcl9tYXRjaChjb250YWluZXIsIGdyb3VwLCBmZCkp IHsKKyAgICAgICAgICAgICAgICAgcmV0dXJuIHZmaW9fY29udGFpbmVyX2dyb3VwX2FkZChjb250 YWluZXIsIGdyb3VwLCBlcnJwKTsKK0BAIC02ODYsNyArNjgxLDcgQEAgc3RhdGljIGJvb2wgdmZp b19jb250YWluZXJfY29ubmVjdChWRklPR3JvdXAgKmdyb3VwLCBBZGRyZXNzU3BhY2UgKmFzLAor ICAgICAgICAgZ290byBmYWlsOworICAgICB9CisgICAgIG5ld19jb250YWluZXIgPSB0cnVlOwor LSAgICBiY29udGFpbmVyID0gJmNvbnRhaW5lci0+YmNvbnRhaW5lcjsKKysgICAgYmNvbnRhaW5l ciA9IFZGSU9fSU9NTVUoY29udGFpbmVyKTsKKyAKKyAgICAgaWYgKCF2ZmlvX2xlZ2FjeV9jcHJf cmVnaXN0ZXJfY29udGFpbmVyKGNvbnRhaW5lciwgZXJycCkpIHsKKyAgICAgICAgIGdvdG8gZmFp bDsKK0BAIC03NDksNyArNzQ0LDcgQEAgZmFpbDoKKyBzdGF0aWMgdm9pZCB2ZmlvX2NvbnRhaW5l cl9kaXNjb25uZWN0KFZGSU9Hcm91cCAqZ3JvdXApCisgeworICAgICBWRklPQ29udGFpbmVyICpj b250YWluZXIgPSBncm91cC0+Y29udGFpbmVyOworLSAgICBWRklPQ29udGFpbmVyQmFzZSAqYmNv bnRhaW5lciA9ICZjb250YWluZXItPmJjb250YWluZXI7CisrICAgIFZGSU9Db250YWluZXJCYXNl ICpiY29udGFpbmVyID0gVkZJT19JT01NVShjb250YWluZXIpOworICAgICBWRklPSU9NTVVDbGFz cyAqdmlvYyA9IFZGSU9fSU9NTVVfR0VUX0NMQVNTKGJjb250YWluZXIpOworIAorICAgICBRTElT VF9SRU1PVkUoZ3JvdXAsIGNvbnRhaW5lcl9uZXh0KTsKK0BAIC03OTUsNyArNzkwLDcgQEAgc3Rh dGljIFZGSU9Hcm91cCAqdmZpb19ncm91cF9nZXQoaW50IGdyb3VwaWQsIEFkZHJlc3NTcGFjZSAq YXMsIEVycm9yICoqZXJycCkKKyAgICAgUUxJU1RfRk9SRUFDSChncm91cCwgJnZmaW9fZ3JvdXBf bGlzdCwgbmV4dCkgeworICAgICAgICAgaWYgKGdyb3VwLT5ncm91cGlkID09IGdyb3VwaWQpIHsK KyAgICAgICAgICAgICAvKiBGb3VuZCBpdC4gIE5vdyBpcyBpdCBhbHJlYWR5IGluIHRoZSByaWdo dCBjb250ZXh0PyAqLworLSAgICAgICAgICAgIGlmIChncm91cC0+Y29udGFpbmVyLT5iY29udGFp bmVyLnNwYWNlLT5hcyA9PSBhcykgeworKyAgICAgICAgICAgIGlmIChWRklPX0lPTU1VKGdyb3Vw LT5jb250YWluZXIpLT5zcGFjZS0+YXMgPT0gYXMpIHsKKyAgICAgICAgICAgICAgICAgcmV0dXJu IGdyb3VwOworICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgIGVycm9yX3Nl dGcoZXJycCwgImdyb3VwICVkIHVzZWQgaW4gbXVsdGlwbGUgYWRkcmVzcyBzcGFjZXMiLAorQEAg LTkwOSw3ICs5MDQsNyBAQCBzdGF0aWMgYm9vbCB2ZmlvX2RldmljZV9nZXQoVkZJT0dyb3VwICpn cm91cCwgY29uc3QgY2hhciAqbmFtZSwKKyAgICAgICAgIH0KKyAgICAgfQorIAorLSAgICB2Zmlv X2RldmljZV9wcmVwYXJlKHZiYXNlZGV2LCAmZ3JvdXAtPmNvbnRhaW5lci0+YmNvbnRhaW5lciwg aW5mbyk7CisrICAgIHZmaW9fZGV2aWNlX3ByZXBhcmUodmJhc2VkZXYsIFZGSU9fSU9NTVUoZ3Jv dXAtPmNvbnRhaW5lciksIGluZm8pOworIAorICAgICB2YmFzZWRldi0+ZmQgPSBmZDsKKyAgICAg dmJhc2VkZXYtPmdyb3VwID0gZ3JvdXA7CistLSAKKzIuNTIuMAorCgpkaWZmIC0tZ2l0IGEva3Zt LWh3LXZmaW8tY3ByLWxlZ2FjeS5jLXVzZS1RT00tY2FzdHMtd2hlcmUtYXBwcm9wcmlhdGUucGF0 Y2ggYi9rdm0taHctdmZpby1jcHItbGVnYWN5LmMtdXNlLVFPTS1jYXN0cy13aGVyZS1hcHByb3By aWF0ZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MzA3OTdjCi0t LSAvZGV2L251bGwKKysrIGIva3ZtLWh3LXZmaW8tY3ByLWxlZ2FjeS5jLXVzZS1RT00tY2FzdHMt d2hlcmUtYXBwcm9wcmlhdGUucGF0Y2gKQEAgLTAsMCArMSw5MiBAQAorRnJvbSAyZTk3MWJlMWFi ZDg0M2FkYzZiMmM0NDMxOWZjYmNmZDQ0OWZiY2RjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQor RnJvbTogTWFyayBDYXZlLUF5bGFuZCA8bWFyay5jYXZlYXlsYW5kQG51dGFuaXguY29tPgorRGF0 ZTogVHVlLCAxNSBKdWwgMjAyNSAxMDoyNTo0MyArMDEwMAorU3ViamVjdDogW1BBVENIIDAzMS8x MTZdIGh3L3ZmaW8vY3ByLWxlZ2FjeS5jOiB1c2UgUU9NIGNhc3RzIHdoZXJlIGFwcHJvcHJpYXRl CitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVU Ri04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK1JILUF1dGhvcjogUm9kb2xm byBWaWNrIDxOb25lPgorUkgtTWVyZ2VSZXF1ZXN0OiA0ODY6IEFkZCBETUFCVUYgc3VwcG9ydAor UkgtSmlyYTogUkhFTC0xMzg0OTQKK1JILUFja2VkLWJ5OiBDw6lkcmljIExlIEdvYXRlciA8Y2xn QHJlZGhhdC5jb20+CitSSC1BY2tlZC1ieTogRXJpYyBBdWdlciA8ZXJpYy5hdWdlckByZWRoYXQu Y29tPgorUkgtQ29tbWl0OiBbMTUvMTAwXSAzNzA0NTBmYjkzZTdmOTVjOGM0N2JmY2U2ZGJlMzg0 MmU1Mjc4ZjE3IChyb3ZpY2sxL3FlbXUta3ZtKQorCitVc2UgUU9NIGNhc3RzIHRvIGNvbnZlcnQg YmV0d2VlbiBWRklPQ29udGFpbmVyIGFuZCBWRklPQ29udGFpbmVyQmFzZSBpbnN0ZWFkCitvZiBh Y2Nlc3NpbmcgYmNvbnRhaW5lciBkaXJlY3RseS4KKworU2lnbmVkLW9mZi1ieTogTWFyayBDYXZl LUF5bGFuZCA8bWFyay5jYXZlYXlsYW5kQG51dGFuaXguY29tPgorUmV2aWV3ZWQtYnk6IEPDqWRy aWMgTGUgR29hdGVyIDxjbGdAcmVkaGF0LmNvbT4KK1Jldmlld2VkLWJ5OiBTdGV2ZSBTaXN0YXJl IDxzdGV2ZW4uc2lzdGFyZUBvcmFjbGUuY29tPgorTGluazogaHR0cHM6Ly9sb3JlLmtlcm5lbC5v cmcvcWVtdS1kZXZlbC8yMDI1MDcxNTA5MzExMC4xMDczMTctNC1tYXJrLmNhdmVheWxhbmRAbnV0 YW5peC5jb20KK1NpZ25lZC1vZmYtYnk6IEPDqWRyaWMgTGUgR29hdGVyIDxjbGdAcmVkaGF0LmNv bT4KKyhjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDUyNTViYTM5YjE2NTM5YmQ0YjI4YTk2MWQx OTY4MTJhZjE2ODRjMDIpCitTaWduZWQtb2ZmLWJ5OiBFcmljIEF1Z2VyIDxlcmljLmF1Z2VyQHJl ZGhhdC5jb20+CistLS0KKyBody92ZmlvL2Nwci1sZWdhY3kuYyB8IDE0ICsrKysrKystLS0tLS0t CisgMSBmaWxlIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKKworZGlm ZiAtLWdpdCBhL2h3L3ZmaW8vY3ByLWxlZ2FjeS5jIGIvaHcvdmZpby9jcHItbGVnYWN5LmMKK2lu ZGV4IDU1M2IyMDNlOWIuLjhmNDM3MTk0ZmEgMTAwNjQ0CistLS0gYS9ody92ZmlvL2Nwci1sZWdh Y3kuYworKysrIGIvaHcvdmZpby9jcHItbGVnYWN5LmMKK0BAIC00MSw4ICs0MSw4IEBAIHN0YXRp YyBpbnQgdmZpb19sZWdhY3lfY3ByX2RtYV9tYXAoY29uc3QgVkZJT0NvbnRhaW5lckJhc2UgKmJj b250YWluZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBod2FkZHIgaW92 YSwgcmFtX2FkZHJfdCBzaXplLCB2b2lkICp2YWRkciwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGJvb2wgcmVhZG9ubHksIE1lbW9yeVJlZ2lvbiAqbXIpCisgeworLSAgICBj b25zdCBWRklPQ29udGFpbmVyICpjb250YWluZXIgPSBjb250YWluZXJfb2YoYmNvbnRhaW5lciwg VkZJT0NvbnRhaW5lciwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGJjb250YWluZXIpOworKyAgICBjb25zdCBWRklPQ29udGFpbmVyICpjb250YWlu ZXIgPSBWRklPX0lPTU1VX0xFR0FDWShiY29udGFpbmVyKTsKKysKKyAgICAgc3RydWN0IHZmaW9f aW9tbXVfdHlwZTFfZG1hX21hcCBtYXAgPSB7CisgICAgICAgICAuYXJnc3ogPSBzaXplb2YobWFw KSwKKyAgICAgICAgIC5mbGFncyA9IFZGSU9fRE1BX01BUF9GTEFHX1ZBRERSLAorQEAgLTY1LDcg KzY1LDcgQEAgc3RhdGljIHZvaWQgdmZpb19yZWdpb25fcmVtYXAoTWVtb3J5TGlzdGVuZXIgKmxp c3RlbmVyLAorIHsKKyAgICAgVkZJT0NvbnRhaW5lciAqY29udGFpbmVyID0gY29udGFpbmVyX29m KGxpc3RlbmVyLCBWRklPQ29udGFpbmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgY3ByLnJlbWFwX2xpc3RlbmVyKTsKKy0gICAgdmZpb19jb250YWluZXJf cmVnaW9uX2FkZCgmY29udGFpbmVyLT5iY29udGFpbmVyLCBzZWN0aW9uLCB0cnVlKTsKKysgICAg dmZpb19jb250YWluZXJfcmVnaW9uX2FkZChWRklPX0lPTU1VKGNvbnRhaW5lciksIHNlY3Rpb24s IHRydWUpOworIH0KKyAKKyBzdGF0aWMgYm9vbCB2ZmlvX2Nwcl9zdXBwb3J0ZWQoVkZJT0NvbnRh aW5lciAqY29udGFpbmVyLCBFcnJvciAqKmVycnApCitAQCAtOTgsNyArOTgsNyBAQCBzdGF0aWMg aW50IHZmaW9fY29udGFpbmVyX3ByZV9zYXZlKHZvaWQgKm9wYXF1ZSkKKyBzdGF0aWMgaW50IHZm aW9fY29udGFpbmVyX3Bvc3RfbG9hZCh2b2lkICpvcGFxdWUsIGludCB2ZXJzaW9uX2lkKQorIHsK KyAgICAgVkZJT0NvbnRhaW5lciAqY29udGFpbmVyID0gb3BhcXVlOworLSAgICBWRklPQ29udGFp bmVyQmFzZSAqYmNvbnRhaW5lciA9ICZjb250YWluZXItPmJjb250YWluZXI7CisrICAgIFZGSU9D b250YWluZXJCYXNlICpiY29udGFpbmVyID0gVkZJT19JT01NVShjb250YWluZXIpOworICAgICBW RklPSU9NTVVDbGFzcyAqdmlvYyA9IFZGSU9fSU9NTVVfR0VUX0NMQVNTKGJjb250YWluZXIpOwor ICAgICBkbWFfbWFwX2ZuIHNhdmVkX2RtYV9tYXAgPSB2aW9jLT5kbWFfbWFwOworICAgICBFcnJv ciAqbG9jYWxfZXJyID0gTlVMTDsKK0BAIC0xMzUsNyArMTM1LDcgQEAgc3RhdGljIGludCB2Zmlv X2Nwcl9mYWlsX25vdGlmaWVyKE5vdGlmaWVyV2l0aFJldHVybiAqbm90aWZpZXIsCisgeworICAg ICBWRklPQ29udGFpbmVyICpjb250YWluZXIgPQorICAgICAgICAgY29udGFpbmVyX29mKG5vdGlm aWVyLCBWRklPQ29udGFpbmVyLCBjcHIudHJhbnNmZXJfbm90aWZpZXIpOworLSAgICBWRklPQ29u dGFpbmVyQmFzZSAqYmNvbnRhaW5lciA9ICZjb250YWluZXItPmJjb250YWluZXI7CisrICAgIFZG SU9Db250YWluZXJCYXNlICpiY29udGFpbmVyID0gVkZJT19JT01NVShjb250YWluZXIpOworIAor ICAgICBpZiAoZS0+dHlwZSAhPSBNSUdfRVZFTlRfUFJFQ09QWV9GQUlMRUQpIHsKKyAgICAgICAg IHJldHVybiAwOworQEAgLTE2Nyw3ICsxNjcsNyBAQCBzdGF0aWMgaW50IHZmaW9fY3ByX2ZhaWxf bm90aWZpZXIoTm90aWZpZXJXaXRoUmV0dXJuICpub3RpZmllciwKKyAKKyBib29sIHZmaW9fbGVn YWN5X2Nwcl9yZWdpc3Rlcl9jb250YWluZXIoVkZJT0NvbnRhaW5lciAqY29udGFpbmVyLCBFcnJv ciAqKmVycnApCisgeworLSAgICBWRklPQ29udGFpbmVyQmFzZSAqYmNvbnRhaW5lciA9ICZjb250 YWluZXItPmJjb250YWluZXI7CisrICAgIFZGSU9Db250YWluZXJCYXNlICpiY29udGFpbmVyID0g VkZJT19JT01NVShjb250YWluZXIpOworICAgICBFcnJvciAqKmNwcl9ibG9ja2VyID0gJmNvbnRh aW5lci0+Y3ByLmJsb2NrZXI7CisgCisgICAgIG1pZ3JhdGlvbl9hZGRfbm90aWZpZXJfbW9kZSgm YmNvbnRhaW5lci0+Y3ByX3JlYm9vdF9ub3RpZmllciwKK0BAIC0xOTEsNyArMTkxLDcgQEAgYm9v bCB2ZmlvX2xlZ2FjeV9jcHJfcmVnaXN0ZXJfY29udGFpbmVyKFZGSU9Db250YWluZXIgKmNvbnRh aW5lciwgRXJyb3IgKiplcnJwKQorIAorIHZvaWQgdmZpb19sZWdhY3lfY3ByX3VucmVnaXN0ZXJf Y29udGFpbmVyKFZGSU9Db250YWluZXIgKmNvbnRhaW5lcikKKyB7CistICAgIFZGSU9Db250YWlu ZXJCYXNlICpiY29udGFpbmVyID0gJmNvbnRhaW5lci0+YmNvbnRhaW5lcjsKKysgICAgVkZJT0Nv bnRhaW5lckJhc2UgKmJjb250YWluZXIgPSBWRklPX0lPTU1VKGNvbnRhaW5lcik7CisgCisgICAg IG1pZ3JhdGlvbl9yZW1vdmVfbm90aWZpZXIoJmJjb250YWluZXItPmNwcl9yZWJvb3Rfbm90aWZp ZXIpOworICAgICBtaWdyYXRlX2RlbF9ibG9ja2VyKCZjb250YWluZXItPmNwci5ibG9ja2VyKTsK Ky0tIAorMi41Mi4wCisKCmRpZmYgLS1naXQgYS9rdm0taHctdmZpby1saXN0ZW5lci1JbmNsdWRl LW1pc3NpbmctZXhlYy10YXJnZXRfcGFnZS5oLS5wYXRjaCBiL2t2bS1ody12ZmlvLWxpc3RlbmVy LUluY2x1ZGUtbWlzc2luZy1leGVjLXRhcmdldF9wYWdlLmgtLnBhdGNoCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ2YzEzYTMKLS0tIC9kZXYvbnVsbAorKysgYi9rdm0taHct dmZpby1saXN0ZW5lci1JbmNsdWRlLW1pc3NpbmctZXhlYy10YXJnZXRfcGFnZS5oLS5wYXRjaApA QCAtMCwwICsxLDUwIEBACitGcm9tIDQxMWYzMTUyOGE5YWUyYTA0OTE0NjM0YjViZjQxMmNjYzQw ZTQ5ZjcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/UGhpbGlwcGU9 MjBNYXRoaWV1LURhdWQ9QzM9QTk/PSA8cGhpbG1kQGxpbmFyby5vcmc+CitEYXRlOiBXZWQsIDEg T2N0IDIwMjUgMDk6NTY6NDEgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSCAwOTYvMTE2XSBody92Zmlv L2xpc3RlbmVyOiBJbmNsdWRlIG1pc3NpbmcKKyAnZXhlYy90YXJnZXRfcGFnZS5oJyBoZWFkZXIK K01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRG LTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworUkgtQXV0aG9yOiBSb2RvbGZv IFZpY2sgPE5vbmU+CitSSC1NZXJnZVJlcXVlc3Q6IDQ4NjogQWRkIERNQUJVRiBzdXBwb3J0CitS SC1KaXJhOiBSSEVMLTEzODQ5NAorUkgtQWNrZWQtYnk6IEPDqWRyaWMgTGUgR29hdGVyIDxjbGdA cmVkaGF0LmNvbT4KK1JILUFja2VkLWJ5OiBFcmljIEF1Z2VyIDxlcmljLmF1Z2VyQHJlZGhhdC5j b20+CitSSC1Db21taXQ6IFs4MC8xMDBdIDMzNDNlZmRkM2EzNjlkZDVkY2Q3YWUyMTAyZmY2OGZj NTVlODhmMjIgKHJvdmljazEvcWVtdS1rdm0pCisKK1RoZSAiZXhlYy90YXJnZXRfcGFnZS5oIiBo ZWFkZXIgaXMgaW5kaXJlY3RseSBwdWxsZWQgZnJvbQorInN5c3RlbS9yYW1fYWRkci5oIi4gSW5j bHVkZSBpdCBleHBsaWNpdGx5LCBpbiBvcmRlciB0bworYXZvaWQgdW5yZWxhdGVkIGlzc3VlcyB3 aGVuIHJlZmFjdG9yaW5nICJzeXN0ZW0vcmFtX2FkZHIuaCI6CisKKyAgaHcvdmZpby9saXN0ZW5l ci5jOiBJbiBmdW5jdGlvbiDigJh2ZmlvX3JhbV9kaXNjYXJkX3JlZ2lzdGVyX2xpc3RlbmVy4oCZ OgorICBody92ZmlvL2xpc3RlbmVyLmM6MjU4OjI4OiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRp b24gb2YgZnVuY3Rpb24g4oCYcWVtdV90YXJnZXRfcGFnZV9zaXpl4oCZOyBkaWQgeW91IG1lYW4g 4oCYcWVtdV9yYW1fcGFnZXNpemXigJk/CisgICAgMjU4IHwgICAgIGludCB0YXJnZXRfcGFnZV9z aXplID0gcWVtdV90YXJnZXRfcGFnZV9zaXplKCk7CisgICAgICAgIHwgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+CisKK1NpZ25lZC1vZmYtYnk6IFBoaWxp cHBlIE1hdGhpZXUtRGF1ZMOpIDxwaGlsbWRAbGluYXJvLm9yZz4KK1Jldmlld2VkLWJ5OiBSaWNo YXJkIEhlbmRlcnNvbiA8cmljaGFyZC5oZW5kZXJzb25AbGluYXJvLm9yZz4KK1Jldmlld2VkLWJ5 OiBDw6lkcmljIExlIEdvYXRlciA8Y2xnQHJlZGhhdC5jb20+CitNZXNzYWdlLUlkOiA8MjAyNTEw MDExNzU0NDguMTg5MzMtNS1waGlsbWRAbGluYXJvLm9yZz4KKyhjaGVycnkgcGlja2VkIGZyb20g Y29tbWl0IGVkZDFmOTFkMzhkZmMzNDFjYWMwMjUyOWZjZDMxNTYwOWU5NTk3NjMpCitTaWduZWQt b2ZmLWJ5OiBFcmljIEF1Z2VyIDxlcmljLmF1Z2VyQHJlZGhhdC5jb20+CistLS0KKyBody92Zmlv L2xpc3RlbmVyLmMgfCAxICsKKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKKworZGlm ZiAtLWdpdCBhL2h3L3ZmaW8vbGlzdGVuZXIuYyBiL2h3L3ZmaW8vbGlzdGVuZXIuYworaW5kZXgg YTJjMTlhM2NlYy4uYjVjZWZjOTM5NSAxMDA2NDQKKy0tLSBhL2h3L3ZmaW8vbGlzdGVuZXIuYwor KysrIGIvaHcvdmZpby9saXN0ZW5lci5jCitAQCAtMjUsNiArMjUsNyBAQAorICNlbmRpZgorICNp bmNsdWRlIDxsaW51eC92ZmlvLmg+CisgCisrI2luY2x1ZGUgImV4ZWMvdGFyZ2V0X3BhZ2UuaCIK KyAjaW5jbHVkZSAiaHcvdmZpby92ZmlvLWRldmljZS5oIgorICNpbmNsdWRlICJody92ZmlvL3Bj aS5oIgorICNpbmNsdWRlICJzeXN0ZW0vYWRkcmVzcy1zcGFjZXMuaCIKKy0tIAorMi41Mi4wCisK CmRpZmYgLS1naXQgYS9rdm0taHctdmZpby1yZWdpb24tQ3JlYXRlLWRtYWJ1Zi1mb3ItUENJLUJB Ui1wZXItcmVnaW9uLnBhdGNoIGIva3ZtLWh3LXZmaW8tcmVnaW9uLUNyZWF0ZS1kbWFidWYtZm9y LVBDSS1CQVItcGVyLXJlZ2lvbi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwLi44OGJjMjY2Ci0tLSAvZGV2L251bGwKKysrIGIva3ZtLWh3LXZmaW8tcmVnaW9uLUNyZWF0 ZS1kbWFidWYtZm9yLVBDSS1CQVItcGVyLXJlZ2lvbi5wYXRjaApAQCAtMCwwICsxLDE1MiBAQAor RnJvbSBiNDE0YjhmNWNhZTQzYjg5Yzc5MTViYTEwZjBhM2M5NzBhYWNkMWZkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQorRnJvbTogTmljb2xpbiBDaGVuIDxuaWNvbGluY0BudmlkaWEuY29tPgor RGF0ZTogV2VkLCAyMSBKYW4gMjAyNiAxMTo0MToxMSArMDAwMAorU3ViamVjdDogW1BBVENIIDEx Ni8xMTZdIGh3L3ZmaW8vcmVnaW9uOiBDcmVhdGUgZG1hYnVmIGZvciBQQ0kgQkFSIHBlciByZWdp b24KK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9 VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworUkgtQXV0aG9yOiBSb2Rv bGZvIFZpY2sgPE5vbmU+CitSSC1NZXJnZVJlcXVlc3Q6IDQ4NjogQWRkIERNQUJVRiBzdXBwb3J0 CitSSC1KaXJhOiBSSEVMLTEzODQ5NAorUkgtQWNrZWQtYnk6IEPDqWRyaWMgTGUgR29hdGVyIDxj bGdAcmVkaGF0LmNvbT4KK1JILUFja2VkLWJ5OiBFcmljIEF1Z2VyIDxlcmljLmF1Z2VyQHJlZGhh dC5jb20+CitSSC1Db21taXQ6IFsxMDAvMTAwXSA2YmU4NDk2MDJkNjRlMzhmN2NjYjNmM2Y4OWYz M2RhZTgwNGFlNDk0IChyb3ZpY2sxL3FlbXUta3ZtKQorCitMaW51eCBub3cgcHJvdmlkZXMgYSBW RklPIGRtYWJ1ZiBleHBvcnRlciB0byBleHBvc2UgUENJIEJBUiBtZW1vcnkgZm9yIFAyUAordXNl IGNhc2VzLiBDcmVhdGUgYSBkbWFidWYgZm9yIGVhY2ggbWFwcGVkIEJBUiByZWdpb24gYWZ0ZXIg dGhlIG1tYXAgaXMgc2V0Cit1cCwgYW5kIHN0b3JlIHRoZSByZXR1cm5lZCBmZCBpbiB0aGUgcmVn aW9u4oCZcyBSQU1CbG9jay4gVGhpcyBhbGxvd3MgUUVNVSB0bworcGFzcyB0aGUgZmQgdG8gZG1h X21hcF9maWxlKCksIGVuYWJsaW5nIGlvbW11ZmQgdG8gaW1wb3J0IHRoZSBkbWFidWYgYW5kIG1h cAordGhlIEJBUiBjb3JyZWN0bHkgaW4gdGhlIGhvc3QgSU9NTVUgcGFnZSB0YWJsZS4KKworSWYg dGhlIGtlcm5lbCBsYWNrcyBzdXBwb3J0IG9yIGRtYWJ1ZiBzZXR1cCBmYWlscywgUUVNVSBza2lw cyB0aGUgc2V0dXAKK2FuZCBjb250aW51ZXMgd2l0aCBub3JtYWwgbW1hcCBoYW5kbGluZy4KKwor VGVzdGVkLWJ5OiBOaWNvbGluIENoZW4gPG5pY29saW5jQG52aWRpYS5jb20+CitSZXZpZXdlZC1i eTogWmhlbnpob25nIER1YW4gPHpoZW56aG9uZy5kdWFuQGludGVsLmNvbT4KK1Jldmlld2VkLWJ5 OiBDw6lkcmljIExlIEdvYXRlciA8Y2xnQHJlZGhhdC5jb20+CitTaWduZWQtb2ZmLWJ5OiBOaWNv bGluIENoZW4gPG5pY29saW5jQG52aWRpYS5jb20+CitTaWduZWQtb2ZmLWJ5OiBTaGFtZWVyIEtv bG90aHVtIDxza29sb3RodW10aG9AbnZpZGlhLmNvbT4KK1Jldmlld2VkLWJ5OiBFcmljIEF1Z2Vy IDxlcmljLmF1Z2VyQHJlZGhhdC5jb20+CitUZXN0ZWQtYnk6IEVyaWMgQXVnZXIgPGVyaWMuYXVn ZXJAcmVkaGF0LmNvbT4KK1Jldmlld2VkLWJ5OiBNaWNoYWVsIFMuIFRzaXJraW4gPG1zdEByZWRo YXQuY29tPgorTGluazogaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvcWVtdS1kZXZlbC8yMDI2MDEy MTExNDExMS4zNDA0NS00LXNrb2xvdGh1bXRob0BudmlkaWEuY29tCitTaWduZWQtb2ZmLWJ5OiBD w6lkcmljIExlIEdvYXRlciA8Y2xnQHJlZGhhdC5jb20+CisoY2hlcnJ5IHBpY2tlZCBmcm9tIGNv bW1pdCA4Y2ZhZjIyNjY4YzdhOWVkNzlmOGI4ZjA5MTBhMmY2OWI0Y2ZhYWU2KQorU2lnbmVkLW9m Zi1ieTogQ8OpZHJpYyBMZSBHb2F0ZXIgPGNsZ0ByZWRoYXQuY29tPgorLS0tCisgaHcvdmZpby9y ZWdpb24uYyAgICAgfCA2NSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrLQorIGh3L3ZmaW8vdHJhY2UtZXZlbnRzIHwgIDEgKworIDIgZmlsZXMgY2hhbmdlZCwgNjUg aW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvaHcvdmZpby9yZWdp b24uYyBiL2h3L3ZmaW8vcmVnaW9uLmMKK2luZGV4IGIxNjVhYjBiOTMuLjFkZWFlZjEyZmQgMTAw NjQ0CistLS0gYS9ody92ZmlvL3JlZ2lvbi5jCisrKysgYi9ody92ZmlvL3JlZ2lvbi5jCitAQCAt MjksNiArMjksNyBAQAorICNpbmNsdWRlICJxZW11L2Vycm9yLXJlcG9ydC5oIgorICNpbmNsdWRl ICJxZW11L3VuaXRzLmgiCisgI2luY2x1ZGUgIm1vbml0b3IvbW9uaXRvci5oIgorKyNpbmNsdWRl ICJzeXN0ZW0vcmFtYmxvY2suaCIKKyAjaW5jbHVkZSAidmZpby1oZWxwZXJzLmgiCisgCisgLyoK K0BAIC0yMzgsMTMgKzIzOSw3MSBAQCBzdGF0aWMgdm9pZCB2ZmlvX3N1YnJlZ2lvbl91bm1hcChW RklPUmVnaW9uICpyZWdpb24sIGludCBpbmRleCkKKyAgICAgcmVnaW9uLT5tbWFwc1tpbmRleF0u bW1hcCA9IE5VTEw7CisgfQorIAorK3N0YXRpYyBib29sIHZmaW9fcmVnaW9uX2NyZWF0ZV9kbWFf YnVmKFZGSU9SZWdpb24gKnJlZ2lvbiwgRXJyb3IgKiplcnJwKQorK3sKKysgICAgZ19hdXRvZnJl ZSBzdHJ1Y3QgdmZpb19kZXZpY2VfZmVhdHVyZSAqZmVhdHVyZSA9IE5VTEw7CisrICAgIFZGSU9E ZXZpY2UgKnZiYXNlZGV2ID0gcmVnaW9uLT52YmFzZWRldjsKKysgICAgc3RydWN0IHZmaW9fZGV2 aWNlX2ZlYXR1cmVfZG1hX2J1ZiAqZG1hX2J1ZjsKKysgICAgc2l6ZV90IHRvdGFsX3NpemU7Cisr ICAgIGludCBpLCByZXQ7CisrCisrICAgIHRvdGFsX3NpemUgPSBzaXplb2YoKmZlYXR1cmUpICsg c2l6ZW9mKCpkbWFfYnVmKSArCisrICAgICAgICAgICAgICAgICBzaXplb2Yoc3RydWN0IHZmaW9f cmVnaW9uX2RtYV9yYW5nZSkgKiByZWdpb24tPm5yX21tYXBzOworKyAgICBmZWF0dXJlID0gZ19t YWxsb2MwKHRvdGFsX3NpemUpOworKyAgICAqZmVhdHVyZSA9IChzdHJ1Y3QgdmZpb19kZXZpY2Vf ZmVhdHVyZSkgeworKyAgICAgICAgLmFyZ3N6ID0gdG90YWxfc2l6ZSwKKysgICAgICAgIC5mbGFn cyA9IFZGSU9fREVWSUNFX0ZFQVRVUkVfR0VUIHwgVkZJT19ERVZJQ0VfRkVBVFVSRV9ETUFfQlVG LAorKyAgICB9OworKworKyAgICBkbWFfYnVmID0gKHZvaWQgKilmZWF0dXJlLT5kYXRhOworKyAg ICAqZG1hX2J1ZiA9IChzdHJ1Y3QgdmZpb19kZXZpY2VfZmVhdHVyZV9kbWFfYnVmKSB7CisrICAg ICAgICAucmVnaW9uX2luZGV4ID0gcmVnaW9uLT5uciwKKysgICAgICAgIC5vcGVuX2ZsYWdzID0g T19SRFdSLAorKyAgICAgICAgLm5yX3JhbmdlcyA9IHJlZ2lvbi0+bnJfbW1hcHMsCisrICAgIH07 CisrCisrICAgIGZvciAoaSA9IDA7IGkgPCByZWdpb24tPm5yX21tYXBzOyBpKyspIHsKKysgICAg ICAgIGRtYV9idWYtPmRtYV9yYW5nZXNbaV0ub2Zmc2V0ID0gcmVnaW9uLT5tbWFwc1tpXS5vZmZz ZXQ7CisrICAgICAgICBkbWFfYnVmLT5kbWFfcmFuZ2VzW2ldLmxlbmd0aCA9IHJlZ2lvbi0+bW1h cHNbaV0uc2l6ZTsKKysgICAgfQorKworKyAgICByZXQgPSB2ZmlvX2RldmljZV9nZXRfZmVhdHVy ZSh2YmFzZWRldiwgZmVhdHVyZSk7CisrICAgIGlmIChyZXQgPCAwKSB7CisrICAgICAgICBpZiAo cmV0ID09IC1FTk9UVFkpIHsKKysgICAgICAgICAgICB3YXJuX3JlcG9ydF9vbmNlKCJWRklPIGRt YS1idWYgbm90IHN1cHBvcnRlZCBpbiBrZXJuZWw6ICIKKysgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICJQQ0kgQkFSIElPTU1VIG1hcHBpbmdzIG1heSBmYWlsIik7CisrICAgICAgICAgICAg cmV0dXJuIHRydWU7CisrICAgICAgICB9CisrICAgICAgICAvKiBQMlAgRE1BIG9yIGV4cG9zaW5n IGRldmljZSBtZW1vcnkgdXNlIGNhc2VzIGFyZSBub3Qgc3VwcG9ydGVkLiAqLworKyAgICAgICAg ZXJyb3Jfc2V0Z19lcnJubyhlcnJwLCAtcmV0LCAiJXM6IGZhaWxlZCB0byBjcmVhdGUgZG1hLWJ1 ZjogIgorKyAgICAgICAgICAgICAgICAgICAgICAgICAiUENJIEJBUiBJT01NVSBtYXBwaW5ncyBt YXkgZmFpbCIsCisrICAgICAgICAgICAgICAgICAgICAgICAgIG1lbW9yeV9yZWdpb25fbmFtZShy ZWdpb24tPm1lbSkpOworKyAgICAgICAgcmV0dXJuIGZhbHNlOworKyAgICB9CisrCisrICAgIC8q IEFzc2lnbiB0aGUgZG1hYnVmIGZkIHRvIGFzc29jaWF0ZWQgUkFNQmxvY2sgKi8KKysgICAgZm9y IChpID0gMDsgaSA8IHJlZ2lvbi0+bnJfbW1hcHM7IGkrKykgeworKyAgICAgICAgTWVtb3J5UmVn aW9uICptciA9ICZyZWdpb24tPm1tYXBzW2ldLm1lbTsKKysgICAgICAgIFJBTUJsb2NrICpyYW1f YmxvY2sgPSBtci0+cmFtX2Jsb2NrOworKworKyAgICAgICAgcmFtX2Jsb2NrLT5mZCA9IHJldDsK KysgICAgICAgIHJhbV9ibG9jay0+ZmRfb2Zmc2V0ID0gcmVnaW9uLT5tbWFwc1tpXS5vZmZzZXQ7 CisrICAgICAgICB0cmFjZV92ZmlvX3JlZ2lvbl9kbWFidWYocmVnaW9uLT52YmFzZWRldi0+bmFt ZSwgcmV0LCByZWdpb24tPm5yLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1l bW9yeV9yZWdpb25fbmFtZShyZWdpb24tPm1lbSksCisrICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgcmVnaW9uLT5tbWFwc1tpXS5vZmZzZXQsCisrICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgcmVnaW9uLT5tbWFwc1tpXS5zaXplKTsKKysgICAgfQorKyAgICByZXR1cm4g dHJ1ZTsKKyt9CisrCisgaW50IHZmaW9fcmVnaW9uX21tYXAoVkZJT1JlZ2lvbiAqcmVnaW9uKQor IHsKKyAgICAgaW50IGksIHJldCwgcHJvdCA9IDA7CisrICAgIEVycm9yICpsb2NhbF9lcnIgPSBO VUxMOworICAgICBjaGFyICpuYW1lOworICAgICBpbnQgZmQ7CisgCistICAgIGlmICghcmVnaW9u LT5tZW0pIHsKKysgICAgaWYgKCFyZWdpb24tPm1lbSB8fCAhcmVnaW9uLT5ucl9tbWFwcykgewor ICAgICAgICAgcmV0dXJuIDA7CisgICAgIH0KKyAKK0BAIC0zMDUsNiArMzY0LDEwIEBAIGludCB2 ZmlvX3JlZ2lvbl9tbWFwKFZGSU9SZWdpb24gKnJlZ2lvbikKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgcmVnaW9uLT5tbWFwc1tpXS5zaXplIC0gMSk7CisgICAgIH0KKyAKKysgICAg aWYgKCF2ZmlvX3JlZ2lvbl9jcmVhdGVfZG1hX2J1ZihyZWdpb24sICZsb2NhbF9lcnIpKSB7Cisr ICAgICAgICBlcnJvcl9yZXBvcnRfZXJyKGxvY2FsX2Vycik7CisrICAgIH0KKysKKyAgICAgcmV0 dXJuIDA7CisgCisgbm9fbW1hcDoKK2RpZmYgLS1naXQgYS9ody92ZmlvL3RyYWNlLWV2ZW50cyBi L2h3L3ZmaW8vdHJhY2UtZXZlbnRzCitpbmRleCAxZTg5NTQ0OGNkLi41OTJhMDM0OWQ0IDEwMDY0 NAorLS0tIGEvaHcvdmZpby90cmFjZS1ldmVudHMKKysrKyBiL2h3L3ZmaW8vdHJhY2UtZXZlbnRz CitAQCAtMTE3LDYgKzExNyw3IEBAIHZmaW9fZGV2aWNlX3B1dChpbnQgZmQpICJjbG9zZSB2ZGV2 LT5mZD0lZCIKKyB2ZmlvX3JlZ2lvbl93cml0ZShjb25zdCBjaGFyICpuYW1lLCBpbnQgaW5kZXgs IHVpbnQ2NF90IGFkZHIsIHVpbnQ2NF90IGRhdGEsIHVuc2lnbmVkIHNpemUpICIgKCVzOnJlZ2lv biVkKzB4JSJQUkl4NjQiLCAweCUiUFJJeDY0ICIsICVkKSIKKyB2ZmlvX3JlZ2lvbl9yZWFkKGNo YXIgKm5hbWUsIGludCBpbmRleCwgdWludDY0X3QgYWRkciwgdW5zaWduZWQgc2l6ZSwgdWludDY0 X3QgZGF0YSkgIiAoJXM6cmVnaW9uJWQrMHglIlBSSXg2NCIsICVkKSA9IDB4JSJQUkl4NjQKKyB2 ZmlvX3JlZ2lvbl9zZXR1cChjb25zdCBjaGFyICpkZXYsIGludCBpbmRleCwgY29uc3QgY2hhciAq bmFtZSwgdW5zaWduZWQgbG9uZyBmbGFncywgdW5zaWduZWQgbG9uZyBvZmZzZXQsIHVuc2lnbmVk IGxvbmcgc2l6ZSkgIkRldmljZSAlcywgcmVnaW9uICVkIFwiJXNcIiwgZmxhZ3M6IDB4JWx4LCBv ZmZzZXQ6IDB4JWx4LCBzaXplOiAweCVseCIKKyt2ZmlvX3JlZ2lvbl9kbWFidWYoY29uc3QgY2hh ciAqZGV2LCBpbnQgZmQsIGludCBpbmRleCwgIGNvbnN0IGNoYXIgKm5hbWUsIHVuc2lnbmVkIGxv bmcgb2Zmc2V0LCB1bnNpZ25lZCBsb25nIHNpemUpICJEZXZpY2UgJXMsIGRtYWJ1ZiBmZCAlZCBy ZWdpb24gJWQgXCIlc1wiLCBvZmZzZXQ6IDB4JWx4LCBzaXplOiAweCVseCIKKyB2ZmlvX3JlZ2lv bl9tbWFwX2ZhdWx0KGNvbnN0IGNoYXIgKm5hbWUsIGludCBpbmRleCwgdW5zaWduZWQgbG9uZyBv ZmZzZXQsIHVuc2lnbmVkIGxvbmcgc2l6ZSwgaW50IGZhdWx0KSAiUmVnaW9uICVzIG1tYXBzWyVk XSwgWzB4JWx4IC0gMHglbHhdLCBmYXVsdDogJWQiCisgdmZpb19yZWdpb25fbW1hcChjb25zdCBj aGFyICpuYW1lLCB1bnNpZ25lZCBsb25nIG9mZnNldCwgdW5zaWduZWQgbG9uZyBlbmQpICJSZWdp b24gJXMgWzB4JWx4IC0gMHglbHhdIgorIHZmaW9fcmVnaW9uX2V4aXQoY29uc3QgY2hhciAqbmFt ZSwgaW50IGluZGV4KSAiRGV2aWNlICVzLCByZWdpb24gJWQiCistLSAKKzIuNTIuMAorCgpkaWZm IC0tZ2l0IGEva3ZtLWh3LXZmaW8tdHlwZXMuaC1yZW5hbWUtVFlQRV9WRklPX1BDSV9CQVNFLXRv LVRZUEVfVkYucGF0Y2ggYi9rdm0taHctdmZpby10eXBlcy5oLXJlbmFtZS1UWVBFX1ZGSU9fUENJ X0JBU0UtdG8tVFlQRV9WRi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw Li5mYWVlY2MxCi0tLSAvZGV2L251bGwKKysrIGIva3ZtLWh3LXZmaW8tdHlwZXMuaC1yZW5hbWUt VFlQRV9WRklPX1BDSV9CQVNFLXRvLVRZUEVfVkYucGF0Y2gKQEAgLTAsMCArMSwzMzcgQEAKK0Zy b20gZWE3NDllNWZlNWMzMzM3YWYyNTU2MGI1YzM2NDc2YzYxMWE2NDIwYSBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKK0Zyb206IE1hcmsgQ2F2ZS1BeWxhbmQgPG1hcmsuY2F2ZWF5bGFuZEBudXRh bml4LmNvbT4KK0RhdGU6IFRodSwgMjUgU2VwIDIwMjUgMTI6MzE6MjQgKzAxMDAKK1N1YmplY3Q6 IFtQQVRDSCAwNjcvMTE2XSBody92ZmlvL3R5cGVzLmg6IHJlbmFtZSBUWVBFX1ZGSU9fUENJX0JB U0UgdG8KKyBUWVBFX1ZGSU9fUENJX0RFVklDRQorTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQt VHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGlu ZzogOGJpdAorCitSSC1BdXRob3I6IFJvZG9sZm8gVmljayA8Tm9uZT4KK1JILU1lcmdlUmVxdWVz dDogNDg2OiBBZGQgRE1BQlVGIHN1cHBvcnQKK1JILUppcmE6IFJIRUwtMTM4NDk0CitSSC1BY2tl ZC1ieTogQ8OpZHJpYyBMZSBHb2F0ZXIgPGNsZ0ByZWRoYXQuY29tPgorUkgtQWNrZWQtYnk6IEVy aWMgQXVnZXIgPGVyaWMuYXVnZXJAcmVkaGF0LmNvbT4KK1JILUNvbW1pdDogWzUxLzEwMF0gNDY5 MGQyNDM5OGM3MTY5ZDM5ZDgyNTQwMTJmYWFmODU3NmJiMTBlOSAocm92aWNrMS9xZW11LWt2bSkK KworVGhpcyBicmluZ3MgdGhlIFFPTSB0eXBlIG5hbWUgaW4gbGluZSB3aXRoIHRoZSB1bmRlcmx5 aW5nIFZGSU9QQ0lEZXZpY2Ugc3RydWN0dXJlLgorCitTaWduZWQtb2ZmLWJ5OiBNYXJrIENhdmUt QXlsYW5kIDxtYXJrLmNhdmVheWxhbmRAbnV0YW5peC5jb20+CitSZXZpZXdlZC1ieTogQ8OpZHJp YyBMZSBHb2F0ZXIgPGNsZ0ByZWRoYXQuY29tPgorTGluazogaHR0cHM6Ly9sb3JlLmtlcm5lbC5v cmcvcWVtdS1kZXZlbC8yMDI1MDkyNTExMzE1OS4xNzYwMzE3LTE3LW1hcmsuY2F2ZWF5bGFuZEBu dXRhbml4LmNvbQorU2lnbmVkLW9mZi1ieTogQ8OpZHJpYyBMZSBHb2F0ZXIgPGNsZ0ByZWRoYXQu Y29tPgorKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgYWYyYThiZmIzY2QzOGNjZWIzOWExNTJm ZjMzYzdkYWE0YzgxYzUwNikKK1NpZ25lZC1vZmYtYnk6IEVyaWMgQXVnZXIgPGVyaWMuYXVnZXJA cmVkaGF0LmNvbT4KKy0tLQorIGh3L3MzOTB4L3MzOTAtcGNpLXZmaW8uYyB8IDE0ICsrKysrKyst LS0tLS0tCisgaHcvdmZpby11c2VyL3BjaS5jICAgICAgIHwgMTMgKysrKysrKy0tLS0tLQorIGh3 L3ZmaW8vZGV2aWNlLmMgICAgICAgICB8ICAyICstCisgaHcvdmZpby9wY2kuYyAgICAgICAgICAg IHwgMjggKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLQorIGh3L3ZmaW8vcGNpLmggICAgICAg ICAgICB8ICAyICstCisgaHcvdmZpby90eXBlcy5oICAgICAgICAgIHwgIDQgKystLQorIDYgZmls ZXMgY2hhbmdlZCwgMzIgaW5zZXJ0aW9ucygrKSwgMzEgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1n aXQgYS9ody9zMzkweC9zMzkwLXBjaS12ZmlvLmMgYi9ody9zMzkweC9zMzkwLXBjaS12ZmlvLmMK K2luZGV4IDc3NjA3ODBhZmYuLjllMzEwMjlkN2EgMTAwNjQ0CistLS0gYS9ody9zMzkweC9zMzkw LXBjaS12ZmlvLmMKKysrKyBiL2h3L3MzOTB4L3MzOTAtcGNpLXZmaW8uYworQEAgLTYyLDcgKzYy LDcgQEAgUzM5MFBDSURNQUNvdW50ICpzMzkwX3BjaV9zdGFydF9kbWFfY291bnQoUzM5MHBjaVN0 YXRlICpzLAorIHsKKyAgICAgUzM5MFBDSURNQUNvdW50ICpjbnQ7CisgICAgIHVpbnQzMl90IGF2 YWlsOworLSAgICBWRklPUENJRGV2aWNlICp2cGRldiA9IFZGSU9fUENJX0JBU0UocGJkZXYtPnBk ZXYpOworKyAgICBWRklPUENJRGV2aWNlICp2cGRldiA9IFZGSU9fUENJX0RFVklDRShwYmRldi0+ cGRldik7CisgICAgIGludCBpZDsKKyAKKyAgICAgYXNzZXJ0KHZwZGV2KTsKK0BAIC0xMDgsNyAr MTA4LDcgQEAgc3RhdGljIHZvaWQgczM5MF9wY2lfcmVhZF9iYXNlKFMzOTBQQ0lCdXNEZXZpY2Ug KnBiZGV2LAorIHsKKyAgICAgc3RydWN0IHZmaW9faW5mb19jYXBfaGVhZGVyICpoZHI7CisgICAg IHN0cnVjdCB2ZmlvX2RldmljZV9pbmZvX2NhcF96cGNpX2Jhc2UgKmNhcDsKKy0gICAgVkZJT1BD SURldmljZSAqdnBjaSA9IFZGSU9fUENJX0JBU0UocGJkZXYtPnBkZXYpOworKyAgICBWRklPUENJ RGV2aWNlICp2cGNpID0gVkZJT19QQ0lfREVWSUNFKHBiZGV2LT5wZGV2KTsKKyAgICAgdWludDY0 X3QgdmZpb19zaXplOworIAorICAgICBoZHIgPSB2ZmlvX2dldF9kZXZpY2VfaW5mb19jYXAoaW5m bywgVkZJT19ERVZJQ0VfSU5GT19DQVBfWlBDSV9CQVNFKTsKK0BAIC0xNjIsNyArMTYyLDcgQEAg c3RhdGljIGJvb2wgZ2V0X2hvc3RfZmgoUzM5MFBDSUJ1c0RldmljZSAqcGJkZXYsIHN0cnVjdCB2 ZmlvX2RldmljZV9pbmZvICppbmZvLAorIHsKKyAgICAgc3RydWN0IHZmaW9faW5mb19jYXBfaGVh ZGVyICpoZHI7CisgICAgIHN0cnVjdCB2ZmlvX2RldmljZV9pbmZvX2NhcF96cGNpX2Jhc2UgKmNh cDsKKy0gICAgVkZJT1BDSURldmljZSAqdnBjaSA9IFZGSU9fUENJX0JBU0UocGJkZXYtPnBkZXYp OworKyAgICBWRklPUENJRGV2aWNlICp2cGNpID0gVkZJT19QQ0lfREVWSUNFKHBiZGV2LT5wZGV2 KTsKKyAKKyAgICAgaGRyID0gdmZpb19nZXRfZGV2aWNlX2luZm9fY2FwKGluZm8sIFZGSU9fREVW SUNFX0lORk9fQ0FQX1pQQ0lfQkFTRSk7CisgCitAQCAtMTg1LDcgKzE4NSw3IEBAIHN0YXRpYyB2 b2lkIHMzOTBfcGNpX3JlYWRfZ3JvdXAoUzM5MFBDSUJ1c0RldmljZSAqcGJkZXYsCisgICAgIHN0 cnVjdCB2ZmlvX2RldmljZV9pbmZvX2NhcF96cGNpX2dyb3VwICpjYXA7CisgICAgIFMzOTBwY2lT dGF0ZSAqcyA9IHMzOTBfZ2V0X3BoYigpOworICAgICBDbHBSc3BRdWVyeVBjaUdycCAqcmVzZ3Jw OworLSAgICBWRklPUENJRGV2aWNlICp2cGNpID0gVkZJT19QQ0lfQkFTRShwYmRldi0+cGRldik7 CisrICAgIFZGSU9QQ0lEZXZpY2UgKnZwY2kgPSBWRklPX1BDSV9ERVZJQ0UocGJkZXYtPnBkZXYp OworICAgICB1aW50OF90IHN0YXJ0X2dpZCA9IHBiZGV2LT56cGNpX2ZuLnBmZ2lkOworIAorICAg ICBoZHIgPSB2ZmlvX2dldF9kZXZpY2VfaW5mb19jYXAoaW5mbywgVkZJT19ERVZJQ0VfSU5GT19D QVBfWlBDSV9HUk9VUCk7CitAQCAtMjY0LDcgKzI2NCw3IEBAIHN0YXRpYyB2b2lkIHMzOTBfcGNp X3JlYWRfdXRpbChTMzkwUENJQnVzRGV2aWNlICpwYmRldiwKKyB7CisgICAgIHN0cnVjdCB2Zmlv X2luZm9fY2FwX2hlYWRlciAqaGRyOworICAgICBzdHJ1Y3QgdmZpb19kZXZpY2VfaW5mb19jYXBf enBjaV91dGlsICpjYXA7CistICAgIFZGSU9QQ0lEZXZpY2UgKnZwY2kgPSBWRklPX1BDSV9CQVNF KHBiZGV2LT5wZGV2KTsKKysgICAgVkZJT1BDSURldmljZSAqdnBjaSA9IFZGSU9fUENJX0RFVklD RShwYmRldi0+cGRldik7CisgCisgICAgIGhkciA9IHZmaW9fZ2V0X2RldmljZV9pbmZvX2NhcChp bmZvLCBWRklPX0RFVklDRV9JTkZPX0NBUF9aUENJX1VUSUwpOworIAorQEAgLTI5MSw3ICsyOTEs NyBAQCBzdGF0aWMgdm9pZCBzMzkwX3BjaV9yZWFkX3BmaXAoUzM5MFBDSUJ1c0RldmljZSAqcGJk ZXYsCisgeworICAgICBzdHJ1Y3QgdmZpb19pbmZvX2NhcF9oZWFkZXIgKmhkcjsKKyAgICAgc3Ry dWN0IHZmaW9fZGV2aWNlX2luZm9fY2FwX3pwY2lfcGZpcCAqY2FwOworLSAgICBWRklPUENJRGV2 aWNlICp2cGNpID0gVkZJT19QQ0lfQkFTRShwYmRldi0+cGRldik7CisrICAgIFZGSU9QQ0lEZXZp Y2UgKnZwY2kgPSBWRklPX1BDSV9ERVZJQ0UocGJkZXYtPnBkZXYpOworIAorICAgICBoZHIgPSB2 ZmlvX2dldF9kZXZpY2VfaW5mb19jYXAoaW5mbywgVkZJT19ERVZJQ0VfSU5GT19DQVBfWlBDSV9Q RklQKTsKKyAKK0BAIC0zMTQsNyArMzE0LDcgQEAgc3RhdGljIHZvaWQgczM5MF9wY2lfcmVhZF9w ZmlwKFMzOTBQQ0lCdXNEZXZpY2UgKnBiZGV2LAorIAorIHN0YXRpYyBzdHJ1Y3QgdmZpb19kZXZp Y2VfaW5mbyAqZ2V0X2RldmljZV9pbmZvKFMzOTBQQ0lCdXNEZXZpY2UgKnBiZGV2KQorIHsKKy0g ICAgVkZJT1BDSURldmljZSAqdmZpb19wY2kgPSBWRklPX1BDSV9CQVNFKHBiZGV2LT5wZGV2KTsK KysgICAgVkZJT1BDSURldmljZSAqdmZpb19wY2kgPSBWRklPX1BDSV9ERVZJQ0UocGJkZXYtPnBk ZXYpOworIAorICAgICByZXR1cm4gdmZpb19nZXRfZGV2aWNlX2luZm8odmZpb19wY2ktPnZiYXNl ZGV2LmZkKTsKKyB9CitkaWZmIC0tZ2l0IGEvaHcvdmZpby11c2VyL3BjaS5jIGIvaHcvdmZpby11 c2VyL3BjaS5jCitpbmRleCBlMmMzMDk3ODRmLi5lZmNlYWU2OWRlIDEwMDY0NAorLS0tIGEvaHcv dmZpby11c2VyL3BjaS5jCisrKysgYi9ody92ZmlvLXVzZXIvcGNpLmMKK0BAIC0yMzQsOSArMjM0 LDEwIEBAIHN0YXRpYyB2b2lkIHZmaW9fdXNlcl9wY2lfcmVhbGl6ZShQQ0lEZXZpY2UgKnBkZXYs IEVycm9yICoqZXJycCkKKyB7CisgICAgIEVSUlBfR1VBUkQoKTsKKyAgICAgVkZJT1VzZXJQQ0lE ZXZpY2UgKnVkZXYgPSBWRklPX1VTRVJfUENJKHBkZXYpOworLSAgICBWRklPUENJRGV2aWNlICp2 ZGV2ID0gVkZJT19QQ0lfQkFTRShwZGV2KTsKKysgICAgVkZJT1BDSURldmljZSAqdmRldiA9IFZG SU9fUENJX0RFVklDRShwZGV2KTsKKyAgICAgVkZJT0RldmljZSAqdmJhc2VkZXYgPSAmdmRldi0+ dmJhc2VkZXY7CisgICAgIGNvbnN0IGNoYXIgKnNvY2tfbmFtZTsKKysKKyAgICAgQWRkcmVzc1Nw YWNlICphczsKKyAgICAgU29ja2V0QWRkcmVzcyBhZGRyOworICAgICBWRklPVXNlclByb3h5ICpw cm94eTsKK0BAIC0zNDYsNyArMzQ3LDcgQEAgZXJyb3I6Cisgc3RhdGljIHZvaWQgdmZpb191c2Vy X2luc3RhbmNlX2luaXQoT2JqZWN0ICpvYmopCisgeworICAgICBQQ0lEZXZpY2UgKnBjaV9kZXYg PSBQQ0lfREVWSUNFKG9iaik7CistICAgIFZGSU9QQ0lEZXZpY2UgKnZkZXYgPSBWRklPX1BDSV9C QVNFKG9iaik7CisrICAgIFZGSU9QQ0lEZXZpY2UgKnZkZXYgPSBWRklPX1BDSV9ERVZJQ0Uob2Jq KTsKKyAgICAgVkZJT0RldmljZSAqdmJhc2VkZXYgPSAmdmRldi0+dmJhc2VkZXY7CisgCisgICAg IGRldmljZV9hZGRfYm9vdGluZGV4X3Byb3BlcnR5KG9iaiwgJnZkZXYtPmJvb3RpbmRleCwKK0BA IC0zNzEsNyArMzcyLDcgQEAgc3RhdGljIHZvaWQgdmZpb191c2VyX2luc3RhbmNlX2luaXQoT2Jq ZWN0ICpvYmopCisgCisgc3RhdGljIHZvaWQgdmZpb191c2VyX2luc3RhbmNlX2ZpbmFsaXplKE9i amVjdCAqb2JqKQorIHsKKy0gICAgVkZJT1BDSURldmljZSAqdmRldiA9IFZGSU9fUENJX0JBU0Uo b2JqKTsKKysgICAgVkZJT1BDSURldmljZSAqdmRldiA9IFZGSU9fUENJX0RFVklDRShvYmopOwor ICAgICBWRklPRGV2aWNlICp2YmFzZWRldiA9ICZ2ZGV2LT52YmFzZWRldjsKKyAKKyAgICAgaWYg KHZkZXYtPm1zaXggIT0gTlVMTCkgeworQEAgLTM4Nyw3ICszODgsNyBAQCBzdGF0aWMgdm9pZCB2 ZmlvX3VzZXJfaW5zdGFuY2VfZmluYWxpemUoT2JqZWN0ICpvYmopCisgCisgc3RhdGljIHZvaWQg dmZpb191c2VyX3BjaV9yZXNldChEZXZpY2VTdGF0ZSAqZGV2KQorIHsKKy0gICAgVkZJT1BDSURl dmljZSAqdmRldiA9IFZGSU9fUENJX0JBU0UoZGV2KTsKKysgICAgVkZJT1BDSURldmljZSAqdmRl diA9IFZGSU9fUENJX0RFVklDRShkZXYpOworICAgICBWRklPRGV2aWNlICp2YmFzZWRldiA9ICZ2 ZGV2LT52YmFzZWRldjsKKyAKKyAgICAgdmZpb19wY2lfcHJlX3Jlc2V0KHZkZXYpOworQEAgLTQy MSw3ICs0MjIsNyBAQCBzdGF0aWMgdm9pZCB2ZmlvX3VzZXJfcGNpX3NldF9zb2NrZXQoT2JqZWN0 ICpvYmosIFZpc2l0b3IgKnYsIGNvbnN0IGNoYXIgKm5hbWUsCisgICAgIFZGSU9Vc2VyUENJRGV2 aWNlICp1ZGV2ID0gVkZJT19VU0VSX1BDSShvYmopOworICAgICBib29sIHN1Y2Nlc3M7CisgCist ICAgIGlmIChWRklPX1BDSV9CQVNFKHVkZXYpLT52YmFzZWRldi5wcm94eSkgeworKyAgICBpZiAo VkZJT19QQ0lfREVWSUNFKHVkZXYpLT52YmFzZWRldi5wcm94eSkgeworICAgICAgICAgZXJyb3Jf c2V0ZyhlcnJwLCAiUHJveHkgaXMgY29ubmVjdGVkIik7CisgICAgICAgICByZXR1cm47CisgICAg IH0KK0BAIC00NjQsNyArNDY1LDcgQEAgc3RhdGljIHZvaWQgdmZpb191c2VyX3BjaV9kZXZfY2xh c3NfaW5pdChPYmplY3RDbGFzcyAqa2xhc3MsIGNvbnN0IHZvaWQgKmRhdGEpCisgCisgc3RhdGlj IGNvbnN0IFR5cGVJbmZvIHZmaW9fdXNlcl9wY2lfZGV2X2luZm8gPSB7CisgICAgIC5uYW1lID0g VFlQRV9WRklPX1VTRVJfUENJLAorLSAgICAucGFyZW50ID0gVFlQRV9WRklPX1BDSV9CQVNFLAor KyAgICAucGFyZW50ID0gVFlQRV9WRklPX1BDSV9ERVZJQ0UsCisgICAgIC5pbnN0YW5jZV9zaXpl ID0gc2l6ZW9mKFZGSU9Vc2VyUENJRGV2aWNlKSwKKyAgICAgLmNsYXNzX2luaXQgPSB2ZmlvX3Vz ZXJfcGNpX2Rldl9jbGFzc19pbml0LAorICAgICAuaW5zdGFuY2VfaW5pdCA9IHZmaW9fdXNlcl9p bnN0YW5jZV9pbml0LAorZGlmZiAtLWdpdCBhL2h3L3ZmaW8vZGV2aWNlLmMgYi9ody92ZmlvL2Rl dmljZS5jCitpbmRleCA5MzFhOTQ5YzA4Li44YjYzZTc2NWFjIDEwMDY0NAorLS0tIGEvaHcvdmZp by9kZXZpY2UuYworKysrIGIvaHcvdmZpby9kZXZpY2UuYworQEAgLTQzNCw3ICs0MzQsNyBAQCBi b29sIHZmaW9fZGV2aWNlX2hpb2RfY3JlYXRlX2FuZF9yZWFsaXplKFZGSU9EZXZpY2UgKnZiYXNl ZGV2LAorIFZGSU9EZXZpY2UgKnZmaW9fZ2V0X3ZmaW9fZGV2aWNlKE9iamVjdCAqb2JqKQorIHsK KyAgICAgaWYgKG9iamVjdF9keW5hbWljX2Nhc3Qob2JqLCBUWVBFX1ZGSU9fUENJKSkgeworLSAg ICAgICAgcmV0dXJuICZWRklPX1BDSV9CQVNFKG9iaiktPnZiYXNlZGV2OworKyAgICAgICAgcmV0 dXJuICZWRklPX1BDSV9ERVZJQ0Uob2JqKS0+dmJhc2VkZXY7CisgICAgIH0gZWxzZSB7CisgICAg ICAgICByZXR1cm4gTlVMTDsKKyAgICAgfQorZGlmZiAtLWdpdCBhL2h3L3ZmaW8vcGNpLmMgYi9o dy92ZmlvL3BjaS5jCitpbmRleCBmZDhkOGY3ZTMyLi45MzcyODNiY2M2IDEwMDY0NAorLS0tIGEv aHcvdmZpby9wY2kuYworKysrIGIvaHcvdmZpby9wY2kuYworQEAgLTMwOCw3ICszMDgsNyBAQCBz dGF0aWMgdm9pZCB2ZmlvX2ludHhfdXBkYXRlKFZGSU9QQ0lEZXZpY2UgKnZkZXYsIFBDSUlOVHhS b3V0ZSAqcm91dGUpCisgCisgc3RhdGljIHZvaWQgdmZpb19pbnR4X3JvdXRpbmdfbm90aWZpZXIo UENJRGV2aWNlICpwZGV2KQorIHsKKy0gICAgVkZJT1BDSURldmljZSAqdmRldiA9IFZGSU9fUENJ X0JBU0UocGRldik7CisrICAgIFZGSU9QQ0lEZXZpY2UgKnZkZXYgPSBWRklPX1BDSV9ERVZJQ0Uo cGRldik7CisgICAgIFBDSUlOVHhSb3V0ZSByb3V0ZTsKKyAKKyAgICAgaWYgKHZkZXYtPmludGVy cnVwdCAhPSBWRklPX0lOVF9JTlR4KSB7CitAQCAtNjYzLDcgKzY2Myw3IEBAIHZvaWQgdmZpb19w Y2lfdmVjdG9yX2luaXQoVkZJT1BDSURldmljZSAqdmRldiwgaW50IG5yKQorIHN0YXRpYyBpbnQg dmZpb19tc2l4X3ZlY3Rvcl9kb191c2UoUENJRGV2aWNlICpwZGV2LCB1bnNpZ25lZCBpbnQgbnIs CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNU0lNZXNzYWdlICptc2csIElP SGFuZGxlciAqaGFuZGxlcikKKyB7CistICAgIFZGSU9QQ0lEZXZpY2UgKnZkZXYgPSBWRklPX1BD SV9CQVNFKHBkZXYpOworKyAgICBWRklPUENJRGV2aWNlICp2ZGV2ID0gVkZJT19QQ0lfREVWSUNF KHBkZXYpOworICAgICBWRklPTVNJVmVjdG9yICp2ZWN0b3I7CisgICAgIGludCByZXQ7CisgICAg IGJvb2wgcmVzaXppbmcgPSAhISh2ZGV2LT5ucl92ZWN0b3JzIDwgbnIgKyAxKTsKK0BAIC03NTgs NyArNzU4LDcgQEAgc3RhdGljIGludCB2ZmlvX21zaXhfdmVjdG9yX3VzZShQQ0lEZXZpY2UgKnBk ZXYsCisgCisgc3RhdGljIHZvaWQgdmZpb19tc2l4X3ZlY3Rvcl9yZWxlYXNlKFBDSURldmljZSAq cGRldiwgdW5zaWduZWQgaW50IG5yKQorIHsKKy0gICAgVkZJT1BDSURldmljZSAqdmRldiA9IFZG SU9fUENJX0JBU0UocGRldik7CisrICAgIFZGSU9QQ0lEZXZpY2UgKnZkZXYgPSBWRklPX1BDSV9E RVZJQ0UocGRldik7CisgICAgIFZGSU9NU0lWZWN0b3IgKnZlY3RvciA9ICZ2ZGV2LT5tc2lfdmVj dG9yc1tucl07CisgCisgICAgIHRyYWNlX3ZmaW9fbXNpeF92ZWN0b3JfcmVsZWFzZSh2ZGV2LT52 YmFzZWRldi5uYW1lLCBucik7CitAQCAtMTM0OSw3ICsxMzQ5LDcgQEAgc3RhdGljIGNvbnN0IE1l bW9yeVJlZ2lvbk9wcyB2ZmlvX3ZnYV9vcHMgPSB7CisgICovCisgc3RhdGljIHZvaWQgdmZpb19z dWJfcGFnZV9iYXJfdXBkYXRlX21hcHBpbmcoUENJRGV2aWNlICpwZGV2LCBpbnQgYmFyKQorIHsK Ky0gICAgVkZJT1BDSURldmljZSAqdmRldiA9IFZGSU9fUENJX0JBU0UocGRldik7CisrICAgIFZG SU9QQ0lEZXZpY2UgKnZkZXYgPSBWRklPX1BDSV9ERVZJQ0UocGRldik7CisgICAgIFZGSU9SZWdp b24gKnJlZ2lvbiA9ICZ2ZGV2LT5iYXJzW2Jhcl0ucmVnaW9uOworICAgICBNZW1vcnlSZWdpb24g Km1tYXBfbXIsICpyZWdpb25fbXIsICpiYXNlX21yOworICAgICBQQ0lJT1JlZ2lvbiAqcjsKK0BA IC0xMzk1LDcgKzEzOTUsNyBAQCBzdGF0aWMgdm9pZCB2ZmlvX3N1Yl9wYWdlX2Jhcl91cGRhdGVf bWFwcGluZyhQQ0lEZXZpY2UgKnBkZXYsIGludCBiYXIpCisgICovCisgdWludDMyX3QgdmZpb19w Y2lfcmVhZF9jb25maWcoUENJRGV2aWNlICpwZGV2LCB1aW50MzJfdCBhZGRyLCBpbnQgbGVuKQor IHsKKy0gICAgVkZJT1BDSURldmljZSAqdmRldiA9IFZGSU9fUENJX0JBU0UocGRldik7CisrICAg IFZGSU9QQ0lEZXZpY2UgKnZkZXYgPSBWRklPX1BDSV9ERVZJQ0UocGRldik7CisgICAgIFZGSU9E ZXZpY2UgKnZiYXNlZGV2ID0gJnZkZXYtPnZiYXNlZGV2OworICAgICB1aW50MzJfdCBlbXVfYml0 cyA9IDAsIGVtdV92YWwgPSAwLCBwaHlzX3ZhbCA9IDAsIHZhbDsKKyAKK0BAIC0xNDI5LDcgKzE0 MjksNyBAQCB1aW50MzJfdCB2ZmlvX3BjaV9yZWFkX2NvbmZpZyhQQ0lEZXZpY2UgKnBkZXYsIHVp bnQzMl90IGFkZHIsIGludCBsZW4pCisgdm9pZCB2ZmlvX3BjaV93cml0ZV9jb25maWcoUENJRGV2 aWNlICpwZGV2LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGFkZHIsIHVp bnQzMl90IHZhbCwgaW50IGxlbikKKyB7CistICAgIFZGSU9QQ0lEZXZpY2UgKnZkZXYgPSBWRklP X1BDSV9CQVNFKHBkZXYpOworKyAgICBWRklPUENJRGV2aWNlICp2ZGV2ID0gVkZJT19QQ0lfREVW SUNFKHBkZXYpOworICAgICBWRklPRGV2aWNlICp2YmFzZWRldiA9ICZ2ZGV2LT52YmFzZWRldjsK KyAgICAgdWludDMyX3QgdmFsX2xlID0gY3B1X3RvX2xlMzIodmFsKTsKKyAgICAgaW50IHJldDsK K0BAIC0zMzk1LDcgKzMzOTUsNyBAQCBib29sIHZmaW9fcGNpX2ludGVycnVwdF9zZXR1cChWRklP UENJRGV2aWNlICp2ZGV2LCBFcnJvciAqKmVycnApCisgc3RhdGljIHZvaWQgdmZpb19wY2lfcmVh bGl6ZShQQ0lEZXZpY2UgKnBkZXYsIEVycm9yICoqZXJycCkKKyB7CisgICAgIEVSUlBfR1VBUkQo KTsKKy0gICAgVkZJT1BDSURldmljZSAqdmRldiA9IFZGSU9fUENJX0JBU0UocGRldik7CisrICAg IFZGSU9QQ0lEZXZpY2UgKnZkZXYgPSBWRklPX1BDSV9ERVZJQ0UocGRldik7CisgICAgIFZGSU9E ZXZpY2UgKnZiYXNlZGV2ID0gJnZkZXYtPnZiYXNlZGV2OworICAgICBpbnQgaTsKKyAgICAgY2hh ciB1dWlkW1VVSURfU1RSX0xFTl07CitAQCAtMzU3MCwxNCArMzU3MCwxNCBAQCBlcnJvcjoKKyAK KyBzdGF0aWMgdm9pZCB2ZmlvX3BjaV9maW5hbGl6ZShPYmplY3QgKm9iaikKKyB7CistICAgIFZG SU9QQ0lEZXZpY2UgKnZkZXYgPSBWRklPX1BDSV9CQVNFKG9iaik7CisrICAgIFZGSU9QQ0lEZXZp Y2UgKnZkZXYgPSBWRklPX1BDSV9ERVZJQ0Uob2JqKTsKKyAKKyAgICAgdmZpb19wY2lfcHV0X2Rl dmljZSh2ZGV2KTsKKyB9CisgCisgc3RhdGljIHZvaWQgdmZpb19leGl0Zm4oUENJRGV2aWNlICpw ZGV2KQorIHsKKy0gICAgVkZJT1BDSURldmljZSAqdmRldiA9IFZGSU9fUENJX0JBU0UocGRldik7 CisrICAgIFZGSU9QQ0lEZXZpY2UgKnZkZXYgPSBWRklPX1BDSV9ERVZJQ0UocGRldik7CisgICAg IFZGSU9EZXZpY2UgKnZiYXNlZGV2ID0gJnZkZXYtPnZiYXNlZGV2OworIAorICAgICB2ZmlvX3Vu cmVnaXN0ZXJfcmVxX25vdGlmaWVyKHZkZXYpOworQEAgLTM2MDEsNyArMzYwMSw3IEBAIHN0YXRp YyB2b2lkIHZmaW9fZXhpdGZuKFBDSURldmljZSAqcGRldikKKyAKKyBzdGF0aWMgdm9pZCB2Zmlv X3BjaV9yZXNldChEZXZpY2VTdGF0ZSAqZGV2KQorIHsKKy0gICAgVkZJT1BDSURldmljZSAqdmRl diA9IFZGSU9fUENJX0JBU0UoZGV2KTsKKysgICAgVkZJT1BDSURldmljZSAqdmRldiA9IFZGSU9f UENJX0RFVklDRShkZXYpOworIAorICAgICAvKiBEbyBub3QgcmVzZXQgdGhlIGRldmljZSBkdXJp bmcgcWVtdV9zeXN0ZW1fcmVzZXQgcHJpb3IgdG8gY3ByIGxvYWQgKi8KKyAgICAgaWYgKGNwcl9p c19pbmNvbWluZygpKSB7CitAQCAtMzY0Niw3ICszNjQ2LDcgQEAgcG9zdF9yZXNldDoKKyBzdGF0 aWMgdm9pZCB2ZmlvX3BjaV9pbml0KE9iamVjdCAqb2JqKQorIHsKKyAgICAgUENJRGV2aWNlICpw Y2lfZGV2ID0gUENJX0RFVklDRShvYmopOworLSAgICBWRklPUENJRGV2aWNlICp2ZGV2ID0gVkZJ T19QQ0lfQkFTRShvYmopOworKyAgICBWRklPUENJRGV2aWNlICp2ZGV2ID0gVkZJT19QQ0lfREVW SUNFKG9iaik7CisgICAgIFZGSU9EZXZpY2UgKnZiYXNlZGV2ID0gJnZkZXYtPnZiYXNlZGV2Owor IAorICAgICBkZXZpY2VfYWRkX2Jvb3RpbmRleF9wcm9wZXJ0eShvYmosICZ2ZGV2LT5ib290aW5k ZXgsCitAQCAtMzY4Nyw3ICszNjg3LDcgQEAgc3RhdGljIHZvaWQgdmZpb19wY2lfYmFzZV9kZXZf Y2xhc3NfaW5pdChPYmplY3RDbGFzcyAqa2xhc3MsIGNvbnN0IHZvaWQgKmRhdGEpCisgfQorIAor IHN0YXRpYyBjb25zdCBUeXBlSW5mbyB2ZmlvX3BjaV9iYXNlX2Rldl9pbmZvID0geworLSAgICAu bmFtZSA9IFRZUEVfVkZJT19QQ0lfQkFTRSwKKysgICAgLm5hbWUgPSBUWVBFX1ZGSU9fUENJX0RF VklDRSwKKyAgICAgLnBhcmVudCA9IFRZUEVfUENJX0RFVklDRSwKKyAgICAgLmluc3RhbmNlX3Np emUgPSBzaXplb2YoVkZJT1BDSURldmljZSksCisgICAgIC5hYnN0cmFjdCA9IHRydWUsCitAQCAt Mzc4MCw3ICszNzgwLDcgQEAgc3RhdGljIGNvbnN0IFByb3BlcnR5IHZmaW9fcGNpX2Rldl9wcm9w ZXJ0aWVzW10gPSB7CisgI2lmZGVmIENPTkZJR19JT01NVUZECisgc3RhdGljIHZvaWQgdmZpb19w Y2lfc2V0X2ZkKE9iamVjdCAqb2JqLCBjb25zdCBjaGFyICpzdHIsIEVycm9yICoqZXJycCkKKyB7 CistICAgIFZGSU9QQ0lEZXZpY2UgKnZkZXYgPSBWRklPX1BDSV9CQVNFKG9iaik7CisrICAgIFZG SU9QQ0lEZXZpY2UgKnZkZXYgPSBWRklPX1BDSV9ERVZJQ0Uob2JqKTsKKyAgICAgdmZpb19kZXZp Y2Vfc2V0X2ZkKCZ2ZGV2LT52YmFzZWRldiwgc3RyLCBlcnJwKTsKKyB9CisgI2VuZGlmCitAQCAt MzkzNiw3ICszOTM2LDcgQEAgc3RhdGljIHZvaWQgdmZpb19wY2lfY2xhc3NfaW5pdChPYmplY3RD bGFzcyAqa2xhc3MsIGNvbnN0IHZvaWQgKmRhdGEpCisgCisgc3RhdGljIGNvbnN0IFR5cGVJbmZv IHZmaW9fcGNpX2luZm8gPSB7CisgICAgIC5uYW1lID0gVFlQRV9WRklPX1BDSSwKKy0gICAgLnBh cmVudCA9IFRZUEVfVkZJT19QQ0lfQkFTRSwKKysgICAgLnBhcmVudCA9IFRZUEVfVkZJT19QQ0lf REVWSUNFLAorICAgICAuY2xhc3NfaW5pdCA9IHZmaW9fcGNpX2NsYXNzX2luaXQsCisgICAgIC5p bnN0YW5jZV9pbml0ID0gdmZpb19wY2lfaW5pdCwKKyAgICAgLmluc3RhbmNlX2ZpbmFsaXplID0g dmZpb19wY2lfZmluYWxpemUsCitkaWZmIC0tZ2l0IGEvaHcvdmZpby9wY2kuaCBiL2h3L3ZmaW8v cGNpLmgKK2luZGV4IGRkNDE5ZjkxNDcuLjk3NTgzNjk0NWEgMTAwNjQ0CistLS0gYS9ody92Zmlv L3BjaS5oCisrKysgYi9ody92ZmlvL3BjaS5oCitAQCAtMTIwLDcgKzEyMCw3IEBAIHR5cGVkZWYg c3RydWN0IFZGSU9NU0lYSW5mbyB7CisgICAgIE1lbW9yeVJlZ2lvbiAqcGJhX3JlZ2lvbjsKKyB9 IFZGSU9NU0lYSW5mbzsKKyAKKy1PQkpFQ1RfREVDTEFSRV9TSU1QTEVfVFlQRShWRklPUENJRGV2 aWNlLCBWRklPX1BDSV9CQVNFKQorK09CSkVDVF9ERUNMQVJFX1NJTVBMRV9UWVBFKFZGSU9QQ0lE ZXZpY2UsIFZGSU9fUENJX0RFVklDRSkKKyAKKyBzdHJ1Y3QgVkZJT1BDSURldmljZSB7CisgICAg IFBDSURldmljZSBwYXJlbnRfb2JqOworZGlmZiAtLWdpdCBhL2h3L3ZmaW8vdHlwZXMuaCBiL2h3 L3ZmaW8vdHlwZXMuaAoraW5kZXggYzE5MzM0ZmYyNS4uNTQ4MmQ5MDgwOCAxMDA2NDQKKy0tLSBh L2h3L3ZmaW8vdHlwZXMuaAorKysrIGIvaHcvdmZpby90eXBlcy5oCitAQCAtOSwxMSArOSwxMSBA QAorICNkZWZpbmUgSFdfVkZJT19WRklPX1RZUEVTX0gKKyAKKyAvKgorLSAqIFRZUEVfVkZJT19Q Q0lfQkFTRSBpcyBhbiBhYnN0cmFjdCB0eXBlIHVzZWQgdG8gc2hhcmUgY29kZQorKyAqIFRZUEVf VkZJT19QQ0lfREVWSUNFIGlzIGFuIGFic3RyYWN0IHR5cGUgdXNlZCB0byBzaGFyZSBjb2RlCisg ICogYmV0d2VlbiBWRklPIGltcGxlbWVudGF0aW9ucyB0aGF0IHVzZSBhIGtlcm5lbCBkcml2ZXIK KyAgKiB3aXRoIHRob3NlIHRoYXQgdXNlIHVzZXIgc29ja2V0cy4KKyAgKi8KKy0jZGVmaW5lIFRZ UEVfVkZJT19QQ0lfQkFTRSAidmZpby1wY2ktYmFzZSIKKysjZGVmaW5lIFRZUEVfVkZJT19QQ0lf REVWSUNFICJ2ZmlvLXBjaS1kZXZpY2UiCisgCisgI2RlZmluZSBUWVBFX1ZGSU9fUENJICJ2Zmlv LXBjaSIKKyAvKiBUWVBFX1ZGSU9fUENJIHNoYXJlcyBzdHJ1Y3QgVkZJT1BDSURldmljZS4gKi8K Ky0tIAorMi41Mi4wCisKCmRpZmYgLS1naXQgYS9rdm0taHctdmZpby11c2VyLWFkZC14LXBjaS1j bGFzcy1jb2RlLnBhdGNoIGIva3ZtLWh3LXZmaW8tdXNlci1hZGQteC1wY2ktY2xhc3MtY29kZS5w YXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYzMzNzhhCi0tLSAvZGV2 L251bGwKKysrIGIva3ZtLWh3LXZmaW8tdXNlci1hZGQteC1wY2ktY2xhc3MtY29kZS5wYXRjaApA QCAtMCwwICsxLDQ1IEBACitGcm9tIGYxZDA4OTZkOWIwYjc3NDJlYTVhOTgwM2MxZWViMTRiNTU4 YjI5YmQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBKb2huIExldm9uIDxqb2huLmxl dm9uQG51dGFuaXguY29tPgorRGF0ZTogV2VkLCAyNyBBdWcgMjAyNSAyMDowODoxMCArMDEwMAor U3ViamVjdDogW1BBVENIIDAyNy8xMTZdIGh3L3ZmaW8tdXNlcjogYWRkIHgtcGNpLWNsYXNzLWNv ZGUKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9 VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworUkgtQXV0aG9yOiBSb2Rv bGZvIFZpY2sgPE5vbmU+CitSSC1NZXJnZVJlcXVlc3Q6IDQ4NjogQWRkIERNQUJVRiBzdXBwb3J0 CitSSC1KaXJhOiBSSEVMLTEzODQ5NAorUkgtQWNrZWQtYnk6IEPDqWRyaWMgTGUgR29hdGVyIDxj bGdAcmVkaGF0LmNvbT4KK1JILUFja2VkLWJ5OiBFcmljIEF1Z2VyIDxlcmljLmF1Z2VyQHJlZGhh dC5jb20+CitSSC1Db21taXQ6IFsxMS8xMDBdIDJhZGIxOWMwOGI4MjZhOGRiODY2NWE0NzUyNGZl ODEzZThmOTFhZjEgKHJvdmljazEvcWVtdS1rdm0pCisKK1RoaXMgbmV3IG9wdGlvbiB3YXMgbm90 IGFkZGVkIHRvIHZmaW9fdXNlcl9wY2lfZGV2X3Byb3BlcnRpZXMsIHdoaWNoCitjYXVzZWQgYW4g aW5jb3JyZWN0IGNsYXNzIGNvZGUgZm9yIHZmaW8tdXNlciBkZXZpY2VzLgorCitGaXhlczogYTU5 ZDA2MzA1ZmZmICgidmZpby9wY2k6IEludHJvZHVjZSB4LXBjaS1jbGFzcy1jb2RlIG9wdGlvbiIp CitTaWduZWQtb2ZmLWJ5OiBKb2huIExldm9uIDxqb2huLmxldm9uQG51dGFuaXguY29tPgorUmV2 aWV3ZWQtYnk6IEPDqWRyaWMgTGUgR29hdGVyIDxjbGdAcmVkaGF0LmNvbT4KK0xpbms6IGh0dHBz Oi8vbG9yZS5rZXJuZWwub3JnL3FlbXUtZGV2ZWwvMjAyNTA4MjcxOTA4MTAuMTY0NTM0MC0xLWpv aG4ubGV2b25AbnV0YW5peC5jb20KK1NpZ25lZC1vZmYtYnk6IEPDqWRyaWMgTGUgR29hdGVyIDxj bGdAcmVkaGF0LmNvbT4KKyhjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDFiNTA2MjE4ODEyNDFh YzViYzc1YWU3ZjhhYTRjMjc4YWRhOGE2NjgpCitTaWduZWQtb2ZmLWJ5OiBFcmljIEF1Z2VyIDxl cmljLmF1Z2VyQHJlZGhhdC5jb20+CistLS0KKyBody92ZmlvLXVzZXIvcGNpLmMgfCAyICsrCisg MSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvaHcvdmZpby11 c2VyL3BjaS5jIGIvaHcvdmZpby11c2VyL3BjaS5jCitpbmRleCBiZTcxYzc3NzI5Li5kZmFhODk0 OThkIDEwMDY0NAorLS0tIGEvaHcvdmZpby11c2VyL3BjaS5jCisrKysgYi9ody92ZmlvLXVzZXIv cGNpLmMKK0BAIC00MDYsNiArNDA2LDggQEAgc3RhdGljIGNvbnN0IFByb3BlcnR5IHZmaW9fdXNl cl9wY2lfZGV2X3Byb3BlcnRpZXNbXSA9IHsKKyAgICAgICAgICAgICAgICAgICAgICAgIHN1Yl92 ZW5kb3JfaWQsIFBDSV9BTllfSUQpLAorICAgICBERUZJTkVfUFJPUF9VSU5UMzIoIngtcGNpLXN1 Yi1kZXZpY2UtaWQiLCBWRklPUENJRGV2aWNlLAorICAgICAgICAgICAgICAgICAgICAgICAgc3Vi X2RldmljZV9pZCwgUENJX0FOWV9JRCksCisrICAgIERFRklORV9QUk9QX1VJTlQzMigieC1wY2kt Y2xhc3MtY29kZSIsIFZGSU9QQ0lEZXZpY2UsCisrICAgICAgICAgICAgICAgICAgICAgICBjbGFz c19jb2RlLCBQQ0lfQU5ZX0lEKSwKKyAgICAgREVGSU5FX1BST1BfQk9PTCgieC1zZW5kLXF1ZXVl ZCIsIFZGSU9Vc2VyUENJRGV2aWNlLCBzZW5kX3F1ZXVlZCwgZmFsc2UpLAorICAgICBERUZJTkVf UFJPUF9VSU5UMzIoIngtbXNnLXRpbWVvdXQiLCBWRklPVXNlclBDSURldmljZSwgd2FpdF90aW1l LCA1MDAwKSwKKyAgICAgREVGSU5FX1BST1BfQk9PTCgieC1uby1wb3N0ZWQtd3JpdGVzIiwgVkZJ T1VzZXJQQ0lEZXZpY2UsIG5vX3Bvc3QsIGZhbHNlKSwKKy0tIAorMi41Mi4wCisKCmRpZmYgLS1n aXQgYS9rdm0taW5jbHVkZS1ody1oeXBlcnYtUmVtb3ZlLXVudXNlZC1zdHJ1Y3QtbXNodl92cF9y ZWdpcy5wYXRjaCBiL2t2bS1pbmNsdWRlLWh3LWh5cGVydi1SZW1vdmUtdW51c2VkLXN0cnVjdC1t c2h2X3ZwX3JlZ2lzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg2 OTc0ODMKLS0tIC9kZXYvbnVsbAorKysgYi9rdm0taW5jbHVkZS1ody1oeXBlcnYtUmVtb3ZlLXVu dXNlZC1zdHJ1Y3QtbXNodl92cF9yZWdpcy5wYXRjaApAQCAtMCwwICsxLDU0IEBACitGcm9tIDA2 NWMzZmQ5MGE1ZWU5MGQxY2NkMDJlNzFjNWViMmIyYWM3MTQ5MTIgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCitGcm9tOiA9P1VURi04P3E/Qz1DMz1BOWRyaWM9MjBMZT0yMEdvYXRlcj89IDxjbGdA cmVkaGF0LmNvbT4KK0RhdGU6IFRodSwgOCBKYW4gMjAyNiAxOTo1MDoxMiArMDEwMAorU3ViamVj dDogW1BBVENIIDExMi8xMTZdIGluY2x1ZGUvaHcvaHlwZXJ2OiBSZW1vdmUgdW51c2VkICdzdHJ1 Y3QKKyBtc2h2X3ZwX3JlZ2lzdGVycycgZGVmaW5pdGlvbgorTUlNRS1WZXJzaW9uOiAxLjAKK0Nv bnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1F bmNvZGluZzogOGJpdAorCitSSC1BdXRob3I6IFJvZG9sZm8gVmljayA8Tm9uZT4KK1JILU1lcmdl UmVxdWVzdDogNDg2OiBBZGQgRE1BQlVGIHN1cHBvcnQKK1JILUppcmE6IFJIRUwtMTM4NDk0CitS SC1BY2tlZC1ieTogQ8OpZHJpYyBMZSBHb2F0ZXIgPGNsZ0ByZWRoYXQuY29tPgorUkgtQWNrZWQt Ynk6IEVyaWMgQXVnZXIgPGVyaWMuYXVnZXJAcmVkaGF0LmNvbT4KK1JILUNvbW1pdDogWzk2LzEw MF0gZWI2YWEzOTZkOTU2NWJjMTNhMGFjZTVhMmIyMGE4NDVhMjQ0NGE5MSAocm92aWNrMS9xZW11 LWt2bSkKKworVGhlICdzdHJ1Y3QgbXNodl92cF9yZWdpc3RlcnMnIGRlZmluaXRpb24gaW4gaHZn ZGtfbWluaS5oIGlzIHVudXNlZCBpbgorUUVNVSBhbmQgY29uZmxpY3RzIHdpdGggdGhlIGNhbm9u aWNhbCBkZWZpbml0aW9uIGluCitsaW51eC1oZWFkZXJzL2xpbnV4L21zaHYuaC4KKworUmVtb3Zl IHRoZSBkdXBsaWNhdGUgZGVmaW5pdGlvbiB0byBhdm9pZCBidWlsZCBjb25mbGljdHMgd2hlbiB0 aGUgTGludXgKK2hlYWRlcnMgYXJlIHVwZGF0ZWQuCisKK0NjOiBNYWdudXMgS3Vsa2UgPG1hZ251 c2t1bGtlQGxpbnV4Lm1pY3Jvc29mdC5jb20+CitSZXZpZXdlZC1ieTogTWFnbnVzIEt1bGtlIDxt YWdudXNrdWxrZUBsaW51eC5taWNyb3NvZnQuY29tPgorTGluazogaHR0cHM6Ly9sb3JlLmtlcm5l bC5vcmcvcWVtdS1kZXZlbC8yMDI2MDEwODE4NTAxMi4yNTY4Mjc3LTEtY2xnQHJlZGhhdC5jb20K K1NpZ25lZC1vZmYtYnk6IEPDqWRyaWMgTGUgR29hdGVyIDxjbGdAcmVkaGF0LmNvbT4KKyhjaGVy cnkgcGlja2VkIGZyb20gY29tbWl0IGVjNzEwOTk5OWFmNjkxZDg0ZThkMmI1MThkN2E0ZjMwZDhm YTZkNjIpCitTaWduZWQtb2ZmLWJ5OiBDw6lkcmljIExlIEdvYXRlciA8Y2xnQHJlZGhhdC5jb20+ CistLS0KKyBpbmNsdWRlL2h3L2h5cGVydi9odmdka19taW5pLmggfCA3IC0tLS0tLS0KKyAxIGZp bGUgY2hhbmdlZCwgNyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2luY2x1ZGUvaHcvaHlw ZXJ2L2h2Z2RrX21pbmkuaCBiL2luY2x1ZGUvaHcvaHlwZXJ2L2h2Z2RrX21pbmkuaAoraW5kZXgg ZDg5MzE1ZjU0NS4uY2I1MmNjOWRlMiAxMDA2NDQKKy0tLSBhL2luY2x1ZGUvaHcvaHlwZXJ2L2h2 Z2RrX21pbmkuaAorKysrIGIvaW5jbHVkZS9ody9oeXBlcnYvaHZnZGtfbWluaS5oCitAQCAtNDUw LDEzICs0NTAsNiBAQCB0eXBlZGVmIHN0cnVjdCBodl9pbnB1dF9zZXRfdnBfcmVnaXN0ZXJzIHsK KyAgICAgc3RydWN0IGh2X3JlZ2lzdGVyX2Fzc29jIGVsZW1lbnRzW107CisgfSBodl9pbnB1dF9z ZXRfdnBfcmVnaXN0ZXJzOworIAorLSNkZWZpbmUgTVNIVl9WUF9NQVhfUkVHSVNURVJTICAgMTI4 CistCistc3RydWN0IG1zaHZfdnBfcmVnaXN0ZXJzIHsKKy0gICAgaW50IGNvdW50OyAvKiBhdCBt b3N0IE1TSFZfVlBfTUFYX1JFR0lTVEVSUyAqLworLSAgICBzdHJ1Y3QgaHZfcmVnaXN0ZXJfYXNz b2MgKnJlZ3M7CistfTsKKy0KKyB1bmlvbiBodl9pbnRlcnJ1cHRfY29udHJvbCB7CisgICAgIHVp bnQ2NF90IGFzX3VpbnQ2NDsKKyAgICAgc3RydWN0IHsKKy0tIAorMi41Mi4wCisKCmRpZmYgLS1n aXQgYS9rdm0taW5jbHVkZS1ody12ZmlvLXZmaW8tY29udGFpbmVyLWJhc2UuaC1yZW5hbWUtVkZJ T0Nvbi5wYXRjaCBiL2t2bS1pbmNsdWRlLWh3LXZmaW8tdmZpby1jb250YWluZXItYmFzZS5oLXJl bmFtZS1WRklPQ29uLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMz Y2Q1ZmYKLS0tIC9kZXYvbnVsbAorKysgYi9rdm0taW5jbHVkZS1ody12ZmlvLXZmaW8tY29udGFp bmVyLWJhc2UuaC1yZW5hbWUtVkZJT0Nvbi5wYXRjaApAQCAtMCwwICsxLDEyNjggQEAKK0Zyb20g NzE1NjQyZTg0MTc5NGM0NjI2N2U0NzQ0ODQ0YmE0NGVhZGI4ZjFmYyBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKK0Zyb206IE1hcmsgQ2F2ZS1BeWxhbmQgPG1hcmsuY2F2ZWF5bGFuZEBudXRhbml4 LmNvbT4KK0RhdGU6IFRodSwgMjUgU2VwIDIwMjUgMTI6MzE6MTAgKzAxMDAKK1N1YmplY3Q6IFtQ QVRDSCAwNTIvMTE2XSBpbmNsdWRlL2h3L3ZmaW8vdmZpby1jb250YWluZXItYmFzZS5oOiByZW5h bWUKKyBWRklPQ29udGFpbmVyQmFzZSB0byBWRklPQ29udGFpbmVyCitNSU1FLVZlcnNpb246IDEu MAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5z ZmVyLUVuY29kaW5nOiA4Yml0CisKK1JILUF1dGhvcjogUm9kb2xmbyBWaWNrIDxOb25lPgorUkgt TWVyZ2VSZXF1ZXN0OiA0ODY6IEFkZCBETUFCVUYgc3VwcG9ydAorUkgtSmlyYTogUkhFTC0xMzg0 OTQKK1JILUFja2VkLWJ5OiBDw6lkcmljIExlIEdvYXRlciA8Y2xnQHJlZGhhdC5jb20+CitSSC1B Y2tlZC1ieTogRXJpYyBBdWdlciA8ZXJpYy5hdWdlckByZWRoYXQuY29tPgorUkgtQ29tbWl0OiBb MzYvMTAwXSA5YmEwN2ZhYTNkYmIyODk1ZGU2ODIxMzY5NmI1MDRjMzQ2OTY3ZjcwIChyb3ZpY2sx L3FlbXUta3ZtKQorCitOb3cgdGhhdCB0aGUgVkZJT0NvbnRhaW5lciBzdHJ1Y3QgbmFtZSBpcyBh dmFpbGFibGUsIHJlbmFtZSBWRklPQ29udGFpbmVyQmFzZQordG8gVkZJT0NvbnRhaW5lciB0byBi ZXR0ZXIgaW5kaWNhdGUgdGhhdCBpdCBpcyB0aGUgc3VwZXJjbGFzcyBvZiBvdGhlcgorVkZJT0Zv b0NvbnRhaW5lciBzdHJ1Y3RzLgorCitTaWduZWQtb2ZmLWJ5OiBNYXJrIENhdmUtQXlsYW5kIDxt YXJrLmNhdmVheWxhbmRAbnV0YW5peC5jb20+CitSZXZpZXdlZC1ieTogQ8OpZHJpYyBMZSBHb2F0 ZXIgPGNsZ0ByZWRoYXQuY29tPgorTGluazogaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvcWVtdS1k ZXZlbC8yMDI1MDkyNTExMzE1OS4xNzYwMzE3LTMtbWFyay5jYXZlYXlsYW5kQG51dGFuaXguY29t CitTaWduZWQtb2ZmLWJ5OiBDw6lkcmljIExlIEdvYXRlciA8Y2xnQHJlZGhhdC5jb20+CisoY2hl cnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCBlMmUyNjlkNTgwOTQ3ZmU5YjFiNTczNWM4Y2I2NTkyNzdh YzY3OTk2KQorU2lnbmVkLW9mZi1ieTogRXJpYyBBdWdlciA8ZXJpYy5hdWdlckByZWRoYXQuY29t PgorLS0tCisgaHcvcHBjL3NwYXByX3BjaV92ZmlvLmMgICAgICAgICAgICAgICB8ICAyICstCisg aHcvdmZpby11c2VyL2NvbnRhaW5lci5jICAgICAgICAgICAgICB8IDE4ICsrKy0tLS0KKyBody92 ZmlvLXVzZXIvY29udGFpbmVyLmggICAgICAgICAgICAgIHwgIDIgKy0KKyBody92ZmlvL2NvbnRh aW5lci1iYXNlLmMgICAgICAgICAgICAgIHwgNDEgKysrKysrKystLS0tLS0tCisgaHcvdmZpby9j b250YWluZXIuYyAgICAgICAgICAgICAgICAgICB8IDIyICsrKystLS0tCisgaHcvdmZpby9jcHIt aW9tbXVmZC5jICAgICAgICAgICAgICAgICB8ICA0ICstCisgaHcvdmZpby9jcHItbGVnYWN5LmMg ICAgICAgICAgICAgICAgICB8IDE0ICsrLS0tCisgaHcvdmZpby9kZXZpY2UuYyAgICAgICAgICAg ICAgICAgICAgICB8ICAyICstCisgaHcvdmZpby9pb21tdWZkLmMgICAgICAgICAgICAgICAgICAg ICB8IDE4ICsrKy0tLS0KKyBody92ZmlvL2xpc3RlbmVyLmMgICAgICAgICAgICAgICAgICAgIHwg NzQgKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0KKyBody92ZmlvL3NwYXByLmMgICAgICAgICAg ICAgICAgICAgICAgIHwgMTIgKystLS0KKyBody92ZmlvL3ZmaW8taW9tbXVmZC5oICAgICAgICAg ICAgICAgIHwgIDIgKy0KKyBody92ZmlvL3ZmaW8tbGlzdGVuZXIuaCAgICAgICAgICAgICAgIHwg IDQgKy0KKyBpbmNsdWRlL2h3L3ZmaW8vdmZpby1jb250YWluZXItYmFzZS5oIHwgNzYgKysrKysr KysrKysrKy0tLS0tLS0tLS0tLS0tCisgaW5jbHVkZS9ody92ZmlvL3ZmaW8tY29udGFpbmVyLmgg ICAgICB8ICAyICstCisgaW5jbHVkZS9ody92ZmlvL3ZmaW8tY3ByLmggICAgICAgICAgICB8ICA4 ICstLQorIGluY2x1ZGUvaHcvdmZpby92ZmlvLWRldmljZS5oICAgICAgICAgfCAgNCArLQorIDE3 IGZpbGVzIGNoYW5nZWQsIDE1NCBpbnNlcnRpb25zKCspLCAxNTEgZGVsZXRpb25zKC0pCisKK2Rp ZmYgLS1naXQgYS9ody9wcGMvc3BhcHJfcGNpX3ZmaW8uYyBiL2h3L3BwYy9zcGFwcl9wY2lfdmZp by5jCitpbmRleCBiNjU4ZWIzNzJjLi40OGZhOThjMTk5IDEwMDY0NAorLS0tIGEvaHcvcHBjL3Nw YXByX3BjaV92ZmlvLmMKKysrKyBiL2h3L3BwYy9zcGFwcl9wY2lfdmZpby5jCitAQCAtODYsNyAr ODYsNyBAQCBzdGF0aWMgaW50IHZmaW9fZWVoX2NvbnRhaW5lcl9vcChWRklPTGVnYWN5Q29udGFp bmVyICpjb250YWluZXIsIHVpbnQzMl90IG9wKQorIHN0YXRpYyBWRklPTGVnYWN5Q29udGFpbmVy ICp2ZmlvX2VlaF9hc19jb250YWluZXIoQWRkcmVzc1NwYWNlICphcykKKyB7CisgICAgIFZGSU9B ZGRyZXNzU3BhY2UgKnNwYWNlID0gdmZpb19hZGRyZXNzX3NwYWNlX2dldChhcyk7CistICAgIFZG SU9Db250YWluZXJCYXNlICpiY29udGFpbmVyID0gTlVMTDsKKysgICAgVkZJT0NvbnRhaW5lciAq YmNvbnRhaW5lciA9IE5VTEw7CisgCisgICAgIGlmIChRTElTVF9FTVBUWSgmc3BhY2UtPmNvbnRh aW5lcnMpKSB7CisgICAgICAgICAvKiBObyBjb250YWluZXJzIHRvIGFjdCBvbiAqLworZGlmZiAt LWdpdCBhL2h3L3ZmaW8tdXNlci9jb250YWluZXIuYyBiL2h3L3ZmaW8tdXNlci9jb250YWluZXIu YworaW5kZXggM2NkYmQ0NGMxYS4uNDExZWI3YjI4YiAxMDA2NDQKKy0tLSBhL2h3L3ZmaW8tdXNl ci9jb250YWluZXIuYworKysrIGIvaHcvdmZpby11c2VyL2NvbnRhaW5lci5jCitAQCAtMjIsMTQg KzIyLDE0IEBACisgICogd2lsbCBmaXJlIGR1cmluZyBtZW1vcnkgdXBkYXRlIHRyYW5zYWN0aW9u cy4gIFRoZXNlIGRlcGVuZCBvbiBCUUwgYmVpbmcgaGVsZCwKKyAgKiBzbyBkbyBhbnkgcmVzdWx0 aW5nIG1hcC9kZW1hcCBvcHMgYXN5bmMgd2hpbGUga2VlcGluZyBCUUwuCisgICovCistc3RhdGlj IHZvaWQgdmZpb191c2VyX2xpc3RlbmVyX2JlZ2luKFZGSU9Db250YWluZXJCYXNlICpiY29udGFp bmVyKQorK3N0YXRpYyB2b2lkIHZmaW9fdXNlcl9saXN0ZW5lcl9iZWdpbihWRklPQ29udGFpbmVy ICpiY29udGFpbmVyKQorIHsKKyAgICAgVkZJT1VzZXJDb250YWluZXIgKmNvbnRhaW5lciA9IFZG SU9fSU9NTVVfVVNFUihiY29udGFpbmVyKTsKKyAKKyAgICAgY29udGFpbmVyLT5wcm94eS0+YXN5 bmNfb3BzID0gdHJ1ZTsKKyB9CisgCistc3RhdGljIHZvaWQgdmZpb191c2VyX2xpc3RlbmVyX2Nv bW1pdChWRklPQ29udGFpbmVyQmFzZSAqYmNvbnRhaW5lcikKKytzdGF0aWMgdm9pZCB2ZmlvX3Vz ZXJfbGlzdGVuZXJfY29tbWl0KFZGSU9Db250YWluZXIgKmJjb250YWluZXIpCisgeworICAgICBW RklPVXNlckNvbnRhaW5lciAqY29udGFpbmVyID0gVkZJT19JT01NVV9VU0VSKGJjb250YWluZXIp OworIAorQEAgLTM4LDcgKzM4LDcgQEAgc3RhdGljIHZvaWQgdmZpb191c2VyX2xpc3RlbmVyX2Nv bW1pdChWRklPQ29udGFpbmVyQmFzZSAqYmNvbnRhaW5lcikKKyAgICAgdmZpb191c2VyX3dhaXRf cmVxcyhjb250YWluZXItPnByb3h5KTsKKyB9CisgCistc3RhdGljIGludCB2ZmlvX3VzZXJfZG1h X3VubWFwKGNvbnN0IFZGSU9Db250YWluZXJCYXNlICpiY29udGFpbmVyLAorK3N0YXRpYyBpbnQg dmZpb191c2VyX2RtYV91bm1hcChjb25zdCBWRklPQ29udGFpbmVyICpiY29udGFpbmVyLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBod2FkZHIgaW92YSwgcmFtX2FkZHJfdCBzaXpl LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJT01NVVRMQkVudHJ5ICppb3RsYiwg Ym9vbCB1bm1hcF9hbGwpCisgeworQEAgLTgwLDcgKzgwLDcgQEAgc3RhdGljIGludCB2ZmlvX3Vz ZXJfZG1hX3VubWFwKGNvbnN0IFZGSU9Db250YWluZXJCYXNlICpiY29udGFpbmVyLAorICAgICBy ZXR1cm4gcmV0OworIH0KKyAKKy1zdGF0aWMgaW50IHZmaW9fdXNlcl9kbWFfbWFwKGNvbnN0IFZG SU9Db250YWluZXJCYXNlICpiY29udGFpbmVyLCBod2FkZHIgaW92YSwKKytzdGF0aWMgaW50IHZm aW9fdXNlcl9kbWFfbWFwKGNvbnN0IFZGSU9Db250YWluZXIgKmJjb250YWluZXIsIGh3YWRkciBp b3ZhLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFtX2FkZHJfdCBzaXplLCB2b2lk ICp2YWRkciwgYm9vbCByZWFkb25seSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1l bW9yeVJlZ2lvbiAqbXJwKQorIHsKK0BAIC0xNTQsMTQgKzE1NCwxNCBAQCBzdGF0aWMgaW50IHZm aW9fdXNlcl9kbWFfbWFwKGNvbnN0IFZGSU9Db250YWluZXJCYXNlICpiY29udGFpbmVyLCBod2Fk ZHIgaW92YSwKKyB9CisgCisgc3RhdGljIGludAorLXZmaW9fdXNlcl9zZXRfZGlydHlfcGFnZV90 cmFja2luZyhjb25zdCBWRklPQ29udGFpbmVyQmFzZSAqYmNvbnRhaW5lciwKKyt2ZmlvX3VzZXJf c2V0X2RpcnR5X3BhZ2VfdHJhY2tpbmcoY29uc3QgVkZJT0NvbnRhaW5lciAqYmNvbnRhaW5lciwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIHN0YXJ0LCBFcnJvciAq KmVycnApCisgeworICAgICBlcnJvcl9zZXRnX2Vycm5vKGVycnAsIEVOT1RTVVAsICJOb3Qgc3Vw cG9ydGVkIik7CisgICAgIHJldHVybiAtRU5PVFNVUDsKKyB9CisgCistc3RhdGljIGludCB2Zmlv X3VzZXJfcXVlcnlfZGlydHlfYml0bWFwKGNvbnN0IFZGSU9Db250YWluZXJCYXNlICpiY29udGFp bmVyLAorK3N0YXRpYyBpbnQgdmZpb191c2VyX3F1ZXJ5X2RpcnR5X2JpdG1hcChjb25zdCBWRklP Q29udGFpbmVyICpiY29udGFpbmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgVkZJT0JpdG1hcCAqdmJtYXAsIGh3YWRkciBpb3ZhLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgaHdhZGRyIHNpemUsIEVycm9yICoqZXJycCkKKyB7 CitAQCAtMTY5LDcgKzE2OSw3IEBAIHN0YXRpYyBpbnQgdmZpb191c2VyX3F1ZXJ5X2RpcnR5X2Jp dG1hcChjb25zdCBWRklPQ29udGFpbmVyQmFzZSAqYmNvbnRhaW5lciwKKyAgICAgcmV0dXJuIC1F Tk9UU1VQOworIH0KKyAKKy1zdGF0aWMgYm9vbCB2ZmlvX3VzZXJfc2V0dXAoVkZJT0NvbnRhaW5l ckJhc2UgKmJjb250YWluZXIsIEVycm9yICoqZXJycCkKKytzdGF0aWMgYm9vbCB2ZmlvX3VzZXJf c2V0dXAoVkZJT0NvbnRhaW5lciAqYmNvbnRhaW5lciwgRXJyb3IgKiplcnJwKQorIHsKKyAgICAg VkZJT1VzZXJDb250YWluZXIgKmNvbnRhaW5lciA9IFZGSU9fSU9NTVVfVVNFUihiY29udGFpbmVy KTsKKyAKK0BAIC0yMDIsNyArMjAyLDcgQEAgc3RhdGljIFZGSU9Vc2VyQ29udGFpbmVyICoKKyB2 ZmlvX3VzZXJfY29udGFpbmVyX2Nvbm5lY3QoQWRkcmVzc1NwYWNlICphcywgVkZJT0RldmljZSAq dmJhc2VkZXYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVycm9yICoqZXJycCkKKyB7 CistICAgIFZGSU9Db250YWluZXJCYXNlICpiY29udGFpbmVyOworKyAgICBWRklPQ29udGFpbmVy ICpiY29udGFpbmVyOworICAgICBWRklPVXNlckNvbnRhaW5lciAqY29udGFpbmVyOworICAgICBW RklPQWRkcmVzc1NwYWNlICpzcGFjZTsKKyAgICAgVkZJT0lPTU1VQ2xhc3MgKnZpb2M7CitAQCAt MjYwLDcgKzI2MCw3IEBAIHB1dF9zcGFjZV9leGl0OgorIAorIHN0YXRpYyB2b2lkIHZmaW9fdXNl cl9jb250YWluZXJfZGlzY29ubmVjdChWRklPVXNlckNvbnRhaW5lciAqY29udGFpbmVyKQorIHsK Ky0gICAgVkZJT0NvbnRhaW5lckJhc2UgKmJjb250YWluZXIgPSBWRklPX0lPTU1VKGNvbnRhaW5l cik7CisrICAgIFZGSU9Db250YWluZXIgKmJjb250YWluZXIgPSBWRklPX0lPTU1VKGNvbnRhaW5l cik7CisgICAgIFZGSU9JT01NVUNsYXNzICp2aW9jID0gVkZJT19JT01NVV9HRVRfQ0xBU1MoYmNv bnRhaW5lcik7CisgICAgIFZGSU9BZGRyZXNzU3BhY2UgKnNwYWNlID0gYmNvbnRhaW5lci0+c3Bh Y2U7CisgCitkaWZmIC0tZ2l0IGEvaHcvdmZpby11c2VyL2NvbnRhaW5lci5oIGIvaHcvdmZpby11 c2VyL2NvbnRhaW5lci5oCitpbmRleCA5NmFhNjc4NWQ5Li4yNDE4NjNlZjk3IDEwMDY0NAorLS0t IGEvaHcvdmZpby11c2VyL2NvbnRhaW5lci5oCisrKysgYi9ody92ZmlvLXVzZXIvY29udGFpbmVy LmgKK0BAIC0xNCw3ICsxNCw3IEBACisgCisgLyogTU1VIGNvbnRhaW5lciBzdWItY2xhc3MgZm9y IHZmaW8tdXNlci4gKi8KKyBzdHJ1Y3QgVkZJT1VzZXJDb250YWluZXIgeworLSAgICBWRklPQ29u dGFpbmVyQmFzZSBwYXJlbnRfb2JqOworKyAgICBWRklPQ29udGFpbmVyIHBhcmVudF9vYmo7Cisg CisgICAgIFZGSU9Vc2VyUHJveHkgKnByb3h5OworIH07CitkaWZmIC0tZ2l0IGEvaHcvdmZpby9j b250YWluZXItYmFzZS5jIGIvaHcvdmZpby9jb250YWluZXItYmFzZS5jCitpbmRleCA1NjMwNDk3 OGUxLi45OGM1MTk4ZTUwIDEwMDY0NAorLS0tIGEvaHcvdmZpby9jb250YWluZXItYmFzZS5jCisr KysgYi9ody92ZmlvL2NvbnRhaW5lci1iYXNlLmMKK0BAIC02NywxMyArNjcsMTMgQEAgdm9pZCB2 ZmlvX2FkZHJlc3Nfc3BhY2VfcHV0KFZGSU9BZGRyZXNzU3BhY2UgKnNwYWNlKQorIH0KKyAKKyB2 b2lkIHZmaW9fYWRkcmVzc19zcGFjZV9pbnNlcnQoVkZJT0FkZHJlc3NTcGFjZSAqc3BhY2UsCist ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZGSU9Db250YWluZXJCYXNlICpiY29udGFp bmVyKQorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWRklPQ29udGFpbmVyICpiY29u dGFpbmVyKQorIHsKKyAgICAgUUxJU1RfSU5TRVJUX0hFQUQoJnNwYWNlLT5jb250YWluZXJzLCBi Y29udGFpbmVyLCBuZXh0KTsKKyAgICAgYmNvbnRhaW5lci0+c3BhY2UgPSBzcGFjZTsKKyB9Cisg CistaW50IHZmaW9fY29udGFpbmVyX2RtYV9tYXAoVkZJT0NvbnRhaW5lckJhc2UgKmJjb250YWlu ZXIsCisraW50IHZmaW9fY29udGFpbmVyX2RtYV9tYXAoVkZJT0NvbnRhaW5lciAqYmNvbnRhaW5l ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBod2FkZHIgaW92YSwgcmFtX2FkZHJfdCBz aXplLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKnZhZGRyLCBib29sIHJlYWRv bmx5LCBNZW1vcnlSZWdpb24gKm1yKQorIHsKK0BAIC05Miw3ICs5Miw3IEBAIGludCB2ZmlvX2Nv bnRhaW5lcl9kbWFfbWFwKFZGSU9Db250YWluZXJCYXNlICpiY29udGFpbmVyLAorICAgICByZXR1 cm4gdmlvYy0+ZG1hX21hcChiY29udGFpbmVyLCBpb3ZhLCBzaXplLCB2YWRkciwgcmVhZG9ubHks IG1yKTsKKyB9CisgCistaW50IHZmaW9fY29udGFpbmVyX2RtYV91bm1hcChWRklPQ29udGFpbmVy QmFzZSAqYmNvbnRhaW5lciwKKytpbnQgdmZpb19jb250YWluZXJfZG1hX3VubWFwKFZGSU9Db250 YWluZXIgKmJjb250YWluZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBod2FkZHIg aW92YSwgcmFtX2FkZHJfdCBzaXplLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSU9N TVVUTEJFbnRyeSAqaW90bGIsIGJvb2wgdW5tYXBfYWxsKQorIHsKK0BAIC0xMDIsNyArMTAyLDcg QEAgaW50IHZmaW9fY29udGFpbmVyX2RtYV91bm1hcChWRklPQ29udGFpbmVyQmFzZSAqYmNvbnRh aW5lciwKKyAgICAgcmV0dXJuIHZpb2MtPmRtYV91bm1hcChiY29udGFpbmVyLCBpb3ZhLCBzaXpl LCBpb3RsYiwgdW5tYXBfYWxsKTsKKyB9CisgCistYm9vbCB2ZmlvX2NvbnRhaW5lcl9hZGRfc2Vj dGlvbl93aW5kb3coVkZJT0NvbnRhaW5lckJhc2UgKmJjb250YWluZXIsCisrYm9vbCB2ZmlvX2Nv bnRhaW5lcl9hZGRfc2VjdGlvbl93aW5kb3coVkZJT0NvbnRhaW5lciAqYmNvbnRhaW5lciwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNZW1vcnlSZWdpb25TZWN0aW9u ICpzZWN0aW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVycm9y ICoqZXJycCkKKyB7CitAQCAtMTE1LDcgKzExNSw3IEBAIGJvb2wgdmZpb19jb250YWluZXJfYWRk X3NlY3Rpb25fd2luZG93KFZGSU9Db250YWluZXJCYXNlICpiY29udGFpbmVyLAorICAgICByZXR1 cm4gdmlvYy0+YWRkX3dpbmRvdyhiY29udGFpbmVyLCBzZWN0aW9uLCBlcnJwKTsKKyB9CisgCist dm9pZCB2ZmlvX2NvbnRhaW5lcl9kZWxfc2VjdGlvbl93aW5kb3coVkZJT0NvbnRhaW5lckJhc2Ug KmJjb250YWluZXIsCisrdm9pZCB2ZmlvX2NvbnRhaW5lcl9kZWxfc2VjdGlvbl93aW5kb3coVkZJ T0NvbnRhaW5lciAqYmNvbnRhaW5lciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBNZW1vcnlSZWdpb25TZWN0aW9uICpzZWN0aW9uKQorIHsKKyAgICAgVkZJT0lPTU1V Q2xhc3MgKnZpb2MgPSBWRklPX0lPTU1VX0dFVF9DTEFTUyhiY29udGFpbmVyKTsKK0BAIC0xMjcs NyArMTI3LDcgQEAgdm9pZCB2ZmlvX2NvbnRhaW5lcl9kZWxfc2VjdGlvbl93aW5kb3coVkZJT0Nv bnRhaW5lckJhc2UgKmJjb250YWluZXIsCisgICAgIHJldHVybiB2aW9jLT5kZWxfd2luZG93KGJj b250YWluZXIsIHNlY3Rpb24pOworIH0KKyAKKy1pbnQgdmZpb19jb250YWluZXJfc2V0X2RpcnR5 X3BhZ2VfdHJhY2tpbmcoVkZJT0NvbnRhaW5lckJhc2UgKmJjb250YWluZXIsCisraW50IHZmaW9f Y29udGFpbmVyX3NldF9kaXJ0eV9wYWdlX3RyYWNraW5nKFZGSU9Db250YWluZXIgKmJjb250YWlu ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgc3Rh cnQsIEVycm9yICoqZXJycCkKKyB7CisgICAgIFZGSU9JT01NVUNsYXNzICp2aW9jID0gVkZJT19J T01NVV9HRVRfQ0xBU1MoYmNvbnRhaW5lcik7CitAQCAtMTUxLDcgKzE1MSw3IEBAIGludCB2Zmlv X2NvbnRhaW5lcl9zZXRfZGlydHlfcGFnZV90cmFja2luZyhWRklPQ29udGFpbmVyQmFzZSAqYmNv bnRhaW5lciwKKyB9CisgCisgc3RhdGljIGJvb2wgdmZpb19jb250YWluZXJfZGV2aWNlc19kaXJ0 eV90cmFja2luZ19pc19zdGFydGVkKAorLSAgICBjb25zdCBWRklPQ29udGFpbmVyQmFzZSAqYmNv bnRhaW5lcikKKysgICAgY29uc3QgVkZJT0NvbnRhaW5lciAqYmNvbnRhaW5lcikKKyB7CisgICAg IFZGSU9EZXZpY2UgKnZiYXNlZGV2OworIAorQEAgLTE2NSwxNCArMTY1LDE0IEBAIHN0YXRpYyBi b29sIHZmaW9fY29udGFpbmVyX2RldmljZXNfZGlydHlfdHJhY2tpbmdfaXNfc3RhcnRlZCgKKyB9 CisgCisgYm9vbCB2ZmlvX2NvbnRhaW5lcl9kaXJ0eV90cmFja2luZ19pc19zdGFydGVkKAorLSAg ICBjb25zdCBWRklPQ29udGFpbmVyQmFzZSAqYmNvbnRhaW5lcikKKysgICAgY29uc3QgVkZJT0Nv bnRhaW5lciAqYmNvbnRhaW5lcikKKyB7CisgICAgIHJldHVybiB2ZmlvX2NvbnRhaW5lcl9kZXZp Y2VzX2RpcnR5X3RyYWNraW5nX2lzX3N0YXJ0ZWQoYmNvbnRhaW5lcikgfHwKKyAgICAgICAgICAg IGJjb250YWluZXItPmRpcnR5X3BhZ2VzX3N0YXJ0ZWQ7CisgfQorIAorIGJvb2wgdmZpb19jb250 YWluZXJfZGV2aWNlc19kaXJ0eV90cmFja2luZ19pc19zdXBwb3J0ZWQoCistICAgIGNvbnN0IFZG SU9Db250YWluZXJCYXNlICpiY29udGFpbmVyKQorKyAgICBjb25zdCBWRklPQ29udGFpbmVyICpi Y29udGFpbmVyKQorIHsKKyAgICAgVkZJT0RldmljZSAqdmJhc2VkZXY7CisgCitAQCAtMjEwLDgg KzIxMCw5IEBAIHN0YXRpYyBpbnQgdmZpb19kZXZpY2VfZG1hX2xvZ2dpbmdfcmVwb3J0KFZGSU9E ZXZpY2UgKnZiYXNlZGV2LCBod2FkZHIgaW92YSwKKyAgICAgcmV0dXJuIHZiYXNlZGV2LT5pb19v cHMtPmRldmljZV9mZWF0dXJlKHZiYXNlZGV2LCBmZWF0dXJlKTsKKyB9CisgCistc3RhdGljIGlu dCB2ZmlvX2NvbnRhaW5lcl9pb21tdV9xdWVyeV9kaXJ0eV9iaXRtYXAoY29uc3QgVkZJT0NvbnRh aW5lckJhc2UgKmJjb250YWluZXIsCistICAgICAgICAgICAgICAgICAgIFZGSU9CaXRtYXAgKnZi bWFwLCBod2FkZHIgaW92YSwgaHdhZGRyIHNpemUsIEVycm9yICoqZXJycCkKKytzdGF0aWMgaW50 IHZmaW9fY29udGFpbmVyX2lvbW11X3F1ZXJ5X2RpcnR5X2JpdG1hcCgKKysgICAgY29uc3QgVkZJ T0NvbnRhaW5lciAqYmNvbnRhaW5lciwgVkZJT0JpdG1hcCAqdmJtYXAsIGh3YWRkciBpb3ZhLAor KyAgICBod2FkZHIgc2l6ZSwgRXJyb3IgKiplcnJwKQorIHsKKyAgICAgVkZJT0lPTU1VQ2xhc3Mg KnZpb2MgPSBWRklPX0lPTU1VX0dFVF9DTEFTUyhiY29udGFpbmVyKTsKKyAKK0BAIC0yMjAsOCAr MjIxLDkgQEAgc3RhdGljIGludCB2ZmlvX2NvbnRhaW5lcl9pb21tdV9xdWVyeV9kaXJ0eV9iaXRt YXAoY29uc3QgVkZJT0NvbnRhaW5lckJhc2UgKmJjb24KKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGVycnApOworIH0KKyAKKy1zdGF0aWMgaW50IHZmaW9f Y29udGFpbmVyX2RldmljZXNfcXVlcnlfZGlydHlfYml0bWFwKGNvbnN0IFZGSU9Db250YWluZXJC YXNlICpiY29udGFpbmVyLAorLSAgICAgICAgICAgICAgICAgVkZJT0JpdG1hcCAqdmJtYXAsIGh3 YWRkciBpb3ZhLCBod2FkZHIgc2l6ZSwgRXJyb3IgKiplcnJwKQorK3N0YXRpYyBpbnQgdmZpb19j b250YWluZXJfZGV2aWNlc19xdWVyeV9kaXJ0eV9iaXRtYXAoCisrICAgIGNvbnN0IFZGSU9Db250 YWluZXIgKmJjb250YWluZXIsIFZGSU9CaXRtYXAgKnZibWFwLCBod2FkZHIgaW92YSwKKysgICAg aHdhZGRyIHNpemUsIEVycm9yICoqZXJycCkKKyB7CisgICAgIFZGSU9EZXZpY2UgKnZiYXNlZGV2 OworICAgICBpbnQgcmV0OworQEAgLTI0Miw4ICsyNDQsOSBAQCBzdGF0aWMgaW50IHZmaW9fY29u dGFpbmVyX2RldmljZXNfcXVlcnlfZGlydHlfYml0bWFwKGNvbnN0IFZGSU9Db250YWluZXJCYXNl ICpiYworICAgICByZXR1cm4gMDsKKyB9CisgCistaW50IHZmaW9fY29udGFpbmVyX3F1ZXJ5X2Rp cnR5X2JpdG1hcChjb25zdCBWRklPQ29udGFpbmVyQmFzZSAqYmNvbnRhaW5lciwgdWludDY0X3Qg aW92YSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ2NF90IHNpemUsIHJhbV9hZGRy X3QgcmFtX2FkZHIsIEVycm9yICoqZXJycCkKKytpbnQgdmZpb19jb250YWluZXJfcXVlcnlfZGly dHlfYml0bWFwKGNvbnN0IFZGSU9Db250YWluZXIgKmJjb250YWluZXIsCisrICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50NjRfdCBpb3ZhLCB1aW50NjRfdCBzaXplLAor KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFtX2FkZHJfdCByYW1fYWRk ciwgRXJyb3IgKiplcnJwKQorIHsKKyAgICAgYm9vbCBhbGxfZGV2aWNlX2RpcnR5X3RyYWNraW5n ID0KKyAgICAgICAgIHZmaW9fY29udGFpbmVyX2RldmljZXNfZGlydHlfdHJhY2tpbmdfaXNfc3Vw cG9ydGVkKGJjb250YWluZXIpOworQEAgLTI5Nyw3ICszMDAsNyBAQCBzdGF0aWMgZ3BvaW50ZXIg Y29weV9pb3ZhX3JhbmdlKGdjb25zdHBvaW50ZXIgc3JjLCBncG9pbnRlciBkYXRhKQorICAgICAg cmV0dXJuIGRlc3Q7CisgfQorIAorLUdMaXN0ICp2ZmlvX2NvbnRhaW5lcl9nZXRfaW92YV9yYW5n ZXMoY29uc3QgVkZJT0NvbnRhaW5lckJhc2UgKmJjb250YWluZXIpCisrR0xpc3QgKnZmaW9fY29u dGFpbmVyX2dldF9pb3ZhX3Jhbmdlcyhjb25zdCBWRklPQ29udGFpbmVyICpiY29udGFpbmVyKQor IHsKKyAgICAgYXNzZXJ0KGJjb250YWluZXIpOworICAgICByZXR1cm4gZ19saXN0X2NvcHlfZGVl cChiY29udGFpbmVyLT5pb3ZhX3JhbmdlcywgY29weV9pb3ZhX3JhbmdlLCBOVUxMKTsKK0BAIC0z MDUsNyArMzA4LDcgQEAgR0xpc3QgKnZmaW9fY29udGFpbmVyX2dldF9pb3ZhX3Jhbmdlcyhjb25z dCBWRklPQ29udGFpbmVyQmFzZSAqYmNvbnRhaW5lcikKKyAKKyBzdGF0aWMgdm9pZCB2ZmlvX2Nv bnRhaW5lcl9pbnN0YW5jZV9maW5hbGl6ZShPYmplY3QgKm9iaikKKyB7CistICAgIFZGSU9Db250 YWluZXJCYXNlICpiY29udGFpbmVyID0gVkZJT19JT01NVShvYmopOworKyAgICBWRklPQ29udGFp bmVyICpiY29udGFpbmVyID0gVkZJT19JT01NVShvYmopOworICAgICBWRklPR3Vlc3RJT01NVSAq Z2lvbW11LCAqdG1wOworIAorICAgICBRTElTVF9TQUZFX1JFTU9WRShiY29udGFpbmVyLCBuZXh0 KTsKK0BAIC0zMjIsNyArMzI1LDcgQEAgc3RhdGljIHZvaWQgdmZpb19jb250YWluZXJfaW5zdGFu Y2VfZmluYWxpemUoT2JqZWN0ICpvYmopCisgCisgc3RhdGljIHZvaWQgdmZpb19jb250YWluZXJf aW5zdGFuY2VfaW5pdChPYmplY3QgKm9iaikKKyB7CistICAgIFZGSU9Db250YWluZXJCYXNlICpi Y29udGFpbmVyID0gVkZJT19JT01NVShvYmopOworKyAgICBWRklPQ29udGFpbmVyICpiY29udGFp bmVyID0gVkZJT19JT01NVShvYmopOworIAorICAgICBiY29udGFpbmVyLT5lcnJvciA9IE5VTEw7 CisgICAgIGJjb250YWluZXItPmRpcnR5X3BhZ2VzX3N1cHBvcnRlZCA9IGZhbHNlOworQEAgLTMz OCw3ICszNDEsNyBAQCBzdGF0aWMgY29uc3QgVHlwZUluZm8gdHlwZXNbXSA9IHsKKyAgICAgICAg IC5wYXJlbnQgPSBUWVBFX09CSkVDVCwKKyAgICAgICAgIC5pbnN0YW5jZV9pbml0ID0gdmZpb19j b250YWluZXJfaW5zdGFuY2VfaW5pdCwKKyAgICAgICAgIC5pbnN0YW5jZV9maW5hbGl6ZSA9IHZm aW9fY29udGFpbmVyX2luc3RhbmNlX2ZpbmFsaXplLAorLSAgICAgICAgLmluc3RhbmNlX3NpemUg PSBzaXplb2YoVkZJT0NvbnRhaW5lckJhc2UpLAorKyAgICAgICAgLmluc3RhbmNlX3NpemUgPSBz aXplb2YoVkZJT0NvbnRhaW5lciksCisgICAgICAgICAuY2xhc3Nfc2l6ZSA9IHNpemVvZihWRklP SU9NTVVDbGFzcyksCisgICAgICAgICAuYWJzdHJhY3QgPSB0cnVlLAorICAgICB9LAorZGlmZiAt LWdpdCBhL2h3L3ZmaW8vY29udGFpbmVyLmMgYi9ody92ZmlvL2NvbnRhaW5lci5jCitpbmRleCA3 NmEwOWJlOTQxLi44NGY1YTVmZGVlIDEwMDY0NAorLS0tIGEvaHcvdmZpby9jb250YWluZXIuYwor KysrIGIvaHcvdmZpby9jb250YWluZXIuYworQEAgLTg2LDcgKzg2LDcgQEAgc3RhdGljIGludCB2 ZmlvX2RtYV91bm1hcF9iaXRtYXAoY29uc3QgVkZJT0xlZ2FjeUNvbnRhaW5lciAqY29udGFpbmVy LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGh3YWRkciBpb3ZhLCByYW1fYWRk cl90IHNpemUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSU9NTVVUTEJFbnRy eSAqaW90bGIpCisgeworLSAgICBjb25zdCBWRklPQ29udGFpbmVyQmFzZSAqYmNvbnRhaW5lciA9 IFZGSU9fSU9NTVUoY29udGFpbmVyKTsKKysgICAgY29uc3QgVkZJT0NvbnRhaW5lciAqYmNvbnRh aW5lciA9IFZGSU9fSU9NTVUoY29udGFpbmVyKTsKKyAgICAgc3RydWN0IHZmaW9faW9tbXVfdHlw ZTFfZG1hX3VubWFwICp1bm1hcDsKKyAgICAgc3RydWN0IHZmaW9fYml0bWFwICpiaXRtYXA7Cisg ICAgIFZGSU9CaXRtYXAgdmJtYXA7CitAQCAtMTM1LDcgKzEzNSw3IEBAIHVubWFwX2V4aXQ6Cisg ICAgIHJldHVybiByZXQ7CisgfQorIAorLXN0YXRpYyBpbnQgdmZpb19sZWdhY3lfZG1hX3VubWFw X29uZShjb25zdCBWRklPQ29udGFpbmVyQmFzZSAqYmNvbnRhaW5lciwKKytzdGF0aWMgaW50IHZm aW9fbGVnYWN5X2RtYV91bm1hcF9vbmUoY29uc3QgVkZJT0NvbnRhaW5lciAqYmNvbnRhaW5lciwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHdhZGRyIGlvdmEsIHJhbV9h ZGRyX3Qgc2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSU9NTVVU TEJFbnRyeSAqaW90bGIpCisgeworQEAgLTE5OCw3ICsxOTgsNyBAQCBzdGF0aWMgaW50IHZmaW9f bGVnYWN5X2RtYV91bm1hcF9vbmUoY29uc3QgVkZJT0NvbnRhaW5lckJhc2UgKmJjb250YWluZXIs CisgLyoKKyAgKiBETUEgLSBNYXBwaW5nIGFuZCB1bm1hcHBpbmcgZm9yIHRoZSAidHlwZTEiIElP TU1VIGludGVyZmFjZSB1c2VkIG9uIHg4NgorICAqLworLXN0YXRpYyBpbnQgdmZpb19sZWdhY3lf ZG1hX3VubWFwKGNvbnN0IFZGSU9Db250YWluZXJCYXNlICpiY29udGFpbmVyLAorK3N0YXRpYyBp bnQgdmZpb19sZWdhY3lfZG1hX3VubWFwKGNvbnN0IFZGSU9Db250YWluZXIgKmJjb250YWluZXIs CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHdhZGRyIGlvdmEsIHJhbV9hZGRy X3Qgc2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJT01NVVRMQkVudHJ5 ICppb3RsYiwgYm9vbCB1bm1hcF9hbGwpCisgeworQEAgLTIyMyw3ICsyMjMsNyBAQCBzdGF0aWMg aW50IHZmaW9fbGVnYWN5X2RtYV91bm1hcChjb25zdCBWRklPQ29udGFpbmVyQmFzZSAqYmNvbnRh aW5lciwKKyAgICAgcmV0dXJuIHJldDsKKyB9CisgCistc3RhdGljIGludCB2ZmlvX2xlZ2FjeV9k bWFfbWFwKGNvbnN0IFZGSU9Db250YWluZXJCYXNlICpiY29udGFpbmVyLCBod2FkZHIgaW92YSwK KytzdGF0aWMgaW50IHZmaW9fbGVnYWN5X2RtYV9tYXAoY29uc3QgVkZJT0NvbnRhaW5lciAqYmNv bnRhaW5lciwgaHdhZGRyIGlvdmEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJh bV9hZGRyX3Qgc2l6ZSwgdm9pZCAqdmFkZHIsIGJvb2wgcmVhZG9ubHksCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIE1lbW9yeVJlZ2lvbiAqbXIpCisgeworQEAgLTI1Niw3ICsyNTYs NyBAQCBzdGF0aWMgaW50IHZmaW9fbGVnYWN5X2RtYV9tYXAoY29uc3QgVkZJT0NvbnRhaW5lckJh c2UgKmJjb250YWluZXIsIGh3YWRkciBpb3ZhLAorIH0KKyAKKyBzdGF0aWMgaW50CistdmZpb19s ZWdhY3lfc2V0X2RpcnR5X3BhZ2VfdHJhY2tpbmcoY29uc3QgVkZJT0NvbnRhaW5lckJhc2UgKmJj b250YWluZXIsCisrdmZpb19sZWdhY3lfc2V0X2RpcnR5X3BhZ2VfdHJhY2tpbmcoY29uc3QgVkZJ T0NvbnRhaW5lciAqYmNvbnRhaW5lciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBib29sIHN0YXJ0LCBFcnJvciAqKmVycnApCisgeworICAgICBjb25zdCBWRklPTGVnYWN5 Q29udGFpbmVyICpjb250YWluZXIgPSBWRklPX0lPTU1VX0xFR0FDWShiY29udGFpbmVyKTsKK0BA IC0yODEsNyArMjgxLDcgQEAgdmZpb19sZWdhY3lfc2V0X2RpcnR5X3BhZ2VfdHJhY2tpbmcoY29u c3QgVkZJT0NvbnRhaW5lckJhc2UgKmJjb250YWluZXIsCisgICAgIHJldHVybiByZXQ7CisgfQor IAorLXN0YXRpYyBpbnQgdmZpb19sZWdhY3lfcXVlcnlfZGlydHlfYml0bWFwKGNvbnN0IFZGSU9D b250YWluZXJCYXNlICpiY29udGFpbmVyLAorK3N0YXRpYyBpbnQgdmZpb19sZWdhY3lfcXVlcnlf ZGlydHlfYml0bWFwKGNvbnN0IFZGSU9Db250YWluZXIgKmJjb250YWluZXIsCisgICAgICAgICAg ICAgICAgICAgICAgIFZGSU9CaXRtYXAgKnZibWFwLCBod2FkZHIgaW92YSwgaHdhZGRyIHNpemUs IEVycm9yICoqZXJycCkKKyB7CisgICAgIGNvbnN0IFZGSU9MZWdhY3lDb250YWluZXIgKmNvbnRh aW5lciA9IFZGSU9fSU9NTVVfTEVHQUNZKGJjb250YWluZXIpOworQEAgLTMyMSw3ICszMjEsNyBA QCBzdGF0aWMgaW50IHZmaW9fbGVnYWN5X3F1ZXJ5X2RpcnR5X2JpdG1hcChjb25zdCBWRklPQ29u dGFpbmVyQmFzZSAqYmNvbnRhaW5lciwKKyB9CisgCisgc3RhdGljIGJvb2wgdmZpb19nZXRfaW5m b19pb3ZhX3JhbmdlKHN0cnVjdCB2ZmlvX2lvbW11X3R5cGUxX2luZm8gKmluZm8sCistICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZGSU9Db250YWluZXJCYXNlICpiY29udGFp bmVyKQorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWRklPQ29udGFpbmVy ICpiY29udGFpbmVyKQorIHsKKyAgICAgc3RydWN0IHZmaW9faW5mb19jYXBfaGVhZGVyICpoZHI7 CisgICAgIHN0cnVjdCB2ZmlvX2lvbW11X3R5cGUxX2luZm9fY2FwX2lvdmFfcmFuZ2UgKmNhcDsK K0BAIC01MDYsNyArNTA2LDcgQEAgc3RhdGljIHZvaWQgdmZpb19nZXRfaW9tbXVfaW5mb19taWdy YXRpb24oVkZJT0xlZ2FjeUNvbnRhaW5lciAqY29udGFpbmVyLAorIHsKKyAgICAgc3RydWN0IHZm aW9faW5mb19jYXBfaGVhZGVyICpoZHI7CisgICAgIHN0cnVjdCB2ZmlvX2lvbW11X3R5cGUxX2lu Zm9fY2FwX21pZ3JhdGlvbiAqY2FwX21pZzsKKy0gICAgVkZJT0NvbnRhaW5lckJhc2UgKmJjb250 YWluZXIgPSBWRklPX0lPTU1VKGNvbnRhaW5lcik7CisrICAgIFZGSU9Db250YWluZXIgKmJjb250 YWluZXIgPSBWRklPX0lPTU1VKGNvbnRhaW5lcik7CisgCisgICAgIGhkciA9IHZmaW9fZ2V0X2lv bW11X2luZm9fY2FwKGluZm8sIFZGSU9fSU9NTVVfVFlQRTFfSU5GT19DQVBfTUlHUkFUSU9OKTsK KyAgICAgaWYgKCFoZHIpIHsKK0BAIC01MjcsNyArNTI3LDcgQEAgc3RhdGljIHZvaWQgdmZpb19n ZXRfaW9tbXVfaW5mb19taWdyYXRpb24oVkZJT0xlZ2FjeUNvbnRhaW5lciAqY29udGFpbmVyLAor ICAgICB9CisgfQorIAorLXN0YXRpYyBib29sIHZmaW9fbGVnYWN5X3NldHVwKFZGSU9Db250YWlu ZXJCYXNlICpiY29udGFpbmVyLCBFcnJvciAqKmVycnApCisrc3RhdGljIGJvb2wgdmZpb19sZWdh Y3lfc2V0dXAoVkZJT0NvbnRhaW5lciAqYmNvbnRhaW5lciwgRXJyb3IgKiplcnJwKQorIHsKKyAg ICAgVkZJT0xlZ2FjeUNvbnRhaW5lciAqY29udGFpbmVyID0gVkZJT19JT01NVV9MRUdBQ1koYmNv bnRhaW5lcik7CisgICAgIGdfYXV0b2ZyZWUgc3RydWN0IHZmaW9faW9tbXVfdHlwZTFfaW5mbyAq aW5mbyA9IE5VTEw7CitAQCAtNjMzLDcgKzYzMyw3IEBAIHN0YXRpYyBib29sIHZmaW9fY29udGFp bmVyX2Nvbm5lY3QoVkZJT0dyb3VwICpncm91cCwgQWRkcmVzc1NwYWNlICphcywKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVycm9yICoqZXJycCkKKyB7CisgICAgIFZGSU9M ZWdhY3lDb250YWluZXIgKmNvbnRhaW5lcjsKKy0gICAgVkZJT0NvbnRhaW5lckJhc2UgKmJjb250 YWluZXI7CisrICAgIFZGSU9Db250YWluZXIgKmJjb250YWluZXI7CisgICAgIGludCByZXQsIGZk ID0gLTE7CisgICAgIFZGSU9BZGRyZXNzU3BhY2UgKnNwYWNlOworICAgICBWRklPSU9NTVVDbGFz cyAqdmlvYyA9IE5VTEw7CitAQCAtNzQ2LDcgKzc0Niw3IEBAIGZhaWw6Cisgc3RhdGljIHZvaWQg dmZpb19jb250YWluZXJfZGlzY29ubmVjdChWRklPR3JvdXAgKmdyb3VwKQorIHsKKyAgICAgVkZJ T0xlZ2FjeUNvbnRhaW5lciAqY29udGFpbmVyID0gZ3JvdXAtPmNvbnRhaW5lcjsKKy0gICAgVkZJ T0NvbnRhaW5lckJhc2UgKmJjb250YWluZXIgPSBWRklPX0lPTU1VKGNvbnRhaW5lcik7CisrICAg IFZGSU9Db250YWluZXIgKmJjb250YWluZXIgPSBWRklPX0lPTU1VKGNvbnRhaW5lcik7CisgICAg IFZGSU9JT01NVUNsYXNzICp2aW9jID0gVkZJT19JT01NVV9HRVRfQ0xBU1MoYmNvbnRhaW5lcik7 CisgCisgICAgIFFMSVNUX1JFTU9WRShncm91cCwgY29udGFpbmVyX25leHQpOworZGlmZiAtLWdp dCBhL2h3L3ZmaW8vY3ByLWlvbW11ZmQuYyBiL2h3L3ZmaW8vY3ByLWlvbW11ZmQuYworaW5kZXgg MTQ4YTA2ZDU1Mi4uNmFhZjZmNzdhMiAxMDA2NDQKKy0tLSBhL2h3L3ZmaW8vY3ByLWlvbW11ZmQu YworKysrIGIvaHcvdmZpby9jcHItaW9tbXVmZC5jCitAQCAtMTc2LDcgKzE3Niw3IEBAIHZvaWQg dmZpb19pb21tdWZkX2Nwcl91bnJlZ2lzdGVyX2lvbW11ZmQoSU9NTVVGREJhY2tlbmQgKmJlKQor IGJvb2wgdmZpb19pb21tdWZkX2Nwcl9yZWdpc3Rlcl9jb250YWluZXIoVkZJT0lPTU1VRkRDb250 YWluZXIgKmNvbnRhaW5lciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIEVycm9yICoqZXJycCkKKyB7CistICAgIFZGSU9Db250YWluZXJCYXNlICpiY29udGFpbmVy ID0gJmNvbnRhaW5lci0+YmNvbnRhaW5lcjsKKysgICAgVkZJT0NvbnRhaW5lciAqYmNvbnRhaW5l ciA9ICZjb250YWluZXItPmJjb250YWluZXI7CisgCisgICAgIG1pZ3JhdGlvbl9hZGRfbm90aWZp ZXJfbW9kZSgmYmNvbnRhaW5lci0+Y3ByX3JlYm9vdF9ub3RpZmllciwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHZmaW9fY3ByX3JlYm9vdF9ub3RpZmllciwKK0BAIC0xODksNyAr MTg5LDcgQEAgYm9vbCB2ZmlvX2lvbW11ZmRfY3ByX3JlZ2lzdGVyX2NvbnRhaW5lcihWRklPSU9N TVVGRENvbnRhaW5lciAqY29udGFpbmVyLAorIAorIHZvaWQgdmZpb19pb21tdWZkX2Nwcl91bnJl Z2lzdGVyX2NvbnRhaW5lcihWRklPSU9NTVVGRENvbnRhaW5lciAqY29udGFpbmVyKQorIHsKKy0g ICAgVkZJT0NvbnRhaW5lckJhc2UgKmJjb250YWluZXIgPSAmY29udGFpbmVyLT5iY29udGFpbmVy OworKyAgICBWRklPQ29udGFpbmVyICpiY29udGFpbmVyID0gJmNvbnRhaW5lci0+YmNvbnRhaW5l cjsKKyAKKyAgICAgbWlncmF0aW9uX3JlbW92ZV9ub3RpZmllcigmYmNvbnRhaW5lci0+Y3ByX3Jl Ym9vdF9ub3RpZmllcik7CisgfQorZGlmZiAtLWdpdCBhL2h3L3ZmaW8vY3ByLWxlZ2FjeS5jIGIv aHcvdmZpby9jcHItbGVnYWN5LmMKK2luZGV4IDEyYmY5MjBhN2QuLmJkM2Y2ZmMzZDMgMTAwNjQ0 CistLS0gYS9ody92ZmlvL2Nwci1sZWdhY3kuYworKysrIGIvaHcvdmZpby9jcHItbGVnYWN5LmMK K0BAIC0zOCw3ICszOCw3IEBAIHN0YXRpYyBib29sIHZmaW9fZG1hX3VubWFwX3ZhZGRyX2FsbChW RklPTGVnYWN5Q29udGFpbmVyICpjb250YWluZXIsCisgICogU2V0IHRoZSBuZXcgQHZhZGRyIGZv ciBhbnkgbWFwcGluZ3MgcmVnaXN0ZXJlZCBkdXJpbmcgY3ByIGxvYWQuCisgICogVGhlIGluY29t aW5nIHN0YXRlIGlzIGNsZWFyZWQgdGhlcmVhZnRlci4KKyAgKi8KKy1zdGF0aWMgaW50IHZmaW9f bGVnYWN5X2Nwcl9kbWFfbWFwKGNvbnN0IFZGSU9Db250YWluZXJCYXNlICpiY29udGFpbmVyLAor K3N0YXRpYyBpbnQgdmZpb19sZWdhY3lfY3ByX2RtYV9tYXAoY29uc3QgVkZJT0NvbnRhaW5lciAq YmNvbnRhaW5lciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGh3YWRkciBp b3ZhLCByYW1fYWRkcl90IHNpemUsIHZvaWQgKnZhZGRyLAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgYm9vbCByZWFkb25seSwgTWVtb3J5UmVnaW9uICptcikKKyB7CitAQCAt MTAwLDcgKzEwMCw3IEBAIHN0YXRpYyBpbnQgdmZpb19jb250YWluZXJfcHJlX3NhdmUodm9pZCAq b3BhcXVlKQorIHN0YXRpYyBpbnQgdmZpb19jb250YWluZXJfcG9zdF9sb2FkKHZvaWQgKm9wYXF1 ZSwgaW50IHZlcnNpb25faWQpCisgeworICAgICBWRklPTGVnYWN5Q29udGFpbmVyICpjb250YWlu ZXIgPSBvcGFxdWU7CistICAgIFZGSU9Db250YWluZXJCYXNlICpiY29udGFpbmVyID0gVkZJT19J T01NVShjb250YWluZXIpOworKyAgICBWRklPQ29udGFpbmVyICpiY29udGFpbmVyID0gVkZJT19J T01NVShjb250YWluZXIpOworICAgICBWRklPSU9NTVVDbGFzcyAqdmlvYyA9IFZGSU9fSU9NTVVf R0VUX0NMQVNTKGJjb250YWluZXIpOworICAgICBkbWFfbWFwX2ZuIHNhdmVkX2RtYV9tYXAgPSB2 aW9jLT5kbWFfbWFwOworICAgICBFcnJvciAqbG9jYWxfZXJyID0gTlVMTDsKK0BAIC0xMzcsNyAr MTM3LDcgQEAgc3RhdGljIGludCB2ZmlvX2Nwcl9mYWlsX25vdGlmaWVyKE5vdGlmaWVyV2l0aFJl dHVybiAqbm90aWZpZXIsCisgeworICAgICBWRklPTGVnYWN5Q29udGFpbmVyICpjb250YWluZXIg PQorICAgICAgICAgY29udGFpbmVyX29mKG5vdGlmaWVyLCBWRklPTGVnYWN5Q29udGFpbmVyLCBj cHIudHJhbnNmZXJfbm90aWZpZXIpOworLSAgICBWRklPQ29udGFpbmVyQmFzZSAqYmNvbnRhaW5l ciA9IFZGSU9fSU9NTVUoY29udGFpbmVyKTsKKysgICAgVkZJT0NvbnRhaW5lciAqYmNvbnRhaW5l ciA9IFZGSU9fSU9NTVUoY29udGFpbmVyKTsKKyAKKyAgICAgaWYgKGUtPnR5cGUgIT0gTUlHX0VW RU5UX1BSRUNPUFlfRkFJTEVEKSB7CisgICAgICAgICByZXR1cm4gMDsKK0BAIC0xNzAsNyArMTcw LDcgQEAgc3RhdGljIGludCB2ZmlvX2Nwcl9mYWlsX25vdGlmaWVyKE5vdGlmaWVyV2l0aFJldHVy biAqbm90aWZpZXIsCisgYm9vbCB2ZmlvX2xlZ2FjeV9jcHJfcmVnaXN0ZXJfY29udGFpbmVyKFZG SU9MZWdhY3lDb250YWluZXIgKmNvbnRhaW5lciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgRXJyb3IgKiplcnJwKQorIHsKKy0gICAgVkZJT0NvbnRhaW5lckJhc2Ug KmJjb250YWluZXIgPSBWRklPX0lPTU1VKGNvbnRhaW5lcik7CisrICAgIFZGSU9Db250YWluZXIg KmJjb250YWluZXIgPSBWRklPX0lPTU1VKGNvbnRhaW5lcik7CisgICAgIEVycm9yICoqY3ByX2Js b2NrZXIgPSAmY29udGFpbmVyLT5jcHIuYmxvY2tlcjsKKyAKKyAgICAgbWlncmF0aW9uX2FkZF9u b3RpZmllcl9tb2RlKCZiY29udGFpbmVyLT5jcHJfcmVib290X25vdGlmaWVyLAorQEAgLTE5NCw3 ICsxOTQsNyBAQCBib29sIHZmaW9fbGVnYWN5X2Nwcl9yZWdpc3Rlcl9jb250YWluZXIoVkZJT0xl Z2FjeUNvbnRhaW5lciAqY29udGFpbmVyLAorIAorIHZvaWQgdmZpb19sZWdhY3lfY3ByX3VucmVn aXN0ZXJfY29udGFpbmVyKFZGSU9MZWdhY3lDb250YWluZXIgKmNvbnRhaW5lcikKKyB7CistICAg IFZGSU9Db250YWluZXJCYXNlICpiY29udGFpbmVyID0gVkZJT19JT01NVShjb250YWluZXIpOwor KyAgICBWRklPQ29udGFpbmVyICpiY29udGFpbmVyID0gVkZJT19JT01NVShjb250YWluZXIpOwor IAorICAgICBtaWdyYXRpb25fcmVtb3ZlX25vdGlmaWVyKCZiY29udGFpbmVyLT5jcHJfcmVib290 X25vdGlmaWVyKTsKKyAgICAgbWlncmF0ZV9kZWxfYmxvY2tlcigmY29udGFpbmVyLT5jcHIuYmxv Y2tlcik7CitAQCAtMjEwLDcgKzIxMCw3IEBAIHZvaWQgdmZpb19sZWdhY3lfY3ByX3VucmVnaXN0 ZXJfY29udGFpbmVyKFZGSU9MZWdhY3lDb250YWluZXIgKmNvbnRhaW5lcikKKyAgKiBUaGUgZ2lv bW11IGFscmVhZHkgZXhpc3RzLiAgRmluZCBpdCBhbmQgcmVwbGF5IGl0LCB3aGljaCBjYWxscwor ICAqIHZmaW9fbGVnYWN5X2Nwcl9kbWFfbWFwIGZ1cnRoZXIgZG93biB0aGUgc3RhY2suCisgICov Cistdm9pZCB2ZmlvX2Nwcl9naW9tbXVfcmVtYXAoVkZJT0NvbnRhaW5lckJhc2UgKmJjb250YWlu ZXIsCisrdm9pZCB2ZmlvX2Nwcl9naW9tbXVfcmVtYXAoVkZJT0NvbnRhaW5lciAqYmNvbnRhaW5l ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBNZW1vcnlSZWdpb25TZWN0aW9uICpzZWN0 aW9uKQorIHsKKyAgICAgVkZJT0d1ZXN0SU9NTVUgKmdpb21tdSA9IE5VTEw7CitAQCAtMjM1LDcg KzIzNSw3IEBAIHZvaWQgdmZpb19jcHJfZ2lvbW11X3JlbWFwKFZGSU9Db250YWluZXJCYXNlICpi Y29udGFpbmVyLAorICAqIFRoZSByYW0gZGlzY2FyZCBsaXN0ZW5lciBhbHJlYWR5IGV4aXN0cy4g IENhbGwgaXRzIHBvcHVsYXRlIGZ1bmN0aW9uCisgICogZGlyZWN0bHksIHdoaWNoIGNhbGxzIHZm aW9fbGVnYWN5X2Nwcl9kbWFfbWFwLgorICAqLworLWJvb2wgdmZpb19jcHJfcmFtX2Rpc2NhcmRf cmVnaXN0ZXJfbGlzdGVuZXIoVkZJT0NvbnRhaW5lckJhc2UgKmJjb250YWluZXIsCisrYm9vbCB2 ZmlvX2Nwcl9yYW1fZGlzY2FyZF9yZWdpc3Rlcl9saXN0ZW5lcihWRklPQ29udGFpbmVyICpiY29u dGFpbmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWVt b3J5UmVnaW9uU2VjdGlvbiAqc2VjdGlvbikKKyB7CisgICAgIFZGSU9SYW1EaXNjYXJkTGlzdGVu ZXIgKnZyZGwgPQorZGlmZiAtLWdpdCBhL2h3L3ZmaW8vZGV2aWNlLmMgYi9ody92ZmlvL2Rldmlj ZS5jCitpbmRleCA0MTI2NzhhMWY2Li45MzFhOTQ5YzA4IDEwMDY0NAorLS0tIGEvaHcvdmZpby9k ZXZpY2UuYworKysrIGIvaHcvdmZpby9kZXZpY2UuYworQEAgLTQ3MSw3ICs0NzEsNyBAQCB2b2lk IHZmaW9fZGV2aWNlX2RldGFjaChWRklPRGV2aWNlICp2YmFzZWRldikKKyAgICAgVkZJT19JT01N VV9HRVRfQ0xBU1ModmJhc2VkZXYtPmJjb250YWluZXIpLT5kZXRhY2hfZGV2aWNlKHZiYXNlZGV2 KTsKKyB9CisgCistdm9pZCB2ZmlvX2RldmljZV9wcmVwYXJlKFZGSU9EZXZpY2UgKnZiYXNlZGV2 LCBWRklPQ29udGFpbmVyQmFzZSAqYmNvbnRhaW5lciwKKyt2b2lkIHZmaW9fZGV2aWNlX3ByZXBh cmUoVkZJT0RldmljZSAqdmJhc2VkZXYsIFZGSU9Db250YWluZXIgKmJjb250YWluZXIsCisgICAg ICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB2ZmlvX2RldmljZV9pbmZvICppbmZvKQorIHsK KyAgICAgaW50IGk7CitkaWZmIC0tZ2l0IGEvaHcvdmZpby9pb21tdWZkLmMgYi9ody92ZmlvL2lv bW11ZmQuYworaW5kZXggNjViOTRhYWEwMC4uMmViZDg3ZWM4ZiAxMDA2NDQKKy0tLSBhL2h3L3Zm aW8vaW9tbXVmZC5jCisrKysgYi9ody92ZmlvL2lvbW11ZmQuYworQEAgLTM0LDcgKzM0LDcgQEAK KyAjZGVmaW5lIFRZUEVfSE9TVF9JT01NVV9ERVZJQ0VfSU9NTVVGRF9WRklPICAgICAgICAgICAg IFwKKyAgICAgICAgICAgICBUWVBFX0hPU1RfSU9NTVVfREVWSUNFX0lPTU1VRkQgIi12ZmlvIgor IAorLXN0YXRpYyBpbnQgaW9tbXVmZF9jZGV2X21hcChjb25zdCBWRklPQ29udGFpbmVyQmFzZSAq YmNvbnRhaW5lciwgaHdhZGRyIGlvdmEsCisrc3RhdGljIGludCBpb21tdWZkX2NkZXZfbWFwKGNv bnN0IFZGSU9Db250YWluZXIgKmJjb250YWluZXIsIGh3YWRkciBpb3ZhLAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICByYW1fYWRkcl90IHNpemUsIHZvaWQgKnZhZGRyLCBib29sIHJlYWRv bmx5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNZW1vcnlSZWdpb24gKm1yKQorIHsK K0BAIC00Niw3ICs0Niw3IEBAIHN0YXRpYyBpbnQgaW9tbXVmZF9jZGV2X21hcChjb25zdCBWRklP Q29udGFpbmVyQmFzZSAqYmNvbnRhaW5lciwgaHdhZGRyIGlvdmEsCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBpb3ZhLCBzaXplLCB2YWRkciwgcmVhZG9ubHkpOworIH0KKyAK Ky1zdGF0aWMgaW50IGlvbW11ZmRfY2Rldl9tYXBfZmlsZShjb25zdCBWRklPQ29udGFpbmVyQmFz ZSAqYmNvbnRhaW5lciwKKytzdGF0aWMgaW50IGlvbW11ZmRfY2Rldl9tYXBfZmlsZShjb25zdCBW RklPQ29udGFpbmVyICpiY29udGFpbmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGh3YWRkciBpb3ZhLCByYW1fYWRkcl90IHNpemUsCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgaW50IGZkLCB1bnNpZ25lZCBsb25nIHN0YXJ0LCBib29sIHJlYWRvbmx5KQor IHsKK0BAIC01OCw3ICs1OCw3IEBAIHN0YXRpYyBpbnQgaW9tbXVmZF9jZGV2X21hcF9maWxlKGNv bnN0IFZGSU9Db250YWluZXJCYXNlICpiY29udGFpbmVyLAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBpb3ZhLCBzaXplLCBmZCwgc3RhcnQsIHJlYWRvbmx5KTsKKyB9 CisgCistc3RhdGljIGludCBpb21tdWZkX2NkZXZfdW5tYXAoY29uc3QgVkZJT0NvbnRhaW5lckJh c2UgKmJjb250YWluZXIsCisrc3RhdGljIGludCBpb21tdWZkX2NkZXZfdW5tYXAoY29uc3QgVkZJ T0NvbnRhaW5lciAqYmNvbnRhaW5lciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBo d2FkZHIgaW92YSwgcmFtX2FkZHJfdCBzaXplLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIElPTU1VVExCRW50cnkgKmlvdGxiLCBib29sIHVubWFwX2FsbCkKKyB7CitAQCAtMTU5LDcg KzE1OSw3IEBAIHN0YXRpYyBib29sIGlvbW11ZmRfaHdwdF9kaXJ0eV90cmFja2luZyhWRklPSU9B U0h3cHQgKmh3cHQpCisgICAgIHJldHVybiBod3B0ICYmIGh3cHQtPmh3cHRfZmxhZ3MgJiBJT01N VV9IV1BUX0FMTE9DX0RJUlRZX1RSQUNLSU5HOworIH0KKyAKKy1zdGF0aWMgaW50IGlvbW11ZmRf c2V0X2RpcnR5X3BhZ2VfdHJhY2tpbmcoY29uc3QgVkZJT0NvbnRhaW5lckJhc2UgKmJjb250YWlu ZXIsCisrc3RhdGljIGludCBpb21tdWZkX3NldF9kaXJ0eV9wYWdlX3RyYWNraW5nKGNvbnN0IFZG SU9Db250YWluZXIgKmJjb250YWluZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGJvb2wgc3RhcnQsIEVycm9yICoqZXJycCkKKyB7CisgICAgIGNvbnN0IFZG SU9JT01NVUZEQ29udGFpbmVyICpjb250YWluZXIgPQorQEAgLTE5MCw3ICsxOTAsNyBAQCBlcnI6 CisgICAgIHJldHVybiAtRUlOVkFMOworIH0KKyAKKy1zdGF0aWMgaW50IGlvbW11ZmRfcXVlcnlf ZGlydHlfYml0bWFwKGNvbnN0IFZGSU9Db250YWluZXJCYXNlICpiY29udGFpbmVyLAorK3N0YXRp YyBpbnQgaW9tbXVmZF9xdWVyeV9kaXJ0eV9iaXRtYXAoY29uc3QgVkZJT0NvbnRhaW5lciAqYmNv bnRhaW5lciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZGSU9CaXRt YXAgKnZibWFwLCBod2FkZHIgaW92YSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGh3YWRkciBzaXplLCBFcnJvciAqKmVycnApCisgeworQEAgLTQ2NCw3ICs0NjQsNyBA QCBzdGF0aWMgdm9pZCBpb21tdWZkX2NkZXZfZGV0YWNoX2NvbnRhaW5lcihWRklPRGV2aWNlICp2 YmFzZWRldiwKKyAKKyBzdGF0aWMgdm9pZCBpb21tdWZkX2NkZXZfY29udGFpbmVyX2Rlc3Ryb3ko VkZJT0lPTU1VRkRDb250YWluZXIgKmNvbnRhaW5lcikKKyB7CistICAgIFZGSU9Db250YWluZXJC YXNlICpiY29udGFpbmVyID0gJmNvbnRhaW5lci0+YmNvbnRhaW5lcjsKKysgICAgVkZJT0NvbnRh aW5lciAqYmNvbnRhaW5lciA9ICZjb250YWluZXItPmJjb250YWluZXI7CisgCisgICAgIGlmICgh UUxJU1RfRU1QVFkoJmJjb250YWluZXItPmRldmljZV9saXN0KSkgeworICAgICAgICAgcmV0dXJu OworQEAgLTQ4Niw3ICs0ODYsNyBAQCBzdGF0aWMgaW50IGlvbW11ZmRfY2Rldl9yYW1fYmxvY2tf ZGlzY2FyZF9kaXNhYmxlKGJvb2wgc3RhdGUpCisgc3RhdGljIGJvb2wgaW9tbXVmZF9jZGV2X2dl dF9pbmZvX2lvdmFfcmFuZ2UoVkZJT0lPTU1VRkRDb250YWluZXIgKmNvbnRhaW5lciwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBpb2FzX2lk LCBFcnJvciAqKmVycnApCisgeworLSAgICBWRklPQ29udGFpbmVyQmFzZSAqYmNvbnRhaW5lciA9 ICZjb250YWluZXItPmJjb250YWluZXI7CisrICAgIFZGSU9Db250YWluZXIgKmJjb250YWluZXIg PSAmY29udGFpbmVyLT5iY29udGFpbmVyOworICAgICBnX2F1dG9mcmVlIHN0cnVjdCBpb21tdV9p b2FzX2lvdmFfcmFuZ2VzICppbmZvID0gTlVMTDsKKyAgICAgc3RydWN0IGlvbW11X2lvdmFfcmFu Z2UgKmlvdmFfcmFuZ2VzOworICAgICBpbnQgc3osIGZkID0gY29udGFpbmVyLT5iZS0+ZmQ7CitA QCAtNTI4LDcgKzUyOCw3IEBAIGVycm9yOgorIHN0YXRpYyBib29sIGlvbW11ZmRfY2Rldl9hdHRh Y2goY29uc3QgY2hhciAqbmFtZSwgVkZJT0RldmljZSAqdmJhc2VkZXYsCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBBZGRyZXNzU3BhY2UgKmFzLCBFcnJvciAqKmVycnApCisgewor LSAgICBWRklPQ29udGFpbmVyQmFzZSAqYmNvbnRhaW5lcjsKKysgICAgVkZJT0NvbnRhaW5lciAq YmNvbnRhaW5lcjsKKyAgICAgVkZJT0lPTU1VRkRDb250YWluZXIgKmNvbnRhaW5lcjsKKyAgICAg VkZJT0FkZHJlc3NTcGFjZSAqc3BhY2U7CisgICAgIHN0cnVjdCB2ZmlvX2RldmljZV9pbmZvIGRl dl9pbmZvID0geyAuYXJnc3ogPSBzaXplb2YoZGV2X2luZm8pIH07CitAQCAtNjg4LDcgKzY4OCw3 IEBAIGVycl9jb25uZWN0X2JpbmQ6CisgCisgc3RhdGljIHZvaWQgaW9tbXVmZF9jZGV2X2RldGFj aChWRklPRGV2aWNlICp2YmFzZWRldikKKyB7CistICAgIFZGSU9Db250YWluZXJCYXNlICpiY29u dGFpbmVyID0gdmJhc2VkZXYtPmJjb250YWluZXI7CisrICAgIFZGSU9Db250YWluZXIgKmJjb250 YWluZXIgPSB2YmFzZWRldi0+YmNvbnRhaW5lcjsKKyAgICAgVkZJT0FkZHJlc3NTcGFjZSAqc3Bh Y2UgPSBiY29udGFpbmVyLT5zcGFjZTsKKyAgICAgVkZJT0lPTU1VRkRDb250YWluZXIgKmNvbnRh aW5lciA9IGNvbnRhaW5lcl9vZihiY29udGFpbmVyLAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZGSU9JT01NVUZEQ29udGFpbmVyLAorZGlmZiAt LWdpdCBhL2h3L3ZmaW8vbGlzdGVuZXIuYyBiL2h3L3ZmaW8vbGlzdGVuZXIuYworaW5kZXggZTA5 MzgzMzE2NS4uM2I2ZjE3ZjBjMyAxMDA2NDQKKy0tLSBhL2h3L3ZmaW8vbGlzdGVuZXIuYworKysr IGIvaHcvdmZpby9saXN0ZW5lci5jCitAQCAtNTIsNyArNTIsNyBAQAorICAqLworIAorIAorLXN0 YXRpYyBib29sIHZmaW9fbG9nX3N5bmNfbmVlZGVkKGNvbnN0IFZGSU9Db250YWluZXJCYXNlICpi Y29udGFpbmVyKQorK3N0YXRpYyBib29sIHZmaW9fbG9nX3N5bmNfbmVlZGVkKGNvbnN0IFZGSU9D b250YWluZXIgKmJjb250YWluZXIpCisgeworICAgICBWRklPRGV2aWNlICp2YmFzZWRldjsKKyAK K0BAIC0xMjUsNyArMTI1LDcgQEAgc3RhdGljIE1lbW9yeVJlZ2lvbiAqdmZpb190cmFuc2xhdGVf aW90bGIoSU9NTVVUTEJFbnRyeSAqaW90bGIsIGh3YWRkciAqeGxhdF9wLAorIHN0YXRpYyB2b2lk IHZmaW9faW9tbXVfbWFwX25vdGlmeShJT01NVU5vdGlmaWVyICpuLCBJT01NVVRMQkVudHJ5ICpp b3RsYikKKyB7CisgICAgIFZGSU9HdWVzdElPTU1VICpnaW9tbXUgPSBjb250YWluZXJfb2Yobiwg VkZJT0d1ZXN0SU9NTVUsIG4pOworLSAgICBWRklPQ29udGFpbmVyQmFzZSAqYmNvbnRhaW5lciA9 IGdpb21tdS0+YmNvbnRhaW5lcjsKKysgICAgVkZJT0NvbnRhaW5lciAqYmNvbnRhaW5lciA9IGdp b21tdS0+YmNvbnRhaW5lcjsKKyAgICAgaHdhZGRyIGlvdmEgPSBpb3RsYi0+aW92YSArIGdpb21t dS0+aW9tbXVfb2Zmc2V0OworICAgICBNZW1vcnlSZWdpb24gKm1yOworICAgICBod2FkZHIgeGxh dDsKK0BAIC0yMDIsNyArMjAyLDcgQEAgc3RhdGljIHZvaWQgdmZpb19yYW1fZGlzY2FyZF9ub3Rp ZnlfZGlzY2FyZChSYW1EaXNjYXJkTGlzdGVuZXIgKnJkbCwKKyB7CisgICAgIFZGSU9SYW1EaXNj YXJkTGlzdGVuZXIgKnZyZGwgPSBjb250YWluZXJfb2YocmRsLCBWRklPUmFtRGlzY2FyZExpc3Rl bmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxp c3RlbmVyKTsKKy0gICAgVkZJT0NvbnRhaW5lckJhc2UgKmJjb250YWluZXIgPSB2cmRsLT5iY29u dGFpbmVyOworKyAgICBWRklPQ29udGFpbmVyICpiY29udGFpbmVyID0gdnJkbC0+YmNvbnRhaW5l cjsKKyAgICAgY29uc3QgaHdhZGRyIHNpemUgPSBpbnQxMjhfZ2V0NjQoc2VjdGlvbi0+c2l6ZSk7 CisgICAgIGNvbnN0IGh3YWRkciBpb3ZhID0gc2VjdGlvbi0+b2Zmc2V0X3dpdGhpbl9hZGRyZXNz X3NwYWNlOworICAgICBpbnQgcmV0OworQEAgLTIyMCw3ICsyMjAsNyBAQCBzdGF0aWMgaW50IHZm aW9fcmFtX2Rpc2NhcmRfbm90aWZ5X3BvcHVsYXRlKFJhbURpc2NhcmRMaXN0ZW5lciAqcmRsLAor IHsKKyAgICAgVkZJT1JhbURpc2NhcmRMaXN0ZW5lciAqdnJkbCA9IGNvbnRhaW5lcl9vZihyZGws IFZGSU9SYW1EaXNjYXJkTGlzdGVuZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgbGlzdGVuZXIpOworLSAgICBWRklPQ29udGFpbmVyQmFzZSAqYmNv bnRhaW5lciA9IHZyZGwtPmJjb250YWluZXI7CisrICAgIFZGSU9Db250YWluZXIgKmJjb250YWlu ZXIgPSB2cmRsLT5iY29udGFpbmVyOworICAgICBjb25zdCBod2FkZHIgZW5kID0gc2VjdGlvbi0+ b2Zmc2V0X3dpdGhpbl9yZWdpb24gKworICAgICAgICAgICAgICAgICAgICAgICAgaW50MTI4X2dl dDY0KHNlY3Rpb24tPnNpemUpOworICAgICBod2FkZHIgc3RhcnQsIG5leHQsIGlvdmE7CitAQCAt MjUwLDcgKzI1MCw3IEBAIHN0YXRpYyBpbnQgdmZpb19yYW1fZGlzY2FyZF9ub3RpZnlfcG9wdWxh dGUoUmFtRGlzY2FyZExpc3RlbmVyICpyZGwsCisgICAgIHJldHVybiAwOworIH0KKyAKKy1zdGF0 aWMgYm9vbCB2ZmlvX3JhbV9kaXNjYXJkX3JlZ2lzdGVyX2xpc3RlbmVyKFZGSU9Db250YWluZXJC YXNlICpiY29udGFpbmVyLAorK3N0YXRpYyBib29sIHZmaW9fcmFtX2Rpc2NhcmRfcmVnaXN0ZXJf bGlzdGVuZXIoVkZJT0NvbnRhaW5lciAqYmNvbnRhaW5lciwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1lbW9yeVJlZ2lvblNlY3Rpb24gKnNlY3Rpb24s CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFcnJvciAq KmVycnApCisgeworQEAgLTMyOCw3ICszMjgsNyBAQCBzdGF0aWMgYm9vbCB2ZmlvX3JhbV9kaXNj YXJkX3JlZ2lzdGVyX2xpc3RlbmVyKFZGSU9Db250YWluZXJCYXNlICpiY29udGFpbmVyLAorICAg ICByZXR1cm4gdHJ1ZTsKKyB9CisgCistc3RhdGljIHZvaWQgdmZpb19yYW1fZGlzY2FyZF91bnJl Z2lzdGVyX2xpc3RlbmVyKFZGSU9Db250YWluZXJCYXNlICpiY29udGFpbmVyLAorK3N0YXRpYyB2 b2lkIHZmaW9fcmFtX2Rpc2NhcmRfdW5yZWdpc3Rlcl9saXN0ZW5lcihWRklPQ29udGFpbmVyICpi Y29udGFpbmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBNZW1vcnlSZWdpb25TZWN0aW9uICpzZWN0aW9uKQorIHsKKyAgICAgUmFtRGlzY2FyZE1h bmFnZXIgKnJkbSA9IG1lbW9yeV9yZWdpb25fZ2V0X3JhbV9kaXNjYXJkX21hbmFnZXIoc2VjdGlv bi0+bXIpOworQEAgLTM5Niw3ICszOTYsNyBAQCBzdGF0aWMgYm9vbCB2ZmlvX2xpc3RlbmVyX3Zh bGlkX3NlY3Rpb24oTWVtb3J5UmVnaW9uU2VjdGlvbiAqc2VjdGlvbiwKKyAgICAgcmV0dXJuIHRy dWU7CisgfQorIAorLXN0YXRpYyBib29sIHZmaW9fZ2V0X3NlY3Rpb25faW92YV9yYW5nZShWRklP Q29udGFpbmVyQmFzZSAqYmNvbnRhaW5lciwKKytzdGF0aWMgYm9vbCB2ZmlvX2dldF9zZWN0aW9u X2lvdmFfcmFuZ2UoVkZJT0NvbnRhaW5lciAqYmNvbnRhaW5lciwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgTWVtb3J5UmVnaW9uU2VjdGlvbiAqc2VjdGlvbiwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHdhZGRyICpvdXRfaW92YSwg aHdhZGRyICpvdXRfZW5kLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBJbnQxMjggKm91dF9sbGVuZCkKK0BAIC00MjMsOSArNDIzLDkgQEAgc3RhdGljIGJvb2wgdmZp b19nZXRfc2VjdGlvbl9pb3ZhX3JhbmdlKFZGSU9Db250YWluZXJCYXNlICpiY29udGFpbmVyLAor IAorIHN0YXRpYyB2b2lkIHZmaW9fbGlzdGVuZXJfYmVnaW4oTWVtb3J5TGlzdGVuZXIgKmxpc3Rl bmVyKQorIHsKKy0gICAgVkZJT0NvbnRhaW5lckJhc2UgKmJjb250YWluZXIgPSBjb250YWluZXJf b2YobGlzdGVuZXIsIFZGSU9Db250YWluZXJCYXNlLAorLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0ZW5lcik7CistICAgIHZvaWQgKCpsaXN0ZW5l cl9iZWdpbikoVkZJT0NvbnRhaW5lckJhc2UgKmJjb250YWluZXIpOworKyAgICBWRklPQ29udGFp bmVyICpiY29udGFpbmVyID0gY29udGFpbmVyX29mKGxpc3RlbmVyLCBWRklPQ29udGFpbmVyLAor KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpc3RlbmVyKTsK KysgICAgdm9pZCAoKmxpc3RlbmVyX2JlZ2luKShWRklPQ29udGFpbmVyICpiY29udGFpbmVyKTsK KyAKKyAgICAgbGlzdGVuZXJfYmVnaW4gPSBWRklPX0lPTU1VX0dFVF9DTEFTUyhiY29udGFpbmVy KS0+bGlzdGVuZXJfYmVnaW47CisgCitAQCAtNDM2LDkgKzQzNiw5IEBAIHN0YXRpYyB2b2lkIHZm aW9fbGlzdGVuZXJfYmVnaW4oTWVtb3J5TGlzdGVuZXIgKmxpc3RlbmVyKQorIAorIHN0YXRpYyB2 b2lkIHZmaW9fbGlzdGVuZXJfY29tbWl0KE1lbW9yeUxpc3RlbmVyICpsaXN0ZW5lcikKKyB7Cist ICAgIFZGSU9Db250YWluZXJCYXNlICpiY29udGFpbmVyID0gY29udGFpbmVyX29mKGxpc3RlbmVy LCBWRklPQ29udGFpbmVyQmFzZSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgbGlzdGVuZXIpOworLSAgICB2b2lkICgqbGlzdGVuZXJfY29tbWl0KShW RklPQ29udGFpbmVyQmFzZSAqYmNvbnRhaW5lcik7CisrICAgIFZGSU9Db250YWluZXIgKmJjb250 YWluZXIgPSBjb250YWluZXJfb2YobGlzdGVuZXIsIFZGSU9Db250YWluZXIsCisrICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlzdGVuZXIpOworKyAgICB2b2lk ICgqbGlzdGVuZXJfY29tbWl0KShWRklPQ29udGFpbmVyICpiY29udGFpbmVyKTsKKyAKKyAgICAg bGlzdGVuZXJfY29tbWl0ID0gVkZJT19JT01NVV9HRVRfQ0xBU1MoYmNvbnRhaW5lciktPmxpc3Rl bmVyX2NvbW1pdDsKKyAKK0BAIC00NjAsNyArNDYwLDcgQEAgc3RhdGljIHZvaWQgdmZpb19kZXZp Y2VfZXJyb3JfYXBwZW5kKFZGSU9EZXZpY2UgKnZiYXNlZGV2LCBFcnJvciAqKmVycnApCisgfQor IAorIFZGSU9SYW1EaXNjYXJkTGlzdGVuZXIgKnZmaW9fZmluZF9yYW1fZGlzY2FyZF9saXN0ZW5l cigKKy0gICAgVkZJT0NvbnRhaW5lckJhc2UgKmJjb250YWluZXIsIE1lbW9yeVJlZ2lvblNlY3Rp b24gKnNlY3Rpb24pCisrICAgIFZGSU9Db250YWluZXIgKmJjb250YWluZXIsIE1lbW9yeVJlZ2lv blNlY3Rpb24gKnNlY3Rpb24pCisgeworICAgICBWRklPUmFtRGlzY2FyZExpc3RlbmVyICp2cmRs ID0gTlVMTDsKKyAKK0BAIC00ODIsMTIgKzQ4MiwxMiBAQCBWRklPUmFtRGlzY2FyZExpc3RlbmVy ICp2ZmlvX2ZpbmRfcmFtX2Rpc2NhcmRfbGlzdGVuZXIoCisgc3RhdGljIHZvaWQgdmZpb19saXN0 ZW5lcl9yZWdpb25fYWRkKE1lbW9yeUxpc3RlbmVyICpsaXN0ZW5lciwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgTWVtb3J5UmVnaW9uU2VjdGlvbiAqc2VjdGlvbikKKyB7 CistICAgIFZGSU9Db250YWluZXJCYXNlICpiY29udGFpbmVyID0gY29udGFpbmVyX29mKGxpc3Rl bmVyLCBWRklPQ29udGFpbmVyQmFzZSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgbGlzdGVuZXIpOworKyAgICBWRklPQ29udGFpbmVyICpiY29udGFp bmVyID0gY29udGFpbmVyX29mKGxpc3RlbmVyLCBWRklPQ29udGFpbmVyLAorKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpc3RlbmVyKTsKKyAgICAgdmZpb19j b250YWluZXJfcmVnaW9uX2FkZChiY29udGFpbmVyLCBzZWN0aW9uLCBmYWxzZSk7CisgfQorIAor LXZvaWQgdmZpb19jb250YWluZXJfcmVnaW9uX2FkZChWRklPQ29udGFpbmVyQmFzZSAqYmNvbnRh aW5lciwKKyt2b2lkIHZmaW9fY29udGFpbmVyX3JlZ2lvbl9hZGQoVkZJT0NvbnRhaW5lciAqYmNv bnRhaW5lciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWVtb3J5UmVnaW9uU2Vj dGlvbiAqc2VjdGlvbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBjcHJf cmVtYXApCisgeworQEAgLTY1Niw4ICs2NTYsOCBAQCBmYWlsOgorIHN0YXRpYyB2b2lkIHZmaW9f bGlzdGVuZXJfcmVnaW9uX2RlbChNZW1vcnlMaXN0ZW5lciAqbGlzdGVuZXIsCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1lbW9yeVJlZ2lvblNlY3Rpb24gKnNlY3Rpb24p CisgeworLSAgICBWRklPQ29udGFpbmVyQmFzZSAqYmNvbnRhaW5lciA9IGNvbnRhaW5lcl9vZihs aXN0ZW5lciwgVkZJT0NvbnRhaW5lckJhc2UsCistICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGxpc3RlbmVyKTsKKysgICAgVkZJT0NvbnRhaW5lciAqYmNv bnRhaW5lciA9IGNvbnRhaW5lcl9vZihsaXN0ZW5lciwgVkZJT0NvbnRhaW5lciwKKysgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0ZW5lcik7CisgICAgIGh3 YWRkciBpb3ZhLCBlbmQ7CisgICAgIEludDEyOCBsbGVuZCwgbGxzaXplOworICAgICBpbnQgcmV0 OworQEAgLTc0NCwxMyArNzQ0LDEzIEBAIHR5cGVkZWYgc3RydWN0IFZGSU9EaXJ0eVJhbmdlcyB7 CisgfSBWRklPRGlydHlSYW5nZXM7CisgCisgdHlwZWRlZiBzdHJ1Y3QgVkZJT0RpcnR5UmFuZ2Vz TGlzdGVuZXIgeworLSAgICBWRklPQ29udGFpbmVyQmFzZSAqYmNvbnRhaW5lcjsKKysgICAgVkZJ T0NvbnRhaW5lciAqYmNvbnRhaW5lcjsKKyAgICAgVkZJT0RpcnR5UmFuZ2VzIHJhbmdlczsKKyAg ICAgTWVtb3J5TGlzdGVuZXIgbGlzdGVuZXI7CisgfSBWRklPRGlydHlSYW5nZXNMaXN0ZW5lcjsK KyAKKyBzdGF0aWMgYm9vbCB2ZmlvX3NlY3Rpb25faXNfdmZpb19wY2koTWVtb3J5UmVnaW9uU2Vj dGlvbiAqc2VjdGlvbiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVkZJ T0NvbnRhaW5lckJhc2UgKmJjb250YWluZXIpCisrICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFZGSU9Db250YWluZXIgKmJjb250YWluZXIpCisgeworICAgICBWRklPUENJRGV2 aWNlICpwY2lkZXY7CisgICAgIFZGSU9EZXZpY2UgKnZiYXNlZGV2OworQEAgLTgzNSw3ICs4MzUs NyBAQCBzdGF0aWMgY29uc3QgTWVtb3J5TGlzdGVuZXIgdmZpb19kaXJ0eV90cmFja2luZ19saXN0 ZW5lciA9IHsKKyAgICAgLnJlZ2lvbl9hZGQgPSB2ZmlvX2RpcnR5X3RyYWNraW5nX3VwZGF0ZSwK KyB9OworIAorLXN0YXRpYyB2b2lkIHZmaW9fZGlydHlfdHJhY2tpbmdfaW5pdChWRklPQ29udGFp bmVyQmFzZSAqYmNvbnRhaW5lciwKKytzdGF0aWMgdm9pZCB2ZmlvX2RpcnR5X3RyYWNraW5nX2lu aXQoVkZJT0NvbnRhaW5lciAqYmNvbnRhaW5lciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgVkZJT0RpcnR5UmFuZ2VzICpyYW5nZXMpCisgeworICAgICBWRklPRGlydHlS YW5nZXNMaXN0ZW5lciBkaXJ0eTsKK0BAIC04NjAsNyArODYwLDcgQEAgc3RhdGljIHZvaWQgdmZp b19kaXJ0eV90cmFja2luZ19pbml0KFZGSU9Db250YWluZXJCYXNlICpiY29udGFpbmVyLAorICAg ICBtZW1vcnlfbGlzdGVuZXJfdW5yZWdpc3RlcigmZGlydHkubGlzdGVuZXIpOworIH0KKyAKKy1z dGF0aWMgdm9pZCB2ZmlvX2RldmljZXNfZG1hX2xvZ2dpbmdfc3RvcChWRklPQ29udGFpbmVyQmFz ZSAqYmNvbnRhaW5lcikKKytzdGF0aWMgdm9pZCB2ZmlvX2RldmljZXNfZG1hX2xvZ2dpbmdfc3Rv cChWRklPQ29udGFpbmVyICpiY29udGFpbmVyKQorIHsKKyAgICAgdWludDY0X3QgYnVmW0RJVl9S T1VORF9VUChzaXplb2Yoc3RydWN0IHZmaW9fZGV2aWNlX2ZlYXR1cmUpLAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHNpemVvZih1aW50NjRfdCkpXSA9IHt9OworQEAgLTg4OSw3ICs4 ODksNyBAQCBzdGF0aWMgdm9pZCB2ZmlvX2RldmljZXNfZG1hX2xvZ2dpbmdfc3RvcChWRklPQ29u dGFpbmVyQmFzZSAqYmNvbnRhaW5lcikKKyB9CisgCisgc3RhdGljIHN0cnVjdCB2ZmlvX2Rldmlj ZV9mZWF0dXJlICoKKy12ZmlvX2RldmljZV9mZWF0dXJlX2RtYV9sb2dnaW5nX3N0YXJ0X2NyZWF0 ZShWRklPQ29udGFpbmVyQmFzZSAqYmNvbnRhaW5lciwKKyt2ZmlvX2RldmljZV9mZWF0dXJlX2Rt YV9sb2dnaW5nX3N0YXJ0X2NyZWF0ZShWRklPQ29udGFpbmVyICpiY29udGFpbmVyLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZGSU9EaXJ0eVJhbmdlcyAq dHJhY2tpbmcpCisgeworICAgICBzdHJ1Y3QgdmZpb19kZXZpY2VfZmVhdHVyZSAqZmVhdHVyZTsK K0BAIC05NjIsNyArOTYyLDcgQEAgc3RhdGljIHZvaWQgdmZpb19kZXZpY2VfZmVhdHVyZV9kbWFf bG9nZ2luZ19zdGFydF9kZXN0cm95KAorICAgICBnX2ZyZWUoZmVhdHVyZSk7CisgfQorIAorLXN0 YXRpYyBib29sIHZmaW9fZGV2aWNlc19kbWFfbG9nZ2luZ19zdGFydChWRklPQ29udGFpbmVyQmFz ZSAqYmNvbnRhaW5lciwKKytzdGF0aWMgYm9vbCB2ZmlvX2RldmljZXNfZG1hX2xvZ2dpbmdfc3Rh cnQoVkZJT0NvbnRhaW5lciAqYmNvbnRhaW5lciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBFcnJvciAqKmVycnApCisgeworICAgICBzdHJ1Y3QgdmZpb19kZXZp Y2VfZmVhdHVyZSAqZmVhdHVyZTsKK0BAIC0xMDA2LDggKzEwMDYsOCBAQCBzdGF0aWMgYm9vbCB2 ZmlvX2xpc3RlbmVyX2xvZ19nbG9iYWxfc3RhcnQoTWVtb3J5TGlzdGVuZXIgKmxpc3RlbmVyLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFcnJvciAqKmVycnAp CisgeworICAgICBFUlJQX0dVQVJEKCk7CistICAgIFZGSU9Db250YWluZXJCYXNlICpiY29udGFp bmVyID0gY29udGFpbmVyX29mKGxpc3RlbmVyLCBWRklPQ29udGFpbmVyQmFzZSwKKy0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlzdGVuZXIpOworKyAg ICBWRklPQ29udGFpbmVyICpiY29udGFpbmVyID0gY29udGFpbmVyX29mKGxpc3RlbmVyLCBWRklP Q29udGFpbmVyLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGxpc3RlbmVyKTsKKyAgICAgYm9vbCByZXQ7CisgCisgICAgIGlmICh2ZmlvX2NvbnRhaW5lcl9k ZXZpY2VzX2RpcnR5X3RyYWNraW5nX2lzX3N1cHBvcnRlZChiY29udGFpbmVyKSkgeworQEAgLTEw MjQsOCArMTAyNCw4IEBAIHN0YXRpYyBib29sIHZmaW9fbGlzdGVuZXJfbG9nX2dsb2JhbF9zdGFy dChNZW1vcnlMaXN0ZW5lciAqbGlzdGVuZXIsCisgCisgc3RhdGljIHZvaWQgdmZpb19saXN0ZW5l cl9sb2dfZ2xvYmFsX3N0b3AoTWVtb3J5TGlzdGVuZXIgKmxpc3RlbmVyKQorIHsKKy0gICAgVkZJ T0NvbnRhaW5lckJhc2UgKmJjb250YWluZXIgPSBjb250YWluZXJfb2YobGlzdGVuZXIsIFZGSU9D b250YWluZXJCYXNlLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBsaXN0ZW5lcik7CisrICAgIFZGSU9Db250YWluZXIgKmJjb250YWluZXIgPSBjb250 YWluZXJfb2YobGlzdGVuZXIsIFZGSU9Db250YWluZXIsCisrICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgbGlzdGVuZXIpOworICAgICBFcnJvciAqbG9jYWxfZXJy ID0gTlVMTDsKKyAgICAgaW50IHJldCA9IDA7CisgCitAQCAtMTA1Nyw3ICsxMDU3LDcgQEAgc3Rh dGljIHZvaWQgdmZpb19pb21tdV9tYXBfZGlydHlfbm90aWZ5KElPTU1VTm90aWZpZXIgKm4sIElP TU1VVExCRW50cnkgKmlvdGxiKQorICAgICB2ZmlvX2dpb21tdV9kaXJ0eV9ub3RpZmllciAqZ2Ru ID0gY29udGFpbmVyX29mKG4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgdmZpb19naW9tbXVfZGlydHlfbm90aWZpZXIsIG4pOworICAgICBWRklPR3Vl c3RJT01NVSAqZ2lvbW11ID0gZ2RuLT5naW9tbXU7CistICAgIFZGSU9Db250YWluZXJCYXNlICpi Y29udGFpbmVyID0gZ2lvbW11LT5iY29udGFpbmVyOworKyAgICBWRklPQ29udGFpbmVyICpiY29u dGFpbmVyID0gZ2lvbW11LT5iY29udGFpbmVyOworICAgICBod2FkZHIgaW92YSA9IGlvdGxiLT5p b3ZhICsgZ2lvbW11LT5pb21tdV9vZmZzZXQ7CisgICAgIHJhbV9hZGRyX3QgdHJhbnNsYXRlZF9h ZGRyOworICAgICBFcnJvciAqbG9jYWxfZXJyID0gTlVMTDsKK0BAIC0xMTI3LDcgKzExMjcsNyBA QCBzdGF0aWMgaW50IHZmaW9fcmFtX2Rpc2NhcmRfcXVlcnlfZGlydHlfYml0bWFwKE1lbW9yeVJl Z2lvblNlY3Rpb24gKnNlY3Rpb24sCisgfQorIAorIHN0YXRpYyBpbnQKKy12ZmlvX3N5bmNfcmFt X2Rpc2NhcmRfbGlzdGVuZXJfZGlydHlfYml0bWFwKFZGSU9Db250YWluZXJCYXNlICpiY29udGFp bmVyLAorK3ZmaW9fc3luY19yYW1fZGlzY2FyZF9saXN0ZW5lcl9kaXJ0eV9iaXRtYXAoVkZJT0Nv bnRhaW5lciAqYmNvbnRhaW5lciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIE1lbW9yeVJlZ2lvblNlY3Rpb24gKnNlY3Rpb24pCisgeworICAgICBSYW1EaXNj YXJkTWFuYWdlciAqcmRtID0gbWVtb3J5X3JlZ2lvbl9nZXRfcmFtX2Rpc2NhcmRfbWFuYWdlcihz ZWN0aW9uLT5tcik7CitAQCAtMTE0Myw3ICsxMTQzLDcgQEAgdmZpb19zeW5jX3JhbV9kaXNjYXJk X2xpc3RlbmVyX2RpcnR5X2JpdG1hcChWRklPQ29udGFpbmVyQmFzZSAqYmNvbnRhaW5lciwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmdnJkbCk7Cisg fQorIAorLXN0YXRpYyBpbnQgdmZpb19zeW5jX2lvbW11X2RpcnR5X2JpdG1hcChWRklPQ29udGFp bmVyQmFzZSAqYmNvbnRhaW5lciwKKytzdGF0aWMgaW50IHZmaW9fc3luY19pb21tdV9kaXJ0eV9i aXRtYXAoVkZJT0NvbnRhaW5lciAqYmNvbnRhaW5lciwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgTWVtb3J5UmVnaW9uU2VjdGlvbiAqc2VjdGlvbikKKyB7CisgICAg IFZGSU9HdWVzdElPTU1VICpnaW9tbXU7CitAQCAtMTE4MCw3ICsxMTgwLDcgQEAgc3RhdGljIGlu dCB2ZmlvX3N5bmNfaW9tbXVfZGlydHlfYml0bWFwKFZGSU9Db250YWluZXJCYXNlICpiY29udGFp bmVyLAorICAgICByZXR1cm4gMDsKKyB9CisgCistc3RhdGljIGludCB2ZmlvX3N5bmNfZGlydHlf Yml0bWFwKFZGSU9Db250YWluZXJCYXNlICpiY29udGFpbmVyLAorK3N0YXRpYyBpbnQgdmZpb19z eW5jX2RpcnR5X2JpdG1hcChWRklPQ29udGFpbmVyICpiY29udGFpbmVyLAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBNZW1vcnlSZWdpb25TZWN0aW9uICpzZWN0aW9uLCBFcnJv ciAqKmVycnApCisgeworICAgICByYW1fYWRkcl90IHJhbV9hZGRyOworQEAgLTEyMDksOCArMTIw OSw4IEBAIHN0YXRpYyBpbnQgdmZpb19zeW5jX2RpcnR5X2JpdG1hcChWRklPQ29udGFpbmVyQmFz ZSAqYmNvbnRhaW5lciwKKyBzdGF0aWMgdm9pZCB2ZmlvX2xpc3RlbmVyX2xvZ19zeW5jKE1lbW9y eUxpc3RlbmVyICpsaXN0ZW5lciwKKyAgICAgICAgIE1lbW9yeVJlZ2lvblNlY3Rpb24gKnNlY3Rp b24pCisgeworLSAgICBWRklPQ29udGFpbmVyQmFzZSAqYmNvbnRhaW5lciA9IGNvbnRhaW5lcl9v ZihsaXN0ZW5lciwgVkZJT0NvbnRhaW5lckJhc2UsCistICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGxpc3RlbmVyKTsKKysgICAgVkZJT0NvbnRhaW5lciAq YmNvbnRhaW5lciA9IGNvbnRhaW5lcl9vZihsaXN0ZW5lciwgVkZJT0NvbnRhaW5lciwKKysgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0ZW5lcik7CisgICAg IGludCByZXQ7CisgICAgIEVycm9yICpsb2NhbF9lcnIgPSBOVUxMOworIAorQEAgLTEyNDEsNyAr MTI0MSw3IEBAIHN0YXRpYyBjb25zdCBNZW1vcnlMaXN0ZW5lciB2ZmlvX21lbW9yeV9saXN0ZW5l ciA9IHsKKyAgICAgLmxvZ19zeW5jID0gdmZpb19saXN0ZW5lcl9sb2dfc3luYywKKyB9OworIAor LWJvb2wgdmZpb19saXN0ZW5lcl9yZWdpc3RlcihWRklPQ29udGFpbmVyQmFzZSAqYmNvbnRhaW5l ciwgRXJyb3IgKiplcnJwKQorK2Jvb2wgdmZpb19saXN0ZW5lcl9yZWdpc3RlcihWRklPQ29udGFp bmVyICpiY29udGFpbmVyLCBFcnJvciAqKmVycnApCisgeworICAgICBiY29udGFpbmVyLT5saXN0 ZW5lciA9IHZmaW9fbWVtb3J5X2xpc3RlbmVyOworICAgICBtZW1vcnlfbGlzdGVuZXJfcmVnaXN0 ZXIoJmJjb250YWluZXItPmxpc3RlbmVyLCBiY29udGFpbmVyLT5zcGFjZS0+YXMpOworQEAgLTEy NTUsNyArMTI1NSw3IEBAIGJvb2wgdmZpb19saXN0ZW5lcl9yZWdpc3RlcihWRklPQ29udGFpbmVy QmFzZSAqYmNvbnRhaW5lciwgRXJyb3IgKiplcnJwKQorICAgICByZXR1cm4gdHJ1ZTsKKyB9Cisg Cistdm9pZCB2ZmlvX2xpc3RlbmVyX3VucmVnaXN0ZXIoVkZJT0NvbnRhaW5lckJhc2UgKmJjb250 YWluZXIpCisrdm9pZCB2ZmlvX2xpc3RlbmVyX3VucmVnaXN0ZXIoVkZJT0NvbnRhaW5lciAqYmNv bnRhaW5lcikKKyB7CisgICAgIG1lbW9yeV9saXN0ZW5lcl91bnJlZ2lzdGVyKCZiY29udGFpbmVy LT5saXN0ZW5lcik7CisgfQorZGlmZiAtLWdpdCBhL2h3L3ZmaW8vc3BhcHIuYyBiL2h3L3ZmaW8v c3BhcHIuYworaW5kZXggYjhiYWRlOTBkNy4uNmQ0NjJhYTEzYyAxMDA2NDQKKy0tLSBhL2h3L3Zm aW8vc3BhcHIuYworKysrIGIvaHcvdmZpby9zcGFwci5jCitAQCAtNjIsNyArNjIsNyBAQCBzdGF0 aWMgdm9pZCB2ZmlvX3ByZXJlZ19saXN0ZW5lcl9yZWdpb25fYWRkKE1lbW9yeUxpc3RlbmVyICps aXN0ZW5lciwKKyAgICAgVkZJT1NwYXByQ29udGFpbmVyICpzY29udGFpbmVyID0gY29udGFpbmVy X29mKGxpc3RlbmVyLCBWRklPU3BhcHJDb250YWluZXIsCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmVyZWdfbGlzdGVuZXIpOworICAgICBWRklP TGVnYWN5Q29udGFpbmVyICpjb250YWluZXIgPSAmc2NvbnRhaW5lci0+Y29udGFpbmVyOworLSAg ICBWRklPQ29udGFpbmVyQmFzZSAqYmNvbnRhaW5lciA9IFZGSU9fSU9NTVUoY29udGFpbmVyKTsK KysgICAgVkZJT0NvbnRhaW5lciAqYmNvbnRhaW5lciA9IFZGSU9fSU9NTVUoY29udGFpbmVyKTsK KyAgICAgY29uc3QgaHdhZGRyIGdwYSA9IHNlY3Rpb24tPm9mZnNldF93aXRoaW5fYWRkcmVzc19z cGFjZTsKKyAgICAgaHdhZGRyIGVuZDsKKyAgICAgaW50IHJldDsKK0BAIC0yNDQsNyArMjQ0LDcg QEAgc3RhdGljIGJvb2wgdmZpb19zcGFwcl9jcmVhdGVfd2luZG93KFZGSU9MZWdhY3lDb250YWlu ZXIgKmNvbnRhaW5lciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBod2Fk ZHIgKnBnc2l6ZSwgRXJyb3IgKiplcnJwKQorIHsKKyAgICAgaW50IHJldCA9IDA7CistICAgIFZG SU9Db250YWluZXJCYXNlICpiY29udGFpbmVyID0gVkZJT19JT01NVShjb250YWluZXIpOworKyAg ICBWRklPQ29udGFpbmVyICpiY29udGFpbmVyID0gVkZJT19JT01NVShjb250YWluZXIpOworICAg ICBWRklPU3BhcHJDb250YWluZXIgKnNjb250YWluZXIgPSBjb250YWluZXJfb2YoY29udGFpbmVy LCBWRklPU3BhcHJDb250YWluZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBjb250YWluZXIpOworICAgICBJT01NVU1lbW9yeVJlZ2lvbiAqaW9t bXVfbXIgPSBJT01NVV9NRU1PUllfUkVHSU9OKHNlY3Rpb24tPm1yKTsKK0BAIC0zNDgsNyArMzQ4 LDcgQEAgc3RhdGljIGJvb2wgdmZpb19zcGFwcl9jcmVhdGVfd2luZG93KFZGSU9MZWdhY3lDb250 YWluZXIgKmNvbnRhaW5lciwKKyB9CisgCisgc3RhdGljIGJvb2wKKy12ZmlvX3NwYXByX2NvbnRh aW5lcl9hZGRfc2VjdGlvbl93aW5kb3coVkZJT0NvbnRhaW5lckJhc2UgKmJjb250YWluZXIsCisr dmZpb19zcGFwcl9jb250YWluZXJfYWRkX3NlY3Rpb25fd2luZG93KFZGSU9Db250YWluZXIgKmJj b250YWluZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1lbW9y eVJlZ2lvblNlY3Rpb24gKnNlY3Rpb24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEVycm9yICoqZXJycCkKKyB7CitAQCAtNDM5LDcgKzQzOSw3IEBAIHZmaW9fc3Bh cHJfY29udGFpbmVyX2FkZF9zZWN0aW9uX3dpbmRvdyhWRklPQ29udGFpbmVyQmFzZSAqYmNvbnRh aW5lciwKKyB9CisgCisgc3RhdGljIHZvaWQKKy12ZmlvX3NwYXByX2NvbnRhaW5lcl9kZWxfc2Vj dGlvbl93aW5kb3coVkZJT0NvbnRhaW5lckJhc2UgKmJjb250YWluZXIsCisrdmZpb19zcGFwcl9j b250YWluZXJfZGVsX3NlY3Rpb25fd2luZG93KFZGSU9Db250YWluZXIgKmJjb250YWluZXIsCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1lbW9yeVJlZ2lvblNlY3Rp b24gKnNlY3Rpb24pCisgeworICAgICBWRklPTGVnYWN5Q29udGFpbmVyICpjb250YWluZXIgPSBW RklPX0lPTU1VX0xFR0FDWShiY29udGFpbmVyKTsKK0BAIC00NjEsNyArNDYxLDcgQEAgdmZpb19z cGFwcl9jb250YWluZXJfZGVsX3NlY3Rpb25fd2luZG93KFZGSU9Db250YWluZXJCYXNlICpiY29u dGFpbmVyLAorICAgICB9CisgfQorIAorLXN0YXRpYyB2b2lkIHZmaW9fc3BhcHJfY29udGFpbmVy X3JlbGVhc2UoVkZJT0NvbnRhaW5lckJhc2UgKmJjb250YWluZXIpCisrc3RhdGljIHZvaWQgdmZp b19zcGFwcl9jb250YWluZXJfcmVsZWFzZShWRklPQ29udGFpbmVyICpiY29udGFpbmVyKQorIHsK KyAgICAgVkZJT0xlZ2FjeUNvbnRhaW5lciAqY29udGFpbmVyID0gVkZJT19JT01NVV9MRUdBQ1ko YmNvbnRhaW5lcik7CisgICAgIFZGSU9TcGFwckNvbnRhaW5lciAqc2NvbnRhaW5lciA9IGNvbnRh aW5lcl9vZihjb250YWluZXIsIFZGSU9TcGFwckNvbnRhaW5lciwKK0BAIC00NzgsNyArNDc4LDcg QEAgc3RhdGljIHZvaWQgdmZpb19zcGFwcl9jb250YWluZXJfcmVsZWFzZShWRklPQ29udGFpbmVy QmFzZSAqYmNvbnRhaW5lcikKKyAgICAgfQorIH0KKyAKKy1zdGF0aWMgYm9vbCB2ZmlvX3NwYXBy X2NvbnRhaW5lcl9zZXR1cChWRklPQ29udGFpbmVyQmFzZSAqYmNvbnRhaW5lciwKKytzdGF0aWMg Ym9vbCB2ZmlvX3NwYXByX2NvbnRhaW5lcl9zZXR1cChWRklPQ29udGFpbmVyICpiY29udGFpbmVy LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVycm9yICoqZXJycCkK KyB7CisgICAgIFZGSU9MZWdhY3lDb250YWluZXIgKmNvbnRhaW5lciA9IFZGSU9fSU9NTVVfTEVH QUNZKGJjb250YWluZXIpOworZGlmZiAtLWdpdCBhL2h3L3ZmaW8vdmZpby1pb21tdWZkLmggYi9o dy92ZmlvL3ZmaW8taW9tbXVmZC5oCitpbmRleCAwN2VhMGY0MzA0Li42YzA0OWQ5MjU3IDEwMDY0 NAorLS0tIGEvaHcvdmZpby92ZmlvLWlvbW11ZmQuaAorKysrIGIvaHcvdmZpby92ZmlvLWlvbW11 ZmQuaAorQEAgLTIzLDcgKzIzLDcgQEAgdHlwZWRlZiBzdHJ1Y3QgVkZJT0lPQVNId3B0IHsKKyB0 eXBlZGVmIHN0cnVjdCBJT01NVUZEQmFja2VuZCBJT01NVUZEQmFja2VuZDsKKyAKKyB0eXBlZGVm IHN0cnVjdCBWRklPSU9NTVVGRENvbnRhaW5lciB7CistICAgIFZGSU9Db250YWluZXJCYXNlIGJj b250YWluZXI7CisrICAgIFZGSU9Db250YWluZXIgYmNvbnRhaW5lcjsKKyAgICAgSU9NTVVGREJh Y2tlbmQgKmJlOworICAgICB1aW50MzJfdCBpb2FzX2lkOworICAgICBRTElTVF9IRUFEKCwgVkZJ T0lPQVNId3B0KSBod3B0X2xpc3Q7CitkaWZmIC0tZ2l0IGEvaHcvdmZpby92ZmlvLWxpc3RlbmVy LmggYi9ody92ZmlvL3ZmaW8tbGlzdGVuZXIuaAoraW5kZXggZWI2OWRkZDM3NC4uYTkwNjc0Y2E5 NiAxMDA2NDQKKy0tLSBhL2h3L3ZmaW8vdmZpby1saXN0ZW5lci5oCisrKysgYi9ody92ZmlvL3Zm aW8tbGlzdGVuZXIuaAorQEAgLTksNyArOSw3IEBACisgI2lmbmRlZiBIV19WRklPX1ZGSU9fTElT VEVORVJfSAorICNkZWZpbmUgSFdfVkZJT19WRklPX0xJU1RFTkVSX0gKKyAKKy1ib29sIHZmaW9f bGlzdGVuZXJfcmVnaXN0ZXIoVkZJT0NvbnRhaW5lckJhc2UgKmJjb250YWluZXIsIEVycm9yICoq ZXJycCk7Cistdm9pZCB2ZmlvX2xpc3RlbmVyX3VucmVnaXN0ZXIoVkZJT0NvbnRhaW5lckJhc2Ug KmJjb250YWluZXIpOworK2Jvb2wgdmZpb19saXN0ZW5lcl9yZWdpc3RlcihWRklPQ29udGFpbmVy ICpiY29udGFpbmVyLCBFcnJvciAqKmVycnApOworK3ZvaWQgdmZpb19saXN0ZW5lcl91bnJlZ2lz dGVyKFZGSU9Db250YWluZXIgKmJjb250YWluZXIpOworIAorICNlbmRpZiAvKiBIV19WRklPX1ZG SU9fTElTVEVORVJfSCAqLworZGlmZiAtLWdpdCBhL2luY2x1ZGUvaHcvdmZpby92ZmlvLWNvbnRh aW5lci1iYXNlLmggYi9pbmNsdWRlL2h3L3ZmaW8vdmZpby1jb250YWluZXItYmFzZS5oCitpbmRl eCBhY2JkNDhhMThhLi5iNTgwZjRhMDJkIDEwMDY0NAorLS0tIGEvaW5jbHVkZS9ody92ZmlvL3Zm aW8tY29udGFpbmVyLWJhc2UuaAorKysrIGIvaW5jbHVkZS9ody92ZmlvL3ZmaW8tY29udGFpbmVy LWJhc2UuaAorQEAgLTI2LDE0ICsyNiwxNCBAQCB0eXBlZGVmIHN0cnVjdCB7CisgCisgdHlwZWRl ZiBzdHJ1Y3QgVkZJT0FkZHJlc3NTcGFjZSB7CisgICAgIEFkZHJlc3NTcGFjZSAqYXM7CistICAg IFFMSVNUX0hFQUQoLCBWRklPQ29udGFpbmVyQmFzZSkgY29udGFpbmVyczsKKysgICAgUUxJU1Rf SEVBRCgsIFZGSU9Db250YWluZXIpIGNvbnRhaW5lcnM7CisgICAgIFFMSVNUX0VOVFJZKFZGSU9B ZGRyZXNzU3BhY2UpIGxpc3Q7CisgfSBWRklPQWRkcmVzc1NwYWNlOworIAorIC8qCisgICogVGhp cyBpcyB0aGUgYmFzZSBvYmplY3QgZm9yIHZmaW8gY29udGFpbmVyIGJhY2tlbmRzCisgICovCist c3RydWN0IFZGSU9Db250YWluZXJCYXNlIHsKKytzdHJ1Y3QgVkZJT0NvbnRhaW5lciB7CisgICAg IE9iamVjdCBwYXJlbnRfb2JqOworIAorICAgICBWRklPQWRkcmVzc1NwYWNlICpzcGFjZTsKK0BA IC00OCwxNyArNDgsMTcgQEAgc3RydWN0IFZGSU9Db250YWluZXJCYXNlIHsKKyAgICAgYm9vbCBk aXJ0eV9wYWdlc19zdGFydGVkOyAvKiBQcm90ZWN0ZWQgYnkgQlFMICovCisgICAgIFFMSVNUX0hF QUQoLCBWRklPR3Vlc3RJT01NVSkgZ2lvbW11X2xpc3Q7CisgICAgIFFMSVNUX0hFQUQoLCBWRklP UmFtRGlzY2FyZExpc3RlbmVyKSB2cmRsX2xpc3Q7CistICAgIFFMSVNUX0VOVFJZKFZGSU9Db250 YWluZXJCYXNlKSBuZXh0OworKyAgICBRTElTVF9FTlRSWShWRklPQ29udGFpbmVyKSBuZXh0Owor ICAgICBRTElTVF9IRUFEKCwgVkZJT0RldmljZSkgZGV2aWNlX2xpc3Q7CisgICAgIEdMaXN0ICpp b3ZhX3JhbmdlczsKKyAgICAgTm90aWZpZXJXaXRoUmV0dXJuIGNwcl9yZWJvb3Rfbm90aWZpZXI7 CisgfTsKKyAKKyAjZGVmaW5lIFRZUEVfVkZJT19JT01NVSAidmZpby1pb21tdSIKKy1PQkpFQ1Rf REVDTEFSRV9UWVBFKFZGSU9Db250YWluZXJCYXNlLCBWRklPSU9NTVVDbGFzcywgVkZJT19JT01N VSkKKytPQkpFQ1RfREVDTEFSRV9UWVBFKFZGSU9Db250YWluZXIsIFZGSU9JT01NVUNsYXNzLCBW RklPX0lPTU1VKQorIAorIHR5cGVkZWYgc3RydWN0IFZGSU9HdWVzdElPTU1VIHsKKy0gICAgVkZJ T0NvbnRhaW5lckJhc2UgKmJjb250YWluZXI7CisrICAgIFZGSU9Db250YWluZXIgKmJjb250YWlu ZXI7CisgICAgIElPTU1VTWVtb3J5UmVnaW9uICppb21tdV9tcjsKKyAgICAgaHdhZGRyIGlvbW11 X29mZnNldDsKKyAgICAgSU9NTVVOb3RpZmllciBuOworQEAgLTY2LDcgKzY2LDcgQEAgdHlwZWRl ZiBzdHJ1Y3QgVkZJT0d1ZXN0SU9NTVUgeworIH0gVkZJT0d1ZXN0SU9NTVU7CisgCisgdHlwZWRl ZiBzdHJ1Y3QgVkZJT1JhbURpc2NhcmRMaXN0ZW5lciB7CistICAgIFZGSU9Db250YWluZXJCYXNl ICpiY29udGFpbmVyOworKyAgICBWRklPQ29udGFpbmVyICpiY29udGFpbmVyOworICAgICBNZW1v cnlSZWdpb24gKm1yOworICAgICBod2FkZHIgb2Zmc2V0X3dpdGhpbl9hZGRyZXNzX3NwYWNlOwor ICAgICBod2FkZHIgc2l6ZTsKK0BAIC03OCwzMiArNzgsMzIgQEAgdHlwZWRlZiBzdHJ1Y3QgVkZJ T1JhbURpc2NhcmRMaXN0ZW5lciB7CisgVkZJT0FkZHJlc3NTcGFjZSAqdmZpb19hZGRyZXNzX3Nw YWNlX2dldChBZGRyZXNzU3BhY2UgKmFzKTsKKyB2b2lkIHZmaW9fYWRkcmVzc19zcGFjZV9wdXQo VkZJT0FkZHJlc3NTcGFjZSAqc3BhY2UpOworIHZvaWQgdmZpb19hZGRyZXNzX3NwYWNlX2luc2Vy dChWRklPQWRkcmVzc1NwYWNlICpzcGFjZSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgVkZJT0NvbnRhaW5lckJhc2UgKmJjb250YWluZXIpOworKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBWRklPQ29udGFpbmVyICpiY29udGFpbmVyKTsKKyAKKy1pbnQgdmZpb19jb250 YWluZXJfZG1hX21hcChWRklPQ29udGFpbmVyQmFzZSAqYmNvbnRhaW5lciwKKytpbnQgdmZpb19j b250YWluZXJfZG1hX21hcChWRklPQ29udGFpbmVyICpiY29udGFpbmVyLAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGh3YWRkciBpb3ZhLCByYW1fYWRkcl90IHNpemUsCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgdm9pZCAqdmFkZHIsIGJvb2wgcmVhZG9ubHksIE1lbW9yeVJlZ2lv biAqbXIpOworLWludCB2ZmlvX2NvbnRhaW5lcl9kbWFfdW5tYXAoVkZJT0NvbnRhaW5lckJhc2Ug KmJjb250YWluZXIsCisraW50IHZmaW9fY29udGFpbmVyX2RtYV91bm1hcChWRklPQ29udGFpbmVy ICpiY29udGFpbmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHdhZGRyIGlvdmEs IHJhbV9hZGRyX3Qgc2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElPTU1VVExC RW50cnkgKmlvdGxiLCBib29sIHVubWFwX2FsbCk7CistYm9vbCB2ZmlvX2NvbnRhaW5lcl9hZGRf c2VjdGlvbl93aW5kb3coVkZJT0NvbnRhaW5lckJhc2UgKmJjb250YWluZXIsCisrYm9vbCB2Zmlv X2NvbnRhaW5lcl9hZGRfc2VjdGlvbl93aW5kb3coVkZJT0NvbnRhaW5lciAqYmNvbnRhaW5lciwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNZW1vcnlSZWdpb25TZWN0 aW9uICpzZWN0aW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVy cm9yICoqZXJycCk7Cistdm9pZCB2ZmlvX2NvbnRhaW5lcl9kZWxfc2VjdGlvbl93aW5kb3coVkZJ T0NvbnRhaW5lckJhc2UgKmJjb250YWluZXIsCisrdm9pZCB2ZmlvX2NvbnRhaW5lcl9kZWxfc2Vj dGlvbl93aW5kb3coVkZJT0NvbnRhaW5lciAqYmNvbnRhaW5lciwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBNZW1vcnlSZWdpb25TZWN0aW9uICpzZWN0aW9uKTsKKy1p bnQgdmZpb19jb250YWluZXJfc2V0X2RpcnR5X3BhZ2VfdHJhY2tpbmcoVkZJT0NvbnRhaW5lckJh c2UgKmJjb250YWluZXIsCisraW50IHZmaW9fY29udGFpbmVyX3NldF9kaXJ0eV9wYWdlX3RyYWNr aW5nKFZGSU9Db250YWluZXIgKmJjb250YWluZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGJvb2wgc3RhcnQsIEVycm9yICoqZXJycCk7CisgYm9vbCB2Zmlv X2NvbnRhaW5lcl9kaXJ0eV90cmFja2luZ19pc19zdGFydGVkKAorLSAgICBjb25zdCBWRklPQ29u dGFpbmVyQmFzZSAqYmNvbnRhaW5lcik7CisrICAgIGNvbnN0IFZGSU9Db250YWluZXIgKmJjb250 YWluZXIpOworIGJvb2wgdmZpb19jb250YWluZXJfZGV2aWNlc19kaXJ0eV90cmFja2luZ19pc19z dXBwb3J0ZWQoCistICAgIGNvbnN0IFZGSU9Db250YWluZXJCYXNlICpiY29udGFpbmVyKTsKKy1p bnQgdmZpb19jb250YWluZXJfcXVlcnlfZGlydHlfYml0bWFwKGNvbnN0IFZGSU9Db250YWluZXJC YXNlICpiY29udGFpbmVyLAorKyAgICBjb25zdCBWRklPQ29udGFpbmVyICpiY29udGFpbmVyKTsK KytpbnQgdmZpb19jb250YWluZXJfcXVlcnlfZGlydHlfYml0bWFwKGNvbnN0IFZGSU9Db250YWlu ZXIgKmJjb250YWluZXIsCisgICAgIHVpbnQ2NF90IGlvdmEsIHVpbnQ2NF90IHNpemUsIHJhbV9h ZGRyX3QgcmFtX2FkZHIsIEVycm9yICoqZXJycCk7CisgCistR0xpc3QgKnZmaW9fY29udGFpbmVy X2dldF9pb3ZhX3Jhbmdlcyhjb25zdCBWRklPQ29udGFpbmVyQmFzZSAqYmNvbnRhaW5lcik7Cisr R0xpc3QgKnZmaW9fY29udGFpbmVyX2dldF9pb3ZhX3Jhbmdlcyhjb25zdCBWRklPQ29udGFpbmVy ICpiY29udGFpbmVyKTsKKyAKKyBzdGF0aWMgaW5saW5lIHVpbnQ2NF90CistdmZpb19jb250YWlu ZXJfZ2V0X3BhZ2Vfc2l6ZV9tYXNrKGNvbnN0IFZGSU9Db250YWluZXJCYXNlICpiY29udGFpbmVy KQorK3ZmaW9fY29udGFpbmVyX2dldF9wYWdlX3NpemVfbWFzayhjb25zdCBWRklPQ29udGFpbmVy ICpiY29udGFpbmVyKQorIHsKKyAgICAgYXNzZXJ0KGJjb250YWluZXIpOworICAgICByZXR1cm4g YmNvbnRhaW5lci0+cGdzaXplczsKK0BAIC0xMjMsMTIgKzEyMywxMiBAQCBzdHJ1Y3QgVkZJT0lP TU1VQ2xhc3MgeworICAgICAgKiBQZXJmb3JtIGJhc2ljIHNldHVwIG9mIHRoZSBjb250YWluZXIs IGluY2x1ZGluZyBjb25maWd1cmluZyBJT01NVQorICAgICAgKiBjYXBhYmlsaXRpZXMsIElPVkEg cmFuZ2VzLCBzdXBwb3J0ZWQgcGFnZSBzaXplcywgZXRjLgorICAgICAgKgorLSAgICAgKiBAYmNv bnRhaW5lcjogI1ZGSU9Db250YWluZXJCYXNlCisrICAgICAqIEBiY29udGFpbmVyOiAjVkZJT0Nv bnRhaW5lcgorICAgICAgKiBAZXJycDogcG9pbnRlciB0byBFcnJvciosIHRvIHN0b3JlIGFuIGVy cm9yIGlmIGl0IGhhcHBlbnMuCisgICAgICAqCisgICAgICAqIFJldHVybnMgdHJ1ZSB0byBpbmRp Y2F0ZSBzdWNjZXNzIGFuZCBmYWxzZSBmb3IgZXJyb3IuCisgICAgICAqLworLSAgICBib29sICgq c2V0dXApKFZGSU9Db250YWluZXJCYXNlICpiY29udGFpbmVyLCBFcnJvciAqKmVycnApOworKyAg ICBib29sICgqc2V0dXApKFZGSU9Db250YWluZXIgKmJjb250YWluZXIsIEVycm9yICoqZXJycCk7 CisgCisgICAgIC8qKgorICAgICAgKiBAbGlzdGVuZXJfYmVnaW4KK0BAIC0xMzYsOSArMTM2LDkg QEAgc3RydWN0IFZGSU9JT01NVUNsYXNzIHsKKyAgICAgICogQ2FsbGVkIGF0IHRoZSBiZWdpbm5p bmcgb2YgYW4gYWRkcmVzcyBzcGFjZSB1cGRhdGUgdHJhbnNhY3Rpb24uCisgICAgICAqIFNlZSAj TWVtb3J5TGlzdGVuZXIuCisgICAgICAqCistICAgICAqIEBiY29udGFpbmVyOiAjVkZJT0NvbnRh aW5lckJhc2UKKysgICAgICogQGJjb250YWluZXI6ICNWRklPQ29udGFpbmVyCisgICAgICAqLwor LSAgICB2b2lkICgqbGlzdGVuZXJfYmVnaW4pKFZGSU9Db250YWluZXJCYXNlICpiY29udGFpbmVy KTsKKysgICAgdm9pZCAoKmxpc3RlbmVyX2JlZ2luKShWRklPQ29udGFpbmVyICpiY29udGFpbmVy KTsKKyAKKyAgICAgLyoqCisgICAgICAqIEBsaXN0ZW5lcl9jb21taXQKK0BAIC0xNDYsOSArMTQ2 LDkgQEAgc3RydWN0IFZGSU9JT01NVUNsYXNzIHsKKyAgICAgICogQ2FsbGVkIGF0IHRoZSBlbmQg b2YgYW4gYWRkcmVzcyBzcGFjZSB1cGRhdGUgdHJhbnNhY3Rpb24sCisgICAgICAqIFNlZSAjTWVt b3J5TGlzdGVuZXIuCisgICAgICAqCistICAgICAqIEBiY29udGFpbmVyOiAjVkZJT0NvbnRhaW5l ckJhc2UKKysgICAgICogQGJjb250YWluZXI6ICNWRklPQ29udGFpbmVyCisgICAgICAqLworLSAg ICB2b2lkICgqbGlzdGVuZXJfY29tbWl0KShWRklPQ29udGFpbmVyQmFzZSAqYmNvbnRhaW5lcik7 CisrICAgIHZvaWQgKCpsaXN0ZW5lcl9jb21taXQpKFZGSU9Db250YWluZXIgKmJjb250YWluZXIp OworIAorICAgICAvKioKKyAgICAgICogQGRtYV9tYXAKK0BAIC0xNTYsNyArMTU2LDcgQEAgc3Ry dWN0IFZGSU9JT01NVUNsYXNzIHsKKyAgICAgICogTWFwIGFuIGFkZHJlc3MgcmFuZ2UgaW50byB0 aGUgY29udGFpbmVyLiBOb3RlIHRoYXQgdGhlIG1lbW9yeSByZWdpb24gaXMKKyAgICAgICogcmVm ZXJlbmNlZCB3aXRoaW4gYW4gUkNVIHJlYWQgbG9jayByZWdpb24gYWNyb3NzIHRoaXMgY2FsbC4K KyAgICAgICoKKy0gICAgICogQGJjb250YWluZXI6ICNWRklPQ29udGFpbmVyQmFzZSB0byB1c2UK KysgICAgICogQGJjb250YWluZXI6ICNWRklPQ29udGFpbmVyIHRvIHVzZQorICAgICAgKiBAaW92 YTogc3RhcnQgYWRkcmVzcyB0byBtYXAKKyAgICAgICogQHNpemU6IHNpemUgb2YgdGhlIHJhbmdl IHRvIG1hcAorICAgICAgKiBAdmFkZHI6IHByb2Nlc3MgdmlydHVhbCBhZGRyZXNzIG9mIG1hcHBp bmcKK0BAIC0xNjUsNyArMTY1LDcgQEAgc3RydWN0IFZGSU9JT01NVUNsYXNzIHsKKyAgICAgICoK KyAgICAgICogUmV0dXJucyAwIHRvIGluZGljYXRlIHN1Y2Nlc3MgYW5kIC1lcnJubyBvdGhlcndp c2UuCisgICAgICAqLworLSAgICBpbnQgKCpkbWFfbWFwKShjb25zdCBWRklPQ29udGFpbmVyQmFz ZSAqYmNvbnRhaW5lciwKKysgICAgaW50ICgqZG1hX21hcCkoY29uc3QgVkZJT0NvbnRhaW5lciAq YmNvbnRhaW5lciwKKyAgICAgICAgICAgICAgICAgICAgaHdhZGRyIGlvdmEsIHJhbV9hZGRyX3Qg c2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgdm9pZCAqdmFkZHIsIGJvb2wgcmVhZG9ubHksIE1l bW9yeVJlZ2lvbiAqbXIpOworICAgICAvKioKK0BAIC0xNzMsMTQgKzE3MywxNCBAQCBzdHJ1Y3Qg VkZJT0lPTU1VQ2xhc3MgeworICAgICAgKgorICAgICAgKiBNYXAgYSBmaWxlIHJhbmdlIGZvciB0 aGUgY29udGFpbmVyLgorICAgICAgKgorLSAgICAgKiBAYmNvbnRhaW5lcjogI1ZGSU9Db250YWlu ZXJCYXNlIHRvIHVzZSBmb3IgbWFwCisrICAgICAqIEBiY29udGFpbmVyOiAjVkZJT0NvbnRhaW5l ciB0byB1c2UgZm9yIG1hcAorICAgICAgKiBAaW92YTogc3RhcnQgYWRkcmVzcyB0byBtYXAKKyAg ICAgICogQHNpemU6IHNpemUgb2YgdGhlIHJhbmdlIHRvIG1hcAorICAgICAgKiBAZmQ6IGRlc2Ny aXB0b3Igb2YgdGhlIGZpbGUgdG8gbWFwCisgICAgICAqIEBzdGFydDogc3RhcnRpbmcgZmlsZSBv ZmZzZXQgb2YgdGhlIHJhbmdlIHRvIG1hcAorICAgICAgKiBAcmVhZG9ubHk6IG1hcCByZWFkIG9u bHkgaWYgdHJ1ZQorICAgICAgKi8KKy0gICAgaW50ICgqZG1hX21hcF9maWxlKShjb25zdCBWRklP Q29udGFpbmVyQmFzZSAqYmNvbnRhaW5lciwKKysgICAgaW50ICgqZG1hX21hcF9maWxlKShjb25z dCBWRklPQ29udGFpbmVyICpiY29udGFpbmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgIGh3 YWRkciBpb3ZhLCByYW1fYWRkcl90IHNpemUsCisgICAgICAgICAgICAgICAgICAgICAgICAgaW50 IGZkLCB1bnNpZ25lZCBsb25nIHN0YXJ0LCBib29sIHJlYWRvbmx5KTsKKyAgICAgLyoqCitAQCAt MTg4LDcgKzE4OCw3IEBAIHN0cnVjdCBWRklPSU9NTVVDbGFzcyB7CisgICAgICAqCisgICAgICAq IFVubWFwIGFuIGFkZHJlc3MgcmFuZ2UgZnJvbSB0aGUgY29udGFpbmVyLgorICAgICAgKgorLSAg ICAgKiBAYmNvbnRhaW5lcjogI1ZGSU9Db250YWluZXJCYXNlIHRvIHVzZSBmb3IgdW5tYXAKKysg ICAgICogQGJjb250YWluZXI6ICNWRklPQ29udGFpbmVyIHRvIHVzZSBmb3IgdW5tYXAKKyAgICAg ICogQGlvdmE6IHN0YXJ0IGFkZHJlc3MgdG8gdW5tYXAKKyAgICAgICogQHNpemU6IHNpemUgb2Yg dGhlIHJhbmdlIHRvIHVubWFwCisgICAgICAqIEBpb3RsYjogVGhlIElPTU1VIFRMQiBtYXBwaW5n IGVudHJ5IChvciBOVUxMKQorQEAgLTE5Niw3ICsxOTYsNyBAQCBzdHJ1Y3QgVkZJT0lPTU1VQ2xh c3MgeworICAgICAgKgorICAgICAgKiBSZXR1cm5zIDAgdG8gaW5kaWNhdGUgc3VjY2VzcyBhbmQg LWVycm5vIG90aGVyd2lzZS4KKyAgICAgICovCistICAgIGludCAoKmRtYV91bm1hcCkoY29uc3Qg VkZJT0NvbnRhaW5lckJhc2UgKmJjb250YWluZXIsCisrICAgIGludCAoKmRtYV91bm1hcCkoY29u c3QgVkZJT0NvbnRhaW5lciAqYmNvbnRhaW5lciwKKyAgICAgICAgICAgICAgICAgICAgICBod2Fk ZHIgaW92YSwgcmFtX2FkZHJfdCBzaXplLAorICAgICAgICAgICAgICAgICAgICAgIElPTU1VVExC RW50cnkgKmlvdGxiLCBib29sIHVubWFwX2FsbCk7CisgCitAQCAtMjM0LDIxICsyMzQsMjEgQEAg c3RydWN0IFZGSU9JT01NVUNsYXNzIHsKKyAgICAgICoKKyAgICAgICogU3RhcnQgb3Igc3RvcCBk aXJ0eSBwYWdlcyB0cmFja2luZyBvbiBWRklPIGNvbnRhaW5lcgorICAgICAgKgorLSAgICAgKiBA YmNvbnRhaW5lcjogI1ZGSU9Db250YWluZXJCYXNlIG9uIHdoaWNoIHRvIGRlL2FjdGl2YXRlIGRp cnR5CisrICAgICAqIEBiY29udGFpbmVyOiAjVkZJT0NvbnRhaW5lciBvbiB3aGljaCB0byBkZS9h Y3RpdmF0ZSBkaXJ0eQorICAgICAgKiAgICAgICAgICAgICAgcGFnZSB0cmFja2luZworICAgICAg KiBAc3RhcnQ6IGluZGljYXRlcyB3aGV0aGVyIHRvIHN0YXJ0IG9yIHN0b3AgZGlydHkgcGFnZXMg dHJhY2tpbmcKKyAgICAgICogQGVycnA6IHBvaW50ZXIgdG8gRXJyb3IqLCB0byBzdG9yZSBhbiBl cnJvciBpZiBpdCBoYXBwZW5zLgorICAgICAgKgorICAgICAgKiBSZXR1cm5zIHplcm8gdG8gaW5k aWNhdGUgc3VjY2VzcyBhbmQgbmVnYXRpdmUgZm9yIGVycm9yLgorICAgICAgKi8KKy0gICAgaW50 ICgqc2V0X2RpcnR5X3BhZ2VfdHJhY2tpbmcpKGNvbnN0IFZGSU9Db250YWluZXJCYXNlICpiY29u dGFpbmVyLAorKyAgICBpbnQgKCpzZXRfZGlydHlfcGFnZV90cmFja2luZykoY29uc3QgVkZJT0Nv bnRhaW5lciAqYmNvbnRhaW5lciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGJvb2wgc3RhcnQsIEVycm9yICoqZXJycCk7CisgICAgIC8qKgorICAgICAgKiBAcXVlcnlfZGly dHlfYml0bWFwCisgICAgICAqCisgICAgICAqIEdldCBiaXRtYXAgb2YgZGlydHkgcGFnZXMgZnJv bSBjb250YWluZXIKKyAgICAgICoKKy0gICAgICogQGJjb250YWluZXI6ICNWRklPQ29udGFpbmVy QmFzZSBmcm9tIHdoaWNoIHRvIGdldCBkaXJ0eSBwYWdlcworKyAgICAgKiBAYmNvbnRhaW5lcjog I1ZGSU9Db250YWluZXIgZnJvbSB3aGljaCB0byBnZXQgZGlydHkgcGFnZXMKKyAgICAgICogQHZi bWFwOiAjVkZJT0JpdG1hcCBpbnRlcm5hbCBiaXRtYXAgc3RydWN0dXJlCisgICAgICAqIEBpb3Zh OiBpb3ZhIGJhc2UgYWRkcmVzcworICAgICAgKiBAc2l6ZTogc2l6ZSBvZiBpb3ZhIHJhbmdlCitA QCAtMjU2LDI0ICsyNTYsMjQgQEAgc3RydWN0IFZGSU9JT01NVUNsYXNzIHsKKyAgICAgICoKKyAg ICAgICogUmV0dXJucyB6ZXJvIHRvIGluZGljYXRlIHN1Y2Nlc3MgYW5kIG5lZ2F0aXZlIGZvciBl cnJvci4KKyAgICAgICovCistICAgIGludCAoKnF1ZXJ5X2RpcnR5X2JpdG1hcCkoY29uc3QgVkZJ T0NvbnRhaW5lckJhc2UgKmJjb250YWluZXIsCisrICAgIGludCAoKnF1ZXJ5X2RpcnR5X2JpdG1h cCkoY29uc3QgVkZJT0NvbnRhaW5lciAqYmNvbnRhaW5lciwKKyAgICAgICAgICAgICAgICAgVkZJ T0JpdG1hcCAqdmJtYXAsIGh3YWRkciBpb3ZhLCBod2FkZHIgc2l6ZSwgRXJyb3IgKiplcnJwKTsK KyAgICAgLyogUENJIHNwZWNpZmljICovCisgICAgIGludCAoKnBjaV9ob3RfcmVzZXQpKFZGSU9E ZXZpY2UgKnZiYXNlZGV2LCBib29sIHNpbmdsZSk7CisgCisgICAgIC8qIFNQQVBSIHNwZWNpZmlj ICovCistICAgIGJvb2wgKCphZGRfd2luZG93KShWRklPQ29udGFpbmVyQmFzZSAqYmNvbnRhaW5l ciwKKysgICAgYm9vbCAoKmFkZF93aW5kb3cpKFZGSU9Db250YWluZXIgKmJjb250YWluZXIsCisg ICAgICAgICAgICAgICAgICAgICAgICBNZW1vcnlSZWdpb25TZWN0aW9uICpzZWN0aW9uLAorICAg ICAgICAgICAgICAgICAgICAgICAgRXJyb3IgKiplcnJwKTsKKy0gICAgdm9pZCAoKmRlbF93aW5k b3cpKFZGSU9Db250YWluZXJCYXNlICpiY29udGFpbmVyLAorKyAgICB2b2lkICgqZGVsX3dpbmRv dykoVkZJT0NvbnRhaW5lciAqYmNvbnRhaW5lciwKKyAgICAgICAgICAgICAgICAgICAgICAgIE1l bW9yeVJlZ2lvblNlY3Rpb24gKnNlY3Rpb24pOworLSAgICB2b2lkICgqcmVsZWFzZSkoVkZJT0Nv bnRhaW5lckJhc2UgKmJjb250YWluZXIpOworKyAgICB2b2lkICgqcmVsZWFzZSkoVkZJT0NvbnRh aW5lciAqYmNvbnRhaW5lcik7CisgfTsKKyAKKyBWRklPUmFtRGlzY2FyZExpc3RlbmVyICp2Zmlv X2ZpbmRfcmFtX2Rpc2NhcmRfbGlzdGVuZXIoCistICAgIFZGSU9Db250YWluZXJCYXNlICpiY29u dGFpbmVyLCBNZW1vcnlSZWdpb25TZWN0aW9uICpzZWN0aW9uKTsKKysgICAgVkZJT0NvbnRhaW5l ciAqYmNvbnRhaW5lciwgTWVtb3J5UmVnaW9uU2VjdGlvbiAqc2VjdGlvbik7CisgCistdm9pZCB2 ZmlvX2NvbnRhaW5lcl9yZWdpb25fYWRkKFZGSU9Db250YWluZXJCYXNlICpiY29udGFpbmVyLAor K3ZvaWQgdmZpb19jb250YWluZXJfcmVnaW9uX2FkZChWRklPQ29udGFpbmVyICpiY29udGFpbmVy LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNZW1vcnlSZWdpb25TZWN0aW9uICpz ZWN0aW9uLCBib29sIGNwcl9yZW1hcCk7CisgCisgI2VuZGlmIC8qIEhXX1ZGSU9fVkZJT19DT05U QUlORVJfQkFTRV9IICovCitkaWZmIC0tZ2l0IGEvaW5jbHVkZS9ody92ZmlvL3ZmaW8tY29udGFp bmVyLmggYi9pbmNsdWRlL2h3L3ZmaW8vdmZpby1jb250YWluZXIuaAoraW5kZXggNzEyYTY5MTQw MC4uYTg0ZGZiMGRlZSAxMDA2NDQKKy0tLSBhL2luY2x1ZGUvaHcvdmZpby92ZmlvLWNvbnRhaW5l ci5oCisrKysgYi9pbmNsdWRlL2h3L3ZmaW8vdmZpby1jb250YWluZXIuaAorQEAgLTI2LDcgKzI2 LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgVkZJT0dyb3VwIHsKKyB9IFZGSU9Hcm91cDsKKyAKKyBzdHJ1 Y3QgVkZJT0xlZ2FjeUNvbnRhaW5lciB7CistICAgIFZGSU9Db250YWluZXJCYXNlIHBhcmVudF9v Ymo7CisrICAgIFZGSU9Db250YWluZXIgcGFyZW50X29iajsKKyAKKyAgICAgaW50IGZkOyAvKiAv ZGV2L3ZmaW8vdmZpbywgZW1wb3dlcmVkIGJ5IHRoZSBhdHRhY2hlZCBncm91cHMgKi8KKyAgICAg dW5zaWduZWQgaW9tbXVfdHlwZTsKK2RpZmYgLS1naXQgYS9pbmNsdWRlL2h3L3ZmaW8vdmZpby1j cHIuaCBiL2luY2x1ZGUvaHcvdmZpby92ZmlvLWNwci5oCitpbmRleCAwNGU5ODcyNTg3Li4yNmVl MGM0ZmUxIDEwMDY0NAorLS0tIGEvaW5jbHVkZS9ody92ZmlvL3ZmaW8tY3ByLmgKKysrKyBiL2lu Y2x1ZGUvaHcvdmZpby92ZmlvLWNwci5oCitAQCAtMTMsMTQgKzEzLDE0IEBACisgI2luY2x1ZGUg InN5c3RlbS9tZW1vcnkuaCIKKyAKKyBzdHJ1Y3QgVkZJT0xlZ2FjeUNvbnRhaW5lcjsKKy1zdHJ1 Y3QgVkZJT0NvbnRhaW5lckJhc2U7Cisrc3RydWN0IFZGSU9Db250YWluZXI7Cisgc3RydWN0IFZG SU9Hcm91cDsKKyBzdHJ1Y3QgVkZJT0RldmljZTsKKyBzdHJ1Y3QgVkZJT1BDSURldmljZTsKKyBz dHJ1Y3QgVkZJT0lPTU1VRkRDb250YWluZXI7Cisgc3RydWN0IElPTU1VRkRCYWNrZW5kOworIAor LXR5cGVkZWYgaW50ICgqZG1hX21hcF9mbikoY29uc3Qgc3RydWN0IFZGSU9Db250YWluZXJCYXNl ICpiY29udGFpbmVyLAorK3R5cGVkZWYgaW50ICgqZG1hX21hcF9mbikoY29uc3Qgc3RydWN0IFZG SU9Db250YWluZXIgKmJjb250YWluZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICBod2Fk ZHIgaW92YSwgcmFtX2FkZHJfdCBzaXplLCB2b2lkICp2YWRkciwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgIGJvb2wgcmVhZG9ubHksIE1lbW9yeVJlZ2lvbiAqbXIpOworIAorQEAgLTY1LDEx ICs2NSwxMSBAQCBpbnQgdmZpb19jcHJfZ3JvdXBfZ2V0X2RldmljZV9mZChpbnQgZCwgY29uc3Qg Y2hhciAqbmFtZSk7CisgYm9vbCB2ZmlvX2Nwcl9jb250YWluZXJfbWF0Y2goc3RydWN0IFZGSU9M ZWdhY3lDb250YWluZXIgKmNvbnRhaW5lciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBzdHJ1Y3QgVkZJT0dyb3VwICpncm91cCwgaW50IGZkKTsKKyAKKy12b2lkIHZmaW9fY3ByX2dp b21tdV9yZW1hcChzdHJ1Y3QgVkZJT0NvbnRhaW5lckJhc2UgKmJjb250YWluZXIsCisrdm9pZCB2 ZmlvX2Nwcl9naW9tbXVfcmVtYXAoc3RydWN0IFZGSU9Db250YWluZXIgKmJjb250YWluZXIsCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgTWVtb3J5UmVnaW9uU2VjdGlvbiAqc2VjdGlvbik7 CisgCisgYm9vbCB2ZmlvX2Nwcl9yYW1fZGlzY2FyZF9yZWdpc3Rlcl9saXN0ZW5lcigKKy0gICAg c3RydWN0IFZGSU9Db250YWluZXJCYXNlICpiY29udGFpbmVyLCBNZW1vcnlSZWdpb25TZWN0aW9u ICpzZWN0aW9uKTsKKysgICAgc3RydWN0IFZGSU9Db250YWluZXIgKmJjb250YWluZXIsIE1lbW9y eVJlZ2lvblNlY3Rpb24gKnNlY3Rpb24pOworIAorIHZvaWQgdmZpb19jcHJfc2F2ZV92ZWN0b3Jf ZmQoc3RydWN0IFZGSU9QQ0lEZXZpY2UgKnZkZXYsIGNvbnN0IGNoYXIgKm5hbWUsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBpbnQgbnIsIGludCBmZCk7CitkaWZmIC0tZ2l0IGEvaW5j bHVkZS9ody92ZmlvL3ZmaW8tZGV2aWNlLmggYi9pbmNsdWRlL2h3L3ZmaW8vdmZpby1kZXZpY2Uu aAoraW5kZXggMmJjMTZhMWEyZS4uZDIwMTg2MzI3ZiAxMDA2NDQKKy0tLSBhL2luY2x1ZGUvaHcv dmZpby92ZmlvLWRldmljZS5oCisrKysgYi9pbmNsdWRlL2h3L3ZmaW8vdmZpby1kZXZpY2UuaAor QEAgLTU0LDcgKzU0LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgVkZJT0RldmljZSB7CisgICAgIFFMSVNU X0VOVFJZKFZGSU9EZXZpY2UpIGNvbnRhaW5lcl9uZXh0OworICAgICBRTElTVF9FTlRSWShWRklP RGV2aWNlKSBnbG9iYWxfbmV4dDsKKyAgICAgc3RydWN0IFZGSU9Hcm91cCAqZ3JvdXA7CistICAg IFZGSU9Db250YWluZXJCYXNlICpiY29udGFpbmVyOworKyAgICBWRklPQ29udGFpbmVyICpiY29u dGFpbmVyOworICAgICBjaGFyICpzeXNmc2RldjsKKyAgICAgY2hhciAqbmFtZTsKKyAgICAgRGV2 aWNlU3RhdGUgKmRldjsKK0BAIC0yNTMsNyArMjUzLDcgQEAgc3RydWN0IFZGSU9EZXZpY2VJT09w cyB7CisgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqZGF0YSwgYm9vbCBwb3N0KTsKKyB9 OworIAorLXZvaWQgdmZpb19kZXZpY2VfcHJlcGFyZShWRklPRGV2aWNlICp2YmFzZWRldiwgVkZJ T0NvbnRhaW5lckJhc2UgKmJjb250YWluZXIsCisrdm9pZCB2ZmlvX2RldmljZV9wcmVwYXJlKFZG SU9EZXZpY2UgKnZiYXNlZGV2LCBWRklPQ29udGFpbmVyICpiY29udGFpbmVyLAorICAgICAgICAg ICAgICAgICAgICAgICAgICBzdHJ1Y3QgdmZpb19kZXZpY2VfaW5mbyAqaW5mbyk7CisgCisgdm9p ZCB2ZmlvX2RldmljZV91bnByZXBhcmUoVkZJT0RldmljZSAqdmJhc2VkZXYpOworLS0gCisyLjUy LjAKKwoKZGlmZiAtLWdpdCBhL2t2bS1pbmNsdWRlLWh3LXZmaW8tdmZpby1jb250YWluZXItYmFz ZS5oLXJlbmFtZS1maWxlLXRvLnBhdGNoIGIva3ZtLWluY2x1ZGUtaHctdmZpby12ZmlvLWNvbnRh aW5lci1iYXNlLmgtcmVuYW1lLWZpbGUtdG8ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMC4uYTBkNmI5MwotLS0gL2Rldi9udWxsCisrKyBiL2t2bS1pbmNsdWRlLWh3LXZm aW8tdmZpby1jb250YWluZXItYmFzZS5oLXJlbmFtZS1maWxlLXRvLnBhdGNoCkBAIC0wLDAgKzEs MTI5IEBACitGcm9tIGIyZjg4NWJlYzdlNGRjMGIxNjE4MDYzYTdjMTIyMGJjMjM1YzU1ZWIgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNYXJrIENhdmUtQXlsYW5kIDxtYXJrLmNhdmVh eWxhbmRAbnV0YW5peC5jb20+CitEYXRlOiBUaHUsIDI1IFNlcCAyMDI1IDEyOjMxOjEyICswMTAw CitTdWJqZWN0OiBbUEFUQ0ggMDU0LzExNl0gaW5jbHVkZS9ody92ZmlvL3ZmaW8tY29udGFpbmVy LWJhc2UuaDogcmVuYW1lIGZpbGUgdG8KKyB2ZmlvLWNvbnRhaW5lci5oCitNSU1FLVZlcnNpb246 IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRy YW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK1JILUF1dGhvcjogUm9kb2xmbyBWaWNrIDxOb25lPgor UkgtTWVyZ2VSZXF1ZXN0OiA0ODY6IEFkZCBETUFCVUYgc3VwcG9ydAorUkgtSmlyYTogUkhFTC0x Mzg0OTQKK1JILUFja2VkLWJ5OiBDw6lkcmljIExlIEdvYXRlciA8Y2xnQHJlZGhhdC5jb20+CitS SC1BY2tlZC1ieTogRXJpYyBBdWdlciA8ZXJpYy5hdWdlckByZWRoYXQuY29tPgorUkgtQ29tbWl0 OiBbMzgvMTAwXSA4Zjk5N2MyNzI2YmU5OGRkODA4M2YzMjMwNWEyMGFhOTkyYmJjNDZkIChyb3Zp Y2sxL3FlbXUta3ZtKQorCitXaXRoIHRoZSByZW5hbWUgb2YgVkZJT0NvbnRhaW5lckJhc2UgdG8g VkZJT0NvbnRhaW5lciwgdGhlIHZmaW8tY29udGFpbmVyLWJhc2UuaAoraGVhZGVyIGZpbGUgY29u dGFpbmluZyB0aGUgc3RydWN0IGRlZmluaXRpb24gaXMgbWlzbGVhZGluZy4gUmVuYW1lIGl0IGZy b20KK3ZmaW8tY29udGFpbmVyLWJhc2UuaCB0byB2ZmlvLWNvbnRhaW5lci5oIGFjY29yZGluZ2x5 LCBmaXhpbmcgdXAgdGhlIG5hbWUKK29mIHRoZSBpbmNsdWRlIGd1YXJkIGF0IHRoZSBzYW1lIHRp bWUuCisKK1NpZ25lZC1vZmYtYnk6IE1hcmsgQ2F2ZS1BeWxhbmQgPG1hcmsuY2F2ZWF5bGFuZEBu dXRhbml4LmNvbT4KK1Jldmlld2VkLWJ5OiBDw6lkcmljIExlIEdvYXRlciA8Y2xnQHJlZGhhdC5j b20+CitMaW5rOiBodHRwczovL2xvcmUua2VybmVsLm9yZy9xZW11LWRldmVsLzIwMjUwOTI1MTEz MTU5LjE3NjAzMTctNS1tYXJrLmNhdmVheWxhbmRAbnV0YW5peC5jb20KK1NpZ25lZC1vZmYtYnk6 IEPDqWRyaWMgTGUgR29hdGVyIDxjbGdAcmVkaGF0LmNvbT4KKyhjaGVycnkgcGlja2VkIGZyb20g Y29tbWl0IGVmNzBlYjMyYjhhMTVhYmVhNmFmODE4MGJhMDNlNzcxYWUwNDExNjkpCitTaWduZWQt b2ZmLWJ5OiBFcmljIEF1Z2VyIDxlcmljLmF1Z2VyQHJlZGhhdC5jb20+CistLS0KKyBody92Zmlv LXVzZXIvY29udGFpbmVyLmggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDIg Ky0KKyBody92ZmlvL2NvbnRhaW5lci1iYXNlLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8IDIgKy0KKyBody92ZmlvL3ZmaW8taW9tbXVmZC5oICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB8IDIgKy0KKyBpbmNsdWRlL2h3L3ZmaW8vdmZpby1jb250YWlu ZXItbGVnYWN5LmggICAgICAgICAgICAgICAgICAgICB8IDIgKy0KKyBpbmNsdWRlL2h3L3ZmaW8v e3ZmaW8tY29udGFpbmVyLWJhc2UuaCA9PiB2ZmlvLWNvbnRhaW5lci5ofSB8IDYgKysrLS0tCisg aW5jbHVkZS9ody92ZmlvL3ZmaW8tZGV2aWNlLmggICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfCAyICstCisgNiBmaWxlcyBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDggZGVsZXRpb25z KC0pCisgcmVuYW1lIGluY2x1ZGUvaHcvdmZpby97dmZpby1jb250YWluZXItYmFzZS5oID0+IHZm aW8tY29udGFpbmVyLmh9ICg5OCUpCisKK2RpZmYgLS1naXQgYS9ody92ZmlvLXVzZXIvY29udGFp bmVyLmggYi9ody92ZmlvLXVzZXIvY29udGFpbmVyLmgKK2luZGV4IDI0MTg2M2VmOTcuLmEyYjQy ZTMxNjkgMTAwNjQ0CistLS0gYS9ody92ZmlvLXVzZXIvY29udGFpbmVyLmgKKysrKyBiL2h3L3Zm aW8tdXNlci9jb250YWluZXIuaAorQEAgLTksNyArOSw3IEBACisgCisgI2luY2x1ZGUgInFlbXUv b3NkZXAuaCIKKyAKKy0jaW5jbHVkZSAiaHcvdmZpby92ZmlvLWNvbnRhaW5lci1iYXNlLmgiCisr I2luY2x1ZGUgImh3L3ZmaW8vdmZpby1jb250YWluZXIuaCIKKyAjaW5jbHVkZSAiaHcvdmZpby11 c2VyL3Byb3h5LmgiCisgCisgLyogTU1VIGNvbnRhaW5lciBzdWItY2xhc3MgZm9yIHZmaW8tdXNl ci4gKi8KK2RpZmYgLS1naXQgYS9ody92ZmlvL2NvbnRhaW5lci1iYXNlLmMgYi9ody92ZmlvL2Nv bnRhaW5lci1iYXNlLmMKK2luZGV4IDk4YzUxOThlNTAuLjI1MGIyMGY0MjQgMTAwNjQ0CistLS0g YS9ody92ZmlvL2NvbnRhaW5lci1iYXNlLmMKKysrKyBiL2h3L3ZmaW8vY29udGFpbmVyLWJhc2Uu YworQEAgLTE4LDcgKzE4LDcgQEAKKyAjaW5jbHVkZSAic3lzdGVtL3JhbV9hZGRyLmgiCisgI2lu Y2x1ZGUgInFhcGkvZXJyb3IuaCIKKyAjaW5jbHVkZSAicWVtdS9lcnJvci1yZXBvcnQuaCIKKy0j aW5jbHVkZSAiaHcvdmZpby92ZmlvLWNvbnRhaW5lci1iYXNlLmgiCisrI2luY2x1ZGUgImh3L3Zm aW8vdmZpby1jb250YWluZXIuaCIKKyAjaW5jbHVkZSAiaHcvdmZpby92ZmlvLWRldmljZS5oIiAv KiB2ZmlvX2RldmljZV9yZXNldF9oYW5kbGVyICovCisgI2luY2x1ZGUgInN5c3RlbS9yZXNldC5o IgorICNpbmNsdWRlICJ2ZmlvLWhlbHBlcnMuaCIKK2RpZmYgLS1naXQgYS9ody92ZmlvL3ZmaW8t aW9tbXVmZC5oIGIvaHcvdmZpby92ZmlvLWlvbW11ZmQuaAoraW5kZXggNmMwNDlkOTI1Ny4uMTNm NDEyYWFkNyAxMDA2NDQKKy0tLSBhL2h3L3ZmaW8vdmZpby1pb21tdWZkLmgKKysrKyBiL2h3L3Zm aW8vdmZpby1pb21tdWZkLmgKK0BAIC05LDcgKzksNyBAQAorICNpZm5kZWYgSFdfVkZJT19WRklP X0lPTU1VRkRfSAorICNkZWZpbmUgSFdfVkZJT19WRklPX0lPTU1VRkRfSAorIAorLSNpbmNsdWRl ICJody92ZmlvL3ZmaW8tY29udGFpbmVyLWJhc2UuaCIKKysjaW5jbHVkZSAiaHcvdmZpby92Zmlv LWNvbnRhaW5lci5oIgorIAorIHR5cGVkZWYgc3RydWN0IFZGSU9EZXZpY2UgVkZJT0RldmljZTsK KyAKK2RpZmYgLS1naXQgYS9pbmNsdWRlL2h3L3ZmaW8vdmZpby1jb250YWluZXItbGVnYWN5Lmgg Yi9pbmNsdWRlL2h3L3ZmaW8vdmZpby1jb250YWluZXItbGVnYWN5LmgKK2luZGV4IGFiNTEzMGQy NmUuLjc0YTcyZGYwMTggMTAwNjQ0CistLS0gYS9pbmNsdWRlL2h3L3ZmaW8vdmZpby1jb250YWlu ZXItbGVnYWN5LmgKKysrKyBiL2luY2x1ZGUvaHcvdmZpby92ZmlvLWNvbnRhaW5lci1sZWdhY3ku aAorQEAgLTksNyArOSw3IEBACisgI2lmbmRlZiBIV19WRklPX0NPTlRBSU5FUl9MRUdBQ1lfSAor ICNkZWZpbmUgSFdfVkZJT19DT05UQUlORVJfTEVHQUNZX0gKKyAKKy0jaW5jbHVkZSAiaHcvdmZp by92ZmlvLWNvbnRhaW5lci1iYXNlLmgiCisrI2luY2x1ZGUgImh3L3ZmaW8vdmZpby1jb250YWlu ZXIuaCIKKyAjaW5jbHVkZSAiaHcvdmZpby92ZmlvLWNwci5oIgorIAorIHR5cGVkZWYgc3RydWN0 IFZGSU9MZWdhY3lDb250YWluZXIgVkZJT0xlZ2FjeUNvbnRhaW5lcjsKK2RpZmYgLS1naXQgYS9p bmNsdWRlL2h3L3ZmaW8vdmZpby1jb250YWluZXItYmFzZS5oIGIvaW5jbHVkZS9ody92ZmlvL3Zm aW8tY29udGFpbmVyLmgKK3NpbWlsYXJpdHkgaW5kZXggOTglCityZW5hbWUgZnJvbSBpbmNsdWRl L2h3L3ZmaW8vdmZpby1jb250YWluZXItYmFzZS5oCityZW5hbWUgdG8gaW5jbHVkZS9ody92Zmlv L3ZmaW8tY29udGFpbmVyLmgKK2luZGV4IGI1ODBmNGEwMmQuLmI4ZmIyYjhiNWQgMTAwNjQ0Cist LS0gYS9pbmNsdWRlL2h3L3ZmaW8vdmZpby1jb250YWluZXItYmFzZS5oCisrKysgYi9pbmNsdWRl L2h3L3ZmaW8vdmZpby1jb250YWluZXIuaAorQEAgLTEwLDggKzEwLDggQEAKKyAgKiBTUERYLUxp Y2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRlcgorICAqLworIAorLSNpZm5kZWYgSFdf VkZJT19WRklPX0NPTlRBSU5FUl9CQVNFX0gKKy0jZGVmaW5lIEhXX1ZGSU9fVkZJT19DT05UQUlO RVJfQkFTRV9ICisrI2lmbmRlZiBIV19WRklPX1ZGSU9fQ09OVEFJTkVSX0gKKysjZGVmaW5lIEhX X1ZGSU9fVkZJT19DT05UQUlORVJfSAorIAorICNpbmNsdWRlICJzeXN0ZW0vbWVtb3J5LmgiCisg CitAQCAtMjc2LDQgKzI3Niw0IEBAIFZGSU9SYW1EaXNjYXJkTGlzdGVuZXIgKnZmaW9fZmluZF9y YW1fZGlzY2FyZF9saXN0ZW5lcigKKyB2b2lkIHZmaW9fY29udGFpbmVyX3JlZ2lvbl9hZGQoVkZJ T0NvbnRhaW5lciAqYmNvbnRhaW5lciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg TWVtb3J5UmVnaW9uU2VjdGlvbiAqc2VjdGlvbiwgYm9vbCBjcHJfcmVtYXApOworIAorLSNlbmRp ZiAvKiBIV19WRklPX1ZGSU9fQ09OVEFJTkVSX0JBU0VfSCAqLworKyNlbmRpZiAvKiBIV19WRklP X1ZGSU9fQ09OVEFJTkVSX0ggKi8KK2RpZmYgLS1naXQgYS9pbmNsdWRlL2h3L3ZmaW8vdmZpby1k ZXZpY2UuaCBiL2luY2x1ZGUvaHcvdmZpby92ZmlvLWRldmljZS5oCitpbmRleCBkMjAxODYzMjdm Li4yODA0N2E2MzM5IDEwMDY0NAorLS0tIGEvaW5jbHVkZS9ody92ZmlvL3ZmaW8tZGV2aWNlLmgK KysrKyBiL2luY2x1ZGUvaHcvdmZpby92ZmlvLWRldmljZS5oCitAQCAtMjcsNyArMjcsNyBAQAor ICNpbmNsdWRlIDxsaW51eC92ZmlvLmg+CisgI2VuZGlmCisgI2luY2x1ZGUgInN5c3RlbS9zeXN0 ZW0uaCIKKy0jaW5jbHVkZSAiaHcvdmZpby92ZmlvLWNvbnRhaW5lci1iYXNlLmgiCisrI2luY2x1 ZGUgImh3L3ZmaW8vdmZpby1jb250YWluZXIuaCIKKyAjaW5jbHVkZSAiaHcvdmZpby92ZmlvLWNw ci5oIgorICNpbmNsdWRlICJzeXN0ZW0vaG9zdF9pb21tdV9kZXZpY2UuaCIKKyAjaW5jbHVkZSAi c3lzdGVtL2lvbW11ZmQuaCIKKy0tIAorMi41Mi4wCisKCmRpZmYgLS1naXQgYS9rdm0taW5jbHVk ZS1ody12ZmlvLXZmaW8tY29udGFpbmVyLmgtcmVuYW1lLVZGSU9Db250YWluZS5wYXRjaCBiL2t2 bS1pbmNsdWRlLWh3LXZmaW8tdmZpby1jb250YWluZXIuaC1yZW5hbWUtVkZJT0NvbnRhaW5lLnBh dGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIxNTBkNTEKLS0tIC9kZXYv bnVsbAorKysgYi9rdm0taW5jbHVkZS1ody12ZmlvLXZmaW8tY29udGFpbmVyLmgtcmVuYW1lLVZG SU9Db250YWluZS5wYXRjaApAQCAtMCwwICsxLDUxMyBAQAorRnJvbSAzZTVhNDhlZTI4YTllY2My OGYyN2UzNGU0YmRlYTNmMzBjYjA3MTU0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTog TWFyayBDYXZlLUF5bGFuZCA8bWFyay5jYXZlYXlsYW5kQG51dGFuaXguY29tPgorRGF0ZTogVGh1 LCAyNSBTZXAgMjAyNSAxMjozMTowOSArMDEwMAorU3ViamVjdDogW1BBVENIIDA1MS8xMTZdIGlu Y2x1ZGUvaHcvdmZpby92ZmlvLWNvbnRhaW5lci5oOiByZW5hbWUKKyBWRklPQ29udGFpbmVyIHRv IFZGSU9MZWdhY3lDb250YWluZXIKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRl eHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQK KworUkgtQXV0aG9yOiBSb2RvbGZvIFZpY2sgPE5vbmU+CitSSC1NZXJnZVJlcXVlc3Q6IDQ4Njog QWRkIERNQUJVRiBzdXBwb3J0CitSSC1KaXJhOiBSSEVMLTEzODQ5NAorUkgtQWNrZWQtYnk6IEPD qWRyaWMgTGUgR29hdGVyIDxjbGdAcmVkaGF0LmNvbT4KK1JILUFja2VkLWJ5OiBFcmljIEF1Z2Vy IDxlcmljLmF1Z2VyQHJlZGhhdC5jb20+CitSSC1Db21taXQ6IFszNS8xMDBdIDc2MDkyYjU3YjM4 MzlhY2Q2NjI3MDEwZTMwYjdkN2NlOTBkYjUyNGYgKHJvdmljazEvcWVtdS1rdm0pCisKK0NvbmZs aWN0czoKKwlody92ZmlvL2NvbnRhaW5lci5jOiBjb250ZXh0dWFsIGNvbmZsaWN0OiBkb3duc3Ry ZWFtIHdlCisgICAgICAgIGhhdmUgdmZpb19kZXZpY2VfY291bnQKKworVGhlIFZGSU9Db250YWlu ZXIgc3RydWN0IHJlcHJlc2VudHMgdGhlIGxlZ2FjeSBWRklPIGNvbnRhaW5lciBldmVuIHRob3Vn aCB0aGUKK25hbWUgc3VnZ2VzdHMgaXQgbWF5IGJlIHRoZSBjb21tb24gc3VwZXJjbGFzcyBvZiBh bGwgVkZJTyBjb250YWluZXJzLiBSZW5hbWUgaXQKK3RvIFZGSU9MZWdhY3lDb250YWluZXIgdG8g bWFrZSB0aGlzIGNsZWFyZXIsIHdoaWNoIGlzIGFsc28gYSBiZXR0ZXIgbWF0Y2ggZm9yCitpdHMg VkZJT19JT01NVV9MRUdBQ1kgUU9NIHR5cGUgbmFtZS4KKworU2lnbmVkLW9mZi1ieTogTWFyayBD YXZlLUF5bGFuZCA8bWFyay5jYXZlYXlsYW5kQG51dGFuaXguY29tPgorUmV2aWV3ZWQtYnk6IEPD qWRyaWMgTGUgR29hdGVyIDxjbGdAcmVkaGF0LmNvbT4KK0xpbms6IGh0dHBzOi8vbG9yZS5rZXJu ZWwub3JnL3FlbXUtZGV2ZWwvMjAyNTA5MjUxMTMxNTkuMTc2MDMxNy0yLW1hcmsuY2F2ZWF5bGFu ZEBudXRhbml4LmNvbQorU2lnbmVkLW9mZi1ieTogQ8OpZHJpYyBMZSBHb2F0ZXIgPGNsZ0ByZWRo YXQuY29tPgorKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgZGE5MjExZjI4ZTI4MGJjOTgwOWIx MTZmYzE4NjcyN2EwMWIwZjI2NykKK1NpZ25lZC1vZmYtYnk6IEVyaWMgQXVnZXIgPGVyaWMuYXVn ZXJAcmVkaGF0LmNvbT4KKy0tLQorIGh3L3BwYy9zcGFwcl9wY2lfdmZpby5jICAgICAgICAgIHwg MTAgKysrKy0tLS0KKyBody92ZmlvL2NvbnRhaW5lci5jICAgICAgICAgICAgICB8IDQyICsrKysr KysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tCisgaHcvdmZpby9jcHItbGVnYWN5LmMgICAgICAg ICAgICAgfCAyNyArKysrKysrKysrKy0tLS0tLS0tLQorIGh3L3ZmaW8vc3BhcHIuYyAgICAgICAg ICAgICAgICAgIHwgMTggKysrKysrKy0tLS0tLS0KKyBpbmNsdWRlL2h3L3ZmaW8vdmZpby1jb250 YWluZXIuaCB8ICA4ICsrKy0tLQorIGluY2x1ZGUvaHcvdmZpby92ZmlvLWNwci5oICAgICAgIHwg IDkgKysrKy0tLQorIDYgZmlsZXMgY2hhbmdlZCwgNjAgaW5zZXJ0aW9ucygrKSwgNTQgZGVsZXRp b25zKC0pCisKK2RpZmYgLS1naXQgYS9ody9wcGMvc3BhcHJfcGNpX3ZmaW8uYyBiL2h3L3BwYy9z cGFwcl9wY2lfdmZpby5jCitpbmRleCBlMzE4ZDBkOTEyLi5iNjU4ZWIzNzJjIDEwMDY0NAorLS0t IGEvaHcvcHBjL3NwYXByX3BjaV92ZmlvLmMKKysrKyBiL2h3L3BwYy9zcGFwcl9wY2lfdmZpby5j CitAQCAtMzIsNyArMzIsNyBAQAorICAqIEludGVyZmFjZXMgZm9yIElCTSBFRUggKEVuaGFuY2Vk IEVycm9yIEhhbmRsaW5nKQorICAqLworICNpZmRlZiBDT05GSUdfVkZJT19QQ0kKKy1zdGF0aWMg Ym9vbCB2ZmlvX2VlaF9jb250YWluZXJfb2soVkZJT0NvbnRhaW5lciAqY29udGFpbmVyKQorK3N0 YXRpYyBib29sIHZmaW9fZWVoX2NvbnRhaW5lcl9vayhWRklPTGVnYWN5Q29udGFpbmVyICpjb250 YWluZXIpCisgeworICAgICAvKgorICAgICAgKiBBcyBvZiAyMDE2LTAzLTA0IChsaW51eC00LjUp IHRoZSBob3N0IGtlcm5lbCBFRUgvVkZJTworQEAgLTYwLDcgKzYwLDcgQEAgc3RhdGljIGJvb2wg dmZpb19lZWhfY29udGFpbmVyX29rKFZGSU9Db250YWluZXIgKmNvbnRhaW5lcikKKyAgICAgcmV0 dXJuIHRydWU7CisgfQorIAorLXN0YXRpYyBpbnQgdmZpb19lZWhfY29udGFpbmVyX29wKFZGSU9D b250YWluZXIgKmNvbnRhaW5lciwgdWludDMyX3Qgb3ApCisrc3RhdGljIGludCB2ZmlvX2VlaF9j b250YWluZXJfb3AoVkZJT0xlZ2FjeUNvbnRhaW5lciAqY29udGFpbmVyLCB1aW50MzJfdCBvcCkK KyB7CisgICAgIHN0cnVjdCB2ZmlvX2VlaF9wZV9vcCBwZV9vcCA9IHsKKyAgICAgICAgIC5hcmdz eiA9IHNpemVvZihwZV9vcCksCitAQCAtODMsNyArODMsNyBAQCBzdGF0aWMgaW50IHZmaW9fZWVo X2NvbnRhaW5lcl9vcChWRklPQ29udGFpbmVyICpjb250YWluZXIsIHVpbnQzMl90IG9wKQorICAg ICByZXR1cm4gcmV0OworIH0KKyAKKy1zdGF0aWMgVkZJT0NvbnRhaW5lciAqdmZpb19lZWhfYXNf Y29udGFpbmVyKEFkZHJlc3NTcGFjZSAqYXMpCisrc3RhdGljIFZGSU9MZWdhY3lDb250YWluZXIg KnZmaW9fZWVoX2FzX2NvbnRhaW5lcihBZGRyZXNzU3BhY2UgKmFzKQorIHsKKyAgICAgVkZJT0Fk ZHJlc3NTcGFjZSAqc3BhY2UgPSB2ZmlvX2FkZHJlc3Nfc3BhY2VfZ2V0KGFzKTsKKyAgICAgVkZJ T0NvbnRhaW5lckJhc2UgKmJjb250YWluZXIgPSBOVUxMOworQEAgLTExMSwxNCArMTExLDE0IEBA IG91dDoKKyAKKyBzdGF0aWMgYm9vbCB2ZmlvX2VlaF9hc19vayhBZGRyZXNzU3BhY2UgKmFzKQor IHsKKy0gICAgVkZJT0NvbnRhaW5lciAqY29udGFpbmVyID0gdmZpb19lZWhfYXNfY29udGFpbmVy KGFzKTsKKysgICAgVkZJT0xlZ2FjeUNvbnRhaW5lciAqY29udGFpbmVyID0gdmZpb19lZWhfYXNf Y29udGFpbmVyKGFzKTsKKyAKKyAgICAgcmV0dXJuIChjb250YWluZXIgIT0gTlVMTCkgJiYgdmZp b19lZWhfY29udGFpbmVyX29rKGNvbnRhaW5lcik7CisgfQorIAorIHN0YXRpYyBpbnQgdmZpb19l ZWhfYXNfb3AoQWRkcmVzc1NwYWNlICphcywgdWludDMyX3Qgb3ApCisgeworLSAgICBWRklPQ29u dGFpbmVyICpjb250YWluZXIgPSB2ZmlvX2VlaF9hc19jb250YWluZXIoYXMpOworKyAgICBWRklP TGVnYWN5Q29udGFpbmVyICpjb250YWluZXIgPSB2ZmlvX2VlaF9hc19jb250YWluZXIoYXMpOwor IAorICAgICBpZiAoIWNvbnRhaW5lcikgeworICAgICAgICAgcmV0dXJuIC1FTk9ERVY7CitkaWZm IC0tZ2l0IGEvaHcvdmZpby9jb250YWluZXIuYyBiL2h3L3ZmaW8vY29udGFpbmVyLmMKK2luZGV4 IDg2MGQxYWViZGEuLjc2YTA5YmU5NDEgMTAwNjQ0CistLS0gYS9ody92ZmlvL2NvbnRhaW5lci5j CisrKysgYi9ody92ZmlvL2NvbnRhaW5lci5jCitAQCAtNTgsNyArNTgsOCBAQCBpbnQgdmZpb19k ZXZpY2VfY291bnQodm9pZCkKKyAgICAgcmV0dXJuIGk7CisgfQorIAorLXN0YXRpYyBpbnQgdmZp b19yYW1fYmxvY2tfZGlzY2FyZF9kaXNhYmxlKFZGSU9Db250YWluZXIgKmNvbnRhaW5lciwgYm9v bCBzdGF0ZSkKKytzdGF0aWMgaW50IHZmaW9fcmFtX2Jsb2NrX2Rpc2NhcmRfZGlzYWJsZShWRklP TGVnYWN5Q29udGFpbmVyICpjb250YWluZXIsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgYm9vbCBzdGF0ZSkKKyB7CisgICAgIHN3aXRjaCAoY29udGFpbmVyLT5p b21tdV90eXBlKSB7CisgICAgIGNhc2UgVkZJT19UWVBFMXYyX0lPTU1VOgorQEAgLTgxLDcgKzgy LDcgQEAgc3RhdGljIGludCB2ZmlvX3JhbV9ibG9ja19kaXNjYXJkX2Rpc2FibGUoVkZJT0NvbnRh aW5lciAqY29udGFpbmVyLCBib29sIHN0YXRlKQorICAgICB9CisgfQorIAorLXN0YXRpYyBpbnQg dmZpb19kbWFfdW5tYXBfYml0bWFwKGNvbnN0IFZGSU9Db250YWluZXIgKmNvbnRhaW5lciwKKytz dGF0aWMgaW50IHZmaW9fZG1hX3VubWFwX2JpdG1hcChjb25zdCBWRklPTGVnYWN5Q29udGFpbmVy ICpjb250YWluZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHdhZGRyIGlv dmEsIHJhbV9hZGRyX3Qgc2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJ T01NVVRMQkVudHJ5ICppb3RsYikKKyB7CitAQCAtMTM4LDcgKzEzOSw3IEBAIHN0YXRpYyBpbnQg dmZpb19sZWdhY3lfZG1hX3VubWFwX29uZShjb25zdCBWRklPQ29udGFpbmVyQmFzZSAqYmNvbnRh aW5lciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHdhZGRyIGlvdmEs IHJhbV9hZGRyX3Qgc2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg SU9NTVVUTEJFbnRyeSAqaW90bGIpCisgeworLSAgICBjb25zdCBWRklPQ29udGFpbmVyICpjb250 YWluZXIgPSBWRklPX0lPTU1VX0xFR0FDWShiY29udGFpbmVyKTsKKysgICAgY29uc3QgVkZJT0xl Z2FjeUNvbnRhaW5lciAqY29udGFpbmVyID0gVkZJT19JT01NVV9MRUdBQ1koYmNvbnRhaW5lcik7 CisgICAgIHN0cnVjdCB2ZmlvX2lvbW11X3R5cGUxX2RtYV91bm1hcCB1bm1hcCA9IHsKKyAgICAg ICAgIC5hcmdzeiA9IHNpemVvZih1bm1hcCksCisgICAgICAgICAuZmxhZ3MgPSAwLAorQEAgLTIy Niw3ICsyMjcsNyBAQCBzdGF0aWMgaW50IHZmaW9fbGVnYWN5X2RtYV9tYXAoY29uc3QgVkZJT0Nv bnRhaW5lckJhc2UgKmJjb250YWluZXIsIGh3YWRkciBpb3ZhLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICByYW1fYWRkcl90IHNpemUsIHZvaWQgKnZhZGRyLCBib29sIHJlYWRvbmx5 LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNZW1vcnlSZWdpb24gKm1yKQorIHsK Ky0gICAgY29uc3QgVkZJT0NvbnRhaW5lciAqY29udGFpbmVyID0gVkZJT19JT01NVV9MRUdBQ1ko YmNvbnRhaW5lcik7CisrICAgIGNvbnN0IFZGSU9MZWdhY3lDb250YWluZXIgKmNvbnRhaW5lciA9 IFZGSU9fSU9NTVVfTEVHQUNZKGJjb250YWluZXIpOworICAgICBzdHJ1Y3QgdmZpb19pb21tdV90 eXBlMV9kbWFfbWFwIG1hcCA9IHsKKyAgICAgICAgIC5hcmdzeiA9IHNpemVvZihtYXApLAorICAg ICAgICAgLmZsYWdzID0gVkZJT19ETUFfTUFQX0ZMQUdfUkVBRCwKK0BAIC0yNTgsNyArMjU5LDcg QEAgc3RhdGljIGludAorIHZmaW9fbGVnYWN5X3NldF9kaXJ0eV9wYWdlX3RyYWNraW5nKGNvbnN0 IFZGSU9Db250YWluZXJCYXNlICpiY29udGFpbmVyLAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGJvb2wgc3RhcnQsIEVycm9yICoqZXJycCkKKyB7CistICAgIGNvbnN0IFZG SU9Db250YWluZXIgKmNvbnRhaW5lciA9IFZGSU9fSU9NTVVfTEVHQUNZKGJjb250YWluZXIpOwor KyAgICBjb25zdCBWRklPTGVnYWN5Q29udGFpbmVyICpjb250YWluZXIgPSBWRklPX0lPTU1VX0xF R0FDWShiY29udGFpbmVyKTsKKyAgICAgaW50IHJldDsKKyAgICAgc3RydWN0IHZmaW9faW9tbXVf dHlwZTFfZGlydHlfYml0bWFwIGRpcnR5ID0geworICAgICAgICAgLmFyZ3N6ID0gc2l6ZW9mKGRp cnR5KSwKK0BAIC0yODMsNyArMjg0LDcgQEAgdmZpb19sZWdhY3lfc2V0X2RpcnR5X3BhZ2VfdHJh Y2tpbmcoY29uc3QgVkZJT0NvbnRhaW5lckJhc2UgKmJjb250YWluZXIsCisgc3RhdGljIGludCB2 ZmlvX2xlZ2FjeV9xdWVyeV9kaXJ0eV9iaXRtYXAoY29uc3QgVkZJT0NvbnRhaW5lckJhc2UgKmJj b250YWluZXIsCisgICAgICAgICAgICAgICAgICAgICAgIFZGSU9CaXRtYXAgKnZibWFwLCBod2Fk ZHIgaW92YSwgaHdhZGRyIHNpemUsIEVycm9yICoqZXJycCkKKyB7CistICAgIGNvbnN0IFZGSU9D b250YWluZXIgKmNvbnRhaW5lciA9IFZGSU9fSU9NTVVfTEVHQUNZKGJjb250YWluZXIpOworKyAg ICBjb25zdCBWRklPTGVnYWN5Q29udGFpbmVyICpjb250YWluZXIgPSBWRklPX0lPTU1VX0xFR0FD WShiY29udGFpbmVyKTsKKyAgICAgc3RydWN0IHZmaW9faW9tbXVfdHlwZTFfZGlydHlfYml0bWFw ICpkYml0bWFwOworICAgICBzdHJ1Y3QgdmZpb19pb21tdV90eXBlMV9kaXJ0eV9iaXRtYXBfZ2V0 ICpyYW5nZTsKKyAgICAgaW50IHJldDsKK0BAIC00MjcsMTIgKzQyOCwxMiBAQCBzdGF0aWMgYm9v bCB2ZmlvX3NldF9pb21tdShpbnQgY29udGFpbmVyX2ZkLCBpbnQgZ3JvdXBfZmQsCisgICAgIHJl dHVybiB0cnVlOworIH0KKyAKKy1zdGF0aWMgVkZJT0NvbnRhaW5lciAqdmZpb19jcmVhdGVfY29u dGFpbmVyKGludCBmZCwgVkZJT0dyb3VwICpncm91cCwKKytzdGF0aWMgVkZJT0xlZ2FjeUNvbnRh aW5lciAqdmZpb19jcmVhdGVfY29udGFpbmVyKGludCBmZCwgVkZJT0dyb3VwICpncm91cCwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVycm9yICoqZXJycCkK KyB7CisgICAgIGludCBpb21tdV90eXBlOworICAgICBjb25zdCBjaGFyICp2aW9jX25hbWU7Cist ICAgIFZGSU9Db250YWluZXIgKmNvbnRhaW5lcjsKKysgICAgVkZJT0xlZ2FjeUNvbnRhaW5lciAq Y29udGFpbmVyOworIAorICAgICBpb21tdV90eXBlID0gdmZpb19nZXRfaW9tbXVfdHlwZShmZCwg ZXJycCk7CisgICAgIGlmIChpb21tdV90eXBlIDwgMCkgeworQEAgLTQ1Niw3ICs0NTcsNyBAQCBz dGF0aWMgVkZJT0NvbnRhaW5lciAqdmZpb19jcmVhdGVfY29udGFpbmVyKGludCBmZCwgVkZJT0dy b3VwICpncm91cCwKKyAgICAgcmV0dXJuIGNvbnRhaW5lcjsKKyB9CisgCistc3RhdGljIGludCB2 ZmlvX2dldF9pb21tdV9pbmZvKFZGSU9Db250YWluZXIgKmNvbnRhaW5lciwKKytzdGF0aWMgaW50 IHZmaW9fZ2V0X2lvbW11X2luZm8oVkZJT0xlZ2FjeUNvbnRhaW5lciAqY29udGFpbmVyLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgdmZpb19pb21tdV90eXBlMV9pbmZv ICoqaW5mbykKKyB7CisgCitAQCAtNTAwLDcgKzUwMSw3IEBAIHZmaW9fZ2V0X2lvbW11X2luZm9f Y2FwKHN0cnVjdCB2ZmlvX2lvbW11X3R5cGUxX2luZm8gKmluZm8sIHVpbnQxNl90IGlkKQorICAg ICByZXR1cm4gTlVMTDsKKyB9CisgCistc3RhdGljIHZvaWQgdmZpb19nZXRfaW9tbXVfaW5mb19t aWdyYXRpb24oVkZJT0NvbnRhaW5lciAqY29udGFpbmVyLAorK3N0YXRpYyB2b2lkIHZmaW9fZ2V0 X2lvbW11X2luZm9fbWlncmF0aW9uKFZGSU9MZWdhY3lDb250YWluZXIgKmNvbnRhaW5lciwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgdmZpb19pb21t dV90eXBlMV9pbmZvICppbmZvKQorIHsKKyAgICAgc3RydWN0IHZmaW9faW5mb19jYXBfaGVhZGVy ICpoZHI7CitAQCAtNTI4LDcgKzUyOSw3IEBAIHN0YXRpYyB2b2lkIHZmaW9fZ2V0X2lvbW11X2lu Zm9fbWlncmF0aW9uKFZGSU9Db250YWluZXIgKmNvbnRhaW5lciwKKyAKKyBzdGF0aWMgYm9vbCB2 ZmlvX2xlZ2FjeV9zZXR1cChWRklPQ29udGFpbmVyQmFzZSAqYmNvbnRhaW5lciwgRXJyb3IgKipl cnJwKQorIHsKKy0gICAgVkZJT0NvbnRhaW5lciAqY29udGFpbmVyID0gVkZJT19JT01NVV9MRUdB Q1koYmNvbnRhaW5lcik7CisrICAgIFZGSU9MZWdhY3lDb250YWluZXIgKmNvbnRhaW5lciA9IFZG SU9fSU9NTVVfTEVHQUNZKGJjb250YWluZXIpOworICAgICBnX2F1dG9mcmVlIHN0cnVjdCB2Zmlv X2lvbW11X3R5cGUxX2luZm8gKmluZm8gPSBOVUxMOworICAgICBpbnQgcmV0OworIAorQEAgLTU1 NCw4ICs1NTUsOCBAQCBzdGF0aWMgYm9vbCB2ZmlvX2xlZ2FjeV9zZXR1cChWRklPQ29udGFpbmVy QmFzZSAqYmNvbnRhaW5lciwgRXJyb3IgKiplcnJwKQorICAgICByZXR1cm4gdHJ1ZTsKKyB9Cisg Cistc3RhdGljIGJvb2wgdmZpb19jb250YWluZXJfYXR0YWNoX2Rpc2NhcmRfZGlzYWJsZShWRklP Q29udGFpbmVyICpjb250YWluZXIsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBWRklPR3JvdXAgKmdyb3VwLCBFcnJvciAqKmVycnApCisrc3RhdGljIGJvb2wg dmZpb19jb250YWluZXJfYXR0YWNoX2Rpc2NhcmRfZGlzYWJsZSgKKysgICAgVkZJT0xlZ2FjeUNv bnRhaW5lciAqY29udGFpbmVyLCBWRklPR3JvdXAgKmdyb3VwLCBFcnJvciAqKmVycnApCisgewor ICAgICBpbnQgcmV0OworIAorQEAgLTYwMSw4ICs2MDIsOCBAQCBzdGF0aWMgYm9vbCB2ZmlvX2Nv bnRhaW5lcl9hdHRhY2hfZGlzY2FyZF9kaXNhYmxlKFZGSU9Db250YWluZXIgKmNvbnRhaW5lciwK KyAgICAgcmV0dXJuICFyZXQ7CisgfQorIAorLXN0YXRpYyBib29sIHZmaW9fY29udGFpbmVyX2dy b3VwX2FkZChWRklPQ29udGFpbmVyICpjb250YWluZXIsIFZGSU9Hcm91cCAqZ3JvdXAsCistICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVycm9yICoqZXJycCkKKytzdGF0aWMg Ym9vbCB2ZmlvX2NvbnRhaW5lcl9ncm91cF9hZGQoVkZJT0xlZ2FjeUNvbnRhaW5lciAqY29udGFp bmVyLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWRklPR3JvdXAgKmdy b3VwLCBFcnJvciAqKmVycnApCisgeworICAgICBpZiAoIXZmaW9fY29udGFpbmVyX2F0dGFjaF9k aXNjYXJkX2Rpc2FibGUoY29udGFpbmVyLCBncm91cCwgZXJycCkpIHsKKyAgICAgICAgIHJldHVy biBmYWxzZTsKK0BAIC02MTgsNyArNjE5LDggQEAgc3RhdGljIGJvb2wgdmZpb19jb250YWluZXJf Z3JvdXBfYWRkKFZGSU9Db250YWluZXIgKmNvbnRhaW5lciwgVkZJT0dyb3VwICpncm91cCwKKyAg ICAgcmV0dXJuIHRydWU7CisgfQorIAorLXN0YXRpYyB2b2lkIHZmaW9fY29udGFpbmVyX2dyb3Vw X2RlbChWRklPQ29udGFpbmVyICpjb250YWluZXIsIFZGSU9Hcm91cCAqZ3JvdXApCisrc3RhdGlj IHZvaWQgdmZpb19jb250YWluZXJfZ3JvdXBfZGVsKFZGSU9MZWdhY3lDb250YWluZXIgKmNvbnRh aW5lciwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVkZJT0dyb3VwICpn cm91cCkKKyB7CisgICAgIFFMSVNUX1JFTU9WRShncm91cCwgY29udGFpbmVyX25leHQpOworICAg ICBncm91cC0+Y29udGFpbmVyID0gTlVMTDsKK0BAIC02MzAsNyArNjMyLDcgQEAgc3RhdGljIHZv aWQgdmZpb19jb250YWluZXJfZ3JvdXBfZGVsKFZGSU9Db250YWluZXIgKmNvbnRhaW5lciwgVkZJ T0dyb3VwICpncm91cCkKKyBzdGF0aWMgYm9vbCB2ZmlvX2NvbnRhaW5lcl9jb25uZWN0KFZGSU9H cm91cCAqZ3JvdXAsIEFkZHJlc3NTcGFjZSAqYXMsCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBFcnJvciAqKmVycnApCisgeworLSAgICBWRklPQ29udGFpbmVyICpjb250YWlu ZXI7CisrICAgIFZGSU9MZWdhY3lDb250YWluZXIgKmNvbnRhaW5lcjsKKyAgICAgVkZJT0NvbnRh aW5lckJhc2UgKmJjb250YWluZXI7CisgICAgIGludCByZXQsIGZkID0gLTE7CisgICAgIFZGSU9B ZGRyZXNzU3BhY2UgKnNwYWNlOworQEAgLTc0Myw3ICs3NDUsNyBAQCBmYWlsOgorIAorIHN0YXRp YyB2b2lkIHZmaW9fY29udGFpbmVyX2Rpc2Nvbm5lY3QoVkZJT0dyb3VwICpncm91cCkKKyB7Cist ICAgIFZGSU9Db250YWluZXIgKmNvbnRhaW5lciA9IGdyb3VwLT5jb250YWluZXI7CisrICAgIFZG SU9MZWdhY3lDb250YWluZXIgKmNvbnRhaW5lciA9IGdyb3VwLT5jb250YWluZXI7CisgICAgIFZG SU9Db250YWluZXJCYXNlICpiY29udGFpbmVyID0gVkZJT19JT01NVShjb250YWluZXIpOworICAg ICBWRklPSU9NTVVDbGFzcyAqdmlvYyA9IFZGSU9fSU9NTVVfR0VUX0NMQVNTKGJjb250YWluZXIp OworIAorQEAgLTEyNTcsNyArMTI1OSw3IEBAIGhpb2RfbGVnYWN5X3ZmaW9fZ2V0X3BhZ2Vfc2l6 ZV9tYXNrKEhvc3RJT01NVURldmljZSAqaGlvZCkKKyAKKyBzdGF0aWMgdm9pZCB2ZmlvX2lvbW11 X2xlZ2FjeV9pbnN0YW5jZV9pbml0KE9iamVjdCAqb2JqKQorIHsKKy0gICAgVkZJT0NvbnRhaW5l ciAqY29udGFpbmVyID0gVkZJT19JT01NVV9MRUdBQ1kob2JqKTsKKysgICAgVkZJT0xlZ2FjeUNv bnRhaW5lciAqY29udGFpbmVyID0gVkZJT19JT01NVV9MRUdBQ1kob2JqKTsKKyAKKyAgICAgUUxJ U1RfSU5JVCgmY29udGFpbmVyLT5ncm91cF9saXN0KTsKKyB9CitAQCAtMTI3Nyw3ICsxMjc5LDcg QEAgc3RhdGljIGNvbnN0IFR5cGVJbmZvIHR5cGVzW10gPSB7CisgICAgICAgICAubmFtZSA9IFRZ UEVfVkZJT19JT01NVV9MRUdBQ1ksCisgICAgICAgICAucGFyZW50ID0gVFlQRV9WRklPX0lPTU1V LAorICAgICAgICAgLmluc3RhbmNlX2luaXQgPSB2ZmlvX2lvbW11X2xlZ2FjeV9pbnN0YW5jZV9p bml0LAorLSAgICAgICAgLmluc3RhbmNlX3NpemUgPSBzaXplb2YoVkZJT0NvbnRhaW5lciksCisr ICAgICAgICAuaW5zdGFuY2Vfc2l6ZSA9IHNpemVvZihWRklPTGVnYWN5Q29udGFpbmVyKSwKKyAg ICAgICAgIC5jbGFzc19pbml0ID0gdmZpb19pb21tdV9sZWdhY3lfY2xhc3NfaW5pdCwKKyAgICAg fSwgeworICAgICAgICAgLm5hbWUgPSBUWVBFX0hPU1RfSU9NTVVfREVWSUNFX0xFR0FDWV9WRklP LAorZGlmZiAtLWdpdCBhL2h3L3ZmaW8vY3ByLWxlZ2FjeS5jIGIvaHcvdmZpby9jcHItbGVnYWN5 LmMKK2luZGV4IDhmNDM3MTk0ZmEuLjEyYmY5MjBhN2QgMTAwNjQ0CistLS0gYS9ody92ZmlvL2Nw ci1sZWdhY3kuYworKysrIGIvaHcvdmZpby9jcHItbGVnYWN5LmMKK0BAIC0xNyw3ICsxNyw4IEBA CisgI2luY2x1ZGUgInFhcGkvZXJyb3IuaCIKKyAjaW5jbHVkZSAicWVtdS9lcnJvci1yZXBvcnQu aCIKKyAKKy1zdGF0aWMgYm9vbCB2ZmlvX2RtYV91bm1hcF92YWRkcl9hbGwoVkZJT0NvbnRhaW5l ciAqY29udGFpbmVyLCBFcnJvciAqKmVycnApCisrc3RhdGljIGJvb2wgdmZpb19kbWFfdW5tYXBf dmFkZHJfYWxsKFZGSU9MZWdhY3lDb250YWluZXIgKmNvbnRhaW5lciwKKysgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgRXJyb3IgKiplcnJwKQorIHsKKyAgICAgc3RydWN0IHZm aW9faW9tbXVfdHlwZTFfZG1hX3VubWFwIHVubWFwID0geworICAgICAgICAgLmFyZ3N6ID0gc2l6 ZW9mKHVubWFwKSwKK0BAIC00MSw3ICs0Miw3IEBAIHN0YXRpYyBpbnQgdmZpb19sZWdhY3lfY3By X2RtYV9tYXAoY29uc3QgVkZJT0NvbnRhaW5lckJhc2UgKmJjb250YWluZXIsCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBod2FkZHIgaW92YSwgcmFtX2FkZHJfdCBzaXplLCB2 b2lkICp2YWRkciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgcmVh ZG9ubHksIE1lbW9yeVJlZ2lvbiAqbXIpCisgeworLSAgICBjb25zdCBWRklPQ29udGFpbmVyICpj b250YWluZXIgPSBWRklPX0lPTU1VX0xFR0FDWShiY29udGFpbmVyKTsKKysgICAgY29uc3QgVkZJ T0xlZ2FjeUNvbnRhaW5lciAqY29udGFpbmVyID0gVkZJT19JT01NVV9MRUdBQ1koYmNvbnRhaW5l cik7CisgCisgICAgIHN0cnVjdCB2ZmlvX2lvbW11X3R5cGUxX2RtYV9tYXAgbWFwID0geworICAg ICAgICAgLmFyZ3N6ID0gc2l6ZW9mKG1hcCksCitAQCAtNjMsMTIgKzY0LDEzIEBAIHN0YXRpYyBp bnQgdmZpb19sZWdhY3lfY3ByX2RtYV9tYXAoY29uc3QgVkZJT0NvbnRhaW5lckJhc2UgKmJjb250 YWluZXIsCisgc3RhdGljIHZvaWQgdmZpb19yZWdpb25fcmVtYXAoTWVtb3J5TGlzdGVuZXIgKmxp c3RlbmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1lbW9yeVJlZ2lvblNlY3Rp b24gKnNlY3Rpb24pCisgeworLSAgICBWRklPQ29udGFpbmVyICpjb250YWluZXIgPSBjb250YWlu ZXJfb2YobGlzdGVuZXIsIFZGSU9Db250YWluZXIsCistICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBjcHIucmVtYXBfbGlzdGVuZXIpOworKyAgICBWRklPTGVnYWN5 Q29udGFpbmVyICpjb250YWluZXIgPSBjb250YWluZXJfb2YobGlzdGVuZXIsCisrICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWRklPTGVnYWN5Q29udGFp bmVyLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Y3ByLnJlbWFwX2xpc3RlbmVyKTsKKyAgICAgdmZpb19jb250YWluZXJfcmVnaW9uX2FkZChWRklP X0lPTU1VKGNvbnRhaW5lciksIHNlY3Rpb24sIHRydWUpOworIH0KKyAKKy1zdGF0aWMgYm9vbCB2 ZmlvX2Nwcl9zdXBwb3J0ZWQoVkZJT0NvbnRhaW5lciAqY29udGFpbmVyLCBFcnJvciAqKmVycnAp Cisrc3RhdGljIGJvb2wgdmZpb19jcHJfc3VwcG9ydGVkKFZGSU9MZWdhY3lDb250YWluZXIgKmNv bnRhaW5lciwgRXJyb3IgKiplcnJwKQorIHsKKyAgICAgaWYgKCFpb2N0bChjb250YWluZXItPmZk LCBWRklPX0NIRUNLX0VYVEVOU0lPTiwgVkZJT19VUERBVEVfVkFERFIpKSB7CisgICAgICAgICBl cnJvcl9zZXRnKGVycnAsICJWRklPIGNvbnRhaW5lciBkb2VzIG5vdCBzdXBwb3J0IFZGSU9fVVBE QVRFX1ZBRERSIik7CitAQCAtODUsNyArODcsNyBAQCBzdGF0aWMgYm9vbCB2ZmlvX2Nwcl9zdXBw b3J0ZWQoVkZJT0NvbnRhaW5lciAqY29udGFpbmVyLCBFcnJvciAqKmVycnApCisgCisgc3RhdGlj IGludCB2ZmlvX2NvbnRhaW5lcl9wcmVfc2F2ZSh2b2lkICpvcGFxdWUpCisgeworLSAgICBWRklP Q29udGFpbmVyICpjb250YWluZXIgPSBvcGFxdWU7CisrICAgIFZGSU9MZWdhY3lDb250YWluZXIg KmNvbnRhaW5lciA9IG9wYXF1ZTsKKyAgICAgRXJyb3IgKmxvY2FsX2VyciA9IE5VTEw7CisgCisg ICAgIGlmICghdmZpb19kbWFfdW5tYXBfdmFkZHJfYWxsKGNvbnRhaW5lciwgJmxvY2FsX2Vycikp IHsKK0BAIC05Nyw3ICs5OSw3IEBAIHN0YXRpYyBpbnQgdmZpb19jb250YWluZXJfcHJlX3NhdmUo dm9pZCAqb3BhcXVlKQorIAorIHN0YXRpYyBpbnQgdmZpb19jb250YWluZXJfcG9zdF9sb2FkKHZv aWQgKm9wYXF1ZSwgaW50IHZlcnNpb25faWQpCisgeworLSAgICBWRklPQ29udGFpbmVyICpjb250 YWluZXIgPSBvcGFxdWU7CisrICAgIFZGSU9MZWdhY3lDb250YWluZXIgKmNvbnRhaW5lciA9IG9w YXF1ZTsKKyAgICAgVkZJT0NvbnRhaW5lckJhc2UgKmJjb250YWluZXIgPSBWRklPX0lPTU1VKGNv bnRhaW5lcik7CisgICAgIFZGSU9JT01NVUNsYXNzICp2aW9jID0gVkZJT19JT01NVV9HRVRfQ0xB U1MoYmNvbnRhaW5lcik7CisgICAgIGRtYV9tYXBfZm4gc2F2ZWRfZG1hX21hcCA9IHZpb2MtPmRt YV9tYXA7CitAQCAtMTMzLDggKzEzNSw4IEBAIHN0YXRpYyBjb25zdCBWTVN0YXRlRGVzY3JpcHRp b24gdmZpb19jb250YWluZXJfdm1zdGF0ZSA9IHsKKyBzdGF0aWMgaW50IHZmaW9fY3ByX2ZhaWxf bm90aWZpZXIoTm90aWZpZXJXaXRoUmV0dXJuICpub3RpZmllciwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgTWlncmF0aW9uRXZlbnQgKmUsIEVycm9yICoqZXJycCkKKyB7Cist ICAgIFZGSU9Db250YWluZXIgKmNvbnRhaW5lciA9CistICAgICAgICBjb250YWluZXJfb2Yobm90 aWZpZXIsIFZGSU9Db250YWluZXIsIGNwci50cmFuc2Zlcl9ub3RpZmllcik7CisrICAgIFZGSU9M ZWdhY3lDb250YWluZXIgKmNvbnRhaW5lciA9CisrICAgICAgICBjb250YWluZXJfb2Yobm90aWZp ZXIsIFZGSU9MZWdhY3lDb250YWluZXIsIGNwci50cmFuc2Zlcl9ub3RpZmllcik7CisgICAgIFZG SU9Db250YWluZXJCYXNlICpiY29udGFpbmVyID0gVkZJT19JT01NVShjb250YWluZXIpOworIAor ICAgICBpZiAoZS0+dHlwZSAhPSBNSUdfRVZFTlRfUFJFQ09QWV9GQUlMRUQpIHsKK0BAIC0xNjUs NyArMTY3LDggQEAgc3RhdGljIGludCB2ZmlvX2Nwcl9mYWlsX25vdGlmaWVyKE5vdGlmaWVyV2l0 aFJldHVybiAqbm90aWZpZXIsCisgICAgIHJldHVybiAwOworIH0KKyAKKy1ib29sIHZmaW9fbGVn YWN5X2Nwcl9yZWdpc3Rlcl9jb250YWluZXIoVkZJT0NvbnRhaW5lciAqY29udGFpbmVyLCBFcnJv ciAqKmVycnApCisrYm9vbCB2ZmlvX2xlZ2FjeV9jcHJfcmVnaXN0ZXJfY29udGFpbmVyKFZGSU9M ZWdhY3lDb250YWluZXIgKmNvbnRhaW5lciwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgRXJyb3IgKiplcnJwKQorIHsKKyAgICAgVkZJT0NvbnRhaW5lckJhc2UgKmJj b250YWluZXIgPSBWRklPX0lPTU1VKGNvbnRhaW5lcik7CisgICAgIEVycm9yICoqY3ByX2Jsb2Nr ZXIgPSAmY29udGFpbmVyLT5jcHIuYmxvY2tlcjsKK0BAIC0xODksNyArMTkyLDcgQEAgYm9vbCB2 ZmlvX2xlZ2FjeV9jcHJfcmVnaXN0ZXJfY29udGFpbmVyKFZGSU9Db250YWluZXIgKmNvbnRhaW5l ciwgRXJyb3IgKiplcnJwKQorICAgICByZXR1cm4gdHJ1ZTsKKyB9CisgCistdm9pZCB2ZmlvX2xl Z2FjeV9jcHJfdW5yZWdpc3Rlcl9jb250YWluZXIoVkZJT0NvbnRhaW5lciAqY29udGFpbmVyKQor K3ZvaWQgdmZpb19sZWdhY3lfY3ByX3VucmVnaXN0ZXJfY29udGFpbmVyKFZGSU9MZWdhY3lDb250 YWluZXIgKmNvbnRhaW5lcikKKyB7CisgICAgIFZGSU9Db250YWluZXJCYXNlICpiY29udGFpbmVy ID0gVkZJT19JT01NVShjb250YWluZXIpOworIAorQEAgLTI2Myw3ICsyNjYsNyBAQCBzdGF0aWMg Ym9vbCBzYW1lX2RldmljZShpbnQgZmQxLCBpbnQgZmQyKQorICAgICByZXR1cm4gIWZzdGF0KGZk MSwgJnN0MSkgJiYgIWZzdGF0KGZkMiwgJnN0MikgJiYgc3QxLnN0X2RldiA9PSBzdDIuc3RfZGV2 OworIH0KKyAKKy1ib29sIHZmaW9fY3ByX2NvbnRhaW5lcl9tYXRjaChWRklPQ29udGFpbmVyICpj b250YWluZXIsIFZGSU9Hcm91cCAqZ3JvdXAsCisrYm9vbCB2ZmlvX2Nwcl9jb250YWluZXJfbWF0 Y2goVkZJT0xlZ2FjeUNvbnRhaW5lciAqY29udGFpbmVyLCBWRklPR3JvdXAgKmdyb3VwLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBmZCkKKyB7CisgICAgIGlmIChjb250YWlu ZXItPmZkID09IGZkKSB7CitkaWZmIC0tZ2l0IGEvaHcvdmZpby9zcGFwci5jIGIvaHcvdmZpby9z cGFwci5jCitpbmRleCBjNDFlNDU4OGQ2Li5iOGJhZGU5MGQ3IDEwMDY0NAorLS0tIGEvaHcvdmZp by9zcGFwci5jCisrKysgYi9ody92ZmlvL3NwYXByLmMKK0BAIC0zMSw3ICszMSw3IEBAIHR5cGVk ZWYgc3RydWN0IFZGSU9Ib3N0RE1BV2luZG93IHsKKyB9IFZGSU9Ib3N0RE1BV2luZG93OworIAor IHR5cGVkZWYgc3RydWN0IFZGSU9TcGFwckNvbnRhaW5lciB7CistICAgIFZGSU9Db250YWluZXIg Y29udGFpbmVyOworKyAgICBWRklPTGVnYWN5Q29udGFpbmVyIGNvbnRhaW5lcjsKKyAgICAgTWVt b3J5TGlzdGVuZXIgcHJlcmVnX2xpc3RlbmVyOworICAgICBRTElTVF9IRUFEKCwgVkZJT0hvc3RE TUFXaW5kb3cpIGhvc3R3aW5fbGlzdDsKKyAgICAgdW5zaWduZWQgaW50IGxldmVsczsKK0BAIC02 MSw3ICs2MSw3IEBAIHN0YXRpYyB2b2lkIHZmaW9fcHJlcmVnX2xpc3RlbmVyX3JlZ2lvbl9hZGQo TWVtb3J5TGlzdGVuZXIgKmxpc3RlbmVyLAorIHsKKyAgICAgVkZJT1NwYXByQ29udGFpbmVyICpz Y29udGFpbmVyID0gY29udGFpbmVyX29mKGxpc3RlbmVyLCBWRklPU3BhcHJDb250YWluZXIsCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmVyZWdf bGlzdGVuZXIpOworLSAgICBWRklPQ29udGFpbmVyICpjb250YWluZXIgPSAmc2NvbnRhaW5lci0+ Y29udGFpbmVyOworKyAgICBWRklPTGVnYWN5Q29udGFpbmVyICpjb250YWluZXIgPSAmc2NvbnRh aW5lci0+Y29udGFpbmVyOworICAgICBWRklPQ29udGFpbmVyQmFzZSAqYmNvbnRhaW5lciA9IFZG SU9fSU9NTVUoY29udGFpbmVyKTsKKyAgICAgY29uc3QgaHdhZGRyIGdwYSA9IHNlY3Rpb24tPm9m ZnNldF93aXRoaW5fYWRkcmVzc19zcGFjZTsKKyAgICAgaHdhZGRyIGVuZDsKK0BAIC0xMjEsNyAr MTIxLDcgQEAgc3RhdGljIHZvaWQgdmZpb19wcmVyZWdfbGlzdGVuZXJfcmVnaW9uX2RlbChNZW1v cnlMaXN0ZW5lciAqbGlzdGVuZXIsCisgeworICAgICBWRklPU3BhcHJDb250YWluZXIgKnNjb250 YWluZXIgPSBjb250YWluZXJfb2YobGlzdGVuZXIsIFZGSU9TcGFwckNvbnRhaW5lciwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZXJlZ19saXN0 ZW5lcik7CistICAgIFZGSU9Db250YWluZXIgKmNvbnRhaW5lciA9ICZzY29udGFpbmVyLT5jb250 YWluZXI7CisrICAgIFZGSU9MZWdhY3lDb250YWluZXIgKmNvbnRhaW5lciA9ICZzY29udGFpbmVy LT5jb250YWluZXI7CisgICAgIGNvbnN0IGh3YWRkciBncGEgPSBzZWN0aW9uLT5vZmZzZXRfd2l0 aGluX2FkZHJlc3Nfc3BhY2U7CisgICAgIGh3YWRkciBlbmQ7CisgICAgIGludCByZXQ7CitAQCAt MjE4LDcgKzIxOCw3IEBAIHN0YXRpYyBWRklPSG9zdERNQVdpbmRvdyAqdmZpb19maW5kX2hvc3R3 aW4oVkZJT1NwYXByQ29udGFpbmVyICpjb250YWluZXIsCisgICAgIHJldHVybiBob3N0d2luX2Zv dW5kID8gaG9zdHdpbiA6IE5VTEw7CisgfQorIAorLXN0YXRpYyBpbnQgdmZpb19zcGFwcl9yZW1v dmVfd2luZG93KFZGSU9Db250YWluZXIgKmNvbnRhaW5lciwKKytzdGF0aWMgaW50IHZmaW9fc3Bh cHJfcmVtb3ZlX3dpbmRvdyhWRklPTGVnYWN5Q29udGFpbmVyICpjb250YWluZXIsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHdhZGRyIG9mZnNldF93aXRoaW5fYWRkcmVz c19zcGFjZSkKKyB7CisgICAgIHN0cnVjdCB2ZmlvX2lvbW11X3NwYXByX3RjZV9yZW1vdmUgcmVt b3ZlID0geworQEAgLTIzOSw3ICsyMzksNyBAQCBzdGF0aWMgaW50IHZmaW9fc3BhcHJfcmVtb3Zl X3dpbmRvdyhWRklPQ29udGFpbmVyICpjb250YWluZXIsCisgICAgIHJldHVybiAwOworIH0KKyAK Ky1zdGF0aWMgYm9vbCB2ZmlvX3NwYXByX2NyZWF0ZV93aW5kb3coVkZJT0NvbnRhaW5lciAqY29u dGFpbmVyLAorK3N0YXRpYyBib29sIHZmaW9fc3BhcHJfY3JlYXRlX3dpbmRvdyhWRklPTGVnYWN5 Q29udGFpbmVyICpjb250YWluZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgTWVtb3J5UmVnaW9uU2VjdGlvbiAqc2VjdGlvbiwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBod2FkZHIgKnBnc2l6ZSwgRXJyb3IgKiplcnJwKQorIHsKK0BAIC0zNTIs NyArMzUyLDcgQEAgdmZpb19zcGFwcl9jb250YWluZXJfYWRkX3NlY3Rpb25fd2luZG93KFZGSU9D b250YWluZXJCYXNlICpiY29udGFpbmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBNZW1vcnlSZWdpb25TZWN0aW9uICpzZWN0aW9uLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBFcnJvciAqKmVycnApCisgeworLSAgICBWRklPQ29u dGFpbmVyICpjb250YWluZXIgPSBWRklPX0lPTU1VX0xFR0FDWShiY29udGFpbmVyKTsKKysgICAg VkZJT0xlZ2FjeUNvbnRhaW5lciAqY29udGFpbmVyID0gVkZJT19JT01NVV9MRUdBQ1koYmNvbnRh aW5lcik7CisgICAgIFZGSU9TcGFwckNvbnRhaW5lciAqc2NvbnRhaW5lciA9IGNvbnRhaW5lcl9v Zihjb250YWluZXIsIFZGSU9TcGFwckNvbnRhaW5lciwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lcik7CisgICAgIFZGSU9Ib3N0RE1B V2luZG93ICpob3N0d2luOworQEAgLTQ0Miw3ICs0NDIsNyBAQCBzdGF0aWMgdm9pZAorIHZmaW9f c3BhcHJfY29udGFpbmVyX2RlbF9zZWN0aW9uX3dpbmRvdyhWRklPQ29udGFpbmVyQmFzZSAqYmNv bnRhaW5lciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWVtb3J5 UmVnaW9uU2VjdGlvbiAqc2VjdGlvbikKKyB7CistICAgIFZGSU9Db250YWluZXIgKmNvbnRhaW5l ciA9IFZGSU9fSU9NTVVfTEVHQUNZKGJjb250YWluZXIpOworKyAgICBWRklPTGVnYWN5Q29udGFp bmVyICpjb250YWluZXIgPSBWRklPX0lPTU1VX0xFR0FDWShiY29udGFpbmVyKTsKKyAgICAgVkZJ T1NwYXByQ29udGFpbmVyICpzY29udGFpbmVyID0gY29udGFpbmVyX29mKGNvbnRhaW5lciwgVkZJ T1NwYXByQ29udGFpbmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgY29udGFpbmVyKTsKKyAKK0BAIC00NjMsNyArNDYzLDcgQEAgdmZpb19zcGFw cl9jb250YWluZXJfZGVsX3NlY3Rpb25fd2luZG93KFZGSU9Db250YWluZXJCYXNlICpiY29udGFp bmVyLAorIAorIHN0YXRpYyB2b2lkIHZmaW9fc3BhcHJfY29udGFpbmVyX3JlbGVhc2UoVkZJT0Nv bnRhaW5lckJhc2UgKmJjb250YWluZXIpCisgeworLSAgICBWRklPQ29udGFpbmVyICpjb250YWlu ZXIgPSBWRklPX0lPTU1VX0xFR0FDWShiY29udGFpbmVyKTsKKysgICAgVkZJT0xlZ2FjeUNvbnRh aW5lciAqY29udGFpbmVyID0gVkZJT19JT01NVV9MRUdBQ1koYmNvbnRhaW5lcik7CisgICAgIFZG SU9TcGFwckNvbnRhaW5lciAqc2NvbnRhaW5lciA9IGNvbnRhaW5lcl9vZihjb250YWluZXIsIFZG SU9TcGFwckNvbnRhaW5lciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGNvbnRhaW5lcik7CisgICAgIFZGSU9Ib3N0RE1BV2luZG93ICpob3N0d2lu LCAqbmV4dDsKK0BAIC00ODEsNyArNDgxLDcgQEAgc3RhdGljIHZvaWQgdmZpb19zcGFwcl9jb250 YWluZXJfcmVsZWFzZShWRklPQ29udGFpbmVyQmFzZSAqYmNvbnRhaW5lcikKKyBzdGF0aWMgYm9v bCB2ZmlvX3NwYXByX2NvbnRhaW5lcl9zZXR1cChWRklPQ29udGFpbmVyQmFzZSAqYmNvbnRhaW5l ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFcnJvciAqKmVycnAp CisgeworLSAgICBWRklPQ29udGFpbmVyICpjb250YWluZXIgPSBWRklPX0lPTU1VX0xFR0FDWShi Y29udGFpbmVyKTsKKysgICAgVkZJT0xlZ2FjeUNvbnRhaW5lciAqY29udGFpbmVyID0gVkZJT19J T01NVV9MRUdBQ1koYmNvbnRhaW5lcik7CisgICAgIFZGSU9TcGFwckNvbnRhaW5lciAqc2NvbnRh aW5lciA9IGNvbnRhaW5lcl9vZihjb250YWluZXIsIFZGSU9TcGFwckNvbnRhaW5lciwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lcik7 CisgICAgIHN0cnVjdCB2ZmlvX2lvbW11X3NwYXByX3RjZV9pbmZvIGluZm87CitkaWZmIC0tZ2l0 IGEvaW5jbHVkZS9ody92ZmlvL3ZmaW8tY29udGFpbmVyLmggYi9pbmNsdWRlL2h3L3ZmaW8vdmZp by1jb250YWluZXIuaAoraW5kZXggMjQwZjU2Njk5My4uNzEyYTY5MTQwMCAxMDA2NDQKKy0tLSBh L2luY2x1ZGUvaHcvdmZpby92ZmlvLWNvbnRhaW5lci5oCisrKysgYi9pbmNsdWRlL2h3L3ZmaW8v dmZpby1jb250YWluZXIuaAorQEAgLTEyLDIwICsxMiwyMCBAQAorICNpbmNsdWRlICJody92Zmlv L3ZmaW8tY29udGFpbmVyLWJhc2UuaCIKKyAjaW5jbHVkZSAiaHcvdmZpby92ZmlvLWNwci5oIgor IAorLXR5cGVkZWYgc3RydWN0IFZGSU9Db250YWluZXIgVkZJT0NvbnRhaW5lcjsKKyt0eXBlZGVm IHN0cnVjdCBWRklPTGVnYWN5Q29udGFpbmVyIFZGSU9MZWdhY3lDb250YWluZXI7CisgdHlwZWRl ZiBzdHJ1Y3QgVkZJT0RldmljZSBWRklPRGV2aWNlOworIAorIHR5cGVkZWYgc3RydWN0IFZGSU9H cm91cCB7CisgICAgIGludCBmZDsKKyAgICAgaW50IGdyb3VwaWQ7CistICAgIFZGSU9Db250YWlu ZXIgKmNvbnRhaW5lcjsKKysgICAgVkZJT0xlZ2FjeUNvbnRhaW5lciAqY29udGFpbmVyOworICAg ICBRTElTVF9IRUFEKCwgVkZJT0RldmljZSkgZGV2aWNlX2xpc3Q7CisgICAgIFFMSVNUX0VOVFJZ KFZGSU9Hcm91cCkgbmV4dDsKKyAgICAgUUxJU1RfRU5UUlkoVkZJT0dyb3VwKSBjb250YWluZXJf bmV4dDsKKyAgICAgYm9vbCByYW1fYmxvY2tfZGlzY2FyZF9hbGxvd2VkOworIH0gVkZJT0dyb3Vw OworIAorLXN0cnVjdCBWRklPQ29udGFpbmVyIHsKKytzdHJ1Y3QgVkZJT0xlZ2FjeUNvbnRhaW5l ciB7CisgICAgIFZGSU9Db250YWluZXJCYXNlIHBhcmVudF9vYmo7CisgCisgICAgIGludCBmZDsg LyogL2Rldi92ZmlvL3ZmaW8sIGVtcG93ZXJlZCBieSB0aGUgYXR0YWNoZWQgZ3JvdXBzICovCitA QCAtMzQsNiArMzQsNiBAQCBzdHJ1Y3QgVkZJT0NvbnRhaW5lciB7CisgICAgIFZGSU9Db250YWlu ZXJDUFIgY3ByOworIH07CisgCistT0JKRUNUX0RFQ0xBUkVfU0lNUExFX1RZUEUoVkZJT0NvbnRh aW5lciwgVkZJT19JT01NVV9MRUdBQ1kpOworK09CSkVDVF9ERUNMQVJFX1NJTVBMRV9UWVBFKFZG SU9MZWdhY3lDb250YWluZXIsIFZGSU9fSU9NTVVfTEVHQUNZKTsKKyAKKyAjZW5kaWYgLyogSFdf VkZJT19DT05UQUlORVJfSCAqLworZGlmZiAtLWdpdCBhL2luY2x1ZGUvaHcvdmZpby92ZmlvLWNw ci5oIGIvaW5jbHVkZS9ody92ZmlvL3ZmaW8tY3ByLmgKK2luZGV4IGQzN2RhZmZiYzUuLjA0ZTk4 NzI1ODcgMTAwNjQ0CistLS0gYS9pbmNsdWRlL2h3L3ZmaW8vdmZpby1jcHIuaAorKysrIGIvaW5j bHVkZS9ody92ZmlvL3ZmaW8tY3ByLmgKK0BAIC0xMiw3ICsxMiw3IEBACisgI2luY2x1ZGUgIm1p Z3JhdGlvbi9taXNjLmgiCisgI2luY2x1ZGUgInN5c3RlbS9tZW1vcnkuaCIKKyAKKy1zdHJ1Y3Qg VkZJT0NvbnRhaW5lcjsKKytzdHJ1Y3QgVkZJT0xlZ2FjeUNvbnRhaW5lcjsKKyBzdHJ1Y3QgVkZJ T0NvbnRhaW5lckJhc2U7Cisgc3RydWN0IFZGSU9Hcm91cDsKKyBzdHJ1Y3QgVkZJT0RldmljZTsK K0BAIC00Miw5ICs0MiwxMCBAQCB0eXBlZGVmIHN0cnVjdCBWRklPUENJQ1BSIHsKKyAgICAgTm90 aWZpZXJXaXRoUmV0dXJuIHRyYW5zZmVyX25vdGlmaWVyOworIH0gVkZJT1BDSUNQUjsKKyAKKy1i b29sIHZmaW9fbGVnYWN5X2Nwcl9yZWdpc3Rlcl9jb250YWluZXIoc3RydWN0IFZGSU9Db250YWlu ZXIgKmNvbnRhaW5lciwKKytib29sIHZmaW9fbGVnYWN5X2Nwcl9yZWdpc3Rlcl9jb250YWluZXIo c3RydWN0IFZGSU9MZWdhY3lDb250YWluZXIgKmNvbnRhaW5lciwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgRXJyb3IgKiplcnJwKTsKKy12b2lkIHZmaW9fbGVnYWN5 X2Nwcl91bnJlZ2lzdGVyX2NvbnRhaW5lcihzdHJ1Y3QgVkZJT0NvbnRhaW5lciAqY29udGFpbmVy KTsKKyt2b2lkIHZmaW9fbGVnYWN5X2Nwcl91bnJlZ2lzdGVyX2NvbnRhaW5lcigKKysgICAgc3Ry dWN0IFZGSU9MZWdhY3lDb250YWluZXIgKmNvbnRhaW5lcik7CisgCisgaW50IHZmaW9fY3ByX3Jl Ym9vdF9ub3RpZmllcihOb3RpZmllcldpdGhSZXR1cm4gKm5vdGlmaWVyLCBNaWdyYXRpb25FdmVu dCAqZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVycm9yICoqZXJycCk7CitAQCAt NjEsNyArNjIsNyBAQCB2b2lkIHZmaW9fY3ByX2xvYWRfZGV2aWNlKHN0cnVjdCBWRklPRGV2aWNl ICp2YmFzZWRldik7CisgCisgaW50IHZmaW9fY3ByX2dyb3VwX2dldF9kZXZpY2VfZmQoaW50IGQs IGNvbnN0IGNoYXIgKm5hbWUpOworIAorLWJvb2wgdmZpb19jcHJfY29udGFpbmVyX21hdGNoKHN0 cnVjdCBWRklPQ29udGFpbmVyICpjb250YWluZXIsCisrYm9vbCB2ZmlvX2Nwcl9jb250YWluZXJf bWF0Y2goc3RydWN0IFZGSU9MZWdhY3lDb250YWluZXIgKmNvbnRhaW5lciwKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgVkZJT0dyb3VwICpncm91cCwgaW50IGZkKTsKKyAK KyB2b2lkIHZmaW9fY3ByX2dpb21tdV9yZW1hcChzdHJ1Y3QgVkZJT0NvbnRhaW5lckJhc2UgKmJj b250YWluZXIsCistLSAKKzIuNTIuMAorCgpkaWZmIC0tZ2l0IGEva3ZtLWluY2x1ZGUtaHctdmZp by12ZmlvLWNvbnRhaW5lci5oLXJlbmFtZS1maWxlLXRvLXZmaW8ucGF0Y2ggYi9rdm0taW5jbHVk ZS1ody12ZmlvLXZmaW8tY29udGFpbmVyLmgtcmVuYW1lLWZpbGUtdG8tdmZpby5wYXRjaApuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZTQzMThmCi0tLSAvZGV2L251bGwKKysr IGIva3ZtLWluY2x1ZGUtaHctdmZpby12ZmlvLWNvbnRhaW5lci5oLXJlbmFtZS1maWxlLXRvLXZm aW8ucGF0Y2gKQEAgLTAsMCArMSwxMjkgQEAKK0Zyb20gZjA3YmQ2Njg5Y2E1N2ZlMDhiZjczMGVl ODI2NWNlMzNjNzY5MDIzYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1hcmsgQ2F2 ZS1BeWxhbmQgPG1hcmsuY2F2ZWF5bGFuZEBudXRhbml4LmNvbT4KK0RhdGU6IFRodSwgMjUgU2Vw IDIwMjUgMTI6MzE6MTEgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSCAwNTMvMTE2XSBpbmNsdWRlL2h3 L3ZmaW8vdmZpby1jb250YWluZXIuaDogcmVuYW1lIGZpbGUgdG8KKyB2ZmlvLWNvbnRhaW5lci1s ZWdhY3kuaAorTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hh cnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorCitSSC1BdXRob3I6 IFJvZG9sZm8gVmljayA8Tm9uZT4KK1JILU1lcmdlUmVxdWVzdDogNDg2OiBBZGQgRE1BQlVGIHN1 cHBvcnQKK1JILUppcmE6IFJIRUwtMTM4NDk0CitSSC1BY2tlZC1ieTogQ8OpZHJpYyBMZSBHb2F0 ZXIgPGNsZ0ByZWRoYXQuY29tPgorUkgtQWNrZWQtYnk6IEVyaWMgQXVnZXIgPGVyaWMuYXVnZXJA cmVkaGF0LmNvbT4KK1JILUNvbW1pdDogWzM3LzEwMF0gNmYwNmZmM2Y1MTJjOWQ1NWRhODM4NTY2 ZmJjN2I5MDdiZTVhY2VmNiAocm92aWNrMS9xZW11LWt2bSkKKworV2l0aCB0aGUgcmVuYW1lIG9m IFZGSU9Db250YWluZXIgdG8gVkZJT0xlZ2FjeUNvbnRhaW5lciwgdGhlIHZmaW8tY29udGFpbmVy LmgKK2hlYWRlciBmaWxlIGNvbnRhaW5pbmcgdGhlIHN0cnVjdCBkZWZpbml0aW9uIGlzIG1pc2xl YWRpbmcuIFJlbmFtZSBpdCBmcm9tCit2ZmlvLWNvbnRhaW5lci5oIHRvIHZmaW8tY29udGFpbmVy LWxlZ2FjeS5oIGFjY29yZGluZ2x5LCBmaXhpbmcgdXAgdGhlIG5hbWUKK29mIHRoZSBpbmNsdWRl IGd1YXJkIGF0IHRoZSBzYW1lIHRpbWUuCisKK1NpZ25lZC1vZmYtYnk6IE1hcmsgQ2F2ZS1BeWxh bmQgPG1hcmsuY2F2ZWF5bGFuZEBudXRhbml4LmNvbT4KK1Jldmlld2VkLWJ5OiBDw6lkcmljIExl IEdvYXRlciA8Y2xnQHJlZGhhdC5jb20+CitMaW5rOiBodHRwczovL2xvcmUua2VybmVsLm9yZy9x ZW11LWRldmVsLzIwMjUwOTI1MTEzMTU5LjE3NjAzMTctNC1tYXJrLmNhdmVheWxhbmRAbnV0YW5p eC5jb20KK1NpZ25lZC1vZmYtYnk6IEPDqWRyaWMgTGUgR29hdGVyIDxjbGdAcmVkaGF0LmNvbT4K KyhjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDA3Y2JiZmIxMDg1ODZhMDMwNTk5NzVhYTBlMDkz YjgzM2NiOWJmNTYpCitTaWduZWQtb2ZmLWJ5OiBFcmljIEF1Z2VyIDxlcmljLmF1Z2VyQHJlZGhh dC5jb20+CistLS0KKyBody9wcGMvc3BhcHJfcGNpX3ZmaW8uYyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8IDIgKy0KKyBody9zMzkweC9zMzkwLXBjaS12ZmlvLmMgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDIgKy0KKyBody92ZmlvL2NvbnRhaW5lci5j ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDIgKy0KKyBody92Zmlv L2Nwci1sZWdhY3kuYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDIg Ky0KKyBody92ZmlvL3NwYXByLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8IDIgKy0KKyAuLi4vaHcvdmZpby97dmZpby1jb250YWluZXIuaCA9PiB2ZmlvLWNv bnRhaW5lci1sZWdhY3kuaH0gICB8IDYgKysrLS0tCisgNiBmaWxlcyBjaGFuZ2VkLCA4IGluc2Vy dGlvbnMoKyksIDggZGVsZXRpb25zKC0pCisgcmVuYW1lIGluY2x1ZGUvaHcvdmZpby97dmZpby1j b250YWluZXIuaCA9PiB2ZmlvLWNvbnRhaW5lci1sZWdhY3kuaH0gKDg4JSkKKworZGlmZiAtLWdp dCBhL2h3L3BwYy9zcGFwcl9wY2lfdmZpby5jIGIvaHcvcHBjL3NwYXByX3BjaV92ZmlvLmMKK2lu ZGV4IDQ4ZmE5OGMxOTkuLjE4YzUwNTkyNjIgMTAwNjQ0CistLS0gYS9ody9wcGMvc3BhcHJfcGNp X3ZmaW8uYworKysrIGIvaHcvcHBjL3NwYXByX3BjaV92ZmlvLmMKK0BAIC0yNCw3ICsyNCw3IEBA CisgI2luY2x1ZGUgImh3L3BjaS1ob3N0L3NwYXByLmgiCisgI2luY2x1ZGUgImh3L3BjaS9tc2l4 LmgiCisgI2luY2x1ZGUgImh3L3BjaS9wY2lfZGV2aWNlLmgiCistI2luY2x1ZGUgImh3L3ZmaW8v dmZpby1jb250YWluZXIuaCIKKysjaW5jbHVkZSAiaHcvdmZpby92ZmlvLWNvbnRhaW5lci1sZWdh Y3kuaCIKKyAjaW5jbHVkZSAicWVtdS9lcnJvci1yZXBvcnQuaCIKKyAjaW5jbHVkZSBDT05GSUdf REVWSUNFUyAvKiBDT05GSUdfVkZJT19QQ0kgKi8KKyAKK2RpZmYgLS1naXQgYS9ody9zMzkweC9z MzkwLXBjaS12ZmlvLmMgYi9ody9zMzkweC9zMzkwLXBjaS12ZmlvLmMKK2luZGV4IGFhZjkxMzE5 YjQuLmM1MWJjZWE1ZmMgMTAwNjQ0CistLS0gYS9ody9zMzkweC9zMzkwLXBjaS12ZmlvLmMKKysr KyBiL2h3L3MzOTB4L3MzOTAtcGNpLXZmaW8uYworQEAgLTIwLDcgKzIwLDcgQEAKKyAjaW5jbHVk ZSAiaHcvczM5MHgvczM5MC1wY2ktY2xwLmgiCisgI2luY2x1ZGUgImh3L3MzOTB4L3MzOTAtcGNp LXZmaW8uaCIKKyAjaW5jbHVkZSAiaHcvdmZpby9wY2kuaCIKKy0jaW5jbHVkZSAiaHcvdmZpby92 ZmlvLWNvbnRhaW5lci5oIgorKyNpbmNsdWRlICJody92ZmlvL3ZmaW8tY29udGFpbmVyLWxlZ2Fj eS5oIgorICNpbmNsdWRlICJody92ZmlvL3ZmaW8taGVscGVycy5oIgorIAorIC8qCitkaWZmIC0t Z2l0IGEvaHcvdmZpby9jb250YWluZXIuYyBiL2h3L3ZmaW8vY29udGFpbmVyLmMKK2luZGV4IDg0 ZjVhNWZkZWUuLjAxMDFhNzJmNTMgMTAwNjQ0CistLS0gYS9ody92ZmlvL2NvbnRhaW5lci5jCisr KysgYi9ody92ZmlvL2NvbnRhaW5lci5jCitAQCAtMzQsNyArMzQsNyBAQAorICNpbmNsdWRlICJt aWdyYXRpb24vY3ByLmgiCisgI2luY2x1ZGUgIm1pZ3JhdGlvbi9ibG9ja2VyLmgiCisgI2luY2x1 ZGUgInBjaS5oIgorLSNpbmNsdWRlICJody92ZmlvL3ZmaW8tY29udGFpbmVyLmgiCisrI2luY2x1 ZGUgImh3L3ZmaW8vdmZpby1jb250YWluZXItbGVnYWN5LmgiCisgI2luY2x1ZGUgInZmaW8taGVs cGVycy5oIgorICNpbmNsdWRlICJ2ZmlvLWxpc3RlbmVyLmgiCisgCitkaWZmIC0tZ2l0IGEvaHcv dmZpby9jcHItbGVnYWN5LmMgYi9ody92ZmlvL2Nwci1sZWdhY3kuYworaW5kZXggYmQzZjZmYzNk My4uYmJmN2EwZDM1ZiAxMDA2NDQKKy0tLSBhL2h3L3ZmaW8vY3ByLWxlZ2FjeS5jCisrKysgYi9o dy92ZmlvL2Nwci1sZWdhY3kuYworQEAgLTcsNyArNyw3IEBACisgI2luY2x1ZGUgPHN5cy9pb2N0 bC5oPgorICNpbmNsdWRlIDxsaW51eC92ZmlvLmg+CisgI2luY2x1ZGUgInFlbXUvb3NkZXAuaCIK Ky0jaW5jbHVkZSAiaHcvdmZpby92ZmlvLWNvbnRhaW5lci5oIgorKyNpbmNsdWRlICJody92Zmlv L3ZmaW8tY29udGFpbmVyLWxlZ2FjeS5oIgorICNpbmNsdWRlICJody92ZmlvL3ZmaW8tZGV2aWNl LmgiCisgI2luY2x1ZGUgImh3L3ZmaW8vdmZpby1saXN0ZW5lci5oIgorICNpbmNsdWRlICJtaWdy YXRpb24vYmxvY2tlci5oIgorZGlmZiAtLWdpdCBhL2h3L3ZmaW8vc3BhcHIuYyBiL2h3L3ZmaW8v c3BhcHIuYworaW5kZXggNmQ0NjJhYTEzYy4uYWNhYTljMTQxOSAxMDA2NDQKKy0tLSBhL2h3L3Zm aW8vc3BhcHIuYworKysrIGIvaHcvdmZpby9zcGFwci5jCitAQCAtMTUsNyArMTUsNyBAQAorICNp bmNsdWRlICJzeXN0ZW0vaG9zdG1lbS5oIgorICNpbmNsdWRlICJzeXN0ZW0vYWRkcmVzcy1zcGFj ZXMuaCIKKyAKKy0jaW5jbHVkZSAiaHcvdmZpby92ZmlvLWNvbnRhaW5lci5oIgorKyNpbmNsdWRl ICJody92ZmlvL3ZmaW8tY29udGFpbmVyLWxlZ2FjeS5oIgorICNpbmNsdWRlICJody9ody5oIgor ICNpbmNsdWRlICJzeXN0ZW0vcmFtX2FkZHIuaCIKKyAjaW5jbHVkZSAicWVtdS9lcnJvci1yZXBv cnQuaCIKK2RpZmYgLS1naXQgYS9pbmNsdWRlL2h3L3ZmaW8vdmZpby1jb250YWluZXIuaCBiL2lu Y2x1ZGUvaHcvdmZpby92ZmlvLWNvbnRhaW5lci1sZWdhY3kuaAorc2ltaWxhcml0eSBpbmRleCA4 OCUKK3JlbmFtZSBmcm9tIGluY2x1ZGUvaHcvdmZpby92ZmlvLWNvbnRhaW5lci5oCityZW5hbWUg dG8gaW5jbHVkZS9ody92ZmlvL3ZmaW8tY29udGFpbmVyLWxlZ2FjeS5oCitpbmRleCBhODRkZmIw ZGVlLi5hYjUxMzBkMjZlIDEwMDY0NAorLS0tIGEvaW5jbHVkZS9ody92ZmlvL3ZmaW8tY29udGFp bmVyLmgKKysrKyBiL2luY2x1ZGUvaHcvdmZpby92ZmlvLWNvbnRhaW5lci1sZWdhY3kuaAorQEAg LTYsOCArNiw4IEBACisgICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0 ZXIKKyAgKi8KKyAKKy0jaWZuZGVmIEhXX1ZGSU9fQ09OVEFJTkVSX0gKKy0jZGVmaW5lIEhXX1ZG SU9fQ09OVEFJTkVSX0gKKysjaWZuZGVmIEhXX1ZGSU9fQ09OVEFJTkVSX0xFR0FDWV9ICisrI2Rl ZmluZSBIV19WRklPX0NPTlRBSU5FUl9MRUdBQ1lfSAorIAorICNpbmNsdWRlICJody92ZmlvL3Zm aW8tY29udGFpbmVyLWJhc2UuaCIKKyAjaW5jbHVkZSAiaHcvdmZpby92ZmlvLWNwci5oIgorQEAg LTM2LDQgKzM2LDQgQEAgc3RydWN0IFZGSU9MZWdhY3lDb250YWluZXIgeworIAorIE9CSkVDVF9E RUNMQVJFX1NJTVBMRV9UWVBFKFZGSU9MZWdhY3lDb250YWluZXIsIFZGSU9fSU9NTVVfTEVHQUNZ KTsKKyAKKy0jZW5kaWYgLyogSFdfVkZJT19DT05UQUlORVJfSCAqLworKyNlbmRpZiAvKiBIV19W RklPX0NPTlRBSU5FUl9MRUdBQ1lfSCAqLworLS0gCisyLjUyLjAKKwoKZGlmZiAtLWdpdCBhL2t2 bS1pbmNsdWRlLWh3LXZmaW8tdmZpby1kZXZpY2UuaC1maXgtaW5jbHVkZS1oZWFkZXItZ3VhLnBh dGNoIGIva3ZtLWluY2x1ZGUtaHctdmZpby12ZmlvLWRldmljZS5oLWZpeC1pbmNsdWRlLWhlYWRl ci1ndWEucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjNjNDcwZgot LS0gL2Rldi9udWxsCisrKyBiL2t2bS1pbmNsdWRlLWh3LXZmaW8tdmZpby1kZXZpY2UuaC1maXgt aW5jbHVkZS1oZWFkZXItZ3VhLnBhdGNoCkBAIC0wLDAgKzEsNTMgQEAKK0Zyb20gMGVmMzZjNTBh MTBhOTA2Mjg5ODBlMTlkZjRhZmZlMTRkZWNhMjZiOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK K0Zyb206IE1hcmsgQ2F2ZS1BeWxhbmQgPG1hcmsuY2F2ZWF5bGFuZEBudXRhbml4LmNvbT4KK0Rh dGU6IFRodSwgMjUgU2VwIDIwMjUgMTI6MzE6MzYgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSCAwNzkv MTE2XSBpbmNsdWRlL2h3L3ZmaW8vdmZpby1kZXZpY2UuaDogZml4IGluY2x1ZGUgaGVhZGVyCisg Z3VhcmQgbmFtZQorTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsg Y2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorCitSSC1BdXRo b3I6IFJvZG9sZm8gVmljayA8Tm9uZT4KK1JILU1lcmdlUmVxdWVzdDogNDg2OiBBZGQgRE1BQlVG IHN1cHBvcnQKK1JILUppcmE6IFJIRUwtMTM4NDk0CitSSC1BY2tlZC1ieTogQ8OpZHJpYyBMZSBH b2F0ZXIgPGNsZ0ByZWRoYXQuY29tPgorUkgtQWNrZWQtYnk6IEVyaWMgQXVnZXIgPGVyaWMuYXVn ZXJAcmVkaGF0LmNvbT4KK1JILUNvbW1pdDogWzYzLzEwMF0gZTZlYzEyOGE2MTBkYjYyZmU1ODk3 MWY1YjE1ZjAxOTI0ZTc0YTNhMSAocm92aWNrMS9xZW11LWt2bSkKKworVGhlIGhlYWRlciBndWFy ZCB3YXMgaW5jb3JyZWN0bHkgY2FsbGVkIEhXX1ZGSU9fVkZJT19DT01NT05fSCBpbnN0ZWFkIG9m CitIV19WRklPX1ZGSU9fREVWSUNFX0guCisKK1NpZ25lZC1vZmYtYnk6IE1hcmsgQ2F2ZS1BeWxh bmQgPG1hcmsuY2F2ZWF5bGFuZEBudXRhbml4LmNvbT4KK1Jldmlld2VkLWJ5OiBQaGlsaXBwZSBN YXRoaWV1LURhdWTDqSA8cGhpbG1kQGxpbmFyby5vcmc+CitMaW5rOiBodHRwczovL2xvcmUua2Vy bmVsLm9yZy9xZW11LWRldmVsLzIwMjUwOTI1MTEzMTU5LjE3NjAzMTctMjktbWFyay5jYXZlYXls YW5kQG51dGFuaXguY29tCitTaWduZWQtb2ZmLWJ5OiBDw6lkcmljIExlIEdvYXRlciA8Y2xnQHJl ZGhhdC5jb20+CisoY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCA3Yzc3M2I0MjY3YWUxMDgyMGVk NWUzZWM2YjE1MjE5YjM5ZGJjZWJkKQorU2lnbmVkLW9mZi1ieTogRXJpYyBBdWdlciA8ZXJpYy5h dWdlckByZWRoYXQuY29tPgorLS0tCisgaW5jbHVkZS9ody92ZmlvL3ZmaW8tZGV2aWNlLmggfCA2 ICsrKy0tLQorIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0p CisKK2RpZmYgLS1naXQgYS9pbmNsdWRlL2h3L3ZmaW8vdmZpby1kZXZpY2UuaCBiL2luY2x1ZGUv aHcvdmZpby92ZmlvLWRldmljZS5oCitpbmRleCAyODA0N2E2MzM5Li5kYWMzMDVmYzZmIDEwMDY0 NAorLS0tIGEvaW5jbHVkZS9ody92ZmlvL3ZmaW8tZGV2aWNlLmgKKysrKyBiL2luY2x1ZGUvaHcv dmZpby92ZmlvLWRldmljZS5oCitAQCAtMTgsOCArMTgsOCBAQAorICAqICBDb3B5cmlnaHQgKEMp IDIwMDgsIElCTSwgTXVsaSBCZW4tWWVodWRhIChtdWxpQGlsLmlibS5jb20pCisgICovCisgCist I2lmbmRlZiBIV19WRklPX1ZGSU9fQ09NTU9OX0gKKy0jZGVmaW5lIEhXX1ZGSU9fVkZJT19DT01N T05fSAorKyNpZm5kZWYgSFdfVkZJT19WRklPX0RFVklDRV9ICisrI2RlZmluZSBIV19WRklPX1ZG SU9fREVWSUNFX0gKKyAKKyAjaW5jbHVkZSAic3lzdGVtL21lbW9yeS5oIgorICNpbmNsdWRlICJx ZW11L3F1ZXVlLmgiCitAQCAtMjg5LDQgKzI4OSw0IEBAIHZvaWQgdmZpb19kZXZpY2VfaW5pdChW RklPRGV2aWNlICp2YmFzZWRldiwgaW50IHR5cGUsIFZGSU9EZXZpY2VPcHMgKm9wcywKKyBpbnQg dmZpb19kZXZpY2VfZ2V0X2F3X2JpdHMoVkZJT0RldmljZSAqdmRldik7CisgCisgdm9pZCB2Zmlv X2t2bV9kZXZpY2VfY2xvc2Uodm9pZCk7CistI2VuZGlmIC8qIEhXX1ZGSU9fVkZJT19DT01NT05f SCAqLworKyNlbmRpZiAvKiBIV19WRklPX1ZGSU9fREVWSUNFX0ggKi8KKy0tIAorMi41Mi4wCisK CmRpZmYgLS1naXQgYS9rdm0tbGludXgtaGVhZGVycy1VcGRhdGUtdG8tTGludXgtdjYuMTgtcmMz LnBhdGNoIGIva3ZtLWxpbnV4LWhlYWRlcnMtVXBkYXRlLXRvLUxpbnV4LXY2LjE4LXJjMy5wYXRj aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hOWJiMDc1Ci0tLSAvZGV2L251 bGwKKysrIGIva3ZtLWxpbnV4LWhlYWRlcnMtVXBkYXRlLXRvLUxpbnV4LXY2LjE4LXJjMy5wYXRj aApAQCAtMCwwICsxLDUxOCBAQAorRnJvbSA0ODM0MTcyZDMxNjMzZmMyZGY1ODY3MzY1NjIzNmRi MGIwNzEyOWFlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogQmlibyBNYW8gPG1hb2Jp Ym9AbG9vbmdzb24uY24+CitEYXRlOiBNb24sIDI3IE9jdCAyMDI1IDA5OjQzOjMyICswODAwCitT dWJqZWN0OiBbUEFUQ0ggMTEzLzExNl0gbGludXgtaGVhZGVyczogVXBkYXRlIHRvIExpbnV4IHY2 LjE4LXJjMworTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hh cnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorCitSSC1BdXRob3I6 IFJvZG9sZm8gVmljayA8Tm9uZT4KK1JILU1lcmdlUmVxdWVzdDogNDg2OiBBZGQgRE1BQlVGIHN1 cHBvcnQKK1JILUppcmE6IFJIRUwtMTM4NDk0CitSSC1BY2tlZC1ieTogQ8OpZHJpYyBMZSBHb2F0 ZXIgPGNsZ0ByZWRoYXQuY29tPgorUkgtQWNrZWQtYnk6IEVyaWMgQXVnZXIgPGVyaWMuYXVnZXJA cmVkaGF0LmNvbT4KK1JILUNvbW1pdDogWzk3LzEwMF0gOGZmMzQ4N2E3OGVjZmFlMmNmOWM2NzUx YTg0MzdjMDQ0MzIxZGVmNyAocm92aWNrMS9xZW11LWt2bSkKKworVXBkYXRlIGhlYWRlcnMgdG8g cmV0cmlldmUgdGhlIGxhdGVzdCBLVk0gY2FwcyBmb3IgTG9vbmdBcmNoLiBJdCBpcyBhZGRlZAor dG8gdGhlIHRyZWUgYnkgcnVubmluZyBgdXBkYXRlLWxpbnV4LWhlYWRlcnMuc2hgIG9uIGxpbnV4 IHY2LjE4LXJjMy4KKworU2lnbmVkLW9mZi1ieTogQmlibyBNYW8gPG1hb2JpYm9AbG9vbmdzb24u Y24+CitSZXZpZXdlZC1ieTogU29uZyBHYW8gPGdhb3NvbmdAbG9vbmdzb24uY24+CisoY2hlcnJ5 IHBpY2tlZCBmcm9tIGNvbW1pdCAyZTAwOTZhMmI2YTVhN2UzY2RlMWRkMTM3MDRjYzcxYWY2Yjli ZGQ3KQorU2lnbmVkLW9mZi1ieTogQ8OpZHJpYyBMZSBHb2F0ZXIgPGNsZ0ByZWRoYXQuY29tPgor LS0tCisgaW5jbHVkZS9zdGFuZGFyZC1oZWFkZXJzL2xpbnV4L2V0aHRvb2wuaCAgICAgIHwgIDEg KworIGluY2x1ZGUvc3RhbmRhcmQtaGVhZGVycy9saW51eC9mdXNlLmggICAgICAgICB8IDIyICsr KysrKysrKystLQorIC4uLi9saW51eC9pbnB1dC1ldmVudC1jb2Rlcy5oICAgICAgICAgICAgICAg ICB8ICAxICsKKyBpbmNsdWRlL3N0YW5kYXJkLWhlYWRlcnMvbGludXgvaW5wdXQuaCAgICAgICAg fCAyMiArKysrKysrKysrKy0KKyBpbmNsdWRlL3N0YW5kYXJkLWhlYWRlcnMvbGludXgvcGNpX3Jl Z3MuaCAgICAgfCAxMCArKysrKysKKyBpbmNsdWRlL3N0YW5kYXJkLWhlYWRlcnMvbGludXgvdmly dGlvX2lkcy5oICAgfCAgMSArCisgbGludXgtaGVhZGVycy9hc20tbG9vbmdhcmNoL2t2bS5oICAg ICAgICAgICAgIHwgIDEgKworIGxpbnV4LWhlYWRlcnMvYXNtLXJpc2N2L2t2bS5oICAgICAgICAg ICAgICAgICB8IDIzICsrKysrKysrKysrKy0KKyBsaW51eC1oZWFkZXJzL2FzbS1yaXNjdi9wdHJh Y2UuaCAgICAgICAgICAgICAgfCAgNCArLS0KKyBsaW51eC1oZWFkZXJzL2FzbS14ODYva3ZtLmgg ICAgICAgICAgICAgICAgICAgfCAzNCArKysrKysrKysrKysrKysrKysrCisgbGludXgtaGVhZGVy cy9hc20teDg2L3VuaXN0ZF82NC5oICAgICAgICAgICAgIHwgIDEgKworIGxpbnV4LWhlYWRlcnMv YXNtLXg4Ni91bmlzdGRfeDMyLmggICAgICAgICAgICB8ICAxICsKKyBsaW51eC1oZWFkZXJzL2xp bnV4L2t2bS5oICAgICAgICAgICAgICAgICAgICAgfCAgMyArKworIGxpbnV4LWhlYWRlcnMvbGlu dXgvcHNwLXNldi5oICAgICAgICAgICAgICAgICB8IDEwICsrKysrLQorIGxpbnV4LWhlYWRlcnMv bGludXgvc3RkZGVmLmggICAgICAgICAgICAgICAgICB8ICAxIC0KKyBsaW51eC1oZWFkZXJzL2xp bnV4L3ZkdXNlLmggICAgICAgICAgICAgICAgICAgfCAgMiArLQorIGxpbnV4LWhlYWRlcnMvbGlu dXgvdmhvc3QuaCAgICAgICAgICAgICAgICAgICB8ICA0ICstLQorIDE3IGZpbGVzIGNoYW5nZWQs IDEzMCBpbnNlcnRpb25zKCspLCAxMSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2luY2x1 ZGUvc3RhbmRhcmQtaGVhZGVycy9saW51eC9ldGh0b29sLmggYi9pbmNsdWRlL3N0YW5kYXJkLWhl YWRlcnMvbGludXgvZXRodG9vbC5oCitpbmRleCBlYjgwMzE0MDI4Li5kYzI0NTEyZDI4IDEwMDY0 NAorLS0tIGEvaW5jbHVkZS9zdGFuZGFyZC1oZWFkZXJzL2xpbnV4L2V0aHRvb2wuaAorKysrIGIv aW5jbHVkZS9zdGFuZGFyZC1oZWFkZXJzL2xpbnV4L2V0aHRvb2wuaAorQEAgLTIzODAsNiArMjM4 MCw3IEBAIGVudW0geworICNkZWZpbmUJUlhIX0w0X0JfMF8xCSgxIDw8IDYpIC8qIHNyYyBwb3J0 IGluIGNhc2Ugb2YgVENQL1VEUC9TQ1RQICovCisgI2RlZmluZQlSWEhfTDRfQl8yXzMJKDEgPDwg NykgLyogZHN0IHBvcnQgaW4gY2FzZSBvZiBUQ1AvVURQL1NDVFAgKi8KKyAjZGVmaW5lCVJYSF9H VFBfVEVJRAkoMSA8PCA4KSAvKiB0ZWlkIGluIGNhc2Ugb2YgR1RQICovCisrI2RlZmluZQlSWEhf SVA2X0ZMCSgxIDw8IDkpIC8qIElQdjYgZmxvdyBsYWJlbCAqLworICNkZWZpbmUJUlhIX0RJU0NB UkQJKDEgPDwgMzEpCisgCisgI2RlZmluZQlSWF9DTFNfRkxPV19ESVNDCTB4ZmZmZmZmZmZmZmZm ZmZmZlVMTAorZGlmZiAtLWdpdCBhL2luY2x1ZGUvc3RhbmRhcmQtaGVhZGVycy9saW51eC9mdXNl LmggYi9pbmNsdWRlL3N0YW5kYXJkLWhlYWRlcnMvbGludXgvZnVzZS5oCitpbmRleCBkOGIyZmQ2 N2UxLi5hYmYzYTc4ODU4IDEwMDY0NAorLS0tIGEvaW5jbHVkZS9zdGFuZGFyZC1oZWFkZXJzL2xp bnV4L2Z1c2UuaAorKysrIGIvaW5jbHVkZS9zdGFuZGFyZC1oZWFkZXJzL2xpbnV4L2Z1c2UuaAor QEAgLTIzNSw2ICsyMzUsMTEgQEAKKyAgKgorICAqICA3LjQ0CisgICogIC0gYWRkIEZVU0VfTk9U SUZZX0lOQ19FUE9DSAorKyAqCisrICogIDcuNDUKKysgKiAgLSBhZGQgRlVTRV9DT1BZX0ZJTEVf UkFOR0VfNjQKKysgKiAgLSBhZGQgc3RydWN0IGZ1c2VfY29weV9maWxlX3JhbmdlX291dAorKyAq ICAtIGFkZCBGVVNFX05PVElGWV9QUlVORQorICAqLworIAorICNpZm5kZWYgX0xJTlVYX0ZVU0Vf SAorQEAgLTI2Niw3ICsyNzEsNyBAQAorICNkZWZpbmUgRlVTRV9LRVJORUxfVkVSU0lPTiA3Cisg CisgLyoqIE1pbm9yIHZlcnNpb24gbnVtYmVyIG9mIHRoaXMgaW50ZXJmYWNlICovCistI2RlZmlu ZSBGVVNFX0tFUk5FTF9NSU5PUl9WRVJTSU9OIDQ0CisrI2RlZmluZSBGVVNFX0tFUk5FTF9NSU5P Ul9WRVJTSU9OIDQ1CisgCisgLyoqIFRoZSBub2RlIElEIG9mIHRoZSByb290IGlub2RlICovCisg I2RlZmluZSBGVVNFX1JPT1RfSUQgMQorQEAgLTY1Myw2ICs2NTgsNyBAQCBlbnVtIGZ1c2Vfb3Bj b2RlIHsKKyAJRlVTRV9TWU5DRlMJCT0gNTAsCisgCUZVU0VfVE1QRklMRQkJPSA1MSwKKyAJRlVT RV9TVEFUWAkJPSA1MiwKKysJRlVTRV9DT1BZX0ZJTEVfUkFOR0VfNjQJPSA1MywKKyAKKyAJLyog Q1VTRSBzcGVjaWZpYyBvcGVyYXRpb25zICovCisgCUNVU0VfSU5JVAkJPSA0MDk2LAorQEAgLTY3 MSw3ICs2NzcsNyBAQCBlbnVtIGZ1c2Vfbm90aWZ5X2NvZGUgeworIAlGVVNFX05PVElGWV9ERUxF VEUgPSA2LAorIAlGVVNFX05PVElGWV9SRVNFTkQgPSA3LAorIAlGVVNFX05PVElGWV9JTkNfRVBP Q0ggPSA4LAorLQlGVVNFX05PVElGWV9DT0RFX01BWCwKKysJRlVTRV9OT1RJRllfUFJVTkUgPSA5 LAorIH07CisgCisgLyogVGhlIHJlYWQgYnVmZmVyIGlzIHJlcXVpcmVkIHRvIGJlIGF0IGxlYXN0 IDhrLCBidXQgbWF5IGJlIG11Y2ggbGFyZ2VyICovCitAQCAtMTExMCw2ICsxMTE2LDEyIEBAIHN0 cnVjdCBmdXNlX25vdGlmeV9yZXRyaWV2ZV9pbiB7CisgCXVpbnQ2NF90CWR1bW15NDsKKyB9Owor IAorK3N0cnVjdCBmdXNlX25vdGlmeV9wcnVuZV9vdXQgeworKwl1aW50MzJfdAljb3VudDsKKysJ dWludDMyX3QJcGFkZGluZzsKKysJdWludDY0X3QJc3BhcmU7CisrfTsKKysKKyBzdHJ1Y3QgZnVz ZV9iYWNraW5nX21hcCB7CisgCWludDMyX3QJCWZkOworIAl1aW50MzJfdAlmbGFnczsKK0BAIC0x MTIyLDYgKzExMzQsNyBAQCBzdHJ1Y3QgZnVzZV9iYWNraW5nX21hcCB7CisgI2RlZmluZSBGVVNF X0RFVl9JT0NfQkFDS0lOR19PUEVOCV9JT1coRlVTRV9ERVZfSU9DX01BR0lDLCAxLCBcCisgCQkJ CQkgICAgIHN0cnVjdCBmdXNlX2JhY2tpbmdfbWFwKQorICNkZWZpbmUgRlVTRV9ERVZfSU9DX0JB Q0tJTkdfQ0xPU0UJX0lPVyhGVVNFX0RFVl9JT0NfTUFHSUMsIDIsIHVpbnQzMl90KQorKyNkZWZp bmUgRlVTRV9ERVZfSU9DX1NZTkNfSU5JVAkJX0lPKEZVU0VfREVWX0lPQ19NQUdJQywgMykKKyAK KyBzdHJ1Y3QgZnVzZV9sc2Vla19pbiB7CisgCXVpbnQ2NF90CWZoOworQEAgLTExNDQsNiArMTE1 NywxMSBAQCBzdHJ1Y3QgZnVzZV9jb3B5X2ZpbGVfcmFuZ2VfaW4geworIAl1aW50NjRfdAlmbGFn czsKKyB9OworIAorKy8qIEZvciBGVVNFX0NPUFlfRklMRV9SQU5HRV82NCAqLworK3N0cnVjdCBm dXNlX2NvcHlfZmlsZV9yYW5nZV9vdXQgeworKwl1aW50NjRfdAlieXRlc19jb3BpZWQ7CisrfTsK KysKKyAjZGVmaW5lIEZVU0VfU0VUVVBNQVBQSU5HX0ZMQUdfV1JJVEUgKDF1bGwgPDwgMCkKKyAj ZGVmaW5lIEZVU0VfU0VUVVBNQVBQSU5HX0ZMQUdfUkVBRCAoMXVsbCA8PCAxKQorIHN0cnVjdCBm dXNlX3NldHVwbWFwcGluZ19pbiB7CitkaWZmIC0tZ2l0IGEvaW5jbHVkZS9zdGFuZGFyZC1oZWFk ZXJzL2xpbnV4L2lucHV0LWV2ZW50LWNvZGVzLmggYi9pbmNsdWRlL3N0YW5kYXJkLWhlYWRlcnMv bGludXgvaW5wdXQtZXZlbnQtY29kZXMuaAoraW5kZXggMDBkYzljYWFjOS4uYzkxNGNjZDcyMyAx MDA2NDQKKy0tLSBhL2luY2x1ZGUvc3RhbmRhcmQtaGVhZGVycy9saW51eC9pbnB1dC1ldmVudC1j b2Rlcy5oCisrKysgYi9pbmNsdWRlL3N0YW5kYXJkLWhlYWRlcnMvbGludXgvaW5wdXQtZXZlbnQt Y29kZXMuaAorQEAgLTI3LDYgKzI3LDcgQEAKKyAjZGVmaW5lIElOUFVUX1BST1BfVE9QQlVUVE9O UEFECQkweDA0CS8qIHNvZnRidXR0b25zIGF0IHRvcCBvZiBwYWQgKi8KKyAjZGVmaW5lIElOUFVU X1BST1BfUE9JTlRJTkdfU1RJQ0sJMHgwNQkvKiBpcyBhIHBvaW50aW5nIHN0aWNrICovCisgI2Rl ZmluZSBJTlBVVF9QUk9QX0FDQ0VMRVJPTUVURVIJMHgwNgkvKiBoYXMgYWNjZWxlcm9tZXRlciAq LworKyNkZWZpbmUgSU5QVVRfUFJPUF9IQVBUSUNfVE9VQ0hQQUQJMHgwNwkvKiBpcyBhIGhhcHRp YyB0b3VjaHBhZCAqLworIAorICNkZWZpbmUgSU5QVVRfUFJPUF9NQVgJCQkweDFmCisgI2RlZmlu ZSBJTlBVVF9QUk9QX0NOVAkJCShJTlBVVF9QUk9QX01BWCArIDEpCitkaWZmIC0tZ2l0IGEvaW5j bHVkZS9zdGFuZGFyZC1oZWFkZXJzL2xpbnV4L2lucHV0LmggYi9pbmNsdWRlL3N0YW5kYXJkLWhl YWRlcnMvbGludXgvaW5wdXQuaAoraW5kZXggZDQ1MTJjMjBiNS4uOWFmZjIxMWRkNSAxMDA2NDQK Ky0tLSBhL2luY2x1ZGUvc3RhbmRhcmQtaGVhZGVycy9saW51eC9pbnB1dC5oCisrKysgYi9pbmNs dWRlL3N0YW5kYXJkLWhlYWRlcnMvbGludXgvaW5wdXQuaAorQEAgLTQyNiw2ICs0MjYsMjQgQEAg c3RydWN0IGZmX3J1bWJsZV9lZmZlY3QgeworIAl1aW50MTZfdCB3ZWFrX21hZ25pdHVkZTsKKyB9 OworIAorKy8qKgorKyAqIHN0cnVjdCBmZl9oYXB0aWNfZWZmZWN0CisrICogQGhpZF91c2FnZTog aGlkX3VzYWdlIGFjY29yZGluZyB0byBIYXB0aWNzIHBhZ2UgKFdBVkVGT1JNX0NMSUNLLCBldGMu KQorKyAqIEB2ZW5kb3JfaWQ6IHRoZSB3YXZlZm9ybSB2ZW5kb3IgSUQgaWYgaGlkX3VzYWdlIGlz IGluIHRoZSB2ZW5kb3ItZGVmaW5lZCByYW5nZQorKyAqIEB2ZW5kb3Jfd2F2ZWZvcm1fcGFnZTog dGhlIHZlbmRvciB3YXZlZm9ybSBwYWdlIGlmIGhpZF91c2FnZSBpcyBpbiB0aGUgdmVuZG9yLWRl ZmluZWQgcmFuZ2UKKysgKiBAaW50ZW5zaXR5OiBzdHJlbmd0aCBvZiB0aGUgZWZmZWN0IGFzIHBl cmNlbnRhZ2UKKysgKiBAcmVwZWF0X2NvdW50OiBudW1iZXIgb2YgdGltZXMgdG8gcmV0cmlnZ2Vy IGVmZmVjdAorKyAqIEByZXRyaWdnZXJfcGVyaW9kOiB0aW1lIGJlZm9yZSBlZmZlY3QgaXMgcmV0 cmlnZ2VyZWQgKGluIG1zKQorKyAqLworK3N0cnVjdCBmZl9oYXB0aWNfZWZmZWN0IHsKKysJdWlu dDE2X3QgaGlkX3VzYWdlOworKwl1aW50MTZfdCB2ZW5kb3JfaWQ7CisrCXVpbnQ4X3QgIHZlbmRv cl93YXZlZm9ybV9wYWdlOworKwl1aW50MTZfdCBpbnRlbnNpdHk7CisrCXVpbnQxNl90IHJlcGVh dF9jb3VudDsKKysJdWludDE2X3QgcmV0cmlnZ2VyX3BlcmlvZDsKKyt9OworKworIC8qKgorICAq IHN0cnVjdCBmZl9lZmZlY3QgLSBkZWZpbmVzIGZvcmNlIGZlZWRiYWNrIGVmZmVjdAorICAqIEB0 eXBlOiB0eXBlIG9mIHRoZSBlZmZlY3QgKEZGX0NPTlNUQU5ULCBGRl9QRVJJT0RJQywgRkZfUkFN UCwgRkZfU1BSSU5HLAorQEAgLTQ2Miw2ICs0ODAsNyBAQCBzdHJ1Y3QgZmZfZWZmZWN0IHsKKyAJ CXN0cnVjdCBmZl9wZXJpb2RpY19lZmZlY3QgcGVyaW9kaWM7CisgCQlzdHJ1Y3QgZmZfY29uZGl0 aW9uX2VmZmVjdCBjb25kaXRpb25bMl07IC8qIE9uZSBmb3IgZWFjaCBheGlzICovCisgCQlzdHJ1 Y3QgZmZfcnVtYmxlX2VmZmVjdCBydW1ibGU7CisrCQlzdHJ1Y3QgZmZfaGFwdGljX2VmZmVjdCBo YXB0aWM7CisgCX0gdTsKKyB9OworIAorQEAgLTQ2OSw2ICs0ODgsNyBAQCBzdHJ1Y3QgZmZfZWZm ZWN0IHsKKyAgKiBGb3JjZSBmZWVkYmFjayBlZmZlY3QgdHlwZXMKKyAgKi8KKyAKKysjZGVmaW5l IEZGX0hBUFRJQwkJMHg0ZgorICNkZWZpbmUgRkZfUlVNQkxFCTB4NTAKKyAjZGVmaW5lIEZGX1BF UklPRElDCTB4NTEKKyAjZGVmaW5lIEZGX0NPTlNUQU5UCTB4NTIKK0BAIC00NzgsNyArNDk4LDcg QEAgc3RydWN0IGZmX2VmZmVjdCB7CisgI2RlZmluZSBGRl9JTkVSVElBCTB4NTYKKyAjZGVmaW5l IEZGX1JBTVAJCTB4NTcKKyAKKy0jZGVmaW5lIEZGX0VGRkVDVF9NSU4JRkZfUlVNQkxFCisrI2Rl ZmluZSBGRl9FRkZFQ1RfTUlOCUZGX0hBUFRJQworICNkZWZpbmUgRkZfRUZGRUNUX01BWAlGRl9S QU1QCisgCisgLyoKK2RpZmYgLS1naXQgYS9pbmNsdWRlL3N0YW5kYXJkLWhlYWRlcnMvbGludXgv cGNpX3JlZ3MuaCBiL2luY2x1ZGUvc3RhbmRhcmQtaGVhZGVycy9saW51eC9wY2lfcmVncy5oCitp bmRleCBmNWIxNzc0NWRlLi4wN2UwNmFhZmVjIDEwMDY0NAorLS0tIGEvaW5jbHVkZS9zdGFuZGFy ZC1oZWFkZXJzL2xpbnV4L3BjaV9yZWdzLmgKKysrKyBiL2luY2x1ZGUvc3RhbmRhcmQtaGVhZGVy cy9saW51eC9wY2lfcmVncy5oCitAQCAtMjA3LDYgKzIwNyw5IEBACisgCisgLyogQ2FwYWJpbGl0 eSBsaXN0cyAqLworIAorKyNkZWZpbmUgUENJX0NBUF9JRF9NQVNLCQkweDAwZmYJLyogQ2FwYWJp bGl0eSBJRCBtYXNrICovCisrI2RlZmluZSBQQ0lfQ0FQX0xJU1RfTkVYVF9NQVNLCTB4ZmYwMAkv KiBOZXh0IENhcGFiaWxpdHkgUG9pbnRlciBtYXNrICovCisrCisgI2RlZmluZSBQQ0lfQ0FQX0xJ U1RfSUQJCTAJLyogQ2FwYWJpbGl0eSBJRCAqLworICNkZWZpbmUgIFBDSV9DQVBfSURfUE0JCTB4 MDEJLyogUG93ZXIgTWFuYWdlbWVudCAqLworICNkZWZpbmUgIFBDSV9DQVBfSURfQUdQCQkweDAy CS8qIEFjY2VsZXJhdGVkIEdyYXBoaWNzIFBvcnQgKi8KK0BAIC03NzYsNiArNzc5LDEyIEBACisg I2RlZmluZSAgUENJX0VSUl9VTkNfTUNCVExQCTB4MDA4MDAwMDAJLyogTUMgYmxvY2tlZCBUTFAg Ki8KKyAjZGVmaW5lICBQQ0lfRVJSX1VOQ19BVE9NRUcJMHgwMTAwMDAwMAkvKiBBdG9taWMgZWdy ZXNzIGJsb2NrZWQgKi8KKyAjZGVmaW5lICBQQ0lfRVJSX1VOQ19UTFBQUkUJMHgwMjAwMDAwMAkv KiBUTFAgcHJlZml4IGJsb2NrZWQgKi8KKysjZGVmaW5lICBQQ0lfRVJSX1VOQ19QT0lTT05fQkxL CTB4MDQwMDAwMDAJLyogUG9pc29uZWQgVExQIEVncmVzcyBCbG9ja2VkICovCisrI2RlZmluZSAg UENJX0VSUl9VTkNfRE1XUl9CTEsJMHgwODAwMDAwMAkvKiBETVdyIFJlcXVlc3QgRWdyZXNzIEJs b2NrZWQgKi8KKysjZGVmaW5lICBQQ0lfRVJSX1VOQ19JREVfQ0hFQ0sJMHgxMDAwMDAwMAkvKiBJ REUgQ2hlY2sgRmFpbGVkICovCisrI2RlZmluZSAgUENJX0VSUl9VTkNfTUlTUl9JREUJMHgyMDAw MDAwMAkvKiBNaXNyb3V0ZWQgSURFIFRMUCAqLworKyNkZWZpbmUgIFBDSV9FUlJfVU5DX1BDUkNf Q0hFQ0sJMHg0MDAwMDAwMAkvKiBQQ1JDIENoZWNrIEZhaWxlZCAqLworKyNkZWZpbmUgIFBDSV9F UlJfVU5DX1hMQVRfQkxLCTB4ODAwMDAwMDAJLyogVExQIFRyYW5zbGF0aW9uIEVncmVzcyBCbG9j a2VkICovCisgI2RlZmluZSBQQ0lfRVJSX1VOQ09SX01BU0sJMHgwOAkvKiBVbmNvcnJlY3RhYmxl IEVycm9yIE1hc2sgKi8KKyAJLyogU2FtZSBiaXRzIGFzIGFib3ZlICovCisgI2RlZmluZSBQQ0lf RVJSX1VOQ09SX1NFVkVSCTB4MGMJLyogVW5jb3JyZWN0YWJsZSBFcnJvciBTZXZlcml0eSAqLwor QEAgLTc5OCw2ICs4MDcsNyBAQAorICNkZWZpbmUgIFBDSV9FUlJfQ0FQX0VDUkNfQ0hLQwkJMHgw MDAwMDA4MCAvKiBFQ1JDIENoZWNrIENhcGFibGUgKi8KKyAjZGVmaW5lICBQQ0lfRVJSX0NBUF9F Q1JDX0NIS0UJCTB4MDAwMDAxMDAgLyogRUNSQyBDaGVjayBFbmFibGUgKi8KKyAjZGVmaW5lICBQ Q0lfRVJSX0NBUF9QUkVGSVhfTE9HX1BSRVNFTlQJMHgwMDAwMDgwMCAvKiBUTFAgUHJlZml4IExv ZyBQcmVzZW50ICovCisrI2RlZmluZSAgUENJX0VSUl9DQVBfQ09NUF9USU1FX0xPRwkweDAwMDAx MDAwIC8qIENvbXBsZXRpb24gVGltZW91dCBQcmVmaXgvSGVhZGVyIExvZyBDYXBhYmxlICovCisg I2RlZmluZSAgUENJX0VSUl9DQVBfVExQX0xPR19GTElUCTB4MDAwNDAwMDAgLyogVExQIHdhcyBs b2dnZWQgaW4gRmxpdCBNb2RlICovCisgI2RlZmluZSAgUENJX0VSUl9DQVBfVExQX0xPR19TSVpF CTB4MDBmODAwMDAgLyogTG9nZ2VkIFRMUCBTaXplIChvbmx5IGluIEZsaXQgbW9kZSkgKi8KKyAj ZGVmaW5lIFBDSV9FUlJfSEVBREVSX0xPRwkweDFjCS8qIEhlYWRlciBMb2cgUmVnaXN0ZXIgKDE2 IGJ5dGVzKSAqLworZGlmZiAtLWdpdCBhL2luY2x1ZGUvc3RhbmRhcmQtaGVhZGVycy9saW51eC92 aXJ0aW9faWRzLmggYi9pbmNsdWRlL3N0YW5kYXJkLWhlYWRlcnMvbGludXgvdmlydGlvX2lkcy5o CitpbmRleCA3YWEyZWI3NjYyLi42YzEyZGIxNmZhIDEwMDY0NAorLS0tIGEvaW5jbHVkZS9zdGFu ZGFyZC1oZWFkZXJzL2xpbnV4L3ZpcnRpb19pZHMuaAorKysrIGIvaW5jbHVkZS9zdGFuZGFyZC1o ZWFkZXJzL2xpbnV4L3ZpcnRpb19pZHMuaAorQEAgLTY4LDYgKzY4LDcgQEAKKyAjZGVmaW5lIFZJ UlRJT19JRF9BVURJT19QT0xJQ1kJCTM5IC8qIHZpcnRpbyBhdWRpbyBwb2xpY3kgKi8KKyAjZGVm aW5lIFZJUlRJT19JRF9CVAkJCTQwIC8qIHZpcnRpbyBibHVldG9vdGggKi8KKyAjZGVmaW5lIFZJ UlRJT19JRF9HUElPCQkJNDEgLyogdmlydGlvIGdwaW8gKi8KKysjZGVmaW5lIFZJUlRJT19JRF9T UEkJCQk0NSAvKiB2aXJ0aW8gc3BpICovCisgCisgLyoKKyAgKiBWaXJ0aW8gVHJhbnNpdGlvbmFs IElEcworZGlmZiAtLWdpdCBhL2xpbnV4LWhlYWRlcnMvYXNtLWxvb25nYXJjaC9rdm0uaCBiL2xp bnV4LWhlYWRlcnMvYXNtLWxvb25nYXJjaC9rdm0uaAoraW5kZXggNWYzNTRmNWM2OC4uNTdiYTFh NTYzYiAxMDA2NDQKKy0tLSBhL2xpbnV4LWhlYWRlcnMvYXNtLWxvb25nYXJjaC9rdm0uaAorKysr IGIvbGludXgtaGVhZGVycy9hc20tbG9vbmdhcmNoL2t2bS5oCitAQCAtMTAzLDYgKzEwMyw3IEBA IHN0cnVjdCBrdm1fZnB1IHsKKyAjZGVmaW5lICBLVk1fTE9PTkdBUkNIX1ZNX0ZFQVRfUE1VCQk1 CisgI2RlZmluZSAgS1ZNX0xPT05HQVJDSF9WTV9GRUFUX1BWX0lQSQkJNgorICNkZWZpbmUgIEtW TV9MT09OR0FSQ0hfVk1fRkVBVF9QVl9TVEVBTFRJTUUJNworKyNkZWZpbmUgIEtWTV9MT09OR0FS Q0hfVk1fRkVBVF9QVFcJCTgKKyAKKyAvKiBEZXZpY2UgQ29udHJvbCBBUEkgb24gdmNwdSBmZCAq LworICNkZWZpbmUgS1ZNX0xPT05HQVJDSF9WQ1BVX0NQVUNGRwkwCitkaWZmIC0tZ2l0IGEvbGlu dXgtaGVhZGVycy9hc20tcmlzY3Yva3ZtLmggYi9saW51eC1oZWFkZXJzL2FzbS1yaXNjdi9rdm0u aAoraW5kZXggZWYyN2Q0Mjg5ZC4uNzU5YTQ4NTJjMCAxMDA2NDQKKy0tLSBhL2xpbnV4LWhlYWRl cnMvYXNtLXJpc2N2L2t2bS5oCisrKysgYi9saW51eC1oZWFkZXJzL2FzbS1yaXNjdi9rdm0uaAor QEAgLTksNyArOSw3IEBACisgI2lmbmRlZiBfX0xJTlVYX0tWTV9SSVNDVl9ICisgI2RlZmluZSBf X0xJTlVYX0tWTV9SSVNDVl9ICisgCistI2lmbmRlZiBfX0FTU0VNQkxZX18KKysjaWZuZGVmIF9f QVNTRU1CTEVSX18KKyAKKyAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KKyAjaW5jbHVkZSA8YXNt L2JpdHNwZXJsb25nLmg+CitAQCAtNTYsNiArNTYsNyBAQCBzdHJ1Y3Qga3ZtX3Jpc2N2X2NvbmZp ZyB7CisgCXVuc2lnbmVkIGxvbmcgbWltcGlkOworIAl1bnNpZ25lZCBsb25nIHppY2Jvel9ibG9j a19zaXplOworIAl1bnNpZ25lZCBsb25nIHNhdHBfbW9kZTsKKysJdW5zaWduZWQgbG9uZyB6aWNi b3BfYmxvY2tfc2l6ZTsKKyB9OworIAorIC8qIENPUkUgcmVnaXN0ZXJzIGZvciBLVk1fR0VUX09O RV9SRUcgYW5kIEtWTV9TRVRfT05FX1JFRyAqLworQEAgLTE4NSw2ICsxODYsMTAgQEAgZW51bSBL Vk1fUklTQ1ZfSVNBX0VYVF9JRCB7CisgCUtWTV9SSVNDVl9JU0FfRVhUX1pJQ0NSU0UsCisgCUtW TV9SSVNDVl9JU0FfRVhUX1pBQU1PLAorIAlLVk1fUklTQ1ZfSVNBX0VYVF9aQUxSU0MsCisrCUtW TV9SSVNDVl9JU0FfRVhUX1pJQ0JPUCwKKysJS1ZNX1JJU0NWX0lTQV9FWFRfWkZCRk1JTiwKKysJ S1ZNX1JJU0NWX0lTQV9FWFRfWlZGQkZNSU4sCisrCUtWTV9SSVNDVl9JU0FfRVhUX1pWRkJGV01B LAorIAlLVk1fUklTQ1ZfSVNBX0VYVF9NQVgsCisgfTsKKyAKK0BAIC0yMDUsNiArMjEwLDcgQEAg ZW51bSBLVk1fUklTQ1ZfU0JJX0VYVF9JRCB7CisgCUtWTV9SSVNDVl9TQklfRVhUX0RCQ04sCisg CUtWTV9SSVNDVl9TQklfRVhUX1NUQSwKKyAJS1ZNX1JJU0NWX1NCSV9FWFRfU1VTUCwKKysJS1ZN X1JJU0NWX1NCSV9FWFRfRldGVCwKKyAJS1ZNX1JJU0NWX1NCSV9FWFRfTUFYLAorIH07CisgCitA QCAtMjE0LDYgKzIyMCwxOCBAQCBzdHJ1Y3Qga3ZtX3Jpc2N2X3NiaV9zdGEgeworIAl1bnNpZ25l ZCBsb25nIHNobWVtX2hpOworIH07CisgCisrc3RydWN0IGt2bV9yaXNjdl9zYmlfZndmdF9mZWF0 dXJlIHsKKysJdW5zaWduZWQgbG9uZyBlbmFibGU7CisrCXVuc2lnbmVkIGxvbmcgZmxhZ3M7Cisr CXVuc2lnbmVkIGxvbmcgdmFsdWU7CisrfTsKKysKKysvKiBTQkkgRldGVCBleHRlbnNpb24gcmVn aXN0ZXJzIGZvciBLVk1fR0VUX09ORV9SRUcgYW5kIEtWTV9TRVRfT05FX1JFRyAqLworK3N0cnVj dCBrdm1fcmlzY3Zfc2JpX2Z3ZnQgeworKwlzdHJ1Y3Qga3ZtX3Jpc2N2X3NiaV9md2Z0X2ZlYXR1 cmUgbWlzYWxpZ25lZF9kZWxlZzsKKysJc3RydWN0IGt2bV9yaXNjdl9zYmlfZndmdF9mZWF0dXJl IHBvaW50ZXJfbWFza2luZzsKKyt9OworKworIC8qIFBvc3NpYmxlIHN0YXRlcyBmb3Iga3ZtX3Jp c2N2X3RpbWVyICovCisgI2RlZmluZSBLVk1fUklTQ1ZfVElNRVJfU1RBVEVfT0ZGCTAKKyAjZGVm aW5lIEtWTV9SSVNDVl9USU1FUl9TVEFURV9PTgkxCitAQCAtMjk3LDYgKzMxNSw5IEBAIHN0cnVj dCBrdm1fcmlzY3Zfc2JpX3N0YSB7CisgI2RlZmluZSBLVk1fUkVHX1JJU0NWX1NCSV9TVEEJCSgw eDAgPDwgS1ZNX1JFR19SSVNDVl9TVUJUWVBFX1NISUZUKQorICNkZWZpbmUgS1ZNX1JFR19SSVND Vl9TQklfU1RBX1JFRyhuYW1lKQkJXAorIAkJKG9mZnNldG9mKHN0cnVjdCBrdm1fcmlzY3Zfc2Jp X3N0YSwgbmFtZSkgLyBzaXplb2YodW5zaWduZWQgbG9uZykpCisrI2RlZmluZSBLVk1fUkVHX1JJ U0NWX1NCSV9GV0ZUCQkoMHgxIDw8IEtWTV9SRUdfUklTQ1ZfU1VCVFlQRV9TSElGVCkKKysjZGVm aW5lIEtWTV9SRUdfUklTQ1ZfU0JJX0ZXRlRfUkVHKG5hbWUpCVwKKysJCShvZmZzZXRvZihzdHJ1 Y3Qga3ZtX3Jpc2N2X3NiaV9md2Z0LCBuYW1lKSAvIHNpemVvZih1bnNpZ25lZCBsb25nKSkKKyAK KyAvKiBEZXZpY2UgQ29udHJvbCBBUEk6IFJJU0MtViBBSUEgKi8KKyAjZGVmaW5lIEtWTV9ERVZf UklTQ1ZfQVBMSUNfQUxJR04JCTB4MTAwMAorZGlmZiAtLWdpdCBhL2xpbnV4LWhlYWRlcnMvYXNt LXJpc2N2L3B0cmFjZS5oIGIvbGludXgtaGVhZGVycy9hc20tcmlzY3YvcHRyYWNlLmgKK2luZGV4 IDFlMzE2NmNhY2EuLmEzZjgyMTFlZGUgMTAwNjQ0CistLS0gYS9saW51eC1oZWFkZXJzL2FzbS1y aXNjdi9wdHJhY2UuaAorKysrIGIvbGludXgtaGVhZGVycy9hc20tcmlzY3YvcHRyYWNlLmgKK0BA IC02LDcgKzYsNyBAQAorICNpZm5kZWYgX0FTTV9SSVNDVl9QVFJBQ0VfSAorICNkZWZpbmUgX0FT TV9SSVNDVl9QVFJBQ0VfSAorIAorLSNpZm5kZWYgX19BU1NFTUJMWV9fCisrI2lmbmRlZiBfX0FT U0VNQkxFUl9fCisgCisgI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CisgCitAQCAtMTI3LDYgKzEy Nyw2IEBAIHN0cnVjdCBfX3Jpc2N2X3ZfcmVnc2V0X3N0YXRlIHsKKyAgKi8KKyAjZGVmaW5lIFJJ U0NWX01BWF9WTEVOQiAoODE5MikKKyAKKy0jZW5kaWYgLyogX19BU1NFTUJMWV9fICovCisrI2Vu ZGlmIC8qIF9fQVNTRU1CTEVSX18gKi8KKyAKKyAjZW5kaWYgLyogX0FTTV9SSVNDVl9QVFJBQ0Vf SCAqLworZGlmZiAtLWdpdCBhL2xpbnV4LWhlYWRlcnMvYXNtLXg4Ni9rdm0uaCBiL2xpbnV4LWhl YWRlcnMvYXNtLXg4Ni9rdm0uaAoraW5kZXggZjBjMWE3MzBkOS4uM2JiMzhmNmMzYSAxMDA2NDQK Ky0tLSBhL2xpbnV4LWhlYWRlcnMvYXNtLXg4Ni9rdm0uaAorKysrIGIvbGludXgtaGVhZGVycy9h c20teDg2L2t2bS5oCitAQCAtMzUsNiArMzUsMTEgQEAKKyAjZGVmaW5lIE1DX1ZFQ1RPUiAxOAor ICNkZWZpbmUgWE1fVkVDVE9SIDE5CisgI2RlZmluZSBWRV9WRUNUT1IgMjAKKysjZGVmaW5lIENQ X1ZFQ1RPUiAyMQorKworKyNkZWZpbmUgSFZfVkVDVE9SIDI4CisrI2RlZmluZSBWQ19WRUNUT1Ig MjkKKysjZGVmaW5lIFNYX1ZFQ1RPUiAzMAorIAorIC8qIFNlbGVjdCB4ODYgc3BlY2lmaWMgZmVh dHVyZXMgaW4gPGxpbnV4L2t2bS5oPiAqLworICNkZWZpbmUgX19LVk1fSEFWRV9QSVQKK0BAIC00 MDksNiArNDE0LDM1IEBAIHN0cnVjdCBrdm1feGNycyB7CisgCV9fdTY0IHBhZGRpbmdbMTZdOwor IH07CisgCisrI2RlZmluZSBLVk1fWDg2X1JFR19UWVBFX01TUgkJMgorKyNkZWZpbmUgS1ZNX1g4 Nl9SRUdfVFlQRV9LVk0JCTMKKysKKysjZGVmaW5lIEtWTV9YODZfS1ZNX1JFR19TSVpFKHJlZykJ CQkJCQlcCisrKHsJCQkJCQkJCQkJXAorKwlyZWcgPT0gS1ZNX1JFR19HVUVTVF9TU1AgPyBLVk1f UkVHX1NJWkVfVTY0IDogMDsJCQlcCisrfSkKKysKKysjZGVmaW5lIEtWTV9YODZfUkVHX1RZUEVf U0laRSh0eXBlLCByZWcpCQkJCQlcCisrKHsJCQkJCQkJCQkJXAorKwlfX3U2NCB0eXBlX3NpemUg PSAoX191NjQpdHlwZSA8PCAzMjsJCQkJCVwKKysJCQkJCQkJCQkJXAorKwl0eXBlX3NpemUgfD0g dHlwZSA9PSBLVk1fWDg2X1JFR19UWVBFX01TUiA/IEtWTV9SRUdfU0laRV9VNjQgOgkJXAorKwkJ ICAgICB0eXBlID09IEtWTV9YODZfUkVHX1RZUEVfS1ZNID8gS1ZNX1g4Nl9LVk1fUkVHX1NJWkUo cmVnKSA6CVwKKysJCSAgICAgMDsJCQkJCQkJCVwKKysJdHlwZV9zaXplOwkJCQkJCQkJXAorK30p CisrCisrI2RlZmluZSBLVk1fWDg2X1JFR19JRCh0eXBlLCBpbmRleCkJCQkJXAorKwkoS1ZNX1JF R19YODYgfCBLVk1fWDg2X1JFR19UWVBFX1NJWkUodHlwZSwgaW5kZXgpIHwgaW5kZXgpCisrCisr I2RlZmluZSBLVk1fWDg2X1JFR19NU1IoaW5kZXgpCQkJCQlcCisrCUtWTV9YODZfUkVHX0lEKEtW TV9YODZfUkVHX1RZUEVfTVNSLCBpbmRleCkKKysjZGVmaW5lIEtWTV9YODZfUkVHX0tWTShpbmRl eCkJCQkJCVwKKysJS1ZNX1g4Nl9SRUdfSUQoS1ZNX1g4Nl9SRUdfVFlQRV9LVk0sIGluZGV4KQor KworKy8qIEtWTS1kZWZpbmVkIHJlZ2lzdGVycyBzdGFydGluZyBmcm9tIDAgKi8KKysjZGVmaW5l IEtWTV9SRUdfR1VFU1RfU1NQCTAKKysKKyAjZGVmaW5lIEtWTV9TWU5DX1g4Nl9SRUdTICAgICAg KDFVTCA8PCAwKQorICNkZWZpbmUgS1ZNX1NZTkNfWDg2X1NSRUdTICAgICAoMVVMIDw8IDEpCisg I2RlZmluZSBLVk1fU1lOQ19YODZfRVZFTlRTICAgICgxVUwgPDwgMikKK2RpZmYgLS1naXQgYS9s aW51eC1oZWFkZXJzL2FzbS14ODYvdW5pc3RkXzY0LmggYi9saW51eC1oZWFkZXJzL2FzbS14ODYv dW5pc3RkXzY0LmgKK2luZGV4IDJmNTViZWJiODEuLjI2YzI1OGQxYTYgMTAwNjQ0CistLS0gYS9s aW51eC1oZWFkZXJzL2FzbS14ODYvdW5pc3RkXzY0LmgKKysrKyBiL2xpbnV4LWhlYWRlcnMvYXNt LXg4Ni91bmlzdGRfNjQuaAorQEAgLTMzNyw2ICszMzcsNyBAQAorICNkZWZpbmUgX19OUl9pb19w Z2V0ZXZlbnRzIDMzMworICNkZWZpbmUgX19OUl9yc2VxIDMzNAorICNkZWZpbmUgX19OUl91cmV0 cHJvYmUgMzM1CisrI2RlZmluZSBfX05SX3Vwcm9iZSAzMzYKKyAjZGVmaW5lIF9fTlJfcGlkZmRf c2VuZF9zaWduYWwgNDI0CisgI2RlZmluZSBfX05SX2lvX3VyaW5nX3NldHVwIDQyNQorICNkZWZp bmUgX19OUl9pb191cmluZ19lbnRlciA0MjYKK2RpZmYgLS1naXQgYS9saW51eC1oZWFkZXJzL2Fz bS14ODYvdW5pc3RkX3gzMi5oIGIvbGludXgtaGVhZGVycy9hc20teDg2L3VuaXN0ZF94MzIuaAor aW5kZXggOGNjODY3M2YxNS4uNjVjMmFlZDk0NiAxMDA2NDQKKy0tLSBhL2xpbnV4LWhlYWRlcnMv YXNtLXg4Ni91bmlzdGRfeDMyLmgKKysrKyBiL2xpbnV4LWhlYWRlcnMvYXNtLXg4Ni91bmlzdGRf eDMyLmgKK0BAIC0yOTAsNiArMjkwLDcgQEAKKyAjZGVmaW5lIF9fTlJfaW9fcGdldGV2ZW50cyAo X19YMzJfU1lTQ0FMTF9CSVQgKyAzMzMpCisgI2RlZmluZSBfX05SX3JzZXEgKF9fWDMyX1NZU0NB TExfQklUICsgMzM0KQorICNkZWZpbmUgX19OUl91cmV0cHJvYmUgKF9fWDMyX1NZU0NBTExfQklU ICsgMzM1KQorKyNkZWZpbmUgX19OUl91cHJvYmUgKF9fWDMyX1NZU0NBTExfQklUICsgMzM2KQor ICNkZWZpbmUgX19OUl9waWRmZF9zZW5kX3NpZ25hbCAoX19YMzJfU1lTQ0FMTF9CSVQgKyA0MjQp CisgI2RlZmluZSBfX05SX2lvX3VyaW5nX3NldHVwIChfX1gzMl9TWVNDQUxMX0JJVCArIDQyNSkK KyAjZGVmaW5lIF9fTlJfaW9fdXJpbmdfZW50ZXIgKF9fWDMyX1NZU0NBTExfQklUICsgNDI2KQor ZGlmZiAtLWdpdCBhL2xpbnV4LWhlYWRlcnMvbGludXgva3ZtLmggYi9saW51eC1oZWFkZXJzL2xp bnV4L2t2bS5oCitpbmRleCBiZTcwNDk2NWQ4Li40ZWEyOGVmN2NhIDEwMDY0NAorLS0tIGEvbGlu dXgtaGVhZGVycy9saW51eC9rdm0uaAorKysrIGIvbGludXgtaGVhZGVycy9saW51eC9rdm0uaAor QEAgLTk1NCw2ICs5NTQsNyBAQCBzdHJ1Y3Qga3ZtX2VuYWJsZV9jYXAgeworICNkZWZpbmUgS1ZN X0NBUF9BUk1fRUwyX0UySDAgMjQxCisgI2RlZmluZSBLVk1fQ0FQX1JJU0NWX01QX1NUQVRFX1JF U0VUIDI0MgorICNkZWZpbmUgS1ZNX0NBUF9BUk1fQ0FDSEVBQkxFX1BGTk1BUF9TVVBQT1JURUQg MjQzCisrI2RlZmluZSBLVk1fQ0FQX0dVRVNUX01FTUZEX0ZMQUdTIDI0NAorIAorIHN0cnVjdCBr dm1faXJxX3JvdXRpbmdfaXJxY2hpcCB7CisgCV9fdTMyIGlycWNoaXA7CitAQCAtMTU5MCw2ICsx NTkxLDggQEAgc3RydWN0IGt2bV9tZW1vcnlfYXR0cmlidXRlcyB7CisgI2RlZmluZSBLVk1fTUVN T1JZX0FUVFJJQlVURV9QUklWQVRFICAgICAgICAgICAoMVVMTCA8PCAzKQorIAorICNkZWZpbmUg S1ZNX0NSRUFURV9HVUVTVF9NRU1GRAlfSU9XUihLVk1JTywgIDB4ZDQsIHN0cnVjdCBrdm1fY3Jl YXRlX2d1ZXN0X21lbWZkKQorKyNkZWZpbmUgR1VFU1RfTUVNRkRfRkxBR19NTUFQCQkoMVVMTCA8 PCAwKQorKyNkZWZpbmUgR1VFU1RfTUVNRkRfRkxBR19JTklUX1NIQVJFRAkoMVVMTCA8PCAxKQor IAorIHN0cnVjdCBrdm1fY3JlYXRlX2d1ZXN0X21lbWZkIHsKKyAJX191NjQgc2l6ZTsKK2RpZmYg LS1naXQgYS9saW51eC1oZWFkZXJzL2xpbnV4L3BzcC1zZXYuaCBiL2xpbnV4LWhlYWRlcnMvbGlu dXgvcHNwLXNldi5oCitpbmRleCAxMTNjNGNlYjc4Li5jNTI1MTI1ZWE4IDEwMDY0NAorLS0tIGEv bGludXgtaGVhZGVycy9saW51eC9wc3Atc2V2LmgKKysrKyBiL2xpbnV4LWhlYWRlcnMvbGludXgv cHNwLXNldi5oCitAQCAtMTg1LDYgKzE4NSwxMCBAQCBzdHJ1Y3Qgc2V2X3VzZXJfZGF0YV9nZXRf aWQyIHsKKyAgKiBAbWFza19jaGlwX2lkOiB3aGV0aGVyIGNoaXAgaWQgaXMgcHJlc2VudCBpbiBh dHRlc3RhdGlvbiByZXBvcnRzIG9yIG5vdAorICAqIEBtYXNrX2NoaXBfa2V5OiB3aGV0aGVyIGF0 dGVzdGF0aW9uIHJlcG9ydHMgYXJlIHNpZ25lZCBvciBub3QKKyAgKiBAdmxla19lbjogVkxFSyAo VmVyc2lvbiBMb2FkZWQgRW5kb3JzZW1lbnQgS2V5KSBoYXNoc3RpY2sgaXMgbG9hZGVkCisrICog QGZlYXR1cmVfaW5mbzogd2hldGhlciBTTlBfRkVBVFVSRV9JTkZPIGNvbW1hbmQgaXMgYXZhaWxh YmxlCisrICogQHJhcGxfZGlzOiB3aGV0aGVyIFJBUEwgaXMgZGlzYWJsZWQKKysgKiBAY2lwaGVy dGV4dF9oaWRpbmdfY2FwOiB3aGV0aGVyIHBsYXRmb3JtIGhhcyBjaXBoZXJ0ZXh0IGhpZGluZyBj YXBhYmlsaXR5CisrICogQGNpcGhlcnRleHRfaGlkaW5nX2VuOiB3aGV0aGVyIGNpcGhlcnRleHQg aGlkaW5nIGlzIGVuYWJsZWQKKyAgKiBAcnN2ZDE6IHJlc2VydmVkCisgICogQGd1ZXN0X2NvdW50 OiB0aGUgbnVtYmVyIG9mIGd1ZXN0IGN1cnJlbnRseSBtYW5hZ2VkIGJ5IHRoZSBmaXJtd2FyZQor ICAqIEBjdXJyZW50X3RjYl92ZXJzaW9uOiBjdXJyZW50IFRDQiB2ZXJzaW9uCitAQCAtMjAwLDcg KzIwNCwxMSBAQCBzdHJ1Y3Qgc2V2X3VzZXJfZGF0YV9zbnBfc3RhdHVzIHsKKyAJX191MzIgbWFz a19jaGlwX2lkOjE7CQkvKiBPdXQgKi8KKyAJX191MzIgbWFza19jaGlwX2tleToxOwkJLyogT3V0 ICovCisgCV9fdTMyIHZsZWtfZW46MTsJCS8qIE91dCAqLworLQlfX3UzMiByc3ZkMToyOTsKKysJ X191MzIgZmVhdHVyZV9pbmZvOjE7CQkvKiBPdXQgKi8KKysJX191MzIgcmFwbF9kaXM6MTsJCS8q IE91dCAqLworKwlfX3UzMiBjaXBoZXJ0ZXh0X2hpZGluZ19jYXA6MTsJLyogT3V0ICovCisrCV9f dTMyIGNpcGhlcnRleHRfaGlkaW5nX2VuOjE7CS8qIE91dCAqLworKwlfX3UzMiByc3ZkMToyNTsK KyAJX191MzIgZ3Vlc3RfY291bnQ7CQkvKiBPdXQgKi8KKyAJX191NjQgY3VycmVudF90Y2JfdmVy c2lvbjsJLyogT3V0ICovCisgCV9fdTY0IHJlcG9ydGVkX3RjYl92ZXJzaW9uOwkvKiBPdXQgKi8K K2RpZmYgLS1naXQgYS9saW51eC1oZWFkZXJzL2xpbnV4L3N0ZGRlZi5oIGIvbGludXgtaGVhZGVy cy9saW51eC9zdGRkZWYuaAoraW5kZXggZTFmY2ZjZjNiMy4uNDhlZTQ0MzhlMCAxMDA2NDQKKy0t LSBhL2xpbnV4LWhlYWRlcnMvbGludXgvc3RkZGVmLmgKKysrKyBiL2xpbnV4LWhlYWRlcnMvbGlu dXgvc3RkZGVmLmgKK0BAIC0zLDcgKzMsNiBAQAorICNkZWZpbmUgX0xJTlVYX1NURERFRl9ICisg CisgCistCisgI2lmbmRlZiBfX2Fsd2F5c19pbmxpbmUKKyAjZGVmaW5lIF9fYWx3YXlzX2lubGlu ZSBfX2lubGluZV9fCisgI2VuZGlmCitkaWZmIC0tZ2l0IGEvbGludXgtaGVhZGVycy9saW51eC92 ZHVzZS5oIGIvbGludXgtaGVhZGVycy9saW51eC92ZHVzZS5oCitpbmRleCBmNDYyNjlhZjM0Li5k YTZhYzg5YWYxIDEwMDY0NAorLS0tIGEvbGludXgtaGVhZGVycy9saW51eC92ZHVzZS5oCisrKysg Yi9saW51eC1oZWFkZXJzL2xpbnV4L3ZkdXNlLmgKK0BAIC0yMzcsNyArMjM3LDcgQEAgc3RydWN0 IHZkdXNlX2lvdmFfdW1lbSB7CisgICogc3RydWN0IHZkdXNlX2lvdmFfaW5mbyAtIGluZm9ybWF0 aW9uIG9mIG9uZSBJT1ZBIHJlZ2lvbgorICAqIEBzdGFydDogc3RhcnQgb2YgdGhlIElPVkEgcmVn aW9uCisgICogQGxhc3Q6IGxhc3Qgb2YgdGhlIElPVkEgcmVnaW9uCistICogQGNhcGFiaWxpdHk6 IGNhcGFiaWxpdHkgb2YgdGhlIElPVkEgcmVnc2lvbgorKyAqIEBjYXBhYmlsaXR5OiBjYXBhYmls aXR5IG9mIHRoZSBJT1ZBIHJlZ2lvbgorICAqIEByZXNlcnZlZDogZm9yIGZ1dHVyZSB1c2UsIG5l ZWRzIHRvIGJlIGluaXRpYWxpemVkIHRvIHplcm8KKyAgKgorICAqIFN0cnVjdHVyZSB1c2VkIGJ5 IFZEVVNFX0lPVExCX0dFVF9JTkZPIGlvY3RsIHRvIGdldCBpbmZvcm1hdGlvbiBvZgorZGlmZiAt LWdpdCBhL2xpbnV4LWhlYWRlcnMvbGludXgvdmhvc3QuaCBiL2xpbnV4LWhlYWRlcnMvbGludXgv dmhvc3QuaAoraW5kZXggMjgzMzQ4YjY0YS4uYzU3Njc0YTZhYSAxMDA2NDQKKy0tLSBhL2xpbnV4 LWhlYWRlcnMvbGludXgvdmhvc3QuaAorKysrIGIvbGludXgtaGVhZGVycy9saW51eC92aG9zdC5o CitAQCAtMjYwLDcgKzI2MCw3IEBACisgICogV2hlbiBmb3JrX293bmVyIGlzIHNldCB0byBWSE9T VF9GT1JLX09XTkVSX0tUSFJFQUQ6CisgICogICAtIFZob3N0IHdpbGwgY3JlYXRlIHZob3N0IHdv cmtlcnMgYXMga2VybmVsIHRocmVhZHMuCisgICovCistI2RlZmluZSBWSE9TVF9TRVRfRk9SS19G Uk9NX09XTkVSIF9JT1coVkhPU1RfVklSVElPLCAweDgzLCBfX3U4KQorKyNkZWZpbmUgVkhPU1Rf U0VUX0ZPUktfRlJPTV9PV05FUiBfSU9XKFZIT1NUX1ZJUlRJTywgMHg4NCwgX191OCkKKyAKKyAv KioKKyAgKiBWSE9TVF9HRVRfRk9SS19PV05FUiAtIEdldCB0aGUgY3VycmVudCBmb3JrX293bmVy IGZsYWcgZm9yIHRoZSB2aG9zdCBkZXZpY2UuCitAQCAtMjY4LDYgKzI2OCw2IEBACisgICoKKyAg KiBAcmV0dXJuOiBBbiA4LWJpdCB2YWx1ZSBpbmRpY2F0aW5nIHRoZSBjdXJyZW50IHRocmVhZCBt b2RlLgorICAqLworLSNkZWZpbmUgVkhPU1RfR0VUX0ZPUktfRlJPTV9PV05FUiBfSU9SKFZIT1NU X1ZJUlRJTywgMHg4NCwgX191OCkKKysjZGVmaW5lIFZIT1NUX0dFVF9GT1JLX0ZST01fT1dORVIg X0lPUihWSE9TVF9WSVJUSU8sIDB4ODUsIF9fdTgpCisgCisgI2VuZGlmCistLSAKKzIuNTIuMAor CgpkaWZmIC0tZ2l0IGEva3ZtLWxpbnV4LWhlYWRlcnMtVXBkYXRlLXRvLUxpbnV4LXY2LjE5LXJj MS5wYXRjaCBiL2t2bS1saW51eC1oZWFkZXJzLVVwZGF0ZS10by1MaW51eC12Ni4xOS1yYzEucGF0 Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjFiN2NkNAotLS0gL2Rldi9u dWxsCisrKyBiL2t2bS1saW51eC1oZWFkZXJzLVVwZGF0ZS10by1MaW51eC12Ni4xOS1yYzEucGF0 Y2gKQEAgLTAsMCArMSw5ODQgQEAKK0Zyb20gNWM3ZTk5YTE2NmFjNWQwYzVjYTVlZjI3ZGMyODcz ZjA5ZDNiYjAwZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFNoYW1lZXIgS29sb3Ro dW0gPHNrb2xvdGh1bXRob0BudmlkaWEuY29tPgorRGF0ZTogV2VkLCAyMSBKYW4gMjAyNiAxMTo0 MTowOSArMDAwMAorU3ViamVjdDogW1BBVENIIDExNC8xMTZdIGxpbnV4LWhlYWRlcnM6IFVwZGF0 ZSB0byBMaW51eCB2Ni4xOS1yYzEKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRl eHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQK KworUkgtQXV0aG9yOiBSb2RvbGZvIFZpY2sgPE5vbmU+CitSSC1NZXJnZVJlcXVlc3Q6IDQ4Njog QWRkIERNQUJVRiBzdXBwb3J0CitSSC1KaXJhOiBSSEVMLTEzODQ5NAorUkgtQWNrZWQtYnk6IEPD qWRyaWMgTGUgR29hdGVyIDxjbGdAcmVkaGF0LmNvbT4KK1JILUFja2VkLWJ5OiBFcmljIEF1Z2Vy IDxlcmljLmF1Z2VyQHJlZGhhdC5jb20+CitSSC1Db21taXQ6IFs5OC8xMDBdIDVmY2IxMzc5ZGFj MDhmY2ZkOGI2ODY0MDRiNjE2YTE5NzkxMWI0YjQgKHJvdmljazEvcWVtdS1rdm0pCisKK01haW5s eSBmb3IgYWRkaW5nIHN1cHBvcnQgZm9yIFZGSU8gRE1BQlVGLiBXaGlsZSBhdCBpdCwgdXBkYXRl IGFsbAoraGVhZGVycy4KKworVGhlIGhlYWRlciB1cGRhdGUgYnJlYWtzIHZpcnRpby1uZXQgZHVl IHRvIHZpcnRpb19uZXRfaGRyX3YxX2hhc2gKK2NoYW5nZXMuIEluY2x1ZGUgdGhlIHZpcnRpby1u ZXQgY2hhbmdlcyB0byBhdm9pZCBidWlsZCBhbmQgYmlzZWN0CitmYWlsdXJlcy4KKworQ2M6IE1p Y2hhZWwgUy4gVHNpcmtpbiA8bXN0QHJlZGhhdC5jb20+CitDYzogSmFzb24gV2FuZyA8amFzb3dh bmdAcmVkaGF0LmNvbT4KK1Rlc3RlZC1ieTogTmljb2xpbiBDaGVuIDxuaWNvbGluY0BudmlkaWEu Y29tPgorUmV2aWV3ZWQtYnk6IEPDqWRyaWMgTGUgR29hdGVyIDxjbGdAcmVkaGF0LmNvbT4KK1Np Z25lZC1vZmYtYnk6IFNoYW1lZXIgS29sb3RodW0gPHNrb2xvdGh1bXRob0BudmlkaWEuY29tPgor UmV2aWV3ZWQtYnk6IEVyaWMgQXVnZXIgPGVyaWMuYXVnZXJAcmVkaGF0LmNvbT4KK1Rlc3RlZC1i eTogRXJpYyBBdWdlciA8ZXJpYy5hdWdlckByZWRoYXQuY29tPgorUmV2aWV3ZWQtYnk6IE1pY2hh ZWwgUy4gVHNpcmtpbiA8bXN0QHJlZGhhdC5jb20+CitMaW5rOiBodHRwczovL2xvcmUua2VybmVs Lm9yZy9xZW11LWRldmVsLzIwMjYwMTIxMTE0MTExLjM0MDQ1LTItc2tvbG90aHVtdGhvQG52aWRp YS5jb20KK1NpZ25lZC1vZmYtYnk6IEPDqWRyaWMgTGUgR29hdGVyIDxjbGdAcmVkaGF0LmNvbT4K KyhjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDQ5ZjZiOTNkMDc1MmI5MWMyMzNhZTgwOTdkMDBh OTg2Y2I4NDgyYzMpCitTaWduZWQtb2ZmLWJ5OiBDw6lkcmljIExlIEdvYXRlciA8Y2xnQHJlZGhh dC5jb20+CistLS0KKyBody9uZXQvdmlydGlvLW5ldC5jICAgICAgICAgICAgICAgICAgICAgICAg ICAgfCAgMTEgKy0KKyBpbmNsdWRlL3N0YW5kYXJkLWhlYWRlcnMvZHJtL2RybV9mb3VyY2MuaCAg ICAgfCAgMjUgKystLQorIGluY2x1ZGUvc3RhbmRhcmQtaGVhZGVycy9saW51eC9ldGh0b29sLmgg ICAgICB8ICAgNSArCisgLi4uL2xpbnV4L2lucHV0LWV2ZW50LWNvZGVzLmggICAgICAgICAgICAg ICAgIHwgIDE0ICsrLQorIGluY2x1ZGUvc3RhbmRhcmQtaGVhZGVycy9saW51eC9wY2lfcmVncy5o ICAgICB8ICA4OSArKysrKysrKysrKysrKworIGluY2x1ZGUvc3RhbmRhcmQtaGVhZGVycy9saW51 eC92aXJ0aW9fbmV0LmggICB8ICAgMyArLQorIGluY2x1ZGUvc3RhbmRhcmQtaGVhZGVycy9saW51 eC92aXJ0aW9fcGNpLmggICB8ICAgMiArLQorIGxpbnV4LWhlYWRlcnMvYXNtLWFybTY0L2t2bS5o ICAgICAgICAgICAgICAgICB8ICAgMiArLQorIGxpbnV4LWhlYWRlcnMvYXNtLWFybTY0L3VuaXN0 ZF82NC5oICAgICAgICAgICB8ICAgMSArCisgbGludXgtaGVhZGVycy9hc20tZ2VuZXJpYy91bmlz dGQuaCAgICAgICAgICAgIHwgICA0ICstCisgbGludXgtaGVhZGVycy9hc20tbG9vbmdhcmNoL2t2 bS5oICAgICAgICAgICAgIHwgICAxICsKKyBsaW51eC1oZWFkZXJzL2FzbS1sb29uZ2FyY2gvdW5p c3RkLmggICAgICAgICAgfCAgIDYgKworIGxpbnV4LWhlYWRlcnMvYXNtLWxvb25nYXJjaC91bmlz dGRfNjQuaCAgICAgICB8ICAgMSArCisgbGludXgtaGVhZGVycy9hc20tbWlwcy91bmlzdGRfbjMy LmggICAgICAgICAgIHwgICAxICsKKyBsaW51eC1oZWFkZXJzL2FzbS1taXBzL3VuaXN0ZF9uNjQu aCAgICAgICAgICAgfCAgIDEgKworIGxpbnV4LWhlYWRlcnMvYXNtLW1pcHMvdW5pc3RkX28zMi5o ICAgICAgICAgICB8ICAgMSArCisgbGludXgtaGVhZGVycy9hc20tcG93ZXJwYy91bmlzdGRfMzIu aCAgICAgICAgIHwgICAxICsKKyBsaW51eC1oZWFkZXJzL2FzbS1wb3dlcnBjL3VuaXN0ZF82NC5o ICAgICAgICAgfCAgIDEgKworIGxpbnV4LWhlYWRlcnMvYXNtLXJpc2N2L2t2bS5oICAgICAgICAg ICAgICAgICB8ICAgMyArCisgbGludXgtaGVhZGVycy9hc20tcmlzY3YvdW5pc3RkXzMyLmggICAg ICAgICAgIHwgICAxICsKKyBsaW51eC1oZWFkZXJzL2FzbS1yaXNjdi91bmlzdGRfNjQuaCAgICAg ICAgICAgfCAgIDEgKworIGxpbnV4LWhlYWRlcnMvYXNtLXMzOTAvYml0c3BlcmxvbmcuaCAgICAg ICAgICB8ICAgNCAtCisgbGludXgtaGVhZGVycy9hc20tczM5MC91bmlzdGQuaCAgICAgICAgICAg ICAgIHwgICA0IC0KKyBsaW51eC1oZWFkZXJzL2FzbS1zMzkwL3VuaXN0ZF82NC5oICAgICAgICAg ICAgfCAgIDkgKy0KKyBsaW51eC1oZWFkZXJzL2FzbS14ODYva3ZtLmggICAgICAgICAgICAgICAg ICAgfCAgIDEgKworIGxpbnV4LWhlYWRlcnMvYXNtLXg4Ni91bmlzdGRfMzIuaCAgICAgICAgICAg ICB8ICAgMSArCisgbGludXgtaGVhZGVycy9hc20teDg2L3VuaXN0ZF82NC5oICAgICAgICAgICAg IHwgICAxICsKKyBsaW51eC1oZWFkZXJzL2FzbS14ODYvdW5pc3RkX3gzMi5oICAgICAgICAgICAg fCAgIDEgKworIGxpbnV4LWhlYWRlcnMvbGludXgvaW9tbXVmZC5oICAgICAgICAgICAgICAgICB8 ICAxMCArKworIGxpbnV4LWhlYWRlcnMvbGludXgva3ZtLmggICAgICAgICAgICAgICAgICAgICB8 ICAxMSArKworIGxpbnV4LWhlYWRlcnMvbGludXgvbXNodi5oICAgICAgICAgICAgICAgICAgICB8 IDExNiArKysrKysrKysrKysrKysrKy0KKyBsaW51eC1oZWFkZXJzL2xpbnV4L3BzcC1zZXYuaCAg ICAgICAgICAgICAgICAgfCAgNjYgKysrKysrLS0tLQorIGxpbnV4LWhlYWRlcnMvbGludXgvdmZp by5oICAgICAgICAgICAgICAgICAgICB8ICAyOCArKysrKworIDMzIGZpbGVzIGNoYW5nZWQsIDM3 MCBpbnNlcnRpb25zKCspLCA1NiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2h3L25ldC92 aXJ0aW8tbmV0LmMgYi9ody9uZXQvdmlydGlvLW5ldC5jCitpbmRleCBmMDIxNjYzZjkyLi4xNmU3 NDhjMmM1IDEwMDY0NAorLS0tIGEvaHcvbmV0L3ZpcnRpby1uZXQuYworKysrIGIvaHcvbmV0L3Zp cnRpby1uZXQuYworQEAgLTE4NzUsNyArMTg3NSw4IEBAIHN0YXRpYyBpbnQgdmlydGlvX25ldF9w cm9jZXNzX3JzcyhOZXRDbGllbnRTdGF0ZSAqbmMsIGNvbnN0IHVpbnQ4X3QgKmJ1ZiwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuLT5yc3NfZGF0YS5ydW50 aW1lX2hhc2hfdHlwZXMpOworICAgICBpZiAobmV0X2hhc2hfdHlwZSA+IE5ldFBrdFJzc0lwVjZV ZHBFeCkgeworICAgICAgICAgaWYgKG4tPnJzc19kYXRhLnBvcHVsYXRlX2hhc2gpIHsKKy0gICAg ICAgICAgICBoZHItPmhhc2hfdmFsdWUgPSBWSVJUSU9fTkVUX0hBU0hfUkVQT1JUX05PTkU7Cisr ICAgICAgICAgICAgaGRyLT5oYXNoX3ZhbHVlX2xvID0gVklSVElPX05FVF9IQVNIX1JFUE9SVF9O T05FOworKyAgICAgICAgICAgIGhkci0+aGFzaF92YWx1ZV9oaSA9IFZJUlRJT19ORVRfSEFTSF9S RVBPUlRfTk9ORTsKKyAgICAgICAgICAgICBoZHItPmhhc2hfcmVwb3J0ID0gMDsKKyAgICAgICAg IH0KKyAgICAgICAgIHJldHVybiBuLT5yc3NfZGF0YS5yZWRpcmVjdCA/IG4tPnJzc19kYXRhLmRl ZmF1bHRfcXVldWUgOiAtMTsKK0BAIC0xODg0LDcgKzE4ODUsOCBAQCBzdGF0aWMgaW50IHZpcnRp b19uZXRfcHJvY2Vzc19yc3MoTmV0Q2xpZW50U3RhdGUgKm5jLCBjb25zdCB1aW50OF90ICpidWYs CisgICAgIGhhc2ggPSBuZXRfcnhfcGt0X2NhbGNfcnNzX2hhc2gocGt0LCBuZXRfaGFzaF90eXBl LCBuLT5yc3NfZGF0YS5rZXkpOworIAorICAgICBpZiAobi0+cnNzX2RhdGEucG9wdWxhdGVfaGFz aCkgeworLSAgICAgICAgaGRyLT5oYXNoX3ZhbHVlID0gaGFzaDsKKysgICAgICAgIGhkci0+aGFz aF92YWx1ZV9sbyA9IGNwdV90b19sZTE2KGhhc2ggJiAweGZmZmYpOworKyAgICAgICAgaGRyLT5o YXNoX3ZhbHVlX2hpID0gY3B1X3RvX2xlMTYoKGhhc2ggPj4gMTYpICYgMHhmZmZmKTsKKyAgICAg ICAgIGhkci0+aGFzaF9yZXBvcnQgPSByZXBvcnRzW25ldF9oYXNoX3R5cGVdOworICAgICB9Cisg CitAQCAtMTk4NiwxMCArMTk4OCwxMSBAQCBzdGF0aWMgc3NpemVfdCB2aXJ0aW9fbmV0X3JlY2Vp dmVfcmN1KE5ldENsaWVudFN0YXRlICpuYywgY29uc3QgdWludDhfdCAqYnVmLAorIAorICAgICAg ICAgICAgIHJlY2VpdmVfaGVhZGVyKG4sIHNnLCBlbGVtLT5pbl9udW0sIGJ1Ziwgc2l6ZSk7Cisg ICAgICAgICAgICAgaWYgKG4tPnJzc19kYXRhLnBvcHVsYXRlX2hhc2gpIHsKKy0gICAgICAgICAg ICAgICAgb2Zmc2V0ID0gb2Zmc2V0b2YodHlwZW9mKGV4dHJhX2hkciksIGhhc2hfdmFsdWUpOwor KyAgICAgICAgICAgICAgICBvZmZzZXQgPSBvZmZzZXRvZih0eXBlb2YoZXh0cmFfaGRyKSwgaGFz aF92YWx1ZV9sbyk7CisgICAgICAgICAgICAgICAgIGlvdl9mcm9tX2J1ZihzZywgZWxlbS0+aW5f bnVtLCBvZmZzZXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2hhciAqKSZleHRy YV9oZHIgKyBvZmZzZXQsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YoZXh0 cmFfaGRyLmhhc2hfdmFsdWUpICsKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVv ZihleHRyYV9oZHIuaGFzaF92YWx1ZV9sbykgKworKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgc2l6ZW9mKGV4dHJhX2hkci5oYXNoX3ZhbHVlX2hpKSArCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBzaXplb2YoZXh0cmFfaGRyLmhhc2hfcmVwb3J0KSk7CisgICAgICAgICAgICAg fQorICAgICAgICAgICAgIG9mZnNldCA9IG4tPmhvc3RfaGRyX2xlbjsKK2RpZmYgLS1naXQgYS9p bmNsdWRlL3N0YW5kYXJkLWhlYWRlcnMvZHJtL2RybV9mb3VyY2MuaCBiL2luY2x1ZGUvc3RhbmRh cmQtaGVhZGVycy9kcm0vZHJtX2ZvdXJjYy5oCitpbmRleCBjZWYwNzdkZmIzLi5iMzllMTk3Y2M3 IDEwMDY0NAorLS0tIGEvaW5jbHVkZS9zdGFuZGFyZC1oZWFkZXJzL2RybS9kcm1fZm91cmNjLmgK KysrKyBiL2luY2x1ZGUvc3RhbmRhcmQtaGVhZGVycy9kcm0vZHJtX2ZvdXJjYy5oCitAQCAtOTc4 LDE0ICs5NzgsMjAgQEAgZXh0ZXJuICJDIiB7CisgICogICAgICAgICAgICAgICAyID0gR29iIEhl aWdodCA4LCBUdXJpbmcrIFBhZ2UgS2luZCBtYXBwaW5nCisgICogICAgICAgICAgICAgICAzID0g UmVzZXJ2ZWQgZm9yIGZ1dHVyZSB1c2UuCisgICoKKy0gKiAyMjoyMiBzICAgICBTZWN0b3IgbGF5 b3V0LiAgT24gVGVncmEgR1BVcyBwcmlvciB0byBYYXZpZXIsIHRoZXJlIGlzIGEgZnVydGhlcgor LSAqICAgICAgICAgICAgIGJpdCByZW1hcHBpbmcgc3RlcCB0aGF0IG9jY3VycyBhdCBhbiBldmVu IGxvd2VyIGxldmVsIHRoYW4gdGhlCistICogICAgICAgICAgICAgcGFnZSBraW5kIGFuZCBibG9j ayBsaW5lYXIgc3dpenpsZXMuICBUaGlzIGNhdXNlcyB0aGUgbGF5b3V0IG9mCistICogICAgICAg ICAgICAgc3VyZmFjZXMgbWFwcGVkIGluIHRob3NlIFNPQydzIEdQVXMgdG8gYmUgaW5jb21wYXRp YmxlIHdpdGggdGhlCistICogICAgICAgICAgICAgZXF1aXZhbGVudCBtYXBwaW5nIG9uIG90aGVy IEdQVXMgaW4gdGhlIHNhbWUgc3lzdGVtLgorLSAqCistICogICAgICAgICAgICAgICAwID0gVGVn cmEgSzEgLSBUZWdyYSBQYXJrZXIvVFgyIExheW91dC4KKy0gKiAgICAgICAgICAgICAgIDEgPSBE ZXNrdG9wIEdQVSBhbmQgVGVncmEgWGF2aWVyKyBMYXlvdXQKKysgKiAyMjoyMiBzICAgICBTZWN0 b3IgbGF5b3V0LiAgVGhlcmUgaXMgYSBmdXJ0aGVyIGJpdCByZW1hcHBpbmcgc3RlcCB0aGF0IG9j Y3VycworKyAqIDI2OjI3ICAgICAgIGF0IGFuIGV2ZW4gbG93ZXIgbGV2ZWwgdGhhbiB0aGUgcGFn ZSBraW5kIGFuZCBibG9jayBsaW5lYXIKKysgKiAgICAgICAgICAgICBzd2l6emxlcy4gIFRoaXMg Y2F1c2VzIHRoZSBiaXQgYXJyYW5nZW1lbnQgb2Ygc3VyZmFjZXMgaW4gbWVtb3J5CisrICogICAg ICAgICAgICAgdG8gZGlmZmVyIHN1YnRseSwgYW5kIHByZXZlbnRzIGRpcmVjdCBzaGFyaW5nIG9m IHN1cmZhY2VzIGJldHdlZW4KKysgKiAgICAgICAgICAgICBHUFVzIHdpdGggZGlmZmVyZW50IGxh eW91dHMuCisrICoKKysgKiAgICAgICAgICAgICAgIDAgPSBUZWdyYSBLMSAtIFRlZ3JhIFBhcmtl ci9UWDIgTGF5b3V0CisrICogICAgICAgICAgICAgICAxID0gUHJlLUdCMjB4LCBHQjIweCAzMisg YnBwLCBHQjEwLCBUZWdyYSBYYXZpZXItT3JpbiBMYXlvdXQKKysgKiAgICAgICAgICAgICAgIDIg PSBHQjIweChCbGFja3dlbGwgMikrIDggYnBwIHN1cmZhY2UgbGF5b3V0CisrICogICAgICAgICAg ICAgICAzID0gR0IyMHgoQmxhY2t3ZWxsIDIpKyAxNiBicHAgc3VyZmFjZSBsYXlvdXQKKysgKiAg ICAgICAgICAgICAgIDQgPSBSZXNlcnZlZCBmb3IgZnV0dXJlIHVzZS4KKysgKiAgICAgICAgICAg ICAgIDUgPSBSZXNlcnZlZCBmb3IgZnV0dXJlIHVzZS4KKysgKiAgICAgICAgICAgICAgIDYgPSBS ZXNlcnZlZCBmb3IgZnV0dXJlIHVzZS4KKysgKiAgICAgICAgICAgICAgIDcgPSBSZXNlcnZlZCBm b3IgZnV0dXJlIHVzZS4KKyAgKgorICAqIDI1OjIzIGMgICAgIExvc3NsZXNzIEZyYW1lYnVmZmVy IENvbXByZXNzaW9uIHR5cGUuCisgICoKK0BAIC0xMDAwLDcgKzEwMDYsNyBAQCBleHRlcm4gIkMi IHsKKyAgKiAgICAgICAgICAgICAgIDYgPSBSZXNlcnZlZCBmb3IgZnV0dXJlIHVzZQorICAqICAg ICAgICAgICAgICAgNyA9IFJlc2VydmVkIGZvciBmdXR1cmUgdXNlCisgICoKKy0gKiA1NToyNSAt ICAgICBSZXNlcnZlZCBmb3IgZnV0dXJlIHVzZS4gIE11c3QgYmUgemVyby4KKysgKiA1NToyOCAt ICAgICBSZXNlcnZlZCBmb3IgZnV0dXJlIHVzZS4gIE11c3QgYmUgemVyby4KKyAgKi8KKyAjZGVm aW5lIERSTV9GT1JNQVRfTU9EX05WSURJQV9CTE9DS19MSU5FQVJfMkQoYywgcywgZywgaywgaCkg XAorIAlmb3VyY2NfbW9kX2NvZGUoTlZJRElBLCAoMHgxMCB8IFwKK0BAIC0xMDA4LDYgKzEwMTQs NyBAQCBleHRlcm4gIkMiIHsKKyAJCQkJICgoKGspICYgMHhmZikgPDwgMTIpIHwgXAorIAkJCQkg KCgoZykgJiAweDMpIDw8IDIwKSB8IFwKKyAJCQkJICgoKHMpICYgMHgxKSA8PCAyMikgfCBcCisr CQkJCSAoKChzKSAmIDB4NikgPDwgMjUpIHwgXAorIAkJCQkgKCgoYykgJiAweDcpIDw8IDIzKSkp CisgCisgLyogVG8gZ3JhbmRmYXRoZXIgaW4gcHJpb3IgYmxvY2sgbGluZWFyIGZvcm1hdCBtb2Rp ZmllcnMgdG8gdGhlIGFib3ZlIGxheW91dCwKK2RpZmYgLS1naXQgYS9pbmNsdWRlL3N0YW5kYXJk LWhlYWRlcnMvbGludXgvZXRodG9vbC5oIGIvaW5jbHVkZS9zdGFuZGFyZC1oZWFkZXJzL2xpbnV4 L2V0aHRvb2wuaAoraW5kZXggZGMyNDUxMmQyOC4uZDBmN2E2M2YxMCAxMDA2NDQKKy0tLSBhL2lu Y2x1ZGUvc3RhbmRhcmQtaGVhZGVycy9saW51eC9ldGh0b29sLmgKKysrKyBiL2luY2x1ZGUvc3Rh bmRhcmQtaGVhZGVycy9saW51eC9ldGh0b29sLmgKK0BAIC0yMDc3LDYgKzIwNzcsMTAgQEAgZW51 bSBldGh0b29sX2xpbmtfbW9kZV9iaXRfaW5kaWNlcyB7CisgCUVUSFRPT0xfTElOS19NT0RFXzgw MDAwMGJhc2VEUjRfMl9GdWxsX0JJVAkgPSAxMTgsCisgCUVUSFRPT0xfTElOS19NT0RFXzgwMDAw MGJhc2VTUjRfRnVsbF9CSVQJID0gMTE5LAorIAlFVEhUT09MX0xJTktfTU9ERV84MDAwMDBiYXNl VlI0X0Z1bGxfQklUCSA9IDEyMCwKKysJRVRIVE9PTF9MSU5LX01PREVfMTYwMDAwMGJhc2VDUjhf RnVsbF9CSVQJID0gMTIxLAorKwlFVEhUT09MX0xJTktfTU9ERV8xNjAwMDAwYmFzZUtSOF9GdWxs X0JJVAkgPSAxMjIsCisrCUVUSFRPT0xfTElOS19NT0RFXzE2MDAwMDBiYXNlRFI4X0Z1bGxfQklU CSA9IDEyMywKKysJRVRIVE9PTF9MSU5LX01PREVfMTYwMDAwMGJhc2VEUjhfMl9GdWxsX0JJVAkg PSAxMjQsCisgCisgCS8qIG11c3QgYmUgbGFzdCBlbnRyeSAqLworIAlfX0VUSFRPT0xfTElOS19N T0RFX01BU0tfTkJJVFMKK0BAIC0yMTkwLDYgKzIxOTQsNyBAQCBlbnVtIGV0aHRvb2xfbGlua19t b2RlX2JpdF9pbmRpY2VzIHsKKyAjZGVmaW5lIFNQRUVEXzIwMDAwMAkJMjAwMDAwCisgI2RlZmlu ZSBTUEVFRF80MDAwMDAJCTQwMDAwMAorICNkZWZpbmUgU1BFRURfODAwMDAwCQk4MDAwMDAKKysj ZGVmaW5lIFNQRUVEXzE2MDAwMDAJCTE2MDAwMDAKKyAKKyAjZGVmaW5lIFNQRUVEX1VOS05PV04J CS0xCisgCitkaWZmIC0tZ2l0IGEvaW5jbHVkZS9zdGFuZGFyZC1oZWFkZXJzL2xpbnV4L2lucHV0 LWV2ZW50LWNvZGVzLmggYi9pbmNsdWRlL3N0YW5kYXJkLWhlYWRlcnMvbGludXgvaW5wdXQtZXZl bnQtY29kZXMuaAoraW5kZXggYzkxNGNjZDcyMy4uZWRlNzljNmFlNCAxMDA2NDQKKy0tLSBhL2lu Y2x1ZGUvc3RhbmRhcmQtaGVhZGVycy9saW51eC9pbnB1dC1ldmVudC1jb2Rlcy5oCisrKysgYi9p bmNsdWRlL3N0YW5kYXJkLWhlYWRlcnMvbGludXgvaW5wdXQtZXZlbnQtY29kZXMuaAorQEAgLTI3 LDcgKzI3LDcgQEAKKyAjZGVmaW5lIElOUFVUX1BST1BfVE9QQlVUVE9OUEFECQkweDA0CS8qIHNv ZnRidXR0b25zIGF0IHRvcCBvZiBwYWQgKi8KKyAjZGVmaW5lIElOUFVUX1BST1BfUE9JTlRJTkdf U1RJQ0sJMHgwNQkvKiBpcyBhIHBvaW50aW5nIHN0aWNrICovCisgI2RlZmluZSBJTlBVVF9QUk9Q X0FDQ0VMRVJPTUVURVIJMHgwNgkvKiBoYXMgYWNjZWxlcm9tZXRlciAqLworLSNkZWZpbmUgSU5Q VVRfUFJPUF9IQVBUSUNfVE9VQ0hQQUQJMHgwNwkvKiBpcyBhIGhhcHRpYyB0b3VjaHBhZCAqLwor KyNkZWZpbmUgSU5QVVRfUFJPUF9QUkVTU1VSRVBBRAkJMHgwNwkvKiBwcmVzc3VyZSB0cmlnZ2Vy cyBjbGlja3MgKi8KKyAKKyAjZGVmaW5lIElOUFVUX1BST1BfTUFYCQkJMHgxZgorICNkZWZpbmUg SU5QVVRfUFJPUF9DTlQJCQkoSU5QVVRfUFJPUF9NQVggKyAxKQorQEAgLTYzMSw2ICs2MzEsMTgg QEAKKyAjZGVmaW5lIEtFWV9CUklHSFRORVNTX01JTgkJMHgyNTAJLyogU2V0IEJyaWdodG5lc3Mg dG8gTWluaW11bSAqLworICNkZWZpbmUgS0VZX0JSSUdIVE5FU1NfTUFYCQkweDI1MQkvKiBTZXQg QnJpZ2h0bmVzcyB0byBNYXhpbXVtICovCisgCisrLyoKKysgKiBLZXljb2RlcyBmb3IgaG90a2V5 cyB0b2dnbGluZyB0aGUgZWxlY3Ryb25pYyBwcml2YWN5IHNjcmVlbiBmb3VuZCBvbiBzb21lCisr ICogbGFwdG9wcyBvbi9vZmYuIE5vdGUgd2hlbiB0aGUgZW1iZWRkZWQtY29udHJvbGxlciB0dXJu cyBvbi9vZmYgdGhlIGVwcml2YWN5CisrICogc2NyZWVuIGl0c2VsZiB0aGVuIHRoZSBzdGF0ZSBz aG91bGQgYmUgcmVwb3J0ZWQgdGhyb3VnaCBkcm0gY29ubmVjdGVyIHByb3BzOgorKyAqIGh0dHBz Oi8vd3d3Lmtlcm5lbC5vcmcvZG9jL2h0bWwvbGF0ZXN0L2dwdS9kcm0ta21zLmh0bWwjc3RhbmRh cmQtY29ubmVjdG9yLXByb3BlcnRpZXMKKysgKiBFeGNlcHQgd2hlbiBpbXBsZW1lbnRpbmcgdGhl IGRybSBjb25uZWN0ZXIgcHJvcGVydGllcyBBUEkgaXMgbm90IHBvc3NpYmxlCisrICogYmVjYXVz ZSBlLmcuIHRoZSBmaXJtd2FyZSBkb2VzIG5vdCBhbGxvdyBxdWVyeWluZyB0aGUgcHJlc2VuY2Ug YW5kL29yIHN0YXR1cworKyAqIG9mIHRoZSBlcHJpdmFjeSBzY3JlZW4gYXQgYm9vdC4KKysgKi8K KysjZGVmaW5lIEtFWV9FUFJJVkFDWV9TQ1JFRU5fT04JCTB4MjUyCisrI2RlZmluZSBLRVlfRVBS SVZBQ1lfU0NSRUVOX09GRgkJMHgyNTMKKysKKyAjZGVmaW5lIEtFWV9LQkRJTlBVVEFTU0lTVF9Q UkVWCQkweDI2MAorICNkZWZpbmUgS0VZX0tCRElOUFVUQVNTSVNUX05FWFQJCTB4MjYxCisgI2Rl ZmluZSBLRVlfS0JESU5QVVRBU1NJU1RfUFJFVkdST1VQCQkweDI2MgorZGlmZiAtLWdpdCBhL2lu Y2x1ZGUvc3RhbmRhcmQtaGVhZGVycy9saW51eC9wY2lfcmVncy5oIGIvaW5jbHVkZS9zdGFuZGFy ZC1oZWFkZXJzL2xpbnV4L3BjaV9yZWdzLmgKK2luZGV4IDA3ZTA2YWFmZWMuLjNhZGQ3NGFlMjUg MTAwNjQ0CistLS0gYS9pbmNsdWRlL3N0YW5kYXJkLWhlYWRlcnMvbGludXgvcGNpX3JlZ3MuaAor KysrIGIvaW5jbHVkZS9zdGFuZGFyZC1oZWFkZXJzL2xpbnV4L3BjaV9yZWdzLmgKK0BAIC01MDMs NiArNTAzLDcgQEAKKyAjZGVmaW5lICBQQ0lfRVhQX0RFVkNBUF9QV1JfVkFMCTB4MDNmYzAwMDAg LyogU2xvdCBQb3dlciBMaW1pdCBWYWx1ZSAqLworICNkZWZpbmUgIFBDSV9FWFBfREVWQ0FQX1BX Ul9TQ0wJMHgwYzAwMDAwMCAvKiBTbG90IFBvd2VyIExpbWl0IFNjYWxlICovCisgI2RlZmluZSAg UENJX0VYUF9ERVZDQVBfRkxSICAgICAweDEwMDAwMDAwIC8qIEZ1bmN0aW9uIExldmVsIFJlc2V0 ICovCisrI2RlZmluZSAgUENJX0VYUF9ERVZDQVBfVEVFICAgICAweDQwMDAwMDAwIC8qIFRFRSBJ L08gKFRESVNQKSBTdXBwb3J0ICovCisgI2RlZmluZSBQQ0lfRVhQX0RFVkNUTAkJMHgwOAkvKiBE ZXZpY2UgQ29udHJvbCAqLworICNkZWZpbmUgIFBDSV9FWFBfREVWQ1RMX0NFUkUJMHgwMDAxCS8q IENvcnJlY3RhYmxlIEVycm9yIFJlcG9ydGluZyBFbi4gKi8KKyAjZGVmaW5lICBQQ0lfRVhQX0RF VkNUTF9ORkVSRQkweDAwMDIJLyogTm9uLUZhdGFsIEVycm9yIFJlcG9ydGluZyBFbmFibGUgKi8K K0BAIC03NTQsNiArNzU1LDggQEAKKyAjZGVmaW5lIFBDSV9FWFRfQ0FQX0lEX05QRU0JMHgyOQkv KiBOYXRpdmUgUENJZSBFbmNsb3N1cmUgTWFuYWdlbWVudCAqLworICNkZWZpbmUgUENJX0VYVF9D QVBfSURfUExfMzJHVCAgMHgyQSAgICAvKiBQaHlzaWNhbCBMYXllciAzMi4wIEdUL3MgKi8KKyAj ZGVmaW5lIFBDSV9FWFRfQ0FQX0lEX0RPRQkweDJFCS8qIERhdGEgT2JqZWN0IEV4Y2hhbmdlICov CisrI2RlZmluZSBQQ0lfRVhUX0NBUF9JRF9ERVYzCTB4MkYJLyogRGV2aWNlIDMgQ2FwYWJpbGl0 eS9Db250cm9sL1N0YXR1cyAqLworKyNkZWZpbmUgUENJX0VYVF9DQVBfSURfSURFCTB4MzAgICAg LyogSW50ZWdyaXR5IGFuZCBEYXRhIEVuY3J5cHRpb24gKi8KKyAjZGVmaW5lIFBDSV9FWFRfQ0FQ X0lEX1BMXzY0R1QJMHgzMQkvKiBQaHlzaWNhbCBMYXllciA2NC4wIEdUL3MgKi8KKyAjZGVmaW5l IFBDSV9FWFRfQ0FQX0lEX01BWAlQQ0lfRVhUX0NBUF9JRF9QTF82NEdUCisgCitAQCAtMTI0NCw5 ICsxMjQ3LDk1IEBACisgLyogRGVwcmVjYXRlZCBvbGQgbmFtZSwgcmVwbGFjZWQgd2l0aCBQQ0lf RE9FX0RBVEFfT0JKRUNUX0RJU0NfUlNQXzNfVFlQRSAqLworICNkZWZpbmUgUENJX0RPRV9EQVRB X09CSkVDVF9ESVNDX1JTUF8zX1BST1RPQ09MCQlQQ0lfRE9FX0RBVEFfT0JKRUNUX0RJU0NfUlNQ XzNfVFlQRQorIAorKy8qIERldmljZSAzIEV4dGVuZGVkIENhcGFiaWxpdHkgKi8KKysjZGVmaW5l IFBDSV9ERVYzX0NBUAkJMHgwNAkvKiBEZXZpY2UgMyBDYXBhYmlsaXRpZXMgUmVnaXN0ZXIgKi8K KysjZGVmaW5lIFBDSV9ERVYzX0NUTAkJMHgwOAkvKiBEZXZpY2UgMyBDb250cm9sIFJlZ2lzdGVy ICovCisrI2RlZmluZSBQQ0lfREVWM19TVEEJCTB4MGMJLyogRGV2aWNlIDMgU3RhdHVzIFJlZ2lz dGVyICovCisrI2RlZmluZSAgUENJX0RFVjNfU1RBX1NFR01FTlQJMHg4CS8qIFNlZ21lbnQgQ2Fw dHVyZWQgKGVuZC10by1lbmQgZmxpdC1tb2RlIGRldGVjdGVkKSAqLworKworIC8qIENvbXB1dGUg RXhwcmVzcyBMaW5rIChDWEwgcjMuMSwgc2VjIDguMS41KSAqLworICNkZWZpbmUgUENJX0RWU0VD X0NYTF9QT1JUCQkJCTMKKyAjZGVmaW5lIFBDSV9EVlNFQ19DWExfUE9SVF9DVEwJCQkJMHgwYwor ICNkZWZpbmUgUENJX0RWU0VDX0NYTF9QT1JUX0NUTF9VTk1BU0tfU0JSCQkweDAwMDAwMDAxCisg CisrLyogSW50ZWdyaXR5IGFuZCBEYXRhIEVuY3J5cHRpb24gRXh0ZW5kZWQgQ2FwYWJpbGl0eSAq LworKyNkZWZpbmUgUENJX0lERV9DQVAJCQkweDA0CisrI2RlZmluZSAgUENJX0lERV9DQVBfTElO SwkJMHgxICAvKiBMaW5rIElERSBTdHJlYW0gU3VwcG9ydGVkICovCisrI2RlZmluZSAgUENJX0lE RV9DQVBfU0VMRUNUSVZFCQkweDIgIC8qIFNlbGVjdGl2ZSBJREUgU3RyZWFtcyBTdXBwb3J0ZWQg Ki8KKysjZGVmaW5lICBQQ0lfSURFX0NBUF9GTE9XVEhST1VHSAkweDQgIC8qIEZsb3ctVGhyb3Vn aCBJREUgU3RyZWFtIFN1cHBvcnRlZCAqLworKyNkZWZpbmUgIFBDSV9JREVfQ0FQX1BBUlRJQUxf SEVBREVSX0VOQyAweDggIC8qIFBhcnRpYWwgSGVhZGVyIEVuY3J5cHRpb24gU3VwcG9ydGVkICov CisrI2RlZmluZSAgUENJX0lERV9DQVBfQUdHUkVHQVRJT04JMHgxMCAvKiBBZ2dyZWdhdGlvbiBT dXBwb3J0ZWQgKi8KKysjZGVmaW5lICBQQ0lfSURFX0NBUF9QQ1JDCQkweDIwIC8qIFBDUkMgU3Vw cG9ydGVkICovCisrI2RlZmluZSAgUENJX0lERV9DQVBfSURFX0tNCQkweDQwIC8qIElERV9LTSBQ cm90b2NvbCBTdXBwb3J0ZWQgKi8KKysjZGVmaW5lICBQQ0lfSURFX0NBUF9TRUxfQ0ZHCQkweDgw IC8qIFNlbGVjdGl2ZSBJREUgZm9yIENvbmZpZyBSZXF1ZXN0IFN1cHBvcnQgKi8KKysjZGVmaW5l ICBQQ0lfSURFX0NBUF9BTEcJCV9fR0VOTUFTSygxMiwgOCkgLyogU3VwcG9ydGVkIEFsZ29yaXRo bXMgKi8KKysjZGVmaW5lICAgUENJX0lERV9DQVBfQUxHX0FFU19HQ01fMjU2CTAgICAgLyogQUVT LUdDTSAyNTYga2V5IHNpemUsIDk2YiBNQUMgKi8KKysjZGVmaW5lICBQQ0lfSURFX0NBUF9MSU5L X1RDX05VTQlfX0dFTk1BU0soMTUsIDEzKSAvKiBMaW5rIElERSBUQ3MgKi8KKysjZGVmaW5lICBQ Q0lfSURFX0NBUF9TRUxfTlVNCQlfX0dFTk1BU0soMjMsIDE2KSAvKiBTdXBwb3J0ZWQgU2VsZWN0 aXZlIElERSBTdHJlYW1zICovCisrI2RlZmluZSAgUENJX0lERV9DQVBfVEVFX0xJTUlURUQJMHgx MDAwMDAwIC8qIFRFRS1MaW1pdGVkIFN0cmVhbSBTdXBwb3J0ZWQgKi8KKysjZGVmaW5lIFBDSV9J REVfQ1RMCQkJMHgwOAorKyNkZWZpbmUgIFBDSV9JREVfQ1RMX0ZMT1dUSFJPVUdIX0lERQkweDQg IC8qIEZsb3ctVGhyb3VnaCBJREUgU3RyZWFtIEVuYWJsZWQgKi8KKysKKysjZGVmaW5lIFBDSV9J REVfTElOS19TVFJFQU1fMAkJMHhjICAvKiBGaXJzdCBMaW5rIFN0cmVhbSBSZWdpc3RlciBCbG9j ayAqLworKyNkZWZpbmUgIFBDSV9JREVfTElOS19CTE9DS19TSVpFCTgKKysvKiBMaW5rIElERSBT dHJlYW0gYmxvY2ssIHVwIHRvIFBDSV9JREVfQ0FQX0xJTktfVENfTlVNICovCisrI2RlZmluZSBQ Q0lfSURFX0xJTktfQ1RMXzAJCTB4MDAJCSAgLyogRmlyc3QgTGluayBDb250cm9sIFJlZ2lzdGVy IE9mZnNldCBpbiBibG9jayAqLworKyNkZWZpbmUgIFBDSV9JREVfTElOS19DVExfRU4JCTB4MQkJ ICAvKiBMaW5rIElERSBTdHJlYW0gRW5hYmxlICovCisrI2RlZmluZSAgUENJX0lERV9MSU5LX0NU TF9UWF9BR0dSX05QUglfX0dFTk1BU0soMywgMikJICAvKiBUeCBBZ2dyZWdhdGlvbiBNb2RlIE5Q UiAqLworKyNkZWZpbmUgIFBDSV9JREVfTElOS19DVExfVFhfQUdHUl9QUglfX0dFTk1BU0soNSwg NCkJICAvKiBUeCBBZ2dyZWdhdGlvbiBNb2RlIFBSICovCisrI2RlZmluZSAgUENJX0lERV9MSU5L X0NUTF9UWF9BR0dSX0NQTAlfX0dFTk1BU0soNywgNikJICAvKiBUeCBBZ2dyZWdhdGlvbiBNb2Rl IENQTCAqLworKyNkZWZpbmUgIFBDSV9JREVfTElOS19DVExfUENSQ19FTgkweDEwMAkJICAvKiBQ Q1JDIEVuYWJsZSAqLworKyNkZWZpbmUgIFBDSV9JREVfTElOS19DVExfUEFSVF9FTkMJX19HRU5N QVNLKDEzLCAxMCkgLyogUGFydGlhbCBIZWFkZXIgRW5jcnlwdGlvbiBNb2RlICovCisrI2RlZmlu ZSAgUENJX0lERV9MSU5LX0NUTF9BTEcJCV9fR0VOTUFTSygxOCwgMTQpIC8qIFNlbGVjdGlvbiBm cm9tIFBDSV9JREVfQ0FQX0FMRyAqLworKyNkZWZpbmUgIFBDSV9JREVfTElOS19DVExfVEMJCV9f R0VOTUFTSygyMSwgMTkpIC8qIFRyYWZmaWMgQ2xhc3MgKi8KKysjZGVmaW5lICBQQ0lfSURFX0xJ TktfQ1RMX0lECQlfX0dFTk1BU0soMzEsIDI0KSAvKiBTdHJlYW0gSUQgKi8KKysjZGVmaW5lIFBD SV9JREVfTElOS19TVFNfMAkJMHg0ICAgICAgICAgICAgICAgLyogRmlyc3QgTGluayBTdGF0dXMg UmVnaXN0ZXIgT2Zmc2V0IGluIGJsb2NrICovCisrI2RlZmluZSAgUENJX0lERV9MSU5LX1NUU19T VEFURQkJX19HRU5NQVNLKDMsIDApICAgLyogTGluayBJREUgU3RyZWFtIFN0YXRlICovCisrI2Rl ZmluZSAgUENJX0lERV9MSU5LX1NUU19JREVfRkFJTAkweDgwMDAwMDAwCSAgLyogSURFIGZhaWwg bWVzc2FnZSByZWNlaXZlZCAqLworKworKy8qIFNlbGVjdGl2ZSBJREUgU3RyZWFtIGJsb2NrLCB1 cCB0byBQQ0lfSURFX0NBUF9TRUxFQ1RJVkVfU1RSRUFNU19OVU0gKi8KKysvKiBTZWxlY3RpdmUg SURFIFN0cmVhbSBDYXBhYmlsaXR5IFJlZ2lzdGVyICovCisrI2RlZmluZSAgUENJX0lERV9TRUxf Q0FQCQkweDAwCisrI2RlZmluZSAgIFBDSV9JREVfU0VMX0NBUF9BU1NPQ19OVU0JX19HRU5NQVNL KDMsIDApCisrLyogU2VsZWN0aXZlIElERSBTdHJlYW0gQ29udHJvbCBSZWdpc3RlciAqLworKyNk ZWZpbmUgIFBDSV9JREVfU0VMX0NUTAkJMHgwNAorKyNkZWZpbmUgICBQQ0lfSURFX1NFTF9DVExf RU4JCTB4MQkJICAvKiBTZWxlY3RpdmUgSURFIFN0cmVhbSBFbmFibGUgKi8KKysjZGVmaW5lICAg UENJX0lERV9TRUxfQ1RMX1RYX0FHR1JfTlBSCV9fR0VOTUFTSygzLCAyKQkgIC8qIFR4IEFnZ3Jl Z2F0aW9uIE1vZGUgTlBSICovCisrI2RlZmluZSAgIFBDSV9JREVfU0VMX0NUTF9UWF9BR0dSX1BS CV9fR0VOTUFTSyg1LCA0KSAgIC8qIFR4IEFnZ3JlZ2F0aW9uIE1vZGUgUFIgKi8KKysjZGVmaW5l ICAgUENJX0lERV9TRUxfQ1RMX1RYX0FHR1JfQ1BMCV9fR0VOTUFTSyg3LCA2KQkgIC8qIFR4IEFn Z3JlZ2F0aW9uIE1vZGUgQ1BMICovCisrI2RlZmluZSAgIFBDSV9JREVfU0VMX0NUTF9QQ1JDX0VO CTB4MTAwCQkgIC8qIFBDUkMgRW5hYmxlICovCisrI2RlZmluZSAgIFBDSV9JREVfU0VMX0NUTF9D RkdfRU4JMHgyMDAJCSAgLyogU2VsZWN0aXZlIElERSBmb3IgQ29uZmlndXJhdGlvbiBSZXF1ZXN0 cyAqLworKyNkZWZpbmUgICBQQ0lfSURFX1NFTF9DVExfUEFSVF9FTkMJX19HRU5NQVNLKDEzLCAx MCkgLyogUGFydGlhbCBIZWFkZXIgRW5jcnlwdGlvbiBNb2RlICovCisrI2RlZmluZSAgIFBDSV9J REVfU0VMX0NUTF9BTEcJCV9fR0VOTUFTSygxOCwgMTQpIC8qIFNlbGVjdGlvbiBmcm9tIFBDSV9J REVfQ0FQX0FMRyAqLworKyNkZWZpbmUgICBQQ0lfSURFX1NFTF9DVExfVEMJCV9fR0VOTUFTSygy MSwgMTkpIC8qIFRyYWZmaWMgQ2xhc3MgKi8KKysjZGVmaW5lICAgUENJX0lERV9TRUxfQ1RMX0RF RkFVTFQJMHg0MDAwMDAJICAvKiBEZWZhdWx0IFN0cmVhbSAqLworKyNkZWZpbmUgICBQQ0lfSURF X1NFTF9DVExfVEVFX0xJTUlURUQJMHg4MDAwMDAJICAvKiBURUUtTGltaXRlZCBTdHJlYW0gKi8K KysjZGVmaW5lICAgUENJX0lERV9TRUxfQ1RMX0lECQlfX0dFTk1BU0soMzEsIDI0KSAvKiBTdHJl YW0gSUQgKi8KKysjZGVmaW5lICAgUENJX0lERV9TRUxfQ1RMX0lEX01BWAkyNTUKKysvKiBTZWxl Y3RpdmUgSURFIFN0cmVhbSBTdGF0dXMgUmVnaXN0ZXIgKi8KKysjZGVmaW5lICBQQ0lfSURFX1NF TF9TVFMJCSAweDA4CisrI2RlZmluZSAgIFBDSV9JREVfU0VMX1NUU19TVEFURQkJIF9fR0VOTUFT SygzLCAwKSAvKiBTZWxlY3RpdmUgSURFIFN0cmVhbSBTdGF0ZSAqLworKyNkZWZpbmUgICBQQ0lf SURFX1NFTF9TVFNfU1RBVEVfSU5TRUNVUkUgMAorKyNkZWZpbmUgICBQQ0lfSURFX1NFTF9TVFNf U1RBVEVfU0VDVVJFCSAyCisrI2RlZmluZSAgIFBDSV9JREVfU0VMX1NUU19JREVfRkFJTAkgMHg4 MDAwMDAwMAkgLyogSURFIGZhaWwgbWVzc2FnZSByZWNlaXZlZCAqLworKy8qIElERSBSSUQgQXNz b2NpYXRpb24gUmVnaXN0ZXIgMSAqLworKyNkZWZpbmUgIFBDSV9JREVfU0VMX1JJRF8xCQkgMHgw YworKyNkZWZpbmUgICBQQ0lfSURFX1NFTF9SSURfMV9MSU1JVAkgX19HRU5NQVNLKDIzLCA4KQor Ky8qIElERSBSSUQgQXNzb2NpYXRpb24gUmVnaXN0ZXIgMiAqLworKyNkZWZpbmUgIFBDSV9JREVf U0VMX1JJRF8yCQkweDEwCisrI2RlZmluZSAgIFBDSV9JREVfU0VMX1JJRF8yX1ZBTElECTB4MQor KyNkZWZpbmUgICBQQ0lfSURFX1NFTF9SSURfMl9CQVNFCV9fR0VOTUFTSygyMywgOCkKKysjZGVm aW5lICAgUENJX0lERV9TRUxfUklEXzJfU0VHCQlfX0dFTk1BU0soMzEsIDI0KQorKy8qIFNlbGVj dGl2ZSBJREUgQWRkcmVzcyBBc3NvY2lhdGlvbiBSZWdpc3RlciBCbG9jaywgdXAgdG8gUENJX0lE RV9TRUxfQ0FQX0FTU09DX05VTSAqLworKyNkZWZpbmUgUENJX0lERV9TRUxfQUREUl9CTE9DS19T SVpFCTEyCisrI2RlZmluZSAgUENJX0lERV9TRUxfQUREUl8xKHgpCQkoMjAgKyAoeCkgKiBQQ0lf SURFX1NFTF9BRERSX0JMT0NLX1NJWkUpCisrI2RlZmluZSAgIFBDSV9JREVfU0VMX0FERFJfMV9W QUxJRAkweDEKKysjZGVmaW5lICAgUENJX0lERV9TRUxfQUREUl8xX0JBU0VfTE9XCV9fR0VOTUFT SygxOSwgOCkKKysjZGVmaW5lICAgUENJX0lERV9TRUxfQUREUl8xX0xJTUlUX0xPVwlfX0dFTk1B U0soMzEsIDIwKQorKy8qIElERSBBZGRyZXNzIEFzc29jaWF0aW9uIFJlZ2lzdGVyIDIgaXMgIk1l bW9yeSBMaW1pdCBVcHBlciIgKi8KKysjZGVmaW5lICBQQ0lfSURFX1NFTF9BRERSXzIoeCkJCSgy NCArICh4KSAqIFBDSV9JREVfU0VMX0FERFJfQkxPQ0tfU0laRSkKKysvKiBJREUgQWRkcmVzcyBB c3NvY2lhdGlvbiBSZWdpc3RlciAzIGlzICJNZW1vcnkgQmFzZSBVcHBlciIgKi8KKysjZGVmaW5l ICBQQ0lfSURFX1NFTF9BRERSXzMoeCkJCSgyOCArICh4KSAqIFBDSV9JREVfU0VMX0FERFJfQkxP Q0tfU0laRSkKKysjZGVmaW5lIFBDSV9JREVfU0VMX0JMT0NLX1NJWkUobnJfYXNzb2MpICAoMjAg KyBQQ0lfSURFX1NFTF9BRERSX0JMT0NLX1NJWkUgKiAobnJfYXNzb2MpKQorKworICNlbmRpZiAv KiBMSU5VWF9QQ0lfUkVHU19IICovCitkaWZmIC0tZ2l0IGEvaW5jbHVkZS9zdGFuZGFyZC1oZWFk ZXJzL2xpbnV4L3ZpcnRpb19uZXQuaCBiL2luY2x1ZGUvc3RhbmRhcmQtaGVhZGVycy9saW51eC92 aXJ0aW9fbmV0LmgKK2luZGV4IDkzYWJhYWUwYjkuLjE3YTAxNzRkNmMgMTAwNjQ0CistLS0gYS9p bmNsdWRlL3N0YW5kYXJkLWhlYWRlcnMvbGludXgvdmlydGlvX25ldC5oCisrKysgYi9pbmNsdWRl L3N0YW5kYXJkLWhlYWRlcnMvbGludXgvdmlydGlvX25ldC5oCitAQCAtMTkzLDcgKzE5Myw4IEBA IHN0cnVjdCB2aXJ0aW9fbmV0X2hkcl92MSB7CisgCisgc3RydWN0IHZpcnRpb19uZXRfaGRyX3Yx X2hhc2ggeworIAlzdHJ1Y3QgdmlydGlvX25ldF9oZHJfdjEgaGRyOworLQl1aW50MzJfdCBoYXNo X3ZhbHVlOworKwl1aW50MTZfdCBoYXNoX3ZhbHVlX2xvOworKwl1aW50MTZfdCBoYXNoX3ZhbHVl X2hpOworICNkZWZpbmUgVklSVElPX05FVF9IQVNIX1JFUE9SVF9OT05FICAgICAgICAgICAgMAor ICNkZWZpbmUgVklSVElPX05FVF9IQVNIX1JFUE9SVF9JUHY0ICAgICAgICAgICAgMQorICNkZWZp bmUgVklSVElPX05FVF9IQVNIX1JFUE9SVF9UQ1B2NCAgICAgICAgICAgMgorZGlmZiAtLWdpdCBh L2luY2x1ZGUvc3RhbmRhcmQtaGVhZGVycy9saW51eC92aXJ0aW9fcGNpLmggYi9pbmNsdWRlL3N0 YW5kYXJkLWhlYWRlcnMvbGludXgvdmlydGlvX3BjaS5oCitpbmRleCAwOWU5NjRlNmVlLi40Yzgy NTEzZGYyIDEwMDY0NAorLS0tIGEvaW5jbHVkZS9zdGFuZGFyZC1oZWFkZXJzL2xpbnV4L3ZpcnRp b19wY2kuaAorKysrIGIvaW5jbHVkZS9zdGFuZGFyZC1oZWFkZXJzL2xpbnV4L3ZpcnRpb19wY2ku aAorQEAgLTQwLDcgKzQwLDcgQEAKKyAjZGVmaW5lIF9MSU5VWF9WSVJUSU9fUENJX0gKKyAKKyAj aW5jbHVkZSAic3RhbmRhcmQtaGVhZGVycy9saW51eC90eXBlcy5oIgorLSNpbmNsdWRlICJzdGFu ZGFyZC1oZWFkZXJzL2xpbnV4L2tlcm5lbC5oIgorKyNpbmNsdWRlICJzdGFuZGFyZC1oZWFkZXJz L2xpbnV4L2NvbnN0LmgiCisgCisgI2lmbmRlZiBWSVJUSU9fUENJX05PX0xFR0FDWQorIAorZGlm ZiAtLWdpdCBhL2xpbnV4LWhlYWRlcnMvYXNtLWFybTY0L2t2bS5oIGIvbGludXgtaGVhZGVycy9h c20tYXJtNjQva3ZtLmgKK2luZGV4IGY0ZDliYWFmYTEuLjQ2ZmZiZGRhYjUgMTAwNjQ0CistLS0g YS9saW51eC1oZWFkZXJzL2FzbS1hcm02NC9rdm0uaAorKysrIGIvbGludXgtaGVhZGVycy9hc20t YXJtNjQva3ZtLmgKK0BAIC0zMSw3ICszMSw3IEBACisgI2RlZmluZSBLVk1fU1BTUl9GSVEJNAor ICNkZWZpbmUgS1ZNX05SX1NQU1IJNQorIAorLSNpZm5kZWYgX19BU1NFTUJMWV9fCisrI2lmbmRl ZiBfX0FTU0VNQkxFUl9fCisgI2luY2x1ZGUgPGxpbnV4L3BzY2kuaD4KKyAjaW5jbHVkZSA8bGlu dXgvdHlwZXMuaD4KKyAjaW5jbHVkZSA8YXNtL3B0cmFjZS5oPgorZGlmZiAtLWdpdCBhL2xpbnV4 LWhlYWRlcnMvYXNtLWFybTY0L3VuaXN0ZF82NC5oIGIvbGludXgtaGVhZGVycy9hc20tYXJtNjQv dW5pc3RkXzY0LmgKK2luZGV4IDRhZTI1YzJiOTEuLjFlZjljNDA4MTMgMTAwNjQ0CistLS0gYS9s aW51eC1oZWFkZXJzL2FzbS1hcm02NC91bmlzdGRfNjQuaAorKysrIGIvbGludXgtaGVhZGVycy9h c20tYXJtNjQvdW5pc3RkXzY0LmgKK0BAIC0zMjYsNiArMzI2LDcgQEAKKyAjZGVmaW5lIF9fTlJf b3Blbl90cmVlX2F0dHIgNDY3CisgI2RlZmluZSBfX05SX2ZpbGVfZ2V0YXR0ciA0NjgKKyAjZGVm aW5lIF9fTlJfZmlsZV9zZXRhdHRyIDQ2OQorKyNkZWZpbmUgX19OUl9saXN0bnMgNDcwCisgCisg CisgI2VuZGlmIC8qIF9BU01fVU5JU1REXzY0X0ggKi8KK2RpZmYgLS1naXQgYS9saW51eC1oZWFk ZXJzL2FzbS1nZW5lcmljL3VuaXN0ZC5oIGIvbGludXgtaGVhZGVycy9hc20tZ2VuZXJpYy91bmlz dGQuaAoraW5kZXggMDRlMDA3N2ZiNC4uOTQyMzcwYjNmNSAxMDA2NDQKKy0tLSBhL2xpbnV4LWhl YWRlcnMvYXNtLWdlbmVyaWMvdW5pc3RkLmgKKysrKyBiL2xpbnV4LWhlYWRlcnMvYXNtLWdlbmVy aWMvdW5pc3RkLmgKK0BAIC04NTcsOSArODU3LDExIEBAIF9fU1lTQ0FMTChfX05SX29wZW5fdHJl ZV9hdHRyLCBzeXNfb3Blbl90cmVlX2F0dHIpCisgX19TWVNDQUxMKF9fTlJfZmlsZV9nZXRhdHRy LCBzeXNfZmlsZV9nZXRhdHRyKQorICNkZWZpbmUgX19OUl9maWxlX3NldGF0dHIgNDY5CisgX19T WVNDQUxMKF9fTlJfZmlsZV9zZXRhdHRyLCBzeXNfZmlsZV9zZXRhdHRyKQorKyNkZWZpbmUgX19O Ul9saXN0bnMgNDcwCisrX19TWVNDQUxMKF9fTlJfbGlzdG5zLCBzeXNfbGlzdG5zKQorIAorICN1 bmRlZiBfX05SX3N5c2NhbGxzCistI2RlZmluZSBfX05SX3N5c2NhbGxzIDQ3MAorKyNkZWZpbmUg X19OUl9zeXNjYWxscyA0NzEKKyAKKyAvKgorICAqIDMyIGJpdCBzeXN0ZW1zIHRyYWRpdGlvbmFs bHkgdXNlZCBkaWZmZXJlbnQKK2RpZmYgLS1naXQgYS9saW51eC1oZWFkZXJzL2FzbS1sb29uZ2Fy Y2gva3ZtLmggYi9saW51eC1oZWFkZXJzL2FzbS1sb29uZ2FyY2gva3ZtLmgKK2luZGV4IDU3YmEx YTU2M2IuLmRlNmMzZjE4ZTQgMTAwNjQ0CistLS0gYS9saW51eC1oZWFkZXJzL2FzbS1sb29uZ2Fy Y2gva3ZtLmgKKysrKyBiL2xpbnV4LWhlYWRlcnMvYXNtLWxvb25nYXJjaC9rdm0uaAorQEAgLTEw NCw2ICsxMDQsNyBAQCBzdHJ1Y3Qga3ZtX2ZwdSB7CisgI2RlZmluZSAgS1ZNX0xPT05HQVJDSF9W TV9GRUFUX1BWX0lQSQkJNgorICNkZWZpbmUgIEtWTV9MT09OR0FSQ0hfVk1fRkVBVF9QVl9TVEVB TFRJTUUJNworICNkZWZpbmUgIEtWTV9MT09OR0FSQ0hfVk1fRkVBVF9QVFcJCTgKKysjZGVmaW5l ICBLVk1fTE9PTkdBUkNIX1ZNX0ZFQVRfTVNHSU5UCQk5CisgCisgLyogRGV2aWNlIENvbnRyb2wg QVBJIG9uIHZjcHUgZmQgKi8KKyAjZGVmaW5lIEtWTV9MT09OR0FSQ0hfVkNQVV9DUFVDRkcJMAor ZGlmZiAtLWdpdCBhL2xpbnV4LWhlYWRlcnMvYXNtLWxvb25nYXJjaC91bmlzdGQuaCBiL2xpbnV4 LWhlYWRlcnMvYXNtLWxvb25nYXJjaC91bmlzdGQuaAoraW5kZXggMWYwMTk4MGY5Yy4uZTE5Yzdm MmY5ZiAxMDA2NDQKKy0tLSBhL2xpbnV4LWhlYWRlcnMvYXNtLWxvb25nYXJjaC91bmlzdGQuaAor KysrIGIvbGludXgtaGVhZGVycy9hc20tbG9vbmdhcmNoL3VuaXN0ZC5oCitAQCAtMSwzICsxLDkg QEAKKyAvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMCBXSVRIIExpbnV4LXN5c2Nh bGwtbm90ZSAqLworIAorKyNpbmNsdWRlIDxhc20vYml0c3BlcmxvbmcuaD4KKysKKysjaWYgX19C SVRTX1BFUl9MT05HID09IDMyCisrI2luY2x1ZGUgPGFzbS91bmlzdGRfMzIuaD4KKysjZWxzZQor ICNpbmNsdWRlIDxhc20vdW5pc3RkXzY0Lmg+CisrI2VuZGlmCitkaWZmIC0tZ2l0IGEvbGludXgt aGVhZGVycy9hc20tbG9vbmdhcmNoL3VuaXN0ZF82NC5oIGIvbGludXgtaGVhZGVycy9hc20tbG9v bmdhcmNoL3VuaXN0ZF82NC5oCitpbmRleCA1MDMzZmM4ZjJmLi5hYTVkYWFjNGVmIDEwMDY0NAor LS0tIGEvbGludXgtaGVhZGVycy9hc20tbG9vbmdhcmNoL3VuaXN0ZF82NC5oCisrKysgYi9saW51 eC1oZWFkZXJzL2FzbS1sb29uZ2FyY2gvdW5pc3RkXzY0LmgKK0BAIC0zMjIsNiArMzIyLDcgQEAK KyAjZGVmaW5lIF9fTlJfb3Blbl90cmVlX2F0dHIgNDY3CisgI2RlZmluZSBfX05SX2ZpbGVfZ2V0 YXR0ciA0NjgKKyAjZGVmaW5lIF9fTlJfZmlsZV9zZXRhdHRyIDQ2OQorKyNkZWZpbmUgX19OUl9s aXN0bnMgNDcwCisgCisgCisgI2VuZGlmIC8qIF9BU01fVU5JU1REXzY0X0ggKi8KK2RpZmYgLS1n aXQgYS9saW51eC1oZWFkZXJzL2FzbS1taXBzL3VuaXN0ZF9uMzIuaCBiL2xpbnV4LWhlYWRlcnMv YXNtLW1pcHMvdW5pc3RkX24zMi5oCitpbmRleCBjOTljMTBlNWJmLi5hMzNkMTA2ZGNhIDEwMDY0 NAorLS0tIGEvbGludXgtaGVhZGVycy9hc20tbWlwcy91bmlzdGRfbjMyLmgKKysrKyBiL2xpbnV4 LWhlYWRlcnMvYXNtLW1pcHMvdW5pc3RkX24zMi5oCitAQCAtMzk4LDUgKzM5OCw2IEBACisgI2Rl ZmluZSBfX05SX29wZW5fdHJlZV9hdHRyIChfX05SX0xpbnV4ICsgNDY3KQorICNkZWZpbmUgX19O Ul9maWxlX2dldGF0dHIgKF9fTlJfTGludXggKyA0NjgpCisgI2RlZmluZSBfX05SX2ZpbGVfc2V0 YXR0ciAoX19OUl9MaW51eCArIDQ2OSkKKysjZGVmaW5lIF9fTlJfbGlzdG5zIChfX05SX0xpbnV4 ICsgNDcwKQorIAorICNlbmRpZiAvKiBfQVNNX1VOSVNURF9OMzJfSCAqLworZGlmZiAtLWdpdCBh L2xpbnV4LWhlYWRlcnMvYXNtLW1pcHMvdW5pc3RkX242NC5oIGIvbGludXgtaGVhZGVycy9hc20t bWlwcy91bmlzdGRfbjY0LmgKK2luZGV4IDBkOTc1YmIxODUuLjFiYzI1MWU0NTAgMTAwNjQ0Cist LS0gYS9saW51eC1oZWFkZXJzL2FzbS1taXBzL3VuaXN0ZF9uNjQuaAorKysrIGIvbGludXgtaGVh ZGVycy9hc20tbWlwcy91bmlzdGRfbjY0LmgKK0BAIC0zNzQsNSArMzc0LDYgQEAKKyAjZGVmaW5l IF9fTlJfb3Blbl90cmVlX2F0dHIgKF9fTlJfTGludXggKyA0NjcpCisgI2RlZmluZSBfX05SX2Zp bGVfZ2V0YXR0ciAoX19OUl9MaW51eCArIDQ2OCkKKyAjZGVmaW5lIF9fTlJfZmlsZV9zZXRhdHRy IChfX05SX0xpbnV4ICsgNDY5KQorKyNkZWZpbmUgX19OUl9saXN0bnMgKF9fTlJfTGludXggKyA0 NzApCisgCisgI2VuZGlmIC8qIF9BU01fVU5JU1REX042NF9IICovCitkaWZmIC0tZ2l0IGEvbGlu dXgtaGVhZGVycy9hc20tbWlwcy91bmlzdGRfbzMyLmggYi9saW51eC1oZWFkZXJzL2FzbS1taXBz L3VuaXN0ZF9vMzIuaAoraW5kZXggODZhYzBhYzg0Yi4uYzU3MTc1ZDQ5NiAxMDA2NDQKKy0tLSBh L2xpbnV4LWhlYWRlcnMvYXNtLW1pcHMvdW5pc3RkX28zMi5oCisrKysgYi9saW51eC1oZWFkZXJz L2FzbS1taXBzL3VuaXN0ZF9vMzIuaAorQEAgLTQ0NCw1ICs0NDQsNiBAQAorICNkZWZpbmUgX19O Ul9vcGVuX3RyZWVfYXR0ciAoX19OUl9MaW51eCArIDQ2NykKKyAjZGVmaW5lIF9fTlJfZmlsZV9n ZXRhdHRyIChfX05SX0xpbnV4ICsgNDY4KQorICNkZWZpbmUgX19OUl9maWxlX3NldGF0dHIgKF9f TlJfTGludXggKyA0NjkpCisrI2RlZmluZSBfX05SX2xpc3RucyAoX19OUl9MaW51eCArIDQ3MCkK KyAKKyAjZW5kaWYgLyogX0FTTV9VTklTVERfTzMyX0ggKi8KK2RpZmYgLS1naXQgYS9saW51eC1o ZWFkZXJzL2FzbS1wb3dlcnBjL3VuaXN0ZF8zMi5oIGIvbGludXgtaGVhZGVycy9hc20tcG93ZXJw Yy91bmlzdGRfMzIuaAoraW5kZXggZDdhMzJjNWUwNi4uYTNmNGFhMmZlMiAxMDA2NDQKKy0tLSBh L2xpbnV4LWhlYWRlcnMvYXNtLXBvd2VycGMvdW5pc3RkXzMyLmgKKysrKyBiL2xpbnV4LWhlYWRl cnMvYXNtLXBvd2VycGMvdW5pc3RkXzMyLmgKK0BAIC00NTEsNiArNDUxLDcgQEAKKyAjZGVmaW5l IF9fTlJfb3Blbl90cmVlX2F0dHIgNDY3CisgI2RlZmluZSBfX05SX2ZpbGVfZ2V0YXR0ciA0NjgK KyAjZGVmaW5lIF9fTlJfZmlsZV9zZXRhdHRyIDQ2OQorKyNkZWZpbmUgX19OUl9saXN0bnMgNDcw CisgCisgCisgI2VuZGlmIC8qIF9BU01fVU5JU1REXzMyX0ggKi8KK2RpZmYgLS1naXQgYS9saW51 eC1oZWFkZXJzL2FzbS1wb3dlcnBjL3VuaXN0ZF82NC5oIGIvbGludXgtaGVhZGVycy9hc20tcG93 ZXJwYy91bmlzdGRfNjQuaAoraW5kZXggZmYzNWM1MWZjNi4uZDQ0NDQ1NTdmMSAxMDA2NDQKKy0t LSBhL2xpbnV4LWhlYWRlcnMvYXNtLXBvd2VycGMvdW5pc3RkXzY0LmgKKysrKyBiL2xpbnV4LWhl YWRlcnMvYXNtLXBvd2VycGMvdW5pc3RkXzY0LmgKK0BAIC00MjMsNiArNDIzLDcgQEAKKyAjZGVm aW5lIF9fTlJfb3Blbl90cmVlX2F0dHIgNDY3CisgI2RlZmluZSBfX05SX2ZpbGVfZ2V0YXR0ciA0 NjgKKyAjZGVmaW5lIF9fTlJfZmlsZV9zZXRhdHRyIDQ2OQorKyNkZWZpbmUgX19OUl9saXN0bnMg NDcwCisgCisgCisgI2VuZGlmIC8qIF9BU01fVU5JU1REXzY0X0ggKi8KK2RpZmYgLS1naXQgYS9s aW51eC1oZWFkZXJzL2FzbS1yaXNjdi9rdm0uaCBiL2xpbnV4LWhlYWRlcnMvYXNtLXJpc2N2L2t2 bS5oCitpbmRleCA3NTlhNDg1MmMwLi41NGYzYWQ3ZWQyIDEwMDY0NAorLS0tIGEvbGludXgtaGVh ZGVycy9hc20tcmlzY3Yva3ZtLmgKKysrKyBiL2xpbnV4LWhlYWRlcnMvYXNtLXJpc2N2L2t2bS5o CitAQCAtMjMsNiArMjMsOCBAQAorICNkZWZpbmUgS1ZNX0lOVEVSUlVQVF9TRVQJLTFVCisgI2Rl ZmluZSBLVk1fSU5URVJSVVBUX1VOU0VUCS0yVQorIAorKyNkZWZpbmUgS1ZNX0VYSVRfRkFJTF9F TlRSWV9OT19WU0ZJTEUJKDFVTEwgPDwgMCkKKysKKyAvKiBmb3IgS1ZNX0dFVF9SRUdTIGFuZCBL Vk1fU0VUX1JFR1MgKi8KKyBzdHJ1Y3Qga3ZtX3JlZ3MgeworIH07CitAQCAtMjExLDYgKzIxMyw3 IEBAIGVudW0gS1ZNX1JJU0NWX1NCSV9FWFRfSUQgeworIAlLVk1fUklTQ1ZfU0JJX0VYVF9TVEEs CisgCUtWTV9SSVNDVl9TQklfRVhUX1NVU1AsCisgCUtWTV9SSVNDVl9TQklfRVhUX0ZXRlQsCisr CUtWTV9SSVNDVl9TQklfRVhUX01QWFksCisgCUtWTV9SSVNDVl9TQklfRVhUX01BWCwKKyB9Owor IAorZGlmZiAtLWdpdCBhL2xpbnV4LWhlYWRlcnMvYXNtLXJpc2N2L3VuaXN0ZF8zMi5oIGIvbGlu dXgtaGVhZGVycy9hc20tcmlzY3YvdW5pc3RkXzMyLmgKK2luZGV4IDYwODMzNzNlODguLjlmMzM5 NTYyNDYgMTAwNjQ0CistLS0gYS9saW51eC1oZWFkZXJzL2FzbS1yaXNjdi91bmlzdGRfMzIuaAor KysrIGIvbGludXgtaGVhZGVycy9hc20tcmlzY3YvdW5pc3RkXzMyLmgKK0BAIC0zMTcsNiArMzE3 LDcgQEAKKyAjZGVmaW5lIF9fTlJfb3Blbl90cmVlX2F0dHIgNDY3CisgI2RlZmluZSBfX05SX2Zp bGVfZ2V0YXR0ciA0NjgKKyAjZGVmaW5lIF9fTlJfZmlsZV9zZXRhdHRyIDQ2OQorKyNkZWZpbmUg X19OUl9saXN0bnMgNDcwCisgCisgCisgI2VuZGlmIC8qIF9BU01fVU5JU1REXzMyX0ggKi8KK2Rp ZmYgLS1naXQgYS9saW51eC1oZWFkZXJzL2FzbS1yaXNjdi91bmlzdGRfNjQuaCBiL2xpbnV4LWhl YWRlcnMvYXNtLXJpc2N2L3VuaXN0ZF82NC5oCitpbmRleCBmMGM3NTg1YzYwLi5jMmU3MjU4OTE2 IDEwMDY0NAorLS0tIGEvbGludXgtaGVhZGVycy9hc20tcmlzY3YvdW5pc3RkXzY0LmgKKysrKyBi L2xpbnV4LWhlYWRlcnMvYXNtLXJpc2N2L3VuaXN0ZF82NC5oCitAQCAtMzI3LDYgKzMyNyw3IEBA CisgI2RlZmluZSBfX05SX29wZW5fdHJlZV9hdHRyIDQ2NworICNkZWZpbmUgX19OUl9maWxlX2dl dGF0dHIgNDY4CisgI2RlZmluZSBfX05SX2ZpbGVfc2V0YXR0ciA0NjkKKysjZGVmaW5lIF9fTlJf bGlzdG5zIDQ3MAorIAorIAorICNlbmRpZiAvKiBfQVNNX1VOSVNURF82NF9IICovCitkaWZmIC0t Z2l0IGEvbGludXgtaGVhZGVycy9hc20tczM5MC9iaXRzcGVybG9uZy5oIGIvbGludXgtaGVhZGVy cy9hc20tczM5MC9iaXRzcGVybG9uZy5oCitpbmRleCBjY2VhZjQ3YjAyLi43YWYyN2E5ODVmIDEw MDY0NAorLS0tIGEvbGludXgtaGVhZGVycy9hc20tczM5MC9iaXRzcGVybG9uZy5oCisrKysgYi9s aW51eC1oZWFkZXJzL2FzbS1zMzkwL2JpdHNwZXJsb25nLmgKK0BAIC0yLDExICsyLDcgQEAKKyAj aWZuZGVmIF9fQVNNX1MzOTBfQklUU1BFUkxPTkdfSAorICNkZWZpbmUgX19BU01fUzM5MF9CSVRT UEVSTE9OR19ICisgCistI2lmbmRlZiBfX3MzOTB4X18KKy0jZGVmaW5lIF9fQklUU19QRVJfTE9O RyAzMgorLSNlbHNlCisgI2RlZmluZSBfX0JJVFNfUEVSX0xPTkcgNjQKKy0jZW5kaWYKKyAKKyAj aW5jbHVkZSA8YXNtLWdlbmVyaWMvYml0c3BlcmxvbmcuaD4KKyAKK2RpZmYgLS1naXQgYS9saW51 eC1oZWFkZXJzL2FzbS1zMzkwL3VuaXN0ZC5oIGIvbGludXgtaGVhZGVycy9hc20tczM5MC91bmlz dGQuaAoraW5kZXggMjdiOGIyMTFjOC4uMTQ4NDYxODg3NyAxMDA2NDQKKy0tLSBhL2xpbnV4LWhl YWRlcnMvYXNtLXMzOTAvdW5pc3RkLmgKKysrKyBiL2xpbnV4LWhlYWRlcnMvYXNtLXMzOTAvdW5p c3RkLmgKK0BAIC04LDEwICs4LDYgQEAKKyAjaWZuZGVmIF9BU01fUzM5MF9VTklTVERfSF8KKyAj ZGVmaW5lIF9BU01fUzM5MF9VTklTVERfSF8KKyAKKy0jaWZkZWYgX19zMzkweF9fCisgI2luY2x1 ZGUgPGFzbS91bmlzdGRfNjQuaD4KKy0jZWxzZQorLSNpbmNsdWRlIDxhc20vdW5pc3RkXzMyLmg+ CistI2VuZGlmCisgCisgI2VuZGlmIC8qIF9BU01fUzM5MF9VTklTVERfSF8gKi8KK2RpZmYgLS1n aXQgYS9saW51eC1oZWFkZXJzL2FzbS1zMzkwL3VuaXN0ZF82NC5oIGIvbGludXgtaGVhZGVycy9h c20tczM5MC91bmlzdGRfNjQuaAoraW5kZXggMDY1MmJhNjMzMS4uOGQ5ZTU3OWVmNSAxMDA2NDQK Ky0tLSBhL2xpbnV4LWhlYWRlcnMvYXNtLXMzOTAvdW5pc3RkXzY0LmgKKysrKyBiL2xpbnV4LWhl YWRlcnMvYXNtLXMzOTAvdW5pc3RkXzY0LmgKK0BAIC0xLDYgKzEsNSBAQAorLS8qIFNQRFgtTGlj ZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wIFdJVEggTGludXgtc3lzY2FsbC1ub3RlICovCistI2lm bmRlZiBfQVNNX1MzOTBfVU5JU1REXzY0X0gKKy0jZGVmaW5lIF9BU01fUzM5MF9VTklTVERfNjRf SAorKyNpZm5kZWYgX0FTTV9VTklTVERfNjRfSAorKyNkZWZpbmUgX0FTTV9VTklTVERfNjRfSAor IAorICNkZWZpbmUgX19OUl9leGl0IDEKKyAjZGVmaW5lIF9fTlJfZm9yayAyCitAQCAtMzkwLDUg KzM4OSw3IEBACisgI2RlZmluZSBfX05SX29wZW5fdHJlZV9hdHRyIDQ2NworICNkZWZpbmUgX19O Ul9maWxlX2dldGF0dHIgNDY4CisgI2RlZmluZSBfX05SX2ZpbGVfc2V0YXR0ciA0NjkKKysjZGVm aW5lIF9fTlJfbGlzdG5zIDQ3MAorIAorLSNlbmRpZiAvKiBfQVNNX1MzOTBfVU5JU1REXzY0X0gg Ki8KKysKKysjZW5kaWYgLyogX0FTTV9VTklTVERfNjRfSCAqLworZGlmZiAtLWdpdCBhL2xpbnV4 LWhlYWRlcnMvYXNtLXg4Ni9rdm0uaCBiL2xpbnV4LWhlYWRlcnMvYXNtLXg4Ni9rdm0uaAoraW5k ZXggM2JiMzhmNmMzYS4uYjgwNGZkMjVhMiAxMDA2NDQKKy0tLSBhL2xpbnV4LWhlYWRlcnMvYXNt LXg4Ni9rdm0uaAorKysrIGIvbGludXgtaGVhZGVycy9hc20teDg2L2t2bS5oCitAQCAtNTAwLDYg KzUwMCw3IEBAIHN0cnVjdCBrdm1fc3luY19yZWdzIHsKKyAvKiB2ZW5kb3Itc3BlY2lmaWMgZ3Jv dXBzIGFuZCBhdHRyaWJ1dGVzIGZvciBzeXN0ZW0gZmQgKi8KKyAjZGVmaW5lIEtWTV9YODZfR1JQ X1NFVgkJCTEKKyAjICBkZWZpbmUgS1ZNX1g4Nl9TRVZfVk1TQV9GRUFUVVJFUwkwCisrIyAgZGVm aW5lIEtWTV9YODZfU05QX1BPTElDWV9CSVRTCTEKKyAKKyBzdHJ1Y3Qga3ZtX3ZteF9uZXN0ZWRf c3RhdGVfZGF0YSB7CisgCV9fdTggdm1jczEyW0tWTV9TVEFURV9ORVNURURfVk1YX1ZNQ1NfU0la RV07CitkaWZmIC0tZ2l0IGEvbGludXgtaGVhZGVycy9hc20teDg2L3VuaXN0ZF8zMi5oIGIvbGlu dXgtaGVhZGVycy9hc20teDg2L3VuaXN0ZF8zMi5oCitpbmRleCA4Zjc4NGE1NjM0Li4zNDI1NWFh YzY0IDEwMDY0NAorLS0tIGEvbGludXgtaGVhZGVycy9hc20teDg2L3VuaXN0ZF8zMi5oCisrKysg Yi9saW51eC1oZWFkZXJzL2FzbS14ODYvdW5pc3RkXzMyLmgKK0BAIC00NjAsNiArNDYwLDcgQEAK KyAjZGVmaW5lIF9fTlJfb3Blbl90cmVlX2F0dHIgNDY3CisgI2RlZmluZSBfX05SX2ZpbGVfZ2V0 YXR0ciA0NjgKKyAjZGVmaW5lIF9fTlJfZmlsZV9zZXRhdHRyIDQ2OQorKyNkZWZpbmUgX19OUl9s aXN0bnMgNDcwCisgCisgCisgI2VuZGlmIC8qIF9BU01fVU5JU1REXzMyX0ggKi8KK2RpZmYgLS1n aXQgYS9saW51eC1oZWFkZXJzL2FzbS14ODYvdW5pc3RkXzY0LmggYi9saW51eC1oZWFkZXJzL2Fz bS14ODYvdW5pc3RkXzY0LmgKK2luZGV4IDI2YzI1OGQxYTYuLjA3ZjI0MmE1ZmEgMTAwNjQ0Cist LS0gYS9saW51eC1oZWFkZXJzL2FzbS14ODYvdW5pc3RkXzY0LmgKKysrKyBiL2xpbnV4LWhlYWRl cnMvYXNtLXg4Ni91bmlzdGRfNjQuaAorQEAgLTM4NCw2ICszODQsNyBAQAorICNkZWZpbmUgX19O Ul9vcGVuX3RyZWVfYXR0ciA0NjcKKyAjZGVmaW5lIF9fTlJfZmlsZV9nZXRhdHRyIDQ2OAorICNk ZWZpbmUgX19OUl9maWxlX3NldGF0dHIgNDY5CisrI2RlZmluZSBfX05SX2xpc3RucyA0NzAKKyAK KyAKKyAjZW5kaWYgLyogX0FTTV9VTklTVERfNjRfSCAqLworZGlmZiAtLWdpdCBhL2xpbnV4LWhl YWRlcnMvYXNtLXg4Ni91bmlzdGRfeDMyLmggYi9saW51eC1oZWFkZXJzL2FzbS14ODYvdW5pc3Rk X3gzMi5oCitpbmRleCA2NWMyYWVkOTQ2Li4wOGZjOWRhMmZhIDEwMDY0NAorLS0tIGEvbGludXgt aGVhZGVycy9hc20teDg2L3VuaXN0ZF94MzIuaAorKysrIGIvbGludXgtaGVhZGVycy9hc20teDg2 L3VuaXN0ZF94MzIuaAorQEAgLTMzNyw2ICszMzcsNyBAQAorICNkZWZpbmUgX19OUl9vcGVuX3Ry ZWVfYXR0ciAoX19YMzJfU1lTQ0FMTF9CSVQgKyA0NjcpCisgI2RlZmluZSBfX05SX2ZpbGVfZ2V0 YXR0ciAoX19YMzJfU1lTQ0FMTF9CSVQgKyA0NjgpCisgI2RlZmluZSBfX05SX2ZpbGVfc2V0YXR0 ciAoX19YMzJfU1lTQ0FMTF9CSVQgKyA0NjkpCisrI2RlZmluZSBfX05SX2xpc3RucyAoX19YMzJf U1lTQ0FMTF9CSVQgKyA0NzApCisgI2RlZmluZSBfX05SX3J0X3NpZ2FjdGlvbiAoX19YMzJfU1lT Q0FMTF9CSVQgKyA1MTIpCisgI2RlZmluZSBfX05SX3J0X3NpZ3JldHVybiAoX19YMzJfU1lTQ0FM TF9CSVQgKyA1MTMpCisgI2RlZmluZSBfX05SX2lvY3RsIChfX1gzMl9TWVNDQUxMX0JJVCArIDUx NCkKK2RpZmYgLS1naXQgYS9saW51eC1oZWFkZXJzL2xpbnV4L2lvbW11ZmQuaCBiL2xpbnV4LWhl YWRlcnMvbGludXgvaW9tbXVmZC5oCitpbmRleCAyMTA1YTAzOTU1Li4zODQxODNhNDAzIDEwMDY0 NAorLS0tIGEvbGludXgtaGVhZGVycy9saW51eC9pb21tdWZkLmgKKysrKyBiL2xpbnV4LWhlYWRl cnMvbGludXgvaW9tbXVmZC5oCitAQCAtNDUwLDYgKzQ1MCwxNiBAQCBzdHJ1Y3QgaW9tbXVfaHdw dF92dGRfczEgeworICAqIG5lc3RlZCBkb21haW4gd2lsbCB0cmFuc2xhdGUgdGhlIHNhbWUgYXMg dGhlIG5lc3RpbmcgcGFyZW50LiBUaGUgUzEgd2lsbAorICAqIGluc3RhbGwgYSBDb250ZXh0IERl c2NyaXB0b3IgVGFibGUgcG9pbnRpbmcgYXQgdXNlcnNwYWNlIG1lbW9yeSB0cmFuc2xhdGVkCisg ICogYnkgdGhlIG5lc3RpbmcgcGFyZW50LgorKyAqCisrICogSXQncyBzdWdnZXN0ZWQgdG8gYWxs b2NhdGUgYSB2REVWSUNFIG9iamVjdCBjYXJyeWluZyB2U0lEIGFuZCB0aGVuIHJlLWF0dGFjaAor KyAqIHRoZSBuZXN0ZWQgZG9tYWluLCBhcyBzb29uIGFzIHRoZSB2U0lEIGlzIGF2YWlsYWJsZSBp biB0aGUgVk1NIGxldmVsOgorKyAqCisrICogLSB3aGVuIENmZz10cmFuc2xhdGUsIGEgdkRFVklD RSBtdXN0IGJlIGFsbG9jYXRlZCBwcmlvciB0byBhdHRhY2hpbmcgdG8gdGhlCisrICogICBhbGxv Y2F0ZWQgbmVzdGVkIGRvbWFpbiwgYXMgQ0QvQVRTIGludmFsaWRhdGlvbnMgYW5kIHZldmVudHMg bmVlZCBhIHZTSUQuCisrICogLSB3aGVuIENmZz1ieXBhc3MvYWJvcnQsIGEgdkRFVklDRSBpcyBu b3QgZW5mb3JjZWQgZHVyaW5nIHRoZSBuZXN0ZWQgZG9tYWluCisrICogICBhdHRhY2htZW50LCB0 byBzdXBwb3J0IGEgR0JQQSBjYXNlIHdoZXJlIFZNIHNldHMgQ1IwLlNNTVVFTj0wLiBIb3dldmVy LCBpZgorKyAqICAgVk0gc2V0cyBDUjAuU01NVUVOPTEgd2hpbGUgbWlzc2luZyBhIHZERVZJQ0Ug b2JqZWN0LCBrZXJuZWwgd291bGQgZmFpbCB0bworKyAqICAgcmVwb3J0IGV2ZW50cyB0byB0aGUg Vk0uIEUuZy4gRl9UUkFOU0xBVElPTiB3aGVuIGd1ZXN0IFNURS5DZmc9YWJvcnQuCisgICovCisg c3RydWN0IGlvbW11X2h3cHRfYXJtX3NtbXV2MyB7CisgCV9fYWxpZ25lZF9sZTY0IHN0ZVsyXTsK K2RpZmYgLS1naXQgYS9saW51eC1oZWFkZXJzL2xpbnV4L2t2bS5oIGIvbGludXgtaGVhZGVycy9s aW51eC9rdm0uaAoraW5kZXggNGVhMjhlZjdjYS4uYTRhYjQyZGNiYSAxMDA2NDQKKy0tLSBhL2xp bnV4LWhlYWRlcnMvbGludXgva3ZtLmgKKysrKyBiL2xpbnV4LWhlYWRlcnMvbGludXgva3ZtLmgK K0BAIC0xNzksNiArMTc5LDcgQEAgc3RydWN0IGt2bV94ZW5fZXhpdCB7CisgI2RlZmluZSBLVk1f RVhJVF9MT09OR0FSQ0hfSU9DU1IgIDM4CisgI2RlZmluZSBLVk1fRVhJVF9NRU1PUllfRkFVTFQg ICAgIDM5CisgI2RlZmluZSBLVk1fRVhJVF9URFggICAgICAgICAgICAgIDQwCisrI2RlZmluZSBL Vk1fRVhJVF9BUk1fU0VBICAgICAgICAgIDQxCisgCisgLyogRm9yIEtWTV9FWElUX0lOVEVSTkFM X0VSUk9SICovCisgLyogRW11bGF0ZSBpbnN0cnVjdGlvbiBmYWlsZWQuICovCitAQCAtNDY1LDYg KzQ2NiwxNCBAQCBzdHJ1Y3Qga3ZtX3J1biB7CisgCQkJCX0gc2V0dXBfZXZlbnRfbm90aWZ5Owor IAkJCX07CisgCQl9IHRkeDsKKysJCS8qIEtWTV9FWElUX0FSTV9TRUEgKi8KKysJCXN0cnVjdCB7 CisrI2RlZmluZSBLVk1fRVhJVF9BUk1fU0VBX0ZMQUdfR1BBX1ZBTElECSgxVUxMIDw8IDApCisr CQkJX191NjQgZmxhZ3M7CisrCQkJX191NjQgZXNyOworKwkJCV9fdTY0IGd2YTsKKysJCQlfX3U2 NCBncGE7CisrCQl9IGFybV9zZWE7CisgCQkvKiBGaXggdGhlIHNpemUgb2YgdGhlIHVuaW9uLiAq LworIAkJY2hhciBwYWRkaW5nWzI1Nl07CisgCX07CitAQCAtOTU1LDYgKzk2NCw4IEBAIHN0cnVj dCBrdm1fZW5hYmxlX2NhcCB7CisgI2RlZmluZSBLVk1fQ0FQX1JJU0NWX01QX1NUQVRFX1JFU0VU IDI0MgorICNkZWZpbmUgS1ZNX0NBUF9BUk1fQ0FDSEVBQkxFX1BGTk1BUF9TVVBQT1JURUQgMjQz CisgI2RlZmluZSBLVk1fQ0FQX0dVRVNUX01FTUZEX0ZMQUdTIDI0NAorKyNkZWZpbmUgS1ZNX0NB UF9BUk1fU0VBX1RPX1VTRVIgMjQ1CisrI2RlZmluZSBLVk1fQ0FQX1MzOTBfVVNFUl9PUEVSRVhF QyAyNDYKKyAKKyBzdHJ1Y3Qga3ZtX2lycV9yb3V0aW5nX2lycWNoaXAgeworIAlfX3UzMiBpcnFj aGlwOworZGlmZiAtLWdpdCBhL2xpbnV4LWhlYWRlcnMvbGludXgvbXNodi5oIGIvbGludXgtaGVh ZGVycy9saW51eC9tc2h2LmgKK2luZGV4IDViYzgzZGI2YTMuLmFjY2VlZGRjMWMgMTAwNjQ0Cist LS0gYS9saW51eC1oZWFkZXJzL2xpbnV4L21zaHYuaAorKysrIGIvbGludXgtaGVhZGVycy9saW51 eC9tc2h2LmgKK0BAIC0yNiw2ICsyNiw3IEBAIGVudW0geworIAlNU0hWX1BUX0JJVF9MQVBJQywK KyAJTVNIVl9QVF9CSVRfWDJBUElDLAorIAlNU0hWX1BUX0JJVF9HUEFfU1VQRVJfUEFHRVMsCisr CU1TSFZfUFRfQklUX0NQVV9BTkRfWFNBVkVfRkVBVFVSRVMsCisgCU1TSFZfUFRfQklUX0NPVU5U LAorIH07CisgCitAQCAtNDEsNiArNDIsOCBAQCBlbnVtIHsKKyAgKiBAcHRfZmxhZ3M6IEJpdG1h c2sgb2YgMSA8PCBNU0hWX1BUX0JJVF8qCisgICogQHB0X2lzb2xhdGlvbjogTVNIVl9QVF9JU09M QVRJT05fKgorICAqCisrICogVGhpcyBpcyB0aGUgaW5pdGlhbC92MSB2ZXJzaW9uIGZvciBiYWNr d2FyZCBjb21wYXRpYmlsaXR5LgorKyAqCisgICogUmV0dXJucyBhIGZpbGUgZGVzY3JpcHRvciB0 byBhY3QgYXMgYSBoYW5kbGUgdG8gYSBndWVzdCBwYXJ0aXRpb24uCisgICogQXQgdGhpcyBwb2lu dCB0aGUgcGFydGl0aW9uIGlzIG5vdCB5ZXQgaW5pdGlhbGl6ZWQgaW4gdGhlIGh5cGVydmlzb3Iu CisgICogU29tZSBvcGVyYXRpb25zIG11c3QgYmUgZG9uZSB3aXRoIHRoZSBwYXJ0aXRpb24gaW4g dGhpcyBzdGF0ZSwgZS5nLiBzZXR0aW5nCitAQCAtNTIsNiArNTUsMzcgQEAgc3RydWN0IG1zaHZf Y3JlYXRlX3BhcnRpdGlvbiB7CisgCV9fdTY0IHB0X2lzb2xhdGlvbjsKKyB9OworIAorKyNkZWZp bmUgTVNIVl9OVU1fQ1BVX0ZFQVRVUkVTX0JBTktTIDIKKysKKysvKioKKysgKiBzdHJ1Y3QgbXNo dl9jcmVhdGVfcGFydGl0aW9uX3YyCisrICoKKysgKiBUaGlzIGlzIGV4dGVuZGVkIHZlcnNpb24g b2YgdGhlIGFib3ZlIGluaXRpYWwgTVNIVl9DUkVBVEVfUEFSVElUSU9OCisrICogaW9jdGwgYW5k IGFsbG93cyBmb3IgZm9sbG93aW5nIGFkZGl0aW9uYWwgcGFyYW1ldGVyczoKKysgKgorKyAqIEBw dF9udW1fY3B1X2ZiYW5rczogTXVzdCBiZSBzZXQgdG8gTVNIVl9OVU1fQ1BVX0ZFQVRVUkVTX0JB TktTLgorKyAqIEBwdF9jcHVfZmJhbmtzOiBEaXNhYmxlZCBwcm9jZXNzb3IgZmVhdHVyZSBiYW5r cyBhcnJheS4KKysgKiBAcHRfZGlzYWJsZWRfeHNhdmU6IERpc2FibGVkIHhzYXZlIGZlYXR1cmUg Yml0cy4KKysgKgorKyAqIHB0X2NwdV9mYmFua3MgYW5kIHB0X2Rpc2FibGVkX3hzYXZlIGFyZSBw YXNzZWQgdGhyb3VnaCBhcy1pcyB0byB0aGUgY3JlYXRlCisrICogcGFydGl0aW9uIGh5cGVyY2Fs bC4KKysgKgorKyAqIFJldHVybnMgOiBzYW1lIGFzIGFib3ZlIG9yaWdpbmFsIG1zaHZfY3JlYXRl X3BhcnRpdGlvbgorKyAqLworK3N0cnVjdCBtc2h2X2NyZWF0ZV9wYXJ0aXRpb25fdjIgeworKwlf X3U2NCBwdF9mbGFnczsKKysJX191NjQgcHRfaXNvbGF0aW9uOworKwlfX3UxNiBwdF9udW1fY3B1 X2ZiYW5rczsKKysJX191OCAgcHRfcnN2ZFs2XTsJCS8qIE1CWiAqLworKwlfX3U2NCBwdF9jcHVf ZmJhbmtzW01TSFZfTlVNX0NQVV9GRUFUVVJFU19CQU5LU107CisrCV9fdTY0IHB0X3JzdmQxWzJd OwkJLyogTUJaICovCisrI2lmIGRlZmluZWQoX194ODZfNjRfXykKKysJX191NjQgcHRfZGlzYWJs ZWRfeHNhdmU7CisrI2Vsc2UKKysJX191NjQgcHRfcnN2ZDI7CQkJLyogTUJaICovCisrI2VuZGlm CisrfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKKysKKyAvKiAvZGV2L21zaHYgKi8KKyAjZGVm aW5lIE1TSFZfQ1JFQVRFX1BBUlRJVElPTglfSU9XKE1TSFZfSU9DVEwsIDB4MDAsIHN0cnVjdCBt c2h2X2NyZWF0ZV9wYXJ0aXRpb24pCisgCitAQCAtODksNyArMTIzLDcgQEAgZW51bSB7CisgICog QHJzdmQ6IE1CWgorICAqCisgICogTWFwIG9yIHVubWFwIGEgcmVnaW9uIG9mIHVzZXJzcGFjZSBt ZW1vcnkgdG8gR3Vlc3QgUGh5c2ljYWwgQWRkcmVzc2VzIChHUEEpLgorLSAqIE1hcHBpbmdzIGNh bid0IG92ZXJsYXAgaW4gR1BBIHNwYWNlIG9yIHVzZXJzcGFjZS4KKysgKiBNYXBwaW5ncyBjYW4n dCBvdmVybGFwIGluIEdQQSBzcGFjZS4KKyAgKiBUbyB1bm1hcCwgdGhlc2UgZmllbGRzIG11c3Qg bWF0Y2ggYW4gZXhpc3RpbmcgbWFwcGluZy4KKyAgKi8KKyBzdHJ1Y3QgbXNodl91c2VyX21lbV9y ZWdpb24geworQEAgLTI4OCw0ICszMjIsODQgQEAgc3RydWN0IG1zaHZfZ2V0X3NldF92cF9zdGF0 ZSB7CisgICogI2RlZmluZSBNU0hWX1JPT1RfSFZDQUxMCQkJX0lPV1IoTVNIVl9JT0NUTCwgMHgw Nywgc3RydWN0IG1zaHZfcm9vdF9odmNhbGwpCisgICovCisgCisrLyogU3RydWN0dXJlIGRlZmlu aXRpb25zLCBtYWNyb3MgYW5kIElPQ1RMcyBmb3IgbXNodl92dGwgKi8KKysKKysjZGVmaW5lIE1T SFZfQ0FQX0NPUkVfQVBJX1NUQUJMRSAgICAgICAgMHgwCisrI2RlZmluZSBNU0hWX0NBUF9SRUdJ U1RFUl9QQUdFICAgICAgICAgIDB4MQorKyNkZWZpbmUgTVNIVl9DQVBfVlRMX1JFVFVSTl9BQ1RJ T04gICAgICAweDIKKysjZGVmaW5lIE1TSFZfQ0FQX0RSNl9TSEFSRUQgICAgICAgICAgICAgMHgz CisrI2RlZmluZSBNU0hWX01BWF9SVU5fTVNHX1NJWkUgICAgICAgICAgICAgICAgMjU2CisrCisr c3RydWN0IG1zaHZfdnBfcmVnaXN0ZXJzIHsKKysJX191MzIgY291bnQ7CS8qIHN1cHBvcnRzIG9u bHkgMSByZWdpc3RlciBhdCBhIHRpbWUgKi8KKysJX191MzIgcmVzZXJ2ZWQ7IC8qIFJlc2VydmVk IGZvciBhbGlnbm1lbnQgb3IgZnV0dXJlIHVzZSAqLworKwlfX3U2NCByZWdzX3B0cjsJLyogcG9p bnRlciB0byBzdHJ1Y3QgaHZfcmVnaXN0ZXJfYXNzb2MgKi8KKyt9OworKworK3N0cnVjdCBtc2h2 X3Z0bF9zZXRfZXZlbnRmZCB7CisrCV9fczMyIGZkOworKwlfX3UzMiBmbGFnOworK307CisrCisr c3RydWN0IG1zaHZfdnRsX3NpZ25hbF9ldmVudCB7CisrCV9fdTMyIGNvbm5lY3Rpb25faWQ7Cisr CV9fdTMyIGZsYWc7CisrfTsKKysKKytzdHJ1Y3QgbXNodl92dGxfc2ludF9wb3N0X21zZyB7Cisr CV9fdTY0IG1lc3NhZ2VfdHlwZTsKKysJX191MzIgY29ubmVjdGlvbl9pZDsKKysJX191MzIgcGF5 bG9hZF9zaXplOyAvKiBNdXN0IG5vdCBleGNlZWQgSFZfTUVTU0FHRV9QQVlMT0FEX0JZVEVfQ09V TlQgKi8KKysJX191NjQgcGF5bG9hZF9wdHI7IC8qIHBvaW50ZXIgdG8gbWVzc2FnZSBwYXlsb2Fk IChieXRlcykgKi8KKyt9OworKworK3N0cnVjdCBtc2h2X3Z0bF9yYW1fZGlzcG9zaXRpb24gewor KwlfX3U2NCBzdGFydF9wZm47CisrCV9fdTY0IGxhc3RfcGZuOworK307CisrCisrc3RydWN0IG1z aHZfdnRsX3NldF9wb2xsX2ZpbGUgeworKwlfX3UzMiBjcHU7CisrCV9fdTMyIGZkOworK307Cisr Cisrc3RydWN0IG1zaHZfdnRsX2h2Y2FsbF9zZXR1cCB7CisrCV9fdTY0IGJpdG1hcF9hcnJheV9z aXplOyAvKiBzdG9yZXMgbnVtYmVyIG9mIGJ5dGVzICovCisrCV9fdTY0IGFsbG93X2JpdG1hcF9w dHI7CisrfTsKKysKKytzdHJ1Y3QgbXNodl92dGxfaHZjYWxsIHsKKysJX191NjQgY29udHJvbDsg ICAgICAvKiBIeXBlcmNhbGwgY29udHJvbCBjb2RlICovCisrCV9fdTY0IGlucHV0X3NpemU7ICAg LyogU2l6ZSBvZiB0aGUgaW5wdXQgZGF0YSAqLworKwlfX3U2NCBpbnB1dF9wdHI7ICAgIC8qIFBv aW50ZXIgdG8gdGhlIGlucHV0IHN0cnVjdCAqLworKwlfX3U2NCBzdGF0dXM7ICAgICAgIC8qIFN0 YXR1cyBvZiB0aGUgaHlwZXJjYWxsIChvdXRwdXQpICovCisrCV9fdTY0IG91dHB1dF9zaXplOyAg LyogU2l6ZSBvZiB0aGUgb3V0cHV0IGRhdGEgKi8KKysJX191NjQgb3V0cHV0X3B0cjsgICAvKiBQ b2ludGVyIHRvIHRoZSBvdXRwdXQgc3RydWN0ICovCisrfTsKKysKKytzdHJ1Y3QgbXNodl9zaW50 X21hc2sgeworKwlfX3U4IG1hc2s7CisrCV9fdTggcmVzZXJ2ZWRbN107CisrfTsKKysKKysvKiAv ZGV2L21zaHYgZGV2aWNlIElPQ1RMICovCisrI2RlZmluZSBNU0hWX0NIRUNLX0VYVEVOU0lPTiAg ICBfSU9XKE1TSFZfSU9DVEwsIDB4MDAsIF9fdTMyKQorKworKy8qIHZ0bCBkZXZpY2UgKi8KKysj ZGVmaW5lIE1TSFZfQ1JFQVRFX1ZUTAkJCV9JT1IoTVNIVl9JT0NUTCwgMHgxRCwgY2hhcikKKysj ZGVmaW5lIE1TSFZfQUREX1ZUTDBfTUVNT1JZCV9JT1coTVNIVl9JT0NUTCwgMHgyMSwgc3RydWN0 IG1zaHZfdnRsX3JhbV9kaXNwb3NpdGlvbikKKysjZGVmaW5lIE1TSFZfU0VUX1BPTExfRklMRQkJ X0lPVyhNU0hWX0lPQ1RMLCAweDI1LCBzdHJ1Y3QgbXNodl92dGxfc2V0X3BvbGxfZmlsZSkKKysj ZGVmaW5lIE1TSFZfUkVUVVJOX1RPX0xPV0VSX1ZUTAlfSU8oTVNIVl9JT0NUTCwgMHgyNykKKysj ZGVmaW5lIE1TSFZfR0VUX1ZQX1JFR0lTVEVSUwkJX0lPV1IoTVNIVl9JT0NUTCwgMHgwNSwgc3Ry dWN0IG1zaHZfdnBfcmVnaXN0ZXJzKQorKyNkZWZpbmUgTVNIVl9TRVRfVlBfUkVHSVNURVJTCQlf SU9XKE1TSFZfSU9DVEwsIDB4MDYsIHN0cnVjdCBtc2h2X3ZwX3JlZ2lzdGVycykKKysKKysvKiBW TUJ1cyBkZXZpY2UgSU9DVExzICovCisrI2RlZmluZSBNU0hWX1NJTlRfU0lHTkFMX0VWRU5UICAg IF9JT1coTVNIVl9JT0NUTCwgMHgyMiwgc3RydWN0IG1zaHZfdnRsX3NpZ25hbF9ldmVudCkKKysj ZGVmaW5lIE1TSFZfU0lOVF9QT1NUX01FU1NBR0UgICAgX0lPVyhNU0hWX0lPQ1RMLCAweDIzLCBz dHJ1Y3QgbXNodl92dGxfc2ludF9wb3N0X21zZykKKysjZGVmaW5lIE1TSFZfU0lOVF9TRVRfRVZF TlRGRCAgICAgX0lPVyhNU0hWX0lPQ1RMLCAweDI0LCBzdHJ1Y3QgbXNodl92dGxfc2V0X2V2ZW50 ZmQpCisrI2RlZmluZSBNU0hWX1NJTlRfUEFVU0VfTUVTU0FHRV9TVFJFQU0gICAgIF9JT1coTVNI Vl9JT0NUTCwgMHgyNSwgc3RydWN0IG1zaHZfc2ludF9tYXNrKQorKworKy8qIGh2X2h2Y2FsbCBk ZXZpY2UgKi8KKysjZGVmaW5lIE1TSFZfSFZDQUxMX1NFVFVQICAgICAgICBfSU9XKE1TSFZfSU9D VEwsIDB4MUUsIHN0cnVjdCBtc2h2X3Z0bF9odmNhbGxfc2V0dXApCisrI2RlZmluZSBNU0hWX0hW Q0FMTCAgICAgICAgICAgICAgX0lPV1IoTVNIVl9JT0NUTCwgMHgxRiwgc3RydWN0IG1zaHZfdnRs X2h2Y2FsbCkKKyAjZW5kaWYKK2RpZmYgLS1naXQgYS9saW51eC1oZWFkZXJzL2xpbnV4L3BzcC1z ZXYuaCBiL2xpbnV4LWhlYWRlcnMvbGludXgvcHNwLXNldi5oCitpbmRleCBjNTI1MTI1ZWE4Li45 NDc5OTI4YTRhIDEwMDY0NAorLS0tIGEvbGludXgtaGVhZGVycy9saW51eC9wc3Atc2V2LmgKKysr KyBiL2xpbnV4LWhlYWRlcnMvbGludXgvcHNwLXNldi5oCitAQCAtNDcsMzIgKzQ3LDMyIEBAIHR5 cGVkZWYgZW51bSB7CisgCSAqIHdpdGggcG9zc2libGUgdmFsdWVzIGZyb20gdGhlIHNwZWNpZmlj YXRpb24uCisgCSAqLworIAlTRVZfUkVUX05PX0ZXX0NBTEwgPSAtMSwKKy0JU0VWX1JFVF9TVUND RVNTID0gMCwKKy0JU0VWX1JFVF9JTlZBTElEX1BMQVRGT1JNX1NUQVRFLAorLQlTRVZfUkVUX0lO VkFMSURfR1VFU1RfU1RBVEUsCistCVNFVl9SRVRfSU5BVkxJRF9DT05GSUcsCisrCVNFVl9SRVRf U1VDQ0VTUyAgICAgICAgICAgICAgICAgICAgPSAwLAorKwlTRVZfUkVUX0lOVkFMSURfUExBVEZP Uk1fU1RBVEUgICAgID0gMHgwMDAxLAorKwlTRVZfUkVUX0lOVkFMSURfR1VFU1RfU1RBVEUgICAg ICAgID0gMHgwMDAyLAorKwlTRVZfUkVUX0lOQVZMSURfQ09ORklHICAgICAgICAgICAgID0gMHgw MDAzLAorIAlTRVZfUkVUX0lOVkFMSURfQ09ORklHID0gU0VWX1JFVF9JTkFWTElEX0NPTkZJRywK Ky0JU0VWX1JFVF9JTlZBTElEX0xFTiwKKy0JU0VWX1JFVF9BTFJFQURZX09XTkVELAorLQlTRVZf UkVUX0lOVkFMSURfQ0VSVElGSUNBVEUsCistCVNFVl9SRVRfUE9MSUNZX0ZBSUxVUkUsCistCVNF Vl9SRVRfSU5BQ1RJVkUsCistCVNFVl9SRVRfSU5WQUxJRF9BRERSRVNTLAorLQlTRVZfUkVUX0JB RF9TSUdOQVRVUkUsCistCVNFVl9SRVRfQkFEX01FQVNVUkVNRU5ULAorLQlTRVZfUkVUX0FTSURf T1dORUQsCistCVNFVl9SRVRfSU5WQUxJRF9BU0lELAorLQlTRVZfUkVUX1dCSU5WRF9SRVFVSVJF RCwKKy0JU0VWX1JFVF9ERkZMVVNIX1JFUVVJUkVELAorLQlTRVZfUkVUX0lOVkFMSURfR1VFU1Qs CistCVNFVl9SRVRfSU5WQUxJRF9DT01NQU5ELAorLQlTRVZfUkVUX0FDVElWRSwKKy0JU0VWX1JF VF9IV1NFVl9SRVRfUExBVEZPUk0sCistCVNFVl9SRVRfSFdTRVZfUkVUX1VOU0FGRSwKKy0JU0VW X1JFVF9VTlNVUFBPUlRFRCwKKy0JU0VWX1JFVF9JTlZBTElEX1BBUkFNLAorLQlTRVZfUkVUX1JF U09VUkNFX0xJTUlULAorLQlTRVZfUkVUX1NFQ1VSRV9EQVRBX0lOVkFMSUQsCisrCVNFVl9SRVRf SU5WQUxJRF9MRU4gICAgICAgICAgICAgICAgPSAweDAwMDQsCisrCVNFVl9SRVRfQUxSRUFEWV9P V05FRCAgICAgICAgICAgICAgPSAweDAwMDUsCisrCVNFVl9SRVRfSU5WQUxJRF9DRVJUSUZJQ0FU RSAgICAgICAgPSAweDAwMDYsCisrCVNFVl9SRVRfUE9MSUNZX0ZBSUxVUkUgICAgICAgICAgICAg PSAweDAwMDcsCisrCVNFVl9SRVRfSU5BQ1RJVkUgICAgICAgICAgICAgICAgICAgPSAweDAwMDgs CisrCVNFVl9SRVRfSU5WQUxJRF9BRERSRVNTICAgICAgICAgICAgPSAweDAwMDksCisrCVNFVl9S RVRfQkFEX1NJR05BVFVSRSAgICAgICAgICAgICAgPSAweDAwMEEsCisrCVNFVl9SRVRfQkFEX01F QVNVUkVNRU5UICAgICAgICAgICAgPSAweDAwMEIsCisrCVNFVl9SRVRfQVNJRF9PV05FRCAgICAg ICAgICAgICAgICAgPSAweDAwMEMsCisrCVNFVl9SRVRfSU5WQUxJRF9BU0lEICAgICAgICAgICAg ICAgPSAweDAwMEQsCisrCVNFVl9SRVRfV0JJTlZEX1JFUVVJUkVEICAgICAgICAgICAgPSAweDAw MEUsCisrCVNFVl9SRVRfREZGTFVTSF9SRVFVSVJFRCAgICAgICAgICAgPSAweDAwMEYsCisrCVNF Vl9SRVRfSU5WQUxJRF9HVUVTVCAgICAgICAgICAgICAgPSAweDAwMTAsCisrCVNFVl9SRVRfSU5W QUxJRF9DT01NQU5EICAgICAgICAgICAgPSAweDAwMTEsCisrCVNFVl9SRVRfQUNUSVZFICAgICAg ICAgICAgICAgICAgICAgPSAweDAwMTIsCisrCVNFVl9SRVRfSFdTRVZfUkVUX1BMQVRGT1JNICAg ICAgICAgPSAweDAwMTMsCisrCVNFVl9SRVRfSFdTRVZfUkVUX1VOU0FGRSAgICAgICAgICAgPSAw eDAwMTQsCisrCVNFVl9SRVRfVU5TVVBQT1JURUQgICAgICAgICAgICAgICAgPSAweDAwMTUsCisr CVNFVl9SRVRfSU5WQUxJRF9QQVJBTSAgICAgICAgICAgICAgPSAweDAwMTYsCisrCVNFVl9SRVRf UkVTT1VSQ0VfTElNSVQgICAgICAgICAgICAgPSAweDAwMTcsCisrCVNFVl9SRVRfU0VDVVJFX0RB VEFfSU5WQUxJRCAgICAgICAgPSAweDAwMTgsCisgCVNFVl9SRVRfSU5WQUxJRF9QQUdFX1NJWkUg ICAgICAgICAgPSAweDAwMTksCisgCVNFVl9SRVRfSU5WQUxJRF9QQUdFX1NUQVRFICAgICAgICAg PSAweDAwMUEsCisgCVNFVl9SRVRfSU5WQUxJRF9NREFUQV9FTlRSWSAgICAgICAgPSAweDAwMUIs CitAQCAtODcsNiArODcsMjIgQEAgdHlwZWRlZiBlbnVtIHsKKyAJU0VWX1JFVF9SRVNUT1JFX1JF UVVJUkVEICAgICAgICAgICA9IDB4MDAyNSwKKyAJU0VWX1JFVF9STVBfSU5JVElBTElaQVRJT05f RkFJTEVEICA9IDB4MDAyNiwKKyAJU0VWX1JFVF9JTlZBTElEX0tFWSAgICAgICAgICAgICAgICA9 IDB4MDAyNywKKysJU0VWX1JFVF9TSFVURE9XTl9JTkNPTVBMRVRFICAgICAgICA9IDB4MDAyOCwK KysJU0VWX1JFVF9JTkNPUlJFQ1RfQlVGRkVSX0xFTkdUSAkgICA9IDB4MDAzMCwKKysJU0VWX1JF VF9FWFBBTkRfQlVGRkVSX0xFTkdUSF9SRVFVRVNUID0gMHgwMDMxLAorKwlTRVZfUkVUX1NQRE1f UkVRVUVTVCAgICAgICAgICAgICAgID0gMHgwMDMyLAorKwlTRVZfUkVUX1NQRE1fRVJST1IgICAg ICAgICAgICAgICAgID0gMHgwMDMzLAorKwlTRVZfUkVUX1NFVl9TVEFUVVNfRVJSX0lOX0RFVl9D T05OID0gMHgwMDM1LAorKwlTRVZfUkVUX1NFVl9TVEFUVVNfSU5WQUxJRF9ERVZfQ1RYID0gMHgw MDM2LAorKwlTRVZfUkVUX1NFVl9TVEFUVVNfSU5WQUxJRF9URElfQ1RYID0gMHgwMDM3LAorKwlT RVZfUkVUX1NFVl9TVEFUVVNfSU5WQUxJRF9UREkgICAgID0gMHgwMDM4LAorKwlTRVZfUkVUX1NF Vl9TVEFUVVNfUkVDTEFJTV9SRVFVSVJFRCA9IDB4MDAzOSwKKysJU0VWX1JFVF9JTl9VU0UgICAg ICAgICAgICAgICAgICAgICA9IDB4MDAzQSwKKysJU0VWX1JFVF9TRVZfU1RBVFVTX0lOVkFMSURf REVWX1NUQVRFID0gMHgwMDNCLAorKwlTRVZfUkVUX1NFVl9TVEFUVVNfSU5WQUxJRF9URElfU1RB VEUgPSAweDAwM0MsCisrCVNFVl9SRVRfU0VWX1NUQVRVU19ERVZfQ0VSVF9DSEFOR0VEID0gMHgw MDNELAorKwlTRVZfUkVUX1NFVl9TVEFUVVNfUkVTWU5DX1JFUSAgICAgID0gMHgwMDNFLAorKwlT RVZfUkVUX1NFVl9TVEFUVVNfUkVTUE9OU0VfVE9PX0xBUkdFID0gMHgwMDNGLAorIAlTRVZfUkVU X01BWCwKKyB9IHNldl9yZXRfY29kZTsKKyAKK2RpZmYgLS1naXQgYS9saW51eC1oZWFkZXJzL2xp bnV4L3ZmaW8uaCBiL2xpbnV4LWhlYWRlcnMvbGludXgvdmZpby5oCitpbmRleCA0ZDk2ZDFmYzEy Li43MjBlZGZlZTdhIDEwMDY0NAorLS0tIGEvbGludXgtaGVhZGVycy9saW51eC92ZmlvLmgKKysr KyBiL2xpbnV4LWhlYWRlcnMvbGludXgvdmZpby5oCitAQCAtMTQsNiArMTQsNyBAQAorIAorICNp bmNsdWRlIDxsaW51eC90eXBlcy5oPgorICNpbmNsdWRlIDxsaW51eC9pb2N0bC5oPgorKyNpbmNs dWRlIDxsaW51eC9zdGRkZWYuaD4KKyAKKyAjZGVmaW5lIFZGSU9fQVBJX1ZFUlNJT04JMAorIAor QEAgLTE0NzgsNiArMTQ3OSwzMyBAQCBzdHJ1Y3QgdmZpb19kZXZpY2VfZmVhdHVyZV9idXNfbWFz dGVyIHsKKyB9OworICNkZWZpbmUgVkZJT19ERVZJQ0VfRkVBVFVSRV9CVVNfTUFTVEVSIDEwCisg CisrLyoqCisrICogVXBvbiBWRklPX0RFVklDRV9GRUFUVVJFX0dFVCBjcmVhdGUgYSBkbWFfYnVm IGZkIGZvciB0aGUKKysgKiByZWdpb25zIHNlbGVjdGVkLgorKyAqCisrICogb3Blbl9mbGFncyBh cmUgdGhlIHR5cGljYWwgZmxhZ3MgcGFzc2VkIHRvIG9wZW4oMiksIGVnIE9fUkRXUiwgT19DTE9F WEVDLAorKyAqIGV0Yy4gb2Zmc2V0L2xlbmd0aCBzcGVjaWZ5IGEgc2xpY2Ugb2YgdGhlIHJlZ2lv biB0byBjcmVhdGUgdGhlIGRtYWJ1ZiBmcm9tLgorKyAqIG5yX3JhbmdlcyBpcyB0aGUgdG90YWwg bnVtYmVyIG9mIChQMlAgRE1BKSByYW5nZXMgdGhhdCBjb21wcmlzZSB0aGUgZG1hYnVmLgorKyAq CisrICogZmxhZ3Mgc2hvdWxkIGJlIDAuCisrICoKKysgKiBSZXR1cm46IFRoZSBmZCBudW1iZXIg b24gc3VjY2VzcywgLTEgYW5kIGVycm5vIGlzIHNldCBvbiBmYWlsdXJlLgorKyAqLworKyNkZWZp bmUgVkZJT19ERVZJQ0VfRkVBVFVSRV9ETUFfQlVGIDExCisrCisrc3RydWN0IHZmaW9fcmVnaW9u X2RtYV9yYW5nZSB7CisrCV9fdTY0IG9mZnNldDsKKysJX191NjQgbGVuZ3RoOworK307CisrCisr c3RydWN0IHZmaW9fZGV2aWNlX2ZlYXR1cmVfZG1hX2J1ZiB7CisrCV9fdTMyCXJlZ2lvbl9pbmRl eDsKKysJX191MzIJb3Blbl9mbGFnczsKKysJX191MzIgICBmbGFnczsKKysJX191MzIgICBucl9y YW5nZXM7CisrCXN0cnVjdCB2ZmlvX3JlZ2lvbl9kbWFfcmFuZ2UgZG1hX3Jhbmdlc1tdIF9fY291 bnRlZF9ieShucl9yYW5nZXMpOworK307CisrCisgLyogLS0tLS0tLS0gQVBJIGZvciBUeXBlMSBW RklPIElPTU1VIC0tLS0tLS0tICovCisgCisgLyoqCistLSAKKzIuNTIuMAorCgpkaWZmIC0tZ2l0 IGEva3ZtLW1pZ3JhdGlvbi1SZW1vdmUtZXJyb3ItdmFyaWFudC1vZi12bXN0YXRlX3NhdmVfc3Rh dGUucGF0Y2ggYi9rdm0tbWlncmF0aW9uLVJlbW92ZS1lcnJvci12YXJpYW50LW9mLXZtc3RhdGVf c2F2ZV9zdGF0ZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZDJh ZWVjCi0tLSAvZGV2L251bGwKKysrIGIva3ZtLW1pZ3JhdGlvbi1SZW1vdmUtZXJyb3ItdmFyaWFu dC1vZi12bXN0YXRlX3NhdmVfc3RhdGUucGF0Y2gKQEAgLTAsMCArMSw0NDYgQEAKK0Zyb20gNjcz Mzk5YzhkM2VlNzQ3YzExMDcxNTg5YmNiZmY1ZTMwNDk2ZTQ5MCBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKK0Zyb206IEFydW4gTWVub24gPGFybWVub25AcmVkaGF0LmNvbT4KK0RhdGU6IFRodSwg MTggU2VwIDIwMjUgMjA6NTM6NDEgKzA1MzAKK1N1YmplY3Q6IFtQQVRDSCAwODcvMTE2XSBtaWdy YXRpb246IFJlbW92ZSBlcnJvciB2YXJpYW50IG9mCisgdm1zdGF0ZV9zYXZlX3N0YXRlKCkgZnVu Y3Rpb24KK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJz ZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworUkgtQXV0aG9yOiBS b2RvbGZvIFZpY2sgPE5vbmU+CitSSC1NZXJnZVJlcXVlc3Q6IDQ4NjogQWRkIERNQUJVRiBzdXBw b3J0CitSSC1KaXJhOiBSSEVMLTEzODQ5NAorUkgtQWNrZWQtYnk6IEPDqWRyaWMgTGUgR29hdGVy IDxjbGdAcmVkaGF0LmNvbT4KK1JILUFja2VkLWJ5OiBFcmljIEF1Z2VyIDxlcmljLmF1Z2VyQHJl ZGhhdC5jb20+CitSSC1Db21taXQ6IFs3MS8xMDBdIGJhMjI5YzUxZTY3MzE5OGZlNGMyMDgyYjJm OGI1OThlZTgwODM5YWUgKHJvdmljazEvcWVtdS1rdm0pCisKK1RoaXMgY29tbWl0IHJlbW92ZXMg dGhlIHJlZHVuZGFudCB2bXN0YXRlX3NhdmVfc3RhdGVfd2l0aF9lcnIoKQorZnVuY3Rpb24uCisK K1ByZXZpb3VzbHksIGNvbW1pdCA5NjkyOThmOWQ3IGludHJvZHVjZWQgdm1zdGF0ZV9zYXZlX3N0 YXRlX3dpdGhfZXJyKCkKK3RvIGhhbmRsZSBlcnJvciBwcm9wYWdhdGlvbiwgd2hpbGUgdm1zdGF0 ZV9zYXZlX3N0YXRlKCkgZXhpc3RlZCBmb3IKK25vbi1lcnJvciBzY2VuYXJpb3MuCitUaGlzIGlz IGJlY2F1c2UgdGhlcmUgd2VyZSBjb2RlIHBhdGhzIHdoZXJlIHZtc3RhdGVfc2F2ZV9zdGF0ZV92 KCkKKyhjYWxsZWQgaW50ZXJuYWxseSBieSB2bXN0YXRlX3NhdmVfc3RhdGUpIGRpZCBub3QgZXhw bGljaXRseSBzZXQKK2Vycm9ycyBvbiBmYWlsdXJlLgorCitUaGlzIGNoYW5nZSB1bmlmaWVzIGVy cm9yIGhhbmRsaW5nIGJ5CisgLSB1cGRhdGluZyB2bXN0YXRlX3NhdmVfc3RhdGUoKSB0byBhY2Nl cHQgYW4gRXJyb3IgKiplcnJwIGFyZ3VtZW50LgorIC0gdm1zdGF0ZV9zYXZlX3N0YXRlX3YoKSBl bnN1cmVzIGVycm9ycyBhcmUgc2V0IGRpcmVjdGx5IHdpdGhpbiB0aGUgZXJycAorICAgb2JqZWN0 LCBlbGltaW5hdGluZyB0aGUgbmVlZCBmb3IgdHdvIHNlcGFyYXRlIGZ1bmN0aW9ucy4KKworQWxs IGNhbGxzIHRvIHZtc3RhdGVfc2F2ZV9zdGF0ZV93aXRoX2VycigpIGFyZSByZXBsYWNlZCB3aXRo Cit2bXN0YXRlX3NhdmVfc3RhdGUoKS4gVGhpcyBzaW1wbGlmaWVzIHRoZSBBUEkgYW5kIGltcHJv dmVzIGNvZGUKK21haW50YWluYWJpbGl0eS4KKwordm1zdGF0ZV9zYXZlX3N0YXRlKCkgdGhhdCBv bmx5IGNhbGxzIHZtc3RhdGVfc2F2ZV9zdGF0ZV92KCksCitieSBpbmZlcmVuY2UsIGFsc28gaGFz IGVycm9ycyBzZXQgaW4gZXJycCBpbiBjYXNlIG9mIGZhaWx1cmUuCitUaGUgZXJyb3JzIGFyZSBy ZXBvcnRlZCB1c2luZyBlcnJvcl9yZXBvcnRfZXJyKCkuCitJZiB3ZSB3YW50IHRoZSBmdW5jdGlv biB0byBleGl0IG9uIGVycm9yLCB0aGVuICZlcnJvcl9mYXRhbCBpcworcGFzc2VkLgorCitSZXZp ZXdlZC1ieTogRmFiaWFubyBSb3NhcyA8ZmFyb3Nhc0BzdXNlLmRlPgorU2lnbmVkLW9mZi1ieTog QXJ1biBNZW5vbiA8YXJtZW5vbkByZWRoYXQuY29tPgorVGVzdGVkLWJ5OiBGYWJpYW5vIFJvc2Fz IDxmYXJvc2FzQHN1c2UuZGU+CitSZXZpZXdlZC1ieTogQWtpaGlrbyBPZGFraSA8b2Rha2lAcnNn LmNpLmkudS10b2t5by5hYy5qcD4KK0xpbms6IGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL3IvMjAy NTA5MTgtcHJvcGFnYXRlX3RwbV9lcnJvci12MTQtMjQtMzZmMTFhNmZiOWQzQHJlZGhhdC5jb20K K1NpZ25lZC1vZmYtYnk6IFBldGVyIFh1IDxwZXRlcnhAcmVkaGF0LmNvbT4KKyhjaGVycnkgcGlj a2VkIGZyb20gY29tbWl0IDZmOWZjNmY1MDEyMzQ0MjkyZjcwMTRlMDc5ZTUyMjViODk4ODM4M2Qp CitTaWduZWQtb2ZmLWJ5OiBFcmljIEF1Z2VyIDxlcmljLmF1Z2VyQHJlZGhhdC5jb20+CistLS0K KyBody9kaXNwbGF5L3ZpcnRpby1ncHUuYyAgICAgfCAgMyArKy0KKyBody9wY2kvcGNpLmMgICAg ICAgICAgICAgICAgfCAgMiArLQorIGh3L3MzOTB4L3ZpcnRpby1jY3cuYyAgICAgICB8ICAyICst CisgaHcvc2NzaS9zcGFwcl92c2NzaS5jICAgICAgIHwgIDIgKy0KKyBody92ZmlvL3BjaS5jICAg ICAgICAgICAgICAgfCAgNCArKy0tCisgaHcvdmlydGlvL3ZpcnRpby1tbWlvLmMgICAgIHwgIDIg Ky0KKyBody92aXJ0aW8vdmlydGlvLXBjaS5jICAgICAgfCAgMiArLQorIGh3L3ZpcnRpby92aXJ0 aW8uYyAgICAgICAgICB8ICA2ICsrKystLQorIGluY2x1ZGUvbWlncmF0aW9uL3Ztc3RhdGUuaCB8 ICAyIC0tCisgbWlncmF0aW9uL2Nwci5jICAgICAgICAgICAgIHwgIDMgKy0tCisgbWlncmF0aW9u L3NhdmV2bS5jICAgICAgICAgIHwgMTEgKysrKysrKystLS0KKyBtaWdyYXRpb24vdm1zdGF0ZS10 eXBlcy5jICAgfCAyNSArKysrKysrKysrKysrKysrKystLS0tLS0tCisgbWlncmF0aW9uL3Ztc3Rh dGUuYyAgICAgICAgIHwgMTAgKystLS0tLS0tLQorIHRlc3RzL3VuaXQvdGVzdC12bXN0YXRlLmMg ICB8IDIwICsrKysrKysrKysrKysrKysrLS0tCisgdWkvdmRhZ2VudC5jICAgICAgICAgICAgICAg IHwgIDMgKystCisgMTUgZmlsZXMgY2hhbmdlZCwgNjEgaW5zZXJ0aW9ucygrKSwgMzYgZGVsZXRp b25zKC0pCisKK2RpZmYgLS1naXQgYS9ody9kaXNwbGF5L3ZpcnRpby1ncHUuYyBiL2h3L2Rpc3Bs YXkvdmlydGlvLWdwdS5jCitpbmRleCA1ZGMzMWJjNmJmLi40NzdlYzcwMGExIDEwMDY0NAorLS0t IGEvaHcvZGlzcGxheS92aXJ0aW8tZ3B1LmMKKysrKyBiL2h3L2Rpc3BsYXkvdmlydGlvLWdwdS5j CitAQCAtMTI0Niw3ICsxMjQ2LDggQEAgc3RhdGljIGludCB2aXJ0aW9fZ3B1X3NhdmUoUUVNVUZp bGUgKmYsIHZvaWQgKm9wYXF1ZSwgc2l6ZV90IHNpemUsCisgICAgIH0KKyAgICAgcWVtdV9wdXRf YmUzMihmLCAwKTsgLyogZW5kIG9mIGxpc3QgKi8KKyAKKy0gICAgcmV0dXJuIHZtc3RhdGVfc2F2 ZV9zdGF0ZShmLCAmdm1zdGF0ZV92aXJ0aW9fZ3B1X3NjYW5vdXRzLCBnLCBOVUxMKTsKKysgICAg cmV0dXJuIHZtc3RhdGVfc2F2ZV9zdGF0ZShmLCAmdm1zdGF0ZV92aXJ0aW9fZ3B1X3NjYW5vdXRz LCBnLCBOVUxMLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZlcnJvcl9mYXRhbCk7 CisgfQorIAorIHN0YXRpYyBib29sIHZpcnRpb19ncHVfbG9hZF9yZXN0b3JlX21hcHBpbmcoVmly dElPR1BVICpnLAorZGlmZiAtLWdpdCBhL2h3L3BjaS9wY2kuYyBiL2h3L3BjaS9wY2kuYworaW5k ZXggNWIzN2I3MDgxNS4uZDFjMjI5OTliOSAxMDA2NDQKKy0tLSBhL2h3L3BjaS9wY2kuYworKysr IGIvaHcvcGNpL3BjaS5jCitAQCAtOTI2LDcgKzkyNiw3IEBAIHZvaWQgcGNpX2RldmljZV9zYXZl KFBDSURldmljZSAqcywgUUVNVUZpbGUgKmYpCisgICAgICAqIFRoaXMgbWFrZXMgdXMgY29tcGF0 aWJsZSB3aXRoIG9sZCBkZXZpY2VzCisgICAgICAqIHdoaWNoIG5ldmVyIHNldCBvciBjbGVhciB0 aGlzIGJpdC4gKi8KKyAgICAgcy0+Y29uZmlnW1BDSV9TVEFUVVNdICY9IH5QQ0lfU1RBVFVTX0lO VEVSUlVQVDsKKy0gICAgdm1zdGF0ZV9zYXZlX3N0YXRlKGYsICZ2bXN0YXRlX3BjaV9kZXZpY2Us IHMsIE5VTEwpOworKyAgICB2bXN0YXRlX3NhdmVfc3RhdGUoZiwgJnZtc3RhdGVfcGNpX2Rldmlj ZSwgcywgTlVMTCwgJmVycm9yX2ZhdGFsKTsKKyAgICAgLyogUmVzdG9yZSB0aGUgaW50ZXJydXB0 IHN0YXR1cyBiaXQuICovCisgICAgIHBjaV91cGRhdGVfaXJxX3N0YXR1cyhzKTsKKyB9CitkaWZm IC0tZ2l0IGEvaHcvczM5MHgvdmlydGlvLWNjdy5jIGIvaHcvczM5MHgvdmlydGlvLWNjdy5jCitp bmRleCA2YTk2NDFhMDNkLi40Y2IxY2VkMDAxIDEwMDY0NAorLS0tIGEvaHcvczM5MHgvdmlydGlv LWNjdy5jCisrKysgYi9ody9zMzkweC92aXJ0aW8tY2N3LmMKK0BAIC0xMTMwLDcgKzExMzAsNyBA QCBzdGF0aWMgaW50IHZpcnRpb19jY3dfbG9hZF9xdWV1ZShEZXZpY2VTdGF0ZSAqZCwgaW50IG4s IFFFTVVGaWxlICpmKQorIHN0YXRpYyB2b2lkIHZpcnRpb19jY3dfc2F2ZV9jb25maWcoRGV2aWNl U3RhdGUgKmQsIFFFTVVGaWxlICpmKQorIHsKKyAgICAgVmlydGlvQ2N3RGV2aWNlICpkZXYgPSBW SVJUSU9fQ0NXX0RFVklDRShkKTsKKy0gICAgdm1zdGF0ZV9zYXZlX3N0YXRlKGYsICZ2bXN0YXRl X3ZpcnRpb19jY3dfZGV2LCBkZXYsIE5VTEwpOworKyAgICB2bXN0YXRlX3NhdmVfc3RhdGUoZiwg JnZtc3RhdGVfdmlydGlvX2Njd19kZXYsIGRldiwgTlVMTCwgJmVycm9yX2ZhdGFsKTsKKyB9Cisg Cisgc3RhdGljIGludCB2aXJ0aW9fY2N3X2xvYWRfY29uZmlnKERldmljZVN0YXRlICpkLCBRRU1V RmlsZSAqZikKK2RpZmYgLS1naXQgYS9ody9zY3NpL3NwYXByX3ZzY3NpLmMgYi9ody9zY3NpL3Nw YXByX3ZzY3NpLmMKK2luZGV4IGRhMTczZjQ4NjcuLmYwYTdkZDJiODggMTAwNjQ0CistLS0gYS9o dy9zY3NpL3NwYXByX3ZzY3NpLmMKKysrKyBiL2h3L3Njc2kvc3BhcHJfdnNjc2kuYworQEAgLTYz MCw3ICs2MzAsNyBAQCBzdGF0aWMgdm9pZCB2c2NzaV9zYXZlX3JlcXVlc3QoUUVNVUZpbGUgKmYs IFNDU0lSZXF1ZXN0ICpzcmVxKQorICAgICB2c2NzaV9yZXEgKnJlcSA9IHNyZXEtPmhiYV9wcml2 YXRlOworICAgICBhc3NlcnQocmVxLT5hY3RpdmUpOworIAorLSAgICB2bXN0YXRlX3NhdmVfc3Rh dGUoZiwgJnZtc3RhdGVfc3BhcHJfdnNjc2lfcmVxLCByZXEsIE5VTEwpOworKyAgICB2bXN0YXRl X3NhdmVfc3RhdGUoZiwgJnZtc3RhdGVfc3BhcHJfdnNjc2lfcmVxLCByZXEsIE5VTEwsICZlcnJv cl9mYXRhbCk7CisgCisgICAgIHRyYWNlX3NwYXByX3ZzY3NpX3NhdmVfcmVxdWVzdChyZXEtPnF0 YWcsIHJlcS0+Y3VyX2Rlc2NfbnVtLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgcmVxLT5jdXJfZGVzY19vZmZzZXQpOworZGlmZiAtLWdpdCBhL2h3L3ZmaW8vcGNpLmMgYi9o dy92ZmlvL3BjaS5jCitpbmRleCBmNjk2ZTgxMTZmLi4zNzhiNDc1YjJjIDEwMDY0NAorLS0tIGEv aHcvdmZpby9wY2kuYworKysrIGIvaHcvdmZpby9wY2kuYworQEAgLTI4MjQsOCArMjgyNCw4IEBA IHN0YXRpYyBpbnQgdmZpb19wY2lfc2F2ZV9jb25maWcoVkZJT0RldmljZSAqdmJhc2VkZXYsIFFF TVVGaWxlICpmLCBFcnJvciAqKmVycnApCisgeworICAgICBWRklPUENJRGV2aWNlICp2ZGV2ID0g Y29udGFpbmVyX29mKHZiYXNlZGV2LCBWRklPUENJRGV2aWNlLCB2YmFzZWRldik7CisgCistICAg IHJldHVybiB2bXN0YXRlX3NhdmVfc3RhdGVfd2l0aF9lcnIoZiwgJnZtc3RhdGVfdmZpb19wY2lf Y29uZmlnLCB2ZGV2LCBOVUxMLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGVycnApOworKyAgICByZXR1cm4gdm1zdGF0ZV9zYXZlX3N0YXRlKGYsICZ2bXN0YXRlX3Zm aW9fcGNpX2NvbmZpZywgdmRldiwgTlVMTCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBlcnJwKTsKKyB9CisgCisgc3RhdGljIGludCB2ZmlvX3BjaV9sb2FkX2NvbmZpZyhWRklPRGV2 aWNlICp2YmFzZWRldiwgUUVNVUZpbGUgKmYpCitkaWZmIC0tZ2l0IGEvaHcvdmlydGlvL3ZpcnRp by1tbWlvLmMgYi9ody92aXJ0aW8vdmlydGlvLW1taW8uYworaW5kZXggMGE2ODg5MDlmYy4uZmI1 OGMzNjQ1MiAxMDA2NDQKKy0tLSBhL2h3L3ZpcnRpby92aXJ0aW8tbW1pby5jCisrKysgYi9ody92 aXJ0aW8vdmlydGlvLW1taW8uYworQEAgLTYxMyw3ICs2MTMsNyBAQCBzdGF0aWMgdm9pZCB2aXJ0 aW9fbW1pb19zYXZlX2V4dHJhX3N0YXRlKERldmljZVN0YXRlICpvcGFxdWUsIFFFTVVGaWxlICpm KQorIHsKKyAgICAgVmlydElPTU1JT1Byb3h5ICpwcm94eSA9IFZJUlRJT19NTUlPKG9wYXF1ZSk7 CisgCistICAgIHZtc3RhdGVfc2F2ZV9zdGF0ZShmLCAmdm1zdGF0ZV92aXJ0aW9fbW1pbywgcHJv eHksIE5VTEwpOworKyAgICB2bXN0YXRlX3NhdmVfc3RhdGUoZiwgJnZtc3RhdGVfdmlydGlvX21t aW8sIHByb3h5LCBOVUxMLCAmZXJyb3JfZmF0YWwpOworIH0KKyAKKyBzdGF0aWMgaW50IHZpcnRp b19tbWlvX2xvYWRfZXh0cmFfc3RhdGUoRGV2aWNlU3RhdGUgKm9wYXF1ZSwgUUVNVUZpbGUgKmYp CitkaWZmIC0tZ2l0IGEvaHcvdmlydGlvL3ZpcnRpby1wY2kuYyBiL2h3L3ZpcnRpby92aXJ0aW8t cGNpLmMKK2luZGV4IGFlODc1YmQxMDguLjkzN2UyMmYwOGEgMTAwNjQ0CistLS0gYS9ody92aXJ0 aW8vdmlydGlvLXBjaS5jCisrKysgYi9ody92aXJ0aW8vdmlydGlvLXBjaS5jCitAQCAtMTg4LDcg KzE4OCw3IEBAIHN0YXRpYyB2b2lkIHZpcnRpb19wY2lfc2F2ZV9leHRyYV9zdGF0ZShEZXZpY2VT dGF0ZSAqZCwgUUVNVUZpbGUgKmYpCisgeworICAgICBWaXJ0SU9QQ0lQcm94eSAqcHJveHkgPSB0 b192aXJ0aW9fcGNpX3Byb3h5KGQpOworIAorLSAgICB2bXN0YXRlX3NhdmVfc3RhdGUoZiwgJnZt c3RhdGVfdmlydGlvX3BjaSwgcHJveHksIE5VTEwpOworKyAgICB2bXN0YXRlX3NhdmVfc3RhdGUo ZiwgJnZtc3RhdGVfdmlydGlvX3BjaSwgcHJveHksIE5VTEwsICZlcnJvcl9mYXRhbCk7CisgfQor IAorIHN0YXRpYyBpbnQgdmlydGlvX3BjaV9sb2FkX2V4dHJhX3N0YXRlKERldmljZVN0YXRlICpk LCBRRU1VRmlsZSAqZikKK2RpZmYgLS1naXQgYS9ody92aXJ0aW8vdmlydGlvLmMgYi9ody92aXJ0 aW8vdmlydGlvLmMKK2luZGV4IGU2Y2JiYzg2MjQuLmE3MDYzZDU1NTUgMTAwNjQ0CistLS0gYS9o dy92aXJ0aW8vdmlydGlvLmMKKysrKyBiL2h3L3ZpcnRpby92aXJ0aW8uYworQEAgLTMwMTcsNiAr MzAxNyw3IEBAIGludCB2aXJ0aW9fc2F2ZShWaXJ0SU9EZXZpY2UgKnZkZXYsIFFFTVVGaWxlICpm KQorICAgICBWaXJ0aW9EZXZpY2VDbGFzcyAqdmRjID0gVklSVElPX0RFVklDRV9HRVRfQ0xBU1Mo dmRldik7CisgICAgIHVpbnQzMl90IGd1ZXN0X2ZlYXR1cmVzX2xvID0gKHZkZXYtPmd1ZXN0X2Zl YXR1cmVzICYgMHhmZmZmZmZmZik7CisgICAgIGludCBpOworKyAgICBFcnJvciAqbG9jYWxfZXJy ID0gTlVMTDsKKyAKKyAgICAgaWYgKGstPnNhdmVfY29uZmlnKSB7CisgICAgICAgICBrLT5zYXZl X2NvbmZpZyhxYnVzLT5wYXJlbnQsIGYpOworQEAgLTMwNjAsMTQgKzMwNjEsMTUgQEAgaW50IHZp cnRpb19zYXZlKFZpcnRJT0RldmljZSAqdmRldiwgUUVNVUZpbGUgKmYpCisgICAgIH0KKyAKKyAg ICAgaWYgKHZkYy0+dm1zZCkgeworLSAgICAgICAgaW50IHJldCA9IHZtc3RhdGVfc2F2ZV9zdGF0 ZShmLCB2ZGMtPnZtc2QsIHZkZXYsIE5VTEwpOworKyAgICAgICAgaW50IHJldCA9IHZtc3RhdGVf c2F2ZV9zdGF0ZShmLCB2ZGMtPnZtc2QsIHZkZXYsIE5VTEwsICZsb2NhbF9lcnIpOworICAgICAg ICAgaWYgKHJldCkgeworKyAgICAgICAgICAgIGVycm9yX3JlcG9ydF9lcnIobG9jYWxfZXJyKTsK KyAgICAgICAgICAgICByZXR1cm4gcmV0OworICAgICAgICAgfQorICAgICB9CisgCisgICAgIC8q IFN1YnNlY3Rpb25zICovCistICAgIHJldHVybiB2bXN0YXRlX3NhdmVfc3RhdGUoZiwgJnZtc3Rh dGVfdmlydGlvLCB2ZGV2LCBOVUxMKTsKKysgICAgcmV0dXJuIHZtc3RhdGVfc2F2ZV9zdGF0ZShm LCAmdm1zdGF0ZV92aXJ0aW8sIHZkZXYsIE5VTEwsICZlcnJvcl9mYXRhbCk7CisgfQorIAorIC8q IEEgd3JhcHBlciBmb3IgdXNlIGFzIGEgVk1TdGF0ZSAucHV0IGZ1bmN0aW9uICovCitkaWZmIC0t Z2l0IGEvaW5jbHVkZS9taWdyYXRpb24vdm1zdGF0ZS5oIGIvaW5jbHVkZS9taWdyYXRpb24vdm1z dGF0ZS5oCitpbmRleCBiOWE0MWNjMzhhLi40N2ExZGMxODEwIDEwMDY0NAorLS0tIGEvaW5jbHVk ZS9taWdyYXRpb24vdm1zdGF0ZS5oCisrKysgYi9pbmNsdWRlL21pZ3JhdGlvbi92bXN0YXRlLmgK K0BAIC0xMjA4LDggKzEyMDgsNiBAQCBleHRlcm4gY29uc3QgVk1TdGF0ZUluZm8gdm1zdGF0ZV9p bmZvX3FsaXN0OworIGludCB2bXN0YXRlX2xvYWRfc3RhdGUoUUVNVUZpbGUgKmYsIGNvbnN0IFZN U3RhdGVEZXNjcmlwdGlvbiAqdm1zZCwKKyAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKm9w YXF1ZSwgaW50IHZlcnNpb25faWQsIEVycm9yICoqZXJycCk7CisgaW50IHZtc3RhdGVfc2F2ZV9z dGF0ZShRRU1VRmlsZSAqZiwgY29uc3QgVk1TdGF0ZURlc2NyaXB0aW9uICp2bXNkLAorLSAgICAg ICAgICAgICAgICAgICAgICAgdm9pZCAqb3BhcXVlLCBKU09OV3JpdGVyICp2bWRlc2MpOworLWlu dCB2bXN0YXRlX3NhdmVfc3RhdGVfd2l0aF9lcnIoUUVNVUZpbGUgKmYsIGNvbnN0IFZNU3RhdGVE ZXNjcmlwdGlvbiAqdm1zZCwKKyAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKm9wYXF1ZSwg SlNPTldyaXRlciAqdm1kZXNjLCBFcnJvciAqKmVycnApOworIGludCB2bXN0YXRlX3NhdmVfc3Rh dGVfdihRRU1VRmlsZSAqZiwgY29uc3QgVk1TdGF0ZURlc2NyaXB0aW9uICp2bXNkLAorICAgICAg ICAgICAgICAgICAgICAgICAgICB2b2lkICpvcGFxdWUsIEpTT05Xcml0ZXIgKnZtZGVzYywKK2Rp ZmYgLS1naXQgYS9taWdyYXRpb24vY3ByLmMgYi9taWdyYXRpb24vY3ByLmMKK2luZGV4IDhhYmI2 ZGI3NmQuLjAzOGY0OGY4MTAgMTAwNjQ0CistLS0gYS9taWdyYXRpb24vY3ByLmMKKysrKyBiL21p Z3JhdGlvbi9jcHIuYworQEAgLTE4Miw5ICsxODIsOCBAQCBpbnQgY3ByX3N0YXRlX3NhdmUoTWln cmF0aW9uQ2hhbm5lbCAqY2hhbm5lbCwgRXJyb3IgKiplcnJwKQorICAgICBxZW11X3B1dF9iZTMy KGYsIFFFTVVfQ1BSX0ZJTEVfTUFHSUMpOworICAgICBxZW11X3B1dF9iZTMyKGYsIFFFTVVfQ1BS X0ZJTEVfVkVSU0lPTik7CisgCistICAgIHJldCA9IHZtc3RhdGVfc2F2ZV9zdGF0ZShmLCAmdm1z dGF0ZV9jcHJfc3RhdGUsICZjcHJfc3RhdGUsIDApOworKyAgICByZXQgPSB2bXN0YXRlX3NhdmVf c3RhdGUoZiwgJnZtc3RhdGVfY3ByX3N0YXRlLCAmY3ByX3N0YXRlLCAwLCBlcnJwKTsKKyAgICAg aWYgKHJldCkgeworLSAgICAgICAgZXJyb3Jfc2V0ZyhlcnJwLCAidm1zdGF0ZV9zYXZlX3N0YXRl IGVycm9yICVkIiwgcmV0KTsKKyAgICAgICAgIHFlbXVfZmNsb3NlKGYpOworICAgICAgICAgcmV0 dXJuIHJldDsKKyAgICAgfQorZGlmZiAtLWdpdCBhL21pZ3JhdGlvbi9zYXZldm0uYyBiL21pZ3Jh dGlvbi9zYXZldm0uYworaW5kZXggZjVhMWFiOTEwMS4uMWVhYjkxZDNhZCAxMDA2NDQKKy0tLSBh L21pZ3JhdGlvbi9zYXZldm0uYworKysrIGIvbWlncmF0aW9uL3NhdmV2bS5jCitAQCAtMTA1MCw4 ICsxMDUwLDggQEAgc3RhdGljIGludCB2bXN0YXRlX3NhdmUoUUVNVUZpbGUgKmYsIFNhdmVTdGF0 ZUVudHJ5ICpzZSwgSlNPTldyaXRlciAqdm1kZXNjLAorICAgICBpZiAoIXNlLT52bXNkKSB7Cisg ICAgICAgICB2bXN0YXRlX3NhdmVfb2xkX3N0eWxlKGYsIHNlLCB2bWRlc2MpOworICAgICB9IGVs c2UgeworLSAgICAgICAgcmV0ID0gdm1zdGF0ZV9zYXZlX3N0YXRlX3dpdGhfZXJyKGYsIHNlLT52 bXNkLCBzZS0+b3BhcXVlLCB2bWRlc2MsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgZXJycCk7CisrICAgICAgICByZXQgPSB2bXN0YXRlX3NhdmVfc3RhdGUoZiwg c2UtPnZtc2QsIHNlLT5vcGFxdWUsIHZtZGVzYywKKysgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBlcnJwKTsKKyAgICAgICAgIGlmIChyZXQpIHsKKyAgICAgICAgICAgICByZXR1cm4g cmV0OworICAgICAgICAgfQorQEAgLTEyNzksNiArMTI3OSw3IEBAIHZvaWQgcWVtdV9zYXZldm1f c3RhdGVfaGVhZGVyKFFFTVVGaWxlICpmKQorIHsKKyAgICAgTWlncmF0aW9uU3RhdGUgKnMgPSBt aWdyYXRlX2dldF9jdXJyZW50KCk7CisgICAgIEpTT05Xcml0ZXIgKnZtZGVzYyA9IHMtPnZtZGVz YzsKKysgICAgRXJyb3IgKmxvY2FsX2VyciA9IE5VTEw7CisgCisgICAgIHRyYWNlX3NhdmV2bV9z dGF0ZV9oZWFkZXIoKTsKKyAgICAgcWVtdV9wdXRfYmUzMihmLCBRRU1VX1ZNX0ZJTEVfTUFHSUMp OworQEAgLTEyOTcsNyArMTI5OCwxMSBAQCB2b2lkIHFlbXVfc2F2ZXZtX3N0YXRlX2hlYWRlcihR RU1VRmlsZSAqZikKKyAgICAgICAgICAgICBqc29uX3dyaXRlcl9zdGFydF9vYmplY3Qodm1kZXNj LCAiY29uZmlndXJhdGlvbiIpOworICAgICAgICAgfQorIAorLSAgICAgICAgdm1zdGF0ZV9zYXZl X3N0YXRlKGYsICZ2bXN0YXRlX2NvbmZpZ3VyYXRpb24sICZzYXZldm1fc3RhdGUsIHZtZGVzYyk7 CisrICAgICAgICB2bXN0YXRlX3NhdmVfc3RhdGUoZiwgJnZtc3RhdGVfY29uZmlndXJhdGlvbiwg JnNhdmV2bV9zdGF0ZSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICB2bWRlc2MsICZsb2Nh bF9lcnIpOworKyAgICAgICAgaWYgKGxvY2FsX2VycikgeworKyAgICAgICAgICAgIGVycm9yX3Jl cG9ydF9lcnIobG9jYWxfZXJyKTsKKysgICAgICAgIH0KKyAKKyAgICAgICAgIGlmICh2bWRlc2Mp IHsKKyAgICAgICAgICAgICBqc29uX3dyaXRlcl9lbmRfb2JqZWN0KHZtZGVzYyk7CitkaWZmIC0t Z2l0IGEvbWlncmF0aW9uL3Ztc3RhdGUtdHlwZXMuYyBiL21pZ3JhdGlvbi92bXN0YXRlLXR5cGVz LmMKK2luZGV4IGM1Y2ZkODYxZTMuLmExY2Q3YTk1ZmEgMTAwNjQ0CistLS0gYS9taWdyYXRpb24v dm1zdGF0ZS10eXBlcy5jCisrKysgYi9taWdyYXRpb24vdm1zdGF0ZS10eXBlcy5jCitAQCAtNTY1 LDEwICs1NjUsMTQgQEAgc3RhdGljIGludCBwdXRfdG1wKFFFTVVGaWxlICpmLCB2b2lkICpwdiwg c2l6ZV90IHNpemUsCisgICAgIGNvbnN0IFZNU3RhdGVEZXNjcmlwdGlvbiAqdm1zZCA9IGZpZWxk LT52bXNkOworICAgICB2b2lkICp0bXAgPSBnX21hbGxvYyhzaXplKTsKKyAgICAgaW50IHJldDsK KysgICAgRXJyb3IgKmxvY2FsX2VyciA9IE5VTEw7CisgCisgICAgIC8qIFdyaXRlcyB0aGUgcGFy ZW50IGZpZWxkIHdoaWNoIGlzIGF0IHRoZSBzdGFydCBvZiB0aGUgdG1wICovCisgICAgICoodm9p ZCAqKil0bXAgPSBwdjsKKy0gICAgcmV0ID0gdm1zdGF0ZV9zYXZlX3N0YXRlKGYsIHZtc2QsIHRt cCwgdm1kZXNjKTsKKysgICAgcmV0ID0gdm1zdGF0ZV9zYXZlX3N0YXRlKGYsIHZtc2QsIHRtcCwg dm1kZXNjLCAmbG9jYWxfZXJyKTsKKysgICAgaWYgKHJldCkgeworKyAgICAgICAgZXJyb3JfcmVw b3J0X2Vycihsb2NhbF9lcnIpOworKyAgICB9CisgICAgIGdfZnJlZSh0bXApOworIAorICAgICBy ZXR1cm4gcmV0OworQEAgLTY3NiwxMyArNjgwLDE1IEBAIHN0YXRpYyBpbnQgcHV0X3F0YWlscShR RU1VRmlsZSAqZiwgdm9pZCAqcHYsIHNpemVfdCB1bnVzZWRfc2l6ZSwKKyAgICAgc2l6ZV90IGVu dHJ5X29mZnNldCA9IGZpZWxkLT5zdGFydDsKKyAgICAgdm9pZCAqZWxtOworICAgICBpbnQgcmV0 OworKyAgICBFcnJvciAqbG9jYWxfZXJyID0gTlVMTDsKKyAKKyAgICAgdHJhY2VfcHV0X3F0YWls cSh2bXNkLT5uYW1lLCB2bXNkLT52ZXJzaW9uX2lkKTsKKyAKKyAgICAgUVRBSUxRX1JBV19GT1JF QUNIKGVsbSwgcHYsIGVudHJ5X29mZnNldCkgeworICAgICAgICAgcWVtdV9wdXRfYnl0ZShmLCB0 cnVlKTsKKy0gICAgICAgIHJldCA9IHZtc3RhdGVfc2F2ZV9zdGF0ZShmLCB2bXNkLCBlbG0sIHZt ZGVzYyk7CisrICAgICAgICByZXQgPSB2bXN0YXRlX3NhdmVfc3RhdGUoZiwgdm1zZCwgZWxtLCB2 bWRlc2MsICZsb2NhbF9lcnIpOworICAgICAgICAgaWYgKHJldCkgeworKyAgICAgICAgICAgIGVy cm9yX3JlcG9ydF9lcnIobG9jYWxfZXJyKTsKKyAgICAgICAgICAgICByZXR1cm4gcmV0OworICAg ICAgICAgfQorICAgICB9CitAQCAtNzExLDYgKzcxNyw3IEBAIHN0YXRpYyBnYm9vbGVhbiBwdXRf Z3RyZWVfZWxlbShncG9pbnRlciBrZXksIGdwb2ludGVyIHZhbHVlLCBncG9pbnRlciBkYXRhKQor ICAgICBzdHJ1Y3QgcHV0X2d0cmVlX2RhdGEgKmNhcHN1bGUgPSAoc3RydWN0IHB1dF9ndHJlZV9k YXRhICopZGF0YTsKKyAgICAgUUVNVUZpbGUgKmYgPSBjYXBzdWxlLT5mOworICAgICBpbnQgcmV0 OworKyAgICBFcnJvciAqbG9jYWxfZXJyID0gTlVMTDsKKyAKKyAgICAgcWVtdV9wdXRfYnl0ZShm LCB0cnVlKTsKKyAKK0BAIC03MTgsMTYgKzcyNSwyMCBAQCBzdGF0aWMgZ2Jvb2xlYW4gcHV0X2d0 cmVlX2VsZW0oZ3BvaW50ZXIga2V5LCBncG9pbnRlciB2YWx1ZSwgZ3BvaW50ZXIgZGF0YSkKKyAg ICAgaWYgKCFjYXBzdWxlLT5rZXlfdm1zZCkgeworICAgICAgICAgcWVtdV9wdXRfYmU2NChmLCAo dWludDY0X3QpKHVpbnRwdHJfdCkoa2V5KSk7IC8qIGRpcmVjdCBrZXkgKi8KKyAgICAgfSBlbHNl IHsKKy0gICAgICAgIHJldCA9IHZtc3RhdGVfc2F2ZV9zdGF0ZShmLCBjYXBzdWxlLT5rZXlfdm1z ZCwga2V5LCBjYXBzdWxlLT52bWRlc2MpOworKyAgICAgICAgcmV0ID0gdm1zdGF0ZV9zYXZlX3N0 YXRlKGYsIGNhcHN1bGUtPmtleV92bXNkLCBrZXksIGNhcHN1bGUtPnZtZGVzYywKKysgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAmbG9jYWxfZXJyKTsKKyAgICAgICAgIGlmIChyZXQp IHsKKysgICAgICAgICAgICBlcnJvcl9yZXBvcnRfZXJyKGxvY2FsX2Vycik7CisgICAgICAgICAg ICAgY2Fwc3VsZS0+cmV0ID0gcmV0OworICAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAg ICAgfQorICAgICB9CisgCisgICAgIC8qIHB1dCB0aGUgZGF0YSAqLworLSAgICByZXQgPSB2bXN0 YXRlX3NhdmVfc3RhdGUoZiwgY2Fwc3VsZS0+dmFsX3Ztc2QsIHZhbHVlLCBjYXBzdWxlLT52bWRl c2MpOworKyAgICByZXQgPSB2bXN0YXRlX3NhdmVfc3RhdGUoZiwgY2Fwc3VsZS0+dmFsX3Ztc2Qs IHZhbHVlLCBjYXBzdWxlLT52bWRlc2MsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAm bG9jYWxfZXJyKTsKKyAgICAgaWYgKHJldCkgeworKyAgICAgICAgZXJyb3JfcmVwb3J0X2Vycihs b2NhbF9lcnIpOworICAgICAgICAgY2Fwc3VsZS0+cmV0ID0gcmV0OworICAgICAgICAgcmV0dXJu IHRydWU7CisgICAgIH0KK0BAIC04NTcsMTQgKzg2OCwxNCBAQCBzdGF0aWMgaW50IHB1dF9xbGlz dChRRU1VRmlsZSAqZiwgdm9pZCAqcHYsIHNpemVfdCB1bnVzZWRfc2l6ZSwKKyAgICAgc2l6ZV90 IGVudHJ5X29mZnNldCA9IGZpZWxkLT5zdGFydDsKKyAgICAgdm9pZCAqZWxtOworICAgICBpbnQg cmV0OworKyAgICBFcnJvciAqbG9jYWxfZXJyID0gTlVMTDsKKyAKKyAgICAgdHJhY2VfcHV0X3Fs aXN0KGZpZWxkLT5uYW1lLCB2bXNkLT5uYW1lLCB2bXNkLT52ZXJzaW9uX2lkKTsKKyAgICAgUUxJ U1RfUkFXX0ZPUkVBQ0goZWxtLCBwdiwgZW50cnlfb2Zmc2V0KSB7CisgICAgICAgICBxZW11X3B1 dF9ieXRlKGYsIHRydWUpOworLSAgICAgICAgcmV0ID0gdm1zdGF0ZV9zYXZlX3N0YXRlKGYsIHZt c2QsIGVsbSwgdm1kZXNjKTsKKysgICAgICAgIHJldCA9IHZtc3RhdGVfc2F2ZV9zdGF0ZShmLCB2 bXNkLCBlbG0sIHZtZGVzYywgJmxvY2FsX2Vycik7CisgICAgICAgICBpZiAocmV0KSB7CistICAg ICAgICAgICAgZXJyb3JfcmVwb3J0KCIlczogZmFpbGVkIHRvIHNhdmUgJXMgKCVkKSIsIGZpZWxk LT5uYW1lLAorLSAgICAgICAgICAgICAgICAgICAgICAgICB2bXNkLT5uYW1lLCByZXQpOworKyAg ICAgICAgICAgIGVycm9yX3JlcG9ydF9lcnIobG9jYWxfZXJyKTsKKyAgICAgICAgICAgICByZXR1 cm4gcmV0OworICAgICAgICAgfQorICAgICB9CitkaWZmIC0tZ2l0IGEvbWlncmF0aW9uL3Ztc3Rh dGUuYyBiL21pZ3JhdGlvbi92bXN0YXRlLmMKK2luZGV4IDhkMWU5ZWI2MmIuLmFkOGU1YjcxYWUg MTAwNjQ0CistLS0gYS9taWdyYXRpb24vdm1zdGF0ZS5jCisrKysgYi9taWdyYXRpb24vdm1zdGF0 ZS5jCitAQCAtNDA2LDEyICs0MDYsNiBAQCBib29sIHZtc3RhdGVfc2VjdGlvbl9uZWVkZWQoY29u c3QgVk1TdGF0ZURlc2NyaXB0aW9uICp2bXNkLCB2b2lkICpvcGFxdWUpCisgCisgCisgaW50IHZt c3RhdGVfc2F2ZV9zdGF0ZShRRU1VRmlsZSAqZiwgY29uc3QgVk1TdGF0ZURlc2NyaXB0aW9uICp2 bXNkLAorLSAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqb3BhcXVlLCBKU09OV3JpdGVyICp2 bWRlc2NfaWQpCisteworLSAgICByZXR1cm4gdm1zdGF0ZV9zYXZlX3N0YXRlX3YoZiwgdm1zZCwg b3BhcXVlLCB2bWRlc2NfaWQsIHZtc2QtPnZlcnNpb25faWQsIE5VTEwpOworLX0KKy0KKy1pbnQg dm1zdGF0ZV9zYXZlX3N0YXRlX3dpdGhfZXJyKFFFTVVGaWxlICpmLCBjb25zdCBWTVN0YXRlRGVz Y3JpcHRpb24gKnZtc2QsCisgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICpvcGFxdWUsIEpT T05Xcml0ZXIgKnZtZGVzY19pZCwgRXJyb3IgKiplcnJwKQorIHsKKyAgICAgcmV0dXJuIHZtc3Rh dGVfc2F2ZV9zdGF0ZV92KGYsIHZtc2QsIG9wYXF1ZSwgdm1kZXNjX2lkLCB2bXNkLT52ZXJzaW9u X2lkLCBlcnJwKTsKK0BAIC01MTIsNyArNTA2LDcgQEAgaW50IHZtc3RhdGVfc2F2ZV9zdGF0ZV92 KFFFTVVGaWxlICpmLCBjb25zdCBWTVN0YXRlRGVzY3JpcHRpb24gKnZtc2QsCisgCisgICAgICAg ICAgICAgICAgIGlmIChpbm5lcl9maWVsZC0+ZmxhZ3MgJiBWTVNfU1RSVUNUKSB7CisgICAgICAg ICAgICAgICAgICAgICByZXQgPSB2bXN0YXRlX3NhdmVfc3RhdGUoZiwgaW5uZXJfZmllbGQtPnZt c2QsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3Vycl9l bGVtLCB2bWRlc2NfbG9vcCk7CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgY3Vycl9lbGVtLCB2bWRlc2NfbG9vcCwgZXJycCk7CisgICAgICAgICAgICAgICAg IH0gZWxzZSBpZiAoaW5uZXJfZmllbGQtPmZsYWdzICYgVk1TX1ZTVFJVQ1QpIHsKKyAgICAgICAg ICAgICAgICAgICAgIHJldCA9IHZtc3RhdGVfc2F2ZV9zdGF0ZV92KGYsIGlubmVyX2ZpZWxkLT52 bXNkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3Vy cl9lbGVtLCB2bWRlc2NfbG9vcCwKK0BAIC02NzQsNyArNjY4LDcgQEAgc3RhdGljIGludCB2bXN0 YXRlX3N1YnNlY3Rpb25fc2F2ZShRRU1VRmlsZSAqZiwgY29uc3QgVk1TdGF0ZURlc2NyaXB0aW9u ICp2bXNkLAorICAgICAgICAgICAgIHFlbXVfcHV0X2J5dGUoZiwgbGVuKTsKKyAgICAgICAgICAg ICBxZW11X3B1dF9idWZmZXIoZiwgKHVpbnQ4X3QgKil2bXNkc3ViLT5uYW1lLCBsZW4pOworICAg ICAgICAgICAgIHFlbXVfcHV0X2JlMzIoZiwgdm1zZHN1Yi0+dmVyc2lvbl9pZCk7CistICAgICAg ICAgICAgcmV0ID0gdm1zdGF0ZV9zYXZlX3N0YXRlX3dpdGhfZXJyKGYsIHZtc2RzdWIsIG9wYXF1 ZSwgdm1kZXNjLCBlcnJwKTsKKysgICAgICAgICAgICByZXQgPSB2bXN0YXRlX3NhdmVfc3RhdGUo Ziwgdm1zZHN1Yiwgb3BhcXVlLCB2bWRlc2MsIGVycnApOworICAgICAgICAgICAgIGlmIChyZXQp IHsKKyAgICAgICAgICAgICAgICAgcmV0dXJuIHJldDsKKyAgICAgICAgICAgICB9CitkaWZmIC0t Z2l0IGEvdGVzdHMvdW5pdC90ZXN0LXZtc3RhdGUuYyBiL3Rlc3RzL3VuaXQvdGVzdC12bXN0YXRl LmMKK2luZGV4IDRmZjBhYjYzMmYuLmNhZGJhYjNjNWUgMTAwNjQ0CistLS0gYS90ZXN0cy91bml0 L3Rlc3Qtdm1zdGF0ZS5jCisrKysgYi90ZXN0cy91bml0L3Rlc3Qtdm1zdGF0ZS5jCitAQCAtNjcs OSArNjcsMTMgQEAgc3RhdGljIFFFTVVGaWxlICpvcGVuX3Rlc3RfZmlsZShib29sIHdyaXRlKQor IHN0YXRpYyB2b2lkIHNhdmVfdm1zdGF0ZShjb25zdCBWTVN0YXRlRGVzY3JpcHRpb24gKmRlc2Ms IHZvaWQgKm9iaikKKyB7CisgICAgIFFFTVVGaWxlICpmID0gb3Blbl90ZXN0X2ZpbGUodHJ1ZSk7 CisrICAgIEVycm9yICpsb2NhbF9lcnIgPSBOVUxMOworIAorICAgICAvKiBTYXZlIGZpbGUgd2l0 aCB2bXN0YXRlICovCistICAgIGludCByZXQgPSB2bXN0YXRlX3NhdmVfc3RhdGUoZiwgZGVzYywg b2JqLCBOVUxMKTsKKysgICAgaW50IHJldCA9IHZtc3RhdGVfc2F2ZV9zdGF0ZShmLCBkZXNjLCBv YmosIE5VTEwsICZsb2NhbF9lcnIpOworKyAgICBpZiAocmV0KSB7CisrICAgICAgICBlcnJvcl9y ZXBvcnRfZXJyKGxvY2FsX2Vycik7CisrICAgIH0KKyAgICAgZ19hc3NlcnQoIXJldCk7CisgICAg IHFlbXVfcHV0X2J5dGUoZiwgUUVNVV9WTV9FT0YpOworICAgICBnX2Fzc2VydCghcWVtdV9maWxl X2dldF9lcnJvcihmKSk7CitAQCAtNDM4LDEwICs0NDIsMTUgQEAgc3RhdGljIGNvbnN0IFZNU3Rh dGVEZXNjcmlwdGlvbiB2bXN0YXRlX3NraXBwaW5nID0geworIAorIHN0YXRpYyB2b2lkIHRlc3Rf c2F2ZV9ub3NraXAodm9pZCkKKyB7CisrICAgIEVycm9yICpsb2NhbF9lcnIgPSBOVUxMOworICAg ICBRRU1VRmlsZSAqZnNhdmUgPSBvcGVuX3Rlc3RfZmlsZSh0cnVlKTsKKyAgICAgVGVzdFN0cnVj dCBvYmogPSB7IC5hID0gMSwgLmIgPSAyLCAuYyA9IDMsIC5kID0gNCwgLmUgPSA1LCAuZiA9IDYs CisgICAgICAgICAgICAgICAgICAgICAgICAuc2tpcF9jX2UgPSBmYWxzZSB9OworLSAgICBpbnQg cmV0ID0gdm1zdGF0ZV9zYXZlX3N0YXRlKGZzYXZlLCAmdm1zdGF0ZV9za2lwcGluZywgJm9iaiwg TlVMTCk7CisrICAgIGludCByZXQgPSB2bXN0YXRlX3NhdmVfc3RhdGUoZnNhdmUsICZ2bXN0YXRl X3NraXBwaW5nLCAmb2JqLCBOVUxMLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICZsb2NhbF9lcnIpOworKyAgICBpZiAocmV0KSB7CisrICAgICAgICBlcnJvcl9yZXBvcnRfZXJy KGxvY2FsX2Vycik7CisrICAgIH0KKyAgICAgZ19hc3NlcnQoIXJldCk7CisgICAgIGdfYXNzZXJ0 KCFxZW11X2ZpbGVfZ2V0X2Vycm9yKGZzYXZlKSk7CisgCitAQCAtNDYwLDEwICs0NjksMTUgQEAg c3RhdGljIHZvaWQgdGVzdF9zYXZlX25vc2tpcCh2b2lkKQorIAorIHN0YXRpYyB2b2lkIHRlc3Rf c2F2ZV9za2lwKHZvaWQpCisgeworKyAgICBFcnJvciAqbG9jYWxfZXJyID0gTlVMTDsKKyAgICAg UUVNVUZpbGUgKmZzYXZlID0gb3Blbl90ZXN0X2ZpbGUodHJ1ZSk7CisgICAgIFRlc3RTdHJ1Y3Qg b2JqID0geyAuYSA9IDEsIC5iID0gMiwgLmMgPSAzLCAuZCA9IDQsIC5lID0gNSwgLmYgPSA2LAor ICAgICAgICAgICAgICAgICAgICAgICAgLnNraXBfY19lID0gdHJ1ZSB9OworLSAgICBpbnQgcmV0 ID0gdm1zdGF0ZV9zYXZlX3N0YXRlKGZzYXZlLCAmdm1zdGF0ZV9za2lwcGluZywgJm9iaiwgTlVM TCk7CisrICAgIGludCByZXQgPSB2bXN0YXRlX3NhdmVfc3RhdGUoZnNhdmUsICZ2bXN0YXRlX3Nr aXBwaW5nLCAmb2JqLCBOVUxMLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZs b2NhbF9lcnIpOworKyAgICBpZiAocmV0KSB7CisrICAgICAgICBlcnJvcl9yZXBvcnRfZXJyKGxv Y2FsX2Vycik7CisrICAgIH0KKyAgICAgZ19hc3NlcnQoIXJldCk7CisgICAgIGdfYXNzZXJ0KCFx ZW11X2ZpbGVfZ2V0X2Vycm9yKGZzYXZlKSk7CisgCitkaWZmIC0tZ2l0IGEvdWkvdmRhZ2VudC5j IGIvdWkvdmRhZ2VudC5jCitpbmRleCBiYzNjNzdmMDEzLi5kZGI5MWU3NWM2IDEwMDY0NAorLS0t IGEvdWkvdmRhZ2VudC5jCisrKysgYi91aS92ZGFnZW50LmMKK0BAIC05OTIsNyArOTkyLDggQEAg c3RhdGljIGludCBwdXRfY2JpbmZvKFFFTVVGaWxlICpmLCB2b2lkICpwdiwgc2l6ZV90IHNpemUs CisgICAgICAgICB9CisgICAgIH0KKyAKKy0gICAgcmV0dXJuIHZtc3RhdGVfc2F2ZV9zdGF0ZShm LCAmdm1zdGF0ZV9jYmluZm9fYXJyYXksICZjYmluZm8sIHZtZGVzYyk7CisrICAgIHJldHVybiB2 bXN0YXRlX3NhdmVfc3RhdGUoZiwgJnZtc3RhdGVfY2JpbmZvX2FycmF5LCAmY2JpbmZvLCB2bWRl c2MsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmVycm9yX2ZhdGFsKTsKKyB9Cisg Cisgc3RhdGljIGludCBnZXRfY2JpbmZvKFFFTVVGaWxlICpmLCB2b2lkICpwdiwgc2l6ZV90IHNp emUsCistLSAKKzIuNTIuMAorCgpkaWZmIC0tZ2l0IGEva3ZtLW1pZ3JhdGlvbi1hZGQtY3ByX3dh bGtfZmQucGF0Y2ggYi9rdm0tbWlncmF0aW9uLWFkZC1jcHJfd2Fsa19mZC5wYXRjaApuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjBlYTZiCi0tLSAvZGV2L251bGwKKysrIGIv a3ZtLW1pZ3JhdGlvbi1hZGQtY3ByX3dhbGtfZmQucGF0Y2gKQEAgLTAsMCArMSw2NyBAQAorRnJv bSBkZjE1NGQ1MDExYWYxYjMzZTI0NTAzMWI5OGE1NmY5MTk2OWJlNjZjIE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQorRnJvbTogU3RldmUgU2lzdGFyZSA8c3RldmVuLnNpc3RhcmVAb3JhY2xlLmNv bT4KK0RhdGU6IFdlZCwgMSBPY3QgMjAyNSAwODozMzo1NCAtMDcwMAorU3ViamVjdDogW1BBVENI IDA4OS8xMTZdIG1pZ3JhdGlvbjogYWRkIGNwcl93YWxrX2ZkCitNSU1FLVZlcnNpb246IDEuMAor Q29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVy LUVuY29kaW5nOiA4Yml0CisKK1JILUF1dGhvcjogUm9kb2xmbyBWaWNrIDxOb25lPgorUkgtTWVy Z2VSZXF1ZXN0OiA0ODY6IEFkZCBETUFCVUYgc3VwcG9ydAorUkgtSmlyYTogUkhFTC0xMzg0OTQK K1JILUFja2VkLWJ5OiBDw6lkcmljIExlIEdvYXRlciA8Y2xnQHJlZGhhdC5jb20+CitSSC1BY2tl ZC1ieTogRXJpYyBBdWdlciA8ZXJpYy5hdWdlckByZWRoYXQuY29tPgorUkgtQ29tbWl0OiBbNzMv MTAwXSAyOWI0YmRiNGRhZGRjMzk0YTA1OTU2YmE4NzZkNGFiNjY5NmQxZTBiIChyb3ZpY2sxL3Fl bXUta3ZtKQorCitBZGQgYSBoZWxwZXIgdG8gd2FsayBhbGwgQ1BSIGZkJ3MgYW5kIHJ1biBhIGNh bGxiYWNrIGZvciBlYWNoLgorCitTaWduZWQtb2ZmLWJ5OiBTdGV2ZSBTaXN0YXJlIDxzdGV2ZW4u c2lzdGFyZUBvcmFjbGUuY29tPgorUmV2aWV3ZWQtYnk6IFBldGVyIFh1IDxwZXRlcnhAcmVkaGF0 LmNvbT4KK0xpbms6IGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL3IvMTc1OTMzMjg1MS0zNzAzNTMt My1naXQtc2VuZC1lbWFpbC1zdGV2ZW4uc2lzdGFyZUBvcmFjbGUuY29tCitTaWduZWQtb2ZmLWJ5 OiBQZXRlciBYdSA8cGV0ZXJ4QHJlZGhhdC5jb20+CistLS0KKyBpbmNsdWRlL21pZ3JhdGlvbi9j cHIuaCB8ICAzICsrKworIG1pZ3JhdGlvbi9jcHIuYyAgICAgICAgIHwgMTMgKysrKysrKysrKysr KworIDIgZmlsZXMgY2hhbmdlZCwgMTYgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvaW5j bHVkZS9taWdyYXRpb24vY3ByLmggYi9pbmNsdWRlL21pZ3JhdGlvbi9jcHIuaAoraW5kZXggM2Zj MTlhNzRlZi4uMmIwNzRkN2E2NSAxMDA2NDQKKy0tLSBhL2luY2x1ZGUvbWlncmF0aW9uL2Nwci5o CisrKysgYi9pbmNsdWRlL21pZ3JhdGlvbi9jcHIuaAorQEAgLTM0LDYgKzM0LDkgQEAgdm9pZCBj cHJfcmVzYXZlX2ZkKGNvbnN0IGNoYXIgKm5hbWUsIGludCBpZCwgaW50IGZkKTsKKyBpbnQgY3By X29wZW5fZmQoY29uc3QgY2hhciAqcGF0aCwgaW50IGZsYWdzLCBjb25zdCBjaGFyICpuYW1lLCBp bnQgaWQsCisgICAgICAgICAgICAgICAgIEVycm9yICoqZXJycCk7CisgCisrdHlwZWRlZiBib29s ICgqY3ByX3dhbGtfZmRfY2IpKGludCBmZCk7CisrYm9vbCBjcHJfd2Fsa19mZChjcHJfd2Fsa19m ZF9jYiBjYik7CisrCisgTWlnTW9kZSBjcHJfZ2V0X2luY29taW5nX21vZGUodm9pZCk7Cisgdm9p ZCBjcHJfc2V0X2luY29taW5nX21vZGUoTWlnTW9kZSBtb2RlKTsKKyBib29sIGNwcl9pc19pbmNv bWluZyh2b2lkKTsKK2RpZmYgLS1naXQgYS9taWdyYXRpb24vY3ByLmMgYi9taWdyYXRpb24vY3By LmMKK2luZGV4IDAzOGY0OGY4MTAuLmE5OTViMzQ5ZDkgMTAwNjQ0CistLS0gYS9taWdyYXRpb24v Y3ByLmMKKysrKyBiL21pZ3JhdGlvbi9jcHIuYworQEAgLTEyMSw2ICsxMjEsMTkgQEAgaW50IGNw cl9vcGVuX2ZkKGNvbnN0IGNoYXIgKnBhdGgsIGludCBmbGFncywgY29uc3QgY2hhciAqbmFtZSwg aW50IGlkLAorICAgICByZXR1cm4gZmQ7CisgfQorIAorK2Jvb2wgY3ByX3dhbGtfZmQoY3ByX3dh bGtfZmRfY2IgY2IpCisreworKyAgICBDcHJGZCAqZWxlbTsKKysKKysgICAgUUxJU1RfRk9SRUFD SChlbGVtLCAmY3ByX3N0YXRlLmZkcywgbmV4dCkgeworKyAgICAgICAgZ19hc3NlcnQoZWxlbS0+ ZmQgPj0gMCk7CisrICAgICAgICBpZiAoIWNiKGVsZW0tPmZkKSkgeworKyAgICAgICAgICAgIHJl dHVybiBmYWxzZTsKKysgICAgICAgIH0KKysgICAgfQorKyAgICByZXR1cm4gdHJ1ZTsKKyt9Cisr CisgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKiovCisgc3RhdGljIGNvbnN0IFZNU3RhdGVEZXNjcmlwdGlvbiB2 bXN0YXRlX2Nwcl9zdGF0ZSA9IHsKKyAgICAgLm5hbWUgPSBDUFJfU1RBVEUsCistLSAKKzIuNTIu MAorCgpkaWZmIC0tZ2l0IGEva3ZtLW1pZ3JhdGlvbi1jcHItZXhlYy1jb21tYW5kLXBhcmFtZXRl ci5wYXRjaCBiL2t2bS1taWdyYXRpb24tY3ByLWV4ZWMtY29tbWFuZC1wYXJhbWV0ZXIucGF0Y2gK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjNkYjcyNQotLS0gL2Rldi9udWxs CisrKyBiL2t2bS1taWdyYXRpb24tY3ByLWV4ZWMtY29tbWFuZC1wYXJhbWV0ZXIucGF0Y2gKQEAg LTAsMCArMSwyMTggQEAKK0Zyb20gYjRmZjBjNTU1NDQ0YThlY2QzMThkMjY5Y2E2NjJmZjhjYzZi ZjRkOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFN0ZXZlIFNpc3RhcmUgPHN0ZXZl bi5zaXN0YXJlQG9yYWNsZS5jb20+CitEYXRlOiBXZWQsIDEgT2N0IDIwMjUgMDg6MzM6NTYgLTA3 MDAKK1N1YmplY3Q6IFtQQVRDSCAwOTEvMTE2XSBtaWdyYXRpb246IGNwci1leGVjLWNvbW1hbmQg cGFyYW1ldGVyCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBj aGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK1JILUF1dGhv cjogUm9kb2xmbyBWaWNrIDxOb25lPgorUkgtTWVyZ2VSZXF1ZXN0OiA0ODY6IEFkZCBETUFCVUYg c3VwcG9ydAorUkgtSmlyYTogUkhFTC0xMzg0OTQKK1JILUFja2VkLWJ5OiBDw6lkcmljIExlIEdv YXRlciA8Y2xnQHJlZGhhdC5jb20+CitSSC1BY2tlZC1ieTogRXJpYyBBdWdlciA8ZXJpYy5hdWdl ckByZWRoYXQuY29tPgorUkgtQ29tbWl0OiBbNzUvMTAwXSBmNGI5ODExNjk0YTI2NTA2ZGJjNWMz MWM4OTUwZjczN2VjNzBkM2M1IChyb3ZpY2sxL3FlbXUta3ZtKQorCitDcmVhdGUgdGhlIGNwci1l eGVjLWNvbW1hbmQgbWlncmF0aW9uIHBhcmFtZXRlciwgZGVmaW5lZCBhcyBhIGxpc3Qgb2YKK3N0 cmluZ3MuICBJdCB3aWxsIGJlIHVzZWQgZm9yIGNwci1leGVjIG1pZ3JhdGlvbiBtb2RlIGluIGEg c3Vic2VxdWVudAorcGF0Y2gsIGFuZCBjb250YWlucyBmb3J3YXJkIHJlZmVyZW5jZXMgdG8gY3By LWV4ZWMgbW9kZSBpbiB0aGUgcWFwaQorZG9jLgorCitObyBmdW5jdGlvbmFsIGNoYW5nZSwgZXhj ZXB0IHRoYXQgY3ByLWV4ZWMtY29tbWFuZCBpcyBzaG93biBieSB0aGUKKydpbmZvIG1pZ3JhdGUn IGNvbW1hbmQuCisKK1NpZ25lZC1vZmYtYnk6IFN0ZXZlIFNpc3RhcmUgPHN0ZXZlbi5zaXN0YXJl QG9yYWNsZS5jb20+CitBY2tlZC1ieTogTWFya3VzIEFybWJydXN0ZXIgPGFybWJydUByZWRoYXQu Y29tPgorTGluazogaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvci8xNzU5MzMyODUxLTM3MDM1My01 LWdpdC1zZW5kLWVtYWlsLXN0ZXZlbi5zaXN0YXJlQG9yYWNsZS5jb20KK1NpZ25lZC1vZmYtYnk6 IFBldGVyIFh1IDxwZXRlcnhAcmVkaGF0LmNvbT4KKy0tLQorIGhtcC1jb21tYW5kcy5oeCAgICAg ICAgICAgICAgICB8ICAyICstCisgbWlncmF0aW9uL21pZ3JhdGlvbi1obXAtY21kcy5jIHwgMzAg KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCisgbWlncmF0aW9uL29wdGlvbnMuYyAgICAg ICAgICAgIHwgMTQgKysrKysrKysrKysrKysKKyBxYXBpL21pZ3JhdGlvbi5qc29uICAgICAgICAg ICAgfCAyMSArKysrKysrKysrKysrKysrKystLS0KKyA0IGZpbGVzIGNoYW5nZWQsIDYzIGluc2Vy dGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9obXAtY29tbWFuZHMuaHgg Yi9obXAtY29tbWFuZHMuaHgKK2luZGV4IGQwZTRmMzVhMzAuLjNjYWNlOGYxZjcgMTAwNjQ0Cist LS0gYS9obXAtY29tbWFuZHMuaHgKKysrKyBiL2htcC1jb21tYW5kcy5oeAorQEAgLTEwMDksNyAr MTAwOSw3IEBAIEVSU1QKKyAKKyAgICAgeworICAgICAgICAgLm5hbWUgICAgICAgPSAibWlncmF0 ZV9zZXRfcGFyYW1ldGVyIiwKKy0gICAgICAgIC5hcmdzX3R5cGUgID0gInBhcmFtZXRlcjpzLHZh bHVlOnMiLAorKyAgICAgICAgLmFyZ3NfdHlwZSAgPSAicGFyYW1ldGVyOnMsdmFsdWU6UyIsCisg ICAgICAgICAucGFyYW1zICAgICA9ICJwYXJhbWV0ZXIgdmFsdWUiLAorICAgICAgICAgLmhlbHAg ICAgICAgPSAiU2V0IHRoZSBwYXJhbWV0ZXIgZm9yIG1pZ3JhdGlvbiIsCisgICAgICAgICAuY21k ICAgICAgICA9IGhtcF9taWdyYXRlX3NldF9wYXJhbWV0ZXIsCitkaWZmIC0tZ2l0IGEvbWlncmF0 aW9uL21pZ3JhdGlvbi1obXAtY21kcy5jIGIvbWlncmF0aW9uL21pZ3JhdGlvbi1obXAtY21kcy5j CitpbmRleCAwZmMyMWYwNjQ3Li41NGRmNjE1NzUzIDEwMDY0NAorLS0tIGEvbWlncmF0aW9uL21p Z3JhdGlvbi1obXAtY21kcy5jCisrKysgYi9taWdyYXRpb24vbWlncmF0aW9uLWhtcC1jbWRzLmMK K0BAIC0zMDYsNiArMzA2LDE4IEBAIHZvaWQgaG1wX2luZm9fbWlncmF0ZV9jYXBhYmlsaXRpZXMo TW9uaXRvciAqbW9uLCBjb25zdCBRRGljdCAqcWRpY3QpCisgICAgIHFhcGlfZnJlZV9NaWdyYXRp b25DYXBhYmlsaXR5U3RhdHVzTGlzdChjYXBzKTsKKyB9CisgCisrc3RhdGljIHZvaWQgbW9uaXRv cl9wcmludF9jcHJfZXhlY19jb21tYW5kKE1vbml0b3IgKm1vbiwgc3RyTGlzdCAqYXJncykKKyt7 CisrICAgIG1vbml0b3JfcHJpbnRmKG1vbiwgIiVzOiIsCisrICAgICAgICBNaWdyYXRpb25QYXJh bWV0ZXJfc3RyKE1JR1JBVElPTl9QQVJBTUVURVJfQ1BSX0VYRUNfQ09NTUFORCkpOworKworKyAg ICB3aGlsZSAoYXJncykgeworKyAgICAgICAgbW9uaXRvcl9wcmludGYobW9uLCAiICVzIiwgYXJn cy0+dmFsdWUpOworKyAgICAgICAgYXJncyA9IGFyZ3MtPm5leHQ7CisrICAgIH0KKysgICAgbW9u aXRvcl9wcmludGYobW9uLCAiXG4iKTsKKyt9CisrCisgdm9pZCBobXBfaW5mb19taWdyYXRlX3Bh cmFtZXRlcnMoTW9uaXRvciAqbW9uLCBjb25zdCBRRGljdCAqcWRpY3QpCisgeworICAgICBNaWdy YXRpb25QYXJhbWV0ZXJzICpwYXJhbXM7CitAQCAtNDM1LDYgKzQ0Nyw5IEBAIHZvaWQgaG1wX2lu Zm9fbWlncmF0ZV9wYXJhbWV0ZXJzKE1vbml0b3IgKm1vbiwgY29uc3QgUURpY3QgKnFkaWN0KQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNSUdSQVRJT05fUEFSQU1FVEVSX0RJUkVD VF9JTyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zLT5kaXJlY3RfaW8gPyAi b24iIDogIm9mZiIpOworICAgICAgICAgfQorKworKyAgICAgICAgYXNzZXJ0KHBhcmFtcy0+aGFz X2Nwcl9leGVjX2NvbW1hbmQpOworKyAgICAgICAgbW9uaXRvcl9wcmludF9jcHJfZXhlY19jb21t YW5kKG1vbiwgcGFyYW1zLT5jcHJfZXhlY19jb21tYW5kKTsKKyAgICAgfQorIAorICAgICBxYXBp X2ZyZWVfTWlncmF0aW9uUGFyYW1ldGVycyhwYXJhbXMpOworQEAgLTcxNiw2ICs3MzEsMjEgQEAg dm9pZCBobXBfbWlncmF0ZV9zZXRfcGFyYW1ldGVyKE1vbml0b3IgKm1vbiwgY29uc3QgUURpY3Qg KnFkaWN0KQorICAgICAgICAgcC0+aGFzX2RpcmVjdF9pbyA9IHRydWU7CisgICAgICAgICB2aXNp dF90eXBlX2Jvb2wodiwgcGFyYW0sICZwLT5kaXJlY3RfaW8sICZlcnIpOworICAgICAgICAgYnJl YWs7CisrICAgIGNhc2UgTUlHUkFUSU9OX1BBUkFNRVRFUl9DUFJfRVhFQ19DT01NQU5EOiB7Cisr ICAgICAgICBnX2F1dG9mcmVlIGNoYXIgKipzdHJ2ID0gTlVMTDsKKysgICAgICAgIGdfYXV0b3B0 cihHRXJyb3IpIGdlcnIgPSBOVUxMOworKyAgICAgICAgc3RyTGlzdCAqKnRhaWwgPSAmcC0+Y3By X2V4ZWNfY29tbWFuZDsKKysKKysgICAgICAgIGlmICghZ19zaGVsbF9wYXJzZV9hcmd2KHZhbHVl c3RyLCBOVUxMLCAmc3RydiwgJmdlcnIpKSB7CisrICAgICAgICAgICAgZXJyb3Jfc2V0ZygmZXJy LCAiJXMiLCBnZXJyLT5tZXNzYWdlKTsKKysgICAgICAgICAgICBicmVhazsKKysgICAgICAgIH0K KysgICAgICAgIGZvciAoaW50IGkgPSAwOyBzdHJ2W2ldOyBpKyspIHsKKysgICAgICAgICAgICBR QVBJX0xJU1RfQVBQRU5EKHRhaWwsIHN0cnZbaV0pOworKyAgICAgICAgfQorKyAgICAgICAgcC0+ aGFzX2Nwcl9leGVjX2NvbW1hbmQgPSB0cnVlOworKyAgICAgICAgYnJlYWs7CisrICAgIH0KKyAg ICAgZGVmYXVsdDoKKyAgICAgICAgIGdfYXNzZXJ0X25vdF9yZWFjaGVkKCk7CisgICAgIH0KK2Rp ZmYgLS1naXQgYS9taWdyYXRpb24vb3B0aW9ucy5jIGIvbWlncmF0aW9uL29wdGlvbnMuYworaW5k ZXggNGU5MjNhMmUwNy4uNTE4MzExMjc3NSAxMDA2NDQKKy0tLSBhL21pZ3JhdGlvbi9vcHRpb25z LmMKKysrKyBiL21pZ3JhdGlvbi9vcHRpb25zLmMKK0BAIC05NTksNiArOTU5LDkgQEAgTWlncmF0 aW9uUGFyYW1ldGVycyAqcW1wX3F1ZXJ5X21pZ3JhdGVfcGFyYW1ldGVycyhFcnJvciAqKmVycnAp CisgICAgIHBhcmFtcy0+emVyb19wYWdlX2RldGVjdGlvbiA9IHMtPnBhcmFtZXRlcnMuemVyb19w YWdlX2RldGVjdGlvbjsKKyAgICAgcGFyYW1zLT5oYXNfZGlyZWN0X2lvID0gdHJ1ZTsKKyAgICAg cGFyYW1zLT5kaXJlY3RfaW8gPSBzLT5wYXJhbWV0ZXJzLmRpcmVjdF9pbzsKKysgICAgcGFyYW1z LT5oYXNfY3ByX2V4ZWNfY29tbWFuZCA9IHRydWU7CisrICAgIHBhcmFtcy0+Y3ByX2V4ZWNfY29t bWFuZCA9IFFBUElfQ0xPTkUoc3RyTGlzdCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBzLT5wYXJhbWV0ZXJzLmNwcl9leGVjX2NvbW1hbmQpOworIAorICAgICBy ZXR1cm4gcGFyYW1zOworIH0KK0BAIC05OTMsNiArOTk2LDcgQEAgdm9pZCBtaWdyYXRlX3BhcmFt c19pbml0KE1pZ3JhdGlvblBhcmFtZXRlcnMgKnBhcmFtcykKKyAgICAgcGFyYW1zLT5oYXNfbW9k ZSA9IHRydWU7CisgICAgIHBhcmFtcy0+aGFzX3plcm9fcGFnZV9kZXRlY3Rpb24gPSB0cnVlOwor ICAgICBwYXJhbXMtPmhhc19kaXJlY3RfaW8gPSB0cnVlOworKyAgICBwYXJhbXMtPmhhc19jcHJf ZXhlY19jb21tYW5kID0gdHJ1ZTsKKyB9CisgCisgLyoKK0BAIC0xMjk3LDYgKzEzMDEsMTAgQEAg c3RhdGljIHZvaWQgbWlncmF0ZV9wYXJhbXNfdGVzdF9hcHBseShNaWdyYXRlU2V0UGFyYW1ldGVy cyAqcGFyYW1zLAorICAgICBpZiAocGFyYW1zLT5oYXNfZGlyZWN0X2lvKSB7CisgICAgICAgICBk ZXN0LT5kaXJlY3RfaW8gPSBwYXJhbXMtPmRpcmVjdF9pbzsKKyAgICAgfQorKworKyAgICBpZiAo cGFyYW1zLT5oYXNfY3ByX2V4ZWNfY29tbWFuZCkgeworKyAgICAgICAgZGVzdC0+Y3ByX2V4ZWNf Y29tbWFuZCA9IHBhcmFtcy0+Y3ByX2V4ZWNfY29tbWFuZDsKKysgICAgfQorIH0KKyAKKyBzdGF0 aWMgdm9pZCBtaWdyYXRlX3BhcmFtc19hcHBseShNaWdyYXRlU2V0UGFyYW1ldGVycyAqcGFyYW1z LCBFcnJvciAqKmVycnApCitAQCAtMTQyOSw2ICsxNDM3LDEyIEBAIHN0YXRpYyB2b2lkIG1pZ3Jh dGVfcGFyYW1zX2FwcGx5KE1pZ3JhdGVTZXRQYXJhbWV0ZXJzICpwYXJhbXMsIEVycm9yICoqZXJy cCkKKyAgICAgaWYgKHBhcmFtcy0+aGFzX2RpcmVjdF9pbykgeworICAgICAgICAgcy0+cGFyYW1l dGVycy5kaXJlY3RfaW8gPSBwYXJhbXMtPmRpcmVjdF9pbzsKKyAgICAgfQorKworKyAgICBpZiAo cGFyYW1zLT5oYXNfY3ByX2V4ZWNfY29tbWFuZCkgeworKyAgICAgICAgcWFwaV9mcmVlX3N0ckxp c3Qocy0+cGFyYW1ldGVycy5jcHJfZXhlY19jb21tYW5kKTsKKysgICAgICAgIHMtPnBhcmFtZXRl cnMuY3ByX2V4ZWNfY29tbWFuZCA9CisrICAgICAgICAgICAgUUFQSV9DTE9ORShzdHJMaXN0LCBw YXJhbXMtPmNwcl9leGVjX2NvbW1hbmQpOworKyAgICB9CisgfQorIAorIHZvaWQgcW1wX21pZ3Jh dGVfc2V0X3BhcmFtZXRlcnMoTWlncmF0ZVNldFBhcmFtZXRlcnMgKnBhcmFtcywgRXJyb3IgKipl cnJwKQorZGlmZiAtLWdpdCBhL3FhcGkvbWlncmF0aW9uLmpzb24gYi9xYXBpL21pZ3JhdGlvbi5q c29uCitpbmRleCAyMzg3YzIxZTljLi4yYmU4ZmExZDE2IDEwMDY0NAorLS0tIGEvcWFwaS9taWdy YXRpb24uanNvbgorKysrIGIvcWFwaS9taWdyYXRpb24uanNvbgorQEAgLTkyNCw2ICs5MjQsMTAg QEAKKyAjICAgICBvbmx5IGhhcyBlZmZlY3QgaWYgdGhlIEBtYXBwZWQtcmFtIGNhcGFiaWxpdHkg aXMgZW5hYmxlZC4KKyAjICAgICAoU2luY2UgOS4xKQorICMKKysjIEBjcHItZXhlYy1jb21tYW5k OiBDb21tYW5kIHRvIHN0YXJ0IHRoZSBuZXcgUUVNVSBwcm9jZXNzIHdoZW4gQG1vZGUKKysjICAg ICBpcyBAY3ByLWV4ZWMuICBUaGUgZmlyc3QgbGlzdCBlbGVtZW50IGlzIHRoZSBwcm9ncmFtJ3Mg ZmlsZW5hbWUsCisrIyAgICAgdGhlIHJlbWFpbmRlciBpdHMgYXJndW1lbnRzLiAgKFNpbmNlIDEw LjIpCisrIworICMgRmVhdHVyZXM6CisgIworICMgQHVuc3RhYmxlOiBNZW1iZXJzIEB4LWNoZWNr cG9pbnQtZGVsYXkgYW5kCitAQCAtOTUwLDcgKzk1NCw4IEBACisgICAgICAgICAgICAndmNwdS1k aXJ0eS1saW1pdCcsCisgICAgICAgICAgICAnbW9kZScsCisgICAgICAgICAgICAnemVyby1wYWdl LWRldGVjdGlvbicsCistICAgICAgICAgICAnZGlyZWN0LWlvJ10gfQorKyAgICAgICAgICAgJ2Rp cmVjdC1pbycsCisrICAgICAgICAgICAnY3ByLWV4ZWMtY29tbWFuZCddIH0KKyAKKyAjIworICMg QE1pZ3JhdGVTZXRQYXJhbWV0ZXJzOgorQEAgLTExMDUsNiArMTExMCwxMCBAQAorICMgICAgIG9u bHkgaGFzIGVmZmVjdCBpZiB0aGUgQG1hcHBlZC1yYW0gY2FwYWJpbGl0eSBpcyBlbmFibGVkLgor ICMgICAgIChTaW5jZSA5LjEpCisgIworKyMgQGNwci1leGVjLWNvbW1hbmQ6IENvbW1hbmQgdG8g c3RhcnQgdGhlIG5ldyBRRU1VIHByb2Nlc3Mgd2hlbiBAbW9kZQorKyMgICAgIGlzIEBjcHItZXhl Yy4gIFRoZSBmaXJzdCBsaXN0IGVsZW1lbnQgaXMgdGhlIHByb2dyYW0ncyBmaWxlbmFtZSwKKysj ICAgICB0aGUgcmVtYWluZGVyIGl0cyBhcmd1bWVudHMuICAoU2luY2UgMTAuMikKKysjCisgIyBG ZWF0dXJlczoKKyAjCisgIyBAdW5zdGFibGU6IE1lbWJlcnMgQHgtY2hlY2twb2ludC1kZWxheSBh bmQKK0BAIC0xMTQ2LDcgKzExNTUsOCBAQAorICAgICAgICAgICAgICcqdmNwdS1kaXJ0eS1saW1p dCc6ICd1aW50NjQnLAorICAgICAgICAgICAgICcqbW9kZSc6ICdNaWdNb2RlJywKKyAgICAgICAg ICAgICAnKnplcm8tcGFnZS1kZXRlY3Rpb24nOiAnWmVyb1BhZ2VEZXRlY3Rpb24nLAorLSAgICAg ICAgICAgICcqZGlyZWN0LWlvJzogJ2Jvb2wnIH0gfQorKyAgICAgICAgICAgICcqZGlyZWN0LWlv JzogJ2Jvb2wnLAorKyAgICAgICAgICAgICcqY3ByLWV4ZWMtY29tbWFuZCc6IFsgJ3N0cicgXX0g fQorIAorICMjCisgIyBAbWlncmF0ZS1zZXQtcGFyYW1ldGVyczoKK0BAIC0xMzE1LDYgKzEzMjUs MTAgQEAKKyAjICAgICBvbmx5IGhhcyBlZmZlY3QgaWYgdGhlIEBtYXBwZWQtcmFtIGNhcGFiaWxp dHkgaXMgZW5hYmxlZC4KKyAjICAgICAoU2luY2UgOS4xKQorICMKKysjIEBjcHItZXhlYy1jb21t YW5kOiBDb21tYW5kIHRvIHN0YXJ0IHRoZSBuZXcgUUVNVSBwcm9jZXNzIHdoZW4gQG1vZGUKKysj ICAgICBpcyBAY3ByLWV4ZWMuICBUaGUgZmlyc3QgbGlzdCBlbGVtZW50IGlzIHRoZSBwcm9ncmFt J3MgZmlsZW5hbWUsCisrIyAgICAgdGhlIHJlbWFpbmRlciBpdHMgYXJndW1lbnRzLiAgKFNpbmNl IDEwLjIpCisrIworICMgRmVhdHVyZXM6CisgIworICMgQHVuc3RhYmxlOiBNZW1iZXJzIEB4LWNo ZWNrcG9pbnQtZGVsYXkgYW5kCitAQCAtMTM1Myw3ICsxMzY3LDggQEAKKyAgICAgICAgICAgICAn KnZjcHUtZGlydHktbGltaXQnOiAndWludDY0JywKKyAgICAgICAgICAgICAnKm1vZGUnOiAnTWln TW9kZScsCisgICAgICAgICAgICAgJyp6ZXJvLXBhZ2UtZGV0ZWN0aW9uJzogJ1plcm9QYWdlRGV0 ZWN0aW9uJywKKy0gICAgICAgICAgICAnKmRpcmVjdC1pbyc6ICdib29sJyB9IH0KKysgICAgICAg ICAgICAnKmRpcmVjdC1pbyc6ICdib29sJywKKysgICAgICAgICAgICAnKmNwci1leGVjLWNvbW1h bmQnOiBbICdzdHInIF19IH0KKyAKKyAjIworICMgQHF1ZXJ5LW1pZ3JhdGUtcGFyYW1ldGVyczoK Ky0tIAorMi41Mi4wCisKCmRpZmYgLS1naXQgYS9rdm0tbWlncmF0aW9uLWNwci1leGVjLWRvY3Mu cGF0Y2ggYi9rdm0tbWlncmF0aW9uLWNwci1leGVjLWRvY3MucGF0Y2gKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMC4uNTIwNDAyMQotLS0gL2Rldi9udWxsCisrKyBiL2t2bS1taWdy YXRpb24tY3ByLWV4ZWMtZG9jcy5wYXRjaApAQCAtMCwwICsxLDE1NSBAQAorRnJvbSBiM2M3ZGFl MTRhYjNmYWQ1ZjlmZWE5NTViNzc1MDg0NTE3NTUzNTE4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQorRnJvbTogU3RldmUgU2lzdGFyZSA8c3RldmVuLnNpc3RhcmVAb3JhY2xlLmNvbT4KK0RhdGU6 IFdlZCwgMSBPY3QgMjAyNSAwODozMzo1OSAtMDcwMAorU3ViamVjdDogW1BBVENIIDA5NC8xMTZd IG1pZ3JhdGlvbjogY3ByLWV4ZWMgZG9jcworTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlw ZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzog OGJpdAorCitSSC1BdXRob3I6IFJvZG9sZm8gVmljayA8Tm9uZT4KK1JILU1lcmdlUmVxdWVzdDog NDg2OiBBZGQgRE1BQlVGIHN1cHBvcnQKK1JILUppcmE6IFJIRUwtMTM4NDk0CitSSC1BY2tlZC1i eTogQ8OpZHJpYyBMZSBHb2F0ZXIgPGNsZ0ByZWRoYXQuY29tPgorUkgtQWNrZWQtYnk6IEVyaWMg QXVnZXIgPGVyaWMuYXVnZXJAcmVkaGF0LmNvbT4KK1JILUNvbW1pdDogWzc4LzEwMF0gZTcyNjQx NjVhYThmMzc4NDk0OTc0Y2ExODk4ZWM0YmMzYWE2ZTM4ZiAocm92aWNrMS9xZW11LWt2bSkKKwor VXBkYXRlIGRldmVsb3BlciBkb2N1bWVudGF0aW9uIGZvciBjcHItZXhlYyBtb2RlLgorCitTaWdu ZWQtb2ZmLWJ5OiBTdGV2ZSBTaXN0YXJlIDxzdGV2ZW4uc2lzdGFyZUBvcmFjbGUuY29tPgorUmV2 aWV3ZWQtYnk6IEZhYmlhbm8gUm9zYXMgPGZhcm9zYXNAc3VzZS5kZT4KK0xpbms6IGh0dHBzOi8v bG9yZS5rZXJuZWwub3JnL3IvMTc1OTMzMjg1MS0zNzAzNTMtOC1naXQtc2VuZC1lbWFpbC1zdGV2 ZW4uc2lzdGFyZUBvcmFjbGUuY29tCitTaWduZWQtb2ZmLWJ5OiBQZXRlciBYdSA8cGV0ZXJ4QHJl ZGhhdC5jb20+CistLS0KKyBkb2NzL2RldmVsL21pZ3JhdGlvbi9DUFIucnN0IHwgMTEyICsrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKystCisgMSBmaWxlIGNoYW5nZWQsIDExMSBpbnNl cnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9kb2NzL2RldmVsL21pZ3Jh dGlvbi9DUFIucnN0IGIvZG9jcy9kZXZlbC9taWdyYXRpb24vQ1BSLnJzdAoraW5kZXggMGEwZmQ0 ZjZkYy4uYjYxNzg1NjhhOCAxMDA2NDQKKy0tLSBhL2RvY3MvZGV2ZWwvbWlncmF0aW9uL0NQUi5y c3QKKysrKyBiL2RvY3MvZGV2ZWwvbWlncmF0aW9uL0NQUi5yc3QKK0BAIC01LDcgKzUsNyBAQCBD UFIgaXMgdGhlIHVtYnJlbGxhIG5hbWUgZm9yIGEgc2V0IG9mIG1pZ3JhdGlvbiBtb2RlcyBpbiB3 aGljaCB0aGUKKyBWTSBpcyBtaWdyYXRlZCB0byBhIG5ldyBRRU1VIGluc3RhbmNlIG9uIHRoZSBz YW1lIGhvc3QuICBJdCBpcworIGludGVuZGVkIGZvciB1c2Ugd2hlbiB0aGUgZ29hbCBpcyB0byB1 cGRhdGUgaG9zdCBzb2Z0d2FyZSBjb21wb25lbnRzCisgdGhhdCBydW4gdGhlIFZNLCBzdWNoIGFz IFFFTVUgb3IgZXZlbiB0aGUgaG9zdCBrZXJuZWwuICBBdCB0aGlzIHRpbWUsCistdGhlIGNwci1y ZWJvb3QgYW5kIGNwci10cmFuc2ZlciBtb2RlcyBhcmUgYXZhaWxhYmxlLgorK3RoZSBjcHItcmVi b290LCBjcHItdHJhbnNmZXIsIGFuZCBjcHItZXhlYyBtb2RlcyBhcmUgYXZhaWxhYmxlLgorIAor IEJlY2F1c2UgUUVNVSBpcyByZXN0YXJ0ZWQgb24gdGhlIHNhbWUgaG9zdCwgd2l0aCBhY2Nlc3Mg dG8gdGhlIHNhbWUKKyBsb2NhbCBkZXZpY2VzLCBDUFIgaXMgYWxsb3dlZCBpbiBjZXJ0YWluIGNh c2VzIHdoZXJlIG5vcm1hbCBtaWdyYXRpb24KK0BAIC0zMjQsMyArMzI0LDExMyBAQCBkZXNjcmlw dG9ycyBmcm9tIG9sZCB0byBuZXcgUUVNVS4gIEluIHRoZSBmdXR1cmUsIGRlc2NyaXB0b3JzIGZv cgorIHZob3N0LCBhbmQgY2hhciBkZXZpY2VzIGNvdWxkIGJlIHRyYW5zZmVycmVkLAorIHByZXNl cnZpbmcgdGhvc2UgZGV2aWNlcyBhbmQgdGhlaXIga2VybmVsIHN0YXRlIHdpdGhvdXQgaW50ZXJy dXB0aW9uLAorIGV2ZW4gaWYgdGhleSBkbyBub3QgZXhwbGljaXRseSBzdXBwb3J0IGxpdmUgbWln cmF0aW9uLgorKworK2Nwci1leGVjIG1vZGUKKystLS0tLS0tLS0tLS0tCisrCisrSW4gdGhpcyBt b2RlLCBRRU1VIHN0b3BzIHRoZSBWTSwgd3JpdGVzIFZNIHN0YXRlIHRvIHRoZSBtaWdyYXRpb24K KytVUkksIGFuZCBkaXJlY3RseSBleGVjJ3MgYSBuZXcgdmVyc2lvbiBvZiBRRU1VIG9uIHRoZSBz YW1lIGhvc3QsCisrcmVwbGFjaW5nIHRoZSBvcmlnaW5hbCBwcm9jZXNzIHdoaWxlIHJldGFpbmlu ZyBpdHMgUElELiAgR3Vlc3QgUkFNIGlzCisrcHJlc2VydmVkIGluIHBsYWNlLCBhbGJlaXQgd2l0 aCBuZXcgdmlydHVhbCBhZGRyZXNzZXMuICBUaGUgdXNlcgorK2NvbXBsZXRlcyB0aGUgbWlncmF0 aW9uIGJ5IHNwZWNpZnlpbmcgdGhlIGBgLWluY29taW5nYGAgb3B0aW9uLCBhbmQKKytieSBpc3N1 aW5nIHRoZSBgYG1pZ3JhdGUtaW5jb21pbmdgYCBjb21tYW5kIGlmIG5lY2Vzc2FyeTsgc2VlIGRl dGFpbHMKKytiZWxvdy4KKysKKytUaGlzIG1vZGUgc3VwcG9ydHMgVkZJTy9JT01NVUZEIGRldmlj ZXMgYnkgcHJlc2VydmluZyBkZXZpY2UKKytkZXNjcmlwdG9ycyBhbmQgaGVuY2Uga2VybmVsIHN0 YXRlIGFjcm9zcyB0aGUgZXhlYywgZXZlbiBmb3IgZGV2aWNlcworK3RoYXQgZG8gbm90IHN1cHBv cnQgbGl2ZSBtaWdyYXRpb24uCisrCisrQmVjYXVzZSB0aGUgb2xkIGFuZCBuZXcgUUVNVSBpbnN0 YW5jZXMgYXJlIG5vdCBhY3RpdmUgY29uY3VycmVudGx5LAorK3RoZSBVUkkgY2Fubm90IGJlIGEg dHlwZSB0aGF0IHN0cmVhbXMgZGF0YSBmcm9tIG9uZSBpbnN0YW5jZSB0byB0aGUKKytvdGhlci4K KysKKytUaGlzIG1vZGUgZG9lcyBub3QgcmVxdWlyZSBhIGNoYW5uZWwgb2YgdHlwZSBgYGNwcmBg LiAgVGhlIGluZm9ybWF0aW9uCisrdGhhdCBpcyBwYXNzZWQgb3ZlciB0aGF0IGNoYW5uZWwgZm9y IGNwci10cmFuc2ZlciBtb2RlIGlzIGluc3RlYWQKKytzZXJpYWxpemVkIHRvIGEgbWVtZmQsIHRo ZSBudW1iZXIgb2YgdGhlIGZkIGlzIHNhdmVkIGluIHRoZQorK1FFTVVfQ1BSX0VYRUNfU1RBVEUg ZW52aXJvbm1lbnQgdmFyaWFibGUgZHVyaW5nIHRoZSBleGVjIG9mIG5ldyBRRU1VLgorK2FuZCBu ZXcgUUVNVSBtbWFwcyB0aGUgbWVtZmQuCisrCisrVXNhZ2UKKyteXl5eXgorKworK0FyZ3VtZW50 cyBmb3IgdGhlIG5ldyBRRU1VIHByb2Nlc3MgYXJlIHRha2VuIGZyb20gdGhlCisrQGNwci1leGVj LWNvbW1hbmQgcGFyYW1ldGVyLiAgVGhlIGZpcnN0IGFyZ3VtZW50IHNob3VsZCBiZSB0aGUKKytw YXRoIG9mIGEgbmV3IFFFTVUgYmluYXJ5LCBvciBhIHByZWZpeCBjb21tYW5kIHRoYXQgZXhlYydz IHRoZQorK25ldyBRRU1VIGJpbmFyeSwgYW5kIHRoZSBhcmd1bWVudHMgc2hvdWxkIGluY2x1ZGUg dGhlICcnLWluY29taW5nJycKKytvcHRpb24uCisrCisrTWVtb3J5IGJhY2tlbmQgb2JqZWN0cyBt dXN0IGhhdmUgdGhlIGBgc2hhcmU9b25gYCBhdHRyaWJ1dGUuCisrVGhlIFZNIG11c3QgYmUgc3Rh cnRlZCB3aXRoIHRoZSBgYC1tYWNoaW5lIGF1eC1yYW0tc2hhcmU9b25gYCBvcHRpb24uCisrCisr T3V0Z29pbmc6CisrICAqIFNldCB0aGUgbWlncmF0aW9uIG1vZGUgcGFyYW1ldGVyIHRvIGBgY3By LWV4ZWNgYC4KKysgICogU2V0IHRoZSBgYGNwci1leGVjLWNvbW1hbmRgYCBwYXJhbWV0ZXIuCisr ICAqIElzc3VlIHRoZSBgYG1pZ3JhdGVgYCBjb21tYW5kLiAgSXQgaXMgcmVjb21tZW5kZWQgdGhh dCB0aGUgVVJJIGJlCisrICAgIGEgYGBmaWxlYGAgdHlwZSwgYnV0IG9uZSBjYW4gdXNlIG90aGVy IHR5cGVzIHN1Y2ggYXMgYGBleGVjYGAsCisrICAgIHByb3ZpZGVkIHRoZSBjb21tYW5kIGNhcHR1 cmVzIGFsbCB0aGUgZGF0YSBmcm9tIHRoZSBvdXRnb2luZyBzaWRlLAorKyAgICBhbmQgcHJvdmlk ZXMgYWxsIHRoZSBkYXRhIHRvIHRoZSBpbmNvbWluZyBzaWRlLgorKworK0luY29taW5nOgorKyAg KiBZb3UgZG8gbm90IG5lZWQgdG8gZXhwbGljaXRseSBzdGFydCBuZXcgUUVNVS4gIEl0IGlzIHN0 YXJ0ZWQgYXMKKysgICAgYSBzaWRlIGVmZmVjdCBvZiB0aGUgbWlncmF0ZSBjb21tYW5kIGFib3Zl LgorKyAgKiBJZiB0aGUgVk0gd2FzIHJ1bm5pbmcgd2hlbiB0aGUgb3V0Z29pbmcgYGBtaWdyYXRl YGAgY29tbWFuZCB3YXMKKysgICAgaXNzdWVkLCB0aGVuIFFFTVUgYXV0b21hdGljYWxseSByZXN1 bWVzIFZNIGV4ZWN1dGlvbi4KKysKKytFeGFtcGxlIDE6IGluY29taW5nIFVSSQorK15eXl5eXl5e Xl5eXl5eXl5eXl5eXl5eCisrCisrSW4gdGhlc2UgZXhhbXBsZXMsIHdlIHNpbXBseSByZXN0YXJ0 IHRoZSBzYW1lIHZlcnNpb24gb2YgUUVNVSwgYnV0IGluCisrYSByZWFsIHNjZW5hcmlvIG9uZSB3 b3VsZCBzZXQgYSBuZXcgUUVNVSBiaW5hcnkgcGF0aCBpbgorK2Nwci1leGVjLWNvbW1hbmQuCisr CisrOjoKKysKKysgICMgcWVtdS1rdm0gLW1vbml0b3Igc3RkaW8KKysgIC1vYmplY3QgbWVtb3J5 LWJhY2tlbmQtbWVtZmQsaWQ9cmFtMCxzaXplPTRHCisrICAtbWFjaGluZSBtZW1vcnktYmFja2Vu ZD1yYW0wCisrICAtbWFjaGluZSBhdXgtcmFtLXNoYXJlPW9uCisrICAuLi4KKysKKysgIFFFTVUg MTAuMi41MCBtb25pdG9yIC0gdHlwZSAnaGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24KKysgIChx ZW11KSBpbmZvIHN0YXR1cworKyAgVk0gc3RhdHVzOiBydW5uaW5nCisrICAocWVtdSkgbWlncmF0 ZV9zZXRfcGFyYW1ldGVyIG1vZGUgY3ByLWV4ZWMKKysgIChxZW11KSBtaWdyYXRlX3NldF9wYXJh bWV0ZXIgY3ByLWV4ZWMtY29tbWFuZCBxZW11LWt2bSAuLi4gLWluY29taW5nIGZpbGU6dm0uc3Rh dGUKKysgIChxZW11KSBtaWdyYXRlIC1kIGZpbGU6dm0uc3RhdGUKKysgIChxZW11KSBRRU1VIDEw LjIuNTAgbW9uaXRvciAtIHR5cGUgJ2hlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uCisrICAocWVt dSkgaW5mbyBzdGF0dXMKKysgIFZNIHN0YXR1czogcnVubmluZworKworK0V4YW1wbGUgMjogaW5j b21pbmcgZGVmZXIKKyteXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eCisrOjoKKysKKysgICMgcWVt dS1rdm0gLW1vbml0b3Igc3RkaW8KKysgIC1vYmplY3QgbWVtb3J5LWJhY2tlbmQtbWVtZmQsaWQ9 cmFtMCxzaXplPTRHCisrICAtbWFjaGluZSBtZW1vcnktYmFja2VuZD1yYW0wCisrICAtbWFjaGlu ZSBhdXgtcmFtLXNoYXJlPW9uCisrICAuLi4KKysKKysgIFFFTVUgMTAuMi41MCBtb25pdG9yIC0g dHlwZSAnaGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24KKysgIChxZW11KSBpbmZvIHN0YXR1cwor KyAgVk0gc3RhdHVzOiBydW5uaW5nCisrICAocWVtdSkgbWlncmF0ZV9zZXRfcGFyYW1ldGVyIG1v ZGUgY3ByLWV4ZWMKKysgIChxZW11KSBtaWdyYXRlX3NldF9wYXJhbWV0ZXIgY3ByLWV4ZWMtY29t bWFuZCBxZW11LWt2bSAuLi4gLWluY29taW5nIGRlZmVyCisrICAocWVtdSkgbWlncmF0ZSAtZCBm aWxlOnZtLnN0YXRlCisrICAocWVtdSkgUUVNVSAxMC4yLjUwIG1vbml0b3IgLSB0eXBlICdoZWxw JyBmb3IgbW9yZSBpbmZvcm1hdGlvbgorKyAgKHFlbXUpIGluZm8gc3RhdHVzCisrICBzdGF0dXM6 IHBhdXNlZCAoaW5taWdyYXRlKQorKyAgKHFlbXUpIG1pZ3JhdGVfaW5jb21pbmcgZmlsZTp2bS5z dGF0ZQorKyAgKHFlbXUpIGluZm8gc3RhdHVzCisrICBWTSBzdGF0dXM6IHJ1bm5pbmcKKysKKytD YXZlYXRzCisrXl5eXl5eXgorKworK2Nwci1leGVjIG1vZGUgbWF5IG5vdCBiZSB1c2VkIHdpdGgg cG9zdGNvcHksIGJhY2tncm91bmQtc25hcHNob3QsCisrb3IgQ09MTy4KKysKKytjcHItZXhlYyBt b2RlIHJlcXVpcmVzIHBlcm1pc3Npb24gdG8gdXNlIHRoZSBleGVjIHN5c3RlbSBjYWxsLCB3aGlj aAorK2lzIGRlbmllZCBieSBjZXJ0YWluIHNhbmRib3ggb3B0aW9ucywgc3VjaCBhcyBzcGF3bi4K KysKKytUaGUgZ3Vlc3QgcGF1c2UgdGltZSBpbmNyZWFzZXMgZm9yIGxhcmdlIGd1ZXN0IFJBTSBi YWNrZWQgYnkgc21hbGwgcGFnZXMuCistLSAKKzIuNTIuMAorCgpkaWZmIC0tZ2l0IGEva3ZtLW1p Z3JhdGlvbi1jcHItZXhlYy1tb2RlLnBhdGNoIGIva3ZtLW1pZ3JhdGlvbi1jcHItZXhlYy1tb2Rl LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJiNDhkNjEKLS0tIC9k ZXYvbnVsbAorKysgYi9rdm0tbWlncmF0aW9uLWNwci1leGVjLW1vZGUucGF0Y2gKQEAgLTAsMCAr MSw0MTkgQEAKK0Zyb20gZDIzM2Q5NzQ1ZTQ1MTkxMTkxNTlhZWNiNGZmNzA1MGYyMDY2MDA0MSBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFN0ZXZlIFNpc3RhcmUgPHN0ZXZlbi5zaXN0 YXJlQG9yYWNsZS5jb20+CitEYXRlOiBXZWQsIDEgT2N0IDIwMjUgMDg6MzM6NTggLTA3MDAKK1N1 YmplY3Q6IFtQQVRDSCAwOTMvMTE2XSBtaWdyYXRpb246IGNwci1leGVjIG1vZGUKK01JTUUtVmVy c2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRl bnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworUkgtQXV0aG9yOiBSb2RvbGZvIFZpY2sgPE5v bmU+CitSSC1NZXJnZVJlcXVlc3Q6IDQ4NjogQWRkIERNQUJVRiBzdXBwb3J0CitSSC1KaXJhOiBS SEVMLTEzODQ5NAorUkgtQWNrZWQtYnk6IEPDqWRyaWMgTGUgR29hdGVyIDxjbGdAcmVkaGF0LmNv bT4KK1JILUFja2VkLWJ5OiBFcmljIEF1Z2VyIDxlcmljLmF1Z2VyQHJlZGhhdC5jb20+CitSSC1D b21taXQ6IFs3Ny8xMDBdIGJlYThhMWQzYmYwNTgyMDc2ZDdiODFiYjRmODNlMTliOWQyNTdhNzUg KHJvdmljazEvcWVtdS1rdm0pCisKK0FkZCB0aGUgY3ByLWV4ZWMgbWlncmF0aW9uIG1vZGUuICBV c2FnZToKKyAgcWVtdS1zeXN0ZW0tJGFyY2ggLW1hY2hpbmUgYXV4LXJhbS1zaGFyZT1vbiAuLi4K KyAgbWlncmF0ZV9zZXRfcGFyYW1ldGVyIG1vZGUgY3ByLWV4ZWMKKyAgbWlncmF0ZV9zZXRfcGFy YW1ldGVyIGNwci1leGVjLWNvbW1hbmQgXAorICAgIDxhcmcxPiA8YXJnMj4gLi4uIC1pbmNvbWlu ZyA8dXJpLTE+IFwKKyAgbWlncmF0ZSAtZCA8dXJpLTE+CisKK1RoZSBtaWdyYXRlIGNvbW1hbmQg c3RvcHMgdGhlIFZNLCBzYXZlcyBzdGF0ZSB0byB1cmktMSwKK2RpcmVjdGx5IGV4ZWMncyBhIG5l dyB2ZXJzaW9uIG9mIFFFTVUgb24gdGhlIHNhbWUgaG9zdCwKK3JlcGxhY2luZyB0aGUgb3JpZ2lu YWwgcHJvY2VzcyB3aGlsZSByZXRhaW5pbmcgaXRzIFBJRCwgYW5kCitsb2FkcyBzdGF0ZSBmcm9t IHVyaS0xLiAgR3Vlc3QgUkFNIGlzIHByZXNlcnZlZCBpbiBwbGFjZSwKK2FsYmVpdCB3aXRoIG5l dyB2aXJ0dWFsIGFkZHJlc3Nlcy4KKworVGhlIG5ldyBRRU1VIHByb2Nlc3MgaXMgc3RhcnRlZCBi eSBleGVjJ2luZyB0aGUgY29tbWFuZAorc3BlY2lmaWVkIGJ5IHRoZSBAY3ByLWV4ZWMtY29tbWFu ZCBwYXJhbWV0ZXIuICBUaGUgZmlyc3Qgd29yZCBvZgordGhlIGNvbW1hbmQgaXMgdGhlIGJpbmFy eSwgYW5kIHRoZSByZW1haW5pbmcgd29yZHMgYXJlIGl0cworYXJndW1lbnRzLiAgVGhlIGNvbW1h bmQgbWF5IGJlIGEgZGlyZWN0IGludm9jYXRpb24gb2YgbmV3IFFFTVUsCitvciBtYXkgYmUgYSBu b24tUUVNVSBjb21tYW5kIHRoYXQgZXhlYydzIHRoZSBuZXcgUUVNVSBiaW5hcnkuCisKK1RoaXMg bW9kZSBjcmVhdGVzIGEgc2Vjb25kIG1pZ3JhdGlvbiBjaGFubmVsIHRoYXQgaXMgbm90IHZpc2li bGUKK3RvIHRoZSB1c2VyLiAgQXQgdGhlIHN0YXJ0IG9mIG1pZ3JhdGlvbiwgb2xkIFFFTVUgc2F2 ZXMgQ1BSIHN0YXRlCit0byB0aGUgc2Vjb25kIGNoYW5uZWwsIGFuZCBhdCB0aGUgZW5kIG9mIG1p Z3JhdGlvbiwgaXQgdGVsbHMgdGhlCittYWluIGxvb3AgdG8gY2FsbCBjcHJfZXhlYy4gIE5ldyBR RU1VIGxvYWRzIENQUiBzdGF0ZSBlYXJseSwgYmVmb3JlCitvYmplY3RzIGFyZSBjcmVhdGVkLgor CitCZWNhdXNlIG9sZCBRRU1VIHRlcm1pbmF0ZXMgd2hlbiBuZXcgUUVNVSBzdGFydHMsIG9uZSBj YW5ub3QKK3N0cmVhbSBkYXRhIGJldHdlZW4gdGhlIHR3bywgc28gdXJpLTEgbXVzdCBiZSBhIHR5 cGUsCitzdWNoIGFzIGEgZmlsZSwgdGhhdCBhY2NlcHRzIGFsbCBkYXRhIGJlZm9yZSBvbGQgUUVN VSBleGl0cy4KK090aGVyd2lzZSwgb2xkIFFFTVUgbWF5IHF1aWV0bHkgYmxvY2sgd3JpdGluZyB0 byB0aGUgY2hhbm5lbC4KKworTWVtb3J5LWJhY2tlbmQgb2JqZWN0cyBtdXN0IGhhdmUgdGhlIHNo YXJlPW9uIGF0dHJpYnV0ZSwgYnV0CittZW1vcnktYmFja2VuZC1lcGMgaXMgbm90IHN1cHBvcnRl ZC4gIFRoZSBWTSBtdXN0IGJlIHN0YXJ0ZWQgd2l0aAordGhlICctbWFjaGluZSBhdXgtcmFtLXNo YXJlPW9uJyBvcHRpb24sIHdoaWNoIGFsbG93cyBhbm9ueW1vdXMKK21lbW9yeSB0byBiZSB0cmFu c2ZlcnJlZCBpbiBwbGFjZSB0byB0aGUgbmV3IHByb2Nlc3MuICBUaGUgbWVtZmRzCithcmUga2Vw dCBvcGVuIGFjcm9zcyBleGVjIGJ5IGNsZWFyaW5nIHRoZSBjbG9zZS1vbi1leGVjIGZsYWcsIHRo ZWlyCit2YWx1ZXMgYXJlIHNhdmVkIGluIENQUiBzdGF0ZSwgYW5kIHRoZXkgYXJlIG1tYXAnZCBp biBuZXcgUUVNVS4KKworU2lnbmVkLW9mZi1ieTogU3RldmUgU2lzdGFyZSA8c3RldmVuLnNpc3Rh cmVAb3JhY2xlLmNvbT4KK0Fja2VkLWJ5OiBNYXJrdXMgQXJtYnJ1c3RlciA8YXJtYnJ1QHJlZGhh dC5jb20+CitMaW5rOiBodHRwczovL2xvcmUua2VybmVsLm9yZy9yLzE3NTkzMzI4NTEtMzcwMzUz LTctZ2l0LXNlbmQtZW1haWwtc3RldmVuLnNpc3RhcmVAb3JhY2xlLmNvbQorU2lnbmVkLW9mZi1i eTogUGV0ZXIgWHUgPHBldGVyeEByZWRoYXQuY29tPgorLS0tCisgaW5jbHVkZS9taWdyYXRpb24v Y3ByLmggICB8ICAyICsKKyBtaWdyYXRpb24vY3ByLWV4ZWMuYyAgICAgIHwgOTUgKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCisgbWlncmF0aW9uL2Nwci5jICAgICAgICAg ICB8IDIzICsrKysrKysrKy0KKyBtaWdyYXRpb24vbWlncmF0aW9uLmMgICAgIHwgMTAgKysrKy0K KyBtaWdyYXRpb24vcmFtLmMgICAgICAgICAgIHwgIDEgKworIG1pZ3JhdGlvbi90cmFjZS1ldmVu dHMgICAgfCAgMSArCisgbWlncmF0aW9uL3Ztc3RhdGUtdHlwZXMuYyB8ICA4ICsrKysKKyBxYXBp L21pZ3JhdGlvbi5qc29uICAgICAgIHwgMjUgKysrKysrKysrKy0KKyBzeXN0ZW0vdmwuYyAgICAg ICAgICAgICAgIHwgIDQgKy0KKyA5IGZpbGVzIGNoYW5nZWQsIDE2NCBpbnNlcnRpb25zKCspLCA1 IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvaW5jbHVkZS9taWdyYXRpb24vY3ByLmggYi9p bmNsdWRlL21pZ3JhdGlvbi9jcHIuaAoraW5kZXggYjg0Mzg5ZmYwNC4uYTQxMmQ2NjYzYyAxMDA2 NDQKKy0tLSBhL2luY2x1ZGUvbWlncmF0aW9uL2Nwci5oCisrKysgYi9pbmNsdWRlL21pZ3JhdGlv bi9jcHIuaAorQEAgLTUzLDkgKzUzLDExIEBAIGludCBjcHJfZ2V0X2ZkX3BhcmFtKGNvbnN0IGNo YXIgKm5hbWUsIGNvbnN0IGNoYXIgKmZkbmFtZSwgaW50IGluZGV4LAorIFFFTVVGaWxlICpjcHJf dHJhbnNmZXJfb3V0cHV0KE1pZ3JhdGlvbkNoYW5uZWwgKmNoYW5uZWwsIEVycm9yICoqZXJycCk7 CisgUUVNVUZpbGUgKmNwcl90cmFuc2Zlcl9pbnB1dChNaWdyYXRpb25DaGFubmVsICpjaGFubmVs LCBFcnJvciAqKmVycnApOworIAorK3ZvaWQgY3ByX2V4ZWNfaW5pdCh2b2lkKTsKKyBRRU1VRmls ZSAqY3ByX2V4ZWNfb3V0cHV0KEVycm9yICoqZXJycCk7CisgUUVNVUZpbGUgKmNwcl9leGVjX2lu cHV0KEVycm9yICoqZXJycCk7Cisgdm9pZCBjcHJfZXhlY19wZXJzaXN0X3N0YXRlKFFFTVVGaWxl ICpmKTsKKyBib29sIGNwcl9leGVjX2hhc19zdGF0ZSh2b2lkKTsKKyB2b2lkIGNwcl9leGVjX3Vu cGVyc2lzdF9zdGF0ZSh2b2lkKTsKKyt2b2lkIGNwcl9leGVjX3VucHJlc2VydmVfZmRzKHZvaWQp OworICNlbmRpZgorZGlmZiAtLWdpdCBhL21pZ3JhdGlvbi9jcHItZXhlYy5jIGIvbWlncmF0aW9u L2Nwci1leGVjLmMKK2luZGV4IDgxZDg0NDI1ZTEuLmQ1NzcxNGJjNWQgMTAwNjQ0CistLS0gYS9t aWdyYXRpb24vY3ByLWV4ZWMuYworKysrIGIvbWlncmF0aW9uL2Nwci1leGVjLmMKK0BAIC02LDE1 ICs2LDIxIEBACisgCisgI2luY2x1ZGUgInFlbXUvb3NkZXAuaCIKKyAjaW5jbHVkZSAicWVtdS9j dXRpbHMuaCIKKysjaW5jbHVkZSAicWVtdS9lcnJvci1yZXBvcnQuaCIKKyAjaW5jbHVkZSAicWVt dS9tZW1mZC5oIgorICNpbmNsdWRlICJxYXBpL2Vycm9yLmgiCisrI2luY2x1ZGUgInFhcGkvdHlw ZS1oZWxwZXJzLmgiCisgI2luY2x1ZGUgImlvL2NoYW5uZWwtZmlsZS5oIgorICNpbmNsdWRlICJp by9jaGFubmVsLXNvY2tldC5oIgorKyNpbmNsdWRlICJibG9jay9ibG9jay1nbG9iYWwtc3RhdGUu aCIKKysjaW5jbHVkZSAicWVtdS9tYWluLWxvb3AuaCIKKyAjaW5jbHVkZSAibWlncmF0aW9uL2Nw ci5oIgorICNpbmNsdWRlICJtaWdyYXRpb24vcWVtdS1maWxlLmgiCisrI2luY2x1ZGUgIm1pZ3Jh dGlvbi9taWdyYXRpb24uaCIKKyAjaW5jbHVkZSAibWlncmF0aW9uL21pc2MuaCIKKyAjaW5jbHVk ZSAibWlncmF0aW9uL3Ztc3RhdGUuaCIKKyAjaW5jbHVkZSAic3lzdGVtL3J1bnN0YXRlLmgiCisr I2luY2x1ZGUgInRyYWNlLmgiCisgCisgI2RlZmluZSBDUFJfRVhFQ19TVEFURV9OQU1FICJRRU1V X0NQUl9FWEVDX1NUQVRFIgorIAorQEAgLTk3LDMgKzEwMyw5MiBAQCBRRU1VRmlsZSAqY3ByX2V4 ZWNfaW5wdXQoRXJyb3IgKiplcnJwKQorICAgICBsc2VlayhtZmQsIDAsIFNFRUtfU0VUKTsKKyAg ICAgcmV0dXJuIHFlbXVfZmlsZV9uZXdfZmRfaW5wdXQobWZkLCBDUFJfRVhFQ19TVEFURV9OQU1F KTsKKyB9CisrCisrc3RhdGljIGJvb2wgcHJlc2VydmVfZmQoaW50IGZkKQorK3sKKysgICAgcWVt dV9jbGVhcl9jbG9leGVjKGZkKTsKKysgICAgcmV0dXJuIHRydWU7CisrfQorKworK3N0YXRpYyBi b29sIHVucHJlc2VydmVfZmQoaW50IGZkKQorK3sKKysgICAgcWVtdV9zZXRfY2xvZXhlYyhmZCk7 CisrICAgIHJldHVybiB0cnVlOworK30KKysKKytzdGF0aWMgdm9pZCBjcHJfZXhlY19wcmVzZXJ2 ZV9mZHModm9pZCkKKyt7CisrICAgIGNwcl93YWxrX2ZkKHByZXNlcnZlX2ZkKTsKKyt9CisrCisr dm9pZCBjcHJfZXhlY191bnByZXNlcnZlX2Zkcyh2b2lkKQorK3sKKysgICAgY3ByX3dhbGtfZmQo dW5wcmVzZXJ2ZV9mZCk7CisrfQorKworK3N0YXRpYyB2b2lkIGNwcl9leGVjX2NiKHZvaWQgKm9w YXF1ZSkKKyt7CisrICAgIE1pZ3JhdGlvblN0YXRlICpzID0gbWlncmF0ZV9nZXRfY3VycmVudCgp OworKyAgICBjaGFyICoqYXJndiA9IHN0cnZfZnJvbV9zdHJfbGlzdChzLT5wYXJhbWV0ZXJzLmNw cl9leGVjX2NvbW1hbmQpOworKyAgICBFcnJvciAqZXJyID0gTlVMTDsKKysKKysgICAgLyoKKysg ICAgICogQ2xlYXIgdGhlIGNsb3NlLW9uLWV4ZWMgZmxhZyBmb3IgYWxsIHByZXNlcnZlZCBmZCdz LiAgV2UgY2Fubm90IGRvIHNvCisrICAgICAqIGVhcmxpZXIgYmVjYXVzZSB0aGV5IHNob3VsZCBu b3QgcGVyc2lzdCBhY3Jvc3MgbWlzY2VsbGFuZW91cyBmb3JrIGFuZAorKyAgICAgKiBleGVjIGNh bGxzIHRoYXQgYXJlIHBlcmZvcm1lZCBkdXJpbmcgbm9ybWFsIG9wZXJhdGlvbi4KKysgICAgICov CisrICAgIGNwcl9leGVjX3ByZXNlcnZlX2ZkcygpOworKworKyAgICB0cmFjZV9jcHJfZXhlYygp OworKyAgICBleGVjdnAoYXJndlswXSwgYXJndik7CisrCisrICAgIC8qCisrICAgICAqIGV4ZWMg c2hvdWxkIG9ubHkgZmFpbCBpZiBhcmd2WzBdIGlzIGJvZ3VzLCBvciBoYXMgYSBwZXJtaXNzaW9u cyBwcm9ibGVtLAorKyAgICAgKiBvciB0aGUgc3lzdGVtIGlzIHZlcnkgc2hvcnQgb24gcmVzb3Vy Y2VzLgorKyAgICAgKi8KKysgICAgZ19zdHJmcmVldihhcmd2KTsKKysgICAgY3ByX2V4ZWNfdW5w cmVzZXJ2ZV9mZHMoKTsKKysKKysgICAgZXJyb3Jfc2V0Z19lcnJubygmZXJyLCBlcnJubywgImV4 ZWN2cCAlcyBmYWlsZWQiLCBhcmd2WzBdKTsKKysgICAgZXJyb3JfcmVwb3J0X2VycihlcnJvcl9j b3B5KGVycikpOworKyAgICBtaWdyYXRlX3NldF9zdGF0ZSgmcy0+c3RhdGUsIHMtPnN0YXRlLCBN SUdSQVRJT05fU1RBVFVTX0ZBSUxFRCk7CisrICAgIG1pZ3JhdGVfc2V0X2Vycm9yKHMsIGVycik7 CisrCisrICAgIC8qIE5vdGUsIHdlIGNhbiBnbyBmcm9tIHN0YXRlIENPTVBMRVRFRCB0byBGQUlM RUQgKi8KKysgICAgbWlncmF0aW9uX2NhbGxfbm90aWZpZXJzKHMsIE1JR19FVkVOVF9QUkVDT1BZ X0ZBSUxFRCwgTlVMTCk7CisrCisrICAgIGVyciA9IE5VTEw7CisrICAgIGlmICghbWlncmF0aW9u X2Jsb2NrX2FjdGl2YXRlKCZlcnIpKSB7CisrICAgICAgICAvKiBlcnJvciB3YXMgYWxyZWFkeSBy ZXBvcnRlZCAqLworKyAgICAgICAgZXJyb3JfZnJlZShlcnIpOworKyAgICAgICAgcmV0dXJuOwor KyAgICB9CisrCisrICAgIGlmIChydW5zdGF0ZV9pc19saXZlKHMtPnZtX29sZF9zdGF0ZSkpIHsK KysgICAgICAgIHZtX3N0YXJ0KCk7CisrICAgIH0KKyt9CisrCisrc3RhdGljIGludCBjcHJfZXhl Y19ub3RpZmllcihOb3RpZmllcldpdGhSZXR1cm4gKm5vdGlmaWVyLCBNaWdyYXRpb25FdmVudCAq ZSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVycm9yICoqZXJycCkKKyt7CisrICAg IE1pZ3JhdGlvblN0YXRlICpzID0gbWlncmF0ZV9nZXRfY3VycmVudCgpOworKworKyAgICBpZiAo ZS0+dHlwZSA9PSBNSUdfRVZFTlRfUFJFQ09QWV9ET05FKSB7CisrICAgICAgICBRRU1VQkggKmNw cl9leGVjX2JoID0gcWVtdV9iaF9uZXcoY3ByX2V4ZWNfY2IsIE5VTEwpOworKyAgICAgICAgYXNz ZXJ0KHMtPnN0YXRlID09IE1JR1JBVElPTl9TVEFUVVNfQ09NUExFVEVEKTsKKysgICAgICAgIHFl bXVfYmhfc2NoZWR1bGUoY3ByX2V4ZWNfYmgpOworKyAgICAgICAgcWVtdV9ub3RpZnlfZXZlbnQo KTsKKysgICAgfSBlbHNlIGlmIChlLT50eXBlID09IE1JR19FVkVOVF9QUkVDT1BZX0ZBSUxFRCkg eworKyAgICAgICAgY3ByX2V4ZWNfdW5wZXJzaXN0X3N0YXRlKCk7CisrICAgIH0KKysgICAgcmV0 dXJuIDA7CisrfQorKworK3ZvaWQgY3ByX2V4ZWNfaW5pdCh2b2lkKQorK3sKKysgICAgc3RhdGlj IE5vdGlmaWVyV2l0aFJldHVybiBleGVjX25vdGlmaWVyOworKworKyAgICBtaWdyYXRpb25fYWRk X25vdGlmaWVyX21vZGUoJmV4ZWNfbm90aWZpZXIsIGNwcl9leGVjX25vdGlmaWVyLAorKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgTUlHX01PREVfQ1BSX0VYRUMpOworK30KK2RpZmYg LS1naXQgYS9taWdyYXRpb24vY3ByLmMgYi9taWdyYXRpb24vY3ByLmMKK2luZGV4IGE5OTViMzQ5 ZDkuLjBiODdjMjM0M2YgMTAwNjQ0CistLS0gYS9taWdyYXRpb24vY3ByLmMKKysrKyBiL21pZ3Jh dGlvbi9jcHIuYworQEAgLTYsNiArNiw3IEBACisgICovCisgCisgI2luY2x1ZGUgInFlbXUvb3Nk ZXAuaCIKKysjaW5jbHVkZSAicWVtdS9lcnJvci1yZXBvcnQuaCIKKyAjaW5jbHVkZSAicWFwaS9l cnJvci5oIgorICNpbmNsdWRlICJody92ZmlvL3ZmaW8tZGV2aWNlLmgiCisgI2luY2x1ZGUgIm1p Z3JhdGlvbi9jcHIuaCIKK0BAIC0xODUsNiArMTg2LDggQEAgaW50IGNwcl9zdGF0ZV9zYXZlKE1p Z3JhdGlvbkNoYW5uZWwgKmNoYW5uZWwsIEVycm9yICoqZXJycCkKKyAgICAgaWYgKG1vZGUgPT0g TUlHX01PREVfQ1BSX1RSQU5TRkVSKSB7CisgICAgICAgICBnX2Fzc2VydChjaGFubmVsKTsKKyAg ICAgICAgIGYgPSBjcHJfdHJhbnNmZXJfb3V0cHV0KGNoYW5uZWwsIGVycnApOworKyAgICB9IGVs c2UgaWYgKG1vZGUgPT0gTUlHX01PREVfQ1BSX0VYRUMpIHsKKysgICAgICAgIGYgPSBjcHJfZXhl Y19vdXRwdXQoZXJycCk7CisgICAgIH0gZWxzZSB7CisgICAgICAgICByZXR1cm4gMDsKKyAgICAg fQorQEAgLTIwMSw2ICsyMDQsMTAgQEAgaW50IGNwcl9zdGF0ZV9zYXZlKE1pZ3JhdGlvbkNoYW5u ZWwgKmNoYW5uZWwsIEVycm9yICoqZXJycCkKKyAgICAgICAgIHJldHVybiByZXQ7CisgICAgIH0K KyAKKysgICAgaWYgKG1pZ3JhdGVfbW9kZSgpID09IE1JR19NT0RFX0NQUl9FWEVDKSB7CisrICAg ICAgICBjcHJfZXhlY19wZXJzaXN0X3N0YXRlKGYpOworKyAgICB9CisrCisgICAgIC8qCisgICAg ICAqIENsb3NlIHRoZSBzb2NrZXQgb25seSBwYXJ0aWFsbHkgc28gd2UgY2FuIGxhdGVyIGRldGVj dCB3aGVuIHRoZSBvdGhlcgorICAgICAgKiBlbmQgY2xvc2VzIGJ5IGdldHRpbmcgYSBIVVAgZXZl bnQuCitAQCAtMjE5LDcgKzIyNiwxMyBAQCBpbnQgY3ByX3N0YXRlX2xvYWQoTWlncmF0aW9uQ2hh bm5lbCAqY2hhbm5lbCwgRXJyb3IgKiplcnJwKQorICAgICBRRU1VRmlsZSAqZjsKKyAgICAgTWln TW9kZSBtb2RlID0gMDsKKyAKKy0gICAgaWYgKGNoYW5uZWwpIHsKKysgICAgaWYgKGNwcl9leGVj X2hhc19zdGF0ZSgpKSB7CisrICAgICAgICBtb2RlID0gTUlHX01PREVfQ1BSX0VYRUM7CisrICAg ICAgICBmID0gY3ByX2V4ZWNfaW5wdXQoZXJycCk7CisrICAgICAgICBpZiAoY2hhbm5lbCkgewor KyAgICAgICAgICAgIHdhcm5fcmVwb3J0KCJpZ25vcmluZyBjcHIgY2hhbm5lbCBmb3IgbWlncmF0 aW9uIG1vZGUgY3ByLWV4ZWMiKTsKKysgICAgICAgIH0KKysgICAgfSBlbHNlIGlmIChjaGFubmVs KSB7CisgICAgICAgICBtb2RlID0gTUlHX01PREVfQ1BSX1RSQU5TRkVSOworICAgICAgICAgY3By X3NldF9pbmNvbWluZ19tb2RlKG1vZGUpOworICAgICAgICAgZiA9IGNwcl90cmFuc2Zlcl9pbnB1 dChjaGFubmVsLCBlcnJwKTsKK0BAIC0yMzEsNiArMjQ0LDcgQEAgaW50IGNwcl9zdGF0ZV9sb2Fk KE1pZ3JhdGlvbkNoYW5uZWwgKmNoYW5uZWwsIEVycm9yICoqZXJycCkKKyAgICAgfQorIAorICAg ICB0cmFjZV9jcHJfc3RhdGVfbG9hZChNaWdNb2RlX3N0cihtb2RlKSk7CisrICAgIGNwcl9zZXRf aW5jb21pbmdfbW9kZShtb2RlKTsKKyAKKyAgICAgdiA9IHFlbXVfZ2V0X2JlMzIoZik7CisgICAg IGlmICh2ICE9IFFFTVVfQ1BSX0ZJTEVfTUFHSUMpIHsKK0BAIC0yNTEsNiArMjY1LDExIEBAIGlu dCBjcHJfc3RhdGVfbG9hZChNaWdyYXRpb25DaGFubmVsICpjaGFubmVsLCBFcnJvciAqKmVycnAp CisgICAgICAgICByZXR1cm4gcmV0OworICAgICB9CisgCisrICAgIGlmIChtaWdyYXRlX21vZGUo KSA9PSBNSUdfTU9ERV9DUFJfRVhFQykgeworKyAgICAgICAgLyogU2V0IGNsb2V4ZWMgdG8gcHJl dmVudCBmZCBsZWFrcyBmcm9tIGZvcmsgdW50aWwgdGhlIG5leHQgY3ByLWV4ZWMgKi8KKysgICAg ICAgIGNwcl9leGVjX3VucHJlc2VydmVfZmRzKCk7CisrICAgIH0KKysKKyAgICAgLyoKKyAgICAg ICogTGV0IHRoZSBjYWxsZXIgZGVjaWRlIHdoZW4gdG8gY2xvc2UgdGhlIHNvY2tldCAoYW5kIGdl bmVyYXRlIGEgSFVQIGV2ZW50CisgICAgICAqIGZvciB0aGUgc2VuZGluZyBzaWRlKS4KK0BAIC0y NzEsNyArMjkwLDcgQEAgdm9pZCBjcHJfc3RhdGVfY2xvc2Uodm9pZCkKKyBib29sIGNwcl9pbmNv bWluZ19uZWVkZWQodm9pZCAqb3BhcXVlKQorIHsKKyAgICAgTWlnTW9kZSBtb2RlID0gbWlncmF0 ZV9tb2RlKCk7CistICAgIHJldHVybiBtb2RlID09IE1JR19NT0RFX0NQUl9UUkFOU0ZFUjsKKysg ICAgcmV0dXJuIG1vZGUgPT0gTUlHX01PREVfQ1BSX1RSQU5TRkVSIHx8IG1vZGUgPT0gTUlHX01P REVfQ1BSX0VYRUM7CisgfQorIAorIC8qCitkaWZmIC0tZ2l0IGEvbWlncmF0aW9uL21pZ3JhdGlv bi5jIGIvbWlncmF0aW9uL21pZ3JhdGlvbi5jCitpbmRleCAwOGE5OGY3NGVmLi4yNTE1YmVjNDhm IDEwMDY0NAorLS0tIGEvbWlncmF0aW9uL21pZ3JhdGlvbi5jCisrKysgYi9taWdyYXRpb24vbWln cmF0aW9uLmMKK0BAIC0zMzMsNiArMzMzLDcgQEAgdm9pZCBtaWdyYXRpb25fb2JqZWN0X2luaXQo dm9pZCkKKyAKKyAgICAgcmFtX21pZ19pbml0KCk7CisgICAgIGRpcnR5X2JpdG1hcF9taWdfaW5p dCgpOworKyAgICBjcHJfZXhlY19pbml0KCk7CisgCisgICAgIC8qIEluaXRpYWxpemUgY3B1IHRo cm90dGxlIHRpbWVycyAqLworICAgICBjcHVfdGhyb3R0bGVfaW5pdCgpOworQEAgLTE3OTYsNyAr MTc5Nyw4IEBAIGJvb2wgbWlncmF0ZV9tb2RlX2lzX2NwcihNaWdyYXRpb25TdGF0ZSAqcykKKyB7 CisgICAgIE1pZ01vZGUgbW9kZSA9IHMtPnBhcmFtZXRlcnMubW9kZTsKKyAgICAgcmV0dXJuIG1v ZGUgPT0gTUlHX01PREVfQ1BSX1JFQk9PVCB8fAorLSAgICAgICAgICAgbW9kZSA9PSBNSUdfTU9E RV9DUFJfVFJBTlNGRVI7CisrICAgICAgICAgICBtb2RlID09IE1JR19NT0RFX0NQUl9UUkFOU0ZF UiB8fAorKyAgICAgICAgICAgbW9kZSA9PSBNSUdfTU9ERV9DUFJfRVhFQzsKKyB9CisgCisgaW50 IG1pZ3JhdGVfaW5pdChNaWdyYXRpb25TdGF0ZSAqcywgRXJyb3IgKiplcnJwKQorQEAgLTIxNDUs NiArMjE0NywxMiBAQCBzdGF0aWMgYm9vbCBtaWdyYXRlX3ByZXBhcmUoTWlncmF0aW9uU3RhdGUg KnMsIGJvb2wgcmVzdW1lLCBFcnJvciAqKmVycnApCisgICAgICAgICByZXR1cm4gZmFsc2U7Cisg ICAgIH0KKyAKKysgICAgaWYgKG1pZ3JhdGVfbW9kZSgpID09IE1JR19NT0RFX0NQUl9FWEVDICYm CisrICAgICAgICAhcy0+cGFyYW1ldGVycy5oYXNfY3ByX2V4ZWNfY29tbWFuZCkgeworKyAgICAg ICAgZXJyb3Jfc2V0ZyhlcnJwLCAiY3ByLWV4ZWMgbW9kZSByZXF1aXJlcyBzZXR0aW5nIGNwci1l eGVjLWNvbW1hbmQiKTsKKysgICAgICAgIHJldHVybiBmYWxzZTsKKysgICAgfQorKworICAgICBp ZiAobWlncmF0aW9uX2lzX2Jsb2NrZWQoZXJycCkpIHsKKyAgICAgICAgIHJldHVybiBmYWxzZTsK KyAgICAgfQorZGlmZiAtLWdpdCBhL21pZ3JhdGlvbi9yYW0uYyBiL21pZ3JhdGlvbi9yYW0uYwor aW5kZXggNzIwOGJjMTE0Zi4uNjczMGE0MWZmNSAxMDA2NDQKKy0tLSBhL21pZ3JhdGlvbi9yYW0u YworKysrIGIvbWlncmF0aW9uL3JhbS5jCitAQCAtMjI4LDYgKzIyOCw3IEBAIGJvb2wgbWlncmF0 ZV9yYW1faXNfaWdub3JlZChSQU1CbG9jayAqYmxvY2spCisgICAgIE1pZ01vZGUgbW9kZSA9IG1p Z3JhdGVfbW9kZSgpOworICAgICByZXR1cm4gIXFlbXVfcmFtX2lzX21pZ3JhdGFibGUoYmxvY2sp IHx8CisgICAgICAgICAgICBtb2RlID09IE1JR19NT0RFX0NQUl9UUkFOU0ZFUiB8fAorKyAgICAg ICAgICAgbW9kZSA9PSBNSUdfTU9ERV9DUFJfRVhFQyB8fAorICAgICAgICAgICAgKG1pZ3JhdGVf aWdub3JlX3NoYXJlZCgpICYmIHFlbXVfcmFtX2lzX3NoYXJlZChibG9jaykKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAmJiBxZW11X3JhbV9pc19uYW1lZF9maWxlKGJsb2Nr KSk7CisgfQorZGlmZiAtLWdpdCBhL21pZ3JhdGlvbi90cmFjZS1ldmVudHMgYi9taWdyYXRpb24v dHJhY2UtZXZlbnRzCitpbmRleCA3MDZkYjk3ZGVmLi5lOGVkZDFmYmJhIDEwMDY0NAorLS0tIGEv bWlncmF0aW9uL3RyYWNlLWV2ZW50cworKysrIGIvbWlncmF0aW9uL3RyYWNlLWV2ZW50cworQEAg LTM1NCw2ICszNTQsNyBAQCBjcHJfc3RhdGVfc2F2ZShjb25zdCBjaGFyICptb2RlKSAiJXMgbW9k ZSIKKyBjcHJfc3RhdGVfbG9hZChjb25zdCBjaGFyICptb2RlKSAiJXMgbW9kZSIKKyBjcHJfdHJh bnNmZXJfaW5wdXQoY29uc3QgY2hhciAqcGF0aCkgIiVzIgorIGNwcl90cmFuc2Zlcl9vdXRwdXQo Y29uc3QgY2hhciAqcGF0aCkgIiVzIgorK2Nwcl9leGVjKHZvaWQpICIiCisgCisgIyBibG9jay1k aXJ0eS1iaXRtYXAuYworIHNlbmRfYml0bWFwX2hlYWRlcl9lbnRlcih2b2lkKSAiIgorZGlmZiAt LWdpdCBhL21pZ3JhdGlvbi92bXN0YXRlLXR5cGVzLmMgYi9taWdyYXRpb24vdm1zdGF0ZS10eXBl cy5jCitpbmRleCBhMWNkN2E5NWZhLi40YjAxZGMxOWMyIDEwMDY0NAorLS0tIGEvbWlncmF0aW9u L3Ztc3RhdGUtdHlwZXMuYworKysrIGIvbWlncmF0aW9uL3Ztc3RhdGUtdHlwZXMuYworQEAgLTMy Miw2ICszMjIsMTAgQEAgc3RhdGljIGludCBnZXRfZmQoUUVNVUZpbGUgKmYsIHZvaWQgKnB2LCBz aXplX3Qgc2l6ZSwKKyAgICAgICAgICAgICAgICAgICBjb25zdCBWTVN0YXRlRmllbGQgKmZpZWxk KQorIHsKKyAgICAgaW50MzJfdCAqdiA9IHB2OworKyAgICBpZiAobWlncmF0ZV9tb2RlKCkgPT0g TUlHX01PREVfQ1BSX0VYRUMpIHsKKysgICAgICAgIHFlbXVfZ2V0X3NiZTMycyhmLCB2KTsKKysg ICAgICAgIHJldHVybiAwOworKyAgICB9CisgICAgICp2ID0gcWVtdV9maWxlX2dldF9mZChmKTsK KyAgICAgcmV0dXJuIDA7CisgfQorQEAgLTMzMCw2ICszMzQsMTAgQEAgc3RhdGljIGludCBwdXRf ZmQoUUVNVUZpbGUgKmYsIHZvaWQgKnB2LCBzaXplX3Qgc2l6ZSwKKyAgICAgICAgICAgICAgICAg ICBjb25zdCBWTVN0YXRlRmllbGQgKmZpZWxkLCBKU09OV3JpdGVyICp2bWRlc2MpCisgeworICAg ICBpbnQzMl90ICp2ID0gcHY7CisrICAgIGlmIChtaWdyYXRlX21vZGUoKSA9PSBNSUdfTU9ERV9D UFJfRVhFQykgeworKyAgICAgICAgcWVtdV9wdXRfc2JlMzJzKGYsIHYpOworKyAgICAgICAgcmV0 dXJuIDA7CisrICAgIH0KKyAgICAgcmV0dXJuIHFlbXVfZmlsZV9wdXRfZmQoZiwgKnYpOworIH0K KyAKK2RpZmYgLS1naXQgYS9xYXBpL21pZ3JhdGlvbi5qc29uIGIvcWFwaS9taWdyYXRpb24uanNv bgoraW5kZXggMmJlOGZhMWQxNi4uYmUwZjNmY2MxMiAxMDA2NDQKKy0tLSBhL3FhcGkvbWlncmF0 aW9uLmpzb24KKysrKyBiL3FhcGkvbWlncmF0aW9uLmpzb24KK0BAIC02OTQsOSArNjk0LDMyIEBA CisgIyAgICAgdW50aWwgeW91IGlzc3VlIHRoZSBgbWlncmF0ZS1pbmNvbWluZ2AgY29tbWFuZC4K KyAjCisgIyAgICAgKHNpbmNlIDEwLjApCisrIworKyMgQGNwci1leGVjOiBUaGUgbWlncmF0ZSBj b21tYW5kIHN0b3BzIHRoZSBWTSwgc2F2ZXMgc3RhdGUgdG8gdGhlCisrIyAgICAgbWlncmF0aW9u IGNoYW5uZWwsIGRpcmVjdGx5IGV4ZWMncyBhIG5ldyB2ZXJzaW9uIG9mIFFFTVUgb24gdGhlCisr IyAgICAgc2FtZSBob3N0LCByZXBsYWNpbmcgdGhlIG9yaWdpbmFsIHByb2Nlc3Mgd2hpbGUgcmV0 YWluaW5nIGl0cworKyMgICAgIFBJRCwgYW5kIGxvYWRzIHN0YXRlIGZyb20gdGhlIGNoYW5uZWwu ICBHdWVzdCBSQU0gaXMgcHJlc2VydmVkCisrIyAgICAgaW4gcGxhY2UuICBEZXZpY2VzIGFuZCB0 aGVpciBwaW5uZWQgcGFnZXMgYXJlIGFsc28gcHJlc2VydmVkIGZvcgorKyMgICAgIFZGSU8gYW5k IElPTU1VRkQuCisrIworKyMgICAgIE9sZCBRRU1VIHN0YXJ0cyBuZXcgUUVNVSBieSBleGVjJ2lu ZyB0aGUgY29tbWFuZCBzcGVjaWZpZWQgYnkKKysjICAgICB0aGUgQGNwci1leGVjLWNvbW1hbmQg cGFyYW1ldGVyLiAgVGhlIGNvbW1hbmQgbWF5IGJlIGEgZGlyZWN0CisrIyAgICAgaW52b2NhdGlv biBvZiBuZXcgUUVNVSwgb3IgbWF5IGJlIGEgd3JhcHBlciB0aGF0IGV4ZWMncyB0aGUgbmV3Cisr IyAgICAgUUVNVSBiaW5hcnkuCisrIworKyMgICAgIEJlY2F1c2Ugb2xkIFFFTVUgdGVybWluYXRl cyB3aGVuIG5ldyBRRU1VIHN0YXJ0cywgb25lIGNhbm5vdAorKyMgICAgIHN0cmVhbSBkYXRhIGJl dHdlZW4gdGhlIHR3bywgc28gdGhlIGNoYW5uZWwgbXVzdCBiZSBhIHR5cGUsCisrIyAgICAgc3Vj aCBhcyBhIGZpbGUsIHRoYXQgYWNjZXB0cyBhbGwgZGF0YSBiZWZvcmUgb2xkIFFFTVUgZXhpdHMu CisrIyAgICAgT3RoZXJ3aXNlLCBvbGQgUUVNVSBtYXkgcXVpZXRseSBibG9jayB3cml0aW5nIHRv IHRoZSBjaGFubmVsLgorKyMKKysjICAgICBNZW1vcnktYmFja2VuZCBvYmplY3RzIG11c3QgaGF2 ZSB0aGUgc2hhcmU9b24gYXR0cmlidXRlLCBidXQKKysjICAgICBtZW1vcnktYmFja2VuZC1lcGMg aXMgbm90IHN1cHBvcnRlZC4gIFRoZSBWTSBtdXN0IGJlIHN0YXJ0ZWQKKysjICAgICB3aXRoIHRo ZSAnLW1hY2hpbmUgYXV4LXJhbS1zaGFyZT1vbicgb3B0aW9uLgorKyMKKysjICAgICAoc2luY2Ug MTAuMikKKyAjIworIHsgJ2VudW0nOiAnTWlnTW9kZScsCistICAnZGF0YSc6IFsgJ25vcm1hbCcs ICdjcHItcmVib290JywgJ2Nwci10cmFuc2ZlcicgXSB9CisrICAnZGF0YSc6IFsgJ25vcm1hbCcs ICdjcHItcmVib290JywgJ2Nwci10cmFuc2ZlcicsICdjcHItZXhlYycgXSB9CisgCisgIyMKKyAj IEBaZXJvUGFnZURldGVjdGlvbjoKK2RpZmYgLS1naXQgYS9zeXN0ZW0vdmwuYyBiL3N5c3RlbS92 bC5jCitpbmRleCBkM2U2MTU4NzUzLi43YTMyMDQzNjI1IDEwMDY0NAorLS0tIGEvc3lzdGVtL3Zs LmMKKysrKyBiL3N5c3RlbS92bC5jCitAQCAtMzg1MCw2ICszODUwLDggQEAgdm9pZCBxZW11X2lu aXQoaW50IGFyZ2MsIGNoYXIgKiphcmd2KQorICAgICB9CisgICAgIHFlbXVfaW5pdF9kaXNwbGF5 cygpOworICAgICBhY2NlbF9zZXR1cF9wb3N0KGN1cnJlbnRfbWFjaGluZSk7CistICAgIG9zX3Nl dHVwX3Bvc3QoKTsKKysgICAgaWYgKG1pZ3JhdGVfbW9kZSgpICE9IE1JR19NT0RFX0NQUl9FWEVD KSB7CisrICAgICAgICBvc19zZXR1cF9wb3N0KCk7CisrICAgIH0KKyAgICAgcmVzdW1lX211eF9v cGVuKCk7CisgfQorLS0gCisyLjUyLjAKKwoKZGlmZiAtLWdpdCBhL2t2bS1taWdyYXRpb24tY3By LWV4ZWMtc2F2ZS1hbmQtbG9hZC5wYXRjaCBiL2t2bS1taWdyYXRpb24tY3ByLWV4ZWMtc2F2ZS1h bmQtbG9hZC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMzZlMThl Ci0tLSAvZGV2L251bGwKKysrIGIva3ZtLW1pZ3JhdGlvbi1jcHItZXhlYy1zYXZlLWFuZC1sb2Fk LnBhdGNoCkBAIC0wLDAgKzEsMTY2IEBACitGcm9tIDllYmE4NjlhZTlmMjJmN2M5NDcwY2E4NGIw MWJjNzc1NDQxZmZhNzcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBTdGV2ZSBTaXN0 YXJlIDxzdGV2ZW4uc2lzdGFyZUBvcmFjbGUuY29tPgorRGF0ZTogV2VkLCAxIE9jdCAyMDI1IDA4 OjMzOjU3IC0wNzAwCitTdWJqZWN0OiBbUEFUQ0ggMDkyLzExNl0gbWlncmF0aW9uOiBjcHItZXhl YyBzYXZlIGFuZCBsb2FkCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3Bs YWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK1JI LUF1dGhvcjogUm9kb2xmbyBWaWNrIDxOb25lPgorUkgtTWVyZ2VSZXF1ZXN0OiA0ODY6IEFkZCBE TUFCVUYgc3VwcG9ydAorUkgtSmlyYTogUkhFTC0xMzg0OTQKK1JILUFja2VkLWJ5OiBDw6lkcmlj IExlIEdvYXRlciA8Y2xnQHJlZGhhdC5jb20+CitSSC1BY2tlZC1ieTogRXJpYyBBdWdlciA8ZXJp Yy5hdWdlckByZWRoYXQuY29tPgorUkgtQ29tbWl0OiBbNzYvMTAwXSBkY2NmY2UxYTg1MTM2NGQ4 YTNmYzE1Y2NjNTM3Mjc3ZmQyZjNiNTViIChyb3ZpY2sxL3FlbXUta3ZtKQorCitUbyBwcmVzZXJ2 ZSBDUFIgc3RhdGUgYWNyb3NzIGV4ZWMsIGNyZWF0ZSBhIFFFTVVGaWxlIGJhc2VkIG9uIGEgbWVt ZmQsIGFuZAora2VlcCB0aGUgbWVtZmQgb3BlbiBhY3Jvc3MgZXhlYy4gIFNhdmUgdGhlIHZhbHVl IG9mIHRoZSBtZW1mZCBpbiBhbgorZW52aXJvbm1lbnQgdmFyaWFibGUgc28gcG9zdC1leGVjIFFF TVUgY2FuIGZpbmQgaXQuCisKK1RoZXNlIG5ldyBmdW5jdGlvbnMgYXJlIGNhbGxlZCBpbiBhIHN1 YnNlcXVlbnQgcGF0Y2guCisKK1NpZ25lZC1vZmYtYnk6IFN0ZXZlIFNpc3RhcmUgPHN0ZXZlbi5z aXN0YXJlQG9yYWNsZS5jb20+CitMaW5rOiBodHRwczovL2xvcmUua2VybmVsLm9yZy9yLzE3NTkz MzI4NTEtMzcwMzUzLTYtZ2l0LXNlbmQtZW1haWwtc3RldmVuLnNpc3RhcmVAb3JhY2xlLmNvbQor W3BldGVyeDogZml4IGJ1aWxkIGZvciBXaW5kb3dzXQorU2lnbmVkLW9mZi1ieTogUGV0ZXIgWHUg PHBldGVyeEByZWRoYXQuY29tPgorLS0tCisgaW5jbHVkZS9taWdyYXRpb24vY3ByLmggfCAgNSAr KysKKyBtaWdyYXRpb24vY3ByLWV4ZWMuYyAgICB8IDk5ICsrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrCisgbWlncmF0aW9uL21lc29uLmJ1aWxkICAgfCAgMSArCisgMyBm aWxlcyBjaGFuZ2VkLCAxMDUgaW5zZXJ0aW9ucygrKQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBtaWdy YXRpb24vY3ByLWV4ZWMuYworCitkaWZmIC0tZ2l0IGEvaW5jbHVkZS9taWdyYXRpb24vY3ByLmgg Yi9pbmNsdWRlL21pZ3JhdGlvbi9jcHIuaAoraW5kZXggMmIwNzRkN2E2NS4uYjg0Mzg5ZmYwNCAx MDA2NDQKKy0tLSBhL2luY2x1ZGUvbWlncmF0aW9uL2Nwci5oCisrKysgYi9pbmNsdWRlL21pZ3Jh dGlvbi9jcHIuaAorQEAgLTUzLDQgKzUzLDkgQEAgaW50IGNwcl9nZXRfZmRfcGFyYW0oY29uc3Qg Y2hhciAqbmFtZSwgY29uc3QgY2hhciAqZmRuYW1lLCBpbnQgaW5kZXgsCisgUUVNVUZpbGUgKmNw cl90cmFuc2Zlcl9vdXRwdXQoTWlncmF0aW9uQ2hhbm5lbCAqY2hhbm5lbCwgRXJyb3IgKiplcnJw KTsKKyBRRU1VRmlsZSAqY3ByX3RyYW5zZmVyX2lucHV0KE1pZ3JhdGlvbkNoYW5uZWwgKmNoYW5u ZWwsIEVycm9yICoqZXJycCk7CisgCisrUUVNVUZpbGUgKmNwcl9leGVjX291dHB1dChFcnJvciAq KmVycnApOworK1FFTVVGaWxlICpjcHJfZXhlY19pbnB1dChFcnJvciAqKmVycnApOworK3ZvaWQg Y3ByX2V4ZWNfcGVyc2lzdF9zdGF0ZShRRU1VRmlsZSAqZik7CisrYm9vbCBjcHJfZXhlY19oYXNf c3RhdGUodm9pZCk7Cisrdm9pZCBjcHJfZXhlY191bnBlcnNpc3Rfc3RhdGUodm9pZCk7CisgI2Vu ZGlmCitkaWZmIC0tZ2l0IGEvbWlncmF0aW9uL2Nwci1leGVjLmMgYi9taWdyYXRpb24vY3ByLWV4 ZWMuYworbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwMDAuLjgxZDg0NDI1ZTEK Ky0tLSAvZGV2L251bGwKKysrKyBiL21pZ3JhdGlvbi9jcHItZXhlYy5jCitAQCAtMCwwICsxLDk5 IEBACisrLyoKKysgKiBDb3B5cmlnaHQgKGMpIDIwMjEtMjAyNSBPcmFjbGUgYW5kL29yIGl0cyBh ZmZpbGlhdGVzLgorKyAqCisrICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3It bGF0ZXIKKysgKi8KKysKKysjaW5jbHVkZSAicWVtdS9vc2RlcC5oIgorKyNpbmNsdWRlICJxZW11 L2N1dGlscy5oIgorKyNpbmNsdWRlICJxZW11L21lbWZkLmgiCisrI2luY2x1ZGUgInFhcGkvZXJy b3IuaCIKKysjaW5jbHVkZSAiaW8vY2hhbm5lbC1maWxlLmgiCisrI2luY2x1ZGUgImlvL2NoYW5u ZWwtc29ja2V0LmgiCisrI2luY2x1ZGUgIm1pZ3JhdGlvbi9jcHIuaCIKKysjaW5jbHVkZSAibWln cmF0aW9uL3FlbXUtZmlsZS5oIgorKyNpbmNsdWRlICJtaWdyYXRpb24vbWlzYy5oIgorKyNpbmNs dWRlICJtaWdyYXRpb24vdm1zdGF0ZS5oIgorKyNpbmNsdWRlICJzeXN0ZW0vcnVuc3RhdGUuaCIK KysKKysjZGVmaW5lIENQUl9FWEVDX1NUQVRFX05BTUUgIlFFTVVfQ1BSX0VYRUNfU1RBVEUiCisr Cisrc3RhdGljIFFFTVVGaWxlICpxZW11X2ZpbGVfbmV3X2ZkX2lucHV0KGludCBmZCwgY29uc3Qg Y2hhciAqbmFtZSkKKyt7CisrICAgIGdfYXV0b3B0cihRSU9DaGFubmVsRmlsZSkgZmlvYyA9IHFp b19jaGFubmVsX2ZpbGVfbmV3X2ZkKGZkKTsKKysgICAgUUlPQ2hhbm5lbCAqaW9jID0gUUlPX0NI QU5ORUwoZmlvYyk7CisrICAgIHFpb19jaGFubmVsX3NldF9uYW1lKGlvYywgbmFtZSk7CisrICAg IHJldHVybiBxZW11X2ZpbGVfbmV3X2lucHV0KGlvYyk7CisrfQorKworK3N0YXRpYyBRRU1VRmls ZSAqcWVtdV9maWxlX25ld19mZF9vdXRwdXQoaW50IGZkLCBjb25zdCBjaGFyICpuYW1lKQorK3sK KysgICAgZ19hdXRvcHRyKFFJT0NoYW5uZWxGaWxlKSBmaW9jID0gcWlvX2NoYW5uZWxfZmlsZV9u ZXdfZmQoZmQpOworKyAgICBRSU9DaGFubmVsICppb2MgPSBRSU9fQ0hBTk5FTChmaW9jKTsKKysg ICAgcWlvX2NoYW5uZWxfc2V0X25hbWUoaW9jLCBuYW1lKTsKKysgICAgcmV0dXJuIHFlbXVfZmls ZV9uZXdfb3V0cHV0KGlvYyk7CisrfQorKworK3ZvaWQgY3ByX2V4ZWNfcGVyc2lzdF9zdGF0ZShR RU1VRmlsZSAqZikKKyt7CisrICAgIFFJT0NoYW5uZWxGaWxlICpmaW9jID0gUUlPX0NIQU5ORUxf RklMRShxZW11X2ZpbGVfZ2V0X2lvYyhmKSk7CisrICAgIGludCBtZmQgPSBkdXAoZmlvYy0+ZmQp OworKyAgICBjaGFyIHZhbFsxNl07CisrCisrICAgIC8qIFJlbWVtYmVyIG1mZCBpbiBlbnZpcm9u bWVudCBmb3IgcG9zdC1leGVjIGxvYWQgKi8KKysgICAgcWVtdV9jbGVhcl9jbG9leGVjKG1mZCk7 CisrICAgIHNucHJpbnRmKHZhbCwgc2l6ZW9mKHZhbCksICIlZCIsIG1mZCk7CisrICAgIGdfc2V0 ZW52KENQUl9FWEVDX1NUQVRFX05BTUUsIHZhbCwgMSk7CisrfQorKworK3N0YXRpYyBpbnQgY3By X2V4ZWNfZmluZF9zdGF0ZSh2b2lkKQorK3sKKysgICAgY29uc3QgY2hhciAqdmFsID0gZ19nZXRl bnYoQ1BSX0VYRUNfU1RBVEVfTkFNRSk7CisrICAgIGludCBtZmQ7CisrCisrICAgIGFzc2VydCh2 YWwpOworKyAgICBnX3Vuc2V0ZW52KENQUl9FWEVDX1NUQVRFX05BTUUpOworKyAgICBhc3NlcnQo IXFlbXVfc3RydG9pKHZhbCwgTlVMTCwgMTAsICZtZmQpKTsKKysgICAgcmV0dXJuIG1mZDsKKyt9 CisrCisrYm9vbCBjcHJfZXhlY19oYXNfc3RhdGUodm9pZCkKKyt7CisrICAgIHJldHVybiBnX2dl dGVudihDUFJfRVhFQ19TVEFURV9OQU1FKSAhPSBOVUxMOworK30KKysKKyt2b2lkIGNwcl9leGVj X3VucGVyc2lzdF9zdGF0ZSh2b2lkKQorK3sKKysgICAgaW50IG1mZDsKKysgICAgY29uc3QgY2hh ciAqdmFsID0gZ19nZXRlbnYoQ1BSX0VYRUNfU1RBVEVfTkFNRSk7CisrCisrICAgIGdfdW5zZXRl bnYoQ1BSX0VYRUNfU1RBVEVfTkFNRSk7CisrICAgIGFzc2VydCh2YWwpOworKyAgICBhc3NlcnQo IXFlbXVfc3RydG9pKHZhbCwgTlVMTCwgMTAsICZtZmQpKTsKKysgICAgY2xvc2UobWZkKTsKKyt9 CisrCisrUUVNVUZpbGUgKmNwcl9leGVjX291dHB1dChFcnJvciAqKmVycnApCisreworKyAgICBp bnQgbWZkOworKworKyNpZmRlZiBDT05GSUdfTElOVVgKKysgICAgbWZkID0gcWVtdV9tZW1mZF9j cmVhdGUoQ1BSX0VYRUNfU1RBVEVfTkFNRSwgMCwgZmFsc2UsIDAsIDAsIGVycnApOworKyNlbHNl CisrICAgIG1mZCA9IC0xOworKyNlbmRpZgorKworKyAgICBpZiAobWZkIDwgMCkgeworKyAgICAg ICAgcmV0dXJuIE5VTEw7CisrICAgIH0KKysKKysgICAgcmV0dXJuIHFlbXVfZmlsZV9uZXdfZmRf b3V0cHV0KG1mZCwgQ1BSX0VYRUNfU1RBVEVfTkFNRSk7CisrfQorKworK1FFTVVGaWxlICpjcHJf ZXhlY19pbnB1dChFcnJvciAqKmVycnApCisreworKyAgICBpbnQgbWZkID0gY3ByX2V4ZWNfZmlu ZF9zdGF0ZSgpOworKworKyAgICBsc2VlayhtZmQsIDAsIFNFRUtfU0VUKTsKKysgICAgcmV0dXJu IHFlbXVfZmlsZV9uZXdfZmRfaW5wdXQobWZkLCBDUFJfRVhFQ19TVEFURV9OQU1FKTsKKyt9Citk aWZmIC0tZ2l0IGEvbWlncmF0aW9uL21lc29uLmJ1aWxkIGIvbWlncmF0aW9uL21lc29uLmJ1aWxk CitpbmRleCAyNzZkYTNiZTVhLi42MDg3Y2NjNzMzIDEwMDY0NAorLS0tIGEvbWlncmF0aW9uL21l c29uLmJ1aWxkCisrKysgYi9taWdyYXRpb24vbWVzb24uYnVpbGQKK0BAIC0xNiw2ICsxNiw3IEBA IHN5c3RlbV9zcy5hZGQoZmlsZXMoCisgICAnY2hhbm5lbC1ibG9jay5jJywKKyAgICdjcHIuYycs CisgICAnY3ByLXRyYW5zZmVyLmMnLAorKyAgJ2Nwci1leGVjLmMnLAorICAgJ2NwdS10aHJvdHRs ZS5jJywKKyAgICdkaXJ0eXJhdGUuYycsCisgICAnZXhlYy5jJywKKy0tIAorMi41Mi4wCisKCmRp ZmYgLS1naXQgYS9rdm0tbWlncmF0aW9uLW11bHRpLW1vZGUtbm90aWZpZXIucGF0Y2ggYi9rdm0t bWlncmF0aW9uLW11bHRpLW1vZGUtbm90aWZpZXIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggMDAwMDAwMC4uYTgxMjU0NgotLS0gL2Rldi9udWxsCisrKyBiL2t2bS1taWdyYXRpb24t bXVsdGktbW9kZS1ub3RpZmllci5wYXRjaApAQCAtMCwwICsxLDE1NyBAQAorRnJvbSAyNzdmMmU5 YTY4ZjQwMWNmNmQ5Y2Q5NWJhNzlkODY0ZjY1NzNjYjUzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQorRnJvbTogU3RldmUgU2lzdGFyZSA8c3RldmVuLnNpc3RhcmVAb3JhY2xlLmNvbT4KK0RhdGU6 IFdlZCwgMSBPY3QgMjAyNSAwODozMzo1MyAtMDcwMAorU3ViamVjdDogW1BBVENIIDA4OC8xMTZd IG1pZ3JhdGlvbjogbXVsdGktbW9kZSBub3RpZmllcgorTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRl bnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNv ZGluZzogOGJpdAorCitSSC1BdXRob3I6IFJvZG9sZm8gVmljayA8Tm9uZT4KK1JILU1lcmdlUmVx dWVzdDogNDg2OiBBZGQgRE1BQlVGIHN1cHBvcnQKK1JILUppcmE6IFJIRUwtMTM4NDk0CitSSC1B Y2tlZC1ieTogQ8OpZHJpYyBMZSBHb2F0ZXIgPGNsZ0ByZWRoYXQuY29tPgorUkgtQWNrZWQtYnk6 IEVyaWMgQXVnZXIgPGVyaWMuYXVnZXJAcmVkaGF0LmNvbT4KK1JILUNvbW1pdDogWzcyLzEwMF0g NzllYTk5YWI1MDdkMzIzOTU1MzllYWE0NDc2NjA5MWFmMDk4NzZhYSAocm92aWNrMS9xZW11LWt2 bSkKKworQWxsb3cgYSBub3RpZmllciB0byBiZSBhZGRlZCBmb3IgbXVsdGlwbGUgbWlncmF0aW9u IG1vZGVzLgorVG8gYWxsb3cgYSBub3RpZmllciB0byBhcHBlYXIgb24gbXVsdGlwbGUgcGVyLW5v ZGUgbGlzdHMsIHVzZQorYSBnZW5lcmljIGxpc3QgdHlwZS4gIFdlIGNhbiBubyBsb25nZXIgdXNl IE5vdGlmaWVyV2l0aFJldHVybkxpc3QsCitiZWNhdXNlIGl0IHNob2UgaG9ybnMgdGhlIG5vdGlm aWVyIG9udG8gYSBzaW5nbGUgbGlzdC4KKworU2lnbmVkLW9mZi1ieTogU3RldmUgU2lzdGFyZSA8 c3RldmVuLnNpc3RhcmVAb3JhY2xlLmNvbT4KK1Jldmlld2VkLWJ5OiBGYWJpYW5vIFJvc2FzIDxm YXJvc2FzQHN1c2UuZGU+CitMaW5rOiBodHRwczovL2xvcmUua2VybmVsLm9yZy9yLzE3NTkzMzI4 NTEtMzcwMzUzLTItZ2l0LXNlbmQtZW1haWwtc3RldmVuLnNpc3RhcmVAb3JhY2xlLmNvbQorU2ln bmVkLW9mZi1ieTogUGV0ZXIgWHUgPHBldGVyeEByZWRoYXQuY29tPgorLS0tCisgaW5jbHVkZS9t aWdyYXRpb24vbWlzYy5oIHwgMTIgKysrKysrKysKKyBtaWdyYXRpb24vbWlncmF0aW9uLmMgICAg fCA2MCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tCisgMiBmaWxlcyBj aGFuZ2VkLCA1OSBpbnNlcnRpb25zKCspLCAxMyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBh L2luY2x1ZGUvbWlncmF0aW9uL21pc2MuaCBiL2luY2x1ZGUvbWlncmF0aW9uL21pc2MuaAoraW5k ZXggYTI2MWY5OWQ4OS4uNTkyYjkzMDIxZSAxMDA2NDQKKy0tLSBhL2luY2x1ZGUvbWlncmF0aW9u L21pc2MuaAorKysrIGIvaW5jbHVkZS9taWdyYXRpb24vbWlzYy5oCitAQCAtOTUsNyArOTUsMTkg QEAgdm9pZCBtaWdyYXRpb25fYWRkX25vdGlmaWVyKE5vdGlmaWVyV2l0aFJldHVybiAqbm90aWZ5 LAorIHZvaWQgbWlncmF0aW9uX2FkZF9ub3RpZmllcl9tb2RlKE5vdGlmaWVyV2l0aFJldHVybiAq bm90aWZ5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1pZ3JhdGlvbk5vdGlm eUZ1bmMgZnVuYywgTWlnTW9kZSBtb2RlKTsKKyAKKysvKgorKyAqIFNhbWUgYXMgbWlncmF0aW9u X2FkZF9ub3RpZmllciwgYnV0IGFwcGxpZXMgdG8gYWxsIEBtb2RlIGluIHRoZSBhcmd1bWVudAor KyAqIGxpc3QuICBUaGUgbGlzdCBpcyB0ZXJtaW5hdGVkIGJ5IC0xIG9yIE1JR19NT0RFX0FMTC4g IEZvciB0aGUgbGF0dGVyLAorKyAqIHRoZSBub3RpZmllciBpcyBhZGRlZCBmb3IgYWxsIG1vZGVz LgorKyAqLworK3ZvaWQgbWlncmF0aW9uX2FkZF9ub3RpZmllcl9tb2RlcyhOb3RpZmllcldpdGhS ZXR1cm4gKm5vdGlmeSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWlncmF0 aW9uTm90aWZ5RnVuYyBmdW5jLCBNaWdNb2RlIG1vZGUsIC4uLik7CisrCisrLyoKKysgKiBSZW1v dmUgYSBub3RpZmllciBmcm9tIGFsbCBtb2Rlcy4KKysgKi8KKyB2b2lkIG1pZ3JhdGlvbl9yZW1v dmVfbm90aWZpZXIoTm90aWZpZXJXaXRoUmV0dXJuICpub3RpZnkpOworKworIHZvaWQgbWlncmF0 aW9uX2ZpbGVfc2V0X2Vycm9yKGludCByZXQsIEVycm9yICplcnIpOworIAorIC8qIFRydWUgaWYg aW5jb21pbmcgbWlncmF0aW9uIGVudGVyZWQgUE9TVENPUFlfSU5DT01JTkdfRElTQ0FSRCAqLwor ZGlmZiAtLWdpdCBhL21pZ3JhdGlvbi9taWdyYXRpb24uYyBiL21pZ3JhdGlvbi9taWdyYXRpb24u YworaW5kZXggMTBjMjE2ZDI1ZC4uMDhhOThmNzRlZiAxMDA2NDQKKy0tLSBhL21pZ3JhdGlvbi9t aWdyYXRpb24uYworKysrIGIvbWlncmF0aW9uL21pZ3JhdGlvbi5jCitAQCAtNzQsMTEgKzc0LDcg QEAKKyAKKyAjZGVmaW5lIElOTUlHUkFURV9ERUZBVUxUX0VYSVRfT05fRVJST1IgdHJ1ZQorIAor LXN0YXRpYyBOb3RpZmllcldpdGhSZXR1cm5MaXN0IG1pZ3JhdGlvbl9zdGF0ZV9ub3RpZmllcnNb XSA9IHsKKy0gICAgTk9USUZJRVJfRUxFTV9JTklUKG1pZ3JhdGlvbl9zdGF0ZV9ub3RpZmllcnMs IE1JR19NT0RFX05PUk1BTCksCistICAgIE5PVElGSUVSX0VMRU1fSU5JVChtaWdyYXRpb25fc3Rh dGVfbm90aWZpZXJzLCBNSUdfTU9ERV9DUFJfUkVCT09UKSwKKy0gICAgTk9USUZJRVJfRUxFTV9J TklUKG1pZ3JhdGlvbl9zdGF0ZV9ub3RpZmllcnMsIE1JR19NT0RFX0NQUl9UUkFOU0ZFUiksCist fTsKKytzdGF0aWMgR1NMaXN0ICptaWdyYXRpb25fc3RhdGVfbm90aWZpZXJzW01JR19NT0RFX19N QVhdOworIAorIC8qIE1lc3NhZ2VzIHNlbnQgb24gdGhlIHJldHVybiBwYXRoIGZyb20gZGVzdGlu YXRpb24gdG8gc291cmNlICovCisgZW51bSBtaWdfcnBfbWVzc2FnZV90eXBlIHsKK0BAIC0xNjY1 LDIzICsxNjYxLDUxIEBAIHZvaWQgbWlncmF0aW9uX2NhbmNlbCh2b2lkKQorICAgICB9CisgfQor IAorK3N0YXRpYyBpbnQgZ2V0X21vZGVzKE1pZ01vZGUgbW9kZSwgdmFfbGlzdCBhcCk7CisrCisr c3RhdGljIHZvaWQgYWRkX25vdGlmaWVycyhOb3RpZmllcldpdGhSZXR1cm4gKm5vdGlmeSwgaW50 IG1vZGVzKQorK3sKKysgICAgZm9yIChNaWdNb2RlIG1vZGUgPSAwOyBtb2RlIDwgTUlHX01PREVf X01BWDsgbW9kZSsrKSB7CisrICAgICAgICBpZiAobW9kZXMgJiBCSVQobW9kZSkpIHsKKysgICAg ICAgICAgICBtaWdyYXRpb25fc3RhdGVfbm90aWZpZXJzW21vZGVdID0KKysgICAgICAgICAgICAg ICAgZ19zbGlzdF9wcmVwZW5kKG1pZ3JhdGlvbl9zdGF0ZV9ub3RpZmllcnNbbW9kZV0sIG5vdGlm eSk7CisrICAgICAgICB9CisrICAgIH0KKyt9CisrCisrdm9pZCBtaWdyYXRpb25fYWRkX25vdGlm aWVyX21vZGVzKE5vdGlmaWVyV2l0aFJldHVybiAqbm90aWZ5LAorKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBNaWdyYXRpb25Ob3RpZnlGdW5jIGZ1bmMsIE1pZ01vZGUgbW9kZSwg Li4uKQorK3sKKysgICAgaW50IG1vZGVzOworKyAgICB2YV9saXN0IGFwOworKworKyAgICB2YV9z dGFydChhcCwgbW9kZSk7CisrICAgIG1vZGVzID0gZ2V0X21vZGVzKG1vZGUsIGFwKTsKKysgICAg dmFfZW5kKGFwKTsKKysKKysgICAgbm90aWZ5LT5ub3RpZnkgPSAoTm90aWZpZXJXaXRoUmV0dXJu RnVuYylmdW5jOworKyAgICBhZGRfbm90aWZpZXJzKG5vdGlmeSwgbW9kZXMpOworK30KKysKKyB2 b2lkIG1pZ3JhdGlvbl9hZGRfbm90aWZpZXJfbW9kZShOb3RpZmllcldpdGhSZXR1cm4gKm5vdGlm eSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNaWdyYXRpb25Ob3RpZnlGdW5j IGZ1bmMsIE1pZ01vZGUgbW9kZSkKKyB7CistICAgIG5vdGlmeS0+bm90aWZ5ID0gKE5vdGlmaWVy V2l0aFJldHVybkZ1bmMpZnVuYzsKKy0gICAgbm90aWZpZXJfd2l0aF9yZXR1cm5fbGlzdF9hZGQo Jm1pZ3JhdGlvbl9zdGF0ZV9ub3RpZmllcnNbbW9kZV0sIG5vdGlmeSk7CisrICAgIG1pZ3JhdGlv bl9hZGRfbm90aWZpZXJfbW9kZXMobm90aWZ5LCBmdW5jLCBtb2RlLCAtMSk7CisgfQorIAorIHZv aWQgbWlncmF0aW9uX2FkZF9ub3RpZmllcihOb3RpZmllcldpdGhSZXR1cm4gKm5vdGlmeSwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgTWlncmF0aW9uTm90aWZ5RnVuYyBmdW5jKQorIHsK Ky0gICAgbWlncmF0aW9uX2FkZF9ub3RpZmllcl9tb2RlKG5vdGlmeSwgZnVuYywgTUlHX01PREVf Tk9STUFMKTsKKysgICAgbWlncmF0aW9uX2FkZF9ub3RpZmllcl9tb2Rlcyhub3RpZnksIGZ1bmMs IE1JR19NT0RFX05PUk1BTCwgLTEpOworIH0KKyAKKyB2b2lkIG1pZ3JhdGlvbl9yZW1vdmVfbm90 aWZpZXIoTm90aWZpZXJXaXRoUmV0dXJuICpub3RpZnkpCisgeworICAgICBpZiAobm90aWZ5LT5u b3RpZnkpIHsKKy0gICAgICAgIG5vdGlmaWVyX3dpdGhfcmV0dXJuX3JlbW92ZShub3RpZnkpOwor KyAgICAgICAgZm9yIChNaWdNb2RlIG1vZGUgPSAwOyBtb2RlIDwgTUlHX01PREVfX01BWDsgbW9k ZSsrKSB7CisrICAgICAgICAgICAgbWlncmF0aW9uX2Jsb2NrZXJzW21vZGVdID0KKysgICAgICAg ICAgICAgICAgZ19zbGlzdF9yZW1vdmUobWlncmF0aW9uX3N0YXRlX25vdGlmaWVyc1ttb2RlXSwg bm90aWZ5KTsKKysgICAgICAgIH0KKyAgICAgICAgIG5vdGlmeS0+bm90aWZ5ID0gTlVMTDsKKyAg ICAgfQorIH0KK0BAIC0xNjkxLDEzICsxNzE1LDIzIEBAIGludCBtaWdyYXRpb25fY2FsbF9ub3Rp ZmllcnMoTWlncmF0aW9uU3RhdGUgKnMsIE1pZ3JhdGlvbkV2ZW50VHlwZSB0eXBlLAorIHsKKyAg ICAgTWlnTW9kZSBtb2RlID0gcy0+cGFyYW1ldGVycy5tb2RlOworICAgICBNaWdyYXRpb25FdmVu dCBlOworKyAgICBOb3RpZmllcldpdGhSZXR1cm4gKm5vdGlmaWVyOworKyAgICBHU0xpc3QgKmVs ZW0sICpuZXh0OworICAgICBpbnQgcmV0OworIAorICAgICBlLnR5cGUgPSB0eXBlOworLSAgICBy ZXQgPSBub3RpZmllcl93aXRoX3JldHVybl9saXN0X25vdGlmeSgmbWlncmF0aW9uX3N0YXRlX25v dGlmaWVyc1ttb2RlXSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgJmUsIGVycnApOworLSAgICBhc3NlcnQoIXJldCB8fCB0eXBlID09IE1JR19FVkVOVF9QUkVD T1BZX1NFVFVQKTsKKy0gICAgcmV0dXJuIHJldDsKKysKKysgICAgZm9yIChlbGVtID0gbWlncmF0 aW9uX3N0YXRlX25vdGlmaWVyc1ttb2RlXTsgZWxlbTsgZWxlbSA9IG5leHQpIHsKKysgICAgICAg IG5leHQgPSBlbGVtLT5uZXh0OworKyAgICAgICAgbm90aWZpZXIgPSAoTm90aWZpZXJXaXRoUmV0 dXJuICopZWxlbS0+ZGF0YTsKKysgICAgICAgIHJldCA9IG5vdGlmaWVyLT5ub3RpZnkobm90aWZp ZXIsICZlLCBlcnJwKTsKKysgICAgICAgIGlmIChyZXQpIHsKKysgICAgICAgICAgICBhc3NlcnQo dHlwZSA9PSBNSUdfRVZFTlRfUFJFQ09QWV9TRVRVUCk7CisrICAgICAgICAgICAgcmV0dXJuIHJl dDsKKysgICAgICAgIH0KKysgICAgfQorKworKyAgICByZXR1cm4gMDsKKyB9CisgCisgYm9vbCBt aWdyYXRpb25faGFzX2ZhaWxlZChNaWdyYXRpb25TdGF0ZSAqcykKKy0tIAorMi41Mi4wCisKCmRp ZmYgLS1naXQgYS9rdm0tbWlncmF0aW9uLXB1c2gtRXJyb3ItZXJycC1pbnRvLXZtc3RhdGVfbG9h ZF9zdGF0ZS5wYXRjaCBiL2t2bS1taWdyYXRpb24tcHVzaC1FcnJvci1lcnJwLWludG8tdm1zdGF0 ZV9sb2FkX3N0YXRlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU4 NzMyMTQKLS0tIC9kZXYvbnVsbAorKysgYi9rdm0tbWlncmF0aW9uLXB1c2gtRXJyb3ItZXJycC1p bnRvLXZtc3RhdGVfbG9hZF9zdGF0ZS5wYXRjaApAQCAtMCwwICsxLDc0MCBAQAorRnJvbSAwZjc5 NzFhY2U3YzQ3YmM4OTJmNzgxNGUzYWNhZGE5YzNmNmVmMzM5IE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQorRnJvbTogQXJ1biBNZW5vbiA8YXJtZW5vbkByZWRoYXQuY29tPgorRGF0ZTogVGh1LCAx OCBTZXAgMjAyNSAyMDo1MzoxOSArMDUzMAorU3ViamVjdDogW1BBVENIIDA4Ni8xMTZdIG1pZ3Jh dGlvbjogcHVzaCBFcnJvciAqKmVycnAgaW50bworIHZtc3RhdGVfbG9hZF9zdGF0ZSgpCitNSU1F LVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitD b250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK1JILUF1dGhvcjogUm9kb2xmbyBWaWNr IDxOb25lPgorUkgtTWVyZ2VSZXF1ZXN0OiA0ODY6IEFkZCBETUFCVUYgc3VwcG9ydAorUkgtSmly YTogUkhFTC0xMzg0OTQKK1JILUFja2VkLWJ5OiBDw6lkcmljIExlIEdvYXRlciA8Y2xnQHJlZGhh dC5jb20+CitSSC1BY2tlZC1ieTogRXJpYyBBdWdlciA8ZXJpYy5hdWdlckByZWRoYXQuY29tPgor UkgtQ29tbWl0OiBbNzAvMTAwXSBhOGFiM2FkMjMwZDhmMTI1NmQ5OTI0MjBmOTAyNTYyZTVkMzli NzQwIChyb3ZpY2sxL3FlbXUta3ZtKQorCitUaGlzIGlzIGFuIGluY3JlbWVudGFsIHN0ZXAgaW4g Y29udmVydGluZyB2bXN0YXRlIGxvYWRpbmcKK2NvZGUgdG8gcmVwb3J0IGVycm9yIHZpYSBFcnJv ciBvYmplY3RzIGluc3RlYWQgb2YgZGlyZWN0bHkKK3ByaW50aW5nIGl0IHRvIGNvbnNvbGUvbW9u aXRvci4KK0l0IGlzIGVuc3VyZWQgdGhhdCB2bXN0YXRlX2xvYWRfc3RhdGUoKSBtdXN0IHJlcG9y dCBhbiBlcnJvcgoraW4gZXJycCwgaW4gY2FzZSBvZiBmYWlsdXJlLgorCitUaGUgZXJyb3JzIGFy ZSB0ZW1wb3JhcmlseSByZXBvcnRlZCB1c2luZyBlcnJvcl9yZXBvcnRfZXJyKCkuCitUaGlzIGlz IHJlbW92ZWQgaW4gdGhlIHN1YnNlcXVlbnQgcGF0Y2hlcyBpbiB0aGlzIHNlcmllcywKK3doZW4g d2UgYXJlIGFjdHVhbGx5IGFibGUgdG8gcHJvcGFnYXRlIHRoZSBlcnJvciB0byB0aGUgY2FsbGlu ZworZnVuY3Rpb24gdXNpbmcgZXJycC4gV2hlcmVhcywgaWYgd2Ugd2FudCB0aGUgZnVuY3Rpb24g dG8gZXhpdCBvbgorZXJyb3IsIHRoZW4gZXJyb3JfZmF0YWwgaXMgcGFzc2VkLgorCitSZXZpZXdl ZC1ieTogTWFyYy1BbmRyw6kgTHVyZWF1IDxtYXJjYW5kcmUubHVyZWF1QHJlZGhhdC5jb20+CitS ZXZpZXdlZC1ieTogRmFiaWFubyBSb3NhcyA8ZmFyb3Nhc0BzdXNlLmRlPgorU2lnbmVkLW9mZi1i eTogQXJ1biBNZW5vbiA8YXJtZW5vbkByZWRoYXQuY29tPgorVGVzdGVkLWJ5OiBGYWJpYW5vIFJv c2FzIDxmYXJvc2FzQHN1c2UuZGU+CitSZXZpZXdlZC1ieTogQWtpaGlrbyBPZGFraSA8b2Rha2lA cnNnLmNpLmkudS10b2t5by5hYy5qcD4KK0xpbms6IGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL3Iv MjAyNTA5MTgtcHJvcGFnYXRlX3RwbV9lcnJvci12MTQtMi0zNmYxMWE2ZmI5ZDNAcmVkaGF0LmNv bQorU2lnbmVkLW9mZi1ieTogUGV0ZXIgWHUgPHBldGVyeEByZWRoYXQuY29tPgorKGNoZXJyeSBw aWNrZWQgZnJvbSBjb21taXQgYzYzMmZmYmQ3NGE0OTdlODhiYmI0ZTRkNTVhMzU3MDU1ZWFlNmY0 NykKK1NpZ25lZC1vZmYtYnk6IEVyaWMgQXVnZXIgPGVyaWMuYXVnZXJAcmVkaGF0LmNvbT4KKy0t LQorIGh3L2Rpc3BsYXkvdmlydGlvLWdwdS5jICAgICB8ICAyICstCisgaHcvcGNpL3BjaS5jICAg ICAgICAgICAgICAgIHwgIDMgKy0KKyBody9zMzkweC92aXJ0aW8tY2N3LmMgICAgICAgfCAgMiAr LQorIGh3L3Njc2kvc3BhcHJfdnNjc2kuYyAgICAgICB8ICA0ICsrLQorIGh3L3ZmaW8vcGNpLmMg ICAgICAgICAgICAgICB8ICA1ICsrLQorIGh3L3ZpcnRpby92aXJ0aW8tbW1pby5jICAgICB8ICAz ICstCisgaHcvdmlydGlvL3ZpcnRpby1wY2kuYyAgICAgIHwgIDIgKy0KKyBody92aXJ0aW8vdmly dGlvLmMgICAgICAgICAgfCAgNyArKystLQorIGluY2x1ZGUvbWlncmF0aW9uL3Ztc3RhdGUuaCB8 ICAyICstCisgbWlncmF0aW9uL2Nwci5jICAgICAgICAgICAgIHwgIDMgKy0KKyBtaWdyYXRpb24v c2F2ZXZtLmMgICAgICAgICAgfCAgOCArKystLQorIG1pZ3JhdGlvbi92bXN0YXRlLXR5cGVzLmMg ICB8IDI4ICsrKysrKysrKystLS0tLS0tCisgbWlncmF0aW9uL3Ztc3RhdGUuYyAgICAgICAgIHwg NjEgKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0KKyB0ZXN0cy91bml0L3Rlc3Qt dm1zdGF0ZS5jICAgfCA2MyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tCisg dWkvdmRhZ2VudC5jICAgICAgICAgICAgICAgIHwgIDUgKystCisgMTUgZmlsZXMgY2hhbmdlZCwg MTQzIGluc2VydGlvbnMoKyksIDU1IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvaHcvZGlz cGxheS92aXJ0aW8tZ3B1LmMgYi9ody9kaXNwbGF5L3ZpcnRpby1ncHUuYworaW5kZXggMGExYTYy NWIwZS4uNWRjMzFiYzZiZiAxMDA2NDQKKy0tLSBhL2h3L2Rpc3BsYXkvdmlydGlvLWdwdS5jCisr KysgYi9ody9kaXNwbGF5L3ZpcnRpby1ncHUuYworQEAgLTEzNDMsNyArMTM0Myw3IEBAIHN0YXRp YyBpbnQgdmlydGlvX2dwdV9sb2FkKFFFTVVGaWxlICpmLCB2b2lkICpvcGFxdWUsIHNpemVfdCBz aXplLAorICAgICB9CisgCisgICAgIC8qIGxvYWQgJiBhcHBseSBzY2Fub3V0IHN0YXRlICovCist ICAgIHZtc3RhdGVfbG9hZF9zdGF0ZShmLCAmdm1zdGF0ZV92aXJ0aW9fZ3B1X3NjYW5vdXRzLCBn LCAxKTsKKysgICAgdm1zdGF0ZV9sb2FkX3N0YXRlKGYsICZ2bXN0YXRlX3ZpcnRpb19ncHVfc2Nh bm91dHMsIGcsIDEsICZlcnJvcl9mYXRhbCk7CisgCisgICAgIHJldHVybiAwOworIH0KK2RpZmYg LS1naXQgYS9ody9wY2kvcGNpLmMgYi9ody9wY2kvcGNpLmMKK2luZGV4IGQyZWJiMDY2ZTEuLjVi MzdiNzA4MTUgMTAwNjQ0CistLS0gYS9ody9wY2kvcGNpLmMKKysrKyBiL2h3L3BjaS9wY2kuYwor QEAgLTkzNCw3ICs5MzQsOCBAQCB2b2lkIHBjaV9kZXZpY2Vfc2F2ZShQQ0lEZXZpY2UgKnMsIFFF TVVGaWxlICpmKQorIGludCBwY2lfZGV2aWNlX2xvYWQoUENJRGV2aWNlICpzLCBRRU1VRmlsZSAq ZikKKyB7CisgICAgIGludCByZXQ7CistICAgIHJldCA9IHZtc3RhdGVfbG9hZF9zdGF0ZShmLCAm dm1zdGF0ZV9wY2lfZGV2aWNlLCBzLCBzLT52ZXJzaW9uX2lkKTsKKysgICAgcmV0ID0gdm1zdGF0 ZV9sb2FkX3N0YXRlKGYsICZ2bXN0YXRlX3BjaV9kZXZpY2UsIHMsIHMtPnZlcnNpb25faWQsCisr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZXJyb3JfZmF0YWwpOworICAgICAvKiBSZXN0 b3JlIHRoZSBpbnRlcnJ1cHQgc3RhdHVzIGJpdC4gKi8KKyAgICAgcGNpX3VwZGF0ZV9pcnFfc3Rh dHVzKHMpOworICAgICByZXR1cm4gcmV0OworZGlmZiAtLWdpdCBhL2h3L3MzOTB4L3ZpcnRpby1j Y3cuYyBiL2h3L3MzOTB4L3ZpcnRpby1jY3cuYworaW5kZXggZDJmODViMzlmMy4uNmE5NjQxYTAz ZCAxMDA2NDQKKy0tLSBhL2h3L3MzOTB4L3ZpcnRpby1jY3cuYworKysrIGIvaHcvczM5MHgvdmly dGlvLWNjdy5jCitAQCAtMTEzNiw3ICsxMTM2LDcgQEAgc3RhdGljIHZvaWQgdmlydGlvX2Njd19z YXZlX2NvbmZpZyhEZXZpY2VTdGF0ZSAqZCwgUUVNVUZpbGUgKmYpCisgc3RhdGljIGludCB2aXJ0 aW9fY2N3X2xvYWRfY29uZmlnKERldmljZVN0YXRlICpkLCBRRU1VRmlsZSAqZikKKyB7CisgICAg IFZpcnRpb0Njd0RldmljZSAqZGV2ID0gVklSVElPX0NDV19ERVZJQ0UoZCk7CistICAgIHJldHVy biB2bXN0YXRlX2xvYWRfc3RhdGUoZiwgJnZtc3RhdGVfdmlydGlvX2Njd19kZXYsIGRldiwgMSk7 CisrICAgIHJldHVybiB2bXN0YXRlX2xvYWRfc3RhdGUoZiwgJnZtc3RhdGVfdmlydGlvX2Njd19k ZXYsIGRldiwgMSwgJmVycm9yX2ZhdGFsKTsKKyB9CisgCisgc3RhdGljIHZvaWQgdmlydGlvX2Nj d19wcmVfcGx1Z2dlZChEZXZpY2VTdGF0ZSAqZCwgRXJyb3IgKiplcnJwKQorZGlmZiAtLWdpdCBh L2h3L3Njc2kvc3BhcHJfdnNjc2kuYyBiL2h3L3Njc2kvc3BhcHJfdnNjc2kuYworaW5kZXggMjBm NzBmYjI3Mi4uZGExNzNmNDg2NyAxMDA2NDQKKy0tLSBhL2h3L3Njc2kvc3BhcHJfdnNjc2kuYwor KysrIGIvaHcvc2NzaS9zcGFwcl92c2NzaS5jCitAQCAtNjQyLDE1ICs2NDIsMTcgQEAgc3RhdGlj IHZvaWQgKnZzY3NpX2xvYWRfcmVxdWVzdChRRU1VRmlsZSAqZiwgU0NTSVJlcXVlc3QgKnNyZXEp CisgICAgIFZTQ1NJU3RhdGUgKnMgPSBWSU9fU1BBUFJfVlNDU0lfREVWSUNFKGJ1cy0+cWJ1cy5w YXJlbnQpOworICAgICB2c2NzaV9yZXEgKnJlcTsKKyAgICAgaW50IHJjOworKyAgICBFcnJvciAq bG9jYWxfZXJyID0gTlVMTDsKKyAKKyAgICAgYXNzZXJ0KHNyZXEtPnRhZyA8IFZTQ1NJX1JFUV9M SU1JVCk7CisgICAgIHJlcSA9ICZzLT5yZXFzW3NyZXEtPnRhZ107CisgICAgIGFzc2VydCghcmVx LT5hY3RpdmUpOworIAorICAgICBtZW1zZXQocmVxLCAwLCBzaXplb2YoKnJlcSkpOworLSAgICBy YyA9IHZtc3RhdGVfbG9hZF9zdGF0ZShmLCAmdm1zdGF0ZV9zcGFwcl92c2NzaV9yZXEsIHJlcSwg MSk7CisrICAgIHJjID0gdm1zdGF0ZV9sb2FkX3N0YXRlKGYsICZ2bXN0YXRlX3NwYXByX3ZzY3Np X3JlcSwgcmVxLCAxLCAmbG9jYWxfZXJyKTsKKyAgICAgaWYgKHJjKSB7CisgICAgICAgICBmcHJp bnRmKHN0ZGVyciwgIlZTQ1NJOiBmYWlsZWQgbG9hZGluZyByZXF1ZXN0IHRhZyMldVxuIiwgc3Jl cS0+dGFnKTsKKysgICAgICAgIGVycm9yX3JlcG9ydF9lcnIobG9jYWxfZXJyKTsKKyAgICAgICAg IHJldHVybiBOVUxMOworICAgICB9CisgICAgIGFzc2VydChyZXEtPmFjdGl2ZSk7CitkaWZmIC0t Z2l0IGEvaHcvdmZpby9wY2kuYyBiL2h3L3ZmaW8vcGNpLmMKK2luZGV4IGMzNGVkODVkNWUuLmY2 OTZlODExNmYgMTAwNjQ0CistLS0gYS9ody92ZmlvL3BjaS5jCisrKysgYi9ody92ZmlvL3BjaS5j CitAQCAtMjgzNCwxMyArMjgzNCwxNiBAQCBzdGF0aWMgaW50IHZmaW9fcGNpX2xvYWRfY29uZmln KFZGSU9EZXZpY2UgKnZiYXNlZGV2LCBRRU1VRmlsZSAqZikKKyAgICAgUENJRGV2aWNlICpwZGV2 ID0gUENJX0RFVklDRSh2ZGV2KTsKKyAgICAgcGNpYnVzX3Qgb2xkX2FkZHJbUENJX05VTV9SRUdJ T05TIC0gMV07CisgICAgIGludCBiYXIsIHJldDsKKysgICAgRXJyb3IgKmxvY2FsX2VyciA9IE5V TEw7CisgCisgICAgIGZvciAoYmFyID0gMDsgYmFyIDwgUENJX1JPTV9TTE9UOyBiYXIrKykgewor ICAgICAgICAgb2xkX2FkZHJbYmFyXSA9IHBkZXYtPmlvX3JlZ2lvbnNbYmFyXS5hZGRyOworICAg ICB9CisgCistICAgIHJldCA9IHZtc3RhdGVfbG9hZF9zdGF0ZShmLCAmdm1zdGF0ZV92ZmlvX3Bj aV9jb25maWcsIHZkZXYsIDEpOworKyAgICByZXQgPSB2bXN0YXRlX2xvYWRfc3RhdGUoZiwgJnZt c3RhdGVfdmZpb19wY2lfY29uZmlnLCB2ZGV2LCAxLAorKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgJmxvY2FsX2Vycik7CisgICAgIGlmIChyZXQpIHsKKysgICAgICAgIGVycm9yX3JlcG9y dF9lcnIobG9jYWxfZXJyKTsKKyAgICAgICAgIHJldHVybiByZXQ7CisgICAgIH0KKyAKK2RpZmYg LS1naXQgYS9ody92aXJ0aW8vdmlydGlvLW1taW8uYyBiL2h3L3ZpcnRpby92aXJ0aW8tbW1pby5j CitpbmRleCA1MzJjNjcxMDdiLi4wYTY4ODkwOWZjIDEwMDY0NAorLS0tIGEvaHcvdmlydGlvL3Zp cnRpby1tbWlvLmMKKysrKyBiL2h3L3ZpcnRpby92aXJ0aW8tbW1pby5jCitAQCAtMzQsNiArMzQs NyBAQAorICNpbmNsdWRlICJxZW11L2Vycm9yLXJlcG9ydC5oIgorICNpbmNsdWRlICJxZW11L2xv Zy5oIgorICNpbmNsdWRlICJ0cmFjZS5oIgorKyNpbmNsdWRlICJxYXBpL2Vycm9yLmgiCisgCisg c3RhdGljIGJvb2wgdmlydGlvX21taW9faW9ldmVudGZkX2VuYWJsZWQoRGV2aWNlU3RhdGUgKmQp CisgeworQEAgLTYxOSw3ICs2MjAsNyBAQCBzdGF0aWMgaW50IHZpcnRpb19tbWlvX2xvYWRfZXh0 cmFfc3RhdGUoRGV2aWNlU3RhdGUgKm9wYXF1ZSwgUUVNVUZpbGUgKmYpCisgeworICAgICBWaXJ0 SU9NTUlPUHJveHkgKnByb3h5ID0gVklSVElPX01NSU8ob3BhcXVlKTsKKyAKKy0gICAgcmV0dXJu IHZtc3RhdGVfbG9hZF9zdGF0ZShmLCAmdm1zdGF0ZV92aXJ0aW9fbW1pbywgcHJveHksIDEpOwor KyAgICByZXR1cm4gdm1zdGF0ZV9sb2FkX3N0YXRlKGYsICZ2bXN0YXRlX3ZpcnRpb19tbWlvLCBw cm94eSwgMSwgJmVycm9yX2ZhdGFsKTsKKyB9CisgCisgc3RhdGljIGJvb2wgdmlydGlvX21taW9f aGFzX2V4dHJhX3N0YXRlKERldmljZVN0YXRlICpvcGFxdWUpCitkaWZmIC0tZ2l0IGEvaHcvdmly dGlvL3ZpcnRpby1wY2kuYyBiL2h3L3ZpcnRpby92aXJ0aW8tcGNpLmMKK2luZGV4IGQzOGQwYTVl OWEuLmFlODc1YmQxMDggMTAwNjQ0CistLS0gYS9ody92aXJ0aW8vdmlydGlvLXBjaS5jCisrKysg Yi9ody92aXJ0aW8vdmlydGlvLXBjaS5jCitAQCAtMTk1LDcgKzE5NSw3IEBAIHN0YXRpYyBpbnQg dmlydGlvX3BjaV9sb2FkX2V4dHJhX3N0YXRlKERldmljZVN0YXRlICpkLCBRRU1VRmlsZSAqZikK KyB7CisgICAgIFZpcnRJT1BDSVByb3h5ICpwcm94eSA9IHRvX3ZpcnRpb19wY2lfcHJveHkoZCk7 CisgCistICAgIHJldHVybiB2bXN0YXRlX2xvYWRfc3RhdGUoZiwgJnZtc3RhdGVfdmlydGlvX3Bj aSwgcHJveHksIDEpOworKyAgICByZXR1cm4gdm1zdGF0ZV9sb2FkX3N0YXRlKGYsICZ2bXN0YXRl X3ZpcnRpb19wY2ksIHByb3h5LCAxLCAmZXJyb3JfZmF0YWwpOworIH0KKyAKKyBzdGF0aWMgdm9p ZCB2aXJ0aW9fcGNpX3NhdmVfcXVldWUoRGV2aWNlU3RhdGUgKmQsIGludCBuLCBRRU1VRmlsZSAq ZikKK2RpZmYgLS1naXQgYS9ody92aXJ0aW8vdmlydGlvLmMgYi9ody92aXJ0aW8vdmlydGlvLmMK K2luZGV4IDM0Zjk3N2EzYzkuLmU2Y2JiYzg2MjQgMTAwNjQ0CistLS0gYS9ody92aXJ0aW8vdmly dGlvLmMKKysrKyBiL2h3L3ZpcnRpby92aXJ0aW8uYworQEAgLTMyNzgsNiArMzI3OCw3IEBAIHZp cnRpb19sb2FkKFZpcnRJT0RldmljZSAqdmRldiwgUUVNVUZpbGUgKmYsIGludCB2ZXJzaW9uX2lk KQorICAgICBCdXNTdGF0ZSAqcWJ1cyA9IHFkZXZfZ2V0X3BhcmVudF9idXMoREVWSUNFKHZkZXYp KTsKKyAgICAgVmlydGlvQnVzQ2xhc3MgKmsgPSBWSVJUSU9fQlVTX0dFVF9DTEFTUyhxYnVzKTsK KyAgICAgVmlydGlvRGV2aWNlQ2xhc3MgKnZkYyA9IFZJUlRJT19ERVZJQ0VfR0VUX0NMQVNTKHZk ZXYpOworKyAgICBFcnJvciAqbG9jYWxfZXJyID0gTlVMTDsKKyAKKyAgICAgLyoKKyAgICAgICog V2UgcG9pc29uIHRoZSBlbmRpYW5uZXNzIHRvIGVuc3VyZSBpdCBkb2VzIG5vdCBnZXQgdXNlZCBi ZWZvcmUKK0BAIC0zMzcwLDE1ICszMzcxLDE3IEBAIHZpcnRpb19sb2FkKFZpcnRJT0RldmljZSAq dmRldiwgUUVNVUZpbGUgKmYsIGludCB2ZXJzaW9uX2lkKQorICAgICB9CisgCisgICAgIGlmICh2 ZGMtPnZtc2QpIHsKKy0gICAgICAgIHJldCA9IHZtc3RhdGVfbG9hZF9zdGF0ZShmLCB2ZGMtPnZt c2QsIHZkZXYsIHZlcnNpb25faWQpOworKyAgICAgICAgcmV0ID0gdm1zdGF0ZV9sb2FkX3N0YXRl KGYsIHZkYy0+dm1zZCwgdmRldiwgdmVyc2lvbl9pZCwgJmxvY2FsX2Vycik7CisgICAgICAgICBp ZiAocmV0KSB7CisrICAgICAgICAgICAgZXJyb3JfcmVwb3J0X2Vycihsb2NhbF9lcnIpOworICAg ICAgICAgICAgIHJldHVybiByZXQ7CisgICAgICAgICB9CisgICAgIH0KKyAKKyAgICAgLyogU3Vi c2VjdGlvbnMgKi8KKy0gICAgcmV0ID0gdm1zdGF0ZV9sb2FkX3N0YXRlKGYsICZ2bXN0YXRlX3Zp cnRpbywgdmRldiwgMSk7CisrICAgIHJldCA9IHZtc3RhdGVfbG9hZF9zdGF0ZShmLCAmdm1zdGF0 ZV92aXJ0aW8sIHZkZXYsIDEsICZsb2NhbF9lcnIpOworICAgICBpZiAocmV0KSB7CisrICAgICAg ICBlcnJvcl9yZXBvcnRfZXJyKGxvY2FsX2Vycik7CisgICAgICAgICByZXR1cm4gcmV0OworICAg ICB9CisgCitkaWZmIC0tZ2l0IGEvaW5jbHVkZS9taWdyYXRpb24vdm1zdGF0ZS5oIGIvaW5jbHVk ZS9taWdyYXRpb24vdm1zdGF0ZS5oCitpbmRleCBlZjJmMGM1YzkzLi5iOWE0MWNjMzhhIDEwMDY0 NAorLS0tIGEvaW5jbHVkZS9taWdyYXRpb24vdm1zdGF0ZS5oCisrKysgYi9pbmNsdWRlL21pZ3Jh dGlvbi92bXN0YXRlLmgKK0BAIC0xMjA2LDcgKzEyMDYsNyBAQCBleHRlcm4gY29uc3QgVk1TdGF0 ZUluZm8gdm1zdGF0ZV9pbmZvX3FsaXN0OworICAgICB9CisgCisgaW50IHZtc3RhdGVfbG9hZF9z dGF0ZShRRU1VRmlsZSAqZiwgY29uc3QgVk1TdGF0ZURlc2NyaXB0aW9uICp2bXNkLAorLSAgICAg ICAgICAgICAgICAgICAgICAgdm9pZCAqb3BhcXVlLCBpbnQgdmVyc2lvbl9pZCk7CisrICAgICAg ICAgICAgICAgICAgICAgICB2b2lkICpvcGFxdWUsIGludCB2ZXJzaW9uX2lkLCBFcnJvciAqKmVy cnApOworIGludCB2bXN0YXRlX3NhdmVfc3RhdGUoUUVNVUZpbGUgKmYsIGNvbnN0IFZNU3RhdGVE ZXNjcmlwdGlvbiAqdm1zZCwKKyAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKm9wYXF1ZSwg SlNPTldyaXRlciAqdm1kZXNjKTsKKyBpbnQgdm1zdGF0ZV9zYXZlX3N0YXRlX3dpdGhfZXJyKFFF TVVGaWxlICpmLCBjb25zdCBWTVN0YXRlRGVzY3JpcHRpb24gKnZtc2QsCitkaWZmIC0tZ2l0IGEv bWlncmF0aW9uL2Nwci5jIGIvbWlncmF0aW9uL2Nwci5jCitpbmRleCA0MmFkMGIwZDUwLi44YWJi NmRiNzZkIDEwMDY0NAorLS0tIGEvbWlncmF0aW9uL2Nwci5jCisrKysgYi9taWdyYXRpb24vY3By LmMKK0BAIC0yMzMsOSArMjMzLDggQEAgaW50IGNwcl9zdGF0ZV9sb2FkKE1pZ3JhdGlvbkNoYW5u ZWwgKmNoYW5uZWwsIEVycm9yICoqZXJycCkKKyAgICAgICAgIHJldHVybiAtRU5PVFNVUDsKKyAg ICAgfQorIAorLSAgICByZXQgPSB2bXN0YXRlX2xvYWRfc3RhdGUoZiwgJnZtc3RhdGVfY3ByX3N0 YXRlLCAmY3ByX3N0YXRlLCAxKTsKKysgICAgcmV0ID0gdm1zdGF0ZV9sb2FkX3N0YXRlKGYsICZ2 bXN0YXRlX2Nwcl9zdGF0ZSwgJmNwcl9zdGF0ZSwgMSwgZXJycCk7CisgICAgIGlmIChyZXQpIHsK Ky0gICAgICAgIGVycm9yX3NldGcoZXJycCwgInZtc3RhdGVfbG9hZF9zdGF0ZSBlcnJvciAlZCIs IHJldCk7CisgICAgICAgICBxZW11X2ZjbG9zZShmKTsKKyAgICAgICAgIHJldHVybiByZXQ7Cisg ICAgIH0KK2RpZmYgLS1naXQgYS9taWdyYXRpb24vc2F2ZXZtLmMgYi9taWdyYXRpb24vc2F2ZXZt LmMKK2luZGV4IGZhYmJlYjI5NmEuLmY1YTFhYjkxMDEgMTAwNjQ0CistLS0gYS9taWdyYXRpb24v c2F2ZXZtLmMKKysrKyBiL21pZ3JhdGlvbi9zYXZldm0uYworQEAgLTk2OSw3ICs5NjksOCBAQCBz dGF0aWMgaW50IHZtc3RhdGVfbG9hZChRRU1VRmlsZSAqZiwgU2F2ZVN0YXRlRW50cnkgKnNlKQor ICAgICBpZiAoIXNlLT52bXNkKSB7ICAgICAgICAgLyogT2xkIHN0eWxlICovCisgICAgICAgICBy ZXR1cm4gc2UtPm9wcy0+bG9hZF9zdGF0ZShmLCBzZS0+b3BhcXVlLCBzZS0+bG9hZF92ZXJzaW9u X2lkKTsKKyAgICAgfQorLSAgICByZXR1cm4gdm1zdGF0ZV9sb2FkX3N0YXRlKGYsIHNlLT52bXNk LCBzZS0+b3BhcXVlLCBzZS0+bG9hZF92ZXJzaW9uX2lkKTsKKysgICAgcmV0dXJuIHZtc3RhdGVf bG9hZF9zdGF0ZShmLCBzZS0+dm1zZCwgc2UtPm9wYXF1ZSwgc2UtPmxvYWRfdmVyc2lvbl9pZCwK KysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZXJyb3JfZmF0YWwpOworIH0KKyAKKyBz dGF0aWMgdm9pZCB2bXN0YXRlX3NhdmVfb2xkX3N0eWxlKFFFTVVGaWxlICpmLCBTYXZlU3RhdGVF bnRyeSAqc2UsCitAQCAtMjgxNyw2ICsyODE4LDcgQEAgc3RhdGljIGludCBxZW11X2xvYWR2bV9z dGF0ZV9oZWFkZXIoUUVNVUZpbGUgKmYpCisgeworICAgICB1bnNpZ25lZCBpbnQgdjsKKyAgICAg aW50IHJldDsKKysgICAgRXJyb3IgKmxvY2FsX2VyciA9IE5VTEw7CisgCisgICAgIHYgPSBxZW11 X2dldF9iZTMyKGYpOworICAgICBpZiAodiAhPSBRRU1VX1ZNX0ZJTEVfTUFHSUMpIHsKK0BAIC0y ODM5LDkgKzI4NDEsMTEgQEAgc3RhdGljIGludCBxZW11X2xvYWR2bV9zdGF0ZV9oZWFkZXIoUUVN VUZpbGUgKmYpCisgICAgICAgICAgICAgZXJyb3JfcmVwb3J0KCJDb25maWd1cmF0aW9uIHNlY3Rp b24gbWlzc2luZyIpOworICAgICAgICAgICAgIHJldHVybiAtRUlOVkFMOworICAgICAgICAgfQor LSAgICAgICAgcmV0ID0gdm1zdGF0ZV9sb2FkX3N0YXRlKGYsICZ2bXN0YXRlX2NvbmZpZ3VyYXRp b24sICZzYXZldm1fc3RhdGUsIDApOworKyAgICAgICAgcmV0ID0gdm1zdGF0ZV9sb2FkX3N0YXRl KGYsICZ2bXN0YXRlX2NvbmZpZ3VyYXRpb24sICZzYXZldm1fc3RhdGUsIDAsCisrICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgJmxvY2FsX2Vycik7CisgCisgICAgICAgICBpZiAocmV0 KSB7CisrICAgICAgICAgICAgZXJyb3JfcmVwb3J0X2Vycihsb2NhbF9lcnIpOworICAgICAgICAg ICAgIHJldHVybiByZXQ7CisgICAgICAgICB9CisgICAgIH0KK2RpZmYgLS1naXQgYS9taWdyYXRp b24vdm1zdGF0ZS10eXBlcy5jIGIvbWlncmF0aW9uL3Ztc3RhdGUtdHlwZXMuYworaW5kZXggNzQx YTU4OGI3ZS4uYzVjZmQ4NjFlMyAxMDA2NDQKKy0tLSBhL21pZ3JhdGlvbi92bXN0YXRlLXR5cGVz LmMKKysrKyBiL21pZ3JhdGlvbi92bXN0YXRlLXR5cGVzLmMKK0BAIC0xOSw2ICsxOSw3IEBACisg I2luY2x1ZGUgInFlbXUvZXJyb3ItcmVwb3J0LmgiCisgI2luY2x1ZGUgInFlbXUvcXVldWUuaCIK KyAjaW5jbHVkZSAidHJhY2UuaCIKKysjaW5jbHVkZSAicWFwaS9lcnJvci5oIgorIAorIC8qIGJv b2wgKi8KKyAKK0BAIC01NDMsMTMgKzU0NCwxNyBAQCBzdGF0aWMgaW50IGdldF90bXAoUUVNVUZp bGUgKmYsIHZvaWQgKnB2LCBzaXplX3Qgc2l6ZSwKKyAgICAgICAgICAgICAgICAgICAgY29uc3Qg Vk1TdGF0ZUZpZWxkICpmaWVsZCkKKyB7CisgICAgIGludCByZXQ7CisrICAgIEVycm9yICpsb2Nh bF9lcnIgPSBOVUxMOworICAgICBjb25zdCBWTVN0YXRlRGVzY3JpcHRpb24gKnZtc2QgPSBmaWVs ZC0+dm1zZDsKKyAgICAgaW50IHZlcnNpb25faWQgPSBmaWVsZC0+dmVyc2lvbl9pZDsKKyAgICAg dm9pZCAqdG1wID0gZ19tYWxsb2Moc2l6ZSk7CisgCisgICAgIC8qIFdyaXRlcyB0aGUgcGFyZW50 IGZpZWxkIHdoaWNoIGlzIGF0IHRoZSBzdGFydCBvZiB0aGUgdG1wICovCisgICAgICoodm9pZCAq Kil0bXAgPSBwdjsKKy0gICAgcmV0ID0gdm1zdGF0ZV9sb2FkX3N0YXRlKGYsIHZtc2QsIHRtcCwg dmVyc2lvbl9pZCk7CisrICAgIHJldCA9IHZtc3RhdGVfbG9hZF9zdGF0ZShmLCB2bXNkLCB0bXAs IHZlcnNpb25faWQsICZsb2NhbF9lcnIpOworKyAgICBpZiAocmV0IDwgMCkgeworKyAgICAgICAg ZXJyb3JfcmVwb3J0X2Vycihsb2NhbF9lcnIpOworKyAgICB9CisgICAgIGdfZnJlZSh0bXApOwor ICAgICByZXR1cm4gcmV0OworIH0KK0BAIC02MjYsNiArNjMxLDcgQEAgc3RhdGljIGludCBnZXRf cXRhaWxxKFFFTVVGaWxlICpmLCB2b2lkICpwdiwgc2l6ZV90IHVudXNlZF9zaXplLAorICAgICAg ICAgICAgICAgICAgICAgICBjb25zdCBWTVN0YXRlRmllbGQgKmZpZWxkKQorIHsKKyAgICAgaW50 IHJldCA9IDA7CisrICAgIEVycm9yICpsb2NhbF9lcnIgPSBOVUxMOworICAgICBjb25zdCBWTVN0 YXRlRGVzY3JpcHRpb24gKnZtc2QgPSBmaWVsZC0+dm1zZDsKKyAgICAgLyogc2l6ZSBvZiBhIFFU QUlMUSBlbGVtZW50ICovCisgICAgIHNpemVfdCBzaXplID0gZmllbGQtPnNpemU7CitAQCAtNjQ5 LDggKzY1NSw5IEBAIHN0YXRpYyBpbnQgZ2V0X3F0YWlscShRRU1VRmlsZSAqZiwgdm9pZCAqcHYs IHNpemVfdCB1bnVzZWRfc2l6ZSwKKyAKKyAgICAgd2hpbGUgKHFlbXVfZ2V0X2J5dGUoZikpIHsK KyAgICAgICAgIGVsbSA9IGdfbWFsbG9jKHNpemUpOworLSAgICAgICAgcmV0ID0gdm1zdGF0ZV9s b2FkX3N0YXRlKGYsIHZtc2QsIGVsbSwgdmVyc2lvbl9pZCk7CisrICAgICAgICByZXQgPSB2bXN0 YXRlX2xvYWRfc3RhdGUoZiwgdm1zZCwgZWxtLCB2ZXJzaW9uX2lkLCAmbG9jYWxfZXJyKTsKKyAg ICAgICAgIGlmIChyZXQpIHsKKysgICAgICAgICAgICBlcnJvcl9yZXBvcnRfZXJyKGxvY2FsX2Vy cik7CisgICAgICAgICAgICAgcmV0dXJuIHJldDsKKyAgICAgICAgIH0KKyAgICAgICAgIFFUQUlM UV9SQVdfSU5TRVJUX1RBSUwocHYsIGVsbSwgZW50cnlfb2Zmc2V0KTsKK0BAIC03NzIsNiArNzc5 LDcgQEAgc3RhdGljIGludCBnZXRfZ3RyZWUoUUVNVUZpbGUgKmYsIHZvaWQgKnB2LCBzaXplX3Qg dW51c2VkX3NpemUsCisgICAgIEdUcmVlICp0cmVlID0gKnB2YWw7CisgICAgIHZvaWQgKmtleSwg KnZhbDsKKyAgICAgaW50IHJldCA9IDA7CisrICAgIEVycm9yICpsb2NhbF9lcnIgPSBOVUxMOwor IAorICAgICAvKiBpbiBjYXNlIG9mIGRpcmVjdCBrZXksIHRoZSBrZXkgdm1zZCBjYW4gYmUge30s IGllLiBjaGVjayBmaWVsZHMgKi8KKyAgICAgaWYgKCFkaXJlY3Rfa2V5ICYmIHZlcnNpb25faWQg PiBrZXlfdm1zZC0+dmVyc2lvbl9pZCkgeworQEAgLTgwMywxOCArODExLDE2IEBAIHN0YXRpYyBp bnQgZ2V0X2d0cmVlKFFFTVVGaWxlICpmLCB2b2lkICpwdiwgc2l6ZV90IHVudXNlZF9zaXplLAor ICAgICAgICAgICAgIGtleSA9ICh2b2lkICopKHVpbnRwdHJfdClxZW11X2dldF9iZTY0KGYpOwor ICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICBrZXkgPSBnX21hbGxvYzAoa2V5X3NpemUp OworLSAgICAgICAgICAgIHJldCA9IHZtc3RhdGVfbG9hZF9zdGF0ZShmLCBrZXlfdm1zZCwga2V5 LCB2ZXJzaW9uX2lkKTsKKysgICAgICAgICAgICByZXQgPSB2bXN0YXRlX2xvYWRfc3RhdGUoZiwg a2V5X3Ztc2QsIGtleSwgdmVyc2lvbl9pZCwgJmxvY2FsX2Vycik7CisgICAgICAgICAgICAgaWYg KHJldCkgeworLSAgICAgICAgICAgICAgICBlcnJvcl9yZXBvcnQoIiVzIDogZmFpbGVkIHRvIGxv YWQgJXMgKCVkKSIsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWVsZC0+bmFtZSwg a2V5X3Ztc2QtPm5hbWUsIHJldCk7CisrICAgICAgICAgICAgICAgIGVycm9yX3JlcG9ydF9lcnIo bG9jYWxfZXJyKTsKKyAgICAgICAgICAgICAgICAgZ290byBrZXlfZXJyb3I7CisgICAgICAgICAg ICAgfQorICAgICAgICAgfQorICAgICAgICAgdmFsID0gZ19tYWxsb2MwKHZhbF9zaXplKTsKKy0g ICAgICAgIHJldCA9IHZtc3RhdGVfbG9hZF9zdGF0ZShmLCB2YWxfdm1zZCwgdmFsLCB2ZXJzaW9u X2lkKTsKKysgICAgICAgIHJldCA9IHZtc3RhdGVfbG9hZF9zdGF0ZShmLCB2YWxfdm1zZCwgdmFs LCB2ZXJzaW9uX2lkLCAmbG9jYWxfZXJyKTsKKyAgICAgICAgIGlmIChyZXQpIHsKKy0gICAgICAg ICAgICBlcnJvcl9yZXBvcnQoIiVzIDogZmFpbGVkIHRvIGxvYWQgJXMgKCVkKSIsCistICAgICAg ICAgICAgICAgICAgICAgICAgIGZpZWxkLT5uYW1lLCB2YWxfdm1zZC0+bmFtZSwgcmV0KTsKKysg ICAgICAgICAgICBlcnJvcl9yZXBvcnRfZXJyKGxvY2FsX2Vycik7CisgICAgICAgICAgICAgZ290 byB2YWxfZXJyb3I7CisgICAgICAgICB9CisgICAgICAgICBnX3RyZWVfaW5zZXJ0KHRyZWUsIGtl eSwgdmFsKTsKK0BAIC04NzIsNiArODc4LDcgQEAgc3RhdGljIGludCBnZXRfcWxpc3QoUUVNVUZp bGUgKmYsIHZvaWQgKnB2LCBzaXplX3QgdW51c2VkX3NpemUsCisgICAgICAgICAgICAgICAgICAg ICAgY29uc3QgVk1TdGF0ZUZpZWxkICpmaWVsZCkKKyB7CisgICAgIGludCByZXQgPSAwOworKyAg ICBFcnJvciAqbG9jYWxfZXJyID0gTlVMTDsKKyAgICAgY29uc3QgVk1TdGF0ZURlc2NyaXB0aW9u ICp2bXNkID0gZmllbGQtPnZtc2Q7CisgICAgIC8qIHNpemUgb2YgYSBRTElTVCBlbGVtZW50ICov CisgICAgIHNpemVfdCBzaXplID0gZmllbGQtPnNpemU7CitAQCAtODkyLDEwICs4OTksOSBAQCBz dGF0aWMgaW50IGdldF9xbGlzdChRRU1VRmlsZSAqZiwgdm9pZCAqcHYsIHNpemVfdCB1bnVzZWRf c2l6ZSwKKyAKKyAgICAgd2hpbGUgKHFlbXVfZ2V0X2J5dGUoZikpIHsKKyAgICAgICAgIGVsbSA9 IGdfbWFsbG9jKHNpemUpOworLSAgICAgICAgcmV0ID0gdm1zdGF0ZV9sb2FkX3N0YXRlKGYsIHZt c2QsIGVsbSwgdmVyc2lvbl9pZCk7CisrICAgICAgICByZXQgPSB2bXN0YXRlX2xvYWRfc3RhdGUo Ziwgdm1zZCwgZWxtLCB2ZXJzaW9uX2lkLCAmbG9jYWxfZXJyKTsKKyAgICAgICAgIGlmIChyZXQp IHsKKy0gICAgICAgICAgICBlcnJvcl9yZXBvcnQoIiVzOiBmYWlsZWQgdG8gbG9hZCAlcyAoJWQp IiwgZmllbGQtPm5hbWUsCistICAgICAgICAgICAgICAgICAgICAgICAgIHZtc2QtPm5hbWUsIHJl dCk7CisrICAgICAgICAgICAgZXJyb3JfcmVwb3J0X2Vycihsb2NhbF9lcnIpOworICAgICAgICAg ICAgIGdfZnJlZShlbG0pOworICAgICAgICAgICAgIHJldHVybiByZXQ7CisgICAgICAgICB9Citk aWZmIC0tZ2l0IGEvbWlncmF0aW9uL3Ztc3RhdGUuYyBiL21pZ3JhdGlvbi92bXN0YXRlLmMKK2lu ZGV4IDA4ZjJiNTYyZTMuLjhkMWU5ZWI2MmIgMTAwNjQ0CistLS0gYS9taWdyYXRpb24vdm1zdGF0 ZS5jCisrKysgYi9taWdyYXRpb24vdm1zdGF0ZS5jCitAQCAtMTMyLDMwICsxMzIsMzMgQEAgc3Rh dGljIHZvaWQgdm1zdGF0ZV9oYW5kbGVfYWxsb2Modm9pZCAqcHRyLCBjb25zdCBWTVN0YXRlRmll bGQgKmZpZWxkLAorIH0KKyAKKyBpbnQgdm1zdGF0ZV9sb2FkX3N0YXRlKFFFTVVGaWxlICpmLCBj b25zdCBWTVN0YXRlRGVzY3JpcHRpb24gKnZtc2QsCistICAgICAgICAgICAgICAgICAgICAgICB2 b2lkICpvcGFxdWUsIGludCB2ZXJzaW9uX2lkKQorKyAgICAgICAgICAgICAgICAgICAgICAgdm9p ZCAqb3BhcXVlLCBpbnQgdmVyc2lvbl9pZCwgRXJyb3IgKiplcnJwKQorIHsKKyAgICAgY29uc3Qg Vk1TdGF0ZUZpZWxkICpmaWVsZCA9IHZtc2QtPmZpZWxkczsKKyAgICAgaW50IHJldCA9IDA7Cist ICAgIEVycm9yICpsb2NhbF9lcnIgPSBOVUxMOworIAorICAgICB0cmFjZV92bXN0YXRlX2xvYWRf c3RhdGUodm1zZC0+bmFtZSwgdmVyc2lvbl9pZCk7CisgICAgIGlmICh2ZXJzaW9uX2lkID4gdm1z ZC0+dmVyc2lvbl9pZCkgeworLSAgICAgICAgZXJyb3JfcmVwb3J0KCIlczogaW5jb21pbmcgdmVy c2lvbl9pZCAlZCBpcyB0b28gbmV3ICIKKy0gICAgICAgICAgICAgICAgICAgICAiZm9yIGxvY2Fs IHZlcnNpb25faWQgJWQiLAorLSAgICAgICAgICAgICAgICAgICAgIHZtc2QtPm5hbWUsIHZlcnNp b25faWQsIHZtc2QtPnZlcnNpb25faWQpOworKyAgICAgICAgZXJyb3Jfc2V0ZyhlcnJwLCAiJXM6 IGluY29taW5nIHZlcnNpb25faWQgJWQgaXMgdG9vIG5ldyAiCisrICAgICAgICAgICAgICAgICAg ICJmb3IgbG9jYWwgdmVyc2lvbl9pZCAlZCIsCisrICAgICAgICAgICAgICAgICAgIHZtc2QtPm5h bWUsIHZlcnNpb25faWQsIHZtc2QtPnZlcnNpb25faWQpOworICAgICAgICAgdHJhY2Vfdm1zdGF0 ZV9sb2FkX3N0YXRlX2VuZCh2bXNkLT5uYW1lLCAidG9vIG5ldyIsIC1FSU5WQUwpOworICAgICAg ICAgcmV0dXJuIC1FSU5WQUw7CisgICAgIH0KKyAgICAgaWYgICh2ZXJzaW9uX2lkIDwgdm1zZC0+ bWluaW11bV92ZXJzaW9uX2lkKSB7CistICAgICAgICBlcnJvcl9yZXBvcnQoIiVzOiBpbmNvbWlu ZyB2ZXJzaW9uX2lkICVkIGlzIHRvbyBvbGQgIgorLSAgICAgICAgICAgICAgICAgICAgICJmb3Ig bG9jYWwgbWluaW11bSB2ZXJzaW9uX2lkICAlZCIsCistICAgICAgICAgICAgICAgICAgICAgdm1z ZC0+bmFtZSwgdmVyc2lvbl9pZCwgdm1zZC0+bWluaW11bV92ZXJzaW9uX2lkKTsKKysgICAgICAg IGVycm9yX3NldGcoZXJycCwgIiVzOiBpbmNvbWluZyB2ZXJzaW9uX2lkICVkIGlzIHRvbyBvbGQg IgorKyAgICAgICAgICAgICAgICAgICAiZm9yIGxvY2FsIG1pbmltdW0gdmVyc2lvbl9pZCAlZCIs CisrICAgICAgICAgICAgICAgICAgIHZtc2QtPm5hbWUsIHZlcnNpb25faWQsIHZtc2QtPm1pbmlt dW1fdmVyc2lvbl9pZCk7CisgICAgICAgICB0cmFjZV92bXN0YXRlX2xvYWRfc3RhdGVfZW5kKHZt c2QtPm5hbWUsICJ0b28gb2xkIiwgLUVJTlZBTCk7CisgICAgICAgICByZXR1cm4gLUVJTlZBTDsK KyAgICAgfQorICAgICBpZiAodm1zZC0+cHJlX2xvYWQpIHsKKyAgICAgICAgIHJldCA9IHZtc2Qt PnByZV9sb2FkKG9wYXF1ZSk7CisgICAgICAgICBpZiAocmV0KSB7CisrICAgICAgICAgICAgZXJy b3Jfc2V0ZyhlcnJwLCAicHJlIGxvYWQgaG9vayBmYWlsZWQgZm9yOiAnJXMnLCAiCisrICAgICAg ICAgICAgICAgICAgICAgICAidmVyc2lvbl9pZDogJWQsIG1pbmltdW0gdmVyc2lvbl9pZDogJWQs IHJldDogJWQiLAorKyAgICAgICAgICAgICAgICAgICAgICAgdm1zZC0+bmFtZSwgdm1zZC0+dmVy c2lvbl9pZCwgdm1zZC0+bWluaW11bV92ZXJzaW9uX2lkLAorKyAgICAgICAgICAgICAgICAgICAg ICAgcmV0KTsKKyAgICAgICAgICAgICByZXR1cm4gcmV0OworICAgICAgICAgfQorICAgICB9CitA QCAtMTkzLDEzICsxOTYsMjEgQEAgaW50IHZtc3RhdGVfbG9hZF9zdGF0ZShRRU1VRmlsZSAqZiwg Y29uc3QgVk1TdGF0ZURlc2NyaXB0aW9uICp2bXNkLAorIAorICAgICAgICAgICAgICAgICBpZiAo aW5uZXJfZmllbGQtPmZsYWdzICYgVk1TX1NUUlVDVCkgeworICAgICAgICAgICAgICAgICAgICAg cmV0ID0gdm1zdGF0ZV9sb2FkX3N0YXRlKGYsIGlubmVyX2ZpZWxkLT52bXNkLCBjdXJyX2VsZW0s CistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5uZXJfZmll bGQtPnZtc2QtPnZlcnNpb25faWQpOworKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGlubmVyX2ZpZWxkLT52bXNkLT52ZXJzaW9uX2lkLAorKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycnApOworICAgICAgICAgICAgICAg ICB9IGVsc2UgaWYgKGlubmVyX2ZpZWxkLT5mbGFncyAmIFZNU19WU1RSVUNUKSB7CisgICAgICAg ICAgICAgICAgICAgICByZXQgPSB2bXN0YXRlX2xvYWRfc3RhdGUoZiwgaW5uZXJfZmllbGQtPnZt c2QsIGN1cnJfZWxlbSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBpbm5lcl9maWVsZC0+c3RydWN0X3ZlcnNpb25faWQpOworKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlubmVyX2ZpZWxkLT5zdHJ1Y3RfdmVyc2lvbl9p ZCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJwKTsK KyAgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgIHJldCA9IGlu bmVyX2ZpZWxkLT5pbmZvLT5nZXQoZiwgY3Vycl9lbGVtLCBzaXplLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbm5lcl9maWVsZCk7CisrICAgICAg ICAgICAgICAgICAgICBpZiAocmV0IDwgMCkgeworKyAgICAgICAgICAgICAgICAgICAgICAgIGVy cm9yX3NldGcoZXJycCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJGYWls ZWQgdG8gbG9hZCBlbGVtZW50IG9mIHR5cGUgJXMgZm9yICVzOiAiCisrICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAiJWQiLCBpbm5lcl9maWVsZC0+aW5mby0+bmFtZSwKKysgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlubmVyX2ZpZWxkLT5uYW1lLCByZXQpOwor KyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICB9CisgCisgICAgICAgICAg ICAgICAgIC8qIElmIHdlIHVzZWQgYSBmYWtlIHRlbXAgZmllbGQuLiBmcmVlIGl0IG5vdyAqLwor QEAgLTIwOSwzMSArMjIwLDQwIEBAIGludCB2bXN0YXRlX2xvYWRfc3RhdGUoUUVNVUZpbGUgKmYs IGNvbnN0IFZNU3RhdGVEZXNjcmlwdGlvbiAqdm1zZCwKKyAKKyAgICAgICAgICAgICAgICAgaWYg KHJldCA+PSAwKSB7CisgICAgICAgICAgICAgICAgICAgICByZXQgPSBxZW11X2ZpbGVfZ2V0X2Vy cm9yKGYpOworKyAgICAgICAgICAgICAgICAgICAgaWYgKHJldCA8IDApIHsKKysgICAgICAgICAg ICAgICAgICAgICAgICBlcnJvcl9zZXRnKGVycnAsCisrICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAiRmFpbGVkIHRvIGxvYWQgJXMgc3RhdGU6IHN0cmVhbSBlcnJvcjogJWQiLAor KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm1zZC0+bmFtZSwgcmV0KTsKKysg ICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAg ICBpZiAocmV0IDwgMCkgeworICAgICAgICAgICAgICAgICAgICAgcWVtdV9maWxlX3NldF9lcnJv cihmLCByZXQpOworLSAgICAgICAgICAgICAgICAgICAgZXJyb3JfcmVwb3J0KCJGYWlsZWQgdG8g bG9hZCAlczolcyIsIHZtc2QtPm5hbWUsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgZmllbGQtPm5hbWUpOworICAgICAgICAgICAgICAgICAgICAgdHJhY2Vfdm1zdGF0ZV9sb2Fk X2ZpZWxkX2Vycm9yKGZpZWxkLT5uYW1lLCByZXQpOworICAgICAgICAgICAgICAgICAgICAgcmV0 dXJuIHJldDsKKyAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgIH0KKyAgICAgICAgIH0g ZWxzZSBpZiAoZmllbGQtPmZsYWdzICYgVk1TX01VU1RfRVhJU1QpIHsKKy0gICAgICAgICAgICBl cnJvcl9yZXBvcnQoIklucHV0IHZhbGlkYXRpb24gZmFpbGVkOiAlcy8lcyIsCistICAgICAgICAg ICAgICAgICAgICAgICAgIHZtc2QtPm5hbWUsIGZpZWxkLT5uYW1lKTsKKysgICAgICAgICAgICBl cnJvcl9zZXRnKGVycnAsICJJbnB1dCB2YWxpZGF0aW9uIGZhaWxlZDogJXMvJXMgdmVyc2lvbl9p ZDogJWQiLAorKyAgICAgICAgICAgICAgICAgICAgICAgdm1zZC0+bmFtZSwgZmllbGQtPm5hbWUs IHZtc2QtPnZlcnNpb25faWQpOworICAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgIH0K KyAgICAgICAgIGZpZWxkKys7CisgICAgIH0KKyAgICAgYXNzZXJ0KGZpZWxkLT5mbGFncyA9PSBW TVNfRU5EKTsKKy0gICAgcmV0ID0gdm1zdGF0ZV9zdWJzZWN0aW9uX2xvYWQoZiwgdm1zZCwgb3Bh cXVlLCAmbG9jYWxfZXJyKTsKKysgICAgcmV0ID0gdm1zdGF0ZV9zdWJzZWN0aW9uX2xvYWQoZiwg dm1zZCwgb3BhcXVlLCBlcnJwKTsKKyAgICAgaWYgKHJldCAhPSAwKSB7CisgICAgICAgICBxZW11 X2ZpbGVfc2V0X2Vycm9yKGYsIHJldCk7CistICAgICAgICBlcnJvcl9yZXBvcnRfZXJyKGxvY2Fs X2Vycik7CisgICAgICAgICByZXR1cm4gcmV0OworICAgICB9CisgICAgIGlmICh2bXNkLT5wb3N0 X2xvYWQpIHsKKyAgICAgICAgIHJldCA9IHZtc2QtPnBvc3RfbG9hZChvcGFxdWUsIHZlcnNpb25f aWQpOworKyAgICAgICAgaWYgKHJldCA8IDApIHsKKysgICAgICAgICAgICBlcnJvcl9zZXRnKGVy cnAsCisrICAgICAgICAgICAgICAgICAgICAgICAicG9zdCBsb2FkIGhvb2sgZmFpbGVkIGZvcjog JXMsIHZlcnNpb25faWQ6ICVkLCAiCisrICAgICAgICAgICAgICAgICAgICAgICAibWluaW11bV92 ZXJzaW9uOiAlZCwgcmV0OiAlZCIsCisrICAgICAgICAgICAgICAgICAgICAgICB2bXNkLT5uYW1l LCB2bXNkLT52ZXJzaW9uX2lkLCB2bXNkLT5taW5pbXVtX3ZlcnNpb25faWQsCisrICAgICAgICAg ICAgICAgICAgICAgICByZXQpOworKyAgICAgICAgfQorICAgICB9CisgICAgIHRyYWNlX3Ztc3Rh dGVfbG9hZF9zdGF0ZV9lbmQodm1zZC0+bmFtZSwgImVuZCIsIHJldCk7CisgICAgIHJldHVybiBy ZXQ7CitAQCAtNTcwLDYgKzU5MCw3IEBAIHZtc3RhdGVfZ2V0X3N1YnNlY3Rpb24oY29uc3QgVk1T dGF0ZURlc2NyaXB0aW9uICogY29uc3QgKnN1YiwKKyBzdGF0aWMgaW50IHZtc3RhdGVfc3Vic2Vj dGlvbl9sb2FkKFFFTVVGaWxlICpmLCBjb25zdCBWTVN0YXRlRGVzY3JpcHRpb24gKnZtc2QsCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICpvcGFxdWUsIEVycm9yICoq ZXJycCkKKyB7CisrICAgIEVSUlBfR1VBUkQoKTsKKyAgICAgdHJhY2Vfdm1zdGF0ZV9zdWJzZWN0 aW9uX2xvYWQodm1zZC0+bmFtZSk7CisgCisgICAgIHdoaWxlIChxZW11X3BlZWtfYnl0ZShmLCAw KSA9PSBRRU1VX1ZNX1NVQlNFQ1RJT04pIHsKK0BAIC02MDksMTIgKzYzMCwxMiBAQCBzdGF0aWMg aW50IHZtc3RhdGVfc3Vic2VjdGlvbl9sb2FkKFFFTVVGaWxlICpmLCBjb25zdCBWTVN0YXRlRGVz Y3JpcHRpb24gKnZtc2QsCisgICAgICAgICBxZW11X2ZpbGVfc2tpcChmLCBsZW4pOyAvKiBpZHN0 ciAqLworICAgICAgICAgdmVyc2lvbl9pZCA9IHFlbXVfZ2V0X2JlMzIoZik7CisgCistICAgICAg ICByZXQgPSB2bXN0YXRlX2xvYWRfc3RhdGUoZiwgc3ViX3Ztc2QsIG9wYXF1ZSwgdmVyc2lvbl9p ZCk7CisrICAgICAgICByZXQgPSB2bXN0YXRlX2xvYWRfc3RhdGUoZiwgc3ViX3Ztc2QsIG9wYXF1 ZSwgdmVyc2lvbl9pZCwgZXJycCk7CisgICAgICAgICBpZiAocmV0KSB7CisgICAgICAgICAgICAg dHJhY2Vfdm1zdGF0ZV9zdWJzZWN0aW9uX2xvYWRfYmFkKHZtc2QtPm5hbWUsIGlkc3RyLCAiKGNo aWxkKSIpOworLSAgICAgICAgICAgIGVycm9yX3NldGcoZXJycCwKKy0gICAgICAgICAgICAgICAg ICAgICAgICJMb2FkaW5nIFZNIHN1YnNlY3Rpb24gJyVzJyBpbiAnJXMnIGZhaWxlZDogJWQiLAor LSAgICAgICAgICAgICAgICAgICAgICAgaWRzdHIsIHZtc2QtPm5hbWUsIHJldCk7CisrICAgICAg ICAgICAgZXJyb3JfcHJlcGVuZChlcnJwLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgIkxv YWRpbmcgVk0gc3Vic2VjdGlvbiAnJXMnIGluICclcycgZmFpbGVkOiAlZDogIiwKKysgICAgICAg ICAgICAgICAgICAgICAgICAgIGlkc3RyLCB2bXNkLT5uYW1lLCByZXQpOworICAgICAgICAgICAg IHJldHVybiByZXQ7CisgICAgICAgICB9CisgICAgIH0KK2RpZmYgLS1naXQgYS90ZXN0cy91bml0 L3Rlc3Qtdm1zdGF0ZS5jIGIvdGVzdHMvdW5pdC90ZXN0LXZtc3RhdGUuYworaW5kZXggNjNmMjhm MjZmNC4uNGZmMGFiNjMyZiAxMDA2NDQKKy0tLSBhL3Rlc3RzL3VuaXQvdGVzdC12bXN0YXRlLmMK KysrKyBiL3Rlc3RzL3VuaXQvdGVzdC12bXN0YXRlLmMKK0BAIC0zMCw2ICszMCw3IEBACisgI2lu Y2x1ZGUgIi4uL21pZ3JhdGlvbi9zYXZldm0uaCIKKyAjaW5jbHVkZSAicWVtdS9tb2R1bGUuaCIK KyAjaW5jbHVkZSAiaW8vY2hhbm5lbC1maWxlLmgiCisrI2luY2x1ZGUgInFhcGkvZXJyb3IuaCIK KyAKKyBzdGF0aWMgaW50IHRlbXBfZmQ7CisgCitAQCAtMTA4LDE0ICsxMDksMTYgQEAgc3RhdGlj IGludCBsb2FkX3Ztc3RhdGVfb25lKGNvbnN0IFZNU3RhdGVEZXNjcmlwdGlvbiAqZGVzYywgdm9p ZCAqb2JqLAorIHsKKyAgICAgUUVNVUZpbGUgKmY7CisgICAgIGludCByZXQ7CisrICAgIEVycm9y ICpsb2NhbF9lcnIgPSBOVUxMOworIAorICAgICBmID0gb3Blbl90ZXN0X2ZpbGUodHJ1ZSk7Cisg ICAgIHFlbXVfcHV0X2J1ZmZlcihmLCB3aXJlLCBzaXplKTsKKyAgICAgcWVtdV9mY2xvc2UoZik7 CisgCisgICAgIGYgPSBvcGVuX3Rlc3RfZmlsZShmYWxzZSk7CistICAgIHJldCA9IHZtc3RhdGVf bG9hZF9zdGF0ZShmLCBkZXNjLCBvYmosIHZlcnNpb24pOworKyAgICByZXQgPSB2bXN0YXRlX2xv YWRfc3RhdGUoZiwgZGVzYywgb2JqLCB2ZXJzaW9uLCAmbG9jYWxfZXJyKTsKKyAgICAgaWYgKHJl dCkgeworKyAgICAgICAgZXJyb3JfcmVwb3J0X2Vycihsb2NhbF9lcnIpOworICAgICAgICAgZ19h c3NlcnQocWVtdV9maWxlX2dldF9lcnJvcihmKSk7CisgICAgIH0gZWxzZXsKKyAgICAgICAgIGdf YXNzZXJ0KCFxZW11X2ZpbGVfZ2V0X2Vycm9yKGYpKTsKK0BAIC0zNTUsNiArMzU4LDggQEAgc3Rh dGljIGNvbnN0IFZNU3RhdGVEZXNjcmlwdGlvbiB2bXN0YXRlX3ZlcnNpb25lZCA9IHsKKyAKKyBz dGF0aWMgdm9pZCB0ZXN0X2xvYWRfdjEodm9pZCkKKyB7CisrICAgIEVycm9yICpsb2NhbF9lcnIg PSBOVUxMOworKyAgICBpbnQgcmV0OworICAgICB1aW50OF90IGJ1ZltdID0geworICAgICAgICAg MCwgMCwgMCwgMTAsICAgICAgICAgICAgIC8qIGEgKi8KKyAgICAgICAgIDAsIDAsIDAsIDMwLCAg ICAgICAgICAgICAvKiBjICovCitAQCAtMzY1LDcgKzM3MCwxMCBAQCBzdGF0aWMgdm9pZCB0ZXN0 X2xvYWRfdjEodm9pZCkKKyAKKyAgICAgUUVNVUZpbGUgKmxvYWRpbmcgPSBvcGVuX3Rlc3RfZmls ZShmYWxzZSk7CisgICAgIFRlc3RTdHJ1Y3Qgb2JqID0geyAuYiA9IDIwMCwgLmUgPSA1MDAsIC5m ID0gNjAwIH07CistICAgIHZtc3RhdGVfbG9hZF9zdGF0ZShsb2FkaW5nLCAmdm1zdGF0ZV92ZXJz aW9uZWQsICZvYmosIDEpOworKyAgICByZXQgPSB2bXN0YXRlX2xvYWRfc3RhdGUobG9hZGluZywg JnZtc3RhdGVfdmVyc2lvbmVkLCAmb2JqLCAxLCAmbG9jYWxfZXJyKTsKKysgICAgaWYgKHJldCA8 IDApIHsKKysgICAgICAgIGVycm9yX3JlcG9ydF9lcnIobG9jYWxfZXJyKTsKKysgICAgfQorICAg ICBnX2Fzc2VydCghcWVtdV9maWxlX2dldF9lcnJvcihsb2FkaW5nKSk7CisgICAgIGdfYXNzZXJ0 X2NtcGludChvYmouYSwgPT0sIDEwKTsKKyAgICAgZ19hc3NlcnRfY21waW50KG9iai5iLCA9PSwg MjAwKTsKK0BAIC0zNzgsNiArMzg2LDggQEAgc3RhdGljIHZvaWQgdGVzdF9sb2FkX3YxKHZvaWQp CisgCisgc3RhdGljIHZvaWQgdGVzdF9sb2FkX3YyKHZvaWQpCisgeworKyAgICBFcnJvciAqbG9j YWxfZXJyID0gTlVMTDsKKysgICAgaW50IHJldDsKKyAgICAgdWludDhfdCBidWZbXSA9IHsKKyAg ICAgICAgIDAsIDAsIDAsIDEwLCAgICAgICAgICAgICAvKiBhICovCisgICAgICAgICAwLCAwLCAw LCAyMCwgICAgICAgICAgICAgLyogYiAqLworQEAgLTM5MSw3ICs0MDEsMTAgQEAgc3RhdGljIHZv aWQgdGVzdF9sb2FkX3YyKHZvaWQpCisgCisgICAgIFFFTVVGaWxlICpsb2FkaW5nID0gb3Blbl90 ZXN0X2ZpbGUoZmFsc2UpOworICAgICBUZXN0U3RydWN0IG9iajsKKy0gICAgdm1zdGF0ZV9sb2Fk X3N0YXRlKGxvYWRpbmcsICZ2bXN0YXRlX3ZlcnNpb25lZCwgJm9iaiwgMik7CisrICAgIHJldCA9 IHZtc3RhdGVfbG9hZF9zdGF0ZShsb2FkaW5nLCAmdm1zdGF0ZV92ZXJzaW9uZWQsICZvYmosIDIs ICZsb2NhbF9lcnIpOworKyAgICBpZiAocmV0IDwgMCkgeworKyAgICAgICAgZXJyb3JfcmVwb3J0 X2Vycihsb2NhbF9lcnIpOworKyAgICB9CisgICAgIGdfYXNzZXJ0X2NtcGludChvYmouYSwgPT0s IDEwKTsKKyAgICAgZ19hc3NlcnRfY21waW50KG9iai5iLCA9PSwgMjApOworICAgICBnX2Fzc2Vy dF9jbXBpbnQob2JqLmMsID09LCAzMCk7CitAQCAtNDY3LDYgKzQ4MCw4IEBAIHN0YXRpYyB2b2lk IHRlc3Rfc2F2ZV9za2lwKHZvaWQpCisgCisgc3RhdGljIHZvaWQgdGVzdF9sb2FkX25vc2tpcCh2 b2lkKQorIHsKKysgICAgRXJyb3IgKmxvY2FsX2VyciA9IE5VTEw7CisrICAgIGludCByZXQ7Cisg ICAgIHVpbnQ4X3QgYnVmW10gPSB7CisgICAgICAgICAwLCAwLCAwLCAxMCwgICAgICAgICAgICAg LyogYSAqLworICAgICAgICAgMCwgMCwgMCwgMjAsICAgICAgICAgICAgIC8qIGIgKi8KK0BAIC00 ODAsNyArNDk1LDEwIEBAIHN0YXRpYyB2b2lkIHRlc3RfbG9hZF9ub3NraXAodm9pZCkKKyAKKyAg ICAgUUVNVUZpbGUgKmxvYWRpbmcgPSBvcGVuX3Rlc3RfZmlsZShmYWxzZSk7CisgICAgIFRlc3RT dHJ1Y3Qgb2JqID0geyAuc2tpcF9jX2UgPSBmYWxzZSB9OworLSAgICB2bXN0YXRlX2xvYWRfc3Rh dGUobG9hZGluZywgJnZtc3RhdGVfc2tpcHBpbmcsICZvYmosIDIpOworKyAgICByZXQgPSB2bXN0 YXRlX2xvYWRfc3RhdGUobG9hZGluZywgJnZtc3RhdGVfc2tpcHBpbmcsICZvYmosIDIsICZsb2Nh bF9lcnIpOworKyAgICBpZiAocmV0IDwgMCkgeworKyAgICAgICAgZXJyb3JfcmVwb3J0X2Vycihs b2NhbF9lcnIpOworKyAgICB9CisgICAgIGdfYXNzZXJ0KCFxZW11X2ZpbGVfZ2V0X2Vycm9yKGxv YWRpbmcpKTsKKyAgICAgZ19hc3NlcnRfY21waW50KG9iai5hLCA9PSwgMTApOworICAgICBnX2Fz c2VydF9jbXBpbnQob2JqLmIsID09LCAyMCk7CitAQCAtNDkzLDYgKzUxMSw4IEBAIHN0YXRpYyB2 b2lkIHRlc3RfbG9hZF9ub3NraXAodm9pZCkKKyAKKyBzdGF0aWMgdm9pZCB0ZXN0X2xvYWRfc2tp cCh2b2lkKQorIHsKKysgICAgRXJyb3IgKmxvY2FsX2VyciA9IE5VTEw7CisrICAgIGludCByZXQ7 CisgICAgIHVpbnQ4X3QgYnVmW10gPSB7CisgICAgICAgICAwLCAwLCAwLCAxMCwgICAgICAgICAg ICAgLyogYSAqLworICAgICAgICAgMCwgMCwgMCwgMjAsICAgICAgICAgICAgIC8qIGIgKi8KK0BA IC01MDQsNyArNTI0LDEwIEBAIHN0YXRpYyB2b2lkIHRlc3RfbG9hZF9za2lwKHZvaWQpCisgCisg ICAgIFFFTVVGaWxlICpsb2FkaW5nID0gb3Blbl90ZXN0X2ZpbGUoZmFsc2UpOworICAgICBUZXN0 U3RydWN0IG9iaiA9IHsgLnNraXBfY19lID0gdHJ1ZSwgLmMgPSAzMDAsIC5lID0gNTAwIH07Cist ICAgIHZtc3RhdGVfbG9hZF9zdGF0ZShsb2FkaW5nLCAmdm1zdGF0ZV9za2lwcGluZywgJm9iaiwg Mik7CisrICAgIHJldCA9IHZtc3RhdGVfbG9hZF9zdGF0ZShsb2FkaW5nLCAmdm1zdGF0ZV9za2lw cGluZywgJm9iaiwgMiwgJmxvY2FsX2Vycik7CisrICAgIGlmIChyZXQgPCAwKSB7CisrICAgICAg ICBlcnJvcl9yZXBvcnRfZXJyKGxvY2FsX2Vycik7CisrICAgIH0KKyAgICAgZ19hc3NlcnQoIXFl bXVfZmlsZV9nZXRfZXJyb3IobG9hZGluZykpOworICAgICBnX2Fzc2VydF9jbXBpbnQob2JqLmEs ID09LCAxMCk7CisgICAgIGdfYXNzZXJ0X2NtcGludChvYmouYiwgPT0sIDIwKTsKK0BAIC03NDQs NiArNzY3LDggQEAgc3RhdGljIHZvaWQgdGVzdF9zYXZlX3Eodm9pZCkKKyAKKyBzdGF0aWMgdm9p ZCB0ZXN0X2xvYWRfcSh2b2lkKQorIHsKKysgICAgaW50IHJldDsKKysgICAgRXJyb3IgKmxvY2Fs X2VyciA9IE5VTEw7CisgICAgIFRlc3RRdGFpbHEgb2JqX3EgPSB7CisgICAgICAgICAuaTE2ID0g LTUxMiwKKyAgICAgICAgIC5pMzIgPSA3MDAwMCwKK0BAIC03NzMsNyArNzk4LDEwIEBAIHN0YXRp YyB2b2lkIHRlc3RfbG9hZF9xKHZvaWQpCisgICAgIFRlc3RRdGFpbHEgdGd0OworIAorICAgICBR VEFJTFFfSU5JVCgmdGd0LnEpOworLSAgICB2bXN0YXRlX2xvYWRfc3RhdGUoZmxvYWQsICZ2bXN0 YXRlX3EsICZ0Z3QsIDEpOworKyAgICByZXQgPSB2bXN0YXRlX2xvYWRfc3RhdGUoZmxvYWQsICZ2 bXN0YXRlX3EsICZ0Z3QsIDEsICZsb2NhbF9lcnIpOworKyAgICBpZiAocmV0IDwgMCkgeworKyAg ICAgICAgZXJyb3JfcmVwb3J0X2Vycihsb2NhbF9lcnIpOworKyAgICB9CisgICAgIGNoYXIgZW9m ID0gcWVtdV9nZXRfYnl0ZShmbG9hZCk7CisgICAgIGdfYXNzZXJ0KCFxZW11X2ZpbGVfZ2V0X2Vy cm9yKGZsb2FkKSk7CisgICAgIGdfYXNzZXJ0X2NtcGludCh0Z3QuaTE2LCA9PSwgb2JqX3EuaTE2 KTsKK0BAIC0xMTE1LDYgKzExNDMsOCBAQCBzdGF0aWMgdm9pZCBkaWZmX2lvbW11KFRlc3RHVHJl ZUlPTU1VICppb21tdTEsIFRlc3RHVHJlZUlPTU1VICppb21tdTIpCisgCisgc3RhdGljIHZvaWQg dGVzdF9ndHJlZV9sb2FkX2RvbWFpbih2b2lkKQorIHsKKysgICAgRXJyb3IgKmxvY2FsX2VyciA9 IE5VTEw7CisrICAgIGludCByZXQ7CisgICAgIFRlc3RHVHJlZURvbWFpbiAqZGVzdF9kb21haW4g PSBnX25ldzAoVGVzdEdUcmVlRG9tYWluLCAxKTsKKyAgICAgVGVzdEdUcmVlRG9tYWluICpvcmln X2RvbWFpbiA9IGNyZWF0ZV9maXJzdF9kb21haW4oKTsKKyAgICAgUUVNVUZpbGUgKmZsb2FkLCAq ZnNhdmU7CitAQCAtMTEyNyw3ICsxMTU3LDExIEBAIHN0YXRpYyB2b2lkIHRlc3RfZ3RyZWVfbG9h ZF9kb21haW4odm9pZCkKKyAKKyAgICAgZmxvYWQgPSBvcGVuX3Rlc3RfZmlsZShmYWxzZSk7Cisg CistICAgIHZtc3RhdGVfbG9hZF9zdGF0ZShmbG9hZCwgJnZtc3RhdGVfZG9tYWluLCBkZXN0X2Rv bWFpbiwgMSk7CisrICAgIHJldCA9IHZtc3RhdGVfbG9hZF9zdGF0ZShmbG9hZCwgJnZtc3RhdGVf ZG9tYWluLCBkZXN0X2RvbWFpbiwgMSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZs b2NhbF9lcnIpOworKyAgICBpZiAocmV0IDwgMCkgeworKyAgICAgICAgZXJyb3JfcmVwb3J0X2Vy cihsb2NhbF9lcnIpOworKyAgICB9CisgICAgIGVvZiA9IHFlbXVfZ2V0X2J5dGUoZmxvYWQpOwor ICAgICBnX2Fzc2VydCghcWVtdV9maWxlX2dldF9lcnJvcihmbG9hZCkpOworICAgICBnX2Fzc2Vy dF9jbXBpbnQob3JpZ19kb21haW4tPmlkLCA9PSwgZGVzdF9kb21haW4tPmlkKTsKK0BAIC0xMjMw LDYgKzEyNjQsOCBAQCBzdGF0aWMgdm9pZCB0ZXN0X2d0cmVlX3NhdmVfaW9tbXUodm9pZCkKKyAK KyBzdGF0aWMgdm9pZCB0ZXN0X2d0cmVlX2xvYWRfaW9tbXUodm9pZCkKKyB7CisrICAgIEVycm9y ICpsb2NhbF9lcnIgPSBOVUxMOworKyAgICBpbnQgcmV0OworICAgICBUZXN0R1RyZWVJT01NVSAq ZGVzdF9pb21tdSA9IGdfbmV3MChUZXN0R1RyZWVJT01NVSwgMSk7CisgICAgIFRlc3RHVHJlZUlP TU1VICpvcmlnX2lvbW11ID0gY3JlYXRlX2lvbW11KCk7CisgICAgIFFFTVVGaWxlICpmc2F2ZSwg KmZsb2FkOworQEAgLTEyNDEsNyArMTI3NywxMCBAQCBzdGF0aWMgdm9pZCB0ZXN0X2d0cmVlX2xv YWRfaW9tbXUodm9pZCkKKyAgICAgcWVtdV9mY2xvc2UoZnNhdmUpOworIAorICAgICBmbG9hZCA9 IG9wZW5fdGVzdF9maWxlKGZhbHNlKTsKKy0gICAgdm1zdGF0ZV9sb2FkX3N0YXRlKGZsb2FkLCAm dm1zdGF0ZV9pb21tdSwgZGVzdF9pb21tdSwgMSk7CisrICAgIHJldCA9IHZtc3RhdGVfbG9hZF9z dGF0ZShmbG9hZCwgJnZtc3RhdGVfaW9tbXUsIGRlc3RfaW9tbXUsIDEsICZsb2NhbF9lcnIpOwor KyAgICBpZiAocmV0IDwgMCkgeworKyAgICAgICAgZXJyb3JfcmVwb3J0X2Vycihsb2NhbF9lcnIp OworKyAgICB9CisgICAgIGVvZiA9IHFlbXVfZ2V0X2J5dGUoZmxvYWQpOworICAgICBnX2Fzc2Vy dCghcWVtdV9maWxlX2dldF9lcnJvcihmbG9hZCkpOworICAgICBnX2Fzc2VydF9jbXBpbnQob3Jp Z19pb21tdS0+aWQsID09LCBkZXN0X2lvbW11LT5pZCk7CitAQCAtMTM2Myw2ICsxNDAyLDggQEAg c3RhdGljIHZvaWQgdGVzdF9zYXZlX3FsaXN0KHZvaWQpCisgCisgc3RhdGljIHZvaWQgdGVzdF9s b2FkX3FsaXN0KHZvaWQpCisgeworKyAgICBFcnJvciAqbG9jYWxfZXJyID0gTlVMTDsKKysgICAg aW50IHJldDsKKyAgICAgUUVNVUZpbGUgKmZzYXZlLCAqZmxvYWQ7CisgICAgIFRlc3RRTGlzdENv bnRhaW5lciAqb3JpZ19jb250YWluZXIgPSBhbGxvY19jb250YWluZXIoKTsKKyAgICAgVGVzdFFM aXN0Q29udGFpbmVyICpkZXN0X2NvbnRhaW5lciA9IGdfbmV3MChUZXN0UUxpc3RDb250YWluZXIs IDEpOworQEAgLTEzNzYsNyArMTQxNywxMSBAQCBzdGF0aWMgdm9pZCB0ZXN0X2xvYWRfcWxpc3Qo dm9pZCkKKyAgICAgcWVtdV9mY2xvc2UoZnNhdmUpOworIAorICAgICBmbG9hZCA9IG9wZW5fdGVz dF9maWxlKGZhbHNlKTsKKy0gICAgdm1zdGF0ZV9sb2FkX3N0YXRlKGZsb2FkLCAmdm1zdGF0ZV9j b250YWluZXIsIGRlc3RfY29udGFpbmVyLCAxKTsKKysgICAgcmV0ID0gdm1zdGF0ZV9sb2FkX3N0 YXRlKGZsb2FkLCAmdm1zdGF0ZV9jb250YWluZXIsIGRlc3RfY29udGFpbmVyLCAxLAorKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgJmxvY2FsX2Vycik7CisrICAgIGlmIChyZXQgPCAwKSB7 CisrICAgICAgICBlcnJvcl9yZXBvcnRfZXJyKGxvY2FsX2Vycik7CisrICAgIH0KKyAgICAgZW9m ID0gcWVtdV9nZXRfYnl0ZShmbG9hZCk7CisgICAgIGdfYXNzZXJ0KCFxZW11X2ZpbGVfZ2V0X2Vy cm9yKGZsb2FkKSk7CisgICAgIGdfYXNzZXJ0X2NtcGludChlb2YsID09LCBRRU1VX1ZNX0VPRik7 CitkaWZmIC0tZ2l0IGEvdWkvdmRhZ2VudC5jIGIvdWkvdmRhZ2VudC5jCitpbmRleCBjMDc0NmZl NWIxLi5iYzNjNzdmMDEzIDEwMDY0NAorLS0tIGEvdWkvdmRhZ2VudC5jCisrKysgYi91aS92ZGFn ZW50LmMKK0BAIC0xMDAxLDYgKzEwMDEsNyBAQCBzdGF0aWMgaW50IGdldF9jYmluZm8oUUVNVUZp bGUgKmYsIHZvaWQgKnB2LCBzaXplX3Qgc2l6ZSwKKyAgICAgVkRBZ2VudENoYXJkZXYgKnZkID0g UUVNVV9WREFHRU5UX0NIQVJERVYocHYpOworICAgICBzdHJ1Y3QgQ0JJbmZvQXJyYXkgY2JpbmZv ID0ge307CisgICAgIGludCBpLCByZXQ7CisrICAgIEVycm9yICpsb2NhbF9lcnIgPSBOVUxMOwor IAorICAgICBpZiAoIWhhdmVfY2xpcGJvYXJkKHZkKSkgeworICAgICAgICAgcmV0dXJuIDA7CitA QCAtMTAwOCw4ICsxMDA5LDEwIEBAIHN0YXRpYyBpbnQgZ2V0X2NiaW5mbyhRRU1VRmlsZSAqZiwg dm9pZCAqcHYsIHNpemVfdCBzaXplLAorIAorICAgICB2ZGFnZW50X2NsaXBib2FyZF9wZWVyX3Jl Z2lzdGVyKHZkKTsKKyAKKy0gICAgcmV0ID0gdm1zdGF0ZV9sb2FkX3N0YXRlKGYsICZ2bXN0YXRl X2NiaW5mb19hcnJheSwgJmNiaW5mbywgMCk7CisrICAgIHJldCA9IHZtc3RhdGVfbG9hZF9zdGF0 ZShmLCAmdm1zdGF0ZV9jYmluZm9fYXJyYXksICZjYmluZm8sIDAsCisrICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAmbG9jYWxfZXJyKTsKKyAgICAgaWYgKHJldCkgeworKyAgICAgICAgZXJy b3JfcmVwb3J0X2Vycihsb2NhbF9lcnIpOworICAgICAgICAgcmV0dXJuIHJldDsKKyAgICAgfQor IAorLS0gCisyLjUyLjAKKwoKZGlmZiAtLWdpdCBhL2t2bS1taWdyYXRpb24tcHVzaC1FcnJvci1l cnJwLWludG8tdm1zdGF0ZV9zdWJzZWN0aW9uX2xvLnBhdGNoIGIva3ZtLW1pZ3JhdGlvbi1wdXNo LUVycm9yLWVycnAtaW50by12bXN0YXRlX3N1YnNlY3Rpb25fbG8ucGF0Y2gKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGM4NTkxOQotLS0gL2Rldi9udWxsCisrKyBiL2t2bS1t aWdyYXRpb24tcHVzaC1FcnJvci1lcnJwLWludG8tdm1zdGF0ZV9zdWJzZWN0aW9uX2xvLnBhdGNo CkBAIC0wLDAgKzEsMTA0IEBACitGcm9tIGUxMWUxMGNkNzNjMjdhZTRjYzE1ODk4NDZkZDNiMDRm NmU5OWM4NDIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBcnVuIE1lbm9uIDxhcm1l bm9uQHJlZGhhdC5jb20+CitEYXRlOiBUaHUsIDE4IFNlcCAyMDI1IDIwOjUzOjE4ICswNTMwCitT dWJqZWN0OiBbUEFUQ0ggMDg1LzExNl0gbWlncmF0aW9uOiBwdXNoIEVycm9yICoqZXJycCBpbnRv Cisgdm1zdGF0ZV9zdWJzZWN0aW9uX2xvYWQoKQorTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQt VHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGlu ZzogOGJpdAorCitSSC1BdXRob3I6IFJvZG9sZm8gVmljayA8Tm9uZT4KK1JILU1lcmdlUmVxdWVz dDogNDg2OiBBZGQgRE1BQlVGIHN1cHBvcnQKK1JILUppcmE6IFJIRUwtMTM4NDk0CitSSC1BY2tl ZC1ieTogQ8OpZHJpYyBMZSBHb2F0ZXIgPGNsZ0ByZWRoYXQuY29tPgorUkgtQWNrZWQtYnk6IEVy aWMgQXVnZXIgPGVyaWMuYXVnZXJAcmVkaGF0LmNvbT4KK1JILUNvbW1pdDogWzY5LzEwMF0gNTk4 ODE0NTE0MTFhYjdkYjY3ZjQzYTUzNzA2ZTViYjZjODYxZWVmMSAocm92aWNrMS9xZW11LWt2bSkK KworVGhpcyBpcyBhbiBpbmNyZW1lbnRhbCBzdGVwIGluIGNvbnZlcnRpbmcgdm1zdGF0ZSBsb2Fk aW5nCitjb2RlIHRvIHJlcG9ydCBlcnJvciB2aWEgRXJyb3Igb2JqZWN0cyBpbnN0ZWFkIG9mIGRp cmVjdGx5CitwcmludGluZyBpdCB0byBjb25zb2xlL21vbml0b3IuCitJdCBpcyBlbnN1cmVkIHRo YXQgdm1zdGF0ZV9zdWJzZWN0aW9uX2xvYWQoKSBtdXN0IHJlcG9ydCBhbiBlcnJvcgoraW4gZXJy cCwgaW4gY2FzZSBvZiBmYWlsdXJlLgorCitUaGUgZXJyb3JzIGFyZSB0ZW1wb3JhcmlseSByZXBv cnRlZCB1c2luZyBlcnJvcl9yZXBvcnRfZXJyKCkuCitUaGlzIGlzIHJlbW92ZWQgaW4gdGhlIHN1 YnNlcXVlbnQgcGF0Y2hlcyBpbiB0aGlzIHNlcmllcywKK3doZW4gd2UgYXJlIGFjdHVhbGx5IGFi bGUgdG8gcHJvcGFnYXRlIHRoZSBlcnJvciB0byB0aGUgY2FsbGluZworZnVuY3Rpb24gdXNpbmcg ZXJycC4KKworUmV2aWV3ZWQtYnk6IE1hcmMtQW5kcsOpIEx1cmVhdSA8bWFyY2FuZHJlLmx1cmVh dUByZWRoYXQuY29tPgorUmV2aWV3ZWQtYnk6IEZhYmlhbm8gUm9zYXMgPGZhcm9zYXNAc3VzZS5k ZT4KK1NpZ25lZC1vZmYtYnk6IEFydW4gTWVub24gPGFybWVub25AcmVkaGF0LmNvbT4KK1Rlc3Rl ZC1ieTogRmFiaWFubyBSb3NhcyA8ZmFyb3Nhc0BzdXNlLmRlPgorUmV2aWV3ZWQtYnk6IEFraWhp a28gT2Rha2kgPG9kYWtpQHJzZy5jaS5pLnUtdG9reW8uYWMuanA+CitMaW5rOiBodHRwczovL2xv cmUua2VybmVsLm9yZy9yLzIwMjUwOTE4LXByb3BhZ2F0ZV90cG1fZXJyb3ItdjE0LTEtMzZmMTFh NmZiOWQzQHJlZGhhdC5jb20KK1NpZ25lZC1vZmYtYnk6IFBldGVyIFh1IDxwZXRlcnhAcmVkaGF0 LmNvbT4KKyhjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDczYjQyZmM1OGQwMzVjYjJmY2ZlOTAw ODNkNmIzM2FlYjRmYTFiMmEpCitTaWduZWQtb2ZmLWJ5OiBFcmljIEF1Z2VyIDxlcmljLmF1Z2Vy QHJlZGhhdC5jb20+CistLS0KKyBtaWdyYXRpb24vdm1zdGF0ZS5jIHwgMTMgKysrKysrKysrKy0t LQorIDEgZmlsZSBjaGFuZ2VkLCAxMCBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQorCitk aWZmIC0tZ2l0IGEvbWlncmF0aW9uL3Ztc3RhdGUuYyBiL21pZ3JhdGlvbi92bXN0YXRlLmMKK2lu ZGV4IDVmZWFhMzI0NGQuLjA4ZjJiNTYyZTMgMTAwNjQ0CistLS0gYS9taWdyYXRpb24vdm1zdGF0 ZS5jCisrKysgYi9taWdyYXRpb24vdm1zdGF0ZS5jCitAQCAtMjUsNyArMjUsNyBAQCBzdGF0aWMg aW50IHZtc3RhdGVfc3Vic2VjdGlvbl9zYXZlKFFFTVVGaWxlICpmLCBjb25zdCBWTVN0YXRlRGVz Y3JpcHRpb24gKnZtc2QsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lk ICpvcGFxdWUsIEpTT05Xcml0ZXIgKnZtZGVzYywKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEVycm9yICoqZXJycCk7Cisgc3RhdGljIGludCB2bXN0YXRlX3N1YnNlY3Rpb25f bG9hZChRRU1VRmlsZSAqZiwgY29uc3QgVk1TdGF0ZURlc2NyaXB0aW9uICp2bXNkLAorLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqb3BhcXVlKTsKKysgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKm9wYXF1ZSwgRXJyb3IgKiplcnJwKTsKKyAK KyAvKiBXaGV0aGVyIHRoaXMgZmllbGQgc2hvdWxkIGV4aXN0IGZvciBlaXRoZXIgc2F2ZSBvciBs b2FkIHRoZSBWTT8gKi8KKyBzdGF0aWMgYm9vbAorQEAgLTEzNiw2ICsxMzYsNyBAQCBpbnQgdm1z dGF0ZV9sb2FkX3N0YXRlKFFFTVVGaWxlICpmLCBjb25zdCBWTVN0YXRlRGVzY3JpcHRpb24gKnZt c2QsCisgeworICAgICBjb25zdCBWTVN0YXRlRmllbGQgKmZpZWxkID0gdm1zZC0+ZmllbGRzOwor ICAgICBpbnQgcmV0ID0gMDsKKysgICAgRXJyb3IgKmxvY2FsX2VyciA9IE5VTEw7CisgCisgICAg IHRyYWNlX3Ztc3RhdGVfbG9hZF9zdGF0ZSh2bXNkLT5uYW1lLCB2ZXJzaW9uX2lkKTsKKyAgICAg aWYgKHZlcnNpb25faWQgPiB2bXNkLT52ZXJzaW9uX2lkKSB7CitAQCAtMjI1LDkgKzIyNiwxMCBA QCBpbnQgdm1zdGF0ZV9sb2FkX3N0YXRlKFFFTVVGaWxlICpmLCBjb25zdCBWTVN0YXRlRGVzY3Jp cHRpb24gKnZtc2QsCisgICAgICAgICBmaWVsZCsrOworICAgICB9CisgICAgIGFzc2VydChmaWVs ZC0+ZmxhZ3MgPT0gVk1TX0VORCk7CistICAgIHJldCA9IHZtc3RhdGVfc3Vic2VjdGlvbl9sb2Fk KGYsIHZtc2QsIG9wYXF1ZSk7CisrICAgIHJldCA9IHZtc3RhdGVfc3Vic2VjdGlvbl9sb2FkKGYs IHZtc2QsIG9wYXF1ZSwgJmxvY2FsX2Vycik7CisgICAgIGlmIChyZXQgIT0gMCkgeworICAgICAg ICAgcWVtdV9maWxlX3NldF9lcnJvcihmLCByZXQpOworKyAgICAgICAgZXJyb3JfcmVwb3J0X2Vy cihsb2NhbF9lcnIpOworICAgICAgICAgcmV0dXJuIHJldDsKKyAgICAgfQorICAgICBpZiAodm1z ZC0+cG9zdF9sb2FkKSB7CitAQCAtNTY2LDcgKzU2OCw3IEBAIHZtc3RhdGVfZ2V0X3N1YnNlY3Rp b24oY29uc3QgVk1TdGF0ZURlc2NyaXB0aW9uICogY29uc3QgKnN1YiwKKyB9CisgCisgc3RhdGlj IGludCB2bXN0YXRlX3N1YnNlY3Rpb25fbG9hZChRRU1VRmlsZSAqZiwgY29uc3QgVk1TdGF0ZURl c2NyaXB0aW9uICp2bXNkLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9p ZCAqb3BhcXVlKQorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqb3Bh cXVlLCBFcnJvciAqKmVycnApCisgeworICAgICB0cmFjZV92bXN0YXRlX3N1YnNlY3Rpb25fbG9h ZCh2bXNkLT5uYW1lKTsKKyAKK0BAIC01OTgsNiArNjAwLDggQEAgc3RhdGljIGludCB2bXN0YXRl X3N1YnNlY3Rpb25fbG9hZChRRU1VRmlsZSAqZiwgY29uc3QgVk1TdGF0ZURlc2NyaXB0aW9uICp2 bXNkLAorICAgICAgICAgc3ViX3Ztc2QgPSB2bXN0YXRlX2dldF9zdWJzZWN0aW9uKHZtc2QtPnN1 YnNlY3Rpb25zLCBpZHN0cik7CisgICAgICAgICBpZiAoc3ViX3Ztc2QgPT0gTlVMTCkgeworICAg ICAgICAgICAgIHRyYWNlX3Ztc3RhdGVfc3Vic2VjdGlvbl9sb2FkX2JhZCh2bXNkLT5uYW1lLCBp ZHN0ciwgIihsb29rdXApIik7CisrICAgICAgICAgICAgZXJyb3Jfc2V0ZyhlcnJwLCAiVk0gc3Vi c2VjdGlvbiAnJXMnIGluICclcycgZG9lcyBub3QgZXhpc3QiLAorKyAgICAgICAgICAgICAgICAg ICAgICAgaWRzdHIsIHZtc2QtPm5hbWUpOworICAgICAgICAgICAgIHJldHVybiAtRU5PRU5UOwor ICAgICAgICAgfQorICAgICAgICAgcWVtdV9maWxlX3NraXAoZiwgMSk7IC8qIHN1YnNlY3Rpb24g Ki8KK0BAIC02MDgsNiArNjEyLDkgQEAgc3RhdGljIGludCB2bXN0YXRlX3N1YnNlY3Rpb25fbG9h ZChRRU1VRmlsZSAqZiwgY29uc3QgVk1TdGF0ZURlc2NyaXB0aW9uICp2bXNkLAorICAgICAgICAg cmV0ID0gdm1zdGF0ZV9sb2FkX3N0YXRlKGYsIHN1Yl92bXNkLCBvcGFxdWUsIHZlcnNpb25faWQp OworICAgICAgICAgaWYgKHJldCkgeworICAgICAgICAgICAgIHRyYWNlX3Ztc3RhdGVfc3Vic2Vj dGlvbl9sb2FkX2JhZCh2bXNkLT5uYW1lLCBpZHN0ciwgIihjaGlsZCkiKTsKKysgICAgICAgICAg ICBlcnJvcl9zZXRnKGVycnAsCisrICAgICAgICAgICAgICAgICAgICAgICAiTG9hZGluZyBWTSBz dWJzZWN0aW9uICclcycgaW4gJyVzJyBmYWlsZWQ6ICVkIiwKKysgICAgICAgICAgICAgICAgICAg ICAgIGlkc3RyLCB2bXNkLT5uYW1lLCByZXQpOworICAgICAgICAgICAgIHJldHVybiByZXQ7Cisg ICAgICAgICB9CisgICAgIH0KKy0tIAorMi41Mi4wCisKCmRpZmYgLS1naXQgYS9rdm0tbWlncmF0 aW9uLXNldC1jb3JyZWN0LWxpc3QtcG9pbnRlci13aGVuLXJlbW92aW5nLW5vdC5wYXRjaCBiL2t2 bS1taWdyYXRpb24tc2V0LWNvcnJlY3QtbGlzdC1wb2ludGVyLXdoZW4tcmVtb3Zpbmctbm90LnBh dGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk0MjMzNDEKLS0tIC9kZXYv bnVsbAorKysgYi9rdm0tbWlncmF0aW9uLXNldC1jb3JyZWN0LWxpc3QtcG9pbnRlci13aGVuLXJl bW92aW5nLW5vdC5wYXRjaApAQCAtMCwwICsxLDQ5IEBACitGcm9tIDc4MGFkZjRiODNmZmQ0ZDUy ODBlYjdlNjYwMmI1MTExOTVkM2Q1MjkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBN YXR0aGV3IFJvc2F0byA8bWpyb3NhdG9AbGludXguaWJtLmNvbT4KK0RhdGU6IFRodSwgMTMgTm92 IDIwMjUgMTY6MzU6NDUgLTA1MDAKK1N1YmplY3Q6IFtQQVRDSCAxMDYvMTE2XSBtaWdyYXRpb246 IHNldCBjb3JyZWN0IGxpc3QgcG9pbnRlciB3aGVuIHJlbW92aW5nCisgbm90aWZpZXIKK01JTUUt VmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0Nv bnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworUkgtQXV0aG9yOiBSb2RvbGZvIFZpY2sg PE5vbmU+CitSSC1NZXJnZVJlcXVlc3Q6IDQ4NjogQWRkIERNQUJVRiBzdXBwb3J0CitSSC1KaXJh OiBSSEVMLTEzODQ5NAorUkgtQWNrZWQtYnk6IEPDqWRyaWMgTGUgR29hdGVyIDxjbGdAcmVkaGF0 LmNvbT4KK1JILUFja2VkLWJ5OiBFcmljIEF1Z2VyIDxlcmljLmF1Z2VyQHJlZGhhdC5jb20+CitS SC1Db21taXQ6IFs5MC8xMDBdIDBhYjI0NmUzZTg5MjJmYTZiNmViNjZhZTE1YjZhODYxYzhiODA1 NWMgKHJvdmljazEvcWVtdS1rdm0pCisKK0luIG1pZ3JhdGlvbl9yZW1vdmVfbm90aWZpZXIoKSwg Z19zbGlzdF9yZW1vdmUoKSB3aWxsIHNlYXJjaCBmb3IgYW5kCitwb3RlbnRpYWxseSByZW1vdmUg YW4gZW50cnkgZnJvbSB0aGUgc3BlY2lmaWVkIGxpc3QuICBUaGUgcmV0dXJuIHZhbHVlCitzaG91 bGQgYmUgdXNlZCB0byB1cGRhdGUgdGhlIHBvdGVudGlhbGx5LWNoYW5nZWQgaGVhZCBwb2ludGVy IG9mIHRoZQorbGlzdCB0aGF0IHdhcyBqdXN0IHNlYXJjaGVkIChtaWdyYXRpb25fc3RhdGVfbm90 aWZpZXJzW21vZGVdKSBpbnN0ZWFkCitvZiB0aGUgbWlncmF0aW9uIGJsb2NrZXJzIGxpc3QuCisK K0ZpeGVzOiBkYzc5YzdkNWUxICgibWlncmF0aW9uOiBtdWx0aS1tb2RlIG5vdGlmaWVyIikKK1Np Z25lZC1vZmYtYnk6IE1hdHRoZXcgUm9zYXRvIDxtanJvc2F0b0BsaW51eC5pYm0uY29tPgorUmV2 aWV3ZWQtYnk6IEPDqWRyaWMgTGUgR29hdGVyIDxjbGdAcmVkaGF0LmNvbT4KK0xpbms6IGh0dHBz Oi8vbG9yZS5rZXJuZWwub3JnL3IvMjAyNTExMTMyMTM1NDUuNTEzNDUzLTEtbWpyb3NhdG9AbGlu dXguaWJtLmNvbQorU2lnbmVkLW9mZi1ieTogUGV0ZXIgWHUgPHBldGVyeEByZWRoYXQuY29tPgor KGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgOTExYmRkMzRjYTFhM2Y5ZTYyODM2ZTdiYzU4MWU3 ZWRjNTczMTliZSkKK1NpZ25lZC1vZmYtYnk6IEPDqWRyaWMgTGUgR29hdGVyIDxjbGdAcmVkaGF0 LmNvbT4KKy0tLQorIG1pZ3JhdGlvbi9taWdyYXRpb24uYyB8IDIgKy0KKyAxIGZpbGUgY2hhbmdl ZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL21pZ3JhdGlv bi9taWdyYXRpb24uYyBiL21pZ3JhdGlvbi9taWdyYXRpb24uYworaW5kZXggMjUxNWJlYzQ4Zi4u MDIzM2IyNWY4NiAxMDA2NDQKKy0tLSBhL21pZ3JhdGlvbi9taWdyYXRpb24uYworKysrIGIvbWln cmF0aW9uL21pZ3JhdGlvbi5jCitAQCAtMTcwNCw3ICsxNzA0LDcgQEAgdm9pZCBtaWdyYXRpb25f cmVtb3ZlX25vdGlmaWVyKE5vdGlmaWVyV2l0aFJldHVybiAqbm90aWZ5KQorIHsKKyAgICAgaWYg KG5vdGlmeS0+bm90aWZ5KSB7CisgICAgICAgICBmb3IgKE1pZ01vZGUgbW9kZSA9IDA7IG1vZGUg PCBNSUdfTU9ERV9fTUFYOyBtb2RlKyspIHsKKy0gICAgICAgICAgICBtaWdyYXRpb25fYmxvY2tl cnNbbW9kZV0gPQorKyAgICAgICAgICAgIG1pZ3JhdGlvbl9zdGF0ZV9ub3RpZmllcnNbbW9kZV0g PQorICAgICAgICAgICAgICAgICBnX3NsaXN0X3JlbW92ZShtaWdyYXRpb25fc3RhdGVfbm90aWZp ZXJzW21vZGVdLCBub3RpZnkpOworICAgICAgICAgfQorICAgICAgICAgbm90aWZ5LT5ub3RpZnkg PSBOVUxMOworLS0gCisyLjUyLjAKKwoKZGlmZiAtLWdpdCBhL2t2bS1vc2xpYi1xZW11X2NsZWFy X2Nsb2V4ZWMucGF0Y2ggYi9rdm0tb3NsaWItcWVtdV9jbGVhcl9jbG9leGVjLnBhdGNoCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg2MGIyZTQKLS0tIC9kZXYvbnVsbAorKysg Yi9rdm0tb3NsaWItcWVtdV9jbGVhcl9jbG9leGVjLnBhdGNoCkBAIC0wLDAgKzEsODcgQEAKK0Zy b20gNzEwNDUwOWMzMjNhOGI1NTg3Mzg5ZGM5MjM2YTM4ZGY0M2Y0YmU3NSBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKK0Zyb206IFN0ZXZlIFNpc3RhcmUgPHN0ZXZlbi5zaXN0YXJlQG9yYWNsZS5j b20+CitEYXRlOiBXZWQsIDEgT2N0IDIwMjUgMDg6MzM6NTUgLTA3MDAKK1N1YmplY3Q6IFtQQVRD SCAwOTAvMTE2XSBvc2xpYjogcWVtdV9jbGVhcl9jbG9leGVjCitNSU1FLVZlcnNpb246IDEuMAor Q29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVy LUVuY29kaW5nOiA4Yml0CisKK1JILUF1dGhvcjogUm9kb2xmbyBWaWNrIDxOb25lPgorUkgtTWVy Z2VSZXF1ZXN0OiA0ODY6IEFkZCBETUFCVUYgc3VwcG9ydAorUkgtSmlyYTogUkhFTC0xMzg0OTQK K1JILUFja2VkLWJ5OiBDw6lkcmljIExlIEdvYXRlciA8Y2xnQHJlZGhhdC5jb20+CitSSC1BY2tl ZC1ieTogRXJpYyBBdWdlciA8ZXJpYy5hdWdlckByZWRoYXQuY29tPgorUkgtQ29tbWl0OiBbNzQv MTAwXSA5YjMxZjZhYjFjMzZjNWQ2YzM1MWQyZmE1YWE1YjViNTc5OWUwOTUxIChyb3ZpY2sxL3Fl bXUta3ZtKQorCitEZWZpbmUgcWVtdV9jbGVhcl9jbG9leGVjLCBhbmFsb2dvdXMgdG8gcWVtdV9z ZXRfY2xvZXhlYy4KKworU2lnbmVkLW9mZi1ieTogU3RldmUgU2lzdGFyZSA8c3RldmVuLnNpc3Rh cmVAb3JhY2xlLmNvbT4KK1Jldmlld2VkLWJ5OiBEci4gRGF2aWQgQWxhbiBHaWxiZXJ0IDxkZ2ls YmVydEByZWRoYXQuY29tPgorUmV2aWV3ZWQtYnk6IE1hcmMtQW5kcsOpIEx1cmVhdSA8bWFyY2Fu ZHJlLmx1cmVhdUByZWRoYXQuY29tPgorUmV2aWV3ZWQtYnk6IEZhYmlhbm8gUm9zYXMgPGZhcm9z YXNAc3VzZS5kZT4KK0xpbms6IGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL3IvMTc1OTMzMjg1MS0z NzAzNTMtNC1naXQtc2VuZC1lbWFpbC1zdGV2ZW4uc2lzdGFyZUBvcmFjbGUuY29tCitTaWduZWQt b2ZmLWJ5OiBQZXRlciBYdSA8cGV0ZXJ4QHJlZGhhdC5jb20+CistLS0KKyBpbmNsdWRlL3FlbXUv b3NkZXAuaCB8IDkgKysrKysrKysrCisgdXRpbC9vc2xpYi1wb3NpeC5jICAgfCA5ICsrKysrKysr KworIHV0aWwvb3NsaWItd2luMzIuYyAgIHwgNCArKysrCisgMyBmaWxlcyBjaGFuZ2VkLCAyMiBp bnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9pbmNsdWRlL3FlbXUvb3NkZXAuaCBiL2luY2x1 ZGUvcWVtdS9vc2RlcC5oCitpbmRleCA5NmZlNTFiYzM5Li4zMDEzNmVhZDdmIDEwMDY0NAorLS0t IGEvaW5jbHVkZS9xZW11L29zZGVwLmgKKysrKyBiL2luY2x1ZGUvcWVtdS9vc2RlcC5oCitAQCAt NjgwLDYgKzY4MCwxNSBAQCBzc2l6ZV90IHFlbXVfd3JpdGVfZnVsbChpbnQgZmQsIGNvbnN0IHZv aWQgKmJ1Ziwgc2l6ZV90IGNvdW50KQorIAorIHZvaWQgcWVtdV9zZXRfY2xvZXhlYyhpbnQgZmQp OworIAorKy8qCisrICogQ2xlYXIgRkRfQ0xPRVhFQyBmb3IgYSBkZXNjcmlwdG9yLgorKyAqCisr ICogVGhlIGNhbGxlciBtdXN0IGd1YXJhbnRlZSB0aGF0IG5vIG90aGVyIGZvcmsrZXhlYydzIG9j Y3VyIGJlZm9yZSB0aGUKKysgKiBleGVjIHRoYXQgaXMgaW50ZW5kZWQgdG8gaW5oZXJpdCB0aGlz IGRlc2NyaXB0b3IsIGVnIGJ5IHN1c3BlbmRpbmcgQ1BVcworKyAqIGFuZCBibG9ja2luZyBtb25p dG9yIGNvbW1hbmRzLgorKyAqLworK3ZvaWQgcWVtdV9jbGVhcl9jbG9leGVjKGludCBmZCk7Cisr CisgLyogUmV0dXJuIGEgZHluYW1pY2FsbHkgYWxsb2NhdGVkIGRpcmVjdG9yeSBwYXRoIHRoYXQg aXMgYXBwcm9wcmlhdGUgZm9yIHN0b3JpbmcKKyAgKiBsb2NhbCBzdGF0ZS4KKyAgKgorZGlmZiAt LWdpdCBhL3V0aWwvb3NsaWItcG9zaXguYyBiL3V0aWwvb3NsaWItcG9zaXguYworaW5kZXggNGZm NTc3ZTVkZS4uNGMwNDY1OGZjOCAxMDA2NDQKKy0tLSBhL3V0aWwvb3NsaWItcG9zaXguYworKysr IGIvdXRpbC9vc2xpYi1wb3NpeC5jCitAQCAtMzA3LDYgKzMwNywxNSBAQCBpbnQgcWVtdV9zb2Nr ZXRwYWlyKGludCBkb21haW4sIGludCB0eXBlLCBpbnQgcHJvdG9jb2wsIGludCBzdlsyXSkKKyAg ICAgcmV0dXJuIHJldDsKKyB9CisgCisrdm9pZCBxZW11X2NsZWFyX2Nsb2V4ZWMoaW50IGZkKQor K3sKKysgICAgaW50IGY7CisrICAgIGYgPSBmY250bChmZCwgRl9HRVRGRCk7CisrICAgIGFzc2Vy dChmICE9IC0xKTsKKysgICAgZiA9IGZjbnRsKGZkLCBGX1NFVEZELCBmICYgfkZEX0NMT0VYRUMp OworKyAgICBhc3NlcnQoZiAhPSAtMSk7CisrfQorKworIGNoYXIgKgorIHFlbXVfZ2V0X2xvY2Fs X3N0YXRlX2Rpcih2b2lkKQorIHsKK2RpZmYgLS1naXQgYS91dGlsL29zbGliLXdpbjMyLmMgYi91 dGlsL29zbGliLXdpbjMyLmMKK2luZGV4IGI3MzUxNjM0ZWMuLjg0M2E5MDFmZDMgMTAwNjQ0Cist LS0gYS91dGlsL29zbGliLXdpbjMyLmMKKysrKyBiL3V0aWwvb3NsaWItd2luMzIuYworQEAgLTIy Miw2ICsyMjIsMTAgQEAgdm9pZCBxZW11X3NldF9jbG9leGVjKGludCBmZCkKKyB7CisgfQorIAor K3ZvaWQgcWVtdV9jbGVhcl9jbG9leGVjKGludCBmZCkKKyt7CisrfQorKworIGludCBxZW11X2dl dF90aHJlYWRfaWQodm9pZCkKKyB7CisgICAgIHJldHVybiBHZXRDdXJyZW50VGhyZWFkSWQoKTsK Ky0tIAorMi41Mi4wCisKCmRpZmYgLS1naXQgYS9rdm0tczM5MHgtczM5MC1wY2ktdmZpby5jLXVz ZS1RT00tY2FzdHMtd2hlcmUtYXBwcm9wcmlhdC5wYXRjaCBiL2t2bS1zMzkweC1zMzkwLXBjaS12 ZmlvLmMtdXNlLVFPTS1jYXN0cy13aGVyZS1hcHByb3ByaWF0LnBhdGNoCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU0NzQ2Y2UKLS0tIC9kZXYvbnVsbAorKysgYi9rdm0tczM5 MHgtczM5MC1wY2ktdmZpby5jLXVzZS1RT00tY2FzdHMtd2hlcmUtYXBwcm9wcmlhdC5wYXRjaApA QCAtMCwwICsxLDk5IEBACitGcm9tIDI4ODcxY2I1YzZlZjhjNmYwMjc4NmViZmVmNDJmNTA4MGM4 ZTdiOWIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNYXJrIENhdmUtQXlsYW5kIDxt YXJrLmNhdmVheWxhbmRAbnV0YW5peC5jb20+CitEYXRlOiBUdWUsIDE1IEp1bCAyMDI1IDEwOjI2 OjAxICswMTAwCitTdWJqZWN0OiBbUEFUQ0ggMDY2LzExNl0gczM5MHgvczM5MC1wY2ktdmZpby5j OiB1c2UgUU9NIGNhc3RzIHdoZXJlCisgYXBwcm9wcmlhdGUKK01JTUUtVmVyc2lvbjogMS4wCitD b250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXIt RW5jb2Rpbmc6IDhiaXQKKworUkgtQXV0aG9yOiBSb2RvbGZvIFZpY2sgPE5vbmU+CitSSC1NZXJn ZVJlcXVlc3Q6IDQ4NjogQWRkIERNQUJVRiBzdXBwb3J0CitSSC1KaXJhOiBSSEVMLTEzODQ5NAor UkgtQWNrZWQtYnk6IEPDqWRyaWMgTGUgR29hdGVyIDxjbGdAcmVkaGF0LmNvbT4KK1JILUFja2Vk LWJ5OiBFcmljIEF1Z2VyIDxlcmljLmF1Z2VyQHJlZGhhdC5jb20+CitSSC1Db21taXQ6IFs1MC8x MDBdIGFjN2EwOWE4ZGVkMDg4M2U3NDMxNmFjNGI4YzhiZDRhZjFlM2YzNWEgKHJvdmljazEvcWVt dS1rdm0pCisKK1VzZSBRT00gY2FzdHMgdG8gY2FzdCB0byBWRklPUENJRGV2aWNlIGluc3RlYWQg b2YgdXNpbmcgY29udGFpbmVyX29mKCkuCisKK1NpZ25lZC1vZmYtYnk6IE1hcmsgQ2F2ZS1BeWxh bmQgPG1hcmsuY2F2ZWF5bGFuZEBudXRhbml4LmNvbT4KK1Jldmlld2VkLWJ5OiBNYXR0aGV3IFJv c2F0byA8bWpyb3NhdG9AbGludXguaWJtLmNvbT4KK1Jldmlld2VkLWJ5OiBFcmljIEZhcm1hbiA8 ZmFybWFuQGxpbnV4LmlibS5jb20+CitMaW5rOiBodHRwczovL2xvcmUua2VybmVsLm9yZy9xZW11 LWRldmVsLzIwMjUwNzE1MDkzMTEwLjEwNzMxNy0yMi1tYXJrLmNhdmVheWxhbmRAbnV0YW5peC5j b20KK1NpZ25lZC1vZmYtYnk6IEPDqWRyaWMgTGUgR29hdGVyIDxjbGdAcmVkaGF0LmNvbT4KKyhj aGVycnkgcGlja2VkIGZyb20gY29tbWl0IGUyODI3MjEwZDZhOWM1NmMxYjE0YjAwYjQxNGRmYTll Yjc4NDM3MTEpCitTaWduZWQtb2ZmLWJ5OiBFcmljIEF1Z2VyIDxlcmljLmF1Z2VyQHJlZGhhdC5j b20+CistLS0KKyBody9zMzkweC9zMzkwLXBjaS12ZmlvLmMgfCAxNCArKysrKysrLS0tLS0tLQor IDEgZmlsZSBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKyksIDcgZGVsZXRpb25zKC0pCisKK2RpZmYg LS1naXQgYS9ody9zMzkweC9zMzkwLXBjaS12ZmlvLmMgYi9ody9zMzkweC9zMzkwLXBjaS12Zmlv LmMKK2luZGV4IGM1MWJjZWE1ZmMuLjc3NjA3ODBhZmYgMTAwNjQ0CistLS0gYS9ody9zMzkweC9z MzkwLXBjaS12ZmlvLmMKKysrKyBiL2h3L3MzOTB4L3MzOTAtcGNpLXZmaW8uYworQEAgLTYyLDcg KzYyLDcgQEAgUzM5MFBDSURNQUNvdW50ICpzMzkwX3BjaV9zdGFydF9kbWFfY291bnQoUzM5MHBj aVN0YXRlICpzLAorIHsKKyAgICAgUzM5MFBDSURNQUNvdW50ICpjbnQ7CisgICAgIHVpbnQzMl90 IGF2YWlsOworLSAgICBWRklPUENJRGV2aWNlICp2cGRldiA9IGNvbnRhaW5lcl9vZihwYmRldi0+ cGRldiwgVkZJT1BDSURldmljZSwgcGRldik7CisrICAgIFZGSU9QQ0lEZXZpY2UgKnZwZGV2ID0g VkZJT19QQ0lfQkFTRShwYmRldi0+cGRldik7CisgICAgIGludCBpZDsKKyAKKyAgICAgYXNzZXJ0 KHZwZGV2KTsKK0BAIC0xMDgsNyArMTA4LDcgQEAgc3RhdGljIHZvaWQgczM5MF9wY2lfcmVhZF9i YXNlKFMzOTBQQ0lCdXNEZXZpY2UgKnBiZGV2LAorIHsKKyAgICAgc3RydWN0IHZmaW9faW5mb19j YXBfaGVhZGVyICpoZHI7CisgICAgIHN0cnVjdCB2ZmlvX2RldmljZV9pbmZvX2NhcF96cGNpX2Jh c2UgKmNhcDsKKy0gICAgVkZJT1BDSURldmljZSAqdnBjaSA9ICBjb250YWluZXJfb2YocGJkZXYt PnBkZXYsIFZGSU9QQ0lEZXZpY2UsIHBkZXYpOworKyAgICBWRklPUENJRGV2aWNlICp2cGNpID0g VkZJT19QQ0lfQkFTRShwYmRldi0+cGRldik7CisgICAgIHVpbnQ2NF90IHZmaW9fc2l6ZTsKKyAK KyAgICAgaGRyID0gdmZpb19nZXRfZGV2aWNlX2luZm9fY2FwKGluZm8sIFZGSU9fREVWSUNFX0lO Rk9fQ0FQX1pQQ0lfQkFTRSk7CitAQCAtMTYyLDcgKzE2Miw3IEBAIHN0YXRpYyBib29sIGdldF9o b3N0X2ZoKFMzOTBQQ0lCdXNEZXZpY2UgKnBiZGV2LCBzdHJ1Y3QgdmZpb19kZXZpY2VfaW5mbyAq aW5mbywKKyB7CisgICAgIHN0cnVjdCB2ZmlvX2luZm9fY2FwX2hlYWRlciAqaGRyOworICAgICBz dHJ1Y3QgdmZpb19kZXZpY2VfaW5mb19jYXBfenBjaV9iYXNlICpjYXA7CistICAgIFZGSU9QQ0lE ZXZpY2UgKnZwY2kgPSBjb250YWluZXJfb2YocGJkZXYtPnBkZXYsIFZGSU9QQ0lEZXZpY2UsIHBk ZXYpOworKyAgICBWRklPUENJRGV2aWNlICp2cGNpID0gVkZJT19QQ0lfQkFTRShwYmRldi0+cGRl dik7CisgCisgICAgIGhkciA9IHZmaW9fZ2V0X2RldmljZV9pbmZvX2NhcChpbmZvLCBWRklPX0RF VklDRV9JTkZPX0NBUF9aUENJX0JBU0UpOworIAorQEAgLTE4NSw3ICsxODUsNyBAQCBzdGF0aWMg dm9pZCBzMzkwX3BjaV9yZWFkX2dyb3VwKFMzOTBQQ0lCdXNEZXZpY2UgKnBiZGV2LAorICAgICBz dHJ1Y3QgdmZpb19kZXZpY2VfaW5mb19jYXBfenBjaV9ncm91cCAqY2FwOworICAgICBTMzkwcGNp U3RhdGUgKnMgPSBzMzkwX2dldF9waGIoKTsKKyAgICAgQ2xwUnNwUXVlcnlQY2lHcnAgKnJlc2dy cDsKKy0gICAgVkZJT1BDSURldmljZSAqdnBjaSA9ICBjb250YWluZXJfb2YocGJkZXYtPnBkZXYs IFZGSU9QQ0lEZXZpY2UsIHBkZXYpOworKyAgICBWRklPUENJRGV2aWNlICp2cGNpID0gVkZJT19Q Q0lfQkFTRShwYmRldi0+cGRldik7CisgICAgIHVpbnQ4X3Qgc3RhcnRfZ2lkID0gcGJkZXYtPnpw Y2lfZm4ucGZnaWQ7CisgCisgICAgIGhkciA9IHZmaW9fZ2V0X2RldmljZV9pbmZvX2NhcChpbmZv LCBWRklPX0RFVklDRV9JTkZPX0NBUF9aUENJX0dST1VQKTsKK0BAIC0yNjQsNyArMjY0LDcgQEAg c3RhdGljIHZvaWQgczM5MF9wY2lfcmVhZF91dGlsKFMzOTBQQ0lCdXNEZXZpY2UgKnBiZGV2LAor IHsKKyAgICAgc3RydWN0IHZmaW9faW5mb19jYXBfaGVhZGVyICpoZHI7CisgICAgIHN0cnVjdCB2 ZmlvX2RldmljZV9pbmZvX2NhcF96cGNpX3V0aWwgKmNhcDsKKy0gICAgVkZJT1BDSURldmljZSAq dnBjaSA9ICBjb250YWluZXJfb2YocGJkZXYtPnBkZXYsIFZGSU9QQ0lEZXZpY2UsIHBkZXYpOwor KyAgICBWRklPUENJRGV2aWNlICp2cGNpID0gVkZJT19QQ0lfQkFTRShwYmRldi0+cGRldik7Cisg CisgICAgIGhkciA9IHZmaW9fZ2V0X2RldmljZV9pbmZvX2NhcChpbmZvLCBWRklPX0RFVklDRV9J TkZPX0NBUF9aUENJX1VUSUwpOworIAorQEAgLTI5MSw3ICsyOTEsNyBAQCBzdGF0aWMgdm9pZCBz MzkwX3BjaV9yZWFkX3BmaXAoUzM5MFBDSUJ1c0RldmljZSAqcGJkZXYsCisgeworICAgICBzdHJ1 Y3QgdmZpb19pbmZvX2NhcF9oZWFkZXIgKmhkcjsKKyAgICAgc3RydWN0IHZmaW9fZGV2aWNlX2lu Zm9fY2FwX3pwY2lfcGZpcCAqY2FwOworLSAgICBWRklPUENJRGV2aWNlICp2cGNpID0gIGNvbnRh aW5lcl9vZihwYmRldi0+cGRldiwgVkZJT1BDSURldmljZSwgcGRldik7CisrICAgIFZGSU9QQ0lE ZXZpY2UgKnZwY2kgPSBWRklPX1BDSV9CQVNFKHBiZGV2LT5wZGV2KTsKKyAKKyAgICAgaGRyID0g dmZpb19nZXRfZGV2aWNlX2luZm9fY2FwKGluZm8sIFZGSU9fREVWSUNFX0lORk9fQ0FQX1pQQ0lf UEZJUCk7CisgCitAQCAtMzE0LDcgKzMxNCw3IEBAIHN0YXRpYyB2b2lkIHMzOTBfcGNpX3JlYWRf cGZpcChTMzkwUENJQnVzRGV2aWNlICpwYmRldiwKKyAKKyBzdGF0aWMgc3RydWN0IHZmaW9fZGV2 aWNlX2luZm8gKmdldF9kZXZpY2VfaW5mbyhTMzkwUENJQnVzRGV2aWNlICpwYmRldikKKyB7Cist ICAgIFZGSU9QQ0lEZXZpY2UgKnZmaW9fcGNpID0gY29udGFpbmVyX29mKHBiZGV2LT5wZGV2LCBW RklPUENJRGV2aWNlLCBwZGV2KTsKKysgICAgVkZJT1BDSURldmljZSAqdmZpb19wY2kgPSBWRklP X1BDSV9CQVNFKHBiZGV2LT5wZGV2KTsKKyAKKyAgICAgcmV0dXJuIHZmaW9fZ2V0X2RldmljZV9p bmZvKHZmaW9fcGNpLT52YmFzZWRldi5mZCk7CisgfQorLS0gCisyLjUyLjAKKwoKZGlmZiAtLWdp dCBhL2t2bS1zeXN0ZW0taW9tbXVmZC1Vc2UtdWludDY0X3QtdHlwZS1mb3ItSU9WQS1tYXBwaW5n LXNpLnBhdGNoIGIva3ZtLXN5c3RlbS1pb21tdWZkLVVzZS11aW50NjRfdC10eXBlLWZvci1JT1ZB LW1hcHBpbmctc2kucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDFl NDJlNgotLS0gL2Rldi9udWxsCisrKyBiL2t2bS1zeXN0ZW0taW9tbXVmZC1Vc2UtdWludDY0X3Qt dHlwZS1mb3ItSU9WQS1tYXBwaW5nLXNpLnBhdGNoCkBAIC0wLDAgKzEsOTAgQEAKK0Zyb20gM2Yz MjljOTM1NDUxNGVjMDM2M2E1NWYyMzJkZWVmMjg0NTlmNWVjNCBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKK0Zyb206ID0/VVRGLTg/cT9QaGlsaXBwZT0yME1hdGhpZXUtRGF1ZD1DMz1BOT89IDxw aGlsbWRAbGluYXJvLm9yZz4KK0RhdGU6IFR1ZSwgMzAgU2VwIDIwMjUgMTQ6MzU6MjUgKzAyMDAK K1N1YmplY3Q6IFtQQVRDSCAwODEvMTE2XSBzeXN0ZW0vaW9tbXVmZDogVXNlIHVpbnQ2NF90IHR5 cGUgZm9yIElPVkEgbWFwcGluZworIHNpemUKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5 cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6 IDhiaXQKKworUkgtQXV0aG9yOiBSb2RvbGZvIFZpY2sgPE5vbmU+CitSSC1NZXJnZVJlcXVlc3Q6 IDQ4NjogQWRkIERNQUJVRiBzdXBwb3J0CitSSC1KaXJhOiBSSEVMLTEzODQ5NAorUkgtQWNrZWQt Ynk6IEPDqWRyaWMgTGUgR29hdGVyIDxjbGdAcmVkaGF0LmNvbT4KK1JILUFja2VkLWJ5OiBFcmlj IEF1Z2VyIDxlcmljLmF1Z2VyQHJlZGhhdC5jb20+CitSSC1Db21taXQ6IFs2NS8xMDBdIGM4NzUy NDRmYjNkZjM5OGJkMmM0N2YzNTk3ZjVjYTdjMWFlOWEwYTUgKHJvdmljazEvcWVtdS1rdm0pCisK K1RoZSAncmFtX2FkZHJfdCcgdHlwZSBpcyBkZXNjcmliZWQgYXM6CisKKyAgYSBRRU1VIGludGVy bmFsIGFkZHJlc3Mgc3BhY2UgdGhhdCBtYXBzIGd1ZXN0IFJBTSBwaHlzaWNhbAorICBhZGRyZXNz ZXMgaW50byBhbiBpbnRlcm1lZGlhdGUgYWRkcmVzcyBzcGFjZSB0aGF0IGNhbiBtYXAKKyAgdG8g aG9zdCB2aXJ0dWFsIGFkZHJlc3Mgc3BhY2VzLgorCitUaGlzIGRvZXNuJ3QgcmVwcmVzZW50IHdl bGwgYW4gSU9WQSBtYXBwaW5nIHNpemUuIFNpbXBseSB1c2UKK3RoZSB1aW50NjRfdCB0eXBlLgor CitTaWduZWQtb2ZmLWJ5OiBQaGlsaXBwZSBNYXRoaWV1LURhdWTDqSA8cGhpbG1kQGxpbmFyby5v cmc+CitSZXZpZXdlZC1ieTogQ8OpZHJpYyBMZSBHb2F0ZXIgPGNsZ0ByZWRoYXQuY29tPgorTGlu azogaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvcWVtdS1kZXZlbC8yMDI1MDkzMDEyMzUyOC40Mjg3 OC0yLXBoaWxtZEBsaW5hcm8ub3JnCitTaWduZWQtb2ZmLWJ5OiBDw6lkcmljIExlIEdvYXRlciA8 Y2xnQHJlZGhhdC5jb20+CisoY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCA3MGE3ZTMzZGRiN2Yy Y2E3Y2FhY2YyODYyMjJiZDgwZmQzMzBjNDU0KQorU2lnbmVkLW9mZi1ieTogRXJpYyBBdWdlciA8 ZXJpYy5hdWdlckByZWRoYXQuY29tPgorLS0tCisgYmFja2VuZHMvaW9tbXVmZC5jICAgICAgIHwg NiArKystLS0KKyBpbmNsdWRlL3N5c3RlbS9pb21tdWZkLmggfCA2ICsrKy0tLQorIDIgZmlsZXMg Y2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEv YmFja2VuZHMvaW9tbXVmZC5jIGIvYmFja2VuZHMvaW9tbXVmZC5jCitpbmRleCAyYTMzYzdhYjBi Li5mZGZiN2M5ZDY3IDEwMDY0NAorLS0tIGEvYmFja2VuZHMvaW9tbXVmZC5jCisrKysgYi9iYWNr ZW5kcy9pb21tdWZkLmMKK0BAIC0xOTcsNyArMTk3LDcgQEAgdm9pZCBpb21tdWZkX2JhY2tlbmRf ZnJlZV9pZChJT01NVUZEQmFja2VuZCAqYmUsIHVpbnQzMl90IGlkKQorIH0KKyAKKyBpbnQgaW9t bXVmZF9iYWNrZW5kX21hcF9kbWEoSU9NTVVGREJhY2tlbmQgKmJlLCB1aW50MzJfdCBpb2FzX2lk LCBod2FkZHIgaW92YSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFtX2FkZHJfdCBz aXplLCB2b2lkICp2YWRkciwgYm9vbCByZWFkb25seSkKKysgICAgICAgICAgICAgICAgICAgICAg ICAgICAgdWludDY0X3Qgc2l6ZSwgdm9pZCAqdmFkZHIsIGJvb2wgcmVhZG9ubHkpCisgeworICAg ICBpbnQgcmV0LCBmZCA9IGJlLT5mZDsKKyAgICAgc3RydWN0IGlvbW11X2lvYXNfbWFwIG1hcCA9 IHsKK0BAIC0yMzAsNyArMjMwLDcgQEAgaW50IGlvbW11ZmRfYmFja2VuZF9tYXBfZG1hKElPTU1V RkRCYWNrZW5kICpiZSwgdWludDMyX3QgaW9hc19pZCwgaHdhZGRyIGlvdmEsCisgfQorIAorIGlu dCBpb21tdWZkX2JhY2tlbmRfbWFwX2ZpbGVfZG1hKElPTU1VRkRCYWNrZW5kICpiZSwgdWludDMy X3QgaW9hc19pZCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBod2FkZHIgaW92 YSwgcmFtX2FkZHJfdCBzaXplLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGh3 YWRkciBpb3ZhLCB1aW50NjRfdCBzaXplLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGludCBtZmQsIHVuc2lnbmVkIGxvbmcgc3RhcnQsIGJvb2wgcmVhZG9ubHkpCisgeworICAg ICBpbnQgcmV0LCBmZCA9IGJlLT5mZDsKK0BAIC0yNjgsNyArMjY4LDcgQEAgaW50IGlvbW11ZmRf YmFja2VuZF9tYXBfZmlsZV9kbWEoSU9NTVVGREJhY2tlbmQgKmJlLCB1aW50MzJfdCBpb2FzX2lk LAorIH0KKyAKKyBpbnQgaW9tbXVmZF9iYWNrZW5kX3VubWFwX2RtYShJT01NVUZEQmFja2VuZCAq YmUsIHVpbnQzMl90IGlvYXNfaWQsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHdh ZGRyIGlvdmEsIHJhbV9hZGRyX3Qgc2l6ZSkKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBod2FkZHIgaW92YSwgdWludDY0X3Qgc2l6ZSkKKyB7CisgICAgIGludCByZXQsIGZkID0gYmUt PmZkOworICAgICBzdHJ1Y3QgaW9tbXVfaW9hc191bm1hcCB1bm1hcCA9IHsKK2RpZmYgLS1naXQg YS9pbmNsdWRlL3N5c3RlbS9pb21tdWZkLmggYi9pbmNsdWRlL3N5c3RlbS9pb21tdWZkLmgKK2lu ZGV4IGM5YzcyZmZjNDUuLmE2NTlmMzZhMjAgMTAwNjQ0CistLS0gYS9pbmNsdWRlL3N5c3RlbS9p b21tdWZkLmgKKysrKyBiL2luY2x1ZGUvc3lzdGVtL2lvbW11ZmQuaAorQEAgLTQ1LDEyICs0NSwx MiBAQCBib29sIGlvbW11ZmRfYmFja2VuZF9hbGxvY19pb2FzKElPTU1VRkRCYWNrZW5kICpiZSwg dWludDMyX3QgKmlvYXNfaWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFcnJv ciAqKmVycnApOworIHZvaWQgaW9tbXVmZF9iYWNrZW5kX2ZyZWVfaWQoSU9NTVVGREJhY2tlbmQg KmJlLCB1aW50MzJfdCBpZCk7CisgaW50IGlvbW11ZmRfYmFja2VuZF9tYXBfZmlsZV9kbWEoSU9N TVVGREJhY2tlbmQgKmJlLCB1aW50MzJfdCBpb2FzX2lkLAorLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGh3YWRkciBpb3ZhLCByYW1fYWRkcl90IHNpemUsIGludCBmZCwKKysgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBod2FkZHIgaW92YSwgdWludDY0X3Qgc2l6ZSwg aW50IGZkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcg c3RhcnQsIGJvb2wgcmVhZG9ubHkpOworIGludCBpb21tdWZkX2JhY2tlbmRfbWFwX2RtYShJT01N VUZEQmFja2VuZCAqYmUsIHVpbnQzMl90IGlvYXNfaWQsIGh3YWRkciBpb3ZhLAorLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICByYW1fYWRkcl90IHNpemUsIHZvaWQgKnZhZGRyLCBib29sIHJl YWRvbmx5KTsKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDY0X3Qgc2l6ZSwgdm9p ZCAqdmFkZHIsIGJvb2wgcmVhZG9ubHkpOworIGludCBpb21tdWZkX2JhY2tlbmRfdW5tYXBfZG1h KElPTU1VRkRCYWNrZW5kICpiZSwgdWludDMyX3QgaW9hc19pZCwKKy0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBod2FkZHIgaW92YSwgcmFtX2FkZHJfdCBzaXplKTsKKysgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBod2FkZHIgaW92YSwgdWludDY0X3Qgc2l6ZSk7CisgYm9vbCBp b21tdWZkX2JhY2tlbmRfZ2V0X2RldmljZV9pbmZvKElPTU1VRkRCYWNrZW5kICpiZSwgdWludDMy X3QgZGV2aWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90 ICp0eXBlLCB2b2lkICpkYXRhLCB1aW50MzJfdCBsZW4sCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHVpbnQ2NF90ICpjYXBzLCBFcnJvciAqKmVycnApOworLS0gCisyLjUy LjAKKwoKZGlmZiAtLWdpdCBhL2t2bS10YXJnZXQtYXJtLUNvbnZlcnQtaW5pdF9jcHJlZ19saXN0 LXRvLWdfaGFzaF90YWJsZV9mLnBhdGNoIGIva3ZtLXRhcmdldC1hcm0tQ29udmVydC1pbml0X2Nw cmVnX2xpc3QtdG8tZ19oYXNoX3RhYmxlX2YucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMC4uNjdmM2RlNgotLS0gL2Rldi9udWxsCisrKyBiL2t2bS10YXJnZXQtYXJtLUNv bnZlcnQtaW5pdF9jcHJlZ19saXN0LXRvLWdfaGFzaF90YWJsZV9mLnBhdGNoCkBAIC0wLDAgKzEs MTM4IEBACitGcm9tIDg4NmQyZDMxZmJmYjgyNjNlNzNjZDRlOTZkNzljZDFjMDU5ZDZiOGMgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBFcmljIEF1Z2VyIDxlcmljLmF1Z2VyQHJlZGhh dC5jb20+CitEYXRlOiBNb24sIDExIE1heSAyMDI2IDEyOjA2OjM5IC0wNDAwCitTdWJqZWN0OiBb UEFUQ0ggMDAzLzExNl0gdGFyZ2V0L2FybTogQ29udmVydCBpbml0X2NwcmVnX2xpc3QgdG8KKyBn X2hhc2hfdGFibGVfZm9yZWFjaAorTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4 dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAor CitSSC1BdXRob3I6IEVyaWMgQXVnZXIgPGVyaWMuYXVnZXJAcmVkaGF0LmNvbT4KK1JILU1lcmdl UmVxdWVzdDogNDg4OiBbcmhlbC0xMF0gQmFja3BvcnQgY3Jvc3Mta2VybmVsIG1pZ3JhdGlvbiBm YWlsdXJlIG1pdGlnYXRpb24gc2VyaWVzCitSSC1KaXJhOiBSSEVMLTE3NDg1OAorUkgtQWNrZWQt Ynk6IE1vaGFtbWFkZmFpeiBCYXdhIDxOb25lPgorUkgtQWNrZWQtYnk6IFNlYmFzdGlhbiBPdHQg PHNlYm90dEByZWRoYXQuY29tPgorUkgtQWNrZWQtYnk6IEdhdmluIFNoYW4gPGdzaGFuQHJlZGhh dC5jb20+CitSSC1Db21taXQ6IFszLzE2XSA3MDRlNzU3ZjI0M2Q5NDRlZTU0NDQ5NmQ1MGI3ZWFk NGExZTJlNjgxIChlYXVnZXIxL2NlbnRvcy1xZW11LWt2bSkKKworQWRqdXN0IGNvdW50X2NwcmVn IGFuZCBhZGRfY3ByZWdfdG9fbGlzdCB0byBiZSB1c2VkIHdpdGgKK2dfaGFzaF90YWJsZV9mb3Jl YWNoIGluc3RlYWQgb2YgZ19saXN0X2ZvcmVhY2guICBJbiB0aGlzIHdheSB3ZSBoYXZlCit0aGUg QVJNQ1BSZWdJbmZvIHBvaW50ZXIgZGlyZWN0bHkgcmF0aGVyIHRoYW4gaGF2aW5nIHRvIGxvb2sg aXQgdXAKK2Zyb20gdGhlIGtleS4KKworRGVsYXkgdGhlIHNvcnRpbmcgb2YgdGhlIGNwcmVnX2lu ZGV4ZXMgdW50aWwgYWZ0ZXIgYWRkX2NwcmVnX3RvX2xpc3QuCitUaGlzIGFsbG93cyB1cyB0byBz b3J0IHRoZSBkYXRhIHRoYXQgd2UgYWN0dWFsbHkgY2FyZSBhYm91dCwKK3RoZSBrdm0gaWQsIGFz IGNvbXB1dGVkIHdpdGhpbiBhZGRfY3ByZWdfdG9fbGlzdCwgaW5zdGVhZCBvZgoraGF2aW5nIHRv IHJlcGVhdGVkbHkgY29tcHV0ZSB0aGUga3ZtIGlkIHdpdGhpbiBjcHJlZ19rZXlfY29tcGFyZS4K KworU2lnbmVkLW9mZi1ieTogUmljaGFyZCBIZW5kZXJzb24gPHJpY2hhcmQuaGVuZGVyc29uQGxp bmFyby5vcmc+CitUZXN0ZWQtYnk6IFBoaWxpcHBlIE1hdGhpZXUtRGF1ZMOpIDxwaGlsbWRAbGlu YXJvLm9yZz4KK1NpZ25lZC1vZmYtYnk6IFBldGVyIE1heWRlbGwgPHBldGVyLm1heWRlbGxAbGlu YXJvLm9yZz4KKyhjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IGRlZTNjMGMyY2Y5ODQ4Y2Q4NDk3 NDQ0NzRjZGFjMTA4Y2U2OGExZWYpCitTaWduZWQtb2ZmLWJ5OiBFcmljIEF1Z2VyIDxlcmljLmF1 Z2VyQHJlZGhhdC5jb20+CistLS0KKyB0YXJnZXQvYXJtL2hlbHBlci5jIHwgNTQgKysrKysrKysr KysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDIx IGluc2VydGlvbnMoKyksIDMzIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvdGFyZ2V0L2Fy bS9oZWxwZXIuYyBiL3RhcmdldC9hcm0vaGVscGVyLmMKK2luZGV4IGQyMzBmOWU3NjYuLjFjZmY0 YzVhNjggMTAwNjQ0CistLS0gYS90YXJnZXQvYXJtL2hlbHBlci5jCisrKysgYi90YXJnZXQvYXJt L2hlbHBlci5jCitAQCAtMjA5LDExICsyMDksMTEgQEAgYm9vbCB3cml0ZV9saXN0X3RvX2NwdXN0 YXRlKEFSTUNQVSAqY3B1KQorICAgICByZXR1cm4gb2s7CisgfQorIAorLXN0YXRpYyB2b2lkIGFk ZF9jcHJlZ190b19saXN0KGdwb2ludGVyIGtleSwgZ3BvaW50ZXIgb3BhcXVlKQorK3N0YXRpYyB2 b2lkIGFkZF9jcHJlZ190b19saXN0KGdwb2ludGVyIGtleSwgZ3BvaW50ZXIgdmFsdWUsIGdwb2lu dGVyIG9wYXF1ZSkKKyB7CisgICAgIEFSTUNQVSAqY3B1ID0gb3BhcXVlOworICAgICB1aW50MzJf dCByZWdpZHggPSAodWludHB0cl90KWtleTsKKy0gICAgY29uc3QgQVJNQ1BSZWdJbmZvICpyaSA9 IGdldF9hcm1fY3BfcmVnaW5mbyhjcHUtPmNwX3JlZ3MsIHJlZ2lkeCk7CisrICAgIGNvbnN0IEFS TUNQUmVnSW5mbyAqcmkgPSB2YWx1ZTsKKyAKKyAgICAgaWYgKCEocmktPnR5cGUgJiAoQVJNX0NQ X05PX1JBVyB8IEFSTV9DUF9BTElBUykpKSB7CisgICAgICAgICBjcHUtPmNwcmVnX2luZGV4ZXNb Y3B1LT5jcHJlZ19hcnJheV9sZW5dID0gY3ByZWdfdG9fa3ZtX2lkKHJlZ2lkeCk7CitAQCAtMjIy LDYxICsyMjIsNDkgQEAgc3RhdGljIHZvaWQgYWRkX2NwcmVnX3RvX2xpc3QoZ3BvaW50ZXIga2V5 LCBncG9pbnRlciBvcGFxdWUpCisgICAgIH0KKyB9CisgCistc3RhdGljIHZvaWQgY291bnRfY3By ZWcoZ3BvaW50ZXIga2V5LCBncG9pbnRlciBvcGFxdWUpCisrc3RhdGljIHZvaWQgY291bnRfY3By ZWcoZ3BvaW50ZXIga2V5LCBncG9pbnRlciB2YWx1ZSwgZ3BvaW50ZXIgb3BhcXVlKQorIHsKKyAg ICAgQVJNQ1BVICpjcHUgPSBvcGFxdWU7CistICAgIGNvbnN0IEFSTUNQUmVnSW5mbyAqcmk7Cist CistICAgIHJpID0gZ19oYXNoX3RhYmxlX2xvb2t1cChjcHUtPmNwX3JlZ3MsIGtleSk7CisrICAg IGNvbnN0IEFSTUNQUmVnSW5mbyAqcmkgPSB2YWx1ZTsKKyAKKyAgICAgaWYgKCEocmktPnR5cGUg JiAoQVJNX0NQX05PX1JBVyB8IEFSTV9DUF9BTElBUykpKSB7CisgICAgICAgICBjcHUtPmNwcmVn X2FycmF5X2xlbisrOworICAgICB9CisgfQorIAorLXN0YXRpYyBnaW50IGNwcmVnX2tleV9jb21w YXJlKGdjb25zdHBvaW50ZXIgYSwgZ2NvbnN0cG9pbnRlciBiLCBncG9pbnRlciBkKQorLXsKKy0g ICAgdWludDY0X3QgYWlkeCA9IGNwcmVnX3RvX2t2bV9pZCgodWludHB0cl90KWEpOworLSAgICB1 aW50NjRfdCBiaWR4ID0gY3ByZWdfdG9fa3ZtX2lkKCh1aW50cHRyX3QpYik7CistCistICAgIGlm IChhaWR4ID4gYmlkeCkgeworLSAgICAgICAgcmV0dXJuIDE7CistICAgIH0KKy0gICAgaWYgKGFp ZHggPCBiaWR4KSB7CistICAgICAgICByZXR1cm4gLTE7CistICAgIH0KKy0gICAgcmV0dXJuIDA7 CistfQorLQorIHZvaWQgaW5pdF9jcHJlZ19saXN0KEFSTUNQVSAqY3B1KQorIHsKKyAgICAgLyoK KyAgICAgICogSW5pdGlhbGlzZSB0aGUgY3ByZWdfdHVwbGVzW10gYXJyYXkgYmFzZWQgb24gdGhl IGNwX3JlZ3MgaGFzaC4KKyAgICAgICogTm90ZSB0aGF0IHdlIHJlcXVpcmUgY3ByZWdfdHVwbGVz W10gdG8gYmUgc29ydGVkIGJ5IGtleSBJRC4KKyAgICAgICovCistICAgIEdMaXN0ICprZXlzOwor ICAgICBpbnQgYXJyYXlsZW47CisgCistICAgIGtleXMgPSBnX2hhc2hfdGFibGVfZ2V0X2tleXMo Y3B1LT5jcF9yZWdzKTsKKy0gICAga2V5cyA9IGdfbGlzdF9zb3J0X3dpdGhfZGF0YShrZXlzLCBj cHJlZ19rZXlfY29tcGFyZSwgTlVMTCk7CistCisgICAgIGNwdS0+Y3ByZWdfYXJyYXlfbGVuID0g MDsKKy0KKy0gICAgZ19saXN0X2ZvcmVhY2goa2V5cywgY291bnRfY3ByZWcsIGNwdSk7CisrICAg IGdfaGFzaF90YWJsZV9mb3JlYWNoKGNwdS0+Y3BfcmVncywgY291bnRfY3ByZWcsIGNwdSk7Cisg CisgICAgIGFycmF5bGVuID0gY3B1LT5jcHJlZ19hcnJheV9sZW47CistICAgIGNwdS0+Y3ByZWdf aW5kZXhlcyA9IGdfbmV3KHVpbnQ2NF90LCBhcnJheWxlbik7CistICAgIGNwdS0+Y3ByZWdfdmFs dWVzID0gZ19uZXcodWludDY0X3QsIGFycmF5bGVuKTsKKy0gICAgY3B1LT5jcHJlZ192bXN0YXRl X2luZGV4ZXMgPSBnX25ldyh1aW50NjRfdCwgYXJyYXlsZW4pOworLSAgICBjcHUtPmNwcmVnX3Zt c3RhdGVfdmFsdWVzID0gZ19uZXcodWludDY0X3QsIGFycmF5bGVuKTsKKy0gICAgY3B1LT5jcHJl Z192bXN0YXRlX2FycmF5X2xlbiA9IGNwdS0+Y3ByZWdfYXJyYXlfbGVuOworKyAgICBpZiAoYXJy YXlsZW4pIHsKKysgICAgICAgIGNwdS0+Y3ByZWdfaW5kZXhlcyA9IGdfbmV3KHVpbnQ2NF90LCBh cnJheWxlbik7CisrICAgICAgICBjcHUtPmNwcmVnX3ZhbHVlcyA9IGdfbmV3KHVpbnQ2NF90LCBh cnJheWxlbik7CisrICAgICAgICBjcHUtPmNwcmVnX3Ztc3RhdGVfaW5kZXhlcyA9IGdfbmV3KHVp bnQ2NF90LCBhcnJheWxlbik7CisrICAgICAgICBjcHUtPmNwcmVnX3Ztc3RhdGVfdmFsdWVzID0g Z19uZXcodWludDY0X3QsIGFycmF5bGVuKTsKKysgICAgfSBlbHNlIHsKKysgICAgICAgIGNwdS0+ Y3ByZWdfaW5kZXhlcyA9IE5VTEw7CisrICAgICAgICBjcHUtPmNwcmVnX3ZhbHVlcyA9IE5VTEw7 CisrICAgICAgICBjcHUtPmNwcmVnX3Ztc3RhdGVfaW5kZXhlcyA9IE5VTEw7CisrICAgICAgICBj cHUtPmNwcmVnX3Ztc3RhdGVfdmFsdWVzID0gTlVMTDsKKysgICAgfQorKyAgICBjcHUtPmNwcmVn X3Ztc3RhdGVfYXJyYXlfbGVuID0gYXJyYXlsZW47CisgICAgIGNwdS0+Y3ByZWdfYXJyYXlfbGVu ID0gMDsKKyAKKy0gICAgZ19saXN0X2ZvcmVhY2goa2V5cywgYWRkX2NwcmVnX3RvX2xpc3QsIGNw dSk7CisrICAgIGdfaGFzaF90YWJsZV9mb3JlYWNoKGNwdS0+Y3BfcmVncywgYWRkX2NwcmVnX3Rv X2xpc3QsIGNwdSk7CisgCisgICAgIGFzc2VydChjcHUtPmNwcmVnX2FycmF5X2xlbiA9PSBhcnJh eWxlbik7CisgCistICAgIGdfbGlzdF9mcmVlKGtleXMpOworKyAgICBpZiAoYXJyYXlsZW4pIHsK KysgICAgICAgIHFzb3J0KGNwdS0+Y3ByZWdfaW5kZXhlcywgYXJyYXlsZW4sIHNpemVvZih1aW50 NjRfdCksIGNvbXBhcmVfdTY0KTsKKysgICAgfQorIH0KKyAKKyBib29sIGFybV9wYW5fZW5hYmxl ZChDUFVBUk1TdGF0ZSAqZW52KQorLS0gCisyLjUyLjAKKwoKZGlmZiAtLWdpdCBhL2t2bS10YXJn ZXQtYXJtLU1vdmUtY29tcGFyZV91NjQtdG8taGVscGVyLmMucGF0Y2ggYi9rdm0tdGFyZ2V0LWFy bS1Nb3ZlLWNvbXBhcmVfdTY0LXRvLWhlbHBlci5jLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDAwMDAwMDAuLjlkN2ZiNjQKLS0tIC9kZXYvbnVsbAorKysgYi9rdm0tdGFyZ2V0LWFy bS1Nb3ZlLWNvbXBhcmVfdTY0LXRvLWhlbHBlci5jLnBhdGNoCkBAIC0wLDAgKzEsOTAgQEAKK0Zy b20gNzA1Y2JhZjA4MGU4ZmJhOGJkZjZhNTAzMWQ0ZTQzN2M5ZDdiOWJmZSBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKK0Zyb206IEVyaWMgQXVnZXIgPGVyaWMuYXVnZXJAcmVkaGF0LmNvbT4KK0Rh dGU6IE1vbiwgMTEgTWF5IDIwMjYgMTI6MDY6MjQgLTA0MDAKK1N1YmplY3Q6IFtQQVRDSCAwMDIv MTE2XSB0YXJnZXQvYXJtOiBNb3ZlIGNvbXBhcmVfdTY0IHRvIGhlbHBlci5jCitNSU1FLVZlcnNp b246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50 LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK1JILUF1dGhvcjogRXJpYyBBdWdlciA8ZXJpYy5h dWdlckByZWRoYXQuY29tPgorUkgtTWVyZ2VSZXF1ZXN0OiA0ODg6IFtyaGVsLTEwXSBCYWNrcG9y dCBjcm9zcy1rZXJuZWwgbWlncmF0aW9uIGZhaWx1cmUgbWl0aWdhdGlvbiBzZXJpZXMKK1JILUpp cmE6IFJIRUwtMTc0ODU4CitSSC1BY2tlZC1ieTogTW9oYW1tYWRmYWl6IEJhd2EgPE5vbmU+CitS SC1BY2tlZC1ieTogU2ViYXN0aWFuIE90dCA8c2Vib3R0QHJlZGhhdC5jb20+CitSSC1BY2tlZC1i eTogR2F2aW4gU2hhbiA8Z3NoYW5AcmVkaGF0LmNvbT4KK1JILUNvbW1pdDogWzIvMTZdIDQ5N2Zl ZGYwNzZjMGY3OTQ1YmJlNTg0ZWZjMDYwZDcyMzhjNTA4MzcgKGVhdWdlcjEvY2VudG9zLXFlbXUt a3ZtKQorCitXZSB3aWxsIHVzZSB0aGlzIGZ1bmN0aW9uIGJleW9uZCBrdm0uYy4KKworUmV2aWV3 ZWQtYnk6IE1hbm9zIFBpdHNpZGlhbmFraXMgPG1hbm9zLnBpdHNpZGlhbmFraXNAbGluYXJvLm9y Zz4KK1NpZ25lZC1vZmYtYnk6IFJpY2hhcmQgSGVuZGVyc29uIDxyaWNoYXJkLmhlbmRlcnNvbkBs aW5hcm8ub3JnPgorUmV2aWV3ZWQtYnk6IFBoaWxpcHBlIE1hdGhpZXUtRGF1ZMOpIDxwaGlsbWRA bGluYXJvLm9yZz4KK1Rlc3RlZC1ieTogUGhpbGlwcGUgTWF0aGlldS1EYXVkw6kgPHBoaWxtZEBs aW5hcm8ub3JnPgorU2lnbmVkLW9mZi1ieTogUGV0ZXIgTWF5ZGVsbCA8cGV0ZXIubWF5ZGVsbEBs aW5hcm8ub3JnPgorKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgNWE4YWY5NWNiMzExMjJkMmZj ZDJlNmQzNDI3YjhlODQyN2NkOGJkYykKK1NpZ25lZC1vZmYtYnk6IEVyaWMgQXVnZXIgPGVyaWMu YXVnZXJAcmVkaGF0LmNvbT4KKy0tLQorIHRhcmdldC9hcm0vaGVscGVyLmMgICAgfCAxMSArKysr KysrKysrKworIHRhcmdldC9hcm0vaW50ZXJuYWxzLmggfCAgMyArKysKKyB0YXJnZXQvYXJtL2t2 bS5jICAgICAgIHwgMTEgLS0tLS0tLS0tLS0KKyAzIGZpbGVzIGNoYW5nZWQsIDE0IGluc2VydGlv bnMoKyksIDExIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvdGFyZ2V0L2FybS9oZWxwZXIu YyBiL3RhcmdldC9hcm0vaGVscGVyLmMKK2luZGV4IDBjMTI5OWZmODQuLmQyMzBmOWU3NjYgMTAw NjQ0CistLS0gYS90YXJnZXQvYXJtL2hlbHBlci5jCisrKysgYi90YXJnZXQvYXJtL2hlbHBlci5j CitAQCAtNDAsNiArNDAsMTcgQEAKKyAKKyBzdGF0aWMgdm9pZCBzd2l0Y2hfbW9kZShDUFVBUk1T dGF0ZSAqZW52LCBpbnQgbW9kZSk7CisgCisraW50IGNvbXBhcmVfdTY0KGNvbnN0IHZvaWQgKmEs IGNvbnN0IHZvaWQgKmIpCisreworKyAgICBpZiAoKih1aW50NjRfdCAqKWEgPiAqKHVpbnQ2NF90 ICopYikgeworKyAgICAgICAgcmV0dXJuIDE7CisrICAgIH0KKysgICAgaWYgKCoodWludDY0X3Qg KilhIDwgKih1aW50NjRfdCAqKWIpIHsKKysgICAgICAgIHJldHVybiAtMTsKKysgICAgfQorKyAg ICByZXR1cm4gMDsKKyt9CisrCisgdWludDY0X3QgcmF3X3JlYWQoQ1BVQVJNU3RhdGUgKmVudiwg Y29uc3QgQVJNQ1BSZWdJbmZvICpyaSkKKyB7CisgICAgIGFzc2VydChyaS0+ZmllbGRvZmZzZXQp OworZGlmZiAtLWdpdCBhL3RhcmdldC9hcm0vaW50ZXJuYWxzLmggYi90YXJnZXQvYXJtL2ludGVy bmFscy5oCitpbmRleCAxYjNkMDI0NGZkLi4wOGUyYWNkYjk5IDEwMDY0NAorLS0tIGEvdGFyZ2V0 L2FybS9pbnRlcm5hbHMuaAorKysrIGIvdGFyZ2V0L2FybS9pbnRlcm5hbHMuaAorQEAgLTE5ODEs NCArMTk4MSw3IEBAIHZvaWQgdmZwX2NsZWFyX2Zsb2F0X3N0YXR1c19leGNfZmxhZ3MoQ1BVQVJN U3RhdGUgKmVudik7Cisgdm9pZCB2ZnBfc2V0X2ZwY3JfdG9faG9zdChDUFVBUk1TdGF0ZSAqZW52 LCB1aW50MzJfdCB2YWwsIHVpbnQzMl90IG1hc2spOworIGJvb2wgYXJtX3Bhbl9lbmFibGVkKENQ VUFSTVN0YXRlICplbnYpOworIAorKy8qIENvbXBhcmUgdWludDY0X3QgZm9yIHFzb3J0IGFuZCBi c2VhcmNoLiAqLworK2ludCBjb21wYXJlX3U2NChjb25zdCB2b2lkICphLCBjb25zdCB2b2lkICpi KTsKKysKKyAjZW5kaWYKK2RpZmYgLS1naXQgYS90YXJnZXQvYXJtL2t2bS5jIGIvdGFyZ2V0L2Fy bS9rdm0uYworaW5kZXggYzFlYzY2NTRjYS4uNWE3NWZmNTkyNyAxMDA2NDQKKy0tLSBhL3Rhcmdl dC9hcm0va3ZtLmMKKysrKyBiL3RhcmdldC9hcm0va3ZtLmMKK0BAIC03MTgsMTcgKzcxOCw2IEBA IHZvaWQga3ZtX2FybV9yZWdpc3Rlcl9kZXZpY2UoTWVtb3J5UmVnaW9uICptciwgdWludDY0X3Qg ZGV2aWQsIHVpbnQ2NF90IGdyb3VwLAorICAgICBtZW1vcnlfcmVnaW9uX3JlZihrZC0+bXIpOwor IH0KKyAKKy1zdGF0aWMgaW50IGNvbXBhcmVfdTY0KGNvbnN0IHZvaWQgKmEsIGNvbnN0IHZvaWQg KmIpCisteworLSAgICBpZiAoKih1aW50NjRfdCAqKWEgPiAqKHVpbnQ2NF90ICopYikgeworLSAg ICAgICAgcmV0dXJuIDE7CistICAgIH0KKy0gICAgaWYgKCoodWludDY0X3QgKilhIDwgKih1aW50 NjRfdCAqKWIpIHsKKy0gICAgICAgIHJldHVybiAtMTsKKy0gICAgfQorLSAgICByZXR1cm4gMDsK Ky19CistCisgLyoKKyAgKiBjcHJlZ192YWx1ZXMgYXJlIHNvcnRlZCBpbiBhc2NlbmRpbmcgb3Jk ZXIgYnkgS1ZNIHJlZ2lzdGVyIElECisgICogKHNlZSBrdm1fYXJtX2luaXRfY3ByZWdfbGlzdCku IFRoaXMgYWxsb3dzIHVzIHRvIGNoZWFwbHkgZmluZAorLS0gCisyLjUyLjAKKwoKZGlmZiAtLWdp dCBhL2t2bS10YXJnZXQtYXJtLWNwdS1JbnRyb2R1Y2UtdGhlLWluZnJhc3RydWN0dXJlLWZvci1j cHJlLnBhdGNoIGIva3ZtLXRhcmdldC1hcm0tY3B1LUludHJvZHVjZS10aGUtaW5mcmFzdHJ1Y3R1 cmUtZm9yLWNwcmUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWJl NmJkNwotLS0gL2Rldi9udWxsCisrKyBiL2t2bS10YXJnZXQtYXJtLWNwdS1JbnRyb2R1Y2UtdGhl LWluZnJhc3RydWN0dXJlLWZvci1jcHJlLnBhdGNoCkBAIC0wLDAgKzEsMjQ0IEBACitGcm9tIDUx NGYzNmU0ZjM0MTFjNWRjOTZjN2Y3NDJmNTQzZDE2NmVlZGU0MTAgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCitGcm9tOiBFcmljIEF1Z2VyIDxlcmljLmF1Z2VyQHJlZGhhdC5jb20+CitEYXRlOiBN b24sIDIwIEFwciAyMDI2IDE2OjAzOjUxICswMjAwCitTdWJqZWN0OiBbUEFUQ0ggMDEwLzExNl0g dGFyZ2V0L2FybS9jcHU6IEludHJvZHVjZSB0aGUgaW5mcmFzdHJ1Y3R1cmUgZm9yCisgY3ByZWcg bWlncmF0aW9uIHRvbGVyYW5jZXMKKworUkgtQXV0aG9yOiBFcmljIEF1Z2VyIDxlcmljLmF1Z2Vy QHJlZGhhdC5jb20+CitSSC1NZXJnZVJlcXVlc3Q6IDQ4ODogW3JoZWwtMTBdIEJhY2twb3J0IGNy b3NzLWtlcm5lbCBtaWdyYXRpb24gZmFpbHVyZSBtaXRpZ2F0aW9uIHNlcmllcworUkgtSmlyYTog UkhFTC0xNzQ4NTgKK1JILUFja2VkLWJ5OiBNb2hhbW1hZGZhaXogQmF3YSA8Tm9uZT4KK1JILUFj a2VkLWJ5OiBTZWJhc3RpYW4gT3R0IDxzZWJvdHRAcmVkaGF0LmNvbT4KK1JILUFja2VkLWJ5OiBH YXZpbiBTaGFuIDxnc2hhbkByZWRoYXQuY29tPgorUkgtQ29tbWl0OiBbMTAvMTZdIDcxYmJmOGI2 ZGYyYzAyZGU2MzQ5MzQzMDQwZjdlZGI4MjcxNjFmNGMgKGVhdWdlcjEvY2VudG9zLXFlbXUta3Zt KQorCitDb25mbGljdHM6IGNvbnRleHR1YWwgY29uZmxpY3QgaW4gdGFyZ2V0L2FybS9pbnRlcm5h bHMuaCBhcyB3ZSBkb24ndAoraGF2ZSAjZGVmaW5lIE1FQ0lEX1dJRFRIIDE2IGludHJvZHVjZWQg YnkgY29tbWl0Cis3MDBmMDhkNTgyOWYgKCJ0YXJnZXQvYXJtOiBJbXBsZW1lbnQgRkVBVF9NRUMg cmVnaXN0ZXJzIikKKworV2UgaW50cm9kdWNlIGEgZGF0YXR5cGUgZm9yIGEgdG9sZXJhbmNlIHdp dGggcmVzcGVjdCB0byBhIGdpdmVuCitjcHJlZyBtaWdyYXRpb24gaXNzdWUuIFRoZSB0b2xlcmFu Y2UgYXBwbGllcyB0byBhIGdpdmVuIGNwcmVnIGt2bSBpbmRleCwKK2FuZCBjYW4gYmUgb2YgZGlm ZmVyZW50IHR5cGVzOgorYSkgbWlzbWF0Y2ggaW4gY3ByZWcgaW5kZXhlcworLSBUb2xlcmFuY2VO b3RPbkJvdGhFbmRzIChjcHJlZyBpbmRleCBpcyBhbGxvd2VkIHRvIGJlIG9ubHkgcHJlc2VudAor ICBvbiBvbmUgZW5kKQorLSBUb2xlcmFuY2VPbmx5U3JjVGVzdFZhbHVlIChjcHJlZyBpbmRleCBp cyBhbGxvd2VkIHRvIGJlIG9ubHkKKyAgcHJlc2VudCBpbiBzb3VyY2UgaWYgaXRzIHZhbHVlIEBt YXNrIGZpZWxkIG1hdGNoZXMgQHZhbHVlKQorYikgbWlzbWF0Y2ggaW4gY3ByZWcgdmFsdWVzCist IFRvbGVyYW5jZURpZmZJbk1hc2sgKHZhbHVlIGRpZmZlcmVuY2VzIGFyZSBhbGxvd2VkIG9ubHkg d2l0aGluIGEgbWFzaykKKy0gVG9sZXJhbmNlRmllbGRMVCAoaW5jb21pbmcgZmllbGQgdmFsdWUg bXVzdCBiZSBsZXNzIHRoYW4gYSBnaXZlbiB2YWx1ZSkKKy0gVG9sZXJhbmNlRmllbGRHVCAoaW5j b21pbmcgZmllbGQgdmFsdWUgbXVzdCBiZSBncmVhdGVyIHRoYW4gYSBnaXZlbiB2YWx1ZSkKKwor QSBRTElTVCBvZiBzdWNoIHRvbGVyYW5jZXMgY2FuIGJlIHBvcHVsYXRlZCB1c2luZyBhIG5ldyBo ZWxwZXI6Cithcm1fcmVnaXN0ZXJfY3ByZWdfbWlnX3RvbGVyYW5jZSgpIGFuZCBhcm1fY3B1X21h dGNoX2NwcmVnX21pZ190b2xlcmFuY2UoKQorYWxsb3dzIHRvIGNoZWNrIHdoZXRoZXIgYSB0b2xl cmFuY2UgZXhpc3RzIGZvciBhIGdpdmVuIGt2bSBpbmRleCBhbmQgaXRzCitjcml0ZXJpb24gaXMg bWF0Y2hlZC4KKworY2FsbGVycyBmb3IgdGhvc2UgaGVscGVycyB3aWxsIGJlIGludHJvZHVjZWQg aW4gc3Vic2VxdWVudCBwYXRjaGVzLgorCitPbmx5IHJlZ2lzdHJhdGlvbiBvZiBtaWdyYXRpb24g dG9sZXJhbmNlcyByZWxhdGVkIHRvIGNwcmVnIGluZGV4CittaXNtYXRjaCBpcyBjdXJyZW50bHkg YWxsb3dlZC4KKworU2lnbmVkLW9mZi1ieTogRXJpYyBBdWdlciA8ZXJpYy5hdWdlckByZWRoYXQu Y29tPgorTWVzc2FnZS1pZDogMjAyNjA0MjAxNDA1NTIuMTA0MzY5LTItZXJpYy5hdWdlckByZWRo YXQuY29tCitTaWduZWQtb2ZmLWJ5OiBQZXRlciBNYXlkZWxsIDxwZXRlci5tYXlkZWxsQGxpbmFy by5vcmc+CitSZXZpZXdlZC1ieTogUGV0ZXIgTWF5ZGVsbCA8cGV0ZXIubWF5ZGVsbEBsaW5hcm8u b3JnPgorKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgYmIzNmJlNmZkNzk5YzRmZGIyYWM4OTNj ZmFiN2YzMDdjMTI1MjdmMikKK1NpZ25lZC1vZmYtYnk6IEVyaWMgQXVnZXIgPGVyaWMuYXVnZXJA cmVkaGF0LmNvbT4KKy0tLQorIHRhcmdldC9hcm0vY3B1LmMgICAgICAgfCA4MiArKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKKyB0YXJnZXQvYXJtL2NwdS5oICAgICAg IHwgIDEgKworIHRhcmdldC9hcm0vaW50ZXJuYWxzLmggfCA1MyArKysrKysrKysrKysrKysrKysr KysrKysrKysKKyAzIGZpbGVzIGNoYW5nZWQsIDEzNiBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1n aXQgYS90YXJnZXQvYXJtL2NwdS5jIGIvdGFyZ2V0L2FybS9jcHUuYworaW5kZXggZTJiMjMzNzM5 OS4uOWY3OTM4ZDhmYSAxMDA2NDQKKy0tLSBhL3RhcmdldC9hcm0vY3B1LmMKKysrKyBiL3Rhcmdl dC9hcm0vY3B1LmMKK0BAIC0xNzIsNiArMTcyLDgyIEBAIHZvaWQgYXJtX3JlZ2lzdGVyX2VsX2No YW5nZV9ob29rKEFSTUNQVSAqY3B1LCBBUk1FTENoYW5nZUhvb2tGbiAqaG9vaywKKyAgICAgUUxJ U1RfSU5TRVJUX0hFQUQoJmNwdS0+ZWxfY2hhbmdlX2hvb2tzLCBlbnRyeSwgbm9kZSk7CisgfQor IAorK3N0YXRpYyBBUk1DUFJlZ01pZ1RvbGVyYW5jZSAqZmluZF9taWdfdG9sZXJhbmNlKEFSTUNQ VSAqY3B1LCB1aW50NjRfdCBrdm1pZHgpCisreworKyAgICBBUk1DUFJlZ01pZ1RvbGVyYW5jZSAq dDsKKysgICAgUUxJU1RfRk9SRUFDSCh0LCAmY3B1LT5jcHJlZ19taWdfdG9sZXJhbmNlcywgbm9k ZSkgeworKyAgICAgICAgaWYgKHQtPmt2bWlkeCA9PSBrdm1pZHgpICB7CisrICAgICAgICAgICAg cmV0dXJuIHQ7CisrICAgICAgICB9CisrICAgIH0KKysgICAgcmV0dXJuIE5VTEw7CisrfQorKwor K3ZvaWQgYXJtX3JlZ2lzdGVyX2NwcmVnX21pZ190b2xlcmFuY2UoQVJNQ1BVICpjcHUsIHVpbnQ2 NF90IGt2bWlkeCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ2 NF90IG1hc2ssIHVpbnQ2NF90IHZhbHVlLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgQVJNQ1BSZWdNaWdUb2xlcmFuY2VUeXBlIHR5cGUpCisreworKyAgICBBUk1DUFJl Z01pZ1RvbGVyYW5jZSAqZW50cnk7CisrCisrICAgIC8qIG1ha2Ugc3VyZSB0aGUga3ZtaWR4IGhh cyBub3QgdG9sZXJhbmNlIGFscmVhZHkgcmVnaXN0ZXJlZCAqLworKyAgICBhc3NlcnQoIWZpbmRf bWlnX3RvbGVyYW5jZShjcHUsIGt2bWlkeCkpOworKworKyAgICBhc3NlcnQodHlwZSA9PSBUb2xl cmFuY2VOb3RPbkJvdGhFbmRzIHx8CisrICAgICAgICAgICB0eXBlID09IFRvbGVyYW5jZU9ubHlT cmNUZXN0VmFsdWUpOworKworKyAgICBlbnRyeSA9IGdfbmV3MChBUk1DUFJlZ01pZ1RvbGVyYW5j ZSwgMSk7CisrCisrICAgIGVudHJ5LT5rdm1pZHggPSBrdm1pZHg7CisrICAgIGVudHJ5LT5tYXNr ID0gbWFzazsKKysgICAgZW50cnktPnZhbHVlID0gdmFsdWU7CisrICAgIGVudHJ5LT50eXBlID0g dHlwZTsKKysKKysgICAgUUxJU1RfSU5TRVJUX0hFQUQoJmNwdS0+Y3ByZWdfbWlnX3RvbGVyYW5j ZXMsIGVudHJ5LCBub2RlKTsKKyt9CisrCisrYm9vbCBhcm1fY3B1X21hdGNoX2NwcmVnX21pZ190 b2xlcmFuY2UoQVJNQ1BVICpjcHUsIHVpbnQ2NF90IGt2bWlkeCwKKysgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB1aW50NjRfdCB2bXN0YXRlX3ZhbHVlLCB1aW50NjRfdCBs b2NhbF92YWx1ZSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUk1D UFJlZ01pZ1RvbGVyYW5jZVR5cGUgdHlwZSkKKyt7CisrICAgIEFSTUNQUmVnTWlnVG9sZXJhbmNl ICp0ID0gZmluZF9taWdfdG9sZXJhbmNlKGNwdSwga3ZtaWR4KTsKKysgICAgdWludDY0X3QgZGlm ZiwgZGlmZl9vdXRzaWRlX21hc2ssIGZpZWxkOworKworKyAgICBpZiAoIXQgfHwgdC0+dHlwZSAh PSB0eXBlKSB7CisrICAgICAgICByZXR1cm4gZmFsc2U7CisrICAgIH0KKysKKysgICAgaWYgKHR5 cGUgPT0gVG9sZXJhbmNlTm90T25Cb3RoRW5kcykgeworKyAgICAgICAgcmV0dXJuIHRydWU7Cisr ICAgIH0KKysKKysgICAgaWYgKHR5cGUgPT0gVG9sZXJhbmNlT25seVNyY1Rlc3RWYWx1ZSAmJgor KyAgICAgICAgKCh2bXN0YXRlX3ZhbHVlICYgdC0+bWFzaykgPT0gdC0+dmFsdWUpKSB7CisrICAg ICAgICByZXR1cm4gdHJ1ZTsKKysgICAgfQorKworKyAgICAvKiBOZWVkIHRvIGNoZWNrIHRoZSBt YXNrICovCisrICAgIGRpZmYgPSB2bXN0YXRlX3ZhbHVlIF4gbG9jYWxfdmFsdWU7CisrICAgIGRp ZmZfb3V0c2lkZV9tYXNrID0gZGlmZiAmIH50LT5tYXNrOworKworKyAgICBpZiAoZGlmZl9vdXRz aWRlX21hc2spIHsKKysgICAgICAgIC8qIHRoZXJlIGFyZSBkaWZmZXJlbmNlcyBvdXRzaWRlIG9m IHRoZSBtYXNrICovCisrICAgICAgICByZXR1cm4gZmFsc2U7CisrICAgIH0KKysgICAgaWYgKHR5 cGUgPT0gVG9sZXJhbmNlRGlmZkluTWFzaykgeworKyAgICAgICAgLyogZGlmZmVyZW5jZXMgb25s eSBpbiB0aGUgZmllbGQsIHRvbGVyYW5jZSBtYXRjaGVkICovCisrICAgICAgICByZXR1cm4gdHJ1 ZTsKKysgICAgfQorKyAgICAvKiBuZWVkIHRvIGNvbXBhcmUgZmllbGQgdmFsdWUgYWdhaW5zdCBh dXRob3JpemVkIG9uZXMgKi8KKysgICAgZmllbGQgPSB2bXN0YXRlX3ZhbHVlICYgdC0+bWFzazsK KysgICAgaWYgKHR5cGUgPT0gVG9sZXJhbmNlRmllbGRMVCAmJiAoZmllbGQgPCB0LT52YWx1ZSkp IHsKKysgICAgICAgIHJldHVybiB0cnVlOworKyAgICB9CisrICAgIGlmICh0eXBlID09IFRvbGVy YW5jZUZpZWxkR1QgJiYgKGZpZWxkID4gdC0+dmFsdWUpKSB7CisrICAgICAgICByZXR1cm4gdHJ1 ZTsKKysgICAgfQorKyAgICByZXR1cm4gZmFsc2U7CisrfQorKworIHN0YXRpYyB2b2lkIGNwX3Jl Z19yZXNldChncG9pbnRlciBrZXksIGdwb2ludGVyIHZhbHVlLCBncG9pbnRlciBvcGFxdWUpCisg eworICAgICAvKiBSZXNldCBhIHNpbmdsZSBBUk1DUFJlZ0luZm8gcmVnaXN0ZXIgKi8KK0BAIC0x NDU1LDYgKzE1MzEsNyBAQCBzdGF0aWMgdm9pZCBhcm1fY3B1X2luaXRmbihPYmplY3QgKm9iaikK KyAKKyAgICAgUUxJU1RfSU5JVCgmY3B1LT5wcmVfZWxfY2hhbmdlX2hvb2tzKTsKKyAgICAgUUxJ U1RfSU5JVCgmY3B1LT5lbF9jaGFuZ2VfaG9va3MpOworKyAgICBRTElTVF9JTklUKCZjcHUtPmNw cmVnX21pZ190b2xlcmFuY2VzKTsKKyAKKyAjaWZkZWYgQ09ORklHX1VTRVJfT05MWQorICMgaWZk ZWYgVEFSR0VUX0FBUkNINjQKK0BAIC0xODk1LDYgKzE5NzIsNyBAQCBzdGF0aWMgdm9pZCBhcm1f Y3B1X2ZpbmFsaXplZm4oT2JqZWN0ICpvYmopCisgeworICAgICBBUk1DUFUgKmNwdSA9IEFSTV9D UFUob2JqKTsKKyAgICAgQVJNRUxDaGFuZ2VIb29rICpob29rLCAqbmV4dDsKKysgICAgQVJNQ1BS ZWdNaWdUb2xlcmFuY2UgKnQsICpuOworIAorICAgICBnX2hhc2hfdGFibGVfZGVzdHJveShjcHUt PmNwX3JlZ3MpOworIAorQEAgLTE5MDYsNiArMTk4NCwxMCBAQCBzdGF0aWMgdm9pZCBhcm1fY3B1 X2ZpbmFsaXplZm4oT2JqZWN0ICpvYmopCisgICAgICAgICBRTElTVF9SRU1PVkUoaG9vaywgbm9k ZSk7CisgICAgICAgICBnX2ZyZWUoaG9vayk7CisgICAgIH0KKysgICAgUUxJU1RfRk9SRUFDSF9T QUZFKHQsICZjcHUtPmNwcmVnX21pZ190b2xlcmFuY2VzLCBub2RlLCBuKSB7CisrICAgICAgICBR TElTVF9SRU1PVkUodCwgbm9kZSk7CisrICAgICAgICBnX2ZyZWUodCk7CisrICAgIH0KKyAjaWZu ZGVmIENPTkZJR19VU0VSX09OTFkKKyAgICAgaWYgKGNwdS0+cG11X3RpbWVyKSB7CisgICAgICAg ICB0aW1lcl9mcmVlKGNwdS0+cG11X3RpbWVyKTsKK2RpZmYgLS1naXQgYS90YXJnZXQvYXJtL2Nw dS5oIGIvdGFyZ2V0L2FybS9jcHUuaAoraW5kZXggZGMwZGE4YjBhZS4uZTVkYmM1YTNmOSAxMDA2 NDQKKy0tLSBhL3RhcmdldC9hcm0vY3B1LmgKKysrKyBiL3RhcmdldC9hcm0vY3B1LmgKK0BAIC0x MTI2LDYgKzExMjYsNyBAQCBzdHJ1Y3QgQXJjaENQVSB7CisgCisgICAgIFFMSVNUX0hFQUQoLCBB Uk1FTENoYW5nZUhvb2spIHByZV9lbF9jaGFuZ2VfaG9va3M7CisgICAgIFFMSVNUX0hFQUQoLCBB Uk1FTENoYW5nZUhvb2spIGVsX2NoYW5nZV9ob29rczsKKysgICAgUUxJU1RfSEVBRCgsIEFSTUNQ UmVnTWlnVG9sZXJhbmNlKSBjcHJlZ19taWdfdG9sZXJhbmNlczsKKyAKKyAgICAgaW50MzJfdCBu b2RlX2lkOyAvKiBOVU1BIG5vZGUgdGhpcyBDUFUgYmVsb25ncyB0byAqLworIAorZGlmZiAtLWdp dCBhL3RhcmdldC9hcm0vaW50ZXJuYWxzLmggYi90YXJnZXQvYXJtL2ludGVybmFscy5oCitpbmRl eCAwOGUyYWNkYjk5Li5iODQ0NGFhOGFiIDEwMDY0NAorLS0tIGEvdGFyZ2V0L2FybS9pbnRlcm5h bHMuaAorKysrIGIvdGFyZ2V0L2FybS9pbnRlcm5hbHMuaAorQEAgLTE5ODQsNCArMTk4NCw1NyBA QCBib29sIGFybV9wYW5fZW5hYmxlZChDUFVBUk1TdGF0ZSAqZW52KTsKKyAvKiBDb21wYXJlIHVp bnQ2NF90IGZvciBxc29ydCBhbmQgYnNlYXJjaC4gKi8KKyBpbnQgY29tcGFyZV91NjQoY29uc3Qg dm9pZCAqYSwgY29uc3Qgdm9pZCAqYik7CisgCisrdHlwZWRlZiBlbnVtIHsKKysgICAgVG9sZXJh bmNlTm90T25Cb3RoRW5kcywKKysgICAgVG9sZXJhbmNlT25seVNyY1Rlc3RWYWx1ZSwKKysgICAg VG9sZXJhbmNlRGlmZkluTWFzaywKKysgICAgVG9sZXJhbmNlRmllbGRMVCwKKysgICAgVG9sZXJh bmNlRmllbGRHVCwKKyt9IEFSTUNQUmVnTWlnVG9sZXJhbmNlVHlwZTsKKysKKyt0eXBlZGVmIHN0 cnVjdCBBUk1DUFJlZ01pZ1RvbGVyYW5jZSB7CisrICAgIHVpbnQ2NF90IGt2bWlkeDsKKysgICAg dWludDY0X3QgbWFzazsKKysgICAgdWludDY0X3QgdmFsdWU7CisrICAgIEFSTUNQUmVnTWlnVG9s ZXJhbmNlVHlwZSB0eXBlOworKyAgICBRTElTVF9FTlRSWShBUk1DUFJlZ01pZ1RvbGVyYW5jZSkg bm9kZTsKKyt9IEFSTUNQUmVnTWlnVG9sZXJhbmNlOworKworKy8qKgorKyAqIGFybV9yZWdpc3Rl cl9jcHJlZ19taWdfdG9sZXJhbmNlOgorKyAqIFJlZ2lzdGVyIGEgbWlncmF0aW9uIHRvbGVyYW5j ZSB3cnQgb25lIGdpdmVuIGNwcmVnIGlkZW50aWZpZWQgYnkgaXRzCisrICogQGt2bWlkeC4gQ2Fs bGluZyB0aGlzIGZ1bmN0aW9uIHR3aWNlIGZvciB0aGUgc2FtZSBAa3ZtaWR4IGlzIGEKKysgKiBw cm9ncmFtbWluZyBlcnJvciBhbmQgd2lsbCBjYXVzZSBhbiBhc3NlcnRpb24gZmFpbHVyZS4KKysg KgorKyAqIEBjcHU6IHZjcHUgdG8gYXBwbHkgdGhlIG1pZ3JhdGlvbiB0b2xlcmFuY2Ugb24KKysg KiBAa3ZtaWR4OiBrdm0gaW5kZXggb2YgdGhlIGNwcmVnIHRoZSB0b2xlcmFuY2UgYXBwbGllcyB0 bworKyAqIEBtYXNrOiBiaXRtYXNrIHdoZXJlIGEgZGlmZmVyZW5jZSBpcyB0b2xlcmF0ZWQKKysg KiAgICAgICAgKHJlbGV2YW50IHdpdGggVG9sZXJhbmNlRGlmZkluTWFzaykKKysgKiBAdmFsdWU6 IHZhbHVlIHRoZSBiaXRtYXNrIGZpZWxkIGlzIGNvbXBhcmVkIHdpdGgKKysgKiAgICAgICAgKHJl bGV2YW50IHdpdGggVG9sZXJhbmNlRmllbGRMVCBhbmQgVG9sZXJhbmNlRmllbGRHVCkKKysgKiBA dHlwZTogdHlwZSBvZiB0aGUgbWlncmF0aW9uIHRvbGVyYW5jZToKKysgKiAtIFRvbGVyYW5jZU5v dE9uQm90aEVuZHMgKGNwcmVnIGluZGV4IGlzIGFsbG93ZWQgdG8gYmUgb25seSBwcmVzZW50Cisr ICogICBvbiBvbmUgZW5kKQorKyAqIC0gVG9sZXJhbmNlT25seVNyY1Rlc3RWYWx1ZSAoY3ByZWcg aW5kZXggaXMgYWxsb3dlZCB0byBiZSBvbmx5CisrICogICBwcmVzZW50IGluIHNvdXJjZSBpZiBp dHMgdmFsdWUgQG1hc2sgZmllbGQgbWF0Y2hlcyBAdmFsdWUpCisrICogLSBUb2xlcmFuY2VEaWZm SW5NYXNrIChtaXNtYXRjaCBpbiBjcHJlZyB2YWx1ZXMgYXJlIG9ubHkgdG9sZXJhdGVkCisrICog ICBpZiBkaWZmZXJlbmNlcyBhcmUgd2l0aGluIEBtYXNrKQorKyAqIC0gVG9sZXJhbmNlRmllbGRM VCAobWlzbWF0Y2ggaW4gY3ByZWcgdmFsdWVzIGFyZSBvbmx5IHRvbGVyYXRlZAorKyAqICAgaWYg aW5jb21pbmcgQGJpdG1hc2sgZmllbGQgdmFsdWUgaXMgbGVzcyB0aGFuIEB2YWx1ZSkKKysgKiAt IFRvbGVyYW5jZUZpZWxkR1QgKG1pc21hdGNoIGluIGNwcmVnIHZhbHVlcyBhcmUgb25seSB0b2xl cmF0ZWQKKysgKiAgIGlmIGluY29taW5nIEBiaXRtYXNrIGZpZWxkIHZhbHVlIGlzIGdyZWF0ZXIg dGhhbiBAdmFsdWUpCisrICovCisrdm9pZCBhcm1fcmVnaXN0ZXJfY3ByZWdfbWlnX3RvbGVyYW5j ZShBUk1DUFUgKmNwdSwgdWludDY0X3Qga3ZtaWR4LAorKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgdWludDY0X3QgbWFzaywgdWludDY0X3QgdmFsdWUsCisrICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBUk1DUFJlZ01pZ1RvbGVyYW5jZVR5cGUgdHlw ZSk7CisrCisrLyoqCisrICogYXJtX2NwdV9tYXRjaF9jcHJlZ19taWdfdG9sZXJhbmNlOgorKyAq IENoZWNrIHdoZXRoZXIgYSB0b2xlcmFuY2Ugb2YgdHlwZSBAdHlwZSBleGlzdHMgZm9yIGEgZ2l2 ZW4gQGt2bWlkeAorKyAqIGFuZCB0aGUgdG9sZXJhbmNlIGNyaXRlcmlvbiBpcyBzYXRpc2ZpZWQK KysgKi8KKytib29sIGFybV9jcHVfbWF0Y2hfY3ByZWdfbWlnX3RvbGVyYW5jZShBUk1DUFUgKmNw dSwgdWludDY0X3Qga3ZtaWR4LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHVpbnQ2NF90IHZtc3RhdGVfdmFsdWUsIHVpbnQ2NF90IGxvY2FsX3ZhbHVlLAorKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFSTUNQUmVnTWlnVG9sZXJhbmNlVHlw ZSB0eXBlKTsKKysKKyAjZW5kaWYKKy0tIAorMi41Mi4wCisKCmRpZmYgLS1naXQgYS9rdm0tdGFy Z2V0LWFybS1jcHU2NC1EZWZpbmUtY3ByZWctbWlncmF0aW9uLXRvbGVyYW5jZS1mby5wYXRjaCBi L2t2bS10YXJnZXQtYXJtLWNwdTY0LURlZmluZS1jcHJlZy1taWdyYXRpb24tdG9sZXJhbmNlLWZv LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZlNjliMjcKLS0tIC9k ZXYvbnVsbAorKysgYi9rdm0tdGFyZ2V0LWFybS1jcHU2NC1EZWZpbmUtY3ByZWctbWlncmF0aW9u LXRvbGVyYW5jZS1mby5wYXRjaApAQCAtMCwwICsxLDU4IEBACitGcm9tIDZkMDE3NTBkNTY4MzIw YWRkYTNlNzllMzBmODgxYmQwMjg5MDg5MGEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9t OiBFcmljIEF1Z2VyIDxlcmljLmF1Z2VyQHJlZGhhdC5jb20+CitEYXRlOiBNb24sIDIwIEFwciAy MDI2IDE2OjAzOjU1ICswMjAwCitTdWJqZWN0OiBbUEFUQ0ggMDE0LzExNl0gdGFyZ2V0L2FybS9j cHU2NDogRGVmaW5lIGNwcmVnIG1pZ3JhdGlvbiB0b2xlcmFuY2UKKyBmb3IgS1ZNX1JFR19BUk1f VkVORE9SX0hZUF9CTUFQXzIKKworUkgtQXV0aG9yOiBFcmljIEF1Z2VyIDxlcmljLmF1Z2VyQHJl ZGhhdC5jb20+CitSSC1NZXJnZVJlcXVlc3Q6IDQ4ODogW3JoZWwtMTBdIEJhY2twb3J0IGNyb3Nz LWtlcm5lbCBtaWdyYXRpb24gZmFpbHVyZSBtaXRpZ2F0aW9uIHNlcmllcworUkgtSmlyYTogUkhF TC0xNzQ4NTgKK1JILUFja2VkLWJ5OiBNb2hhbW1hZGZhaXogQmF3YSA8Tm9uZT4KK1JILUFja2Vk LWJ5OiBTZWJhc3RpYW4gT3R0IDxzZWJvdHRAcmVkaGF0LmNvbT4KK1JILUFja2VkLWJ5OiBHYXZp biBTaGFuIDxnc2hhbkByZWRoYXQuY29tPgorUkgtQ29tbWl0OiBbMTQvMTZdIDIyODk2MzNkZDJl YWRiZGUyZTU3YTE5ZGE0MjU5ZmE3YzdjMDAwMTMgKGVhdWdlcjEvY2VudG9zLXFlbXUta3ZtKQor CitLVk1fUkVHX0FSTV9WRU5ET1JfSFlQX0JNQVBfMiBwc2V1ZG8gRlcgcmVnaXN0ZXIgaXMgZXhw b3NlZAorZnJvbSB2Ni4xNSBvbndhcmRzLiBCYWNrd2FyZCBtaWdyYXRpb24gZnJvbSBhID49IHY2 LjE1IHRvIGFuIG9sZGVyCitrZXJuZWwgd291bGQgZmFpbCB3aXRob3V0IGNwcmVnIG1pZ3JhdGlv biB0b2xlcmFuY2UgZGVmaW5pdGlvbgorZm9yIHRoaXMgcmVnaXN0ZXIuIElmIHRoZSByZWdpc3Rl ciBpcyBwcmVzZW50IG9uIHNvdXJjZSBidXQgbm90CitvbiBkZXN0aW5hdGlvbiwgaXRzIHZhbHVl IG11c3QgYmUgY2hlY2tlZCB0byBtYWtlIHN1cmUgaXQgbWF0Y2hlcwordGhlIHJlc2V0IHZhbHVl LCBpZS4gMCwgbWVhbmluZyBubyBzZXJ2aWNlIGlzIGV4cG9zZWQgdG8gdGhlIGd1ZXN0LAoraGVu Y2UgdGhlIGNob2ljZSBvZiBhIFRvbGVyYW5jZU9ubHlTcmNUZXN0VmFsdWUgbWlncmF0aW9uCit0 b2xlcmFuY2UuCisKK1NpZ25lZC1vZmYtYnk6IEVyaWMgQXVnZXIgPGVyaWMuYXVnZXJAcmVkaGF0 LmNvbT4KK1Jldmlld2VkLWJ5OiBQZXRlciBNYXlkZWxsIDxwZXRlci5tYXlkZWxsQGxpbmFyby5v cmc+CitNZXNzYWdlLWlkOiAyMDI2MDQyMDE0MDU1Mi4xMDQzNjktNi1lcmljLmF1Z2VyQHJlZGhh dC5jb20KK1NpZ25lZC1vZmYtYnk6IFBldGVyIE1heWRlbGwgPHBldGVyLm1heWRlbGxAbGluYXJv Lm9yZz4KKyhjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDZkZDhiZTMxZjhmYmJlYmE2NWE4MGIx ZTk2YzczMzE4ODZjNmY2ZDUpCitTaWduZWQtb2ZmLWJ5OiBFcmljIEF1Z2VyIDxlcmljLmF1Z2Vy QHJlZGhhdC5jb20+CistLS0KKyB0YXJnZXQvYXJtL2NwdTY0LmMgfCAxMSArKysrKysrKysrKwor IDEgZmlsZSBjaGFuZ2VkLCAxMSBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS90YXJnZXQv YXJtL2NwdTY0LmMgYi90YXJnZXQvYXJtL2NwdTY0LmMKK2luZGV4IDgyMGQyNTQyZmEuLjk4ZDlm MzQ1NTAgMTAwNjQ0CistLS0gYS90YXJnZXQvYXJtL2NwdTY0LmMKKysrKyBiL3RhcmdldC9hcm0v Y3B1NjQuYworQEAgLTc4Niw2ICs3ODYsMTcgQEAgc3RhdGljIHZvaWQga3ZtX2FybV9zZXRfY3By ZWdfbWlnX3RvbGVyYW5jZXMoQVJNQ1BVICpjcHUpCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDAsIDAsIFRvbGVyYW5jZU5vdE9uQm90aEVuZHMpOworICAgICBhcm1fcmVn aXN0ZXJfY3ByZWdfbWlnX3RvbGVyYW5jZShjcHUsIEFSTTY0X1NZU19SRUcoMywgMCwgMTAsIDIs IDMpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLCAwLCBUb2xlcmFu Y2VOb3RPbkJvdGhFbmRzKTsKKysKKysgICAgLyoKKysgICAgICogS1ZNX1JFR19BUk1fVkVORE9S X0hZUF9CTUFQXzIgcHNldWRvIEZXIHJlZ2lzdGVyIGlzIGV4cG9zZWQKKysgICAgICogZnJvbSB2 Ni4xNSBvbndhcmRzLiBCYWNrd2FyZCBtaWdyYXRpb24gZnJvbSBhID49IHY2LjE1IHRvIGFuIG9s ZGVyCisrICAgICAqIGtlcm5lbCB3b3VsZCBmYWlsIHdpdGhvdXQgY3ByZWcgbWlncmF0aW9uIHRv bGVyYW5jZSBkZWZpbml0aW9uLgorKyAgICAgKiBJZiB0aGUgcmVnaXN0ZXIgaXMgcHJlc2VudCBv biBzb3VyY2UgYnV0IG5vdCBvbiBkZXN0aW5hdGlvbiwgbWFrZQorKyAgICAgKiBzdXJlIGl0IGhh cyBpdHMgcmVzZXQgdmFsdWUsIGllLiAwLCBtZWFuaW5nIG5vIHNlcnZpY2UgaXMgZXhwb3NlZAor KyAgICAgKiB0byB0aGUgZ3Vlc3QuCisrICAgICAqLworKyAgICBhcm1fcmVnaXN0ZXJfY3ByZWdf bWlnX3RvbGVyYW5jZShjcHUsIEtWTV9SRUdfQVJNX0ZXX0ZFQVRfQk1BUF9SRUcoMyksCisrICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVJTlQ2NF9NQVgsIDAsIFRvbGVyYW5j ZU9ubHlTcmNUZXN0VmFsdWUpOworIH0KKyAjZW5kaWYKKyAKKy0tIAorMi41Mi4wCisKCmRpZmYg LS1naXQgYS9rdm0tdGFyZ2V0LWFybS1jcHU2NC1NaXRpZ2F0ZS1taWdyYXRpb24tZmFpbHVyZXMt ZHVlLXRvLS5wYXRjaCBiL2t2bS10YXJnZXQtYXJtLWNwdTY0LU1pdGlnYXRlLW1pZ3JhdGlvbi1m YWlsdXJlcy1kdWUtdG8tLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu LjAzM2JiNzgKLS0tIC9kZXYvbnVsbAorKysgYi9rdm0tdGFyZ2V0LWFybS1jcHU2NC1NaXRpZ2F0 ZS1taWdyYXRpb24tZmFpbHVyZXMtZHVlLXRvLS5wYXRjaApAQCAtMCwwICsxLDkxIEBACitGcm9t IDE4YzM4ODA0Y2E2ODg0OTRjMzk2OWYxMjVkZmYwOTAxMzYwOGU2NzMgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCitGcm9tOiBFcmljIEF1Z2VyIDxlcmljLmF1Z2VyQHJlZGhhdC5jb20+CitEYXRl OiBNb24sIDIwIEFwciAyMDI2IDE2OjAzOjU0ICswMjAwCitTdWJqZWN0OiBbUEFUQ0ggMDEzLzEx Nl0gdGFyZ2V0L2FybS9jcHU2NDogTWl0aWdhdGUgbWlncmF0aW9uIGZhaWx1cmVzIGR1ZSB0bwor IHNwdXJpb3VzIFRDUl9FTDEsIFBJUkUwX0VMMSBhbmQgUElSX0VMMQorTUlNRS1WZXJzaW9uOiAx LjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFu c2Zlci1FbmNvZGluZzogOGJpdAorCitSSC1BdXRob3I6IEVyaWMgQXVnZXIgPGVyaWMuYXVnZXJA cmVkaGF0LmNvbT4KK1JILU1lcmdlUmVxdWVzdDogNDg4OiBbcmhlbC0xMF0gQmFja3BvcnQgY3Jv c3Mta2VybmVsIG1pZ3JhdGlvbiBmYWlsdXJlIG1pdGlnYXRpb24gc2VyaWVzCitSSC1KaXJhOiBS SEVMLTE3NDg1OAorUkgtQWNrZWQtYnk6IE1vaGFtbWFkZmFpeiBCYXdhIDxOb25lPgorUkgtQWNr ZWQtYnk6IFNlYmFzdGlhbiBPdHQgPHNlYm90dEByZWRoYXQuY29tPgorUkgtQWNrZWQtYnk6IEdh dmluIFNoYW4gPGdzaGFuQHJlZGhhdC5jb20+CitSSC1Db21taXQ6IFsxMy8xNl0gOTA4NTcyMTBk N2E5MTUzNTFjNjM3NzU2NjUwMDcxZmY0NGY4ZDM3OCAoZWF1Z2VyMS9jZW50b3MtcWVtdS1rdm0p CisKK0NvbmZsaWN0czogY29udGV4dHVhbCBjb25mbGljdCBpbiB0YXJnZXQvYXJtL2NwdTY0LmMg YXMgY3B1IGxvY2FsCit2YXJpYWJsZSBpcyBkZWNsYXJlZCBpbiB0aGUgI2lmIGRlZmluZWQoQ09O RklHX0tWTSkgYW5kIG5vdCBhdCB0aGUgdG9wCisKK0JlZm9yZSBsaW51eCB2Ni4xMyB0aG9zZSBy ZWdpc3RlcnMgd2VyZSBlcnJvbmVvdXNseSB1bmNvbmRpdGlvbmFsbHkKK2V4cG9zZWQgYW5kIHRo aXMgd2FzIGZpeGVkIGJ5IGNvbW1pdHM6CistIDBmY2I0ZWVhNTM0NSAoIktWTTogYXJtNjQ6IEhp ZGUgVENSMl9FTDEgZnJvbSB1c2Vyc3BhY2Ugd2hlbgorICAgICAgICAgICAgICAgICBkaXNhYmxl ZCBmb3IgZ3Vlc3RzIikKKy0gYTY4Y2RkYmU0N2VmwqAoIktWTTogYXJtNjQ6IEhpZGUgUzFQSUUg cmVnaXN0ZXJzIGZyb20gdXNlcnNwYWNlCisgICAgICAgICAgICAgICAgIHdoZW4gZGlzYWJsZWQg Zm9yIGd1ZXN0cyIpCitpbiB2Ni4xMy4KKworVGhpcyBtZWFucyBpZiB3ZSBtaWdyYXRlIGZyb20g YW4gb2xkIGtlcm5lbCBob3N0IHRvIGEgPj0gNi4xMyBrZXJuZWwKK2hvc3QsIG1pZ3JhdGlvbiBj dXJyZW50bHkgZmFpbHMuCisKK0RlY2xhcmUgY3ByZWcgbWlncmF0aW9uIHRvbGVyYW5jZSBmb3Ig dGhvc2UgcmVnaXN0ZXJzLgorCitTaWduZWQtb2ZmLWJ5OiBFcmljIEF1Z2VyIDxlcmljLmF1Z2Vy QHJlZGhhdC5jb20+CitSZXZpZXdlZC1ieTogU2ViYXN0aWFuIE90dCA8c2Vib3R0QHJlZGhhdC5j b20+CitSZXZpZXdlZC1ieTogUGV0ZXIgTWF5ZGVsbCA8cGV0ZXIubWF5ZGVsbEBsaW5hcm8ub3Jn PgorTWVzc2FnZS1pZDogMjAyNjA0MjAxNDA1NTIuMTA0MzY5LTUtZXJpYy5hdWdlckByZWRoYXQu Y29tCitTaWduZWQtb2ZmLWJ5OiBQZXRlciBNYXlkZWxsIDxwZXRlci5tYXlkZWxsQGxpbmFyby5v cmc+CisoY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCAxMTNlZDhlNTNjMDhhNDZhZjJkMzMwN2Vj ZTg0NmNhZjVhNzE5Zjk5KQorU2lnbmVkLW9mZi1ieTogRXJpYyBBdWdlciA8ZXJpYy5hdWdlckBy ZWRoYXQuY29tPgorLS0tCisgdGFyZ2V0L2FybS9jcHU2NC5jIHwgMjkgKysrKysrKysrKysrKysr KysrKysrKysrKysrKysKKyAxIGZpbGUgY2hhbmdlZCwgMjkgaW5zZXJ0aW9ucygrKQorCitkaWZm IC0tZ2l0IGEvdGFyZ2V0L2FybS9jcHU2NC5jIGIvdGFyZ2V0L2FybS9jcHU2NC5jCitpbmRleCAw NTFkNWQ2NTNiLi44MjBkMjU0MmZhIDEwMDY0NAorLS0tIGEvdGFyZ2V0L2FybS9jcHU2NC5jCisr KysgYi90YXJnZXQvYXJtL2NwdTY0LmMKK0BAIC03NjIsMTAgKzc2MiwzOSBAQCBzdGF0aWMgdm9p ZCBhYXJjaDY0X2E1M19pbml0Zm4oT2JqZWN0ICpvYmopCisgfQorICNlbmRpZgorIAorKyNpZiBk ZWZpbmVkKENPTkZJR19LVk0pCisrc3RhdGljIHZvaWQga3ZtX2FybV9zZXRfY3ByZWdfbWlnX3Rv bGVyYW5jZXMoQVJNQ1BVICpjcHUpCisreworKyAgICAvKgorKyAgICAgKiBSZWdpc3RlcnMgdGhh dCBtYXkgYmUgaW4gdGhlIGluY29taW5nIHN0cmVhbSBhbmQgbm90IGV4cG9zZWQKKysgICAgICog b24gdGhlIGRlc3RpbmF0aW9uCisrICAgICAqLworKworKyAgICAvKgorKyAgICAgKiBUQ1JfRUwx IHdhcyBlcnJvbmVvdXNseSB1bmNvbmRpdGlvbm5hbGx5IGV4cG9zZWQgYmVmb3JlIGxpbnV4IHY2 LjEzLgorKyAgICAgKiBTZWUgY29tbWl0IDBmY2I0ZWVhNTM0NSAoIktWTTogYXJtNjQ6IEhpZGUg VENSMl9FTDEgZnJvbSB1c2Vyc3BhY2UKKysgICAgICogd2hlbiBkaXNhYmxlZCBmb3IgZ3Vlc3Rz IikKKysgICAgICovCisrICAgIGFybV9yZWdpc3Rlcl9jcHJlZ19taWdfdG9sZXJhbmNlKGNwdSwg QVJNNjRfU1lTX1JFRygzLCAwLCAyLCAwLCAzKSwKKysgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgMCwgMCwgVG9sZXJhbmNlTm90T25Cb3RoRW5kcyk7CisrICAgIC8qCisrICAg ICAqIFBJUkUwX0VMMSBhbmQgUElSX0VMMSB3ZXJlIGVycm9uZW91c2x5IHVuY29uZGl0aW9ubmFs bHkgZXhwb3NlZAorKyAgICAgKiBiZWZvcmUgbGludXggdjYuMTMuIFNlZSBjb21taXQgYTY4Y2Rk YmU0N2VmwqAoIktWTTogYXJtNjQ6IEhpZGUKKysgICAgICogUzFQSUUgcmVnaXN0ZXJzIGZyb20g dXNlcnNwYWNlIHdoZW4gZGlzYWJsZWQgZm9yIGd1ZXN0cyIpCisrICAgICAqLworKyAgICBhcm1f cmVnaXN0ZXJfY3ByZWdfbWlnX3RvbGVyYW5jZShjcHUsIEFSTTY0X1NZU19SRUcoMywgMCwgMTAs IDIsIDIpLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLCAwLCBUb2xl cmFuY2VOb3RPbkJvdGhFbmRzKTsKKysgICAgYXJtX3JlZ2lzdGVyX2NwcmVnX21pZ190b2xlcmFu Y2UoY3B1LCBBUk02NF9TWVNfUkVHKDMsIDAsIDEwLCAyLCAzKSwKKysgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgMCwgMCwgVG9sZXJhbmNlTm90T25Cb3RoRW5kcyk7CisrfQor KyNlbmRpZgorKworIHN0YXRpYyB2b2lkIGFhcmNoNjRfaG9zdF9pbml0Zm4oT2JqZWN0ICpvYmop CisgeworICNpZiBkZWZpbmVkKENPTkZJR19LVk0pCisgICAgIEFSTUNQVSAqY3B1ID0gQVJNX0NQ VShvYmopOworKworKyAgICBrdm1fYXJtX3NldF9jcHJlZ19taWdfdG9sZXJhbmNlcyhjcHUpOwor ICAgICBrdm1fYXJtX3NldF9jcHVfZmVhdHVyZXNfZnJvbV9ob3N0KGNwdSk7CisgICAgIGlmIChh cm1fZmVhdHVyZSgmY3B1LT5lbnYsIEFSTV9GRUFUVVJFX0FBUkNINjQpKSB7CisgICAgICAgICBh YXJjaDY0X2FkZF9zdmVfcHJvcGVydGllcyhvYmopOworLS0gCisyLjUyLjAKKwoKZGlmZiAtLWdp dCBhL2t2bS10YXJnZXQtYXJtLWhlbHBlci1EZWZpbmUtY3ByZWctbWlncmF0aW9uLXRvbGVyYW5j ZS1mLnBhdGNoIGIva3ZtLXRhcmdldC1hcm0taGVscGVyLURlZmluZS1jcHJlZy1taWdyYXRpb24t dG9sZXJhbmNlLWYucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjVh MGQ0MgotLS0gL2Rldi9udWxsCisrKyBiL2t2bS10YXJnZXQtYXJtLWhlbHBlci1EZWZpbmUtY3By ZWctbWlncmF0aW9uLXRvbGVyYW5jZS1mLnBhdGNoCkBAIC0wLDAgKzEsNzUgQEAKK0Zyb20gNWMx ZWU2YjNmNzYwYTY4ZWMyNTQ1YzE1N2U3MjIyMWU3NDUyOTAxYyBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKK0Zyb206IEVyaWMgQXVnZXIgPGVyaWMuYXVnZXJAcmVkaGF0LmNvbT4KK0RhdGU6IE1v biwgMjAgQXByIDIwMjYgMTY6MDM6NTYgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSCAwMTUvMTE2XSB0 YXJnZXQvYXJtL2hlbHBlcjogRGVmaW5lIGNwcmVnIG1pZ3JhdGlvbiB0b2xlcmFuY2UKKyBmb3Ig REdCRFRSX0VMMAorCitSSC1BdXRob3I6IEVyaWMgQXVnZXIgPGVyaWMuYXVnZXJAcmVkaGF0LmNv bT4KK1JILU1lcmdlUmVxdWVzdDogNDg4OiBbcmhlbC0xMF0gQmFja3BvcnQgY3Jvc3Mta2VybmVs IG1pZ3JhdGlvbiBmYWlsdXJlIG1pdGlnYXRpb24gc2VyaWVzCitSSC1KaXJhOiBSSEVMLTE3NDg1 OAorUkgtQWNrZWQtYnk6IE1vaGFtbWFkZmFpeiBCYXdhIDxOb25lPgorUkgtQWNrZWQtYnk6IFNl YmFzdGlhbiBPdHQgPHNlYm90dEByZWRoYXQuY29tPgorUkgtQWNrZWQtYnk6IEdhdmluIFNoYW4g PGdzaGFuQHJlZGhhdC5jb20+CitSSC1Db21taXQ6IFsxNS8xNl0gNGMxNTlhNmRhODUzMDg5OWM2 MDVjOWFhODFjOTlhMDZiZTJmMDgxOSAoZWF1Z2VyMS9jZW50b3MtcWVtdS1rdm0pCisKK1dlIHdh bnQgdG8gcmVtb3ZlIEFBcmNoMzIgREJHRFRSVFggd2hpY2ggd2FzIGVycm9uZW91c2x5IGV4cG9z ZWQuCitUaGlzIHdhcyBhdHRlbXB0ZWQgYnkgNjU1NjU5YTc0YTM2YiAoInRhcmdldC9hcm06IENv cnJlY3QgZW5jb2RpbmcKK29mIERlYnVnIENvbW11bmljYXRpb25zIENoYW5uZWwgcmVnaXN0ZXJz IikgYnV0IGl0IHdhcyBkaXNjb3ZlcmVkCit0aGF0IHRoZSByZW1vdmFsIG9mIHRoaXMgZGVidWcg cmVnaXN0ZXIgYnJva2UgZm9yd2FyZCBtaWdyYXRpb24gb24KK1RDRy4gTm93IHdlIGhhdmUgdGhl IGNwcmVnIG1pZ3JhdGlvbiB0b2xlcmFuY2UgaW5mcmFzdHJ1Y3R1cmUsIHdlCitjYW4gZGVjbGFy ZSBvbmUgZm9yIHRoZSBEQkdEVFJUWC4gVGhpcyBhbGxvdyB0byByZXZlcnQgdGhlIHJlaW5zdGF0 ZQorcGF0Y2guCisKK1NpZ25lZC1vZmYtYnk6IEVyaWMgQXVnZXIgPGVyaWMuYXVnZXJAcmVkaGF0 LmNvbT4KK1Jldmlld2VkLWJ5OiBTZWJhc3RpYW4gT3R0IDxzZWJvdHRAcmVkaGF0LmNvbT4KK1Jl dmlld2VkLWJ5OiBQZXRlciBNYXlkZWxsIDxwZXRlci5tYXlkZWxsQGxpbmFyby5vcmc+CitNZXNz YWdlLWlkOiAyMDI2MDQyMDE0MDU1Mi4xMDQzNjktNy1lcmljLmF1Z2VyQHJlZGhhdC5jb20KK1tQ TU06IHJldmlzZWQgY29tbWVudCwgaW5jbHVkZWQgbm90ZSBhYm91dCB3aGVuIHdlIGNhbiBkcm9w CisgdGhlIHdvcmthcm91bmRdCitTaWduZWQtb2ZmLWJ5OiBQZXRlciBNYXlkZWxsIDxwZXRlci5t YXlkZWxsQGxpbmFyby5vcmc+CisoY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCAyMzRiM2VhZGRk NGZmMDhiOGI2MmQ1NjM3NDJlMzdmN2JiNjQ4NmJkKQorU2lnbmVkLW9mZi1ieTogRXJpYyBBdWdl ciA8ZXJpYy5hdWdlckByZWRoYXQuY29tPgorLS0tCisgdGFyZ2V0L2FybS9oZWxwZXIuYyB8IDIz ICsrKysrKysrKysrKysrKysrKysrKysrCisgMSBmaWxlIGNoYW5nZWQsIDIzIGluc2VydGlvbnMo KykKKworZGlmZiAtLWdpdCBhL3RhcmdldC9hcm0vaGVscGVyLmMgYi90YXJnZXQvYXJtL2hlbHBl ci5jCitpbmRleCA1ZTY0M2VkNmIyLi4wZGViMmJkNzYwIDEwMDY0NAorLS0tIGEvdGFyZ2V0L2Fy bS9oZWxwZXIuYworKysrIGIvdGFyZ2V0L2FybS9oZWxwZXIuYworQEAgLTYxMjksOSArNjEyOSwz MiBAQCB2b2lkIHJlZ2lzdGVyX2NwX3JlZ3NfZm9yX2ZlYXR1cmVzKEFSTUNQVSAqY3B1KQorICAg ICAgICAgICAgIC5mZ3QgPSBGR1RfQ0xJRFJfRUwxLAorICAgICAgICAgICAgIC5yZXNldHZhbHVl ID0gR0VUX0lEUkVHKGlzYXIsIENMSURSKQorICAgICAgICAgfTsKKysgICAgICAgIHVpbnQ2NF90 IGRiZ3RyX2VsMF9rdm1pZHggPQorKyAgICAgICAgICAgIGNwcmVnX3RvX2t2bV9pZChFTkNPREVf Q1BfUkVHKDE0LCAwLCAxLCAwLCA1LCAzLCAwKSk7CisrCisgICAgICAgICBkZWZpbmVfb25lX2Fy bV9jcF9yZWcoY3B1LCAmY2xpZHIpOworICAgICAgICAgZGVmaW5lX2FybV9jcF9yZWdzKGNwdSwg djdfY3BfcmVnaW5mbyk7CisgICAgICAgICBkZWZpbmVfZGVidWdfcmVncyhjcHUpOworKyAgICAg ICAgLyoKKysgICAgICAgICAqIFdlIHVzZWQgdG8gaW5jb3JyZWN0bHkgZXhwb3NlIGEgbm9uLWV4 aXN0ZW50IEFBcmNoMzIgIkRCR0RUUlRYIgorKyAgICAgICAgICogcmVnaXN0ZXIgd2l0aCB0aGlz IGVuY29kaW5nLiBUaGlzIGhhcyBiZWVuIGZpeGVkIGJ5IGNvbW1pdAorKyAgICAgICAgICogNjU1 NjU5YTc0YTM2ICgidGFyZ2V0L2FybTogQ29ycmVjdCBlbmNvZGluZyBvZiBEZWJ1ZworKyAgICAg ICAgICogQ29tbXVuaWNhdGlvbnMgQ2hhbm5lbCByZWdpc3RlcnMiKSBieSB0aGUgaW50cm9kdWN0 aW9uIG9mIGNvcnJlY3QKKysgICAgICAgICAqIHNlcGFyYXRlIGNwcmVnIGRlZmluaXRpb25zIGZv ciBBQTY0IGFuZCBBQTMyIHZlcnNpb25zLiBIb3dldmVyLAorKyAgICAgICAgICogdGhlIG9sZCBj cHJlZyBkZWZpbml0aW9uIGNvdWxkbid0IGJlIHJlbW92ZWQgd2l0aG91dCBicmVha2luZworKyAg ICAgICAgICogbWlncmF0aW9uLCBzbyBjb21taXQgNGYyYjgyZjYwNCByZWluc3RhdGVkIHRoZSBi b2d1cyBlbmNvZGluZworKyAgICAgICAgICogZm9yIG1pZ3JhdGlvbiBkYXRhIG9ubHkuCisrICAg ICAgICAgKgorKyAgICAgICAgICogTm93IHRoYXQgd2UgaGF2ZSBtaWdyYXRpb24gdG9sZXJhbmNl IGluZnJhc3RydWN0dXJlLCB3ZSBjYW4gdXNlCisrICAgICAgICAgKiB0aGlzIHRvIGFsbG93IGZv cndhcmQgbWlncmF0aW9uIGZyb20gdGhlIGJ1Z2d5IFFFTVUgdmVyc2lvbnMsCisrICAgICAgICAg KiBhY2NlcHRpbmcgYW5kIGlnbm9yaW5nIHRoZSBib2d1cyByZWdpc3RlciBpZiBpdCBpcyBpbiB0 aGUKKysgICAgICAgICAqIHNvdXJjZSBkYXRhLiBRRU1VIDExLjAgd2FzIHRoZSBsYXN0IHZlcnNp b24gdGhhdCBzZW50IHRoZQorKyAgICAgICAgICogYm9ndXMgZW5jb2RpbmcsIHNvIHRoaXMgd29y a2Fyb3VuZCBjYW4gYmUgcmVtb3ZlZCBhdCB0aGUgcG9pbnQKKysgICAgICAgICAqIHdoZXJlIHdl IG5vIGxvbmdlciBjYXJlIGFib3V0IG1pZ3JhdGlvbiBmcm9tIHRoYXQgdmVyc2lvbgorKyAgICAg ICAgICogKGkuZS4gd2hlbiB3ZSByZW1vdmUgdGhlICJ2aXJ0LTExLjAiIG1hY2hpbmUgdHlwZSku CisrICAgICAgICAgKi8KKysgICAgICAgIGFybV9yZWdpc3Rlcl9jcHJlZ19taWdfdG9sZXJhbmNl KGNwdSwgZGJndHJfZWwwX2t2bWlkeCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDAsIDAsIFRvbGVyYW5jZU5vdE9uQm90aEVuZHMpOworICAgICB9IGVsc2Ugewor ICAgICAgICAgZGVmaW5lX2FybV9jcF9yZWdzKGNwdSwgbm90X3Y3X2NwX3JlZ2luZm8pOworICAg ICB9CistLSAKKzIuNTIuMAorCgpkaWZmIC0tZ2l0IGEva3ZtLXRhcmdldC1hcm0ta3ZtLUV4cG9y dC1rdm1fcHJpbnRfcmVnaXN0ZXJfbmFtZS5wYXRjaCBiL2t2bS10YXJnZXQtYXJtLWt2bS1FeHBv cnQta3ZtX3ByaW50X3JlZ2lzdGVyX25hbWUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMC4uMzYwOWE0MQotLS0gL2Rldi9udWxsCisrKyBiL2t2bS10YXJnZXQtYXJtLWt2 bS1FeHBvcnQta3ZtX3ByaW50X3JlZ2lzdGVyX25hbWUucGF0Y2gKQEAgLTAsMCArMSw4MCBAQAor RnJvbSA5YjUxMzkzYzZiNmU1NzU5NzU1ZDc4ZjFjZjFlOTdjMTc0YWYzZDFhIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQorRnJvbTogRXJpYyBBdWdlciA8ZXJpYy5hdWdlckByZWRoYXQuY29tPgor RGF0ZTogRnJpLCA2IE1hciAyMDI2IDA5OjAxOjEyICswMDAwCitTdWJqZWN0OiBbUEFUQ0ggMDA1 LzExNl0gdGFyZ2V0L2FybS9rdm06IEV4cG9ydCBrdm1fcHJpbnRfcmVnaXN0ZXJfbmFtZSgpCisK K1JILUF1dGhvcjogRXJpYyBBdWdlciA8ZXJpYy5hdWdlckByZWRoYXQuY29tPgorUkgtTWVyZ2VS ZXF1ZXN0OiA0ODg6IFtyaGVsLTEwXSBCYWNrcG9ydCBjcm9zcy1rZXJuZWwgbWlncmF0aW9uIGZh aWx1cmUgbWl0aWdhdGlvbiBzZXJpZXMKK1JILUppcmE6IFJIRUwtMTc0ODU4CitSSC1BY2tlZC1i eTogTW9oYW1tYWRmYWl6IEJhd2EgPE5vbmU+CitSSC1BY2tlZC1ieTogU2ViYXN0aWFuIE90dCA8 c2Vib3R0QHJlZGhhdC5jb20+CitSSC1BY2tlZC1ieTogR2F2aW4gU2hhbiA8Z3NoYW5AcmVkaGF0 LmNvbT4KK1JILUNvbW1pdDogWzUvMTZdIDY2YmM2OTg1YjMxNjJhZGNhMDJjYWM0ZWZiYmI4NmY1 ZTk3M2VkN2YgKGVhdWdlcjEvY2VudG9zLXFlbXUta3ZtKQorCitDb25mbGljdHM6IGNvbnRleHR1 YWwgY29uZmxpY3RzIGluIHRhcmdldC9hcm0va3ZtLXN0dWIuYworYW5kIHRhcmdldC9hcm0va3Zt X2FybS5oIHNpbmNlIHdlIGRvbid0IGhhdmUgYXJtX2dpY19jYXBfa3ZtX3Byb2JlKCkKK2Rvd25z dHJlYW0KKworV2Ugd2FudCB0byB1c2Uga3ZtX3ByaW50X3JlZ2lzdGVyX25hbWUoKSBpbiBtYWNo aW5lLmMgc28KK2xldCdzIGV4cG9ydCB0aGUgaGVscGVyIGFuZCBpbXBsZW1lbnQgYSBzdHViIHdo ZW4ga3ZtCitpcyBub3QgZW5hYmxlZC4KKworU2lnbmVkLW9mZi1ieTogRXJpYyBBdWdlciA8ZXJp Yy5hdWdlckByZWRoYXQuY29tPgorUmV2aWV3ZWQtYnk6IFBldGVyIE1heWRlbGwgPHBldGVyLm1h eWRlbGxAbGluYXJvLm9yZz4KK01lc3NhZ2UtaWQ6IDIwMjYwMzA0MTAxNjI1LjE5NjI2MzMtNC1l cmljLmF1Z2VyQHJlZGhhdC5jb20KK1NpZ25lZC1vZmYtYnk6IFBldGVyIE1heWRlbGwgPHBldGVy Lm1heWRlbGxAbGluYXJvLm9yZz4KKyhjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDVhZTA4MWZi NDkzNTEwZjYyMjgwYWZjMDA1YWEzNmY3MDIxOTI1MzkpCitTaWduZWQtb2ZmLWJ5OiBFcmljIEF1 Z2VyIDxlcmljLmF1Z2VyQHJlZGhhdC5jb20+CistLS0KKyB0YXJnZXQvYXJtL2t2bS1zdHViLmMg fCA1ICsrKysrCisgdGFyZ2V0L2FybS9rdm0uYyAgICAgIHwgMiArLQorIHRhcmdldC9hcm0va3Zt X2FybS5oICB8IDkgKysrKysrKysrCisgMyBmaWxlcyBjaGFuZ2VkLCAxNSBpbnNlcnRpb25zKCsp LCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS90YXJnZXQvYXJtL2t2bS1zdHViLmMgYi90 YXJnZXQvYXJtL2t2bS1zdHViLmMKK2luZGV4IGM5MzQ2MmM1YjkuLjU4YjM3ZTBkZmUgMTAwNjQ0 CistLS0gYS90YXJnZXQvYXJtL2t2bS1zdHViLmMKKysrKyBiL3RhcmdldC9hcm0va3ZtLXN0dWIu YworQEAgLTEyNCwzICsxMjQsOCBAQCBib29sIGt2bV9hcm1fY3B1X3Bvc3RfbG9hZChBUk1DUFUg KmNwdSkKKyB7CisgICAgIGdfYXNzZXJ0X25vdF9yZWFjaGVkKCk7CisgfQorKworK2NoYXIgKmt2 bV9wcmludF9yZWdpc3Rlcl9uYW1lKHVpbnQ2NF90IHJlZ2lkeCkKKyt7CisrICAgIGdfYXNzZXJ0 X25vdF9yZWFjaGVkKCk7CisrfQorZGlmZiAtLWdpdCBhL3RhcmdldC9hcm0va3ZtLmMgYi90YXJn ZXQvYXJtL2t2bS5jCitpbmRleCA1ZGFjYjMwNGJkLi4yODNkNjM0Y2ExIDEwMDY0NAorLS0tIGEv dGFyZ2V0L2FybS9rdm0uYworKysrIGIvdGFyZ2V0L2FybS9rdm0uYworQEAgLTkxMSw3ICs5MTEs NyBAQCBzdGF0aWMgZ2NoYXIgKmt2bV9wcmludF9zdmVfcmVnaXN0ZXJfbmFtZSh1aW50NjRfdCBy ZWdpZHgpCisgICAgIH0KKyB9CisgCistc3RhdGljIGdjaGFyICprdm1fcHJpbnRfcmVnaXN0ZXJf bmFtZSh1aW50NjRfdCByZWdpZHgpCisrY2hhciAqa3ZtX3ByaW50X3JlZ2lzdGVyX25hbWUodWlu dDY0X3QgcmVnaWR4KQorIHsKKyAgICAgICAgIHN3aXRjaCAoKHJlZ2lkeCAmIEtWTV9SRUdfQVJN X0NPUFJPQ19NQVNLKSkgeworICAgICAgICAgY2FzZSBLVk1fUkVHX0FSTV9DT1JFOgorZGlmZiAt LWdpdCBhL3RhcmdldC9hcm0va3ZtX2FybS5oIGIvdGFyZ2V0L2FybS9rdm1fYXJtLmgKK2luZGV4 IDZhOWI2Mzc0YTYuLmM0ZTdkYzI4ZWYgMTAwNjQ0CistLS0gYS90YXJnZXQvYXJtL2t2bV9hcm0u aAorKysrIGIvdGFyZ2V0L2FybS9rdm1fYXJtLmgKK0BAIC0yNjMsNCArMjYzLDEzIEBAIHZvaWQg a3ZtX2FybV9lbmFibGVfbXRlKE9iamVjdCAqY3B1b2JqLCBFcnJvciAqKmVycnApOworIAorIHZv aWQgYXJtX2NwdV9rdm1fc2V0X2lycSh2b2lkICphcm1fY3B1LCBpbnQgaXJxLCBpbnQgbGV2ZWwp OworIAorKy8qCisrICoga3ZtX3ByaW50X3JlZ2lzdGVyX25hbWU6CisrICogQHJlZ2lkeDogcmVn aXN0ZXIgS1ZNIGluZGV4CisrICoKKysgKiBSZXR1cm5zIGEgaHVtYW4tcmVhZGFibGUgc3RyaW5n IHJlcHJlc2VudGluZyB0aGlzIHJlZ2lzdGVyCisrICogVGhlIGNhbGxlciBtdXN0IGZyZWUgdGhl IHN0cmluZyB3aXRoIGdfZnJlZSgpLgorKyAqLworK2NoYXIgKmt2bV9wcmludF9yZWdpc3Rlcl9u YW1lKHVpbnQ2NF90IHJlZ2lkeCk7CisrCisgI2VuZGlmCistLSAKKzIuNTIuMAorCgpkaWZmIC0t Z2l0IGEva3ZtLXRhcmdldC1hcm0ta3ZtLVR3ZWFrLXByaW50X3JlZ2lzdGVyX25hbWUtZm9yLWFy bTY0LXMucGF0Y2ggYi9rdm0tdGFyZ2V0LWFybS1rdm0tVHdlYWstcHJpbnRfcmVnaXN0ZXJfbmFt ZS1mb3ItYXJtNjQtcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5l ZWFmYmNlCi0tLSAvZGV2L251bGwKKysrIGIva3ZtLXRhcmdldC1hcm0ta3ZtLVR3ZWFrLXByaW50 X3JlZ2lzdGVyX25hbWUtZm9yLWFybTY0LXMucGF0Y2gKQEAgLTAsMCArMSw0NCBAQAorRnJvbSBl ZmNkODgzNjliYjE0MDJhYWY4YjEwODQ2NjZhYjYxODI3MTc3NDBmIE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQorRnJvbTogRXJpYyBBdWdlciA8ZXJpYy5hdWdlckByZWRoYXQuY29tPgorRGF0ZTog RnJpLCA2IE1hciAyMDI2IDA5OjAxOjEyICswMDAwCitTdWJqZWN0OiBbUEFUQ0ggMDA2LzExNl0g dGFyZ2V0L2FybS9rdm06IFR3ZWFrIHByaW50X3JlZ2lzdGVyX25hbWUoKSBmb3IgYXJtNjQKKyBz eXN0ZW0gcmVnaXN0ZXIKKworUkgtQXV0aG9yOiBFcmljIEF1Z2VyIDxlcmljLmF1Z2VyQHJlZGhh dC5jb20+CitSSC1NZXJnZVJlcXVlc3Q6IDQ4ODogW3JoZWwtMTBdIEJhY2twb3J0IGNyb3NzLWtl cm5lbCBtaWdyYXRpb24gZmFpbHVyZSBtaXRpZ2F0aW9uIHNlcmllcworUkgtSmlyYTogUkhFTC0x NzQ4NTgKK1JILUFja2VkLWJ5OiBNb2hhbW1hZGZhaXogQmF3YSA8Tm9uZT4KK1JILUFja2VkLWJ5 OiBTZWJhc3RpYW4gT3R0IDxzZWJvdHRAcmVkaGF0LmNvbT4KK1JILUFja2VkLWJ5OiBHYXZpbiBT aGFuIDxnc2hhbkByZWRoYXQuY29tPgorUkgtQ29tbWl0OiBbNi8xNl0gZTQzNDI3MmE2ZWNhYjUx M2Q2YmM4YzQ4MTFjZDhlMTQ2M2NkYmZhZCAoZWF1Z2VyMS9jZW50b3MtcWVtdS1rdm0pCisKK0Fz IG9wcG9zZWQgdG8gb3RoZXIgcmVnaXN0ZXIgdHlwZXMsIGFybTY0IHN5c3RlbSByZWdpc3RlciBk ZWNvZGluZworaXMgbm90IGludHJvZHVjZWQgYnkgYW55ICdyZWdpc3RlcicgbWVudGlvbiB3aGlj aCBjYW4gbGVhZCB0bwordW5mcmllbmRseSB1c2VyLWZhY2luZyB0cmFjZXMuICBMZXQncyBhZGQg InN5c3RlbSByZWdpc3RlciIKKworU2lnbmVkLW9mZi1ieTogRXJpYyBBdWdlciA8ZXJpYy5hdWdl ckByZWRoYXQuY29tPgorUmV2aWV3ZWQtYnk6IFBldGVyIE1heWRlbGwgPHBldGVyLm1heWRlbGxA bGluYXJvLm9yZz4KK01lc3NhZ2UtaWQ6IDIwMjYwMzA0MTAxNjI1LjE5NjI2MzMtNS1lcmljLmF1 Z2VyQHJlZGhhdC5jb20KK1NpZ25lZC1vZmYtYnk6IFBldGVyIE1heWRlbGwgPHBldGVyLm1heWRl bGxAbGluYXJvLm9yZz4KKyhjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDNlMGEzYThlOTFlZmFi ZWYwMWRhZDhlYTFjZDFmMTNkY2M0NmIxNGQpCitTaWduZWQtb2ZmLWJ5OiBFcmljIEF1Z2VyIDxl cmljLmF1Z2VyQHJlZGhhdC5jb20+CistLS0KKyB0YXJnZXQvYXJtL2t2bS5jIHwgMiArLQorIDEg ZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0 IGEvdGFyZ2V0L2FybS9rdm0uYyBiL3RhcmdldC9hcm0va3ZtLmMKK2luZGV4IDI4M2Q2MzRjYTEu LmNjZjBmYzUwMWEgMTAwNjQ0CistLS0gYS90YXJnZXQvYXJtL2t2bS5jCisrKysgYi90YXJnZXQv YXJtL2t2bS5jCitAQCAtOTE5LDcgKzkxOSw3IEBAIGNoYXIgKmt2bV9wcmludF9yZWdpc3Rlcl9u YW1lKHVpbnQ2NF90IHJlZ2lkeCkKKyAgICAgICAgIGNhc2UgS1ZNX1JFR19BUk1fREVNVVg6Cisg ICAgICAgICAgICAgcmV0dXJuIGdfc3RyZHVwX3ByaW50ZigiZGVtdXhlZCByZWcgJSJQUkl4NjQs IHJlZ2lkeCk7CisgICAgICAgICBjYXNlIEtWTV9SRUdfQVJNNjRfU1lTUkVHOgorLSAgICAgICAg ICAgIHJldHVybiBnX3N0cmR1cF9wcmludGYoIm9wMDolZCBvcDE6JWQgY3JuOiVkIGNybTolZCBv cDI6JWQiLAorKyAgICAgICAgICAgIHJldHVybiBnX3N0cmR1cF9wcmludGYoInN5c3RlbSByZWdp c3RlciBvcDA6JWQgb3AxOiVkIGNybjolZCBjcm06JWQgb3AyOiVkIiwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIENQX1JFR19BUk02NF9TWVNSRUdfT1AocmVnaWR4LCBPUDAp LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ1BfUkVHX0FSTTY0X1NZU1JF R19PUChyZWdpZHgsIE9QMSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBD UF9SRUdfQVJNNjRfU1lTUkVHX09QKHJlZ2lkeCwgQ1JOKSwKKy0tIAorMi41Mi4wCisKCmRpZmYg LS1naXQgYS9rdm0tdGFyZ2V0LWFybS1tYWNoaW5lLUZpeC1kZXRlY3Rpb24tb2YtdW5rbm93bi1p bmNvbWluZy5wYXRjaCBiL2t2bS10YXJnZXQtYXJtLW1hY2hpbmUtRml4LWRldGVjdGlvbi1vZi11 bmtub3duLWluY29taW5nLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu LjE5MDY3NTgKLS0tIC9kZXYvbnVsbAorKysgYi9rdm0tdGFyZ2V0LWFybS1tYWNoaW5lLUZpeC1k ZXRlY3Rpb24tb2YtdW5rbm93bi1pbmNvbWluZy5wYXRjaApAQCAtMCwwICsxLDEyNiBAQAorRnJv bSA5NjY3MjY3ZDQ0YWQ4OGY4MzA2YzJkYzNlMGQyM2MxMDI4Y2Y1ODIzIE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQorRnJvbTogRXJpYyBBdWdlciA8ZXJpYy5hdWdlckByZWRoYXQuY29tPgorRGF0 ZTogRnJpLCA2IE1hciAyMDI2IDA5OjAxOjEyICswMDAwCitTdWJqZWN0OiBbUEFUQ0ggMDA5LzEx Nl0gdGFyZ2V0L2FybS9tYWNoaW5lOiBGaXggZGV0ZWN0aW9uIG9mIHVua25vd24gaW5jb21pbmcK KyBjcHJlZ3MKKworUkgtQXV0aG9yOiBFcmljIEF1Z2VyIDxlcmljLmF1Z2VyQHJlZGhhdC5jb20+ CitSSC1NZXJnZVJlcXVlc3Q6IDQ4ODogW3JoZWwtMTBdIEJhY2twb3J0IGNyb3NzLWtlcm5lbCBt aWdyYXRpb24gZmFpbHVyZSBtaXRpZ2F0aW9uIHNlcmllcworUkgtSmlyYTogUkhFTC0xNzQ4NTgK K1JILUFja2VkLWJ5OiBNb2hhbW1hZGZhaXogQmF3YSA8Tm9uZT4KK1JILUFja2VkLWJ5OiBTZWJh c3RpYW4gT3R0IDxzZWJvdHRAcmVkaGF0LmNvbT4KK1JILUFja2VkLWJ5OiBHYXZpbiBTaGFuIDxn c2hhbkByZWRoYXQuY29tPgorUkgtQ29tbWl0OiBbOS8xNl0gNjQ1MDA4MTI1N2NlNzcwYzA4MjVh NjllNzk0MDM2YmMxODFiNWE2YyAoZWF1Z2VyMS9jZW50b3MtcWVtdS1rdm0pCisKK0N1cnJlbnRs eSB0aGUgY2hlY2sgb2YgY3ByZWcgaW5kZXggbWF0Y2hlcyBmYWlsIHRvIGRldGVjdAorYSBzaXR1 YXRpb24gd2hlcmUgdGhlIGxlbmd0aCBvZiBib3RoIGFycmF5cyBpcyBzYW1lIGJ1dAorLSBkZXN0 aW5hdGlvbiBoYXMgYW4gZXh0cmEgcmVnaXN0ZXIgbm90IGZvdW5kIGluIHRoZSBpbmNvbWluZyBz dHJlYW0gKGlkeDEpCistIHNvdXJjZSBoYXMgYW4gZXh0cmEgcmVnaXN0ZXIgbm90IGZvdW5kIGlu IHRoZSBkZXN0aW5hdGlvbiAoaWR4MikKKyAgd2hlcmUgaWR4MSA8ID0gaWR4MgorTm9ybWFsbHkg dGhpcyBzaG91bGQgZmFpbCBidXQgaXQgZG9lcyBub3QuCisKK0ZpeCB0aGUgbG9naWMgdG8gc2Nh biBhbGwgaW5kZXhlcy4KKworRml4ZXM6IDcyMWZhZTEyNTM2ICgidGFyZ2V0LWFybTogQ29udmVy dCBUQ0cgdG8gdXNpbmcgKGluZGV4LHZhbHVlKSBsaXN0IGZvciBjcCBtaWdyYXRpb24iKQorU2ln bmVkLW9mZi1ieTogRXJpYyBBdWdlciA8ZXJpYy5hdWdlckByZWRoYXQuY29tPgorUmV2aWV3ZWQt Ynk6IFBldGVyIE1heWRlbGwgPHBldGVyLm1heWRlbGxAbGluYXJvLm9yZz4KK01lc3NhZ2UtaWQ6 IDIwMjYwMzA0MTAxNjI1LjE5NjI2MzMtOC1lcmljLmF1Z2VyQHJlZGhhdC5jb20KK1NpZ25lZC1v ZmYtYnk6IFBldGVyIE1heWRlbGwgPHBldGVyLm1heWRlbGxAbGluYXJvLm9yZz4KKyhjaGVycnkg cGlja2VkIGZyb20gY29tbWl0IGRiZmVkOGQ4MDgzN2ZmN2QzNmU3NjMxNjNmMzg1NDkxNjllZTY0 Y2MpCitTaWduZWQtb2ZmLWJ5OiBFcmljIEF1Z2VyIDxlcmljLmF1Z2VyQHJlZGhhdC5jb20+Cist LS0KKyB0YXJnZXQvYXJtL21hY2hpbmUuYyB8IDYxICsrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDQ5IGluc2VydGlvbnMoKyksIDEy IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvdGFyZ2V0L2FybS9tYWNoaW5lLmMgYi90YXJn ZXQvYXJtL21hY2hpbmUuYworaW5kZXggNzAxNTdlMDAwYi4uZTA0NDcwODNlZSAxMDA2NDQKKy0t LSBhL3RhcmdldC9hcm0vbWFjaGluZS5jCisrKysgYi90YXJnZXQvYXJtL21hY2hpbmUuYworQEAg LTk2Nyw2ICs5NjcsMzUgQEAgc3RhdGljIGdjaGFyICpwcmludF9yZWdpc3Rlcl9uYW1lKHVpbnQ2 NF90IGt2bV9yZWdpZHgpCisgICAgIH0KKyB9CisgCisrLyoKKysgKiBIYW5kbGUgdGhlIHNpdHVh dGlvbiB3aGVyZSBAa3ZtaWR4IGlzIG9uIGRlc3RpbmF0aW9uIGJ1dCBub3QKKysgKiBpbiB0aGUg aW5jb21pbmcgc3RyZWFtLiBUaGlzIG5ldmVyIGZhaWxzIHRoZSBtaWdyYXRpb24uCisrICovCisr c3RhdGljIHZvaWQgaGFuZGxlX2NwcmVnX21pc3NpbmdfaW5faW5jb21pbmdfc3RyZWFtKEFSTUNQ VSAqY3B1LCB1aW50NjRfdCBrdm1pZHgpCisreworKyAgICBnX2F1dG9mcmVlIGdjaGFyICpuYW1l ID0gcHJpbnRfcmVnaXN0ZXJfbmFtZShrdm1pZHgpOworKworKyAgICB3YXJuX3JlcG9ydCgiJXM6 ICVzICIKKysgICAgICAgICAgICAgICAgImV4cGVjdGVkIGJ5IHRoZSBkZXN0aW5hdGlvbiBidXQg bm90IGluIHRoZSBpbmNvbWluZyBzdHJlYW06ICIKKysgICAgICAgICAgICAgICAgICJza2lwIGl0 IiwgX19mdW5jX18sIG5hbWUpOworK30KKysKKysvKgorKyAqIEhhbmRsZSB0aGUgc2l0dWF0aW9u IHdoZXJlIEBrdm1pZHggaXMgaW4gdGhlIGluY29taW5nIHN0cmVhbQorKyAqIGJ1dCBub3Qgb24g ZGVzdGluYXRpb24uIFRoaXMgY3VycmVudGx5IGZhaWxzIHRoZSBtaWdyYXRpb24gYnV0CisrICog d2UgcGxhbiB0byBhY2NvbW9kYXRlIHNvbWUgZXhjZXB0aW9ucywgaGVuY2UgdGhlIGJvb2xlYW4g cmV0dXJuZWQgdmFsdWUuCisrICovCisrc3RhdGljIGJvb2wgaGFuZGxlX2NwcmVnX29ubHlfaW5f aW5jb21pbmdfc3RyZWFtKEFSTUNQVSAqY3B1LCB1aW50NjRfdCBrdm1pZHgpCisreworKyAgICBn X2F1dG9mcmVlIGdjaGFyICpuYW1lID0gcHJpbnRfcmVnaXN0ZXJfbmFtZShrdm1pZHgpOworKyAg ICBib29sIGZhaWwgPSB0cnVlOworKworKyAgICBlcnJvcl9yZXBvcnQoIiVzOiAlcyBpbiB0aGUg aW5jb21pbmcgc3RyZWFtIGJ1dCB1bmtub3duIG9uIHRoZSAiCisrICAgICAgICAgICAgICAgICAi ZGVzdGluYXRpb246IGZhaWwgbWlncmF0aW9uIiwgX19mdW5jX18sIG5hbWUpOworKworKyAgICBy ZXR1cm4gZmFpbDsKKyt9CisrCisgc3RhdGljIGludCBjcHVfcG9zdF9sb2FkKHZvaWQgKm9wYXF1 ZSwgaW50IHZlcnNpb25faWQpCisgeworICAgICBBUk1DUFUgKmNwdSA9IG9wYXF1ZTsKK0BAIC0x MDA2LDIxICsxMDM1LDEyIEBAIHN0YXRpYyBpbnQgY3B1X3Bvc3RfbG9hZCh2b2lkICpvcGFxdWUs IGludCB2ZXJzaW9uX2lkKQorICAgICBmb3IgKGkgPSAwLCB2ID0gMDsgaSA8IGNwdS0+Y3ByZWdf YXJyYXlfbGVuCisgICAgICAgICAgICAgICYmIHYgPCBjcHUtPmNwcmVnX3Ztc3RhdGVfYXJyYXlf bGVuOykgeworICAgICAgICAgaWYgKGNwdS0+Y3ByZWdfdm1zdGF0ZV9pbmRleGVzW3ZdID4gY3B1 LT5jcHJlZ19pbmRleGVzW2ldKSB7CistICAgICAgICAgICAgZ19hdXRvZnJlZSBnY2hhciAqbmFt ZSA9IHByaW50X3JlZ2lzdGVyX25hbWUoY3B1LT5jcHJlZ19pbmRleGVzW2ldKTsKKy0KKy0gICAg ICAgICAgICB3YXJuX3JlcG9ydCgiJXM6ICVzICIKKy0gICAgICAgICAgICAgICAgICAgICAgICAi ZXhwZWN0ZWQgYnkgdGhlIGRlc3RpbmF0aW9uIGJ1dCBub3QgaW4gdGhlIGluY29taW5nIHN0cmVh bTogIgorLSAgICAgICAgICAgICAgICAgICAgICAgICJza2lwIGl0IiwgX19mdW5jX18sIG5hbWUp OworLSAgICAgICAgICAgIGkrKzsKKysgICAgICAgICAgICBoYW5kbGVfY3ByZWdfbWlzc2luZ19p bl9pbmNvbWluZ19zdHJlYW0oY3B1LCBjcHUtPmNwcmVnX2luZGV4ZXNbaSsrXSk7CisgICAgICAg ICAgICAgY29udGludWU7CisgICAgICAgICB9CisgICAgICAgICBpZiAoY3B1LT5jcHJlZ192bXN0 YXRlX2luZGV4ZXNbdl0gPCBjcHUtPmNwcmVnX2luZGV4ZXNbaV0pIHsKKy0gICAgICAgICAgICBn X2F1dG9mcmVlIGdjaGFyICpuYW1lID0gcHJpbnRfcmVnaXN0ZXJfbmFtZShjcHUtPmNwcmVnX3Zt c3RhdGVfaW5kZXhlc1t2XSk7CistCistICAgICAgICAgICAgZXJyb3JfcmVwb3J0KCIlczogJXMg aW4gdGhlIGluY29taW5nIHN0cmVhbSBidXQgdW5rbm93biBvbiB0aGUgZGVzdGluYXRpb246ICIK Ky0gICAgICAgICAgICAgICAgICAgICAgICAgImZhaWwgbWlncmF0aW9uIiwgX19mdW5jX18sIG5h bWUpOworLSAgICAgICAgICAgIHYrKzsKKy0gICAgICAgICAgICBmYWlsID0gdHJ1ZTsKKysgICAg ICAgICAgICBmYWlsID0gaGFuZGxlX2NwcmVnX29ubHlfaW5faW5jb21pbmdfc3RyZWFtKGNwdSwK KysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGNwdS0+Y3ByZWdfdm1zdGF0ZV9pbmRleGVzW3YrK10pOworICAgICAgICAgICAgIGNvbnRpbnVl OworICAgICAgICAgfQorICAgICAgICAgLyogbWF0Y2hpbmcgcmVnaXN0ZXIsIGNvcHkgdGhlIHZh bHVlIG92ZXIgKi8KK0BAIC0xMDI4LDYgKzEwNDgsMjMgQEAgc3RhdGljIGludCBjcHVfcG9zdF9s b2FkKHZvaWQgKm9wYXF1ZSwgaW50IHZlcnNpb25faWQpCisgICAgICAgICBpKys7CisgICAgICAg ICB2Kys7CisgICAgIH0KKysKKysgICAgLyoKKysgICAgICogaWYgd2UgaGF2ZSByZWFjaGVkIHRo ZSBlbmQgb2YgdGhlIGluY29taW5nIGFycmF5IGJ1dCB0aGVyZSBhcmUKKysgICAgICogc3RpbGwg cmVncyBpbiBjcHJlZywgY29udGludWUgcGFyc2luZyB0aGUgcmVncyB3aGljaCBhcmUgbWlzc2lu ZworKyAgICAgKiBpbiB0aGUgaW5wdXQgc3RyZWFtCisrICAgICAqLworKyAgICBmb3IgKCA7IGkg PCBjcHUtPmNwcmVnX2FycmF5X2xlbjsgaSsrKSB7CisrICAgICAgICBoYW5kbGVfY3ByZWdfbWlz c2luZ19pbl9pbmNvbWluZ19zdHJlYW0oY3B1LCBjcHUtPmNwcmVnX2luZGV4ZXNbaV0pOworKyAg ICB9CisrICAgIC8qCisrICAgICAqIGlmIHdlIGhhdmUgcmVhY2hlZCB0aGUgZW5kIG9mIHRoZSBj cHJlZyBhcnJheSBidXQgdGhlcmUgYXJlCisrICAgICAqIHN0aWxsIHJlZ3MgaW4gdGhlIGlucHV0 IHN0cmVhbSwgY29udGludWUgcGFyc2luZyB0aGUgdm1zdGF0ZSBhcnJheQorKyAgICAgKi8KKysg ICAgZm9yICggOyB2IDwgY3B1LT5jcHJlZ192bXN0YXRlX2FycmF5X2xlbjsgdisrKSB7CisrICAg ICAgICBmYWlsID0gaGFuZGxlX2NwcmVnX29ubHlfaW5faW5jb21pbmdfc3RyZWFtKGNwdSwKKysg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3B1LT5j cHJlZ192bXN0YXRlX2luZGV4ZXNbdl0pOworKyAgICB9CisgICAgIGlmIChmYWlsKSB7CisgICAg ICAgICByZXR1cm4gLTE7CisgICAgIH0KKy0tIAorMi41Mi4wCisKCmRpZmYgLS1naXQgYS9rdm0t dGFyZ2V0LWFybS1tYWNoaW5lLUhhbmRsZS1Ub2xlcmFuY2VOb3RPbkJvdGhFbmRzLW1pZy5wYXRj aCBiL2t2bS10YXJnZXQtYXJtLW1hY2hpbmUtSGFuZGxlLVRvbGVyYW5jZU5vdE9uQm90aEVuZHMt bWlnLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ2YmZjNDUKLS0t IC9kZXYvbnVsbAorKysgYi9rdm0tdGFyZ2V0LWFybS1tYWNoaW5lLUhhbmRsZS1Ub2xlcmFuY2VO b3RPbkJvdGhFbmRzLW1pZy5wYXRjaApAQCAtMCwwICsxLDg3IEBACitGcm9tIDk2MjhkNGFmZTc2 MmYwN2Y5YTEwMzA3OTVhY2YwMTRmZWE3NDQwNTIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitG cm9tOiBFcmljIEF1Z2VyIDxlcmljLmF1Z2VyQHJlZGhhdC5jb20+CitEYXRlOiBNb24sIDIwIEFw ciAyMDI2IDE2OjAzOjUyICswMjAwCitTdWJqZWN0OiBbUEFUQ0ggMDExLzExNl0gdGFyZ2V0L2Fy bS9tYWNoaW5lOiBIYW5kbGUgVG9sZXJhbmNlTm90T25Cb3RoRW5kcworIG1pZ3JhdGlvbiB0b2xl cmFuY2VzCisKK1JILUF1dGhvcjogRXJpYyBBdWdlciA8ZXJpYy5hdWdlckByZWRoYXQuY29tPgor UkgtTWVyZ2VSZXF1ZXN0OiA0ODg6IFtyaGVsLTEwXSBCYWNrcG9ydCBjcm9zcy1rZXJuZWwgbWln cmF0aW9uIGZhaWx1cmUgbWl0aWdhdGlvbiBzZXJpZXMKK1JILUppcmE6IFJIRUwtMTc0ODU4CitS SC1BY2tlZC1ieTogTW9oYW1tYWRmYWl6IEJhd2EgPE5vbmU+CitSSC1BY2tlZC1ieTogU2ViYXN0 aWFuIE90dCA8c2Vib3R0QHJlZGhhdC5jb20+CitSSC1BY2tlZC1ieTogR2F2aW4gU2hhbiA8Z3No YW5AcmVkaGF0LmNvbT4KK1JILUNvbW1pdDogWzExLzE2XSAyNjM1NGE1NGMwZDQ3OWJkMDZiZGJi MWU4ZDZlYzQ3ZDdhNDY4OGU4IChlYXVnZXIxL2NlbnRvcy1xZW11LWt2bSkKKworSWYgdGhlcmUg aXMgYSBtaXNtYXRjaCBiZXR3ZWVuIHRoZSBjcHJlZyBpbmRleGVzIGZvdW5kIG9uIGJvdGggZW5k cywKK2NoZWNrIHdoZXRoZXIgYSB0b2xlcmFuY2Ugd2FzIHJlZ2lzdGVyZWQgZm9yIHRoZSBnaXZl biBrdm1pZHguIElmIGFueSwKK3NpbGVuY2Ugd2FybmluZy9lcnJvcnMuCisKK1NpZ25lZC1vZmYt Ynk6IEVyaWMgQXVnZXIgPGVyaWMuYXVnZXJAcmVkaGF0LmNvbT4KK1Jldmlld2VkLWJ5OiBQZXRl ciBNYXlkZWxsIDxwZXRlci5tYXlkZWxsQGxpbmFyby5vcmc+CitNZXNzYWdlLWlkOiAyMDI2MDQy MDE0MDU1Mi4xMDQzNjktMy1lcmljLmF1Z2VyQHJlZGhhdC5jb20KK1NpZ25lZC1vZmYtYnk6IFBl dGVyIE1heWRlbGwgPHBldGVyLm1heWRlbGxAbGluYXJvLm9yZz4KKyhjaGVycnkgcGlja2VkIGZy b20gY29tbWl0IDVlNjVlN2FhNGExYjU3YjFkYmZjZWNlYzYyOWM5ZTNmYjU1ZTk0YjEpCitTaWdu ZWQtb2ZmLWJ5OiBFcmljIEF1Z2VyIDxlcmljLmF1Z2VyQHJlZGhhdC5jb20+CistLS0KKyB0YXJn ZXQvYXJtL21hY2hpbmUuYyAgICB8IDIxICsrKysrKysrKysrKysrKy0tLS0tLQorIHRhcmdldC9h cm0vdHJhY2UtZXZlbnRzIHwgIDIgKysKKyAyIGZpbGVzIGNoYW5nZWQsIDE3IGluc2VydGlvbnMo KyksIDYgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS90YXJnZXQvYXJtL21hY2hpbmUuYyBi L3RhcmdldC9hcm0vbWFjaGluZS5jCitpbmRleCBlMDQ0NzA4M2VlLi4wZDc0OWZjOGZiIDEwMDY0 NAorLS0tIGEvdGFyZ2V0L2FybS9tYWNoaW5lLmMKKysrKyBiL3RhcmdldC9hcm0vbWFjaGluZS5j CitAQCAtOTc1LDI1ICs5NzUsMzQgQEAgc3RhdGljIHZvaWQgaGFuZGxlX2NwcmVnX21pc3Npbmdf aW5faW5jb21pbmdfc3RyZWFtKEFSTUNQVSAqY3B1LCB1aW50NjRfdCBrdm1pZHgKKyB7CisgICAg IGdfYXV0b2ZyZWUgZ2NoYXIgKm5hbWUgPSBwcmludF9yZWdpc3Rlcl9uYW1lKGt2bWlkeCk7Cisg CisrICAgIGlmIChhcm1fY3B1X21hdGNoX2NwcmVnX21pZ190b2xlcmFuY2UoY3B1LCBrdm1pZHgs CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwgMCwgVG9sZXJh bmNlTm90T25Cb3RoRW5kcykpIHsKKysgICAgICAgIHRyYWNlX3RvbGVyYXRlX2NwcmVnX21pc3Np bmdfaW5faW5jb21pbmdfc3RyZWFtKG5hbWUpOworKyAgICAgICAgcmV0dXJuOworKyAgICB9Cisg ICAgIHdhcm5fcmVwb3J0KCIlczogJXMgIgorICAgICAgICAgICAgICAgICAiZXhwZWN0ZWQgYnkg dGhlIGRlc3RpbmF0aW9uIGJ1dCBub3QgaW4gdGhlIGluY29taW5nIHN0cmVhbTogIgorICAgICAg ICAgICAgICAgICAgInNraXAgaXQiLCBfX2Z1bmNfXywgbmFtZSk7CisgfQorIAorIC8qCistICog SGFuZGxlIHRoZSBzaXR1YXRpb24gd2hlcmUgQGt2bWlkeCBpcyBpbiB0aGUgaW5jb21pbmcgc3Ry ZWFtCistICogYnV0IG5vdCBvbiBkZXN0aW5hdGlvbi4gVGhpcyBjdXJyZW50bHkgZmFpbHMgdGhl IG1pZ3JhdGlvbiBidXQKKy0gKiB3ZSBwbGFuIHRvIGFjY29tb2RhdGUgc29tZSBleGNlcHRpb25z LCBoZW5jZSB0aGUgYm9vbGVhbiByZXR1cm5lZCB2YWx1ZS4KKysgKiBIYW5kbGUgdGhlIHNpdHVh dGlvbiB3aGVyZSBAa3ZtaWR4IGlzIGluIHRoZSBpbmNvbWluZworKyAqIHN0cmVhbSBidXQgbm90 IG9uIGRlc3RpbmF0aW9uLiBUaGlzIGZhaWxzIHRoZSBtaWdyYXRpb24gaWYKKysgKiBubyBjcHJl ZyBtaWcgdG9sZXJhbmNlIGlzIG1hdGNoZWQgZm9yIHRoaXMgQGt2bWlkeAorKyAqIFJldHVybiB0 cnVlIGlmIHRoZSBtaWdyYXRpb24gc2hvdWxkIGV2ZW50dWFsbHkgZmFpbAorICAqLworIHN0YXRp YyBib29sIGhhbmRsZV9jcHJlZ19vbmx5X2luX2luY29taW5nX3N0cmVhbShBUk1DUFUgKmNwdSwg dWludDY0X3Qga3ZtaWR4KQorIHsKKyAgICAgZ19hdXRvZnJlZSBnY2hhciAqbmFtZSA9IHByaW50 X3JlZ2lzdGVyX25hbWUoa3ZtaWR4KTsKKy0gICAgYm9vbCBmYWlsID0gdHJ1ZTsKKyAKKysgICAg aWYgKGFybV9jcHVfbWF0Y2hfY3ByZWdfbWlnX3RvbGVyYW5jZShjcHUsIGt2bWlkeCwKKysgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLCAwLCBUb2xlcmFuY2VOb3RP bkJvdGhFbmRzKSkgeworKyAgICAgICAgdHJhY2VfdG9sZXJhdGVfY3ByZWdfb25seV9pbl9pbmNv bWluZ19zdHJlYW0obmFtZSk7CisrICAgICAgICByZXR1cm4gZmFsc2U7CisrICAgIH0KKyAgICAg ZXJyb3JfcmVwb3J0KCIlczogJXMgaW4gdGhlIGluY29taW5nIHN0cmVhbSBidXQgdW5rbm93biBv biB0aGUgIgorICAgICAgICAgICAgICAgICAgImRlc3RpbmF0aW9uOiBmYWlsIG1pZ3JhdGlvbiIs IF9fZnVuY19fLCBuYW1lKTsKKy0KKy0gICAgcmV0dXJuIGZhaWw7CisrICAgIHJldHVybiB0cnVl OworIH0KKyAKKyBzdGF0aWMgaW50IGNwdV9wb3N0X2xvYWQodm9pZCAqb3BhcXVlLCBpbnQgdmVy c2lvbl9pZCkKK2RpZmYgLS1naXQgYS90YXJnZXQvYXJtL3RyYWNlLWV2ZW50cyBiL3RhcmdldC9h cm0vdHJhY2UtZXZlbnRzCitpbmRleCA0ZTI1MDJhZjlmLi4wNjJhMDExODgxIDEwMDY0NAorLS0t IGEvdGFyZ2V0L2FybS90cmFjZS1ldmVudHMKKysrKyBiL3RhcmdldC9hcm0vdHJhY2UtZXZlbnRz CitAQCAtMTYsMyArMTYsNSBAQCBrdm1fYXJtX2ZpeHVwX21zaV9yb3V0ZSh1aW50NjRfdCBpb3Zh LCB1aW50NjRfdCBncGEpICJNU0kgaW92YSA9IDB4JSJQUkl4NjQiIGlzCisgCisgIyBtYWNoaW5l LmMKKyBjcHVfcG9zdF9sb2FkKHVpbnQzMl90IGNwcmVnX3Ztc3RhdGVfYXJyYXlfbGVuLCB1aW50 MzJfdCBjcHJlZ19hcnJheV9sZW4pICJjcHJlZ192bXN0YXRlX2FycmF5X2xlbj0lZCBjcHJlZ19h cnJheV9sZW49JWQiCisrdG9sZXJhdGVfY3ByZWdfbWlzc2luZ19pbl9pbmNvbWluZ19zdHJlYW0o Y2hhciAqbmFtZSkgIiVzIGlzIG1pc3NpbmcgaW4gaW5jb21pbmcgc3RyZWFtIGJ1dCB0aGlzIGlz IGV4cGxpY2l0bHkgdG9sZXJhdGVkIgorK3RvbGVyYXRlX2NwcmVnX29ubHlfaW5faW5jb21pbmdf c3RyZWFtKGNoYXIgKm5hbWUpICIlcyBpcyBpbiBpbmNvbWluZyBzdHJlYW0gYnV0IG5vdCBvbiBk ZXN0aW5hdGlvbiBidXQgdGhpcyBpcyBleHBsaWNpdGx5IHRvbGVyYXRlZCIKKy0tIAorMi41Mi4w CisKCmRpZmYgLS1naXQgYS9rdm0tdGFyZ2V0LWFybS1tYWNoaW5lLUhhbmRsZS1Ub2xlcmFuY2VP bmx5U3JjVGVzdFZhbHVlLS5wYXRjaCBiL2t2bS10YXJnZXQtYXJtLW1hY2hpbmUtSGFuZGxlLVRv bGVyYW5jZU9ubHlTcmNUZXN0VmFsdWUtLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAuLjczNGZiODEKLS0tIC9kZXYvbnVsbAorKysgYi9rdm0tdGFyZ2V0LWFybS1tYWNo aW5lLUhhbmRsZS1Ub2xlcmFuY2VPbmx5U3JjVGVzdFZhbHVlLS5wYXRjaApAQCAtMCwwICsxLDc0 IEBACitGcm9tIGVkMjE3ZGRhMjJjNzdhZDc4MDE1OTc1NWY0OGZhZjI2YTc0NTMxYTYgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBFcmljIEF1Z2VyIDxlcmljLmF1Z2VyQHJlZGhhdC5j b20+CitEYXRlOiBNb24sIDIwIEFwciAyMDI2IDE2OjAzOjUzICswMjAwCitTdWJqZWN0OiBbUEFU Q0ggMDEyLzExNl0gdGFyZ2V0L2FybS9tYWNoaW5lOiBIYW5kbGUgVG9sZXJhbmNlT25seVNyY1Rl c3RWYWx1ZQorIG1pZ3JhdGlvbiB0b2xlcmFuY2UKKworUkgtQXV0aG9yOiBFcmljIEF1Z2VyIDxl cmljLmF1Z2VyQHJlZGhhdC5jb20+CitSSC1NZXJnZVJlcXVlc3Q6IDQ4ODogW3JoZWwtMTBdIEJh Y2twb3J0IGNyb3NzLWtlcm5lbCBtaWdyYXRpb24gZmFpbHVyZSBtaXRpZ2F0aW9uIHNlcmllcwor UkgtSmlyYTogUkhFTC0xNzQ4NTgKK1JILUFja2VkLWJ5OiBNb2hhbW1hZGZhaXogQmF3YSA8Tm9u ZT4KK1JILUFja2VkLWJ5OiBTZWJhc3RpYW4gT3R0IDxzZWJvdHRAcmVkaGF0LmNvbT4KK1JILUFj a2VkLWJ5OiBHYXZpbiBTaGFuIDxnc2hhbkByZWRoYXQuY29tPgorUkgtQ29tbWl0OiBbMTIvMTZd IGRmNDQzNDdmZDUzNzIzZWU4MWM0MTY3ZTgyYmI4NWExNWI5NGFjMjMgKGVhdWdlcjEvY2VudG9z LXFlbXUta3ZtKQorCitQYXNzIHRoZSB2YWx1ZSBvZiB0aGUgaW5jb21pbmcgcmVnaXN0ZXIgdG8K K2hhbmRsZV9jcHJlZ19vbmx5X2luX2luY29taW5nX3N0cmVhbSBhbmQgY2hlY2sgd2hldGhlciB0 aGVyZSBpcworYSBtYXRjaGluZyBUb2xlcmFuY2VPbmx5U3JjVGVzdFZhbHVlIHRvbGVyYW5jZS4K KworU2lnbmVkLW9mZi1ieTogRXJpYyBBdWdlciA8ZXJpYy5hdWdlckByZWRoYXQuY29tPgorTWVz c2FnZS1pZDogMjAyNjA0MjAxNDA1NTIuMTA0MzY5LTQtZXJpYy5hdWdlckByZWRoYXQuY29tCitT aWduZWQtb2ZmLWJ5OiBQZXRlciBNYXlkZWxsIDxwZXRlci5tYXlkZWxsQGxpbmFyby5vcmc+CitS ZXZpZXdlZC1ieTogUGV0ZXIgTWF5ZGVsbCA8cGV0ZXIubWF5ZGVsbEBsaW5hcm8ub3JnPgorKGNo ZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgOWQyZTcxN2RhNGY0ODIyZGRiODljMWFlNzhhMGFmZDMy OGExZjU1NCkKK1NpZ25lZC1vZmYtYnk6IEVyaWMgQXVnZXIgPGVyaWMuYXVnZXJAcmVkaGF0LmNv bT4KKy0tLQorIHRhcmdldC9hcm0vbWFjaGluZS5jIHwgMTQgKysrKysrKysrKy0tLS0KKyAxIGZp bGUgY2hhbmdlZCwgMTAgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdp dCBhL3RhcmdldC9hcm0vbWFjaGluZS5jIGIvdGFyZ2V0L2FybS9tYWNoaW5lLmMKK2luZGV4IDBk NzQ5ZmM4ZmIuLmI3NTA5N2YzNzEgMTAwNjQ0CistLS0gYS90YXJnZXQvYXJtL21hY2hpbmUuYwor KysrIGIvdGFyZ2V0L2FybS9tYWNoaW5lLmMKK0BAIC05OTEsMTIgKzk5MSwxNSBAQCBzdGF0aWMg dm9pZCBoYW5kbGVfY3ByZWdfbWlzc2luZ19pbl9pbmNvbWluZ19zdHJlYW0oQVJNQ1BVICpjcHUs IHVpbnQ2NF90IGt2bWlkeAorICAqIG5vIGNwcmVnIG1pZyB0b2xlcmFuY2UgaXMgbWF0Y2hlZCBm b3IgdGhpcyBAa3ZtaWR4CisgICogUmV0dXJuIHRydWUgaWYgdGhlIG1pZ3JhdGlvbiBzaG91bGQg ZXZlbnR1YWxseSBmYWlsCisgICovCistc3RhdGljIGJvb2wgaGFuZGxlX2NwcmVnX29ubHlfaW5f aW5jb21pbmdfc3RyZWFtKEFSTUNQVSAqY3B1LCB1aW50NjRfdCBrdm1pZHgpCisrc3RhdGljIGJv b2wKKytoYW5kbGVfY3ByZWdfb25seV9pbl9pbmNvbWluZ19zdHJlYW0oQVJNQ1BVICpjcHUsIHVp bnQ2NF90IGt2bWlkeCwgdWludDY0X3QgdmFsdWUpCisgeworICAgICBnX2F1dG9mcmVlIGdjaGFy ICpuYW1lID0gcHJpbnRfcmVnaXN0ZXJfbmFtZShrdm1pZHgpOworIAorICAgICBpZiAoYXJtX2Nw dV9tYXRjaF9jcHJlZ19taWdfdG9sZXJhbmNlKGNwdSwga3ZtaWR4LAorLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsIDAsIFRvbGVyYW5jZU5vdE9uQm90aEVuZHMp KSB7CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwgMCwgVG9s ZXJhbmNlTm90T25Cb3RoRW5kcykgfHwKKysgICAgICAgIGFybV9jcHVfbWF0Y2hfY3ByZWdfbWln X3RvbGVyYW5jZShjcHUsIGt2bWlkeCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB2YWx1ZSwgMCwgVG9sZXJhbmNlT25seVNyY1Rlc3RWYWx1ZSkpIHsKKyAgICAg ICAgIHRyYWNlX3RvbGVyYXRlX2NwcmVnX29ubHlfaW5faW5jb21pbmdfc3RyZWFtKG5hbWUpOwor ICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICB9CitAQCAtMTA0OSw3ICsxMDUyLDkgQEAgc3Rh dGljIGludCBjcHVfcG9zdF9sb2FkKHZvaWQgKm9wYXF1ZSwgaW50IHZlcnNpb25faWQpCisgICAg ICAgICB9CisgICAgICAgICBpZiAoY3B1LT5jcHJlZ192bXN0YXRlX2luZGV4ZXNbdl0gPCBjcHUt PmNwcmVnX2luZGV4ZXNbaV0pIHsKKyAgICAgICAgICAgICBmYWlsID0gaGFuZGxlX2NwcmVnX29u bHlfaW5faW5jb21pbmdfc3RyZWFtKGNwdSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNwdS0+Y3ByZWdfdm1zdGF0ZV9pbmRleGVzW3Yr K10pOworKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgY3B1LT5jcHJlZ192bXN0YXRlX2luZGV4ZXNbdl0sCisrICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjcHUtPmNwcmVnX3Ztc3RhdGVf dmFsdWVzW3ZdKTsKKysgICAgICAgICAgICB2Kys7CisgICAgICAgICAgICAgY29udGludWU7Cisg ICAgICAgICB9CisgICAgICAgICAvKiBtYXRjaGluZyByZWdpc3RlciwgY29weSB0aGUgdmFsdWUg b3ZlciAqLworQEAgLTEwNzIsNyArMTA3Nyw4IEBAIHN0YXRpYyBpbnQgY3B1X3Bvc3RfbG9hZCh2 b2lkICpvcGFxdWUsIGludCB2ZXJzaW9uX2lkKQorICAgICAgKi8KKyAgICAgZm9yICggOyB2IDwg Y3B1LT5jcHJlZ192bXN0YXRlX2FycmF5X2xlbjsgdisrKSB7CisgICAgICAgICBmYWlsID0gaGFu ZGxlX2NwcmVnX29ubHlfaW5faW5jb21pbmdfc3RyZWFtKGNwdSwKKy0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3B1LT5jcHJlZ192bXN0YXRlX2lu ZGV4ZXNbdl0pOworKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBjcHUtPmNwcmVnX3Ztc3RhdGVfaW5kZXhlc1t2XSwKKysgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3B1LT5jcHJlZ192bXN0YXRlX3Zh bHVlc1t2XSk7CisgICAgIH0KKyAgICAgaWYgKGZhaWwpIHsKKyAgICAgICAgIHJldHVybiAtMTsK Ky0tIAorMi41Mi4wCisKCmRpZmYgLS1naXQgYS9rdm0tdGFyZ2V0LWFybS1tYWNoaW5lLVRyYWNl LWFsbC1yZWdpc3Rlci1taXNtYXRjaGVzLnBhdGNoIGIva3ZtLXRhcmdldC1hcm0tbWFjaGluZS1U cmFjZS1hbGwtcmVnaXN0ZXItbWlzbWF0Y2hlcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwLi42MDRlOTQ3Ci0tLSAvZGV2L251bGwKKysrIGIva3ZtLXRhcmdldC1hcm0t bWFjaGluZS1UcmFjZS1hbGwtcmVnaXN0ZXItbWlzbWF0Y2hlcy5wYXRjaApAQCAtMCwwICsxLDc4 IEBACitGcm9tIDJlZTZlNWVhNWFiNmI0MzUzNDNmMDU4NWJhM2RmYTFjYWMzMTM4ODQgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBFcmljIEF1Z2VyIDxlcmljLmF1Z2VyQHJlZGhhdC5j b20+CitEYXRlOiBGcmksIDYgTWFyIDIwMjYgMDk6MDE6MTIgKzAwMDAKK1N1YmplY3Q6IFtQQVRD SCAwMDgvMTE2XSB0YXJnZXQvYXJtL21hY2hpbmU6IFRyYWNlIGFsbCByZWdpc3RlciBtaXNtYXRj aGVzCisKK1JILUF1dGhvcjogRXJpYyBBdWdlciA8ZXJpYy5hdWdlckByZWRoYXQuY29tPgorUkgt TWVyZ2VSZXF1ZXN0OiA0ODg6IFtyaGVsLTEwXSBCYWNrcG9ydCBjcm9zcy1rZXJuZWwgbWlncmF0 aW9uIGZhaWx1cmUgbWl0aWdhdGlvbiBzZXJpZXMKK1JILUppcmE6IFJIRUwtMTc0ODU4CitSSC1B Y2tlZC1ieTogTW9oYW1tYWRmYWl6IEJhd2EgPE5vbmU+CitSSC1BY2tlZC1ieTogU2ViYXN0aWFu IE90dCA8c2Vib3R0QHJlZGhhdC5jb20+CitSSC1BY2tlZC1ieTogR2F2aW4gU2hhbiA8Z3NoYW5A cmVkaGF0LmNvbT4KK1JILUNvbW1pdDogWzgvMTZdIDI3MDU2M2I3NDQ2NWU0YmY0MjkwMWEyZjAz MzJhNjE2MjFiMjIxMjMgKGVhdWdlcjEvY2VudG9zLXFlbXUta3ZtKQorCitBdCB0aGUgbW9tZW50 LCBjcHVfcG9zdF9sb2FkKCkgZXhpdHMgd2l0aCBlcnJvciBvbiB0aGUgZmlyc3QKK2NhdGNoIG9m IHVuZXhwZWN0ZWQgcmVnaXN0ZXIgaW4gdGhlIGluY29taW5nIHN0cmVhbS4gTGV0IHRoZSBjb2Rl CitnbyBmdXJ0aGVyIGFuZCB0cmFjZSBhbGwgdGhlIGlzc3VlcyBiZWZvcmUgZXhpdGluZy4KKwor U2lnbmVkLW9mZi1ieTogRXJpYyBBdWdlciA8ZXJpYy5hdWdlckByZWRoYXQuY29tPgorUmV2aWV3 ZWQtYnk6IFBldGVyIE1heWRlbGwgPHBldGVyLm1heWRlbGxAbGluYXJvLm9yZz4KK01lc3NhZ2Ut aWQ6IDIwMjYwMzA0MTAxNjI1LjE5NjI2MzMtNy1lcmljLmF1Z2VyQHJlZGhhdC5jb20KK1NpZ25l ZC1vZmYtYnk6IFBldGVyIE1heWRlbGwgPHBldGVyLm1heWRlbGxAbGluYXJvLm9yZz4KKyhjaGVy cnkgcGlja2VkIGZyb20gY29tbWl0IGUyNWM2M2MzYjM2ODExOGRjMTA5ZTQ5MzkzNTU0Zjg1ZjEy MDNkMWUpCitTaWduZWQtb2ZmLWJ5OiBFcmljIEF1Z2VyIDxlcmljLmF1Z2VyQHJlZGhhdC5jb20+ CistLS0KKyB0YXJnZXQvYXJtL21hY2hpbmUuYyB8IDEyICsrKysrKysrKystLQorIDEgZmlsZSBj aGFuZ2VkLCAxMCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEv dGFyZ2V0L2FybS9tYWNoaW5lLmMgYi90YXJnZXQvYXJtL21hY2hpbmUuYworaW5kZXggMzZjOWQ5 OTQ2ZS4uNzAxNTdlMDAwYiAxMDA2NDQKKy0tLSBhL3RhcmdldC9hcm0vbWFjaGluZS5jCisrKysg Yi90YXJnZXQvYXJtL21hY2hpbmUuYworQEAgLTk3MSw2ICs5NzEsNyBAQCBzdGF0aWMgaW50IGNw dV9wb3N0X2xvYWQodm9pZCAqb3BhcXVlLCBpbnQgdmVyc2lvbl9pZCkKKyB7CisgICAgIEFSTUNQ VSAqY3B1ID0gb3BhcXVlOworICAgICBDUFVBUk1TdGF0ZSAqZW52ID0gJmNwdS0+ZW52OworKyAg ICBib29sIGZhaWwgPSBmYWxzZTsKKyAgICAgaW50IGksIHY7CisgCisgICAgIHRyYWNlX2NwdV9w b3N0X2xvYWQoY3B1LT5jcHJlZ192bXN0YXRlX2FycmF5X2xlbiwKK0BAIC0xMDAzLDEzICsxMDA0 LDE0IEBAIHN0YXRpYyBpbnQgY3B1X3Bvc3RfbG9hZCh2b2lkICpvcGFxdWUsIGludCB2ZXJzaW9u X2lkKQorICAgICAgKi8KKyAKKyAgICAgZm9yIChpID0gMCwgdiA9IDA7IGkgPCBjcHUtPmNwcmVn X2FycmF5X2xlbgorLSAgICAgICAgICAgICAmJiB2IDwgY3B1LT5jcHJlZ192bXN0YXRlX2FycmF5 X2xlbjsgaSsrKSB7CisrICAgICAgICAgICAgICYmIHYgPCBjcHUtPmNwcmVnX3Ztc3RhdGVfYXJy YXlfbGVuOykgeworICAgICAgICAgaWYgKGNwdS0+Y3ByZWdfdm1zdGF0ZV9pbmRleGVzW3ZdID4g Y3B1LT5jcHJlZ19pbmRleGVzW2ldKSB7CisgICAgICAgICAgICAgZ19hdXRvZnJlZSBnY2hhciAq bmFtZSA9IHByaW50X3JlZ2lzdGVyX25hbWUoY3B1LT5jcHJlZ19pbmRleGVzW2ldKTsKKyAKKyAg ICAgICAgICAgICB3YXJuX3JlcG9ydCgiJXM6ICVzICIKKyAgICAgICAgICAgICAgICAgICAgICAg ICAiZXhwZWN0ZWQgYnkgdGhlIGRlc3RpbmF0aW9uIGJ1dCBub3QgaW4gdGhlIGluY29taW5nIHN0 cmVhbTogIgorICAgICAgICAgICAgICAgICAgICAgICAgICJza2lwIGl0IiwgX19mdW5jX18sIG5h bWUpOworKyAgICAgICAgICAgIGkrKzsKKyAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAg IH0KKyAgICAgICAgIGlmIChjcHUtPmNwcmVnX3Ztc3RhdGVfaW5kZXhlc1t2XSA8IGNwdS0+Y3By ZWdfaW5kZXhlc1tpXSkgeworQEAgLTEwMTcsMTIgKzEwMTksMTggQEAgc3RhdGljIGludCBjcHVf cG9zdF9sb2FkKHZvaWQgKm9wYXF1ZSwgaW50IHZlcnNpb25faWQpCisgCisgICAgICAgICAgICAg ZXJyb3JfcmVwb3J0KCIlczogJXMgaW4gdGhlIGluY29taW5nIHN0cmVhbSBidXQgdW5rbm93biBv biB0aGUgZGVzdGluYXRpb246ICIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgImZhaWwgbWln cmF0aW9uIiwgX19mdW5jX18sIG5hbWUpOworLSAgICAgICAgICAgIHJldHVybiAtMTsKKysgICAg ICAgICAgICB2Kys7CisrICAgICAgICAgICAgZmFpbCA9IHRydWU7CisrICAgICAgICAgICAgY29u dGludWU7CisgICAgICAgICB9CisgICAgICAgICAvKiBtYXRjaGluZyByZWdpc3RlciwgY29weSB0 aGUgdmFsdWUgb3ZlciAqLworICAgICAgICAgY3B1LT5jcHJlZ192YWx1ZXNbaV0gPSBjcHUtPmNw cmVnX3Ztc3RhdGVfdmFsdWVzW3ZdOworKyAgICAgICAgaSsrOworICAgICAgICAgdisrOworICAg ICB9CisrICAgIGlmIChmYWlsKSB7CisrICAgICAgICByZXR1cm4gLTE7CisrICAgIH0KKyAKKyAg ICAgaWYgKGt2bV9lbmFibGVkKCkpIHsKKyAgICAgICAgIGlmICgha3ZtX2FybV9jcHVfcG9zdF9s b2FkKGNwdSkpIHsKKy0tIAorMi41Mi4wCisKCmRpZmYgLS1naXQgYS9rdm0tdGFyZ2V0LWFybS1t YWNoaW5lLVRyYWNlLWNwcmVnLW5hbWVzLXdoaWNoLWRvLW5vdC1tYS5wYXRjaCBiL2t2bS10YXJn ZXQtYXJtLW1hY2hpbmUtVHJhY2UtY3ByZWctbmFtZXMtd2hpY2gtZG8tbm90LW1hLnBhdGNoCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI3OGFjNTIKLS0tIC9kZXYvbnVsbAor KysgYi9rdm0tdGFyZ2V0LWFybS1tYWNoaW5lLVRyYWNlLWNwcmVnLW5hbWVzLXdoaWNoLWRvLW5v dC1tYS5wYXRjaApAQCAtMCwwICsxLDkzIEBACitGcm9tIDgxMDMxOGFiZGNmOTU3NGNkMzAwMzUw NjQyYTY3MWNjMWJhOTE1NTYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBFcmljIEF1 Z2VyIDxlcmljLmF1Z2VyQHJlZGhhdC5jb20+CitEYXRlOiBGcmksIDYgTWFyIDIwMjYgMDk6MDE6 MTIgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSCAwMDcvMTE2XSB0YXJnZXQvYXJtL21hY2hpbmU6IFRy YWNlIGNwcmVnIG5hbWVzIHdoaWNoIGRvIG5vdAorIG1hdGNoIG9uIG1pZ3JhdGlvbgorCitSSC1B dXRob3I6IEVyaWMgQXVnZXIgPGVyaWMuYXVnZXJAcmVkaGF0LmNvbT4KK1JILU1lcmdlUmVxdWVz dDogNDg4OiBbcmhlbC0xMF0gQmFja3BvcnQgY3Jvc3Mta2VybmVsIG1pZ3JhdGlvbiBmYWlsdXJl IG1pdGlnYXRpb24gc2VyaWVzCitSSC1KaXJhOiBSSEVMLTE3NDg1OAorUkgtQWNrZWQtYnk6IE1v aGFtbWFkZmFpeiBCYXdhIDxOb25lPgorUkgtQWNrZWQtYnk6IFNlYmFzdGlhbiBPdHQgPHNlYm90 dEByZWRoYXQuY29tPgorUkgtQWNrZWQtYnk6IEdhdmluIFNoYW4gPGdzaGFuQHJlZGhhdC5jb20+ CitSSC1Db21taXQ6IFs3LzE2XSA0ZmQyYzkxMTU4NTExYTY3MmRhMDU2NDNjOTYxZmU1NWY5NjRm ZTMxIChlYXVnZXIxL2NlbnRvcy1xZW11LWt2bSkKKworV2hlbmV2ZXIgdGhlcmUgaXMgYSBtaXNt YXRjaCBiZXR3ZWVuIGNwcmVnIGluZGV4ZXMgaW4gdGhlIGluY29taW5nCitzdHJlYW0gYW5kIGNw cmVncyBleHBvc2VkIGJ5IHRoZSBkZXN0aW5hdGlvbiBvdXRwdXQgdGhlIG5hbWUgb2YKK3RoZSBy ZWdpc3Rlci4gV2UgdXNlIGEgcHJpbnRfcmVnaXN0ZXJfbmFtZSgpIHdyYXBwZXIgaGVscGVyLiBB dCB0aGUKK21vbWVudCB3ZSBhcmUgb25seSBhYmxlIHRvIGRvIGEgbmljZSBkZWNvZGluZyBvZiB0 aGUgaW5kZXggZm9yCitLVk0gcmVncy4KKworV2l0aG91dCB0aGlzIHBhdGNoLCB0aGUgZXJyb3Ig d291bGQgYmU6CitxZW11LXN5c3RlbS1hYXJjaDY0OiBsb2FkIG9mIG1pZ3JhdGlvbiBmYWlsZWQ6 IE9wZXJhdGlvbiBub3QgcGVybWl0dGVkOgorZXJyb3Igd2hpbGUgbG9hZGluZyBzdGF0ZSBmb3Ig aW5zdGFuY2UgMHgwIG9mIGRldmljZSAnY3B1JzogcG9zdCBsb2FkCitob29rIGZhaWxlZCBmb3I6 IGNwdSwgdmVyc2lvbl9pZDogMjIsIG1pbmltdW1fdmVyc2lvbjogMjIsIHJldDogLTEKK3doaWNo IGlzIG5vdCBoZWxwZnVsIGZvciB0aGUgZW5kIHVzZXIgdG8gdW5kZXJzdGFuZCB0aGUgYWN0dWFs Citpc3N1ZS4KKworVGhpcyBwYXRjaCBhZGRzIHRoZSBhY3R1YWwgaW5mb3JtYXRpb24gYWJvdXQg dGhlIHByb2JtZToKK3FlbXUtc3lzdGVtLWFhcmNoNjQ6IGNwdV9wb3N0X2xvYWQ6IHN5c3RlbSBy ZWdpc3Rlcgorb3AwOjMgb3AxOjAgY3JuOjIgY3JtOjAgb3AyOjMgaW4gdGhlIGluY29taW5nIHN0 cmVhbSBidXQKK3Vua25vd24gb24gdGhlIGRlc3RpbmF0aW9uLCBmYWlsIG1pZ3JhdGlvbgorCitT aWduZWQtb2ZmLWJ5OiBFcmljIEF1Z2VyIDxlcmljLmF1Z2VyQHJlZGhhdC5jb20+CitSZXZpZXdl ZC1ieTogUGV0ZXIgTWF5ZGVsbCA8cGV0ZXIubWF5ZGVsbEBsaW5hcm8ub3JnPgorTWVzc2FnZS1p ZDogMjAyNjAzMDQxMDE2MjUuMTk2MjYzMy02LWVyaWMuYXVnZXJAcmVkaGF0LmNvbQorU2lnbmVk LW9mZi1ieTogUGV0ZXIgTWF5ZGVsbCA8cGV0ZXIubWF5ZGVsbEBsaW5hcm8ub3JnPgorKGNoZXJy eSBwaWNrZWQgZnJvbSBjb21taXQgZWFjMWU2MTBmNDg5MjMwODRjYjA3YjNmMWVhYTA1ZjVmZWRj Y2Q4NSkKK1NpZ25lZC1vZmYtYnk6IEVyaWMgQXVnZXIgPGVyaWMuYXVnZXJAcmVkaGF0LmNvbT4K Ky0tLQorIHRhcmdldC9hcm0vbWFjaGluZS5jIHwgMjEgKysrKysrKysrKysrKysrKysrKy0tCisg MSBmaWxlIGNoYW5nZWQsIDE5IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYg LS1naXQgYS90YXJnZXQvYXJtL21hY2hpbmUuYyBiL3RhcmdldC9hcm0vbWFjaGluZS5jCitpbmRl eCA1Y2FmMjg4NWMyLi4zNmM5ZDk5NDZlIDEwMDY0NAorLS0tIGEvdGFyZ2V0L2FybS9tYWNoaW5l LmMKKysrKyBiL3RhcmdldC9hcm0vbWFjaGluZS5jCitAQCAtMSw1ICsxLDYgQEAKKyAjaW5jbHVk ZSAicWVtdS9vc2RlcC5oIgorICNpbmNsdWRlICJjcHUuaCIKKysjaW5jbHVkZSAiY3ByZWdzLmgi CisgI2luY2x1ZGUgInRyYWNlLmgiCisgI2luY2x1ZGUgInFlbXUvZXJyb3ItcmVwb3J0LmgiCisg I2luY2x1ZGUgInN5c3RlbS9rdm0uaCIKK0BAIC05NTcsNiArOTU4LDE1IEBAIHN0YXRpYyBpbnQg Y3B1X3ByZV9sb2FkKHZvaWQgKm9wYXF1ZSkKKyAgICAgcmV0dXJuIDA7CisgfQorIAorK3N0YXRp YyBnY2hhciAqcHJpbnRfcmVnaXN0ZXJfbmFtZSh1aW50NjRfdCBrdm1fcmVnaWR4KQorK3sKKysg ICAgaWYgKGt2bV9lbmFibGVkKCkpIHsKKysgICAgICAgIHJldHVybiBrdm1fcHJpbnRfcmVnaXN0 ZXJfbmFtZShrdm1fcmVnaWR4KTsKKysgICAgfSBlbHNlIHsKKysgICAgICAgIHJldHVybiBnX3N0 cmR1cF9wcmludGYoInN5c3RlbSByZWdpc3RlciAweCV4Iiwga3ZtX3RvX2NwcmVnX2lkKGt2bV9y ZWdpZHgpKTsKKysgICAgfQorK30KKysKKyBzdGF0aWMgaW50IGNwdV9wb3N0X2xvYWQodm9pZCAq b3BhcXVlLCBpbnQgdmVyc2lvbl9pZCkKKyB7CisgICAgIEFSTUNQVSAqY3B1ID0gb3BhcXVlOwor QEAgLTk5NSwxMSArMTAwNSwxOCBAQCBzdGF0aWMgaW50IGNwdV9wb3N0X2xvYWQodm9pZCAqb3Bh cXVlLCBpbnQgdmVyc2lvbl9pZCkKKyAgICAgZm9yIChpID0gMCwgdiA9IDA7IGkgPCBjcHUtPmNw cmVnX2FycmF5X2xlbgorICAgICAgICAgICAgICAmJiB2IDwgY3B1LT5jcHJlZ192bXN0YXRlX2Fy cmF5X2xlbjsgaSsrKSB7CisgICAgICAgICBpZiAoY3B1LT5jcHJlZ192bXN0YXRlX2luZGV4ZXNb dl0gPiBjcHUtPmNwcmVnX2luZGV4ZXNbaV0pIHsKKy0gICAgICAgICAgICAvKiByZWdpc3RlciBp biBvdXIgbGlzdCBidXQgbm90IGluY29taW5nIDogc2tpcCBpdCAqLworKyAgICAgICAgICAgIGdf YXV0b2ZyZWUgZ2NoYXIgKm5hbWUgPSBwcmludF9yZWdpc3Rlcl9uYW1lKGNwdS0+Y3ByZWdfaW5k ZXhlc1tpXSk7CisrCisrICAgICAgICAgICAgd2Fybl9yZXBvcnQoIiVzOiAlcyAiCisrICAgICAg ICAgICAgICAgICAgICAgICAgImV4cGVjdGVkIGJ5IHRoZSBkZXN0aW5hdGlvbiBidXQgbm90IGlu IHRoZSBpbmNvbWluZyBzdHJlYW06ICIKKysgICAgICAgICAgICAgICAgICAgICAgICAic2tpcCBp dCIsIF9fZnVuY19fLCBuYW1lKTsKKyAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgIH0K KyAgICAgICAgIGlmIChjcHUtPmNwcmVnX3Ztc3RhdGVfaW5kZXhlc1t2XSA8IGNwdS0+Y3ByZWdf aW5kZXhlc1tpXSkgeworLSAgICAgICAgICAgIC8qIHJlZ2lzdGVyIGluIHRoZWlyIGxpc3QgYnV0 IG5vdCBvdXJzOiBmYWlsIG1pZ3JhdGlvbiAqLworKyAgICAgICAgICAgIGdfYXV0b2ZyZWUgZ2No YXIgKm5hbWUgPSBwcmludF9yZWdpc3Rlcl9uYW1lKGNwdS0+Y3ByZWdfdm1zdGF0ZV9pbmRleGVz W3ZdKTsKKysKKysgICAgICAgICAgICBlcnJvcl9yZXBvcnQoIiVzOiAlcyBpbiB0aGUgaW5jb21p bmcgc3RyZWFtIGJ1dCB1bmtub3duIG9uIHRoZSBkZXN0aW5hdGlvbjogIgorKyAgICAgICAgICAg ICAgICAgICAgICAgICAiZmFpbCBtaWdyYXRpb24iLCBfX2Z1bmNfXywgbmFtZSk7CisgICAgICAg ICAgICAgcmV0dXJuIC0xOworICAgICAgICAgfQorICAgICAgICAgLyogbWF0Y2hpbmcgcmVnaXN0 ZXIsIGNvcHkgdGhlIHZhbHVlIG92ZXIgKi8KKy0tIAorMi41Mi4wCisKCmRpZmYgLS1naXQgYS9r dm0tdGFyZ2V0LWFybS1tYWNoaW5lLVVzZS1WTVNUQVRFX1ZBUlJBWV9JTlQzMl9BTExPQy1mby5w YXRjaCBiL2t2bS10YXJnZXQtYXJtLW1hY2hpbmUtVXNlLVZNU1RBVEVfVkFSUkFZX0lOVDMyX0FM TE9DLWZvLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVhNjZjM2IK LS0tIC9kZXYvbnVsbAorKysgYi9rdm0tdGFyZ2V0LWFybS1tYWNoaW5lLVVzZS1WTVNUQVRFX1ZB UlJBWV9JTlQzMl9BTExPQy1mby5wYXRjaApAQCAtMCwwICsxLDE5NCBAQAorRnJvbSA5MDRiYWZi ZWJjMzJjMDJkZGMxOTA2YWZkMTk0ZjJjNDJjODEyNzU5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQorRnJvbTogRXJpYyBBdWdlciA8ZXJpYy5hdWdlckByZWRoYXQuY29tPgorRGF0ZTogRnJpLCA2 IE1hciAyMDI2IDA5OjAxOjEyICswMDAwCitTdWJqZWN0OiBbUEFUQ0ggMDA0LzExNl0gdGFyZ2V0 L2FybS9tYWNoaW5lOiBVc2UgVk1TVEFURV9WQVJSQVlfSU5UMzJfQUxMT0MKKyBmb3IgY3ByZWcg YXJyYXlzCisKK1JILUF1dGhvcjogRXJpYyBBdWdlciA8ZXJpYy5hdWdlckByZWRoYXQuY29tPgor UkgtTWVyZ2VSZXF1ZXN0OiA0ODg6IFtyaGVsLTEwXSBCYWNrcG9ydCBjcm9zcy1rZXJuZWwgbWln cmF0aW9uIGZhaWx1cmUgbWl0aWdhdGlvbiBzZXJpZXMKK1JILUppcmE6IFJIRUwtMTc0ODU4CitS SC1BY2tlZC1ieTogTW9oYW1tYWRmYWl6IEJhd2EgPE5vbmU+CitSSC1BY2tlZC1ieTogU2ViYXN0 aWFuIE90dCA8c2Vib3R0QHJlZGhhdC5jb20+CitSSC1BY2tlZC1ieTogR2F2aW4gU2hhbiA8Z3No YW5AcmVkaGF0LmNvbT4KK1JILUNvbW1pdDogWzQvMTZdIDgzM2FkN2YyYmU4YTAyZWI4MTFjODU2 MmQ4MDllNGNjMmVlZGMyYTYgKGVhdWdlcjEvY2VudG9zLXFlbXUta3ZtKQorCitDb25mbGljdHM6 CistIGNvbnRleHR1YWwgY29uZmxpY3QgaW4gdGFyZ2V0L2FybS90cmFjZS1ldmVudHMgYXMgd2Ug ZG9uJ3QgaGF2ZQorICBjcHUuYywgYXJtLXBvd2VyY3RsLmMsIHRjZy9wc2NpLmMgYW5kIGh2Zi9o dmYuYyB0cmFjZSBldmVudHMKKy0gdGFyZ2V0L2FybS93aHB4L3docHgtYWxsLmMgZG9lcyBub3Qg ZXhpc3QgZG93bnN0cmVhbQorCitUaGlzIHJlbW92ZXMgdGhlIG5lZWQgZm9yIGV4cGxpY2l0bHkg YWxsb2NhdGluZyBjcHJlZ192bXN0YXRlIGFycmF5cy4KK09uIHBvc3Qgc2F2ZSB3ZSBzaW1wbHkg cG9pbnQgdG8gY3ByZWcgYXJyYXlzIGFuZCBzZXQgdGhlIGxlbmd0aAorYWNjb3JkaW5nbHkuCisK K1JlbW92ZSBWTVNUQVRFX1ZBUlJBWV9JTlQzMiBmb3IgY3ByZWdfdm1zdGF0ZV9hcnJheV9sZW4g YXMgbm93Cit0aGUgYXJyYXkgaXMgZHluYW1pY2FsbHkgYWxsb2NhdGVkLgorCitBbHNvIGFkZCBh IHRyYWNlIHBvaW50IG9uIHBvc3RfbG9hZCB0byB0cmFjZSBwb3RlbnRpYWwgbWlzbWF0Y2gKK2Jl dHdlZW4gdGhlIG51bWJlciBvZiBpbmNvbWluZyBjcHJlZ3MgdmVyc3VzIGN1cnJlbnQgb25lcy4K KworU2lnbmVkLW9mZi1ieTogRXJpYyBBdWdlciA8ZXJpYy5hdWdlckByZWRoYXQuY29tPgorUmV2 aWV3ZWQtYnk6IFBldGVyIE1heWRlbGwgPHBldGVyLm1heWRlbGxAbGluYXJvLm9yZz4KK01lc3Nh Z2UtaWQ6IDIwMjYwMzA0MTAxNjI1LjE5NjI2MzMtMy1lcmljLmF1Z2VyQHJlZGhhdC5jb20KK1N1 Z2dlc3RlZC1ieTogUGV0ZXIgTWF5ZGVsbCA8cGV0ZXIubWF5ZGVsbEBsaW5hcm8ub3JnPgorUmV2 aWV3ZWQtYnk6IFBldGVyIE1heWRlbGwgPHBldGVyLm1heWRlbGxAbGluYXJvLm9yZz4KK1NpZ25l ZC1vZmYtYnk6IFBldGVyIE1heWRlbGwgPHBldGVyLm1heWRlbGxAbGluYXJvLm9yZz4KKyhjaGVy cnkgcGlja2VkIGZyb20gY29tbWl0IGFiMmRkYzdiNjYyZDM0YzI0MmRkZmNmYmUzNTk5NjQxN2Iw NDdjZTIpCitTaWduZWQtb2ZmLWJ5OiBFcmljIEF1Z2VyIDxlcmljLmF1Z2VyQHJlZGhhdC5jb20+ CistLS0KKyB0YXJnZXQvYXJtL2hlbHBlci5jICAgICB8ICA1IC0tLS0tCisgdGFyZ2V0L2FybS9r dm0uYyAgICAgICAgfCAgNSAtLS0tLQorIHRhcmdldC9hcm0vbWFjaGluZS5jICAgIHwgNDUgKysr KysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0KKyB0YXJnZXQvYXJtL3RyYWNl LWV2ZW50cyB8ICAzICsrKworIDQgZmlsZXMgY2hhbmdlZCwgMzUgaW5zZXJ0aW9ucygrKSwgMjMg ZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS90YXJnZXQvYXJtL2hlbHBlci5jIGIvdGFyZ2V0 L2FybS9oZWxwZXIuYworaW5kZXggMWNmZjRjNWE2OC4uNWU2NDNlZDZiMiAxMDA2NDQKKy0tLSBh L3RhcmdldC9hcm0vaGVscGVyLmMKKysrKyBiL3RhcmdldC9hcm0vaGVscGVyLmMKK0BAIC0yNDcs MTUgKzI0NywxMCBAQCB2b2lkIGluaXRfY3ByZWdfbGlzdChBUk1DUFUgKmNwdSkKKyAgICAgaWYg KGFycmF5bGVuKSB7CisgICAgICAgICBjcHUtPmNwcmVnX2luZGV4ZXMgPSBnX25ldyh1aW50NjRf dCwgYXJyYXlsZW4pOworICAgICAgICAgY3B1LT5jcHJlZ192YWx1ZXMgPSBnX25ldyh1aW50NjRf dCwgYXJyYXlsZW4pOworLSAgICAgICAgY3B1LT5jcHJlZ192bXN0YXRlX2luZGV4ZXMgPSBnX25l dyh1aW50NjRfdCwgYXJyYXlsZW4pOworLSAgICAgICAgY3B1LT5jcHJlZ192bXN0YXRlX3ZhbHVl cyA9IGdfbmV3KHVpbnQ2NF90LCBhcnJheWxlbik7CisgICAgIH0gZWxzZSB7CisgICAgICAgICBj cHUtPmNwcmVnX2luZGV4ZXMgPSBOVUxMOworICAgICAgICAgY3B1LT5jcHJlZ192YWx1ZXMgPSBO VUxMOworLSAgICAgICAgY3B1LT5jcHJlZ192bXN0YXRlX2luZGV4ZXMgPSBOVUxMOworLSAgICAg ICAgY3B1LT5jcHJlZ192bXN0YXRlX3ZhbHVlcyA9IE5VTEw7CisgICAgIH0KKy0gICAgY3B1LT5j cHJlZ192bXN0YXRlX2FycmF5X2xlbiA9IGFycmF5bGVuOworICAgICBjcHUtPmNwcmVnX2FycmF5 X2xlbiA9IDA7CisgCisgICAgIGdfaGFzaF90YWJsZV9mb3JlYWNoKGNwdS0+Y3BfcmVncywgYWRk X2NwcmVnX3RvX2xpc3QsIGNwdSk7CitkaWZmIC0tZ2l0IGEvdGFyZ2V0L2FybS9rdm0uYyBiL3Rh cmdldC9hcm0va3ZtLmMKK2luZGV4IDVhNzVmZjU5MjcuLjVkYWNiMzA0YmQgMTAwNjQ0CistLS0g YS90YXJnZXQvYXJtL2t2bS5jCisrKysgYi90YXJnZXQvYXJtL2t2bS5jCitAQCAtODA1LDEyICs4 MDUsNyBAQCBzdGF0aWMgaW50IGt2bV9hcm1faW5pdF9jcHJlZ19saXN0KEFSTUNQVSAqY3B1KQor IAorICAgICBjcHUtPmNwcmVnX2luZGV4ZXMgPSBnX3JlbmV3KHVpbnQ2NF90LCBjcHUtPmNwcmVn X2luZGV4ZXMsIGFycmF5bGVuKTsKKyAgICAgY3B1LT5jcHJlZ192YWx1ZXMgPSBnX3JlbmV3KHVp bnQ2NF90LCBjcHUtPmNwcmVnX3ZhbHVlcywgYXJyYXlsZW4pOworLSAgICBjcHUtPmNwcmVnX3Zt c3RhdGVfaW5kZXhlcyA9IGdfcmVuZXcodWludDY0X3QsIGNwdS0+Y3ByZWdfdm1zdGF0ZV9pbmRl eGVzLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJyYXlsZW4p OworLSAgICBjcHUtPmNwcmVnX3Ztc3RhdGVfdmFsdWVzID0gZ19yZW5ldyh1aW50NjRfdCwgY3B1 LT5jcHJlZ192bXN0YXRlX3ZhbHVlcywKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgYXJyYXlsZW4pOworICAgICBjcHUtPmNwcmVnX2FycmF5X2xlbiA9IGFycmF5bGVu OworLSAgICBjcHUtPmNwcmVnX3Ztc3RhdGVfYXJyYXlfbGVuID0gYXJyYXlsZW47CisgCisgICAg IGZvciAoaSA9IDAsIGFycmF5bGVuID0gMDsgaSA8IHJscC0+bjsgaSsrKSB7CisgICAgICAgICB1 aW50NjRfdCByZWdpZHggPSBybHAtPnJlZ1tpXTsKK2RpZmYgLS1naXQgYS90YXJnZXQvYXJtL21h Y2hpbmUuYyBiL3RhcmdldC9hcm0vbWFjaGluZS5jCitpbmRleCA2OTg2OTE1YmVlLi41Y2FmMjg4 NWMyIDEwMDY0NAorLS0tIGEvdGFyZ2V0L2FybS9tYWNoaW5lLmMKKysrKyBiL3RhcmdldC9hcm0v bWFjaGluZS5jCitAQCAtMSw1ICsxLDYgQEAKKyAjaW5jbHVkZSAicWVtdS9vc2RlcC5oIgorICNp bmNsdWRlICJjcHUuaCIKKysjaW5jbHVkZSAidHJhY2UuaCIKKyAjaW5jbHVkZSAicWVtdS9lcnJv ci1yZXBvcnQuaCIKKyAjaW5jbHVkZSAic3lzdGVtL2t2bS5oIgorICNpbmNsdWRlICJzeXN0ZW0v dGNnLmgiCitAQCAtODk0LDExICs4OTUsMTQgQEAgc3RhdGljIGludCBjcHVfcHJlX3NhdmUodm9p ZCAqb3BhcXVlKQorICAgICAgICAgfQorICAgICB9CisgCisrICAgIC8qCisrICAgICAqIE9uIG91 dGJvdW5kIG1pZ3JhdGlvbiwgc2VuZCB0aGUgZGF0YSBpbiBvdXIgY3ByZWdfe3ZhbHVlcyxpbmRl eGVzfQorKyAgICAgKiBhcnJheXMuIFRoZSBtaWdyYXRpb24gY29kZSB3aWxsIG5vdCBhbGxvY2F0 ZSBhbnl0aGluZywgYnV0IGp1c3QKKysgICAgICogcmVhZHMgdGhlIGRhdGEgcG9pbnRlZCB0byBi eSB0aGUgVk1TVEFURV9WQVJSQVlfSU5UMzJfQUxMT0MoKSBmaWVsZHMuCisrICAgICAqLworKyAg ICBjcHUtPmNwcmVnX3Ztc3RhdGVfaW5kZXhlcyA9IGNwdS0+Y3ByZWdfaW5kZXhlczsKKysgICAg Y3B1LT5jcHJlZ192bXN0YXRlX3ZhbHVlcyA9IGNwdS0+Y3ByZWdfdmFsdWVzOworICAgICBjcHUt PmNwcmVnX3Ztc3RhdGVfYXJyYXlfbGVuID0gY3B1LT5jcHJlZ19hcnJheV9sZW47CistICAgIG1l bWNweShjcHUtPmNwcmVnX3Ztc3RhdGVfaW5kZXhlcywgY3B1LT5jcHJlZ19pbmRleGVzLAorLSAg ICAgICAgICAgY3B1LT5jcHJlZ19hcnJheV9sZW4gKiBzaXplb2YodWludDY0X3QpKTsKKy0gICAg bWVtY3B5KGNwdS0+Y3ByZWdfdm1zdGF0ZV92YWx1ZXMsIGNwdS0+Y3ByZWdfdmFsdWVzLAorLSAg ICAgICAgICAgY3B1LT5jcHJlZ19hcnJheV9sZW4gKiBzaXplb2YodWludDY0X3QpKTsKKyAKKyAg ICAgcmV0dXJuIDA7CisgfQorQEAgLTkxMSw2ICs5MTUsOSBAQCBzdGF0aWMgaW50IGNwdV9wb3N0 X3NhdmUodm9pZCAqb3BhcXVlKQorICAgICAgICAgcG11X29wX2ZpbmlzaCgmY3B1LT5lbnYpOwor ICAgICB9CisgCisrICAgIGNwdS0+Y3ByZWdfdm1zdGF0ZV9pbmRleGVzID0gTlVMTDsKKysgICAg Y3B1LT5jcHJlZ192bXN0YXRlX3ZhbHVlcyA9IE5VTEw7CisrCisgICAgIHJldHVybiAwOworIH0K KyAKK0BAIC05NDQsNiArOTUxLDkgQEAgc3RhdGljIGludCBjcHVfcHJlX2xvYWQodm9pZCAqb3Bh cXVlKQorICAgICAgICAgcG11X29wX3N0YXJ0KGVudik7CisgICAgIH0KKyAKKysgICAgZ19hc3Nl cnQoIWNwdS0+Y3ByZWdfdm1zdGF0ZV9pbmRleGVzKTsKKysgICAgZ19hc3NlcnQoIWNwdS0+Y3By ZWdfdm1zdGF0ZV92YWx1ZXMpOworKworICAgICByZXR1cm4gMDsKKyB9CisgCitAQCAtOTUzLDYg Kzk2Myw5IEBAIHN0YXRpYyBpbnQgY3B1X3Bvc3RfbG9hZCh2b2lkICpvcGFxdWUsIGludCB2ZXJz aW9uX2lkKQorICAgICBDUFVBUk1TdGF0ZSAqZW52ID0gJmNwdS0+ZW52OworICAgICBpbnQgaSwg djsKKyAKKysgICAgdHJhY2VfY3B1X3Bvc3RfbG9hZChjcHUtPmNwcmVnX3Ztc3RhdGVfYXJyYXlf bGVuLAorKyAgICAgICAgICAgICAgICAgICAgICAgIGNwdS0+Y3ByZWdfYXJyYXlfbGVuKTsKKysK KyAgICAgLyoKKyAgICAgICogSGFuZGxlIG1pZ3JhdGlvbiBjb21wYXRpYmlsaXR5IGZyb20gb2xk IFFFTVUgd2hpY2ggZGlkbid0CisgICAgICAqIHNlbmQgdGhlIGlycS1saW5lLXN0YXRlIHN1YnNl Y3Rpb24uIEEgUUVNVSB3aXRob3V0IGl0IGRpZCBub3QKK0BAIC0xMDA0LDYgKzEwMTcsMTEgQEAg c3RhdGljIGludCBjcHVfcG9zdF9sb2FkKHZvaWQgKm9wYXF1ZSwgaW50IHZlcnNpb25faWQpCisg ICAgICAgICB9CisgICAgIH0KKyAKKysgICAgZ19mcmVlKGNwdS0+Y3ByZWdfdm1zdGF0ZV9pbmRl eGVzKTsKKysgICAgZ19mcmVlKGNwdS0+Y3ByZWdfdm1zdGF0ZV92YWx1ZXMpOworKyAgICBjcHUt PmNwcmVnX3Ztc3RhdGVfaW5kZXhlcyA9IE5VTEw7CisrICAgIGNwdS0+Y3ByZWdfdm1zdGF0ZV92 YWx1ZXMgPSBOVUxMOworKworICAgICAvKgorICAgICAgKiBNaXNhbGlnbmVkIHRodW1iIHBjIGlz IGFyY2hpdGVjdHVyYWxseSBpbXBvc3NpYmxlLiBGYWlsIHRoZQorICAgICAgKiBpbmNvbWluZyBt aWdyYXRpb24uIEZvciBUQ0cgaXQgd291bGQgdHJpZ2dlciB0aGUgYXNzZXJ0IGluCitAQCAtMTA3 MSwxNiArMTA4OSwxNyBAQCBjb25zdCBWTVN0YXRlRGVzY3JpcHRpb24gdm1zdGF0ZV9hcm1fY3B1 ID0geworICAgICAgICAgVk1TVEFURV9VSU5UMzJfQVJSQVkoZW52LmZpcV9yZWdzLCBBUk1DUFUs IDUpLAorICAgICAgICAgVk1TVEFURV9VSU5UNjRfQVJSQVkoZW52LmVscl9lbCwgQVJNQ1BVLCA0 KSwKKyAgICAgICAgIFZNU1RBVEVfVUlOVDY0X0FSUkFZKGVudi5zcF9lbCwgQVJNQ1BVLCA0KSwK Ky0gICAgICAgIC8qIFRoZSBsZW5ndGgtY2hlY2sgbXVzdCBjb21lIGJlZm9yZSB0aGUgYXJyYXlz IHRvIGF2b2lkCistICAgICAgICAgKiBpbmNvbWluZyBkYXRhIHBvc3NpYmx5IG92ZXJmbG93aW5n IHRoZSBhcnJheS4KKysgICAgICAgIC8qCisrICAgICAgICAgKiBUaGUgbGVuZ3RoIG11c3QgY29t ZSBiZWZvcmUgdGhlIGFycmF5cyBzbyB3ZSBjYW4KKysgICAgICAgICAqIGFsbG9jYXRlIHRoZSBh cnJheXMgYmVmb3JlIHRoZWlyIGRhdGEgYXJyaXZlcworICAgICAgICAgICovCistICAgICAgICBW TVNUQVRFX0lOVDMyX1BPU0lUSVZFX0xFKGNwcmVnX3Ztc3RhdGVfYXJyYXlfbGVuLCBBUk1DUFUp LAorLSAgICAgICAgVk1TVEFURV9WQVJSQVlfSU5UMzIoY3ByZWdfdm1zdGF0ZV9pbmRleGVzLCBB Uk1DUFUsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjcHJlZ192bXN0YXRlX2FycmF5 X2xlbiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsIHZtc3RhdGVfaW5mb191aW50 NjQsIHVpbnQ2NF90KSwKKy0gICAgICAgIFZNU1RBVEVfVkFSUkFZX0lOVDMyKGNwcmVnX3Ztc3Rh dGVfdmFsdWVzLCBBUk1DUFUsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjcHJlZ192 bXN0YXRlX2FycmF5X2xlbiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsIHZtc3Rh dGVfaW5mb191aW50NjQsIHVpbnQ2NF90KSwKKysgICAgICAgIFZNU1RBVEVfSU5UMzIoY3ByZWdf dm1zdGF0ZV9hcnJheV9sZW4sIEFSTUNQVSksCisrICAgICAgICBWTVNUQVRFX1ZBUlJBWV9JTlQz Ml9BTExPQyhjcHJlZ192bXN0YXRlX2luZGV4ZXMsIEFSTUNQVSwKKysgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGNwcmVnX3Ztc3RhdGVfYXJyYXlfbGVuLAorKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgMCwgdm1zdGF0ZV9pbmZvX3VpbnQ2NCwgdWludDY0X3Qp LAorKyAgICAgICAgVk1TVEFURV9WQVJSQVlfSU5UMzJfQUxMT0MoY3ByZWdfdm1zdGF0ZV92YWx1 ZXMsIEFSTUNQVSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNwcmVnX3Zt c3RhdGVfYXJyYXlfbGVuLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwg dm1zdGF0ZV9pbmZvX3VpbnQ2NCwgdWludDY0X3QpLAorICAgICAgICAgVk1TVEFURV9VSU5UNjQo ZW52LmV4Y2x1c2l2ZV9hZGRyLCBBUk1DUFUpLAorICAgICAgICAgVk1TVEFURV9VSU5UNjQoZW52 LmV4Y2x1c2l2ZV92YWwsIEFSTUNQVSksCisgICAgICAgICBWTVNUQVRFX1VJTlQ2NChlbnYuZXhj bHVzaXZlX2hpZ2gsIEFSTUNQVSksCitkaWZmIC0tZ2l0IGEvdGFyZ2V0L2FybS90cmFjZS1ldmVu dHMgYi90YXJnZXQvYXJtL3RyYWNlLWV2ZW50cworaW5kZXggNDQzOGRjZTdiZS4uNGUyNTAyYWY5 ZiAxMDA2NDQKKy0tLSBhL3RhcmdldC9hcm0vdHJhY2UtZXZlbnRzCisrKysgYi90YXJnZXQvYXJt L3RyYWNlLWV2ZW50cworQEAgLTEzLDMgKzEzLDYgQEAgYXJtX2d0X3VwZGF0ZV9pcnEoaW50IHRp bWVyLCBpbnQgaXJxc3RhdGUpICJndF91cGRhdGVfaXJxOiB0aW1lciAlZCBpcnFzdGF0ZSAlZCIK KyAKKyAjIGt2bS5jCisga3ZtX2FybV9maXh1cF9tc2lfcm91dGUodWludDY0X3QgaW92YSwgdWlu dDY0X3QgZ3BhKSAiTVNJIGlvdmEgPSAweCUiUFJJeDY0IiBpcyB0cmFuc2xhdGVkIGludG8gMHgl IlBSSXg2NAorKworKyMgbWFjaGluZS5jCisrY3B1X3Bvc3RfbG9hZCh1aW50MzJfdCBjcHJlZ192 bXN0YXRlX2FycmF5X2xlbiwgdWludDMyX3QgY3ByZWdfYXJyYXlfbGVuKSAiY3ByZWdfdm1zdGF0 ZV9hcnJheV9sZW49JWQgY3ByZWdfYXJyYXlfbGVuPSVkIgorLS0gCisyLjUyLjAKKwoKZGlmZiAt LWdpdCBhL2t2bS10cmVld2lkZS1oYW5kbGUtcmVzdWx0LW9mLXFpb19jaGFubmVsX3NldF9ibG9j a2luZy5wYXRjaCBiL2t2bS10cmVld2lkZS1oYW5kbGUtcmVzdWx0LW9mLXFpb19jaGFubmVsX3Nl dF9ibG9ja2luZy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMmIw NWQ1Ci0tLSAvZGV2L251bGwKKysrIGIva3ZtLXRyZWV3aWRlLWhhbmRsZS1yZXN1bHQtb2YtcWlv X2NoYW5uZWxfc2V0X2Jsb2NraW5nLnBhdGNoCkBAIC0wLDAgKzEsNDAxIEBACitGcm9tIDg5MTcx ZmFmOWE4MGFjNDFmYTlhODYyNTc4MjUwM2NiNjU3MGUwNmEgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCitGcm9tOiBWbGFkaW1pciBTZW1lbnRzb3YtT2dpZXZza2l5IDx2c2VtZW50c292QHlhbmRl eC10ZWFtLnJ1PgorRGF0ZTogVHVlLCAxNiBTZXAgMjAyNSAxNjoxMzo1MyArMDMwMAorU3ViamVj dDogW1BBVENIIDA0OC8xMTZdIHRyZWV3aWRlOiBoYW5kbGUgcmVzdWx0IG9mIHFpb19jaGFubmVs X3NldF9ibG9ja2luZygpCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3Bs YWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK1JI LUF1dGhvcjogUm9kb2xmbyBWaWNrIDxOb25lPgorUkgtTWVyZ2VSZXF1ZXN0OiA0ODY6IEFkZCBE TUFCVUYgc3VwcG9ydAorUkgtSmlyYTogUkhFTC0xMzg0OTQKK1JILUFja2VkLWJ5OiBDw6lkcmlj IExlIEdvYXRlciA8Y2xnQHJlZGhhdC5jb20+CitSSC1BY2tlZC1ieTogRXJpYyBBdWdlciA8ZXJp Yy5hdWdlckByZWRoYXQuY29tPgorUkgtQ29tbWl0OiBbMzIvMTAwXSAwZDgxNmE3YTVlZmI5NDBh MDFmNGJiYTNlMmEzYTkxZjEyYWYzY2Q0IChyb3ZpY2sxL3FlbXUta3ZtKQorCitDdXJyZW50bHks IHdlIGp1c3QgYWx3YXlzIHBhc3MgTlVMTCBhcyBlcnJwIGFyZ3VtZW50LiBUaGF0IGRvZXNuJ3QK K2xvb2sgZ29vZC4KKworU29tZSByZWFsaXphdGlvbnMgb2YgaW50ZXJmYWNlIG1heSBhY3R1YWxs eSByZXBvcnQgZXJyb3JzLgorQ2hhbm5lbC1zb2NrZXQgcmVhbGl6YXRpb24gYWN0dWFsbHkgZWl0 aGVyIGlnbm9yZSBvciBjcmFzaCBvbgorZXJyb3JzLCBidXQgd2UgYXJlIGdvaW5nIHRvIHN0cmFp Z2h0ZW4gaXQgb3V0IHRvIGFsd2F5cyByZXBvcnRpbmcKK2FuIGVycnAgaW4gZnVydGhlciBjb21t aXRzLgorCitTbywgY29udmVydCBhbGwgY2FsbGVycyB0byBlaXRoZXIgaGFuZGxlIHRoZSBlcnJv ciAod2hlcmUgZW52aXJvbm1lbnQKK2FsbG93cykgb3IgZXhwbGljaXRseSB1c2UgJmVycm9yX2Fi b3J0LgorCitUYWtlIGFsc28gYSBjaGFuY2UgdG8gY2hhbmdlIHRoZSByZXR1cm4gdmFsdWUgdG8g bW9yZSBjb252ZW5pZW50Citib29sIChrZWVwaW5nIGFsc28gaW4gbWluZCwgdGhhdCB1bmRlcmx5 aW5nIHJlYWxpemF0aW9ucyBtYXkKK3JldHVybiAtMSBvbiBmYWlsdXJlLCBub3QgLWVycm5vKS4K KworU3VnZ2VzdGVkLWJ5OiBEYW5pZWwgUC4gQmVycmFuZ8OpIDxiZXJyYW5nZUByZWRoYXQuY29t PgorUmV2aWV3ZWQtYnk6IERhbmllbCBQLiBCZXJyYW5nw6kgPGJlcnJhbmdlQHJlZGhhdC5jb20+ CitTaWduZWQtb2ZmLWJ5OiBWbGFkaW1pciBTZW1lbnRzb3YtT2dpZXZza2l5IDx2c2VtZW50c292 QHlhbmRleC10ZWFtLnJ1PgorW0RCOiBmaXggcmV0dXJuIHR5cGUgbWlzbWF0Y2ggaW4gVExTL3dl YnNvY2tldCBjaGFubmVsCisgICAgIGltcGxzIGZvciBxaW9fY2hhbm5lbF9zZXRfYmxvY2tpbmdd CitTaWduZWQtb2ZmLWJ5OiBEYW5pZWwgUC4gQmVycmFuZ8OpIDxiZXJyYW5nZUByZWRoYXQuY29t PgorKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgMWVkODkwMzkxNjM5NGZjYTIzNDdjNzAwZGE5 NzRjYTM4NTYyNzRiMikKK1NpZ25lZC1vZmYtYnk6IEVyaWMgQXVnZXIgPGVyaWMuYXVnZXJAcmVk aGF0LmNvbT4KKy0tLQorIGJsb2NrL25iZC5jICAgICAgICAgICAgICAgICAgICAgIHwgIDQgKysr LQorIGNoYXJkZXYvY2hhci1zb2NrZXQuYyAgICAgICAgICAgIHwgMjAgKysrKysrKysrKysrKysr Ky0tLS0KKyBody9yZW1vdGUvcHJveHkuYyAgICAgICAgICAgICAgICB8ICA2ICsrKysrLQorIGh3 L3JlbW90ZS9yZW1vdGUtb2JqLmMgICAgICAgICAgIHwgIDYgKysrKystCisgaHcvdmZpby11c2Vy L3Byb3h5LmMgICAgICAgICAgICAgfCAxMSArKysrKysrKy0tLQorIGluY2x1ZGUvaW8vY2hhbm5l bC5oICAgICAgICAgICAgIHwgIDYgKysrLS0tCisgaW8vY2hhbm5lbC10bHMuYyAgICAgICAgICAg ICAgICAgfCAgMiArLQorIGlvL2NoYW5uZWwtd2Vic29jay5jICAgICAgICAgICAgIHwgIDMgKy0t CisgaW8vY2hhbm5lbC5jICAgICAgICAgICAgICAgICAgICAgfCAgNCArKy0tCisgbmJkL3NlcnZl ci5jICAgICAgICAgICAgICAgICAgICAgfCAgNCArKystCisgc2NzaS9xZW11LXByLWhlbHBlci5j ICAgICAgICAgICAgfCAgOSArKysrKystLS0KKyB0ZXN0cy91bml0L2lvLWNoYW5uZWwtaGVscGVy cy5jICB8ICA1ICsrKy0tCisgdGVzdHMvdW5pdC90ZXN0LWlvLWNoYW5uZWwtdGxzLmMgfCAgNCAr Ky0tCisgdG9vbHMvaTM4Ni9xZW11LXZtc3ItaGVscGVyLmMgICAgfCAgNiArKysrLS0KKyB1aS92 bmMuYyAgICAgICAgICAgICAgICAgICAgICAgICB8ICAyICstCisgdXRpbC92aG9zdC11c2VyLXNl cnZlci5jICAgICAgICAgfCAgNyArKysrKystCisgMTYgZmlsZXMgY2hhbmdlZCwgNjkgaW5zZXJ0 aW9ucygrKSwgMzAgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9ibG9jay9uYmQuYyBiL2Js b2NrL25iZC5jCitpbmRleCBkNWEyYjIxYzZkLi41ZDIzMWQ1YzRlIDEwMDY0NAorLS0tIGEvYmxv Y2svbmJkLmMKKysrKyBiL2Jsb2NrL25iZC5jCitAQCAtMzUxLDcgKzM1MSw5IEBAIGludCBjb3Jv dXRpbmVfZm4gbmJkX2NvX2RvX2VzdGFibGlzaF9jb25uZWN0aW9uKEJsb2NrRHJpdmVyU3RhdGUg KmJzLAorICAgICAgICAgcmV0dXJuIHJldDsKKyAgICAgfQorIAorLSAgICBxaW9fY2hhbm5lbF9z ZXRfYmxvY2tpbmcocy0+aW9jLCBmYWxzZSwgTlVMTCk7CisrICAgIGlmICghcWlvX2NoYW5uZWxf c2V0X2Jsb2NraW5nKHMtPmlvYywgZmFsc2UsIGVycnApKSB7CisrICAgICAgICByZXR1cm4gLUVJ TlZBTDsKKysgICAgfQorICAgICBxaW9fY2hhbm5lbF9zZXRfZm9sbG93X2Nvcm91dGluZV9jdHgo cy0+aW9jLCB0cnVlKTsKKyAKKyAgICAgLyogc3VjY2Vzc2Z1bGx5IGNvbm5lY3RlZCAqLworZGlm ZiAtLWdpdCBhL2NoYXJkZXYvY2hhci1zb2NrZXQuYyBiL2NoYXJkZXYvY2hhci1zb2NrZXQuYwor aW5kZXggMWU4MzEzOTE1Yi4uZjE1NTI2OTg5MCAxMDA2NDQKKy0tLSBhL2NoYXJkZXYvY2hhci1z b2NrZXQuYworKysrIGIvY2hhcmRldi9jaGFyLXNvY2tldC5jCitAQCAtNTM5LDE2ICs1MzksMjQg QEAgc3RhdGljIGludCB0Y3BfY2hyX3N5bmNfcmVhZChDaGFyZGV2ICpjaHIsIGNvbnN0IHVpbnQ4 X3QgKmJ1ZiwgaW50IGxlbikKKyAgICAgU29ja2V0Q2hhcmRldiAqcyA9IFNPQ0tFVF9DSEFSREVW KGNocik7CisgICAgIGludCBzaXplOworICAgICBpbnQgc2F2ZWRfZXJybm87CisrICAgIEVycm9y ICpsb2NhbF9lcnIgPSBOVUxMOworIAorICAgICBpZiAocy0+c3RhdGUgIT0gVENQX0NIQVJERVZf U1RBVEVfQ09OTkVDVEVEKSB7CisgICAgICAgICByZXR1cm4gMDsKKyAgICAgfQorIAorLSAgICBx aW9fY2hhbm5lbF9zZXRfYmxvY2tpbmcocy0+aW9jLCB0cnVlLCBOVUxMKTsKKysgICAgaWYgKCFx aW9fY2hhbm5lbF9zZXRfYmxvY2tpbmcocy0+aW9jLCB0cnVlLCAmbG9jYWxfZXJyKSkgeworKyAg ICAgICAgZXJyb3JfcmVwb3J0X2Vycihsb2NhbF9lcnIpOworKyAgICAgICAgcmV0dXJuIC0xOwor KyAgICB9CisgICAgIHNpemUgPSB0Y3BfY2hyX3JlY3YoY2hyLCAodm9pZCAqKSBidWYsIGxlbik7 CisgICAgIHNhdmVkX2Vycm5vID0gZXJybm87CisgICAgIGlmIChzLT5zdGF0ZSAhPSBUQ1BfQ0hB UkRFVl9TVEFURV9ESVNDT05ORUNURUQpIHsKKy0gICAgICAgIHFpb19jaGFubmVsX3NldF9ibG9j a2luZyhzLT5pb2MsIGZhbHNlLCBOVUxMKTsKKysgICAgICAgIGlmICghcWlvX2NoYW5uZWxfc2V0 X2Jsb2NraW5nKHMtPmlvYywgZmFsc2UsICZsb2NhbF9lcnIpKSB7CisrICAgICAgICAgICAgZXJy b3JfcmVwb3J0X2Vycihsb2NhbF9lcnIpOworKyAgICAgICAgICAgIC8qIGZhaWxlZCB0byByZWNv dmVyIG5vbi1ibG9ja2luZyBzdGF0ZSAqLworKyAgICAgICAgICAgIHRjcF9jaHJfZGlzY29ubmVj dChjaHIpOworKyAgICAgICAgfQorICAgICB9CisgICAgIGlmIChzaXplID09IDApIHsKKyAgICAg ICAgIC8qIGNvbm5lY3Rpb24gY2xvc2VkICovCitAQCAtODkzLDE4ICs5MDEsMjIgQEAgc3RhdGlj IHZvaWQgdGNwX2Nocl9zZXRfY2xpZW50X2lvY19uYW1lKENoYXJkZXYgKmNociwKKyBzdGF0aWMg aW50IHRjcF9jaHJfbmV3X2NsaWVudChDaGFyZGV2ICpjaHIsIFFJT0NoYW5uZWxTb2NrZXQgKnNp b2MpCisgeworICAgICBTb2NrZXRDaGFyZGV2ICpzID0gU09DS0VUX0NIQVJERVYoY2hyKTsKKysg ICAgRXJyb3IgKmxvY2FsX2VyciA9IE5VTEw7CisgCisgICAgIGlmIChzLT5zdGF0ZSAhPSBUQ1Bf Q0hBUkRFVl9TVEFURV9DT05ORUNUSU5HKSB7CisgICAgICAgICByZXR1cm4gLTE7CisgICAgIH0K KyAKKysgICAgaWYgKCFxaW9fY2hhbm5lbF9zZXRfYmxvY2tpbmcoUUlPX0NIQU5ORUwoc2lvYyks IGZhbHNlLCAmbG9jYWxfZXJyKSkgeworKyAgICAgICAgZXJyb3JfcmVwb3J0X2Vycihsb2NhbF9l cnIpOworKyAgICAgICAgcmV0dXJuIC0xOworKyAgICB9CisrCisgICAgIHMtPmlvYyA9IFFJT19D SEFOTkVMKHNpb2MpOworICAgICBvYmplY3RfcmVmKE9CSkVDVChzaW9jKSk7CisgICAgIHMtPnNp b2MgPSBzaW9jOworICAgICBvYmplY3RfcmVmKE9CSkVDVChzaW9jKSk7CisgCistICAgIHFpb19j aGFubmVsX3NldF9ibG9ja2luZyhzLT5pb2MsIGZhbHNlLCBOVUxMKTsKKy0KKyAgICAgaWYgKHMt PmRvX25vZGVsYXkpIHsKKyAgICAgICAgIHFpb19jaGFubmVsX3NldF9kZWxheShzLT5pb2MsIGZh bHNlKTsKKyAgICAgfQorZGlmZiAtLWdpdCBhL2h3L3JlbW90ZS9wcm94eS5jIGIvaHcvcmVtb3Rl L3Byb3h5LmMKK2luZGV4IGIwMTY1YWEyYTEuLjE4ZTBmN2EwNjQgMTAwNjQ0CistLS0gYS9ody9y ZW1vdGUvcHJveHkuYworKysrIGIvaHcvcmVtb3RlL3Byb3h5LmMKK0BAIC0xMTIsOCArMTEyLDEy IEBAIHN0YXRpYyB2b2lkIHBjaV9wcm94eV9kZXZfcmVhbGl6ZShQQ0lEZXZpY2UgKmRldmljZSwg RXJyb3IgKiplcnJwKQorICAgICAgICAgcmV0dXJuOworICAgICB9CisgCisrICAgIGlmICghcWlv X2NoYW5uZWxfc2V0X2Jsb2NraW5nKGRldi0+aW9jLCB0cnVlLCBlcnJwKSkgeworKyAgICAgICAg b2JqZWN0X3VucmVmKGRldi0+aW9jKTsKKysgICAgICAgIHJldHVybjsKKysgICAgfQorKworICAg ICBxZW11X211dGV4X2luaXQoJmRldi0+aW9fbXV0ZXgpOworLSAgICBxaW9fY2hhbm5lbF9zZXRf YmxvY2tpbmcoZGV2LT5pb2MsIHRydWUsIE5VTEwpOworIAorICAgICBwY2lfY29uZltQQ0lfTEFU RU5DWV9USU1FUl0gPSAweGZmOworICAgICBwY2lfY29uZltQQ0lfSU5URVJSVVBUX1BJTl0gPSAw eDAxOworZGlmZiAtLWdpdCBhL2h3L3JlbW90ZS9yZW1vdGUtb2JqLmMgYi9ody9yZW1vdGUvcmVt b3RlLW9iai5jCitpbmRleCA4NTg4MjkwMmQ3Li4zNDAyMDY4YWI5IDEwMDY0NAorLS0tIGEvaHcv cmVtb3RlL3JlbW90ZS1vYmouYworKysrIGIvaHcvcmVtb3RlL3JlbW90ZS1vYmouYworQEAgLTEw Nyw3ICsxMDcsMTEgQEAgc3RhdGljIHZvaWQgcmVtb3RlX29iamVjdF9tYWNoaW5lX2RvbmUoTm90 aWZpZXIgKm5vdGlmaWVyLCB2b2lkICpkYXRhKQorICAgICAgICAgZXJyb3JfcmVwb3J0X2Vycihl cnIpOworICAgICAgICAgcmV0dXJuOworICAgICB9CistICAgIHFpb19jaGFubmVsX3NldF9ibG9j a2luZyhpb2MsIGZhbHNlLCBOVUxMKTsKKysgICAgaWYgKCFxaW9fY2hhbm5lbF9zZXRfYmxvY2tp bmcoaW9jLCBmYWxzZSwgJmVycikpIHsKKysgICAgICAgIGVycm9yX3JlcG9ydF9lcnIoZXJyKTsK KysgICAgICAgIG9iamVjdF91bnJlZihPQkpFQ1QoaW9jKSk7CisrICAgICAgICByZXR1cm47Cisr ICAgIH0KKyAKKyAgICAgby0+ZGV2ID0gZGV2OworIAorZGlmZiAtLWdpdCBhL2h3L3ZmaW8tdXNl ci9wcm94eS5jIGIvaHcvdmZpby11c2VyL3Byb3h5LmMKK2luZGV4IDJjMDNkNDlmOTcuLmJiZDdl YzI0M2QgMTAwNjQ0CistLS0gYS9ody92ZmlvLXVzZXIvcHJveHkuYworKysrIGIvaHcvdmZpby11 c2VyL3Byb3h5LmMKK0BAIC04ODYsMTAgKzg4NiwxMSBAQCBWRklPVXNlclByb3h5ICp2ZmlvX3Vz ZXJfY29ubmVjdF9kZXYoU29ja2V0QWRkcmVzcyAqYWRkciwgRXJyb3IgKiplcnJwKQorICAgICBz aW9jID0gcWlvX2NoYW5uZWxfc29ja2V0X25ldygpOworICAgICBpb2MgPSBRSU9fQ0hBTk5FTChz aW9jKTsKKyAgICAgaWYgKHFpb19jaGFubmVsX3NvY2tldF9jb25uZWN0X3N5bmMoc2lvYywgYWRk ciwgZXJycCkgPCAwKSB7CistICAgICAgICBvYmplY3RfdW5yZWYoT0JKRUNUKGlvYykpOworLSAg ICAgICAgcmV0dXJuIE5VTEw7CisrICAgICAgICBnb3RvIGZhaWw7CisrICAgIH0KKysgICAgaWYg KCFxaW9fY2hhbm5lbF9zZXRfYmxvY2tpbmcoaW9jLCBmYWxzZSwgZXJycCkpIHsKKysgICAgICAg IGdvdG8gZmFpbDsKKyAgICAgfQorLSAgICBxaW9fY2hhbm5lbF9zZXRfYmxvY2tpbmcoaW9jLCBm YWxzZSwgTlVMTCk7CisgCisgICAgIHByb3h5ID0gZ19tYWxsb2MwKHNpemVvZihWRklPVXNlclBy b3h5KSk7CisgICAgIHByb3h5LT5zb2NrbmFtZSA9IGdfc3RyZHVwX3ByaW50ZigidW5peDolcyIs IHNvY2tuYW1lKTsKK0BAIC05MjMsNiArOTI0LDEwIEBAIFZGSU9Vc2VyUHJveHkgKnZmaW9fdXNl cl9jb25uZWN0X2RldihTb2NrZXRBZGRyZXNzICphZGRyLCBFcnJvciAqKmVycnApCisgICAgIFFM SVNUX0lOU0VSVF9IRUFEKCZ2ZmlvX3VzZXJfc29ja2V0cywgcHJveHksIG5leHQpOworIAorICAg ICByZXR1cm4gcHJveHk7CisrCisrZmFpbDoKKysgICAgb2JqZWN0X3VucmVmKE9CSkVDVChpb2Mp KTsKKysgICAgcmV0dXJuIE5VTEw7CisgfQorIAorIHZvaWQgdmZpb191c2VyX3NldF9oYW5kbGVy KFZGSU9EZXZpY2UgKnZiYXNlZGV2LAorZGlmZiAtLWdpdCBhL2luY2x1ZGUvaW8vY2hhbm5lbC5o IGIvaW5jbHVkZS9pby9jaGFubmVsLmgKK2luZGV4IDIzNGU1ZGI3MGQuLjY3NzBkMmNlMzUgMTAw NjQ0CistLS0gYS9pbmNsdWRlL2lvL2NoYW5uZWwuaAorKysrIGIvaW5jbHVkZS9pby9jaGFubmVs LmgKK0BAIC01MTMsOSArNTEzLDkgQEAgaW50IGNvcm91dGluZV9taXhlZF9mbiBxaW9fY2hhbm5l bF93cml0ZV9hbGwoUUlPQ2hhbm5lbCAqaW9jLAorICAqIHJldHVybiBRSU9fQ0hBTk5FTF9FUlJf QkxPQ0sgaWYgdGhleSB3b3VsZCBvdGhlcndpc2UKKyAgKiBibG9jayBvbiBJL08KKyAgKi8KKy1p bnQgcWlvX2NoYW5uZWxfc2V0X2Jsb2NraW5nKFFJT0NoYW5uZWwgKmlvYywKKy0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGJvb2wgZW5hYmxlZCwKKy0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgIEVycm9yICoqZXJycCk7CisrYm9vbCBxaW9fY2hhbm5lbF9zZXRfYmxvY2tpbmcoUUlP Q2hhbm5lbCAqaW9jLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgZW5hYmxl ZCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFcnJvciAqKmVycnApOworIAorIC8q KgorICAqIHFpb19jaGFubmVsX3NldF9mb2xsb3dfY29yb3V0aW5lX2N0eDoKK2RpZmYgLS1naXQg YS9pby9jaGFubmVsLXRscy5jIGIvaW8vY2hhbm5lbC10bHMuYworaW5kZXggYTgyNDhhOTIxNi4u NzEzNTg5NmY3OSAxMDA2NDQKKy0tLSBhL2lvL2NoYW5uZWwtdGxzLmMKKysrKyBiL2lvL2NoYW5u ZWwtdGxzLmMKK0BAIC00MjUsNyArNDI1LDcgQEAgc3RhdGljIGludCBxaW9fY2hhbm5lbF90bHNf c2V0X2Jsb2NraW5nKFFJT0NoYW5uZWwgKmlvYywKKyB7CisgICAgIFFJT0NoYW5uZWxUTFMgKnRp b2MgPSBRSU9fQ0hBTk5FTF9UTFMoaW9jKTsKKyAKKy0gICAgcmV0dXJuIHFpb19jaGFubmVsX3Nl dF9ibG9ja2luZyh0aW9jLT5tYXN0ZXIsIGVuYWJsZWQsIGVycnApOworKyAgICByZXR1cm4gcWlv X2NoYW5uZWxfc2V0X2Jsb2NraW5nKHRpb2MtPm1hc3RlciwgZW5hYmxlZCwgZXJycCkgPyAwIDog LTE7CisgfQorIAorIHN0YXRpYyB2b2lkIHFpb19jaGFubmVsX3Rsc19zZXRfZGVsYXkoUUlPQ2hh bm5lbCAqaW9jLAorZGlmZiAtLWdpdCBhL2lvL2NoYW5uZWwtd2Vic29jay5jIGIvaW8vY2hhbm5l bC13ZWJzb2NrLmMKK2luZGV4IGVjNWUwOWY5YWIuLmNiNGRhZmRlYmIgMTAwNjQ0CistLS0gYS9p by9jaGFubmVsLXdlYnNvY2suYworKysrIGIvaW8vY2hhbm5lbC13ZWJzb2NrLmMKK0BAIC0xMTkx LDggKzExOTEsNyBAQCBzdGF0aWMgaW50IHFpb19jaGFubmVsX3dlYnNvY2tfc2V0X2Jsb2NraW5n KFFJT0NoYW5uZWwgKmlvYywKKyB7CisgICAgIFFJT0NoYW5uZWxXZWJzb2NrICp3aW9jID0gUUlP X0NIQU5ORUxfV0VCU09DSyhpb2MpOworIAorLSAgICBxaW9fY2hhbm5lbF9zZXRfYmxvY2tpbmco d2lvYy0+bWFzdGVyLCBlbmFibGVkLCBlcnJwKTsKKy0gICAgcmV0dXJuIDA7CisrICAgIHJldHVy biBxaW9fY2hhbm5lbF9zZXRfYmxvY2tpbmcod2lvYy0+bWFzdGVyLCBlbmFibGVkLCBlcnJwKSA/ IDAgOiAtMTsKKyB9CisgCisgc3RhdGljIHZvaWQgcWlvX2NoYW5uZWxfd2Vic29ja19zZXRfZGVs YXkoUUlPQ2hhbm5lbCAqaW9jLAorZGlmZiAtLWdpdCBhL2lvL2NoYW5uZWwuYyBiL2lvL2NoYW5u ZWwuYworaW5kZXggZWJkOTMyMjc2NS4uODUyZTY4NDkzOCAxMDA2NDQKKy0tLSBhL2lvL2NoYW5u ZWwuYworKysrIGIvaW8vY2hhbm5lbC5jCitAQCAtMzU5LDEyICszNTksMTIgQEAgaW50IGNvcm91 dGluZV9taXhlZF9mbiBxaW9fY2hhbm5lbF93cml0ZV9hbGwoUUlPQ2hhbm5lbCAqaW9jLAorIH0K KyAKKyAKKy1pbnQgcWlvX2NoYW5uZWxfc2V0X2Jsb2NraW5nKFFJT0NoYW5uZWwgKmlvYywKKyti b29sIHFpb19jaGFubmVsX3NldF9ibG9ja2luZyhRSU9DaGFubmVsICppb2MsCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgYm9vbCBlbmFibGVkLAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEVycm9yICoqZXJycCkKKyB7CisgICAgIFFJT0NoYW5uZWxDbGFzcyAqa2xhc3Mg PSBRSU9fQ0hBTk5FTF9HRVRfQ0xBU1MoaW9jKTsKKy0gICAgcmV0dXJuIGtsYXNzLT5pb19zZXRf YmxvY2tpbmcoaW9jLCBlbmFibGVkLCBlcnJwKTsKKysgICAgcmV0dXJuIGtsYXNzLT5pb19zZXRf YmxvY2tpbmcoaW9jLCBlbmFibGVkLCBlcnJwKSA9PSAwOworIH0KKyAKKyAKK2RpZmYgLS1naXQg YS9uYmQvc2VydmVyLmMgYi9uYmQvc2VydmVyLmMKK2luZGV4IGQyNDJiZTk4MTEuLmFjZWMwNDg3 YTggMTAwNjQ0CistLS0gYS9uYmQvc2VydmVyLmMKKysrKyBiL25iZC9zZXJ2ZXIuYworQEAgLTE0 MTEsNyArMTQxMSw5IEBAIHN0YXRpYyBjb3JvdXRpbmVfZm4gaW50IG5iZF9uZWdvdGlhdGUoTkJE Q2xpZW50ICpjbGllbnQsIEVycm9yICoqZXJycCkKKyAgICAgICAgIC4uLi5vcHRpb25zIHNlbnQs IGVuZGluZyBpbiBOQkRfT1BUX0VYUE9SVF9OQU1FIG9yIE5CRF9PUFRfR08uLi4uCisgICAgICAq LworIAorLSAgICBxaW9fY2hhbm5lbF9zZXRfYmxvY2tpbmcoY2xpZW50LT5pb2MsIGZhbHNlLCBO VUxMKTsKKysgICAgaWYgKCFxaW9fY2hhbm5lbF9zZXRfYmxvY2tpbmcoY2xpZW50LT5pb2MsIGZh bHNlLCBlcnJwKSkgeworKyAgICAgICAgcmV0dXJuIC1FSU5WQUw7CisrICAgIH0KKyAgICAgcWlv X2NoYW5uZWxfc2V0X2ZvbGxvd19jb3JvdXRpbmVfY3R4KGNsaWVudC0+aW9jLCB0cnVlKTsKKyAK KyAgICAgdHJhY2VfbmJkX25lZ290aWF0ZV9iZWdpbigpOworZGlmZiAtLWdpdCBhL3Njc2kvcWVt dS1wci1oZWxwZXIuYyBiL3Njc2kvcWVtdS1wci1oZWxwZXIuYworaW5kZXggYjY5ZGQ5ODJkNi4u MDc0YjRkYjQ3MiAxMDA2NDQKKy0tLSBhL3Njc2kvcWVtdS1wci1oZWxwZXIuYworKysrIGIvc2Nz aS9xZW11LXByLWhlbHBlci5jCitAQCAtNzMzLDggKzczMywxMSBAQCBzdGF0aWMgdm9pZCBjb3Jv dXRpbmVfZm4gcHJoX2NvX2VudHJ5KHZvaWQgKm9wYXF1ZSkKKyAgICAgdWludDMyX3QgZmxhZ3M7 CisgICAgIGludCByOworIAorLSAgICBxaW9fY2hhbm5lbF9zZXRfYmxvY2tpbmcoUUlPX0NIQU5O RUwoY2xpZW50LT5pb2MpLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsc2UsIE5V TEwpOworKyAgICBpZiAoIXFpb19jaGFubmVsX3NldF9ibG9ja2luZyhRSU9fQ0hBTk5FTChjbGll bnQtPmlvYyksCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbHNlLCAmbG9j YWxfZXJyKSkgeworKyAgICAgICAgZ290byBvdXQ7CisrICAgIH0KKysKKyAgICAgcWlvX2NoYW5u ZWxfc2V0X2ZvbGxvd19jb3JvdXRpbmVfY3R4KFFJT19DSEFOTkVMKGNsaWVudC0+aW9jKSwgdHJ1 ZSk7CisgCisgICAgIC8qIEEgdmVyeSBzaW1wbGUgbmVnb3RpYXRpb24gZm9yIGZ1dHVyZSBleHRl bnNpYmlsaXR5LiAgTm8gZmVhdHVyZXMKK0BAIC03ODYsNiArNzg5LDcgQEAgc3RhdGljIHZvaWQg Y29yb3V0aW5lX2ZuIHByaF9jb19lbnRyeSh2b2lkICpvcGFxdWUpCisgICAgICAgICB9CisgICAg IH0KKyAKKytvdXQ6CisgICAgIGlmIChsb2NhbF9lcnIpIHsKKyAgICAgICAgIGlmICh2ZXJib3Nl ID09IDApIHsKKyAgICAgICAgICAgICBlcnJvcl9mcmVlKGxvY2FsX2Vycik7CitAQCAtNzk0LDcg Kzc5OCw2IEBAIHN0YXRpYyB2b2lkIGNvcm91dGluZV9mbiBwcmhfY29fZW50cnkodm9pZCAqb3Bh cXVlKQorICAgICAgICAgfQorICAgICB9CisgCistb3V0OgorICAgICBvYmplY3RfdW5yZWYoT0JK RUNUKGNsaWVudC0+aW9jKSk7CisgICAgIGdfZnJlZShjbGllbnQpOworIH0KK2RpZmYgLS1naXQg YS90ZXN0cy91bml0L2lvLWNoYW5uZWwtaGVscGVycy5jIGIvdGVzdHMvdW5pdC9pby1jaGFubmVs LWhlbHBlcnMuYworaW5kZXggYzA3OTljMjFjMi4uMjJiNDJkMTRjZCAxMDA2NDQKKy0tLSBhL3Rl c3RzL3VuaXQvaW8tY2hhbm5lbC1oZWxwZXJzLmMKKysrKyBiL3Rlc3RzL3VuaXQvaW8tY2hhbm5l bC1oZWxwZXJzLmMKK0BAIC0yMCw2ICsyMCw3IEBACisgCisgI2luY2x1ZGUgInFlbXUvb3NkZXAu aCIKKyAjaW5jbHVkZSAiaW8tY2hhbm5lbC1oZWxwZXJzLmgiCisrI2luY2x1ZGUgInFhcGkvZXJy b3IuaCIKKyAjaW5jbHVkZSAicWVtdS9pb3YuaCIKKyAKKyBzdHJ1Y3QgUUlPQ2hhbm5lbFRlc3Qg eworQEAgLTEwOSw4ICsxMTAsOCBAQCB2b2lkIHFpb19jaGFubmVsX3Rlc3RfcnVuX3RocmVhZHMo UUlPQ2hhbm5lbFRlc3QgKnRlc3QsCisgICAgIHRlc3QtPnNyYyA9IHNyYzsKKyAgICAgdGVzdC0+ ZHN0ID0gZHN0OworIAorLSAgICBxaW9fY2hhbm5lbF9zZXRfYmxvY2tpbmcodGVzdC0+ZHN0LCBi bG9ja2luZywgTlVMTCk7CistICAgIHFpb19jaGFubmVsX3NldF9ibG9ja2luZyh0ZXN0LT5zcmMs IGJsb2NraW5nLCBOVUxMKTsKKysgICAgcWlvX2NoYW5uZWxfc2V0X2Jsb2NraW5nKHRlc3QtPmRz dCwgYmxvY2tpbmcsICZlcnJvcl9hYm9ydCk7CisrICAgIHFpb19jaGFubmVsX3NldF9ibG9ja2lu Zyh0ZXN0LT5zcmMsIGJsb2NraW5nLCAmZXJyb3JfYWJvcnQpOworIAorICAgICByZWFkZXIgPSBn X3RocmVhZF9uZXcoInJlYWRlciIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0X2lv X3RocmVhZF9yZWFkZXIsCitkaWZmIC0tZ2l0IGEvdGVzdHMvdW5pdC90ZXN0LWlvLWNoYW5uZWwt dGxzLmMgYi90ZXN0cy91bml0L3Rlc3QtaW8tY2hhbm5lbC10bHMuYworaW5kZXggZTAzNmFjNWRm NC4uNmYyODJhZDQ1ZCAxMDA2NDQKKy0tLSBhL3Rlc3RzL3VuaXQvdGVzdC1pby1jaGFubmVsLXRs cy5jCisrKysgYi90ZXN0cy91bml0L3Rlc3QtaW8tY2hhbm5lbC10bHMuYworQEAgLTE4NCw4ICsx ODQsOCBAQCBzdGF0aWMgdm9pZCB0ZXN0X2lvX2NoYW5uZWxfdGxzKGNvbnN0IHZvaWQgKm9wYXF1 ZSkKKyAgICAgICogdGhyZWFkLCBzbyB3ZSBuZWVkIHRoZXNlIG5vbi1ibG9ja2luZyB0byBhdm9p ZCBkZWFkbG9jaworICAgICAgKiBvZiBvdXJzZWx2ZXMKKyAgICAgICovCistICAgIHFpb19jaGFu bmVsX3NldF9ibG9ja2luZyhRSU9fQ0hBTk5FTChjbGllbnRDaGFuU29jayksIGZhbHNlLCBOVUxM KTsKKy0gICAgcWlvX2NoYW5uZWxfc2V0X2Jsb2NraW5nKFFJT19DSEFOTkVMKHNlcnZlckNoYW5T b2NrKSwgZmFsc2UsIE5VTEwpOworKyAgICBxaW9fY2hhbm5lbF9zZXRfYmxvY2tpbmcoUUlPX0NI QU5ORUwoY2xpZW50Q2hhblNvY2spLCBmYWxzZSwgJmVycm9yX2Fib3J0KTsKKysgICAgcWlvX2No YW5uZWxfc2V0X2Jsb2NraW5nKFFJT19DSEFOTkVMKHNlcnZlckNoYW5Tb2NrKSwgZmFsc2UsICZl cnJvcl9hYm9ydCk7CisgCisgICAgIC8qIE5vdyB0aGUgcmVhbCBwYXJ0IG9mIHRoZSB0ZXN0LCBz ZXR1cCB0aGUgc2Vzc2lvbnMgKi8KKyAgICAgY2xpZW50Q2hhblRMUyA9IHFpb19jaGFubmVsX3Rs c19uZXdfY2xpZW50KAorZGlmZiAtLWdpdCBhL3Rvb2xzL2kzODYvcWVtdS12bXNyLWhlbHBlci5j IGIvdG9vbHMvaTM4Ni9xZW11LXZtc3ItaGVscGVyLmMKK2luZGV4IDVmMTlhNDhjYmQuLjZjMGY0 ZmU4NzAgMTAwNjQ0CistLS0gYS90b29scy9pMzg2L3FlbXUtdm1zci1oZWxwZXIuYworKysrIGIv dG9vbHMvaTM4Ni9xZW11LXZtc3ItaGVscGVyLmMKK0BAIC0yMTMsOCArMjEzLDEwIEBAIHN0YXRp YyB2b2lkIGNvcm91dGluZV9mbiB2aF9jb19lbnRyeSh2b2lkICpvcGFxdWUpCisgICAgIHVpbnQ2 NF90IHZtc3I7CisgICAgIGludCByOworIAorLSAgICBxaW9fY2hhbm5lbF9zZXRfYmxvY2tpbmco UUlPX0NIQU5ORUwoY2xpZW50LT5pb2MpLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ZmFsc2UsIE5VTEwpOworKyAgICBpZiAoIXFpb19jaGFubmVsX3NldF9ibG9ja2luZyhRSU9fQ0hB Tk5FTChjbGllbnQtPmlvYyksCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZh bHNlLCAmbG9jYWxfZXJyKSkgeworKyAgICAgICAgZ290byBvdXQ7CisrICAgIH0KKyAKKyAgICAg cWlvX2NoYW5uZWxfc2V0X2ZvbGxvd19jb3JvdXRpbmVfY3R4KFFJT19DSEFOTkVMKGNsaWVudC0+ aW9jKSwgdHJ1ZSk7CisgCitkaWZmIC0tZ2l0IGEvdWkvdm5jLmMgYi91aS92bmMuYworaW5kZXgg NjhjYTRhNjhlNy4uOGNhNzdiMjk3MSAxMDA2NDQKKy0tLSBhL3VpL3ZuYy5jCisrKysgYi91aS92 bmMuYworQEAgLTMzMzcsNyArMzMzNyw3IEBAIHN0YXRpYyB2b2lkIHZuY19jb25uZWN0KFZuY0Rp c3BsYXkgKnZkLCBRSU9DaGFubmVsU29ja2V0ICpzaW9jLAorIAorICAgICBWTkNfREVCVUcoIk5l dyBjbGllbnQgb24gc29ja2V0ICVwXG4iLCB2cy0+c2lvYyk7CisgICAgIHVwZGF0ZV9kaXNwbGF5 Y2hhbmdlbGlzdGVuZXIoJnZkLT5kY2wsIFZOQ19SRUZSRVNIX0lOVEVSVkFMX0JBU0UpOworLSAg ICBxaW9fY2hhbm5lbF9zZXRfYmxvY2tpbmcodnMtPmlvYywgZmFsc2UsIE5VTEwpOworKyAgICBx aW9fY2hhbm5lbF9zZXRfYmxvY2tpbmcodnMtPmlvYywgZmFsc2UsICZlcnJvcl9hYm9ydCk7Cisg ICAgIGlmICh2cy0+aW9jX3RhZykgeworICAgICAgICAgZ19zb3VyY2VfcmVtb3ZlKHZzLT5pb2Nf dGFnKTsKKyAgICAgfQorZGlmZiAtLWdpdCBhL3V0aWwvdmhvc3QtdXNlci1zZXJ2ZXIuYyBiL3V0 aWwvdmhvc3QtdXNlci1zZXJ2ZXIuYworaW5kZXggYjE5MjI5MDc0YS4uZDgwNWE5MjM5NCAxMDA2 NDQKKy0tLSBhL3V0aWwvdmhvc3QtdXNlci1zZXJ2ZXIuYworKysrIGIvdXRpbC92aG9zdC11c2Vy LXNlcnZlci5jCitAQCAtMzM2LDYgKzMzNiw3IEBAIHN0YXRpYyB2b2lkIHZ1X2FjY2VwdChRSU9O ZXRMaXN0ZW5lciAqbGlzdGVuZXIsIFFJT0NoYW5uZWxTb2NrZXQgKnNpb2MsCisgICAgICAgICAg ICAgICAgICAgICAgIGdwb2ludGVyIG9wYXF1ZSkKKyB7CisgICAgIFZ1U2VydmVyICpzZXJ2ZXIg PSBvcGFxdWU7CisrICAgIEVycm9yICpsb2NhbF9lcnIgPSBOVUxMOworIAorICAgICBpZiAoc2Vy dmVyLT5zaW9jKSB7CisgICAgICAgICB3YXJuX3JlcG9ydCgiT25seSBvbmUgdmhvc3QtdXNlciBj bGllbnQgaXMgYWxsb3dlZCB0byAiCitAQCAtMzY4LDcgKzM2OSwxMSBAQCBzdGF0aWMgdm9pZCB2 dV9hY2NlcHQoUUlPTmV0TGlzdGVuZXIgKmxpc3RlbmVyLCBRSU9DaGFubmVsU29ja2V0ICpzaW9j LAorICAgICBvYmplY3RfcmVmKE9CSkVDVChzZXJ2ZXItPmlvYykpOworIAorICAgICAvKiBUT0RP IHZ1X21lc3NhZ2Vfd3JpdGUoKSBzcGlucyBpZiBub24tYmxvY2tpbmchICovCistICAgIHFpb19j aGFubmVsX3NldF9ibG9ja2luZyhzZXJ2ZXItPmlvYywgZmFsc2UsIE5VTEwpOworKyAgICBpZiAo IXFpb19jaGFubmVsX3NldF9ibG9ja2luZyhzZXJ2ZXItPmlvYywgZmFsc2UsICZsb2NhbF9lcnIp KSB7CisrICAgICAgICBlcnJvcl9yZXBvcnRfZXJyKGxvY2FsX2Vycik7CisrICAgICAgICB2dV9k ZWluaXQoJnNlcnZlci0+dnVfZGV2KTsKKysgICAgICAgIHJldHVybjsKKysgICAgfQorIAorICAg ICBxaW9fY2hhbm5lbF9zZXRfZm9sbG93X2Nvcm91dGluZV9jdHgoc2VydmVyLT5pb2MsIHRydWUp OworIAorLS0gCisyLjUyLjAKKwoKZGlmZiAtLWdpdCBhL2t2bS12ZmlvLUNsZWFuLXVwLWluY2x1 ZGVzLnBhdGNoIGIva3ZtLXZmaW8tQ2xlYW4tdXAtaW5jbHVkZXMucGF0Y2gKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTYxZjYxYQotLS0gL2Rldi9udWxsCisrKyBiL2t2bS12 ZmlvLUNsZWFuLXVwLWluY2x1ZGVzLnBhdGNoCkBAIC0wLDAgKzEsMTU1IEBACitGcm9tIGVhZmE3 ZWMyMzYzMjM0ZGVjNGEzMjU0MDVjM2YwNWI3ZjNlMzBjNzIgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCitGcm9tOiBQZXRlciBNYXlkZWxsIDxwZXRlci5tYXlkZWxsQGxpbmFyby5vcmc+CitEYXRl OiBUdWUsIDQgTm92IDIwMjUgMTY6MDk6NDIgKzAwMDAKK1N1YmplY3Q6IFtQQVRDSCAxMDUvMTE2 XSB2ZmlvOiBDbGVhbiB1cCBpbmNsdWRlcworTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlw ZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzog OGJpdAorCitSSC1BdXRob3I6IFJvZG9sZm8gVmljayA8Tm9uZT4KK1JILU1lcmdlUmVxdWVzdDog NDg2OiBBZGQgRE1BQlVGIHN1cHBvcnQKK1JILUppcmE6IFJIRUwtMTM4NDk0CitSSC1BY2tlZC1i eTogQ8OpZHJpYyBMZSBHb2F0ZXIgPGNsZ0ByZWRoYXQuY29tPgorUkgtQWNrZWQtYnk6IEVyaWMg QXVnZXIgPGVyaWMuYXVnZXJAcmVkaGF0LmNvbT4KK1JILUNvbW1pdDogWzg5LzEwMF0gNjZmMDg2 YWNhZTBiNjNkMmU0YTU4OTUyOWJiNTJkMmEzM2JhN2ZlMyAocm92aWNrMS9xZW11LWt2bSkKKwor VGhpcyBjb21taXQgd2FzIGNyZWF0ZWQgd2l0aCBzY3JpcHRzL2NsZWFuLWluY2x1ZGVzOgorIC4v c2NyaXB0cy9jbGVhbi1pbmNsdWRlcyAtLWdpdCB2ZmlvIGh3L3ZmaW8gaHcvdmZpby11c2VyCisK K0FsbCAuYyBzaG91bGQgaW5jbHVkZSBxZW11L29zZGVwLmggZmlyc3QuICBUaGUgc2NyaXB0IHBl cmZvcm1zIHRocmVlCityZWxhdGVkIGNsZWFudXBzOgorCisqIEVuc3VyZSAuYyBmaWxlcyBpbmNs dWRlIHFlbXUvb3NkZXAuaCBmaXJzdC4KKyogSW5jbHVkaW5nIGl0IGluIGEgLmggaXMgcmVkdW5k YW50LCBzaW5jZSB0aGUgLmMgIGFscmVhZHkgaW5jbHVkZXMKKyAgaXQuICBEcm9wIHN1Y2ggaW5j bHVzaW9ucy4KKyogTGlrZXdpc2UsIGluY2x1ZGluZyBoZWFkZXJzIHFlbXUvb3NkZXAuaCBpbmNs dWRlcyBpcyByZWR1bmRhbnQuCisgIERyb3AgdGhlc2UsIHRvby4KKworU2lnbmVkLW9mZi1ieTog UGV0ZXIgTWF5ZGVsbCA8cGV0ZXIubWF5ZGVsbEBsaW5hcm8ub3JnPgorUmV2aWV3ZWQtYnk6IEPD qWRyaWMgTGUgR29hdGVyIDxjbGdAcmVkaGF0LmNvbT4KK1Jldmlld2VkLWJ5OiBQaGlsaXBwZSBN YXRoaWV1LURhdWTDqSA8cGhpbG1kQGxpbmFyby5vcmc+CitNZXNzYWdlLWlkOiAyMDI1MTEwNDE2 MDk0My43NTE5OTctOS1wZXRlci5tYXlkZWxsQGxpbmFyby5vcmcKKyhjaGVycnkgcGlja2VkIGZy b20gY29tbWl0IGIxZjRmNDY5NWM5NmJiOGUyMGEwMGU4MmQxODY4YjViMDE4MDAyYmMpCitTaWdu ZWQtb2ZmLWJ5OiBFcmljIEF1Z2VyIDxlcmljLmF1Z2VyQHJlZGhhdC5jb20+CistLS0KKyBody92 ZmlvLXVzZXIvY29udGFpbmVyLmMgfCAyICstCisgaHcvdmZpby11c2VyL2NvbnRhaW5lci5oIHwg MSAtCisgaHcvdmZpby11c2VyL2RldmljZS5oICAgIHwgMSAtCisgaHcvdmZpby11c2VyL3BjaS5j ICAgICAgIHwgMiArLQorIGh3L3ZmaW8vYXAuYyAgICAgICAgICAgICB8IDEgLQorIGh3L3ZmaW8v Y29udGFpbmVyLmMgICAgICB8IDIgKy0KKyBody92ZmlvL2Nwci1sZWdhY3kuYyAgICAgfCAyICst CisgaHcvdmZpby9wY2ktcXVpcmtzLmggICAgIHwgMSAtCisgOCBmaWxlcyBjaGFuZ2VkLCA0IGlu c2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9ody92ZmlvLXVzZXIv Y29udGFpbmVyLmMgYi9ody92ZmlvLXVzZXIvY29udGFpbmVyLmMKK2luZGV4IGU0NTE5MmZlZjYu LmRhYjdhMjMyMjQgMTAwNjQ0CistLS0gYS9ody92ZmlvLXVzZXIvY29udGFpbmVyLmMKKysrKyBi L2h3L3ZmaW8tdXNlci9jb250YWluZXIuYworQEAgLTYsOSArNiw5IEBACisgICogU1BEWC1MaWNl bnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXIKKyAgKi8KKyAKKysjaW5jbHVkZSAicWVt dS9vc2RlcC5oIgorICNpbmNsdWRlIDxzeXMvaW9jdGwuaD4KKyAjaW5jbHVkZSA8bGludXgvdmZp by5oPgorLSNpbmNsdWRlICJxZW11L29zZGVwLmgiCisgCisgI2luY2x1ZGUgImh3L3ZmaW8tdXNl ci9jb250YWluZXIuaCIKKyAjaW5jbHVkZSAiaHcvdmZpby11c2VyL2RldmljZS5oIgorZGlmZiAt LWdpdCBhL2h3L3ZmaW8tdXNlci9jb250YWluZXIuaCBiL2h3L3ZmaW8tdXNlci9jb250YWluZXIu aAoraW5kZXggYTJiNDJlMzE2OS4uYzk1MmUwOTA2MyAxMDA2NDQKKy0tLSBhL2h3L3ZmaW8tdXNl ci9jb250YWluZXIuaAorKysrIGIvaHcvdmZpby11c2VyL2NvbnRhaW5lci5oCitAQCAtNyw3ICs3 LDYgQEAKKyAjaWZuZGVmIEhXX1ZGSU9fVVNFUl9DT05UQUlORVJfSAorICNkZWZpbmUgSFdfVkZJ T19VU0VSX0NPTlRBSU5FUl9ICisgCistI2luY2x1ZGUgInFlbXUvb3NkZXAuaCIKKyAKKyAjaW5j bHVkZSAiaHcvdmZpby92ZmlvLWNvbnRhaW5lci5oIgorICNpbmNsdWRlICJody92ZmlvLXVzZXIv cHJveHkuaCIKK2RpZmYgLS1naXQgYS9ody92ZmlvLXVzZXIvZGV2aWNlLmggYi9ody92ZmlvLXVz ZXIvZGV2aWNlLmgKK2luZGV4IGQxODNhMzk1MGUuLjQ5YzA1ODQ4ZjEgMTAwNjQ0CistLS0gYS9o dy92ZmlvLXVzZXIvZGV2aWNlLmgKKysrKyBiL2h3L3ZmaW8tdXNlci9kZXZpY2UuaAorQEAgLTks NyArOSw2IEBACisgICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXIK KyAgKi8KKyAKKy0jaW5jbHVkZSAicWVtdS9vc2RlcC5oIgorICNpbmNsdWRlICJsaW51eC92Zmlv LmgiCisgCisgI2luY2x1ZGUgImh3L3ZmaW8tdXNlci9wcm94eS5oIgorZGlmZiAtLWdpdCBhL2h3 L3ZmaW8tdXNlci9wY2kuYyBiL2h3L3ZmaW8tdXNlci9wY2kuYworaW5kZXggYjUzZWQzYjQ1Ni4u MzUzZDA3ZTc4MSAxMDA2NDQKKy0tLSBhL2h3L3ZmaW8tdXNlci9wY2kuYworKysrIGIvaHcvdmZp by11c2VyL3BjaS5jCitAQCAtNiw4ICs2LDggQEAKKyAgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmll cjogR1BMLTIuMC1vci1sYXRlcgorICAqLworIAorLSNpbmNsdWRlIDxzeXMvaW9jdGwuaD4KKyAj aW5jbHVkZSAicWVtdS9vc2RlcC5oIgorKyNpbmNsdWRlIDxzeXMvaW9jdGwuaD4KKyAjaW5jbHVk ZSAicWFwaS12aXNpdC1zb2NrZXRzLmgiCisgI2luY2x1ZGUgInFlbXUvZXJyb3ItcmVwb3J0Lmgi CisgCitkaWZmIC0tZ2l0IGEvaHcvdmZpby9hcC5jIGIvaHcvdmZpby9hcC5jCitpbmRleCA3NzE5 ZjI0NTc5Li4zMzY4YWM4OTE1IDEwMDY0NAorLS0tIGEvaHcvdmZpby9hcC5jCisrKysgYi9ody92 ZmlvL2FwLmMKK0BAIC0xMCw3ICsxMCw2IEBACisgICogZGlyZWN0b3J5LgorICAqLworIAorLSNp bmNsdWRlIDxzdGRib29sLmg+CisgI2luY2x1ZGUgInFlbXUvb3NkZXAuaCIKKyAjaW5jbHVkZSBD T05GSUdfREVWSUNFUyAvKiBDT05GSUdfSU9NTVVGRCAqLworICNpbmNsdWRlIDxsaW51eC92Zmlv Lmg+CitkaWZmIC0tZ2l0IGEvaHcvdmZpby9jb250YWluZXIuYyBiL2h3L3ZmaW8vY29udGFpbmVy LmMKK2luZGV4IDQxZGUzNDM5MjQuLmNjMDM2N2VjYzQgMTAwNjQ0CistLS0gYS9ody92ZmlvL2Nv bnRhaW5lci5jCisrKysgYi9ody92ZmlvL2NvbnRhaW5lci5jCitAQCAtMTAsMTAgKzEwLDEwIEBA CisgICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXIKKyAgKi8KKyAK KysjaW5jbHVkZSAicWVtdS9vc2RlcC5oIgorICNpbmNsdWRlIDxzeXMvaW9jdGwuaD4KKyAjaW5j bHVkZSA8bGludXgvdmZpby5oPgorIAorLSNpbmNsdWRlICJxZW11L29zZGVwLmgiCisgI2luY2x1 ZGUgInN5c3RlbS90Y2cuaCIKKyAjaW5jbHVkZSAic3lzdGVtL3JhbV9hZGRyLmgiCisgI2luY2x1 ZGUgInFhcGkvZXJyb3IuaCIKK2RpZmYgLS1naXQgYS9ody92ZmlvL2Nwci1sZWdhY3kuYyBiL2h3 L3ZmaW8vY3ByLWxlZ2FjeS5jCitpbmRleCA3MTg0YzkzOTkxLi4yNzNiNTk3ODgwIDEwMDY0NAor LS0tIGEvaHcvdmZpby9jcHItbGVnYWN5LmMKKysrKyBiL2h3L3ZmaW8vY3ByLWxlZ2FjeS5jCitA QCAtNCw5ICs0LDkgQEAKKyAgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1s YXRlcgorICAqLworIAorKyNpbmNsdWRlICJxZW11L29zZGVwLmgiCisgI2luY2x1ZGUgPHN5cy9p b2N0bC5oPgorICNpbmNsdWRlIDxsaW51eC92ZmlvLmg+CistI2luY2x1ZGUgInFlbXUvb3NkZXAu aCIKKyAjaW5jbHVkZSAiaHcvdmZpby92ZmlvLWNvbnRhaW5lci1sZWdhY3kuaCIKKyAjaW5jbHVk ZSAiaHcvdmZpby92ZmlvLWRldmljZS5oIgorICNpbmNsdWRlICJody92ZmlvL3ZmaW8tbGlzdGVu ZXIuaCIKK2RpZmYgLS1naXQgYS9ody92ZmlvL3BjaS1xdWlya3MuaCBiL2h3L3ZmaW8vcGNpLXF1 aXJrcy5oCitpbmRleCBkMTUzMmUzNzliLi5hNjI4MmUwNjNhIDEwMDY0NAorLS0tIGEvaHcvdmZp by9wY2ktcXVpcmtzLmgKKysrKyBiL2h3L3ZmaW8vcGNpLXF1aXJrcy5oCitAQCAtMTIsNyArMTIs NiBAQAorICNpZm5kZWYgSFdfVkZJT19WRklPX1BDSV9RVUlSS1NfSAorICNkZWZpbmUgSFdfVkZJ T19WRklPX1BDSV9RVUlSS1NfSAorIAorLSNpbmNsdWRlICJxZW11L29zZGVwLmgiCisgI2luY2x1 ZGUgImV4ZWMvbWVtb3AuaCIKKyAKKyAvKgorLS0gCisyLjUyLjAKKwoKZGlmZiAtLWdpdCBhL2t2 bS12ZmlvLURvLW5vdC11bnBhcmVudC1pbi1pbnN0YW5jZV9maW5hbGl6ZS5wYXRjaCBiL2t2bS12 ZmlvLURvLW5vdC11bnBhcmVudC1pbi1pbnN0YW5jZV9maW5hbGl6ZS5wYXRjaApuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNDAxNzc4Ci0tLSAvZGV2L251bGwKKysrIGIva3Zt LXZmaW8tRG8tbm90LXVucGFyZW50LWluLWluc3RhbmNlX2ZpbmFsaXplLnBhdGNoCkBAIC0wLDAg KzEsOTAgQEAKK0Zyb20gMGQwMzNmYjg1ZTgxM2RiODk2ODBkZWExMzgzNDI3YWM0NmUzOGZlOSBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEFraWhpa28gT2Rha2kgPG9kYWtpQHJzZy5j aS5pLnUtdG9reW8uYWMuanA+CitEYXRlOiBXZWQsIDI0IFNlcCAyMDI1IDEzOjM3OjI1ICswOTAw CitTdWJqZWN0OiBbUEFUQ0ggMDUwLzExNl0gdmZpbzogRG8gbm90IHVucGFyZW50IGluIGluc3Rh bmNlX2ZpbmFsaXplKCkKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxh aW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworUkgt QXV0aG9yOiBSb2RvbGZvIFZpY2sgPE5vbmU+CitSSC1NZXJnZVJlcXVlc3Q6IDQ4NjogQWRkIERN QUJVRiBzdXBwb3J0CitSSC1KaXJhOiBSSEVMLTEzODQ5NAorUkgtQWNrZWQtYnk6IEPDqWRyaWMg TGUgR29hdGVyIDxjbGdAcmVkaGF0LmNvbT4KK1JILUFja2VkLWJ5OiBFcmljIEF1Z2VyIDxlcmlj LmF1Z2VyQHJlZGhhdC5jb20+CitSSC1Db21taXQ6IFszNC8xMDBdIDdjNDA5NzFmMDFiMjZjOWM3 N2RmZDJhZGE4ODU2ZmVjMTY1MjllYmYgKHJvdmljazEvcWVtdS1rdm0pCisKK0NoaWxkcmVuIGFy ZSBhdXRvbWF0aWNhbGx5IHVucGFyZW50ZWQgc28gbWFudWFsbHkgdW5wYXJlbnRpbmcgaXMKK3Vu bmVjZXNzYXJ5LgorCitXb3JzZSwgYXV0b21hdGljIHVucGFyZW50aW5nIGhhcHBlbnMgYmVmb3Jl IHRoZSBpbnN0YW5jZV9maW5hbGl6ZSgpCitjYWxsYmFjayBvZiB0aGUgcGFyZW50IGdldHMgY2Fs bGVkLCBzbyBvYmplY3RfdW5wYXJlbnQoKSBjYWxscyBpbgordGhlIGNhbGxiYWNrIHdpbGwgcmVm ZXIgdG8gb2JqZWN0cyB0aGF0IGFyZSBhbHJlYWR5IHVucGFyZW50ZWQsIHdoaWNoCitpcyBzZW1h bnRpY2FsbHkgaW5jb3JyZWN0LgorCitTaWduZWQtb2ZmLWJ5OiBBa2loaWtvIE9kYWtpIDxvZGFr aUByc2cuY2kuaS51LXRva3lvLmFjLmpwPgorUmV2aWV3ZWQtYnk6IERhbmllbCBQLiBCZXJyYW5n w6kgPGJlcnJhbmdlQHJlZGhhdC5jb20+CitMaW5rOiBodHRwczovL2xvcmUua2VybmVsLm9yZy9y LzIwMjUwOTI0LXVzZS12NC02LTA3YzZjNTk4ZjUzZEByc2cuY2kuaS51LXRva3lvLmFjLmpwCitT aWduZWQtb2ZmLWJ5OiBQYW9sbyBCb256aW5pIDxwYm9uemluaUByZWRoYXQuY29tPgorKGNoZXJy eSBwaWNrZWQgZnJvbSBjb21taXQgOWI4MGY4YThlNzU4YjQyNzUwMWU2YmNiY2IxMTRhZTQ1ZmY2 ODM4NykKK1NpZ25lZC1vZmYtYnk6IEVyaWMgQXVnZXIgPGVyaWMuYXVnZXJAcmVkaGF0LmNvbT4K Ky0tLQorIGh3L3ZmaW8vcGNpLXF1aXJrcy5jIHwgOSArLS0tLS0tLS0KKyBody92ZmlvL3JlZ2lv bi5jICAgICB8IDMgLS0tCisgMiBmaWxlcyBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMTEgZGVs ZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9ody92ZmlvL3BjaS1xdWlya3MuYyBiL2h3L3ZmaW8v cGNpLXF1aXJrcy5jCitpbmRleCBjOTc2MDZkYmYxLi5iNWRhNmFmYmY1IDEwMDY0NAorLS0tIGEv aHcvdmZpby9wY2ktcXVpcmtzLmMKKysrKyBiL2h3L3ZmaW8vcGNpLXF1aXJrcy5jCitAQCAtMTE1 OSwxNSArMTE1OSwxMiBAQCB2b2lkIHZmaW9fdmdhX3F1aXJrX2V4aXQoVkZJT1BDSURldmljZSAq dmRldikKKyAKKyB2b2lkIHZmaW9fdmdhX3F1aXJrX2ZpbmFsaXplKFZGSU9QQ0lEZXZpY2UgKnZk ZXYpCisgeworLSAgICBpbnQgaSwgajsKKysgICAgaW50IGk7CisgCisgICAgIGZvciAoaSA9IDA7 IGkgPCBBUlJBWV9TSVpFKHZkZXYtPnZnYS0+cmVnaW9uKTsgaSsrKSB7CisgICAgICAgICB3aGls ZSAoIVFMSVNUX0VNUFRZKCZ2ZGV2LT52Z2EtPnJlZ2lvbltpXS5xdWlya3MpKSB7CisgICAgICAg ICAgICAgVkZJT1F1aXJrICpxdWlyayA9IFFMSVNUX0ZJUlNUKCZ2ZGV2LT52Z2EtPnJlZ2lvbltp XS5xdWlya3MpOworICAgICAgICAgICAgIFFMSVNUX1JFTU9WRShxdWlyaywgbmV4dCk7CistICAg ICAgICAgICAgZm9yIChqID0gMDsgaiA8IHF1aXJrLT5ucl9tZW07IGorKykgeworLSAgICAgICAg ICAgICAgICBvYmplY3RfdW5wYXJlbnQoT0JKRUNUKCZxdWlyay0+bWVtW2pdKSk7CistICAgICAg ICAgICAgfQorICAgICAgICAgICAgIGdfZnJlZShxdWlyay0+bWVtKTsKKyAgICAgICAgICAgICBn X2ZyZWUocXVpcmstPmRhdGEpOworICAgICAgICAgICAgIGdfZnJlZShxdWlyayk7CitAQCAtMTIw NywxNCArMTIwNCwxMCBAQCB2b2lkIHZmaW9fYmFyX3F1aXJrX2V4aXQoVkZJT1BDSURldmljZSAq dmRldiwgaW50IG5yKQorIHZvaWQgdmZpb19iYXJfcXVpcmtfZmluYWxpemUoVkZJT1BDSURldmlj ZSAqdmRldiwgaW50IG5yKQorIHsKKyAgICAgVkZJT0JBUiAqYmFyID0gJnZkZXYtPmJhcnNbbnJd OworLSAgICBpbnQgaTsKKyAKKyAgICAgd2hpbGUgKCFRTElTVF9FTVBUWSgmYmFyLT5xdWlya3Mp KSB7CisgICAgICAgICBWRklPUXVpcmsgKnF1aXJrID0gUUxJU1RfRklSU1QoJmJhci0+cXVpcmtz KTsKKyAgICAgICAgIFFMSVNUX1JFTU9WRShxdWlyaywgbmV4dCk7CistICAgICAgICBmb3IgKGkg PSAwOyBpIDwgcXVpcmstPm5yX21lbTsgaSsrKSB7CistICAgICAgICAgICAgb2JqZWN0X3VucGFy ZW50KE9CSkVDVCgmcXVpcmstPm1lbVtpXSkpOworLSAgICAgICAgfQorICAgICAgICAgZ19mcmVl KHF1aXJrLT5tZW0pOworICAgICAgICAgZ19mcmVlKHF1aXJrLT5kYXRhKTsKKyAgICAgICAgIGdf ZnJlZShxdWlyayk7CitkaWZmIC0tZ2l0IGEvaHcvdmZpby9yZWdpb24uYyBiL2h3L3ZmaW8vcmVn aW9uLmMKK2luZGV4IGQwNGM1N2RiNjMuLmIxNjVhYjBiOTMgMTAwNjQ0CistLS0gYS9ody92Zmlv L3JlZ2lvbi5jCisrKysgYi9ody92ZmlvL3JlZ2lvbi5jCitAQCAtMzY1LDEyICszNjUsOSBAQCB2 b2lkIHZmaW9fcmVnaW9uX2ZpbmFsaXplKFZGSU9SZWdpb24gKnJlZ2lvbikKKyAgICAgZm9yIChp ID0gMDsgaSA8IHJlZ2lvbi0+bnJfbW1hcHM7IGkrKykgeworICAgICAgICAgaWYgKHJlZ2lvbi0+ bW1hcHNbaV0ubW1hcCkgeworICAgICAgICAgICAgIG11bm1hcChyZWdpb24tPm1tYXBzW2ldLm1t YXAsIHJlZ2lvbi0+bW1hcHNbaV0uc2l6ZSk7CistICAgICAgICAgICAgb2JqZWN0X3VucGFyZW50 KE9CSkVDVCgmcmVnaW9uLT5tbWFwc1tpXS5tZW0pKTsKKyAgICAgICAgIH0KKyAgICAgfQorIAor LSAgICBvYmplY3RfdW5wYXJlbnQoT0JKRUNUKHJlZ2lvbi0+bWVtKSk7CistCisgICAgIGdfZnJl ZShyZWdpb24tPm1lbSk7CisgICAgIGdfZnJlZShyZWdpb24tPm1tYXBzKTsKKyAKKy0tIAorMi41 Mi4wCisKCmRpZmYgLS1naXQgYS9rdm0tdmZpby1JbnRyb2R1Y2UtaGVscGVyLXZmaW9fcGNpX2Zy b21fdmZpb19kZXZpY2UucGF0Y2ggYi9rdm0tdmZpby1JbnRyb2R1Y2UtaGVscGVyLXZmaW9fcGNp X2Zyb21fdmZpb19kZXZpY2UucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MC4uMDgyYjZkNwotLS0gL2Rldi9udWxsCisrKyBiL2t2bS12ZmlvLUludHJvZHVjZS1oZWxwZXIt dmZpb19wY2lfZnJvbV92ZmlvX2RldmljZS5wYXRjaApAQCAtMCwwICsxLDE1MyBAQAorRnJvbSA3 YmI5OWI0NjlhMzQzOGMzNThjMDAyNzcwM2U0YjAxOTM1ZTdkZmFiIE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQorRnJvbTogWmhlbnpob25nIER1YW4gPHpoZW56aG9uZy5kdWFuQGludGVsLmNvbT4K K0RhdGU6IEZyaSwgMjIgQXVnIDIwMjUgMDI6NDA6NDIgLTA0MDAKK1N1YmplY3Q6IFtQQVRDSCAw MjgvMTE2XSB2ZmlvOiBJbnRyb2R1Y2UgaGVscGVyIHZmaW9fcGNpX2Zyb21fdmZpb19kZXZpY2Uo KQorTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1V VEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorCitSSC1BdXRob3I6IFJvZG9s Zm8gVmljayA8Tm9uZT4KK1JILU1lcmdlUmVxdWVzdDogNDg2OiBBZGQgRE1BQlVGIHN1cHBvcnQK K1JILUppcmE6IFJIRUwtMTM4NDk0CitSSC1BY2tlZC1ieTogQ8OpZHJpYyBMZSBHb2F0ZXIgPGNs Z0ByZWRoYXQuY29tPgorUkgtQWNrZWQtYnk6IEVyaWMgQXVnZXIgPGVyaWMuYXVnZXJAcmVkaGF0 LmNvbT4KK1JILUNvbW1pdDogWzEyLzEwMF0gMTZlYjFlNThhYTA3Njc5MTdmZDJhMzEzNjgzODg0 OTVmNzIxYjJiOSAocm92aWNrMS9xZW11LWt2bSkKKworSW50cm9kdWNlIGhlbHBlciB2ZmlvX3Bj aV9mcm9tX3ZmaW9fZGV2aWNlKCkgdG8gdHJhbnNmb3JtIGZyb20gVkZJT0RldmljZQordG8gVkZJ T1BDSURldmljZSwgYWxzbyB0byBoaWRlIGxvdyBsZXZlbCBWRklPX0RFVklDRV9UWVBFX1BDSSB0 eXBlIGNoZWNrLgorCitTdWdnZXN0ZWQtYnk6IEPDqWRyaWMgTGUgR29hdGVyIDxjbGdAcmVkaGF0 LmNvbT4KK1NpZ25lZC1vZmYtYnk6IFpoZW56aG9uZyBEdWFuIDx6aGVuemhvbmcuZHVhbkBpbnRl bC5jb20+CitSZXZpZXdlZC1ieTogQ8OpZHJpYyBMZSBHb2F0ZXIgPGNsZ0ByZWRoYXQuY29tPgor TGluazogaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvcWVtdS1kZXZlbC8yMDI1MDgyMjA2NDEwMS4x MjM1MjYtNS16aGVuemhvbmcuZHVhbkBpbnRlbC5jb20KK1sgY2xnOiBBZGRlZCBkb2N1bWVudGF0 aW9uIF0KK1NpZ25lZC1vZmYtYnk6IEPDqWRyaWMgTGUgR29hdGVyIDxjbGdAcmVkaGF0LmNvbT4K KyhjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IGJiMWE2ZjFmNDMzNzRhMTg1MGMzMTRjNGQwZTk0 NTY2N2QwMTNkMDcpCitTaWduZWQtb2ZmLWJ5OiBFcmljIEF1Z2VyIDxlcmljLmF1Z2VyQHJlZGhh dC5jb20+CistLS0KKyBody92ZmlvL2NvbnRhaW5lci5jIHwgIDQgKystLQorIGh3L3ZmaW8vZGV2 aWNlLmMgICAgfCAgMiArLQorIGh3L3ZmaW8vaW9tbXVmZC5jICAgfCAgNCArKy0tCisgaHcvdmZp by9saXN0ZW5lci5jICB8ICA0ICsrLS0KKyBody92ZmlvL3BjaS5jICAgICAgIHwgIDkgKysrKysr KysrCisgaHcvdmZpby9wY2kuaCAgICAgICB8IDEyICsrKysrKysrKysrKworIDYgZmlsZXMgY2hh bmdlZCwgMjggaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2h3 L3ZmaW8vY29udGFpbmVyLmMgYi9ody92ZmlvL2NvbnRhaW5lci5jCitpbmRleCBiOTEyYjkzOTZi Li5jMTU1NGMxZmQxIDEwMDY0NAorLS0tIGEvaHcvdmZpby9jb250YWluZXIuYworKysrIGIvaHcv dmZpby9jb250YWluZXIuYworQEAgLTExMDEsNyArMTEwMSw3IEBAIHN0YXRpYyBpbnQgdmZpb19s ZWdhY3lfcGNpX2hvdF9yZXNldChWRklPRGV2aWNlICp2YmFzZWRldiwgYm9vbCBzaW5nbGUpCisg ICAgICAgICAvKiBQcmVwIGRlcGVuZGVudCBkZXZpY2VzIGZvciByZXNldCBhbmQgY2xlYXIgb3Vy IG1hcmtlci4gKi8KKyAgICAgICAgIFFMSVNUX0ZPUkVBQ0godmJhc2VkZXZfaXRlciwgJmdyb3Vw LT5kZXZpY2VfbGlzdCwgbmV4dCkgeworICAgICAgICAgICAgIGlmICghdmJhc2VkZXZfaXRlci0+ ZGV2LT5yZWFsaXplZCB8fAorLSAgICAgICAgICAgICAgICB2YmFzZWRldl9pdGVyLT50eXBlICE9 IFZGSU9fREVWSUNFX1RZUEVfUENJKSB7CisrICAgICAgICAgICAgICAgICF2ZmlvX3BjaV9mcm9t X3ZmaW9fZGV2aWNlKHZiYXNlZGV2X2l0ZXIpKSB7CisgICAgICAgICAgICAgICAgIGNvbnRpbnVl OworICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICB0bXAgPSBjb250YWluZXJfb2YodmJhc2Vk ZXZfaXRlciwgVkZJT1BDSURldmljZSwgdmJhc2VkZXYpOworQEAgLTExODYsNyArMTE4Niw3IEBA IG91dDoKKyAKKyAgICAgICAgIFFMSVNUX0ZPUkVBQ0godmJhc2VkZXZfaXRlciwgJmdyb3VwLT5k ZXZpY2VfbGlzdCwgbmV4dCkgeworICAgICAgICAgICAgIGlmICghdmJhc2VkZXZfaXRlci0+ZGV2 LT5yZWFsaXplZCB8fAorLSAgICAgICAgICAgICAgICB2YmFzZWRldl9pdGVyLT50eXBlICE9IFZG SU9fREVWSUNFX1RZUEVfUENJKSB7CisrICAgICAgICAgICAgICAgICF2ZmlvX3BjaV9mcm9tX3Zm aW9fZGV2aWNlKHZiYXNlZGV2X2l0ZXIpKSB7CisgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwor ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICB0bXAgPSBjb250YWluZXJfb2YodmJhc2VkZXZf aXRlciwgVkZJT1BDSURldmljZSwgdmJhc2VkZXYpOworZGlmZiAtLWdpdCBhL2h3L3ZmaW8vZGV2 aWNlLmMgYi9ody92ZmlvL2RldmljZS5jCitpbmRleCA3ZWJmNDFjOTVlLi40MTI2NzhhMWY2IDEw MDY0NAorLS0tIGEvaHcvdmZpby9kZXZpY2UuYworKysrIGIvaHcvdmZpby9kZXZpY2UuYworQEAg LTEyOSw3ICsxMjksNyBAQCBzdGF0aWMgaW5saW5lIGNvbnN0IGNoYXIgKmFjdGlvbl90b19zdHIo aW50IGFjdGlvbikKKyAKKyBzdGF0aWMgY29uc3QgY2hhciAqaW5kZXhfdG9fc3RyKFZGSU9EZXZp Y2UgKnZiYXNlZGV2LCBpbnQgaW5kZXgpCisgeworLSAgICBpZiAodmJhc2VkZXYtPnR5cGUgIT0g VkZJT19ERVZJQ0VfVFlQRV9QQ0kpIHsKKysgICAgaWYgKCF2ZmlvX3BjaV9mcm9tX3ZmaW9fZGV2 aWNlKHZiYXNlZGV2KSkgeworICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgIH0KKyAKK2RpZmYg LS1naXQgYS9ody92ZmlvL2lvbW11ZmQuYyBiL2h3L3ZmaW8vaW9tbXVmZC5jCitpbmRleCBkYmNk ODYxYjI3Li42NWI5NGFhYTAwIDEwMDY0NAorLS0tIGEvaHcvdmZpby9pb21tdWZkLmMKKysrKyBi L2h3L3ZmaW8vaW9tbXVmZC5jCitAQCAtNzM4LDggKzczOCw4IEBAIGlvbW11ZmRfY2Rldl9kZXBf Z2V0X3JlYWxpemVkX3ZwZGV2KHN0cnVjdCB2ZmlvX3BjaV9kZXBlbmRlbnRfZGV2aWNlICpkZXBf ZGV2LAorICAgICB9CisgCisgICAgIHZiYXNlZGV2X3RtcCA9IGlvbW11ZmRfY2Rldl9wY2lfZmlu ZF9ieV9kZXZpZChkZXBfZGV2LT5kZXZpZCk7CistICAgIGlmICghdmJhc2VkZXZfdG1wIHx8ICF2 YmFzZWRldl90bXAtPmRldi0+cmVhbGl6ZWQgfHwKKy0gICAgICAgIHZiYXNlZGV2X3RtcC0+dHlw ZSAhPSBWRklPX0RFVklDRV9UWVBFX1BDSSkgeworKyAgICBpZiAoIXZmaW9fcGNpX2Zyb21fdmZp b19kZXZpY2UodmJhc2VkZXZfdG1wKSB8fAorKyAgICAgICAgIXZiYXNlZGV2X3RtcC0+ZGV2LT5y ZWFsaXplZCkgeworICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgIH0KKyAKK2RpZmYgLS1naXQg YS9ody92ZmlvL2xpc3RlbmVyLmMgYi9ody92ZmlvL2xpc3RlbmVyLmMKK2luZGV4IGMyNDRiZTVl MjEuLmUwOTM4MzMxNjUgMTAwNjQ0CistLS0gYS9ody92ZmlvL2xpc3RlbmVyLmMKKysrKyBiL2h3 L3ZmaW8vbGlzdGVuZXIuYworQEAgLTQ1Myw3ICs0NTMsNyBAQCBzdGF0aWMgdm9pZCB2ZmlvX2Rl dmljZV9lcnJvcl9hcHBlbmQoVkZJT0RldmljZSAqdmJhc2VkZXYsIEVycm9yICoqZXJycCkKKyAg ICAgICogTU1JTyByZWdpb24gbWFwcGluZyBmYWlsdXJlcyBhcmUgbm90IGZhdGFsIGJ1dCBpbiB0 aGlzIGNhc2UgUENJCisgICAgICAqIHBlZXItdG8tcGVlciB0cmFuc2FjdGlvbnMgYXJlIGJyb2tl bi4KKyAgICAgICovCistICAgIGlmICh2YmFzZWRldiAmJiB2YmFzZWRldi0+dHlwZSA9PSBWRklP X0RFVklDRV9UWVBFX1BDSSkgeworKyAgICBpZiAodmZpb19wY2lfZnJvbV92ZmlvX2RldmljZSh2 YmFzZWRldikpIHsKKyAgICAgICAgIGVycm9yX2FwcGVuZF9oaW50KGVycnAsICIlczogUENJIHBl ZXItdG8tcGVlciB0cmFuc2FjdGlvbnMgIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9u IEJBUnMgYXJlIG5vdCBzdXBwb3J0ZWQuXG4iLCB2YmFzZWRldi0+bmFtZSk7CisgICAgIH0KK0BA IC03NTksNyArNzU5LDcgQEAgc3RhdGljIGJvb2wgdmZpb19zZWN0aW9uX2lzX3ZmaW9fcGNpKE1l bW9yeVJlZ2lvblNlY3Rpb24gKnNlY3Rpb24sCisgICAgIG93bmVyID0gbWVtb3J5X3JlZ2lvbl9v d25lcihzZWN0aW9uLT5tcik7CisgCisgICAgIFFMSVNUX0ZPUkVBQ0godmJhc2VkZXYsICZiY29u dGFpbmVyLT5kZXZpY2VfbGlzdCwgY29udGFpbmVyX25leHQpIHsKKy0gICAgICAgIGlmICh2YmFz ZWRldi0+dHlwZSAhPSBWRklPX0RFVklDRV9UWVBFX1BDSSkgeworKyAgICAgICAgaWYgKCF2Zmlv X3BjaV9mcm9tX3ZmaW9fZGV2aWNlKHZiYXNlZGV2KSkgeworICAgICAgICAgICAgIGNvbnRpbnVl OworICAgICAgICAgfQorICAgICAgICAgcGNpZGV2ID0gY29udGFpbmVyX29mKHZiYXNlZGV2LCBW RklPUENJRGV2aWNlLCB2YmFzZWRldik7CitkaWZmIC0tZ2l0IGEvaHcvdmZpby9wY2kuYyBiL2h3 L3ZmaW8vcGNpLmMKK2luZGV4IDdjMDU3ZWUyZjkuLjU4YWIxMTE2ZDggMTAwNjQ0CistLS0gYS9o dy92ZmlvL3BjaS5jCisrKysgYi9ody92ZmlvL3BjaS5jCitAQCAtMjgzNiw2ICsyODM2LDE1IEBA IHN0YXRpYyBpbnQgdmZpb19wY2lfbG9hZF9jb25maWcoVkZJT0RldmljZSAqdmJhc2VkZXYsIFFF TVVGaWxlICpmKQorICAgICByZXR1cm4gcmV0OworIH0KKyAKKysvKiBUcmFuc2Zvcm0gZnJvbSBW RklPRGV2aWNlIHRvIFZGSU9QQ0lEZXZpY2UuIFJldHVybiBOVUxMIGlmIGZhaWxzLiAqLworK1ZG SU9QQ0lEZXZpY2UgKnZmaW9fcGNpX2Zyb21fdmZpb19kZXZpY2UoVkZJT0RldmljZSAqdmJhc2Vk ZXYpCisreworKyAgICBpZiAodmJhc2VkZXYgJiYgdmJhc2VkZXYtPnR5cGUgPT0gVkZJT19ERVZJ Q0VfVFlQRV9QQ0kpIHsKKysgICAgICAgIHJldHVybiBjb250YWluZXJfb2YodmJhc2VkZXYsIFZG SU9QQ0lEZXZpY2UsIHZiYXNlZGV2KTsKKysgICAgfQorKyAgICByZXR1cm4gTlVMTDsKKyt9Cisr Cisgdm9pZCB2ZmlvX3N1Yl9wYWdlX2Jhcl91cGRhdGVfbWFwcGluZ3MoVkZJT1BDSURldmljZSAq dmRldikKKyB7CisgICAgIFBDSURldmljZSAqcGRldiA9ICZ2ZGV2LT5wZGV2OworZGlmZiAtLWdp dCBhL2h3L3ZmaW8vcGNpLmggYi9ody92ZmlvL3BjaS5oCitpbmRleCAwNTZmNWUxMmNmLi5lM2Fi M2ZlMWY3IDEwMDY0NAorLS0tIGEvaHcvdmZpby9wY2kuaAorKysrIGIvaHcvdmZpby9wY2kuaAor QEAgLTIyNyw2ICsyMjcsMTggQEAgdm9pZCB2ZmlvX3BjaV93cml0ZV9jb25maWcoUENJRGV2aWNl ICpwZGV2LAorIHVpbnQ2NF90IHZmaW9fdmdhX3JlYWQodm9pZCAqb3BhcXVlLCBod2FkZHIgYWRk ciwgdW5zaWduZWQgc2l6ZSk7Cisgdm9pZCB2ZmlvX3ZnYV93cml0ZSh2b2lkICpvcGFxdWUsIGh3 YWRkciBhZGRyLCB1aW50NjRfdCBkYXRhLCB1bnNpZ25lZCBzaXplKTsKKyAKKysvKioKKysgKiB2 ZmlvX3BjaV9mcm9tX3ZmaW9fZGV2aWNlOiBUcmFuc2Zvcm0gZnJvbSBWRklPRGV2aWNlIHRvCisr ICogVkZJT1BDSURldmljZQorKyAqCisrICogVGhpcyBmdW5jdGlvbiBjaGVja3MgaWYgdGhlIGdp dmVuIEB2YmFzZWRldiBpcyBhIFZGSU8gUENJIGRldmljZS4KKysgKiBJZiBpdCBpcywgaXQgcmV0 dXJucyB0aGUgY29udGFpbmluZyBWRklPUENJRGV2aWNlLgorKyAqCisrICogQHZiYXNlZGV2OiBU aGUgVkZJT0RldmljZSB0byB0cmFuc2Zvcm0KKysgKgorKyAqIFJldHVybjogVGhlIFZGSU9QQ0lE ZXZpY2Ugb24gc3VjY2VzcywgTlVMTCBvbiBmYWlsdXJlLgorKyAqLworK1ZGSU9QQ0lEZXZpY2Ug KnZmaW9fcGNpX2Zyb21fdmZpb19kZXZpY2UoVkZJT0RldmljZSAqdmJhc2VkZXYpOworIHZvaWQg dmZpb19zdWJfcGFnZV9iYXJfdXBkYXRlX21hcHBpbmdzKFZGSU9QQ0lEZXZpY2UgKnZkZXYpOwor IGJvb2wgdmZpb19vcHRfcm9tX2luX2RlbnlsaXN0KFZGSU9QQ0lEZXZpY2UgKnZkZXYpOworIGJv b2wgdmZpb19jb25maWdfcXVpcmtfc2V0dXAoVkZJT1BDSURldmljZSAqdmRldiwgRXJyb3IgKipl cnJwKTsKKy0tIAorMi41Mi4wCisKCmRpZmYgLS1naXQgYS9rdm0tdmZpby1Nb3ZlLXZmaW8tcmVn aW9uLmgtdW5kZXItaHctdmZpby5wYXRjaCBiL2t2bS12ZmlvLU1vdmUtdmZpby1yZWdpb24uaC11 bmRlci1ody12ZmlvLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFi NzZiNWUKLS0tIC9kZXYvbnVsbAorKysgYi9rdm0tdmZpby1Nb3ZlLXZmaW8tcmVnaW9uLmgtdW5k ZXItaHctdmZpby5wYXRjaApAQCAtMCwwICsxLDM2IEBACitGcm9tIDlhNGIzZjA5OTZhMzI1NjI1 YTA1ZDBjZWE4ZjFmODA3N2IyYjk0YmYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9 P1VURi04P3E/Qz1DMz1BOWRyaWM9MjBMZT0yMEdvYXRlcj89IDxjbGdAcmVkaGF0LmNvbT4KK0Rh dGU6IE1vbiwgMSBTZXAgMjAyNSAwODo0NjozMSArMDIwMAorU3ViamVjdDogW1BBVENIIDAyNC8x MTZdIHZmaW86IE1vdmUgdmZpby1yZWdpb24uaCB1bmRlciBody92ZmlvLworTUlNRS1WZXJzaW9u OiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1U cmFuc2Zlci1FbmNvZGluZzogOGJpdAorCitSSC1BdXRob3I6IFJvZG9sZm8gVmljayA8Tm9uZT4K K1JILU1lcmdlUmVxdWVzdDogNDg2OiBBZGQgRE1BQlVGIHN1cHBvcnQKK1JILUppcmE6IFJIRUwt MTM4NDk0CitSSC1BY2tlZC1ieTogQ8OpZHJpYyBMZSBHb2F0ZXIgPGNsZ0ByZWRoYXQuY29tPgor UkgtQWNrZWQtYnk6IEVyaWMgQXVnZXIgPGVyaWMuYXVnZXJAcmVkaGF0LmNvbT4KK1JILUNvbW1p dDogWzgvMTAwXSBmN2Q5NmEyYjFkNTYyYWEyNmYzZTEzYWNkY2M3NTdiNGY4YzJlNjZlIChyb3Zp Y2sxL3FlbXUta3ZtKQorCitTaW5jZSB0aGUgcmVtb3ZhbCBvZiB2ZmlvLXBsYXRmb3JtLCBoZWFk ZXIgZmlsZSB2ZmlvLXJlZ2lvbi5oIG5vCitsb25nZXIgbmVlZHMgdG8gYmUgYSBwdWJsaWMgVkZJ TyBpbnRlcmZhY2UuIE1vdmUgaXQgdW5kZXIgaHcvdmZpby4KKworUmV2aWV3ZWQtYnk6IEVyaWMg QXVnZXIgPGVyaWMuYXVnZXJAcmVkaGF0LmNvbT4KK1Jldmlld2VkLWJ5OiBBbGV4IFdpbGxpYW1z b24gPGFsZXgud2lsbGlhbXNvbkByZWRoYXQuY29tPgorTGluazogaHR0cHM6Ly9sb3JlLmtlcm5l bC5vcmcvcWVtdS1kZXZlbC8yMDI1MDkwMTA2NDYzMS41MzA3MjMtOS1jbGdAcmVkaGF0LmNvbQor U2lnbmVkLW9mZi1ieTogQ8OpZHJpYyBMZSBHb2F0ZXIgPGNsZ0ByZWRoYXQuY29tPgorKGNoZXJy eSBwaWNrZWQgZnJvbSBjb21taXQgZTdhNDdmNzE3NzE4NDQxYjU0NjA5MGZlM2ZhOTFlMjcwNWNh MTI1YikKK1NpZ25lZC1vZmYtYnk6IEVyaWMgQXVnZXIgPGVyaWMuYXVnZXJAcmVkaGF0LmNvbT4K Ky0tLQorIHtpbmNsdWRlL2h3ID0+IGh3fS92ZmlvL3ZmaW8tcmVnaW9uLmggfCAwCisgMSBmaWxl IGNoYW5nZWQsIDAgaW5zZXJ0aW9ucygrKSwgMCBkZWxldGlvbnMoLSkKKyByZW5hbWUge2luY2x1 ZGUvaHcgPT4gaHd9L3ZmaW8vdmZpby1yZWdpb24uaCAoMTAwJSkKKworZGlmZiAtLWdpdCBhL2lu Y2x1ZGUvaHcvdmZpby92ZmlvLXJlZ2lvbi5oIGIvaHcvdmZpby92ZmlvLXJlZ2lvbi5oCitzaW1p bGFyaXR5IGluZGV4IDEwMCUKK3JlbmFtZSBmcm9tIGluY2x1ZGUvaHcvdmZpby92ZmlvLXJlZ2lv bi5oCityZW5hbWUgdG8gaHcvdmZpby92ZmlvLXJlZ2lvbi5oCistLSAKKzIuNTIuMAorCgpkaWZm IC0tZ2l0IGEva3ZtLXZmaW8tUmVtb3ZlLXZmaW8tYW1kLXhnYmUtZGV2aWNlLnBhdGNoIGIva3Zt LXZmaW8tUmVtb3ZlLXZmaW8tYW1kLXhnYmUtZGV2aWNlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAuLmMxZDlmMTMKLS0tIC9kZXYvbnVsbAorKysgYi9rdm0tdmZpby1S ZW1vdmUtdmZpby1hbWQteGdiZS1kZXZpY2UucGF0Y2gKQEAgLTAsMCArMSw2MjMgQEAKK0Zyb20g NmI4NGU2YmJkNTIwMjcyMDJjZjAxYjBlZDE1Y2M3MWZiNTI0ZjUzMCBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKK0Zyb206ID0/VVRGLTg/cT9DPUMzPUE5ZHJpYz0yMExlPTIwR29hdGVyPz0gPGNs Z0ByZWRoYXQuY29tPgorRGF0ZTogTW9uLCAxIFNlcCAyMDI1IDA4OjQ2OjI4ICswMjAwCitTdWJq ZWN0OiBbUEFUQ0ggMDIwLzExNl0gdmZpbzogUmVtb3ZlICd2ZmlvLWFtZC14Z2JlJyBkZXZpY2UK K01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRG LTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworUkgtQXV0aG9yOiBSb2RvbGZv IFZpY2sgPE5vbmU+CitSSC1NZXJnZVJlcXVlc3Q6IDQ4NjogQWRkIERNQUJVRiBzdXBwb3J0CitS SC1KaXJhOiBSSEVMLTEzODQ5NAorUkgtQWNrZWQtYnk6IEPDqWRyaWMgTGUgR29hdGVyIDxjbGdA cmVkaGF0LmNvbT4KK1JILUFja2VkLWJ5OiBFcmljIEF1Z2VyIDxlcmljLmF1Z2VyQHJlZGhhdC5j b20+CitSSC1Db21taXQ6IFs0LzEwMF0gZDBiMmVhNWJmOWU1N2ZmMTk2OTJkNTdjMTlmMzAxZDQ3 ZDY1MzI0MCAocm92aWNrMS9xZW11LWt2bSkKKworQ29uZmxpY3RzOgorCWh3L2FybS92aXJ0LmM6 IGR1ZSB0byB0aGUgZG93bnN0cmVhbS1vbmx5IGhhbmRsaW5nIG9mIFJBTUZCCisJaHcvY29yZS9z eXNidXMtZmR0LmM6IGRvd25zdHJlYW0gNjBlN2FjMGM0MWMyICgidmZpbzogcmVuYW1lCitmaWVs ZCB0byAibnVtX2luaXRpYWxfcmVnaW9ucyIpIHRvdWNoZXMgc3lzYnVzLWZkdC5jLiBBbnl3YXkg dGhhdCBjb2RlCitpcyByZW1vdmVkCisKK1RoZSBWRklPX0FNRF9YR0JFIGRldmljZSB0eXBlIGhh cyBiZWVuIGRlcHJlY2F0ZWQgaW4gdGhlIFFFTVUgMTAuMAordGltZWZyYW1lLiBUaGUgQU1EICJT ZWF0dGxlIiBkZXZpY2UgaXMgbm90IHN1cHBvcnRlZCBhbnltb3JlLiBSZW1vdmUgaXQuCisKK1Jl dmlld2VkLWJ5OiBFcmljIEF1Z2VyIDxlcmljLmF1Z2VyQHJlZGhhdC5jb20+CitSZXZpZXdlZC1i eTogQWxleCBXaWxsaWFtc29uIDxhbGV4LndpbGxpYW1zb25AcmVkaGF0LmNvbT4KK0xpbms6IGh0 dHBzOi8vbG9yZS5rZXJuZWwub3JnL3FlbXUtZGV2ZWwvMjAyNTA5MDEwNjQ2MzEuNTMwNzIzLTYt Y2xnQHJlZGhhdC5jb20KK1NpZ25lZC1vZmYtYnk6IEPDqWRyaWMgTGUgR29hdGVyIDxjbGdAcmVk aGF0LmNvbT4KKyhjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IGFlYjFhNTBkNGE3ZjQ2NGE4ZmYw YTY2ZTBiZWVjMmE1ZTFlZjYzNDIpCitTaWduZWQtb2ZmLWJ5OiBFcmljIEF1Z2VyIDxlcmljLmF1 Z2VyQHJlZGhhdC5jb20+CistLS0KKyBkb2NzL2Fib3V0L2RlcHJlY2F0ZWQucnN0ICAgICAgIHwg ICA2IC0KKyBkb2NzL2Fib3V0L3JlbW92ZWQtZmVhdHVyZXMucnN0IHwgICA5ICsKKyBkb2NzL2Rl dmVsL2tjb25maWcucnN0ICAgICAgICAgIHwgICAxIC0KKyBody9hcm0vS2NvbmZpZyAgICAgICAg ICAgICAgICAgIHwgICAxIC0KKyBody9hcm0vdmlydC5jICAgICAgICAgICAgICAgICAgIHwgICAy IC0KKyBody9jb3JlL3N5c2J1cy1mZHQuYyAgICAgICAgICAgIHwgMzE1IC0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCisgaHcvdmZpby9LY29uZmlnICAgICAgICAgICAgICAgICB8ICAg NSAtCisgaHcvdmZpby9hbWQteGdiZS5jICAgICAgICAgICAgICB8ICA2MSAtLS0tLS0tCisgaHcv dmZpby9tZXNvbi5idWlsZCAgICAgICAgICAgICB8ICAgMSAtCisgaW5jbHVkZS9ody92ZmlvL3Zm aW8tYW1kLXhnYmUuaCB8ICA0NiAtLS0tLQorIDEwIGZpbGVzIGNoYW5nZWQsIDkgaW5zZXJ0aW9u cygrKSwgNDM4IGRlbGV0aW9ucygtKQorIGRlbGV0ZSBtb2RlIDEwMDY0NCBody92ZmlvL2FtZC14 Z2JlLmMKKyBkZWxldGUgbW9kZSAxMDA2NDQgaW5jbHVkZS9ody92ZmlvL3ZmaW8tYW1kLXhnYmUu aAorCitkaWZmIC0tZ2l0IGEvZG9jcy9hYm91dC9kZXByZWNhdGVkLnJzdCBiL2RvY3MvYWJvdXQv ZGVwcmVjYXRlZC5yc3QKK2luZGV4IGQ1MDY0NWEwNzEuLjYzMTg3MWZmYzggMTAwNjQ0CistLS0g YS9kb2NzL2Fib3V0L2RlcHJlY2F0ZWQucnN0CisrKysgYi9kb2NzL2Fib3V0L2RlcHJlY2F0ZWQu cnN0CitAQCAtNTI2LDEyICs1MjYsNiBAQCBUaGUgdmZpby1jYWx4ZWRhLXhnbWFjIGRldmljZSBh bGxvd3MgdG8gYXNzaWduIGEgaG9zdCBDYWx4ZWRhIEhpZ2hiYW5rCisgc3RyaW5nKSB0byBhIGd1 ZXN0LiBDYWx4ZWRhIEhXIGhhcyBiZWVuIGV3YXN0ZWQgbm93IGFuZCB0aGVyZSBpcyBubyBwb2lu dAorIGtlZXBpbmcgdGhhdCBkZXZpY2UuCisgCistYGAtZGV2aWNlIHZmaW8tYW1kLXhnYmVgYCAo c2luY2UgMTAuMCkKKy1eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXgorLVRo ZSB2ZmlvLWFtZC14Z2JlIGRldmljZSBhbGxvd3MgdG8gYXNzaWduIGEgaG9zdCBBTUQgMTBHYkUg Y29udHJvbGxlcgorLXRvIGEgZ3Vlc3QgKCJhbWQseGdiZS1zZWF0dGxlLXYxYSIgY29tcGF0aWJp bGl0eSBzdHJpbmcpLiBBTUQgIlNlYXR0bGUiCistaXMgbm90IHN1cHBvcnRlZCBhbnltb3JlIGFu ZCB0aGVyZSBpcyBubyBwb2ludCBrZWVwaW5nIHRoYXQgZGV2aWNlLgorLQorIGBgLWRldmljZSB2 ZmlvLXBsYXRmb3JtYGAgKHNpbmNlIDEwLjApCisgXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5e Xl5eXl5eXl5eXl4KKyBUaGUgdmZpby1wbGF0Zm9ybSBkZXZpY2UgYWxsb3dzIHRvIGFzc2lnbiBh IGhvc3QgcGxhdGZvcm0gZGV2aWNlCitkaWZmIC0tZ2l0IGEvZG9jcy9hYm91dC9yZW1vdmVkLWZl YXR1cmVzLnJzdCBiL2RvY3MvYWJvdXQvcmVtb3ZlZC1mZWF0dXJlcy5yc3QKK2luZGV4IGQ3YzIx MTNmYzMuLjc1OWMwNjc0MTIgMTAwNjQ0CistLS0gYS9kb2NzL2Fib3V0L3JlbW92ZWQtZmVhdHVy ZXMucnN0CisrKysgYi9kb2NzL2Fib3V0L3JlbW92ZWQtZmVhdHVyZXMucnN0CitAQCAtMTI2Miw2 ICsxMjYyLDE1IEBAIFRoZSBjb3JyZXNwb25kaW5nIHVwc3RyZWFtIHNlcnZlciBwcm9qZWN0IGlz IG5vIGxvbmdlciBtYWludGFpbmVkLgorIFVzZXJzIGFyZSByZWNvbW1lbmRlZCB0byBzd2l0Y2gg dG8gYW4gYWx0ZXJuYXRpdmUgZGlzdHJpYnV0ZWQgYmxvY2sKKyBkZXZpY2UgZHJpdmVyIHN1Y2gg YXMgUkJELgorIAorK1ZGSU8gZGV2aWNlcworKy0tLS0tLS0tLS0tLQorKworK2BgLWRldmljZSB2 ZmlvLWFtZC14Z2JlYGAgKHNpbmNlIDEwLjIpCisrJycnJycnJycnJycnJycnJycnJycnJycnJycn JycnJycnJycnJycKKytUaGUgdmZpby1hbWQteGdiZSBkZXZpY2UgYWxsb3dzIHRvIGFzc2lnbiBh IGhvc3QgQU1EIDEwR2JFIGNvbnRyb2xsZXIKKyt0byBhIGd1ZXN0ICgiYW1kLHhnYmUtc2VhdHRs ZS12MWEiIGNvbXBhdGliaWxpdHkgc3RyaW5nKS4gQU1EICJTZWF0dGxlIgorK2lzIG5vdCBzdXBw b3J0ZWQgYW55bW9yZSBhbmQgdGhlcmUgaXMgbm8gcG9pbnQga2VlcGluZyB0aGF0IGRldmljZS4K KysKKyBUb29scworIC0tLS0tCisgCitkaWZmIC0tZ2l0IGEvZG9jcy9kZXZlbC9rY29uZmlnLnJz dCBiL2RvY3MvZGV2ZWwva2NvbmZpZy5yc3QKK2luZGV4IDQ5M2I3NmM0ZmIuLjlmZGY1MDE1Mjkg MTAwNjQ0CistLS0gYS9kb2NzL2RldmVsL2tjb25maWcucnN0CisrKysgYi9kb2NzL2RldmVsL2tj b25maWcucnN0CitAQCAtNTksNyArNTksNiBAQCBzdGFuemEgbGlrZSB0aGUgZm9sbG93aW5nOjoK KyAgICAgICBjb25maWcgQVJNX1ZJUlQKKyAgICAgICAgICBib29sCisgICAgICAgICAgaW1wbHkg UENJX0RFVklDRVMKKy0gICAgICAgICBpbXBseSBWRklPX0FNRF9YR0JFCisgICAgICAgICAgaW1w bHkgVkZJT19YR01BQworICAgICAgICAgIHNlbGVjdCBBMTVNUENPUkUKKyAgICAgICAgICBzZWxl Y3QgQUNQSQorZGlmZiAtLWdpdCBhL2h3L2FybS9LY29uZmlnIGIvaHcvYXJtL0tjb25maWcKK2lu ZGV4IDJhYTRiNWQ3NzguLjY0YjJlYzg3YjUgMTAwNjQ0CistLS0gYS9ody9hcm0vS2NvbmZpZwor KysrIGIvaHcvYXJtL0tjb25maWcKK0BAIC01LDcgKzUsNiBAQCBjb25maWcgQVJNX1ZJUlQKKyAg ICAgZGVwZW5kcyBvbiBUQ0cgfHwgS1ZNIHx8IEhWRgorICAgICBpbXBseSBQQ0lfREVWSUNFUwor ICAgICBpbXBseSBURVNUX0RFVklDRVMKKy0gICAgaW1wbHkgVkZJT19BTURfWEdCRQorICAgICBp bXBseSBWRklPX1BMQVRGT1JNCisgICAgIGltcGx5IFZGSU9fWEdNQUMKKyAgICAgaW1wbHkgVFBN X1RJU19TWVNCVVMKK2RpZmYgLS1naXQgYS9ody9hcm0vdmlydC5jIGIvaHcvYXJtL3ZpcnQuYwor aW5kZXggNzUyZGMwODcyMC4uYzAyOTJhMzg5OSAxMDA2NDQKKy0tLSBhL2h3L2FybS92aXJ0LmMK KysrKyBiL2h3L2FybS92aXJ0LmMKK0BAIC0zOSw3ICszOSw2IEBACisgI2luY2x1ZGUgImh3L2Fy bS92aXJ0LmgiCisgI2luY2x1ZGUgImh3L2Jsb2NrL2ZsYXNoLmgiCisgI2luY2x1ZGUgImh3L3Zm aW8vdmZpby1jYWx4ZWRhLXhnbWFjLmgiCistI2luY2x1ZGUgImh3L3ZmaW8vdmZpby1hbWQteGdi ZS5oIgorICNpbmNsdWRlICJody9kaXNwbGF5L3JhbWZiLmgiCisgI2luY2x1ZGUgIm5ldC9uZXQu aCIKKyAjaW5jbHVkZSAic3lzdGVtL2RldmljZV90cmVlLmgiCitAQCAtMzMyNCw3ICszMzIzLDYg QEAgc3RhdGljIHZvaWQgdmlydF9tYWNoaW5lX2NsYXNzX2luaXQoT2JqZWN0Q2xhc3MgKm9jLCBj b25zdCB2b2lkICpkYXRhKQorICAgICBtYy0+bWF4X2NwdXMgPSAzODQ7CisgI2lmIDAgLyogRGlz YWJsZWQgZm9yIFJlZCBIYXQgRW50ZXJwcmlzZSBMaW51eCAqLworICAgICBtYWNoaW5lX2NsYXNz X2FsbG93X2R5bmFtaWNfc3lzYnVzX2RldihtYywgVFlQRV9WRklPX0NBTFhFREFfWEdNQUMpOwor LSAgICBtYWNoaW5lX2NsYXNzX2FsbG93X2R5bmFtaWNfc3lzYnVzX2RldihtYywgVFlQRV9WRklP X0FNRF9YR0JFKTsKKyAgICAgbWFjaGluZV9jbGFzc19hbGxvd19keW5hbWljX3N5c2J1c19kZXYo bWMsIFRZUEVfVkZJT19QTEFURk9STSk7CisgI2VuZGlmCisgICAgIG1hY2hpbmVfY2xhc3NfYWxs b3dfZHluYW1pY19zeXNidXNfZGV2KG1jLCBUWVBFX1JBTUZCX0RFVklDRSk7CitkaWZmIC0tZ2l0 IGEvaHcvY29yZS9zeXNidXMtZmR0LmMgYi9ody9jb3JlL3N5c2J1cy1mZHQuYworaW5kZXggNjcz ZTA4M2QzMS4uMGNhZmZlNDg0NSAxMDA2NDQKKy0tLSBhL2h3L2NvcmUvc3lzYnVzLWZkdC5jCisr KysgYi9ody9jb3JlL3N5c2J1cy1mZHQuYworQEAgLTM1LDcgKzM1LDYgQEAKKyAjaW5jbHVkZSAi aHcvcGxhdGZvcm0tYnVzLmgiCisgI2luY2x1ZGUgImh3L3ZmaW8vdmZpby1wbGF0Zm9ybS5oIgor ICNpbmNsdWRlICJody92ZmlvL3ZmaW8tY2FseGVkYS14Z21hYy5oIgorLSNpbmNsdWRlICJody92 ZmlvL3ZmaW8tYW1kLXhnYmUuaCIKKyAjaW5jbHVkZSAiaHcvdmZpby92ZmlvLXJlZ2lvbi5oIgor ICNpbmNsdWRlICJody9kaXNwbGF5L3JhbWZiLmgiCisgI2luY2x1ZGUgImh3L3VlZmkvdmFyLXNl cnZpY2UtYXBpLmgiCitAQCAtNjksMTQyICs2OCw2IEBAIHR5cGVkZWYgc3RydWN0IEhvc3RQcm9w ZXJ0eSB7CisgCisgI2lmZGVmIENPTkZJR19MSU5VWAorIAorLS8qKgorLSAqIGNvcHlfcHJvcGVy dGllc19mcm9tX2hvc3QKKy0gKgorLSAqIGNvcGllcyBwcm9wZXJ0aWVzIGxpc3RlZCBpbiBhbiBh cnJheSBmcm9tIGhvc3QgZGV2aWNlIHRyZWUgdG8KKy0gKiBndWVzdCBkZXZpY2UgdHJlZS4gSWYg YSBub24gb3B0aW9uYWwgcHJvcGVydHkgaXMgbm90IGZvdW5kLCB0aGUKKy0gKiBmdW5jdGlvbiBh c3NlcnRzLiBBbiBvcHRpb25hbCBwcm9wZXJ0eSBpcyBpZ25vcmVkIGlmIG5vdCBmb3VuZAorLSAq IGluIHRoZSBob3N0IGRldmljZSB0cmVlLgorLSAqIEBwcm9wczogYXJyYXkgb2YgSG9zdFByb3Bl cnR5IHRvIGNvcHkKKy0gKiBAbmJfcHJvcHM6IG51bWJlciBvZiBwcm9wZXJ0aWVzIGluIHRoZSBh cnJheQorLSAqIEBob3N0X2R0OiBob3N0IGRldmljZSB0cmVlIGJsb2IKKy0gKiBAZ3Vlc3RfZHQ6 IGd1ZXN0IGRldmljZSB0cmVlIGJsb2IKKy0gKiBAbm9kZV9wYXRoOiBob3N0IGR0IG5vZGUgcGF0 aCB3aGVyZSB0aGUgcHJvcGVydHkgaXMgc3VwcG9zZWQgdG8gYmUKKy0gICAgICAgICAgICAgIGZv dW5kCistICogQG5vZGVuYW1lOiBndWVzdCBub2RlIG5hbWUgdGhlIHByb3BlcnRpZXMgc2hvdWxk IGJlIGFkZGVkIHRvCistICovCistc3RhdGljIHZvaWQgY29weV9wcm9wZXJ0aWVzX2Zyb21faG9z dChIb3N0UHJvcGVydHkgKnByb3BzLCBpbnQgbmJfcHJvcHMsCistICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB2b2lkICpob3N0X2ZkdCwgdm9pZCAqZ3Vlc3RfZmR0LAorLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhciAqbm9kZV9wYXRoLCBjaGFy ICpub2RlbmFtZSkKKy17CistICAgIGludCBpLCBwcm9wX2xlbjsKKy0gICAgY29uc3Qgdm9pZCAq cjsKKy0gICAgRXJyb3IgKmVyciA9IE5VTEw7CistCistICAgIGZvciAoaSA9IDA7IGkgPCBuYl9w cm9wczsgaSsrKSB7CistICAgICAgICByID0gcWVtdV9mZHRfZ2V0cHJvcChob3N0X2ZkdCwgbm9k ZV9wYXRoLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcHNbaV0ubmFtZSwKKy0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICZwcm9wX2xlbiwKKy0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICZlcnIpOworLSAgICAgICAgaWYgKHIpIHsKKy0gICAgICAgICAgICBxZW11 X2ZkdF9zZXRwcm9wKGd1ZXN0X2ZkdCwgbm9kZW5hbWUsCistICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBwcm9wc1tpXS5uYW1lLCByLCBwcm9wX2xlbik7CistICAgICAgICB9IGVsc2Ugewor LSAgICAgICAgICAgIGlmIChwcm9wc1tpXS5vcHRpb25hbCAmJiBwcm9wX2xlbiA9PSAtRkRUX0VS Ul9OT1RGT1VORCkgeworLSAgICAgICAgICAgICAgICAvKiBvcHRpb25hbCBwcm9wZXJ0eSBkb2Vz IG5vdCBleGlzdCAqLworLSAgICAgICAgICAgICAgICBlcnJvcl9mcmVlKGVycik7CistICAgICAg ICAgICAgfSBlbHNlIHsKKy0gICAgICAgICAgICAgICAgZXJyb3JfcmVwb3J0X2VycihlcnIpOwor LSAgICAgICAgICAgIH0KKy0gICAgICAgICAgICBpZiAoIXByb3BzW2ldLm9wdGlvbmFsKSB7Cist ICAgICAgICAgICAgICAgIC8qIG1hbmRhdG9yeSBwcm9wZXJ0eSBub3QgZm91bmQ6IGJhaWwgb3V0 ICovCistICAgICAgICAgICAgICAgIGV4aXQoMSk7CistICAgICAgICAgICAgfQorLSAgICAgICAg ICAgIGVyciA9IE5VTEw7CistICAgICAgICB9CistICAgIH0KKy19CistCistLyogY2xvY2sgcHJv cGVydGllcyB3aG9zZSB2YWx1ZXMgYXJlIGNvcGllZC9wYXN0ZWQgZnJvbSBob3N0ICovCistc3Rh dGljIEhvc3RQcm9wZXJ0eSBjbG9ja19jb3BpZWRfcHJvcGVydGllc1tdID0geworLSAgICB7ImNv bXBhdGlibGUiLCBmYWxzZX0sCistICAgIHsiI2Nsb2NrLWNlbGxzIiwgZmFsc2V9LAorLSAgICB7 ImNsb2NrLWZyZXF1ZW5jeSIsIHRydWV9LAorLSAgICB7ImNsb2NrLW91dHB1dC1uYW1lcyIsIHRy dWV9LAorLX07CistCistLyoqCistICogZmR0X2J1aWxkX2Nsb2NrX25vZGUKKy0gKgorLSAqIEJ1 aWxkIGEgZ3Vlc3QgY2xvY2sgbm9kZSwgdXNlZCBhcyBhIGRlcGVuZGVuY3kgZnJvbSBhIHBhc3N0 aHJvdWdoJ2VkCistICogZGV2aWNlLiBNb3N0IGluZm9ybWF0aW9uIGFyZSByZXRyaWV2ZWQgZnJv bSB0aGUgaG9zdCBjbG9jayBub2RlLgorLSAqIEFsc28gY2hlY2sgdGhlIGhvc3QgY2xvY2sgaXMg YSBmaXhlZCBvbmUuCistICoKKy0gKiBAaG9zdF9mZHQ6IGhvc3QgZGV2aWNlIHRyZWUgYmxvYiBm cm9tIHdoaWNoIGluZm8gYXJlIHJldHJpZXZlZAorLSAqIEBndWVzdF9mZHQ6IGd1ZXN0IGRldmlj ZSB0cmVlIGJsb2Igd2hlcmUgdGhlIGNsb2NrIG5vZGUgaXMgYWRkZWQKKy0gKiBAaG9zdF9waGFu ZGxlOiBwaGFuZGxlIG9mIHRoZSBjbG9jayBpbiBob3N0IGRldmljZSB0cmVlCistICogQGd1ZXN0 X3BoYW5kbGU6IHBoYW5kbGUgdG8gYXNzaWduIHRvIHRoZSBndWVzdCBub2RlCistICovCistc3Rh dGljIHZvaWQgZmR0X2J1aWxkX2Nsb2NrX25vZGUodm9pZCAqaG9zdF9mZHQsIHZvaWQgKmd1ZXN0 X2ZkdCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGhvc3RfcGhh bmRsZSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IGd1ZXN0X3Bo YW5kbGUpCisteworLSAgICBjaGFyICpub2RlX3BhdGggPSBOVUxMOworLSAgICBjaGFyICpub2Rl bmFtZTsKKy0gICAgY29uc3Qgdm9pZCAqcjsKKy0gICAgaW50IHJldCwgbm9kZV9vZmZzZXQsIHBy b3BfbGVuLCBwYXRoX2xlbiA9IDE2OworLQorLSAgICBub2RlX29mZnNldCA9IGZkdF9ub2RlX29m ZnNldF9ieV9waGFuZGxlKGhvc3RfZmR0LCBob3N0X3BoYW5kbGUpOworLSAgICBpZiAobm9kZV9v ZmZzZXQgPD0gMCkgeworLSAgICAgICAgZXJyb3JfcmVwb3J0KCJub3QgYWJsZSB0byBsb2NhdGUg Y2xvY2sgaGFuZGxlICVkIGluIGhvc3QgZGV2aWNlIHRyZWUiLAorLSAgICAgICAgICAgICAgICAg ICAgIGhvc3RfcGhhbmRsZSk7CistICAgICAgICBleGl0KDEpOworLSAgICB9CistICAgIG5vZGVf cGF0aCA9IGdfbWFsbG9jKHBhdGhfbGVuKTsKKy0gICAgd2hpbGUgKChyZXQgPSBmZHRfZ2V0X3Bh dGgoaG9zdF9mZHQsIG5vZGVfb2Zmc2V0LCBub2RlX3BhdGgsIHBhdGhfbGVuKSkKKy0gICAgICAg ICAgICA9PSAtRkRUX0VSUl9OT1NQQUNFKSB7CistICAgICAgICBwYXRoX2xlbiArPSAxNjsKKy0g ICAgICAgIG5vZGVfcGF0aCA9IGdfcmVhbGxvYyhub2RlX3BhdGgsIHBhdGhfbGVuKTsKKy0gICAg fQorLSAgICBpZiAocmV0IDwgMCkgeworLSAgICAgICAgZXJyb3JfcmVwb3J0KCJub3QgYWJsZSB0 byByZXRyaWV2ZSBub2RlIHBhdGggZm9yIGNsb2NrIGhhbmRsZSAlZCIsCistICAgICAgICAgICAg ICAgICAgICAgaG9zdF9waGFuZGxlKTsKKy0gICAgICAgIGV4aXQoMSk7CistICAgIH0KKy0KKy0g ICAgciA9IHFlbXVfZmR0X2dldHByb3AoaG9zdF9mZHQsIG5vZGVfcGF0aCwgImNvbXBhdGlibGUi LCAmcHJvcF9sZW4sCistICAgICAgICAgICAgICAgICAgICAgICAgICZlcnJvcl9mYXRhbCk7Cist ICAgIGlmIChzdHJjbXAociwgImZpeGVkLWNsb2NrIikpIHsKKy0gICAgICAgIGVycm9yX3JlcG9y dCgiY2xvY2sgaGFuZGxlICVkIGlzIG5vdCBhIGZpeGVkIGNsb2NrIiwgaG9zdF9waGFuZGxlKTsK Ky0gICAgICAgIGV4aXQoMSk7CistICAgIH0KKy0KKy0gICAgbm9kZW5hbWUgPSBzdHJyY2hyKG5v ZGVfcGF0aCwgJy8nKTsKKy0gICAgcWVtdV9mZHRfYWRkX3N1Ym5vZGUoZ3Vlc3RfZmR0LCBub2Rl bmFtZSk7CistCistICAgIGNvcHlfcHJvcGVydGllc19mcm9tX2hvc3QoY2xvY2tfY29waWVkX3By b3BlcnRpZXMsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQVJSQVlfU0laRShjbG9j a19jb3BpZWRfcHJvcGVydGllcyksCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaG9z dF9mZHQsIGd1ZXN0X2ZkdCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub2RlX3Bh dGgsIG5vZGVuYW1lKTsKKy0KKy0gICAgcWVtdV9mZHRfc2V0cHJvcF9jZWxsKGd1ZXN0X2ZkdCwg bm9kZW5hbWUsICJwaGFuZGxlIiwgZ3Vlc3RfcGhhbmRsZSk7CistCistICAgIGdfZnJlZShub2Rl X3BhdGgpOworLX0KKy0KKy0vKioKKy0gKiBzeXNmc190b19kdF9uYW1lOiBjb252ZXJ0IHRoZSBu YW1lIGZvdW5kIGluIHN5c2ZzIGludG8gdGhlIG5vZGUgbmFtZQorLSAqIGZvciBpbnN0YW5jZSBl MDkwMDAwMC54Z21hYyBpcyBjb252ZXJ0ZWQgaW50byB4Z21hY0BlMDkwMDAwMAorLSAqIEBzeXNm c19uYW1lOiBkaXJlY3RvcnkgbmFtZSBpbiBzeXNmcworLSAqCistICogcmV0dXJucyB0aGUgZGV2 aWNlIHRyZWUgbmFtZSB1cG9uIHN1Y2Nlc3Mgb3IgTlVMTCBpbiBjYXNlIHRoZSBzeXNmcyBuYW1l CistICogZG9lcyBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIGZvcm1hdAorLSAqLworLXN0YXRpYyBj aGFyICpzeXNmc190b19kdF9uYW1lKGNvbnN0IGNoYXIgKnN5c2ZzX25hbWUpCisteworLSAgICBn Y2hhciAqKnN1YnN0cmluZ3MgPSAgZ19zdHJzcGxpdChzeXNmc19uYW1lLCAiLiIsIDIpOworLSAg ICBjaGFyICpkdF9uYW1lID0gTlVMTDsKKy0KKy0gICAgaWYgKCFzdWJzdHJpbmdzIHx8ICFzdWJz dHJpbmdzWzBdIHx8ICFzdWJzdHJpbmdzWzFdKSB7CistICAgICAgICBnb3RvIG91dDsKKy0gICAg fQorLSAgICBkdF9uYW1lID0gZ19zdHJkdXBfcHJpbnRmKCIlc0AlcyIsIHN1YnN0cmluZ3NbMV0s IHN1YnN0cmluZ3NbMF0pOworLW91dDoKKy0gICAgZ19zdHJmcmVldihzdWJzdHJpbmdzKTsKKy0g ICAgcmV0dXJuIGR0X25hbWU7CistfQorLQorIC8qIERldmljZSBTcGVjaWZpYyBDb2RlICovCisg CisgLyoqCitAQCAtMjYzLDE4MiArMTI2LDYgQEAgc3RhdGljIGludCBhZGRfY2FseGVkYV9taWR3 YXlfeGdtYWNfZmR0X25vZGUoU3lzQnVzRGV2aWNlICpzYmRldiwgdm9pZCAqb3BhcXVlKQorICAg ICByZXR1cm4gMDsKKyB9CisgCistLyogQU1EIHhnYmUgcHJvcGVydGllcyB3aG9zZSB2YWx1ZXMg YXJlIGNvcGllZC9wYXN0ZWQgZnJvbSBob3N0ICovCistc3RhdGljIEhvc3RQcm9wZXJ0eSBhbWRf eGdiZV9jb3BpZWRfcHJvcGVydGllc1tdID0geworLSAgICB7ImNvbXBhdGlibGUiLCBmYWxzZX0s CistICAgIHsiZG1hLWNvaGVyZW50IiwgdHJ1ZX0sCistICAgIHsiYW1kLHBlci1jaGFubmVsLWlu dGVycnVwdCIsIHRydWV9LAorLSAgICB7InBoeS1tb2RlIiwgZmFsc2V9LAorLSAgICB7Im1hYy1h ZGRyZXNzIiwgdHJ1ZX0sCistICAgIHsiYW1kLHNwZWVkLXNldCIsIGZhbHNlfSwKKy0gICAgeyJh bWQsc2VyZGVzLWJsd2MiLCB0cnVlfSwKKy0gICAgeyJhbWQsc2VyZGVzLWNkci1yYXRlIiwgdHJ1 ZX0sCistICAgIHsiYW1kLHNlcmRlcy1wcS1za2V3IiwgdHJ1ZX0sCistICAgIHsiYW1kLHNlcmRl cy10eC1hbXAiLCB0cnVlfSwKKy0gICAgeyJhbWQsc2VyZGVzLWRmZS10YXAtY29uZmlnIiwgdHJ1 ZX0sCistICAgIHsiYW1kLHNlcmRlcy1kZmUtdGFwLWVuYWJsZSIsIHRydWV9LAorLSAgICB7ImNs b2NrLW5hbWVzIiwgZmFsc2V9LAorLX07CistCistLyoqCistICogYWRkX2FtZF94Z2JlX2ZkdF9u b2RlCistICoKKy0gKiBHZW5lcmF0ZXMgdGhlIGNvbWJpbmVkIHhnYmUvcGh5IG5vZGUgZm9sbG93 aW5nIGtlcm5lbCA+PTQuMgorLSAqIGJpbmRpbmcgZG9jdW1lbnRhdGlvbjoKKy0gKiBEb2N1bWVu dGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvbmV0L2FtZC14Z2JlLnR4dDoKKy0gKiBBbHNvIDIg Y2xvY2sgbm9kZXMgYXJlIGNyZWF0ZWQgKGRtYSBhbmQgcHRwKQorLSAqCistICogQXNzZXJ0cyBp biBjYXNlIG9mIGVycm9yCistICovCistc3RhdGljIGludCBhZGRfYW1kX3hnYmVfZmR0X25vZGUo U3lzQnVzRGV2aWNlICpzYmRldiwgdm9pZCAqb3BhcXVlKQorLXsKKy0gICAgUGxhdGZvcm1CdXNG RFREYXRhICpkYXRhID0gb3BhcXVlOworLSAgICBQbGF0Zm9ybUJ1c0RldmljZSAqcGJ1cyA9IGRh dGEtPnBidXM7CistICAgIFZGSU9QbGF0Zm9ybURldmljZSAqdmRldiA9IFZGSU9fUExBVEZPUk1f REVWSUNFKHNiZGV2KTsKKy0gICAgVkZJT0RldmljZSAqdmJhc2VkZXYgPSAmdmRldi0+dmJhc2Vk ZXY7CistICAgIFZGSU9JTlRwICppbnRwOworLSAgICBjb25zdCBjaGFyICpwYXJlbnRfbm9kZSA9 IGRhdGEtPnBidXNfbm9kZV9uYW1lOworLSAgICBjaGFyICoqbm9kZV9wYXRoLCAqbm9kZW5hbWUs ICpkdF9uYW1lOworLSAgICB2b2lkICpndWVzdF9mZHQgPSBkYXRhLT5mZHQsICpob3N0X2ZkdDsK Ky0gICAgY29uc3Qgdm9pZCAqcjsKKy0gICAgaW50IGksIHByb3BfbGVuOworLSAgICB1aW50MzJf dCAqaXJxX2F0dHIsICpyZWdfYXR0cjsKKy0gICAgY29uc3QgdWludDMyX3QgKmhvc3RfY2xvY2tf cGhhbmRsZXM7CistICAgIHVpbnQ2NF90IG1taW9fYmFzZSwgaXJxX251bWJlcjsKKy0gICAgdWlu dDMyX3QgZ3Vlc3RfY2xvY2tfcGhhbmRsZXNbMl07CistCistICAgIGhvc3RfZmR0ID0gbG9hZF9k ZXZpY2VfdHJlZV9mcm9tX3N5c2ZzKCk7CistCistICAgIGR0X25hbWUgPSBzeXNmc190b19kdF9u YW1lKHZiYXNlZGV2LT5uYW1lKTsKKy0gICAgaWYgKCFkdF9uYW1lKSB7CistICAgICAgICBlcnJv cl9yZXBvcnQoIiVzIGluY29ycmVjdCBzeXNmcyBkZXZpY2UgbmFtZSAlcyIsCistICAgICAgICAg ICAgICAgICAgICAgX19mdW5jX18sIHZiYXNlZGV2LT5uYW1lKTsKKy0gICAgICAgIGV4aXQoMSk7 CistICAgIH0KKy0gICAgbm9kZV9wYXRoID0gcWVtdV9mZHRfbm9kZV9wYXRoKGhvc3RfZmR0LCBk dF9uYW1lLCB2ZGV2LT5jb21wYXQsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAmZXJyb3JfZmF0YWwpOworLSAgICBpZiAoIW5vZGVfcGF0aCB8fCAhbm9kZV9wYXRoWzBdKSB7 CistICAgICAgICBlcnJvcl9yZXBvcnQoIiVzIHVuYWJsZSB0byByZXRyaWV2ZSBub2RlIHBhdGgg Zm9yICVzLyVzIiwKKy0gICAgICAgICAgICAgICAgICAgICBfX2Z1bmNfXywgZHRfbmFtZSwgdmRl di0+Y29tcGF0KTsKKy0gICAgICAgIGV4aXQoMSk7CistICAgIH0KKy0KKy0gICAgaWYgKG5vZGVf cGF0aFsxXSkgeworLSAgICAgICAgZXJyb3JfcmVwb3J0KCIlcyBtb3JlIHRoYW4gb25lIG5vZGUg bWF0Y2hpbmcgJXMvJXMhIiwKKy0gICAgICAgICAgICAgICAgICAgICBfX2Z1bmNfXywgZHRfbmFt ZSwgdmRldi0+Y29tcGF0KTsKKy0gICAgICAgIGV4aXQoMSk7CistICAgIH0KKy0KKy0gICAgZ19m cmVlKGR0X25hbWUpOworLQorLSAgICBpZiAodmJhc2VkZXYtPm51bV9pbml0aWFsX3JlZ2lvbnMg IT0gNSkgeworLSAgICAgICAgZXJyb3JfcmVwb3J0KCIlcyBEb2VzIHRoZSBob3N0IGR0IG5vZGUg Y29tYmluZSBYR0JFL1BIWT8iLCBfX2Z1bmNfXyk7CistICAgICAgICBleGl0KDEpOworLSAgICB9 CistCistICAgIC8qIGdlbmVyYXRlIG5vZGVzIGZvciBETUFfQ0xLIGFuZCBQVFBfQ0xLICovCist ICAgIHIgPSBxZW11X2ZkdF9nZXRwcm9wKGhvc3RfZmR0LCBub2RlX3BhdGhbMF0sICJjbG9ja3Mi LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAmcHJvcF9sZW4sICZlcnJvcl9mYXRhbCk7Cist ICAgIGlmIChwcm9wX2xlbiAhPSA4KSB7CistICAgICAgICBlcnJvcl9yZXBvcnQoIiVzIGNsb2Nr cyBwcm9wZXJ0eSBzaG91bGQgY29udGFpbiAyIGhhbmRsZXMiLCBfX2Z1bmNfXyk7CistICAgICAg ICBleGl0KDEpOworLSAgICB9CistICAgIGhvc3RfY2xvY2tfcGhhbmRsZXMgPSByOworLSAgICBn dWVzdF9jbG9ja19waGFuZGxlc1swXSA9IHFlbXVfZmR0X2FsbG9jX3BoYW5kbGUoZ3Vlc3RfZmR0 KTsKKy0gICAgZ3Vlc3RfY2xvY2tfcGhhbmRsZXNbMV0gPSBxZW11X2ZkdF9hbGxvY19waGFuZGxl KGd1ZXN0X2ZkdCk7CistCistICAgIC8qKgorLSAgICAgKiBjbG9jayBoYW5kbGVzIGZldGNoZWQg ZnJvbSBob3N0IGR0IGFyZSBpbiBiZTMyIGxheW91dCB3aGVyZWFzCistICAgICAqIHJlc3Qgb2Yg dGhlIGNvZGUgdXNlcyBjcHUgbGF5b3V0LiBBbHNvIGd1ZXN0IGNsb2NrIGhhbmRsZXMgYXJlCist ICAgICAqIGluIGNwdSBsYXlvdXQuCistICAgICAqLworLSAgICBmZHRfYnVpbGRfY2xvY2tfbm9k ZShob3N0X2ZkdCwgZ3Vlc3RfZmR0LAorLSAgICAgICAgICAgICAgICAgICAgICAgICBiZTMyX3Rv X2NwdShob3N0X2Nsb2NrX3BoYW5kbGVzWzBdKSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAg Z3Vlc3RfY2xvY2tfcGhhbmRsZXNbMF0pOworLQorLSAgICBmZHRfYnVpbGRfY2xvY2tfbm9kZSho b3N0X2ZkdCwgZ3Vlc3RfZmR0LAorLSAgICAgICAgICAgICAgICAgICAgICAgICBiZTMyX3RvX2Nw dShob3N0X2Nsb2NrX3BoYW5kbGVzWzFdKSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgZ3Vl c3RfY2xvY2tfcGhhbmRsZXNbMV0pOworLQorLSAgICAvKiBjb21iaW5lZCBYR0JFL1BIWSBub2Rl ICovCistICAgIG1taW9fYmFzZSA9IHBsYXRmb3JtX2J1c19nZXRfbW1pb19hZGRyKHBidXMsIHNi ZGV2LCAwKTsKKy0gICAgbm9kZW5hbWUgPSBnX3N0cmR1cF9wcmludGYoIiVzLyVzQCUiIFBSSXg2 NCwgcGFyZW50X25vZGUsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZiYXNlZGV2 LT5uYW1lLCBtbWlvX2Jhc2UpOworLSAgICBxZW11X2ZkdF9hZGRfc3Vibm9kZShndWVzdF9mZHQs IG5vZGVuYW1lKTsKKy0KKy0gICAgY29weV9wcm9wZXJ0aWVzX2Zyb21faG9zdChhbWRfeGdiZV9j b3BpZWRfcHJvcGVydGllcywKKy0gICAgICAgICAgICAgICAgICAgICAgIEFSUkFZX1NJWkUoYW1k X3hnYmVfY29waWVkX3Byb3BlcnRpZXMpLAorLSAgICAgICAgICAgICAgICAgICAgICAgaG9zdF9m ZHQsIGd1ZXN0X2ZkdCwKKy0gICAgICAgICAgICAgICAgICAgICAgIG5vZGVfcGF0aFswXSwgbm9k ZW5hbWUpOworLQorLSAgICBxZW11X2ZkdF9zZXRwcm9wX2NlbGxzKGd1ZXN0X2ZkdCwgbm9kZW5h bWUsICJjbG9ja3MiLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGd1ZXN0X2Nsb2NrX3Bo YW5kbGVzWzBdLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGd1ZXN0X2Nsb2NrX3BoYW5k bGVzWzFdKTsKKy0KKy0gICAgcmVnX2F0dHIgPSBnX25ldyh1aW50MzJfdCwgdmJhc2VkZXYtPm51 bV9pbml0aWFsX3JlZ2lvbnMgKiAyKTsKKy0gICAgZm9yIChpID0gMDsgaSA8IHZiYXNlZGV2LT5u dW1faW5pdGlhbF9yZWdpb25zOyBpKyspIHsKKy0gICAgICAgIG1taW9fYmFzZSA9IHBsYXRmb3Jt X2J1c19nZXRfbW1pb19hZGRyKHBidXMsIHNiZGV2LCBpKTsKKy0gICAgICAgIHJlZ19hdHRyWzIg KiBpXSA9IGNwdV90b19iZTMyKG1taW9fYmFzZSk7CistICAgICAgICByZWdfYXR0clsyICogaSAr IDFdID0gY3B1X3RvX2JlMzIoCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZW1v cnlfcmVnaW9uX3NpemUodmRldi0+cmVnaW9uc1tpXS0+bWVtKSk7CistICAgIH0KKy0gICAgcWVt dV9mZHRfc2V0cHJvcChndWVzdF9mZHQsIG5vZGVuYW1lLCAicmVnIiwgcmVnX2F0dHIsCistICAg ICAgICAgICAgICAgICAgICAgdmJhc2VkZXYtPm51bV9pbml0aWFsX3JlZ2lvbnMgKiAyICogc2l6 ZW9mKHVpbnQzMl90KSk7CistCistICAgIGlycV9hdHRyID0gZ19uZXcodWludDMyX3QsIHZiYXNl ZGV2LT5udW1faXJxcyAqIDMpOworLSAgICBmb3IgKGkgPSAwOyBpIDwgdmJhc2VkZXYtPm51bV9p cnFzOyBpKyspIHsKKy0gICAgICAgIGlycV9udW1iZXIgPSBwbGF0Zm9ybV9idXNfZ2V0X2lycW4o cGJ1cywgc2JkZXYgLCBpKQorLSAgICAgICAgICAgICAgICAgICAgICAgICArIGRhdGEtPmlycV9z dGFydDsKKy0gICAgICAgIGlycV9hdHRyWzMgKiBpXSA9IGNwdV90b19iZTMyKEdJQ19GRFRfSVJR X1RZUEVfU1BJKTsKKy0gICAgICAgIGlycV9hdHRyWzMgKiBpICsgMV0gPSBjcHVfdG9fYmUzMihp cnFfbnVtYmVyKTsKKy0gICAgICAgIC8qCistICAgICAgICAgICogR2VuZXJhbCBkZXZpY2UgaW50 ZXJydXB0IGFuZCBQQ1MgYXV0by1uZWdvdGlhdGlvbiBpbnRlcnJ1cHRzIGFyZQorLSAgICAgICAg ICAqIGxldmVsLXNlbnNpdGl2ZSB3aGlsZSB0aGUgNCBwZXItY2hhbm5lbCBpbnRlcnJ1cHRzIGFy ZSBlZGdlCistICAgICAgICAgICogc2Vuc2l0aXZlCistICAgICAgICAgICovCistICAgICAgICBR TElTVF9GT1JFQUNIKGludHAsICZ2ZGV2LT5pbnRwX2xpc3QsIG5leHQpIHsKKy0gICAgICAgICAg ICBpZiAoaW50cC0+cGluID09IGkpIHsKKy0gICAgICAgICAgICAgICAgYnJlYWs7CistICAgICAg ICAgICAgfQorLSAgICAgICAgfQorLSAgICAgICAgaWYgKGludHAtPmZsYWdzICYgVkZJT19JUlFf SU5GT19BVVRPTUFTS0VEKSB7CistICAgICAgICAgICAgaXJxX2F0dHJbMyAqIGkgKyAyXSA9IGNw dV90b19iZTMyKEdJQ19GRFRfSVJRX0ZMQUdTX0xFVkVMX0hJKTsKKy0gICAgICAgIH0gZWxzZSB7 CistICAgICAgICAgICAgaXJxX2F0dHJbMyAqIGkgKyAyXSA9IGNwdV90b19iZTMyKEdJQ19GRFRf SVJRX0ZMQUdTX0VER0VfTE9fSEkpOworLSAgICAgICAgfQorLSAgICB9CistICAgIHFlbXVfZmR0 X3NldHByb3AoZ3Vlc3RfZmR0LCBub2RlbmFtZSwgImludGVycnVwdHMiLAorLSAgICAgICAgICAg ICAgICAgICAgIGlycV9hdHRyLCB2YmFzZWRldi0+bnVtX2lycXMgKiAzICogc2l6ZW9mKHVpbnQz Ml90KSk7CistCistICAgIGdfZnJlZShob3N0X2ZkdCk7CistICAgIGdfc3RyZnJlZXYobm9kZV9w YXRoKTsKKy0gICAgZ19mcmVlKGlycV9hdHRyKTsKKy0gICAgZ19mcmVlKHJlZ19hdHRyKTsKKy0g ICAgZ19mcmVlKG5vZGVuYW1lKTsKKy0gICAgcmV0dXJuIDA7CistfQorLQorLS8qIERUIGNvbXBh dGlibGUgbWF0Y2hpbmcgKi8KKy1zdGF0aWMgYm9vbCB2ZmlvX3BsYXRmb3JtX21hdGNoKFN5c0J1 c0RldmljZSAqc2JkZXYsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBC aW5kaW5nRW50cnkgKmVudHJ5KQorLXsKKy0gICAgVkZJT1BsYXRmb3JtRGV2aWNlICp2ZGV2ID0g VkZJT19QTEFURk9STV9ERVZJQ0Uoc2JkZXYpOworLSAgICBjb25zdCBjaGFyICpjb21wYXQ7Cist ICAgIHVuc2lnbmVkIGludCBuOworLQorLSAgICBmb3IgKG4gPSB2ZGV2LT5udW1fY29tcGF0LCBj b21wYXQgPSB2ZGV2LT5jb21wYXQ7IG4gPiAwOworLSAgICAgICAgIG4tLSwgY29tcGF0ICs9IHN0 cmxlbihjb21wYXQpICsgMSkgeworLSAgICAgICAgaWYgKCFzdHJjbXAoZW50cnktPmNvbXBhdCwg Y29tcGF0KSkgeworLSAgICAgICAgICAgIHJldHVybiB0cnVlOworLSAgICAgICAgfQorLSAgICB9 CistCistICAgIHJldHVybiBmYWxzZTsKKy19CistCistI2RlZmluZSBWRklPX1BMQVRGT1JNX0JJ TkRJTkcoY29tcGF0LCBhZGRfZm4pIFwKKy0gICAge1RZUEVfVkZJT19QTEFURk9STSwgKGNvbXBh dCksIChhZGRfZm4pLCB2ZmlvX3BsYXRmb3JtX21hdGNofQorLQorICNlbmRpZiAvKiBDT05GSUdf TElOVVggKi8KKyAKKyAjaWZkZWYgQ09ORklHX1RQTQorQEAgLTUxMyw4ICsyMDAsNiBAQCBzdGF0 aWMgYm9vbCB0eXBlX21hdGNoKFN5c0J1c0RldmljZSAqc2JkZXYsIGNvbnN0IEJpbmRpbmdFbnRy eSAqZW50cnkpCisgc3RhdGljIGNvbnN0IEJpbmRpbmdFbnRyeSBiaW5kaW5nc1tdID0geworICNp ZmRlZiBDT05GSUdfTElOVVgKKyAgICAgVFlQRV9CSU5ESU5HKFRZUEVfVkZJT19DQUxYRURBX1hH TUFDLCBhZGRfY2FseGVkYV9taWR3YXlfeGdtYWNfZmR0X25vZGUpLAorLSAgICBUWVBFX0JJTkRJ TkcoVFlQRV9WRklPX0FNRF9YR0JFLCBhZGRfYW1kX3hnYmVfZmR0X25vZGUpLAorLSAgICBWRklP X1BMQVRGT1JNX0JJTkRJTkcoImFtZCx4Z2JlLXNlYXR0bGUtdjFhIiwgYWRkX2FtZF94Z2JlX2Zk dF9ub2RlKSwKKyAjZW5kaWYKKyAjaWZkZWYgQ09ORklHX1RQTQorICAgICBUWVBFX0JJTkRJTkco VFlQRV9UUE1fVElTX1NZU0JVUywgYWRkX3RwbV90aXNfZmR0X25vZGUpLAorZGlmZiAtLWdpdCBh L2h3L3ZmaW8vS2NvbmZpZyBiL2h3L3ZmaW8vS2NvbmZpZworaW5kZXggOTFkOTAyM2I3OS4uYmM5 ODRmMTk4NiAxMDA2NDQKKy0tLSBhL2h3L3ZmaW8vS2NvbmZpZworKysrIGIvaHcvdmZpby9LY29u ZmlnCitAQCAtMjgsMTEgKzI4LDYgQEAgY29uZmlnIFZGSU9fWEdNQUMKKyAgICAgZGVmYXVsdCB5 CisgICAgIGRlcGVuZHMgb24gVkZJT19QTEFURk9STQorIAorLWNvbmZpZyBWRklPX0FNRF9YR0JF CistICAgIGJvb2wKKy0gICAgZGVmYXVsdCB5CistICAgIGRlcGVuZHMgb24gVkZJT19QTEFURk9S TQorLQorIGNvbmZpZyBWRklPX0FQCisgICAgIGJvb2wKKyAgICAgZGVmYXVsdCB5CitkaWZmIC0t Z2l0IGEvaHcvdmZpby9hbWQteGdiZS5jIGIvaHcvdmZpby9hbWQteGdiZS5jCitkZWxldGVkIGZp bGUgbW9kZSAxMDA2NDQKK2luZGV4IDU4ZjU5MGUzODUuLjAwMDAwMDAwMDAKKy0tLSBhL2h3L3Zm aW8vYW1kLXhnYmUuYworKysrIC9kZXYvbnVsbAorQEAgLTEsNjEgKzAsMCBAQAorLS8qCistICog QU1EIFhHQkUgVkZJTyBkZXZpY2UKKy0gKgorLSAqIENvcHlyaWdodCBMaW5hcm8gTGltaXRlZCwg MjAxNQorLSAqCistICogQXV0aG9yczoKKy0gKiAgRXJpYyBBdWdlciA8ZXJpYy5hdWdlckBsaW5h cm8ub3JnPgorLSAqCistICogVGhpcyB3b3JrIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBv ZiB0aGUgR05VIEdQTCwgdmVyc2lvbiAyLiAgU2VlCistICogdGhlIENPUFlJTkcgZmlsZSBpbiB0 aGUgdG9wLWxldmVsIGRpcmVjdG9yeS4KKy0gKgorLSAqLworLQorLSNpbmNsdWRlICJxZW11L29z ZGVwLmgiCistI2luY2x1ZGUgImh3L3ZmaW8vdmZpby1hbWQteGdiZS5oIgorLSNpbmNsdWRlICJt aWdyYXRpb24vdm1zdGF0ZS5oIgorLSNpbmNsdWRlICJxZW11L21vZHVsZS5oIgorLSNpbmNsdWRl ICJxZW11L2Vycm9yLXJlcG9ydC5oIgorLQorLXN0YXRpYyB2b2lkIGFtZF94Z2JlX3JlYWxpemUo RGV2aWNlU3RhdGUgKmRldiwgRXJyb3IgKiplcnJwKQorLXsKKy0gICAgVkZJT1BsYXRmb3JtRGV2 aWNlICp2ZGV2ID0gVkZJT19QTEFURk9STV9ERVZJQ0UoZGV2KTsKKy0gICAgVkZJT0FtZFhnYmVE ZXZpY2VDbGFzcyAqayA9IFZGSU9fQU1EX1hHQkVfREVWSUNFX0dFVF9DTEFTUyhkZXYpOworLQor LSAgICB3YXJuX3JlcG9ydCgiLWRldmljZSB2ZmlvLWFtZC14Z2JlIGlzIGRlcHJlY2F0ZWQiKTsK Ky0gICAgdmRldi0+Y29tcGF0ID0gZ19zdHJkdXAoImFtZCx4Z2JlLXNlYXR0bGUtdjFhIik7Cist ICAgIHZkZXYtPm51bV9jb21wYXQgPSAxOworLQorLSAgICBrLT5wYXJlbnRfcmVhbGl6ZShkZXYs IGVycnApOworLX0KKy0KKy1zdGF0aWMgY29uc3QgVk1TdGF0ZURlc2NyaXB0aW9uIHZmaW9fcGxh dGZvcm1fYW1kX3hnYmVfdm1zdGF0ZSA9IHsKKy0gICAgLm5hbWUgPSAidmZpby1hbWQteGdiZSIs CistICAgIC51bm1pZ3JhdGFibGUgPSAxLAorLX07CistCistc3RhdGljIHZvaWQgdmZpb19hbWRf eGdiZV9jbGFzc19pbml0KE9iamVjdENsYXNzICprbGFzcywgY29uc3Qgdm9pZCAqZGF0YSkKKy17 CistICAgIERldmljZUNsYXNzICpkYyA9IERFVklDRV9DTEFTUyhrbGFzcyk7CistICAgIFZGSU9B bWRYZ2JlRGV2aWNlQ2xhc3MgKnZjeGMgPQorLSAgICAgICAgVkZJT19BTURfWEdCRV9ERVZJQ0Vf Q0xBU1Moa2xhc3MpOworLSAgICBkZXZpY2VfY2xhc3Nfc2V0X3BhcmVudF9yZWFsaXplKGRjLCBh bWRfeGdiZV9yZWFsaXplLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZ2 Y3hjLT5wYXJlbnRfcmVhbGl6ZSk7CistICAgIGRjLT5kZXNjID0gIlZGSU8gQU1EIFhHQkUiOwor LSAgICBkYy0+dm1zZCA9ICZ2ZmlvX3BsYXRmb3JtX2FtZF94Z2JlX3Ztc3RhdGU7CistfQorLQor LXN0YXRpYyBjb25zdCBUeXBlSW5mbyB2ZmlvX2FtZF94Z2JlX2Rldl9pbmZvID0geworLSAgICAu bmFtZSA9IFRZUEVfVkZJT19BTURfWEdCRSwKKy0gICAgLnBhcmVudCA9IFRZUEVfVkZJT19QTEFU Rk9STSwKKy0gICAgLmluc3RhbmNlX3NpemUgPSBzaXplb2YoVkZJT0FtZFhnYmVEZXZpY2UpLAor LSAgICAuY2xhc3NfaW5pdCA9IHZmaW9fYW1kX3hnYmVfY2xhc3NfaW5pdCwKKy0gICAgLmNsYXNz X3NpemUgPSBzaXplb2YoVkZJT0FtZFhnYmVEZXZpY2VDbGFzcyksCistfTsKKy0KKy1zdGF0aWMg dm9pZCByZWdpc3Rlcl9hbWRfeGdiZV9kZXZfdHlwZSh2b2lkKQorLXsKKy0gICAgdHlwZV9yZWdp c3Rlcl9zdGF0aWMoJnZmaW9fYW1kX3hnYmVfZGV2X2luZm8pOworLX0KKy0KKy10eXBlX2luaXQo cmVnaXN0ZXJfYW1kX3hnYmVfZGV2X3R5cGUpCitkaWZmIC0tZ2l0IGEvaHcvdmZpby9tZXNvbi5i dWlsZCBiL2h3L3ZmaW8vbWVzb24uYnVpbGQKK2luZGV4IGJmYWY2YmU4MDUuLjBlZGNhZjUxNTUg MTAwNjQ0CistLS0gYS9ody92ZmlvL21lc29uLmJ1aWxkCisrKysgYi9ody92ZmlvL21lc29uLmJ1 aWxkCitAQCAtMjAsNyArMjAsNiBAQCB2ZmlvX3NzLmFkZCh3aGVuOiAnQ09ORklHX1ZGSU9fSUdE JywgaWZfdHJ1ZTogZmlsZXMoJ2lnZC5jJykpCisgc3BlY2lmaWNfc3MuYWRkX2FsbCh3aGVuOiAn Q09ORklHX1ZGSU8nLCBpZl90cnVlOiB2ZmlvX3NzKQorIAorIHN5c3RlbV9zcy5hZGQod2hlbjog J0NPTkZJR19WRklPX1hHTUFDJywgaWZfdHJ1ZTogZmlsZXMoJ2NhbHhlZGEteGdtYWMuYycpKQor LXN5c3RlbV9zcy5hZGQod2hlbjogJ0NPTkZJR19WRklPX0FNRF9YR0JFJywgaWZfdHJ1ZTogZmls ZXMoJ2FtZC14Z2JlLmMnKSkKKyBzeXN0ZW1fc3MuYWRkKHdoZW46ICdDT05GSUdfVkZJTycsIGlm X3RydWU6IGZpbGVzKAorICAgJ2Nwci5jJywKKyAgICdjcHItbGVnYWN5LmMnLAorZGlmZiAtLWdp dCBhL2luY2x1ZGUvaHcvdmZpby92ZmlvLWFtZC14Z2JlLmggYi9pbmNsdWRlL2h3L3ZmaW8vdmZp by1hbWQteGdiZS5oCitkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IGE4OTQ1NDZjMDIu LjAwMDAwMDAwMDAKKy0tLSBhL2luY2x1ZGUvaHcvdmZpby92ZmlvLWFtZC14Z2JlLmgKKysrKyAv ZGV2L251bGwKK0BAIC0xLDQ2ICswLDAgQEAKKy0vKgorLSAqIFZGSU8gQU1EIFhHQkUgZGV2aWNl CistICoKKy0gKiBDb3B5cmlnaHQgTGluYXJvIExpbWl0ZWQsIDIwMTUKKy0gKgorLSAqIEF1dGhv cnM6CistICogIEVyaWMgQXVnZXIgPGVyaWMuYXVnZXJAbGluYXJvLm9yZz4KKy0gKgorLSAqIFRo aXMgd29yayBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHUEwsIHZlcnNp b24gMi4gIFNlZQorLSAqIHRoZSBDT1BZSU5HIGZpbGUgaW4gdGhlIHRvcC1sZXZlbCBkaXJlY3Rv cnkuCistICoKKy0gKi8KKy0KKy0jaWZuZGVmIEhXX1ZGSU9fVkZJT19BTURfWEdCRV9ICistI2Rl ZmluZSBIV19WRklPX1ZGSU9fQU1EX1hHQkVfSAorLQorLSNpbmNsdWRlICJody92ZmlvL3ZmaW8t cGxhdGZvcm0uaCIKKy0jaW5jbHVkZSAicW9tL29iamVjdC5oIgorLQorLSNkZWZpbmUgVFlQRV9W RklPX0FNRF9YR0JFICJ2ZmlvLWFtZC14Z2JlIgorLQorLS8qKgorLSAqIFRoaXMgZGV2aWNlIGV4 cG9zZXM6CistICogLSA1IE1NSU8gcmVnaW9uczogTUFDLCBQQ1MsIFNlckRlcyBSeC9UeCByZWdz LAorLSAgICAgU2VyRGVzIEludGVncmF0aW9uIFJlZ2lzdGVycyAxLzIgJiAyLzIKKy0gKiAtIDIg bGV2ZWwgc2Vuc2l0aXZlIElSUXMgYW5kIG9wdGlvbmFsIERNQSBjaGFubmVsIElSUXMKKy0gKi8K Ky1zdHJ1Y3QgVkZJT0FtZFhnYmVEZXZpY2UgeworLSAgICBWRklPUGxhdGZvcm1EZXZpY2UgdmRl djsKKy19OworLQorLXR5cGVkZWYgc3RydWN0IFZGSU9BbWRYZ2JlRGV2aWNlIFZGSU9BbWRYZ2Jl RGV2aWNlOworLQorLXN0cnVjdCBWRklPQW1kWGdiZURldmljZUNsYXNzIHsKKy0gICAgLyo8IHBy aXZhdGUgPiovCistICAgIFZGSU9QbGF0Zm9ybURldmljZUNsYXNzIHBhcmVudF9jbGFzczsKKy0g ICAgLyo8IHB1YmxpYyA+Ki8KKy0gICAgRGV2aWNlUmVhbGl6ZSBwYXJlbnRfcmVhbGl6ZTsKKy19 OworLQorLXR5cGVkZWYgc3RydWN0IFZGSU9BbWRYZ2JlRGV2aWNlQ2xhc3MgVkZJT0FtZFhnYmVE ZXZpY2VDbGFzczsKKy0KKy1ERUNMQVJFX09CSl9DSEVDS0VSUyhWRklPQW1kWGdiZURldmljZSwg VkZJT0FtZFhnYmVEZXZpY2VDbGFzcywKKy0gICAgICAgICAgICAgICAgICAgICBWRklPX0FNRF9Y R0JFX0RFVklDRSwgVFlQRV9WRklPX0FNRF9YR0JFKQorLQorLSNlbmRpZgorLS0gCisyLjUyLjAK KwoKZGlmZiAtLWdpdCBhL2t2bS12ZmlvLVJlbW92ZS12ZmlvLWNhbHhlZGEteGdtYWMtZGV2aWNl LnBhdGNoIGIva3ZtLXZmaW8tUmVtb3ZlLXZmaW8tY2FseGVkYS14Z21hYy1kZXZpY2UucGF0Y2gK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjg0MWVjYgotLS0gL2Rldi9udWxs CisrKyBiL2t2bS12ZmlvLVJlbW92ZS12ZmlvLWNhbHhlZGEteGdtYWMtZGV2aWNlLnBhdGNoCkBA IC0wLDAgKzEsMzY2IEBACitGcm9tIGM3NTIzNzJkMTZkM2IyZDk1OTIxYzc1MjYzZjdlMTE5ZjZi ZjdjMDkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/Qz1DMz1BOWRy aWM9MjBMZT0yMEdvYXRlcj89IDxjbGdAcmVkaGF0LmNvbT4KK0RhdGU6IE1vbiwgMSBTZXAgMjAy NSAwODo0NjoyOSArMDIwMAorU3ViamVjdDogW1BBVENIIDAyMS8xMTZdIHZmaW86IFJlbW92ZSAn dmZpby1jYWx4ZWRhLXhnbWFjJyBkZXZpY2UKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5 cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6 IDhiaXQKKworUkgtQXV0aG9yOiBSb2RvbGZvIFZpY2sgPE5vbmU+CitSSC1NZXJnZVJlcXVlc3Q6 IDQ4NjogQWRkIERNQUJVRiBzdXBwb3J0CitSSC1KaXJhOiBSSEVMLTEzODQ5NAorUkgtQWNrZWQt Ynk6IEPDqWRyaWMgTGUgR29hdGVyIDxjbGdAcmVkaGF0LmNvbT4KK1JILUFja2VkLWJ5OiBFcmlj IEF1Z2VyIDxlcmljLmF1Z2VyQHJlZGhhdC5jb20+CitSSC1Db21taXQ6IFs1LzEwMF0gMjIyMzdj MjJiOGFkYjgyOTNhZTc5MzI3ZmFiZTYzNTliZWRjMDEwZCAocm92aWNrMS9xZW11LWt2bSkKKwor Q29uZmxpY3RzOgorICAgIGh3L2FybS92aXJ0LmM6IGR1ZSB0byB0aGUgZG93bnN0cmVhbS1vbmx5 IGNvZGUgaW4gI2lmIDAKKyAgICBody9jb3JlL3N5c2J1cy1mZHQuYzogZG93bnN0cmVhbSA2MGU3 YWMwYzQxYzIgKCJ2ZmlvOiByZW5hbWUKKyAgICBmaWVsZCB0byAibnVtX2luaXRpYWxfcmVnaW9u cyIpIHRvdWNoZXMgc3lzYnVzLWZkdC5jLiBBbnl3YXkgdGhhdCBjb2RlCisgICAgaXMgcmVtb3Zl ZAorCitUaGUgVkZJT19YR01BQyBkZXZpY2UgdHlwZSBoYXMgYmVlbiBkZXByZWNhdGVkIGluIHRo ZSBRRU1VIDEwLjAKK3RpbWVmcmFtZS4gUmVtb3ZlIGl0LgorCitSZXZpZXdlZC1ieTogRXJpYyBB dWdlciA8ZXJpYy5hdWdlckByZWRoYXQuY29tPgorUmV2aWV3ZWQtYnk6IEFsZXggV2lsbGlhbXNv biA8YWxleC53aWxsaWFtc29uQHJlZGhhdC5jb20+CitMaW5rOiBodHRwczovL2xvcmUua2VybmVs Lm9yZy9xZW11LWRldmVsLzIwMjUwOTAxMDY0NjMxLjUzMDcyMy03LWNsZ0ByZWRoYXQuY29tCitT aWduZWQtb2ZmLWJ5OiBDw6lkcmljIExlIEdvYXRlciA8Y2xnQHJlZGhhdC5jb20+CisoY2hlcnJ5 IHBpY2tlZCBmcm9tIGNvbW1pdCA4ZWJjNDE2YWMxN2E3MWFlYzI2N2RmMWNhNWNiNTMwMWNjNmM0 OTA2KQorU2lnbmVkLW9mZi1ieTogRXJpYyBBdWdlciA8ZXJpYy5hdWdlckByZWRoYXQuY29tPgor LS0tCisgZG9jcy9hYm91dC9kZXByZWNhdGVkLnJzdCAgICAgICAgICAgIHwgIDcgLS0tCisgZG9j cy9hYm91dC9yZW1vdmVkLWZlYXR1cmVzLnJzdCAgICAgIHwgIDcgKysrCisgZG9jcy9kZXZlbC9r Y29uZmlnLnJzdCAgICAgICAgICAgICAgIHwgIDEgLQorIGh3L2FybS9LY29uZmlnICAgICAgICAg ICAgICAgICAgICAgICB8ICAxIC0KKyBody9hcm0vdmlydC5jICAgICAgICAgICAgICAgICAgICAg ICAgfCAgMyArLQorIGh3L2NvcmUvc3lzYnVzLWZkdC5jICAgICAgICAgICAgICAgICB8IDY4IC0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBody92ZmlvL0tjb25maWcgICAgICAgICAgICAg ICAgICAgICAgfCAgNSAtLQorIGh3L3ZmaW8vY2FseGVkYS14Z21hYy5jICAgICAgICAgICAgICB8 IDYxIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBody92ZmlvL21lc29uLmJ1aWxkICAgICAg ICAgICAgICAgICAgfCAgMSAtCisgaW5jbHVkZS9ody92ZmlvL3ZmaW8tY2FseGVkYS14Z21hYy5o IHwgNDMgLS0tLS0tLS0tLS0tLS0tLS0tCisgMTAgZmlsZXMgY2hhbmdlZCwgOCBpbnNlcnRpb25z KCspLCAxODkgZGVsZXRpb25zKC0pCisgZGVsZXRlIG1vZGUgMTAwNjQ0IGh3L3ZmaW8vY2FseGVk YS14Z21hYy5jCisgZGVsZXRlIG1vZGUgMTAwNjQ0IGluY2x1ZGUvaHcvdmZpby92ZmlvLWNhbHhl ZGEteGdtYWMuaAorCitkaWZmIC0tZ2l0IGEvZG9jcy9hYm91dC9kZXByZWNhdGVkLnJzdCBiL2Rv Y3MvYWJvdXQvZGVwcmVjYXRlZC5yc3QKK2luZGV4IDYzMTg3MWZmYzguLjBkZjk3ZWIyYjcgMTAw NjQ0CistLS0gYS9kb2NzL2Fib3V0L2RlcHJlY2F0ZWQucnN0CisrKysgYi9kb2NzL2Fib3V0L2Rl cHJlY2F0ZWQucnN0CitAQCAtNTE5LDEzICs1MTksNiBAQCB3aGljaCBpcyBub3QgZW5vdWdoIGZv ciBhbGwgdHlwZXMgb2YgdXNlIGNhc2VzLCB1c2UgYGByZWNvbm5lY3QtbXNgYCBpbnN0ZWFkLgor IFZGSU8gZGV2aWNlIG9wdGlvbnMKKyAnJycnJycnJycnJycnJycnJycnCisgCistYGAtZGV2aWNl IHZmaW8tY2FseGVkYS14Z21hY2BgIChzaW5jZSAxMC4wKQorLV5eXl5eXl5eXl5eXl5eXl5eXl5e Xl5eXl5eXl5eXl5eXl5eXl5eXl5eXl4KKy1UaGUgdmZpby1jYWx4ZWRhLXhnbWFjIGRldmljZSBh bGxvd3MgdG8gYXNzaWduIGEgaG9zdCBDYWx4ZWRhIEhpZ2hiYW5rCistMTBHYiBYR01BQyBFdGhl cm5ldCBjb250cm9sbGVyIGRldmljZSAoImNhbHhlZGEsaGIteGdtYWMiIGNvbXBhdGliaWxpdHkK Ky1zdHJpbmcpIHRvIGEgZ3Vlc3QuIENhbHhlZGEgSFcgaGFzIGJlZW4gZXdhc3RlZCBub3cgYW5k IHRoZXJlIGlzIG5vIHBvaW50Cista2VlcGluZyB0aGF0IGRldmljZS4KKy0KKyBgYC1kZXZpY2Ug dmZpby1wbGF0Zm9ybWBgIChzaW5jZSAxMC4wKQorIF5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5e Xl5eXl5eXl5eXl5eCisgVGhlIHZmaW8tcGxhdGZvcm0gZGV2aWNlIGFsbG93cyB0byBhc3NpZ24g YSBob3N0IHBsYXRmb3JtIGRldmljZQorZGlmZiAtLWdpdCBhL2RvY3MvYWJvdXQvcmVtb3ZlZC1m ZWF0dXJlcy5yc3QgYi9kb2NzL2Fib3V0L3JlbW92ZWQtZmVhdHVyZXMucnN0CitpbmRleCA3NTlj MDY3NDEyLi40N2U2MzJiNGFjIDEwMDY0NAorLS0tIGEvZG9jcy9hYm91dC9yZW1vdmVkLWZlYXR1 cmVzLnJzdAorKysrIGIvZG9jcy9hYm91dC9yZW1vdmVkLWZlYXR1cmVzLnJzdAorQEAgLTEyNjUs NiArMTI2NSwxMyBAQCBkZXZpY2UgZHJpdmVyIHN1Y2ggYXMgUkJELgorIFZGSU8gZGV2aWNlcwor IC0tLS0tLS0tLS0tLQorIAorK2BgLWRldmljZSB2ZmlvLWNhbHhlZGEteGdtYWNgYCAoc2luY2Ug MTAuMikKKysnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnCisrVGhl IHZmaW8tY2FseGVkYS14Z21hYyBkZXZpY2UgYWxsb3dzIHRvIGFzc2lnbiBhIGhvc3QgQ2FseGVk YSBIaWdoYmFuaworKzEwR2IgWEdNQUMgRXRoZXJuZXQgY29udHJvbGxlciBkZXZpY2UgKCJjYWx4 ZWRhLGhiLXhnbWFjIiBjb21wYXRpYmlsaXR5Cisrc3RyaW5nKSB0byBhIGd1ZXN0LiBDYWx4ZWRh IEhXIGhhcyBiZWVuIGV3YXN0ZWQgbm93IGFuZCB0aGVyZSBpcyBubyBwb2ludAorK2tlZXBpbmcg dGhhdCBkZXZpY2UuCisrCisgYGAtZGV2aWNlIHZmaW8tYW1kLXhnYmVgYCAoc2luY2UgMTAuMikK KyAnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJycnJworIFRoZSB2ZmlvLWFtZC14 Z2JlIGRldmljZSBhbGxvd3MgdG8gYXNzaWduIGEgaG9zdCBBTUQgMTBHYkUgY29udHJvbGxlcgor ZGlmZiAtLWdpdCBhL2RvY3MvZGV2ZWwva2NvbmZpZy5yc3QgYi9kb2NzL2RldmVsL2tjb25maWcu cnN0CitpbmRleCA5ZmRmNTAxNTI5Li4xZDRhMTE0YTAyIDEwMDY0NAorLS0tIGEvZG9jcy9kZXZl bC9rY29uZmlnLnJzdAorKysrIGIvZG9jcy9kZXZlbC9rY29uZmlnLnJzdAorQEAgLTU5LDcgKzU5 LDYgQEAgc3RhbnphIGxpa2UgdGhlIGZvbGxvd2luZzo6CisgICAgICAgY29uZmlnIEFSTV9WSVJU CisgICAgICAgICAgYm9vbAorICAgICAgICAgIGltcGx5IFBDSV9ERVZJQ0VTCistICAgICAgICAg aW1wbHkgVkZJT19YR01BQworICAgICAgICAgIHNlbGVjdCBBMTVNUENPUkUKKyAgICAgICAgICBz ZWxlY3QgQUNQSQorICAgICAgICAgIHNlbGVjdCBBUk1fU01NVVYzCitkaWZmIC0tZ2l0IGEvaHcv YXJtL0tjb25maWcgYi9ody9hcm0vS2NvbmZpZworaW5kZXggNjRiMmVjODdiNS4uM2ZjYTQ4MzQ5 YSAxMDA2NDQKKy0tLSBhL2h3L2FybS9LY29uZmlnCisrKysgYi9ody9hcm0vS2NvbmZpZworQEAg LTYsNyArNiw2IEBAIGNvbmZpZyBBUk1fVklSVAorICAgICBpbXBseSBQQ0lfREVWSUNFUworICAg ICBpbXBseSBURVNUX0RFVklDRVMKKyAgICAgaW1wbHkgVkZJT19QTEFURk9STQorLSAgICBpbXBs eSBWRklPX1hHTUFDCisgICAgIGltcGx5IFRQTV9USVNfU1lTQlVTCisgICAgIGltcGx5IFRQTV9U SVNfSTJDCisgICAgIGltcGx5IE5WRElNTQorZGlmZiAtLWdpdCBhL2h3L2FybS92aXJ0LmMgYi9o dy9hcm0vdmlydC5jCitpbmRleCBjMDI5MmEzODk5Li4yYTM5OWU0NjhjIDEwMDY0NAorLS0tIGEv aHcvYXJtL3ZpcnQuYworKysrIGIvaHcvYXJtL3ZpcnQuYworQEAgLTM4LDcgKzM4LDcgQEAKKyAj aW5jbHVkZSAiaHcvYXJtL3ByaW1lY2VsbC5oIgorICNpbmNsdWRlICJody9hcm0vdmlydC5oIgor ICNpbmNsdWRlICJody9ibG9jay9mbGFzaC5oIgorLSNpbmNsdWRlICJody92ZmlvL3ZmaW8tY2Fs eGVkYS14Z21hYy5oIgorKyNpbmNsdWRlICJody92ZmlvL3ZmaW8tcGxhdGZvcm0uaCIKKyAjaW5j bHVkZSAiaHcvZGlzcGxheS9yYW1mYi5oIgorICNpbmNsdWRlICJuZXQvbmV0LmgiCisgI2luY2x1 ZGUgInN5c3RlbS9kZXZpY2VfdHJlZS5oIgorQEAgLTMzMjIsNyArMzMyMiw2IEBAIHN0YXRpYyB2 b2lkIHZpcnRfbWFjaGluZV9jbGFzc19pbml0KE9iamVjdENsYXNzICpvYywgY29uc3Qgdm9pZCAq ZGF0YSkKKyAgICAgLyogTWF4aW11bSBzdXBwb3J0ZWQgVkNQVSBjb3VudCBmb3IgYWxsIHZpcnQt cmhlbCogbWFjaGluZXMgKi8KKyAgICAgbWMtPm1heF9jcHVzID0gMzg0OworICNpZiAwIC8qIERp c2FibGVkIGZvciBSZWQgSGF0IEVudGVycHJpc2UgTGludXggKi8KKy0gICAgbWFjaGluZV9jbGFz c19hbGxvd19keW5hbWljX3N5c2J1c19kZXYobWMsIFRZUEVfVkZJT19DQUxYRURBX1hHTUFDKTsK KyAgICAgbWFjaGluZV9jbGFzc19hbGxvd19keW5hbWljX3N5c2J1c19kZXYobWMsIFRZUEVfVkZJ T19QTEFURk9STSk7CisgI2VuZGlmCisgICAgIG1hY2hpbmVfY2xhc3NfYWxsb3dfZHluYW1pY19z eXNidXNfZGV2KG1jLCBUWVBFX1JBTUZCX0RFVklDRSk7CitkaWZmIC0tZ2l0IGEvaHcvY29yZS9z eXNidXMtZmR0LmMgYi9ody9jb3JlL3N5c2J1cy1mZHQuYworaW5kZXggMGNhZmZlNDg0NS4uNTlm MWQxN2RlMSAxMDA2NDQKKy0tLSBhL2h3L2NvcmUvc3lzYnVzLWZkdC5jCisrKysgYi9ody9jb3Jl L3N5c2J1cy1mZHQuYworQEAgLTMzLDkgKzMzLDYgQEAKKyAjaW5jbHVkZSAic3lzdGVtL3RwbS5o IgorICNpbmNsdWRlICJody9hcm0vc21tdXYzLmgiCisgI2luY2x1ZGUgImh3L3BsYXRmb3JtLWJ1 cy5oIgorLSNpbmNsdWRlICJody92ZmlvL3ZmaW8tcGxhdGZvcm0uaCIKKy0jaW5jbHVkZSAiaHcv dmZpby92ZmlvLWNhbHhlZGEteGdtYWMuaCIKKy0jaW5jbHVkZSAiaHcvdmZpby92ZmlvLXJlZ2lv bi5oIgorICNpbmNsdWRlICJody9kaXNwbGF5L3JhbWZiLmgiCisgI2luY2x1ZGUgImh3L3VlZmkv dmFyLXNlcnZpY2UtYXBpLmgiCisgI2luY2x1ZGUgImh3L2FybS9mZHQuaCIKK0BAIC02Niw2OCAr NjMsNiBAQCB0eXBlZGVmIHN0cnVjdCBIb3N0UHJvcGVydHkgeworICAgICBib29sIG9wdGlvbmFs OworIH0gSG9zdFByb3BlcnR5OworIAorLSNpZmRlZiBDT05GSUdfTElOVVgKKy0KKy0vKiBEZXZp Y2UgU3BlY2lmaWMgQ29kZSAqLworLQorLS8qKgorLSAqIGFkZF9jYWx4ZWRhX21pZHdheV94Z21h Y19mZHRfbm9kZQorLSAqCistICogR2VuZXJhdGVzIGEgc2ltcGxlIG5vZGUgd2l0aCBmb2xsb3dp bmcgcHJvcGVydGllczoKKy0gKiBjb21wYXRpYmxlIHN0cmluZywgcmVncywgaW50ZXJydXB0cywg ZG1hLWNvaGVyZW50CistICovCistc3RhdGljIGludCBhZGRfY2FseGVkYV9taWR3YXlfeGdtYWNf ZmR0X25vZGUoU3lzQnVzRGV2aWNlICpzYmRldiwgdm9pZCAqb3BhcXVlKQorLXsKKy0gICAgUGxh dGZvcm1CdXNGRFREYXRhICpkYXRhID0gb3BhcXVlOworLSAgICBQbGF0Zm9ybUJ1c0RldmljZSAq cGJ1cyA9IGRhdGEtPnBidXM7CistICAgIHZvaWQgKmZkdCA9IGRhdGEtPmZkdDsKKy0gICAgY29u c3QgY2hhciAqcGFyZW50X25vZGUgPSBkYXRhLT5wYnVzX25vZGVfbmFtZTsKKy0gICAgaW50IGNv bXBhdF9zdHJfbGVuLCBpOworLSAgICBjaGFyICpub2RlbmFtZTsKKy0gICAgdWludDMyX3QgKmly cV9hdHRyLCAqcmVnX2F0dHI7CistICAgIHVpbnQ2NF90IG1taW9fYmFzZSwgaXJxX251bWJlcjsK Ky0gICAgVkZJT1BsYXRmb3JtRGV2aWNlICp2ZGV2ID0gVkZJT19QTEFURk9STV9ERVZJQ0Uoc2Jk ZXYpOworLSAgICBWRklPRGV2aWNlICp2YmFzZWRldiA9ICZ2ZGV2LT52YmFzZWRldjsKKy0KKy0g ICAgbW1pb19iYXNlID0gcGxhdGZvcm1fYnVzX2dldF9tbWlvX2FkZHIocGJ1cywgc2JkZXYsIDAp OworLSAgICBub2RlbmFtZSA9IGdfc3RyZHVwX3ByaW50ZigiJXMvJXNAJSIgUFJJeDY0LCBwYXJl bnRfbm9kZSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmJhc2VkZXYtPm5hbWUs IG1taW9fYmFzZSk7CistICAgIHFlbXVfZmR0X2FkZF9zdWJub2RlKGZkdCwgbm9kZW5hbWUpOwor LQorLSAgICBjb21wYXRfc3RyX2xlbiA9IHN0cmxlbih2ZGV2LT5jb21wYXQpICsgMTsKKy0gICAg cWVtdV9mZHRfc2V0cHJvcChmZHQsIG5vZGVuYW1lLCAiY29tcGF0aWJsZSIsCistICAgICAgICAg ICAgICAgICAgICAgICAgICB2ZGV2LT5jb21wYXQsIGNvbXBhdF9zdHJfbGVuKTsKKy0KKy0gICAg cWVtdV9mZHRfc2V0cHJvcChmZHQsIG5vZGVuYW1lLCAiZG1hLWNvaGVyZW50IiwgIiIsIDApOwor LQorLSAgICByZWdfYXR0ciA9IGdfbmV3KHVpbnQzMl90LCB2YmFzZWRldi0+bnVtX2luaXRpYWxf cmVnaW9ucyAqIDIpOworLSAgICBmb3IgKGkgPSAwOyBpIDwgdmJhc2VkZXYtPm51bV9pbml0aWFs X3JlZ2lvbnM7IGkrKykgeworLSAgICAgICAgbW1pb19iYXNlID0gcGxhdGZvcm1fYnVzX2dldF9t bWlvX2FkZHIocGJ1cywgc2JkZXYsIGkpOworLSAgICAgICAgcmVnX2F0dHJbMiAqIGldID0gY3B1 X3RvX2JlMzIobW1pb19iYXNlKTsKKy0gICAgICAgIHJlZ19hdHRyWzIgKiBpICsgMV0gPSBjcHVf dG9fYmUzMigKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lbW9yeV9yZWdpb25f c2l6ZSh2ZGV2LT5yZWdpb25zW2ldLT5tZW0pKTsKKy0gICAgfQorLSAgICBxZW11X2ZkdF9zZXRw cm9wKGZkdCwgbm9kZW5hbWUsICJyZWciLCByZWdfYXR0ciwKKy0gICAgICAgICAgICAgICAgICAg ICB2YmFzZWRldi0+bnVtX2luaXRpYWxfcmVnaW9ucyAqIDIgKiBzaXplb2YodWludDMyX3QpKTsK Ky0KKy0gICAgaXJxX2F0dHIgPSBnX25ldyh1aW50MzJfdCwgdmJhc2VkZXYtPm51bV9pcnFzICog Myk7CistICAgIGZvciAoaSA9IDA7IGkgPCB2YmFzZWRldi0+bnVtX2lycXM7IGkrKykgeworLSAg ICAgICAgaXJxX251bWJlciA9IHBsYXRmb3JtX2J1c19nZXRfaXJxbihwYnVzLCBzYmRldiAsIGkp CistICAgICAgICAgICAgICAgICAgICAgICAgICsgZGF0YS0+aXJxX3N0YXJ0OworLSAgICAgICAg aXJxX2F0dHJbMyAqIGldID0gY3B1X3RvX2JlMzIoR0lDX0ZEVF9JUlFfVFlQRV9TUEkpOworLSAg ICAgICAgaXJxX2F0dHJbMyAqIGkgKyAxXSA9IGNwdV90b19iZTMyKGlycV9udW1iZXIpOworLSAg ICAgICAgaXJxX2F0dHJbMyAqIGkgKyAyXSA9IGNwdV90b19iZTMyKEdJQ19GRFRfSVJRX0ZMQUdT X0xFVkVMX0hJKTsKKy0gICAgfQorLSAgICBxZW11X2ZkdF9zZXRwcm9wKGZkdCwgbm9kZW5hbWUs ICJpbnRlcnJ1cHRzIiwKKy0gICAgICAgICAgICAgICAgICAgICBpcnFfYXR0ciwgdmJhc2VkZXYt Pm51bV9pcnFzICogMyAqIHNpemVvZih1aW50MzJfdCkpOworLSAgICBnX2ZyZWUoaXJxX2F0dHIp OworLSAgICBnX2ZyZWUocmVnX2F0dHIpOworLSAgICBnX2ZyZWUobm9kZW5hbWUpOworLSAgICBy ZXR1cm4gMDsKKy19CistCistI2VuZGlmIC8qIENPTkZJR19MSU5VWCAqLworLQorICNpZmRlZiBD T05GSUdfVFBNCisgLyoKKyAgKiBhZGRfdHBtX3Rpc19mZHRfbm9kZTogQ3JlYXRlIGEgRFQgbm9k ZSBmb3IgVFBNIFRJUworQEAgLTE5OCw5ICsxMzMsNiBAQCBzdGF0aWMgYm9vbCB0eXBlX21hdGNo KFN5c0J1c0RldmljZSAqc2JkZXYsIGNvbnN0IEJpbmRpbmdFbnRyeSAqZW50cnkpCisgCisgLyog bGlzdCBvZiBzdXBwb3J0ZWQgZHluYW1pYyBzeXNidXMgYmluZGluZ3MgKi8KKyBzdGF0aWMgY29u c3QgQmluZGluZ0VudHJ5IGJpbmRpbmdzW10gPSB7CistI2lmZGVmIENPTkZJR19MSU5VWAorLSAg ICBUWVBFX0JJTkRJTkcoVFlQRV9WRklPX0NBTFhFREFfWEdNQUMsIGFkZF9jYWx4ZWRhX21pZHdh eV94Z21hY19mZHRfbm9kZSksCistI2VuZGlmCisgI2lmZGVmIENPTkZJR19UUE0KKyAgICAgVFlQ RV9CSU5ESU5HKFRZUEVfVFBNX1RJU19TWVNCVVMsIGFkZF90cG1fdGlzX2ZkdF9ub2RlKSwKKyAj ZW5kaWYKK2RpZmYgLS1naXQgYS9ody92ZmlvL0tjb25maWcgYi9ody92ZmlvL0tjb25maWcKK2lu ZGV4IGJjOTg0ZjE5ODYuLjlhMWRiZTI5MjYgMTAwNjQ0CistLS0gYS9ody92ZmlvL0tjb25maWcK KysrKyBiL2h3L3ZmaW8vS2NvbmZpZworQEAgLTIzLDExICsyMyw2IEBAIGNvbmZpZyBWRklPX1BM QVRGT1JNCisgICAgIHNlbGVjdCBWRklPCisgICAgIGRlcGVuZHMgb24gTElOVVggJiYgUExBVEZP Uk1fQlVTCisgCistY29uZmlnIFZGSU9fWEdNQUMKKy0gICAgYm9vbAorLSAgICBkZWZhdWx0IHkK Ky0gICAgZGVwZW5kcyBvbiBWRklPX1BMQVRGT1JNCistCisgY29uZmlnIFZGSU9fQVAKKyAgICAg Ym9vbAorICAgICBkZWZhdWx0IHkKK2RpZmYgLS1naXQgYS9ody92ZmlvL2NhbHhlZGEteGdtYWMu YyBiL2h3L3ZmaW8vY2FseGVkYS14Z21hYy5jCitkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKK2lu ZGV4IDAzZjJmZjU3NjMuLjAwMDAwMDAwMDAKKy0tLSBhL2h3L3ZmaW8vY2FseGVkYS14Z21hYy5j CisrKysgL2Rldi9udWxsCitAQCAtMSw2MSArMCwwIEBACistLyoKKy0gKiBjYWx4ZWRhIHhnbWFj IFZGSU8gZGV2aWNlCistICoKKy0gKiBDb3B5cmlnaHQgTGluYXJvIExpbWl0ZWQsIDIwMTQKKy0g KgorLSAqIEF1dGhvcnM6CistICogIEVyaWMgQXVnZXIgPGVyaWMuYXVnZXJAbGluYXJvLm9yZz4K Ky0gKgorLSAqIFRoaXMgd29yayBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO VSBHUEwsIHZlcnNpb24gMi4gIFNlZQorLSAqIHRoZSBDT1BZSU5HIGZpbGUgaW4gdGhlIHRvcC1s ZXZlbCBkaXJlY3RvcnkuCistICoKKy0gKi8KKy0KKy0jaW5jbHVkZSAicWVtdS9vc2RlcC5oIgor LSNpbmNsdWRlICJody92ZmlvL3ZmaW8tY2FseGVkYS14Z21hYy5oIgorLSNpbmNsdWRlICJtaWdy YXRpb24vdm1zdGF0ZS5oIgorLSNpbmNsdWRlICJxZW11L21vZHVsZS5oIgorLSNpbmNsdWRlICJx ZW11L2Vycm9yLXJlcG9ydC5oIgorLQorLXN0YXRpYyB2b2lkIGNhbHhlZGFfeGdtYWNfcmVhbGl6 ZShEZXZpY2VTdGF0ZSAqZGV2LCBFcnJvciAqKmVycnApCisteworLSAgICBWRklPUGxhdGZvcm1E ZXZpY2UgKnZkZXYgPSBWRklPX1BMQVRGT1JNX0RFVklDRShkZXYpOworLSAgICBWRklPQ2FseGVk YVhnbWFjRGV2aWNlQ2xhc3MgKmsgPSBWRklPX0NBTFhFREFfWEdNQUNfREVWSUNFX0dFVF9DTEFT UyhkZXYpOworLQorLSAgICB3YXJuX3JlcG9ydCgiLWRldmljZSB2ZmlvLWNhbHhlZGEteGdtYWMg aXMgZGVwcmVjYXRlZCIpOworLSAgICB2ZGV2LT5jb21wYXQgPSBnX3N0cmR1cCgiY2FseGVkYSxo Yi14Z21hYyIpOworLSAgICB2ZGV2LT5udW1fY29tcGF0ID0gMTsKKy0KKy0gICAgay0+cGFyZW50 X3JlYWxpemUoZGV2LCBlcnJwKTsKKy19CistCistc3RhdGljIGNvbnN0IFZNU3RhdGVEZXNjcmlw dGlvbiB2ZmlvX3BsYXRmb3JtX2NhbHhlZGFfeGdtYWNfdm1zdGF0ZSA9IHsKKy0gICAgLm5hbWUg PSAidmZpby1jYWx4ZWRhLXhnbWFjIiwKKy0gICAgLnVubWlncmF0YWJsZSA9IDEsCistfTsKKy0K Ky1zdGF0aWMgdm9pZCB2ZmlvX2NhbHhlZGFfeGdtYWNfY2xhc3NfaW5pdChPYmplY3RDbGFzcyAq a2xhc3MsIGNvbnN0IHZvaWQgKmRhdGEpCisteworLSAgICBEZXZpY2VDbGFzcyAqZGMgPSBERVZJ Q0VfQ0xBU1Moa2xhc3MpOworLSAgICBWRklPQ2FseGVkYVhnbWFjRGV2aWNlQ2xhc3MgKnZjeGMg PQorLSAgICAgICAgVkZJT19DQUxYRURBX1hHTUFDX0RFVklDRV9DTEFTUyhrbGFzcyk7CistICAg IGRldmljZV9jbGFzc19zZXRfcGFyZW50X3JlYWxpemUoZGMsIGNhbHhlZGFfeGdtYWNfcmVhbGl6 ZSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmdmN4Yy0+cGFyZW50X3Jl YWxpemUpOworLSAgICBkYy0+ZGVzYyA9ICJWRklPIENhbHhlZGEgWEdNQUMiOworLSAgICBkYy0+ dm1zZCA9ICZ2ZmlvX3BsYXRmb3JtX2NhbHhlZGFfeGdtYWNfdm1zdGF0ZTsKKy19CistCistc3Rh dGljIGNvbnN0IFR5cGVJbmZvIHZmaW9fY2FseGVkYV94Z21hY19kZXZfaW5mbyA9IHsKKy0gICAg Lm5hbWUgPSBUWVBFX1ZGSU9fQ0FMWEVEQV9YR01BQywKKy0gICAgLnBhcmVudCA9IFRZUEVfVkZJ T19QTEFURk9STSwKKy0gICAgLmluc3RhbmNlX3NpemUgPSBzaXplb2YoVkZJT0NhbHhlZGFYZ21h Y0RldmljZSksCistICAgIC5jbGFzc19pbml0ID0gdmZpb19jYWx4ZWRhX3hnbWFjX2NsYXNzX2lu aXQsCistICAgIC5jbGFzc19zaXplID0gc2l6ZW9mKFZGSU9DYWx4ZWRhWGdtYWNEZXZpY2VDbGFz cyksCistfTsKKy0KKy1zdGF0aWMgdm9pZCByZWdpc3Rlcl9jYWx4ZWRhX3hnbWFjX2Rldl90eXBl KHZvaWQpCisteworLSAgICB0eXBlX3JlZ2lzdGVyX3N0YXRpYygmdmZpb19jYWx4ZWRhX3hnbWFj X2Rldl9pbmZvKTsKKy19CistCistdHlwZV9pbml0KHJlZ2lzdGVyX2NhbHhlZGFfeGdtYWNfZGV2 X3R5cGUpCitkaWZmIC0tZ2l0IGEvaHcvdmZpby9tZXNvbi5idWlsZCBiL2h3L3ZmaW8vbWVzb24u YnVpbGQKK2luZGV4IDBlZGNhZjUxNTUuLjA2NDczYTA3ODkgMTAwNjQ0CistLS0gYS9ody92Zmlv L21lc29uLmJ1aWxkCisrKysgYi9ody92ZmlvL21lc29uLmJ1aWxkCitAQCAtMTksNyArMTksNiBA QCB2ZmlvX3NzLmFkZCh3aGVuOiAnQ09ORklHX1ZGSU9fSUdEJywgaWZfdHJ1ZTogZmlsZXMoJ2ln ZC5jJykpCisgCisgc3BlY2lmaWNfc3MuYWRkX2FsbCh3aGVuOiAnQ09ORklHX1ZGSU8nLCBpZl90 cnVlOiB2ZmlvX3NzKQorIAorLXN5c3RlbV9zcy5hZGQod2hlbjogJ0NPTkZJR19WRklPX1hHTUFD JywgaWZfdHJ1ZTogZmlsZXMoJ2NhbHhlZGEteGdtYWMuYycpKQorIHN5c3RlbV9zcy5hZGQod2hl bjogJ0NPTkZJR19WRklPJywgaWZfdHJ1ZTogZmlsZXMoCisgICAnY3ByLmMnLAorICAgJ2Nwci1s ZWdhY3kuYycsCitkaWZmIC0tZ2l0IGEvaW5jbHVkZS9ody92ZmlvL3ZmaW8tY2FseGVkYS14Z21h Yy5oIGIvaW5jbHVkZS9ody92ZmlvL3ZmaW8tY2FseGVkYS14Z21hYy5oCitkZWxldGVkIGZpbGUg bW9kZSAxMDA2NDQKK2luZGV4IDg0ODJmMTUxZGQuLjAwMDAwMDAwMDAKKy0tLSBhL2luY2x1ZGUv aHcvdmZpby92ZmlvLWNhbHhlZGEteGdtYWMuaAorKysrIC9kZXYvbnVsbAorQEAgLTEsNDMgKzAs MCBAQAorLS8qCistICogVkZJTyBjYWx4ZWRhIHhnbWFjIGRldmljZQorLSAqCistICogQ29weXJp Z2h0IExpbmFybyBMaW1pdGVkLCAyMDE0CistICoKKy0gKiBBdXRob3JzOgorLSAqICBFcmljIEF1 Z2VyIDxlcmljLmF1Z2VyQGxpbmFyby5vcmc+CistICoKKy0gKiBUaGlzIHdvcmsgaXMgbGljZW5z ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR1BMLCB2ZXJzaW9uIDIuICBTZWUKKy0gKiB0 aGUgQ09QWUlORyBmaWxlIGluIHRoZSB0b3AtbGV2ZWwgZGlyZWN0b3J5LgorLSAqCistICovCist CistI2lmbmRlZiBIV19WRklPX1ZGSU9fQ0FMWEVEQV9YR01BQ19ICistI2RlZmluZSBIV19WRklP X1ZGSU9fQ0FMWEVEQV9YR01BQ19ICistCistI2luY2x1ZGUgImh3L3ZmaW8vdmZpby1wbGF0Zm9y bS5oIgorLSNpbmNsdWRlICJxb20vb2JqZWN0LmgiCistCistI2RlZmluZSBUWVBFX1ZGSU9fQ0FM WEVEQV9YR01BQyAidmZpby1jYWx4ZWRhLXhnbWFjIgorLQorLS8qKgorLSAqIFRoaXMgZGV2aWNl IGV4cG9zZXM6CistICogLSBhIHNpbmdsZSBNTUlPIHJlZ2lvbiBjb3JyZXNwb25kaW5nIHRvIGl0 cyByZWdpc3RlciBzcGFjZQorLSAqIC0gMyBJUlFTIChtYWluIGFuZCAyIHBvd2VyIHJlbGF0ZWQg SVJRcykKKy0gKi8KKy1zdHJ1Y3QgVkZJT0NhbHhlZGFYZ21hY0RldmljZSB7CistICAgIFZGSU9Q bGF0Zm9ybURldmljZSB2ZGV2OworLX07CistdHlwZWRlZiBzdHJ1Y3QgVkZJT0NhbHhlZGFYZ21h Y0RldmljZSBWRklPQ2FseGVkYVhnbWFjRGV2aWNlOworLQorLXN0cnVjdCBWRklPQ2FseGVkYVhn bWFjRGV2aWNlQ2xhc3MgeworLSAgICAvKjwgcHJpdmF0ZSA+Ki8KKy0gICAgVkZJT1BsYXRmb3Jt RGV2aWNlQ2xhc3MgcGFyZW50X2NsYXNzOworLSAgICAvKjwgcHVibGljID4qLworLSAgICBEZXZp Y2VSZWFsaXplIHBhcmVudF9yZWFsaXplOworLX07CistdHlwZWRlZiBzdHJ1Y3QgVkZJT0NhbHhl ZGFYZ21hY0RldmljZUNsYXNzIFZGSU9DYWx4ZWRhWGdtYWNEZXZpY2VDbGFzczsKKy0KKy1ERUNM QVJFX09CSl9DSEVDS0VSUyhWRklPQ2FseGVkYVhnbWFjRGV2aWNlLCBWRklPQ2FseGVkYVhnbWFj RGV2aWNlQ2xhc3MsCistICAgICAgICAgICAgICAgICAgICAgVkZJT19DQUxYRURBX1hHTUFDX0RF VklDRSwgVFlQRV9WRklPX0NBTFhFREFfWEdNQUMpCistCistI2VuZGlmCistLSAKKzIuNTIuMAor CgpkaWZmIC0tZ2l0IGEva3ZtLXZmaW8tUmVtb3ZlLXZmaW8tcGxhdGZvcm0ucGF0Y2ggYi9rdm0t dmZpby1SZW1vdmUtdmZpby1wbGF0Zm9ybS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwLi4xYmZmYzZmCi0tLSAvZGV2L251bGwKKysrIGIva3ZtLXZmaW8tUmVtb3ZlLXZm aW8tcGxhdGZvcm0ucGF0Y2gKQEAgLTAsMCArMSw5OTkgQEAKK0Zyb20gZTVhNGViMzIxM2QyMzY4 ZjkzYjNjZGQ1YzQzNjNjNmU1OTAwZmE0ZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206 ID0/VVRGLTg/cT9DPUMzPUE5ZHJpYz0yMExlPTIwR29hdGVyPz0gPGNsZ0ByZWRoYXQuY29tPgor RGF0ZTogTW9uLCAxIFNlcCAyMDI1IDA4OjQ2OjMwICswMjAwCitTdWJqZWN0OiBbUEFUQ0ggMDIz LzExNl0gdmZpbzogUmVtb3ZlICd2ZmlvLXBsYXRmb3JtJworTUlNRS1WZXJzaW9uOiAxLjAKK0Nv bnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1F bmNvZGluZzogOGJpdAorCitSSC1BdXRob3I6IFJvZG9sZm8gVmljayA8Tm9uZT4KK1JILU1lcmdl UmVxdWVzdDogNDg2OiBBZGQgRE1BQlVGIHN1cHBvcnQKK1JILUppcmE6IFJIRUwtMTM4NDk0CitS SC1BY2tlZC1ieTogQ8OpZHJpYyBMZSBHb2F0ZXIgPGNsZ0ByZWRoYXQuY29tPgorUkgtQWNrZWQt Ynk6IEVyaWMgQXVnZXIgPGVyaWMuYXVnZXJAcmVkaGF0LmNvbT4KK1JILUNvbW1pdDogWzcvMTAw XSA4ZTA5ZDNiOWMyNDVlODExYTBiZTM5Y2ZiYTAxZWYxZjlhMTg1ODI2IChyb3ZpY2sxL3FlbXUt a3ZtKQorCitDb25mbGljdHM6CisJaHcvYXJtL3ZpcnQuYzogY29udGV4dHVhbCBkaWZmIGR1ZSB0 byBkb3duc3RyZWFtLW9ubHkgc2VjdGlvbnMKKwlody92ZmlvL3BsYXRmb3JtLmM6IGNvbnRleHR1 YWwgZGlmZiBkdWUgdG8gZG93bnN0cmVhbQorICAgICAgICA2MGU3YWMwYzQxYzIgKCJ2ZmlvOiBy ZW5hbWUgZmllbGQgdG8gIm51bV9pbml0aWFsX3JlZ2lvbnMiIikKKyAgICAgICAgYW55d2F5IHRo ZSBmaWxlIGlzIHJlbW92ZWQKKworVGhlIFZGSU9fUExBVEZPUk0gZGV2aWNlIHR5cGUgaGFzIGJl ZW4gZGVwcmVjYXRlZCBpbiB0aGUgUUVNVSAxMC4wCit0aW1lZnJhbWUuIEFsbCBkZXBlbmRlbnQg ZGV2aWNlcyBoYXZlIGJlZW4gcmVtb3ZlZC4gTm93IHJlbW92ZSB0aGUKK2NvcmUgdmZpbyBwbGF0 Zm9ybSBmcmFtZXdvcmsuCisKK1JlbmFtZSBWRklPX0RFVklDRV9UWVBFX1BMQVRGT1JNIGVudW0g dG8gVkZJT19ERVZJQ0VfVFlQRV9VTlVTRUQgdG8KK21haW50YWluIHRoZSBzYW1lIGluZGV4IGZv ciB0aGUgQ0NXIGFuZCBBUCBWRklPIGRldmljZSB0eXBlcy4KKworUmV2aWV3ZWQtYnk6IEVyaWMg QXVnZXIgPGVyaWMuYXVnZXJAcmVkaGF0LmNvbT4KK1Jldmlld2VkLWJ5OiBBbGV4IFdpbGxpYW1z b24gPGFsZXgud2lsbGlhbXNvbkByZWRoYXQuY29tPgorTGluazogaHR0cHM6Ly9sb3JlLmtlcm5l bC5vcmcvcWVtdS1kZXZlbC8yMDI1MDkwMTA2NDYzMS41MzA3MjMtOC1jbGdAcmVkaGF0LmNvbQor U2lnbmVkLW9mZi1ieTogQ8OpZHJpYyBMZSBHb2F0ZXIgPGNsZ0ByZWRoYXQuY29tPgorKGNoZXJy eSBwaWNrZWQgZnJvbSBjb21taXQgNzYyYzg1NTQzOTQ4YmYxZjc4MzhkNjYzOTk1NjQ4NjM1ZDNm NGI5MikKK1NpZ25lZC1vZmYtYnk6IEVyaWMgQXVnZXIgPGVyaWMuYXVnZXJAcmVkaGF0LmNvbT4K Ky0tLQorIGRvY3MvYWJvdXQvZGVwcmVjYXRlZC5yc3QgICAgICAgfCAgMTIgLQorIGRvY3MvYWJv dXQvcmVtb3ZlZC1mZWF0dXJlcy5yc3QgfCAgIDkgKworIGh3L2FybS9LY29uZmlnICAgICAgICAg ICAgICAgICAgfCAgIDEgLQorIGh3L2FybS92aXJ0LmMgICAgICAgICAgICAgICAgICAgfCAgIDQg LQorIGh3L3ZmaW8vS2NvbmZpZyAgICAgICAgICAgICAgICAgfCAgIDYgLQorIGh3L3ZmaW8vbWVz b24uYnVpbGQgICAgICAgICAgICAgfCAgIDEgLQorIGh3L3ZmaW8vcGxhdGZvcm0uYyAgICAgICAg ICAgICAgfCA3MTYgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBody92ZmlvL3Ry YWNlLWV2ZW50cyAgICAgICAgICAgIHwgIDExIC0KKyBpbmNsdWRlL2h3L3ZmaW8vdmZpby1kZXZp Y2UuaCAgIHwgICAyICstCisgaW5jbHVkZS9ody92ZmlvL3ZmaW8tcGxhdGZvcm0uaCB8ICA3OCAt LS0tCisgMTAgZmlsZXMgY2hhbmdlZCwgMTAgaW5zZXJ0aW9ucygrKSwgODMwIGRlbGV0aW9ucygt KQorIGRlbGV0ZSBtb2RlIDEwMDY0NCBody92ZmlvL3BsYXRmb3JtLmMKKyBkZWxldGUgbW9kZSAx MDA2NDQgaW5jbHVkZS9ody92ZmlvL3ZmaW8tcGxhdGZvcm0uaAorCitkaWZmIC0tZ2l0IGEvZG9j cy9hYm91dC9kZXByZWNhdGVkLnJzdCBiL2RvY3MvYWJvdXQvZGVwcmVjYXRlZC5yc3QKK2luZGV4 IDBkZjk3ZWIyYjcuLmZjNDIyYWNjM2UgMTAwNjQ0CistLS0gYS9kb2NzL2Fib3V0L2RlcHJlY2F0 ZWQucnN0CisrKysgYi9kb2NzL2Fib3V0L2RlcHJlY2F0ZWQucnN0CitAQCAtNTE2LDE4ICs1MTYs NiBAQCBTdHJlYW0gYGByZWNvbm5lY3RgYCAoc2luY2UgOS4yKQorIFRoZSBgYHJlY29ubmVjdGBg IG9wdGlvbiBvbmx5IGFsbG93cyBzcGVjaWZ5aW5nIHNlY29uZCBncmFudWxhcml0eSB0aW1lb3V0 cywKKyB3aGljaCBpcyBub3QgZW5vdWdoIGZvciBhbGwgdHlwZXMgb2YgdXNlIGNhc2VzLCB1c2Ug YGByZWNvbm5lY3QtbXNgYCBpbnN0ZWFkLgorIAorLVZGSU8gZGV2aWNlIG9wdGlvbnMKKy0nJycn JycnJycnJycnJycnJycnCistCistYGAtZGV2aWNlIHZmaW8tcGxhdGZvcm1gYCAoc2luY2UgMTAu MCkKKy1eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXgorLVRoZSB2ZmlvLXBs YXRmb3JtIGRldmljZSBhbGxvd3MgdG8gYXNzaWduIGEgaG9zdCBwbGF0Zm9ybSBkZXZpY2UKKy10 byBhIGd1ZXN0IGluIGEgZ2VuZXJpYyBtYW5uZXIuIEludGVncmF0aW5nIGEgbmV3IGRldmljZSBp bnRvCistdGhlIHZmaW8tcGxhdGZvcm0gaW5mcmFzdHJ1Y3R1cmUgcmVxdWlyZXMgc29tZSBhZGFw dGF0aW9uIGF0CistYm90aCBrZXJuZWwgYW5kIHFlbXUgbGV2ZWwuIE5vIHN1Y2ggYXR0ZW1wdCBo YXMgYmVlbiBkb25lIGZvciB5ZWFycworLWFuZCB0aGUgY29uY2x1c2lvbiBpcyB0aGF0IHZmaW8t cGxhdGZvcm0gaGFzIG5vdCBnb3QgYW55IHRyYWN0aW9uLgorLVBDSWUgcGFzc3Rocm91Z2ggc2hh bGwgYmUgdGhlIG1haW5saW5lIHNvbHV0aW9uLgorLQorIENQVSBkZXZpY2UgcHJvcGVydGllcwor ICcnJycnJycnJycnJycnJycnJycnJworIAorZGlmZiAtLWdpdCBhL2RvY3MvYWJvdXQvcmVtb3Zl ZC1mZWF0dXJlcy5yc3QgYi9kb2NzL2Fib3V0L3JlbW92ZWQtZmVhdHVyZXMucnN0CitpbmRleCA0 N2U2MzJiNGFjLi4xNzcxMjg4MTJkIDEwMDY0NAorLS0tIGEvZG9jcy9hYm91dC9yZW1vdmVkLWZl YXR1cmVzLnJzdAorKysrIGIvZG9jcy9hYm91dC9yZW1vdmVkLWZlYXR1cmVzLnJzdAorQEAgLTEy NzgsNiArMTI3OCwxNSBAQCBUaGUgdmZpby1hbWQteGdiZSBkZXZpY2UgYWxsb3dzIHRvIGFzc2ln biBhIGhvc3QgQU1EIDEwR2JFIGNvbnRyb2xsZXIKKyB0byBhIGd1ZXN0ICgiYW1kLHhnYmUtc2Vh dHRsZS12MWEiIGNvbXBhdGliaWxpdHkgc3RyaW5nKS4gQU1EICJTZWF0dGxlIgorIGlzIG5vdCBz dXBwb3J0ZWQgYW55bW9yZSBhbmQgdGhlcmUgaXMgbm8gcG9pbnQga2VlcGluZyB0aGF0IGRldmlj ZS4KKyAKKytgYC1kZXZpY2UgdmZpby1wbGF0Zm9ybWBgIChzaW5jZSAxMC4yKQorKycnJycnJycn JycnJycnJycnJycnJycnJycnJycnJycnJycnJycnCisrVGhlIHZmaW8tcGxhdGZvcm0gZGV2aWNl IGFsbG93cyB0byBhc3NpZ24gYSBob3N0IHBsYXRmb3JtIGRldmljZQorK3RvIGEgZ3Vlc3QgaW4g YSBnZW5lcmljIG1hbm5lci4gSW50ZWdyYXRpbmcgYSBuZXcgZGV2aWNlIGludG8KKyt0aGUgdmZp by1wbGF0Zm9ybSBpbmZyYXN0cnVjdHVyZSByZXF1aXJlcyBzb21lIGFkYXB0YXRpb24gYXQKKyti b3RoIGtlcm5lbCBhbmQgcWVtdSBsZXZlbC4gTm8gc3VjaCBhdHRlbXB0IGhhcyBiZWVuIGRvbmUg Zm9yIHllYXJzCisrYW5kIHRoZSBjb25jbHVzaW9uIGlzIHRoYXQgdmZpby1wbGF0Zm9ybSBoYXMg bm90IGdvdCBhbnkgdHJhY3Rpb24uCisrUENJZSBwYXNzdGhyb3VnaCBzaGFsbCBiZSB0aGUgbWFp bmxpbmUgc29sdXRpb24uCisrCisgVG9vbHMKKyAtLS0tLQorIAorZGlmZiAtLWdpdCBhL2h3L2Fy bS9LY29uZmlnIGIvaHcvYXJtL0tjb25maWcKK2luZGV4IDNmY2E0ODM0OWEuLjNiYWE2YzZjNzQg MTAwNjQ0CistLS0gYS9ody9hcm0vS2NvbmZpZworKysrIGIvaHcvYXJtL0tjb25maWcKK0BAIC01 LDcgKzUsNiBAQCBjb25maWcgQVJNX1ZJUlQKKyAgICAgZGVwZW5kcyBvbiBUQ0cgfHwgS1ZNIHx8 IEhWRgorICAgICBpbXBseSBQQ0lfREVWSUNFUworICAgICBpbXBseSBURVNUX0RFVklDRVMKKy0g ICAgaW1wbHkgVkZJT19QTEFURk9STQorICAgICBpbXBseSBUUE1fVElTX1NZU0JVUworICAgICBp bXBseSBUUE1fVElTX0kyQworICAgICBpbXBseSBOVkRJTU0KK2RpZmYgLS1naXQgYS9ody9hcm0v dmlydC5jIGIvaHcvYXJtL3ZpcnQuYworaW5kZXggOTkwZDJjNzNjNy4uNWJiNmJhN2RlNyAxMDA2 NDQKKy0tLSBhL2h3L2FybS92aXJ0LmMKKysrKyBiL2h3L2FybS92aXJ0LmMKK0BAIC0zOCw3ICsz OCw2IEBACisgI2luY2x1ZGUgImh3L2FybS9wcmltZWNlbGwuaCIKKyAjaW5jbHVkZSAiaHcvYXJt L3ZpcnQuaCIKKyAjaW5jbHVkZSAiaHcvYmxvY2svZmxhc2guaCIKKy0jaW5jbHVkZSAiaHcvdmZp by92ZmlvLXBsYXRmb3JtLmgiCisgI2luY2x1ZGUgImh3L2Rpc3BsYXkvcmFtZmIuaCIKKyAjaW5j bHVkZSAibmV0L25ldC5oIgorICNpbmNsdWRlICJzeXN0ZW0vZGV2aWNlX3RyZWUuaCIKK0BAIC0z MzIyLDkgKzMzMjEsNiBAQCBzdGF0aWMgdm9pZCB2aXJ0X21hY2hpbmVfY2xhc3NfaW5pdChPYmpl Y3RDbGFzcyAqb2MsIGNvbnN0IHZvaWQgKmRhdGEpCisgICAgIG1jLT5pbml0ID0gbWFjaHZpcnRf aW5pdDsKKyAgICAgLyogTWF4aW11bSBzdXBwb3J0ZWQgVkNQVSBjb3VudCBmb3IgYWxsIHZpcnQt cmhlbCogbWFjaGluZXMgKi8KKyAgICAgbWMtPm1heF9jcHVzID0gMzg0OworLSNpZiAwIC8qIERp c2FibGVkIGZvciBSZWQgSGF0IEVudGVycHJpc2UgTGludXggKi8KKy0gICAgbWFjaGluZV9jbGFz c19hbGxvd19keW5hbWljX3N5c2J1c19kZXYobWMsIFRZUEVfVkZJT19QTEFURk9STSk7CistI2Vu ZGlmCisgICAgIG1hY2hpbmVfY2xhc3NfYWxsb3dfZHluYW1pY19zeXNidXNfZGV2KG1jLCBUWVBF X1JBTUZCX0RFVklDRSk7CisgICAgIG1hY2hpbmVfY2xhc3NfYWxsb3dfZHluYW1pY19zeXNidXNf ZGV2KG1jLCBUWVBFX1VFRklfVkFSU19TWVNCVVMpOworICAgICBtYWNoaW5lX2NsYXNzX2FsbG93 X2R5bmFtaWNfc3lzYnVzX2RldihtYywgVFlQRV9BUk1fU01NVVYzKTsKK2RpZmYgLS1naXQgYS9o dy92ZmlvL0tjb25maWcgYi9ody92ZmlvL0tjb25maWcKK2luZGV4IDlhMWRiZTI5MjYuLjI3ZGUy NGU0ZGIgMTAwNjQ0CistLS0gYS9ody92ZmlvL0tjb25maWcKKysrKyBiL2h3L3ZmaW8vS2NvbmZp ZworQEAgLTE3LDEyICsxNyw2IEBAIGNvbmZpZyBWRklPX0NDVworICAgICBzZWxlY3QgVkZJTwor ICAgICBkZXBlbmRzIG9uIExJTlVYICYmIFMzOTBfQ0NXX1ZJUlRJTworIAorLWNvbmZpZyBWRklP X1BMQVRGT1JNCistICAgIGJvb2wKKy0gICAgZGVmYXVsdCB5CistICAgIHNlbGVjdCBWRklPCist ICAgIGRlcGVuZHMgb24gTElOVVggJiYgUExBVEZPUk1fQlVTCistCisgY29uZmlnIFZGSU9fQVAK KyAgICAgYm9vbAorICAgICBkZWZhdWx0IHkKK2RpZmYgLS1naXQgYS9ody92ZmlvL21lc29uLmJ1 aWxkIGIvaHcvdmZpby9tZXNvbi5idWlsZAoraW5kZXggMDY0NzNhMDc4OS4uZDNlZDNjYjdhYyAx MDA2NDQKKy0tLSBhL2h3L3ZmaW8vbWVzb24uYnVpbGQKKysrKyBiL2h3L3ZmaW8vbWVzb24uYnVp bGQKK0BAIC0xMyw3ICsxMyw2IEBAIHZmaW9fc3MuYWRkKHdoZW46ICdDT05GSUdfVkZJT19QQ0kn LCBpZl90cnVlOiBmaWxlcygKKyAgICdwY2kuYycsCisgKSkKKyB2ZmlvX3NzLmFkZCh3aGVuOiAn Q09ORklHX1ZGSU9fQ0NXJywgaWZfdHJ1ZTogZmlsZXMoJ2Njdy5jJykpCistdmZpb19zcy5hZGQo d2hlbjogJ0NPTkZJR19WRklPX1BMQVRGT1JNJywgaWZfdHJ1ZTogZmlsZXMoJ3BsYXRmb3JtLmMn KSkKKyB2ZmlvX3NzLmFkZCh3aGVuOiAnQ09ORklHX1ZGSU9fQVAnLCBpZl90cnVlOiBmaWxlcygn YXAuYycpKQorIHZmaW9fc3MuYWRkKHdoZW46ICdDT05GSUdfVkZJT19JR0QnLCBpZl90cnVlOiBm aWxlcygnaWdkLmMnKSkKKyAKK2RpZmYgLS1naXQgYS9ody92ZmlvL3BsYXRmb3JtLmMgYi9ody92 ZmlvL3BsYXRmb3JtLmMKK2RlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggYzkzNDliYTdi Ny4uMDAwMDAwMDAwMAorLS0tIGEvaHcvdmZpby9wbGF0Zm9ybS5jCisrKysgL2Rldi9udWxsCitA QCAtMSw3MTYgKzAsMCBAQAorLS8qCistICogdmZpbyBiYXNlZCBkZXZpY2UgYXNzaWdubWVudCBz dXBwb3J0IC0gcGxhdGZvcm0gZGV2aWNlcworLSAqCistICogQ29weXJpZ2h0IExpbmFybyBMaW1p dGVkLCAyMDE0CistICoKKy0gKiBBdXRob3JzOgorLSAqICBLaW0gUGhpbGxpcHMgPGtpbS5waGls bGlwc0BsaW5hcm8ub3JnPgorLSAqICBFcmljIEF1Z2VyIDxlcmljLmF1Z2VyQGxpbmFyby5vcmc+ CistICoKKy0gKiBUaGlzIHdvcmsgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH TlUgR1BMLCB2ZXJzaW9uIDIuICBTZWUKKy0gKiB0aGUgQ09QWUlORyBmaWxlIGluIHRoZSB0b3At bGV2ZWwgZGlyZWN0b3J5LgorLSAqCistICogQmFzZWQgb24gdmZpbyBiYXNlZCBQQ0kgZGV2aWNl IGFzc2lnbm1lbnQgc3VwcG9ydDoKKy0gKiAgQ29weXJpZ2h0IFJlZCBIYXQsIEluYy4gMjAxMgor LSAqLworLQorLSNpbmNsdWRlICJxZW11L29zZGVwLmgiCistI2luY2x1ZGUgQ09ORklHX0RFVklD RVMgLyogQ09ORklHX0lPTU1VRkQgKi8KKy0jaW5jbHVkZSAicWFwaS9lcnJvci5oIgorLSNpbmNs dWRlIDxzeXMvaW9jdGwuaD4KKy0jaW5jbHVkZSA8bGludXgvdmZpby5oPgorLQorLSNpbmNsdWRl ICJody92ZmlvL3ZmaW8tcGxhdGZvcm0uaCIKKy0jaW5jbHVkZSAic3lzdGVtL2lvbW11ZmQuaCIK Ky0jaW5jbHVkZSAibWlncmF0aW9uL3Ztc3RhdGUuaCIKKy0jaW5jbHVkZSAicWVtdS9lcnJvci1y ZXBvcnQuaCIKKy0jaW5jbHVkZSAicWVtdS9sb2NrYWJsZS5oIgorLSNpbmNsdWRlICJxZW11L21h aW4tbG9vcC5oIgorLSNpbmNsdWRlICJxZW11L21vZHVsZS5oIgorLSNpbmNsdWRlICJxZW11L3Jh bmdlLmgiCistI2luY2x1ZGUgInN5c3RlbS9tZW1vcnkuaCIKKy0jaW5jbHVkZSAic3lzdGVtL2Fk ZHJlc3Mtc3BhY2VzLmgiCistI2luY2x1ZGUgInFlbXUvcXVldWUuaCIKKy0jaW5jbHVkZSAiaHcv c3lzYnVzLmgiCistI2luY2x1ZGUgInRyYWNlLmgiCistI2luY2x1ZGUgImh3L2lycS5oIgorLSNp bmNsdWRlICJody9wbGF0Zm9ybS1idXMuaCIKKy0jaW5jbHVkZSAiaHcvcWRldi1wcm9wZXJ0aWVz LmgiCistI2luY2x1ZGUgInN5c3RlbS9rdm0uaCIKKy0jaW5jbHVkZSAiaHcvdmZpby92ZmlvLXJl Z2lvbi5oIgorLQorLS8qCistICogRnVuY3Rpb25zIHVzZWQgd2hhdGV2ZXIgdGhlIGluamVjdGlv biBtZXRob2QKKy0gKi8KKy0KKy1zdGF0aWMgaW5saW5lIGJvb2wgdmZpb19pcnFfaXNfYXV0b21h c2tlZChWRklPSU5UcCAqaW50cCkKKy17CistICAgIHJldHVybiBpbnRwLT5mbGFncyAmIFZGSU9f SVJRX0lORk9fQVVUT01BU0tFRDsKKy19CistCistLyoqCistICogdmZpb19pbml0X2ludHAgLSBh bGxvY2F0ZSwgaW5pdGlhbGl6ZSB0aGUgSVJRIHN0cnVjdCBwb2ludGVyCistICogYW5kIGFkZCBp dCBpbnRvIHRoZSBsaXN0IG9mIElSUXMKKy0gKiBAdmJhc2VkZXY6IHRoZSBWRklPIGRldmljZSBo YW5kbGUKKy0gKiBAaW5mbzogaXJxIGluZm8gc3RydWN0IHJldHJpZXZlZCBmcm9tIFZGSU8gZHJp dmVyCistICogQGVycnA6IGVycm9yIG9iamVjdAorLSAqLworLXN0YXRpYyBWRklPSU5UcCAqdmZp b19pbml0X2ludHAoVkZJT0RldmljZSAqdmJhc2VkZXYsCistICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBzdHJ1Y3QgdmZpb19pcnFfaW5mbyBpbmZvLCBFcnJvciAqKmVycnApCistewor LSAgICBpbnQgcmV0OworLSAgICBWRklPUGxhdGZvcm1EZXZpY2UgKnZkZXYgPQorLSAgICAgICAg Y29udGFpbmVyX29mKHZiYXNlZGV2LCBWRklPUGxhdGZvcm1EZXZpY2UsIHZiYXNlZGV2KTsKKy0g ICAgU3lzQnVzRGV2aWNlICpzYmRldiA9IFNZU19CVVNfREVWSUNFKHZkZXYpOworLSAgICBWRklP SU5UcCAqaW50cDsKKy0KKy0gICAgaW50cCA9IGdfbWFsbG9jMChzaXplb2YoKmludHApKTsKKy0g ICAgaW50cC0+dmRldiA9IHZkZXY7CistICAgIGludHAtPnBpbiA9IGluZm8uaW5kZXg7CistICAg IGludHAtPmZsYWdzID0gaW5mby5mbGFnczsKKy0gICAgaW50cC0+c3RhdGUgPSBWRklPX0lSUV9J TkFDVElWRTsKKy0gICAgaW50cC0+a3ZtX2FjY2VsID0gZmFsc2U7CistCistICAgIHN5c2J1c19p bml0X2lycShzYmRldiwgJmludHAtPnFlbXVpcnEpOworLQorLSAgICAvKiBHZXQgYW4gZXZlbnRm ZCBmb3IgdHJpZ2dlciAqLworLSAgICBpbnRwLT5pbnRlcnJ1cHQgPSBnX25ldzAoRXZlbnROb3Rp ZmllciwgMSk7CistICAgIHJldCA9IGV2ZW50X25vdGlmaWVyX2luaXQoaW50cC0+aW50ZXJydXB0 LCAwKTsKKy0gICAgaWYgKHJldCkgeworLSAgICAgICAgZ19mcmVlKGludHAtPmludGVycnVwdCk7 CistICAgICAgICBnX2ZyZWUoaW50cCk7CistICAgICAgICBlcnJvcl9zZXRnX2Vycm5vKGVycnAs IC1yZXQsCistICAgICAgICAgICAgICAgICAgICAgICAgICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSB0 cmlnZ2VyIGV2ZW50ZmQgbm90aWZpZXIiKTsKKy0gICAgICAgIHJldHVybiBOVUxMOworLSAgICB9 CistICAgIGlmICh2ZmlvX2lycV9pc19hdXRvbWFza2VkKGludHApKSB7CistICAgICAgICAvKiBH ZXQgYW4gZXZlbnRmZCBmb3IgcmVzYW1wbGUvdW5tYXNrICovCistICAgICAgICBpbnRwLT51bm1h c2sgPSBnX25ldzAoRXZlbnROb3RpZmllciwgMSk7CistICAgICAgICByZXQgPSBldmVudF9ub3Rp Zmllcl9pbml0KGludHAtPnVubWFzaywgMCk7CistICAgICAgICBpZiAocmV0KSB7CistICAgICAg ICAgICAgZ19mcmVlKGludHAtPmludGVycnVwdCk7CistICAgICAgICAgICAgZ19mcmVlKGludHAt PnVubWFzayk7CistICAgICAgICAgICAgZ19mcmVlKGludHApOworLSAgICAgICAgICAgIGVycm9y X3NldGdfZXJybm8oZXJycCwgLXJldCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICJm YWlsZWQgdG8gaW5pdGlhbGl6ZSByZXNhbXBsZSBldmVudGZkIG5vdGlmaWVyIik7CistICAgICAg ICAgICAgcmV0dXJuIE5VTEw7CistICAgICAgICB9CistICAgIH0KKy0KKy0gICAgUUxJU1RfSU5T RVJUX0hFQUQoJnZkZXYtPmludHBfbGlzdCwgaW50cCwgbmV4dCk7CistICAgIHJldHVybiBpbnRw OworLX0KKy0KKy0vKioKKy0gKiB2ZmlvX3NldF90cmlnZ2VyX2V2ZW50ZmQgLSBzZXQgVkZJTyBl dmVudGZkIGhhbmRsaW5nCistICoKKy0gKiBAaW50cDogSVJRIHN0cnVjdCBoYW5kbGUKKy0gKiBA aGFuZGxlcjogaGFuZGxlciB0byBiZSBjYWxsZWQgb24gZXZlbnRmZCBzaWduYWxpbmcKKy0gKgor LSAqIFNldHVwIFZGSU8gc2lnbmFsaW5nIGFuZCBhdHRhY2ggYW4gb3B0aW9uYWwgdXNlci1zaWRl IGhhbmRsZXIKKy0gKiB0byB0aGUgZXZlbnRmZAorLSAqLworLXN0YXRpYyBpbnQgdmZpb19zZXRf dHJpZ2dlcl9ldmVudGZkKFZGSU9JTlRwICppbnRwLAorLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGV2ZW50ZmRfdXNlcl9zaWRlX2hhbmRsZXJfdCBoYW5kbGVyKQorLXsKKy0g ICAgVkZJT0RldmljZSAqdmJhc2VkZXYgPSAmaW50cC0+dmRldi0+dmJhc2VkZXY7CistICAgIGlu dDMyX3QgZmQgPSBldmVudF9ub3RpZmllcl9nZXRfZmQoaW50cC0+aW50ZXJydXB0KTsKKy0gICAg RXJyb3IgKmVyciA9IE5VTEw7CistCistICAgIHFlbXVfc2V0X2ZkX2hhbmRsZXIoZmQsIChJT0hh bmRsZXIgKiloYW5kbGVyLCBOVUxMLCBpbnRwKTsKKy0KKy0gICAgaWYgKCF2ZmlvX2RldmljZV9p cnFfc2V0X3NpZ25hbGluZyh2YmFzZWRldiwgaW50cC0+cGluLCAwLAorLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFZGSU9fSVJRX1NFVF9BQ1RJT05fVFJJR0dFUiwgZmQs ICZlcnIpKSB7CistICAgICAgICBlcnJvcl9yZXBvcnRmX2VycihlcnIsIFZGSU9fTVNHX1BSRUZJ WCwgdmJhc2VkZXYtPm5hbWUpOworLSAgICAgICAgcWVtdV9zZXRfZmRfaGFuZGxlcihmZCwgTlVM TCwgTlVMTCwgTlVMTCk7CistICAgICAgICByZXR1cm4gLUVJTlZBTDsKKy0gICAgfQorLQorLSAg ICByZXR1cm4gMDsKKy19CistCistLyoKKy0gKiBGdW5jdGlvbnMgb25seSB1c2VkIHdoZW4gZXZl bnRmZHMgYXJlIGhhbmRsZWQgb24gdXNlci1zaWRlCistICogaWUuIHdpdGhvdXQgaXJxZmQKKy0g Ki8KKy0KKy0vKioKKy0gKiB2ZmlvX21tYXBfc2V0X2VuYWJsZWQgLSBlbmFibGUvZGlzYWJsZSB0 aGUgZmFzdCBwYXRoIG1vZGUKKy0gKiBAdmRldjogdGhlIFZGSU8gcGxhdGZvcm0gZGV2aWNlCist ICogQGVuYWJsZWQ6IHRoZSB0YXJnZXQgbW1hcCBzdGF0ZQorLSAqCistICogZW5hYmxlZCA9IHRy dWUgfiBmYXN0IHBhdGggPSBNTUlPIHJlZ2lvbiBpcyBtbWFwZWQgKG5vIEtWTSBUUkFQKTsKKy0g KiBlbmFibGVkID0gZmFsc2UgfiBzbG93IHBhdGggPSBNTUlPIHJlZ2lvbiBpcyB0cmFwcGVkIGFu ZCByZWdpb24gY2FsbGJhY2tzCistICogYXJlIGNhbGxlZDsgc2xvdyBwYXRoIGVuYWJsZXMgdG8g dHJhcCB0aGUgZGV2aWNlIElSUSBzdGF0dXMgcmVnaXN0ZXIgcmVzZXQKKy0qLworLQorLXN0YXRp YyB2b2lkIHZmaW9fbW1hcF9zZXRfZW5hYmxlZChWRklPUGxhdGZvcm1EZXZpY2UgKnZkZXYsIGJv b2wgZW5hYmxlZCkKKy17CistICAgIGludCBpOworLQorLSAgICBmb3IgKGkgPSAwOyBpIDwgdmRl di0+dmJhc2VkZXYubnVtX2luaXRpYWxfcmVnaW9uczsgaSsrKSB7CistICAgICAgICB2ZmlvX3Jl Z2lvbl9tbWFwc19zZXRfZW5hYmxlZCh2ZGV2LT5yZWdpb25zW2ldLCBlbmFibGVkKTsKKy0gICAg fQorLX0KKy0KKy0vKioKKy0gKiB2ZmlvX2ludHBfbW1hcF9lbmFibGUgLSB0aW1lciBmdW5jdGlv biwgcmVzdG9yZXMgdGhlIGZhc3QgcGF0aAorLSAqIGlmIHRoZXJlIGlzIG5vIG1vcmUgYWN0aXZl IElSUQorLSAqIEBvcGFxdWU6IGFjdHVhbGx5IHBvaW50cyB0byB0aGUgVkZJTyBwbGF0Zm9ybSBk ZXZpY2UKKy0gKgorLSAqIENhbGxlZCBvbiBtbWFwIHRpbWVyIHRpbWVvdXQsIHRoaXMgZnVuY3Rp b24gY2hlY2tzIHdoZXRoZXIgdGhlCistICogSVJRIGlzIHN0aWxsIGFjdGl2ZSBhbmQgaWYgbm90 LCByZXN0b3JlcyB0aGUgZmFzdCBwYXRoLgorLSAqIGJ5IGNvbnN0cnVjdGlvbiBhIHNpbmdsZSBl dmVudGZkIGlzIGhhbmRsZWQgYXQgYSB0aW1lLgorLSAqIGlmIHRoZSBJUlEgaXMgc3RpbGwgYWN0 aXZlLCB0aGUgdGltZXIgaXMgcmUtcHJvZ3JhbW1lZC4KKy0gKi8KKy1zdGF0aWMgdm9pZCB2Zmlv X2ludHBfbW1hcF9lbmFibGUodm9pZCAqb3BhcXVlKQorLXsKKy0gICAgVkZJT0lOVHAgKnRtcDsK Ky0gICAgVkZJT1BsYXRmb3JtRGV2aWNlICp2ZGV2ID0gKFZGSU9QbGF0Zm9ybURldmljZSAqKW9w YXF1ZTsKKy0KKy0gICAgUUVNVV9MT0NLX0dVQVJEKCZ2ZGV2LT5pbnRwX211dGV4KTsKKy0gICAg UUxJU1RfRk9SRUFDSCh0bXAsICZ2ZGV2LT5pbnRwX2xpc3QsIG5leHQpIHsKKy0gICAgICAgIGlm ICh0bXAtPnN0YXRlID09IFZGSU9fSVJRX0FDVElWRSkgeworLSAgICAgICAgICAgIHRyYWNlX3Zm aW9fcGxhdGZvcm1faW50cF9tbWFwX2VuYWJsZSh0bXAtPnBpbik7CistICAgICAgICAgICAgLyog cmUtcHJvZ3JhbSB0aGUgdGltZXIgdG8gY2hlY2sgYWN0aXZlIHN0YXR1cyBsYXRlciAqLworLSAg ICAgICAgICAgIHRpbWVyX21vZCh2ZGV2LT5tbWFwX3RpbWVyLAorLSAgICAgICAgICAgICAgICAg ICAgICBxZW11X2Nsb2NrX2dldF9tcyhRRU1VX0NMT0NLX1ZJUlRVQUwpICsKKy0gICAgICAgICAg ICAgICAgICAgICAgICAgIHZkZXYtPm1tYXBfdGltZW91dCk7CistICAgICAgICAgICAgcmV0dXJu OworLSAgICAgICAgfQorLSAgICB9CistICAgIHZmaW9fbW1hcF9zZXRfZW5hYmxlZCh2ZGV2LCB0 cnVlKTsKKy19CistCistLyoqCistICogdmZpb19pbnRwX2luamVjdF9wZW5kaW5nX2xvY2toZWxk IC0gSW5qZWN0cyBhIHBlbmRpbmcgSVJRCistICogQG9wYXF1ZTogb3BhcXVlIHBvaW50ZXIsIGlu IHByYWN0aWNlIHRoZSBWRklPSU5UcCBoYW5kbGUKKy0gKgorLSAqIFRoZSBmdW5jdGlvbiBpcyBj YWxsZWQgb24gYSBwcmV2aW91cyBJUlEgY29tcGxldGlvbiwgZnJvbQorLSAqIHZmaW9fcGxhdGZv cm1fZW9pLCB3aGlsZSB0aGUgaW50cF9tdXRleCBpcyBsb2NrZWQuCistICogQWxzbyBpbiBzdWNo IHNpdHVhdGlvbiwgdGhlIHNsb3cgcGF0aCBhbHJlYWR5IGlzIHNldCBhbmQKKy0gKiB0aGUgbW1h cCB0aW1lciB3YXMgYWxyZWFkeSBwcm9ncmFtbWVkLgorLSAqLworLXN0YXRpYyB2b2lkIHZmaW9f aW50cF9pbmplY3RfcGVuZGluZ19sb2NraGVsZChWRklPSU5UcCAqaW50cCkKKy17CistICAgIHRy YWNlX3ZmaW9fcGxhdGZvcm1faW50cF9pbmplY3RfcGVuZGluZ19sb2NraGVsZChpbnRwLT5waW4s CistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnRfbm90aWZpZXJfZ2V0X2ZkKGlu dHAtPmludGVycnVwdCkpOworLQorLSAgICBpbnRwLT5zdGF0ZSA9IFZGSU9fSVJRX0FDVElWRTsK Ky0KKy0gICAgLyogdHJpZ2dlciB0aGUgdmlydHVhbCBJUlEgKi8KKy0gICAgcWVtdV9zZXRfaXJx KGludHAtPnFlbXVpcnEsIDEpOworLX0KKy0KKy0vKioKKy0gKiB2ZmlvX2ludHBfaW50ZXJydXB0 IC0gVGhlIHVzZXItc2lkZSBldmVudGZkIGhhbmRsZXIKKy0gKiBAb3BhcXVlOiBvcGFxdWUgcG9p bnRlciB3aGljaCBpbiBwcmFjdGljZSBpcyB0aGUgVkZJT0lOVHAgaGFuZGxlCistICoKKy0gKiB0 aGUgZnVuY3Rpb24gaXMgZW50ZXJlZCBpbiBldmVudCBoYW5kbGVyIGNvbnRleHQ6CistICogdGhl IHZJUlEgaXMgaW5qZWN0ZWQgaW50byB0aGUgZ3Vlc3QgaWYgdGhlcmUgaXMgbm8gb3RoZXIgYWN0 aXZlCistICogb3IgcGVuZGluZyBJUlEuCistICovCistc3RhdGljIHZvaWQgdmZpb19pbnRwX2lu dGVycnVwdChWRklPSU5UcCAqaW50cCkKKy17CistICAgIGludCByZXQ7CistICAgIFZGSU9JTlRw ICp0bXA7CistICAgIFZGSU9QbGF0Zm9ybURldmljZSAqdmRldiA9IGludHAtPnZkZXY7CistICAg IGJvb2wgZGVsYXlfaGFuZGxpbmcgPSBmYWxzZTsKKy0KKy0gICAgUUVNVV9MT0NLX0dVQVJEKCZ2 ZGV2LT5pbnRwX211dGV4KTsKKy0gICAgaWYgKGludHAtPnN0YXRlID09IFZGSU9fSVJRX0lOQUNU SVZFKSB7CistICAgICAgICBRTElTVF9GT1JFQUNIKHRtcCwgJnZkZXYtPmludHBfbGlzdCwgbmV4 dCkgeworLSAgICAgICAgICAgIGlmICh0bXAtPnN0YXRlID09IFZGSU9fSVJRX0FDVElWRSB8fAor LSAgICAgICAgICAgICAgICB0bXAtPnN0YXRlID09IFZGSU9fSVJRX1BFTkRJTkcpIHsKKy0gICAg ICAgICAgICAgICAgZGVsYXlfaGFuZGxpbmcgPSB0cnVlOworLSAgICAgICAgICAgICAgICBicmVh azsKKy0gICAgICAgICAgICB9CistICAgICAgICB9CistICAgIH0KKy0gICAgaWYgKGRlbGF5X2hh bmRsaW5nKSB7CistICAgICAgICAvKgorLSAgICAgICAgICogdGhlIG5ldyBJUlEgZ2V0cyBhIHBl bmRpbmcgc3RhdHVzIGFuZCBpcyBwdXNoZWQgaW4KKy0gICAgICAgICAqIHRoZSBwZW5kaW5nIHF1 ZXVlCistICAgICAgICAgKi8KKy0gICAgICAgIGludHAtPnN0YXRlID0gVkZJT19JUlFfUEVORElO RzsKKy0gICAgICAgIHRyYWNlX3ZmaW9faW50cF9pbnRlcnJ1cHRfc2V0X3BlbmRpbmcoaW50cC0+ cGluKTsKKy0gICAgICAgIFFTSU1QTEVRX0lOU0VSVF9UQUlMKCZ2ZGV2LT5wZW5kaW5nX2ludHBf cXVldWUsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRwLCBwcW5leHQpOworLSAg ICAgICAgZXZlbnRfbm90aWZpZXJfdGVzdF9hbmRfY2xlYXIoaW50cC0+aW50ZXJydXB0KTsKKy0g ICAgICAgIHJldHVybjsKKy0gICAgfQorLQorLSAgICB0cmFjZV92ZmlvX3BsYXRmb3JtX2ludHBf aW50ZXJydXB0KGludHAtPnBpbiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVu dF9ub3RpZmllcl9nZXRfZmQoaW50cC0+aW50ZXJydXB0KSk7CistCistICAgIHJldCA9IGV2ZW50 X25vdGlmaWVyX3Rlc3RfYW5kX2NsZWFyKGludHAtPmludGVycnVwdCk7CistICAgIGlmICghcmV0 KSB7CistICAgICAgICBlcnJvcl9yZXBvcnQoIkVycm9yIHdoZW4gY2xlYXJpbmcgZmQ9JWQgKHJl dCA9ICVkKSIsCistICAgICAgICAgICAgICAgICAgICAgZXZlbnRfbm90aWZpZXJfZ2V0X2ZkKGlu dHAtPmludGVycnVwdCksIHJldCk7CistICAgIH0KKy0KKy0gICAgaW50cC0+c3RhdGUgPSBWRklP X0lSUV9BQ1RJVkU7CistCistICAgIC8qIHNldHMgc2xvdyBwYXRoICovCistICAgIHZmaW9fbW1h cF9zZXRfZW5hYmxlZCh2ZGV2LCBmYWxzZSk7CistCistICAgIC8qIHRyaWdnZXIgdGhlIHZpcnR1 YWwgSVJRICovCistICAgIHFlbXVfc2V0X2lycShpbnRwLT5xZW11aXJxLCAxKTsKKy0KKy0gICAg LyoKKy0gICAgICogU2NoZWR1bGUgdGhlIG1tYXAgdGltZXIgd2hpY2ggd2lsbCByZXN0b3JlIGZh c3RwYXRoIHdoZW4gbm8gSVJRCistICAgICAqIGlzIGFjdGl2ZSBhbnltb3JlCistICAgICAqLwor LSAgICBpZiAodmRldi0+bW1hcF90aW1lb3V0KSB7CistICAgICAgICB0aW1lcl9tb2QodmRldi0+ bW1hcF90aW1lciwKKy0gICAgICAgICAgICAgICAgICBxZW11X2Nsb2NrX2dldF9tcyhRRU1VX0NM T0NLX1ZJUlRVQUwpICsKKy0gICAgICAgICAgICAgICAgICAgICAgdmRldi0+bW1hcF90aW1lb3V0 KTsKKy0gICAgfQorLX0KKy0KKy0vKioKKy0gKiB2ZmlvX3BsYXRmb3JtX2VvaSAtIElSUSBjb21w bGV0aW9uIHJvdXRpbmUKKy0gKiBAdmJhc2VkZXY6IHRoZSBWRklPIGRldmljZSBoYW5kbGUKKy0g KgorLSAqIERlLWFzc2VydHMgdGhlIGFjdGl2ZSB2aXJ0dWFsIElSUSBhbmQgdW5tYXNrcyB0aGUg cGh5c2ljYWwgSVJRCistICogKGVmZmVjdGl2ZSBmb3IgbGV2ZWwgc2Vuc2l0aXZlIElSUSBhdXRv LW1hc2tlZCBieSB0aGUgIFZGSU8gZHJpdmVyKS4KKy0gKiBUaGVuIGl0IGhhbmRsZXMgbmV4dCBw ZW5kaW5nIElSUSBpZiBhbnkuCistICogZW9pIGZ1bmN0aW9uIGlzIGNhbGxlZCBvbiB0aGUgZmly c3QgYWNjZXNzIHRvIGFueSBNTUlPIHJlZ2lvbgorLSAqIGFmdGVyIGFuIElSUSB3YXMgdHJpZ2dl cmVkLCB0cmFwcGVkIHNpbmNlIHNsb3cgcGF0aCB3YXMgc2V0LgorLSAqIEl0IGlzIGFzc3VtZWQg dGhpcyBhY2Nlc3MgY29ycmVzcG9uZHMgdG8gdGhlIElSUSBzdGF0dXMKKy0gKiByZWdpc3RlciBy ZXNldC4gV2l0aCBzdWNoIGEgbWVjaGFuaXNtLCBhIHNpbmdsZSBJUlEgY2FuIGJlCistICogaGFu ZGxlZCBhdCBhIHRpbWUgc2luY2UgdGhlcmUgaXMgbm8gd2F5IHRvIGtub3cgd2hpY2ggSVJRCist ICogd2FzIGNvbXBsZXRlZCBieSB0aGUgZ3Vlc3QgKHdlIHdvdWxkIG5lZWQgYWRkaXRpb25hbCBk ZXRhaWxzCistICogYWJvdXQgdGhlIElSUSBzdGF0dXMgcmVnaXN0ZXIgbWFzaykuCistICovCist c3RhdGljIHZvaWQgdmZpb19wbGF0Zm9ybV9lb2koVkZJT0RldmljZSAqdmJhc2VkZXYpCistewor LSAgICBWRklPSU5UcCAqaW50cDsKKy0gICAgVkZJT1BsYXRmb3JtRGV2aWNlICp2ZGV2ID0KKy0g ICAgICAgIGNvbnRhaW5lcl9vZih2YmFzZWRldiwgVkZJT1BsYXRmb3JtRGV2aWNlLCB2YmFzZWRl dik7CistCistICAgIFFFTVVfTE9DS19HVUFSRCgmdmRldi0+aW50cF9tdXRleCk7CistICAgIFFM SVNUX0ZPUkVBQ0goaW50cCwgJnZkZXYtPmludHBfbGlzdCwgbmV4dCkgeworLSAgICAgICAgaWYg KGludHAtPnN0YXRlID09IFZGSU9fSVJRX0FDVElWRSkgeworLSAgICAgICAgICAgIHRyYWNlX3Zm aW9fcGxhdGZvcm1fZW9pKGludHAtPnBpbiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGV2ZW50X25vdGlmaWVyX2dldF9mZChpbnRwLT5pbnRlcnJ1cHQpKTsKKy0gICAgICAgICAg ICBpbnRwLT5zdGF0ZSA9IFZGSU9fSVJRX0lOQUNUSVZFOworLQorLSAgICAgICAgICAgIC8qIGRl YXNzZXJ0IHRoZSB2aXJ0dWFsIElSUSAqLworLSAgICAgICAgICAgIHFlbXVfc2V0X2lycShpbnRw LT5xZW11aXJxLCAwKTsKKy0KKy0gICAgICAgICAgICBpZiAodmZpb19pcnFfaXNfYXV0b21hc2tl ZChpbnRwKSkgeworLSAgICAgICAgICAgICAgICAvKiB1bm1hc2tzIHRoZSBwaHlzaWNhbCBsZXZl bC1zZW5zaXRpdmUgSVJRICovCistICAgICAgICAgICAgICAgIHZmaW9fZGV2aWNlX2lycV91bm1h c2sodmJhc2VkZXYsIGludHAtPnBpbik7CistICAgICAgICAgICAgfQorLQorLSAgICAgICAgICAg IC8qIGEgc2luZ2xlIElSUSBjYW4gYmUgYWN0aXZlIGF0IGEgdGltZSAqLworLSAgICAgICAgICAg IGJyZWFrOworLSAgICAgICAgfQorLSAgICB9CistICAgIC8qIGluIGNhc2UgdGhlcmUgYXJlIHBl bmRpbmcgSVJRcywgaGFuZGxlIHRoZSBmaXJzdCBvbmUgKi8KKy0gICAgaWYgKCFRU0lNUExFUV9F TVBUWSgmdmRldi0+cGVuZGluZ19pbnRwX3F1ZXVlKSkgeworLSAgICAgICAgaW50cCA9IFFTSU1Q TEVRX0ZJUlNUKCZ2ZGV2LT5wZW5kaW5nX2ludHBfcXVldWUpOworLSAgICAgICAgdmZpb19pbnRw X2luamVjdF9wZW5kaW5nX2xvY2toZWxkKGludHApOworLSAgICAgICAgUVNJTVBMRVFfUkVNT1ZF X0hFQUQoJnZkZXYtPnBlbmRpbmdfaW50cF9xdWV1ZSwgcHFuZXh0KTsKKy0gICAgfQorLX0KKy0K Ky0vKioKKy0gKiB2ZmlvX3N0YXJ0X2V2ZW50ZmRfaW5qZWN0aW9uIC0gc3RhcnRzIHRoZSB2aXJ0 dWFsIElSUSBpbmplY3Rpb24gdXNpbmcKKy0gKiB1c2VyLXNpZGUgaGFuZGxlZCBldmVudGZkcwor LSAqIEBzYmRldjogdGhlIHN5c2J1cyBkZXZpY2UgaGFuZGxlCistICogQGlycTogdGhlIHFlbXUg aXJxIGhhbmRsZQorLSAqLworLQorLXN0YXRpYyB2b2lkIHZmaW9fc3RhcnRfZXZlbnRmZF9pbmpl Y3Rpb24oU3lzQnVzRGV2aWNlICpzYmRldiwgcWVtdV9pcnEgaXJxKQorLXsKKy0gICAgVkZJT1Bs YXRmb3JtRGV2aWNlICp2ZGV2ID0gVkZJT19QTEFURk9STV9ERVZJQ0Uoc2JkZXYpOworLSAgICBW RklPSU5UcCAqaW50cDsKKy0KKy0gICAgUUxJU1RfRk9SRUFDSChpbnRwLCAmdmRldi0+aW50cF9s aXN0LCBuZXh0KSB7CistICAgICAgICBpZiAoaW50cC0+cWVtdWlycSA9PSBpcnEpIHsKKy0gICAg ICAgICAgICBicmVhazsKKy0gICAgICAgIH0KKy0gICAgfQorLSAgICBhc3NlcnQoaW50cCk7Cist CistICAgIGlmICh2ZmlvX3NldF90cmlnZ2VyX2V2ZW50ZmQoaW50cCwgdmZpb19pbnRwX2ludGVy cnVwdCkpIHsKKy0gICAgICAgIGFib3J0KCk7CistICAgIH0KKy19CistCistLyoKKy0gKiBGdW5j dGlvbnMgdXNlZCBmb3IgaXJxZmQKKy0gKi8KKy0KKy0vKioKKy0gKiB2ZmlvX3NldF9yZXNhbXBs ZV9ldmVudGZkIC0gc2V0cyB0aGUgcmVzYW1wbGVmZCBmb3IgYW4gSVJRCistICogQGludHA6IHRo ZSBJUlEgc3RydWN0IGhhbmRsZQorLSAqIHByb2dyYW1zIHRoZSBWRklPIGRyaXZlciB0byB1bm1h c2sgdGhpcyBJUlEgd2hlbiB0aGUKKy0gKiBpbnRwLT51bm1hc2sgZXZlbnRmZCBpcyB0cmlnZ2Vy ZWQKKy0gKi8KKy1zdGF0aWMgaW50IHZmaW9fc2V0X3Jlc2FtcGxlX2V2ZW50ZmQoVkZJT0lOVHAg KmludHApCisteworLSAgICBpbnQzMl90IGZkID0gZXZlbnRfbm90aWZpZXJfZ2V0X2ZkKGludHAt PnVubWFzayk7CistICAgIFZGSU9EZXZpY2UgKnZiYXNlZGV2ID0gJmludHAtPnZkZXYtPnZiYXNl ZGV2OworLSAgICBFcnJvciAqZXJyID0gTlVMTDsKKy0KKy0gICAgcWVtdV9zZXRfZmRfaGFuZGxl cihmZCwgTlVMTCwgTlVMTCwgTlVMTCk7CistICAgIGlmICghdmZpb19kZXZpY2VfaXJxX3NldF9z aWduYWxpbmcodmJhc2VkZXYsIGludHAtPnBpbiwgMCwKKy0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBWRklPX0lSUV9TRVRfQUNUSU9OX1VOTUFTSywgZmQsICZlcnIpKSB7 CistICAgICAgICBlcnJvcl9yZXBvcnRmX2VycihlcnIsIFZGSU9fTVNHX1BSRUZJWCwgdmJhc2Vk ZXYtPm5hbWUpOworLSAgICAgICAgcmV0dXJuIC1FSU5WQUw7CistICAgIH0KKy0gICAgcmV0dXJu IDA7CistfQorLQorLS8qKgorLSAqIHZmaW9fc3RhcnRfaXJxZmRfaW5qZWN0aW9uIC0gc3RhcnRz IHRoZSB2aXJ0dWFsIElSUSBpbmplY3Rpb24gdXNpbmcKKy0gKiBpcnFmZAorLSAqCistICogQHNi ZGV2OiB0aGUgc3lzYnVzIGRldmljZSBoYW5kbGUKKy0gKiBAaXJxOiB0aGUgcWVtdSBpcnEgaGFu ZGxlCistICoKKy0gKiBJbiBjYXNlIHRoZSBpcnFmZCBzZXR1cCBmYWlscywgd2UgZmFsbGJhY2sg dG8gdXNlcnNwYWNlIGhhbmRsZWQgZXZlbnRmZAorLSAqLworLXN0YXRpYyB2b2lkIHZmaW9fc3Rh cnRfaXJxZmRfaW5qZWN0aW9uKFN5c0J1c0RldmljZSAqc2JkZXYsIHFlbXVfaXJxIGlycSkKKy17 CistICAgIFZGSU9QbGF0Zm9ybURldmljZSAqdmRldiA9IFZGSU9fUExBVEZPUk1fREVWSUNFKHNi ZGV2KTsKKy0gICAgVkZJT0lOVHAgKmludHA7CistCistICAgIGlmICgha3ZtX2lycWZkc19lbmFi bGVkKCkgfHwgIWt2bV9yZXNhbXBsZWZkc19lbmFibGVkKCkgfHwKKy0gICAgICAgICF2ZGV2LT5p cnFmZF9hbGxvd2VkKSB7CistICAgICAgICBnb3RvIGZhaWxfaXJxZmQ7CistICAgIH0KKy0KKy0g ICAgUUxJU1RfRk9SRUFDSChpbnRwLCAmdmRldi0+aW50cF9saXN0LCBuZXh0KSB7CistICAgICAg ICBpZiAoaW50cC0+cWVtdWlycSA9PSBpcnEpIHsKKy0gICAgICAgICAgICBicmVhazsKKy0gICAg ICAgIH0KKy0gICAgfQorLSAgICBhc3NlcnQoaW50cCk7CistCistICAgIGlmIChrdm1faXJxY2hp cF9hZGRfaXJxZmRfbm90aWZpZXIoa3ZtX3N0YXRlLCBpbnRwLT5pbnRlcnJ1cHQsCistICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnRwLT51bm1hc2ssIGlycSkgPCAwKSB7Cist ICAgICAgICBnb3RvIGZhaWxfaXJxZmQ7CistICAgIH0KKy0KKy0gICAgaWYgKHZmaW9fc2V0X3Ry aWdnZXJfZXZlbnRmZChpbnRwLCBOVUxMKSA8IDApIHsKKy0gICAgICAgIGdvdG8gZmFpbF92Zmlv OworLSAgICB9CistICAgIGlmICh2ZmlvX2lycV9pc19hdXRvbWFza2VkKGludHApKSB7CistICAg ICAgICBpZiAodmZpb19zZXRfcmVzYW1wbGVfZXZlbnRmZChpbnRwKSA8IDApIHsKKy0gICAgICAg ICAgICBnb3RvIGZhaWxfdmZpbzsKKy0gICAgICAgIH0KKy0gICAgICAgIHRyYWNlX3ZmaW9fcGxh dGZvcm1fc3RhcnRfbGV2ZWxfaXJxZmRfaW5qZWN0aW9uKGludHAtPnBpbiwKKy0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudF9ub3RpZmllcl9nZXRfZmQoaW50cC0+aW50 ZXJydXB0KSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudF9ub3Rp Zmllcl9nZXRfZmQoaW50cC0+dW5tYXNrKSk7CistICAgIH0gZWxzZSB7CistICAgICAgICB0cmFj ZV92ZmlvX3BsYXRmb3JtX3N0YXJ0X2VkZ2VfaXJxZmRfaW5qZWN0aW9uKGludHAtPnBpbiwKKy0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudF9ub3RpZmllcl9nZXRfZmQo aW50cC0+aW50ZXJydXB0KSk7CistICAgIH0KKy0KKy0gICAgaW50cC0+a3ZtX2FjY2VsID0gdHJ1 ZTsKKy0KKy0gICAgcmV0dXJuOworLWZhaWxfdmZpbzoKKy0gICAga3ZtX2lycWNoaXBfcmVtb3Zl X2lycWZkX25vdGlmaWVyKGt2bV9zdGF0ZSwgaW50cC0+aW50ZXJydXB0LCBpcnEpOworLSAgICBh Ym9ydCgpOworLWZhaWxfaXJxZmQ6CistICAgIHZmaW9fc3RhcnRfZXZlbnRmZF9pbmplY3Rpb24o c2JkZXYsIGlycSk7CistfQorLQorLS8qIFZGSU8gc2tlbGV0b24gKi8KKy0KKy1zdGF0aWMgdm9p ZCB2ZmlvX3BsYXRmb3JtX2NvbXB1dGVfbmVlZHNfcmVzZXQoVkZJT0RldmljZSAqdmJhc2VkZXYp CisteworLSAgICB2YmFzZWRldi0+bmVlZHNfcmVzZXQgPSB0cnVlOworLX0KKy0KKy0vKiBub3Qg aW1wbGVtZW50ZWQgeWV0ICovCistc3RhdGljIGludCB2ZmlvX3BsYXRmb3JtX2hvdF9yZXNldF9t dWx0aShWRklPRGV2aWNlICp2YmFzZWRldikKKy17CistICAgIHJldHVybiAtMTsKKy19CistCist LyoqCistICogdmZpb19wb3B1bGF0ZV9kZXZpY2UgLSBBbGxvY2F0ZSBhbmQgcG9wdWxhdGUgTU1J TyByZWdpb24KKy0gKiBhbmQgSVJRIHN0cnVjdHMgYWNjb3JkaW5nIHRvIGRyaXZlciByZXR1cm5l ZCBpbmZvcm1hdGlvbgorLSAqIEB2YmFzZWRldjogdGhlIFZGSU8gZGV2aWNlIGhhbmRsZQorLSAq IEBlcnJwOiBlcnJvciBvYmplY3QKKy0gKgorLSAqLworLXN0YXRpYyBib29sIHZmaW9fcG9wdWxh dGVfZGV2aWNlKFZGSU9EZXZpY2UgKnZiYXNlZGV2LCBFcnJvciAqKmVycnApCisteworLSAgICBW RklPSU5UcCAqaW50cCwgKnRtcDsKKy0gICAgaW50IGksIHJldCA9IC0xOworLSAgICBWRklPUGxh dGZvcm1EZXZpY2UgKnZkZXYgPQorLSAgICAgICAgY29udGFpbmVyX29mKHZiYXNlZGV2LCBWRklP UGxhdGZvcm1EZXZpY2UsIHZiYXNlZGV2KTsKKy0KKy0gICAgaWYgKCEodmJhc2VkZXYtPmZsYWdz ICYgVkZJT19ERVZJQ0VfRkxBR1NfUExBVEZPUk0pKSB7CistICAgICAgICBlcnJvcl9zZXRnKGVy cnAsICJ0aGlzIGlzbid0IGEgcGxhdGZvcm0gZGV2aWNlIik7CistICAgICAgICByZXR1cm4gZmFs c2U7CistICAgIH0KKy0KKy0gICAgdmRldi0+cmVnaW9ucyA9IGdfbmV3MChWRklPUmVnaW9uICos IHZiYXNlZGV2LT5udW1faW5pdGlhbF9yZWdpb25zKTsKKy0KKy0gICAgZm9yIChpID0gMDsgaSA8 IHZiYXNlZGV2LT5udW1faW5pdGlhbF9yZWdpb25zOyBpKyspIHsKKy0gICAgICAgIGNoYXIgKm5h bWUgPSBnX3N0cmR1cF9wcmludGYoIlZGSU8gJXMgcmVnaW9uICVkXG4iLCB2YmFzZWRldi0+bmFt ZSwgaSk7CistCistICAgICAgICB2ZGV2LT5yZWdpb25zW2ldID0gZ19uZXcwKFZGSU9SZWdpb24s IDEpOworLSAgICAgICAgcmV0ID0gdmZpb19yZWdpb25fc2V0dXAoT0JKRUNUKHZkZXYpLCB2YmFz ZWRldiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZkZXYtPnJlZ2lvbnNbaV0s IGksIG5hbWUpOworLSAgICAgICAgZ19mcmVlKG5hbWUpOworLSAgICAgICAgaWYgKHJldCkgewor LSAgICAgICAgICAgIGVycm9yX3NldGdfZXJybm8oZXJycCwgLXJldCwgImZhaWxlZCB0byBnZXQg cmVnaW9uICVkIGluZm8iLCBpKTsKKy0gICAgICAgICAgICBnb3RvIHJlZ19lcnJvcjsKKy0gICAg ICAgIH0KKy0gICAgfQorLQorLSAgICB2ZGV2LT5tbWFwX3RpbWVyID0gdGltZXJfbmV3X21zKFFF TVVfQ0xPQ0tfVklSVFVBTCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2 ZmlvX2ludHBfbW1hcF9lbmFibGUsIHZkZXYpOworLQorLSAgICBRU0lNUExFUV9JTklUKCZ2ZGV2 LT5wZW5kaW5nX2ludHBfcXVldWUpOworLQorLSAgICBmb3IgKGkgPSAwOyBpIDwgdmJhc2VkZXYt Pm51bV9pcnFzOyBpKyspIHsKKy0gICAgICAgIHN0cnVjdCB2ZmlvX2lycV9pbmZvIGlycTsKKy0K Ky0gICAgICAgIHJldCA9IHZmaW9fZGV2aWNlX2dldF9pcnFfaW5mbyh2YmFzZWRldiwgaSwgJmly cSk7CistCistICAgICAgICBpZiAocmV0KSB7CistICAgICAgICAgICAgZXJyb3Jfc2V0Z19lcnJu byhlcnJwLCAtcmV0LCAiZmFpbGVkIHRvIGdldCBkZXZpY2UgaXJxIGluZm8iKTsKKy0gICAgICAg ICAgICBnb3RvIGlycV9lcnI7CistICAgICAgICB9IGVsc2UgeworLSAgICAgICAgICAgIHRyYWNl X3ZmaW9fcGxhdGZvcm1fcG9wdWxhdGVfaW50ZXJydXB0cyhpcnEuaW5kZXgsCistICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlycS5jb3VudCwKKy0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXJxLmZs YWdzKTsKKy0gICAgICAgICAgICBpbnRwID0gdmZpb19pbml0X2ludHAodmJhc2VkZXYsIGlycSwg ZXJycCk7CistICAgICAgICAgICAgaWYgKCFpbnRwKSB7CistICAgICAgICAgICAgICAgIGdvdG8g aXJxX2VycjsKKy0gICAgICAgICAgICB9CistICAgICAgICB9CistICAgIH0KKy0gICAgcmV0dXJu IHRydWU7CistaXJxX2VycjoKKy0gICAgdGltZXJfZGVsKHZkZXYtPm1tYXBfdGltZXIpOworLSAg ICBRTElTVF9GT1JFQUNIX1NBRkUoaW50cCwgJnZkZXYtPmludHBfbGlzdCwgbmV4dCwgdG1wKSB7 CistICAgICAgICBRTElTVF9SRU1PVkUoaW50cCwgbmV4dCk7CistICAgICAgICBnX2ZyZWUoaW50 cCk7CistICAgIH0KKy1yZWdfZXJyb3I6CistICAgIGZvciAoaSA9IDA7IGkgPCB2YmFzZWRldi0+ bnVtX2luaXRpYWxfcmVnaW9uczsgaSsrKSB7CistICAgICAgICBpZiAodmRldi0+cmVnaW9uc1tp XSkgeworLSAgICAgICAgICAgIHZmaW9fcmVnaW9uX2ZpbmFsaXplKHZkZXYtPnJlZ2lvbnNbaV0p OworLSAgICAgICAgfQorLSAgICAgICAgZ19mcmVlKHZkZXYtPnJlZ2lvbnNbaV0pOworLSAgICB9 CistICAgIGdfZnJlZSh2ZGV2LT5yZWdpb25zKTsKKy0gICAgcmV0dXJuIGZhbHNlOworLX0KKy0K Ky0vKiBzcGVjaWFsaXplZCBmdW5jdGlvbnMgZm9yIFZGSU8gUGxhdGZvcm0gZGV2aWNlcyAqLwor LXN0YXRpYyBWRklPRGV2aWNlT3BzIHZmaW9fcGxhdGZvcm1fb3BzID0geworLSAgICAudmZpb19j b21wdXRlX25lZWRzX3Jlc2V0ID0gdmZpb19wbGF0Zm9ybV9jb21wdXRlX25lZWRzX3Jlc2V0LAor LSAgICAudmZpb19ob3RfcmVzZXRfbXVsdGkgPSB2ZmlvX3BsYXRmb3JtX2hvdF9yZXNldF9tdWx0 aSwKKy0gICAgLnZmaW9fZW9pID0gdmZpb19wbGF0Zm9ybV9lb2ksCistfTsKKy0KKy0vKioKKy0g KiB2ZmlvX2Jhc2VfZGV2aWNlX2luaXQgLSBwZXJmb3JtIHByZWxpbWluYXJ5IFZGSU8gc2V0dXAK Ky0gKiBAdmJhc2VkZXY6IHRoZSBWRklPIGRldmljZSBoYW5kbGUKKy0gKiBAZXJycDogZXJyb3Ig b2JqZWN0CistICoKKy0gKiBJbXBsZW1lbnQgdGhlIFZGSU8gY29tbWFuZCBzZXF1ZW5jZSB0aGF0 IGFsbG93cyB0byBkaXNjb3ZlcgorLSAqIGFzc2lnbmVkIGRldmljZSByZXNvdXJjZXM6IGdyb3Vw IGV4dHJhY3Rpb24sIGRldmljZQorLSAqIGZkIHJldHJpZXZhbCwgcmVzb3VyY2UgcXVlcnkuCist ICogUHJlY29uZGl0aW9uOiB0aGUgZGV2aWNlIG5hbWUgbXVzdCBiZSBpbml0aWFsaXplZAorLSAq LworLXN0YXRpYyBib29sIHZmaW9fYmFzZV9kZXZpY2VfaW5pdChWRklPRGV2aWNlICp2YmFzZWRl diwgRXJyb3IgKiplcnJwKQorLXsKKy0gICAgLyogQGZkIHRha2VzIHByZWNlZGVuY2Ugb3ZlciBA c3lzZnNkZXYgd2hpY2ggdGFrZXMgcHJlY2VkZW5jZSBvdmVyIEBob3N0ICovCistICAgIGlmICh2 YmFzZWRldi0+ZmQgPCAwICYmIHZiYXNlZGV2LT5zeXNmc2RldikgeworLSAgICAgICAgdmZpb19k ZXZpY2VfZnJlZV9uYW1lKHZiYXNlZGV2KTsKKy0gICAgICAgIHZiYXNlZGV2LT5uYW1lID0gZ19w YXRoX2dldF9iYXNlbmFtZSh2YmFzZWRldi0+c3lzZnNkZXYpOworLSAgICB9IGVsc2UgaWYgKHZi YXNlZGV2LT5mZCA8IDApIHsKKy0gICAgICAgIGlmICghdmJhc2VkZXYtPm5hbWUgfHwgc3RyY2hy KHZiYXNlZGV2LT5uYW1lLCAnLycpKSB7CistICAgICAgICAgICAgZXJyb3Jfc2V0ZyhlcnJwLCAi d3JvbmcgaG9zdCBkZXZpY2UgbmFtZSIpOworLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKy0g ICAgICAgIH0KKy0KKy0gICAgICAgIHZiYXNlZGV2LT5zeXNmc2RldiA9IGdfc3RyZHVwX3ByaW50 ZigiL3N5cy9idXMvcGxhdGZvcm0vZGV2aWNlcy8lcyIsCistICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgdmJhc2VkZXYtPm5hbWUpOworLSAgICB9CistCistICAg IGlmICghdmZpb19kZXZpY2VfZ2V0X25hbWUodmJhc2VkZXYsIGVycnApKSB7CistICAgICAgICBy ZXR1cm4gZmFsc2U7CistICAgIH0KKy0KKy0gICAgaWYgKCF2ZmlvX2RldmljZV9hdHRhY2godmJh c2VkZXYtPm5hbWUsIHZiYXNlZGV2LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAmYWRk cmVzc19zcGFjZV9tZW1vcnksIGVycnApKSB7CistICAgICAgICByZXR1cm4gZmFsc2U7CistICAg IH0KKy0KKy0gICAgaWYgKHZmaW9fcG9wdWxhdGVfZGV2aWNlKHZiYXNlZGV2LCBlcnJwKSkgewor LSAgICAgICAgcmV0dXJuIHRydWU7CistICAgIH0KKy0KKy0gICAgdmZpb19kZXZpY2VfZGV0YWNo KHZiYXNlZGV2KTsKKy0gICAgcmV0dXJuIGZhbHNlOworLX0KKy0KKy0vKioKKy0gKiB2ZmlvX3Bs YXRmb3JtX3JlYWxpemUgIC0gdGhlIGRldmljZSByZWFsaXplIGZ1bmN0aW9uCistICogQGRldjog ZGV2aWNlIHN0YXRlIHBvaW50ZXIKKy0gKiBAZXJycDogZXJyb3IKKy0gKgorLSAqIGluaXRpYWxp emUgdGhlIGRldmljZSwgaXRzIG1lbW9yeSByZWdpb25zIGFuZCBJUlEgc3RydWN0dXJlcworLSAq IElSUSBhcmUgc3RhcnRlZCBzZXBhcmF0ZWx5CistICovCistc3RhdGljIHZvaWQgdmZpb19wbGF0 Zm9ybV9yZWFsaXplKERldmljZVN0YXRlICpkZXYsIEVycm9yICoqZXJycCkKKy17CistICAgIEVS UlBfR1VBUkQoKTsKKy0gICAgVkZJT1BsYXRmb3JtRGV2aWNlICp2ZGV2ID0gVkZJT19QTEFURk9S TV9ERVZJQ0UoZGV2KTsKKy0gICAgU3lzQnVzRGV2aWNlICpzYmRldiA9IFNZU19CVVNfREVWSUNF KGRldik7CistICAgIFZGSU9EZXZpY2UgKnZiYXNlZGV2ID0gJnZkZXYtPnZiYXNlZGV2OworLSAg ICBpbnQgaTsKKy0KKy0gICAgd2Fybl9yZXBvcnQoIi1kZXZpY2UgdmZpby1wbGF0Zm9ybSBpcyBk ZXByZWNhdGVkIik7CistICAgIHFlbXVfbXV0ZXhfaW5pdCgmdmRldi0+aW50cF9tdXRleCk7Cist CistICAgIHRyYWNlX3ZmaW9fcGxhdGZvcm1fcmVhbGl6ZSh2YmFzZWRldi0+c3lzZnNkZXYgPwor LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmJhc2VkZXYtPnN5c2ZzZGV2IDogdmJh c2VkZXYtPm5hbWUsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZGV2LT5jb21w YXQpOworLQorLSAgICBpZiAoIXZmaW9fYmFzZV9kZXZpY2VfaW5pdCh2YmFzZWRldiwgZXJycCkp IHsKKy0gICAgICAgIGdvdG8gaW5pdF9lcnI7CistICAgIH0KKy0KKy0gICAgaWYgKCF2ZGV2LT5j b21wYXQpIHsKKy0gICAgICAgIEdFcnJvciAqZ2VyciA9IE5VTEw7CistICAgICAgICBnY2hhciAq Y29udGVudHM7CistICAgICAgICBnc2l6ZSBsZW5ndGg7CistICAgICAgICBjaGFyICpwYXRoOwor LQorLSAgICAgICAgcGF0aCA9IGdfc3RyZHVwX3ByaW50ZigiJXMvb2Zfbm9kZS9jb21wYXRpYmxl IiwgdmJhc2VkZXYtPnN5c2ZzZGV2KTsKKy0gICAgICAgIGlmICghZ19maWxlX2dldF9jb250ZW50 cyhwYXRoLCAmY29udGVudHMsICZsZW5ndGgsICZnZXJyKSkgeworLSAgICAgICAgICAgIGVycm9y X3NldGcoZXJycCwgIiVzIiwgZ2Vyci0+bWVzc2FnZSk7CistICAgICAgICAgICAgZ19lcnJvcl9m cmVlKGdlcnIpOworLSAgICAgICAgICAgIGdfZnJlZShwYXRoKTsKKy0gICAgICAgICAgICByZXR1 cm47CistICAgICAgICB9CistICAgICAgICBnX2ZyZWUocGF0aCk7CistICAgICAgICB2ZGV2LT5j b21wYXQgPSBjb250ZW50czsKKy0gICAgICAgIGZvciAodmRldi0+bnVtX2NvbXBhdCA9IDA7IGxl bmd0aDsgdmRldi0+bnVtX2NvbXBhdCsrKSB7CistICAgICAgICAgICAgc2l6ZV90IHNraXAgPSBz dHJsZW4oY29udGVudHMpICsgMTsKKy0gICAgICAgICAgICBjb250ZW50cyArPSBza2lwOworLSAg ICAgICAgICAgIGxlbmd0aCAtPSBza2lwOworLSAgICAgICAgfQorLSAgICB9CistCistICAgIGZv ciAoaSA9IDA7IGkgPCB2YmFzZWRldi0+bnVtX2luaXRpYWxfcmVnaW9uczsgaSsrKSB7CistICAg ICAgICBpZiAodmZpb19yZWdpb25fbW1hcCh2ZGV2LT5yZWdpb25zW2ldKSkgeworLSAgICAgICAg ICAgIHdhcm5fcmVwb3J0KCIlcyBtbWFwIHVuc3VwcG9ydGVkLCBwZXJmb3JtYW5jZSBtYXkgYmUg c2xvdyIsCistICAgICAgICAgICAgICAgICAgICAgICAgbWVtb3J5X3JlZ2lvbl9uYW1lKHZkZXYt PnJlZ2lvbnNbaV0tPm1lbSkpOworLSAgICAgICAgfQorLSAgICAgICAgc3lzYnVzX2luaXRfbW1p byhzYmRldiwgdmRldi0+cmVnaW9uc1tpXS0+bWVtKTsKKy0gICAgfQorLSAgICByZXR1cm47Cist CistaW5pdF9lcnI6CistICAgIGlmICh2ZGV2LT52YmFzZWRldi5uYW1lKSB7CistICAgICAgICBl cnJvcl9wcmVwZW5kKGVycnAsIFZGSU9fTVNHX1BSRUZJWCwgdmRldi0+dmJhc2VkZXYubmFtZSk7 CistICAgIH0gZWxzZSB7CistICAgICAgICBlcnJvcl9wcmVwZW5kKGVycnAsICJ2ZmlvIGVycm9y OiAiKTsKKy0gICAgfQorLX0KKy0KKy1zdGF0aWMgY29uc3QgVk1TdGF0ZURlc2NyaXB0aW9uIHZm aW9fcGxhdGZvcm1fdm1zdGF0ZSA9IHsKKy0gICAgLm5hbWUgPSAidmZpby1wbGF0Zm9ybSIsCist ICAgIC51bm1pZ3JhdGFibGUgPSAxLAorLX07CistCistc3RhdGljIGNvbnN0IFByb3BlcnR5IHZm aW9fcGxhdGZvcm1fZGV2X3Byb3BlcnRpZXNbXSA9IHsKKy0gICAgREVGSU5FX1BST1BfU1RSSU5H KCJob3N0IiwgVkZJT1BsYXRmb3JtRGV2aWNlLCB2YmFzZWRldi5uYW1lKSwKKy0gICAgREVGSU5F X1BST1BfU1RSSU5HKCJzeXNmc2RldiIsIFZGSU9QbGF0Zm9ybURldmljZSwgdmJhc2VkZXYuc3lz ZnNkZXYpLAorLSAgICBERUZJTkVfUFJPUF9CT09MKCJ4LW5vLW1tYXAiLCBWRklPUGxhdGZvcm1E ZXZpY2UsIHZiYXNlZGV2Lm5vX21tYXAsIGZhbHNlKSwKKy0gICAgREVGSU5FX1BST1BfVUlOVDMy KCJtbWFwLXRpbWVvdXQtbXMiLCBWRklPUGxhdGZvcm1EZXZpY2UsCistICAgICAgICAgICAgICAg ICAgICAgICBtbWFwX3RpbWVvdXQsIDExMDApLAorLSAgICBERUZJTkVfUFJPUF9CT09MKCJ4LWly cWZkIiwgVkZJT1BsYXRmb3JtRGV2aWNlLCBpcnFmZF9hbGxvd2VkLCB0cnVlKSwKKy0jaWZkZWYg Q09ORklHX0lPTU1VRkQKKy0gICAgREVGSU5FX1BST1BfTElOSygiaW9tbXVmZCIsIFZGSU9QbGF0 Zm9ybURldmljZSwgdmJhc2VkZXYuaW9tbXVmZCwKKy0gICAgICAgICAgICAgICAgICAgICBUWVBF X0lPTU1VRkRfQkFDS0VORCwgSU9NTVVGREJhY2tlbmQgKiksCistI2VuZGlmCistfTsKKy0KKy1z dGF0aWMgdm9pZCB2ZmlvX3BsYXRmb3JtX2luc3RhbmNlX2luaXQoT2JqZWN0ICpvYmopCistewor LSAgICBWRklPUGxhdGZvcm1EZXZpY2UgKnZkZXYgPSBWRklPX1BMQVRGT1JNX0RFVklDRShvYmop OworLSAgICBWRklPRGV2aWNlICp2YmFzZWRldiA9ICZ2ZGV2LT52YmFzZWRldjsKKy0KKy0gICAg dmZpb19kZXZpY2VfaW5pdCh2YmFzZWRldiwgVkZJT19ERVZJQ0VfVFlQRV9QTEFURk9STSwgJnZm aW9fcGxhdGZvcm1fb3BzLAorLSAgICAgICAgICAgICAgICAgICAgIERFVklDRSh2ZGV2KSwgZmFs c2UpOworLX0KKy0KKy0jaWZkZWYgQ09ORklHX0lPTU1VRkQKKy1zdGF0aWMgdm9pZCB2ZmlvX3Bs YXRmb3JtX3NldF9mZChPYmplY3QgKm9iaiwgY29uc3QgY2hhciAqc3RyLCBFcnJvciAqKmVycnAp CisteworLSAgICB2ZmlvX2RldmljZV9zZXRfZmQoJlZGSU9fUExBVEZPUk1fREVWSUNFKG9iaikt PnZiYXNlZGV2LCBzdHIsIGVycnApOworLX0KKy0jZW5kaWYKKy0KKy1zdGF0aWMgdm9pZCB2Zmlv X3BsYXRmb3JtX2NsYXNzX2luaXQoT2JqZWN0Q2xhc3MgKmtsYXNzLCBjb25zdCB2b2lkICpkYXRh KQorLXsKKy0gICAgRGV2aWNlQ2xhc3MgKmRjID0gREVWSUNFX0NMQVNTKGtsYXNzKTsKKy0gICAg U3lzQnVzRGV2aWNlQ2xhc3MgKnNiYyA9IFNZU19CVVNfREVWSUNFX0NMQVNTKGtsYXNzKTsKKy0K Ky0gICAgZGMtPnJlYWxpemUgPSB2ZmlvX3BsYXRmb3JtX3JlYWxpemU7CistICAgIGRldmljZV9j bGFzc19zZXRfcHJvcHMoZGMsIHZmaW9fcGxhdGZvcm1fZGV2X3Byb3BlcnRpZXMpOworLSNpZmRl ZiBDT05GSUdfSU9NTVVGRAorLSAgICBvYmplY3RfY2xhc3NfcHJvcGVydHlfYWRkX3N0cihrbGFz cywgImZkIiwgTlVMTCwgdmZpb19wbGF0Zm9ybV9zZXRfZmQpOworLSNlbmRpZgorLSAgICBkYy0+ dm1zZCA9ICZ2ZmlvX3BsYXRmb3JtX3Ztc3RhdGU7CistICAgIGRjLT5kZXNjID0gIlZGSU8tYmFz ZWQgcGxhdGZvcm0gZGV2aWNlIGFzc2lnbm1lbnQiOworLSAgICBzYmMtPmNvbm5lY3RfaXJxX25v dGlmaWVyID0gdmZpb19zdGFydF9pcnFmZF9pbmplY3Rpb247CistICAgIHNldF9iaXQoREVWSUNF X0NBVEVHT1JZX01JU0MsIGRjLT5jYXRlZ29yaWVzKTsKKy0KKy0gICAgb2JqZWN0X2NsYXNzX3By b3BlcnR5X3NldF9kZXNjcmlwdGlvbihrbGFzcywgLyogMi40ICovCistICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgImhvc3QiLAorLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICJIb3N0IGRldmljZSBuYW1lIG9mIGFzc2lnbmVkIGRldmlj ZSIpOworLSAgICBvYmplY3RfY2xhc3NfcHJvcGVydHlfc2V0X2Rlc2NyaXB0aW9uKGtsYXNzLCAv KiAyLjQgYW5kIDIuNSAqLworLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICJ4LW5vLW1tYXAiLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICJEaXNhYmxlIE1NQVAgZm9yIGRldmljZS4gQWxsb3dzIHRvIHRyYWNlIE1NSU8gIgorLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhY2Nlc3NlcyAoREVCVUcp Iik7CistICAgIG9iamVjdF9jbGFzc19wcm9wZXJ0eV9zZXRfZGVzY3JpcHRpb24oa2xhc3MsIC8q IDIuNCAqLworLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtbWFw LXRpbWVvdXQtbXMiLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICJXaGVuIEVPSSBpcyBub3QgcHJvdmlkZWQgYnkgS1ZNL1FFTVUsIHdhaXQgdGltZSAiCistICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIihtaWxsaXNlY29uZHMpIHRv IHJlLWVuYWJsZSBkZXZpY2UgZGlyZWN0IGFjY2VzcyAiCistICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgImFmdGVyIGxldmVsIGludGVycnVwdCAoREVCVUcpIik7Cist ICAgIG9iamVjdF9jbGFzc19wcm9wZXJ0eV9zZXRfZGVzY3JpcHRpb24oa2xhc3MsIC8qIDIuNCAq LworLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ4LWlycWZkIiwK Ky0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQWxsb3cgZGlzYWJs aW5nIGlycWZkIHN1cHBvcnQgKERFQlVHKSIpOworLSAgICBvYmplY3RfY2xhc3NfcHJvcGVydHlf c2V0X2Rlc2NyaXB0aW9uKGtsYXNzLCAvKiAyLjYgKi8KKy0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAic3lzZnNkZXYiLAorLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICJIb3N0IHN5c2ZzIHBhdGggb2YgYXNzaWduZWQgZGV2aWNlIik7 CistI2lmZGVmIENPTkZJR19JT01NVUZECistICAgIG9iamVjdF9jbGFzc19wcm9wZXJ0eV9zZXRf ZGVzY3JpcHRpb24oa2xhc3MsIC8qIDkuMCAqLworLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICJpb21tdWZkIiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAiU2V0IGhvc3QgSU9NTVVGRCBiYWNrZW5kIGRldmljZSIpOworLSNlbmRp ZgorLX0KKy0KKy1zdGF0aWMgY29uc3QgVHlwZUluZm8gdmZpb19wbGF0Zm9ybV9kZXZfaW5mbyA9 IHsKKy0gICAgLm5hbWUgPSBUWVBFX1ZGSU9fUExBVEZPUk0sCistICAgIC5wYXJlbnQgPSBUWVBF X0RZTkFNSUNfU1lTX0JVU19ERVZJQ0UsCistICAgIC5pbnN0YW5jZV9zaXplID0gc2l6ZW9mKFZG SU9QbGF0Zm9ybURldmljZSksCistICAgIC5pbnN0YW5jZV9pbml0ID0gdmZpb19wbGF0Zm9ybV9p bnN0YW5jZV9pbml0LAorLSAgICAuY2xhc3NfaW5pdCA9IHZmaW9fcGxhdGZvcm1fY2xhc3NfaW5p dCwKKy0gICAgLmNsYXNzX3NpemUgPSBzaXplb2YoVkZJT1BsYXRmb3JtRGV2aWNlQ2xhc3MpLAor LX07CistCistc3RhdGljIHZvaWQgcmVnaXN0ZXJfdmZpb19wbGF0Zm9ybV9kZXZfdHlwZSh2b2lk KQorLXsKKy0gICAgdHlwZV9yZWdpc3Rlcl9zdGF0aWMoJnZmaW9fcGxhdGZvcm1fZGV2X2luZm8p OworLX0KKy0KKy10eXBlX2luaXQocmVnaXN0ZXJfdmZpb19wbGF0Zm9ybV9kZXZfdHlwZSkKK2Rp ZmYgLS1naXQgYS9ody92ZmlvL3RyYWNlLWV2ZW50cyBiL2h3L3ZmaW8vdHJhY2UtZXZlbnRzCitp bmRleCBmYzZlZDIzMGQwLi5lM2Q1NzFmOGM4IDEwMDY0NAorLS0tIGEvaHcvdmZpby90cmFjZS1l dmVudHMKKysrKyBiL2h3L3ZmaW8vdHJhY2UtZXZlbnRzCitAQCAtMTI3LDE3ICsxMjcsNiBAQCB2 ZmlvX3JlZ2lvbl91bm1hcChjb25zdCBjaGFyICpuYW1lLCB1bnNpZ25lZCBsb25nIG9mZnNldCwg dW5zaWduZWQgbG9uZyBlbmQpICJSZQorIHZmaW9fcmVnaW9uX3NwYXJzZV9tbWFwX2hlYWRlcihj b25zdCBjaGFyICpuYW1lLCBpbnQgaW5kZXgsIGludCBucl9hcmVhcykgIkRldmljZSAlcyByZWdp b24gJWQ6ICVkIHNwYXJzZSBtbWFwIGVudHJpZXMiCisgdmZpb19yZWdpb25fc3BhcnNlX21tYXBf ZW50cnkoaW50IGksIHVuc2lnbmVkIGxvbmcgc3RhcnQsIHVuc2lnbmVkIGxvbmcgZW5kKSAic3Bh cnNlIGVudHJ5ICVkIFsweCVseCAtIDB4JWx4XSIKKyAKKy0jIHBsYXRmb3JtLmMKKy12ZmlvX3Bs YXRmb3JtX3JlYWxpemUoY2hhciAqbmFtZSwgY2hhciAqY29tcGF0KSAidmZpbyBkZXZpY2UgJXMs IGNvbXBhdCA9ICVzIgorLXZmaW9fcGxhdGZvcm1fZW9pKGludCBwaW4sIGludCBmZCkgIkVPSSBJ UlEgcGluICVkIChmZD0lZCkiCistdmZpb19wbGF0Zm9ybV9pbnRwX21tYXBfZW5hYmxlKGludCBw aW4pICJJUlEgIyVkIHN0aWxsIGFjdGl2ZSwgc3RheSBpbiBzbG93IHBhdGgiCistdmZpb19wbGF0 Zm9ybV9pbnRwX2ludGVycnVwdChpbnQgcGluLCBpbnQgZmQpICJJbmplY3QgSVJRICMlZCAoZmQg PSAlZCkiCistdmZpb19wbGF0Zm9ybV9pbnRwX2luamVjdF9wZW5kaW5nX2xvY2toZWxkKGludCBw aW4sIGludCBmZCkgIkluamVjdCBwZW5kaW5nIElSUSAjJWQgKGZkID0gJWQpIgorLXZmaW9fcGxh dGZvcm1fcG9wdWxhdGVfaW50ZXJydXB0cyhpbnQgcGluLCBpbnQgY291bnQsIGludCBmbGFncykg Ii0gSVJRIGluZGV4ICVkOiBjb3VudCAlZCwgZmxhZ3M9MHgleCIKKy12ZmlvX2ludHBfaW50ZXJy dXB0X3NldF9wZW5kaW5nKGludCBpbmRleCkgImlycSAlZCBpcyBzZXQgUEVORElORyIKKy12Zmlv X3BsYXRmb3JtX3N0YXJ0X2xldmVsX2lycWZkX2luamVjdGlvbihpbnQgaW5kZXgsIGludCBmZCwg aW50IHJlc2FtcGxlZmQpICJJUlEgaW5kZXg9JWQsIGZkID0gJWQsIHJlc2FtcGxlZmQgPSAlZCIK Ky12ZmlvX3BsYXRmb3JtX3N0YXJ0X2VkZ2VfaXJxZmRfaW5qZWN0aW9uKGludCBpbmRleCwgaW50 IGZkKSAiSVJRIGluZGV4PSVkLCBmZCA9ICVkIgorLQorICMgc3BhcHIuYworIHZmaW9fcHJlcmVn X2xpc3RlbmVyX3JlZ2lvbl9hZGRfc2tpcCh1aW50NjRfdCBzdGFydCwgdWludDY0X3QgZW5kKSAi MHglIlBSSXg2NCIgLSAweCUiUFJJeDY0CisgdmZpb19wcmVyZWdfbGlzdGVuZXJfcmVnaW9uX2Rl bF9za2lwKHVpbnQ2NF90IHN0YXJ0LCB1aW50NjRfdCBlbmQpICIweCUiUFJJeDY0IiAtIDB4JSJQ Ukl4NjQKK2RpZmYgLS1naXQgYS9pbmNsdWRlL2h3L3ZmaW8vdmZpby1kZXZpY2UuaCBiL2luY2x1 ZGUvaHcvdmZpby92ZmlvLWRldmljZS5oCitpbmRleCBkZjgxZDMxOWIyLi4yYmMxNmExYTJlIDEw MDY0NAorLS0tIGEvaW5jbHVkZS9ody92ZmlvL3ZmaW8tZGV2aWNlLmgKKysrKyBiL2luY2x1ZGUv aHcvdmZpby92ZmlvLWRldmljZS5oCitAQCAtMzYsNyArMzYsNyBAQAorIAorIGVudW0geworICAg ICBWRklPX0RFVklDRV9UWVBFX1BDSSA9IDAsCistICAgIFZGSU9fREVWSUNFX1RZUEVfUExBVEZP Uk0gPSAxLAorKyAgICBWRklPX0RFVklDRV9UWVBFX1VOVVNFRCA9IDEsCisgICAgIFZGSU9fREVW SUNFX1RZUEVfQ0NXID0gMiwKKyAgICAgVkZJT19ERVZJQ0VfVFlQRV9BUCA9IDMsCisgfTsKK2Rp ZmYgLS1naXQgYS9pbmNsdWRlL2h3L3ZmaW8vdmZpby1wbGF0Zm9ybS5oIGIvaW5jbHVkZS9ody92 ZmlvL3ZmaW8tcGxhdGZvcm0uaAorZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAyNTZk ODUwMGI3Li4wMDAwMDAwMDAwCistLS0gYS9pbmNsdWRlL2h3L3ZmaW8vdmZpby1wbGF0Zm9ybS5o CisrKysgL2Rldi9udWxsCitAQCAtMSw3OCArMCwwIEBACistLyoKKy0gKiB2ZmlvIGJhc2VkIGRl dmljZSBhc3NpZ25tZW50IHN1cHBvcnQgLSBwbGF0Zm9ybSBkZXZpY2VzCistICoKKy0gKiBDb3B5 cmlnaHQgTGluYXJvIExpbWl0ZWQsIDIwMTQKKy0gKgorLSAqIEF1dGhvcnM6CistICogIEtpbSBQ aGlsbGlwcyA8a2ltLnBoaWxsaXBzQGxpbmFyby5vcmc+CistICoKKy0gKiBUaGlzIHdvcmsgaXMg bGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR1BMLCB2ZXJzaW9uIDIuICBTZWUK Ky0gKiB0aGUgQ09QWUlORyBmaWxlIGluIHRoZSB0b3AtbGV2ZWwgZGlyZWN0b3J5LgorLSAqCist ICogQmFzZWQgb24gdmZpbyBiYXNlZCBQQ0kgZGV2aWNlIGFzc2lnbm1lbnQgc3VwcG9ydDoKKy0g KiAgQ29weXJpZ2h0IFJlZCBIYXQsIEluYy4gMjAxMgorLSAqLworLQorLSNpZm5kZWYgSFdfVkZJ T19WRklPX1BMQVRGT1JNX0gKKy0jZGVmaW5lIEhXX1ZGSU9fVkZJT19QTEFURk9STV9ICistCist I2luY2x1ZGUgImh3L3N5c2J1cy5oIgorLSNpbmNsdWRlICJody92ZmlvL3ZmaW8tZGV2aWNlLmgi CistI2luY2x1ZGUgInFlbXUvZXZlbnRfbm90aWZpZXIuaCIKKy0jaW5jbHVkZSAicWVtdS9xdWV1 ZS5oIgorLSNpbmNsdWRlICJxb20vb2JqZWN0LmgiCistCistI2RlZmluZSBUWVBFX1ZGSU9fUExB VEZPUk0gInZmaW8tcGxhdGZvcm0iCistCistZW51bSB7CistICAgIFZGSU9fSVJRX0lOQUNUSVZF ID0gMCwKKy0gICAgVkZJT19JUlFfUEVORElORyA9IDEsCistICAgIFZGSU9fSVJRX0FDVElWRSA9 IDIsCistICAgIC8qIFZGSU9fSVJRX0FDVElWRV9BTkRfUEVORElORyBjYW5ub3QgaGFwcGVuIHdp dGggVkZJTyAqLworLX07CistCistdHlwZWRlZiBzdHJ1Y3QgVkZJT0lOVHAgeworLSAgICBRTElT VF9FTlRSWShWRklPSU5UcCkgbmV4dDsgLyogZW50cnkgZm9yIElSUSBsaXN0ICovCistICAgIFFT SU1QTEVRX0VOVFJZKFZGSU9JTlRwKSBwcW5leHQ7IC8qIGVudHJ5IGZvciBwZW5kaW5nIElSUSBx dWV1ZSAqLworLSAgICBFdmVudE5vdGlmaWVyICppbnRlcnJ1cHQ7IC8qIGV2ZW50ZmQgdHJpZ2dl cmVkIG9uIGludGVycnVwdCAqLworLSAgICBFdmVudE5vdGlmaWVyICp1bm1hc2s7IC8qIGV2ZW50 ZmQgZm9yIHVubWFzayBvbiBRRU1VIGJ5cGFzcyAqLworLSAgICBxZW11X2lycSBxZW11aXJxOwor LSAgICBzdHJ1Y3QgVkZJT1BsYXRmb3JtRGV2aWNlICp2ZGV2OyAvKiBiYWNrIHBvaW50ZXIgdG8g ZGV2aWNlICovCistICAgIGludCBzdGF0ZTsgLyogaW5hY3RpdmUsIHBlbmRpbmcsIGFjdGl2ZSAq LworLSAgICB1aW50OF90IHBpbjsgLyogaW5kZXggKi8KKy0gICAgdWludDMyX3QgZmxhZ3M7IC8q IElSUSBpbmZvIGZsYWdzICovCistICAgIGJvb2wga3ZtX2FjY2VsOyAvKiBzZXQgd2hlbiBRRU1V IGJ5cGFzcyB0aHJvdWdoIEtWTSBlbmFibGVkICovCistfSBWRklPSU5UcDsKKy0KKy0vKiBmdW5j dGlvbiB0eXBlIGZvciB1c2VyIHNpZGUgZXZlbnRmZCBoYW5kbGVyICovCistdHlwZWRlZiB2b2lk ICgqZXZlbnRmZF91c2VyX3NpZGVfaGFuZGxlcl90KShWRklPSU5UcCAqaW50cCk7CistCistdHlw ZWRlZiBzdHJ1Y3QgVkZJT1JlZ2lvbiBWRklPUmVnaW9uOworLQorLXN0cnVjdCBWRklPUGxhdGZv cm1EZXZpY2UgeworLSAgICBTeXNCdXNEZXZpY2Ugc2JkZXY7CistICAgIFZGSU9EZXZpY2UgdmJh c2VkZXY7IC8qIG5vdCBhIFFPTSBvYmplY3QgKi8KKy0gICAgVkZJT1JlZ2lvbiAqKnJlZ2lvbnM7 CistICAgIFFMSVNUX0hFQUQoLCBWRklPSU5UcCkgaW50cF9saXN0OyAvKiBsaXN0IG9mIElSUXMg Ki8KKy0gICAgLyogcXVldWUgb2YgcGVuZGluZyBJUlFzICovCistICAgIFFTSU1QTEVRX0hFQUQo LCBWRklPSU5UcCkgcGVuZGluZ19pbnRwX3F1ZXVlOworLSAgICBjaGFyICpjb21wYXQ7IC8qIERU IGNvbXBhdGlibGUgdmFsdWVzLCBzZXBhcmF0ZWQgYnkgTlVMICovCistICAgIHVuc2lnbmVkIGlu dCBudW1fY29tcGF0OyAvKiBudW1iZXIgb2YgY29tcGF0aWJsZSB2YWx1ZXMgKi8KKy0gICAgdWlu dDMyX3QgbW1hcF90aW1lb3V0OyAvKiBkZWxheSB0byByZS1lbmFibGUgbW1hcHMgYWZ0ZXIgaW50 ZXJydXB0ICovCistICAgIFFFTVVUaW1lciAqbW1hcF90aW1lcjsgLyogYWxsb3dzIGZhc3QtcGF0 aCByZXN1bWUgYWZ0ZXIgSVJRIGhpdCAqLworLSAgICBRZW11TXV0ZXggaW50cF9tdXRleDsgLyog cHJvdGVjdCB0aGUgaW50cF9saXN0IElSUSBzdGF0ZSAqLworLSAgICBib29sIGlycWZkX2FsbG93 ZWQ7IC8qIGRlYnVnIG9wdGlvbiB0byBmb3JjZSBpcnFmZCBvbi9vZmYgKi8KKy19OworLXR5cGVk ZWYgc3RydWN0IFZGSU9QbGF0Zm9ybURldmljZSBWRklPUGxhdGZvcm1EZXZpY2U7CistCistc3Ry dWN0IFZGSU9QbGF0Zm9ybURldmljZUNsYXNzIHsKKy0gICAgLyo8IHByaXZhdGUgPiovCistICAg IFN5c0J1c0RldmljZUNsYXNzIHBhcmVudF9jbGFzczsKKy0gICAgLyo8IHB1YmxpYyA+Ki8KKy19 OworLXR5cGVkZWYgc3RydWN0IFZGSU9QbGF0Zm9ybURldmljZUNsYXNzIFZGSU9QbGF0Zm9ybURl dmljZUNsYXNzOworLQorLURFQ0xBUkVfT0JKX0NIRUNLRVJTKFZGSU9QbGF0Zm9ybURldmljZSwg VkZJT1BsYXRmb3JtRGV2aWNlQ2xhc3MsCistICAgICAgICAgICAgICAgICAgICAgVkZJT19QTEFU Rk9STV9ERVZJQ0UsIFRZUEVfVkZJT19QTEFURk9STSkKKy0KKy0jZW5kaWYgLyogSFdfVkZJT19W RklPX1BMQVRGT1JNX0ggKi8KKy0tIAorMi41Mi4wCisKCmRpZmYgLS1naXQgYS9rdm0tdmZpby1S ZW1vdmUtd29ya2Fyb3VuZC1mb3Ita2VybmVsLURNQS11bm1hcC1vdmVyZmxvdy5wYXRjaCBiL2t2 bS12ZmlvLVJlbW92ZS13b3JrYXJvdW5kLWZvci1rZXJuZWwtRE1BLXVubWFwLW92ZXJmbG93LnBh dGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI4MmNmMTMKLS0tIC9kZXYv bnVsbAorKysgYi9rdm0tdmZpby1SZW1vdmUtd29ya2Fyb3VuZC1mb3Ita2VybmVsLURNQS11bm1h cC1vdmVyZmxvdy5wYXRjaApAQCAtMCwwICsxLDkyIEBACitGcm9tIGJmMDUwZDQ5OWRmZjI0MzE0 NTYzZmIzNWZhYWE0ZjQ0NWE5MjNmYjggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9 P1VURi04P3E/Qz1DMz1BOWRyaWM9MjBMZT0yMEdvYXRlcj89IDxjbGdAcmVkaGF0LmNvbT4KK0Rh dGU6IEZyaSwgMjYgU2VwIDIwMjUgMTA6NTQ6MjMgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSCAwODAv MTE2XSB2ZmlvOiBSZW1vdmUgd29ya2Fyb3VuZCBmb3Iga2VybmVsIERNQSB1bm1hcCBvdmVyZmxv dworIGJ1ZworTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hh cnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorCitSSC1BdXRob3I6 IFJvZG9sZm8gVmljayA8Tm9uZT4KK1JILU1lcmdlUmVxdWVzdDogNDg2OiBBZGQgRE1BQlVGIHN1 cHBvcnQKK1JILUppcmE6IFJIRUwtMTM4NDk0CitSSC1BY2tlZC1ieTogQ8OpZHJpYyBMZSBHb2F0 ZXIgPGNsZ0ByZWRoYXQuY29tPgorUkgtQWNrZWQtYnk6IEVyaWMgQXVnZXIgPGVyaWMuYXVnZXJA cmVkaGF0LmNvbT4KK1JILUNvbW1pdDogWzY0LzEwMF0gYzkzMTBlNjEyZWEyYjNlMTA2MjBmNTA3 ZTY0NjQ5ZmIxZjQ2Y2RhZiAocm92aWNrMS9xZW11LWt2bSkKKworQSBrZXJuZWwgYnVnIHdhcyBp bnRyb2R1Y2VkIGluIExpbnV4IHY0LjE1IHZpYSBjb21taXQgNzFhN2QzZDc4ZTNjCisoInZmaW8v dHlwZTE6IENoZWNrIGZvciBhZGRyZXNzIHNwYWNlIHdyYXAtYXJvdW5kIG9uIHVubWFwIiksIHdo aWNoCithZGRlZCBhIHRlc3QgZm9yIGFkZHJlc3Mgc3BhY2Ugd3JhcC1hcm91bmQgaW4gdGhlIHZm aW8gRE1BIHVubWFwIHBhdGguCitVbmZvcnR1bmF0ZWx5LCBkdWUgdG8gYW4gaW50ZWdlciBvdmVy ZmxvdywgdGhlIGtlcm5lbCB3b3VsZAoraW5jb3JyZWN0bHkgZGV0ZWN0IGFuIHVubWFwIG9mIHRo ZSBsYXN0IHBhZ2UgaW4gdGhlIDY0LWJpdCBhZGRyZXNzCitzcGFjZSBhcyBhIHdyYXAtYXJvdW5k LCBjYXVzaW5nIHRoZSB1bm1hcCB0byBmYWlsIHdpdGggLUVJTlZBTC4KKworQSBRRU1VIHdvcmth cm91bmQgd2FzIGludHJvZHVjZWQgaW4gY29tbWl0IDU2N2Q3ZDNlNmJlNSAoInZmaW8vY29tbW9u OgorV29yayBhcm91bmQga2VybmVsIG92ZXJmbG93IGJ1ZyBpbiBETUEgdW5tYXAiKSB0byByZXRy eSB0aGUgdW5tYXAsCitleGNsdWRpbmcgdGhlIGZpbmFsIHBhZ2Ugb2YgdGhlIHJhbmdlLgorCitU aGUga2VybmVsIGJ1ZyB3YXMgdGhlbiBmaXhlZCBpbiBMaW51eCB2NS4wIHZpYSBjb21taXQgNThm ZWM4MzBmYzE5CisoInZmaW8vdHlwZTE6IEZpeCBkbWFfdW5tYXAgd3JhcC1hcm91bmQgY2hlY2si KS4gU2luY2UgdGhlIG9sZGVzdAorc3VwcG9ydGVkIExUUyBrZXJuZWwgaXMgbm93IHY1LjQsIGtl cm5lbHMgYWZmZWN0ZWQgYnkgdGhpcyBidWcgYXJlCitjb25zaWRlcmVkIGRlcHJlY2F0ZWQsIGFu ZCB0aGUgd29ya2Fyb3VuZCBpcyBubyBsb25nZXIgbmVjZXNzYXJ5LgorCitUaGlzIGNoYW5nZSBy ZXZlcnRzIDU2N2Q3ZDNlNmJlNSwgcmVtb3ZpbmcgdGhlIHdvcmthcm91bmQuCisKK0xpbms6IGh0 dHBzOi8vYnVnemlsbGEucmVkaGF0LmNvbS9zaG93X2J1Zy5jZ2k/aWQ9MTY2MjI5MQorUmV2aWV3 ZWQtYnk6IEFsZXggV2lsbGlhbXNvbiA8YWxleC53aWxsaWFtc29uQHJlZGhhdC5jb20+CitSZXZp ZXdlZC1ieTogWmhlbnpob25nIER1YW4gPHpoZW56aG9uZy5kdWFuQGludGVsLmNvbT4KK0xpbms6 IGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL3FlbXUtZGV2ZWwvMjAyNTA5MjYwODU0MjMuMzc1NTQ3 LTEtY2xnQHJlZGhhdC5jb20KK1NpZ25lZC1vZmYtYnk6IEPDqWRyaWMgTGUgR29hdGVyIDxjbGdA cmVkaGF0LmNvbT4KKyhjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDFkOWE4MzJiNThiZTYzZTUz ZWYwZDIzNDJjMjcxYTM0ZWNiMzQ5ZGIpCitTaWduZWQtb2ZmLWJ5OiBFcmljIEF1Z2VyIDxlcmlj LmF1Z2VyQHJlZGhhdC5jb20+CistLS0KKyBody92ZmlvL2NvbnRhaW5lci1sZWdhY3kuYyB8IDIw ICstLS0tLS0tLS0tLS0tLS0tLS0tCisgaHcvdmZpby90cmFjZS1ldmVudHMgICAgICAgfCAgMSAt CisgMiBmaWxlcyBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMjAgZGVsZXRpb25zKC0pCisKK2Rp ZmYgLS1naXQgYS9ody92ZmlvL2NvbnRhaW5lci1sZWdhY3kuYyBiL2h3L3ZmaW8vY29udGFpbmVy LWxlZ2FjeS5jCitpbmRleCAwMTAxYTcyZjUzLi4yZDE5ZDk3ZTJkIDEwMDY0NAorLS0tIGEvaHcv dmZpby9jb250YWluZXItbGVnYWN5LmMKKysrKyBiL2h3L3ZmaW8vY29udGFpbmVyLWxlZ2FjeS5j CitAQCAtMTYxLDI1ICsxNjEsNyBAQCBzdGF0aWMgaW50IHZmaW9fbGVnYWN5X2RtYV91bm1hcF9v bmUoY29uc3QgVkZJT0NvbnRhaW5lciAqYmNvbnRhaW5lciwKKyAgICAgICAgIG5lZWRfZGlydHlf c3luYyA9IHRydWU7CisgICAgIH0KKyAKKy0gICAgd2hpbGUgKGlvY3RsKGNvbnRhaW5lci0+ZmQs IFZGSU9fSU9NTVVfVU5NQVBfRE1BLCAmdW5tYXApKSB7CistICAgICAgICAvKgorLSAgICAgICAg ICogVGhlIHR5cGUxIGJhY2tlbmQgaGFzIGFuIG9mZi1ieS1vbmUgYnVnIGluIHRoZSBrZXJuZWwg KDcxYTdkM2Q3OGUzYworLSAgICAgICAgICogdjQuMTUpIHdoZXJlIGFuIG92ZXJmbG93IGluIGl0 cyB3cmFwLWFyb3VuZCBjaGVjayBwcmV2ZW50cyB1cyBmcm9tCistICAgICAgICAgKiB1bm1hcHBp bmcgdGhlIGxhc3QgcGFnZSBvZiB0aGUgYWRkcmVzcyBzcGFjZS4gIFRlc3QgZm9yIHRoZSBlcnJv cgorLSAgICAgICAgICogY29uZGl0aW9uIGFuZCByZS10cnkgdGhlIHVubWFwIGV4Y2x1ZGluZyB0 aGUgbGFzdCBwYWdlLiAgVGhlCistICAgICAgICAgKiBleHBlY3RhdGlvbiBpcyB0aGF0IHdlJ3Zl IG5ldmVyIG1hcHBlZCB0aGUgbGFzdCBwYWdlIGFueXdheSBhbmQgdGhpcworLSAgICAgICAgICog dW5tYXAgcmVxdWVzdCBjb21lcyB2aWEgdklPTU1VIHN1cHBvcnQgd2hpY2ggYWxzbyBtYWtlcyBp dCB1bmxpa2VseQorLSAgICAgICAgICogdGhhdCB0aGlzIHBhZ2UgaXMgdXNlZC4gIFRoaXMgYnVn IHdhcyBpbnRyb2R1Y2VkIHdlbGwgYWZ0ZXIgdHlwZTEgdjIKKy0gICAgICAgICAqIHN1cHBvcnQg d2FzIGludHJvZHVjZWQsIHNvIHdlIHNob3VsZG4ndCBuZWVkIHRvIHRlc3QgZm9yIHYxLiAgQSBm aXgKKy0gICAgICAgICAqIGlzIHF1ZXVlZCBmb3Iga2VybmVsIHY1LjAgc28gdGhpcyB3b3JrYXJv dW5kIGNhbiBiZSByZW1vdmVkIG9uY2UKKy0gICAgICAgICAqIGFmZmVjdGVkIGtlcm5lbHMgYXJl IHN1ZmZpY2llbnRseSBkZXByZWNhdGVkLgorLSAgICAgICAgICovCistICAgICAgICBpZiAoZXJy bm8gPT0gRUlOVkFMICYmIHVubWFwLnNpemUgJiYgISh1bm1hcC5pb3ZhICsgdW5tYXAuc2l6ZSkg JiYKKy0gICAgICAgICAgICBjb250YWluZXItPmlvbW11X3R5cGUgPT0gVkZJT19UWVBFMXYyX0lP TU1VKSB7CistICAgICAgICAgICAgdHJhY2VfdmZpb19sZWdhY3lfZG1hX3VubWFwX292ZXJmbG93 X3dvcmthcm91bmQoKTsKKy0gICAgICAgICAgICB1bm1hcC5zaXplIC09IDFVTEwgPDwgY3R6NjQo YmNvbnRhaW5lci0+cGdzaXplcyk7CistICAgICAgICAgICAgY29udGludWU7CistICAgICAgICB9 CisrICAgIGlmIChpb2N0bChjb250YWluZXItPmZkLCBWRklPX0lPTU1VX1VOTUFQX0RNQSwgJnVu bWFwKSkgeworICAgICAgICAgcmV0dXJuIC1lcnJubzsKKyAgICAgfQorIAorZGlmZiAtLWdpdCBh L2h3L3ZmaW8vdHJhY2UtZXZlbnRzIGIvaHcvdmZpby90cmFjZS1ldmVudHMKK2luZGV4IGUzZDU3 MWY4YzguLjc0OTZlMWI2NGIgMTAwNjQ0CistLS0gYS9ody92ZmlvL3RyYWNlLWV2ZW50cworKysr IGIvaHcvdmZpby90cmFjZS1ldmVudHMKK0BAIC0xMTIsNyArMTEyLDYgQEAgdmZpb19jb250YWlu ZXJfZGlzY29ubmVjdChpbnQgZmQpICJjbG9zZSBjb250YWluZXItPmZkPSVkIgorIHZmaW9fZ3Jv dXBfcHV0KGludCBmZCkgImNsb3NlIGdyb3VwLT5mZD0lZCIKKyB2ZmlvX2RldmljZV9nZXQoY29u c3QgY2hhciAqIG5hbWUsIHVuc2lnbmVkIGludCBmbGFncywgdW5zaWduZWQgaW50IG51bV9yZWdp b25zLCB1bnNpZ25lZCBpbnQgbnVtX2lycXMpICJEZXZpY2UgJXMgZmxhZ3M6ICV1LCByZWdpb25z OiAldSwgaXJxczogJXUiCisgdmZpb19kZXZpY2VfcHV0KGludCBmZCkgImNsb3NlIHZkZXYtPmZk PSVkIgorLXZmaW9fbGVnYWN5X2RtYV91bm1hcF9vdmVyZmxvd193b3JrYXJvdW5kKHZvaWQpICIi CisgCisgIyByZWdpb24uYworIHZmaW9fcmVnaW9uX3dyaXRlKGNvbnN0IGNoYXIgKm5hbWUsIGlu dCBpbmRleCwgdWludDY0X3QgYWRkciwgdWludDY0X3QgZGF0YSwgdW5zaWduZWQgc2l6ZSkgIiAo JXM6cmVnaW9uJWQrMHglIlBSSXg2NCIsIDB4JSJQUkl4NjQgIiwgJWQpIgorLS0gCisyLjUyLjAK KwoKZGlmZiAtLWdpdCBhL2t2bS12ZmlvLVJlcG9ydC1hbi1lcnJvci13aGVuLXRoZS1kbWFfbWF4 X21hcHBpbmdzLWxpbWl0LnBhdGNoIGIva3ZtLXZmaW8tUmVwb3J0LWFuLWVycm9yLXdoZW4tdGhl LWRtYV9tYXhfbWFwcGluZ3MtbGltaXQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMC4uNzM3ODMwZAotLS0gL2Rldi9udWxsCisrKyBiL2t2bS12ZmlvLVJlcG9ydC1hbi1l cnJvci13aGVuLXRoZS1kbWFfbWF4X21hcHBpbmdzLWxpbWl0LnBhdGNoCkBAIC0wLDAgKzEsOTIg QEAKK0Zyb20gNWFhOTNlODNiZGU2NzNhZDExNDA4NzAzMDBhMzY1YTlmMjNhMjAwNiBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ID0/VVRGLTg/cT9DPUMzPUE5ZHJpYz0yMExlPTIwR29h dGVyPz0gPGNsZ0ByZWRoYXQuY29tPgorRGF0ZTogVGh1LCAxNCBBdWcgMjAyNSAxNzozNDoxOSAr MDIwMAorU3ViamVjdDogW1BBVENIIDAyNi8xMTZdIHZmaW86IFJlcG9ydCBhbiBlcnJvciB3aGVu IHRoZSAnZG1hX21heF9tYXBwaW5ncycKKyBsaW1pdCBpcyByZWFjaGVkCitNSU1FLVZlcnNpb246 IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRy YW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK1JILUF1dGhvcjogUm9kb2xmbyBWaWNrIDxOb25lPgor UkgtTWVyZ2VSZXF1ZXN0OiA0ODY6IEFkZCBETUFCVUYgc3VwcG9ydAorUkgtSmlyYTogUkhFTC0x Mzg0OTQKK1JILUFja2VkLWJ5OiBDw6lkcmljIExlIEdvYXRlciA8Y2xnQHJlZGhhdC5jb20+CitS SC1BY2tlZC1ieTogRXJpYyBBdWdlciA8ZXJpYy5hdWdlckByZWRoYXQuY29tPgorUkgtQ29tbWl0 OiBbMTAvMTAwXSA5ODBlY2JlOWQxMTllM2RlMjkxNGZiN2MxOTI3NGJjNTI3ZmExMWQ1IChyb3Zp Y2sxL3FlbXUta3ZtKQorCitUaGUgVkZJTyBJT01NVSBUeXBlMSBrZXJuZWwgZHJpdmVyIGVuZm9y Y2VzIGEgZGVmYXVsdCBJT01NVSBtYXBwaW5nCitsaW1pdCBvZiA2NTUzNSwgd2hpY2ggaXMgY29u ZmlndXJhYmxlIHZpYSB0aGUgJ2RtYV9tYXhfbWFwcGluZ3MnCittb2R1bGUgcGFyYW1ldGVyLiBX aGVuIHRoaXMgbGltaXQgaXMgcmVhY2hlZCwgUUVNVSBpc3N1ZXMgYSB3YXJuaW5nCithbmQgZmFp bHMgdGhlIG1hcHBpbmcgb3BlcmF0aW9uLCBidXQgYWxsb3dzIHRoZSBWTSB0byBjb250aW51ZQor cnVubmluZywgcG90ZW50aWFsbHkgY2F1c2luZyBpc3N1ZXMgbGF0ZXIuIFRoaXMgc2NlbmFyaW8g b2NjdXJzIHdpdGgKK1NFVi1TTlAgZ3Vlc3RzLCB3aGljaCBtdXN0IHVwZGF0ZSBhbGwgSU9NTVUg bWFwcGluZ3MgZHVyaW5nCitpbml0aWFsaXphdGlvbi4KKworVG8gYWRkcmVzcyB0aGlzLCB1cGRh dGUgdmZpb19yYW1fZGlzY2FyZF9yZWdpc3Rlcl9saXN0ZW5lcigpIHRvIGFjY2VwdAorYW4gJ0Vy cm9yICoqJyBwYXJhbWV0ZXIgYW5kIHByb3BhZ2F0ZSB0aGUgZXJyb3IgdG8gdGhlIGNhbGxlci4g VGhpcworY2hhbmdlIHdpbGwgaGFsdCB0aGUgVk0gaW1tZWRpYXRlbHksIGF0IGluaXQgdGltZSwg d2l0aCB0aGUgc2FtZSBlcnJvcgorbWVzc2FnZS4KKworQWRkaXRpb25hbGx5LCB0aGUgc2FtZSBi ZWhhdmlvciB3aWxsIGJlIGVuZm9yY2VkIGF0IHJ1bnRpbWUuIFdoaWxlCit0aGlzIG1pZ2h0IGJl IGNvbnNpZGVyZWQgdG9vIGJydXRhbCwgdGhlIHJhcml0eSBvZiB0aGlzIGNhc2UgYW5kIHRoZQor cGxhbm5lZCByZW1vdmFsIG9mIHRoZSBkbWFfbWF4X21hcHBpbmdzIG1vZHVsZSBwYXJhbWV0ZXIg bWFrZSBpdCBhCityZWFzb25hYmxlIGFwcHJvYWNoLgorCitDYzogQWxleCBXaWxsaWFtc29uIDxh bGV4LndpbGxpYW1zb25AcmVkaGF0LmNvbT4KK1Jldmlld2VkLWJ5OiBZaSBMaXUgPHlpLmwubGl1 QGludGVsLmNvbT4KK1Jldmlld2VkLWJ5OiBBbGV4IFdpbGxpYW1zb24gPGFsZXgud2lsbGlhbXNv bkByZWRoYXQuY29tPgorTGluazogaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvcWVtdS1kZXZlbC8y MDI1MDgxNDE1MzQxOS4xNjQzODk3LTEtY2xnQHJlZGhhdC5jb20KK1NpZ25lZC1vZmYtYnk6IEPD qWRyaWMgTGUgR29hdGVyIDxjbGdAcmVkaGF0LmNvbT4KKyhjaGVycnkgcGlja2VkIGZyb20gY29t bWl0IGNlYjU5YzFjYzYxZGVlNTdjODgwNjU3MWU3YzcyM2U1NTU5MTQ1NDcpCitTaWduZWQtb2Zm LWJ5OiBFcmljIEF1Z2VyIDxlcmljLmF1Z2VyQHJlZGhhdC5jb20+CistLS0KKyBody92ZmlvL2xp c3RlbmVyLmMgfCAxMyArKysrKysrKystLS0tCisgMSBmaWxlIGNoYW5nZWQsIDkgaW5zZXJ0aW9u cygrKSwgNCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2h3L3ZmaW8vbGlzdGVuZXIuYyBi L2h3L3ZmaW8vbGlzdGVuZXIuYworaW5kZXggNWViYWZhYTA3ZS4uYzI0NGJlNWUyMSAxMDA2NDQK Ky0tLSBhL2h3L3ZmaW8vbGlzdGVuZXIuYworKysrIGIvaHcvdmZpby9saXN0ZW5lci5jCitAQCAt MjUwLDggKzI1MCw5IEBAIHN0YXRpYyBpbnQgdmZpb19yYW1fZGlzY2FyZF9ub3RpZnlfcG9wdWxh dGUoUmFtRGlzY2FyZExpc3RlbmVyICpyZGwsCisgICAgIHJldHVybiAwOworIH0KKyAKKy1zdGF0 aWMgdm9pZCB2ZmlvX3JhbV9kaXNjYXJkX3JlZ2lzdGVyX2xpc3RlbmVyKFZGSU9Db250YWluZXJC YXNlICpiY29udGFpbmVyLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgTWVtb3J5UmVnaW9uU2VjdGlvbiAqc2VjdGlvbikKKytzdGF0aWMgYm9vbCB2Zmlv X3JhbV9kaXNjYXJkX3JlZ2lzdGVyX2xpc3RlbmVyKFZGSU9Db250YWluZXJCYXNlICpiY29udGFp bmVyLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWVt b3J5UmVnaW9uU2VjdGlvbiAqc2VjdGlvbiwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIEVycm9yICoqZXJycCkKKyB7CisgICAgIFJhbURpc2NhcmRNYW5h Z2VyICpyZG0gPSBtZW1vcnlfcmVnaW9uX2dldF9yYW1fZGlzY2FyZF9tYW5hZ2VyKHNlY3Rpb24t Pm1yKTsKKyAgICAgaW50IHRhcmdldF9wYWdlX3NpemUgPSBxZW11X3RhcmdldF9wYWdlX3NpemUo KTsKK0BAIC0zMTYsMTMgKzMxNywxNSBAQCBzdGF0aWMgdm9pZCB2ZmlvX3JhbV9kaXNjYXJkX3Jl Z2lzdGVyX2xpc3RlbmVyKFZGSU9Db250YWluZXJCYXNlICpiY29udGFpbmVyLAorIAorICAgICAg ICAgaWYgKHZyZGxfbWFwcGluZ3MgKyBtYXhfbWVtc2xvdHMgLSB2cmRsX2NvdW50ID4KKyAgICAg ICAgICAgICBiY29udGFpbmVyLT5kbWFfbWF4X21hcHBpbmdzKSB7CistICAgICAgICAgICAgd2Fy bl9yZXBvcnQoIiVzOiBwb3NzaWJseSBydW5uaW5nIG91dCBvZiBETUEgbWFwcGluZ3MuIEUuZy4s IHRyeSIKKysgICAgICAgICAgICBlcnJvcl9zZXRnKGVycnAsICIlczogcG9zc2libHkgcnVubmlu ZyBvdXQgb2YgRE1BIG1hcHBpbmdzLiBFLmcuLCB0cnkiCisgICAgICAgICAgICAgICAgICAgICAg ICAgIiBpbmNyZWFzaW5nIHRoZSAnYmxvY2stc2l6ZScgb2YgdmlydGlvLW1lbSBkZXZpZXMuIgor ICAgICAgICAgICAgICAgICAgICAgICAgICIgTWF4aW11bSBwb3NzaWJsZSBETUEgbWFwcGluZ3M6 ICVkLCBNYXhpbXVtIHBvc3NpYmxlIgorICAgICAgICAgICAgICAgICAgICAgICAgICIgbWVtc2xv dHM6ICVkIiwgX19mdW5jX18sIGJjb250YWluZXItPmRtYV9tYXhfbWFwcGluZ3MsCisgICAgICAg ICAgICAgICAgICAgICAgICAgbWF4X21lbXNsb3RzKTsKKysgICAgICAgICAgICByZXR1cm4gZmFs c2U7CisgICAgICAgICB9CisgICAgIH0KKysgICAgcmV0dXJuIHRydWU7CisgfQorIAorIHN0YXRp YyB2b2lkIHZmaW9fcmFtX2Rpc2NhcmRfdW5yZWdpc3Rlcl9saXN0ZW5lcihWRklPQ29udGFpbmVy QmFzZSAqYmNvbnRhaW5lciwKK0BAIC01NzEsNyArNTc0LDkgQEAgdm9pZCB2ZmlvX2NvbnRhaW5l cl9yZWdpb25fYWRkKFZGSU9Db250YWluZXJCYXNlICpiY29udGFpbmVyLAorICAgICAgKi8KKyAg ICAgaWYgKG1lbW9yeV9yZWdpb25faGFzX3JhbV9kaXNjYXJkX21hbmFnZXIoc2VjdGlvbi0+bXIp KSB7CisgICAgICAgICBpZiAoIWNwcl9yZW1hcCkgeworLSAgICAgICAgICAgIHZmaW9fcmFtX2Rp c2NhcmRfcmVnaXN0ZXJfbGlzdGVuZXIoYmNvbnRhaW5lciwgc2VjdGlvbik7CisrICAgICAgICAg ICAgaWYgKCF2ZmlvX3JhbV9kaXNjYXJkX3JlZ2lzdGVyX2xpc3RlbmVyKGJjb250YWluZXIsIHNl Y3Rpb24sICZlcnIpKSB7CisrICAgICAgICAgICAgICAgIGdvdG8gZmFpbDsKKysgICAgICAgICAg ICB9CisgICAgICAgICB9IGVsc2UgaWYgKCF2ZmlvX2Nwcl9yYW1fZGlzY2FyZF9yZWdpc3Rlcl9s aXN0ZW5lcihiY29udGFpbmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgc2VjdGlvbikpIHsKKyAgICAgICAgICAgICBlcnJvcl9z ZXRnKCZlcnIsCistLSAKKzIuNTIuMAorCgpkaWZmIC0tZ2l0IGEva3ZtLXZmaW8tY29udGFpbmVy LVJlbWFwLW9ubHktcG9wdWxhdGVkLXBhcnRzLWluLWEtc2VjdGkucGF0Y2ggYi9rdm0tdmZpby1j b250YWluZXItUmVtYXAtb25seS1wb3B1bGF0ZWQtcGFydHMtaW4tYS1zZWN0aS5wYXRjaApuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYTNmNjZiCi0tLSAvZGV2L251bGwKKysr IGIva3ZtLXZmaW8tY29udGFpbmVyLVJlbWFwLW9ubHktcG9wdWxhdGVkLXBhcnRzLWluLWEtc2Vj dGkucGF0Y2gKQEAgLTAsMCArMSwxMDggQEAKK0Zyb20gNzFhZmU5Mjc5OTcxYmYyNzM4Y2E2MDMx NmQ2NmE2ZWFjMjcxYjE5MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFpoZW56aG9u ZyBEdWFuIDx6aGVuemhvbmcuZHVhbkBpbnRlbC5jb20+CitEYXRlOiBTdW4sIDI4IFNlcCAyMDI1 IDA0OjU0OjI3IC0wNDAwCitTdWJqZWN0OiBbUEFUQ0ggMDk4LzExNl0gdmZpby9jb250YWluZXI6 IFJlbWFwIG9ubHkgcG9wdWxhdGVkIHBhcnRzIGluIGEKKyBzZWN0aW9uCitNSU1FLVZlcnNpb246 IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRy YW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK1JILUF1dGhvcjogUm9kb2xmbyBWaWNrIDxOb25lPgor UkgtTWVyZ2VSZXF1ZXN0OiA0ODY6IEFkZCBETUFCVUYgc3VwcG9ydAorUkgtSmlyYTogUkhFTC0x Mzg0OTQKK1JILUFja2VkLWJ5OiBDw6lkcmljIExlIEdvYXRlciA8Y2xnQHJlZGhhdC5jb20+CitS SC1BY2tlZC1ieTogRXJpYyBBdWdlciA8ZXJpYy5hdWdlckByZWRoYXQuY29tPgorUkgtQ29tbWl0 OiBbODIvMTAwXSBhNmE0ODNkMzM1ZDY2YzVkNTUwYTVlNGViMTI1Njk5MTVkZWY2YTExIChyb3Zp Y2sxL3FlbXUta3ZtKQorCitJZiB0aGVyZSBhcmUgbXVsdGlwbGUgY29udGFpbmVycyBhbmQgdW5t YXAtYWxsIGZhaWxzIGZvciBzb21lIG9mIHRoZW0sIHdlCituZWVkIHRvIHJlbWFwIHZhZGRyIGZv ciB0aGUgb3RoZXIgY29udGFpbmVycyBmb3Igd2hpY2ggdW5tYXAtYWxsIHN1Y2NlZWRlZC4KK1do ZW4gcmFtIGRpc2NhcmQgaXMgZW5hYmxlZCwgd2Ugc2hvdWxkIG9ubHkgcmVtYXAgcG9wdWxhdGVk IHBhcnRzIGluIGEKK3NlY3Rpb24gaW5zdGVhZCBvZiB0aGUgd2hvbGUgc2VjdGlvbi4KKworRml4 ZXM6IGViYTFmNjU3Y2JiMSAoInZmaW8vY29udGFpbmVyOiByZWNvdmVyIGZyb20gdW5tYXAtYWxs LXZhZGRyIGZhaWx1cmUiKQorU2lnbmVkLW9mZi1ieTogWmhlbnpob25nIER1YW4gPHpoZW56aG9u Zy5kdWFuQGludGVsLmNvbT4KK1Jldmlld2VkLWJ5OiBTdGV2ZW4gU2lzdGFyZSA8c3RldmVuLnNp c3RhcmVAb3JhY2xlLmNvbT4KK1Jldmlld2VkLWJ5OiBEYXZpZCBIaWxkZW5icmFuZCA8ZGF2aWRA cmVkaGF0LmNvbT4KK0xpbms6IGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL3FlbXUtZGV2ZWwvMjAy NTA5MjgwODU0MzIuNDAxMDctMi16aGVuemhvbmcuZHVhbkBpbnRlbC5jb20KK1NpZ25lZC1vZmYt Ynk6IEPDqWRyaWMgTGUgR29hdGVyIDxjbGdAcmVkaGF0LmNvbT4KKyhjaGVycnkgcGlja2VkIGZy b20gY29tbWl0IDVhNzhkYjdmODA5OTI3NDU1MGJkYWNkYzFmYzI0OTQzNTY3YWM2MTUpCitTaWdu ZWQtb2ZmLWJ5OiBFcmljIEF1Z2VyIDxlcmljLmF1Z2VyQHJlZGhhdC5jb20+CistLS0KKyBody92 ZmlvL2Nwci1sZWdhY3kuYyAgICAgICB8IDIwICsrKysrKysrKysrKysrKy0tLS0tCisgaHcvdmZp by9saXN0ZW5lci5jICAgICAgICAgfCAgNCArKy0tCisgaW5jbHVkZS9ody92ZmlvL3ZmaW8tY3By LmggfCAgMiArLQorIDMgZmlsZXMgY2hhbmdlZCwgMTggaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlv bnMoLSkKKworZGlmZiAtLWdpdCBhL2h3L3ZmaW8vY3ByLWxlZ2FjeS5jIGIvaHcvdmZpby9jcHIt bGVnYWN5LmMKK2luZGV4IDgwYWY3NDY5ZDAuLmI0NTgxZThmODUgMTAwNjQ0CistLS0gYS9ody92 ZmlvL2Nwci1sZWdhY3kuYworKysrIGIvaHcvdmZpby9jcHItbGVnYWN5LmMKK0BAIC0yMjgsMjIg KzIyOCwzMiBAQCB2b2lkIHZmaW9fY3ByX2dpb21tdV9yZW1hcChWRklPQ29udGFpbmVyICpiY29u dGFpbmVyLAorICAgICBtZW1vcnlfcmVnaW9uX2lvbW11X3JlcGxheShnaW9tbXUtPmlvbW11X21y LCAmZ2lvbW11LT5uKTsKKyB9CisgCisrc3RhdGljIGludCB2ZmlvX2Nwcl9yZG1fcmVtYXAoTWVt b3J5UmVnaW9uU2VjdGlvbiAqc2VjdGlvbiwgdm9pZCAqb3BhcXVlKQorK3sKKysgICAgUmFtRGlz Y2FyZExpc3RlbmVyICpyZGwgPSBvcGFxdWU7CisrCisrICAgIHJldHVybiByZGwtPm5vdGlmeV9w b3B1bGF0ZShyZGwsIHNlY3Rpb24pOworK30KKysKKyAvKgorICAqIEluIG9sZCBRRU1VLCBWRklP X0RNQV9VTk1BUF9GTEFHX1ZBRERSIG1heSBmYWlsIG9uIHNvbWUgbWFwcGluZyBhZnRlcgorICAq IHN1Y2NlZWRpbmcgZm9yIG90aGVycywgc28gdGhlIGxhdHRlciBoYXZlIGxvc3QgdGhlaXIgdmFk ZHIuICBDYWxsIHRoaXMKKy0gKiB0byByZXN0b3JlIHZhZGRyIGZvciBhIHNlY3Rpb24gd2l0aCBh IFJhbURpc2NhcmRNYW5hZ2VyLgorKyAqIHRvIHJlc3RvcmUgdmFkZHIgZm9yIHBvcHVsYXRlZCBw YXJ0cyBpbiBhIHNlY3Rpb24gd2l0aCBhIFJhbURpc2NhcmRNYW5hZ2VyLgorICAqCistICogVGhl IHJhbSBkaXNjYXJkIGxpc3RlbmVyIGFscmVhZHkgZXhpc3RzLiAgQ2FsbCBpdHMgcG9wdWxhdGUg ZnVuY3Rpb24KKysgKiBUaGUgcmFtIGRpc2NhcmQgbGlzdGVuZXIgYWxyZWFkeSBleGlzdHMuICBD YWxsIGl0cyByZXBsYXlfcG9wdWxhdGVkIGZ1bmN0aW9uCisgICogZGlyZWN0bHksIHdoaWNoIGNh bGxzIHZmaW9fbGVnYWN5X2Nwcl9kbWFfbWFwLgorICAqLworLWJvb2wgdmZpb19jcHJfcmFtX2Rp c2NhcmRfcmVnaXN0ZXJfbGlzdGVuZXIoVkZJT0NvbnRhaW5lciAqYmNvbnRhaW5lciwKKy0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1lbW9yeVJlZ2lvblNlY3Rp b24gKnNlY3Rpb24pCisrYm9vbCB2ZmlvX2Nwcl9yYW1fZGlzY2FyZF9yZXBsYXlfcG9wdWxhdGVk KFZGSU9Db250YWluZXIgKmJjb250YWluZXIsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIE1lbW9yeVJlZ2lvblNlY3Rpb24gKnNlY3Rpb24pCisgeworKyAgICBS YW1EaXNjYXJkTWFuYWdlciAqcmRtID0gbWVtb3J5X3JlZ2lvbl9nZXRfcmFtX2Rpc2NhcmRfbWFu YWdlcihzZWN0aW9uLT5tcik7CisgICAgIFZGSU9SYW1EaXNjYXJkTGlzdGVuZXIgKnZyZGwgPQor ICAgICAgICAgdmZpb19maW5kX3JhbV9kaXNjYXJkX2xpc3RlbmVyKGJjb250YWluZXIsIHNlY3Rp b24pOworIAorICAgICBnX2Fzc2VydCh2cmRsKTsKKy0gICAgcmV0dXJuIHZyZGwtPmxpc3RlbmVy Lm5vdGlmeV9wb3B1bGF0ZSgmdnJkbC0+bGlzdGVuZXIsIHNlY3Rpb24pID09IDA7CisrICAgIHJl dHVybiByYW1fZGlzY2FyZF9tYW5hZ2VyX3JlcGxheV9wb3B1bGF0ZWQocmRtLCBzZWN0aW9uLAor KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZmaW9fY3By X3JkbV9yZW1hcCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAmdnJkbC0+bGlzdGVuZXIpID09IDA7CisgfQorIAorIGludCB2ZmlvX2Nwcl9ncm91cF9n ZXRfZGV2aWNlX2ZkKGludCBkLCBjb25zdCBjaGFyICpuYW1lKQorZGlmZiAtLWdpdCBhL2h3L3Zm aW8vbGlzdGVuZXIuYyBiL2h3L3ZmaW8vbGlzdGVuZXIuYworaW5kZXggYjVjZWZjOTM5NS4uZGY0 MmJjNThlNyAxMDA2NDQKKy0tLSBhL2h3L3ZmaW8vbGlzdGVuZXIuYworKysrIGIvaHcvdmZpby9s aXN0ZW5lci5jCitAQCAtNTc4LDggKzU3OCw4IEBAIHZvaWQgdmZpb19jb250YWluZXJfcmVnaW9u X2FkZChWRklPQ29udGFpbmVyICpiY29udGFpbmVyLAorICAgICAgICAgICAgIGlmICghdmZpb19y YW1fZGlzY2FyZF9yZWdpc3Rlcl9saXN0ZW5lcihiY29udGFpbmVyLCBzZWN0aW9uLCAmZXJyKSkg eworICAgICAgICAgICAgICAgICBnb3RvIGZhaWw7CisgICAgICAgICAgICAgfQorLSAgICAgICAg fSBlbHNlIGlmICghdmZpb19jcHJfcmFtX2Rpc2NhcmRfcmVnaXN0ZXJfbGlzdGVuZXIoYmNvbnRh aW5lciwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHNlY3Rpb24pKSB7CisrICAgICAgICB9IGVsc2UgaWYgKCF2ZmlvX2Nwcl9yYW1f ZGlzY2FyZF9yZXBsYXlfcG9wdWxhdGVkKGJjb250YWluZXIsCisrICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlY3Rpb24pKSB7CisgICAg ICAgICAgICAgZXJyb3Jfc2V0ZygmZXJyLAorICAgICAgICAgICAgICAgICAgICAgICAgInZmaW9f Y3ByX3JhbV9kaXNjYXJkX3JlZ2lzdGVyX2xpc3RlbmVyIGZvciAlcyBmYWlsZWQiLAorICAgICAg ICAgICAgICAgICAgICAgICAgbWVtb3J5X3JlZ2lvbl9uYW1lKHNlY3Rpb24tPm1yKSk7CitkaWZm IC0tZ2l0IGEvaW5jbHVkZS9ody92ZmlvL3ZmaW8tY3ByLmggYi9pbmNsdWRlL2h3L3ZmaW8vdmZp by1jcHIuaAoraW5kZXggODFmNGUyNGUyMi4uNDYwNmRhNTAwYSAxMDA2NDQKKy0tLSBhL2luY2x1 ZGUvaHcvdmZpby92ZmlvLWNwci5oCisrKysgYi9pbmNsdWRlL2h3L3ZmaW8vdmZpby1jcHIuaAor QEAgLTY4LDcgKzY4LDcgQEAgYm9vbCB2ZmlvX2Nwcl9jb250YWluZXJfbWF0Y2goc3RydWN0IFZG SU9MZWdhY3lDb250YWluZXIgKmNvbnRhaW5lciwKKyB2b2lkIHZmaW9fY3ByX2dpb21tdV9yZW1h cChzdHJ1Y3QgVkZJT0NvbnRhaW5lciAqYmNvbnRhaW5lciwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICBNZW1vcnlSZWdpb25TZWN0aW9uICpzZWN0aW9uKTsKKyAKKy1ib29sIHZmaW9fY3By X3JhbV9kaXNjYXJkX3JlZ2lzdGVyX2xpc3RlbmVyKAorK2Jvb2wgdmZpb19jcHJfcmFtX2Rpc2Nh cmRfcmVwbGF5X3BvcHVsYXRlZCgKKyAgICAgc3RydWN0IFZGSU9Db250YWluZXIgKmJjb250YWlu ZXIsIE1lbW9yeVJlZ2lvblNlY3Rpb24gKnNlY3Rpb24pOworIAorIHZvaWQgdmZpb19jcHJfc2F2 ZV92ZWN0b3JfZmQoc3RydWN0IFZGSU9QQ0lEZXZpY2UgKnZkZXYsIGNvbnN0IGNoYXIgKm5hbWUs CistLSAKKzIuNTIuMAorCgpkaWZmIC0tZ2l0IGEva3ZtLXZmaW8tY29udGFpbmVyLVN1cHBvcnQt dW5tYXAtYWxsLWluLW9uZS1pb2N0bC5wYXRjaCBiL2t2bS12ZmlvLWNvbnRhaW5lci1TdXBwb3J0 LXVubWFwLWFsbC1pbi1vbmUtaW9jdGwucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMC4uZjM3ZGMwNwotLS0gL2Rldi9udWxsCisrKyBiL2t2bS12ZmlvLWNvbnRhaW5lci1T dXBwb3J0LXVubWFwLWFsbC1pbi1vbmUtaW9jdGwucGF0Y2gKQEAgLTAsMCArMSwxMjQgQEAKK0Zy b20gODA5OWQ2NTAxZjM5OWIxYzU1ZjIzZGQ0ODIzODkzMDQzNDljOTY2NCBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKK0Zyb206IFpoZW56aG9uZyBEdWFuIDx6aGVuemhvbmcuZHVhbkBpbnRlbC5j b20+CitEYXRlOiBUaHUsIDkgT2N0IDIwMjUgMDA6MDE6MzIgLTA0MDAKK1N1YmplY3Q6IFtQQVRD SCAxMDIvMTE2XSB2ZmlvL2NvbnRhaW5lcjogU3VwcG9ydCB1bm1hcCBhbGwgaW4gb25lIGlvY3Rs KCkKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9 VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworUkgtQXV0aG9yOiBSb2Rv bGZvIFZpY2sgPE5vbmU+CitSSC1NZXJnZVJlcXVlc3Q6IDQ4NjogQWRkIERNQUJVRiBzdXBwb3J0 CitSSC1KaXJhOiBSSEVMLTEzODQ5NAorUkgtQWNrZWQtYnk6IEPDqWRyaWMgTGUgR29hdGVyIDxj bGdAcmVkaGF0LmNvbT4KK1JILUFja2VkLWJ5OiBFcmljIEF1Z2VyIDxlcmljLmF1Z2VyQHJlZGhh dC5jb20+CitSSC1Db21taXQ6IFs4Ni8xMDBdIDBjNWYyMDJjYjA3MDAxZWEwMjM4MTZjMWM0YmJm MDllNDYwYjgzYjAgKHJvdmljazEvcWVtdS1rdm0pCisKK1ZGSU8gdHlwZTEga2VybmVsIHVBUEkg c3VwcG9ydHMgdW5tYXBwaW5nIHdob2xlIGFkZHJlc3Mgc3BhY2UgaW4gb25lIGNhbGwKK3NpbmNl IGNvbW1pdCBjMTk2NTA5OTUzNzQgKCJ2ZmlvL3R5cGUxOiBpbXBsZW1lbnQgdW5tYXAgYWxsIiku IFVzZSB0aGUKK3VubWFwX2FsbCB2YXJpYW50IHdoZW5ldmVyIGl0J3Mgc3VwcG9ydGVkIGluIGtl cm5lbC4KKworT3Bwb3J0dW5pc3RpY2FsbHkgcGFzcyBWRklPTGVnYWN5Q29udGFpbmVyIHBvaW50 ZXIgaW4gbG93IGxldmVsIGZ1bmN0aW9uCit2ZmlvX2xlZ2FjeV9kbWFfdW5tYXBfb25lKCkuCisK K0NvLWRldmVsb3BlZC1ieTogSm9obiBMZXZvbiA8bGV2b25AbW92ZW1lbnRhcmlhbi5vcmc+CitT aWduZWQtb2ZmLWJ5OiBKb2huIExldm9uIDxsZXZvbkBtb3ZlbWVudGFyaWFuLm9yZz4KK1NpZ25l ZC1vZmYtYnk6IFpoZW56aG9uZyBEdWFuIDx6aGVuemhvbmcuZHVhbkBpbnRlbC5jb20+CitSZXZp ZXdlZC1ieTogQ8OpZHJpYyBMZSBHb2F0ZXIgPGNsZ0ByZWRoYXQuY29tPgorTGluazogaHR0cHM6 Ly9sb3JlLmtlcm5lbC5vcmcvcWVtdS1kZXZlbC8yMDI1MTAwOTA0MDEzNC4zMzQyNTEtMi16aGVu emhvbmcuZHVhbkBpbnRlbC5jb20KK1NpZ25lZC1vZmYtYnk6IEPDqWRyaWMgTGUgR29hdGVyIDxj bGdAcmVkaGF0LmNvbT4KKyhjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDk2MmJjZjA5MTFlN2Yz NjAxZGEwZjA3YmE3ZGE5ODI0Y2I2YTViYTUpCitTaWduZWQtb2ZmLWJ5OiBFcmljIEF1Z2VyIDxl cmljLmF1Z2VyQHJlZGhhdC5jb20+CistLS0KKyBody92ZmlvL2NvbnRhaW5lci1sZWdhY3kuYyAg ICAgICAgICAgICAgfCAzOCArKysrKysrKysrKysrKy0tLS0tLS0tLS0tCisgaW5jbHVkZS9ody92 ZmlvL3ZmaW8tY29udGFpbmVyLWxlZ2FjeS5oIHwgIDEgKworIDIgZmlsZXMgY2hhbmdlZCwgMjMg aW5zZXJ0aW9ucygrKSwgMTYgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9ody92ZmlvL2Nv bnRhaW5lci1sZWdhY3kuYyBiL2h3L3ZmaW8vY29udGFpbmVyLWxlZ2FjeS5jCitpbmRleCBmYWQw MjI2ZjdkLi5lNjM5NzYwMzgxIDEwMDY0NAorLS0tIGEvaHcvdmZpby9jb250YWluZXItbGVnYWN5 LmMKKysrKyBiL2h3L3ZmaW8vY29udGFpbmVyLWxlZ2FjeS5jCitAQCAtMTM1LDE0ICsxMzUsMTQg QEAgdW5tYXBfZXhpdDoKKyAgICAgcmV0dXJuIHJldDsKKyB9CisgCistc3RhdGljIGludCB2Zmlv X2xlZ2FjeV9kbWFfdW5tYXBfb25lKGNvbnN0IFZGSU9Db250YWluZXIgKmJjb250YWluZXIsCisr c3RhdGljIGludCB2ZmlvX2xlZ2FjeV9kbWFfdW5tYXBfb25lKGNvbnN0IFZGSU9MZWdhY3lDb250 YWluZXIgKmNvbnRhaW5lciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg aHdhZGRyIGlvdmEsIHVpbnQ2NF90IHNpemUsCistICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIElPTU1VVExCRW50cnkgKmlvdGxiKQorKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB1aW50MzJfdCBmbGFncywgSU9NTVVUTEJFbnRyeSAqaW90bGIpCisgewor LSAgICBjb25zdCBWRklPTGVnYWN5Q29udGFpbmVyICpjb250YWluZXIgPSBWRklPX0lPTU1VX0xF R0FDWShiY29udGFpbmVyKTsKKysgICAgY29uc3QgVkZJT0NvbnRhaW5lciAqYmNvbnRhaW5lciA9 IFZGSU9fSU9NTVUoY29udGFpbmVyKTsKKyAgICAgc3RydWN0IHZmaW9faW9tbXVfdHlwZTFfZG1h X3VubWFwIHVubWFwID0geworICAgICAgICAgLmFyZ3N6ID0gc2l6ZW9mKHVubWFwKSwKKy0gICAg ICAgIC5mbGFncyA9IDAsCisrICAgICAgICAuZmxhZ3MgPSBmbGFncywKKyAgICAgICAgIC5pb3Zh ID0gaW92YSwKKyAgICAgICAgIC5zaXplID0gc2l6ZSwKKyAgICAgfTsKK0BAIC0xODQsMjUgKzE4 NCwyOCBAQCBzdGF0aWMgaW50IHZmaW9fbGVnYWN5X2RtYV91bm1hcChjb25zdCBWRklPQ29udGFp bmVyICpiY29udGFpbmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGh3YWRk ciBpb3ZhLCB1aW50NjRfdCBzaXplLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IElPTU1VVExCRW50cnkgKmlvdGxiLCBib29sIHVubWFwX2FsbCkKKyB7CisrICAgIGNvbnN0IFZG SU9MZWdhY3lDb250YWluZXIgKmNvbnRhaW5lciA9IFZGSU9fSU9NTVVfTEVHQUNZKGJjb250YWlu ZXIpOworKyAgICB1aW50MzJfdCBmbGFncyA9IDA7CisgICAgIGludCByZXQ7CisgCisgICAgIGlm ICh1bm1hcF9hbGwpIHsKKy0gICAgICAgIC8qIFRoZSB1bm1hcCBpb2N0bCBkb2Vzbid0IGFjY2Vw dCBhIGZ1bGwgNjQtYml0IHNwYW4uICovCistICAgICAgICBJbnQxMjggbGxzaXplID0gaW50MTI4 X3JzaGlmdChpbnQxMjhfMl82NCgpLCAxKTsKKy0KKy0gICAgICAgIHJldCA9IHZmaW9fbGVnYWN5 X2RtYV91bm1hcF9vbmUoYmNvbnRhaW5lciwgMCwgaW50MTI4X2dldDY0KGxsc2l6ZSksCistICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlvdGxiKTsKKysgICAgICAgIGlm IChjb250YWluZXItPnVubWFwX2FsbF9zdXBwb3J0ZWQpIHsKKysgICAgICAgICAgICBmbGFncyA9 IFZGSU9fRE1BX1VOTUFQX0ZMQUdfQUxMOworKyAgICAgICAgfSBlbHNlIHsKKysgICAgICAgICAg ICAvKiBUaGUgdW5tYXAgaW9jdGwgZG9lc24ndCBhY2NlcHQgYSBmdWxsIDY0LWJpdCBzcGFuLiAq LworKyAgICAgICAgICAgIEludDEyOCBsbHNpemUgPSBpbnQxMjhfcnNoaWZ0KGludDEyOF8yXzY0 KCksIDEpOworKyAgICAgICAgICAgIHNpemUgPSBpbnQxMjhfZ2V0NjQobGxzaXplKTsKKysKKysg ICAgICAgICAgICByZXQgPSB2ZmlvX2xlZ2FjeV9kbWFfdW5tYXBfb25lKGNvbnRhaW5lciwgMCwg c2l6ZSwgZmxhZ3MsIGlvdGxiKTsKKysgICAgICAgICAgICBpZiAocmV0KSB7CisrICAgICAgICAg ICAgICAgIHJldHVybiByZXQ7CisrICAgICAgICAgICAgfQorIAorLSAgICAgICAgaWYgKHJldCA9 PSAwKSB7CistICAgICAgICAgICAgcmV0ID0gdmZpb19sZWdhY3lfZG1hX3VubWFwX29uZShiY29u dGFpbmVyLCBpbnQxMjhfZ2V0NjQobGxzaXplKSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGludDEyOF9nZXQ2NChsbHNpemUpLCBpb3RsYik7CisrICAgICAg ICAgICAgaW92YSA9IHNpemU7CisgICAgICAgICB9CistCistICAgIH0gZWxzZSB7CistICAgICAg ICByZXQgPSB2ZmlvX2xlZ2FjeV9kbWFfdW5tYXBfb25lKGJjb250YWluZXIsIGlvdmEsIHNpemUs IGlvdGxiKTsKKyAgICAgfQorIAorLSAgICByZXR1cm4gcmV0OworKyAgICByZXR1cm4gdmZpb19s ZWdhY3lfZG1hX3VubWFwX29uZShjb250YWluZXIsIGlvdmEsIHNpemUsIGZsYWdzLCBpb3RsYik7 CisgfQorIAorIHN0YXRpYyBpbnQgdmZpb19sZWdhY3lfZG1hX21hcChjb25zdCBWRklPQ29udGFp bmVyICpiY29udGFpbmVyLCBod2FkZHIgaW92YSwKK0BAIC01MzMsNiArNTM2LDkgQEAgc3RhdGlj IGJvb2wgdmZpb19sZWdhY3lfc2V0dXAoVkZJT0NvbnRhaW5lciAqYmNvbnRhaW5lciwgRXJyb3Ig KiplcnJwKQorIAorICAgICB2ZmlvX2dldF9pbmZvX2lvdmFfcmFuZ2UoaW5mbywgYmNvbnRhaW5l cik7CisgCisrICAgIHJldCA9IGlvY3RsKGNvbnRhaW5lci0+ZmQsIFZGSU9fQ0hFQ0tfRVhURU5T SU9OLCBWRklPX1VOTUFQX0FMTCk7CisrICAgIGNvbnRhaW5lci0+dW5tYXBfYWxsX3N1cHBvcnRl ZCA9ICEhcmV0OworKworICAgICB2ZmlvX2dldF9pb21tdV9pbmZvX21pZ3JhdGlvbihjb250YWlu ZXIsIGluZm8pOworICAgICByZXR1cm4gdHJ1ZTsKKyB9CitkaWZmIC0tZ2l0IGEvaW5jbHVkZS9o dy92ZmlvL3ZmaW8tY29udGFpbmVyLWxlZ2FjeS5oIGIvaW5jbHVkZS9ody92ZmlvL3ZmaW8tY29u dGFpbmVyLWxlZ2FjeS5oCitpbmRleCA3NGE3MmRmMDE4Li5mZmQ1OTRlODBkIDEwMDY0NAorLS0t IGEvaW5jbHVkZS9ody92ZmlvL3ZmaW8tY29udGFpbmVyLWxlZ2FjeS5oCisrKysgYi9pbmNsdWRl L2h3L3ZmaW8vdmZpby1jb250YWluZXItbGVnYWN5LmgKK0BAIC0zMCw2ICszMCw3IEBAIHN0cnVj dCBWRklPTGVnYWN5Q29udGFpbmVyIHsKKyAKKyAgICAgaW50IGZkOyAvKiAvZGV2L3ZmaW8vdmZp bywgZW1wb3dlcmVkIGJ5IHRoZSBhdHRhY2hlZCBncm91cHMgKi8KKyAgICAgdW5zaWduZWQgaW9t bXVfdHlwZTsKKysgICAgYm9vbCB1bm1hcF9hbGxfc3VwcG9ydGVkOworICAgICBRTElTVF9IRUFE KCwgVkZJT0dyb3VwKSBncm91cF9saXN0OworICAgICBWRklPQ29udGFpbmVyQ1BSIGNwcjsKKyB9 OworLS0gCisyLjUyLjAKKwoKZGlmZiAtLWdpdCBhL2t2bS12ZmlvLWNvbnRhaW5lci1zZXQtZXJy b3Itb24tY3ByLWZhaWx1cmUucGF0Y2ggYi9rdm0tdmZpby1jb250YWluZXItc2V0LWVycm9yLW9u LWNwci1mYWlsdXJlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA2 MjRiYTQKLS0tIC9kZXYvbnVsbAorKysgYi9rdm0tdmZpby1jb250YWluZXItc2V0LWVycm9yLW9u LWNwci1mYWlsdXJlLnBhdGNoCkBAIC0wLDAgKzEsNDcgQEAKK0Zyb20gYzM5YjU2YjczMDRlODUx OGM1YTM3NGZiOWI1NWIyOTJkZGMxNzUzMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206 IFN0ZXZlIFNpc3RhcmUgPHN0ZXZlbi5zaXN0YXJlQG9yYWNsZS5jb20+CitEYXRlOiBXZWQsIDEz IEF1ZyAyMDI1IDA3OjE3OjQ3IC0wNzAwCitTdWJqZWN0OiBbUEFUQ0ggMDI1LzExNl0gdmZpby9j b250YWluZXI6IHNldCBlcnJvciBvbiBjcHIgZmFpbHVyZQorTUlNRS1WZXJzaW9uOiAxLjAKK0Nv bnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1F bmNvZGluZzogOGJpdAorCitSSC1BdXRob3I6IFJvZG9sZm8gVmljayA8Tm9uZT4KK1JILU1lcmdl UmVxdWVzdDogNDg2OiBBZGQgRE1BQlVGIHN1cHBvcnQKK1JILUppcmE6IFJIRUwtMTM4NDk0CitS SC1BY2tlZC1ieTogQ8OpZHJpYyBMZSBHb2F0ZXIgPGNsZ0ByZWRoYXQuY29tPgorUkgtQWNrZWQt Ynk6IEVyaWMgQXVnZXIgPGVyaWMuYXVnZXJAcmVkaGF0LmNvbT4KK1JILUNvbW1pdDogWzkvMTAw XSA5ODIyY2FjNjI5ZjMxMzJhMjViMzYxODA5NDE5NmM3MmNmZDBmMjhhIChyb3ZpY2sxL3FlbXUt a3ZtKQorCitTZXQgYW4gZXJyb3IgbWVzc2FnZSBpZiB2ZmlvX2Nwcl9yYW1fZGlzY2FyZF9yZWdp c3Rlcl9saXN0ZW5lciBmYWlscyBzbwordGhlIGZhaWwgbGFiZWwgZ2V0cyBhIHZhbGlkIGVycm9y IG9iamVjdC4KKworUmVwb3J0ZWQtYnk6IEPDqWRyaWMgTGUgR29hdGVyIDxjbGdAcmVkaGF0LmNv bT4KK0ZpeGVzOiBlYmExZjY1N2NiYjEgKCJ2ZmlvL2NvbnRhaW5lcjogcmVjb3ZlciBmcm9tIHVu bWFwLWFsbC12YWRkciBmYWlsdXJlIikKK1NpZ25lZC1vZmYtYnk6IFN0ZXZlIFNpc3RhcmUgPHN0 ZXZlbi5zaXN0YXJlQG9yYWNsZS5jb20+CitSZXZpZXdlZC1ieTogWmhlbnpob25nIER1YW4gPHpo ZW56aG9uZy5kdWFuQGludGVsLmNvbT4KK0xpbms6IGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL3Fl bXUtZGV2ZWwvMTc1NTA5NDY2Ny0yODE0MTktMS1naXQtc2VuZC1lbWFpbC1zdGV2ZW4uc2lzdGFy ZUBvcmFjbGUuY29tCitTaWduZWQtb2ZmLWJ5OiBDw6lkcmljIExlIEdvYXRlciA8Y2xnQHJlZGhh dC5jb20+CisoY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCAzNmNkODFkYzEzOWY4OTkxMjdkODY4 YmE5YmFhZjMwNzljMzM2ZWZjKQorU2lnbmVkLW9mZi1ieTogRXJpYyBBdWdlciA8ZXJpYy5hdWdl ckByZWRoYXQuY29tPgorLS0tCisgaHcvdmZpby9saXN0ZW5lci5jIHwgMyArKysKKyAxIGZpbGUg Y2hhbmdlZCwgMyBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9ody92ZmlvL2xpc3RlbmVy LmMgYi9ody92ZmlvL2xpc3RlbmVyLmMKK2luZGV4IGY0OThlMjNhOTMuLjVlYmFmYWEwN2UgMTAw NjQ0CistLS0gYS9ody92ZmlvL2xpc3RlbmVyLmMKKysrKyBiL2h3L3ZmaW8vbGlzdGVuZXIuYwor QEAgLTU3NCw2ICs1NzQsOSBAQCB2b2lkIHZmaW9fY29udGFpbmVyX3JlZ2lvbl9hZGQoVkZJT0Nv bnRhaW5lckJhc2UgKmJjb250YWluZXIsCisgICAgICAgICAgICAgdmZpb19yYW1fZGlzY2FyZF9y ZWdpc3Rlcl9saXN0ZW5lcihiY29udGFpbmVyLCBzZWN0aW9uKTsKKyAgICAgICAgIH0gZWxzZSBp ZiAoIXZmaW9fY3ByX3JhbV9kaXNjYXJkX3JlZ2lzdGVyX2xpc3RlbmVyKGJjb250YWluZXIsCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBzZWN0aW9uKSkgeworKyAgICAgICAgICAgIGVycm9yX3NldGcoJmVyciwKKysgICAgICAgICAg ICAgICAgICAgICAgICJ2ZmlvX2Nwcl9yYW1fZGlzY2FyZF9yZWdpc3Rlcl9saXN0ZW5lciBmb3Ig JXMgZmFpbGVkIiwKKysgICAgICAgICAgICAgICAgICAgICAgIG1lbW9yeV9yZWdpb25fbmFtZShz ZWN0aW9uLT5tcikpOworICAgICAgICAgICAgIGdvdG8gZmFpbDsKKyAgICAgICAgIH0KKyAgICAg ICAgIHJldHVybjsKKy0tIAorMi41Mi4wCisKCmRpZmYgLS1naXQgYS9rdm0tdmZpby1jb250YWlu ZXIuYy11c2UtUU9NLWNhc3RzLXdoZXJlLWFwcHJvcHJpYXRlLnBhdGNoIGIva3ZtLXZmaW8tY29u dGFpbmVyLmMtdXNlLVFPTS1jYXN0cy13aGVyZS1hcHByb3ByaWF0ZS5wYXRjaApuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZmY3YTEyCi0tLSAvZGV2L251bGwKKysrIGIva3Zt LXZmaW8tY29udGFpbmVyLmMtdXNlLVFPTS1jYXN0cy13aGVyZS1hcHByb3ByaWF0ZS5wYXRjaApA QCAtMCwwICsxLDEyNCBAQAorRnJvbSAwYjc0NTQyMjM5NThjMzVlYmQ5YzBkMTBjMzI5M2VmYzBl ODI4ZGU0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWFyayBDYXZlLUF5bGFuZCA8 bWFyay5jYXZlYXlsYW5kQG51dGFuaXguY29tPgorRGF0ZTogVHVlLCAxNSBKdWwgMjAyNSAxMDoy NTo0OSArMDEwMAorU3ViamVjdDogW1BBVENIIDAzNi8xMTZdIHZmaW8vY29udGFpbmVyLmM6IHVz ZSBRT00gY2FzdHMgd2hlcmUgYXBwcm9wcmlhdGUKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50 LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rp bmc6IDhiaXQKKworUkgtQXV0aG9yOiBSb2RvbGZvIFZpY2sgPE5vbmU+CitSSC1NZXJnZVJlcXVl c3Q6IDQ4NjogQWRkIERNQUJVRiBzdXBwb3J0CitSSC1KaXJhOiBSSEVMLTEzODQ5NAorUkgtQWNr ZWQtYnk6IEPDqWRyaWMgTGUgR29hdGVyIDxjbGdAcmVkaGF0LmNvbT4KK1JILUFja2VkLWJ5OiBF cmljIEF1Z2VyIDxlcmljLmF1Z2VyQHJlZGhhdC5jb20+CitSSC1Db21taXQ6IFsyMC8xMDBdIGRh ODdiMTM3NWZlNjMxZGFkYmRhZDNmZWJlYTU3Yzg4YWIzMWJjNDcgKHJvdmljazEvcWVtdS1rdm0p CisKK1VzZSBRT00gY2FzdHMgdG8gY29udmVydCBiZXR3ZWVuIFZGSU9Vc2VyQ29udGFpbmVyIGFu ZCBWRklPQ29udGFpbmVyQmFzZSBpbnN0ZWFkCitvZiBhY2Nlc3NpbmcgYmNvbnRhaW5lciBkaXJl Y3RseS4KKworU2lnbmVkLW9mZi1ieTogTWFyayBDYXZlLUF5bGFuZCA8bWFyay5jYXZlYXlsYW5k QG51dGFuaXguY29tPgorUmV2aWV3ZWQtYnk6IEPDqWRyaWMgTGUgR29hdGVyIDxjbGdAcmVkaGF0 LmNvbT4KK1Jldmlld2VkLWJ5OiBKb2huIExldm9uIDxqb2huLmxldm9uQG51dGFuaXguY29tPgor TGluazogaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvcWVtdS1kZXZlbC8yMDI1MDcxNTA5MzExMC4x MDczMTctMTAtbWFyay5jYXZlYXlsYW5kQG51dGFuaXguY29tCitTaWduZWQtb2ZmLWJ5OiBDw6lk cmljIExlIEdvYXRlciA8Y2xnQHJlZGhhdC5jb20+CisoY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1p dCAwNjIyOTU5MmZhN2U2MTczYjk3OTE1OGU5NzU5ZjBkNDBhMTgzODYxKQorU2lnbmVkLW9mZi1i eTogRXJpYyBBdWdlciA8ZXJpYy5hdWdlckByZWRoYXQuY29tPgorLS0tCisgaHcvdmZpby11c2Vy L2NvbnRhaW5lci5jIHwgMjYgKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0KKyAxIGZpbGUgY2hh bmdlZCwgMTEgaW5zZXJ0aW9ucygrKSwgMTUgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9o dy92ZmlvLXVzZXIvY29udGFpbmVyLmMgYi9ody92ZmlvLXVzZXIvY29udGFpbmVyLmMKK2luZGV4 IGQ1ODlkZDkwZjUuLjNjZGJkNDRjMWEgMTAwNjQ0CistLS0gYS9ody92ZmlvLXVzZXIvY29udGFp bmVyLmMKKysrKyBiL2h3L3ZmaW8tdXNlci9jb250YWluZXIuYworQEAgLTI0LDE2ICsyNCwxNCBA QAorICAqLworIHN0YXRpYyB2b2lkIHZmaW9fdXNlcl9saXN0ZW5lcl9iZWdpbihWRklPQ29udGFp bmVyQmFzZSAqYmNvbnRhaW5lcikKKyB7CistICAgIFZGSU9Vc2VyQ29udGFpbmVyICpjb250YWlu ZXIgPSBjb250YWluZXJfb2YoYmNvbnRhaW5lciwgVkZJT1VzZXJDb250YWluZXIsCistICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJjb250YWluZXIpOwor KyAgICBWRklPVXNlckNvbnRhaW5lciAqY29udGFpbmVyID0gVkZJT19JT01NVV9VU0VSKGJjb250 YWluZXIpOworIAorICAgICBjb250YWluZXItPnByb3h5LT5hc3luY19vcHMgPSB0cnVlOworIH0K KyAKKyBzdGF0aWMgdm9pZCB2ZmlvX3VzZXJfbGlzdGVuZXJfY29tbWl0KFZGSU9Db250YWluZXJC YXNlICpiY29udGFpbmVyKQorIHsKKy0gICAgVkZJT1VzZXJDb250YWluZXIgKmNvbnRhaW5lciA9 IGNvbnRhaW5lcl9vZihiY29udGFpbmVyLCBWRklPVXNlckNvbnRhaW5lciwKKy0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJjb250YWluZXIpOworKyAgICBWRklP VXNlckNvbnRhaW5lciAqY29udGFpbmVyID0gVkZJT19JT01NVV9VU0VSKGJjb250YWluZXIpOwor IAorICAgICAvKiB3YWl0IGhlcmUgZm9yIGFueSBhc3luYyByZXF1ZXN0cyBzZW50IGR1cmluZyB0 aGUgdHJhbnNhY3Rpb24gKi8KKyAgICAgY29udGFpbmVyLT5wcm94eS0+YXN5bmNfb3BzID0gZmFs c2U7CitAQCAtNDQsOCArNDIsOCBAQCBzdGF0aWMgaW50IHZmaW9fdXNlcl9kbWFfdW5tYXAoY29u c3QgVkZJT0NvbnRhaW5lckJhc2UgKmJjb250YWluZXIsCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGh3YWRkciBpb3ZhLCByYW1fYWRkcl90IHNpemUsCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIElPTU1VVExCRW50cnkgKmlvdGxiLCBib29sIHVubWFwX2FsbCkKKyB7 CistICAgIFZGSU9Vc2VyQ29udGFpbmVyICpjb250YWluZXIgPSBjb250YWluZXJfb2YoYmNvbnRh aW5lciwgVkZJT1VzZXJDb250YWluZXIsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBiY29udGFpbmVyKTsKKysgICAgVkZJT1VzZXJDb250YWluZXIgKmNvbnRh aW5lciA9IFZGSU9fSU9NTVVfVVNFUihiY29udGFpbmVyKTsKKysKKyAgICAgRXJyb3IgKmxvY2Fs X2VyciA9IE5VTEw7CisgICAgIGludCByZXQgPSAwOworIAorQEAgLTg2LDggKzg0LDggQEAgc3Rh dGljIGludCB2ZmlvX3VzZXJfZG1hX21hcChjb25zdCBWRklPQ29udGFpbmVyQmFzZSAqYmNvbnRh aW5lciwgaHdhZGRyIGlvdmEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByYW1fYWRk cl90IHNpemUsIHZvaWQgKnZhZGRyLCBib29sIHJlYWRvbmx5LAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgTWVtb3J5UmVnaW9uICptcnApCisgeworLSAgICBWRklPVXNlckNvbnRhaW5l ciAqY29udGFpbmVyID0gY29udGFpbmVyX29mKGJjb250YWluZXIsIFZGSU9Vc2VyQ29udGFpbmVy LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJjb250 YWluZXIpOworKyAgICBWRklPVXNlckNvbnRhaW5lciAqY29udGFpbmVyID0gVkZJT19JT01NVV9V U0VSKGJjb250YWluZXIpOworKworICAgICBpbnQgZmQgPSBtZW1vcnlfcmVnaW9uX2dldF9mZCht cnApOworICAgICBFcnJvciAqbG9jYWxfZXJyID0gTlVMTDsKKyAgICAgaW50IHJldCA9IDA7CitA QCAtMTczLDggKzE3MSw3IEBAIHN0YXRpYyBpbnQgdmZpb191c2VyX3F1ZXJ5X2RpcnR5X2JpdG1h cChjb25zdCBWRklPQ29udGFpbmVyQmFzZSAqYmNvbnRhaW5lciwKKyAKKyBzdGF0aWMgYm9vbCB2 ZmlvX3VzZXJfc2V0dXAoVkZJT0NvbnRhaW5lckJhc2UgKmJjb250YWluZXIsIEVycm9yICoqZXJy cCkKKyB7CistICAgIFZGSU9Vc2VyQ29udGFpbmVyICpjb250YWluZXIgPSBjb250YWluZXJfb2Yo YmNvbnRhaW5lciwgVkZJT1VzZXJDb250YWluZXIsCistICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgYmNvbnRhaW5lcik7CisrICAgIFZGSU9Vc2VyQ29udGFp bmVyICpjb250YWluZXIgPSBWRklPX0lPTU1VX1VTRVIoYmNvbnRhaW5lcik7CisgCisgICAgIGFz c2VydChjb250YWluZXItPnByb3h5LT5kbWFfcGdzaXplcyAhPSAwKTsKKyAgICAgYmNvbnRhaW5l ci0+cGdzaXplcyA9IGNvbnRhaW5lci0+cHJveHktPmRtYV9wZ3NpemVzOworQEAgLTIxOCw3ICsy MTUsNyBAQCB2ZmlvX3VzZXJfY29udGFpbmVyX2Nvbm5lY3QoQWRkcmVzc1NwYWNlICphcywgVkZJ T0RldmljZSAqdmJhc2VkZXYsCisgICAgICAgICBnb3RvIHB1dF9zcGFjZV9leGl0OworICAgICB9 CisgCistICAgIGJjb250YWluZXIgPSAmY29udGFpbmVyLT5iY29udGFpbmVyOworKyAgICBiY29u dGFpbmVyID0gVkZJT19JT01NVShjb250YWluZXIpOworIAorICAgICByZXQgPSByYW1fYmxvY2tf dW5jb29yZGluYXRlZF9kaXNjYXJkX2Rpc2FibGUodHJ1ZSk7CisgICAgIGlmIChyZXQpIHsKK0BA IC0yNjMsNyArMjYwLDcgQEAgcHV0X3NwYWNlX2V4aXQ6CisgCisgc3RhdGljIHZvaWQgdmZpb191 c2VyX2NvbnRhaW5lcl9kaXNjb25uZWN0KFZGSU9Vc2VyQ29udGFpbmVyICpjb250YWluZXIpCisg eworLSAgICBWRklPQ29udGFpbmVyQmFzZSAqYmNvbnRhaW5lciA9ICZjb250YWluZXItPmJjb250 YWluZXI7CisrICAgIFZGSU9Db250YWluZXJCYXNlICpiY29udGFpbmVyID0gVkZJT19JT01NVShj b250YWluZXIpOworICAgICBWRklPSU9NTVVDbGFzcyAqdmlvYyA9IFZGSU9fSU9NTVVfR0VUX0NM QVNTKGJjb250YWluZXIpOworICAgICBWRklPQWRkcmVzc1NwYWNlICpzcGFjZSA9IGJjb250YWlu ZXItPnNwYWNlOworIAorQEAgLTI5MSw3ICsyODgsNyBAQCBzdGF0aWMgYm9vbCB2ZmlvX3VzZXJf ZGV2aWNlX2dldChWRklPVXNlckNvbnRhaW5lciAqY29udGFpbmVyLAorIAorICAgICB2YmFzZWRl di0+ZmQgPSAtMTsKKyAKKy0gICAgdmZpb19kZXZpY2VfcHJlcGFyZSh2YmFzZWRldiwgJmNvbnRh aW5lci0+YmNvbnRhaW5lciwgJmluZm8pOworKyAgICB2ZmlvX2RldmljZV9wcmVwYXJlKHZiYXNl ZGV2LCBWRklPX0lPTU1VKGNvbnRhaW5lciksICZpbmZvKTsKKyAKKyAgICAgcmV0dXJuIHRydWU7 CisgfQorQEAgLTMxNSw4ICszMTIsNyBAQCBzdGF0aWMgYm9vbCB2ZmlvX3VzZXJfZGV2aWNlX2F0 dGFjaChjb25zdCBjaGFyICpuYW1lLCBWRklPRGV2aWNlICp2YmFzZWRldiwKKyAKKyBzdGF0aWMg dm9pZCB2ZmlvX3VzZXJfZGV2aWNlX2RldGFjaChWRklPRGV2aWNlICp2YmFzZWRldikKKyB7Cist ICAgIFZGSU9Vc2VyQ29udGFpbmVyICpjb250YWluZXIgPSBjb250YWluZXJfb2YodmJhc2VkZXYt PmJjb250YWluZXIsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgVkZJT1VzZXJDb250YWluZXIsIGJjb250YWluZXIpOworKyAgICBWRklPVXNlckNvbnRh aW5lciAqY29udGFpbmVyID0gVkZJT19JT01NVV9VU0VSKHZiYXNlZGV2LT5iY29udGFpbmVyKTsK KyAKKyAgICAgdmZpb19kZXZpY2VfdW5wcmVwYXJlKHZiYXNlZGV2KTsKKyAKKy0tIAorMi41Mi4w CisKCmRpZmYgLS1naXQgYS9rdm0tdmZpby1jcHItZXhlYy1tb2RlLnBhdGNoIGIva3ZtLXZmaW8t Y3ByLWV4ZWMtbW9kZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5k Yjk2NjFlCi0tLSAvZGV2L251bGwKKysrIGIva3ZtLXZmaW8tY3ByLWV4ZWMtbW9kZS5wYXRjaApA QCAtMCwwICsxLDExNiBAQAorRnJvbSBmYTgwZGVmOGY4ZDdjZTRhMWQ2MGJjZDE2OTM3ZGJmM2Ey ZTFjOWQzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogU3RldmUgU2lzdGFyZSA8c3Rl dmVuLnNpc3RhcmVAb3JhY2xlLmNvbT4KK0RhdGU6IE1vbiwgMzAgU2VwIDIwMjQgMDk6MzE6NTIg LTA3MDAKK1N1YmplY3Q6IFtQQVRDSCAwOTUvMTE2XSB2ZmlvOiBjcHItZXhlYyBtb2RlCitNSU1F LVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitD b250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK1JILUF1dGhvcjogUm9kb2xmbyBWaWNr IDxOb25lPgorUkgtTWVyZ2VSZXF1ZXN0OiA0ODY6IEFkZCBETUFCVUYgc3VwcG9ydAorUkgtSmly YTogUkhFTC0xMzg0OTQKK1JILUFja2VkLWJ5OiBDw6lkcmljIExlIEdvYXRlciA8Y2xnQHJlZGhh dC5jb20+CitSSC1BY2tlZC1ieTogRXJpYyBBdWdlciA8ZXJpYy5hdWdlckByZWRoYXQuY29tPgor UkgtQ29tbWl0OiBbNzkvMTAwXSBiZWU5ZjdhMzk4NDE5MmNhMmJkMjExMWYyMWZiOTRlOWQyYjk3 ZTU5IChyb3ZpY2sxL3FlbXUta3ZtKQorCitBbGwgYmxvY2tlcnMgYW5kIG5vdGlmaWVycyBmb3Ig Y3ByLXRyYW5zZmVyIG1vZGUgYWxzbyBhcHBseSB0byBjcHItZXhlYy4KKworU2lnbmVkLW9mZi1i eTogU3RldmUgU2lzdGFyZSA8c3RldmVuLnNpc3RhcmVAb3JhY2xlLmNvbT4KK0Fja2VkLWJ5OiBD w6lkcmljIExlIEdvYXRlciA8Y2xnQHJlZGhhdC5jb20+CitMaW5rOiBodHRwczovL2xvcmUua2Vy bmVsLm9yZy9yLzMwNzUwMzYyLWQ0YTEtNDM5Mi04ZGQ2LTAxNjYyNGQwMWJlMUBvcmFjbGUuY29t CitTaWduZWQtb2ZmLWJ5OiBQZXRlciBYdSA8cGV0ZXJ4QHJlZGhhdC5jb20+CistLS0KKyBody92 ZmlvL2NvbnRhaW5lci1sZWdhY3kuYyB8ICAzICsrLQorIGh3L3ZmaW8vY3ByLWlvbW11ZmQuYyAg ICAgIHwgIDMgKystCisgaHcvdmZpby9jcHItbGVnYWN5LmMgICAgICAgfCAgOSArKysrKy0tLS0K KyBody92ZmlvL2Nwci5jICAgICAgICAgICAgICB8IDEzICsrKysrKystLS0tLS0KKyA0IGZpbGVz IGNoYW5nZWQsIDE2IGluc2VydGlvbnMoKyksIDEyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0 IGEvaHcvdmZpby9jb250YWluZXItbGVnYWN5LmMgYi9ody92ZmlvL2NvbnRhaW5lci1sZWdhY3ku YworaW5kZXggMTM5NGRkNmZlOC4uZmFkMDIyNmY3ZCAxMDA2NDQKKy0tLSBhL2h3L3ZmaW8vY29u dGFpbmVyLWxlZ2FjeS5jCisrKysgYi9ody92ZmlvL2NvbnRhaW5lci1sZWdhY3kuYworQEAgLTk4 Niw3ICs5ODYsOCBAQCBzdGF0aWMgYm9vbCB2ZmlvX2xlZ2FjeV9hdHRhY2hfZGV2aWNlKGNvbnN0 IGNoYXIgKm5hbWUsIFZGSU9EZXZpY2UgKnZiYXNlZGV2LAorICAgICAgICAgZXJyb3Jfc2V0Zygm dmJhc2VkZXYtPmNwci5tZGV2X2Jsb2NrZXIsCisgICAgICAgICAgICAgICAgICAgICJDUFIgZG9l cyBub3Qgc3VwcG9ydCB2ZmlvIG1kZXYgJXMiLCB2YmFzZWRldi0+bmFtZSk7CisgICAgICAgICBp ZiAobWlncmF0ZV9hZGRfYmxvY2tlcl9tb2RlcygmdmJhc2VkZXYtPmNwci5tZGV2X2Jsb2NrZXIs IGVycnAsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNSUdfTU9ERV9D UFJfVFJBTlNGRVIsIC0xKSA8IDApIHsKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIE1JR19NT0RFX0NQUl9UUkFOU0ZFUiwgTUlHX01PREVfQ1BSX0VYRUMsCisrICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtMSkgPCAwKSB7CisgICAgICAgICAgICAg Z290byBoaW9kX3VucmVmX2V4aXQ7CisgICAgICAgICB9CisgICAgIH0KK2RpZmYgLS1naXQgYS9o dy92ZmlvL2Nwci1pb21tdWZkLmMgYi9ody92ZmlvL2Nwci1pb21tdWZkLmMKK2luZGV4IDFkNzBj ODc5OTYuLjhhNGQ2NWRlNWUgMTAwNjQ0CistLS0gYS9ody92ZmlvL2Nwci1pb21tdWZkLmMKKysr KyBiL2h3L3ZmaW8vY3ByLWlvbW11ZmQuYworQEAgLTE1OSw3ICsxNTksOCBAQCBib29sIHZmaW9f aW9tbXVmZF9jcHJfcmVnaXN0ZXJfaW9tbXVmZChJT01NVUZEQmFja2VuZCAqYmUsIEVycm9yICoq ZXJycCkKKyAKKyAgICAgaWYgKCF2ZmlvX2Nwcl9zdXBwb3J0ZWQoYmUsIGNwcl9ibG9ja2VyKSkg eworICAgICAgICAgcmV0dXJuIG1pZ3JhdGVfYWRkX2Jsb2NrZXJfbW9kZXMoY3ByX2Jsb2NrZXIs IGVycnAsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNSUdfTU9E RV9DUFJfVFJBTlNGRVIsIC0xKSA9PSAwOworKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgTUlHX01PREVfQ1BSX1RSQU5TRkVSLAorKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgTUlHX01PREVfQ1BSX0VYRUMsIC0xKSA9PSAwOworICAgICB9 CisgCisgICAgIHZtc3RhdGVfcmVnaXN0ZXIoTlVMTCwgLTEsICZpb21tdWZkX2Nwcl92bXN0YXRl LCBiZSk7CitkaWZmIC0tZ2l0IGEvaHcvdmZpby9jcHItbGVnYWN5LmMgYi9ody92ZmlvL2Nwci1s ZWdhY3kuYworaW5kZXggM2ExZDEyNjU1Ni4uODBhZjc0NjlkMCAxMDA2NDQKKy0tLSBhL2h3L3Zm aW8vY3ByLWxlZ2FjeS5jCisrKysgYi9ody92ZmlvL2Nwci1sZWdhY3kuYworQEAgLTE3OSwxNiAr MTc5LDE3IEBAIGJvb2wgdmZpb19sZWdhY3lfY3ByX3JlZ2lzdGVyX2NvbnRhaW5lcihWRklPTGVn YWN5Q29udGFpbmVyICpjb250YWluZXIsCisgCisgICAgIGlmICghdmZpb19jcHJfc3VwcG9ydGVk KGNvbnRhaW5lciwgY3ByX2Jsb2NrZXIpKSB7CisgICAgICAgICByZXR1cm4gbWlncmF0ZV9hZGRf YmxvY2tlcl9tb2RlcyhjcHJfYmxvY2tlciwgZXJycCwKKy0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIE1JR19NT0RFX0NQUl9UUkFOU0ZFUiwgLTEpID09IDA7CisrICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNSUdfTU9ERV9DUFJfVFJBTlNG RVIsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNSUdfTU9ERV9D UFJfRVhFQywgLTEpID09IDA7CisgICAgIH0KKyAKKyAgICAgdmZpb19jcHJfYWRkX2t2bV9ub3Rp ZmllcigpOworIAorICAgICB2bXN0YXRlX3JlZ2lzdGVyKE5VTEwsIC0xLCAmdmZpb19jb250YWlu ZXJfdm1zdGF0ZSwgY29udGFpbmVyKTsKKyAKKy0gICAgbWlncmF0aW9uX2FkZF9ub3RpZmllcl9t b2RlKCZjb250YWluZXItPmNwci50cmFuc2Zlcl9ub3RpZmllciwKKy0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHZmaW9fY3ByX2ZhaWxfbm90aWZpZXIsCistICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBNSUdfTU9ERV9DUFJfVFJBTlNGRVIpOworKyAgICBtaWdyYXRpb25f YWRkX25vdGlmaWVyX21vZGVzKCZjb250YWluZXItPmNwci50cmFuc2Zlcl9ub3RpZmllciwKKysg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZmlvX2Nwcl9mYWlsX25vdGlmaWVyLAor KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1JR19NT0RFX0NQUl9UUkFOU0ZFUiwg TUlHX01PREVfQ1BSX0VYRUMsIC0xKTsKKyAgICAgcmV0dXJuIHRydWU7CisgfQorIAorZGlmZiAt LWdpdCBhL2h3L3ZmaW8vY3ByLmMgYi9ody92ZmlvL2Nwci5jCitpbmRleCAyYzcxZmMxZThlLi5k YjQ2MmFhYmNiIDEwMDY0NAorLS0tIGEvaHcvdmZpby9jcHIuYworKysrIGIvaHcvdmZpby9jcHIu YworQEAgLTE5NSw5ICsxOTUsMTAgQEAgc3RhdGljIGludCB2ZmlvX2Nwcl9rdm1fY2xvc2Vfbm90 aWZpZXIoTm90aWZpZXJXaXRoUmV0dXJuICpub3RpZmllciwKKyB2b2lkIHZmaW9fY3ByX2FkZF9r dm1fbm90aWZpZXIodm9pZCkKKyB7CisgICAgIGlmICgha3ZtX2Nsb3NlX25vdGlmaWVyLm5vdGlm eSkgeworLSAgICAgICAgbWlncmF0aW9uX2FkZF9ub3RpZmllcl9tb2RlKCZrdm1fY2xvc2Vfbm90 aWZpZXIsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmZpb19jcHJfa3Zt X2Nsb3NlX25vdGlmaWVyLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1J R19NT0RFX0NQUl9UUkFOU0ZFUik7CisrICAgICAgICBtaWdyYXRpb25fYWRkX25vdGlmaWVyX21v ZGVzKCZrdm1fY2xvc2Vfbm90aWZpZXIsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHZmaW9fY3ByX2t2bV9jbG9zZV9ub3RpZmllciwKKysgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgTUlHX01PREVfQ1BSX1RSQU5TRkVSLCBNSUdfTU9ERV9DUFJfRVhF QywKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEpOworICAgICB9Cisg fQorIAorQEAgLTI4Miw5ICsyODMsOSBAQCBzdGF0aWMgaW50IHZmaW9fY3ByX3BjaV9ub3RpZmll cihOb3RpZmllcldpdGhSZXR1cm4gKm5vdGlmaWVyLAorIAorIHZvaWQgdmZpb19jcHJfcGNpX3Jl Z2lzdGVyX2RldmljZShWRklPUENJRGV2aWNlICp2ZGV2KQorIHsKKy0gICAgbWlncmF0aW9uX2Fk ZF9ub3RpZmllcl9tb2RlKCZ2ZGV2LT5jcHIudHJhbnNmZXJfbm90aWZpZXIsCistICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB2ZmlvX2Nwcl9wY2lfbm90aWZpZXIsCistICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBNSUdfTU9ERV9DUFJfVFJBTlNGRVIpOworKyAgICBtaWdy YXRpb25fYWRkX25vdGlmaWVyX21vZGVzKCZ2ZGV2LT5jcHIudHJhbnNmZXJfbm90aWZpZXIsCisr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmZpb19jcHJfcGNpX25vdGlmaWVyLAor KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1JR19NT0RFX0NQUl9UUkFOU0ZFUiwg TUlHX01PREVfQ1BSX0VYRUMsIC0xKTsKKyB9CisgCisgdm9pZCB2ZmlvX2Nwcl9wY2lfdW5yZWdp c3Rlcl9kZXZpY2UoVkZJT1BDSURldmljZSAqdmRldikKKy0tIAorMi41Mi4wCisKCmRpZmYgLS1n aXQgYS9rdm0tdmZpby1jcHItaW9tbXVmZC5jLXVzZS1RT00tY2FzdHMtd2hlcmUtYXBwcm9wcmlh dGUucGF0Y2ggYi9rdm0tdmZpby1jcHItaW9tbXVmZC5jLXVzZS1RT00tY2FzdHMtd2hlcmUtYXBw cm9wcmlhdGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmQyY2E2 NwotLS0gL2Rldi9udWxsCisrKyBiL2t2bS12ZmlvLWNwci1pb21tdWZkLmMtdXNlLVFPTS1jYXN0 cy13aGVyZS1hcHByb3ByaWF0ZS5wYXRjaApAQCAtMCwwICsxLDUzIEBACitGcm9tIDY3YTcyOWM3 Y2YyYjA5N2FhNDkyYzBhMDQ5YTUyNjQxMWE0MGMwYTEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CitGcm9tOiBNYXJrIENhdmUtQXlsYW5kIDxtYXJrLmNhdmVheWxhbmRAbnV0YW5peC5jb20+CitE YXRlOiBUaHUsIDI1IFNlcCAyMDI1IDEyOjMxOjE2ICswMTAwCitTdWJqZWN0OiBbUEFUQ0ggMDU4 LzExNl0gdmZpby9jcHItaW9tbXVmZC5jOiB1c2UgUU9NIGNhc3RzIHdoZXJlIGFwcHJvcHJpYXRl CitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVU Ri04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK1JILUF1dGhvcjogUm9kb2xm byBWaWNrIDxOb25lPgorUkgtTWVyZ2VSZXF1ZXN0OiA0ODY6IEFkZCBETUFCVUYgc3VwcG9ydAor UkgtSmlyYTogUkhFTC0xMzg0OTQKK1JILUFja2VkLWJ5OiBDw6lkcmljIExlIEdvYXRlciA8Y2xn QHJlZGhhdC5jb20+CitSSC1BY2tlZC1ieTogRXJpYyBBdWdlciA8ZXJpYy5hdWdlckByZWRoYXQu Y29tPgorUkgtQ29tbWl0OiBbNDIvMTAwXSAxNzQ2ZGRlOTgyZWIyY2ZkMDAxMDdmNTk4ZWZlNTNk Y2Y2ZWI3Yzk0IChyb3ZpY2sxL3FlbXUta3ZtKQorCitVc2UgUU9NIGNhc3RzIHRvIGNvbnZlcnQg YmV0d2VlbiBWRklPSU9NTVVGRENvbnRhaW5lciBhbmQgVkZJT0NvbnRhaW5lciBpbnN0ZWFkCitv ZiBhY2Nlc3NpbmcgYmNvbnRhaW5lciBkaXJlY3RseS4KKworU2lnbmVkLW9mZi1ieTogTWFyayBD YXZlLUF5bGFuZCA8bWFyay5jYXZlYXlsYW5kQG51dGFuaXguY29tPgorUmV2aWV3ZWQtYnk6IEPD qWRyaWMgTGUgR29hdGVyIDxjbGdAcmVkaGF0LmNvbT4KK0xpbms6IGh0dHBzOi8vbG9yZS5rZXJu ZWwub3JnL3FlbXUtZGV2ZWwvMjAyNTA5MjUxMTMxNTkuMTc2MDMxNy05LW1hcmsuY2F2ZWF5bGFu ZEBudXRhbml4LmNvbQorU2lnbmVkLW9mZi1ieTogQ8OpZHJpYyBMZSBHb2F0ZXIgPGNsZ0ByZWRo YXQuY29tPgorKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgOTFiZGIyZjMyOTAyYzgzNDkwY2Jh ZmU1MjRjODIwMDVhNjRlMWY2OCkKK1NpZ25lZC1vZmYtYnk6IEVyaWMgQXVnZXIgPGVyaWMuYXVn ZXJAcmVkaGF0LmNvbT4KKy0tLQorIGh3L3ZmaW8vY3ByLWlvbW11ZmQuYyB8IDQgKystLQorIDEg ZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1n aXQgYS9ody92ZmlvL2Nwci1pb21tdWZkLmMgYi9ody92ZmlvL2Nwci1pb21tdWZkLmMKK2luZGV4 IDZhYWY2Zjc3YTIuLjFkNzBjODc5OTYgMTAwNjQ0CistLS0gYS9ody92ZmlvL2Nwci1pb21tdWZk LmMKKysrKyBiL2h3L3ZmaW8vY3ByLWlvbW11ZmQuYworQEAgLTE3Niw3ICsxNzYsNyBAQCB2b2lk IHZmaW9faW9tbXVmZF9jcHJfdW5yZWdpc3Rlcl9pb21tdWZkKElPTU1VRkRCYWNrZW5kICpiZSkK KyBib29sIHZmaW9faW9tbXVmZF9jcHJfcmVnaXN0ZXJfY29udGFpbmVyKFZGSU9JT01NVUZEQ29u dGFpbmVyICpjb250YWluZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBFcnJvciAqKmVycnApCisgeworLSAgICBWRklPQ29udGFpbmVyICpiY29udGFpbmVyID0g JmNvbnRhaW5lci0+YmNvbnRhaW5lcjsKKysgICAgVkZJT0NvbnRhaW5lciAqYmNvbnRhaW5lciA9 IFZGSU9fSU9NTVUoY29udGFpbmVyKTsKKyAKKyAgICAgbWlncmF0aW9uX2FkZF9ub3RpZmllcl9t b2RlKCZiY29udGFpbmVyLT5jcHJfcmVib290X25vdGlmaWVyLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgdmZpb19jcHJfcmVib290X25vdGlmaWVyLAorQEAgLTE4OSw3ICsxODks NyBAQCBib29sIHZmaW9faW9tbXVmZF9jcHJfcmVnaXN0ZXJfY29udGFpbmVyKFZGSU9JT01NVUZE Q29udGFpbmVyICpjb250YWluZXIsCisgCisgdm9pZCB2ZmlvX2lvbW11ZmRfY3ByX3VucmVnaXN0 ZXJfY29udGFpbmVyKFZGSU9JT01NVUZEQ29udGFpbmVyICpjb250YWluZXIpCisgeworLSAgICBW RklPQ29udGFpbmVyICpiY29udGFpbmVyID0gJmNvbnRhaW5lci0+YmNvbnRhaW5lcjsKKysgICAg VkZJT0NvbnRhaW5lciAqYmNvbnRhaW5lciA9IFZGSU9fSU9NTVUoY29udGFpbmVyKTsKKyAKKyAg ICAgbWlncmF0aW9uX3JlbW92ZV9ub3RpZmllcigmYmNvbnRhaW5lci0+Y3ByX3JlYm9vdF9ub3Rp Zmllcik7CisgfQorLS0gCisyLjUyLjAKKwoKZGlmZiAtLWdpdCBhL2t2bS12ZmlvLWNwci1sZWdh Y3ktZHJvcC1hbi1lcnJvbmVvdXMtYXNzZXJ0LnBhdGNoIGIva3ZtLXZmaW8tY3ByLWxlZ2FjeS1k cm9wLWFuLWVycm9uZW91cy1hc3NlcnQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMC4uYzZmMmQzMAotLS0gL2Rldi9udWxsCisrKyBiL2t2bS12ZmlvLWNwci1sZWdhY3kt ZHJvcC1hbi1lcnJvbmVvdXMtYXNzZXJ0LnBhdGNoCkBAIC0wLDAgKzEsNDYgQEAKK0Zyb20gYjQ2 NmIyYzgyZGNhZWM0ZGYwNmQ0ZDI5OTIxOTFiYjRkMDFlNTMyNyBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKK0Zyb206IFpoZW56aG9uZyBEdWFuIDx6aGVuemhvbmcuZHVhbkBpbnRlbC5jb20+CitE YXRlOiBTdW4sIDI4IFNlcCAyMDI1IDA0OjU0OjI4IC0wNDAwCitTdWJqZWN0OiBbUEFUQ0ggMDk5 LzExNl0gdmZpby9jcHItbGVnYWN5OiBkcm9wIGFuIGVycm9uZW91cyBhc3NlcnQKK01JTUUtVmVy c2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRl bnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworUkgtQXV0aG9yOiBSb2RvbGZvIFZpY2sgPE5v bmU+CitSSC1NZXJnZVJlcXVlc3Q6IDQ4NjogQWRkIERNQUJVRiBzdXBwb3J0CitSSC1KaXJhOiBS SEVMLTEzODQ5NAorUkgtQWNrZWQtYnk6IEPDqWRyaWMgTGUgR29hdGVyIDxjbGdAcmVkaGF0LmNv bT4KK1JILUFja2VkLWJ5OiBFcmljIEF1Z2VyIDxlcmljLmF1Z2VyQHJlZGhhdC5jb20+CitSSC1D b21taXQ6IFs4My8xMDBdIDY2NWVjYjU5NWViNDYyZTU4NjEyYjBhMDNlZGU0MWVhZjMzZDI1OWMg KHJvdmljazEvcWVtdS1rdm0pCisKK3ZmaW9fbGVnYWN5X2Nwcl9kbWFfbWFwKCkgaXMgbm90IG9u bHkgdXNlZCBpbiBwb3N0X2xvYWQgb24gZGVzdGluYXRpb24KK2J1dCBhbHNvIGVycm9yIHJlY292 ZXJ5IHBhdGggb24gc291cmNlIHNpZGUuIEFzc2VydCBpdCBmb3IgZGVzdGluYXRpb24KK2lzIHdy b25nLgorCitGaXhlczogN2U5ZjIxNDExMzAyICgidmZpby9jb250YWluZXI6IHJlc3RvcmUgRE1B IHZhZGRyIikKK1NpZ25lZC1vZmYtYnk6IFpoZW56aG9uZyBEdWFuIDx6aGVuemhvbmcuZHVhbkBp bnRlbC5jb20+CitSZXZpZXdlZC1ieTogU3RldmUgU2lzdGFyZSA8c3RldmVuLnNpc3RhcmVAb3Jh Y2xlLmNvbT4KK0xpbms6IGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL3FlbXUtZGV2ZWwvMjAyNTA5 MjgwODU0MzIuNDAxMDctMy16aGVuemhvbmcuZHVhbkBpbnRlbC5jb20KK1NpZ25lZC1vZmYtYnk6 IEPDqWRyaWMgTGUgR29hdGVyIDxjbGdAcmVkaGF0LmNvbT4KKyhjaGVycnkgcGlja2VkIGZyb20g Y29tbWl0IDk0MjMwOTQ4OTYwZTU2Y2I0N2U4MzUyNjZjN2NkOGRmNDZkYTAzYTQpCitTaWduZWQt b2ZmLWJ5OiBFcmljIEF1Z2VyIDxlcmljLmF1Z2VyQHJlZGhhdC5jb20+CistLS0KKyBody92Zmlv L2Nwci1sZWdhY3kuYyB8IDIgLS0KKyAxIGZpbGUgY2hhbmdlZCwgMiBkZWxldGlvbnMoLSkKKwor ZGlmZiAtLWdpdCBhL2h3L3ZmaW8vY3ByLWxlZ2FjeS5jIGIvaHcvdmZpby9jcHItbGVnYWN5LmMK K2luZGV4IGI0NTgxZThmODUuLjcxODRjOTM5OTEgMTAwNjQ0CistLS0gYS9ody92ZmlvL2Nwci1s ZWdhY3kuYworKysrIGIvaHcvdmZpby9jcHItbGVnYWN5LmMKK0BAIC01Miw4ICs1Miw2IEBAIHN0 YXRpYyBpbnQgdmZpb19sZWdhY3lfY3ByX2RtYV9tYXAoY29uc3QgVkZJT0NvbnRhaW5lciAqYmNv bnRhaW5lciwKKyAgICAgICAgIC5zaXplID0gc2l6ZSwKKyAgICAgfTsKKyAKKy0gICAgZ19hc3Nl cnQoY3ByX2lzX2luY29taW5nKCkpOworLQorICAgICBpZiAoaW9jdGwoY29udGFpbmVyLT5mZCwg VkZJT19JT01NVV9NQVBfRE1BLCAmbWFwKSkgeworICAgICAgICAgcmV0dXJuIC1lcnJubzsKKyAg ICAgfQorLS0gCisyLjUyLjAKKwoKZGlmZiAtLWdpdCBhL2t2bS12ZmlvLWNwci5jLXVzZS1RT00t Y2FzdHMtd2hlcmUtYXBwcm9wcmlhdGUucGF0Y2ggYi9rdm0tdmZpby1jcHIuYy11c2UtUU9NLWNh c3RzLXdoZXJlLWFwcHJvcHJpYXRlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAuLmU4MjczNTIKLS0tIC9kZXYvbnVsbAorKysgYi9rdm0tdmZpby1jcHIuYy11c2UtUU9N LWNhc3RzLXdoZXJlLWFwcHJvcHJpYXRlLnBhdGNoCkBAIC0wLDAgKzEsNzIgQEAKK0Zyb20gMTc0 OGZjZmE4ZTM1MGQxZTI4YzAxY2NkMzFjNDAzZDc5ODU4YmY5MyBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKK0Zyb206IE1hcmsgQ2F2ZS1BeWxhbmQgPG1hcmsuY2F2ZWF5bGFuZEBudXRhbml4LmNv bT4KK0RhdGU6IFR1ZSwgMTUgSnVsIDIwMjUgMTA6MjU6NTggKzAxMDAKK1N1YmplY3Q6IFtQQVRD SCAwNDQvMTE2XSB2ZmlvL2Nwci5jOiB1c2UgUU9NIGNhc3RzIHdoZXJlIGFwcHJvcHJpYXRlCitN SU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04 CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK1JILUF1dGhvcjogUm9kb2xmbyBW aWNrIDxOb25lPgorUkgtTWVyZ2VSZXF1ZXN0OiA0ODY6IEFkZCBETUFCVUYgc3VwcG9ydAorUkgt SmlyYTogUkhFTC0xMzg0OTQKK1JILUFja2VkLWJ5OiBDw6lkcmljIExlIEdvYXRlciA8Y2xnQHJl ZGhhdC5jb20+CitSSC1BY2tlZC1ieTogRXJpYyBBdWdlciA8ZXJpYy5hdWdlckByZWRoYXQuY29t PgorUkgtQ29tbWl0OiBbMjgvMTAwXSBiNWFjOGM0YWU2ZjljMzVkZGIwOTFhMTAzN2U2ODc2Njhk ZjQwOTg0IChyb3ZpY2sxL3FlbXUta3ZtKQorCitVc2UgUU9NIGNhc3RzIHRvIGNvbnZlcnQgYmV0 d2VlbiBWRklPUENJRGV2aWNlIGFuZCBQQ0lEZXZpY2UgaW5zdGVhZCBvZgorYWNjZXNzaW5nIHBk ZXYgZGlyZWN0bHkuCisKK1NpZ25lZC1vZmYtYnk6IE1hcmsgQ2F2ZS1BeWxhbmQgPG1hcmsuY2F2 ZWF5bGFuZEBudXRhbml4LmNvbT4KK1Jldmlld2VkLWJ5OiBTdGV2ZSBTaXN0YXJlIDxzdGV2ZW4u c2lzdGFyZUBvcmFjbGUuY29tPgorTGluazogaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvcWVtdS1k ZXZlbC8yMDI1MDcxNTA5MzExMC4xMDczMTctMTktbWFyay5jYXZlYXlsYW5kQG51dGFuaXguY29t CitbIGNsZzogVXBkYXRlZCB2ZmlvX2Nwcl9zZXRfbXNpX3ZpcnEoKSBdCitTaWduZWQtb2ZmLWJ5 OiBDw6lkcmljIExlIEdvYXRlciA8Y2xnQHJlZGhhdC5jb20+CisoY2hlcnJ5IHBpY2tlZCBmcm9t IGNvbW1pdCA1NGEzZWIzMTUwMjNmNTlkYjA0MjZkODU2MDRmNDUyN2JmN2IxYWFhKQorU2lnbmVk LW9mZi1ieTogRXJpYyBBdWdlciA8ZXJpYy5hdWdlckByZWRoYXQuY29tPgorLS0tCisgaHcvdmZp by9jcHIuYyB8IDggKysrKy0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCA0 IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvaHcvdmZpby9jcHIuYyBiL2h3L3ZmaW8vY3By LmMKK2luZGV4IGE4MzEyNDNlMDIuLmY5MTE5ODhhZGQgMTAwNjQ0CistLS0gYS9ody92ZmlvL2Nw ci5jCisrKysgYi9ody92ZmlvL2Nwci5jCitAQCAtNTYsNyArNTYsNyBAQCBzdGF0aWMgdm9pZCB2 ZmlvX2Nwcl9jbGFpbV92ZWN0b3JzKFZGSU9QQ0lEZXZpY2UgKnZkZXYsIGludCBucl92ZWN0b3Jz LAorIHsKKyAgICAgaW50IGksIGZkOworICAgICBib29sIHBlbmRpbmcgPSBmYWxzZTsKKy0gICAg UENJRGV2aWNlICpwZGV2ID0gJnZkZXYtPnBkZXY7CisrICAgIFBDSURldmljZSAqcGRldiA9IFBD SV9ERVZJQ0UodmRldik7CisgCisgICAgIHZkZXYtPm5yX3ZlY3RvcnMgPSBucl92ZWN0b3JzOwor ICAgICB2ZGV2LT5tc2lfdmVjdG9ycyA9IGdfbmV3MChWRklPTVNJVmVjdG9yLCBucl92ZWN0b3Jz KTsKK0BAIC05OSw3ICs5OSw3IEBAIHN0YXRpYyB2b2lkIHZmaW9fY3ByX2NsYWltX3ZlY3RvcnMo VkZJT1BDSURldmljZSAqdmRldiwgaW50IG5yX3ZlY3RvcnMsCisgc3RhdGljIGludCB2ZmlvX2Nw cl9wY2lfcHJlX2xvYWQodm9pZCAqb3BhcXVlKQorIHsKKyAgICAgVkZJT1BDSURldmljZSAqdmRl diA9IG9wYXF1ZTsKKy0gICAgUENJRGV2aWNlICpwZGV2ID0gJnZkZXYtPnBkZXY7CisrICAgIFBD SURldmljZSAqcGRldiA9IFBDSV9ERVZJQ0UodmRldik7CisgICAgIGludCBzaXplID0gTUlOKHBj aV9jb25maWdfc2l6ZShwZGV2KSwgdmRldi0+Y29uZmlnX3NpemUpOworICAgICBpbnQgaTsKKyAK K0BAIC0xMTMsNyArMTEzLDcgQEAgc3RhdGljIGludCB2ZmlvX2Nwcl9wY2lfcHJlX2xvYWQodm9p ZCAqb3BhcXVlKQorIHN0YXRpYyBpbnQgdmZpb19jcHJfcGNpX3Bvc3RfbG9hZCh2b2lkICpvcGFx dWUsIGludCB2ZXJzaW9uX2lkKQorIHsKKyAgICAgVkZJT1BDSURldmljZSAqdmRldiA9IG9wYXF1 ZTsKKy0gICAgUENJRGV2aWNlICpwZGV2ID0gJnZkZXYtPnBkZXY7CisrICAgIFBDSURldmljZSAq cGRldiA9IFBDSV9ERVZJQ0UodmRldik7CisgICAgIGludCBucl92ZWN0b3JzOworIAorICAgICB2 ZmlvX3N1Yl9wYWdlX2Jhcl91cGRhdGVfbWFwcGluZ3ModmRldik7CitAQCAtMjE0LDcgKzIxNCw3 IEBAIHN0YXRpYyBpbnQgc2V0X2lycWZkX25vdGlmaWVyX2dzaShLVk1TdGF0ZSAqcywgRXZlbnRO b3RpZmllciAqbiwKKyBzdGF0aWMgaW50IHZmaW9fY3ByX3NldF9tc2lfdmlycShWRklPUENJRGV2 aWNlICp2ZGV2LCBFcnJvciAqKmVycnAsIGJvb2wgZW5hYmxlKQorIHsKKyAgICAgY29uc3QgY2hh ciAqb3AgPSAoZW5hYmxlID8gImVuYWJsZSIgOiAiZGlzYWJsZSIpOworLSAgICBQQ0lEZXZpY2Ug KnBkZXYgPSAmdmRldi0+cGRldjsKKysgICAgUENJRGV2aWNlICpwZGV2ID0gUENJX0RFVklDRSh2 ZGV2KTsKKyAgICAgaW50IGksIG5yX3ZlY3RvcnMsIHJldCA9IDA7CisgCisgICAgIGlmIChtc2l4 X2VuYWJsZWQocGRldikpIHsKKy0tIAorMi41Mi4wCisKCmRpZmYgLS1naXQgYS9rdm0tdmZpby1p Z2QtRW5hYmxlLXF1aXJrcy13aGVuLUlHRC1pcy1ub3QtdGhlLXByaW1hcnktZC5wYXRjaCBiL2t2 bS12ZmlvLWlnZC1FbmFibGUtcXVpcmtzLXdoZW4tSUdELWlzLW5vdC10aGUtcHJpbWFyeS1kLnBh dGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc0Y2VkZGYKLS0tIC9kZXYv bnVsbAorKysgYi9rdm0tdmZpby1pZ2QtRW5hYmxlLXF1aXJrcy13aGVuLUlHRC1pcy1ub3QtdGhl LXByaW1hcnktZC5wYXRjaApAQCAtMCwwICsxLDkwIEBACitGcm9tIDAxMmU4NmJmOTBmOTJjMWUy ZGMyNWY0MzgwNmRhZGFlYTJlZjM2ZTIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBU b21pdGEgTW9la28gPHRvbWl0YW1vZWtvQGdtYWlsLmNvbT4KK0RhdGU6IFRodSwgMTQgQXVnIDIw MjUgMDA6MDU6MTAgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSCAwMTkvMTE2XSB2ZmlvL2lnZDogRW5h YmxlIHF1aXJrcyB3aGVuIElHRCBpcyBub3QgdGhlIHByaW1hcnkKKyBkaXNwbGF5CitNSU1FLVZl cnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250 ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK1JILUF1dGhvcjogUm9kb2xmbyBWaWNrIDxO b25lPgorUkgtTWVyZ2VSZXF1ZXN0OiA0ODY6IEFkZCBETUFCVUYgc3VwcG9ydAorUkgtSmlyYTog UkhFTC0xMzg0OTQKK1JILUFja2VkLWJ5OiBDw6lkcmljIExlIEdvYXRlciA8Y2xnQHJlZGhhdC5j b20+CitSSC1BY2tlZC1ieTogRXJpYyBBdWdlciA8ZXJpYy5hdWdlckByZWRoYXQuY29tPgorUkgt Q29tbWl0OiBbMy8xMDBdIGZlOWUyZjU2MWMyNzgyYTA3MTNhMDZlMjE5ZDczOGNhOThkNjI3Mjkg KHJvdmljazEvcWVtdS1rdm0pCisKK1NpbmNlIGxpbnV4IDYuMTUsIGNvbW1pdCA0MTExMjE2MGNh ODcgKCJ2ZmlvL3BjaTogbWF0Y2ggSUdEIGRldmljZXMgaW4KK2Rpc3BsYXkgY29udHJvbGxlciBj bGFzcyIpLCBJR0QgcmVsYXRlZCByZWdpb25zIGFyZSBhbHNvIGV4cG9zZWQgd2hlbgorSUdEIGlz IG5vdCBwcmltYXJ5IGRpc3BsYXkgKGRldmljZSBjbGFzcyBpcyBEaXNwbGF5IGNvbnRyb2xsZXIp LgorCitBbGxvdyBJR0QgcXVpcmtzIHRvIGJlIGVuYWJsZWQgaW4gdGhpcyBjb25maWd1cmF0aW9u IHNvIHRoYXQgZ3Vlc3RzIGNhbgoraGF2ZSBkaXNwbGF5IG91dHB1dCBvbiBJR0Qgd2hlbiBpdCBp cyBub3QgdGhlIHByaW1hcnkgZGlzcGxheS4KKworU2lnbmVkLW9mZi1ieTogVG9taXRhIE1vZWtv IDx0b21pdGFtb2Vrb0BnbWFpbC5jb20+CitSZXZpZXdlZC1ieTogQWxleCBXaWxsaWFtc29uIDxh bGV4LndpbGxpYW1zb25AcmVkaGF0LmNvbT4KK0xpbms6IGh0dHBzOi8vbG9yZS5rZXJuZWwub3Jn L3FlbXUtZGV2ZWwvMjAyNTA4MTMxNjA1MTAuMjM1NTMtMS10b21pdGFtb2Vrb0BnbWFpbC5jb20K K1NpZ25lZC1vZmYtYnk6IEPDqWRyaWMgTGUgR29hdGVyIDxjbGdAcmVkaGF0LmNvbT4KKyhjaGVy cnkgcGlja2VkIGZyb20gY29tbWl0IDQzMmNhM2RmYTNkNTdhN2JmMWU0Mjc1NzZmY2ZjYTRhYjAw NzlhNTApCitTaWduZWQtb2ZmLWJ5OiBFcmljIEF1Z2VyIDxlcmljLmF1Z2VyQHJlZGhhdC5jb20+ CistLS0KKyBody92ZmlvL2lnZC5jIHwgNyArKysrLS0tCisgaHcvdmZpby9wY2kuaCB8IDUgKysr KysKKyAyIGZpbGVzIGNoYW5nZWQsIDkgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKKwor ZGlmZiAtLWdpdCBhL2h3L3ZmaW8vaWdkLmMgYi9ody92ZmlvL2lnZC5jCitpbmRleCBlZTA3Njdi MGI4Li5mMTE2YzQwY2NkIDEwMDY0NAorLS0tIGEvaHcvdmZpby9pZ2QuYworKysrIGIvaHcvdmZp by9pZ2QuYworQEAgLTQ2MCw3ICs0NjAsNyBAQCB2b2lkIHZmaW9fcHJvYmVfaWdkX2JhcjBfcXVp cmsoVkZJT1BDSURldmljZSAqdmRldiwgaW50IG5yKQorICAgICBpbnQgZ2VuOworIAorICAgICBp ZiAoIXZmaW9fcGNpX2lzKHZkZXYsIFBDSV9WRU5ET1JfSURfSU5URUwsIFBDSV9BTllfSUQpIHx8 CistICAgICAgICAhdmZpb19pc192Z2EodmRldikgfHwgbnIgIT0gMCkgeworKyAgICAgICAgIXZm aW9faXNfYmFzZV9kaXNwbGF5KHZkZXYpIHx8IG5yICE9IDApIHsKKyAgICAgICAgIHJldHVybjsK KyAgICAgfQorIAorQEAgLTUxOCw3ICs1MTgsNyBAQCBzdGF0aWMgYm9vbCB2ZmlvX3BjaV9pZ2Rf Y29uZmlnX3F1aXJrKFZGSU9QQ0lEZXZpY2UgKnZkZXYsIEVycm9yICoqZXJycCkKKyAgICAgRXJy b3IgKmVyciA9IE5VTEw7CisgCisgICAgIGlmICghdmZpb19wY2lfaXModmRldiwgUENJX1ZFTkRP Ul9JRF9JTlRFTCwgUENJX0FOWV9JRCkgfHwKKy0gICAgICAgICF2ZmlvX2lzX3ZnYSh2ZGV2KSkg eworKyAgICAgICAgIXZmaW9faXNfYmFzZV9kaXNwbGF5KHZkZXYpKSB7CisgICAgICAgICByZXR1 cm4gdHJ1ZTsKKyAgICAgfQorIAorQEAgLTUzNCwxMiArNTM0LDEzIEBAIHN0YXRpYyBib29sIHZm aW9fcGNpX2lnZF9jb25maWdfcXVpcmsoVkZJT1BDSURldmljZSAqdmRldiwgRXJyb3IgKiplcnJw KQorICAgICAvKgorICAgICAgKiBGb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSwgZW5hYmxlIGxl Z2FjeSBtb2RlIHdoZW4KKyAgICAgICogLSBEZXZpY2UgZ2VuZWF0aW9uIGlzIDYgdG8gOSAoaW5j bHVkaW5nIGJvdGgpCistICAgICAqIC0gSUdEIGNsYWltcyBWR0EgY3ljbGVzIG9uIGhvc3QKKysg ICAgICogLSBJR0QgZXhwb3NlcyBpdHNlbGYgYXMgVkdBIGNvbnRyb2xsZXIgYW5kIGNsYWltcyBW R0EgY3ljbGVzIG9uIGhvc3QKKyAgICAgICogLSBNYWNoaW5lIHR5cGUgaXMgaTQ0MGZ4IChwY19w aWl4KQorICAgICAgKiAtIElHRCBkZXZpY2UgaXMgYXQgZ3Vlc3QgQkRGIDAwOjAyLjAKKyAgICAg ICogLSBOb3QgbWFudWFsbHkgZGlzYWJsZWQgYnkgeC1pZ2QtbGVnYWN5LW1vZGU9b2ZmCisgICAg ICAqLworICAgICBpZiAoKHZkZXYtPmlnZF9sZWdhY3lfbW9kZSAhPSBPTl9PRkZfQVVUT19PRkYp ICYmCisrICAgICAgICB2ZmlvX2lzX3ZnYSh2ZGV2KSAmJgorICAgICAgICAgKGdlbiA+PSA2ICYm IGdlbiA8PSA5KSAmJgorICAgICAgICAgIShnbWNoICYgSUdEX0dNQ0hfVkdBX0RJU0FCTEUpICYm CisgICAgICAgICAhc3RyY21wKE1BQ0hJTkVfR0VUX0NMQVNTKHFkZXZfZ2V0X21hY2hpbmUoKSkt PmZhbWlseSwgInBjX3BpaXgiKSAmJgorZGlmZiAtLWdpdCBhL2h3L3ZmaW8vcGNpLmggYi9ody92 ZmlvL3BjaS5oCitpbmRleCA4MTU1NWQ4Nzc0Li4wNTZmNWUxMmNmIDEwMDY0NAorLS0tIGEvaHcv dmZpby9wY2kuaAorKysrIGIvaHcvdmZpby9wY2kuaAorQEAgLTIwNCw2ICsyMDQsMTEgQEAgc3Rh dGljIGlubGluZSBib29sIHZmaW9faXNfdmdhKFZGSU9QQ0lEZXZpY2UgKnZkZXYpCisgICAgIHJl dHVybiAodmRldi0+Y2xhc3NfY29kZSA+PiA4KSA9PSBQQ0lfQ0xBU1NfRElTUExBWV9WR0E7Cisg fQorIAorK3N0YXRpYyBpbmxpbmUgYm9vbCB2ZmlvX2lzX2Jhc2VfZGlzcGxheShWRklPUENJRGV2 aWNlICp2ZGV2KQorK3sKKysgICAgcmV0dXJuICh2ZGV2LT5jbGFzc19jb2RlID4+IDE2KSA9PSBQ Q0lfQkFTRV9DTEFTU19ESVNQTEFZOworK30KKysKKyAvKiBNU0kvTVNJLVgvSU5UeCAqLworIHZv aWQgdmZpb19wY2lfdmVjdG9yX2luaXQoVkZJT1BDSURldmljZSAqdmRldiwgaW50IG5yKTsKKyB2 b2lkIHZmaW9fcGNpX2FkZF9rdm1fbXNpX3ZpcnEoVkZJT1BDSURldmljZSAqdmRldiwgVkZJT01T SVZlY3RvciAqdmVjdG9yLAorLS0gCisyLjUyLjAKKwoKZGlmZiAtLWdpdCBhL2t2bS12ZmlvLWln ZC5jLXVzZS1RT00tY2FzdHMtd2hlcmUtYXBwcm9wcmlhdGUucGF0Y2ggYi9rdm0tdmZpby1pZ2Qu Yy11c2UtUU9NLWNhc3RzLXdoZXJlLWFwcHJvcHJpYXRlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAuLjZhM2Q1NTQKLS0tIC9kZXYvbnVsbAorKysgYi9rdm0tdmZpby1p Z2QuYy11c2UtUU9NLWNhc3RzLXdoZXJlLWFwcHJvcHJpYXRlLnBhdGNoCkBAIC0wLDAgKzEsMTc0 IEBACitGcm9tIGIzZjI1YWFmMDkzMWQxZmRmNzQ2ZTIyODg3YWY5ZDAzMDVmMGUwNGIgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNYXJrIENhdmUtQXlsYW5kIDxtYXJrLmNhdmVheWxh bmRAbnV0YW5peC5jb20+CitEYXRlOiBUdWUsIDE1IEp1bCAyMDI1IDEwOjI1OjU5ICswMTAwCitT dWJqZWN0OiBbUEFUQ0ggMDQ1LzExNl0gdmZpby9pZ2QuYzogdXNlIFFPTSBjYXN0cyB3aGVyZSBh cHByb3ByaWF0ZQorTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsg Y2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorCitSSC1BdXRo b3I6IFJvZG9sZm8gVmljayA8Tm9uZT4KK1JILU1lcmdlUmVxdWVzdDogNDg2OiBBZGQgRE1BQlVG IHN1cHBvcnQKK1JILUppcmE6IFJIRUwtMTM4NDk0CitSSC1BY2tlZC1ieTogQ8OpZHJpYyBMZSBH b2F0ZXIgPGNsZ0ByZWRoYXQuY29tPgorUkgtQWNrZWQtYnk6IEVyaWMgQXVnZXIgPGVyaWMuYXVn ZXJAcmVkaGF0LmNvbT4KK1JILUNvbW1pdDogWzI5LzEwMF0gZjZkYzAwNWI0NWU2NTgxZThjMmJi ZmE0ZGIzOWU1ZDAwZTdiZDk4YyAocm92aWNrMS9xZW11LWt2bSkKKworVXNlIFFPTSBjYXN0cyB0 byBjb252ZXJ0IGJldHdlZW4gVkZJT1BDSURldmljZSBhbmQgUENJRGV2aWNlIGluc3RlYWQgb2YK K2FjY2Vzc2luZyBwZGV2IGRpcmVjdGx5LgorCitTaWduZWQtb2ZmLWJ5OiBNYXJrIENhdmUtQXls YW5kIDxtYXJrLmNhdmVheWxhbmRAbnV0YW5peC5jb20+CitSZXZpZXdlZC1ieTogVG9taXRhIE1v ZWtvIDx0b21pdGFtb2Vrb0BnbWFpbC5jb20+CitMaW5rOiBodHRwczovL2xvcmUua2VybmVsLm9y Zy9xZW11LWRldmVsLzIwMjUwNzE1MDkzMTEwLjEwNzMxNy0yMC1tYXJrLmNhdmVheWxhbmRAbnV0 YW5peC5jb20KK1NpZ25lZC1vZmYtYnk6IEPDqWRyaWMgTGUgR29hdGVyIDxjbGdAcmVkaGF0LmNv bT4KKyhjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDhkMzc3NmRkNmQ4NzQwZmI3YzkxYzdjMWMy NWI2MGZjN2VkZmQxOWMpCitTaWduZWQtb2ZmLWJ5OiBFcmljIEF1Z2VyIDxlcmljLmF1Z2VyQHJl ZGhhdC5jb20+CistLS0KKyBody92ZmlvL2lnZC5jIHwgMzggKysrKysrKysrKysrKysrKysrKysr LS0tLS0tLS0tLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMjEgaW5zZXJ0aW9ucygrKSwgMTcg ZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9ody92ZmlvL2lnZC5jIGIvaHcvdmZpby9pZ2Qu YworaW5kZXggZjExNmM0MGNjZC4uNGJmYTJlMGZjZCAxMDA2NDQKKy0tLSBhL2h3L3ZmaW8vaWdk LmMKKysrKyBiL2h3L3ZmaW8vaWdkLmMKK0BAIC0yMDAsNyArMjAwLDcgQEAgc3RhdGljIGJvb2wg dmZpb19wY2lfaWdkX29wcmVnaW9uX2RldGVjdChWRklPUENJRGV2aWNlICp2ZGV2LAorICAgICB9 CisgCisgICAgIC8qIEhvdHBsdWdnaW5nIGlzIG5vdCBzdXBwb3J0ZWQgZm9yIG9wcmVnaW9uIGFj Y2VzcyAqLworLSAgICBpZiAodmRldi0+cGRldi5xZGV2LmhvdHBsdWdnZWQpIHsKKysgICAgaWYg KERFVklDRSh2ZGV2KS0+aG90cGx1Z2dlZCkgeworICAgICAgICAgd2Fybl9yZXBvcnQoIklHRCBk ZXZpY2UgZGV0ZWN0ZWQsIGJ1dCBPcFJlZ2lvbiBpcyBub3Qgc3VwcG9ydGVkICIKKyAgICAgICAg ICAgICAgICAgICAgICJvbiBob3RwbHVnZ2VkIGRldmljZS4iKTsKKyAgICAgICAgIHJldHVybiBm YWxzZTsKK0BAIC0yNjAsMTEgKzI2MCwxMiBAQCBzdGF0aWMgaW50IHZmaW9fcGNpX2lnZF9jb3B5 KFZGSU9QQ0lEZXZpY2UgKnZkZXYsIFBDSURldmljZSAqcGRldiwKKyBzdGF0aWMgaW50IHZmaW9f cGNpX2lnZF9ob3N0X2luaXQoVkZJT1BDSURldmljZSAqdmRldiwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgc3RydWN0IHZmaW9fcmVnaW9uX2luZm8gKmluZm8pCisgeworKyAg ICBQQ0lEZXZpY2UgKnBkZXYgPSBQQ0lfREVWSUNFKHZkZXYpOworICAgICBQQ0lCdXMgKmJ1czsK KyAgICAgUENJRGV2aWNlICpob3N0X2JyaWRnZTsKKyAgICAgaW50IHJldDsKKyAKKy0gICAgYnVz ID0gcGNpX2RldmljZV9yb290X2J1cygmdmRldi0+cGRldik7CisrICAgIGJ1cyA9IHBjaV9kZXZp Y2Vfcm9vdF9idXMocGRldik7CisgICAgIGhvc3RfYnJpZGdlID0gcGNpX2ZpbmRfZGV2aWNlKGJ1 cywgMCwgUENJX0RFVkZOKDAsIDApKTsKKyAKKyAgICAgaWYgKCFob3N0X2JyaWRnZSkgeworQEAg LTMyNywxMyArMzI4LDE0IEBAIHR5cGVfaW5pdCh2ZmlvX3BjaV9pZ2RfcmVnaXN0ZXJfdHlwZXMp Cisgc3RhdGljIGludCB2ZmlvX3BjaV9pZ2RfbHBjX2luaXQoVkZJT1BDSURldmljZSAqdmRldiwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgdmZpb19yZWdpb25faW5m byAqaW5mbykKKyB7CisrICAgIFBDSURldmljZSAqcGRldiA9IFBDSV9ERVZJQ0UodmRldik7Cisg ICAgIFBDSURldmljZSAqbHBjX2JyaWRnZTsKKyAgICAgaW50IHJldDsKKyAKKy0gICAgbHBjX2Jy aWRnZSA9IHBjaV9maW5kX2RldmljZShwY2lfZGV2aWNlX3Jvb3RfYnVzKCZ2ZGV2LT5wZGV2KSwK KysgICAgbHBjX2JyaWRnZSA9IHBjaV9maW5kX2RldmljZShwY2lfZGV2aWNlX3Jvb3RfYnVzKHBk ZXYpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsIFBDSV9ERVZGTigweDFm LCAwKSk7CisgICAgIGlmICghbHBjX2JyaWRnZSkgeworLSAgICAgICAgbHBjX2JyaWRnZSA9IHBj aV9jcmVhdGVfc2ltcGxlKHBjaV9kZXZpY2Vfcm9vdF9idXMoJnZkZXYtPnBkZXYpLAorKyAgICAg ICAgbHBjX2JyaWRnZSA9IHBjaV9jcmVhdGVfc2ltcGxlKHBjaV9kZXZpY2Vfcm9vdF9idXMocGRl diksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUENJX0RFVkZOKDB4MWYsIDAp LCAidmZpby1wY2ktaWdkLWxwYy1icmlkZ2UiKTsKKyAgICAgfQorIAorQEAgLTM1MCwxMyArMzUy LDE0IEBAIHN0YXRpYyBib29sIHZmaW9fcGNpX2lnZF9zZXR1cF9scGNfYnJpZGdlKFZGSU9QQ0lE ZXZpY2UgKnZkZXYsIEVycm9yICoqZXJycCkKKyB7CisgICAgIHN0cnVjdCB2ZmlvX3JlZ2lvbl9p bmZvICpob3N0ID0gTlVMTDsKKyAgICAgc3RydWN0IHZmaW9fcmVnaW9uX2luZm8gKmxwYyA9IE5V TEw7CisrICAgIFBDSURldmljZSAqcGRldiA9IFBDSV9ERVZJQ0UodmRldik7CisgICAgIFBDSURl dmljZSAqbHBjX2JyaWRnZTsKKyAgICAgaW50IHJldDsKKyAKKyAgICAgLyoKKyAgICAgICogQ29w eWluZyBJRHMgb3IgY3JlYXRpbmcgbmV3IGRldmljZXMgYXJlIG5vdCBzdXBwb3J0ZWQgb24gaG90 cGx1ZworICAgICAgKi8KKy0gICAgaWYgKHZkZXYtPnBkZXYucWRldi5ob3RwbHVnZ2VkKSB7Cisr ICAgIGlmIChERVZJQ0UodmRldiktPmhvdHBsdWdnZWQpIHsKKyAgICAgICAgIGVycm9yX3NldGco ZXJycCwgIklHRCBMUEMgaXMgbm90IHN1cHBvcnRlZCBvbiBob3RwbHVnZ2VkIGRldmljZSIpOwor ICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICB9CitAQCAtMzY2LDcgKzM2OSw3IEBAIHN0YXRp YyBib29sIHZmaW9fcGNpX2lnZF9zZXR1cF9scGNfYnJpZGdlKFZGSU9QQ0lEZXZpY2UgKnZkZXYs IEVycm9yICoqZXJycCkKKyAgICAgICogY2FuIHN0dWZmIGhvc3QgdmFsdWVzIGludG8sIHNvIGlm IHRoZXJlJ3MgYWxyZWFkeSBvbmUgdGhlcmUgYW5kIGl0J3Mgbm90CisgICAgICAqIG9uZSB3ZSBj YW4gaGFjayBvbiwgdGhpcyBxdWlyayBpcyBuby1nby4gIFNvcnJ5IFEzNS4KKyAgICAgICovCist ICAgIGxwY19icmlkZ2UgPSBwY2lfZmluZF9kZXZpY2UocGNpX2RldmljZV9yb290X2J1cygmdmRl di0+cGRldiksCisrICAgIGxwY19icmlkZ2UgPSBwY2lfZmluZF9kZXZpY2UocGNpX2RldmljZV9y b290X2J1cyhwZGV2KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLCBQQ0lf REVWRk4oMHgxZiwgMCkpOworICAgICBpZiAobHBjX2JyaWRnZSAmJiAhb2JqZWN0X2R5bmFtaWNf Y2FzdChPQkpFQ1QobHBjX2JyaWRnZSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICJ2ZmlvLXBjaS1pZ2QtbHBjLWJyaWRnZSIpKSB7CitAQCAtNTEwLDYgKzUx Myw3IEBAIHZvaWQgdmZpb19wcm9iZV9pZ2RfYmFyMF9xdWlyayhWRklPUENJRGV2aWNlICp2ZGV2 LCBpbnQgbnIpCisgc3RhdGljIGJvb2wgdmZpb19wY2lfaWdkX2NvbmZpZ19xdWlyayhWRklPUENJ RGV2aWNlICp2ZGV2LCBFcnJvciAqKmVycnApCisgeworICAgICBzdHJ1Y3QgdmZpb19yZWdpb25f aW5mbyAqb3ByZWdpb24gPSBOVUxMOworKyAgICBQQ0lEZXZpY2UgKnBkZXYgPSBQQ0lfREVWSUNF KHZkZXYpOworICAgICBpbnQgcmV0LCBnZW47CisgICAgIHVpbnQ2NF90IGdtc19zaXplID0gMDsK KyAgICAgdWludDY0X3QgKmJkc21fc2l6ZTsKK0BAIC01MjksNyArNTMzLDcgQEAgc3RhdGljIGJv b2wgdmZpb19wY2lfaWdkX2NvbmZpZ19xdWlyayhWRklPUENJRGV2aWNlICp2ZGV2LCBFcnJvciAq KmVycnApCisgICAgIGluZm9fcmVwb3J0KCJPcFJlZ2lvbiBkZXRlY3RlZCBvbiBJbnRlbCBkaXNw bGF5ICV4LiIsIHZkZXYtPmRldmljZV9pZCk7CisgCisgICAgIGdlbiA9IGlnZF9nZW4odmRldik7 CistICAgIGdtY2ggPSB2ZmlvX3BjaV9yZWFkX2NvbmZpZygmdmRldi0+cGRldiwgSUdEX0dNQ0gs IDQpOworKyAgICBnbWNoID0gdmZpb19wY2lfcmVhZF9jb25maWcocGRldiwgSUdEX0dNQ0gsIDQp OworIAorICAgICAvKgorICAgICAgKiBGb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSwgZW5hYmxl IGxlZ2FjeSBtb2RlIHdoZW4KK0BAIC01NDQsNyArNTQ4LDcgQEAgc3RhdGljIGJvb2wgdmZpb19w Y2lfaWdkX2NvbmZpZ19xdWlyayhWRklPUENJRGV2aWNlICp2ZGV2LCBFcnJvciAqKmVycnApCisg ICAgICAgICAoZ2VuID49IDYgJiYgZ2VuIDw9IDkpICYmCisgICAgICAgICAhKGdtY2ggJiBJR0Rf R01DSF9WR0FfRElTQUJMRSkgJiYKKyAgICAgICAgICFzdHJjbXAoTUFDSElORV9HRVRfQ0xBU1Mo cWRldl9nZXRfbWFjaGluZSgpKS0+ZmFtaWx5LCAicGNfcGlpeCIpICYmCistICAgICAgICAoJnZk ZXYtPnBkZXYgPT0gcGNpX2ZpbmRfZGV2aWNlKHBjaV9kZXZpY2Vfcm9vdF9idXMoJnZkZXYtPnBk ZXYpLAorKyAgICAgICAgKHBkZXYgPT0gcGNpX2ZpbmRfZGV2aWNlKHBjaV9kZXZpY2Vfcm9vdF9i dXMocGRldiksCisgICAgICAgICAwLCBQQ0lfREVWRk4oMHgyLCAwKSkpKSB7CisgICAgICAgICAv KgorICAgICAgICAgICogSUdEIGxlZ2FjeSBtb2RlIHJlcXVpcmVzOgorQEAgLTU2Niw3ICs1NzAs NyBAQCBzdGF0aWMgYm9vbCB2ZmlvX3BjaV9pZ2RfY29uZmlnX3F1aXJrKFZGSU9QQ0lEZXZpY2Ug KnZkZXYsIEVycm9yICoqZXJycCkKKyAgICAgICAgICAqLworICAgICAgICAgcmV0ID0gdmZpb19k ZXZpY2VfZ2V0X3JlZ2lvbl9pbmZvKCZ2ZGV2LT52YmFzZWRldiwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBWRklPX1BDSV9ST01fUkVHSU9OX0lOREVYLCAmcm9t KTsKKy0gICAgICAgIGlmICgocmV0IHx8ICFyb20tPnNpemUpICYmICF2ZGV2LT5wZGV2LnJvbWZp bGUpIHsKKysgICAgICAgIGlmICgocmV0IHx8ICFyb20tPnNpemUpICYmICFwZGV2LT5yb21maWxl KSB7CisgICAgICAgICAgICAgZXJyb3Jfc2V0ZygmZXJyLCAiRGV2aWNlIGhhcyBubyBST00iKTsK KyAgICAgICAgICAgICBnb3RvIGVycm9yOworICAgICAgICAgfQorQEAgLTYxMSw4ICs2MTUsOCBA QCBzdGF0aWMgYm9vbCB2ZmlvX3BjaV9pZ2RfY29uZmlnX3F1aXJrKFZGSU9QQ0lEZXZpY2UgKnZk ZXYsIEVycm9yICoqZXJycCkKKyAgICAgICogQVNMUyAoT3BSZWdpb24gYWRkcmVzcykgaXMgcmVh ZC1vbmx5LCBlbXVsYXRlZAorICAgICAgKiBJdCBjb250YWlucyBIUEEsIGd1ZXN0IGZpcm13YXJl IG5lZWQgdG8gcmVwcm9ncmFtIGl0IHdpdGggR1BBLgorICAgICAgKi8KKy0gICAgcGNpX3NldF9s b25nKHZkZXYtPnBkZXYuY29uZmlnICsgSUdEX0FTTFMsIDApOworLSAgICBwY2lfc2V0X2xvbmco dmRldi0+cGRldi53bWFzayArIElHRF9BU0xTLCB+MCk7CisrICAgIHBjaV9zZXRfbG9uZyhwZGV2 LT5jb25maWcgKyBJR0RfQVNMUywgMCk7CisrICAgIHBjaV9zZXRfbG9uZyhwZGV2LT53bWFzayAr IElHRF9BU0xTLCB+MCk7CisgICAgIHBjaV9zZXRfbG9uZyh2ZGV2LT5lbXVsYXRlZF9jb25maWdf Yml0cyArIElHRF9BU0xTLCB+MCk7CisgCisgICAgIC8qCitAQCAtNjI2LDggKzYzMCw4IEBAIHN0 YXRpYyBib29sIHZmaW9fcGNpX2lnZF9jb25maWdfcXVpcmsoVkZJT1BDSURldmljZSAqdmRldiwg RXJyb3IgKiplcnJwKQorICAgICAgICAgfQorIAorICAgICAgICAgLyogR01DSCBpcyByZWFkLW9u bHksIGVtdWxhdGVkICovCistICAgICAgICBwY2lfc2V0X2xvbmcodmRldi0+cGRldi5jb25maWcg KyBJR0RfR01DSCwgZ21jaCk7CistICAgICAgICBwY2lfc2V0X2xvbmcodmRldi0+cGRldi53bWFz ayArIElHRF9HTUNILCAwKTsKKysgICAgICAgIHBjaV9zZXRfbG9uZyhwZGV2LT5jb25maWcgKyBJ R0RfR01DSCwgZ21jaCk7CisrICAgICAgICBwY2lfc2V0X2xvbmcocGRldi0+d21hc2sgKyBJR0Rf R01DSCwgMCk7CisgICAgICAgICBwY2lfc2V0X2xvbmcodmRldi0+ZW11bGF0ZWRfY29uZmlnX2Jp dHMgKyBJR0RfR01DSCwgfjApOworICAgICB9CisgCitAQCAtNjM2LDEyICs2NDAsMTIgQEAgc3Rh dGljIGJvb2wgdmZpb19wY2lfaWdkX2NvbmZpZ19xdWlyayhWRklPUENJRGV2aWNlICp2ZGV2LCBF cnJvciAqKmVycnApCisgCisgICAgICAgICAvKiBCRFNNIGlzIHJlYWQtd3JpdGUsIGVtdWxhdGVk LiBCSU9TIG5lZWRzIHRvIGJlIGFibGUgdG8gd3JpdGUgaXQgKi8KKyAgICAgICAgIGlmIChnZW4g PCAxMSkgeworLSAgICAgICAgICAgIHBjaV9zZXRfbG9uZyh2ZGV2LT5wZGV2LmNvbmZpZyArIElH RF9CRFNNLCAwKTsKKy0gICAgICAgICAgICBwY2lfc2V0X2xvbmcodmRldi0+cGRldi53bWFzayAr IElHRF9CRFNNLCB+MCk7CisrICAgICAgICAgICAgcGNpX3NldF9sb25nKHBkZXYtPmNvbmZpZyAr IElHRF9CRFNNLCAwKTsKKysgICAgICAgICAgICBwY2lfc2V0X2xvbmcocGRldi0+d21hc2sgKyBJ R0RfQkRTTSwgfjApOworICAgICAgICAgICAgIHBjaV9zZXRfbG9uZyh2ZGV2LT5lbXVsYXRlZF9j b25maWdfYml0cyArIElHRF9CRFNNLCB+MCk7CisgICAgICAgICB9IGVsc2UgeworLSAgICAgICAg ICAgIHBjaV9zZXRfcXVhZCh2ZGV2LT5wZGV2LmNvbmZpZyArIElHRF9CRFNNX0dFTjExLCAwKTsK Ky0gICAgICAgICAgICBwY2lfc2V0X3F1YWQodmRldi0+cGRldi53bWFzayArIElHRF9CRFNNX0dF TjExLCB+MCk7CisrICAgICAgICAgICAgcGNpX3NldF9xdWFkKHBkZXYtPmNvbmZpZyArIElHRF9C RFNNX0dFTjExLCAwKTsKKysgICAgICAgICAgICBwY2lfc2V0X3F1YWQocGRldi0+d21hc2sgKyBJ R0RfQkRTTV9HRU4xMSwgfjApOworICAgICAgICAgICAgIHBjaV9zZXRfcXVhZCh2ZGV2LT5lbXVs YXRlZF9jb25maWdfYml0cyArIElHRF9CRFNNX0dFTjExLCB+MCk7CisgICAgICAgICB9CisgICAg IH0KKy0tIAorMi41Mi4wCisKCmRpZmYgLS1naXQgYS9rdm0tdmZpby1pb21tdWZkLVJlc3RvcmUt dmJhc2VkZXYtcy1yZWZlcmVuY2UtdG8taHdwdC1hZi5wYXRjaCBiL2t2bS12ZmlvLWlvbW11ZmQt UmVzdG9yZS12YmFzZWRldi1zLXJlZmVyZW5jZS10by1od3B0LWFmLnBhdGNoCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUyMmVlMzUKLS0tIC9kZXYvbnVsbAorKysgYi9rdm0t dmZpby1pb21tdWZkLVJlc3RvcmUtdmJhc2VkZXYtcy1yZWZlcmVuY2UtdG8taHdwdC1hZi5wYXRj aApAQCAtMCwwICsxLDUyIEBACitGcm9tIDJlNTkwNThjYWYyMGM1NTQyOGY2MGQwMTk1OGNkY2Iz ZTI0ZTIxNGMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBaaGVuemhvbmcgRHVhbiA8 emhlbnpob25nLmR1YW5AaW50ZWwuY29tPgorRGF0ZTogU3VuLCAyOCBTZXAgMjAyNSAwNDo1NDoz MCAtMDQwMAorU3ViamVjdDogW1BBVENIIDEwMS8xMTZdIHZmaW8vaW9tbXVmZDogUmVzdG9yZSB2 YmFzZWRldidzIHJlZmVyZW5jZSB0byBod3B0CisgYWZ0ZXIgQ1BSIHRyYW5zZmVyCitNSU1FLVZl cnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250 ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK1JILUF1dGhvcjogUm9kb2xmbyBWaWNrIDxO b25lPgorUkgtTWVyZ2VSZXF1ZXN0OiA0ODY6IEFkZCBETUFCVUYgc3VwcG9ydAorUkgtSmlyYTog UkhFTC0xMzg0OTQKK1JILUFja2VkLWJ5OiBDw6lkcmljIExlIEdvYXRlciA8Y2xnQHJlZGhhdC5j b20+CitSSC1BY2tlZC1ieTogRXJpYyBBdWdlciA8ZXJpYy5hdWdlckByZWRoYXQuY29tPgorUkgt Q29tbWl0OiBbODUvMTAwXSBiZWU4NmNmZjI5YjA0ZmVlOTM2NjllMzU0ODJhMzYyZDcwMTk4ZDgy IChyb3ZpY2sxL3FlbXUta3ZtKQorCitBZnRlciBDUFIgdHJhbnNmZXIsIGlmIHRoZXJlIGFyZSBt b3JlIHRoYW4gb25lIFZGSU8gZGV2aWNlcywgZGV2aWNlIGlzCitub3QgYWRkZWQgdG8gaHdwdC0+ ZGV2aWNlX2xpc3QgYW5kIGl0cyByZWZlcmVuY2UgdG8gaHdwdCBpc24ndCByZXN0b3JlZAorb24g ZGVzdGluYXRpb24uIFdlIHN0aWxsIG5lZWQgdG8gY2FsbCBpb21tdWZkX2NkZXZfYXR0YWNoX2Nv bnRhaW5lcigpIHRvCityZXN0b3JlIGl0IGFmdGVyIGEgbWF0Y2hpbmcgY29udGFpbmVyIGlzIGZv dW5kLCBvciBlbHNlIFNJR1NFViB0cmlnZ2Vycy4KKworRml4ZXM6IDQyOTZlZTA3NDU1ZSAoInZm aW8vaW9tbXVmZDogcmVjb25zdHJ1Y3QgZGV2aWNlIikKK1NpZ25lZC1vZmYtYnk6IFpoZW56aG9u ZyBEdWFuIDx6aGVuemhvbmcuZHVhbkBpbnRlbC5jb20+CitSZXZpZXdlZC1ieTogU3RldmUgU2lz dGFyZSA8c3RldmVuLnNpc3RhcmVAb3JhY2xlLmNvbT4KK0xpbms6IGh0dHBzOi8vbG9yZS5rZXJu ZWwub3JnL3FlbXUtZGV2ZWwvMjAyNTA5MjgwODU0MzIuNDAxMDctNS16aGVuemhvbmcuZHVhbkBp bnRlbC5jb20KK1NpZ25lZC1vZmYtYnk6IEPDqWRyaWMgTGUgR29hdGVyIDxjbGdAcmVkaGF0LmNv bT4KKyhjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDhiZjQ5ZmZmMGRmYmIwNjVhZDY1ZGFhNDhk MmUxYTYzYWQyZmQ1NTIpCitTaWduZWQtb2ZmLWJ5OiBFcmljIEF1Z2VyIDxlcmljLmF1Z2VyQHJl ZGhhdC5jb20+CistLS0KKyBody92ZmlvL2lvbW11ZmQuYyB8IDUgKystLS0KKyAxIGZpbGUgY2hh bmdlZCwgMiBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvaHcv dmZpby9pb21tdWZkLmMgYi9ody92ZmlvL2lvbW11ZmQuYworaW5kZXggM2IwMjg4ZjQxNi4uY2Ux MDM3MTgxOCAxMDA2NDQKKy0tLSBhL2h3L3ZmaW8vaW9tbXVmZC5jCisrKysgYi9ody92ZmlvL2lv bW11ZmQuYworQEAgLTU2MCwxMCArNTYwLDkgQEAgc3RhdGljIGJvb2wgaW9tbXVmZF9jZGV2X2F0 dGFjaChjb25zdCBjaGFyICpuYW1lLCBWRklPRGV2aWNlICp2YmFzZWRldiwKKyAgICAgICAgICAg ICBjb250aW51ZTsKKyAgICAgICAgIH0KKyAKKy0gICAgICAgIGlmICghY3ByX2lzX2luY29taW5n KCkpIHsKKysgICAgICAgIGlmICghY3ByX2lzX2luY29taW5nKCkgfHwKKysgICAgICAgICAgICAo dmJhc2VkZXYtPmNwci5pb2FzX2lkID09IGNvbnRhaW5lci0+aW9hc19pZCkpIHsKKyAgICAgICAg ICAgICByZXMgPSBpb21tdWZkX2NkZXZfYXR0YWNoX2NvbnRhaW5lcih2YmFzZWRldiwgY29udGFp bmVyLCAmZXJyKTsKKy0gICAgICAgIH0gZWxzZSBpZiAodmJhc2VkZXYtPmNwci5pb2FzX2lkID09 IGNvbnRhaW5lci0+aW9hc19pZCkgeworLSAgICAgICAgICAgIHJlcyA9IHRydWU7CisgICAgICAg ICB9IGVsc2UgeworICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgfQorLS0gCisyLjUy LjAKKwoKZGlmZiAtLWdpdCBhL2t2bS12ZmlvLWlvbW11ZmQtU2V0LWNwci5pb2FzX2lkLW9uLXNv dXJjZS1zaWRlLWZvci1DUFItLnBhdGNoIGIva3ZtLXZmaW8taW9tbXVmZC1TZXQtY3ByLmlvYXNf aWQtb24tc291cmNlLXNpZGUtZm9yLUNQUi0ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMC4uNThmMzlkMwotLS0gL2Rldi9udWxsCisrKyBiL2t2bS12ZmlvLWlvbW11ZmQt U2V0LWNwci5pb2FzX2lkLW9uLXNvdXJjZS1zaWRlLWZvci1DUFItLnBhdGNoCkBAIC0wLDAgKzEs NTYgQEAKK0Zyb20gNjYzZjAwNDY3YWE0ZjFhMDgxMDA1ZGMwNDYwYjNkMTcwYWFhOTY5MyBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFpoZW56aG9uZyBEdWFuIDx6aGVuemhvbmcuZHVh bkBpbnRlbC5jb20+CitEYXRlOiBTdW4sIDI4IFNlcCAyMDI1IDA0OjU0OjI5IC0wNDAwCitTdWJq ZWN0OiBbUEFUQ0ggMTAwLzExNl0gdmZpby9pb21tdWZkOiBTZXQgY3ByLmlvYXNfaWQgb24gc291 cmNlIHNpZGUgZm9yIENQUgorIHRyYW5zZmVyCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1U eXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5n OiA4Yml0CisKK1JILUF1dGhvcjogUm9kb2xmbyBWaWNrIDxOb25lPgorUkgtTWVyZ2VSZXF1ZXN0 OiA0ODY6IEFkZCBETUFCVUYgc3VwcG9ydAorUkgtSmlyYTogUkhFTC0xMzg0OTQKK1JILUFja2Vk LWJ5OiBDw6lkcmljIExlIEdvYXRlciA8Y2xnQHJlZGhhdC5jb20+CitSSC1BY2tlZC1ieTogRXJp YyBBdWdlciA8ZXJpYy5hdWdlckByZWRoYXQuY29tPgorUkgtQ29tbWl0OiBbODQvMTAwXSBjM2Uw MmQ5Yjg1ODA2NWZlMDRiNzMwZjIzYjRmOTUzNjMxNDgzNzFmIChyb3ZpY2sxL3FlbXUta3ZtKQor CitPbiBzb3VyY2Ugc2lkZSwgaWYgdGhlcmUgYXJlIG1vcmUgdGhhbiBvbmUgVkZJTyBkZXZpY2Vz IGFuZCB0aGV5CithdHRhY2ggdG8gc2FtZSBjb250YWluZXIsIG9ubHkgdGhlIGZpcnN0IGRldmlj ZSBzZXRzIGNwci5pb2FzX2lkLAordGhlIG90aGVycyBhcmUgYnlwYXNzZWQuIFdlIHNob3VsZCBz ZXQgaXQgZm9yIGVhY2ggZGV2aWNlLCBvcgorZWxzZSBvbmx5IGZpcnN0IGRldmljZSB3b3Jrcy4K KworRml4ZXM6IDQyOTZlZTA3NDU1ZSAoInZmaW8vaW9tbXVmZDogcmVjb25zdHJ1Y3QgZGV2aWNl IikKK1NpZ25lZC1vZmYtYnk6IFpoZW56aG9uZyBEdWFuIDx6aGVuemhvbmcuZHVhbkBpbnRlbC5j b20+CitSZXZpZXdlZC1ieTogU3RldmUgU2lzdGFyZSA8c3RldmVuLnNpc3RhcmVAb3JhY2xlLmNv bT4KK0xpbms6IGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL3FlbXUtZGV2ZWwvMjAyNTA5MjgwODU0 MzIuNDAxMDctNC16aGVuemhvbmcuZHVhbkBpbnRlbC5jb20KK1NpZ25lZC1vZmYtYnk6IEPDqWRy aWMgTGUgR29hdGVyIDxjbGdAcmVkaGF0LmNvbT4KKyhjaGVycnkgcGlja2VkIGZyb20gY29tbWl0 IGQ1OWRiMDRhZWQ3NTBiYTRmYzU2Zjc5Y2FlOTk4MTQzMzRlYzgyODUpCitTaWduZWQtb2ZmLWJ5 OiBFcmljIEF1Z2VyIDxlcmljLmF1Z2VyQHJlZGhhdC5jb20+CistLS0KKyBody92ZmlvL2lvbW11 ZmQuYyB8IDMgKystCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlv bigtKQorCitkaWZmIC0tZ2l0IGEvaHcvdmZpby9pb21tdWZkLmMgYi9ody92ZmlvL2lvbW11ZmQu YworaW5kZXggMTBmYzA2NWQyMC4uM2IwMjg4ZjQxNiAxMDA2NDQKKy0tLSBhL2h3L3ZmaW8vaW9t bXVmZC5jCisrKysgYi9ody92ZmlvL2lvbW11ZmQuYworQEAgLTYwMiw3ICs2MDIsNiBAQCBza2lw X2lvYXNfYWxsb2M6CisgICAgIGNvbnRhaW5lci0+YmUgPSB2YmFzZWRldi0+aW9tbXVmZDsKKyAg ICAgY29udGFpbmVyLT5pb2FzX2lkID0gaW9hc19pZDsKKyAgICAgUUxJU1RfSU5JVCgmY29udGFp bmVyLT5od3B0X2xpc3QpOworLSAgICB2YmFzZWRldi0+Y3ByLmlvYXNfaWQgPSBpb2FzX2lkOwor IAorICAgICBiY29udGFpbmVyID0gVkZJT19JT01NVShjb250YWluZXIpOworICAgICB2ZmlvX2Fk ZHJlc3Nfc3BhY2VfaW5zZXJ0KHNwYWNlLCBiY29udGFpbmVyKTsKK0BAIC02MzYsNiArNjM1LDgg QEAgc2tpcF9pb2FzX2FsbG9jOgorICAgICBiY29udGFpbmVyLT5pbml0aWFsaXplZCA9IHRydWU7 CisgCisgZm91bmRfY29udGFpbmVyOgorKyAgICB2YmFzZWRldi0+Y3ByLmlvYXNfaWQgPSBjb250 YWluZXItPmlvYXNfaWQ7CisrCisgICAgIHJldCA9IGlvY3RsKGRldmZkLCBWRklPX0RFVklDRV9H RVRfSU5GTywgJmRldl9pbmZvKTsKKyAgICAgaWYgKHJldCkgeworICAgICAgICAgZXJyb3Jfc2V0 Z19lcnJubyhlcnJwLCBlcnJubywgImVycm9yIGdldHRpbmcgZGV2aWNlIGluZm8iKTsKKy0tIAor Mi41Mi4wCisKCmRpZmYgLS1naXQgYS9rdm0tdmZpby1pb21tdWZkLVN1cHBvcnQtdW5tYXAtYWxs LWluLW9uZS1pb2N0bC5wYXRjaCBiL2t2bS12ZmlvLWlvbW11ZmQtU3VwcG9ydC11bm1hcC1hbGwt aW4tb25lLWlvY3RsLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRk MTA3ZDIKLS0tIC9kZXYvbnVsbAorKysgYi9rdm0tdmZpby1pb21tdWZkLVN1cHBvcnQtdW5tYXAt YWxsLWluLW9uZS1pb2N0bC5wYXRjaApAQCAtMCwwICsxLDU5IEBACitGcm9tIGNmOWEyNDVhODMx ZGYzYjgwNzkyNmM1NDRiNTkzNjc1MzYzYTk1NmYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitG cm9tOiBaaGVuemhvbmcgRHVhbiA8emhlbnpob25nLmR1YW5AaW50ZWwuY29tPgorRGF0ZTogVGh1 LCA5IE9jdCAyMDI1IDAwOjAxOjMzIC0wNDAwCitTdWJqZWN0OiBbUEFUQ0ggMTAzLzExNl0gdmZp by9pb21tdWZkOiBTdXBwb3J0IHVubWFwIGFsbCBpbiBvbmUgaW9jdGwoKQorTUlNRS1WZXJzaW9u OiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1U cmFuc2Zlci1FbmNvZGluZzogOGJpdAorCitSSC1BdXRob3I6IFJvZG9sZm8gVmljayA8Tm9uZT4K K1JILU1lcmdlUmVxdWVzdDogNDg2OiBBZGQgRE1BQlVGIHN1cHBvcnQKK1JILUppcmE6IFJIRUwt MTM4NDk0CitSSC1BY2tlZC1ieTogQ8OpZHJpYyBMZSBHb2F0ZXIgPGNsZ0ByZWRoYXQuY29tPgor UkgtQWNrZWQtYnk6IEVyaWMgQXVnZXIgPGVyaWMuYXVnZXJAcmVkaGF0LmNvbT4KK1JILUNvbW1p dDogWzg3LzEwMF0gYWE0NWUyODFmM2RlMDc5NDRjNDQxYjYwOTZiNzNjNTRmM2U0NWI5NyAocm92 aWNrMS9xZW11LWt2bSkKKworSU9NTVVGRCBrZXJuZWwgdUFQSSBzdXBwb3J0cyB1bm1hcHBpbmcg d2hvbGUgYWRkcmVzcyBzcGFjZSBpbiBvbmUgY2FsbCB3aXRoCitbaW92YSwgc2l6ZV0gc2V0IHRv IFswLCBVSU5UNjRfTUFYXSwgdGhpcyBjYW4gc2ltcGxpZnkgaW9tbXVmZF9jZGV2X3VubWFwKCkK K2EgYml0LiBTZWUgaW9tbXVmZF9pb2FzX3VubWFwKCkgaW4ga2VybmVsIGZvciBkZXRhaWxzLgor CitTaWduZWQtb2ZmLWJ5OiBaaGVuemhvbmcgRHVhbiA8emhlbnpob25nLmR1YW5AaW50ZWwuY29t PgorUmV2aWV3ZWQtYnk6IEPDqWRyaWMgTGUgR29hdGVyIDxjbGdAcmVkaGF0LmNvbT4KK0xpbms6 IGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL3FlbXUtZGV2ZWwvMjAyNTEwMDkwNDAxMzQuMzM0MjUx LTMtemhlbnpob25nLmR1YW5AaW50ZWwuY29tCitTaWduZWQtb2ZmLWJ5OiBDw6lkcmljIExlIEdv YXRlciA8Y2xnQHJlZGhhdC5jb20+CisoY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCBiMzA4MjNl NTYxOWVkNTY1OGQzM2U0M2FiZTEzMDgxOTVlZGIzZThiKQorU2lnbmVkLW9mZi1ieTogRXJpYyBB dWdlciA8ZXJpYy5hdWdlckByZWRoYXQuY29tPgorLS0tCisgaHcvdmZpby9pb21tdWZkLmMgfCAx NSArLS0tLS0tLS0tLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDE0IGRl bGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvaHcvdmZpby9pb21tdWZkLmMgYi9ody92ZmlvL2lv bW11ZmQuYworaW5kZXggY2UxMDM3MTgxOC4uYmI1Nzc1YWE3MSAxMDA2NDQKKy0tLSBhL2h3L3Zm aW8vaW9tbXVmZC5jCisrKysgYi9ody92ZmlvL2lvbW11ZmQuYworQEAgLTYyLDIxICs2Miw4IEBA IHN0YXRpYyBpbnQgaW9tbXVmZF9jZGV2X3VubWFwKGNvbnN0IFZGSU9Db250YWluZXIgKmJjb250 YWluZXIsCisgeworICAgICBjb25zdCBWRklPSU9NTVVGRENvbnRhaW5lciAqY29udGFpbmVyID0g VkZJT19JT01NVV9JT01NVUZEKGJjb250YWluZXIpOworIAorLSAgICAvKiB1bm1hcCBpbiBoYWx2 ZXMgKi8KKyAgICAgaWYgKHVubWFwX2FsbCkgeworLSAgICAgICAgSW50MTI4IGxsc2l6ZSA9IGlu dDEyOF9yc2hpZnQoaW50MTI4XzJfNjQoKSwgMSk7CistICAgICAgICBpbnQgcmV0OworLQorLSAg ICAgICAgcmV0ID0gaW9tbXVmZF9iYWNrZW5kX3VubWFwX2RtYShjb250YWluZXItPmJlLCBjb250 YWluZXItPmlvYXNfaWQsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IDAsIGludDEyOF9nZXQ2NChsbHNpemUpKTsKKy0KKy0gICAgICAgIGlmIChyZXQgPT0gMCkgewor LSAgICAgICAgICAgIHJldCA9IGlvbW11ZmRfYmFja2VuZF91bm1hcF9kbWEoY29udGFpbmVyLT5i ZSwgY29udGFpbmVyLT5pb2FzX2lkLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgaW50MTI4X2dldDY0KGxsc2l6ZSksCistICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBpbnQxMjhfZ2V0NjQobGxzaXplKSk7CistICAgICAgICB9 CistCistICAgICAgICByZXR1cm4gcmV0OworKyAgICAgICAgc2l6ZSA9IFVJTlQ2NF9NQVg7Cisg ICAgIH0KKyAKKyAgICAgLyogVE9ETzogSGFuZGxlIGRtYV91bm1hcF9iaXRtYXAgd2l0aCBpb3Rs YiBhcmdzIChtaWdyYXRpb24pICovCistLSAKKzIuNTIuMAorCgpkaWZmIC0tZ2l0IGEva3ZtLXZm aW8taW9tbXVmZC5jLXVzZS1RT00tY2FzdHMtd2hlcmUtYXBwcm9wcmlhdGUucGF0Y2ggYi9rdm0t dmZpby1pb21tdWZkLmMtdXNlLVFPTS1jYXN0cy13aGVyZS1hcHByb3ByaWF0ZS5wYXRjaApuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNjRhZmE2Ci0tLSAvZGV2L251bGwKKysr IGIva3ZtLXZmaW8taW9tbXVmZC5jLXVzZS1RT00tY2FzdHMtd2hlcmUtYXBwcm9wcmlhdGUucGF0 Y2gKQEAgLTAsMCArMSwxNTQgQEAKK0Zyb20gZTk4YjExMjVhNGJmYWY5MzY3MTViNjMzYzg4NmZm OTBjMTlmZGY4ZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1hcmsgQ2F2ZS1BeWxh bmQgPG1hcmsuY2F2ZWF5bGFuZEBudXRhbml4LmNvbT4KK0RhdGU6IFRodSwgMjUgU2VwIDIwMjUg MTI6MzE6MTUgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSCAwNTcvMTE2XSB2ZmlvL2lvbW11ZmQuYzog dXNlIFFPTSBjYXN0cyB3aGVyZSBhcHByb3ByaWF0ZQorTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRl bnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNv ZGluZzogOGJpdAorCitSSC1BdXRob3I6IFJvZG9sZm8gVmljayA8Tm9uZT4KK1JILU1lcmdlUmVx dWVzdDogNDg2OiBBZGQgRE1BQlVGIHN1cHBvcnQKK1JILUppcmE6IFJIRUwtMTM4NDk0CitSSC1B Y2tlZC1ieTogQ8OpZHJpYyBMZSBHb2F0ZXIgPGNsZ0ByZWRoYXQuY29tPgorUkgtQWNrZWQtYnk6 IEVyaWMgQXVnZXIgPGVyaWMuYXVnZXJAcmVkaGF0LmNvbT4KK1JILUNvbW1pdDogWzQxLzEwMF0g M2M4Y2YwMTUyYjM1ODEyZjQxN2RmMzA0NjU3YWE3YjdiYjM0OTJmZCAocm92aWNrMS9xZW11LWt2 bSkKKworVXNlIFFPTSBjYXN0cyB0byBjb252ZXJ0IGJldHdlZW4gVkZJT0lPTU1VRkRDb250YWlu ZXIgYW5kIFZGSU9Db250YWluZXIgaW5zdGVhZAorb2YgYWNjZXNzaW5nIGJjb250YWluZXIgZGly ZWN0bHkuCisKK1NpZ25lZC1vZmYtYnk6IE1hcmsgQ2F2ZS1BeWxhbmQgPG1hcmsuY2F2ZWF5bGFu ZEBudXRhbml4LmNvbT4KK1Jldmlld2VkLWJ5OiBDw6lkcmljIExlIEdvYXRlciA8Y2xnQHJlZGhh dC5jb20+CitMaW5rOiBodHRwczovL2xvcmUua2VybmVsLm9yZy9xZW11LWRldmVsLzIwMjUwOTI1 MTEzMTU5LjE3NjAzMTctOC1tYXJrLmNhdmVheWxhbmRAbnV0YW5peC5jb20KK1NpZ25lZC1vZmYt Ynk6IEPDqWRyaWMgTGUgR29hdGVyIDxjbGdAcmVkaGF0LmNvbT4KKyhjaGVycnkgcGlja2VkIGZy b20gY29tbWl0IGNjNWIzOTQyOTFmNDI4YTA0ZmY3YTYyMjU3M2MwMjU2MGIxODM3OTcpCitTaWdu ZWQtb2ZmLWJ5OiBFcmljIEF1Z2VyIDxlcmljLmF1Z2VyQHJlZGhhdC5jb20+CistLS0KKyBody92 ZmlvL2lvbW11ZmQuYyB8IDM0ICsrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAx IGZpbGUgY2hhbmdlZCwgMTQgaW5zZXJ0aW9ucygrKSwgMjAgZGVsZXRpb25zKC0pCisKK2RpZmYg LS1naXQgYS9ody92ZmlvL2lvbW11ZmQuYyBiL2h3L3ZmaW8vaW9tbXVmZC5jCitpbmRleCAyZWJk ODdlYzhmLi43NmYwODA2ZWMwIDEwMDY0NAorLS0tIGEvaHcvdmZpby9pb21tdWZkLmMKKysrKyBi L2h3L3ZmaW8vaW9tbXVmZC5jCitAQCAtMzgsOCArMzgsNyBAQCBzdGF0aWMgaW50IGlvbW11ZmRf Y2Rldl9tYXAoY29uc3QgVkZJT0NvbnRhaW5lciAqYmNvbnRhaW5lciwgaHdhZGRyIGlvdmEsCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJhbV9hZGRyX3Qgc2l6ZSwgdm9pZCAqdmFkZHIs IGJvb2wgcmVhZG9ubHksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1lbW9yeVJlZ2lv biAqbXIpCisgeworLSAgICBjb25zdCBWRklPSU9NTVVGRENvbnRhaW5lciAqY29udGFpbmVyID0K Ky0gICAgICAgIGNvbnRhaW5lcl9vZihiY29udGFpbmVyLCBWRklPSU9NTVVGRENvbnRhaW5lciwg YmNvbnRhaW5lcik7CisrICAgIGNvbnN0IFZGSU9JT01NVUZEQ29udGFpbmVyICpjb250YWluZXIg PSBWRklPX0lPTU1VX0lPTU1VRkQoYmNvbnRhaW5lcik7CisgCisgICAgIHJldHVybiBpb21tdWZk X2JhY2tlbmRfbWFwX2RtYShjb250YWluZXItPmJlLAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgY29udGFpbmVyLT5pb2FzX2lkLAorQEAgLTUwLDggKzQ5LDcgQEAgc3RhdGlj IGludCBpb21tdWZkX2NkZXZfbWFwX2ZpbGUoY29uc3QgVkZJT0NvbnRhaW5lciAqYmNvbnRhaW5l ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBod2FkZHIgaW92YSwgcmFtX2Fk ZHJfdCBzaXplLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBmZCwgdW5z aWduZWQgbG9uZyBzdGFydCwgYm9vbCByZWFkb25seSkKKyB7CistICAgIGNvbnN0IFZGSU9JT01N VUZEQ29udGFpbmVyICpjb250YWluZXIgPQorLSAgICAgICAgY29udGFpbmVyX29mKGJjb250YWlu ZXIsIFZGSU9JT01NVUZEQ29udGFpbmVyLCBiY29udGFpbmVyKTsKKysgICAgY29uc3QgVkZJT0lP TU1VRkRDb250YWluZXIgKmNvbnRhaW5lciA9IFZGSU9fSU9NTVVfSU9NTVVGRChiY29udGFpbmVy KTsKKyAKKyAgICAgcmV0dXJuIGlvbW11ZmRfYmFja2VuZF9tYXBfZmlsZV9kbWEoY29udGFpbmVy LT5iZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGFpbmVy LT5pb2FzX2lkLAorQEAgLTYyLDggKzYwLDcgQEAgc3RhdGljIGludCBpb21tdWZkX2NkZXZfdW5t YXAoY29uc3QgVkZJT0NvbnRhaW5lciAqYmNvbnRhaW5lciwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBod2FkZHIgaW92YSwgcmFtX2FkZHJfdCBzaXplLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIElPTU1VVExCRW50cnkgKmlvdGxiLCBib29sIHVubWFwX2FsbCkKKyB7 CistICAgIGNvbnN0IFZGSU9JT01NVUZEQ29udGFpbmVyICpjb250YWluZXIgPQorLSAgICAgICAg Y29udGFpbmVyX29mKGJjb250YWluZXIsIFZGSU9JT01NVUZEQ29udGFpbmVyLCBiY29udGFpbmVy KTsKKysgICAgY29uc3QgVkZJT0lPTU1VRkRDb250YWluZXIgKmNvbnRhaW5lciA9IFZGSU9fSU9N TVVfSU9NTVVGRChiY29udGFpbmVyKTsKKyAKKyAgICAgLyogdW5tYXAgaW4gaGFsdmVzICovCisg ICAgIGlmICh1bm1hcF9hbGwpIHsKK0BAIC0xNjIsOCArMTU5LDcgQEAgc3RhdGljIGJvb2wgaW9t bXVmZF9od3B0X2RpcnR5X3RyYWNraW5nKFZGSU9JT0FTSHdwdCAqaHdwdCkKKyBzdGF0aWMgaW50 IGlvbW11ZmRfc2V0X2RpcnR5X3BhZ2VfdHJhY2tpbmcoY29uc3QgVkZJT0NvbnRhaW5lciAqYmNv bnRhaW5lciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9v bCBzdGFydCwgRXJyb3IgKiplcnJwKQorIHsKKy0gICAgY29uc3QgVkZJT0lPTU1VRkRDb250YWlu ZXIgKmNvbnRhaW5lciA9CistICAgICAgICBjb250YWluZXJfb2YoYmNvbnRhaW5lciwgVkZJT0lP TU1VRkRDb250YWluZXIsIGJjb250YWluZXIpOworKyAgICBjb25zdCBWRklPSU9NTVVGRENvbnRh aW5lciAqY29udGFpbmVyID0gVkZJT19JT01NVV9JT01NVUZEKGJjb250YWluZXIpOworICAgICBW RklPSU9BU0h3cHQgKmh3cHQ7CisgCisgICAgIFFMSVNUX0ZPUkVBQ0goaHdwdCwgJmNvbnRhaW5l ci0+aHdwdF9saXN0LCBuZXh0KSB7CitAQCAtMTk0LDkgKzE5MCw3IEBAIHN0YXRpYyBpbnQgaW9t bXVmZF9xdWVyeV9kaXJ0eV9iaXRtYXAoY29uc3QgVkZJT0NvbnRhaW5lciAqYmNvbnRhaW5lciwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZGSU9CaXRtYXAgKnZibWFw LCBod2FkZHIgaW92YSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGh3 YWRkciBzaXplLCBFcnJvciAqKmVycnApCisgeworLSAgICBWRklPSU9NTVVGRENvbnRhaW5lciAq Y29udGFpbmVyID0gY29udGFpbmVyX29mKGJjb250YWluZXIsCistICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVkZJT0lPTU1VRkRDb250YWluZXIsCist ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmNvbnRh aW5lcik7CisrICAgIFZGSU9JT01NVUZEQ29udGFpbmVyICpjb250YWluZXIgPSBWRklPX0lPTU1V X0lPTU1VRkQoYmNvbnRhaW5lcik7CisgICAgIHVuc2lnbmVkIGxvbmcgcGFnZV9zaXplID0gcWVt dV9yZWFsX2hvc3RfcGFnZV9zaXplKCk7CisgICAgIFZGSU9JT0FTSHdwdCAqaHdwdDsKKyAKK0BA IC0zMjQsNiArMzE4LDcgQEAgc3RhdGljIGJvb2wgaW9tbXVmZF9jZGV2X2F1dG9kb21haW5zX2dl dChWRklPRGV2aWNlICp2YmFzZWRldiwKKyB7CisgICAgIEVSUlBfR1VBUkQoKTsKKyAgICAgSU9N TVVGREJhY2tlbmQgKmlvbW11ZmQgPSB2YmFzZWRldi0+aW9tbXVmZDsKKysgICAgVkZJT0NvbnRh aW5lciAqYmNvbnRhaW5lciA9IFZGSU9fSU9NTVUoY29udGFpbmVyKTsKKyAgICAgdWludDMyX3Qg dHlwZSwgZmxhZ3MgPSAwOworICAgICB1aW50NjRfdCBod19jYXBzOworICAgICBWRklPSU9BU0h3 cHQgKmh3cHQ7CitAQCAtNDA4LDkgKzQwMyw5IEBAIHNraXBfYWxsb2M6CisgICAgIHZiYXNlZGV2 LT5pb21tdV9kaXJ0eV90cmFja2luZyA9IGlvbW11ZmRfaHdwdF9kaXJ0eV90cmFja2luZyhod3B0 KTsKKyAgICAgUUxJU1RfSU5TRVJUX0hFQUQoJmh3cHQtPmRldmljZV9saXN0LCB2YmFzZWRldiwg aHdwdF9uZXh0KTsKKyAgICAgUUxJU1RfSU5TRVJUX0hFQUQoJmNvbnRhaW5lci0+aHdwdF9saXN0 LCBod3B0LCBuZXh0KTsKKy0gICAgY29udGFpbmVyLT5iY29udGFpbmVyLmRpcnR5X3BhZ2VzX3N1 cHBvcnRlZCB8PQorKyAgICBiY29udGFpbmVyLT5kaXJ0eV9wYWdlc19zdXBwb3J0ZWQgfD0KKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZiYXNlZGV2LT5pb21tdV9kaXJ0eV90cmFj a2luZzsKKy0gICAgaWYgKGNvbnRhaW5lci0+YmNvbnRhaW5lci5kaXJ0eV9wYWdlc19zdXBwb3J0 ZWQgJiYKKysgICAgaWYgKGJjb250YWluZXItPmRpcnR5X3BhZ2VzX3N1cHBvcnRlZCAmJgorICAg ICAgICAgIXZiYXNlZGV2LT5pb21tdV9kaXJ0eV90cmFja2luZykgeworICAgICAgICAgd2Fybl9y ZXBvcnQoIklPTU1VIGluc3RhbmNlIGZvciBkZXZpY2UgJXMgZG9lc24ndCBzdXBwb3J0IGRpcnR5 IHRyYWNraW5nIiwKKyAgICAgICAgICAgICAgICAgICAgIHZiYXNlZGV2LT5uYW1lKTsKK0BAIC00 NjQsNyArNDU5LDcgQEAgc3RhdGljIHZvaWQgaW9tbXVmZF9jZGV2X2RldGFjaF9jb250YWluZXIo VkZJT0RldmljZSAqdmJhc2VkZXYsCisgCisgc3RhdGljIHZvaWQgaW9tbXVmZF9jZGV2X2NvbnRh aW5lcl9kZXN0cm95KFZGSU9JT01NVUZEQ29udGFpbmVyICpjb250YWluZXIpCisgeworLSAgICBW RklPQ29udGFpbmVyICpiY29udGFpbmVyID0gJmNvbnRhaW5lci0+YmNvbnRhaW5lcjsKKysgICAg VkZJT0NvbnRhaW5lciAqYmNvbnRhaW5lciA9IFZGSU9fSU9NTVUoY29udGFpbmVyKTsKKyAKKyAg ICAgaWYgKCFRTElTVF9FTVBUWSgmYmNvbnRhaW5lci0+ZGV2aWNlX2xpc3QpKSB7CisgICAgICAg ICByZXR1cm47CitAQCAtNDg2LDcgKzQ4MSw3IEBAIHN0YXRpYyBpbnQgaW9tbXVmZF9jZGV2X3Jh bV9ibG9ja19kaXNjYXJkX2Rpc2FibGUoYm9vbCBzdGF0ZSkKKyBzdGF0aWMgYm9vbCBpb21tdWZk X2NkZXZfZ2V0X2luZm9faW92YV9yYW5nZShWRklPSU9NTVVGRENvbnRhaW5lciAqY29udGFpbmVy LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90 IGlvYXNfaWQsIEVycm9yICoqZXJycCkKKyB7CistICAgIFZGSU9Db250YWluZXIgKmJjb250YWlu ZXIgPSAmY29udGFpbmVyLT5iY29udGFpbmVyOworKyAgICBWRklPQ29udGFpbmVyICpiY29udGFp bmVyID0gVkZJT19JT01NVShjb250YWluZXIpOworICAgICBnX2F1dG9mcmVlIHN0cnVjdCBpb21t dV9pb2FzX2lvdmFfcmFuZ2VzICppbmZvID0gTlVMTDsKKyAgICAgc3RydWN0IGlvbW11X2lvdmFf cmFuZ2UgKmlvdmFfcmFuZ2VzOworICAgICBpbnQgc3osIGZkID0gY29udGFpbmVyLT5iZS0+ZmQ7 CitAQCAtNTU5LDcgKzU1NCw3IEBAIHN0YXRpYyBib29sIGlvbW11ZmRfY2Rldl9hdHRhY2goY29u c3QgY2hhciAqbmFtZSwgVkZJT0RldmljZSAqdmJhc2VkZXYsCisgCisgICAgIC8qIHRyeSB0byBh dHRhY2ggdG8gYW4gZXhpc3RpbmcgY29udGFpbmVyIGluIHRoaXMgc3BhY2UgKi8KKyAgICAgUUxJ U1RfRk9SRUFDSChiY29udGFpbmVyLCAmc3BhY2UtPmNvbnRhaW5lcnMsIG5leHQpIHsKKy0gICAg ICAgIGNvbnRhaW5lciA9IGNvbnRhaW5lcl9vZihiY29udGFpbmVyLCBWRklPSU9NTVVGRENvbnRh aW5lciwgYmNvbnRhaW5lcik7CisrICAgICAgICBjb250YWluZXIgPSBWRklPX0lPTU1VX0lPTU1V RkQoYmNvbnRhaW5lcik7CisgICAgICAgICBpZiAoVkZJT19JT01NVV9HRVRfQ0xBU1MoYmNvbnRh aW5lcikgIT0gaW9tbXVmZF92aW9jIHx8CisgICAgICAgICAgICAgdmJhc2VkZXYtPmlvbW11ZmQg IT0gY29udGFpbmVyLT5iZSkgeworICAgICAgICAgICAgIGNvbnRpbnVlOworQEAgLTYwOSw3ICs2 MDQsNyBAQCBza2lwX2lvYXNfYWxsb2M6CisgICAgIFFMSVNUX0lOSVQoJmNvbnRhaW5lci0+aHdw dF9saXN0KTsKKyAgICAgdmJhc2VkZXYtPmNwci5pb2FzX2lkID0gaW9hc19pZDsKKyAKKy0gICAg YmNvbnRhaW5lciA9ICZjb250YWluZXItPmJjb250YWluZXI7CisrICAgIGJjb250YWluZXIgPSBW RklPX0lPTU1VKGNvbnRhaW5lcik7CisgICAgIHZmaW9fYWRkcmVzc19zcGFjZV9pbnNlcnQoc3Bh Y2UsIGJjb250YWluZXIpOworIAorICAgICBpZiAoIWlvbW11ZmRfY2Rldl9hdHRhY2hfY29udGFp bmVyKHZiYXNlZGV2LCBjb250YWluZXIsIGVycnApKSB7CitAQCAtNjkwLDkgKzY4NSw4IEBAIHN0 YXRpYyB2b2lkIGlvbW11ZmRfY2Rldl9kZXRhY2goVkZJT0RldmljZSAqdmJhc2VkZXYpCisgewor ICAgICBWRklPQ29udGFpbmVyICpiY29udGFpbmVyID0gdmJhc2VkZXYtPmJjb250YWluZXI7Cisg ICAgIFZGSU9BZGRyZXNzU3BhY2UgKnNwYWNlID0gYmNvbnRhaW5lci0+c3BhY2U7CistICAgIFZG SU9JT01NVUZEQ29udGFpbmVyICpjb250YWluZXIgPSBjb250YWluZXJfb2YoYmNvbnRhaW5lciwK Ky0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWRklP SU9NTVVGRENvbnRhaW5lciwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBiY29udGFpbmVyKTsKKysgICAgVkZJT0lPTU1VRkRDb250YWluZXIgKmNv bnRhaW5lciA9IFZGSU9fSU9NTVVfSU9NTVVGRChiY29udGFpbmVyKTsKKysKKyAgICAgdmZpb19k ZXZpY2VfdW5wcmVwYXJlKHZiYXNlZGV2KTsKKyAKKyAgICAgaWYgKCF2YmFzZWRldi0+cmFtX2Js b2NrX2Rpc2NhcmRfYWxsb3dlZCkgeworLS0gCisyLjUyLjAKKwoKZGlmZiAtLWdpdCBhL2t2bS12 ZmlvLWxpc3RlbmVyLUFkZC1hbi1hc3NlcnRpb24tZm9yLXVubWFwX2FsbC5wYXRjaCBiL2t2bS12 ZmlvLWxpc3RlbmVyLUFkZC1hbi1hc3NlcnRpb24tZm9yLXVubWFwX2FsbC5wYXRjaApuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MTQ4Njc1Ci0tLSAvZGV2L251bGwKKysrIGIv a3ZtLXZmaW8tbGlzdGVuZXItQWRkLWFuLWFzc2VydGlvbi1mb3ItdW5tYXBfYWxsLnBhdGNoCkBA IC0wLDAgKzEsNDUgQEAKK0Zyb20gZDAyZjY2MWE2ODY0ZjI4NTg2MGM5NjAxMmNiOTE0ODNhZWRj NmRkZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFpoZW56aG9uZyBEdWFuIDx6aGVu emhvbmcuZHVhbkBpbnRlbC5jb20+CitEYXRlOiBUaHUsIDkgT2N0IDIwMjUgMDA6MDE6MzQgLTA0 MDAKK1N1YmplY3Q6IFtQQVRDSCAxMDQvMTE2XSB2ZmlvL2xpc3RlbmVyOiBBZGQgYW4gYXNzZXJ0 aW9uIGZvciB1bm1hcF9hbGwKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQv cGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKwor UkgtQXV0aG9yOiBSb2RvbGZvIFZpY2sgPE5vbmU+CitSSC1NZXJnZVJlcXVlc3Q6IDQ4NjogQWRk IERNQUJVRiBzdXBwb3J0CitSSC1KaXJhOiBSSEVMLTEzODQ5NAorUkgtQWNrZWQtYnk6IEPDqWRy aWMgTGUgR29hdGVyIDxjbGdAcmVkaGF0LmNvbT4KK1JILUFja2VkLWJ5OiBFcmljIEF1Z2VyIDxl cmljLmF1Z2VyQHJlZGhhdC5jb20+CitSSC1Db21taXQ6IFs4OC8xMDBdIDRhZDhhMDk0MmEzYzVi Y2EwZGZiNzQxOWJmMGQ2Mjg2YTc2YjQyMTYgKHJvdmljazEvcWVtdS1rdm0pCisKK0N1cnJlbnRs eSB0aGUgbWF4aW11bSBvZiBpb21tdSBhZGRyZXNzIHNwYWNlIGlzIDY0Yml0LiBTbyB3aGVuIGEg bWF4aW11bQoraW9tbXUgbWVtb3J5IHNlY3Rpb24gaXMgZGVsZXRlZCwgaXQncyBpbiBzY29wZSBb MCwgMl42NCkuIEFkZCBhCithc3NlcnRpb24gZm9yIHRoYXQuCisKK1N1Z2dlc3RlZC1ieTogQ8Op ZHJpYyBMZSBHb2F0ZXIgPGNsZ0ByZWRoYXQuY29tPgorU2lnbmVkLW9mZi1ieTogWmhlbnpob25n IER1YW4gPHpoZW56aG9uZy5kdWFuQGludGVsLmNvbT4KK1Jldmlld2VkLWJ5OiBDw6lkcmljIExl IEdvYXRlciA8Y2xnQHJlZGhhdC5jb20+CitMaW5rOiBodHRwczovL2xvcmUua2VybmVsLm9yZy9x ZW11LWRldmVsLzIwMjUxMDA5MDQwMTM0LjMzNDI1MS00LXpoZW56aG9uZy5kdWFuQGludGVsLmNv bQorU2lnbmVkLW9mZi1ieTogQ8OpZHJpYyBMZSBHb2F0ZXIgPGNsZ0ByZWRoYXQuY29tPgorKGNo ZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgMjcxZmVjNmYxODQ5MjYzMGRmMmUxYjQ1OTliYTJkZTZl YjFkMDY2OCkKK1NpZ25lZC1vZmYtYnk6IEVyaWMgQXVnZXIgPGVyaWMuYXVnZXJAcmVkaGF0LmNv bT4KKy0tLQorIGh3L3ZmaW8vbGlzdGVuZXIuYyB8IDEgKworIDEgZmlsZSBjaGFuZ2VkLCAxIGlu c2VydGlvbigrKQorCitkaWZmIC0tZ2l0IGEvaHcvdmZpby9saXN0ZW5lci5jIGIvaHcvdmZpby9s aXN0ZW5lci5jCitpbmRleCBkZjQyYmM1OGU3Li4yNzE3NGJmODdjIDEwMDY0NAorLS0tIGEvaHcv dmZpby9saXN0ZW5lci5jCisrKysgYi9ody92ZmlvL2xpc3RlbmVyLmMKK0BAIC03MTYsNiArNzE2 LDcgQEAgc3RhdGljIHZvaWQgdmZpb19saXN0ZW5lcl9yZWdpb25fZGVsKE1lbW9yeUxpc3RlbmVy ICpsaXN0ZW5lciwKKyAgICAgICAgIGJvb2wgdW5tYXBfYWxsID0gZmFsc2U7CisgCisgICAgICAg ICBpZiAoaW50MTI4X2VxKGxsc2l6ZSwgaW50MTI4XzJfNjQoKSkpIHsKKysgICAgICAgICAgICBh c3NlcnQoIWlvdmEpOworICAgICAgICAgICAgIHVubWFwX2FsbCA9IHRydWU7CisgICAgICAgICAg ICAgbGxzaXplID0gaW50MTI4X3plcm8oKTsKKyAgICAgICAgIH0KKy0tIAorMi41Mi4wCisKCmRp ZmYgLS1naXQgYS9rdm0tdmZpby1wY2ktRG8tbm90LXVucGFyZW50LWluLWluc3RhbmNlX2ZpbmFs aXplLnBhdGNoIGIva3ZtLXZmaW8tcGNpLURvLW5vdC11bnBhcmVudC1pbi1pbnN0YW5jZV9maW5h bGl6ZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45Y2Q5ZWUzCi0t LSAvZGV2L251bGwKKysrIGIva3ZtLXZmaW8tcGNpLURvLW5vdC11bnBhcmVudC1pbi1pbnN0YW5j ZV9maW5hbGl6ZS5wYXRjaApAQCAtMCwwICsxLDU4IEBACitGcm9tIGFlNmNkYzMyZmM0MjYyZTNi MGFlZDdkNDFlYzI2MjM4ODg4YzRiNjMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBB a2loaWtvIE9kYWtpIDxvZGFraUByc2cuY2kuaS51LXRva3lvLmFjLmpwPgorRGF0ZTogV2VkLCAy NCBTZXAgMjAyNSAxMzozNzoyMSArMDkwMAorU3ViamVjdDogW1BBVENIIDA0OS8xMTZdIHZmaW8v cGNpOiBEbyBub3QgdW5wYXJlbnQgaW4gaW5zdGFuY2VfZmluYWxpemUoKQorTUlNRS1WZXJzaW9u OiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1U cmFuc2Zlci1FbmNvZGluZzogOGJpdAorCitSSC1BdXRob3I6IFJvZG9sZm8gVmljayA8Tm9uZT4K K1JILU1lcmdlUmVxdWVzdDogNDg2OiBBZGQgRE1BQlVGIHN1cHBvcnQKK1JILUppcmE6IFJIRUwt MTM4NDk0CitSSC1BY2tlZC1ieTogQ8OpZHJpYyBMZSBHb2F0ZXIgPGNsZ0ByZWRoYXQuY29tPgor UkgtQWNrZWQtYnk6IEVyaWMgQXVnZXIgPGVyaWMuYXVnZXJAcmVkaGF0LmNvbT4KK1JILUNvbW1p dDogWzMzLzEwMF0gYTQ4MWJkMDJiMzg2YWY4NjRhN2YzMDA1YjA1MTk4YmI3NjgxMmE4ZiAocm92 aWNrMS9xZW11LWt2bSkKKworQ2hpbGRyZW4gYXJlIGF1dG9tYXRpY2FsbHkgdW5wYXJlbnRlZCBz byBtYW51YWxseSB1bnBhcmVudGluZyBpcwordW5uZWNlc3NhcnkuCisKK1dvcnNlLCBhdXRvbWF0 aWMgdW5wYXJlbnRpbmcgaGFwcGVucyBiZWZvcmUgdGhlIGluc250YW5jZV9maW5hbGl6ZSgpCitj YWxsYmFjayBvZiB0aGUgcGFyZW50IGdldHMgY2FsbGVkLCBzbyBvYmplY3RfdW5wYXJlbnQoKSBj YWxscyBpbgordGhlIGNhbGxiYWNrIHdpbGwgcmVmZXIgdG8gb2JqZWN0cyB0aGF0IGFyZSBhbHJl YWR5IHVucGFyZW50ZWQsIHdoaWNoCitpcyBzZW1hbnRpY2FsbHkgaW5jb3JyZWN0LgorCitTaWdu ZWQtb2ZmLWJ5OiBBa2loaWtvIE9kYWtpIDxvZGFraUByc2cuY2kuaS51LXRva3lvLmFjLmpwPgor UmV2aWV3ZWQtYnk6IERhbmllbCBQLiBCZXJyYW5nw6kgPGJlcnJhbmdlQHJlZGhhdC5jb20+CitM aW5rOiBodHRwczovL2xvcmUua2VybmVsLm9yZy9yLzIwMjUwOTI0LXVzZS12NC0yLTA3YzZjNTk4 ZjUzZEByc2cuY2kuaS51LXRva3lvLmFjLmpwCitTaWduZWQtb2ZmLWJ5OiBQYW9sbyBCb256aW5p IDxwYm9uemluaUByZWRoYXQuY29tPgorKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgZTNlZDg2 MmNhYmNlNmQ4YTEyMzAwYjk0MTI0M2NiNDRlOWNkNDBkMSkKK1NpZ25lZC1vZmYtYnk6IEVyaWMg QXVnZXIgPGVyaWMuYXVnZXJAcmVkaGF0LmNvbT4KKy0tLQorIGh3L3ZmaW8vcGNpLmMgfCA0IC0t LS0KKyAxIGZpbGUgY2hhbmdlZCwgNCBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2h3L3Zm aW8vcGNpLmMgYi9ody92ZmlvL3BjaS5jCitpbmRleCBkOWNkZDkwZWE1Li4zOGVhNTgwMjBkIDEw MDY0NAorLS0tIGEvaHcvdmZpby9wY2kuYworKysrIGIvaHcvdmZpby9wY2kuYworQEAgLTIwMjgs NyArMjAyOCw2IEBAIHN0YXRpYyB2b2lkIHZmaW9fYmFyc19maW5hbGl6ZShWRklPUENJRGV2aWNl ICp2ZGV2KQorICAgICAgICAgdmZpb19yZWdpb25fZmluYWxpemUoJmJhci0+cmVnaW9uKTsKKyAg ICAgICAgIGlmIChiYXItPm1yKSB7CisgICAgICAgICAgICAgYXNzZXJ0KGJhci0+c2l6ZSk7Cist ICAgICAgICAgICAgb2JqZWN0X3VucGFyZW50KE9CSkVDVChiYXItPm1yKSk7CisgICAgICAgICAg ICAgZ19mcmVlKGJhci0+bXIpOworICAgICAgICAgICAgIGJhci0+bXIgPSBOVUxMOworICAgICAg ICAgfQorQEAgLTIwMzYsOSArMjAzNSw2IEBAIHN0YXRpYyB2b2lkIHZmaW9fYmFyc19maW5hbGl6 ZShWRklPUENJRGV2aWNlICp2ZGV2KQorIAorICAgICBpZiAodmRldi0+dmdhKSB7CisgICAgICAg ICB2ZmlvX3ZnYV9xdWlya19maW5hbGl6ZSh2ZGV2KTsKKy0gICAgICAgIGZvciAoaSA9IDA7IGkg PCBBUlJBWV9TSVpFKHZkZXYtPnZnYS0+cmVnaW9uKTsgaSsrKSB7CistICAgICAgICAgICAgb2Jq ZWN0X3VucGFyZW50KE9CSkVDVCgmdmRldi0+dmdhLT5yZWdpb25baV0ubWVtKSk7CistICAgICAg ICB9CisgICAgICAgICBnX2ZyZWUodmRldi0+dmdhKTsKKyAgICAgfQorIH0KKy0tIAorMi41Mi4w CisKCmRpZmYgLS1naXQgYS9rdm0tdmZpby1wY2ktcXVpcmtzLmMtdXNlLVFPTS1jYXN0cy13aGVy ZS1hcHByb3ByaWF0ZS5wYXRjaCBiL2t2bS12ZmlvLXBjaS1xdWlya3MuYy11c2UtUU9NLWNhc3Rz LXdoZXJlLWFwcHJvcHJpYXRlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAuLmRjMTJjYTIKLS0tIC9kZXYvbnVsbAorKysgYi9rdm0tdmZpby1wY2ktcXVpcmtzLmMtdXNl LVFPTS1jYXN0cy13aGVyZS1hcHByb3ByaWF0ZS5wYXRjaApAQCAtMCwwICsxLDIzNyBAQAorRnJv bSAzMmEzMWQwNGI5MmZiYjViNjZiZjViOWIxNWRjNzRjZWM1Nzg1ZGJjIE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQorRnJvbTogTWFyayBDYXZlLUF5bGFuZCA8bWFyay5jYXZlYXlsYW5kQG51dGFu aXguY29tPgorRGF0ZTogVHVlLCAxNSBKdWwgMjAyNSAxMDoyNTo1NyArMDEwMAorU3ViamVjdDog W1BBVENIIDA0My8xMTZdIHZmaW8vcGNpLXF1aXJrcy5jOiB1c2UgUU9NIGNhc3RzIHdoZXJlIGFw cHJvcHJpYXRlCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBj aGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK1JILUF1dGhv cjogUm9kb2xmbyBWaWNrIDxOb25lPgorUkgtTWVyZ2VSZXF1ZXN0OiA0ODY6IEFkZCBETUFCVUYg c3VwcG9ydAorUkgtSmlyYTogUkhFTC0xMzg0OTQKK1JILUFja2VkLWJ5OiBDw6lkcmljIExlIEdv YXRlciA8Y2xnQHJlZGhhdC5jb20+CitSSC1BY2tlZC1ieTogRXJpYyBBdWdlciA8ZXJpYy5hdWdl ckByZWRoYXQuY29tPgorUkgtQ29tbWl0OiBbMjcvMTAwXSBjMmQwZTQ4YWQ3Mzc4YzQ5YmU3ZDBk Mjk4Y2FlNmNjMTEyOTg4MzFiIChyb3ZpY2sxL3FlbXUta3ZtKQorCitVc2UgUU9NIGNhc3RzIHRv IGNvbnZlcnQgYmV0d2VlbiBWRklPUENJRGV2aWNlIGFuZCBQQ0lEZXZpY2UgaW5zdGVhZCBvZgor YWNjZXNzaW5nIHBkZXYgZGlyZWN0bHkuCisKK1NpZ25lZC1vZmYtYnk6IE1hcmsgQ2F2ZS1BeWxh bmQgPG1hcmsuY2F2ZWF5bGFuZEBudXRhbml4LmNvbT4KK1Jldmlld2VkLWJ5OiBDw6lkcmljIExl IEdvYXRlciA8Y2xnQHJlZGhhdC5jb20+CitMaW5rOiBodHRwczovL2xvcmUua2VybmVsLm9yZy9x ZW11LWRldmVsLzIwMjUwNzE1MDkzMTEwLjEwNzMxNy0xOC1tYXJrLmNhdmVheWxhbmRAbnV0YW5p eC5jb20KK1NpZ25lZC1vZmYtYnk6IEPDqWRyaWMgTGUgR29hdGVyIDxjbGdAcmVkaGF0LmNvbT4K KyhjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDMxYmZkNzBlZjAyMDQ1NjkyZDA0YmY1MzQ2MTM5 OWQzYjgxYzBlYTMpCitTaWduZWQtb2ZmLWJ5OiBFcmljIEF1Z2VyIDxlcmljLmF1Z2VyQHJlZGhh dC5jb20+CistLS0KKyBody92ZmlvL3BjaS1xdWlya3MuYyB8IDQ4ICsrKysrKysrKysrKysrKysr KysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDI5IGluc2VydGlv bnMoKyksIDE5IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvaHcvdmZpby9wY2ktcXVpcmtz LmMgYi9ody92ZmlvL3BjaS1xdWlya3MuYworaW5kZXggM2YwMDIyNTJhYy4uYzk3NjA2ZGJmMSAx MDA2NDQKKy0tLSBhL2h3L3ZmaW8vcGNpLXF1aXJrcy5jCisrKysgYi9ody92ZmlvL3BjaS1xdWly a3MuYworQEAgLTExMyw2ICsxMTMsNyBAQCBzdGF0aWMgdWludDY0X3QgdmZpb19nZW5lcmljX3dp bmRvd19xdWlya19kYXRhX3JlYWQodm9pZCAqb3BhcXVlLAorIHsKKyAgICAgVkZJT0NvbmZpZ1dp bmRvd1F1aXJrICp3aW5kb3cgPSBvcGFxdWU7CisgICAgIFZGSU9QQ0lEZXZpY2UgKnZkZXYgPSB3 aW5kb3ctPnZkZXY7CisrICAgIFBDSURldmljZSAqcGRldiA9IFBDSV9ERVZJQ0UodmRldik7Cisg ICAgIHVpbnQ2NF90IGRhdGE7CisgCisgICAgIC8qIEFsd2F5cyByZWFkIGRhdGEgcmVnLCBkaXNj YXJkIGlmIHdpbmRvdyBlbmFibGVkICovCitAQCAtMTIwLDcgKzEyMSw3IEBAIHN0YXRpYyB1aW50 NjRfdCB2ZmlvX2dlbmVyaWNfd2luZG93X3F1aXJrX2RhdGFfcmVhZCh2b2lkICpvcGFxdWUsCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZHIgKyB3aW5kb3ctPmRhdGFfb2Zmc2V0LCBz aXplKTsKKyAKKyAgICAgaWYgKHdpbmRvdy0+d2luZG93X2VuYWJsZWQpIHsKKy0gICAgICAgIGRh dGEgPSB2ZmlvX3BjaV9yZWFkX2NvbmZpZygmdmRldi0+cGRldiwgd2luZG93LT5hZGRyZXNzX3Zh bCwgc2l6ZSk7CisrICAgICAgICBkYXRhID0gdmZpb19wY2lfcmVhZF9jb25maWcocGRldiwgd2lu ZG93LT5hZGRyZXNzX3ZhbCwgc2l6ZSk7CisgICAgICAgICB0cmFjZV92ZmlvX3F1aXJrX2dlbmVy aWNfd2luZG93X2RhdGFfcmVhZCh2ZGV2LT52YmFzZWRldi5uYW1lLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIG1lbW9yeV9yZWdpb25fbmFtZSh3aW5kb3ctPmRhdGFfbWVt KSwgZGF0YSk7CisgICAgIH0KK0BAIC0xMzMsOSArMTM0LDEwIEBAIHN0YXRpYyB2b2lkIHZmaW9f Z2VuZXJpY193aW5kb3dfcXVpcmtfZGF0YV93cml0ZSh2b2lkICpvcGFxdWUsIGh3YWRkciBhZGRy LAorIHsKKyAgICAgVkZJT0NvbmZpZ1dpbmRvd1F1aXJrICp3aW5kb3cgPSBvcGFxdWU7CisgICAg IFZGSU9QQ0lEZXZpY2UgKnZkZXYgPSB3aW5kb3ctPnZkZXY7CisrICAgIFBDSURldmljZSAqcGRl diA9IFBDSV9ERVZJQ0UodmRldik7CisgCisgICAgIGlmICh3aW5kb3ctPndpbmRvd19lbmFibGVk KSB7CistICAgICAgICB2ZmlvX3BjaV93cml0ZV9jb25maWcoJnZkZXYtPnBkZXYsIHdpbmRvdy0+ YWRkcmVzc192YWwsIGRhdGEsIHNpemUpOworKyAgICAgICAgdmZpb19wY2lfd3JpdGVfY29uZmln KHBkZXYsIHdpbmRvdy0+YWRkcmVzc192YWwsIGRhdGEsIHNpemUpOworICAgICAgICAgdHJhY2Vf dmZpb19xdWlya19nZW5lcmljX3dpbmRvd19kYXRhX3dyaXRlKHZkZXYtPnZiYXNlZGV2Lm5hbWUs CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVtb3J5X3JlZ2lvbl9uYW1l KHdpbmRvdy0+ZGF0YV9tZW0pLCBkYXRhKTsKKyAgICAgICAgIHJldHVybjsKK0BAIC0xNTYsNiAr MTU4LDcgQEAgc3RhdGljIHVpbnQ2NF90IHZmaW9fZ2VuZXJpY19xdWlya19taXJyb3JfcmVhZCh2 b2lkICpvcGFxdWUsCisgeworICAgICBWRklPQ29uZmlnTWlycm9yUXVpcmsgKm1pcnJvciA9IG9w YXF1ZTsKKyAgICAgVkZJT1BDSURldmljZSAqdmRldiA9IG1pcnJvci0+dmRldjsKKysgICAgUENJ RGV2aWNlICpwZGV2ID0gUENJX0RFVklDRSh2ZGV2KTsKKyAgICAgdWludDY0X3QgZGF0YTsKKyAK KyAgICAgLyogUmVhZCBhbmQgZGlzY2FyZCBpbiBjYXNlIHRoZSBoYXJkd2FyZSBjYXJlcyAqLwor QEAgLTE2Myw3ICsxNjYsNyBAQCBzdGF0aWMgdWludDY0X3QgdmZpb19nZW5lcmljX3F1aXJrX21p cnJvcl9yZWFkKHZvaWQgKm9wYXF1ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGRy ICsgbWlycm9yLT5vZmZzZXQsIHNpemUpOworIAorICAgICBhZGRyICs9IG1pcnJvci0+Y29uZmln X29mZnNldDsKKy0gICAgZGF0YSA9IHZmaW9fcGNpX3JlYWRfY29uZmlnKCZ2ZGV2LT5wZGV2LCBh ZGRyLCBzaXplKTsKKysgICAgZGF0YSA9IHZmaW9fcGNpX3JlYWRfY29uZmlnKHBkZXYsIGFkZHIs IHNpemUpOworICAgICB0cmFjZV92ZmlvX3F1aXJrX2dlbmVyaWNfbWlycm9yX3JlYWQodmRldi0+ dmJhc2VkZXYubmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IG1lbW9yeV9yZWdpb25fbmFtZShtaXJyb3ItPm1lbSksCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBhZGRyLCBkYXRhKTsKK0BAIC0xNzUsOSArMTc4LDEwIEBAIHN0 YXRpYyB2b2lkIHZmaW9fZ2VuZXJpY19xdWlya19taXJyb3Jfd3JpdGUodm9pZCAqb3BhcXVlLCBo d2FkZHIgYWRkciwKKyB7CisgICAgIFZGSU9Db25maWdNaXJyb3JRdWlyayAqbWlycm9yID0gb3Bh cXVlOworICAgICBWRklPUENJRGV2aWNlICp2ZGV2ID0gbWlycm9yLT52ZGV2OworKyAgICBQQ0lE ZXZpY2UgKnBkZXYgPSBQQ0lfREVWSUNFKHZkZXYpOworIAorICAgICBhZGRyICs9IG1pcnJvci0+ Y29uZmlnX29mZnNldDsKKy0gICAgdmZpb19wY2lfd3JpdGVfY29uZmlnKCZ2ZGV2LT5wZGV2LCBh ZGRyLCBkYXRhLCBzaXplKTsKKysgICAgdmZpb19wY2lfd3JpdGVfY29uZmlnKHBkZXYsIGFkZHIs IGRhdGEsIHNpemUpOworICAgICB0cmFjZV92ZmlvX3F1aXJrX2dlbmVyaWNfbWlycm9yX3dyaXRl KHZkZXYtPnZiYXNlZGV2Lm5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgbWVtb3J5X3JlZ2lvbl9uYW1lKG1pcnJvci0+bWVtKSwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGRyLCBkYXRhKTsKK0BAIC0yMTEsNyArMjE1 LDggQEAgc3RhdGljIHVpbnQ2NF90IHZmaW9fYXRpXzNjM19xdWlya19yZWFkKHZvaWQgKm9wYXF1 ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHdhZGRyIGFkZHIs IHVuc2lnbmVkIHNpemUpCisgeworICAgICBWRklPUENJRGV2aWNlICp2ZGV2ID0gb3BhcXVlOwor LSAgICB1aW50NjRfdCBkYXRhID0gdmZpb19wY2lfcmVhZF9jb25maWcoJnZkZXYtPnBkZXYsCisr ICAgIFBDSURldmljZSAqcGRldiA9IFBDSV9ERVZJQ0UodmRldik7CisrICAgIHVpbnQ2NF90IGRh dGEgPSB2ZmlvX3BjaV9yZWFkX2NvbmZpZyhwZGV2LAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgUENJX0JBU0VfQUREUkVTU180ICsgMSwgc2l6ZSk7CisgCisgICAg IHRyYWNlX3ZmaW9fcXVpcmtfYXRpXzNjM19yZWFkKHZkZXYtPnZiYXNlZGV2Lm5hbWUsIGRhdGEp OworQEAgLTU2Myw2ICs1NjgsNyBAQCBzdGF0aWMgdWludDY0X3QgdmZpb19udmlkaWFfM2QwX3F1 aXJrX3JlYWQodm9pZCAqb3BhcXVlLAorIHsKKyAgICAgVkZJT052aWRpYTNkMFF1aXJrICpxdWly ayA9IG9wYXF1ZTsKKyAgICAgVkZJT1BDSURldmljZSAqdmRldiA9IHF1aXJrLT52ZGV2OworKyAg ICBQQ0lEZXZpY2UgKnBkZXYgPSBQQ0lfREVWSUNFKHZkZXYpOworICAgICBWRklPTnZpZGlhM2Qw U3RhdGUgb2xkX3N0YXRlID0gcXVpcmstPnN0YXRlOworICAgICB1aW50NjRfdCBkYXRhID0gdmZp b192Z2FfcmVhZCgmdmRldi0+dmdhLT5yZWdpb25bUUVNVV9QQ0lfVkdBX0lPX0hJXSwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkciArIDB4MTAsIHNpemUpOworQEAgLTU3 Myw3ICs1NzksNyBAQCBzdGF0aWMgdWludDY0X3QgdmZpb19udmlkaWFfM2QwX3F1aXJrX3JlYWQo dm9pZCAqb3BhcXVlLAorICAgICAgICAgKHF1aXJrLT5vZmZzZXQgJiB+KFBDSV9DT05GSUdfU1BB Q0VfU0laRSAtIDEpKSA9PSAweDE4MDApIHsKKyAgICAgICAgIHVpbnQ4X3Qgb2Zmc2V0ID0gcXVp cmstPm9mZnNldCAmIChQQ0lfQ09ORklHX1NQQUNFX1NJWkUgLSAxKTsKKyAKKy0gICAgICAgIGRh dGEgPSB2ZmlvX3BjaV9yZWFkX2NvbmZpZygmdmRldi0+cGRldiwgb2Zmc2V0LCBzaXplKTsKKysg ICAgICAgIGRhdGEgPSB2ZmlvX3BjaV9yZWFkX2NvbmZpZyhwZGV2LCBvZmZzZXQsIHNpemUpOwor ICAgICAgICAgdHJhY2VfdmZpb19xdWlya19udmlkaWFfM2QwX3JlYWQodmRldi0+dmJhc2VkZXYu bmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mZnNldCwg c2l6ZSwgZGF0YSk7CisgICAgIH0KK0BAIC01ODYsNiArNTkyLDcgQEAgc3RhdGljIHZvaWQgdmZp b19udmlkaWFfM2QwX3F1aXJrX3dyaXRlKHZvaWQgKm9wYXF1ZSwgaHdhZGRyIGFkZHIsCisgewor ICAgICBWRklPTnZpZGlhM2QwUXVpcmsgKnF1aXJrID0gb3BhcXVlOworICAgICBWRklPUENJRGV2 aWNlICp2ZGV2ID0gcXVpcmstPnZkZXY7CisrICAgIFBDSURldmljZSAqcGRldiA9IFBDSV9ERVZJ Q0UodmRldik7CisgICAgIFZGSU9OdmlkaWEzZDBTdGF0ZSBvbGRfc3RhdGUgPSBxdWlyay0+c3Rh dGU7CisgCisgICAgIHF1aXJrLT5zdGF0ZSA9IE5PTkU7CitAQCAtNTk5LDcgKzYwNiw3IEBAIHN0 YXRpYyB2b2lkIHZmaW9fbnZpZGlhXzNkMF9xdWlya193cml0ZSh2b2lkICpvcGFxdWUsIGh3YWRk ciBhZGRyLAorICAgICAgICAgaWYgKChxdWlyay0+b2Zmc2V0ICYgfihQQ0lfQ09ORklHX1NQQUNF X1NJWkUgLSAxKSkgPT0gMHgxODAwKSB7CisgICAgICAgICAgICAgdWludDhfdCBvZmZzZXQgPSBx dWlyay0+b2Zmc2V0ICYgKFBDSV9DT05GSUdfU1BBQ0VfU0laRSAtIDEpOworIAorLSAgICAgICAg ICAgIHZmaW9fcGNpX3dyaXRlX2NvbmZpZygmdmRldi0+cGRldiwgb2Zmc2V0LCBkYXRhLCBzaXpl KTsKKysgICAgICAgICAgICB2ZmlvX3BjaV93cml0ZV9jb25maWcocGRldiwgb2Zmc2V0LCBkYXRh LCBzaXplKTsKKyAgICAgICAgICAgICB0cmFjZV92ZmlvX3F1aXJrX252aWRpYV8zZDBfd3JpdGUo dmRldi0+dmJhc2VkZXYubmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgb2Zmc2V0LCBkYXRhLCBzaXplKTsKKyAgICAgICAgICAgICByZXR1cm47CitA QCAtODE1LDcgKzgyMiw3IEBAIHN0YXRpYyB2b2lkIHZmaW9fbnZpZGlhX3F1aXJrX21pcnJvcl93 cml0ZSh2b2lkICpvcGFxdWUsIGh3YWRkciBhZGRyLAorIHsKKyAgICAgVkZJT0NvbmZpZ01pcnJv clF1aXJrICptaXJyb3IgPSBvcGFxdWU7CisgICAgIFZGSU9QQ0lEZXZpY2UgKnZkZXYgPSBtaXJy b3ItPnZkZXY7CistICAgIFBDSURldmljZSAqcGRldiA9ICZ2ZGV2LT5wZGV2OworKyAgICBQQ0lE ZXZpY2UgKnBkZXYgPSBQQ0lfREVWSUNFKHZkZXYpOworICAgICBMYXN0RGF0YVNldCAqbGFzdCA9 IChMYXN0RGF0YVNldCAqKSZtaXJyb3ItPmRhdGE7CisgCisgICAgIHZmaW9fZ2VuZXJpY19xdWly a19taXJyb3Jfd3JpdGUob3BhcXVlLCBhZGRyLCBkYXRhLCBzaXplKTsKK0BAIC0xMDA1LDYgKzEw MTIsNyBAQCBzdGF0aWMgdm9pZCB2ZmlvX3J0bDgxNjhfcXVpcmtfYWRkcmVzc193cml0ZSh2b2lk ICpvcGFxdWUsIGh3YWRkciBhZGRyLAorIHsKKyAgICAgVkZJT3J0bDgxNjhRdWlyayAqcnRsID0g b3BhcXVlOworICAgICBWRklPUENJRGV2aWNlICp2ZGV2ID0gcnRsLT52ZGV2OworKyAgICBQQ0lE ZXZpY2UgKnBkZXYgPSBQQ0lfREVWSUNFKHZkZXYpOworIAorICAgICBydGwtPmVuYWJsZWQgPSBm YWxzZTsKKyAKK0BAIC0xMDEzLDcgKzEwMjEsNyBAQCBzdGF0aWMgdm9pZCB2ZmlvX3J0bDgxNjhf cXVpcmtfYWRkcmVzc193cml0ZSh2b2lkICpvcGFxdWUsIGh3YWRkciBhZGRyLAorICAgICAgICAg cnRsLT5hZGRyID0gKHVpbnQzMl90KWRhdGE7CisgCisgICAgICAgICBpZiAoZGF0YSAmIDB4ODAw MDAwMDBVKSB7IC8qIERvIHdyaXRlICovCistICAgICAgICAgICAgaWYgKHZkZXYtPnBkZXYuY2Fw X3ByZXNlbnQgJiBRRU1VX1BDSV9DQVBfTVNJWCkgeworKyAgICAgICAgICAgIGlmIChwZGV2LT5j YXBfcHJlc2VudCAmIFFFTVVfUENJX0NBUF9NU0lYKSB7CisgICAgICAgICAgICAgICAgIGh3YWRk ciBvZmZzZXQgPSBkYXRhICYgMHhmZmY7CisgICAgICAgICAgICAgICAgIHVpbnQ2NF90IHZhbCA9 IHJ0bC0+ZGF0YTsKKyAKK0BAIC0xMDIxLDcgKzEwMjksNyBAQCBzdGF0aWMgdm9pZCB2ZmlvX3J0 bDgxNjhfcXVpcmtfYWRkcmVzc193cml0ZSh2b2lkICpvcGFxdWUsIGh3YWRkciBhZGRyLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodWludDE2 X3Qpb2Zmc2V0LCB2YWwpOworIAorICAgICAgICAgICAgICAgICAvKiBXcml0ZSB0byB0aGUgcHJv cGVyIGd1ZXN0IE1TSS1YIHRhYmxlIGluc3RlYWQgKi8KKy0gICAgICAgICAgICAgICAgbWVtb3J5 X3JlZ2lvbl9kaXNwYXRjaF93cml0ZSgmdmRldi0+cGRldi5tc2l4X3RhYmxlX21taW8sCisrICAg ICAgICAgICAgICAgIG1lbW9yeV9yZWdpb25fZGlzcGF0Y2hfd3JpdGUoJnBkZXYtPm1zaXhfdGFi bGVfbW1pbywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBv ZmZzZXQsIHZhbCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBzaXplX21lbW9wKHNpemUpIHwgTU9fTEUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgTUVNVFhBVFRSU19VTlNQRUNJRklFRCk7CitAQCAtMTA0OSwxMSAr MTA1NywxMiBAQCBzdGF0aWMgdWludDY0X3QgdmZpb19ydGw4MTY4X3F1aXJrX2RhdGFfcmVhZCh2 b2lkICpvcGFxdWUsCisgeworICAgICBWRklPcnRsODE2OFF1aXJrICpydGwgPSBvcGFxdWU7Cisg ICAgIFZGSU9QQ0lEZXZpY2UgKnZkZXYgPSBydGwtPnZkZXY7CisrICAgIFBDSURldmljZSAqcGRl diA9IFBDSV9ERVZJQ0UodmRldik7CisgICAgIHVpbnQ2NF90IGRhdGEgPSB2ZmlvX3JlZ2lvbl9y ZWFkKCZ2ZGV2LT5iYXJzWzJdLnJlZ2lvbiwgYWRkciArIDB4NzAsIHNpemUpOworIAorLSAgICBp ZiAocnRsLT5lbmFibGVkICYmICh2ZGV2LT5wZGV2LmNhcF9wcmVzZW50ICYgUUVNVV9QQ0lfQ0FQ X01TSVgpKSB7CisrICAgIGlmIChydGwtPmVuYWJsZWQgJiYgKHBkZXYtPmNhcF9wcmVzZW50ICYg UUVNVV9QQ0lfQ0FQX01TSVgpKSB7CisgICAgICAgICBod2FkZHIgb2Zmc2V0ID0gcnRsLT5hZGRy ICYgMHhmZmY7CistICAgICAgICBtZW1vcnlfcmVnaW9uX2Rpc3BhdGNoX3JlYWQoJnZkZXYtPnBk ZXYubXNpeF90YWJsZV9tbWlvLCBvZmZzZXQsCisrICAgICAgICBtZW1vcnlfcmVnaW9uX2Rpc3Bh dGNoX3JlYWQoJnBkZXYtPm1zaXhfdGFibGVfbW1pbywgb2Zmc2V0LAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICZkYXRhLCBzaXplX21lbW9wKHNpemUpIHwgTU9fTEUsCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUVNVFhBVFRSU19VTlNQRUNJRklF RCk7CisgICAgICAgICB0cmFjZV92ZmlvX3F1aXJrX3J0bDgxNjhfbXNpeF9yZWFkKHZkZXYtPnZi YXNlZGV2Lm5hbWUsIG9mZnNldCwgZGF0YSk7CitAQCAtMTI5Nyw3ICsxMzA2LDcgQEAgc3RhdGlj IHZvaWQgdmZpb19yYWRlb25fc2V0X2dmeF9vbmx5X3Jlc2V0KFZGSU9QQ0lEZXZpY2UgKnZkZXYp CisgCisgc3RhdGljIGludCB2ZmlvX3JhZGVvbl9yZXNldChWRklPUENJRGV2aWNlICp2ZGV2KQor IHsKKy0gICAgUENJRGV2aWNlICpwZGV2ID0gJnZkZXYtPnBkZXY7CisrICAgIFBDSURldmljZSAq cGRldiA9IFBDSV9ERVZJQ0UodmRldik7CisgICAgIGludCBpLCByZXQgPSAwOworICAgICB1aW50 MzJfdCBkYXRhOworIAorQEAgLTE0NTQsNyArMTQ2Myw3IEBAIHN0YXRpYyBib29sIGlzX3ZhbGlk X3N0ZF9jYXBfb2Zmc2V0KHVpbnQ4X3QgcG9zKQorIHN0YXRpYyBib29sIHZmaW9fYWRkX252X2dw dWRpcmVjdF9jYXAoVkZJT1BDSURldmljZSAqdmRldiwgRXJyb3IgKiplcnJwKQorIHsKKyAgICAg RVJSUF9HVUFSRCgpOworLSAgICBQQ0lEZXZpY2UgKnBkZXYgPSAmdmRldi0+cGRldjsKKysgICAg UENJRGV2aWNlICpwZGV2ID0gUENJX0RFVklDRSh2ZGV2KTsKKyAgICAgaW50IHJldCwgcG9zOwor ICAgICBib29sIGM4X2NvbmZsaWN0ID0gZmFsc2UsIGQ0X2NvbmZsaWN0ID0gZmFsc2U7CisgICAg IHVpbnQ4X3QgdG1wOworQEAgLTE1NDcsNiArMTU1Niw3IEBAIHN0YXRpYyBib29sIHZmaW9fYWRk X252X2dwdWRpcmVjdF9jYXAoVkZJT1BDSURldmljZSAqdmRldiwgRXJyb3IgKiplcnJwKQorIHN0 YXRpYyBib29sIHZmaW9fYWRkX3ZtZF9zaGFkb3dfY2FwKFZGSU9QQ0lEZXZpY2UgKnZkZXYsIEVy cm9yICoqZXJycCkKKyB7CisgICAgIEVSUlBfR1VBUkQoKTsKKysgICAgUENJRGV2aWNlICpwZGV2 ID0gUENJX0RFVklDRSh2ZGV2KTsKKyAgICAgdWludDhfdCBtZW1iYXJfcGh5c1sxNl07CisgICAg IGludCByZXQsIHBvcyA9IDB4RTg7CisgCitAQCAtMTU2NSw3ICsxNTc1LDcgQEAgc3RhdGljIGJv b2wgdmZpb19hZGRfdm1kX3NoYWRvd19jYXAoVkZJT1BDSURldmljZSAqdmRldiwgRXJyb3IgKipl cnJwKQorICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICB9CisgCistICAgIHJldCA9IHBjaV9h ZGRfY2FwYWJpbGl0eSgmdmRldi0+cGRldiwgUENJX0NBUF9JRF9WTkRSLCBwb3MsCisrICAgIHJl dCA9IHBjaV9hZGRfY2FwYWJpbGl0eShwZGV2LCBQQ0lfQ0FQX0lEX1ZORFIsIHBvcywKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFZNRF9TSEFET1dfQ0FQX0xFTiwgZXJycCk7CisgICAg IGlmIChyZXQgPCAwKSB7CisgICAgICAgICBlcnJvcl9wcmVwZW5kKGVycnAsICJGYWlsZWQgdG8g YWRkIFZNRCBNRU1CQVIgU2hhZG93IGNhcDogIik7CitAQCAtMTU3NCwxMCArMTU4NCwxMCBAQCBz dGF0aWMgYm9vbCB2ZmlvX2FkZF92bWRfc2hhZG93X2NhcChWRklPUENJRGV2aWNlICp2ZGV2LCBF cnJvciAqKmVycnApCisgCisgICAgIG1lbXNldCh2ZGV2LT5lbXVsYXRlZF9jb25maWdfYml0cyAr IHBvcywgMHhGRiwgVk1EX1NIQURPV19DQVBfTEVOKTsKKyAgICAgcG9zICs9IFBDSV9DQVBfRkxB R1M7CistICAgIHBjaV9zZXRfYnl0ZSh2ZGV2LT5wZGV2LmNvbmZpZyArIHBvcysrLCBWTURfU0hB RE9XX0NBUF9MRU4pOworLSAgICBwY2lfc2V0X2J5dGUodmRldi0+cGRldi5jb25maWcgKyBwb3Mr KywgVk1EX1NIQURPV19DQVBfVkVSKTsKKy0gICAgcGNpX3NldF9sb25nKHZkZXYtPnBkZXYuY29u ZmlnICsgcG9zLCAweDUzNDg0NDU3KTsgLyogU0hEVyAqLworLSAgICBtZW1jcHkodmRldi0+cGRl di5jb25maWcgKyBwb3MgKyA0LCBtZW1iYXJfcGh5cywgMTYpOworKyAgICBwY2lfc2V0X2J5dGUo cGRldi0+Y29uZmlnICsgcG9zKyssIFZNRF9TSEFET1dfQ0FQX0xFTik7CisrICAgIHBjaV9zZXRf Ynl0ZShwZGV2LT5jb25maWcgKyBwb3MrKywgVk1EX1NIQURPV19DQVBfVkVSKTsKKysgICAgcGNp X3NldF9sb25nKHBkZXYtPmNvbmZpZyArIHBvcywgMHg1MzQ4NDQ1Nyk7IC8qIFNIRFcgKi8KKysg ICAgbWVtY3B5KHBkZXYtPmNvbmZpZyArIHBvcyArIDQsIG1lbWJhcl9waHlzLCAxNik7CisgCisg ICAgIHJldHVybiB0cnVlOworIH0KKy0tIAorMi41Mi4wCisKCmRpZmYgLS1naXQgYS9rdm0tdmZp by1wY2kuYy1yZW5hbWUtdmZpb19pbnN0YW5jZV9maW5hbGl6ZS10by12ZmlvX3BjaS5wYXRjaCBi L2t2bS12ZmlvLXBjaS5jLXJlbmFtZS12ZmlvX2luc3RhbmNlX2ZpbmFsaXplLXRvLXZmaW9fcGNp LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE1MzM5ZDMKLS0tIC9k ZXYvbnVsbAorKysgYi9rdm0tdmZpby1wY2kuYy1yZW5hbWUtdmZpb19pbnN0YW5jZV9maW5hbGl6 ZS10by12ZmlvX3BjaS5wYXRjaApAQCAtMCwwICsxLDU0IEBACitGcm9tIDc2YjY1OGNkNTMyOWNk OGFhMzY3YjdmYzJiMGJhNmNkMmE1MThlYjQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9t OiBNYXJrIENhdmUtQXlsYW5kIDxtYXJrLmNhdmVheWxhbmRAbnV0YW5peC5jb20+CitEYXRlOiBU aHUsIDI1IFNlcCAyMDI1IDEyOjMxOjIxICswMTAwCitTdWJqZWN0OiBbUEFUQ0ggMDYzLzExNl0g dmZpby9wY2kuYzogcmVuYW1lIHZmaW9faW5zdGFuY2VfZmluYWxpemUoKSB0bworIHZmaW9fcGNp X2ZpbmFsaXplKCkKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47 IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworUkgtQXV0 aG9yOiBSb2RvbGZvIFZpY2sgPE5vbmU+CitSSC1NZXJnZVJlcXVlc3Q6IDQ4NjogQWRkIERNQUJV RiBzdXBwb3J0CitSSC1KaXJhOiBSSEVMLTEzODQ5NAorUkgtQWNrZWQtYnk6IEPDqWRyaWMgTGUg R29hdGVyIDxjbGdAcmVkaGF0LmNvbT4KK1JILUFja2VkLWJ5OiBFcmljIEF1Z2VyIDxlcmljLmF1 Z2VyQHJlZGhhdC5jb20+CitSSC1Db21taXQ6IFs0Ny8xMDBdIDFkNmE2ODU4NjIwOWYwNTI4ZDI2 NmJmYTRhMjU4ZmUxZDEwZDA3ZjUgKHJvdmljazEvcWVtdS1rdm0pCisKK1RoaXMgaXMgdGhlIG1v cmUgdHlwaWNhbCBuYW1pbmcgY29udmVudGlvbiBmb3IgUU9NIGZpbmFsaXplKCkgZnVuY3Rpb25z LCBpbgorcGFydGljdWxhciBpdCBjaGFuZ2VzIHRoZSBwcmVmaXggdG8gbWF0Y2ggdGhlIG5hbWUg b2YgdGhlIFFPTSB0eXBlLgorCitTaWduZWQtb2ZmLWJ5OiBNYXJrIENhdmUtQXlsYW5kIDxtYXJr LmNhdmVheWxhbmRAbnV0YW5peC5jb20+CitSZXZpZXdlZC1ieTogQ8OpZHJpYyBMZSBHb2F0ZXIg PGNsZ0ByZWRoYXQuY29tPgorTGluazogaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvcWVtdS1kZXZl bC8yMDI1MDkyNTExMzE1OS4xNzYwMzE3LTE0LW1hcmsuY2F2ZWF5bGFuZEBudXRhbml4LmNvbQor U2lnbmVkLW9mZi1ieTogQ8OpZHJpYyBMZSBHb2F0ZXIgPGNsZ0ByZWRoYXQuY29tPgorKGNoZXJy eSBwaWNrZWQgZnJvbSBjb21taXQgZTZmZDgwODczYTI0ODgzZGMyMDRkMDlmMTFjMTZlMzBjOGNk MWMzNykKK1NpZ25lZC1vZmYtYnk6IEVyaWMgQXVnZXIgPGVyaWMuYXVnZXJAcmVkaGF0LmNvbT4K Ky0tLQorIGh3L3ZmaW8vcGNpLmMgfCA0ICsrLS0KKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRp b25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvaHcvdmZpby9wY2kuYyBiL2h3 L3ZmaW8vcGNpLmMKK2luZGV4IDQwMDJhZjBjNTQuLmQzMGY2MGMyMWEgMTAwNjQ0CistLS0gYS9o dy92ZmlvL3BjaS5jCisrKysgYi9ody92ZmlvL3BjaS5jCitAQCAtMzU2OCw3ICszNTY4LDcgQEAg ZXJyb3I6CisgICAgIGVycm9yX3ByZXBlbmQoZXJycCwgVkZJT19NU0dfUFJFRklYLCB2YmFzZWRl di0+bmFtZSk7CisgfQorIAorLXN0YXRpYyB2b2lkIHZmaW9faW5zdGFuY2VfZmluYWxpemUoT2Jq ZWN0ICpvYmopCisrc3RhdGljIHZvaWQgdmZpb19wY2lfZmluYWxpemUoT2JqZWN0ICpvYmopCisg eworICAgICBWRklPUENJRGV2aWNlICp2ZGV2ID0gVkZJT19QQ0lfQkFTRShvYmopOworIAorQEAg LTM5MzksNyArMzkzOSw3IEBAIHN0YXRpYyBjb25zdCBUeXBlSW5mbyB2ZmlvX3BjaV9kZXZfaW5m byA9IHsKKyAgICAgLnBhcmVudCA9IFRZUEVfVkZJT19QQ0lfQkFTRSwKKyAgICAgLmNsYXNzX2lu aXQgPSB2ZmlvX3BjaV9kZXZfY2xhc3NfaW5pdCwKKyAgICAgLmluc3RhbmNlX2luaXQgPSB2Zmlv X3BjaV9pbml0LAorLSAgICAuaW5zdGFuY2VfZmluYWxpemUgPSB2ZmlvX2luc3RhbmNlX2ZpbmFs aXplLAorKyAgICAuaW5zdGFuY2VfZmluYWxpemUgPSB2ZmlvX3BjaV9maW5hbGl6ZSwKKyB9Owor IAorIHN0YXRpYyBjb25zdCBQcm9wZXJ0eSB2ZmlvX3BjaV9kZXZfbm9ob3RwbHVnX3Byb3BlcnRp ZXNbXSA9IHsKKy0tIAorMi41Mi4wCisKCmRpZmYgLS1naXQgYS9rdm0tdmZpby1wY2kuYy1yZW5h bWUtdmZpb19pbnN0YW5jZV9pbml0LXRvLXZmaW9fcGNpX2luaS5wYXRjaCBiL2t2bS12ZmlvLXBj aS5jLXJlbmFtZS12ZmlvX2luc3RhbmNlX2luaXQtdG8tdmZpb19wY2lfaW5pLnBhdGNoCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVkY2FiMTAKLS0tIC9kZXYvbnVsbAorKysg Yi9rdm0tdmZpby1wY2kuYy1yZW5hbWUtdmZpb19pbnN0YW5jZV9pbml0LXRvLXZmaW9fcGNpX2lu aS5wYXRjaApAQCAtMCwwICsxLDU0IEBACitGcm9tIDJhOTAzZWQzNGZlMWZjOTNhMGUzNmI3YzZk ZWMyNzI2NzI1N2QxZTQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNYXJrIENhdmUt QXlsYW5kIDxtYXJrLmNhdmVheWxhbmRAbnV0YW5peC5jb20+CitEYXRlOiBUaHUsIDI1IFNlcCAy MDI1IDEyOjMxOjIwICswMTAwCitTdWJqZWN0OiBbUEFUQ0ggMDYyLzExNl0gdmZpby9wY2kuYzog cmVuYW1lIHZmaW9faW5zdGFuY2VfaW5pdCgpIHRvCisgdmZpb19wY2lfaW5pdCgpCitNSU1FLVZl cnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250 ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK1JILUF1dGhvcjogUm9kb2xmbyBWaWNrIDxO b25lPgorUkgtTWVyZ2VSZXF1ZXN0OiA0ODY6IEFkZCBETUFCVUYgc3VwcG9ydAorUkgtSmlyYTog UkhFTC0xMzg0OTQKK1JILUFja2VkLWJ5OiBDw6lkcmljIExlIEdvYXRlciA8Y2xnQHJlZGhhdC5j b20+CitSSC1BY2tlZC1ieTogRXJpYyBBdWdlciA8ZXJpYy5hdWdlckByZWRoYXQuY29tPgorUkgt Q29tbWl0OiBbNDYvMTAwXSA1Njc3MmQwYTg3MzQ4YjYzYzI5MjkxZDcyYWJmOTBlMzJmM2ExMjAx IChyb3ZpY2sxL3FlbXUta3ZtKQorCitUaGlzIGlzIHRoZSBtb3JlIHR5cGljYWwgbmFtaW5nIGNv bnZlbnRpb24gZm9yIFFPTSBpbml0KCkgZnVuY3Rpb25zLCBpbgorcGFydGljdWxhciBpdCBjaGFu Z2VzIHRoZSBwcmVmaXggdG8gbWF0Y2ggdGhlIG5hbWUgb2YgdGhlIFFPTSB0eXBlLgorCitTaWdu ZWQtb2ZmLWJ5OiBNYXJrIENhdmUtQXlsYW5kIDxtYXJrLmNhdmVheWxhbmRAbnV0YW5peC5jb20+ CitSZXZpZXdlZC1ieTogQ8OpZHJpYyBMZSBHb2F0ZXIgPGNsZ0ByZWRoYXQuY29tPgorTGluazog aHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvcWVtdS1kZXZlbC8yMDI1MDkyNTExMzE1OS4xNzYwMzE3 LTEzLW1hcmsuY2F2ZWF5bGFuZEBudXRhbml4LmNvbQorU2lnbmVkLW9mZi1ieTogQ8OpZHJpYyBM ZSBHb2F0ZXIgPGNsZ0ByZWRoYXQuY29tPgorKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgZDVk YjUwZGQ4MTkxNDI3NDhlMTBlNDg4YTIyODgwNTJlYzAyMzVmZCkKK1NpZ25lZC1vZmYtYnk6IEVy aWMgQXVnZXIgPGVyaWMuYXVnZXJAcmVkaGF0LmNvbT4KKy0tLQorIGh3L3ZmaW8vcGNpLmMgfCA0 ICsrLS0KKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQor CitkaWZmIC0tZ2l0IGEvaHcvdmZpby9wY2kuYyBiL2h3L3ZmaW8vcGNpLmMKK2luZGV4IDM4ZWE1 ODAyMGQuLjQwMDJhZjBjNTQgMTAwNjQ0CistLS0gYS9ody92ZmlvL3BjaS5jCisrKysgYi9ody92 ZmlvL3BjaS5jCitAQCAtMzY0Myw3ICszNjQzLDcgQEAgcG9zdF9yZXNldDoKKyAgICAgdmZpb19w Y2lfcG9zdF9yZXNldCh2ZGV2KTsKKyB9CisgCistc3RhdGljIHZvaWQgdmZpb19pbnN0YW5jZV9p bml0KE9iamVjdCAqb2JqKQorK3N0YXRpYyB2b2lkIHZmaW9fcGNpX2luaXQoT2JqZWN0ICpvYmop CisgeworICAgICBQQ0lEZXZpY2UgKnBjaV9kZXYgPSBQQ0lfREVWSUNFKG9iaik7CisgICAgIFZG SU9QQ0lEZXZpY2UgKnZkZXYgPSBWRklPX1BDSV9CQVNFKG9iaik7CitAQCAtMzkzOCw3ICszOTM4 LDcgQEAgc3RhdGljIGNvbnN0IFR5cGVJbmZvIHZmaW9fcGNpX2Rldl9pbmZvID0geworICAgICAu bmFtZSA9IFRZUEVfVkZJT19QQ0ksCisgICAgIC5wYXJlbnQgPSBUWVBFX1ZGSU9fUENJX0JBU0Us CisgICAgIC5jbGFzc19pbml0ID0gdmZpb19wY2lfZGV2X2NsYXNzX2luaXQsCistICAgIC5pbnN0 YW5jZV9pbml0ID0gdmZpb19pbnN0YW5jZV9pbml0LAorKyAgICAuaW5zdGFuY2VfaW5pdCA9IHZm aW9fcGNpX2luaXQsCisgICAgIC5pbnN0YW5jZV9maW5hbGl6ZSA9IHZmaW9faW5zdGFuY2VfZmlu YWxpemUsCisgfTsKKyAKKy0tIAorMi41Mi4wCisKCmRpZmYgLS1naXQgYS9rdm0tdmZpby1wY2ku Yy1yZW5hbWUtdmZpb19wY2lfYmFzZV9kZXZfY2xhc3NfaW5pdC10by12Zi5wYXRjaCBiL2t2bS12 ZmlvLXBjaS5jLXJlbmFtZS12ZmlvX3BjaV9iYXNlX2Rldl9jbGFzc19pbml0LXRvLXZmLnBhdGNo Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJkNDQ4NGEKLS0tIC9kZXYvbnVs bAorKysgYi9rdm0tdmZpby1wY2kuYy1yZW5hbWUtdmZpb19wY2lfYmFzZV9kZXZfY2xhc3NfaW5p dC10by12Zi5wYXRjaApAQCAtMCwwICsxLDUzIEBACitGcm9tIDdiYzJkYzZhZWVhM2ZjNjg3NTdk ODE2ZWJhNWI5OWY0NzM1NzkyYzAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNYXJr IENhdmUtQXlsYW5kIDxtYXJrLmNhdmVheWxhbmRAbnV0YW5peC5jb20+CitEYXRlOiBUaHUsIDI1 IFNlcCAyMDI1IDEyOjMxOjI1ICswMTAwCitTdWJqZWN0OiBbUEFUQ0ggMDY4LzExNl0gdmZpby9w Y2kuYzogcmVuYW1lIHZmaW9fcGNpX2Jhc2VfZGV2X2NsYXNzX2luaXQoKSB0bworIHZmaW9fcGNp X2RldmljZV9jbGFzc19pbml0KCkKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRl eHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQK KworUkgtQXV0aG9yOiBSb2RvbGZvIFZpY2sgPE5vbmU+CitSSC1NZXJnZVJlcXVlc3Q6IDQ4Njog QWRkIERNQUJVRiBzdXBwb3J0CitSSC1KaXJhOiBSSEVMLTEzODQ5NAorUkgtQWNrZWQtYnk6IEPD qWRyaWMgTGUgR29hdGVyIDxjbGdAcmVkaGF0LmNvbT4KK1JILUFja2VkLWJ5OiBFcmljIEF1Z2Vy IDxlcmljLmF1Z2VyQHJlZGhhdC5jb20+CitSSC1Db21taXQ6IFs1Mi8xMDBdIGRmMWMxODVmZjI0 MzYwNTYwZWFkYWUwY2E3ZjQxNGRlNmMwNzNkMzQgKHJvdmljazEvcWVtdS1rdm0pCisKK1RoaXMg Y2hhbmdlcyB0aGUgZnVuY3Rpb24gcHJlZml4IHRvIG1hdGNoIHRoZSBuYW1lIG9mIHRoZSBRT00g dHlwZS4KKworU2lnbmVkLW9mZi1ieTogTWFyayBDYXZlLUF5bGFuZCA8bWFyay5jYXZlYXlsYW5k QG51dGFuaXguY29tPgorUmV2aWV3ZWQtYnk6IEPDqWRyaWMgTGUgR29hdGVyIDxjbGdAcmVkaGF0 LmNvbT4KK0xpbms6IGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL3FlbXUtZGV2ZWwvMjAyNTA5MjUx MTMxNTkuMTc2MDMxNy0xOC1tYXJrLmNhdmVheWxhbmRAbnV0YW5peC5jb20KK1NpZ25lZC1vZmYt Ynk6IEPDqWRyaWMgTGUgR29hdGVyIDxjbGdAcmVkaGF0LmNvbT4KKyhjaGVycnkgcGlja2VkIGZy b20gY29tbWl0IDE1MzI3M2YyNzk2YTY2NGIwODEyMDc5OWYzMjZjNjMxOWY2NDAwMTEpCitTaWdu ZWQtb2ZmLWJ5OiBFcmljIEF1Z2VyIDxlcmljLmF1Z2VyQHJlZGhhdC5jb20+CistLS0KKyBody92 ZmlvL3BjaS5jIHwgNCArKy0tCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBk ZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2h3L3ZmaW8vcGNpLmMgYi9ody92ZmlvL3BjaS5j CitpbmRleCA5MzcyODNiY2M2Li41MzgwY2YwYzUzIDEwMDY0NAorLS0tIGEvaHcvdmZpby9wY2ku YworKysrIGIvaHcvdmZpby9wY2kuYworQEAgLTM2NzQsNyArMzY3NCw3IEBAIHN0YXRpYyB2b2lk IHZmaW9fcGNpX2luaXQoT2JqZWN0ICpvYmopCisgICAgIHBjaV9kZXYtPmNhcF9wcmVzZW50IHw9 IFFFTVVfUENJX1NLSVBfUkVTRVRfT05fQ1BSOworIH0KKyAKKy1zdGF0aWMgdm9pZCB2ZmlvX3Bj aV9iYXNlX2Rldl9jbGFzc19pbml0KE9iamVjdENsYXNzICprbGFzcywgY29uc3Qgdm9pZCAqZGF0 YSkKKytzdGF0aWMgdm9pZCB2ZmlvX3BjaV9kZXZpY2VfY2xhc3NfaW5pdChPYmplY3RDbGFzcyAq a2xhc3MsIGNvbnN0IHZvaWQgKmRhdGEpCisgeworICAgICBEZXZpY2VDbGFzcyAqZGMgPSBERVZJ Q0VfQ0xBU1Moa2xhc3MpOworICAgICBQQ0lEZXZpY2VDbGFzcyAqcGRjID0gUENJX0RFVklDRV9D TEFTUyhrbGFzcyk7CitAQCAtMzY5MSw3ICszNjkxLDcgQEAgc3RhdGljIGNvbnN0IFR5cGVJbmZv IHZmaW9fcGNpX2Jhc2VfZGV2X2luZm8gPSB7CisgICAgIC5wYXJlbnQgPSBUWVBFX1BDSV9ERVZJ Q0UsCisgICAgIC5pbnN0YW5jZV9zaXplID0gc2l6ZW9mKFZGSU9QQ0lEZXZpY2UpLAorICAgICAu YWJzdHJhY3QgPSB0cnVlLAorLSAgICAuY2xhc3NfaW5pdCA9IHZmaW9fcGNpX2Jhc2VfZGV2X2Ns YXNzX2luaXQsCisrICAgIC5jbGFzc19pbml0ID0gdmZpb19wY2lfZGV2aWNlX2NsYXNzX2luaXQs CisgICAgIC5pbnRlcmZhY2VzID0gKGNvbnN0IEludGVyZmFjZUluZm9bXSkgeworICAgICAgICAg eyBJTlRFUkZBQ0VfUENJRV9ERVZJQ0UgfSwKKyAgICAgICAgIHsgSU5URVJGQUNFX0NPTlZFTlRJ T05BTF9QQ0lfREVWSUNFIH0sCistLSAKKzIuNTIuMAorCgpkaWZmIC0tZ2l0IGEva3ZtLXZmaW8t cGNpLmMtcmVuYW1lLXZmaW9fcGNpX2Jhc2VfZGV2X2luZm8tdG8tdmZpb19wY2kucGF0Y2ggYi9r dm0tdmZpby1wY2kuYy1yZW5hbWUtdmZpb19wY2lfYmFzZV9kZXZfaW5mby10by12ZmlvX3BjaS5w YXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMjI1YTMzCi0tLSAvZGV2 L251bGwKKysrIGIva3ZtLXZmaW8tcGNpLmMtcmVuYW1lLXZmaW9fcGNpX2Jhc2VfZGV2X2luZm8t dG8tdmZpb19wY2kucGF0Y2gKQEAgLTAsMCArMSw1MyBAQAorRnJvbSA0MGEyNzc5NjZlNDQyZTU1 ZTJlYmZiMjE3NjQ3MDlkMzViYTI3NTE5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTog TWFyayBDYXZlLUF5bGFuZCA8bWFyay5jYXZlYXlsYW5kQG51dGFuaXguY29tPgorRGF0ZTogVGh1 LCAyNSBTZXAgMjAyNSAxMjozMToyNiArMDEwMAorU3ViamVjdDogW1BBVENIIDA2OS8xMTZdIHZm aW8vcGNpLmM6IHJlbmFtZSB2ZmlvX3BjaV9iYXNlX2Rldl9pbmZvIHRvCisgdmZpb19wY2lfZGV2 aWNlX2luZm8KK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNo YXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworUkgtQXV0aG9y OiBSb2RvbGZvIFZpY2sgPE5vbmU+CitSSC1NZXJnZVJlcXVlc3Q6IDQ4NjogQWRkIERNQUJVRiBz dXBwb3J0CitSSC1KaXJhOiBSSEVMLTEzODQ5NAorUkgtQWNrZWQtYnk6IEPDqWRyaWMgTGUgR29h dGVyIDxjbGdAcmVkaGF0LmNvbT4KK1JILUFja2VkLWJ5OiBFcmljIEF1Z2VyIDxlcmljLmF1Z2Vy QHJlZGhhdC5jb20+CitSSC1Db21taXQ6IFs1My8xMDBdIDIyOWJiZDdlYTY1MDFlMWRlZmQ5NTdi ZDljYzljMmFkNTlhYjdjYjAgKHJvdmljazEvcWVtdS1rdm0pCisKK1RoaXMgY2hhbmdlcyB0aGUg cHJlZml4IHRvIG1hdGNoIHRoZSBuYW1lIG9mIHRoZSBRT00gdHlwZS4KKworU2lnbmVkLW9mZi1i eTogTWFyayBDYXZlLUF5bGFuZCA8bWFyay5jYXZlYXlsYW5kQG51dGFuaXguY29tPgorUmV2aWV3 ZWQtYnk6IEPDqWRyaWMgTGUgR29hdGVyIDxjbGdAcmVkaGF0LmNvbT4KK0xpbms6IGh0dHBzOi8v bG9yZS5rZXJuZWwub3JnL3FlbXUtZGV2ZWwvMjAyNTA5MjUxMTMxNTkuMTc2MDMxNy0xOS1tYXJr LmNhdmVheWxhbmRAbnV0YW5peC5jb20KK1NpZ25lZC1vZmYtYnk6IEPDqWRyaWMgTGUgR29hdGVy IDxjbGdAcmVkaGF0LmNvbT4KKyhjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDU5NmIxNThmZmQ3 Mjc0NjVmYmViOWZmZjlhMjJiN2VhN2EzNDFiYzMpCitTaWduZWQtb2ZmLWJ5OiBFcmljIEF1Z2Vy IDxlcmljLmF1Z2VyQHJlZGhhdC5jb20+CistLS0KKyBody92ZmlvL3BjaS5jIHwgNCArKy0tCisg MSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAt LWdpdCBhL2h3L3ZmaW8vcGNpLmMgYi9ody92ZmlvL3BjaS5jCitpbmRleCA1MzgwY2YwYzUzLi45 ZTk2ZjdkMzA2IDEwMDY0NAorLS0tIGEvaHcvdmZpby9wY2kuYworKysrIGIvaHcvdmZpby9wY2ku YworQEAgLTM2ODYsNyArMzY4Niw3IEBAIHN0YXRpYyB2b2lkIHZmaW9fcGNpX2RldmljZV9jbGFz c19pbml0KE9iamVjdENsYXNzICprbGFzcywgY29uc3Qgdm9pZCAqZGF0YSkKKyAgICAgcGRjLT5j b25maWdfd3JpdGUgPSB2ZmlvX3BjaV93cml0ZV9jb25maWc7CisgfQorIAorLXN0YXRpYyBjb25z dCBUeXBlSW5mbyB2ZmlvX3BjaV9iYXNlX2Rldl9pbmZvID0geworK3N0YXRpYyBjb25zdCBUeXBl SW5mbyB2ZmlvX3BjaV9kZXZpY2VfaW5mbyA9IHsKKyAgICAgLm5hbWUgPSBUWVBFX1ZGSU9fUENJ X0RFVklDRSwKKyAgICAgLnBhcmVudCA9IFRZUEVfUENJX0RFVklDRSwKKyAgICAgLmluc3RhbmNl X3NpemUgPSBzaXplb2YoVkZJT1BDSURldmljZSksCitAQCAtMzk5MSw3ICszOTkxLDcgQEAgc3Rh dGljIHZvaWQgcmVnaXN0ZXJfdmZpb19wY2lfZGV2X3R5cGUodm9pZCkKKyAgICAgdmZpb19wY2lf bWlncmF0aW9uX211bHRpZmRfdHJhbnNmZXJfcHJvcCA9IHFkZXZfcHJvcF9vbl9vZmZfYXV0bzsK KyAgICAgdmZpb19wY2lfbWlncmF0aW9uX211bHRpZmRfdHJhbnNmZXJfcHJvcC5yZWFsaXplZF9z ZXRfYWxsb3dlZCA9IHRydWU7CisgCistICAgIHR5cGVfcmVnaXN0ZXJfc3RhdGljKCZ2ZmlvX3Bj aV9iYXNlX2Rldl9pbmZvKTsKKysgICAgdHlwZV9yZWdpc3Rlcl9zdGF0aWMoJnZmaW9fcGNpX2Rl dmljZV9pbmZvKTsKKyAgICAgdHlwZV9yZWdpc3Rlcl9zdGF0aWMoJnZmaW9fcGNpX2luZm8pOwor ICAgICB0eXBlX3JlZ2lzdGVyX3N0YXRpYygmdmZpb19wY2lfbm9ob3RwbHVnX2Rldl9pbmZvKTsK KyB9CistLSAKKzIuNTIuMAorCgpkaWZmIC0tZ2l0IGEva3ZtLXZmaW8tcGNpLmMtcmVuYW1lLXZm aW9fcGNpX2Rldl9jbGFzc19pbml0LXRvLXZmaW9fcGMucGF0Y2ggYi9rdm0tdmZpby1wY2kuYy1y ZW5hbWUtdmZpb19wY2lfZGV2X2NsYXNzX2luaXQtdG8tdmZpb19wYy5wYXRjaApuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMzhhMDcyCi0tLSAvZGV2L251bGwKKysrIGIva3Zt LXZmaW8tcGNpLmMtcmVuYW1lLXZmaW9fcGNpX2Rldl9jbGFzc19pbml0LXRvLXZmaW9fcGMucGF0 Y2gKQEAgLTAsMCArMSw1MyBAQAorRnJvbSBjMDc1MWVhNTFiNGI5MWFlNDhmODZlNWEzMzcxNWI3 YzQ1OGUwYTY4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWFyayBDYXZlLUF5bGFu ZCA8bWFyay5jYXZlYXlsYW5kQG51dGFuaXguY29tPgorRGF0ZTogVGh1LCAyNSBTZXAgMjAyNSAx MjozMToyMiArMDEwMAorU3ViamVjdDogW1BBVENIIDA2NC8xMTZdIHZmaW8vcGNpLmM6IHJlbmFt ZSB2ZmlvX3BjaV9kZXZfY2xhc3NfaW5pdCgpIHRvCisgdmZpb19wY2lfY2xhc3NfaW5pdCgpCitN SU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04 CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK1JILUF1dGhvcjogUm9kb2xmbyBW aWNrIDxOb25lPgorUkgtTWVyZ2VSZXF1ZXN0OiA0ODY6IEFkZCBETUFCVUYgc3VwcG9ydAorUkgt SmlyYTogUkhFTC0xMzg0OTQKK1JILUFja2VkLWJ5OiBDw6lkcmljIExlIEdvYXRlciA8Y2xnQHJl ZGhhdC5jb20+CitSSC1BY2tlZC1ieTogRXJpYyBBdWdlciA8ZXJpYy5hdWdlckByZWRoYXQuY29t PgorUkgtQ29tbWl0OiBbNDgvMTAwXSBkYzEyMWIzYmYzMDZmN2Y5MzNhMjg1OGViMjY0YmZiODli MDdiZjM2IChyb3ZpY2sxL3FlbXUta3ZtKQorCitUaGlzIGNoYW5nZXMgdGhlIGZ1bmN0aW9uIHBy ZWZpeCB0byBtYXRjaCB0aGUgbmFtZSBvZiB0aGUgUU9NIHR5cGUuCisKK1NpZ25lZC1vZmYtYnk6 IE1hcmsgQ2F2ZS1BeWxhbmQgPG1hcmsuY2F2ZWF5bGFuZEBudXRhbml4LmNvbT4KK1Jldmlld2Vk LWJ5OiBDw6lkcmljIExlIEdvYXRlciA8Y2xnQHJlZGhhdC5jb20+CitMaW5rOiBodHRwczovL2xv cmUua2VybmVsLm9yZy9xZW11LWRldmVsLzIwMjUwOTI1MTEzMTU5LjE3NjAzMTctMTUtbWFyay5j YXZlYXlsYW5kQG51dGFuaXguY29tCitTaWduZWQtb2ZmLWJ5OiBDw6lkcmljIExlIEdvYXRlciA8 Y2xnQHJlZGhhdC5jb20+CisoY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCA3ODRmYTE1ZjAyZmMw YWRiZjg4OTdmNWMzMDEyNjUyMTc0Y2M3Mjc0KQorU2lnbmVkLW9mZi1ieTogRXJpYyBBdWdlciA8 ZXJpYy5hdWdlckByZWRoYXQuY29tPgorLS0tCisgaHcvdmZpby9wY2kuYyB8IDQgKystLQorIDEg ZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1n aXQgYS9ody92ZmlvL3BjaS5jIGIvaHcvdmZpby9wY2kuYworaW5kZXggZDMwZjYwYzIxYS4uOTZh MGQ4YjI5MCAxMDA2NDQKKy0tLSBhL2h3L3ZmaW8vcGNpLmMKKysrKyBiL2h3L3ZmaW8vcGNpLmMK K0BAIC0zNzg1LDcgKzM3ODUsNyBAQCBzdGF0aWMgdm9pZCB2ZmlvX3BjaV9zZXRfZmQoT2JqZWN0 ICpvYmosIGNvbnN0IGNoYXIgKnN0ciwgRXJyb3IgKiplcnJwKQorIH0KKyAjZW5kaWYKKyAKKy1z dGF0aWMgdm9pZCB2ZmlvX3BjaV9kZXZfY2xhc3NfaW5pdChPYmplY3RDbGFzcyAqa2xhc3MsIGNv bnN0IHZvaWQgKmRhdGEpCisrc3RhdGljIHZvaWQgdmZpb19wY2lfY2xhc3NfaW5pdChPYmplY3RD bGFzcyAqa2xhc3MsIGNvbnN0IHZvaWQgKmRhdGEpCisgeworICAgICBEZXZpY2VDbGFzcyAqZGMg PSBERVZJQ0VfQ0xBU1Moa2xhc3MpOworICAgICBQQ0lEZXZpY2VDbGFzcyAqcGRjID0gUENJX0RF VklDRV9DTEFTUyhrbGFzcyk7CitAQCAtMzkzNyw3ICszOTM3LDcgQEAgc3RhdGljIHZvaWQgdmZp b19wY2lfZGV2X2NsYXNzX2luaXQoT2JqZWN0Q2xhc3MgKmtsYXNzLCBjb25zdCB2b2lkICpkYXRh KQorIHN0YXRpYyBjb25zdCBUeXBlSW5mbyB2ZmlvX3BjaV9kZXZfaW5mbyA9IHsKKyAgICAgLm5h bWUgPSBUWVBFX1ZGSU9fUENJLAorICAgICAucGFyZW50ID0gVFlQRV9WRklPX1BDSV9CQVNFLAor LSAgICAuY2xhc3NfaW5pdCA9IHZmaW9fcGNpX2Rldl9jbGFzc19pbml0LAorKyAgICAuY2xhc3Nf aW5pdCA9IHZmaW9fcGNpX2NsYXNzX2luaXQsCisgICAgIC5pbnN0YW5jZV9pbml0ID0gdmZpb19w Y2lfaW5pdCwKKyAgICAgLmluc3RhbmNlX2ZpbmFsaXplID0gdmZpb19wY2lfZmluYWxpemUsCisg fTsKKy0tIAorMi41Mi4wCisKCmRpZmYgLS1naXQgYS9rdm0tdmZpby1wY2kuYy1yZW5hbWUtdmZp b19wY2lfZGV2X2luZm8tdG8tdmZpb19wY2lfaW5mby5wYXRjaCBiL2t2bS12ZmlvLXBjaS5jLXJl bmFtZS12ZmlvX3BjaV9kZXZfaW5mby10by12ZmlvX3BjaV9pbmZvLnBhdGNoCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk4YzYzYjQKLS0tIC9kZXYvbnVsbAorKysgYi9rdm0t dmZpby1wY2kuYy1yZW5hbWUtdmZpb19wY2lfZGV2X2luZm8tdG8tdmZpb19wY2lfaW5mby5wYXRj aApAQCAtMCwwICsxLDUyIEBACitGcm9tIDg5YTI1MmM0NGM5YWNjOTk1ZDM0ZDFjNzdjN2Y2NTJi YzQ5OTRhMDYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNYXJrIENhdmUtQXlsYW5k IDxtYXJrLmNhdmVheWxhbmRAbnV0YW5peC5jb20+CitEYXRlOiBUaHUsIDI1IFNlcCAyMDI1IDEy OjMxOjIzICswMTAwCitTdWJqZWN0OiBbUEFUQ0ggMDY1LzExNl0gdmZpby9wY2kuYzogcmVuYW1l IHZmaW9fcGNpX2Rldl9pbmZvIHRvIHZmaW9fcGNpX2luZm8KK01JTUUtVmVyc2lvbjogMS4wCitD b250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXIt RW5jb2Rpbmc6IDhiaXQKKworUkgtQXV0aG9yOiBSb2RvbGZvIFZpY2sgPE5vbmU+CitSSC1NZXJn ZVJlcXVlc3Q6IDQ4NjogQWRkIERNQUJVRiBzdXBwb3J0CitSSC1KaXJhOiBSSEVMLTEzODQ5NAor UkgtQWNrZWQtYnk6IEPDqWRyaWMgTGUgR29hdGVyIDxjbGdAcmVkaGF0LmNvbT4KK1JILUFja2Vk LWJ5OiBFcmljIEF1Z2VyIDxlcmljLmF1Z2VyQHJlZGhhdC5jb20+CitSSC1Db21taXQ6IFs0OS8x MDBdIGU3ODM3ZDM4ZGM1MjUwYmZkMzEzMGUyMDg4NzI5YjRlOTg1MGQzMDcgKHJvdmljazEvcWVt dS1rdm0pCisKK1RoaXMgY2hhbmdlcyB0aGUgcHJlZml4IHRvIG1hdGNoIHRoZSBuYW1lIG9mIHRo ZSBRT00gdHlwZS4KKworU2lnbmVkLW9mZi1ieTogTWFyayBDYXZlLUF5bGFuZCA8bWFyay5jYXZl YXlsYW5kQG51dGFuaXguY29tPgorUmV2aWV3ZWQtYnk6IEPDqWRyaWMgTGUgR29hdGVyIDxjbGdA cmVkaGF0LmNvbT4KK0xpbms6IGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL3FlbXUtZGV2ZWwvMjAy NTA5MjUxMTMxNTkuMTc2MDMxNy0xNi1tYXJrLmNhdmVheWxhbmRAbnV0YW5peC5jb20KK1NpZ25l ZC1vZmYtYnk6IEPDqWRyaWMgTGUgR29hdGVyIDxjbGdAcmVkaGF0LmNvbT4KKyhjaGVycnkgcGlj a2VkIGZyb20gY29tbWl0IDI1YzgzNzZiMzc5NDhkNzYwOGIxYTEzZjQzZTk4NWZjODAxMjk1ZTUp CitTaWduZWQtb2ZmLWJ5OiBFcmljIEF1Z2VyIDxlcmljLmF1Z2VyQHJlZGhhdC5jb20+CistLS0K KyBody92ZmlvL3BjaS5jIHwgNCArKy0tCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygr KSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2h3L3ZmaW8vcGNpLmMgYi9ody92Zmlv L3BjaS5jCitpbmRleCA5NmEwZDhiMjkwLi5mZDhkOGY3ZTMyIDEwMDY0NAorLS0tIGEvaHcvdmZp by9wY2kuYworKysrIGIvaHcvdmZpby9wY2kuYworQEAgLTM5MzQsNyArMzkzNCw3IEBAIHN0YXRp YyB2b2lkIHZmaW9fcGNpX2NsYXNzX2luaXQoT2JqZWN0Q2xhc3MgKmtsYXNzLCBjb25zdCB2b2lk ICpkYXRhKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJtdWx0 aWZkIGNoYW5uZWxzIik7CisgfQorIAorLXN0YXRpYyBjb25zdCBUeXBlSW5mbyB2ZmlvX3BjaV9k ZXZfaW5mbyA9IHsKKytzdGF0aWMgY29uc3QgVHlwZUluZm8gdmZpb19wY2lfaW5mbyA9IHsKKyAg ICAgLm5hbWUgPSBUWVBFX1ZGSU9fUENJLAorICAgICAucGFyZW50ID0gVFlQRV9WRklPX1BDSV9C QVNFLAorICAgICAuY2xhc3NfaW5pdCA9IHZmaW9fcGNpX2NsYXNzX2luaXQsCitAQCAtMzk5Miw3 ICszOTkyLDcgQEAgc3RhdGljIHZvaWQgcmVnaXN0ZXJfdmZpb19wY2lfZGV2X3R5cGUodm9pZCkK KyAgICAgdmZpb19wY2lfbWlncmF0aW9uX211bHRpZmRfdHJhbnNmZXJfcHJvcC5yZWFsaXplZF9z ZXRfYWxsb3dlZCA9IHRydWU7CisgCisgICAgIHR5cGVfcmVnaXN0ZXJfc3RhdGljKCZ2ZmlvX3Bj aV9iYXNlX2Rldl9pbmZvKTsKKy0gICAgdHlwZV9yZWdpc3Rlcl9zdGF0aWMoJnZmaW9fcGNpX2Rl dl9pbmZvKTsKKysgICAgdHlwZV9yZWdpc3Rlcl9zdGF0aWMoJnZmaW9fcGNpX2luZm8pOworICAg ICB0eXBlX3JlZ2lzdGVyX3N0YXRpYygmdmZpb19wY2lfbm9ob3RwbHVnX2Rldl9pbmZvKTsKKyB9 CisgCistLSAKKzIuNTIuMAorCgpkaWZmIC0tZ2l0IGEva3ZtLXZmaW8tcGNpLmMtcmVuYW1lLXZm aW9fcGNpX2Rldl9ub2hvdHBsdWdfcHJvcGVydGllcy0ucGF0Y2ggYi9rdm0tdmZpby1wY2kuYy1y ZW5hbWUtdmZpb19wY2lfZGV2X25vaG90cGx1Z19wcm9wZXJ0aWVzLS5wYXRjaApuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMjMxNjRiCi0tLSAvZGV2L251bGwKKysrIGIva3Zt LXZmaW8tcGNpLmMtcmVuYW1lLXZmaW9fcGNpX2Rldl9ub2hvdHBsdWdfcHJvcGVydGllcy0ucGF0 Y2gKQEAgLTAsMCArMSw1MyBAQAorRnJvbSA0NWZmOTJlMmYzZjQ2ODRjYTVjOTEwZTBlOTRmM2Y4 ODNmNDA5ODhlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWFyayBDYXZlLUF5bGFu ZCA8bWFyay5jYXZlYXlsYW5kQG51dGFuaXguY29tPgorRGF0ZTogVGh1LCAyNSBTZXAgMjAyNSAx MjozMToyOCArMDEwMAorU3ViamVjdDogW1BBVENIIDA3MS8xMTZdIHZmaW8vcGNpLmM6IHJlbmFt ZQorIHZmaW9fcGNpX2Rldl9ub2hvdHBsdWdfcHJvcGVydGllc1tdIHRvIHZmaW9fcGNpX25vaG90 cGx1Z19wcm9wZXJ0aWVzW10KK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQv cGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKwor UkgtQXV0aG9yOiBSb2RvbGZvIFZpY2sgPE5vbmU+CitSSC1NZXJnZVJlcXVlc3Q6IDQ4NjogQWRk IERNQUJVRiBzdXBwb3J0CitSSC1KaXJhOiBSSEVMLTEzODQ5NAorUkgtQWNrZWQtYnk6IEPDqWRy aWMgTGUgR29hdGVyIDxjbGdAcmVkaGF0LmNvbT4KK1JILUFja2VkLWJ5OiBFcmljIEF1Z2VyIDxl cmljLmF1Z2VyQHJlZGhhdC5jb20+CitSSC1Db21taXQ6IFs1NS8xMDBdIGY1YTQ1Y2EzNGExNTYz NjBjY2QyMGVlYTQwMGI4MGZkMjdmMWQ5ZjEgKHJvdmljazEvcWVtdS1rdm0pCisKK1RoaXMgY2hh bmdlcyB0aGUgcHJlZml4IHRvIG1hdGNoIHRoZSBuYW1lIG9mIHRoZSBRT00gdHlwZS4KKworU2ln bmVkLW9mZi1ieTogTWFyayBDYXZlLUF5bGFuZCA8bWFyay5jYXZlYXlsYW5kQG51dGFuaXguY29t PgorUmV2aWV3ZWQtYnk6IEPDqWRyaWMgTGUgR29hdGVyIDxjbGdAcmVkaGF0LmNvbT4KK0xpbms6 IGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL3FlbXUtZGV2ZWwvMjAyNTA5MjUxMTMxNTkuMTc2MDMx Ny0yMS1tYXJrLmNhdmVheWxhbmRAbnV0YW5peC5jb20KK1NpZ25lZC1vZmYtYnk6IEPDqWRyaWMg TGUgR29hdGVyIDxjbGdAcmVkaGF0LmNvbT4KKyhjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDA1 NTMwYmEyNDYyZjM3ZmQ1NWQ3MmJkYWIzMWE3YTVjMjlhYjc1MTkpCitTaWduZWQtb2ZmLWJ5OiBF cmljIEF1Z2VyIDxlcmljLmF1Z2VyQHJlZGhhdC5jb20+CistLS0KKyBody92ZmlvL3BjaS5jIHwg NCArKy0tCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkK KworZGlmZiAtLWdpdCBhL2h3L3ZmaW8vcGNpLmMgYi9ody92ZmlvL3BjaS5jCitpbmRleCBhZTg0 OTA3YWNhLi4zMzkzMjQ5ODdjIDEwMDY0NAorLS0tIGEvaHcvdmZpby9wY2kuYworKysrIGIvaHcv dmZpby9wY2kuYworQEAgLTM5NDIsNyArMzk0Miw3IEBAIHN0YXRpYyBjb25zdCBUeXBlSW5mbyB2 ZmlvX3BjaV9pbmZvID0geworICAgICAuaW5zdGFuY2VfZmluYWxpemUgPSB2ZmlvX3BjaV9maW5h bGl6ZSwKKyB9OworIAorLXN0YXRpYyBjb25zdCBQcm9wZXJ0eSB2ZmlvX3BjaV9kZXZfbm9ob3Rw bHVnX3Byb3BlcnRpZXNbXSA9IHsKKytzdGF0aWMgY29uc3QgUHJvcGVydHkgdmZpb19wY2lfbm9o b3RwbHVnX3Byb3BlcnRpZXNbXSA9IHsKKyAgICAgREVGSU5FX1BST1BfQk9PTCgicmFtZmIiLCBW RklPUENJRGV2aWNlLCBlbmFibGVfcmFtZmIsIGZhbHNlKSwKKyAgICAgREVGSU5FX1BST1BfQk9P TCgidXNlLWxlZ2FjeS14ODYtcm9tIiwgVkZJT1BDSURldmljZSwKKyAgICAgICAgICAgICAgICAg ICAgICB1c2VfbGVnYWN5X3g4Nl9yb20sIGZhbHNlKSwKK0BAIC0zOTU1LDcgKzM5NTUsNyBAQCBz dGF0aWMgdm9pZCB2ZmlvX3BjaV9ub2hvdHBsdWdfZGV2X2NsYXNzX2luaXQoT2JqZWN0Q2xhc3Mg KmtsYXNzLAorIHsKKyAgICAgRGV2aWNlQ2xhc3MgKmRjID0gREVWSUNFX0NMQVNTKGtsYXNzKTsK KyAKKy0gICAgZGV2aWNlX2NsYXNzX3NldF9wcm9wcyhkYywgdmZpb19wY2lfZGV2X25vaG90cGx1 Z19wcm9wZXJ0aWVzKTsKKysgICAgZGV2aWNlX2NsYXNzX3NldF9wcm9wcyhkYywgdmZpb19wY2lf bm9ob3RwbHVnX3Byb3BlcnRpZXMpOworICAgICBkYy0+aG90cGx1Z2dhYmxlID0gZmFsc2U7Cisg CisgICAgIG9iamVjdF9jbGFzc19wcm9wZXJ0eV9zZXRfZGVzY3JpcHRpb24oa2xhc3MsIC8qIDMu MSAqLworLS0gCisyLjUyLjAKKwoKZGlmZiAtLWdpdCBhL2t2bS12ZmlvLXBjaS5jLXJlbmFtZS12 ZmlvX3BjaV9kZXZfcHJvcGVydGllcy10by12ZmlvX3BjLnBhdGNoIGIva3ZtLXZmaW8tcGNpLmMt cmVuYW1lLXZmaW9fcGNpX2Rldl9wcm9wZXJ0aWVzLXRvLXZmaW9fcGMucGF0Y2gKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzBhZTgxNAotLS0gL2Rldi9udWxsCisrKyBiL2t2 bS12ZmlvLXBjaS5jLXJlbmFtZS12ZmlvX3BjaV9kZXZfcHJvcGVydGllcy10by12ZmlvX3BjLnBh dGNoCkBAIC0wLDAgKzEsNTMgQEAKK0Zyb20gMGNlYjNmMzc0YzliNmYxOGFhY2IyYmJiNzlhNjlj Yzc1NTliZDNkMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1hcmsgQ2F2ZS1BeWxh bmQgPG1hcmsuY2F2ZWF5bGFuZEBudXRhbml4LmNvbT4KK0RhdGU6IFRodSwgMjUgU2VwIDIwMjUg MTI6MzE6MjcgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSCAwNzAvMTE2XSB2ZmlvL3BjaS5jOiByZW5h bWUgdmZpb19wY2lfZGV2X3Byb3BlcnRpZXNbXSB0bworIHZmaW9fcGNpX3Byb3BlcnRpZXNbXQor TUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYt OAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorCitSSC1BdXRob3I6IFJvZG9sZm8g VmljayA8Tm9uZT4KK1JILU1lcmdlUmVxdWVzdDogNDg2OiBBZGQgRE1BQlVGIHN1cHBvcnQKK1JI LUppcmE6IFJIRUwtMTM4NDk0CitSSC1BY2tlZC1ieTogQ8OpZHJpYyBMZSBHb2F0ZXIgPGNsZ0By ZWRoYXQuY29tPgorUkgtQWNrZWQtYnk6IEVyaWMgQXVnZXIgPGVyaWMuYXVnZXJAcmVkaGF0LmNv bT4KK1JILUNvbW1pdDogWzU0LzEwMF0gZjhjOTg0MmUyM2JlNTBjYTcwNzdlYTM2NDU2NzZkOTZj Zjg2NWM2MCAocm92aWNrMS9xZW11LWt2bSkKKworVGhpcyBjaGFuZ2VzIHRoZSBwcmVmaXggdG8g bWF0Y2ggdGhlIG5hbWUgb2YgdGhlIFFPTSB0eXBlLgorCitTaWduZWQtb2ZmLWJ5OiBNYXJrIENh dmUtQXlsYW5kIDxtYXJrLmNhdmVheWxhbmRAbnV0YW5peC5jb20+CitSZXZpZXdlZC1ieTogQ8Op ZHJpYyBMZSBHb2F0ZXIgPGNsZ0ByZWRoYXQuY29tPgorTGluazogaHR0cHM6Ly9sb3JlLmtlcm5l bC5vcmcvcWVtdS1kZXZlbC8yMDI1MDkyNTExMzE1OS4xNzYwMzE3LTIwLW1hcmsuY2F2ZWF5bGFu ZEBudXRhbml4LmNvbQorU2lnbmVkLW9mZi1ieTogQ8OpZHJpYyBMZSBHb2F0ZXIgPGNsZ0ByZWRo YXQuY29tPgorKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgN2M1M2UxZjQzZWUzNjVlZTUwNjFk ZDMwZDYwYzIxYTU1ZWVmYmZjZSkKK1NpZ25lZC1vZmYtYnk6IEVyaWMgQXVnZXIgPGVyaWMuYXVn ZXJAcmVkaGF0LmNvbT4KKy0tLQorIGh3L3ZmaW8vcGNpLmMgfCA0ICsrLS0KKyAxIGZpbGUgY2hh bmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvaHcv dmZpby9wY2kuYyBiL2h3L3ZmaW8vcGNpLmMKK2luZGV4IDllOTZmN2QzMDYuLmFlODQ5MDdhY2Eg MTAwNjQ0CistLS0gYS9ody92ZmlvL3BjaS5jCisrKysgYi9ody92ZmlvL3BjaS5jCitAQCAtMzcw MSw3ICszNzAxLDcgQEAgc3RhdGljIGNvbnN0IFR5cGVJbmZvIHZmaW9fcGNpX2RldmljZV9pbmZv ID0geworIAorIHN0YXRpYyBQcm9wZXJ0eUluZm8gdmZpb19wY2lfbWlncmF0aW9uX211bHRpZmRf dHJhbnNmZXJfcHJvcDsKKyAKKy1zdGF0aWMgY29uc3QgUHJvcGVydHkgdmZpb19wY2lfZGV2X3By b3BlcnRpZXNbXSA9IHsKKytzdGF0aWMgY29uc3QgUHJvcGVydHkgdmZpb19wY2lfcHJvcGVydGll c1tdID0geworICAgICBERUZJTkVfUFJPUF9QQ0lfSE9TVF9ERVZBRERSKCJob3N0IiwgVkZJT1BD SURldmljZSwgaG9zdCksCisgICAgIERFRklORV9QUk9QX1VVSURfTk9ERUZBVUxUKCJ2Zi10b2tl biIsIFZGSU9QQ0lEZXZpY2UsIHZmX3Rva2VuKSwKKyAgICAgREVGSU5FX1BST1BfU1RSSU5HKCJz eXNmc2RldiIsIFZGSU9QQ0lEZXZpY2UsIHZiYXNlZGV2LnN5c2ZzZGV2KSwKK0BAIC0zNzkxLDcg KzM3OTEsNyBAQCBzdGF0aWMgdm9pZCB2ZmlvX3BjaV9jbGFzc19pbml0KE9iamVjdENsYXNzICpr bGFzcywgY29uc3Qgdm9pZCAqZGF0YSkKKyAgICAgUENJRGV2aWNlQ2xhc3MgKnBkYyA9IFBDSV9E RVZJQ0VfQ0xBU1Moa2xhc3MpOworIAorICAgICBkZXZpY2VfY2xhc3Nfc2V0X2xlZ2FjeV9yZXNl dChkYywgdmZpb19wY2lfcmVzZXQpOworLSAgICBkZXZpY2VfY2xhc3Nfc2V0X3Byb3BzKGRjLCB2 ZmlvX3BjaV9kZXZfcHJvcGVydGllcyk7CisrICAgIGRldmljZV9jbGFzc19zZXRfcHJvcHMoZGMs IHZmaW9fcGNpX3Byb3BlcnRpZXMpOworICNpZmRlZiBDT05GSUdfSU9NTVVGRAorICAgICBvYmpl Y3RfY2xhc3NfcHJvcGVydHlfYWRkX3N0cihrbGFzcywgImZkIiwgTlVMTCwgdmZpb19wY2lfc2V0 X2ZkKTsKKyAjZW5kaWYKKy0tIAorMi41Mi4wCisKCmRpZmYgLS1naXQgYS9rdm0tdmZpby1wY2ku Yy1yZW5hbWUtdmZpb19wY2lfbm9ob3RwbHVnX2Rldl9jbGFzc19pbml0LS5wYXRjaCBiL2t2bS12 ZmlvLXBjaS5jLXJlbmFtZS12ZmlvX3BjaV9ub2hvdHBsdWdfZGV2X2NsYXNzX2luaXQtLnBhdGNo Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ4ZGFkOGEKLS0tIC9kZXYvbnVs bAorKysgYi9rdm0tdmZpby1wY2kuYy1yZW5hbWUtdmZpb19wY2lfbm9ob3RwbHVnX2Rldl9jbGFz c19pbml0LS5wYXRjaApAQCAtMCwwICsxLDUzIEBACitGcm9tIDdhNzFhOTJlYjM3NWNjMDNkZmE1 ZjdhNjgyMjQ2NWQ5MTdmMzhhZWIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNYXJr IENhdmUtQXlsYW5kIDxtYXJrLmNhdmVheWxhbmRAbnV0YW5peC5jb20+CitEYXRlOiBUaHUsIDI1 IFNlcCAyMDI1IDEyOjMxOjI5ICswMTAwCitTdWJqZWN0OiBbUEFUQ0ggMDcyLzExNl0gdmZpby9w Y2kuYzogcmVuYW1lCisgdmZpb19wY2lfbm9ob3RwbHVnX2Rldl9jbGFzc19pbml0KCkgdG8gdmZp b19wY2lfbm9ob3RwbHVnX2NsYXNzX2luaXQoKQorTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQt VHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGlu ZzogOGJpdAorCitSSC1BdXRob3I6IFJvZG9sZm8gVmljayA8Tm9uZT4KK1JILU1lcmdlUmVxdWVz dDogNDg2OiBBZGQgRE1BQlVGIHN1cHBvcnQKK1JILUppcmE6IFJIRUwtMTM4NDk0CitSSC1BY2tl ZC1ieTogQ8OpZHJpYyBMZSBHb2F0ZXIgPGNsZ0ByZWRoYXQuY29tPgorUkgtQWNrZWQtYnk6IEVy aWMgQXVnZXIgPGVyaWMuYXVnZXJAcmVkaGF0LmNvbT4KK1JILUNvbW1pdDogWzU2LzEwMF0gM2Rh NzI2YzQ5NzQzMjBhODAwZDhjMjdiODA0ODBmMTVhYjQ1ZTczNCAocm92aWNrMS9xZW11LWt2bSkK KworVGhpcyBjaGFuZ2VzIHRoZSBmdW5jdGlvbiBwcmVmaXggdG8gbWF0Y2ggdGhlIG5hbWUgb2Yg dGhlIFFPTSB0eXBlLgorCitTaWduZWQtb2ZmLWJ5OiBNYXJrIENhdmUtQXlsYW5kIDxtYXJrLmNh dmVheWxhbmRAbnV0YW5peC5jb20+CitSZXZpZXdlZC1ieTogQ8OpZHJpYyBMZSBHb2F0ZXIgPGNs Z0ByZWRoYXQuY29tPgorTGluazogaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvcWVtdS1kZXZlbC8y MDI1MDkyNTExMzE1OS4xNzYwMzE3LTIyLW1hcmsuY2F2ZWF5bGFuZEBudXRhbml4LmNvbQorU2ln bmVkLW9mZi1ieTogQ8OpZHJpYyBMZSBHb2F0ZXIgPGNsZ0ByZWRoYXQuY29tPgorKGNoZXJyeSBw aWNrZWQgZnJvbSBjb21taXQgY2M0NGIzOWMyNzRiMzVmMTUxMDcyNWY2MGRkOTVhZjU5ZDBiZDNm YikKK1NpZ25lZC1vZmYtYnk6IEVyaWMgQXVnZXIgPGVyaWMuYXVnZXJAcmVkaGF0LmNvbT4KKy0t LQorIGh3L3ZmaW8vcGNpLmMgfCA0ICsrLS0KKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25z KCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvaHcvdmZpby9wY2kuYyBiL2h3L3Zm aW8vcGNpLmMKK2luZGV4IDMzOTMyNDk4N2MuLjJiNDUzZmZmY2QgMTAwNjQ0CistLS0gYS9ody92 ZmlvL3BjaS5jCisrKysgYi9ody92ZmlvL3BjaS5jCitAQCAtMzk1MCw3ICszOTUwLDcgQEAgc3Rh dGljIGNvbnN0IFByb3BlcnR5IHZmaW9fcGNpX25vaG90cGx1Z19wcm9wZXJ0aWVzW10gPSB7Cisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9OX09GRl9BVVRPX0FVVE8pLAorIH07CisgCist c3RhdGljIHZvaWQgdmZpb19wY2lfbm9ob3RwbHVnX2Rldl9jbGFzc19pbml0KE9iamVjdENsYXNz ICprbGFzcywKKytzdGF0aWMgdm9pZCB2ZmlvX3BjaV9ub2hvdHBsdWdfY2xhc3NfaW5pdChPYmpl Y3RDbGFzcyAqa2xhc3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGNvbnN0IHZvaWQgKmRhdGEpCisgeworICAgICBEZXZpY2VDbGFzcyAqZGMgPSBERVZJ Q0VfQ0xBU1Moa2xhc3MpOworQEAgLTM5NzUsNyArMzk3NSw3IEBAIHN0YXRpYyBjb25zdCBUeXBl SW5mbyB2ZmlvX3BjaV9ub2hvdHBsdWdfZGV2X2luZm8gPSB7CisgICAgIC5uYW1lID0gVFlQRV9W RklPX1BDSV9OT0hPVFBMVUcsCisgICAgIC5wYXJlbnQgPSBUWVBFX1ZGSU9fUENJLAorICAgICAu aW5zdGFuY2Vfc2l6ZSA9IHNpemVvZihWRklPUENJRGV2aWNlKSwKKy0gICAgLmNsYXNzX2luaXQg PSB2ZmlvX3BjaV9ub2hvdHBsdWdfZGV2X2NsYXNzX2luaXQsCisrICAgIC5jbGFzc19pbml0ID0g dmZpb19wY2lfbm9ob3RwbHVnX2NsYXNzX2luaXQsCisgfTsKKyAKKyBzdGF0aWMgdm9pZCByZWdp c3Rlcl92ZmlvX3BjaV9kZXZfdHlwZSh2b2lkKQorLS0gCisyLjUyLjAKKwoKZGlmZiAtLWdpdCBh L2t2bS12ZmlvLXBjaS5jLXJlbmFtZS12ZmlvX3BjaV9ub2hvdHBsdWdfZGV2X2luZm8tdG8tdmZp LnBhdGNoIGIva3ZtLXZmaW8tcGNpLmMtcmVuYW1lLXZmaW9fcGNpX25vaG90cGx1Z19kZXZfaW5m by10by12ZmkucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmQ2YmVi OAotLS0gL2Rldi9udWxsCisrKyBiL2t2bS12ZmlvLXBjaS5jLXJlbmFtZS12ZmlvX3BjaV9ub2hv dHBsdWdfZGV2X2luZm8tdG8tdmZpLnBhdGNoCkBAIC0wLDAgKzEsNTMgQEAKK0Zyb20gNWE2MTZm MzhlODc5OTA3YTEwOWIyMzllMjRlYzY3MGNiYjg5ZTNiYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKK0Zyb206IE1hcmsgQ2F2ZS1BeWxhbmQgPG1hcmsuY2F2ZWF5bGFuZEBudXRhbml4LmNvbT4K K0RhdGU6IFRodSwgMjUgU2VwIDIwMjUgMTI6MzE6MzAgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSCAw NzMvMTE2XSB2ZmlvL3BjaS5jOiByZW5hbWUgdmZpb19wY2lfbm9ob3RwbHVnX2Rldl9pbmZvIHRv CisgdmZpb19wY2lfbm9ob3RwbHVnX2luZm8KK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5 cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6 IDhiaXQKKworUkgtQXV0aG9yOiBSb2RvbGZvIFZpY2sgPE5vbmU+CitSSC1NZXJnZVJlcXVlc3Q6 IDQ4NjogQWRkIERNQUJVRiBzdXBwb3J0CitSSC1KaXJhOiBSSEVMLTEzODQ5NAorUkgtQWNrZWQt Ynk6IEPDqWRyaWMgTGUgR29hdGVyIDxjbGdAcmVkaGF0LmNvbT4KK1JILUFja2VkLWJ5OiBFcmlj IEF1Z2VyIDxlcmljLmF1Z2VyQHJlZGhhdC5jb20+CitSSC1Db21taXQ6IFs1Ny8xMDBdIGE4NjI3 NWNiZjk1NzhkN2MxYjg4ODQ5NWY2MGM1YjI5MjMzOGE4MDEgKHJvdmljazEvcWVtdS1rdm0pCisK K1RoaXMgY2hhbmdlcyB0aGUgcHJlZml4IHRvIG1hdGNoIHRoZSBuYW1lIG9mIHRoZSBRT00gdHlw ZS4KKworU2lnbmVkLW9mZi1ieTogTWFyayBDYXZlLUF5bGFuZCA8bWFyay5jYXZlYXlsYW5kQG51 dGFuaXguY29tPgorUmV2aWV3ZWQtYnk6IEPDqWRyaWMgTGUgR29hdGVyIDxjbGdAcmVkaGF0LmNv bT4KK0xpbms6IGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL3FlbXUtZGV2ZWwvMjAyNTA5MjUxMTMx NTkuMTc2MDMxNy0yMy1tYXJrLmNhdmVheWxhbmRAbnV0YW5peC5jb20KK1NpZ25lZC1vZmYtYnk6 IEPDqWRyaWMgTGUgR29hdGVyIDxjbGdAcmVkaGF0LmNvbT4KKyhjaGVycnkgcGlja2VkIGZyb20g Y29tbWl0IDViZGYwZGI4MjM4NjlhMjEwNDM0YjUwNDhkMjBkY2U1ZTY4NmI3YWEpCitTaWduZWQt b2ZmLWJ5OiBFcmljIEF1Z2VyIDxlcmljLmF1Z2VyQHJlZGhhdC5jb20+CistLS0KKyBody92Zmlv L3BjaS5jIHwgNCArKy0tCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxl dGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2h3L3ZmaW8vcGNpLmMgYi9ody92ZmlvL3BjaS5jCitp bmRleCAyYjQ1M2ZmZmNkLi5jMzRlZDg1ZDVlIDEwMDY0NAorLS0tIGEvaHcvdmZpby9wY2kuYwor KysrIGIvaHcvdmZpby9wY2kuYworQEAgLTM5NzEsNyArMzk3MSw3IEBAIHN0YXRpYyB2b2lkIHZm aW9fcGNpX25vaG90cGx1Z19jbGFzc19pbml0KE9iamVjdENsYXNzICprbGFzcywKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQ29udHJvbHMgbG9hZGluZyBvZiBh IGxlZ2FjeSBWR0EgQklPUyBST00iKTsKKyB9CisgCistc3RhdGljIGNvbnN0IFR5cGVJbmZvIHZm aW9fcGNpX25vaG90cGx1Z19kZXZfaW5mbyA9IHsKKytzdGF0aWMgY29uc3QgVHlwZUluZm8gdmZp b19wY2lfbm9ob3RwbHVnX2luZm8gPSB7CisgICAgIC5uYW1lID0gVFlQRV9WRklPX1BDSV9OT0hP VFBMVUcsCisgICAgIC5wYXJlbnQgPSBUWVBFX1ZGSU9fUENJLAorICAgICAuaW5zdGFuY2Vfc2l6 ZSA9IHNpemVvZihWRklPUENJRGV2aWNlKSwKK0BAIC0zOTkzLDcgKzM5OTMsNyBAQCBzdGF0aWMg dm9pZCByZWdpc3Rlcl92ZmlvX3BjaV9kZXZfdHlwZSh2b2lkKQorIAorICAgICB0eXBlX3JlZ2lz dGVyX3N0YXRpYygmdmZpb19wY2lfZGV2aWNlX2luZm8pOworICAgICB0eXBlX3JlZ2lzdGVyX3N0 YXRpYygmdmZpb19wY2lfaW5mbyk7CistICAgIHR5cGVfcmVnaXN0ZXJfc3RhdGljKCZ2ZmlvX3Bj aV9ub2hvdHBsdWdfZGV2X2luZm8pOworKyAgICB0eXBlX3JlZ2lzdGVyX3N0YXRpYygmdmZpb19w Y2lfbm9ob3RwbHVnX2luZm8pOworIH0KKyAKKyB0eXBlX2luaXQocmVnaXN0ZXJfdmZpb19wY2lf ZGV2X3R5cGUpCistLSAKKzIuNTIuMAorCgpkaWZmIC0tZ2l0IGEva3ZtLXZmaW8tcGNpLmMtdXNl LVFPTS1jYXN0cy13aGVyZS1hcHByb3ByaWF0ZS5wYXRjaCBiL2t2bS12ZmlvLXBjaS5jLXVzZS1R T00tY2FzdHMtd2hlcmUtYXBwcm9wcmlhdGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMC4uZDhhOTA5MwotLS0gL2Rldi9udWxsCisrKyBiL2t2bS12ZmlvLXBjaS5jLXVz ZS1RT00tY2FzdHMtd2hlcmUtYXBwcm9wcmlhdGUucGF0Y2gKQEAgLTAsMCArMSw4MjYgQEAKK0Zy b20gM2JkYWUwNDdjZjVmM2MwYTAyMjNkMDVhYjE3YTgxZjBjNzAyMDdhYSBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKK0Zyb206IE1hcmsgQ2F2ZS1BeWxhbmQgPG1hcmsuY2F2ZWF5bGFuZEBudXRh bml4LmNvbT4KK0RhdGU6IFR1ZSwgMTUgSnVsIDIwMjUgMTA6MjU6NTYgKzAxMDAKK1N1YmplY3Q6 IFtQQVRDSCAwNDIvMTE2XSB2ZmlvL3BjaS5jOiB1c2UgUU9NIGNhc3RzIHdoZXJlIGFwcHJvcHJp YXRlCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0 PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK1JILUF1dGhvcjogUm9k b2xmbyBWaWNrIDxOb25lPgorUkgtTWVyZ2VSZXF1ZXN0OiA0ODY6IEFkZCBETUFCVUYgc3VwcG9y dAorUkgtSmlyYTogUkhFTC0xMzg0OTQKK1JILUFja2VkLWJ5OiBDw6lkcmljIExlIEdvYXRlciA8 Y2xnQHJlZGhhdC5jb20+CitSSC1BY2tlZC1ieTogRXJpYyBBdWdlciA8ZXJpYy5hdWdlckByZWRo YXQuY29tPgorUkgtQ29tbWl0OiBbMjYvMTAwXSBiODQzMTQyODAwN2IwZjA1NjYwMGQwYWI3OTk3 MGZiMzAyYWNmNmE3IChyb3ZpY2sxL3FlbXUta3ZtKQorCitVc2UgUU9NIGNhc3RzIHRvIGNvbnZl cnQgYmV0d2VlbiBWRklPUENJRGV2aWNlIGFuZCBQQ0lEZXZpY2UgaW5zdGVhZCBvZgorYWNjZXNz aW5nIHBkZXYgZGlyZWN0bHkuCisKK1NpZ25lZC1vZmYtYnk6IE1hcmsgQ2F2ZS1BeWxhbmQgPG1h cmsuY2F2ZWF5bGFuZEBudXRhbml4LmNvbT4KK1Jldmlld2VkLWJ5OiBDw6lkcmljIExlIEdvYXRl ciA8Y2xnQHJlZGhhdC5jb20+CitMaW5rOiBodHRwczovL2xvcmUua2VybmVsLm9yZy9xZW11LWRl dmVsLzIwMjUwNzE1MDkzMTEwLjEwNzMxNy0xNy1tYXJrLmNhdmVheWxhbmRAbnV0YW5peC5jb20K K1sgY2xnOiBVcGRhdGVkIHZmaW9fc3ViX3BhZ2VfYmFyX3VwZGF0ZV9tYXBwaW5ncygpIF0KK1Np Z25lZC1vZmYtYnk6IEPDqWRyaWMgTGUgR29hdGVyIDxjbGdAcmVkaGF0LmNvbT4KKyhjaGVycnkg cGlja2VkIGZyb20gY29tbWl0IDc3ZjE0M2NjNDE4MTIxZmIzMGFkOWUyNmRkOTAzMzRkY2Y1ODUx ZmMpCitTaWduZWQtb2ZmLWJ5OiBFcmljIEF1Z2VyIDxlcmljLmF1Z2VyQHJlZGhhdC5jb20+Cist LS0KKyBody92ZmlvL3BjaS5jIHwgMjA0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0t LS0tLS0tLS0tLS0tLS0tLS0tCisgMSBmaWxlIGNoYW5nZWQsIDEyMSBpbnNlcnRpb25zKCspLCA4 MyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2h3L3ZmaW8vcGNpLmMgYi9ody92ZmlvL3Bj aS5jCitpbmRleCA1OGFiMTExNmQ4Li44NTI1YTg2NDBlIDEwMDY0NAorLS0tIGEvaHcvdmZpby9w Y2kuYworKysrIGIvaHcvdmZpby9wY2kuYworQEAgLTEyMCw2ICsxMjAsNyBAQCBzdGF0aWMgdm9p ZCB2ZmlvX2ludHhfbW1hcF9lbmFibGUodm9pZCAqb3BhcXVlKQorIHN0YXRpYyB2b2lkIHZmaW9f aW50eF9pbnRlcnJ1cHQodm9pZCAqb3BhcXVlKQorIHsKKyAgICAgVkZJT1BDSURldmljZSAqdmRl diA9IG9wYXF1ZTsKKysgICAgUENJRGV2aWNlICpwZGV2ID0gUENJX0RFVklDRSh2ZGV2KTsKKyAK KyAgICAgaWYgKCFldmVudF9ub3RpZmllcl90ZXN0X2FuZF9jbGVhcigmdmRldi0+aW50eC5pbnRl cnJ1cHQpKSB7CisgICAgICAgICByZXR1cm47CitAQCAtMTI4LDcgKzEyOSw3IEBAIHN0YXRpYyB2 b2lkIHZmaW9faW50eF9pbnRlcnJ1cHQodm9pZCAqb3BhcXVlKQorICAgICB0cmFjZV92ZmlvX2lu dHhfaW50ZXJydXB0KHZkZXYtPnZiYXNlZGV2Lm5hbWUsICdBJyArIHZkZXYtPmludHgucGluKTsK KyAKKyAgICAgdmRldi0+aW50eC5wZW5kaW5nID0gdHJ1ZTsKKy0gICAgcGNpX2lycV9hc3NlcnQo JnZkZXYtPnBkZXYpOworKyAgICBwY2lfaXJxX2Fzc2VydChwZGV2KTsKKyAgICAgdmZpb19tbWFw X3NldF9lbmFibGVkKHZkZXYsIGZhbHNlKTsKKyAgICAgaWYgKHZkZXYtPmludHgubW1hcF90aW1l b3V0KSB7CisgICAgICAgICB0aW1lcl9tb2QodmRldi0+aW50eC5tbWFwX3RpbWVyLAorQEAgLTEz OSw2ICsxNDAsNyBAQCBzdGF0aWMgdm9pZCB2ZmlvX2ludHhfaW50ZXJydXB0KHZvaWQgKm9wYXF1 ZSkKKyB2b2lkIHZmaW9fcGNpX2ludHhfZW9pKFZGSU9EZXZpY2UgKnZiYXNlZGV2KQorIHsKKyAg ICAgVkZJT1BDSURldmljZSAqdmRldiA9IGNvbnRhaW5lcl9vZih2YmFzZWRldiwgVkZJT1BDSURl dmljZSwgdmJhc2VkZXYpOworKyAgICBQQ0lEZXZpY2UgKnBkZXYgPSBQQ0lfREVWSUNFKHZkZXYp OworIAorICAgICBpZiAoIXZkZXYtPmludHgucGVuZGluZykgeworICAgICAgICAgcmV0dXJuOwor QEAgLTE0NywxMyArMTQ5LDE0IEBAIHZvaWQgdmZpb19wY2lfaW50eF9lb2koVkZJT0RldmljZSAq dmJhc2VkZXYpCisgICAgIHRyYWNlX3ZmaW9fcGNpX2ludHhfZW9pKHZiYXNlZGV2LT5uYW1lKTsK KyAKKyAgICAgdmRldi0+aW50eC5wZW5kaW5nID0gZmFsc2U7CistICAgIHBjaV9pcnFfZGVhc3Nl cnQoJnZkZXYtPnBkZXYpOworKyAgICBwY2lfaXJxX2RlYXNzZXJ0KHBkZXYpOworICAgICB2Zmlv X2RldmljZV9pcnFfdW5tYXNrKHZiYXNlZGV2LCBWRklPX1BDSV9JTlRYX0lSUV9JTkRFWCk7Cisg fQorIAorIHN0YXRpYyBib29sIHZmaW9faW50eF9lbmFibGVfa3ZtKFZGSU9QQ0lEZXZpY2UgKnZk ZXYsIEVycm9yICoqZXJycCkKKyB7CisgI2lmZGVmIENPTkZJR19LVk0KKysgICAgUENJRGV2aWNl ICpwZGV2ID0gUENJX0RFVklDRSh2ZGV2KTsKKyAgICAgaW50IGlycV9mZCA9IGV2ZW50X25vdGlm aWVyX2dldF9mZCgmdmRldi0+aW50eC5pbnRlcnJ1cHQpOworIAorICAgICBpZiAodmRldi0+bm9f a3ZtX2ludHggfHwgIWt2bV9pcnFmZHNfZW5hYmxlZCgpIHx8CitAQCAtMTY2LDcgKzE2OSw3IEBA IHN0YXRpYyBib29sIHZmaW9faW50eF9lbmFibGVfa3ZtKFZGSU9QQ0lEZXZpY2UgKnZkZXYsIEVy cm9yICoqZXJycCkKKyAgICAgcWVtdV9zZXRfZmRfaGFuZGxlcihpcnFfZmQsIE5VTEwsIE5VTEws IHZkZXYpOworICAgICB2ZmlvX2RldmljZV9pcnFfbWFzaygmdmRldi0+dmJhc2VkZXYsIFZGSU9f UENJX0lOVFhfSVJRX0lOREVYKTsKKyAgICAgdmRldi0+aW50eC5wZW5kaW5nID0gZmFsc2U7Cist ICAgIHBjaV9pcnFfZGVhc3NlcnQoJnZkZXYtPnBkZXYpOworKyAgICBwY2lfaXJxX2RlYXNzZXJ0 KHBkZXYpOworIAorICAgICAvKiBHZXQgYW4gZXZlbnRmZCBmb3IgcmVzYW1wbGUvdW5tYXNrICov CisgICAgIGlmICghdmZpb19ub3RpZmllcl9pbml0KHZkZXYsICZ2ZGV2LT5pbnR4LnVubWFzaywg ImludHgtdW5tYXNrIiwgMCwgZXJycCkpIHsKK0BAIC0yNDQsNiArMjQ3LDggQEAgc3RhdGljIGJv b2wgdmZpb19jcHJfaW50eF9lbmFibGVfa3ZtKFZGSU9QQ0lEZXZpY2UgKnZkZXYsIEVycm9yICoq ZXJycCkKKyBzdGF0aWMgdm9pZCB2ZmlvX2ludHhfZGlzYWJsZV9rdm0oVkZJT1BDSURldmljZSAq dmRldikKKyB7CisgI2lmZGVmIENPTkZJR19LVk0KKysgICAgUENJRGV2aWNlICpwZGV2ID0gUENJ X0RFVklDRSh2ZGV2KTsKKysKKyAgICAgaWYgKCF2ZGV2LT5pbnR4Lmt2bV9hY2NlbCkgeworICAg ICAgICAgcmV0dXJuOworICAgICB9CitAQCAtMjU0LDcgKzI1OSw3IEBAIHN0YXRpYyB2b2lkIHZm aW9faW50eF9kaXNhYmxlX2t2bShWRklPUENJRGV2aWNlICp2ZGV2KQorICAgICAgKi8KKyAgICAg dmZpb19kZXZpY2VfaXJxX21hc2soJnZkZXYtPnZiYXNlZGV2LCBWRklPX1BDSV9JTlRYX0lSUV9J TkRFWCk7CisgICAgIHZkZXYtPmludHgucGVuZGluZyA9IGZhbHNlOworLSAgICBwY2lfaXJxX2Rl YXNzZXJ0KCZ2ZGV2LT5wZGV2KTsKKysgICAgcGNpX2lycV9kZWFzc2VydChwZGV2KTsKKyAKKyAg ICAgLyogVGVsbCBLVk0gdG8gc3RvcCBsaXN0ZW5pbmcgZm9yIGFuIElOVHggaXJxZmQgKi8KKyAg ICAgaWYgKGt2bV9pcnFjaGlwX3JlbW92ZV9pcnFmZF9ub3RpZmllcl9nc2koa3ZtX3N0YXRlLCAm dmRldi0+aW50eC5pbnRlcnJ1cHQsCitAQCAtMzEwLDcgKzMxNSw3IEBAIHN0YXRpYyB2b2lkIHZm aW9faW50eF9yb3V0aW5nX25vdGlmaWVyKFBDSURldmljZSAqcGRldikKKyAgICAgICAgIHJldHVy bjsKKyAgICAgfQorIAorLSAgICByb3V0ZSA9IHBjaV9kZXZpY2Vfcm91dGVfaW50eF90b19pcnEo JnZkZXYtPnBkZXYsIHZkZXYtPmludHgucGluKTsKKysgICAgcm91dGUgPSBwY2lfZGV2aWNlX3Jv dXRlX2ludHhfdG9faXJxKHBkZXYsIHZkZXYtPmludHgucGluKTsKKyAKKyAgICAgaWYgKHBjaV9p bnR4X3JvdXRlX2NoYW5nZWQoJnZkZXYtPmludHgucm91dGUsICZyb3V0ZSkpIHsKKyAgICAgICAg IHZmaW9faW50eF91cGRhdGUodmRldiwgJnJvdXRlKTsKK0BAIC0zMjcsNyArMzMyLDggQEAgc3Rh dGljIHZvaWQgdmZpb19pcnFjaGlwX2NoYW5nZShOb3RpZmllciAqbm90aWZ5LCB2b2lkICpkYXRh KQorIAorIHN0YXRpYyBib29sIHZmaW9faW50eF9lbmFibGUoVkZJT1BDSURldmljZSAqdmRldiwg RXJyb3IgKiplcnJwKQorIHsKKy0gICAgdWludDhfdCBwaW4gPSB2ZmlvX3BjaV9yZWFkX2NvbmZp ZygmdmRldi0+cGRldiwgUENJX0lOVEVSUlVQVF9QSU4sIDEpOworKyAgICBQQ0lEZXZpY2UgKnBk ZXYgPSBQQ0lfREVWSUNFKHZkZXYpOworKyAgICB1aW50OF90IHBpbiA9IHZmaW9fcGNpX3JlYWRf Y29uZmlnKHBkZXYsIFBDSV9JTlRFUlJVUFRfUElOLCAxKTsKKyAgICAgRXJyb3IgKmVyciA9IE5V TEw7CisgICAgIGludDMyX3QgZmQ7CisgCitAQCAtMzQ1LDcgKzM1MSw3IEBAIHN0YXRpYyBib29s IHZmaW9faW50eF9lbmFibGUoVkZJT1BDSURldmljZSAqdmRldiwgRXJyb3IgKiplcnJwKQorICAg ICB9CisgCisgICAgIHZkZXYtPmludHgucGluID0gcGluIC0gMTsgLyogUGluIEEgKDEpIC0+IGly cVswXSAqLworLSAgICBwY2lfY29uZmlnX3NldF9pbnRlcnJ1cHRfcGluKHZkZXYtPnBkZXYuY29u ZmlnLCBwaW4pOworKyAgICBwY2lfY29uZmlnX3NldF9pbnRlcnJ1cHRfcGluKHBkZXYtPmNvbmZp ZywgcGluKTsKKyAKKyAjaWZkZWYgQ09ORklHX0tWTQorICAgICAvKgorQEAgLTM1Myw3ICszNTks NyBAQCBzdGF0aWMgYm9vbCB2ZmlvX2ludHhfZW5hYmxlKFZGSU9QQ0lEZXZpY2UgKnZkZXYsIEVy cm9yICoqZXJycCkKKyAgICAgICogd2hlcmUgd2Ugd29uJ3QgYWN0dWFsbHkgdXNlIHRoZSByZXN1 bHQgYW55d2F5LgorICAgICAgKi8KKyAgICAgaWYgKGt2bV9pcnFmZHNfZW5hYmxlZCgpICYmIGt2 bV9yZXNhbXBsZWZkc19lbmFibGVkKCkpIHsKKy0gICAgICAgIHZkZXYtPmludHgucm91dGUgPSBw Y2lfZGV2aWNlX3JvdXRlX2ludHhfdG9faXJxKCZ2ZGV2LT5wZGV2LAorKyAgICAgICAgdmRldi0+ aW50eC5yb3V0ZSA9IHBjaV9kZXZpY2Vfcm91dGVfaW50eF90b19pcnEocGRldiwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZkZXYtPmlu dHgucGluKTsKKyAgICAgfQorICNlbmRpZgorQEAgLTM5MywxMyArMzk5LDE0IEBAIHNraXBfc2ln bmFsaW5nOgorIAorIHN0YXRpYyB2b2lkIHZmaW9faW50eF9kaXNhYmxlKFZGSU9QQ0lEZXZpY2Ug KnZkZXYpCisgeworKyAgICBQQ0lEZXZpY2UgKnBkZXYgPSBQQ0lfREVWSUNFKHZkZXYpOworICAg ICBpbnQgZmQ7CisgCisgICAgIHRpbWVyX2RlbCh2ZGV2LT5pbnR4Lm1tYXBfdGltZXIpOworICAg ICB2ZmlvX2ludHhfZGlzYWJsZV9rdm0odmRldik7CisgICAgIHZmaW9fZGV2aWNlX2lycV9kaXNh YmxlKCZ2ZGV2LT52YmFzZWRldiwgVkZJT19QQ0lfSU5UWF9JUlFfSU5ERVgpOworICAgICB2ZGV2 LT5pbnR4LnBlbmRpbmcgPSBmYWxzZTsKKy0gICAgcGNpX2lycV9kZWFzc2VydCgmdmRldi0+cGRl dik7CisrICAgIHBjaV9pcnFfZGVhc3NlcnQocGRldik7CisgICAgIHZmaW9fbW1hcF9zZXRfZW5h YmxlZCh2ZGV2LCB0cnVlKTsKKyAKKyAgICAgZmQgPSBldmVudF9ub3RpZmllcl9nZXRfZmQoJnZk ZXYtPmludHguaW50ZXJydXB0KTsKK0BAIC00MzEsNiArNDM4LDcgQEAgc3RhdGljIHZvaWQgdmZp b19tc2lfaW50ZXJydXB0KHZvaWQgKm9wYXF1ZSkKKyB7CisgICAgIFZGSU9NU0lWZWN0b3IgKnZl Y3RvciA9IG9wYXF1ZTsKKyAgICAgVkZJT1BDSURldmljZSAqdmRldiA9IHZlY3Rvci0+dmRldjsK KysgICAgUENJRGV2aWNlICpwZGV2ID0gUENJX0RFVklDRSh2ZGV2KTsKKyAgICAgTVNJTWVzc2Fn ZSAoKmdldF9tc2cpKFBDSURldmljZSAqZGV2LCB1bnNpZ25lZCB2ZWN0b3IpOworICAgICB2b2lk ICgqbm90aWZ5KShQQ0lEZXZpY2UgKmRldiwgdW5zaWduZWQgdmVjdG9yKTsKKyAgICAgTVNJTWVz c2FnZSBtc2c7CitAQCAtNDQ1LDkgKzQ1Myw5IEBAIHN0YXRpYyB2b2lkIHZmaW9fbXNpX2ludGVy cnVwdCh2b2lkICpvcGFxdWUpCisgICAgICAgICBub3RpZnkgPSBtc2l4X25vdGlmeTsKKyAKKyAg ICAgICAgIC8qIEEgbWFza2VkIHZlY3RvciBmaXJpbmcgbmVlZHMgdG8gdXNlIHRoZSBQQkEsIGVu YWJsZSBpdCAqLworLSAgICAgICAgaWYgKG1zaXhfaXNfbWFza2VkKCZ2ZGV2LT5wZGV2LCBucikp IHsKKysgICAgICAgIGlmIChtc2l4X2lzX21hc2tlZChwZGV2LCBucikpIHsKKyAgICAgICAgICAg ICBzZXRfYml0KG5yLCB2ZGV2LT5tc2l4LT5wZW5kaW5nKTsKKy0gICAgICAgICAgICBtZW1vcnlf cmVnaW9uX3NldF9lbmFibGVkKCZ2ZGV2LT5wZGV2Lm1zaXhfcGJhX21taW8sIHRydWUpOworKyAg ICAgICAgICAgIG1lbW9yeV9yZWdpb25fc2V0X2VuYWJsZWQoJnBkZXYtPm1zaXhfcGJhX21taW8s IHRydWUpOworICAgICAgICAgICAgIHRyYWNlX3ZmaW9fbXNpeF9wYmFfZW5hYmxlKHZkZXYtPnZi YXNlZGV2Lm5hbWUpOworICAgICAgICAgfQorICAgICB9IGVsc2UgaWYgKHZkZXYtPmludGVycnVw dCA9PSBWRklPX0lOVF9NU0kpIHsKK0BAIC00NTcsOSArNDY1LDkgQEAgc3RhdGljIHZvaWQgdmZp b19tc2lfaW50ZXJydXB0KHZvaWQgKm9wYXF1ZSkKKyAgICAgICAgIGFib3J0KCk7CisgICAgIH0K KyAKKy0gICAgbXNnID0gZ2V0X21zZygmdmRldi0+cGRldiwgbnIpOworKyAgICBtc2cgPSBnZXRf bXNnKHBkZXYsIG5yKTsKKyAgICAgdHJhY2VfdmZpb19tc2lfaW50ZXJydXB0KHZkZXYtPnZiYXNl ZGV2Lm5hbWUsIG5yLCBtc2cuYWRkcmVzcywgbXNnLmRhdGEpOworLSAgICBub3RpZnkoJnZkZXYt PnBkZXYsIG5yKTsKKysgICAgbm90aWZ5KHBkZXYsIG5yKTsKKyB9CisgCisgdm9pZCB2ZmlvX3Bj aV9tc2lfc2V0X2hhbmRsZXIoVkZJT1BDSURldmljZSAqdmRldiwgaW50IG5yLCBib29sIGVuYWJs ZSkKK0BAIC00OTgsNiArNTA2LDcgQEAgc3RhdGljIGludCB2ZmlvX2VuYWJsZV9tc2l4X25vX3Zl YyhWRklPUENJRGV2aWNlICp2ZGV2KQorIAorIHN0YXRpYyBpbnQgdmZpb19lbmFibGVfdmVjdG9y cyhWRklPUENJRGV2aWNlICp2ZGV2LCBib29sIG1zaXgpCisgeworKyAgICBQQ0lEZXZpY2UgKnBk ZXYgPSBQQ0lfREVWSUNFKHZkZXYpOworICAgICBzdHJ1Y3QgdmZpb19pcnFfc2V0ICppcnFfc2V0 OworICAgICBpbnQgcmV0ID0gMCwgaSwgYXJnc3o7CisgICAgIGludDMyX3QgKmZkczsKK0BAIC01 NDAsNyArNTQ5LDcgQEAgc3RhdGljIGludCB2ZmlvX2VuYWJsZV92ZWN0b3JzKFZGSU9QQ0lEZXZp Y2UgKnZkZXYsIGJvb2wgbXNpeCkKKyAgICAgICAgICAqLworICAgICAgICAgaWYgKHZkZXYtPm1z aV92ZWN0b3JzW2ldLnVzZSkgeworICAgICAgICAgICAgIGlmICh2ZGV2LT5tc2lfdmVjdG9yc1tp XS52aXJxIDwgMCB8fAorLSAgICAgICAgICAgICAgICAobXNpeCAmJiBtc2l4X2lzX21hc2tlZCgm dmRldi0+cGRldiwgaSkpKSB7CisrICAgICAgICAgICAgICAgIChtc2l4ICYmIG1zaXhfaXNfbWFz a2VkKHBkZXYsIGkpKSkgeworICAgICAgICAgICAgICAgICBmZCA9IGV2ZW50X25vdGlmaWVyX2dl dF9mZCgmdmRldi0+bXNpX3ZlY3RvcnNbaV0uaW50ZXJydXB0KTsKKyAgICAgICAgICAgICB9IGVs c2UgeworICAgICAgICAgICAgICAgICBmZCA9IGV2ZW50X25vdGlmaWVyX2dldF9mZCgmdmRldi0+ bXNpX3ZlY3RvcnNbaV0ua3ZtX2ludGVycnVwdCk7CitAQCAtNTYwLDEyICs1NjksMTQgQEAgc3Rh dGljIGludCB2ZmlvX2VuYWJsZV92ZWN0b3JzKFZGSU9QQ0lEZXZpY2UgKnZkZXYsIGJvb2wgbXNp eCkKKyB2b2lkIHZmaW9fcGNpX2FkZF9rdm1fbXNpX3ZpcnEoVkZJT1BDSURldmljZSAqdmRldiwg VkZJT01TSVZlY3RvciAqdmVjdG9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp bnQgdmVjdG9yX24sIGJvb2wgbXNpeCkKKyB7CisrICAgIFBDSURldmljZSAqcGRldiA9IFBDSV9E RVZJQ0UodmRldik7CisrCisgICAgIGlmICgobXNpeCAmJiB2ZGV2LT5ub19rdm1fbXNpeCkgfHwg KCFtc2l4ICYmIHZkZXYtPm5vX2t2bV9tc2kpKSB7CisgICAgICAgICByZXR1cm47CisgICAgIH0K KyAKKyAgICAgdmVjdG9yLT52aXJxID0ga3ZtX2lycWNoaXBfYWRkX21zaV9yb3V0ZSgmdmZpb19y b3V0ZV9jaGFuZ2UsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgdmVjdG9yX24sICZ2ZGV2LT5wZGV2KTsKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB2ZWN0b3JfbiwgcGRldik7CisgfQorIAorIHN0YXRpYyB2b2lkIHZm aW9fY29ubmVjdF9rdm1fbXNpX3ZpcnEoVkZJT01TSVZlY3RvciAqdmVjdG9yLCBpbnQgbnIpCitA QCAtNjM0LDcgKzY0NSw3IEBAIHN0YXRpYyB2b2lkIHNldF9pcnFfc2lnbmFsbGluZyhWRklPRGV2 aWNlICp2YmFzZWRldiwgVkZJT01TSVZlY3RvciAqdmVjdG9yLAorIHZvaWQgdmZpb19wY2lfdmVj dG9yX2luaXQoVkZJT1BDSURldmljZSAqdmRldiwgaW50IG5yKQorIHsKKyAgICAgVkZJT01TSVZl Y3RvciAqdmVjdG9yID0gJnZkZXYtPm1zaV92ZWN0b3JzW25yXTsKKy0gICAgUENJRGV2aWNlICpw ZGV2ID0gJnZkZXYtPnBkZXY7CisrICAgIFBDSURldmljZSAqcGRldiA9IFBDSV9ERVZJQ0UodmRl dik7CisgICAgIEVycm9yICpsb2NhbF9lcnIgPSBOVUxMOworIAorICAgICB2ZWN0b3ItPnZkZXYg PSB2ZGV2OworQEAgLTcyMyw3ICs3MzQsNyBAQCBzdGF0aWMgaW50IHZmaW9fbXNpeF92ZWN0b3Jf ZG9fdXNlKFBDSURldmljZSAqcGRldiwgdW5zaWduZWQgaW50IG5yLAorICAgICBjbGVhcl9iaXQo bnIsIHZkZXYtPm1zaXgtPnBlbmRpbmcpOworICAgICBpZiAoZmluZF9maXJzdF9iaXQodmRldi0+ bXNpeC0+cGVuZGluZywKKyAgICAgICAgICAgICAgICAgICAgICAgIHZkZXYtPm5yX3ZlY3RvcnMp ID09IHZkZXYtPm5yX3ZlY3RvcnMpIHsKKy0gICAgICAgIG1lbW9yeV9yZWdpb25fc2V0X2VuYWJs ZWQoJnZkZXYtPnBkZXYubXNpeF9wYmFfbW1pbywgZmFsc2UpOworKyAgICAgICAgbWVtb3J5X3Jl Z2lvbl9zZXRfZW5hYmxlZCgmcGRldi0+bXNpeF9wYmFfbW1pbywgZmFsc2UpOworICAgICAgICAg dHJhY2VfdmZpb19tc2l4X3BiYV9kaXNhYmxlKHZkZXYtPnZiYXNlZGV2Lm5hbWUpOworICAgICB9 CisgCitAQCAtNzc0LDcgKzc4NSw5IEBAIHN0YXRpYyB2b2lkIHZmaW9fbXNpeF92ZWN0b3JfcmVs ZWFzZShQQ0lEZXZpY2UgKnBkZXYsIHVuc2lnbmVkIGludCBucikKKyAKKyB2b2lkIHZmaW9fcGNp X21zaXhfc2V0X25vdGlmaWVycyhWRklPUENJRGV2aWNlICp2ZGV2KQorIHsKKy0gICAgbXNpeF9z ZXRfdmVjdG9yX25vdGlmaWVycygmdmRldi0+cGRldiwgdmZpb19tc2l4X3ZlY3Rvcl91c2UsCisr ICAgIFBDSURldmljZSAqcGRldiA9IFBDSV9ERVZJQ0UodmRldik7CisrCisrICAgIG1zaXhfc2V0 X3ZlY3Rvcl9ub3RpZmllcnMocGRldiwgdmZpb19tc2l4X3ZlY3Rvcl91c2UsCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgdmZpb19tc2l4X3ZlY3Rvcl9yZWxlYXNlLCBOVUxMKTsKKyB9 CisgCitAQCAtODAxLDYgKzgxNCw3IEBAIHZvaWQgdmZpb19wY2lfY29tbWl0X2t2bV9tc2lfdmly cV9iYXRjaChWRklPUENJRGV2aWNlICp2ZGV2KQorIAorIHN0YXRpYyB2b2lkIHZmaW9fbXNpeF9l bmFibGUoVkZJT1BDSURldmljZSAqdmRldikKKyB7CisrICAgIFBDSURldmljZSAqcGRldiA9IFBD SV9ERVZJQ0UodmRldik7CisgICAgIGludCByZXQ7CisgCisgICAgIHZmaW9fZGlzYWJsZV9pbnRl cnJ1cHRzKHZkZXYpOworQEAgLTgxNyw3ICs4MzEsNyBAQCBzdGF0aWMgdm9pZCB2ZmlvX21zaXhf ZW5hYmxlKFZGSU9QQ0lEZXZpY2UgKnZkZXYpCisgICAgICAqLworICAgICB2ZmlvX3BjaV9wcmVw YXJlX2t2bV9tc2lfdmlycV9iYXRjaCh2ZGV2KTsKKyAKKy0gICAgaWYgKG1zaXhfc2V0X3ZlY3Rv cl9ub3RpZmllcnMoJnZkZXYtPnBkZXYsIHZmaW9fbXNpeF92ZWN0b3JfdXNlLAorKyAgICBpZiAo bXNpeF9zZXRfdmVjdG9yX25vdGlmaWVycyhwZGV2LCB2ZmlvX21zaXhfdmVjdG9yX3VzZSwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmZpb19tc2l4X3ZlY3Rvcl9yZWxlYXNl LCBOVUxMKSkgeworICAgICAgICAgZXJyb3JfcmVwb3J0KCJ2ZmlvOiBtc2l4X3NldF92ZWN0b3Jf bm90aWZpZXJzIGZhaWxlZCIpOworICAgICB9CitAQCAtODU1LDExICs4NjksMTIgQEAgc3RhdGlj IHZvaWQgdmZpb19tc2l4X2VuYWJsZShWRklPUENJRGV2aWNlICp2ZGV2KQorIAorIHN0YXRpYyB2 b2lkIHZmaW9fbXNpX2VuYWJsZShWRklPUENJRGV2aWNlICp2ZGV2KQorIHsKKysgICAgUENJRGV2 aWNlICpwZGV2ID0gUENJX0RFVklDRSh2ZGV2KTsKKyAgICAgaW50IHJldCwgaTsKKyAKKyAgICAg dmZpb19kaXNhYmxlX2ludGVycnVwdHModmRldik7CisgCistICAgIHZkZXYtPm5yX3ZlY3RvcnMg PSBtc2lfbnJfdmVjdG9yc19hbGxvY2F0ZWQoJnZkZXYtPnBkZXYpOworKyAgICB2ZGV2LT5ucl92 ZWN0b3JzID0gbXNpX25yX3ZlY3RvcnNfYWxsb2NhdGVkKHBkZXYpOworIHJldHJ5OgorICAgICAv KgorICAgICAgKiBTZXR0aW5nIHZlY3RvciBub3RpZmllcnMgbmVlZHMgdG8gZW5hYmxlIHJvdXRl IGZvciBlYWNoIHZlY3Rvci4KK0BAIC05NTIsMTAgKzk2NywxMSBAQCBzdGF0aWMgdm9pZCB2Zmlv X21zaV9kaXNhYmxlX2NvbW1vbihWRklPUENJRGV2aWNlICp2ZGV2KQorIAorIHN0YXRpYyB2b2lk IHZmaW9fbXNpeF9kaXNhYmxlKFZGSU9QQ0lEZXZpY2UgKnZkZXYpCisgeworKyAgICBQQ0lEZXZp Y2UgKnBkZXYgPSBQQ0lfREVWSUNFKHZkZXYpOworICAgICBFcnJvciAqZXJyID0gTlVMTDsKKyAg ICAgaW50IGk7CisgCistICAgIG1zaXhfdW5zZXRfdmVjdG9yX25vdGlmaWVycygmdmRldi0+cGRl dik7CisrICAgIG1zaXhfdW5zZXRfdmVjdG9yX25vdGlmaWVycyhwZGV2KTsKKyAKKyAgICAgLyoK KyAgICAgICogTVNJLVggd2lsbCBvbmx5IHJlbGVhc2UgdmVjdG9ycyBpZiBNU0ktWCBpcyBzdGls bCBlbmFibGVkIG9uIHRoZQorQEAgLTk2Myw4ICs5NzksOCBAQCBzdGF0aWMgdm9pZCB2ZmlvX21z aXhfZGlzYWJsZShWRklPUENJRGV2aWNlICp2ZGV2KQorICAgICAgKi8KKyAgICAgZm9yIChpID0g MDsgaSA8IHZkZXYtPm5yX3ZlY3RvcnM7IGkrKykgeworICAgICAgICAgaWYgKHZkZXYtPm1zaV92 ZWN0b3JzW2ldLnVzZSkgeworLSAgICAgICAgICAgIHZmaW9fbXNpeF92ZWN0b3JfcmVsZWFzZSgm dmRldi0+cGRldiwgaSk7CistICAgICAgICAgICAgbXNpeF92ZWN0b3JfdW51c2UoJnZkZXYtPnBk ZXYsIGkpOworKyAgICAgICAgICAgIHZmaW9fbXNpeF92ZWN0b3JfcmVsZWFzZShwZGV2LCBpKTsK KysgICAgICAgICAgICBtc2l4X3ZlY3Rvcl91bnVzZShwZGV2LCBpKTsKKyAgICAgICAgIH0KKyAg ICAgfQorIAorQEAgLTEwMDEsNiArMTAxNyw3IEBAIHN0YXRpYyB2b2lkIHZmaW9fbXNpX2Rpc2Fi bGUoVkZJT1BDSURldmljZSAqdmRldikKKyAKKyBzdGF0aWMgdm9pZCB2ZmlvX3VwZGF0ZV9tc2ko VkZJT1BDSURldmljZSAqdmRldikKKyB7CisrICAgIFBDSURldmljZSAqcGRldiA9IFBDSV9ERVZJ Q0UodmRldik7CisgICAgIGludCBpOworIAorICAgICBmb3IgKGkgPSAwOyBpIDwgdmRldi0+bnJf dmVjdG9yczsgaSsrKSB7CitAQCAtMTAxMSw4ICsxMDI4LDggQEAgc3RhdGljIHZvaWQgdmZpb191 cGRhdGVfbXNpKFZGSU9QQ0lEZXZpY2UgKnZkZXYpCisgICAgICAgICAgICAgY29udGludWU7Cisg ICAgICAgICB9CisgCistICAgICAgICBtc2cgPSBtc2lfZ2V0X21lc3NhZ2UoJnZkZXYtPnBkZXYs IGkpOworLSAgICAgICAgdmZpb191cGRhdGVfa3ZtX21zaV92aXJxKHZlY3RvciwgbXNnLCAmdmRl di0+cGRldik7CisrICAgICAgICBtc2cgPSBtc2lfZ2V0X21lc3NhZ2UocGRldiwgaSk7CisrICAg ICAgICB2ZmlvX3VwZGF0ZV9rdm1fbXNpX3ZpcnEodmVjdG9yLCBtc2csIHBkZXYpOworICAgICB9 CisgfQorIAorQEAgLTExNzQsMTMgKzExOTEsMTQgQEAgc3RhdGljIGNvbnN0IE1lbW9yeVJlZ2lv bk9wcyB2ZmlvX3JvbV9vcHMgPSB7CisgCisgc3RhdGljIHZvaWQgdmZpb19wY2lfc2l6ZV9yb20o VkZJT1BDSURldmljZSAqdmRldikKKyB7CisrICAgIFBDSURldmljZSAqcGRldiA9IFBDSV9ERVZJ Q0UodmRldik7CisgICAgIFZGSU9EZXZpY2UgKnZiYXNlZGV2ID0gJnZkZXYtPnZiYXNlZGV2Owor ICAgICB1aW50MzJfdCBvcmlnLCBzaXplID0gY3B1X3RvX2xlMzIoKHVpbnQzMl90KVBDSV9ST01f QUREUkVTU19NQVNLKTsKKyAgICAgY2hhciAqbmFtZTsKKyAKKy0gICAgaWYgKHZkZXYtPnBkZXYu cm9tZmlsZSB8fCAhdmRldi0+cGRldi5yb21fYmFyKSB7CisrICAgIGlmIChwZGV2LT5yb21maWxl IHx8ICFwZGV2LT5yb21fYmFyKSB7CisgICAgICAgICAvKiBTaW5jZSBwY2kgaGFuZGxlcyByb21m aWxlLCBqdXN0IHByaW50IGEgbWVzc2FnZSBhbmQgcmV0dXJuICovCistICAgICAgICBpZiAodmZp b19vcHRfcm9tX2luX2RlbnlsaXN0KHZkZXYpICYmIHZkZXYtPnBkZXYucm9tZmlsZSkgeworKyAg ICAgICAgaWYgKHZmaW9fb3B0X3JvbV9pbl9kZW55bGlzdCh2ZGV2KSAmJiBwZGV2LT5yb21maWxl KSB7CisgICAgICAgICAgICAgd2Fybl9yZXBvcnQoIkRldmljZSBhdCAlcyBpcyBrbm93biB0byBj YXVzZSBzeXN0ZW0gaW5zdGFiaWxpdHkiCisgICAgICAgICAgICAgICAgICAgICAgICAgIiBpc3N1 ZXMgZHVyaW5nIG9wdGlvbiByb20gZXhlY3V0aW9uIiwKKyAgICAgICAgICAgICAgICAgICAgICAg ICB2ZGV2LT52YmFzZWRldi5uYW1lKTsKK0BAIC0xMjA5LDcgKzEyMjcsNyBAQCBzdGF0aWMgdm9p ZCB2ZmlvX3BjaV9zaXplX3JvbShWRklPUENJRGV2aWNlICp2ZGV2KQorICAgICB9CisgCisgICAg IGlmICh2ZmlvX29wdF9yb21faW5fZGVueWxpc3QodmRldikpIHsKKy0gICAgICAgIGlmICh2ZGV2 LT5wZGV2LnJvbV9iYXIgPiAwKSB7CisrICAgICAgICBpZiAocGRldi0+cm9tX2JhciA+IDApIHsK KyAgICAgICAgICAgICB3YXJuX3JlcG9ydCgiRGV2aWNlIGF0ICVzIGlzIGtub3duIHRvIGNhdXNl IHN5c3RlbSBpbnN0YWJpbGl0eSIKKyAgICAgICAgICAgICAgICAgICAgICAgICAiIGlzc3VlcyBk dXJpbmcgb3B0aW9uIHJvbSBleGVjdXRpb24iLAorICAgICAgICAgICAgICAgICAgICAgICAgIHZk ZXYtPnZiYXNlZGV2Lm5hbWUpOworQEAgLTEyMjgsMTIgKzEyNDYsMTIgQEAgc3RhdGljIHZvaWQg dmZpb19wY2lfc2l6ZV9yb20oVkZJT1BDSURldmljZSAqdmRldikKKyAKKyAgICAgbmFtZSA9IGdf c3RyZHVwX3ByaW50ZigidmZpb1slc10ucm9tIiwgdmRldi0+dmJhc2VkZXYubmFtZSk7CisgCist ICAgIG1lbW9yeV9yZWdpb25faW5pdF9pbygmdmRldi0+cGRldi5yb20sIE9CSkVDVCh2ZGV2KSwK KysgICAgbWVtb3J5X3JlZ2lvbl9pbml0X2lvKCZwZGV2LT5yb20sIE9CSkVDVCh2ZGV2KSwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICZ2ZmlvX3JvbV9vcHMsIHZkZXYsIG5hbWUsIHNpemUp OworICAgICBnX2ZyZWUobmFtZSk7CisgCistICAgIHBjaV9yZWdpc3Rlcl9iYXIoJnZkZXYtPnBk ZXYsIFBDSV9ST01fU0xPVCwKKy0gICAgICAgICAgICAgICAgICAgICBQQ0lfQkFTRV9BRERSRVNT X1NQQUNFX01FTU9SWSwgJnZkZXYtPnBkZXYucm9tKTsKKysgICAgcGNpX3JlZ2lzdGVyX2Jhcihw ZGV2LCBQQ0lfUk9NX1NMT1QsCisrICAgICAgICAgICAgICAgICAgICAgUENJX0JBU0VfQUREUkVT U19TUEFDRV9NRU1PUlksICZwZGV2LT5yb20pOworIAorICAgICB2ZGV2LT5yb21fcmVhZF9mYWls ZWQgPSBmYWxzZTsKKyB9CitAQCAtMTUwNiw2ICsxNTI0LDcgQEAgc3RhdGljIHZvaWQgdmZpb19k aXNhYmxlX2ludGVycnVwdHMoVkZJT1BDSURldmljZSAqdmRldikKKyAKKyBzdGF0aWMgYm9vbCB2 ZmlvX21zaV9zZXR1cChWRklPUENJRGV2aWNlICp2ZGV2LCBpbnQgcG9zLCBFcnJvciAqKmVycnAp CisgeworKyAgICBQQ0lEZXZpY2UgKnBkZXYgPSBQQ0lfREVWSUNFKHZkZXYpOworICAgICB1aW50 MTZfdCBjdHJsOworICAgICBib29sIG1zaV82NGJpdCwgbXNpX21hc2tiaXQ7CisgICAgIGludCBy ZXQsIGVudHJpZXM7CitAQCAtMTUyNiw3ICsxNTQ1LDcgQEAgc3RhdGljIGJvb2wgdmZpb19tc2lf c2V0dXAoVkZJT1BDSURldmljZSAqdmRldiwgaW50IHBvcywgRXJyb3IgKiplcnJwKQorIAorICAg ICB0cmFjZV92ZmlvX21zaV9zZXR1cCh2ZGV2LT52YmFzZWRldi5uYW1lLCBwb3MpOworIAorLSAg ICByZXQgPSBtc2lfaW5pdCgmdmRldi0+cGRldiwgcG9zLCBlbnRyaWVzLCBtc2lfNjRiaXQsIG1z aV9tYXNrYml0LCAmZXJyKTsKKysgICAgcmV0ID0gbXNpX2luaXQocGRldiwgcG9zLCBlbnRyaWVz LCBtc2lfNjRiaXQsIG1zaV9tYXNrYml0LCAmZXJyKTsKKyAgICAgaWYgKHJldCA8IDApIHsKKyAg ICAgICAgIGlmIChyZXQgPT0gLUVOT1RTVVApIHsKKyAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsK K0BAIC0xNzE5LDYgKzE3MzgsNyBAQCBzdGF0aWMgYm9vbCB2ZmlvX3BjaV9yZWxvY2F0ZV9tc2l4 KFZGSU9QQ0lEZXZpY2UgKnZkZXYsIEVycm9yICoqZXJycCkKKyAgKi8KKyBzdGF0aWMgYm9vbCB2 ZmlvX21zaXhfZWFybHlfc2V0dXAoVkZJT1BDSURldmljZSAqdmRldiwgRXJyb3IgKiplcnJwKQor IHsKKysgICAgUENJRGV2aWNlICpwZGV2ID0gUENJX0RFVklDRSh2ZGV2KTsKKyAgICAgdWludDhf dCBwb3M7CisgICAgIHVpbnQxNl90IGN0cmw7CisgICAgIHVpbnQzMl90IHRhYmxlLCBwYmE7CitA QCAtMTcyNiw3ICsxNzQ2LDcgQEAgc3RhdGljIGJvb2wgdmZpb19tc2l4X2Vhcmx5X3NldHVwKFZG SU9QQ0lEZXZpY2UgKnZkZXYsIEVycm9yICoqZXJycCkKKyAgICAgVkZJT01TSVhJbmZvICptc2l4 OworICAgICBpbnQgcmV0OworIAorLSAgICBwb3MgPSBwY2lfZmluZF9jYXBhYmlsaXR5KCZ2ZGV2 LT5wZGV2LCBQQ0lfQ0FQX0lEX01TSVgpOworKyAgICBwb3MgPSBwY2lfZmluZF9jYXBhYmlsaXR5 KHBkZXYsIFBDSV9DQVBfSURfTVNJWCk7CisgICAgIGlmICghcG9zKSB7CisgICAgICAgICByZXR1 cm4gdHJ1ZTsKKyAgICAgfQorQEAgLTE4MTgsMTIgKzE4MzgsMTMgQEAgc3RhdGljIGJvb2wgdmZp b19tc2l4X2Vhcmx5X3NldHVwKFZGSU9QQ0lEZXZpY2UgKnZkZXYsIEVycm9yICoqZXJycCkKKyAK KyBzdGF0aWMgYm9vbCB2ZmlvX21zaXhfc2V0dXAoVkZJT1BDSURldmljZSAqdmRldiwgaW50IHBv cywgRXJyb3IgKiplcnJwKQorIHsKKysgICAgUENJRGV2aWNlICpwZGV2ID0gUENJX0RFVklDRSh2 ZGV2KTsKKyAgICAgaW50IHJldDsKKyAgICAgRXJyb3IgKmVyciA9IE5VTEw7CisgCisgICAgIHZk ZXYtPm1zaXgtPnBlbmRpbmcgPSBnX25ldzAodW5zaWduZWQgbG9uZywKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBCSVRTX1RPX0xPTkdTKHZkZXYtPm1zaXgtPmVudHJpZXMpKTsK Ky0gICAgcmV0ID0gbXNpeF9pbml0KCZ2ZGV2LT5wZGV2LCB2ZGV2LT5tc2l4LT5lbnRyaWVzLAor KyAgICByZXQgPSBtc2l4X2luaXQocGRldiwgdmRldi0+bXNpeC0+ZW50cmllcywKKyAgICAgICAg ICAgICAgICAgICAgIHZkZXYtPmJhcnNbdmRldi0+bXNpeC0+dGFibGVfYmFyXS5tciwKKyAgICAg ICAgICAgICAgICAgICAgIHZkZXYtPm1zaXgtPnRhYmxlX2JhciwgdmRldi0+bXNpeC0+dGFibGVf b2Zmc2V0LAorICAgICAgICAgICAgICAgICAgICAgdmRldi0+YmFyc1t2ZGV2LT5tc2l4LT5wYmFf YmFyXS5tciwKK0BAIC0xODU1LDcgKzE4NzYsNyBAQCBzdGF0aWMgYm9vbCB2ZmlvX21zaXhfc2V0 dXAoVkZJT1BDSURldmljZSAqdmRldiwgaW50IHBvcywgRXJyb3IgKiplcnJwKQorICAgICAgKiB2 ZWN0b3ItdXNlIG5vdGlmaWVyIGlzIGNhbGxlZCwgd2hpY2ggb2NjdXJzIG9uIHVubWFzaywgd2Ug dGVzdCB3aGV0aGVyCisgICAgICAqIFBCQSBlbXVsYXRpb24gaXMgbmVlZGVkIGFuZCBhZ2FpbiBk aXNhYmxlIGlmIG5vdC4KKyAgICAgICovCistICAgIG1lbW9yeV9yZWdpb25fc2V0X2VuYWJsZWQo JnZkZXYtPnBkZXYubXNpeF9wYmFfbW1pbywgZmFsc2UpOworKyAgICBtZW1vcnlfcmVnaW9uX3Nl dF9lbmFibGVkKCZwZGV2LT5tc2l4X3BiYV9tbWlvLCBmYWxzZSk7CisgCisgICAgIC8qCisgICAg ICAqIFRoZSBlbXVsYXRlZCBtYWNoaW5lIG1heSBwcm92aWRlIGEgcGFyYXZpcnQgaW50ZXJmYWNl IGZvciBNU0lYIHNldHVwCitAQCAtMTg2Nyw3ICsxODg4LDcgQEAgc3RhdGljIGJvb2wgdmZpb19t c2l4X3NldHVwKFZGSU9QQ0lEZXZpY2UgKnZkZXYsIGludCBwb3MsIEVycm9yICoqZXJycCkKKyAg ICAgICovCisgICAgIGlmIChvYmplY3RfcHJvcGVydHlfZ2V0X2Jvb2woT0JKRUNUKHFkZXZfZ2V0 X21hY2hpbmUoKSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZmaW8tbm8t bXNpeC1lbXVsYXRpb24iLCBOVUxMKSkgeworLSAgICAgICAgbWVtb3J5X3JlZ2lvbl9zZXRfZW5h YmxlZCgmdmRldi0+cGRldi5tc2l4X3RhYmxlX21taW8sIGZhbHNlKTsKKysgICAgICAgIG1lbW9y eV9yZWdpb25fc2V0X2VuYWJsZWQoJnBkZXYtPm1zaXhfdGFibGVfbW1pbywgZmFsc2UpOworICAg ICB9CisgCisgICAgIHJldHVybiB0cnVlOworQEAgLTE4NzUsMTAgKzE4OTYsMTIgQEAgc3RhdGlj IGJvb2wgdmZpb19tc2l4X3NldHVwKFZGSU9QQ0lEZXZpY2UgKnZkZXYsIGludCBwb3MsIEVycm9y ICoqZXJycCkKKyAKKyB2b2lkIHZmaW9fcGNpX3RlYXJkb3duX21zaShWRklPUENJRGV2aWNlICp2 ZGV2KQorIHsKKy0gICAgbXNpX3VuaW5pdCgmdmRldi0+cGRldik7CisrICAgIFBDSURldmljZSAq cGRldiA9IFBDSV9ERVZJQ0UodmRldik7CisrCisrICAgIG1zaV91bmluaXQocGRldik7CisgCisg ICAgIGlmICh2ZGV2LT5tc2l4KSB7CistICAgICAgICBtc2l4X3VuaW5pdCgmdmRldi0+cGRldiwK KysgICAgICAgIG1zaXhfdW5pbml0KHBkZXYsCisgICAgICAgICAgICAgICAgICAgICB2ZGV2LT5i YXJzW3ZkZXYtPm1zaXgtPnRhYmxlX2Jhcl0ubXIsCisgICAgICAgICAgICAgICAgICAgICB2ZGV2 LT5iYXJzW3ZkZXYtPm1zaXgtPnBiYV9iYXJdLm1yKTsKKyAgICAgICAgIGdfZnJlZSh2ZGV2LT5t c2l4LT5wZW5kaW5nKTsKK0BAIC0xOTM5LDYgKzE5NjIsNyBAQCBzdGF0aWMgdm9pZCB2ZmlvX2Jh cnNfcHJlcGFyZShWRklPUENJRGV2aWNlICp2ZGV2KQorIAorIHN0YXRpYyB2b2lkIHZmaW9fYmFy X3JlZ2lzdGVyKFZGSU9QQ0lEZXZpY2UgKnZkZXYsIGludCBucikKKyB7CisrICAgIFBDSURldmlj ZSAqcGRldiA9IFBDSV9ERVZJQ0UodmRldik7CisgICAgIFZGSU9CQVIgKmJhciA9ICZ2ZGV2LT5i YXJzW25yXTsKKyAgICAgY2hhciAqbmFtZTsKKyAKK0BAIC0xOTYwLDcgKzE5ODQsNyBAQCBzdGF0 aWMgdm9pZCB2ZmlvX2Jhcl9yZWdpc3RlcihWRklPUENJRGV2aWNlICp2ZGV2LCBpbnQgbnIpCisg ICAgICAgICB9CisgICAgIH0KKyAKKy0gICAgcGNpX3JlZ2lzdGVyX2JhcigmdmRldi0+cGRldiwg bnIsIGJhci0+dHlwZSwgYmFyLT5tcik7CisrICAgIHBjaV9yZWdpc3Rlcl9iYXIocGRldiwgbnIs IGJhci0+dHlwZSwgYmFyLT5tcik7CisgfQorIAorIHN0YXRpYyB2b2lkIHZmaW9fYmFyc19yZWdp c3RlcihWRklPUENJRGV2aWNlICp2ZGV2KQorQEAgLTE5NzQsNiArMTk5OCw3IEBAIHN0YXRpYyB2 b2lkIHZmaW9fYmFyc19yZWdpc3RlcihWRklPUENJRGV2aWNlICp2ZGV2KQorIAorIHZvaWQgdmZp b19wY2lfYmFyc19leGl0KFZGSU9QQ0lEZXZpY2UgKnZkZXYpCisgeworKyAgICBQQ0lEZXZpY2Ug KnBkZXYgPSBQQ0lfREVWSUNFKHZkZXYpOworICAgICBpbnQgaTsKKyAKKyAgICAgZm9yIChpID0g MDsgaSA8IFBDSV9ST01fU0xPVDsgaSsrKSB7CitAQCAtMTk4Nyw3ICsyMDEyLDcgQEAgdm9pZCB2 ZmlvX3BjaV9iYXJzX2V4aXQoVkZJT1BDSURldmljZSAqdmRldikKKyAgICAgfQorIAorICAgICBp ZiAodmRldi0+dmdhKSB7CistICAgICAgICBwY2lfdW5yZWdpc3Rlcl92Z2EoJnZkZXYtPnBkZXYp OworKyAgICAgICAgcGNpX3VucmVnaXN0ZXJfdmdhKHBkZXYpOworICAgICAgICAgdmZpb192Z2Ff cXVpcmtfZXhpdCh2ZGV2KTsKKyAgICAgfQorIH0KK0BAIC0yMDU5LDggKzIwODQsMTAgQEAgc3Rh dGljIHZvaWQgdmZpb19zZXRfd29yZF9iaXRzKHVpbnQ4X3QgKmJ1ZiwgdWludDE2X3QgdmFsLCB1 aW50MTZfdCBtYXNrKQorIHN0YXRpYyB2b2lkIHZmaW9fYWRkX2VtdWxhdGVkX3dvcmQoVkZJT1BD SURldmljZSAqdmRldiwgaW50IHBvcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHVpbnQxNl90IHZhbCwgdWludDE2X3QgbWFzaykKKyB7CistICAgIHZmaW9fc2V0X3dvcmRf Yml0cyh2ZGV2LT5wZGV2LmNvbmZpZyArIHBvcywgdmFsLCBtYXNrKTsKKy0gICAgdmZpb19zZXRf d29yZF9iaXRzKHZkZXYtPnBkZXYud21hc2sgKyBwb3MsIH5tYXNrLCBtYXNrKTsKKysgICAgUENJ RGV2aWNlICpwZGV2ID0gUENJX0RFVklDRSh2ZGV2KTsKKysKKysgICAgdmZpb19zZXRfd29yZF9i aXRzKHBkZXYtPmNvbmZpZyArIHBvcywgdmFsLCBtYXNrKTsKKysgICAgdmZpb19zZXRfd29yZF9i aXRzKHBkZXYtPndtYXNrICsgcG9zLCB+bWFzaywgbWFzayk7CisgICAgIHZmaW9fc2V0X3dvcmRf Yml0cyh2ZGV2LT5lbXVsYXRlZF9jb25maWdfYml0cyArIHBvcywgbWFzaywgbWFzayk7CisgfQor IAorQEAgLTIwNzIsOCArMjA5OSwxMCBAQCBzdGF0aWMgdm9pZCB2ZmlvX3NldF9sb25nX2JpdHMo dWludDhfdCAqYnVmLCB1aW50MzJfdCB2YWwsIHVpbnQzMl90IG1hc2spCisgc3RhdGljIHZvaWQg dmZpb19hZGRfZW11bGF0ZWRfbG9uZyhWRklPUENJRGV2aWNlICp2ZGV2LCBpbnQgcG9zLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3QgdmFsLCB1aW50MzJfdCBt YXNrKQorIHsKKy0gICAgdmZpb19zZXRfbG9uZ19iaXRzKHZkZXYtPnBkZXYuY29uZmlnICsgcG9z LCB2YWwsIG1hc2spOworLSAgICB2ZmlvX3NldF9sb25nX2JpdHModmRldi0+cGRldi53bWFzayAr IHBvcywgfm1hc2ssIG1hc2spOworKyAgICBQQ0lEZXZpY2UgKnBkZXYgPSBQQ0lfREVWSUNFKHZk ZXYpOworKworKyAgICB2ZmlvX3NldF9sb25nX2JpdHMocGRldi0+Y29uZmlnICsgcG9zLCB2YWws IG1hc2spOworKyAgICB2ZmlvX3NldF9sb25nX2JpdHMocGRldi0+d21hc2sgKyBwb3MsIH5tYXNr LCBtYXNrKTsKKyAgICAgdmZpb19zZXRfbG9uZ19iaXRzKHZkZXYtPmVtdWxhdGVkX2NvbmZpZ19i aXRzICsgcG9zLCBtYXNrLCBtYXNrKTsKKyB9CisgCitAQCAtMjA4MSw3ICsyMTEwLDggQEAgc3Rh dGljIHZvaWQgdmZpb19wY2lfZW5hYmxlX3JwX2F0b21pY3MoVkZJT1BDSURldmljZSAqdmRldikK KyB7CisgICAgIHN0cnVjdCB2ZmlvX2RldmljZV9pbmZvX2NhcF9wY2lfYXRvbWljX2NvbXAgKmNh cDsKKyAgICAgZ19hdXRvZnJlZSBzdHJ1Y3QgdmZpb19kZXZpY2VfaW5mbyAqaW5mbyA9IE5VTEw7 CistICAgIFBDSUJ1cyAqYnVzID0gcGNpX2dldF9idXMoJnZkZXYtPnBkZXYpOworKyAgICBQQ0lE ZXZpY2UgKnBkZXYgPSBQQ0lfREVWSUNFKHZkZXYpOworKyAgICBQQ0lCdXMgKmJ1cyA9IHBjaV9n ZXRfYnVzKHBkZXYpOworICAgICBQQ0lEZXZpY2UgKnBhcmVudCA9IGJ1cy0+cGFyZW50X2RldjsK KyAgICAgc3RydWN0IHZmaW9faW5mb19jYXBfaGVhZGVyICpoZHI7CisgICAgIHVpbnQzMl90IG1h c2sgPSAwOworQEAgLTIwOTcsOCArMjEyNyw4IEBAIHN0YXRpYyB2b2lkIHZmaW9fcGNpX2VuYWJs ZV9ycF9hdG9taWNzKFZGSU9QQ0lEZXZpY2UgKnZkZXYpCisgICAgIGlmIChwY2lfYnVzX2lzX3Jv b3QoYnVzKSB8fCAhcGFyZW50IHx8ICFwYXJlbnQtPmV4cC5leHBfY2FwIHx8CisgICAgICAgICBw Y2llX2NhcF9nZXRfdHlwZShwYXJlbnQpICE9IFBDSV9FWFBfVFlQRV9ST09UX1BPUlQgfHwKKyAg ICAgICAgIHBjaWVfY2FwX2dldF92ZXJzaW9uKHBhcmVudCkgIT0gUENJX0VYUF9GTEFHU19WRVIy IHx8CistICAgICAgICB2ZGV2LT5wZGV2LmRldmZuIHx8CistICAgICAgICB2ZGV2LT5wZGV2LmNh cF9wcmVzZW50ICYgUUVNVV9QQ0lfQ0FQX01VTFRJRlVOQ1RJT04pIHsKKysgICAgICAgIHBkZXYt PmRldmZuIHx8CisrICAgICAgICBwZGV2LT5jYXBfcHJlc2VudCAmIFFFTVVfUENJX0NBUF9NVUxU SUZVTkNUSU9OKSB7CisgICAgICAgICByZXR1cm47CisgICAgIH0KKyAKK0BAIC0yMTQyLDggKzIx NzIsMTAgQEAgc3RhdGljIHZvaWQgdmZpb19wY2lfZW5hYmxlX3JwX2F0b21pY3MoVkZJT1BDSURl dmljZSAqdmRldikKKyAKKyBzdGF0aWMgdm9pZCB2ZmlvX3BjaV9kaXNhYmxlX3JwX2F0b21pY3Mo VkZJT1BDSURldmljZSAqdmRldikKKyB7CisrICAgIFBDSURldmljZSAqcGRldiA9IFBDSV9ERVZJ Q0UodmRldik7CisrCisgICAgIGlmICh2ZGV2LT5jbGVhcl9wYXJlbnRfYXRvbWljc19vbl9leGl0 KSB7CistICAgICAgICBQQ0lEZXZpY2UgKnBhcmVudCA9IHBjaV9nZXRfYnVzKCZ2ZGV2LT5wZGV2 KS0+cGFyZW50X2RldjsKKysgICAgICAgIFBDSURldmljZSAqcGFyZW50ID0gcGNpX2dldF9idXMo cGRldiktPnBhcmVudF9kZXY7CisgICAgICAgICB1aW50OF90ICpwb3MgPSBwYXJlbnQtPmNvbmZp ZyArIHBhcmVudC0+ZXhwLmV4cF9jYXAgKyBQQ0lfRVhQX0RFVkNBUDI7CisgCisgICAgICAgICBw Y2lfbG9uZ190ZXN0X2FuZF9jbGVhcl9tYXNrKHBvcywgUENJX0VYUF9ERVZDQVAyX0FUT01JQ19D T01QMzIgfAorQEAgLTIxNTUsMTAgKzIxODcsMTEgQEAgc3RhdGljIHZvaWQgdmZpb19wY2lfZGlz YWJsZV9ycF9hdG9taWNzKFZGSU9QQ0lEZXZpY2UgKnZkZXYpCisgc3RhdGljIGJvb2wgdmZpb19z ZXR1cF9wY2llX2NhcChWRklPUENJRGV2aWNlICp2ZGV2LCBpbnQgcG9zLCB1aW50OF90IHNpemUs CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFcnJvciAqKmVycnApCisgeworKyAg ICBQQ0lEZXZpY2UgKnBkZXYgPSBQQ0lfREVWSUNFKHZkZXYpOworICAgICB1aW50MTZfdCBmbGFn czsKKyAgICAgdWludDhfdCB0eXBlOworIAorLSAgICBmbGFncyA9IHBjaV9nZXRfd29yZCh2ZGV2 LT5wZGV2LmNvbmZpZyArIHBvcyArIFBDSV9DQVBfRkxBR1MpOworKyAgICBmbGFncyA9IHBjaV9n ZXRfd29yZChwZGV2LT5jb25maWcgKyBwb3MgKyBQQ0lfQ0FQX0ZMQUdTKTsKKyAgICAgdHlwZSA9 IChmbGFncyAmIFBDSV9FWFBfRkxBR1NfVFlQRSkgPj4gNDsKKyAKKyAgICAgaWYgKHR5cGUgIT0g UENJX0VYUF9UWVBFX0VORFBPSU5UICYmCitAQCAtMjE3MCw4ICsyMjAzLDggQEAgc3RhdGljIGJv b2wgdmZpb19zZXR1cF9wY2llX2NhcChWRklPUENJRGV2aWNlICp2ZGV2LCBpbnQgcG9zLCB1aW50 OF90IHNpemUsCisgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgIH0KKyAKKy0gICAgaWYgKCFw Y2lfYnVzX2lzX2V4cHJlc3MocGNpX2dldF9idXMoJnZkZXYtPnBkZXYpKSkgeworLSAgICAgICAg UENJQnVzICpidXMgPSBwY2lfZ2V0X2J1cygmdmRldi0+cGRldik7CisrICAgIGlmICghcGNpX2J1 c19pc19leHByZXNzKHBjaV9nZXRfYnVzKHBkZXYpKSkgeworKyAgICAgICAgUENJQnVzICpidXMg PSBwY2lfZ2V0X2J1cyhwZGV2KTsKKyAgICAgICAgIFBDSURldmljZSAqYnJpZGdlOworIAorICAg ICAgICAgLyoKK0BAIC0yMjAzLDcgKzIyMzYsNyBAQCBzdGF0aWMgYm9vbCB2ZmlvX3NldHVwX3Bj aWVfY2FwKFZGSU9QQ0lEZXZpY2UgKnZkZXYsIGludCBwb3MsIHVpbnQ4X3Qgc2l6ZSwKKyAgICAg ICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgIH0KKyAKKy0gICAgfSBlbHNlIGlmIChwY2lf YnVzX2lzX3Jvb3QocGNpX2dldF9idXMoJnZkZXYtPnBkZXYpKSkgeworKyAgICB9IGVsc2UgaWYg KHBjaV9idXNfaXNfcm9vdChwY2lfZ2V0X2J1cyhwZGV2KSkpIHsKKyAgICAgICAgIC8qCisgICAg ICAgICAgKiBPbiBhIFJvb3QgQ29tcGxleCBidXMgRW5kcG9pbnRzIGJlY29tZSBSb290IENvbXBs ZXggSW50ZWdyYXRlZAorICAgICAgICAgICogRW5kcG9pbnRzLCB3aGljaCBjaGFuZ2VzIHRoZSB0 eXBlIGFuZCBjbGVhcnMgdGhlIExOSyAmIExOSzIgZmllbGRzLgorQEAgLTIyNzEsMjAgKzIzMDQs MjAgQEAgc3RhdGljIGJvb2wgdmZpb19zZXR1cF9wY2llX2NhcChWRklPUENJRGV2aWNlICp2ZGV2 LCBpbnQgcG9zLCB1aW50OF90IHNpemUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IDEsIFBDSV9FWFBfRkxBR1NfVkVSUyk7CisgICAgIH0KKyAKKy0gICAgcG9zID0gcGNpX2FkZF9j YXBhYmlsaXR5KCZ2ZGV2LT5wZGV2LCBQQ0lfQ0FQX0lEX0VYUCwgcG9zLCBzaXplLAorLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgZXJycCk7CisrICAgIHBvcyA9IHBjaV9hZGRfY2FwYWJp bGl0eShwZGV2LCBQQ0lfQ0FQX0lEX0VYUCwgcG9zLCBzaXplLCBlcnJwKTsKKyAgICAgaWYgKHBv cyA8IDApIHsKKyAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgfQorIAorLSAgICB2ZGV2LT5w ZGV2LmV4cC5leHBfY2FwID0gcG9zOworKyAgICBwZGV2LT5leHAuZXhwX2NhcCA9IHBvczsKKyAK KyAgICAgcmV0dXJuIHRydWU7CisgfQorIAorIHN0YXRpYyB2b2lkIHZmaW9fY2hlY2tfcGNpZV9m bHIoVkZJT1BDSURldmljZSAqdmRldiwgdWludDhfdCBwb3MpCisgeworLSAgICB1aW50MzJfdCBj YXAgPSBwY2lfZ2V0X2xvbmcodmRldi0+cGRldi5jb25maWcgKyBwb3MgKyBQQ0lfRVhQX0RFVkNB UCk7CisrICAgIFBDSURldmljZSAqcGRldiA9IFBDSV9ERVZJQ0UodmRldik7CisrICAgIHVpbnQz Ml90IGNhcCA9IHBjaV9nZXRfbG9uZyhwZGV2LT5jb25maWcgKyBwb3MgKyBQQ0lfRVhQX0RFVkNB UCk7CisgCisgICAgIGlmIChjYXAgJiBQQ0lfRVhQX0RFVkNBUF9GTFIpIHsKKyAgICAgICAgIHRy YWNlX3ZmaW9fY2hlY2tfcGNpZV9mbHIodmRldi0+dmJhc2VkZXYubmFtZSk7CitAQCAtMjI5NCw3 ICsyMzI3LDggQEAgc3RhdGljIHZvaWQgdmZpb19jaGVja19wY2llX2ZscihWRklPUENJRGV2aWNl ICp2ZGV2LCB1aW50OF90IHBvcykKKyAKKyBzdGF0aWMgdm9pZCB2ZmlvX2NoZWNrX3BtX3Jlc2V0 KFZGSU9QQ0lEZXZpY2UgKnZkZXYsIHVpbnQ4X3QgcG9zKQorIHsKKy0gICAgdWludDE2X3QgY3Ny ID0gcGNpX2dldF93b3JkKHZkZXYtPnBkZXYuY29uZmlnICsgcG9zICsgUENJX1BNX0NUUkwpOwor KyAgICBQQ0lEZXZpY2UgKnBkZXYgPSBQQ0lfREVWSUNFKHZkZXYpOworKyAgICB1aW50MTZfdCBj c3IgPSBwY2lfZ2V0X3dvcmQocGRldi0+Y29uZmlnICsgcG9zICsgUENJX1BNX0NUUkwpOworIAor ICAgICBpZiAoIShjc3IgJiBQQ0lfUE1fQ1RSTF9OT19TT0ZUX1JFU0VUKSkgeworICAgICAgICAg dHJhY2VfdmZpb19jaGVja19wbV9yZXNldCh2ZGV2LT52YmFzZWRldi5uYW1lKTsKK0BAIC0yMzA0 LDcgKzIzMzgsOCBAQCBzdGF0aWMgdm9pZCB2ZmlvX2NoZWNrX3BtX3Jlc2V0KFZGSU9QQ0lEZXZp Y2UgKnZkZXYsIHVpbnQ4X3QgcG9zKQorIAorIHN0YXRpYyB2b2lkIHZmaW9fY2hlY2tfYWZfZmxy KFZGSU9QQ0lEZXZpY2UgKnZkZXYsIHVpbnQ4X3QgcG9zKQorIHsKKy0gICAgdWludDhfdCBjYXAg PSBwY2lfZ2V0X2J5dGUodmRldi0+cGRldi5jb25maWcgKyBwb3MgKyBQQ0lfQUZfQ0FQKTsKKysg ICAgUENJRGV2aWNlICpwZGV2ID0gUENJX0RFVklDRSh2ZGV2KTsKKysgICAgdWludDhfdCBjYXAg PSBwY2lfZ2V0X2J5dGUocGRldi0+Y29uZmlnICsgcG9zICsgUENJX0FGX0NBUCk7CisgCisgICAg IGlmICgoY2FwICYgUENJX0FGX0NBUF9UUCkgJiYgKGNhcCAmIFBDSV9BRl9DQVBfRkxSKSkgewor ICAgICAgICAgdHJhY2VfdmZpb19jaGVja19hZl9mbHIodmRldi0+dmJhc2VkZXYubmFtZSk7CitA QCAtMjMxNSw3ICsyMzUwLDcgQEAgc3RhdGljIHZvaWQgdmZpb19jaGVja19hZl9mbHIoVkZJT1BD SURldmljZSAqdmRldiwgdWludDhfdCBwb3MpCisgc3RhdGljIGJvb2wgdmZpb19hZGRfdmVuZG9y X3NwZWNpZmljX2NhcChWRklPUENJRGV2aWNlICp2ZGV2LCBpbnQgcG9zLAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDhfdCBzaXplLCBFcnJvciAqKmVycnAp CisgeworLSAgICBQQ0lEZXZpY2UgKnBkZXYgPSAmdmRldi0+cGRldjsKKysgICAgUENJRGV2aWNl ICpwZGV2ID0gUENJX0RFVklDRSh2ZGV2KTsKKyAKKyAgICAgcG9zID0gcGNpX2FkZF9jYXBhYmls aXR5KHBkZXYsIFBDSV9DQVBfSURfVk5EUiwgcG9zLCBzaXplLCBlcnJwKTsKKyAgICAgaWYgKHBv cyA8IDApIHsKK0BAIC0yMzM3LDcgKzIzNzIsNyBAQCBzdGF0aWMgYm9vbCB2ZmlvX2FkZF92ZW5k b3Jfc3BlY2lmaWNfY2FwKFZGSU9QQ0lEZXZpY2UgKnZkZXYsIGludCBwb3MsCisgc3RhdGljIGJv b2wgdmZpb19hZGRfc3RkX2NhcChWRklPUENJRGV2aWNlICp2ZGV2LCB1aW50OF90IHBvcywgRXJy b3IgKiplcnJwKQorIHsKKyAgICAgRVJSUF9HVUFSRCgpOworLSAgICBQQ0lEZXZpY2UgKnBkZXYg PSAmdmRldi0+cGRldjsKKysgICAgUENJRGV2aWNlICpwZGV2ID0gUENJX0RFVklDRSh2ZGV2KTsK KyAgICAgdWludDhfdCBjYXBfaWQsIG5leHQsIHNpemU7CisgICAgIGJvb2wgcmV0OworIAorQEAg LTI0MjMsMTcgKzI0NTgsMTggQEAgc3RhdGljIGJvb2wgdmZpb19hZGRfc3RkX2NhcChWRklPUENJ RGV2aWNlICp2ZGV2LCB1aW50OF90IHBvcywgRXJyb3IgKiplcnJwKQorIAorIHN0YXRpYyBpbnQg dmZpb19zZXR1cF9yZWJhcl9lY2FwKFZGSU9QQ0lEZXZpY2UgKnZkZXYsIHVpbnQxNl90IHBvcykK KyB7CisrICAgIFBDSURldmljZSAqcGRldiA9IFBDSV9ERVZJQ0UodmRldik7CisgICAgIHVpbnQz Ml90IGN0cmw7CisgICAgIGludCBpLCBuYmFyOworIAorLSAgICBjdHJsID0gcGNpX2dldF9sb25n KHZkZXYtPnBkZXYuY29uZmlnICsgcG9zICsgUENJX1JFQkFSX0NUUkwpOworKyAgICBjdHJsID0g cGNpX2dldF9sb25nKHBkZXYtPmNvbmZpZyArIHBvcyArIFBDSV9SRUJBUl9DVFJMKTsKKyAgICAg bmJhciA9IChjdHJsICYgUENJX1JFQkFSX0NUUkxfTkJBUl9NQVNLKSA+PiBQQ0lfUkVCQVJfQ1RS TF9OQkFSX1NISUZUOworIAorICAgICBmb3IgKGkgPSAwOyBpIDwgbmJhcjsgaSsrKSB7CisgICAg ICAgICB1aW50MzJfdCBjYXA7CisgICAgICAgICBpbnQgc2l6ZTsKKyAKKy0gICAgICAgIGN0cmwg PSBwY2lfZ2V0X2xvbmcodmRldi0+cGRldi5jb25maWcgKyBwb3MgKyBQQ0lfUkVCQVJfQ1RSTCAr IChpICogOCkpOworKyAgICAgICAgY3RybCA9IHBjaV9nZXRfbG9uZyhwZGV2LT5jb25maWcgKyBw b3MgKyBQQ0lfUkVCQVJfQ1RSTCArIChpICogOCkpOworICAgICAgICAgc2l6ZSA9IChjdHJsICYg UENJX1JFQkFSX0NUUkxfQkFSX1NJWkUpID4+IFBDSV9SRUJBUl9DVFJMX0JBUl9TSElGVDsKKyAK KyAgICAgICAgIC8qIFRoZSBjYXAgcmVnaXN0ZXIgcmVwb3J0cyBzaXplcyAxTUIgdG8gMTI4VEIs IHdpdGggNCByZXNlcnZlZCBiaXRzICovCitAQCAtMjQ3MSw3ICsyNTA3LDcgQEAgc3RhdGljIGlu dCB2ZmlvX3NldHVwX3JlYmFyX2VjYXAoVkZJT1BDSURldmljZSAqdmRldiwgdWludDE2X3QgcG9z KQorIAorIHN0YXRpYyB2b2lkIHZmaW9fYWRkX2V4dF9jYXAoVkZJT1BDSURldmljZSAqdmRldikK KyB7CistICAgIFBDSURldmljZSAqcGRldiA9ICZ2ZGV2LT5wZGV2OworKyAgICBQQ0lEZXZpY2Ug KnBkZXYgPSBQQ0lfREVWSUNFKHZkZXYpOworICAgICB1aW50MzJfdCBoZWFkZXI7CisgICAgIHVp bnQxNl90IGNhcF9pZCwgbmV4dCwgc2l6ZTsKKyAgICAgdWludDhfdCBjYXBfdmVyOworQEAgLTI1 NjUsNyArMjYwMSw3IEBAIHN0YXRpYyB2b2lkIHZmaW9fYWRkX2V4dF9jYXAoVkZJT1BDSURldmlj ZSAqdmRldikKKyAKKyBib29sIHZmaW9fcGNpX2FkZF9jYXBhYmlsaXRpZXMoVkZJT1BDSURldmlj ZSAqdmRldiwgRXJyb3IgKiplcnJwKQorIHsKKy0gICAgUENJRGV2aWNlICpwZGV2ID0gJnZkZXYt PnBkZXY7CisrICAgIFBDSURldmljZSAqcGRldiA9IFBDSV9ERVZJQ0UodmRldik7CisgCisgICAg IGlmICghKHBkZXYtPmNvbmZpZ1tQQ0lfU1RBVFVTXSAmIFBDSV9TVEFUVVNfQ0FQX0xJU1QpIHx8 CisgICAgICAgICAhcGRldi0+Y29uZmlnW1BDSV9DQVBBQklMSVRZX0xJU1RdKSB7CitAQCAtMjU4 Miw3ICsyNjE4LDcgQEAgYm9vbCB2ZmlvX3BjaV9hZGRfY2FwYWJpbGl0aWVzKFZGSU9QQ0lEZXZp Y2UgKnZkZXYsIEVycm9yICoqZXJycCkKKyAKKyB2b2lkIHZmaW9fcGNpX3ByZV9yZXNldChWRklP UENJRGV2aWNlICp2ZGV2KQorIHsKKy0gICAgUENJRGV2aWNlICpwZGV2ID0gJnZkZXYtPnBkZXY7 CisrICAgIFBDSURldmljZSAqcGRldiA9IFBDSV9ERVZJQ0UodmRldik7CisgICAgIHVpbnQxNl90 IGNtZDsKKyAKKyAgICAgdmZpb19kaXNhYmxlX2ludGVycnVwdHModmRldik7CitAQCAtMjc5OSw3 ICsyODM1LDcgQEAgc3RhdGljIGludCB2ZmlvX3BjaV9zYXZlX2NvbmZpZyhWRklPRGV2aWNlICp2 YmFzZWRldiwgUUVNVUZpbGUgKmYsIEVycm9yICoqZXJycCkKKyBzdGF0aWMgaW50IHZmaW9fcGNp X2xvYWRfY29uZmlnKFZGSU9EZXZpY2UgKnZiYXNlZGV2LCBRRU1VRmlsZSAqZikKKyB7CisgICAg IFZGSU9QQ0lEZXZpY2UgKnZkZXYgPSBjb250YWluZXJfb2YodmJhc2VkZXYsIFZGSU9QQ0lEZXZp Y2UsIHZiYXNlZGV2KTsKKy0gICAgUENJRGV2aWNlICpwZGV2ID0gJnZkZXYtPnBkZXY7CisrICAg IFBDSURldmljZSAqcGRldiA9IFBDSV9ERVZJQ0UodmRldik7CisgICAgIHBjaWJ1c190IG9sZF9h ZGRyW1BDSV9OVU1fUkVHSU9OUyAtIDFdOworICAgICBpbnQgYmFyLCByZXQ7CisgCitAQCAtMjg0 Nyw3ICsyODgzLDcgQEAgVkZJT1BDSURldmljZSAqdmZpb19wY2lfZnJvbV92ZmlvX2RldmljZShW RklPRGV2aWNlICp2YmFzZWRldikKKyAKKyB2b2lkIHZmaW9fc3ViX3BhZ2VfYmFyX3VwZGF0ZV9t YXBwaW5ncyhWRklPUENJRGV2aWNlICp2ZGV2KQorIHsKKy0gICAgUENJRGV2aWNlICpwZGV2ID0g JnZkZXYtPnBkZXY7CisrICAgIFBDSURldmljZSAqcGRldiA9IFBDSV9ERVZJQ0UodmRldik7Cisg ICAgIGludCBwYWdlX3NpemUgPSBxZW11X3JlYWxfaG9zdF9wYWdlX3NpemUoKTsKKyAgICAgaW50 IGJhcjsKKyAKK0BAIC0yOTMxLDYgKzI5NjcsNyBAQCBib29sIHZmaW9fcG9wdWxhdGVfdmdhKFZG SU9QQ0lEZXZpY2UgKnZkZXYsIEVycm9yICoqZXJycCkKKyAKKyBib29sIHZmaW9fcGNpX3BvcHVs YXRlX2RldmljZShWRklPUENJRGV2aWNlICp2ZGV2LCBFcnJvciAqKmVycnApCisgeworKyAgICBQ Q0lEZXZpY2UgKnBkZXYgPSBQQ0lfREVWSUNFKHZkZXYpOworICAgICBWRklPRGV2aWNlICp2YmFz ZWRldiA9ICZ2ZGV2LT52YmFzZWRldjsKKyAgICAgc3RydWN0IHZmaW9fcmVnaW9uX2luZm8gKnJl Z19pbmZvID0gTlVMTDsKKyAgICAgc3RydWN0IHZmaW9faXJxX2luZm8gaXJxX2luZm87CitAQCAt Mjk4Miw3ICszMDE5LDcgQEAgYm9vbCB2ZmlvX3BjaV9wb3B1bGF0ZV9kZXZpY2UoVkZJT1BDSURl dmljZSAqdmRldiwgRXJyb3IgKiplcnJwKQorIAorICAgICB2ZGV2LT5jb25maWdfc2l6ZSA9IHJl Z19pbmZvLT5zaXplOworICAgICBpZiAodmRldi0+Y29uZmlnX3NpemUgPT0gUENJX0NPTkZJR19T UEFDRV9TSVpFKSB7CistICAgICAgICB2ZGV2LT5wZGV2LmNhcF9wcmVzZW50ICY9IH5RRU1VX1BD SV9DQVBfRVhQUkVTUzsKKysgICAgICAgIHBkZXYtPmNhcF9wcmVzZW50ICY9IH5RRU1VX1BDSV9D QVBfRVhQUkVTUzsKKyAgICAgfQorICAgICB2ZGV2LT5jb25maWdfb2Zmc2V0ID0gcmVnX2luZm8t Pm9mZnNldDsKKyAKK0BAIC0zMTg2LDI1ICszMjIzLDI2IEBAIHN0YXRpYyB2b2lkIHZmaW9fdW5y ZWdpc3Rlcl9yZXFfbm90aWZpZXIoVkZJT1BDSURldmljZSAqdmRldikKKyAKKyB2b2lkIHZmaW9f cGNpX2NvbmZpZ19yZWdpc3Rlcl92Z2EoVkZJT1BDSURldmljZSAqdmRldikKKyB7CisrICAgIFBD SURldmljZSAqcGRldiA9IFBDSV9ERVZJQ0UodmRldik7CisgICAgIGFzc2VydCh2ZGV2LT52Z2Eg IT0gTlVMTCk7CisgCistICAgIHBjaV9yZWdpc3Rlcl92Z2EoJnZkZXYtPnBkZXYsICZ2ZGV2LT52 Z2EtPnJlZ2lvbltRRU1VX1BDSV9WR0FfTUVNXS5tZW0sCisrICAgIHBjaV9yZWdpc3Rlcl92Z2Eo cGRldiwgJnZkZXYtPnZnYS0+cmVnaW9uW1FFTVVfUENJX1ZHQV9NRU1dLm1lbSwKKyAgICAgICAg ICAgICAgICAgICAgICAmdmRldi0+dmdhLT5yZWdpb25bUUVNVV9QQ0lfVkdBX0lPX0xPXS5tZW0s CisgICAgICAgICAgICAgICAgICAgICAgJnZkZXYtPnZnYS0+cmVnaW9uW1FFTVVfUENJX1ZHQV9J T19ISV0ubWVtKTsKKyB9CisgCisgYm9vbCB2ZmlvX3BjaV9jb25maWdfc2V0dXAoVkZJT1BDSURl dmljZSAqdmRldiwgRXJyb3IgKiplcnJwKQorIHsKKy0gICAgUENJRGV2aWNlICpwZGV2ID0gJnZk ZXYtPnBkZXY7CisrICAgIFBDSURldmljZSAqcGRldiA9IFBDSV9ERVZJQ0UodmRldik7CisgICAg IFZGSU9EZXZpY2UgKnZiYXNlZGV2ID0gJnZkZXYtPnZiYXNlZGV2OworICAgICB1aW50MzJfdCBj b25maWdfc3BhY2Vfc2l6ZTsKKyAgICAgaW50IHJldDsKKyAKKy0gICAgY29uZmlnX3NwYWNlX3Np emUgPSBNSU4ocGNpX2NvbmZpZ19zaXplKCZ2ZGV2LT5wZGV2KSwgdmRldi0+Y29uZmlnX3NpemUp OworKyAgICBjb25maWdfc3BhY2Vfc2l6ZSA9IE1JTihwY2lfY29uZmlnX3NpemUocGRldiksIHZk ZXYtPmNvbmZpZ19zaXplKTsKKyAKKyAgICAgLyogR2V0IGEgY29weSBvZiBjb25maWcgc3BhY2Ug Ki8KKyAgICAgcmV0ID0gdmZpb19wY2lfY29uZmlnX3NwYWNlX3JlYWQodmRldiwgMCwgY29uZmln X3NwYWNlX3NpemUsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZkZXYt PnBkZXYuY29uZmlnKTsKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGRl di0+Y29uZmlnKTsKKyAgICAgaWYgKHJldCA8IChpbnQpY29uZmlnX3NwYWNlX3NpemUpIHsKKyAg ICAgICAgIHJldCA9IHJldCA8IDAgPyAtcmV0IDogRUZBVUxUOworICAgICAgICAgZXJyb3Jfc2V0 Z19lcnJubyhlcnJwLCByZXQsICJmYWlsZWQgdG8gcmVhZCBkZXZpY2UgY29uZmlnIHNwYWNlIik7 CitAQCAtMzI4OSwxMCArMzMyNywxMCBAQCBib29sIHZmaW9fcGNpX2NvbmZpZ19zZXR1cChWRklP UENJRGV2aWNlICp2ZGV2LCBFcnJvciAqKmVycnApCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFBDSV9IRUFERVJfVFlQRV9NVUxUSV9GVU5DVElPTjsKKyAK KyAgICAgLyogUmVzdG9yZSBvciBjbGVhciBtdWx0aWZ1bmN0aW9uLCB0aGlzIGlzIGFsd2F5cyBj b250cm9sbGVkIGJ5IFFFTVUgKi8KKy0gICAgaWYgKHZkZXYtPnBkZXYuY2FwX3ByZXNlbnQgJiBR RU1VX1BDSV9DQVBfTVVMVElGVU5DVElPTikgeworLSAgICAgICAgdmRldi0+cGRldi5jb25maWdb UENJX0hFQURFUl9UWVBFXSB8PSBQQ0lfSEVBREVSX1RZUEVfTVVMVElfRlVOQ1RJT047CisrICAg IGlmIChwZGV2LT5jYXBfcHJlc2VudCAmIFFFTVVfUENJX0NBUF9NVUxUSUZVTkNUSU9OKSB7Cisr ICAgICAgICBwZGV2LT5jb25maWdbUENJX0hFQURFUl9UWVBFXSB8PSBQQ0lfSEVBREVSX1RZUEVf TVVMVElfRlVOQ1RJT047CisgICAgIH0gZWxzZSB7CistICAgICAgICB2ZGV2LT5wZGV2LmNvbmZp Z1tQQ0lfSEVBREVSX1RZUEVdICY9IH5QQ0lfSEVBREVSX1RZUEVfTVVMVElfRlVOQ1RJT047Cisr ICAgICAgICBwZGV2LT5jb25maWdbUENJX0hFQURFUl9UWVBFXSAmPSB+UENJX0hFQURFUl9UWVBF X01VTFRJX0ZVTkNUSU9OOworICAgICB9CisgCisgICAgIC8qCitAQCAtMzMwMCw4ICszMzM4LDgg QEAgYm9vbCB2ZmlvX3BjaV9jb25maWdfc2V0dXAoVkZJT1BDSURldmljZSAqdmRldiwgRXJyb3Ig KiplcnJwKQorICAgICAgKiBCQVIsIHN1Y2ggYXMgbWlnaHQgYmUgdGhlIGNhc2Ugd2l0aCB0aGUg b3B0aW9uIFJPTSwgd2UgY2FuIGdldAorICAgICAgKiBjb25mdXNpbmcsIHVud3JpdGFibGUsIHJl c2lkdWFsIGFkZHJlc3NlcyBmcm9tIHRoZSBob3N0IGhlcmUuCisgICAgICAqLworLSAgICBtZW1z ZXQoJnZkZXYtPnBkZXYuY29uZmlnW1BDSV9CQVNFX0FERFJFU1NfMF0sIDAsIDI0KTsKKy0gICAg bWVtc2V0KCZ2ZGV2LT5wZGV2LmNvbmZpZ1tQQ0lfUk9NX0FERFJFU1NdLCAwLCA0KTsKKysgICAg bWVtc2V0KCZwZGV2LT5jb25maWdbUENJX0JBU0VfQUREUkVTU18wXSwgMCwgMjQpOworKyAgICBt ZW1zZXQoJnBkZXYtPmNvbmZpZ1tQQ0lfUk9NX0FERFJFU1NdLCAwLCA0KTsKKyAKKyAgICAgdmZp b19wY2lfc2l6ZV9yb20odmRldik7CisgCitAQCAtMzMyMiw3ICszMzYwLDcgQEAgYm9vbCB2Zmlv X3BjaV9jb25maWdfc2V0dXAoVkZJT1BDSURldmljZSAqdmRldiwgRXJyb3IgKiplcnJwKQorIAor IGJvb2wgdmZpb19wY2lfaW50ZXJydXB0X3NldHVwKFZGSU9QQ0lEZXZpY2UgKnZkZXYsIEVycm9y ICoqZXJycCkKKyB7CistICAgIFBDSURldmljZSAqcGRldiA9ICZ2ZGV2LT5wZGV2OworKyAgICBQ Q0lEZXZpY2UgKnBkZXYgPSBQQ0lfREVWSUNFKHZkZXYpOworIAorICAgICAvKiBRRU1VIGVtdWxh dGVzIGFsbCBvZiBNU0kgJiBNU0lYICovCisgICAgIGlmIChwZGV2LT5jYXBfcHJlc2VudCAmIFFF TVVfUENJX0NBUF9NU0lYKSB7CitAQCAtMzMzNSwxMCArMzM3MywxMCBAQCBib29sIHZmaW9fcGNp X2ludGVycnVwdF9zZXR1cChWRklPUENJRGV2aWNlICp2ZGV2LCBFcnJvciAqKmVycnApCisgICAg ICAgICAgICAgICAgdmRldi0+bXNpX2NhcF9zaXplKTsKKyAgICAgfQorIAorLSAgICBpZiAodmZp b19wY2lfcmVhZF9jb25maWcoJnZkZXYtPnBkZXYsIFBDSV9JTlRFUlJVUFRfUElOLCAxKSkgewor KyAgICBpZiAodmZpb19wY2lfcmVhZF9jb25maWcocGRldiwgUENJX0lOVEVSUlVQVF9QSU4sIDEp KSB7CisgICAgICAgICB2ZGV2LT5pbnR4Lm1tYXBfdGltZXIgPSB0aW1lcl9uZXdfbXMoUUVNVV9D TE9DS19WSVJUVUFMLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHZmaW9faW50eF9tbWFwX2VuYWJsZSwgdmRldik7CistICAgICAgICBwY2lfZGV2aWNlX3Nl dF9pbnR4X3JvdXRpbmdfbm90aWZpZXIoJnZkZXYtPnBkZXYsCisrICAgICAgICBwY2lfZGV2aWNl X3NldF9pbnR4X3JvdXRpbmdfbm90aWZpZXIocGRldiwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB2ZmlvX2ludHhfcm91dGluZ19ub3RpZmllcik7CisgICAg ICAgICB2ZGV2LT5pcnFjaGlwX2NoYW5nZV9ub3RpZmllci5ub3RpZnkgPSB2ZmlvX2lycWNoaXBf Y2hhbmdlOworICAgICAgICAga3ZtX2lycWNoaXBfYWRkX2NoYW5nZV9ub3RpZmllcigmdmRldi0+ aXJxY2hpcF9jaGFuZ2Vfbm90aWZpZXIpOworQEAgLTMzNTAsNyArMzM4OCw3IEBAIGJvb2wgdmZp b19wY2lfaW50ZXJydXB0X3NldHVwKFZGSU9QQ0lEZXZpY2UgKnZkZXYsIEVycm9yICoqZXJycCkK KyAgICAgICAgICAqLworICAgICAgICAgaWYgKCFjcHJfaXNfaW5jb21pbmcoKSAmJiAhdmZpb19p bnR4X2VuYWJsZSh2ZGV2LCBlcnJwKSkgeworICAgICAgICAgICAgIHRpbWVyX2ZyZWUodmRldi0+ aW50eC5tbWFwX3RpbWVyKTsKKy0gICAgICAgICAgICBwY2lfZGV2aWNlX3NldF9pbnR4X3JvdXRp bmdfbm90aWZpZXIoJnZkZXYtPnBkZXYsIE5VTEwpOworKyAgICAgICAgICAgIHBjaV9kZXZpY2Vf c2V0X2ludHhfcm91dGluZ19ub3RpZmllcihwZGV2LCBOVUxMKTsKKyAgICAgICAgICAgICBrdm1f aXJxY2hpcF9yZW1vdmVfY2hhbmdlX25vdGlmaWVyKCZ2ZGV2LT5pcnFjaGlwX2NoYW5nZV9ub3Rp Zmllcik7CisgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgfQorQEAgLTM1MTYs NyArMzU1NCw3IEBAIG91dF9kZXJlZ2lzdGVyOgorICAgICBpZiAodmRldi0+aW50ZXJydXB0ID09 IFZGSU9fSU5UX0lOVHgpIHsKKyAgICAgICAgIHZmaW9faW50eF9kaXNhYmxlKHZkZXYpOworICAg ICB9CistICAgIHBjaV9kZXZpY2Vfc2V0X2ludHhfcm91dGluZ19ub3RpZmllcigmdmRldi0+cGRl diwgTlVMTCk7CisrICAgIHBjaV9kZXZpY2Vfc2V0X2ludHhfcm91dGluZ19ub3RpZmllcihwZGV2 LCBOVUxMKTsKKyAgICAgaWYgKHZkZXYtPmlycWNoaXBfY2hhbmdlX25vdGlmaWVyLm5vdGlmeSkg eworICAgICAgICAga3ZtX2lycWNoaXBfcmVtb3ZlX2NoYW5nZV9ub3RpZmllcigmdmRldi0+aXJx Y2hpcF9jaGFuZ2Vfbm90aWZpZXIpOworICAgICB9CitAQCAtMzU0OCw3ICszNTg2LDcgQEAgc3Rh dGljIHZvaWQgdmZpb19leGl0Zm4oUENJRGV2aWNlICpwZGV2KQorIAorICAgICB2ZmlvX3VucmVn aXN0ZXJfcmVxX25vdGlmaWVyKHZkZXYpOworICAgICB2ZmlvX3VucmVnaXN0ZXJfZXJyX25vdGlm aWVyKHZkZXYpOworLSAgICBwY2lfZGV2aWNlX3NldF9pbnR4X3JvdXRpbmdfbm90aWZpZXIoJnZk ZXYtPnBkZXYsIE5VTEwpOworKyAgICBwY2lfZGV2aWNlX3NldF9pbnR4X3JvdXRpbmdfbm90aWZp ZXIocGRldiwgTlVMTCk7CisgICAgIGlmICh2ZGV2LT5pcnFjaGlwX2NoYW5nZV9ub3RpZmllci5u b3RpZnkpIHsKKyAgICAgICAgIGt2bV9pcnFjaGlwX3JlbW92ZV9jaGFuZ2Vfbm90aWZpZXIoJnZk ZXYtPmlycWNoaXBfY2hhbmdlX25vdGlmaWVyKTsKKyAgICAgfQorLS0gCisyLjUyLjAKKwoKZGlm ZiAtLWdpdCBhL2t2bS12ZmlvLXBjaS5oLXJlbmFtZS1WRklPUENJRGV2aWNlLXBkZXYtZmllbGQt dG8tcGFyZW50LnBhdGNoIGIva3ZtLXZmaW8tcGNpLmgtcmVuYW1lLVZGSU9QQ0lEZXZpY2UtcGRl di1maWVsZC10by1wYXJlbnQucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MC4uNTNhMzdhZgotLS0gL2Rldi9udWxsCisrKyBiL2t2bS12ZmlvLXBjaS5oLXJlbmFtZS1WRklP UENJRGV2aWNlLXBkZXYtZmllbGQtdG8tcGFyZW50LnBhdGNoCkBAIC0wLDAgKzEsNzkgQEAKK0Zy b20gMTQwYzU0ZTk1NmIyODRjYmI5Njg3NGU3ZjAwM2Y3MWQwZTcyNzk4NCBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKK0Zyb206IE1hcmsgQ2F2ZS1BeWxhbmQgPG1hcmsuY2F2ZWF5bGFuZEBudXRh bml4LmNvbT4KK0RhdGU6IFR1ZSwgMTUgSnVsIDIwMjUgMTA6MjY6MDIgKzAxMDAKK1N1YmplY3Q6 IFtQQVRDSCAwNDcvMTE2XSB2ZmlvL3BjaS5oOiByZW5hbWUgVkZJT1BDSURldmljZSBwZGV2IGZp ZWxkIHRvCisgcGFyZW50X29iagorTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4 dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAor CitSSC1BdXRob3I6IFJvZG9sZm8gVmljayA8Tm9uZT4KK1JILU1lcmdlUmVxdWVzdDogNDg2OiBB ZGQgRE1BQlVGIHN1cHBvcnQKK1JILUppcmE6IFJIRUwtMTM4NDk0CitSSC1BY2tlZC1ieTogQ8Op ZHJpYyBMZSBHb2F0ZXIgPGNsZ0ByZWRoYXQuY29tPgorUkgtQWNrZWQtYnk6IEVyaWMgQXVnZXIg PGVyaWMuYXVnZXJAcmVkaGF0LmNvbT4KK1JILUNvbW1pdDogWzMxLzEwMF0gZDhkYzQ4OGNlNGU4 YzJjZGVjOGRiMGYwZTkwNzE1NTEzMTk0YjJiMiAocm92aWNrMS9xZW11LWt2bSkKKworTm93IHRo YXQgbm90aGluZyBhY2Nlc3NlcyB0aGUgcGRldiBmaWVsZCBkaXJlY3RseSwgcmVuYW1lIHBkZXYg dG8KK3BhcmVudF9vYmogYXMgcGVyIG91ciBjdXJyZW50IGNvZGluZyBndWlkZWxpbmVzLgorCitT aWduZWQtb2ZmLWJ5OiBNYXJrIENhdmUtQXlsYW5kIDxtYXJrLmNhdmVheWxhbmRAbnV0YW5peC5j b20+CitSZXZpZXdlZC1ieTogQ8OpZHJpYyBMZSBHb2F0ZXIgPGNsZ0ByZWRoYXQuY29tPgorUmV2 aWV3ZWQtYnk6IFN0ZXZlIFNpc3RhcmUgPHN0ZXZlbi5zaXN0YXJlQG9yYWNsZS5jb20+CitSZXZp ZXdlZC1ieTogUGhpbGlwcGUgTWF0aGlldS1EYXVkw6kgPHBoaWxtZEBsaW5hcm8ub3JnPgorTGlu azogaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvcWVtdS1kZXZlbC8yMDI1MDcxNTA5MzExMC4xMDcz MTctMjMtbWFyay5jYXZlYXlsYW5kQG51dGFuaXguY29tCitTaWduZWQtb2ZmLWJ5OiBDw6lkcmlj IExlIEdvYXRlciA8Y2xnQHJlZGhhdC5jb20+CisoY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCBi Yjk4Njc5MmE5NjhlZTUxY2RhNzJjZDRjYzA1ODIyMTk4NDk1Mzc1KQorU2lnbmVkLW9mZi1ieTog RXJpYyBBdWdlciA8ZXJpYy5hdWdlckByZWRoYXQuY29tPgorLS0tCisgaHcvdmZpby9jcHIuYyB8 IDQgKystLQorIGh3L3ZmaW8vcGNpLmMgfCA0ICsrLS0KKyBody92ZmlvL3BjaS5oIHwgMiArLQor IDMgZmlsZXMgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQorCitkaWZm IC0tZ2l0IGEvaHcvdmZpby9jcHIuYyBiL2h3L3ZmaW8vY3ByLmMKK2luZGV4IGY5MTE5ODhhZGQu LjJjNzFmYzFlOGUgMTAwNjQ0CistLS0gYS9ody92ZmlvL2Nwci5jCisrKysgYi9ody92ZmlvL2Nw ci5jCitAQCAtMTczLDggKzE3Myw4IEBAIGNvbnN0IFZNU3RhdGVEZXNjcmlwdGlvbiB2ZmlvX2Nw cl9wY2lfdm1zdGF0ZSA9IHsKKyAgICAgLnBvc3RfbG9hZCA9IHZmaW9fY3ByX3BjaV9wb3N0X2xv YWQsCisgICAgIC5uZWVkZWQgPSBjcHJfaW5jb21pbmdfbmVlZGVkLAorICAgICAuZmllbGRzID0g KFZNU3RhdGVGaWVsZFtdKSB7CistICAgICAgICBWTVNUQVRFX1BDSV9ERVZJQ0UocGRldiwgVkZJ T1BDSURldmljZSksCistICAgICAgICBWTVNUQVRFX01TSVhfVEVTVChwZGV2LCBWRklPUENJRGV2 aWNlLCBwY2lfbXNpeF9wcmVzZW50KSwKKysgICAgICAgIFZNU1RBVEVfUENJX0RFVklDRShwYXJl bnRfb2JqLCBWRklPUENJRGV2aWNlKSwKKysgICAgICAgIFZNU1RBVEVfTVNJWF9URVNUKHBhcmVu dF9vYmosIFZGSU9QQ0lEZXZpY2UsIHBjaV9tc2l4X3ByZXNlbnQpLAorICAgICAgICAgVk1TVEFU RV9WRklPX0lOVFgoaW50eCwgVkZJT1BDSURldmljZSksCisgICAgICAgICBWTVNUQVRFX0VORF9P Rl9MSVNUKCkKKyAgICAgfQorZGlmZiAtLWdpdCBhL2h3L3ZmaW8vcGNpLmMgYi9ody92ZmlvL3Bj aS5jCitpbmRleCA4NTI1YTg2NDBlLi5kOWNkZDkwZWE1IDEwMDY0NAorLS0tIGEvaHcvdmZpby9w Y2kuYworKysrIGIvaHcvdmZpby9wY2kuYworQEAgLTI4MTQsOCArMjgxNCw4IEBAIHN0YXRpYyBj b25zdCBWTVN0YXRlRGVzY3JpcHRpb24gdm1zdGF0ZV92ZmlvX3BjaV9jb25maWcgPSB7CisgICAg IC52ZXJzaW9uX2lkID0gMSwKKyAgICAgLm1pbmltdW1fdmVyc2lvbl9pZCA9IDEsCisgICAgIC5m aWVsZHMgPSAoY29uc3QgVk1TdGF0ZUZpZWxkW10pIHsKKy0gICAgICAgIFZNU1RBVEVfUENJX0RF VklDRShwZGV2LCBWRklPUENJRGV2aWNlKSwKKy0gICAgICAgIFZNU1RBVEVfTVNJWF9URVNUKHBk ZXYsIFZGSU9QQ0lEZXZpY2UsIHZmaW9fbXNpeF9wcmVzZW50KSwKKysgICAgICAgIFZNU1RBVEVf UENJX0RFVklDRShwYXJlbnRfb2JqLCBWRklPUENJRGV2aWNlKSwKKysgICAgICAgIFZNU1RBVEVf TVNJWF9URVNUKHBhcmVudF9vYmosIFZGSU9QQ0lEZXZpY2UsIHZmaW9fbXNpeF9wcmVzZW50KSwK KyAgICAgICAgIFZNU1RBVEVfRU5EX09GX0xJU1QoKQorICAgICB9LAorICAgICAuc3Vic2VjdGlv bnMgPSAoY29uc3QgVk1TdGF0ZURlc2NyaXB0aW9uICogY29uc3QgW10pIHsKK2RpZmYgLS1naXQg YS9ody92ZmlvL3BjaS5oIGIvaHcvdmZpby9wY2kuaAoraW5kZXggMDhiYWI5NzBjYi4uZGQ0MTlm OTE0NyAxMDA2NDQKKy0tLSBhL2h3L3ZmaW8vcGNpLmgKKysrKyBiL2h3L3ZmaW8vcGNpLmgKK0BA IC0xMjMsNyArMTIzLDcgQEAgdHlwZWRlZiBzdHJ1Y3QgVkZJT01TSVhJbmZvIHsKKyBPQkpFQ1Rf REVDTEFSRV9TSU1QTEVfVFlQRShWRklPUENJRGV2aWNlLCBWRklPX1BDSV9CQVNFKQorIAorIHN0 cnVjdCBWRklPUENJRGV2aWNlIHsKKy0gICAgUENJRGV2aWNlIHBkZXY7CisrICAgIFBDSURldmlj ZSBwYXJlbnRfb2JqOworIAorICAgICBWRklPRGV2aWNlIHZiYXNlZGV2OworICAgICBWRklPSU5U eCBpbnR4OworLS0gCisyLjUyLjAKKwoKZGlmZiAtLWdpdCBhL2t2bS12ZmlvLXBjaS5oLXVwZGF0 ZS1WRklPUENJRGV2aWNlLWRlY2xhcmF0aW9uLnBhdGNoIGIva3ZtLXZmaW8tcGNpLmgtdXBkYXRl LVZGSU9QQ0lEZXZpY2UtZGVjbGFyYXRpb24ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMC4uNTZlZWI3YgotLS0gL2Rldi9udWxsCisrKyBiL2t2bS12ZmlvLXBjaS5oLXVw ZGF0ZS1WRklPUENJRGV2aWNlLWRlY2xhcmF0aW9uLnBhdGNoCkBAIC0wLDAgKzEsNDQgQEAKK0Zy b20gNDljNDcyMDFiODA0NTk2YWJkMDdhMDE1NDA4NzNjZjg4MThkMDA0OSBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKK0Zyb206IE1hcmsgQ2F2ZS1BeWxhbmQgPG1hcmsuY2F2ZWF5bGFuZEBudXRh bml4LmNvbT4KK0RhdGU6IFR1ZSwgMTUgSnVsIDIwMjUgMTA6MjU6NTQgKzAxMDAKK1N1YmplY3Q6 IFtQQVRDSCAwNDEvMTE2XSB2ZmlvL3BjaS5oOiB1cGRhdGUgVkZJT1BDSURldmljZSBkZWNsYXJh dGlvbgorTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNl dD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorCitSSC1BdXRob3I6IFJv ZG9sZm8gVmljayA8Tm9uZT4KK1JILU1lcmdlUmVxdWVzdDogNDg2OiBBZGQgRE1BQlVGIHN1cHBv cnQKK1JILUppcmE6IFJIRUwtMTM4NDk0CitSSC1BY2tlZC1ieTogQ8OpZHJpYyBMZSBHb2F0ZXIg PGNsZ0ByZWRoYXQuY29tPgorUkgtQWNrZWQtYnk6IEVyaWMgQXVnZXIgPGVyaWMuYXVnZXJAcmVk aGF0LmNvbT4KK1JILUNvbW1pdDogWzI1LzEwMF0gZDhlZDNiM2RkYjQxNWI1ZDc3N2JiZDkyOGJh MjAxNGM0ZjFhZDhkNiAocm92aWNrMS9xZW11LWt2bSkKKworVXBkYXRlIHRoZSBWRklPUENJRGV2 aWNlIGRlY2xhcmF0aW9uIHNvIHRoYXQgaXQgaXMgY2xvc2VyIHRvIG91ciBjb2RpbmcKK2d1aWRl bGluZXM6IGFkZCBhIGJsYW5rIGxpbmUgYWZ0ZXIgdGhlIHBhcmVudCBvYmplY3QuCisKK1NpZ25l ZC1vZmYtYnk6IE1hcmsgQ2F2ZS1BeWxhbmQgPG1hcmsuY2F2ZWF5bGFuZEBudXRhbml4LmNvbT4K K1Jldmlld2VkLWJ5OiBDw6lkcmljIExlIEdvYXRlciA8Y2xnQHJlZGhhdC5jb20+CitSZXZpZXdl ZC1ieTogUGhpbGlwcGUgTWF0aGlldS1EYXVkw6kgPHBoaWxtZEBsaW5hcm8ub3JnPgorTGluazog aHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvcWVtdS1kZXZlbC8yMDI1MDcxNTA5MzExMC4xMDczMTct MTUtbWFyay5jYXZlYXlsYW5kQG51dGFuaXguY29tCitTaWduZWQtb2ZmLWJ5OiBDw6lkcmljIExl IEdvYXRlciA8Y2xnQHJlZGhhdC5jb20+CisoY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCA3NTBl NDI0ZmQwNDMxMWFhZWViODU1MzY3NDRjNGNkM2U0NjA0MDRkKQorU2lnbmVkLW9mZi1ieTogRXJp YyBBdWdlciA8ZXJpYy5hdWdlckByZWRoYXQuY29tPgorLS0tCisgaHcvdmZpby9wY2kuaCB8IDEg KworIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKQorCitkaWZmIC0tZ2l0IGEvaHcvdmZp by9wY2kuaCBiL2h3L3ZmaW8vcGNpLmgKK2luZGV4IGUzYWIzZmUxZjcuLjA4YmFiOTcwY2IgMTAw NjQ0CistLS0gYS9ody92ZmlvL3BjaS5oCisrKysgYi9ody92ZmlvL3BjaS5oCitAQCAtMTI0LDYg KzEyNCw3IEBAIE9CSkVDVF9ERUNMQVJFX1NJTVBMRV9UWVBFKFZGSU9QQ0lEZXZpY2UsIFZGSU9f UENJX0JBU0UpCisgCisgc3RydWN0IFZGSU9QQ0lEZXZpY2UgeworICAgICBQQ0lEZXZpY2UgcGRl djsKKysKKyAgICAgVkZJT0RldmljZSB2YmFzZWRldjsKKyAgICAgVkZJT0lOVHggaW50eDsKKyAg ICAgdW5zaWduZWQgaW50IGNvbmZpZ19zaXplOworLS0gCisyLjUyLjAKKwoKZGlmZiAtLWdpdCBh L2t2bS12ZmlvLXNjc2ktdWktRXJyb3ItY2hlY2stcWlvX2NoYW5uZWxfc29ja2V0X2Nvbm5lY3Rf LnBhdGNoIGIva3ZtLXZmaW8tc2NzaS11aS1FcnJvci1jaGVjay1xaW9fY2hhbm5lbF9zb2NrZXRf Y29ubmVjdF8ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGE2OTE3 OAotLS0gL2Rldi9udWxsCisrKyBiL2t2bS12ZmlvLXNjc2ktdWktRXJyb3ItY2hlY2stcWlvX2No YW5uZWxfc29ja2V0X2Nvbm5lY3RfLnBhdGNoCkBAIC0wLDAgKzEsMTAwIEBACitGcm9tIDQ4MWEw YzkxZTAwNDg3M2ZkNWQyOGJjODJiYmUxMWViYmEyOTAxZjkgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCitGcm9tOiBNYXJrdXMgQXJtYnJ1c3RlciA8YXJtYnJ1QHJlZGhhdC5jb20+CitEYXRlOiBX ZWQsIDIzIEp1bCAyMDI1IDE1OjMyOjU3ICswMjAwCitTdWJqZWN0OiBbUEFUQ0ggMDE4LzExNl0g dmZpbyBzY3NpIHVpOiBFcnJvci1jaGVjaworIHFpb19jaGFubmVsX3NvY2tldF9jb25uZWN0X3N5 bmMoKSB0aGUgc2FtZSB3YXkKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQv cGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKwor UkgtQXV0aG9yOiBSb2RvbGZvIFZpY2sgPE5vbmU+CitSSC1NZXJnZVJlcXVlc3Q6IDQ4NjogQWRk IERNQUJVRiBzdXBwb3J0CitSSC1KaXJhOiBSSEVMLTEzODQ5NAorUkgtQWNrZWQtYnk6IEPDqWRy aWMgTGUgR29hdGVyIDxjbGdAcmVkaGF0LmNvbT4KK1JILUFja2VkLWJ5OiBFcmljIEF1Z2VyIDxl cmljLmF1Z2VyQHJlZGhhdC5jb20+CitSSC1Db21taXQ6IFsyLzEwMF0gZjYxZGQ2ZTEwZWY2ZmY3 YjE0M2ZkNTlhMTU1MGI2MjIzN2JhMGFjNiAocm92aWNrMS9xZW11LWt2bSkKKworcWlvX2NoYW5u ZWxfc29ja2V0X2Nvbm5lY3Rfc3luYygpIHJldHVybnMgMCBvbiBzdWNjZXNzLCBhbmQgLTEgb24K K2ZhaWx1cmUsIHdpdGggZXJycCBzZXQuICBTb21lIGNhbGxlcnMgY2hlY2sgdGhlIHJldHVybiB2 YWx1ZSwgYW5kIHNvbWUKK2NoZWNrIHdoZXRoZXIgZXJycCB3YXMgc2V0LgorCitGb3IgY29uc2lz dGVuY3ksIGFsd2F5cyBjaGVjayB0aGUgcmV0dXJuIHZhbHVlLCBhbmQgYWx3YXlzIGNoZWNrIGl0 J3MKK25lZ2F0aXZlLgorCitTaWduZWQtb2ZmLWJ5OiBNYXJrdXMgQXJtYnJ1c3RlciA8YXJtYnJ1 QHJlZGhhdC5jb20+CitNZXNzYWdlLUlEOiA8MjAyNTA3MjMxMzMyNTcuMTQ5NzY0MC0zLWFybWJy dUByZWRoYXQuY29tPgorUmV2aWV3ZWQtYnk6IFpoYW8gTGl1IDx6aGFvMS5saXVAaW50ZWwuY29t PgorKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgZWMxNGEzZGU2MjJhZTMwYThhZmE3OGI2ZjU2 NGJjNzQzYjc1M2VlMSkKK1NpZ25lZC1vZmYtYnk6IEVyaWMgQXVnZXIgPGVyaWMuYXVnZXJAcmVk aGF0LmNvbT4KKy0tLQorIGh3L3ZmaW8tdXNlci9wcm94eS5jICAgICB8IDIgKy0KKyBzY3NpL3By LW1hbmFnZXItaGVscGVyLmMgfCA5ICsrLS0tLS0tLQorIHVpL2lucHV0LWJhcnJpZXIuYyAgICAg ICB8IDUgKy0tLS0KKyAzIGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMTIgZGVsZXRp b25zKC0pCisKK2RpZmYgLS1naXQgYS9ody92ZmlvLXVzZXIvcHJveHkuYyBiL2h3L3ZmaW8tdXNl ci9wcm94eS5jCitpbmRleCAyMjc1ZDNmZTM5Li4yYzAzZDQ5Zjk3IDEwMDY0NAorLS0tIGEvaHcv dmZpby11c2VyL3Byb3h5LmMKKysrKyBiL2h3L3ZmaW8tdXNlci9wcm94eS5jCitAQCAtODg1LDcg Kzg4NSw3IEBAIFZGSU9Vc2VyUHJveHkgKnZmaW9fdXNlcl9jb25uZWN0X2RldihTb2NrZXRBZGRy ZXNzICphZGRyLCBFcnJvciAqKmVycnApCisgCisgICAgIHNpb2MgPSBxaW9fY2hhbm5lbF9zb2Nr ZXRfbmV3KCk7CisgICAgIGlvYyA9IFFJT19DSEFOTkVMKHNpb2MpOworLSAgICBpZiAocWlvX2No YW5uZWxfc29ja2V0X2Nvbm5lY3Rfc3luYyhzaW9jLCBhZGRyLCBlcnJwKSkgeworKyAgICBpZiAo cWlvX2NoYW5uZWxfc29ja2V0X2Nvbm5lY3Rfc3luYyhzaW9jLCBhZGRyLCBlcnJwKSA8IDApIHsK KyAgICAgICAgIG9iamVjdF91bnJlZihPQkpFQ1QoaW9jKSk7CisgICAgICAgICByZXR1cm4gTlVM TDsKKyAgICAgfQorZGlmZiAtLWdpdCBhL3Njc2kvcHItbWFuYWdlci1oZWxwZXIuYyBiL3Njc2kv cHItbWFuYWdlci1oZWxwZXIuYworaW5kZXggNmI4NmYwMWIwMS4uYWVhNzUxZmIwNCAxMDA2NDQK Ky0tLSBhL3Njc2kvcHItbWFuYWdlci1oZWxwZXIuYworKysrIGIvc2NzaS9wci1tYW5hZ2VyLWhl bHBlci5jCitAQCAtMTA1LDIwICsxMDUsMTUgQEAgc3RhdGljIGludCBwcl9tYW5hZ2VyX2hlbHBl cl9pbml0aWFsaXplKFBSTWFuYWdlckhlbHBlciAqcHJfbWdyLAorICAgICAgICAgLnUucV91bml4 LnBhdGggPSBwYXRoCisgICAgIH07CisgICAgIFFJT0NoYW5uZWxTb2NrZXQgKnNpb2MgPSBxaW9f Y2hhbm5lbF9zb2NrZXRfbmV3KCk7CistICAgIEVycm9yICpsb2NhbF9lcnIgPSBOVUxMOworLQor ICAgICB1aW50MzJfdCBmbGFnczsKKyAgICAgaW50IHI7CisgCisgICAgIGFzc2VydCghcHJfbWdy LT5pb2MpOworICAgICBxaW9fY2hhbm5lbF9zZXRfbmFtZShRSU9fQ0hBTk5FTChzaW9jKSwgInBy LW1hbmFnZXItaGVscGVyIik7CistICAgIHFpb19jaGFubmVsX3NvY2tldF9jb25uZWN0X3N5bmMo c2lvYywKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmc2FkZHIsCistICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmxvY2FsX2Vycik7CisrICAgIHIgPSBx aW9fY2hhbm5lbF9zb2NrZXRfY29ubmVjdF9zeW5jKHNpb2MsICZzYWRkciwgZXJycCk7CisgICAg IGdfZnJlZShwYXRoKTsKKy0gICAgaWYgKGxvY2FsX2VycikgeworKyAgICBpZiAociA8IDApIHsK KyAgICAgICAgIG9iamVjdF91bnJlZihPQkpFQ1Qoc2lvYykpOworLSAgICAgICAgZXJyb3JfcHJv cGFnYXRlKGVycnAsIGxvY2FsX2Vycik7CisgICAgICAgICByZXR1cm4gLUVOT1RDT05OOworICAg ICB9CisgCitkaWZmIC0tZ2l0IGEvdWkvaW5wdXQtYmFycmllci5jIGIvdWkvaW5wdXQtYmFycmll ci5jCitpbmRleCA5NzkzMjU4YWFjLi4wYTIxOThjYTUwIDEwMDY0NAorLS0tIGEvdWkvaW5wdXQt YmFycmllci5jCisrKysgYi91aS9pbnB1dC1iYXJyaWVyLmMKK0BAIC00OTAsNyArNDkwLDYgQEAg c3RhdGljIGdib29sZWFuIGlucHV0X2JhcnJpZXJfZXZlbnQoUUlPQ2hhbm5lbCAqaW9jIEdfR05V Q19VTlVTRUQsCisgc3RhdGljIHZvaWQgaW5wdXRfYmFycmllcl9jb21wbGV0ZShVc2VyQ3JlYXRh YmxlICp1YywgRXJyb3IgKiplcnJwKQorIHsKKyAgICAgSW5wdXRCYXJyaWVyICppYiA9IElOUFVU X0JBUlJJRVIodWMpOworLSAgICBFcnJvciAqbG9jYWxfZXJyID0gTlVMTDsKKyAKKyAgICAgaWYg KCFpYi0+bmFtZSkgeworICAgICAgICAgZXJyb3Jfc2V0ZyhlcnJwLCBRRVJSX01JU1NJTkdfUEFS QU1FVEVSLCAibmFtZSIpOworQEAgLTUwNiw5ICs1MDUsNyBAQCBzdGF0aWMgdm9pZCBpbnB1dF9i YXJyaWVyX2NvbXBsZXRlKFVzZXJDcmVhdGFibGUgKnVjLCBFcnJvciAqKmVycnApCisgICAgIGli LT5zaW9jID0gcWlvX2NoYW5uZWxfc29ja2V0X25ldygpOworICAgICBxaW9fY2hhbm5lbF9zZXRf bmFtZShRSU9fQ0hBTk5FTChpYi0+c2lvYyksICJiYXJyaWVyLWNsaWVudCIpOworIAorLSAgICBx aW9fY2hhbm5lbF9zb2NrZXRfY29ubmVjdF9zeW5jKGliLT5zaW9jLCAmaWItPnNhZGRyLCAmbG9j YWxfZXJyKTsKKy0gICAgaWYgKGxvY2FsX2VycikgeworLSAgICAgICAgZXJyb3JfcHJvcGFnYXRl KGVycnAsIGxvY2FsX2Vycik7CisrICAgIGlmIChxaW9fY2hhbm5lbF9zb2NrZXRfY29ubmVjdF9z eW5jKGliLT5zaW9jLCAmaWItPnNhZGRyLCBlcnJwKSA8IDApIHsKKyAgICAgICAgIHJldHVybjsK KyAgICAgfQorIAorLS0gCisyLjUyLjAKKwoKZGlmZiAtLWdpdCBhL2t2bS12ZmlvLXNwYXByLmMt cmVuYW1lLVZGSU9Db250YWluZXItYmNvbnRhaW5lci1maWVsZC10LnBhdGNoIGIva3ZtLXZmaW8t c3BhcHIuYy1yZW5hbWUtVkZJT0NvbnRhaW5lci1iY29udGFpbmVyLWZpZWxkLXQucGF0Y2gKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzNiMzk5NgotLS0gL2Rldi9udWxsCisr KyBiL2t2bS12ZmlvLXNwYXByLmMtcmVuYW1lLVZGSU9Db250YWluZXItYmNvbnRhaW5lci1maWVs ZC10LnBhdGNoCkBAIC0wLDAgKzEsNTMgQEAKK0Zyb20gNmNmNDA4Y2RmNjJlMWQ4NjJmNjEwYmI4 YWQ5MjhhZDIyMWQ2ZTk4ZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1hcmsgQ2F2 ZS1BeWxhbmQgPG1hcmsuY2F2ZWF5bGFuZEBudXRhbml4LmNvbT4KK0RhdGU6IFRodSwgMjUgU2Vw IDIwMjUgMTI6MzE6MTkgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSCAwNjEvMTE2XSB2ZmlvL3NwYXBy LmM6IHJlbmFtZSBWRklPQ29udGFpbmVyIGJjb250YWluZXIgZmllbGQKKyB0byBwYXJlbnRfb2Jq CitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVU Ri04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK1JILUF1dGhvcjogUm9kb2xm byBWaWNrIDxOb25lPgorUkgtTWVyZ2VSZXF1ZXN0OiA0ODY6IEFkZCBETUFCVUYgc3VwcG9ydAor UkgtSmlyYTogUkhFTC0xMzg0OTQKK1JILUFja2VkLWJ5OiBDw6lkcmljIExlIEdvYXRlciA8Y2xn QHJlZGhhdC5jb20+CitSSC1BY2tlZC1ieTogRXJpYyBBdWdlciA8ZXJpYy5hdWdlckByZWRoYXQu Y29tPgorUkgtQ29tbWl0OiBbNDUvMTAwXSAzOGJhNGEzNGEyMjlhMDQwMzY4ODNkYmU0MDIwMDAw ZDY0NWU2NWM0IChyb3ZpY2sxL3FlbXUta3ZtKQorCitOb3cgdGhhdCBub3RoaW5nIGFjY2Vzc2Vz IHRoZSBiY29udGFpbmVyIGZpZWxkIGRpcmVjdGx5LCByZW5hbWUgYmNvbnRhaW5lciB0bworcGFy ZW50X29iaiBhcyBwZXIgb3VyIGN1cnJlbnQgY29kaW5nIGd1aWRlbGluZXMuCisKK1NpZ25lZC1v ZmYtYnk6IE1hcmsgQ2F2ZS1BeWxhbmQgPG1hcmsuY2F2ZWF5bGFuZEBudXRhbml4LmNvbT4KK1Jl dmlld2VkLWJ5OiBDw6lkcmljIExlIEdvYXRlciA8Y2xnQHJlZGhhdC5jb20+CitMaW5rOiBodHRw czovL2xvcmUua2VybmVsLm9yZy9xZW11LWRldmVsLzIwMjUwOTI1MTEzMTU5LjE3NjAzMTctMTIt bWFyay5jYXZlYXlsYW5kQG51dGFuaXguY29tCitTaWduZWQtb2ZmLWJ5OiBDw6lkcmljIExlIEdv YXRlciA8Y2xnQHJlZGhhdC5jb20+CisoY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCAxYmQwNmQw Mzg1ZWI3MmJiNTRhYTE0YWYzNGU4MzYxZWMzYWU4Y2VlKQorU2lnbmVkLW9mZi1ieTogRXJpYyBB dWdlciA8ZXJpYy5hdWdlckByZWRoYXQuY29tPgorLS0tCisgaHcvdmZpby9zcGFwci5jIHwgNyAr KysrLS0tCisgMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkK KworZGlmZiAtLWdpdCBhL2h3L3ZmaW8vc3BhcHIuYyBiL2h3L3ZmaW8vc3BhcHIuYworaW5kZXgg Yzg4M2JhNmRhOS4uOGQ5ZDY4ZGE0ZSAxMDA2NDQKKy0tLSBhL2h3L3ZmaW8vc3BhcHIuYworKysr IGIvaHcvdmZpby9zcGFwci5jCitAQCAtMzAsMTIgKzMwLDEzIEBAIHR5cGVkZWYgc3RydWN0IFZG SU9Ib3N0RE1BV2luZG93IHsKKyAgICAgUUxJU1RfRU5UUlkoVkZJT0hvc3RETUFXaW5kb3cpIGhv c3R3aW5fbmV4dDsKKyB9IFZGSU9Ib3N0RE1BV2luZG93OworIAorLXR5cGVkZWYgc3RydWN0IFZG SU9TcGFwckNvbnRhaW5lciB7CistICAgIFZGSU9MZWdhY3lDb250YWluZXIgY29udGFpbmVyOwor K3N0cnVjdCBWRklPU3BhcHJDb250YWluZXIgeworKyAgICBWRklPTGVnYWN5Q29udGFpbmVyIHBh cmVudF9vYmo7CisrCisgICAgIE1lbW9yeUxpc3RlbmVyIHByZXJlZ19saXN0ZW5lcjsKKyAgICAg UUxJU1RfSEVBRCgsIFZGSU9Ib3N0RE1BV2luZG93KSBob3N0d2luX2xpc3Q7CisgICAgIHVuc2ln bmVkIGludCBsZXZlbHM7CistfSBWRklPU3BhcHJDb250YWluZXI7CisrfTsKKyAKKyBPQkpFQ1Rf REVDTEFSRV9TSU1QTEVfVFlQRShWRklPU3BhcHJDb250YWluZXIsIFZGSU9fSU9NTVVfU1BBUFIp OworIAorLS0gCisyLjUyLjAKKwoKZGlmZiAtLWdpdCBhL2t2bS12ZmlvLXNwYXByLmMtdXNlLVFP TS1jYXN0cy13aGVyZS1hcHByb3ByaWF0ZS5wYXRjaCBiL2t2bS12ZmlvLXNwYXByLmMtdXNlLVFP TS1jYXN0cy13aGVyZS1hcHByb3ByaWF0ZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwLi4yZWVmYmEyCi0tLSAvZGV2L251bGwKKysrIGIva3ZtLXZmaW8tc3BhcHIuYy11 c2UtUU9NLWNhc3RzLXdoZXJlLWFwcHJvcHJpYXRlLnBhdGNoCkBAIC0wLDAgKzEsOTQgQEAKK0Zy b20gYTY3ZGY3MjRlMmM0NTlkZDY3ZTBkMWU3NTk0ZGEzMzEwMTlhODA5YSBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKK0Zyb206IE1hcmsgQ2F2ZS1BeWxhbmQgPG1hcmsuY2F2ZWF5bGFuZEBudXRh bml4LmNvbT4KK0RhdGU6IFR1ZSwgMTUgSnVsIDIwMjUgMTA6MjU6NDYgKzAxMDAKK1N1YmplY3Q6 IFtQQVRDSCAwMzMvMTE2XSB2ZmlvL3NwYXByLmM6IHVzZSBRT00gY2FzdHMgd2hlcmUgYXBwcm9w cmlhdGUKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJz ZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworUkgtQXV0aG9yOiBS b2RvbGZvIFZpY2sgPE5vbmU+CitSSC1NZXJnZVJlcXVlc3Q6IDQ4NjogQWRkIERNQUJVRiBzdXBw b3J0CitSSC1KaXJhOiBSSEVMLTEzODQ5NAorUkgtQWNrZWQtYnk6IEPDqWRyaWMgTGUgR29hdGVy IDxjbGdAcmVkaGF0LmNvbT4KK1JILUFja2VkLWJ5OiBFcmljIEF1Z2VyIDxlcmljLmF1Z2VyQHJl ZGhhdC5jb20+CitSSC1Db21taXQ6IFsxNy8xMDBdIDA4ZWI3YzY1ZTgwZDY2ZTlmMzVjODdlZjRm NDYwYmVkMjVkMmEwNTYgKHJvdmljazEvcWVtdS1rdm0pCisKK1VzZSBRT00gY2FzdHMgdG8gY29u dmVydCBiZXR3ZWVuIFZGSU9Db250YWluZXIgYW5kIFZGSU9Db250YWluZXJCYXNlIGluc3RlYWQK K29mIGFjY2Vzc2luZyBiY29udGFpbmVyIGRpcmVjdGx5LgorCitTaWduZWQtb2ZmLWJ5OiBNYXJr IENhdmUtQXlsYW5kIDxtYXJrLmNhdmVheWxhbmRAbnV0YW5peC5jb20+CitSZXZpZXdlZC1ieTog Q8OpZHJpYyBMZSBHb2F0ZXIgPGNsZ0ByZWRoYXQuY29tPgorUmV2aWV3ZWQtYnk6IEhhcnNoIFBy YXRlZWsgQm9yYSA8aGFyc2hwYkBsaW51eC5pYm0uY29tPgorTGluazogaHR0cHM6Ly9sb3JlLmtl cm5lbC5vcmcvcWVtdS1kZXZlbC8yMDI1MDcxNTA5MzExMC4xMDczMTctNy1tYXJrLmNhdmVheWxh bmRAbnV0YW5peC5jb20KK1NpZ25lZC1vZmYtYnk6IEPDqWRyaWMgTGUgR29hdGVyIDxjbGdAcmVk aGF0LmNvbT4KKyhjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDFlYTc5YjRiOWExNDc3ZGNhM2Zm NTMzNThmYzllYmRkNzNkNTU5MzgpCitTaWduZWQtb2ZmLWJ5OiBFcmljIEF1Z2VyIDxlcmljLmF1 Z2VyQHJlZGhhdC5jb20+CistLS0KKyBody92ZmlvL3NwYXByLmMgfCAxNiArKysrKystLS0tLS0t LS0tCisgMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pCisK K2RpZmYgLS1naXQgYS9ody92ZmlvL3NwYXByLmMgYi9ody92ZmlvL3NwYXByLmMKK2luZGV4IDU2 NGI3MGVmOTcuLmM0MWU0NTg4ZDYgMTAwNjQ0CistLS0gYS9ody92ZmlvL3NwYXByLmMKKysrKyBi L2h3L3ZmaW8vc3BhcHIuYworQEAgLTYyLDcgKzYyLDcgQEAgc3RhdGljIHZvaWQgdmZpb19wcmVy ZWdfbGlzdGVuZXJfcmVnaW9uX2FkZChNZW1vcnlMaXN0ZW5lciAqbGlzdGVuZXIsCisgICAgIFZG SU9TcGFwckNvbnRhaW5lciAqc2NvbnRhaW5lciA9IGNvbnRhaW5lcl9vZihsaXN0ZW5lciwgVkZJ T1NwYXByQ29udGFpbmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgcHJlcmVnX2xpc3RlbmVyKTsKKyAgICAgVkZJT0NvbnRhaW5lciAqY29udGFp bmVyID0gJnNjb250YWluZXItPmNvbnRhaW5lcjsKKy0gICAgVkZJT0NvbnRhaW5lckJhc2UgKmJj b250YWluZXIgPSAmY29udGFpbmVyLT5iY29udGFpbmVyOworKyAgICBWRklPQ29udGFpbmVyQmFz ZSAqYmNvbnRhaW5lciA9IFZGSU9fSU9NTVUoY29udGFpbmVyKTsKKyAgICAgY29uc3QgaHdhZGRy IGdwYSA9IHNlY3Rpb24tPm9mZnNldF93aXRoaW5fYWRkcmVzc19zcGFjZTsKKyAgICAgaHdhZGRy IGVuZDsKKyAgICAgaW50IHJldDsKK0BAIC0yNDQsNyArMjQ0LDcgQEAgc3RhdGljIGJvb2wgdmZp b19zcGFwcl9jcmVhdGVfd2luZG93KFZGSU9Db250YWluZXIgKmNvbnRhaW5lciwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBod2FkZHIgKnBnc2l6ZSwgRXJyb3IgKiplcnJw KQorIHsKKyAgICAgaW50IHJldCA9IDA7CistICAgIFZGSU9Db250YWluZXJCYXNlICpiY29udGFp bmVyID0gJmNvbnRhaW5lci0+YmNvbnRhaW5lcjsKKysgICAgVkZJT0NvbnRhaW5lckJhc2UgKmJj b250YWluZXIgPSBWRklPX0lPTU1VKGNvbnRhaW5lcik7CisgICAgIFZGSU9TcGFwckNvbnRhaW5l ciAqc2NvbnRhaW5lciA9IGNvbnRhaW5lcl9vZihjb250YWluZXIsIFZGSU9TcGFwckNvbnRhaW5l ciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv bnRhaW5lcik7CisgICAgIElPTU1VTWVtb3J5UmVnaW9uICppb21tdV9tciA9IElPTU1VX01FTU9S WV9SRUdJT04oc2VjdGlvbi0+bXIpOworQEAgLTM1Miw4ICszNTIsNyBAQCB2ZmlvX3NwYXByX2Nv bnRhaW5lcl9hZGRfc2VjdGlvbl93aW5kb3coVkZJT0NvbnRhaW5lckJhc2UgKmJjb250YWluZXIs CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1lbW9yeVJlZ2lvblNl Y3Rpb24gKnNlY3Rpb24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IEVycm9yICoqZXJycCkKKyB7CistICAgIFZGSU9Db250YWluZXIgKmNvbnRhaW5lciA9IGNvbnRh aW5lcl9vZihiY29udGFpbmVyLCBWRklPQ29udGFpbmVyLAorLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgYmNvbnRhaW5lcik7CisrICAgIFZGSU9Db250YWluZXIg KmNvbnRhaW5lciA9IFZGSU9fSU9NTVVfTEVHQUNZKGJjb250YWluZXIpOworICAgICBWRklPU3Bh cHJDb250YWluZXIgKnNjb250YWluZXIgPSBjb250YWluZXJfb2YoY29udGFpbmVyLCBWRklPU3Bh cHJDb250YWluZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBjb250YWluZXIpOworICAgICBWRklPSG9zdERNQVdpbmRvdyAqaG9zdHdpbjsKK0BA IC00NDMsOCArNDQyLDcgQEAgc3RhdGljIHZvaWQKKyB2ZmlvX3NwYXByX2NvbnRhaW5lcl9kZWxf c2VjdGlvbl93aW5kb3coVkZJT0NvbnRhaW5lckJhc2UgKmJjb250YWluZXIsCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1lbW9yeVJlZ2lvblNlY3Rpb24gKnNlY3Rp b24pCisgeworLSAgICBWRklPQ29udGFpbmVyICpjb250YWluZXIgPSBjb250YWluZXJfb2YoYmNv bnRhaW5lciwgVkZJT0NvbnRhaW5lciwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGJjb250YWluZXIpOworKyAgICBWRklPQ29udGFpbmVyICpjb250YWluZXIg PSBWRklPX0lPTU1VX0xFR0FDWShiY29udGFpbmVyKTsKKyAgICAgVkZJT1NwYXByQ29udGFpbmVy ICpzY29udGFpbmVyID0gY29udGFpbmVyX29mKGNvbnRhaW5lciwgVkZJT1NwYXByQ29udGFpbmVy LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u dGFpbmVyKTsKKyAKK0BAIC00NjUsOCArNDYzLDcgQEAgdmZpb19zcGFwcl9jb250YWluZXJfZGVs X3NlY3Rpb25fd2luZG93KFZGSU9Db250YWluZXJCYXNlICpiY29udGFpbmVyLAorIAorIHN0YXRp YyB2b2lkIHZmaW9fc3BhcHJfY29udGFpbmVyX3JlbGVhc2UoVkZJT0NvbnRhaW5lckJhc2UgKmJj b250YWluZXIpCisgeworLSAgICBWRklPQ29udGFpbmVyICpjb250YWluZXIgPSBjb250YWluZXJf b2YoYmNvbnRhaW5lciwgVkZJT0NvbnRhaW5lciwKKy0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGJjb250YWluZXIpOworKyAgICBWRklPQ29udGFpbmVyICpjb250 YWluZXIgPSBWRklPX0lPTU1VX0xFR0FDWShiY29udGFpbmVyKTsKKyAgICAgVkZJT1NwYXByQ29u dGFpbmVyICpzY29udGFpbmVyID0gY29udGFpbmVyX29mKGNvbnRhaW5lciwgVkZJT1NwYXByQ29u dGFpbmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgY29udGFpbmVyKTsKKyAgICAgVkZJT0hvc3RETUFXaW5kb3cgKmhvc3R3aW4sICpuZXh0Owor QEAgLTQ4NCw4ICs0ODEsNyBAQCBzdGF0aWMgdm9pZCB2ZmlvX3NwYXByX2NvbnRhaW5lcl9yZWxl YXNlKFZGSU9Db250YWluZXJCYXNlICpiY29udGFpbmVyKQorIHN0YXRpYyBib29sIHZmaW9fc3Bh cHJfY29udGFpbmVyX3NldHVwKFZGSU9Db250YWluZXJCYXNlICpiY29udGFpbmVyLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVycm9yICoqZXJycCkKKyB7CistICAg IFZGSU9Db250YWluZXIgKmNvbnRhaW5lciA9IGNvbnRhaW5lcl9vZihiY29udGFpbmVyLCBWRklP Q29udGFpbmVyLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg YmNvbnRhaW5lcik7CisrICAgIFZGSU9Db250YWluZXIgKmNvbnRhaW5lciA9IFZGSU9fSU9NTVVf TEVHQUNZKGJjb250YWluZXIpOworICAgICBWRklPU3BhcHJDb250YWluZXIgKnNjb250YWluZXIg PSBjb250YWluZXJfb2YoY29udGFpbmVyLCBWRklPU3BhcHJDb250YWluZXIsCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250YWluZXIpOworICAg ICBzdHJ1Y3QgdmZpb19pb21tdV9zcGFwcl90Y2VfaW5mbyBpbmZvOworLS0gCisyLjUyLjAKKwoK ZGlmZiAtLWdpdCBhL2t2bS12ZmlvLXNwYXByLmMtdXNlLVFPTS1jYXN0cy13aGVyZS1hcHByb3By aWF0ZTIucGF0Y2ggYi9rdm0tdmZpby1zcGFwci5jLXVzZS1RT00tY2FzdHMtd2hlcmUtYXBwcm9w cmlhdGUyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJiNTg0ODEK LS0tIC9kZXYvbnVsbAorKysgYi9rdm0tdmZpby1zcGFwci5jLXVzZS1RT00tY2FzdHMtd2hlcmUt YXBwcm9wcmlhdGUyLnBhdGNoCkBAIC0wLDAgKzEsMTAzIEBACitGcm9tIDI0NDcyY2JjNzkwNTc5 MzQ1OTdlOTk0ZDBhOTZiMDRiMzFiN2E3ZjIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9t OiBNYXJrIENhdmUtQXlsYW5kIDxtYXJrLmNhdmVheWxhbmRAbnV0YW5peC5jb20+CitEYXRlOiBU aHUsIDI1IFNlcCAyMDI1IDEyOjMxOjE4ICswMTAwCitTdWJqZWN0OiBbUEFUQ0ggMDYwLzExNl0g dmZpby9zcGFwci5jOiB1c2UgUU9NIGNhc3RzIHdoZXJlIGFwcHJvcHJpYXRlCitNSU1FLVZlcnNp b246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50 LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK1JILUF1dGhvcjogUm9kb2xmbyBWaWNrIDxOb25l PgorUkgtTWVyZ2VSZXF1ZXN0OiA0ODY6IEFkZCBETUFCVUYgc3VwcG9ydAorUkgtSmlyYTogUkhF TC0xMzg0OTQKK1JILUFja2VkLWJ5OiBDw6lkcmljIExlIEdvYXRlciA8Y2xnQHJlZGhhdC5jb20+ CitSSC1BY2tlZC1ieTogRXJpYyBBdWdlciA8ZXJpYy5hdWdlckByZWRoYXQuY29tPgorUkgtQ29t bWl0OiBbNDQvMTAwXSA4NmE2MTUzNmRlMzY2OGJhYWI4OWVlMWY0ZDg5ZjNjMjM5NzNmNWU5IChy b3ZpY2sxL3FlbXUta3ZtKQorCitVc2UgUU9NIGNhc3RzIHRvIGNvbnZlcnQgYmV0d2VlbiBWRklP U3BhcHJDb250YWluZXIgYW5kIFZGSU9MZWdhY3lDb250YWluZXIKK2luc3RlYWQgb2YgYWNjZXNz aW5nIGJjb250YWluZXIgZGlyZWN0bHkuCisKK1NpZ25lZC1vZmYtYnk6IE1hcmsgQ2F2ZS1BeWxh bmQgPG1hcmsuY2F2ZWF5bGFuZEBudXRhbml4LmNvbT4KK1Jldmlld2VkLWJ5OiBDw6lkcmljIExl IEdvYXRlciA8Y2xnQHJlZGhhdC5jb20+CitMaW5rOiBodHRwczovL2xvcmUua2VybmVsLm9yZy9x ZW11LWRldmVsLzIwMjUwOTI1MTEzMTU5LjE3NjAzMTctMTEtbWFyay5jYXZlYXlsYW5kQG51dGFu aXguY29tCitTaWduZWQtb2ZmLWJ5OiBDw6lkcmljIExlIEdvYXRlciA8Y2xnQHJlZGhhdC5jb20+ CisoY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCA2YzY3MTIzNTYzNmNmYjVlODI1MDQwYjQ2MjFm ZjA2Yzc3OTI1NzMxKQorU2lnbmVkLW9mZi1ieTogRXJpYyBBdWdlciA8ZXJpYy5hdWdlckByZWRo YXQuY29tPgorLS0tCisgaHcvdmZpby9zcGFwci5jIHwgMTkgKysrKysrKy0tLS0tLS0tLS0tLQor IDEgZmlsZSBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKyksIDEyIGRlbGV0aW9ucygtKQorCitkaWZm IC0tZ2l0IGEvaHcvdmZpby9zcGFwci5jIGIvaHcvdmZpby9zcGFwci5jCitpbmRleCBhY2FhOWMx NDE5Li5jODgzYmE2ZGE5IDEwMDY0NAorLS0tIGEvaHcvdmZpby9zcGFwci5jCisrKysgYi9ody92 ZmlvL3NwYXByLmMKK0BAIC02MSw3ICs2MSw3IEBAIHN0YXRpYyB2b2lkIHZmaW9fcHJlcmVnX2xp c3RlbmVyX3JlZ2lvbl9hZGQoTWVtb3J5TGlzdGVuZXIgKmxpc3RlbmVyLAorIHsKKyAgICAgVkZJ T1NwYXByQ29udGFpbmVyICpzY29udGFpbmVyID0gY29udGFpbmVyX29mKGxpc3RlbmVyLCBWRklP U3BhcHJDb250YWluZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBwcmVyZWdfbGlzdGVuZXIpOworLSAgICBWRklPTGVnYWN5Q29udGFpbmVyICpj b250YWluZXIgPSAmc2NvbnRhaW5lci0+Y29udGFpbmVyOworKyAgICBWRklPTGVnYWN5Q29udGFp bmVyICpjb250YWluZXIgPSBWRklPX0lPTU1VX0xFR0FDWShzY29udGFpbmVyKTsKKyAgICAgVkZJ T0NvbnRhaW5lciAqYmNvbnRhaW5lciA9IFZGSU9fSU9NTVUoY29udGFpbmVyKTsKKyAgICAgY29u c3QgaHdhZGRyIGdwYSA9IHNlY3Rpb24tPm9mZnNldF93aXRoaW5fYWRkcmVzc19zcGFjZTsKKyAg ICAgaHdhZGRyIGVuZDsKK0BAIC0xMjEsNyArMTIxLDcgQEAgc3RhdGljIHZvaWQgdmZpb19wcmVy ZWdfbGlzdGVuZXJfcmVnaW9uX2RlbChNZW1vcnlMaXN0ZW5lciAqbGlzdGVuZXIsCisgeworICAg ICBWRklPU3BhcHJDb250YWluZXIgKnNjb250YWluZXIgPSBjb250YWluZXJfb2YobGlzdGVuZXIs IFZGSU9TcGFwckNvbnRhaW5lciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHByZXJlZ19saXN0ZW5lcik7CistICAgIFZGSU9MZWdhY3lDb250YWlu ZXIgKmNvbnRhaW5lciA9ICZzY29udGFpbmVyLT5jb250YWluZXI7CisrICAgIFZGSU9MZWdhY3lD b250YWluZXIgKmNvbnRhaW5lciA9IFZGSU9fSU9NTVVfTEVHQUNZKHNjb250YWluZXIpOworICAg ICBjb25zdCBod2FkZHIgZ3BhID0gc2VjdGlvbi0+b2Zmc2V0X3dpdGhpbl9hZGRyZXNzX3NwYWNl OworICAgICBod2FkZHIgZW5kOworICAgICBpbnQgcmV0OworQEAgLTI0NSw4ICsyNDUsNyBAQCBz dGF0aWMgYm9vbCB2ZmlvX3NwYXByX2NyZWF0ZV93aW5kb3coVkZJT0xlZ2FjeUNvbnRhaW5lciAq Y29udGFpbmVyLAorIHsKKyAgICAgaW50IHJldCA9IDA7CisgICAgIFZGSU9Db250YWluZXIgKmJj b250YWluZXIgPSBWRklPX0lPTU1VKGNvbnRhaW5lcik7CistICAgIFZGSU9TcGFwckNvbnRhaW5l ciAqc2NvbnRhaW5lciA9IGNvbnRhaW5lcl9vZihjb250YWluZXIsIFZGSU9TcGFwckNvbnRhaW5l ciwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv bnRhaW5lcik7CisrICAgIFZGSU9TcGFwckNvbnRhaW5lciAqc2NvbnRhaW5lciA9IFZGSU9fSU9N TVVfU1BBUFIoYmNvbnRhaW5lcik7CisgICAgIElPTU1VTWVtb3J5UmVnaW9uICppb21tdV9tciA9 IElPTU1VX01FTU9SWV9SRUdJT04oc2VjdGlvbi0+bXIpOworICAgICB1aW50NjRfdCBwYWdlc2l6 ZSA9IG1lbW9yeV9yZWdpb25faW9tbXVfZ2V0X21pbl9wYWdlX3NpemUoaW9tbXVfbXIpLCBwZ21h c2s7CisgICAgIHVuc2lnbmVkIGVudHJpZXMsIGJpdHNfdG90YWwsIGJpdHNfcGVyX2xldmVsLCBt YXhfbGV2ZWxzLCBkZHdfbGV2ZWxzOworQEAgLTM1Myw4ICszNTIsNyBAQCB2ZmlvX3NwYXByX2Nv bnRhaW5lcl9hZGRfc2VjdGlvbl93aW5kb3coVkZJT0NvbnRhaW5lciAqYmNvbnRhaW5lciwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRXJyb3IgKiplcnJwKQorIHsK KyAgICAgVkZJT0xlZ2FjeUNvbnRhaW5lciAqY29udGFpbmVyID0gVkZJT19JT01NVV9MRUdBQ1ko YmNvbnRhaW5lcik7CistICAgIFZGSU9TcGFwckNvbnRhaW5lciAqc2NvbnRhaW5lciA9IGNvbnRh aW5lcl9vZihjb250YWluZXIsIFZGSU9TcGFwckNvbnRhaW5lciwKKy0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lcik7CisrICAgIFZGSU9T cGFwckNvbnRhaW5lciAqc2NvbnRhaW5lciA9IFZGSU9fSU9NTVVfU1BBUFIoY29udGFpbmVyKTsK KyAgICAgVkZJT0hvc3RETUFXaW5kb3cgKmhvc3R3aW47CisgICAgIGh3YWRkciBwZ3NpemUgPSAw OworICAgICBpbnQgcmV0OworQEAgLTQ0Myw4ICs0NDEsNyBAQCB2ZmlvX3NwYXByX2NvbnRhaW5l cl9kZWxfc2VjdGlvbl93aW5kb3coVkZJT0NvbnRhaW5lciAqYmNvbnRhaW5lciwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWVtb3J5UmVnaW9uU2VjdGlvbiAqc2Vj dGlvbikKKyB7CisgICAgIFZGSU9MZWdhY3lDb250YWluZXIgKmNvbnRhaW5lciA9IFZGSU9fSU9N TVVfTEVHQUNZKGJjb250YWluZXIpOworLSAgICBWRklPU3BhcHJDb250YWluZXIgKnNjb250YWlu ZXIgPSBjb250YWluZXJfb2YoY29udGFpbmVyLCBWRklPU3BhcHJDb250YWluZXIsCistICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250YWluZXIpOwor KyAgICBWRklPU3BhcHJDb250YWluZXIgKnNjb250YWluZXIgPSBWRklPX0lPTU1VX1NQQVBSKGNv bnRhaW5lcik7CisgCisgICAgIGlmIChjb250YWluZXItPmlvbW11X3R5cGUgIT0gVkZJT19TUEFQ Ul9UQ0VfdjJfSU9NTVUpIHsKKyAgICAgICAgIHJldHVybjsKK0BAIC00NjQsOCArNDYxLDcgQEAg dmZpb19zcGFwcl9jb250YWluZXJfZGVsX3NlY3Rpb25fd2luZG93KFZGSU9Db250YWluZXIgKmJj b250YWluZXIsCisgc3RhdGljIHZvaWQgdmZpb19zcGFwcl9jb250YWluZXJfcmVsZWFzZShWRklP Q29udGFpbmVyICpiY29udGFpbmVyKQorIHsKKyAgICAgVkZJT0xlZ2FjeUNvbnRhaW5lciAqY29u dGFpbmVyID0gVkZJT19JT01NVV9MRUdBQ1koYmNvbnRhaW5lcik7CistICAgIFZGSU9TcGFwckNv bnRhaW5lciAqc2NvbnRhaW5lciA9IGNvbnRhaW5lcl9vZihjb250YWluZXIsIFZGSU9TcGFwckNv bnRhaW5lciwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGNvbnRhaW5lcik7CisrICAgIFZGSU9TcGFwckNvbnRhaW5lciAqc2NvbnRhaW5lciA9IFZG SU9fSU9NTVVfU1BBUFIoY29udGFpbmVyKTsKKyAgICAgVkZJT0hvc3RETUFXaW5kb3cgKmhvc3R3 aW4sICpuZXh0OworIAorICAgICBpZiAoY29udGFpbmVyLT5pb21tdV90eXBlID09IFZGSU9fU1BB UFJfVENFX3YyX0lPTU1VKSB7CitAQCAtNDgyLDggKzQ3OCw3IEBAIHN0YXRpYyBib29sIHZmaW9f c3BhcHJfY29udGFpbmVyX3NldHVwKFZGSU9Db250YWluZXIgKmJjb250YWluZXIsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRXJyb3IgKiplcnJwKQorIHsKKyAgICAg VkZJT0xlZ2FjeUNvbnRhaW5lciAqY29udGFpbmVyID0gVkZJT19JT01NVV9MRUdBQ1koYmNvbnRh aW5lcik7CistICAgIFZGSU9TcGFwckNvbnRhaW5lciAqc2NvbnRhaW5lciA9IGNvbnRhaW5lcl9v Zihjb250YWluZXIsIFZGSU9TcGFwckNvbnRhaW5lciwKKy0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lcik7CisrICAgIFZGSU9TcGFwckNv bnRhaW5lciAqc2NvbnRhaW5lciA9IFZGSU9fSU9NTVVfU1BBUFIoY29udGFpbmVyKTsKKyAgICAg c3RydWN0IHZmaW9faW9tbXVfc3BhcHJfdGNlX2luZm8gaW5mbzsKKyAgICAgYm9vbCB2MiA9IGNv bnRhaW5lci0+aW9tbXVfdHlwZSA9PSBWRklPX1NQQVBSX1RDRV92Ml9JT01NVTsKKyAgICAgaW50 IHJldCwgZmQgPSBjb250YWluZXItPmZkOworLS0gCisyLjUyLjAKKwoKZGlmZiAtLWdpdCBhL2t2 bS12ZmlvLXVzZXItY2xhcmlmeS1wYXJ0aWFsLW1lc3NhZ2UtaGFuZGxpbmcucGF0Y2ggYi9rdm0t dmZpby11c2VyLWNsYXJpZnktcGFydGlhbC1tZXNzYWdlLWhhbmRsaW5nLnBhdGNoCm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFjNGE3YmIKLS0tIC9kZXYvbnVsbAorKysgYi9r dm0tdmZpby11c2VyLWNsYXJpZnktcGFydGlhbC1tZXNzYWdlLWhhbmRsaW5nLnBhdGNoCkBAIC0w LDAgKzEsNDcgQEAKK0Zyb20gOTM3Y2MzODgyYTBjNzZlYjY1NjA4ZjljNzlmN2YwMjNlM2E4YmQy NiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEpvaG4gTGV2b24gPGpvaG4ubGV2b25A bnV0YW5peC5jb20+CitEYXRlOiBXZWQsIDMgRGVjIDIwMjUgMTU6MzM6MTIgKzA1MzAKK1N1Ympl Y3Q6IFtQQVRDSCAxMDgvMTE2XSB2ZmlvLXVzZXI6IGNsYXJpZnkgcGFydGlhbCBtZXNzYWdlIGhh bmRsaW5nCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFy c2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK1JILUF1dGhvcjog Um9kb2xmbyBWaWNrIDxOb25lPgorUkgtTWVyZ2VSZXF1ZXN0OiA0ODY6IEFkZCBETUFCVUYgc3Vw cG9ydAorUkgtSmlyYTogUkhFTC0xMzg0OTQKK1JILUFja2VkLWJ5OiBDw6lkcmljIExlIEdvYXRl ciA8Y2xnQHJlZGhhdC5jb20+CitSSC1BY2tlZC1ieTogRXJpYyBBdWdlciA8ZXJpYy5hdWdlckBy ZWRoYXQuY29tPgorUkgtQ29tbWl0OiBbOTIvMTAwXSA3ZjIwMTc5YWE3MmFlOTE4OGZjNDdiMmYy MjMwZDU4MTA0YjdiMTI3IChyb3ZpY2sxL3FlbXUta3ZtKQorCitJbXByb3ZlIGEgY29tbWVudCBm b3IgdGhpcy4KKworU2lnbmVkLW9mZi1ieTogSm9obiBMZXZvbiA8am9obi5sZXZvbkBudXRhbml4 LmNvbT4KK1Jldmlld2VkLWJ5OiBDw6lkcmljIExlIEdvYXRlciA8Y2xnQHJlZGhhdC5jb20+CitS ZXZpZXdlZC1ieTogTWFyayBDYXZlLUF5bGFuZCA8bWFyay5jYXZlYXlsYW5kQG51dGFuaXguY29t PgorTGluazogaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvcWVtdS1kZXZlbC8yMDI1MTIwMzEwMDMx Ni4zNjA0NDU2LTMtam9obi5sZXZvbkBudXRhbml4LmNvbQorU2lnbmVkLW9mZi1ieTogQ8OpZHJp YyBMZSBHb2F0ZXIgPGNsZ0ByZWRoYXQuY29tPgorKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQg MzU2YzdiMTc1MjU4ZjI5NDI5ZmI5MWE3NjQxZjc3NTA4MGFiNmI0OSkKK1NpZ25lZC1vZmYtYnk6 IEVyaWMgQXVnZXIgPGVyaWMuYXVnZXJAcmVkaGF0LmNvbT4KKy0tLQorIGh3L3ZmaW8tdXNlci9w cm94eS5jIHwgNSArKysrLQorIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDEgZGVs ZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL2h3L3ZmaW8tdXNlci9wcm94eS5jIGIvaHcvdmZpby11 c2VyL3Byb3h5LmMKK2luZGV4IDc1ODQ1ZDdjODkuLjgyYzc2YzY2NjUgMTAwNjQ0CistLS0gYS9o dy92ZmlvLXVzZXIvcHJveHkuYworKysrIGIvaHcvdmZpby11c2VyL3Byb3h5LmMKK0BAIC0zNjIs NyArMzYyLDEwIEBAIHN0YXRpYyBpbnQgdmZpb191c2VyX3JlY3Zfb25lKFZGSU9Vc2VyUHJveHkg KnByb3h5LCBFcnJvciAqKmVycnApCisgICAgIHdoaWxlIChtc2dsZWZ0ID4gMCkgeworICAgICAg ICAgcmV0ID0gcWlvX2NoYW5uZWxfcmVhZChwcm94eS0+aW9jLCBkYXRhLCBtc2dsZWZ0LCBlcnJw KTsKKyAKKy0gICAgICAgIC8qIHByZXBhcmUgdG8gY29tcGxldGUgcmVhZCBvbiBuZXh0IGl0ZXJu YXRpb24gKi8KKysgICAgICAgIC8qCisrICAgICAgICAgKiBXZSdsbCBjb21wbGV0ZSB0aGlzIHJl YWQgb24gdGhlIG5leHQgZ28gYXJvdW5kOyBrZWVwIHRyYWNrIG9mIHRoZQorKyAgICAgICAgICog cGFydGlhbCBtZXNzYWdlIHVudGlsIHRoZW4uCisrICAgICAgICAgKi8KKyAgICAgICAgIGlmIChy ZXQgPT0gUUlPX0NIQU5ORUxfRVJSX0JMT0NLKSB7CisgICAgICAgICAgICAgcHJveHktPnBhcnRf cmVjdiA9IG1zZzsKKyAgICAgICAgICAgICBwcm94eS0+cmVjdl9sZWZ0ID0gbXNnbGVmdDsKKy0t IAorMi41Mi4wCisKCmRpZmYgLS1naXQgYS9rdm0tdmZpby11c2VyLWNvbnRhaW5lci5oLXJlbmFt ZS1WRklPVXNlckNvbnRhaW5lci1iY29udC5wYXRjaCBiL2t2bS12ZmlvLXVzZXItY29udGFpbmVy LmgtcmVuYW1lLVZGSU9Vc2VyQ29udGFpbmVyLWJjb250LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAuLjQ5MzI2N2MKLS0tIC9kZXYvbnVsbAorKysgYi9rdm0tdmZpby11 c2VyLWNvbnRhaW5lci5oLXJlbmFtZS1WRklPVXNlckNvbnRhaW5lci1iY29udC5wYXRjaApAQCAt MCwwICsxLDQ3IEBACitGcm9tIDk2ZjdiMDEzYWI4NDJmN2NjOTE5NDgwY2I0YjExZjEzYzYxN2M3 YWQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNYXJrIENhdmUtQXlsYW5kIDxtYXJr LmNhdmVheWxhbmRAbnV0YW5peC5jb20+CitEYXRlOiBUdWUsIDE1IEp1bCAyMDI1IDEwOjI1OjUw ICswMTAwCitTdWJqZWN0OiBbUEFUQ0ggMDM3LzExNl0gdmZpby11c2VyL2NvbnRhaW5lci5oOiBy ZW5hbWUgVkZJT1VzZXJDb250YWluZXIKKyBiY29udGFpbmVyIGZpZWxkIHRvIHBhcmVudF9vYmoK K01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRG LTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworUkgtQXV0aG9yOiBSb2RvbGZv IFZpY2sgPE5vbmU+CitSSC1NZXJnZVJlcXVlc3Q6IDQ4NjogQWRkIERNQUJVRiBzdXBwb3J0CitS SC1KaXJhOiBSSEVMLTEzODQ5NAorUkgtQWNrZWQtYnk6IEPDqWRyaWMgTGUgR29hdGVyIDxjbGdA cmVkaGF0LmNvbT4KK1JILUFja2VkLWJ5OiBFcmljIEF1Z2VyIDxlcmljLmF1Z2VyQHJlZGhhdC5j b20+CitSSC1Db21taXQ6IFsyMS8xMDBdIGZlMzYwYjYwN2IzNWQ2NjFmOWQ1MDQ1ZGY4NjU0YjAy ZjA4N2YwMjIgKHJvdmljazEvcWVtdS1rdm0pCisKK05vdyB0aGF0IG5vdGhpbmcgYWNjZXNzZXMg dGhlIGJjb250YWluZXIgZmllbGQgZGlyZWN0bHksIHJlbmFtZSBiY29udGFpbmVyIHRvCitwYXJl bnRfb2JqIGFzIHBlciBvdXIgY3VycmVudCBjb2RpbmcgZ3VpZGVsaW5lcy4KKworU2lnbmVkLW9m Zi1ieTogTWFyayBDYXZlLUF5bGFuZCA8bWFyay5jYXZlYXlsYW5kQG51dGFuaXguY29tPgorUmV2 aWV3ZWQtYnk6IEPDqWRyaWMgTGUgR29hdGVyIDxjbGdAcmVkaGF0LmNvbT4KK1Jldmlld2VkLWJ5 OiBKb2huIExldm9uIDxqb2huLmxldm9uQG51dGFuaXguY29tPgorUmV2aWV3ZWQtYnk6IFBoaWxp cHBlIE1hdGhpZXUtRGF1ZMOpIDxwaGlsbWRAbGluYXJvLm9yZz4KK0xpbms6IGh0dHBzOi8vbG9y ZS5rZXJuZWwub3JnL3FlbXUtZGV2ZWwvMjAyNTA3MTUwOTMxMTAuMTA3MzE3LTExLW1hcmsuY2F2 ZWF5bGFuZEBudXRhbml4LmNvbQorU2lnbmVkLW9mZi1ieTogQ8OpZHJpYyBMZSBHb2F0ZXIgPGNs Z0ByZWRoYXQuY29tPgorKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgODFiNTM4OTFjYTUyMjg4 NTQwZTZlNGYzNGJiOTI0Mjg0ZmVlYmM1OCkKK1NpZ25lZC1vZmYtYnk6IEVyaWMgQXVnZXIgPGVy aWMuYXVnZXJAcmVkaGF0LmNvbT4KKy0tLQorIGh3L3ZmaW8tdXNlci9jb250YWluZXIuaCB8IDIg Ky0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlm ZiAtLWdpdCBhL2h3L3ZmaW8tdXNlci9jb250YWluZXIuaCBiL2h3L3ZmaW8tdXNlci9jb250YWlu ZXIuaAoraW5kZXggZDVkMjI3NWFmNy4uOTZhYTY3ODVkOSAxMDA2NDQKKy0tLSBhL2h3L3ZmaW8t dXNlci9jb250YWluZXIuaAorKysrIGIvaHcvdmZpby11c2VyL2NvbnRhaW5lci5oCitAQCAtMTQs NyArMTQsNyBAQAorIAorIC8qIE1NVSBjb250YWluZXIgc3ViLWNsYXNzIGZvciB2ZmlvLXVzZXIu ICovCisgc3RydWN0IFZGSU9Vc2VyQ29udGFpbmVyIHsKKy0gICAgVkZJT0NvbnRhaW5lckJhc2Ug YmNvbnRhaW5lcjsKKysgICAgVkZJT0NvbnRhaW5lckJhc2UgcGFyZW50X29iajsKKyAKKyAgICAg VkZJT1VzZXJQcm94eSAqcHJveHk7CisgfTsKKy0tIAorMi41Mi4wCisKCmRpZmYgLS1naXQgYS9r dm0tdmZpby11c2VyLWNvbnRhaW5lci5oLXVwZGF0ZS1WRklPVXNlckNvbnRhaW5lci1kZWNsYS5w YXRjaCBiL2t2bS12ZmlvLXVzZXItY29udGFpbmVyLmgtdXBkYXRlLVZGSU9Vc2VyQ29udGFpbmVy LWRlY2xhLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhlNjRhMmIK LS0tIC9kZXYvbnVsbAorKysgYi9rdm0tdmZpby11c2VyLWNvbnRhaW5lci5oLXVwZGF0ZS1WRklP VXNlckNvbnRhaW5lci1kZWNsYS5wYXRjaApAQCAtMCwwICsxLDUzIEBACitGcm9tIDAxYjBmYTJh ZDNlYjgxMjQzYmIyMDMyYmU5MWYzOTMzYWQ0Nzk5MWQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CitGcm9tOiBNYXJrIENhdmUtQXlsYW5kIDxtYXJrLmNhdmVheWxhbmRAbnV0YW5peC5jb20+CitE YXRlOiBUdWUsIDE1IEp1bCAyMDI1IDEwOjI1OjQ4ICswMTAwCitTdWJqZWN0OiBbUEFUQ0ggMDM1 LzExNl0gdmZpby11c2VyL2NvbnRhaW5lci5oOiB1cGRhdGUgVkZJT1VzZXJDb250YWluZXIKKyBk ZWNsYXJhdGlvbgorTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsg Y2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorCitSSC1BdXRo b3I6IFJvZG9sZm8gVmljayA8Tm9uZT4KK1JILU1lcmdlUmVxdWVzdDogNDg2OiBBZGQgRE1BQlVG IHN1cHBvcnQKK1JILUppcmE6IFJIRUwtMTM4NDk0CitSSC1BY2tlZC1ieTogQ8OpZHJpYyBMZSBH b2F0ZXIgPGNsZ0ByZWRoYXQuY29tPgorUkgtQWNrZWQtYnk6IEVyaWMgQXVnZXIgPGVyaWMuYXVn ZXJAcmVkaGF0LmNvbT4KK1JILUNvbW1pdDogWzE5LzEwMF0gY2QxNzgyZDBlNWEzOTFhOTJjY2Vk NTk0OTY1NjViYzA3N2I4NGVhMSAocm92aWNrMS9xZW11LWt2bSkKKworVXBkYXRlIHRoZSBWRklP VXNlckNvbnRhaW5lciBkZWNsYXJhdGlvbiBzbyB0aGF0IGl0IGlzIGNsb3NlciB0byBvdXIgY29k aW5nCitndWlkZWxpbmVzOiByZW1vdmUgdGhlIGV4cGxpY2l0IHR5cGVkZWYgKHRoaXMgaXMgYWxy ZWFkeSBoYW5kbGVkIGJ5IHRoZQorT0JKRUNUX0RFQ0xBUkVfVFlQRSgpIG1hY3JvKSBhbmQgYWRk IGEgYmxhbmsgbGluZSBhZnRlciB0aGUgcGFyZW50IG9iamVjdC4KKworU2lnbmVkLW9mZi1ieTog TWFyayBDYXZlLUF5bGFuZCA8bWFyay5jYXZlYXlsYW5kQG51dGFuaXguY29tPgorUmV2aWV3ZWQt Ynk6IEPDqWRyaWMgTGUgR29hdGVyIDxjbGdAcmVkaGF0LmNvbT4KK1Jldmlld2VkLWJ5OiBKb2hu IExldm9uIDxqb2huLmxldm9uQG51dGFuaXguY29tPgorUmV2aWV3ZWQtYnk6IFBoaWxpcHBlIE1h dGhpZXUtRGF1ZMOpIDxwaGlsbWRAbGluYXJvLm9yZz4KK0xpbms6IGh0dHBzOi8vbG9yZS5rZXJu ZWwub3JnL3FlbXUtZGV2ZWwvMjAyNTA3MTUwOTMxMTAuMTA3MzE3LTktbWFyay5jYXZlYXlsYW5k QG51dGFuaXguY29tCitTaWduZWQtb2ZmLWJ5OiBDw6lkcmljIExlIEdvYXRlciA8Y2xnQHJlZGhh dC5jb20+CisoY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCA1MmExY2MzZGMwMGYwOTc3OWFlYjlh YTljNmZjZGMwMjg0YTQwZDRjKQorU2lnbmVkLW9mZi1ieTogRXJpYyBBdWdlciA8ZXJpYy5hdWdl ckByZWRoYXQuY29tPgorLS0tCisgaHcvdmZpby11c2VyL2NvbnRhaW5lci5oIHwgNSArKystLQor IDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYg LS1naXQgYS9ody92ZmlvLXVzZXIvY29udGFpbmVyLmggYi9ody92ZmlvLXVzZXIvY29udGFpbmVy LmgKK2luZGV4IDJiYjFmYTEzNDMuLmQ1ZDIyNzVhZjcgMTAwNjQ0CistLS0gYS9ody92ZmlvLXVz ZXIvY29udGFpbmVyLmgKKysrKyBiL2h3L3ZmaW8tdXNlci9jb250YWluZXIuaAorQEAgLTEzLDEw ICsxMywxMSBAQAorICNpbmNsdWRlICJody92ZmlvLXVzZXIvcHJveHkuaCIKKyAKKyAvKiBNTVUg Y29udGFpbmVyIHN1Yi1jbGFzcyBmb3IgdmZpby11c2VyLiAqLworLXR5cGVkZWYgc3RydWN0IFZG SU9Vc2VyQ29udGFpbmVyIHsKKytzdHJ1Y3QgVkZJT1VzZXJDb250YWluZXIgeworICAgICBWRklP Q29udGFpbmVyQmFzZSBiY29udGFpbmVyOworKworICAgICBWRklPVXNlclByb3h5ICpwcm94eTsK Ky19IFZGSU9Vc2VyQ29udGFpbmVyOworK307CisgCisgT0JKRUNUX0RFQ0xBUkVfU0lNUExFX1RZ UEUoVkZJT1VzZXJDb250YWluZXIsIFZGSU9fSU9NTVVfVVNFUik7CisgCistLSAKKzIuNTIuMAor CgpkaWZmIC0tZ2l0IGEva3ZtLXZmaW8tdXNlci1wY2kuYy1yZW5hbWUtVkZJT1VzZXJQQ0lEZXZp Y2UtZGV2aWNlLWZpZWwucGF0Y2ggYi9rdm0tdmZpby11c2VyLXBjaS5jLXJlbmFtZS1WRklPVXNl clBDSURldmljZS1kZXZpY2UtZmllbC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwLi42NWJjMTE3Ci0tLSAvZGV2L251bGwKKysrIGIva3ZtLXZmaW8tdXNlci1wY2kuYy1y ZW5hbWUtVkZJT1VzZXJQQ0lEZXZpY2UtZGV2aWNlLWZpZWwucGF0Y2gKQEAgLTAsMCArMSw0NyBA QAorRnJvbSBiODEwNWExMTYyNTVjZjEyMzdjNzA5YjRjMTZkYzlkNGI5OGZhMzliIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWFyayBDYXZlLUF5bGFuZCA8bWFyay5jYXZlYXlsYW5k QG51dGFuaXguY29tPgorRGF0ZTogVHVlLCAxNSBKdWwgMjAyNSAxMDoyNTo1MyArMDEwMAorU3Vi amVjdDogW1BBVENIIDA0MC8xMTZdIHZmaW8tdXNlci9wY2kuYzogcmVuYW1lIFZGSU9Vc2VyUENJ RGV2aWNlIGRldmljZQorIGZpZWxkIHRvIHBhcmVudF9vYmoKK01JTUUtVmVyc2lvbjogMS4wCitD b250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXIt RW5jb2Rpbmc6IDhiaXQKKworUkgtQXV0aG9yOiBSb2RvbGZvIFZpY2sgPE5vbmU+CitSSC1NZXJn ZVJlcXVlc3Q6IDQ4NjogQWRkIERNQUJVRiBzdXBwb3J0CitSSC1KaXJhOiBSSEVMLTEzODQ5NAor UkgtQWNrZWQtYnk6IEPDqWRyaWMgTGUgR29hdGVyIDxjbGdAcmVkaGF0LmNvbT4KK1JILUFja2Vk LWJ5OiBFcmljIEF1Z2VyIDxlcmljLmF1Z2VyQHJlZGhhdC5jb20+CitSSC1Db21taXQ6IFsyNC8x MDBdIGE0NGJlODEzNTA5Yjc3MDgwOWUyZTg5N2MyMzhkMTg0OTZhZTRjM2QgKHJvdmljazEvcWVt dS1rdm0pCisKK05vdyB0aGF0IG5vdGhpbmcgYWNjZXNzZXMgdGhlIGRldmljZSBmaWVsZCBkaXJl Y3RseSwgcmVuYW1lIGRldmljZSB0bworcGFyZW50X29iaiBhcyBwZXIgb3VyIGN1cnJlbnQgY29k aW5nIGd1aWRlbGluZXMuCisKK1NpZ25lZC1vZmYtYnk6IE1hcmsgQ2F2ZS1BeWxhbmQgPG1hcmsu Y2F2ZWF5bGFuZEBudXRhbml4LmNvbT4KK1Jldmlld2VkLWJ5OiBDw6lkcmljIExlIEdvYXRlciA8 Y2xnQHJlZGhhdC5jb20+CitSZXZpZXdlZC1ieTogSm9obiBMZXZvbiA8am9obi5sZXZvbkBudXRh bml4LmNvbT4KK1Jldmlld2VkLWJ5OiBQaGlsaXBwZSBNYXRoaWV1LURhdWTDqSA8cGhpbG1kQGxp bmFyby5vcmc+CitMaW5rOiBodHRwczovL2xvcmUua2VybmVsLm9yZy9xZW11LWRldmVsLzIwMjUw NzE1MDkzMTEwLjEwNzMxNy0xNC1tYXJrLmNhdmVheWxhbmRAbnV0YW5peC5jb20KK1NpZ25lZC1v ZmYtYnk6IEPDqWRyaWMgTGUgR29hdGVyIDxjbGdAcmVkaGF0LmNvbT4KKyhjaGVycnkgcGlja2Vk IGZyb20gY29tbWl0IDVmYzQyMWI4Y2Q0ODEzZmE4Y2E5MTMxOTA1ZjEyYzRlZWRmNTUwNTEpCitT aWduZWQtb2ZmLWJ5OiBFcmljIEF1Z2VyIDxlcmljLmF1Z2VyQHJlZGhhdC5jb20+CistLS0KKyBo dy92ZmlvLXVzZXIvcGNpLmMgfCAyICstCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCsp LCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9ody92ZmlvLXVzZXIvcGNpLmMgYi9ody92 ZmlvLXVzZXIvcGNpLmMKK2luZGV4IDdiNmE2NTE0ZjYuLmMzOTQ3YThmMmUgMTAwNjQ0CistLS0g YS9ody92ZmlvLXVzZXIvcGNpLmMKKysrKyBiL2h3L3ZmaW8tdXNlci9wY2kuYworQEAgLTIwLDcg KzIwLDcgQEAKKyBPQkpFQ1RfREVDTEFSRV9TSU1QTEVfVFlQRShWRklPVXNlclBDSURldmljZSwg VkZJT19VU0VSX1BDSSkKKyAKKyBzdHJ1Y3QgVkZJT1VzZXJQQ0lEZXZpY2UgeworLSAgICBWRklP UENJRGV2aWNlIGRldmljZTsKKysgICAgVkZJT1BDSURldmljZSBwYXJlbnRfb2JqOworIAorICAg ICBTb2NrZXRBZGRyZXNzICpzb2NrZXQ7CisgICAgIGJvb2wgc2VuZF9xdWV1ZWQ7ICAgLyogYWxs IHNlbmRzIGFyZSBxdWV1ZWQgKi8KKy0tIAorMi41Mi4wCisKCmRpZmYgLS1naXQgYS9rdm0tdmZp by11c2VyLXBjaS5jLXJlbmFtZS12ZmlvX3VzZXJfaW5zdGFuY2VfZmluYWxpemUtdC5wYXRjaCBi L2t2bS12ZmlvLXVzZXItcGNpLmMtcmVuYW1lLXZmaW9fdXNlcl9pbnN0YW5jZV9maW5hbGl6ZS10 LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAwNzdmYjIKLS0tIC9k ZXYvbnVsbAorKysgYi9rdm0tdmZpby11c2VyLXBjaS5jLXJlbmFtZS12ZmlvX3VzZXJfaW5zdGFu Y2VfZmluYWxpemUtdC5wYXRjaApAQCAtMCwwICsxLDU0IEBACitGcm9tIDgyYzI4ODM0NmFlNDVl ZjJlZmVkMjNjMDI3OGZjMzE3YjdiYzdiOGYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9t OiBNYXJrIENhdmUtQXlsYW5kIDxtYXJrLmNhdmVheWxhbmRAbnV0YW5peC5jb20+CitEYXRlOiBU aHUsIDI1IFNlcCAyMDI1IDEyOjMxOjM0ICswMTAwCitTdWJqZWN0OiBbUEFUQ0ggMDc3LzExNl0g dmZpby11c2VyL3BjaS5jOiByZW5hbWUgdmZpb191c2VyX2luc3RhbmNlX2ZpbmFsaXplKCkKKyB0 byB2ZmlvX3VzZXJfcGNpX2ZpbmFsaXplKCkKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5 cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6 IDhiaXQKKworUkgtQXV0aG9yOiBSb2RvbGZvIFZpY2sgPE5vbmU+CitSSC1NZXJnZVJlcXVlc3Q6 IDQ4NjogQWRkIERNQUJVRiBzdXBwb3J0CitSSC1KaXJhOiBSSEVMLTEzODQ5NAorUkgtQWNrZWQt Ynk6IEPDqWRyaWMgTGUgR29hdGVyIDxjbGdAcmVkaGF0LmNvbT4KK1JILUFja2VkLWJ5OiBFcmlj IEF1Z2VyIDxlcmljLmF1Z2VyQHJlZGhhdC5jb20+CitSSC1Db21taXQ6IFs2MS8xMDBdIDU0NmVh M2E4OTc0YmExMDUyYmYyZTA5NjZjOTcxMWI4NTVlZWQwMDAgKHJvdmljazEvcWVtdS1rdm0pCisK K1RoaXMgaXMgdGhlIG1vcmUgdHlwaWNhbCBuYW1pbmcgY29udmVudGlvbiBmb3IgUU9NIGZpbmFs aXplKCkgZnVuY3Rpb25zLCBpbgorcGFydGljdWxhciBpdCBjaGFuZ2VzIHRoZSBwcmVmaXggdG8g bWF0Y2ggdGhlIG5hbWUgb2YgdGhlIFFPTSB0eXBlLgorCitTaWduZWQtb2ZmLWJ5OiBNYXJrIENh dmUtQXlsYW5kIDxtYXJrLmNhdmVheWxhbmRAbnV0YW5peC5jb20+CitSZXZpZXdlZC1ieTogQ8Op ZHJpYyBMZSBHb2F0ZXIgPGNsZ0ByZWRoYXQuY29tPgorTGluazogaHR0cHM6Ly9sb3JlLmtlcm5l bC5vcmcvcWVtdS1kZXZlbC8yMDI1MDkyNTExMzE1OS4xNzYwMzE3LTI3LW1hcmsuY2F2ZWF5bGFu ZEBudXRhbml4LmNvbQorU2lnbmVkLW9mZi1ieTogQ8OpZHJpYyBMZSBHb2F0ZXIgPGNsZ0ByZWRo YXQuY29tPgorKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgZDU0NDc0MzdhZWYyZDMyNjcyOGUw YWQxNTkwYTVmYTUwYzBiMzNhMykKK1NpZ25lZC1vZmYtYnk6IEVyaWMgQXVnZXIgPGVyaWMuYXVn ZXJAcmVkaGF0LmNvbT4KKy0tLQorIGh3L3ZmaW8tdXNlci9wY2kuYyB8IDQgKystLQorIDEgZmls ZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQg YS9ody92ZmlvLXVzZXIvcGNpLmMgYi9ody92ZmlvLXVzZXIvcGNpLmMKK2luZGV4IDUyNTYxOTAw ZmQuLmQ0ZjVjN2I5ZDcgMTAwNjQ0CistLS0gYS9ody92ZmlvLXVzZXIvcGNpLmMKKysrKyBiL2h3 L3ZmaW8tdXNlci9wY2kuYworQEAgLTM3MCw3ICszNzAsNyBAQCBzdGF0aWMgdm9pZCB2ZmlvX3Vz ZXJfcGNpX2luaXQoT2JqZWN0ICpvYmopCisgICAgIHBjaV9kZXYtPmNhcF9wcmVzZW50IHw9IFFF TVVfUENJX0NBUF9FWFBSRVNTOworIH0KKyAKKy1zdGF0aWMgdm9pZCB2ZmlvX3VzZXJfaW5zdGFu Y2VfZmluYWxpemUoT2JqZWN0ICpvYmopCisrc3RhdGljIHZvaWQgdmZpb191c2VyX3BjaV9maW5h bGl6ZShPYmplY3QgKm9iaikKKyB7CisgICAgIFZGSU9QQ0lEZXZpY2UgKnZkZXYgPSBWRklPX1BD SV9ERVZJQ0Uob2JqKTsKKyAgICAgVkZJT0RldmljZSAqdmJhc2VkZXYgPSAmdmRldi0+dmJhc2Vk ZXY7CitAQCAtNDY5LDcgKzQ2OSw3IEBAIHN0YXRpYyBjb25zdCBUeXBlSW5mbyB2ZmlvX3VzZXJf cGNpX2Rldl9pbmZvID0geworICAgICAuaW5zdGFuY2Vfc2l6ZSA9IHNpemVvZihWRklPVXNlclBD SURldmljZSksCisgICAgIC5jbGFzc19pbml0ID0gdmZpb191c2VyX3BjaV9jbGFzc19pbml0LAor ICAgICAuaW5zdGFuY2VfaW5pdCA9IHZmaW9fdXNlcl9wY2lfaW5pdCwKKy0gICAgLmluc3RhbmNl X2ZpbmFsaXplID0gdmZpb191c2VyX2luc3RhbmNlX2ZpbmFsaXplLAorKyAgICAuaW5zdGFuY2Vf ZmluYWxpemUgPSB2ZmlvX3VzZXJfcGNpX2ZpbmFsaXplLAorIH07CisgCisgc3RhdGljIHZvaWQg cmVnaXN0ZXJfdmZpb191c2VyX2Rldl90eXBlKHZvaWQpCistLSAKKzIuNTIuMAorCgpkaWZmIC0t Z2l0IGEva3ZtLXZmaW8tdXNlci1wY2kuYy1yZW5hbWUtdmZpb191c2VyX2luc3RhbmNlX2luaXQt dG8tdmYucGF0Y2ggYi9rdm0tdmZpby11c2VyLXBjaS5jLXJlbmFtZS12ZmlvX3VzZXJfaW5zdGFu Y2VfaW5pdC10by12Zi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40 ZjQ3OWNhCi0tLSAvZGV2L251bGwKKysrIGIva3ZtLXZmaW8tdXNlci1wY2kuYy1yZW5hbWUtdmZp b191c2VyX2luc3RhbmNlX2luaXQtdG8tdmYucGF0Y2gKQEAgLTAsMCArMSw1NCBAQAorRnJvbSAx NzE5OTI1ZDUyMDViYzE2ZTViMjRiN2M3MDAzOTQ3MjViODU5YjI1IE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQorRnJvbTogTWFyayBDYXZlLUF5bGFuZCA8bWFyay5jYXZlYXlsYW5kQG51dGFuaXgu Y29tPgorRGF0ZTogVGh1LCAyNSBTZXAgMjAyNSAxMjozMTozMyArMDEwMAorU3ViamVjdDogW1BB VENIIDA3Ni8xMTZdIHZmaW8tdXNlci9wY2kuYzogcmVuYW1lIHZmaW9fdXNlcl9pbnN0YW5jZV9p bml0KCkgdG8KKyB2ZmlvX3VzZXJfcGNpX2luaXQoKQorTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRl bnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNv ZGluZzogOGJpdAorCitSSC1BdXRob3I6IFJvZG9sZm8gVmljayA8Tm9uZT4KK1JILU1lcmdlUmVx dWVzdDogNDg2OiBBZGQgRE1BQlVGIHN1cHBvcnQKK1JILUppcmE6IFJIRUwtMTM4NDk0CitSSC1B Y2tlZC1ieTogQ8OpZHJpYyBMZSBHb2F0ZXIgPGNsZ0ByZWRoYXQuY29tPgorUkgtQWNrZWQtYnk6 IEVyaWMgQXVnZXIgPGVyaWMuYXVnZXJAcmVkaGF0LmNvbT4KK1JILUNvbW1pdDogWzYwLzEwMF0g YmJlMDdkMTc3Zjc4MThkZTJkNWFjYzc2ZTUyMzg5Mzg3M2U0Y2QzMyAocm92aWNrMS9xZW11LWt2 bSkKKworVGhpcyBpcyB0aGUgbW9yZSB0eXBpY2FsIG5hbWluZyBjb252ZW50aW9uIGZvciBRT00g aW5pdCgpIGZ1bmN0aW9ucywgaW4KK3BhcnRpY3VsYXIgaXQgY2hhbmdlcyB0aGUgcHJlZml4IHRv IG1hdGNoIHRoZSBuYW1lIG9mIHRoZSBRT00gdHlwZS4KKworU2lnbmVkLW9mZi1ieTogTWFyayBD YXZlLUF5bGFuZCA8bWFyay5jYXZlYXlsYW5kQG51dGFuaXguY29tPgorUmV2aWV3ZWQtYnk6IEPD qWRyaWMgTGUgR29hdGVyIDxjbGdAcmVkaGF0LmNvbT4KK0xpbms6IGh0dHBzOi8vbG9yZS5rZXJu ZWwub3JnL3FlbXUtZGV2ZWwvMjAyNTA5MjUxMTMxNTkuMTc2MDMxNy0yNi1tYXJrLmNhdmVheWxh bmRAbnV0YW5peC5jb20KK1NpZ25lZC1vZmYtYnk6IEPDqWRyaWMgTGUgR29hdGVyIDxjbGdAcmVk aGF0LmNvbT4KKyhjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IGRlODM3YjVjYmQ0ODk0MTBhYWIx ZWRhMDBiNGI1MGU0NWE4NWQ1ZDYpCitTaWduZWQtb2ZmLWJ5OiBFcmljIEF1Z2VyIDxlcmljLmF1 Z2VyQHJlZGhhdC5jb20+CistLS0KKyBody92ZmlvLXVzZXIvcGNpLmMgfCA0ICsrLS0KKyAxIGZp bGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0 IGEvaHcvdmZpby11c2VyL3BjaS5jIGIvaHcvdmZpby11c2VyL3BjaS5jCitpbmRleCAzMGY0ODVm ZGJiLi41MjU2MTkwMGZkIDEwMDY0NAorLS0tIGEvaHcvdmZpby11c2VyL3BjaS5jCisrKysgYi9o dy92ZmlvLXVzZXIvcGNpLmMKK0BAIC0zNDQsNyArMzQ0LDcgQEAgZXJyb3I6CisgICAgIHZmaW9f cGNpX3B1dF9kZXZpY2UodmRldik7CisgfQorIAorLXN0YXRpYyB2b2lkIHZmaW9fdXNlcl9pbnN0 YW5jZV9pbml0KE9iamVjdCAqb2JqKQorK3N0YXRpYyB2b2lkIHZmaW9fdXNlcl9wY2lfaW5pdChP YmplY3QgKm9iaikKKyB7CisgICAgIFBDSURldmljZSAqcGNpX2RldiA9IFBDSV9ERVZJQ0Uob2Jq KTsKKyAgICAgVkZJT1BDSURldmljZSAqdmRldiA9IFZGSU9fUENJX0RFVklDRShvYmopOworQEAg LTQ2OCw3ICs0NjgsNyBAQCBzdGF0aWMgY29uc3QgVHlwZUluZm8gdmZpb191c2VyX3BjaV9kZXZf aW5mbyA9IHsKKyAgICAgLnBhcmVudCA9IFRZUEVfVkZJT19QQ0lfREVWSUNFLAorICAgICAuaW5z dGFuY2Vfc2l6ZSA9IHNpemVvZihWRklPVXNlclBDSURldmljZSksCisgICAgIC5jbGFzc19pbml0 ID0gdmZpb191c2VyX3BjaV9jbGFzc19pbml0LAorLSAgICAuaW5zdGFuY2VfaW5pdCA9IHZmaW9f dXNlcl9pbnN0YW5jZV9pbml0LAorKyAgICAuaW5zdGFuY2VfaW5pdCA9IHZmaW9fdXNlcl9wY2lf aW5pdCwKKyAgICAgLmluc3RhbmNlX2ZpbmFsaXplID0gdmZpb191c2VyX2luc3RhbmNlX2ZpbmFs aXplLAorIH07CisgCistLSAKKzIuNTIuMAorCgpkaWZmIC0tZ2l0IGEva3ZtLXZmaW8tdXNlci1w Y2kuYy1yZW5hbWUtdmZpb191c2VyX3BjaV9kZXZfY2xhc3NfaW5pdC0ucGF0Y2ggYi9rdm0tdmZp by11c2VyLXBjaS5jLXJlbmFtZS12ZmlvX3VzZXJfcGNpX2Rldl9jbGFzc19pbml0LS5wYXRjaApu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZGEyNTBhCi0tLSAvZGV2L251bGwK KysrIGIva3ZtLXZmaW8tdXNlci1wY2kuYy1yZW5hbWUtdmZpb191c2VyX3BjaV9kZXZfY2xhc3Nf aW5pdC0ucGF0Y2gKQEAgLTAsMCArMSw1MyBAQAorRnJvbSBlNTBlMzI0NDQzZDAzOGVmMTI1MTg1 ZWM5YjMwNjg5MWUyNzRlZWM0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWFyayBD YXZlLUF5bGFuZCA8bWFyay5jYXZlYXlsYW5kQG51dGFuaXguY29tPgorRGF0ZTogVGh1LCAyNSBT ZXAgMjAyNSAxMjozMTozMSArMDEwMAorU3ViamVjdDogW1BBVENIIDA3NC8xMTZdIHZmaW8tdXNl ci9wY2kuYzogcmVuYW1lCisgdmZpb191c2VyX3BjaV9kZXZfY2xhc3NfaW5pdCgpIHRvIHZmaW9f dXNlcl9wY2lfY2xhc3NfaW5pdCgpCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0 ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0 CisKK1JILUF1dGhvcjogUm9kb2xmbyBWaWNrIDxOb25lPgorUkgtTWVyZ2VSZXF1ZXN0OiA0ODY6 IEFkZCBETUFCVUYgc3VwcG9ydAorUkgtSmlyYTogUkhFTC0xMzg0OTQKK1JILUFja2VkLWJ5OiBD w6lkcmljIExlIEdvYXRlciA8Y2xnQHJlZGhhdC5jb20+CitSSC1BY2tlZC1ieTogRXJpYyBBdWdl ciA8ZXJpYy5hdWdlckByZWRoYXQuY29tPgorUkgtQ29tbWl0OiBbNTgvMTAwXSAyOTIxZTMxYWY4 NTI5ZGMwM2I0NjNhYzNlMmIzNDk1OWI1Nzk0YjY1IChyb3ZpY2sxL3FlbXUta3ZtKQorCitUaGlz IGNoYW5nZXMgdGhlIGZ1bmN0aW9uIHByZWZpeCB0byBtYXRjaCB0aGUgbmFtZSBvZiB0aGUgUU9N IHR5cGUuCisKK1NpZ25lZC1vZmYtYnk6IE1hcmsgQ2F2ZS1BeWxhbmQgPG1hcmsuY2F2ZWF5bGFu ZEBudXRhbml4LmNvbT4KK1Jldmlld2VkLWJ5OiBDw6lkcmljIExlIEdvYXRlciA8Y2xnQHJlZGhh dC5jb20+CitMaW5rOiBodHRwczovL2xvcmUua2VybmVsLm9yZy9xZW11LWRldmVsLzIwMjUwOTI1 MTEzMTU5LjE3NjAzMTctMjQtbWFyay5jYXZlYXlsYW5kQG51dGFuaXguY29tCitTaWduZWQtb2Zm LWJ5OiBDw6lkcmljIExlIEdvYXRlciA8Y2xnQHJlZGhhdC5jb20+CisoY2hlcnJ5IHBpY2tlZCBm cm9tIGNvbW1pdCBjODMzZjdhNWM2NmUxMjY0YmZhYWEzODk0NjdjNWFmOGQ5YzQ5MDgyKQorU2ln bmVkLW9mZi1ieTogRXJpYyBBdWdlciA8ZXJpYy5hdWdlckByZWRoYXQuY29tPgorLS0tCisgaHcv dmZpby11c2VyL3BjaS5jIHwgNCArKy0tCisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygr KSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2h3L3ZmaW8tdXNlci9wY2kuYyBiL2h3 L3ZmaW8tdXNlci9wY2kuYworaW5kZXggZWZjZWFlNjlkZS4uZTJjNWI1NzQ0YyAxMDA2NDQKKy0t LSBhL2h3L3ZmaW8tdXNlci9wY2kuYworKysrIGIvaHcvdmZpby11c2VyL3BjaS5jCitAQCAtNDQ2 LDcgKzQ0Niw3IEBAIHN0YXRpYyB2b2lkIHZmaW9fdXNlcl9wY2lfc2V0X3NvY2tldChPYmplY3Qg Km9iaiwgVmlzaXRvciAqdiwgY29uc3QgY2hhciAqbmFtZSwKKyAgICAgfQorIH0KKyAKKy1zdGF0 aWMgdm9pZCB2ZmlvX3VzZXJfcGNpX2Rldl9jbGFzc19pbml0KE9iamVjdENsYXNzICprbGFzcywg Y29uc3Qgdm9pZCAqZGF0YSkKKytzdGF0aWMgdm9pZCB2ZmlvX3VzZXJfcGNpX2NsYXNzX2luaXQo T2JqZWN0Q2xhc3MgKmtsYXNzLCBjb25zdCB2b2lkICpkYXRhKQorIHsKKyAgICAgRGV2aWNlQ2xh c3MgKmRjID0gREVWSUNFX0NMQVNTKGtsYXNzKTsKKyAgICAgUENJRGV2aWNlQ2xhc3MgKnBkYyA9 IFBDSV9ERVZJQ0VfQ0xBU1Moa2xhc3MpOworQEAgLTQ2Nyw3ICs0NjcsNyBAQCBzdGF0aWMgY29u c3QgVHlwZUluZm8gdmZpb191c2VyX3BjaV9kZXZfaW5mbyA9IHsKKyAgICAgLm5hbWUgPSBUWVBF X1ZGSU9fVVNFUl9QQ0ksCisgICAgIC5wYXJlbnQgPSBUWVBFX1ZGSU9fUENJX0RFVklDRSwKKyAg ICAgLmluc3RhbmNlX3NpemUgPSBzaXplb2YoVkZJT1VzZXJQQ0lEZXZpY2UpLAorLSAgICAuY2xh c3NfaW5pdCA9IHZmaW9fdXNlcl9wY2lfZGV2X2NsYXNzX2luaXQsCisrICAgIC5jbGFzc19pbml0 ID0gdmZpb191c2VyX3BjaV9jbGFzc19pbml0LAorICAgICAuaW5zdGFuY2VfaW5pdCA9IHZmaW9f dXNlcl9pbnN0YW5jZV9pbml0LAorICAgICAuaW5zdGFuY2VfZmluYWxpemUgPSB2ZmlvX3VzZXJf aW5zdGFuY2VfZmluYWxpemUsCisgfTsKKy0tIAorMi41Mi4wCisKCmRpZmYgLS1naXQgYS9rdm0t dmZpby11c2VyLXBjaS5jLXJlbmFtZS12ZmlvX3VzZXJfcGNpX2Rldl9pbmZvLXRvLXZmaS5wYXRj aCBiL2t2bS12ZmlvLXVzZXItcGNpLmMtcmVuYW1lLXZmaW9fdXNlcl9wY2lfZGV2X2luZm8tdG8t dmZpLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJiMGJlZjMKLS0t IC9kZXYvbnVsbAorKysgYi9rdm0tdmZpby11c2VyLXBjaS5jLXJlbmFtZS12ZmlvX3VzZXJfcGNp X2Rldl9pbmZvLXRvLXZmaS5wYXRjaApAQCAtMCwwICsxLDU0IEBACitGcm9tIDM0NzU2ZWYwZDNh M2RhOTA2ODg3ODE0NmZkMDBlODNhMWM1NWEwOGMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitG cm9tOiBNYXJrIENhdmUtQXlsYW5kIDxtYXJrLmNhdmVheWxhbmRAbnV0YW5peC5jb20+CitEYXRl OiBUaHUsIDI1IFNlcCAyMDI1IDEyOjMxOjM1ICswMTAwCitTdWJqZWN0OiBbUEFUQ0ggMDc4LzEx Nl0gdmZpby11c2VyL3BjaS5jOiByZW5hbWUgdmZpb191c2VyX3BjaV9kZXZfaW5mbyB0bworIHZm aW9fdXNlcl9wY2lfaW5mbworTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTogdGV4dC9w bGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAorCitS SC1BdXRob3I6IFJvZG9sZm8gVmljayA8Tm9uZT4KK1JILU1lcmdlUmVxdWVzdDogNDg2OiBBZGQg RE1BQlVGIHN1cHBvcnQKK1JILUppcmE6IFJIRUwtMTM4NDk0CitSSC1BY2tlZC1ieTogQ8OpZHJp YyBMZSBHb2F0ZXIgPGNsZ0ByZWRoYXQuY29tPgorUkgtQWNrZWQtYnk6IEVyaWMgQXVnZXIgPGVy aWMuYXVnZXJAcmVkaGF0LmNvbT4KK1JILUNvbW1pdDogWzYyLzEwMF0gODMxMDZlN2NhY2YwZTRi OTFjYmVlOGUxN2VjZGIxYTc5NzZlNmFiZiAocm92aWNrMS9xZW11LWt2bSkKKworVGhpcyBjaGFu Z2VzIHRoZSBwcmVmaXggdG8gbWF0Y2ggdGhlIG5hbWUgb2YgdGhlIFFPTSB0eXBlLgorCitTaWdu ZWQtb2ZmLWJ5OiBNYXJrIENhdmUtQXlsYW5kIDxtYXJrLmNhdmVheWxhbmRAbnV0YW5peC5jb20+ CitSZXZpZXdlZC1ieTogQ8OpZHJpYyBMZSBHb2F0ZXIgPGNsZ0ByZWRoYXQuY29tPgorTGluazog aHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvcWVtdS1kZXZlbC8yMDI1MDkyNTExMzE1OS4xNzYwMzE3 LTI4LW1hcmsuY2F2ZWF5bGFuZEBudXRhbml4LmNvbQorU2lnbmVkLW9mZi1ieTogQ8OpZHJpYyBM ZSBHb2F0ZXIgPGNsZ0ByZWRoYXQuY29tPgorKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgZDA3 NzZiOGM2MGZjYzU4MzNmYmExZDJjZThlMDc4MGM0MjkxMDhiYykKK1NpZ25lZC1vZmYtYnk6IEVy aWMgQXVnZXIgPGVyaWMuYXVnZXJAcmVkaGF0LmNvbT4KKy0tLQorIGh3L3ZmaW8tdXNlci9wY2ku YyB8IDYgKysrLS0tCisgMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlv bnMoLSkKKworZGlmZiAtLWdpdCBhL2h3L3ZmaW8tdXNlci9wY2kuYyBiL2h3L3ZmaW8tdXNlci9w Y2kuYworaW5kZXggZDRmNWM3YjlkNy4uYjUzZWQzYjQ1NiAxMDA2NDQKKy0tLSBhL2h3L3ZmaW8t dXNlci9wY2kuYworKysrIGIvaHcvdmZpby11c2VyL3BjaS5jCitAQCAtNDYzLDcgKzQ2Myw3IEBA IHN0YXRpYyB2b2lkIHZmaW9fdXNlcl9wY2lfY2xhc3NfaW5pdChPYmplY3RDbGFzcyAqa2xhc3Ms IGNvbnN0IHZvaWQgKmRhdGEpCisgICAgIHBkYy0+cmVhbGl6ZSA9IHZmaW9fdXNlcl9wY2lfcmVh bGl6ZTsKKyB9CisgCistc3RhdGljIGNvbnN0IFR5cGVJbmZvIHZmaW9fdXNlcl9wY2lfZGV2X2lu Zm8gPSB7Cisrc3RhdGljIGNvbnN0IFR5cGVJbmZvIHZmaW9fdXNlcl9wY2lfaW5mbyA9IHsKKyAg ICAgLm5hbWUgPSBUWVBFX1ZGSU9fVVNFUl9QQ0ksCisgICAgIC5wYXJlbnQgPSBUWVBFX1ZGSU9f UENJX0RFVklDRSwKKyAgICAgLmluc3RhbmNlX3NpemUgPSBzaXplb2YoVkZJT1VzZXJQQ0lEZXZp Y2UpLAorQEAgLTQ3NCw3ICs0NzQsNyBAQCBzdGF0aWMgY29uc3QgVHlwZUluZm8gdmZpb191c2Vy X3BjaV9kZXZfaW5mbyA9IHsKKyAKKyBzdGF0aWMgdm9pZCByZWdpc3Rlcl92ZmlvX3VzZXJfZGV2 X3R5cGUodm9pZCkKKyB7CistICAgIHR5cGVfcmVnaXN0ZXJfc3RhdGljKCZ2ZmlvX3VzZXJfcGNp X2Rldl9pbmZvKTsKKysgICAgdHlwZV9yZWdpc3Rlcl9zdGF0aWMoJnZmaW9fdXNlcl9wY2lfaW5m byk7CisgfQorIAorLSB0eXBlX2luaXQocmVnaXN0ZXJfdmZpb191c2VyX2Rldl90eXBlKQorK3R5 cGVfaW5pdChyZWdpc3Rlcl92ZmlvX3VzZXJfZGV2X3R5cGUpCistLSAKKzIuNTIuMAorCgpkaWZm IC0tZ2l0IGEva3ZtLXZmaW8tdXNlci1wY2kuYy1yZW5hbWUtdmZpb191c2VyX3BjaV9kZXZfcHJv cGVydGllcy0ucGF0Y2ggYi9rdm0tdmZpby11c2VyLXBjaS5jLXJlbmFtZS12ZmlvX3VzZXJfcGNp X2Rldl9wcm9wZXJ0aWVzLS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw Li5iNWQ3MTM1Ci0tLSAvZGV2L251bGwKKysrIGIva3ZtLXZmaW8tdXNlci1wY2kuYy1yZW5hbWUt dmZpb191c2VyX3BjaV9kZXZfcHJvcGVydGllcy0ucGF0Y2gKQEAgLTAsMCArMSw1MyBAQAorRnJv bSBlNmViZTFiYWNlZTVkNTBiMDdhZWQyODM3ZWIxODQ0MTgwYWQzMmJlIE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQorRnJvbTogTWFyayBDYXZlLUF5bGFuZCA8bWFyay5jYXZlYXlsYW5kQG51dGFu aXguY29tPgorRGF0ZTogVGh1LCAyNSBTZXAgMjAyNSAxMjozMTozMiArMDEwMAorU3ViamVjdDog W1BBVENIIDA3NS8xMTZdIHZmaW8tdXNlci9wY2kuYzogcmVuYW1lCisgdmZpb191c2VyX3BjaV9k ZXZfcHJvcGVydGllc1tdIHRvIHZmaW9fdXNlcl9wY2lfcHJvcGVydGllc1tdCitNSU1FLVZlcnNp b246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50 LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK1JILUF1dGhvcjogUm9kb2xmbyBWaWNrIDxOb25l PgorUkgtTWVyZ2VSZXF1ZXN0OiA0ODY6IEFkZCBETUFCVUYgc3VwcG9ydAorUkgtSmlyYTogUkhF TC0xMzg0OTQKK1JILUFja2VkLWJ5OiBDw6lkcmljIExlIEdvYXRlciA8Y2xnQHJlZGhhdC5jb20+ CitSSC1BY2tlZC1ieTogRXJpYyBBdWdlciA8ZXJpYy5hdWdlckByZWRoYXQuY29tPgorUkgtQ29t bWl0OiBbNTkvMTAwXSAyMGQxMTg0NWUxNWE2NTg0ZTcyZTg3MWRjNTYyMzJjMWViOTQyZjEzIChy b3ZpY2sxL3FlbXUta3ZtKQorCitUaGlzIGNoYW5nZXMgdGhlIHByZWZpeCB0byBtYXRjaCB0aGUg bmFtZSBvZiB0aGUgUU9NIHR5cGUuCisKK1NpZ25lZC1vZmYtYnk6IE1hcmsgQ2F2ZS1BeWxhbmQg PG1hcmsuY2F2ZWF5bGFuZEBudXRhbml4LmNvbT4KK1Jldmlld2VkLWJ5OiBDw6lkcmljIExlIEdv YXRlciA8Y2xnQHJlZGhhdC5jb20+CitMaW5rOiBodHRwczovL2xvcmUua2VybmVsLm9yZy9xZW11 LWRldmVsLzIwMjUwOTI1MTEzMTU5LjE3NjAzMTctMjUtbWFyay5jYXZlYXlsYW5kQG51dGFuaXgu Y29tCitTaWduZWQtb2ZmLWJ5OiBDw6lkcmljIExlIEdvYXRlciA8Y2xnQHJlZGhhdC5jb20+Ciso Y2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCA3OGY0Yjc3NjA3YjQxOTA5YzI5NGYxNWFlNGU1MWQ4 N2UzNmFhYjRmKQorU2lnbmVkLW9mZi1ieTogRXJpYyBBdWdlciA8ZXJpYy5hdWdlckByZWRoYXQu Y29tPgorLS0tCisgaHcvdmZpby11c2VyL3BjaS5jIHwgNCArKy0tCisgMSBmaWxlIGNoYW5nZWQs IDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL2h3L3ZmaW8t dXNlci9wY2kuYyBiL2h3L3ZmaW8tdXNlci9wY2kuYworaW5kZXggZTJjNWI1NzQ0Yy4uMzBmNDg1 ZmRiYiAxMDA2NDQKKy0tLSBhL2h3L3ZmaW8tdXNlci9wY2kuYworKysrIGIvaHcvdmZpby11c2Vy L3BjaS5jCitAQCAtNDAwLDcgKzQwMCw3IEBAIHN0YXRpYyB2b2lkIHZmaW9fdXNlcl9wY2lfcmVz ZXQoRGV2aWNlU3RhdGUgKmRldikKKyAgICAgdmZpb19wY2lfcG9zdF9yZXNldCh2ZGV2KTsKKyB9 CisgCistc3RhdGljIGNvbnN0IFByb3BlcnR5IHZmaW9fdXNlcl9wY2lfZGV2X3Byb3BlcnRpZXNb XSA9IHsKKytzdGF0aWMgY29uc3QgUHJvcGVydHkgdmZpb191c2VyX3BjaV9wcm9wZXJ0aWVzW10g PSB7CisgICAgIERFRklORV9QUk9QX1VJTlQzMigieC1wY2ktdmVuZG9yLWlkIiwgVkZJT1BDSURl dmljZSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHZlbmRvcl9pZCwgUENJX0FOWV9JRCksCisg ICAgIERFRklORV9QUk9QX1VJTlQzMigieC1wY2ktZGV2aWNlLWlkIiwgVkZJT1BDSURldmljZSwK K0BAIC00NTIsNyArNDUyLDcgQEAgc3RhdGljIHZvaWQgdmZpb191c2VyX3BjaV9jbGFzc19pbml0 KE9iamVjdENsYXNzICprbGFzcywgY29uc3Qgdm9pZCAqZGF0YSkKKyAgICAgUENJRGV2aWNlQ2xh c3MgKnBkYyA9IFBDSV9ERVZJQ0VfQ0xBU1Moa2xhc3MpOworIAorICAgICBkZXZpY2VfY2xhc3Nf c2V0X2xlZ2FjeV9yZXNldChkYywgdmZpb191c2VyX3BjaV9yZXNldCk7CistICAgIGRldmljZV9j bGFzc19zZXRfcHJvcHMoZGMsIHZmaW9fdXNlcl9wY2lfZGV2X3Byb3BlcnRpZXMpOworKyAgICBk ZXZpY2VfY2xhc3Nfc2V0X3Byb3BzKGRjLCB2ZmlvX3VzZXJfcGNpX3Byb3BlcnRpZXMpOworIAor ICAgICBvYmplY3RfY2xhc3NfcHJvcGVydHlfYWRkKGtsYXNzLCAic29ja2V0IiwgIlNvY2tldEFk ZHJlc3MiLCBOVUxMLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZmaW9fdXNlcl9w Y2lfc2V0X3NvY2tldCwgTlVMTCwgTlVMTCk7CistLSAKKzIuNTIuMAorCgpkaWZmIC0tZ2l0IGEv a3ZtLXZmaW8tdXNlci1wY2kuYy11cGRhdGUtVkZJT1VzZXJQQ0lEZXZpY2UtZGVjbGFyYXRpb24u cGF0Y2ggYi9rdm0tdmZpby11c2VyLXBjaS5jLXVwZGF0ZS1WRklPVXNlclBDSURldmljZS1kZWNs YXJhdGlvbi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wN2JjYjVh Ci0tLSAvZGV2L251bGwKKysrIGIva3ZtLXZmaW8tdXNlci1wY2kuYy11cGRhdGUtVkZJT1VzZXJQ Q0lEZXZpY2UtZGVjbGFyYXRpb24ucGF0Y2gKQEAgLTAsMCArMSw0NSBAQAorRnJvbSBkOTg5MzFj ZGZhMTEyMjUxYTVjZjRlOWJmYjZlYThjZDEyMzg4ZDQzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQorRnJvbTogTWFyayBDYXZlLUF5bGFuZCA8bWFyay5jYXZlYXlsYW5kQG51dGFuaXguY29tPgor RGF0ZTogVHVlLCAxNSBKdWwgMjAyNSAxMDoyNTo1MSArMDEwMAorU3ViamVjdDogW1BBVENIIDAz OC8xMTZdIHZmaW8tdXNlci9wY2kuYzogdXBkYXRlIFZGSU9Vc2VyUENJRGV2aWNlIGRlY2xhcmF0 aW9uCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0 PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK1JILUF1dGhvcjogUm9k b2xmbyBWaWNrIDxOb25lPgorUkgtTWVyZ2VSZXF1ZXN0OiA0ODY6IEFkZCBETUFCVUYgc3VwcG9y dAorUkgtSmlyYTogUkhFTC0xMzg0OTQKK1JILUFja2VkLWJ5OiBDw6lkcmljIExlIEdvYXRlciA8 Y2xnQHJlZGhhdC5jb20+CitSSC1BY2tlZC1ieTogRXJpYyBBdWdlciA8ZXJpYy5hdWdlckByZWRo YXQuY29tPgorUkgtQ29tbWl0OiBbMjIvMTAwXSA0OGM0MTNiZDRkYjc1MThhOTkwMzBlYzQwYjJk ZTgxZjJiZjU5NmJhIChyb3ZpY2sxL3FlbXUta3ZtKQorCitVcGRhdGUgdGhlIFZGSU9Vc2VyUENJ RGV2aWNlIGRlY2xhcmF0aW9uIHNvIHRoYXQgaXQgaXMgY2xvc2VyIHRvIG91ciBjb2RpbmcKK2d1 aWRlbGluZXM6IGFkZCBhIGJsYW5rIGxpbmUgYWZ0ZXIgdGhlIHBhcmVudCBvYmplY3QuCisKK1Np Z25lZC1vZmYtYnk6IE1hcmsgQ2F2ZS1BeWxhbmQgPG1hcmsuY2F2ZWF5bGFuZEBudXRhbml4LmNv bT4KK1Jldmlld2VkLWJ5OiBDw6lkcmljIExlIEdvYXRlciA8Y2xnQHJlZGhhdC5jb20+CitSZXZp ZXdlZC1ieTogSm9obiBMZXZvbiA8am9obi5sZXZvbkBudXRhbml4LmNvbT4KK1Jldmlld2VkLWJ5 OiBQaGlsaXBwZSBNYXRoaWV1LURhdWTDqSA8cGhpbG1kQGxpbmFyby5vcmc+CitMaW5rOiBodHRw czovL2xvcmUua2VybmVsLm9yZy9xZW11LWRldmVsLzIwMjUwNzE1MDkzMTEwLjEwNzMxNy0xMi1t YXJrLmNhdmVheWxhbmRAbnV0YW5peC5jb20KK1NpZ25lZC1vZmYtYnk6IEPDqWRyaWMgTGUgR29h dGVyIDxjbGdAcmVkaGF0LmNvbT4KKyhjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IGI0NThlOWU5 ZTRjMTcxNjIyZjE5ZGYxOGY1MzYzYzdlZjRlODY5N2YpCitTaWduZWQtb2ZmLWJ5OiBFcmljIEF1 Z2VyIDxlcmljLmF1Z2VyQHJlZGhhdC5jb20+CistLS0KKyBody92ZmlvLXVzZXIvcGNpLmMgfCAx ICsKKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKKworZGlmZiAtLWdpdCBhL2h3L3Zm aW8tdXNlci9wY2kuYyBiL2h3L3ZmaW8tdXNlci9wY2kuYworaW5kZXggZGZhYTg5NDk4ZC4uMjlj YjU5MmU5YyAxMDA2NDQKKy0tLSBhL2h3L3ZmaW8tdXNlci9wY2kuYworKysrIGIvaHcvdmZpby11 c2VyL3BjaS5jCitAQCAtMjEsNiArMjEsNyBAQCBPQkpFQ1RfREVDTEFSRV9TSU1QTEVfVFlQRShW RklPVXNlclBDSURldmljZSwgVkZJT19VU0VSX1BDSSkKKyAKKyBzdHJ1Y3QgVkZJT1VzZXJQQ0lE ZXZpY2UgeworICAgICBWRklPUENJRGV2aWNlIGRldmljZTsKKysKKyAgICAgU29ja2V0QWRkcmVz cyAqc29ja2V0OworICAgICBib29sIHNlbmRfcXVldWVkOyAgIC8qIGFsbCBzZW5kcyBhcmUgcXVl dWVkICovCisgICAgIHVpbnQzMl90IHdhaXRfdGltZTsgLyogdGltZW91dCBmb3IgbWVzc2FnZSBy ZXBsaWVzICovCistLSAKKzIuNTIuMAorCgpkaWZmIC0tZ2l0IGEva3ZtLXZmaW8tdXNlci1wY2ku Yy11c2UtUU9NLWNhc3RzLXdoZXJlLWFwcHJvcHJpYXRlLnBhdGNoIGIva3ZtLXZmaW8tdXNlci1w Y2kuYy11c2UtUU9NLWNhc3RzLXdoZXJlLWFwcHJvcHJpYXRlLnBhdGNoCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNlNTFjZGEKLS0tIC9kZXYvbnVsbAorKysgYi9rdm0tdmZp by11c2VyLXBjaS5jLXVzZS1RT00tY2FzdHMtd2hlcmUtYXBwcm9wcmlhdGUucGF0Y2gKQEAgLTAs MCArMSw1NiBAQAorRnJvbSAwNWVlY2I4ODY4YTIwOGJiYjljMDAwZThjMmEwNmIwNjBhMWMxMjUw IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWFyayBDYXZlLUF5bGFuZCA8bWFyay5j YXZlYXlsYW5kQG51dGFuaXguY29tPgorRGF0ZTogVHVlLCAxNSBKdWwgMjAyNSAxMDoyNTo1MiAr MDEwMAorU3ViamVjdDogW1BBVENIIDAzOS8xMTZdIHZmaW8tdXNlci9wY2kuYzogdXNlIFFPTSBj YXN0cyB3aGVyZSBhcHByb3ByaWF0ZQorTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTog dGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJp dAorCitSSC1BdXRob3I6IFJvZG9sZm8gVmljayA8Tm9uZT4KK1JILU1lcmdlUmVxdWVzdDogNDg2 OiBBZGQgRE1BQlVGIHN1cHBvcnQKK1JILUppcmE6IFJIRUwtMTM4NDk0CitSSC1BY2tlZC1ieTog Q8OpZHJpYyBMZSBHb2F0ZXIgPGNsZ0ByZWRoYXQuY29tPgorUkgtQWNrZWQtYnk6IEVyaWMgQXVn ZXIgPGVyaWMuYXVnZXJAcmVkaGF0LmNvbT4KK1JILUNvbW1pdDogWzIzLzEwMF0gZTc5MzY5NmNk MWVlNWNiY2YxYjA4NGY0NmU4ZTcxM2Y4ZjgxM2RkNSAocm92aWNrMS9xZW11LWt2bSkKKworVXNl IFFPTSBjYXN0cyB0byBjb252ZXJ0IGJldHdlZW4gVkZJT1VzZXJQQ0lEZXZpY2UgYW5kIFZGSU9Q Q0lEZXZpY2UgaW5zdGVhZAorb2YgYWNjZXNzaW5nIGRldmljZSBkaXJlY3RseS4KKworU2lnbmVk LW9mZi1ieTogTWFyayBDYXZlLUF5bGFuZCA8bWFyay5jYXZlYXlsYW5kQG51dGFuaXguY29tPgor UmV2aWV3ZWQtYnk6IEpvaG4gTGV2b24gPGpvaG4ubGV2b25AbnV0YW5peC5jb20+CitMaW5rOiBo dHRwczovL2xvcmUua2VybmVsLm9yZy9xZW11LWRldmVsLzIwMjUwNzE1MDkzMTEwLjEwNzMxNy0x My1tYXJrLmNhdmVheWxhbmRAbnV0YW5peC5jb20KK1NpZ25lZC1vZmYtYnk6IEPDqWRyaWMgTGUg R29hdGVyIDxjbGdAcmVkaGF0LmNvbT4KKyhjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDVkMTIx OWUzNThhNTU5NjgwZmRjMzRiMTEyZTJiMDQ4MDZmNWZmNjIpCitTaWduZWQtb2ZmLWJ5OiBFcmlj IEF1Z2VyIDxlcmljLmF1Z2VyQHJlZGhhdC5jb20+CistLS0KKyBody92ZmlvLXVzZXIvcGNpLmMg fCA3ICsrKystLS0KKyAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9u cygtKQorCitkaWZmIC0tZ2l0IGEvaHcvdmZpby11c2VyL3BjaS5jIGIvaHcvdmZpby11c2VyL3Bj aS5jCitpbmRleCAyOWNiNTkyZTljLi43YjZhNjUxNGY2IDEwMDY0NAorLS0tIGEvaHcvdmZpby11 c2VyL3BjaS5jCisrKysgYi9ody92ZmlvLXVzZXIvcGNpLmMKK0BAIC0yMTQsOCArMjE0LDkgQEAg c3RhdGljIHZvaWQgdmZpb191c2VyX2NvbXB1dGVfbmVlZHNfcmVzZXQoVkZJT0RldmljZSAqdmJh c2VkZXYpCisgCisgc3RhdGljIE9iamVjdCAqdmZpb191c2VyX3BjaV9nZXRfb2JqZWN0KFZGSU9E ZXZpY2UgKnZiYXNlZGV2KQorIHsKKy0gICAgVkZJT1VzZXJQQ0lEZXZpY2UgKnZkZXYgPSBjb250 YWluZXJfb2YodmJhc2VkZXYsIFZGSU9Vc2VyUENJRGV2aWNlLAorLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBkZXZpY2UudmJhc2VkZXYpOworKyAgICBWRklPVXNl clBDSURldmljZSAqdmRldiA9IFZGSU9fVVNFUl9QQ0koY29udGFpbmVyX29mKHZiYXNlZGV2LAor KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFZGSU9QQ0lEZXZpY2UsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgdmJhc2VkZXYpKTsKKyAKKyAgICAgcmV0dXJuIE9CSkVDVCh2ZGV2 KTsKKyB9CitAQCAtNDIwLDcgKzQyMSw3IEBAIHN0YXRpYyB2b2lkIHZmaW9fdXNlcl9wY2lfc2V0 X3NvY2tldChPYmplY3QgKm9iaiwgVmlzaXRvciAqdiwgY29uc3QgY2hhciAqbmFtZSwKKyAgICAg VkZJT1VzZXJQQ0lEZXZpY2UgKnVkZXYgPSBWRklPX1VTRVJfUENJKG9iaik7CisgICAgIGJvb2wg c3VjY2VzczsKKyAKKy0gICAgaWYgKHVkZXYtPmRldmljZS52YmFzZWRldi5wcm94eSkgeworKyAg ICBpZiAoVkZJT19QQ0lfQkFTRSh1ZGV2KS0+dmJhc2VkZXYucHJveHkpIHsKKyAgICAgICAgIGVy cm9yX3NldGcoZXJycCwgIlByb3h5IGlzIGNvbm5lY3RlZCIpOworICAgICAgICAgcmV0dXJuOwor ICAgICB9CistLSAKKzIuNTIuMAorCgpkaWZmIC0tZ2l0IGEva3ZtLXZmaW8tdXNlci1wY2kuYy11 c2UtUU9NLWNhc3RzLXdoZXJlLWFwcHJvcHJpYXRlMi5wYXRjaCBiL2t2bS12ZmlvLXVzZXItcGNp LmMtdXNlLVFPTS1jYXN0cy13aGVyZS1hcHByb3ByaWF0ZTIucGF0Y2gKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMC4uOTk4MDI5ZQotLS0gL2Rldi9udWxsCisrKyBiL2t2bS12Zmlv LXVzZXItcGNpLmMtdXNlLVFPTS1jYXN0cy13aGVyZS1hcHByb3ByaWF0ZTIucGF0Y2gKQEAgLTAs MCArMSw2MiBAQAorRnJvbSAyZTc3MDA4MTcyNTVkZWVhZTE0YzQ5YjQ0OGZmNTI4OWY1OWIyNjlj IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWFyayBDYXZlLUF5bGFuZCA8bWFyay5j YXZlYXlsYW5kQG51dGFuaXguY29tPgorRGF0ZTogVHVlLCAxNSBKdWwgMjAyNSAxMDoyNjowMCAr MDEwMAorU3ViamVjdDogW1BBVENIIDA0Ni8xMTZdIHZmaW8tdXNlci9wY2kuYzogdXNlIFFPTSBj YXN0cyB3aGVyZSBhcHByb3ByaWF0ZQorTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTog dGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJp dAorCitSSC1BdXRob3I6IFJvZG9sZm8gVmljayA8Tm9uZT4KK1JILU1lcmdlUmVxdWVzdDogNDg2 OiBBZGQgRE1BQlVGIHN1cHBvcnQKK1JILUppcmE6IFJIRUwtMTM4NDk0CitSSC1BY2tlZC1ieTog Q8OpZHJpYyBMZSBHb2F0ZXIgPGNsZ0ByZWRoYXQuY29tPgorUkgtQWNrZWQtYnk6IEVyaWMgQXVn ZXIgPGVyaWMuYXVnZXJAcmVkaGF0LmNvbT4KK1JILUNvbW1pdDogWzMwLzEwMF0gM2ZlNDE0NDAz MzQ2ZjVlNjUzNjczYmFjNmIxOWEwMzc1YjIyODNjMyAocm92aWNrMS9xZW11LWt2bSkKKworVXNl IFFPTSBjYXN0cyB0byBjb252ZXJ0IGJldHdlZW4gVkZJT1BDSURldmljZSBhbmQgUENJRGV2aWNl IGluc3RlYWQgb2YKK2FjY2Vzc2luZyBwZGV2IGRpcmVjdGx5LgorCitTaWduZWQtb2ZmLWJ5OiBN YXJrIENhdmUtQXlsYW5kIDxtYXJrLmNhdmVheWxhbmRAbnV0YW5peC5jb20+CitSZXZpZXdlZC1i eTogSm9obiBMZXZvbiA8am9obi5sZXZvbkBudXRhbml4LmNvbT4KK0xpbms6IGh0dHBzOi8vbG9y ZS5rZXJuZWwub3JnL3FlbXUtZGV2ZWwvMjAyNTA3MTUwOTMxMTAuMTA3MzE3LTIxLW1hcmsuY2F2 ZWF5bGFuZEBudXRhbml4LmNvbQorU2lnbmVkLW9mZi1ieTogQ8OpZHJpYyBMZSBHb2F0ZXIgPGNs Z0ByZWRoYXQuY29tPgorKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgYTQ5ZWY3YTQ2N2MzY2Vk MGJlMDQ4YjAyMTg5MDkyMDMxZTMyNWQwMSkKK1NpZ25lZC1vZmYtYnk6IEVyaWMgQXVnZXIgPGVy aWMuYXVnZXJAcmVkaGF0LmNvbT4KKy0tLQorIGh3L3ZmaW8tdXNlci9wY2kuYyB8IDYgKysrLS0t CisgMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKKworZGlm ZiAtLWdpdCBhL2h3L3ZmaW8tdXNlci9wY2kuYyBiL2h3L3ZmaW8tdXNlci9wY2kuYworaW5kZXgg YzM5NDdhOGYyZS4uZTJjMzA5Nzg0ZiAxMDA2NDQKKy0tLSBhL2h3L3ZmaW8tdXNlci9wY2kuYwor KysrIGIvaHcvdmZpby11c2VyL3BjaS5jCitAQCAtNjUsNyArNjUsNyBAQCBzdGF0aWMgdm9pZCB2 ZmlvX3VzZXJfbXNpeF9zZXR1cChWRklPUENJRGV2aWNlICp2ZGV2KQorICAgICB2ZGV2LT5tc2l4 LT5wYmFfcmVnaW9uID0gcGJhX3JlZzsKKyAKKyAgICAgdmZpb19yZWcgPSB2ZGV2LT5iYXJzW3Zk ZXYtPm1zaXgtPnBiYV9iYXJdLm1yOworLSAgICBtc2l4X3JlZyA9ICZ2ZGV2LT5wZGV2Lm1zaXhf cGJhX21taW87CisrICAgIG1zaXhfcmVnID0gJlBDSV9ERVZJQ0UodmRldiktPm1zaXhfcGJhX21t aW87CisgICAgIG1lbW9yeV9yZWdpb25faW5pdF9pbyhwYmFfcmVnLCBPQkpFQ1QodmRldiksICZ2 ZmlvX3VzZXJfcGJhX29wcywgdmRldiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJWRklP IE1TSVggUEJBIiwgaW50MTI4X2dldDY0KG1zaXhfcmVnLT5zaXplKSk7CisgICAgIG1lbW9yeV9y ZWdpb25fYWRkX3N1YnJlZ2lvbl9vdmVybGFwKHZmaW9fcmVnLCB2ZGV2LT5tc2l4LT5wYmFfb2Zm c2V0LAorQEAgLTg2LDcgKzg2LDcgQEAgc3RhdGljIHZvaWQgdmZpb191c2VyX21zaXhfdGVhcmRv d24oVkZJT1BDSURldmljZSAqdmRldikKKyAKKyBzdGF0aWMgdm9pZCB2ZmlvX3VzZXJfZG1hX3Jl YWQoVkZJT1BDSURldmljZSAqdmRldiwgVkZJT1VzZXJETUFSVyAqbXNnKQorIHsKKy0gICAgUENJ RGV2aWNlICpwZGV2ID0gJnZkZXYtPnBkZXY7CisrICAgIFBDSURldmljZSAqcGRldiA9IFBDSV9E RVZJQ0UodmRldik7CisgICAgIFZGSU9Vc2VyUHJveHkgKnByb3h5ID0gdmRldi0+dmJhc2VkZXYu cHJveHk7CisgICAgIFZGSU9Vc2VyRE1BUlcgKnJlczsKKyAgICAgTWVtVHhSZXN1bHQgcjsKK0BA IC0xMzQsNyArMTM0LDcgQEAgc3RhdGljIHZvaWQgdmZpb191c2VyX2RtYV9yZWFkKFZGSU9QQ0lE ZXZpY2UgKnZkZXYsIFZGSU9Vc2VyRE1BUlcgKm1zZykKKyAKKyBzdGF0aWMgdm9pZCB2ZmlvX3Vz ZXJfZG1hX3dyaXRlKFZGSU9QQ0lEZXZpY2UgKnZkZXYsIFZGSU9Vc2VyRE1BUlcgKm1zZykKKyB7 CistICAgIFBDSURldmljZSAqcGRldiA9ICZ2ZGV2LT5wZGV2OworKyAgICBQQ0lEZXZpY2UgKnBk ZXYgPSBQQ0lfREVWSUNFKHZkZXYpOworICAgICBWRklPVXNlclByb3h5ICpwcm94eSA9IHZkZXYt PnZiYXNlZGV2LnByb3h5OworICAgICBNZW1UeFJlc3VsdCByOworIAorLS0gCisyLjUyLjAKKwoK ZGlmZiAtLWdpdCBhL2t2bS12ZmlvLXVzZXItcmVjeWNsZS1tc2ctb24tZmFpbHVyZS5wYXRjaCBi L2t2bS12ZmlvLXVzZXItcmVjeWNsZS1tc2ctb24tZmFpbHVyZS5wYXRjaApuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwLi43NzM4ZDU1Ci0tLSAvZGV2L251bGwKKysrIGIva3ZtLXZm aW8tdXNlci1yZWN5Y2xlLW1zZy1vbi1mYWlsdXJlLnBhdGNoCkBAIC0wLDAgKzEsNjQgQEAKK0Zy b20gZTE5OTI3NTI3NjE3M2ZmOWJiYTIwMWM3NjJiNDBkZDk2NDlkZDg0MyBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKK0Zyb206IEpvaG4gTGV2b24gPGpvaG4ubGV2b25AbnV0YW5peC5jb20+CitE YXRlOiBXZWQsIDMgRGVjIDIwMjUgMTU6MzM6MTUgKzA1MzAKK1N1YmplY3Q6IFtQQVRDSCAxMTEv MTE2XSB2ZmlvLXVzZXI6IHJlY3ljbGUgbXNnIG9uIGZhaWx1cmUKK01JTUUtVmVyc2lvbjogMS4w CitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNm ZXItRW5jb2Rpbmc6IDhiaXQKKworUkgtQXV0aG9yOiBSb2RvbGZvIFZpY2sgPE5vbmU+CitSSC1N ZXJnZVJlcXVlc3Q6IDQ4NjogQWRkIERNQUJVRiBzdXBwb3J0CitSSC1KaXJhOiBSSEVMLTEzODQ5 NAorUkgtQWNrZWQtYnk6IEPDqWRyaWMgTGUgR29hdGVyIDxjbGdAcmVkaGF0LmNvbT4KK1JILUFj a2VkLWJ5OiBFcmljIEF1Z2VyIDxlcmljLmF1Z2VyQHJlZGhhdC5jb20+CitSSC1Db21taXQ6IFs5 NS8xMDBdIGU1MWVhMzI5MmJmZWNmY2NhNDI3ZWI2ZDcxMzk5YWY3YzM2YTA4NjggKHJvdmljazEv cWVtdS1rdm0pCisKK0lmIHdlIGZhaWwgdG8gcmVhZCBhbiBpbmNvbWluZyByZXF1ZXN0LCByZWN5 Y2xlIHRoZSBtZXNzYWdlLgorCitSZXNvbHZlczogQ292ZXJpdHkgQ0lEIDE2MTE4MDcKK1Jlc29s dmVzOiBDb3Zlcml0eSBDSUQgMTYxMTgwOAorU2lnbmVkLW9mZi1ieTogSm9obiBMZXZvbiA8am9o bi5sZXZvbkBudXRhbml4LmNvbT4KK1Jldmlld2VkLWJ5OiBNYXJrIENhdmUtQXlsYW5kIDxtYXJr LmNhdmVheWxhbmRAbnV0YW5peC5jb20+CitMaW5rOiBodHRwczovL2xvcmUua2VybmVsLm9yZy9x ZW11LWRldmVsLzIwMjUxMjAzMTAwMzE2LjM2MDQ0NTYtNi1qb2huLmxldm9uQG51dGFuaXguY29t CitTaWduZWQtb2ZmLWJ5OiBDw6lkcmljIExlIEdvYXRlciA8Y2xnQHJlZGhhdC5jb20+CisoY2hl cnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCAyM2M1ODZhYmYyZTEyODQzODk0MTg5YzQ3NDJjOGVhNTVj NTk0Y2Q1KQorU2lnbmVkLW9mZi1ieTogRXJpYyBBdWdlciA8ZXJpYy5hdWdlckByZWRoYXQuY29t PgorLS0tCisgaHcvdmZpby11c2VyL3Byb3h5LmMgfCAyMSArKysrKysrKysrKysrKysrLS0tLS0K KyAxIGZpbGUgY2hhbmdlZCwgMTYgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKKworZGlm ZiAtLWdpdCBhL2h3L3ZmaW8tdXNlci9wcm94eS5jIGIvaHcvdmZpby11c2VyL3Byb3h5LmMKK2lu ZGV4IGYyNjAxZWFkYTUuLjMxNGRmZDIzZDggMTAwNjQ0CistLS0gYS9ody92ZmlvLXVzZXIvcHJv eHkuYworKysrIGIvaHcvdmZpby11c2VyL3Byb3h5LmMKK0BAIC00MTIsMTEgKzQxMiwyMiBAQCBl cnI6CisgICAgIGZvciAoaSA9IDA7IGkgPCBudW1mZHM7IGkrKykgeworICAgICAgICAgY2xvc2Uo ZmRwW2ldKTsKKyAgICAgfQorLSAgICBpZiAoaXNyZXBseSAmJiBtc2cgIT0gTlVMTCkgeworLSAg ICAgICAgLyogZm9yY2UgYW4gZXJyb3IgdG8ga2VlcCBzZW5kaW5nIHRocmVhZCBmcm9tIGhhbmdp bmcgKi8KKy0gICAgICAgIHZmaW9fdXNlcl9zZXRfZXJyb3IobXNnLT5oZHIsIEVJTlZBTCk7Cist ICAgICAgICBtc2ctPmNvbXBsZXRlID0gdHJ1ZTsKKy0gICAgICAgIHFlbXVfY29uZF9zaWduYWwo Jm1zZy0+Y3YpOworKyAgICBpZiAobXNnICE9IE5VTEwpIHsKKysgICAgICAgIGlmIChtc2ctPnR5 cGUgPT0gVkZJT19NU0dfUkVRKSB7CisrICAgICAgICAgICAgLyoKKysgICAgICAgICAgICAgKiBD bGVhbiB1cCB0aGUgcmVxdWVzdCBtZXNzYWdlIG9uIGZhaWx1cmUuIENoYW5nZSB0eXBlIGJhY2sg dG8KKysgICAgICAgICAgICAgKiBOT1dBSVQgdG8gZnJlZS4KKysgICAgICAgICAgICAgKi8KKysg ICAgICAgICAgICBtc2ctPnR5cGUgPSBWRklPX01TR19OT1dBSVQ7CisrICAgICAgICAgICAgdmZp b191c2VyX3JlY3ljbGUocHJveHksIG1zZyk7CisrICAgICAgICB9IGVsc2UgeworKyAgICAgICAg ICAgIC8qCisrICAgICAgICAgICAgICogUmVwb3J0IGFuIGVycm9yIGJhY2sgdG8gdGhlIHNlbmRl ci4gU2VuZGVyIHdpbGwgcmVjeWNsZSBtc2cuCisrICAgICAgICAgICAgICovCisrICAgICAgICAg ICAgdmZpb191c2VyX3NldF9lcnJvcihtc2ctPmhkciwgRUlOVkFMKTsKKysgICAgICAgICAgICBt c2ctPmNvbXBsZXRlID0gdHJ1ZTsKKysgICAgICAgICAgICBxZW11X2NvbmRfc2lnbmFsKCZtc2ct PmN2KTsKKysgICAgICAgIH0KKyAgICAgfQorICAgICByZXR1cm4gLTE7CisgfQorLS0gCisyLjUy LjAKKwoKZGlmZiAtLWdpdCBhL2t2bS12ZmlvLXVzZXItcmVmYWN0b3Itb3V0LWhlYWRlci1oYW5k bGluZy5wYXRjaCBiL2t2bS12ZmlvLXVzZXItcmVmYWN0b3Itb3V0LWhlYWRlci1oYW5kbGluZy5w YXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZDYwZjI2Ci0tLSAvZGV2 L251bGwKKysrIGIva3ZtLXZmaW8tdXNlci1yZWZhY3Rvci1vdXQtaGVhZGVyLWhhbmRsaW5nLnBh dGNoCkBAIC0wLDAgKzEsMTU5IEBACitGcm9tIDg3Njk4NzhkYzU1MWFjZDgzYjVkYzY4ZmQ5Y2Qy MmM2NzYxYmRhN2QgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBKb2huIExldm9uIDxq b2huLmxldm9uQG51dGFuaXguY29tPgorRGF0ZTogV2VkLCAzIERlYyAyMDI1IDE1OjMzOjEzICsw NTMwCitTdWJqZWN0OiBbUEFUQ0ggMTA5LzExNl0gdmZpby11c2VyOiByZWZhY3RvciBvdXQgaGVh ZGVyIGhhbmRsaW5nCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWlu OyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK1JILUF1 dGhvcjogUm9kb2xmbyBWaWNrIDxOb25lPgorUkgtTWVyZ2VSZXF1ZXN0OiA0ODY6IEFkZCBETUFC VUYgc3VwcG9ydAorUkgtSmlyYTogUkhFTC0xMzg0OTQKK1JILUFja2VkLWJ5OiBDw6lkcmljIExl IEdvYXRlciA8Y2xnQHJlZGhhdC5jb20+CitSSC1BY2tlZC1ieTogRXJpYyBBdWdlciA8ZXJpYy5h dWdlckByZWRoYXQuY29tPgorUkgtQ29tbWl0OiBbOTMvMTAwXSBhNDEzYmEwOTE5YWI3ZDFkYTli MmNiNjcwNzgyMTY3ZGE2ZjlhMTRiIChyb3ZpY2sxL3FlbXUta3ZtKQorCitTaW1wbGlmeSB2Zmlv X3VzZXJfcmVjdl9vbmUoKSBieSBtb3ZpbmcgdGhlIGhlYWRlciBoYW5kbGluZyBvdXQgdG8gYQor aGVscGVyIGZ1bmN0aW9uLgorCitTaWduZWQtb2ZmLWJ5OiBKb2huIExldm9uIDxqb2huLmxldm9u QG51dGFuaXguY29tPgorUmV2aWV3ZWQtYnk6IEPDqWRyaWMgTGUgR29hdGVyIDxjbGdAcmVkaGF0 LmNvbT4KK0xpbms6IGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL3FlbXUtZGV2ZWwvMjAyNTEyMDMx MDAzMTYuMzYwNDQ1Ni00LWpvaG4ubGV2b25AbnV0YW5peC5jb20KK1NpZ25lZC1vZmYtYnk6IEPD qWRyaWMgTGUgR29hdGVyIDxjbGdAcmVkaGF0LmNvbT4KKyhjaGVycnkgcGlja2VkIGZyb20gY29t bWl0IDdiODg0ZTJhMjc3OTNlMGZmNTgxN2FkMDRlY2NlODVkMGE5MDE0OWQpCitTaWduZWQtb2Zm LWJ5OiBFcmljIEF1Z2VyIDxlcmljLmF1Z2VyQHJlZGhhdC5jb20+CistLS0KKyBody92ZmlvLXVz ZXIvcHJveHkuYyB8IDEwMSArKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0t LS0tCisgMSBmaWxlIGNoYW5nZWQsIDYwIGluc2VydGlvbnMoKyksIDQxIGRlbGV0aW9ucygtKQor CitkaWZmIC0tZ2l0IGEvaHcvdmZpby11c2VyL3Byb3h5LmMgYi9ody92ZmlvLXVzZXIvcHJveHku YworaW5kZXggODJjNzZjNjY2NS4uZTBmOTIwMjUzNSAxMDA2NDQKKy0tLSBhL2h3L3ZmaW8tdXNl ci9wcm94eS5jCisrKysgYi9ody92ZmlvLXVzZXIvcHJveHkuYworQEAgLTIxOCw2ICsyMTgsNjEg QEAgc3RhdGljIGludCB2ZmlvX3VzZXJfY29tcGxldGUoVkZJT1VzZXJQcm94eSAqcHJveHksIEVy cm9yICoqZXJycCkKKyAgICAgcmV0dXJuIDE7CisgfQorIAorK3N0YXRpYyBpbnQgdmZpb191c2Vy X3JlY3ZfaGRyKFZGSU9Vc2VyUHJveHkgKnByb3h5LCBFcnJvciAqKmVycnAsCisrICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgVkZJT1VzZXJIZHIgKmhkciwgaW50ICoqZmRwLCBzaXplX3Qg Km51bWZkcCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sICppc3JlcGx5KQor K3sKKysgICAgc3RydWN0IGlvdmVjIGlvdiA9IHsKKysgICAgICAgIC5pb3ZfYmFzZSA9IGhkciwK KysgICAgICAgIC5pb3ZfbGVuID0gc2l6ZW9mKCpoZHIpLAorKyAgICB9OworKyAgICBpbnQgcmV0 OworKworKyAgICAvKgorKyAgICAgKiBSZWFkIGhlYWRlcgorKyAgICAgKi8KKysgICAgcmV0ID0g cWlvX2NoYW5uZWxfcmVhZHZfZnVsbChwcm94eS0+aW9jLCAmaW92LCAxLCBmZHAsIG51bWZkcCwg MCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJwKTsKKysgICAgaWYgKHJl dCA9PSBRSU9fQ0hBTk5FTF9FUlJfQkxPQ0spIHsKKysgICAgICAgIHJldHVybiByZXQ7CisrICAg IH0KKysKKysgICAgaWYgKHJldCA8IDApIHsKKysgICAgICAgIGVycm9yX3NldGdfZXJybm8oZXJy cCwgZXJybm8sICJmYWlsZWQgdG8gcmVhZCBoZWFkZXIiKTsKKysgICAgICAgIHJldHVybiAtMTsK KysgICAgfSBlbHNlIGlmIChyZXQgPT0gMCkgeworKyAgICAgICAgZXJyb3Jfc2V0ZyhlcnJwLCAi ZmFpbGVkIHRvIHJlYWQgaGVhZGVyOiBFT0YiKTsKKysgICAgICAgIHJldHVybiAtMTsKKysgICAg fSBlbHNlIGlmIChyZXQgPCBzaXplb2YoKmhkcikpIHsKKysgICAgICAgIGVycm9yX3NldGcoZXJy cCwgInNob3J0IHJlYWQgb2YgaGVhZGVyIik7CisrICAgICAgICByZXR1cm4gLTE7CisrICAgIH0K KysKKysgICAgLyoKKysgICAgICogVmFsaWRhdGUgaGVhZGVyCisrICAgICAqLworKyAgICBpZiAo aGRyLT5zaXplIDwgc2l6ZW9mKCpoZHIpKSB7CisrICAgICAgICBlcnJvcl9zZXRnKGVycnAsICJi YWQgaGVhZGVyIHNpemUiKTsKKysgICAgICAgIHJldHVybiAtMTsKKysgICAgfQorKworKyAgICBz d2l0Y2ggKGhkci0+ZmxhZ3MgJiBWRklPX1VTRVJfVFlQRSkgeworKyAgICBjYXNlIFZGSU9fVVNF Ul9SRVFVRVNUOgorKyAgICAgICAgKmlzcmVwbHkgPSBmYWxzZTsKKysgICAgICAgIGJyZWFrOwor KyAgICBjYXNlIFZGSU9fVVNFUl9SRVBMWToKKysgICAgICAgICppc3JlcGx5ID0gdHJ1ZTsKKysg ICAgICAgIGJyZWFrOworKyAgICBkZWZhdWx0OgorKyAgICAgICAgZXJyb3Jfc2V0ZyhlcnJwLCAi dW5rbm93biBtZXNzYWdlIHR5cGUiKTsKKysgICAgICAgIHJldHVybiAtMTsKKysgICAgfQorKwor KyAgICB0cmFjZV92ZmlvX3VzZXJfcmVjdl9oZHIocHJveHktPnNvY2tuYW1lLCBoZHItPmlkLCBo ZHItPmNvbW1hbmQsIGhkci0+c2l6ZSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhk ci0+ZmxhZ3MpOworKyAgICByZXR1cm4gMDsKKyt9CisrCisgLyoKKyAgKiBSZWNlaXZlIGFuZCBw cm9jZXNzIG9uZSBpbmNvbWluZyBtZXNzYWdlLgorICAqCitAQCAtMjMwLDEwICsyODUsNiBAQCBz dGF0aWMgaW50IHZmaW9fdXNlcl9yZWN2X29uZShWRklPVXNlclByb3h5ICpwcm94eSwgRXJyb3Ig KiplcnJwKQorICAgICBnX2F1dG9mcmVlIGludCAqZmRwID0gTlVMTDsKKyAgICAgVkZJT1VzZXJG RHMgKnJlcWZkczsKKyAgICAgVkZJT1VzZXJIZHIgaGRyOworLSAgICBzdHJ1Y3QgaW92ZWMgaW92 ID0geworLSAgICAgICAgLmlvdl9iYXNlID0gJmhkciwKKy0gICAgICAgIC5pb3ZfbGVuID0gc2l6 ZW9mKGhkciksCistICAgIH07CisgICAgIGJvb2wgaXNyZXBseSA9IGZhbHNlOworICAgICBpbnQg aSwgcmV0OworICAgICBzaXplX3QgbXNnbGVmdCwgbnVtZmRzID0gMDsKK0BAIC0yNTcsNDUgKzMw OCwxMyBAQCBzdGF0aWMgaW50IHZmaW9fdXNlcl9yZWN2X29uZShWRklPVXNlclByb3h5ICpwcm94 eSwgRXJyb3IgKiplcnJwKQorICAgICAgICAgLyogZWxzZSBmYWxsIGludG8gcmVhZGluZyBhbm90 aGVyIG1zZyAqLworICAgICB9CisgCistICAgIC8qCistICAgICAqIFJlYWQgaGVhZGVyCistICAg ICAqLworLSAgICByZXQgPSBxaW9fY2hhbm5lbF9yZWFkdl9mdWxsKHByb3h5LT5pb2MsICZpb3Ys IDEsICZmZHAsICZudW1mZHMsIDAsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ZXJycCk7CistICAgIGlmIChyZXQgPT0gUUlPX0NIQU5ORUxfRVJSX0JMT0NLKSB7CistICAgICAg ICByZXR1cm4gcmV0OworLSAgICB9CistCistICAgIC8qIHJlYWQgZXJyb3Igb3Igb3RoZXIgc2lk ZSBjbG9zZWQgY29ubmVjdGlvbiAqLworLSAgICBpZiAocmV0IDw9IDApIHsKKy0gICAgICAgIGdv dG8gZmF0YWw7CistICAgIH0KKy0KKy0gICAgaWYgKHJldCA8IHNpemVvZihoZHIpKSB7CistICAg ICAgICBlcnJvcl9zZXRnKGVycnAsICJzaG9ydCByZWFkIG9mIGhlYWRlciIpOworLSAgICAgICAg Z290byBmYXRhbDsKKy0gICAgfQorLQorLSAgICAvKgorLSAgICAgKiBWYWxpZGF0ZSBoZWFkZXIK Ky0gICAgICovCistICAgIGlmIChoZHIuc2l6ZSA8IHNpemVvZihWRklPVXNlckhkcikpIHsKKy0g ICAgICAgIGVycm9yX3NldGcoZXJycCwgImJhZCBoZWFkZXIgc2l6ZSIpOworLSAgICAgICAgZ290 byBmYXRhbDsKKy0gICAgfQorLSAgICBzd2l0Y2ggKGhkci5mbGFncyAmIFZGSU9fVVNFUl9UWVBF KSB7CistICAgIGNhc2UgVkZJT19VU0VSX1JFUVVFU1Q6CistICAgICAgICBpc3JlcGx5ID0gZmFs c2U7CistICAgICAgICBicmVhazsKKy0gICAgY2FzZSBWRklPX1VTRVJfUkVQTFk6CistICAgICAg ICBpc3JlcGx5ID0gdHJ1ZTsKKy0gICAgICAgIGJyZWFrOworLSAgICBkZWZhdWx0OgorLSAgICAg ICAgZXJyb3Jfc2V0ZyhlcnJwLCAidW5rbm93biBtZXNzYWdlIHR5cGUiKTsKKysgICAgcmV0ID0g dmZpb191c2VyX3JlY3ZfaGRyKHByb3h5LCBlcnJwLCAmaGRyLCAmZmRwLCAmbnVtZmRzLCAmaXNy ZXBseSk7CisrICAgIGlmIChyZXQgPCAwKSB7CisrICAgICAgICBpZiAocmV0ID09IFFJT19DSEFO TkVMX0VSUl9CTE9DSykgeworKyAgICAgICAgICAgIHJldHVybiByZXQ7CisrICAgICAgICB9Cisg ICAgICAgICBnb3RvIGZhdGFsOworICAgICB9CistICAgIHRyYWNlX3ZmaW9fdXNlcl9yZWN2X2hk cihwcm94eS0+c29ja25hbWUsIGhkci5pZCwgaGRyLmNvbW1hbmQsIGhkci5zaXplLAorLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgaGRyLmZsYWdzKTsKKyAKKyAgICAgLyoKKyAgICAgICog Rm9yIHJlcGxpZXMsIGZpbmQgdGhlIG1hdGNoaW5nIHBlbmRpbmcgcmVxdWVzdC4KKy0tIAorMi41 Mi4wCisKCmRpZmYgLS1naXQgYS9rdm0tdmZpby11c2VyLXNpbXBsaWZ5LXZmaW9fdXNlcl9wcm9j ZXNzLnBhdGNoIGIva3ZtLXZmaW8tdXNlci1zaW1wbGlmeS12ZmlvX3VzZXJfcHJvY2Vzcy5wYXRj aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZTlmYjhiCi0tLSAvZGV2L251 bGwKKysrIGIva3ZtLXZmaW8tdXNlci1zaW1wbGlmeS12ZmlvX3VzZXJfcHJvY2Vzcy5wYXRjaApA QCAtMCwwICsxLDgyIEBACitGcm9tIDc3NDNhNmNhZjM2OGY5N2NiZDFhZmQwYmNkM2E0OGUwY2Fi NzE4ZTkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBKb2huIExldm9uIDxqb2huLmxl dm9uQG51dGFuaXguY29tPgorRGF0ZTogV2VkLCAzIERlYyAyMDI1IDE1OjMzOjExICswNTMwCitT dWJqZWN0OiBbUEFUQ0ggMTA3LzExNl0gdmZpby11c2VyOiBzaW1wbGlmeSB2ZmlvX3VzZXJfcHJv Y2VzcygpCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFy c2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK1JILUF1dGhvcjog Um9kb2xmbyBWaWNrIDxOb25lPgorUkgtTWVyZ2VSZXF1ZXN0OiA0ODY6IEFkZCBETUFCVUYgc3Vw cG9ydAorUkgtSmlyYTogUkhFTC0xMzg0OTQKK1JILUFja2VkLWJ5OiBDw6lkcmljIExlIEdvYXRl ciA8Y2xnQHJlZGhhdC5jb20+CitSSC1BY2tlZC1ieTogRXJpYyBBdWdlciA8ZXJpYy5hdWdlckBy ZWRoYXQuY29tPgorUkgtQ29tbWl0OiBbOTEvMTAwXSAwZWQ4NDZkMjg5YjU4YWFlNDYxMGUzODQ4 Y2NlNTg0NDdlMjNjZWJiIChyb3ZpY2sxL3FlbXUta3ZtKQorCitJdCBjYW4gZmlndXJlIG91dCBp ZiBpdCdzIGEgcmVwbHkgYnkgaXRzZWxmLCByYXRoZXIgdGhhbiBwYXNzaW5nIHRoYXQKK2luZm9y bWF0aW9uIGluLgorCitTaWduZWQtb2ZmLWJ5OiBKb2huIExldm9uIDxqb2huLmxldm9uQG51dGFu aXguY29tPgorUmV2aWV3ZWQtYnk6IEPDqWRyaWMgTGUgR29hdGVyIDxjbGdAcmVkaGF0LmNvbT4K K1Jldmlld2VkLWJ5OiBNYXJrIENhdmUtQXlsYW5kIDxtYXJrLmNhdmVheWxhbmRAbnV0YW5peC5j b20+CitMaW5rOiBodHRwczovL2xvcmUua2VybmVsLm9yZy9xZW11LWRldmVsLzIwMjUxMjAzMTAw MzE2LjM2MDQ0NTYtMi1qb2huLmxldm9uQG51dGFuaXguY29tCitTaWduZWQtb2ZmLWJ5OiBDw6lk cmljIExlIEdvYXRlciA8Y2xnQHJlZGhhdC5jb20+CisoY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1p dCBhODczMWY2OTFkZjJiZDllZmQwNDFkODM2ZWNlMjdlMzE3MzU1NWYyKQorU2lnbmVkLW9mZi1i eTogRXJpYyBBdWdlciA8ZXJpYy5hdWdlckByZWRoYXQuY29tPgorLS0tCisgaHcvdmZpby11c2Vy L3Byb3h5LmMgfCAxMSArKysrLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMo KyksIDcgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9ody92ZmlvLXVzZXIvcHJveHkuYyBi L2h3L3ZmaW8tdXNlci9wcm94eS5jCitpbmRleCBiYmQ3ZWMyNDNkLi43NTg0NWQ3Yzg5IDEwMDY0 NAorLS0tIGEvaHcvdmZpby11c2VyL3Byb3h5LmMKKysrKyBiL2h3L3ZmaW8tdXNlci9wcm94eS5j CitAQCAtMTQ3LDggKzE0Nyw3IEBAIFZGSU9Vc2VyRkRzICp2ZmlvX3VzZXJfZ2V0ZmRzKGludCBu dW1mZHMpCisgLyoKKyAgKiBQcm9jZXNzIGEgcmVjZWl2ZWQgbWVzc2FnZS4KKyAgKi8KKy1zdGF0 aWMgdm9pZCB2ZmlvX3VzZXJfcHJvY2VzcyhWRklPVXNlclByb3h5ICpwcm94eSwgVkZJT1VzZXJN c2cgKm1zZywKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIGlzcmVwbHkpCisr c3RhdGljIHZvaWQgdmZpb191c2VyX3Byb2Nlc3MoVkZJT1VzZXJQcm94eSAqcHJveHksIFZGSU9V c2VyTXNnICptc2cpCisgeworIAorICAgICAvKgorQEAgLTE1Nyw3ICsxNTYsNyBAQCBzdGF0aWMg dm9pZCB2ZmlvX3VzZXJfcHJvY2VzcyhWRklPVXNlclByb3h5ICpwcm94eSwgVkZJT1VzZXJNc2cg Km1zZywKKyAgICAgICoKKyAgICAgICogUmVxdWVzdHMgZ2V0IHF1ZXVlZCBmb3IgdGhlIEJILgor ICAgICAgKi8KKy0gICAgaWYgKGlzcmVwbHkpIHsKKysgICAgaWYgKChtc2ctPmhkci0+ZmxhZ3Mg JiBWRklPX1VTRVJfVFlQRSkgPT0gVkZJT19VU0VSX1JFUExZKSB7CisgICAgICAgICBtc2ctPmNv bXBsZXRlID0gdHJ1ZTsKKyAgICAgICAgIGlmIChtc2ctPnR5cGUgPT0gVkZJT19NU0dfV0FJVCkg eworICAgICAgICAgICAgIHFlbXVfY29uZF9zaWduYWwoJm1zZy0+Y3YpOworQEAgLTE4Nyw3ICsx ODYsNiBAQCBzdGF0aWMgaW50IHZmaW9fdXNlcl9jb21wbGV0ZShWRklPVXNlclByb3h5ICpwcm94 eSwgRXJyb3IgKiplcnJwKQorIHsKKyAgICAgVkZJT1VzZXJNc2cgKm1zZyA9IHByb3h5LT5wYXJ0 X3JlY3Y7CisgICAgIHNpemVfdCBtc2dsZWZ0ID0gcHJveHktPnJlY3ZfbGVmdDsKKy0gICAgYm9v bCBpc3JlcGx5OworICAgICBjaGFyICpkYXRhOworICAgICBpbnQgcmV0OworIAorQEAgLTIxNCw4 ICsyMTIsNyBAQCBzdGF0aWMgaW50IHZmaW9fdXNlcl9jb21wbGV0ZShWRklPVXNlclByb3h5ICpw cm94eSwgRXJyb3IgKiplcnJwKQorICAgICAgKi8KKyAgICAgcHJveHktPnBhcnRfcmVjdiA9IE5V TEw7CisgICAgIHByb3h5LT5yZWN2X2xlZnQgPSAwOworLSAgICBpc3JlcGx5ID0gKG1zZy0+aGRy LT5mbGFncyAmIFZGSU9fVVNFUl9UWVBFKSA9PSBWRklPX1VTRVJfUkVQTFk7CistICAgIHZmaW9f dXNlcl9wcm9jZXNzKHByb3h5LCBtc2csIGlzcmVwbHkpOworKyAgICB2ZmlvX3VzZXJfcHJvY2Vz cyhwcm94eSwgbXNnKTsKKyAKKyAgICAgLyogcmV0dXJuIHBvc2l0aXZlIHZhbHVlICovCisgICAg IHJldHVybiAxOworQEAgLTM4MSw3ICszNzgsNyBAQCBzdGF0aWMgaW50IHZmaW9fdXNlcl9yZWN2 X29uZShWRklPVXNlclByb3h5ICpwcm94eSwgRXJyb3IgKiplcnJwKQorICAgICAgICAgZGF0YSAr PSByZXQ7CisgICAgIH0KKyAKKy0gICAgdmZpb191c2VyX3Byb2Nlc3MocHJveHksIG1zZywgaXNy ZXBseSk7CisrICAgIHZmaW9fdXNlcl9wcm9jZXNzKHByb3h5LCBtc2cpOworICAgICByZXR1cm4g MDsKKyAKKyAgICAgLyoKKy0tIAorMi41Mi4wCisKCmRpZmYgLS1naXQgYS9rdm0tdmZpby11c2Vy LXNpbXBsaWZ5LXZmaW9fdXNlcl9yZWN2X29uZS5wYXRjaCBiL2t2bS12ZmlvLXVzZXItc2ltcGxp ZnktdmZpb191c2VyX3JlY3Zfb25lLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAuLjg2YzgzN2MKLS0tIC9kZXYvbnVsbAorKysgYi9rdm0tdmZpby11c2VyLXNpbXBsaWZ5 LXZmaW9fdXNlcl9yZWN2X29uZS5wYXRjaApAQCAtMCwwICsxLDE0MyBAQAorRnJvbSA2YzNhYTQ3 MWZkMTU4OTMxMjAxMjYyNTA4OWVjMGFjNjNiNzRjODc5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQorRnJvbTogSm9obiBMZXZvbiA8am9obi5sZXZvbkBudXRhbml4LmNvbT4KK0RhdGU6IFdlZCwg MyBEZWMgMjAyNSAxNTozMzoxNCArMDUzMAorU3ViamVjdDogW1BBVENIIDExMC8xMTZdIHZmaW8t dXNlcjogc2ltcGxpZnkgdmZpb191c2VyX3JlY3Zfb25lKCkKK01JTUUtVmVyc2lvbjogMS4wCitD b250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXIt RW5jb2Rpbmc6IDhiaXQKKworUkgtQXV0aG9yOiBSb2RvbGZvIFZpY2sgPE5vbmU+CitSSC1NZXJn ZVJlcXVlc3Q6IDQ4NjogQWRkIERNQUJVRiBzdXBwb3J0CitSSC1KaXJhOiBSSEVMLTEzODQ5NAor UkgtQWNrZWQtYnk6IEPDqWRyaWMgTGUgR29hdGVyIDxjbGdAcmVkaGF0LmNvbT4KK1JILUFja2Vk LWJ5OiBFcmljIEF1Z2VyIDxlcmljLmF1Z2VyQHJlZGhhdC5jb20+CitSSC1Db21taXQ6IFs5NC8x MDBdIDcwOGVmNDY5ZDA1OTBlYjc3MTk3NjZiY2ZlOTdiNDg3M2E2MWEzZTAgKHJvdmljazEvcWVt dS1rdm0pCisKK1RoaXMgZnVuY3Rpb24gd2FzIHVubmVjZXNzYXJpbHkgZGlmZmljdWx0IHRvIHVu ZGVyc3RhbmQgZHVlIHRvIHRoZQorc2VwYXJhdGUgaGFuZGxpbmcgb2YgcmVxdWVzdCBhbmQgcmVw bHkgbWVzc2FnZXMuIFVzZSBjb21tb24gY29kZSBmb3IKK2JvdGggd2hlcmUgd2UgY2FuLgorCitT aWduZWQtb2ZmLWJ5OiBKb2huIExldm9uIDxqb2huLmxldm9uQG51dGFuaXguY29tPgorUmV2aWV3 ZWQtYnk6IE1hcmsgQ2F2ZS1BeWxhbmQgPG1hcmsuY2F2ZWF5bGFuZEBudXRhbml4LmNvbT4KK0xp bms6IGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL3FlbXUtZGV2ZWwvMjAyNTEyMDMxMDAzMTYuMzYw NDQ1Ni01LWpvaG4ubGV2b25AbnV0YW5peC5jb20KK1NpZ25lZC1vZmYtYnk6IEPDqWRyaWMgTGUg R29hdGVyIDxjbGdAcmVkaGF0LmNvbT4KKyhjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDBkZjhi YWVjOTViNzZjOTMwOTNlZmRlMzdkMTY0NDUwOGMzYzdkMmMpCitTaWduZWQtb2ZmLWJ5OiBFcmlj IEF1Z2VyIDxlcmljLmF1Z2VyQHJlZGhhdC5jb20+CistLS0KKyBody92ZmlvLXVzZXIvcHJveHku YyB8IDY4ICsrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgMSBm aWxlIGNoYW5nZWQsIDMwIGluc2VydGlvbnMoKyksIDM4IGRlbGV0aW9ucygtKQorCitkaWZmIC0t Z2l0IGEvaHcvdmZpby11c2VyL3Byb3h5LmMgYi9ody92ZmlvLXVzZXIvcHJveHkuYworaW5kZXgg ZTBmOTIwMjUzNS4uZjI2MDFlYWRhNSAxMDA2NDQKKy0tLSBhL2h3L3ZmaW8tdXNlci9wcm94eS5j CisrKysgYi9ody92ZmlvLXVzZXIvcHJveHkuYworQEAgLTI4MSwxNSArMjgxLDE0IEBAIHN0YXRp YyBpbnQgdmZpb191c2VyX3JlY3ZfaGRyKFZGSU9Vc2VyUHJveHkgKnByb3h5LCBFcnJvciAqKmVy cnAsCisgICovCisgc3RhdGljIGludCB2ZmlvX3VzZXJfcmVjdl9vbmUoVkZJT1VzZXJQcm94eSAq cHJveHksIEVycm9yICoqZXJycCkKKyB7CistICAgIFZGSU9Vc2VyTXNnICptc2cgPSBOVUxMOwor ICAgICBnX2F1dG9mcmVlIGludCAqZmRwID0gTlVMTDsKKy0gICAgVkZJT1VzZXJGRHMgKnJlcWZk czsKKy0gICAgVkZJT1VzZXJIZHIgaGRyOworKyAgICBWRklPVXNlck1zZyAqbXNnID0gTlVMTDsK KyAgICAgYm9vbCBpc3JlcGx5ID0gZmFsc2U7CistICAgIGludCBpLCByZXQ7CistICAgIHNpemVf dCBtc2dsZWZ0LCBudW1mZHMgPSAwOworKyAgICBzaXplX3QgbXNnbGVmdCA9IDA7CisrICAgIHNp emVfdCBudW1mZHMgPSAwOworICAgICBjaGFyICpkYXRhID0gTlVMTDsKKy0gICAgY2hhciAqYnVm ID0gTlVMTDsKKysgICAgVkZJT1VzZXJIZHIgaGRyOworKyAgICBpbnQgaSwgcmV0OworIAorICAg ICAvKgorICAgICAgKiBDb21wbGV0ZSBhbnkgcGFydGlhbCByZWFkcworQEAgLTMxNyw4ICszMTYs OCBAQCBzdGF0aWMgaW50IHZmaW9fdXNlcl9yZWN2X29uZShWRklPVXNlclByb3h5ICpwcm94eSwg RXJyb3IgKiplcnJwKQorICAgICB9CisgCisgICAgIC8qCistICAgICAqIEZvciByZXBsaWVzLCBm aW5kIHRoZSBtYXRjaGluZyBwZW5kaW5nIHJlcXVlc3QuCistICAgICAqIEZvciByZXF1ZXN0cywg cmVhcCBpbmNvbWluZyBGRHMuCisrICAgICAqIEZpbmQgdGhlIG1hdGNoaW5nIHJlcXVlc3QgaWYg dGhpcyBpcyBhIHJlcGx5LCBvciBpbml0aWFsaXplIGEgbmV3CisrICAgICAqIHNlcnZlci0+Y2xp ZW50IHJlcXVlc3QuCisgICAgICAqLworICAgICBpZiAoaXNyZXBseSkgeworICAgICAgICAgUVRB SUxRX0ZPUkVBQ0gobXNnLCAmcHJveHktPnBlbmRpbmcsIG5leHQpIHsKK0BAIC0zMzIsNTEgKzMz MSw0NCBAQCBzdGF0aWMgaW50IHZmaW9fdXNlcl9yZWN2X29uZShWRklPVXNlclByb3h5ICpwcm94 eSwgRXJyb3IgKiplcnJwKQorICAgICAgICAgfQorICAgICAgICAgUVRBSUxRX1JFTU9WRSgmcHJv eHktPnBlbmRpbmcsIG1zZywgbmV4dCk7CisgCistICAgICAgICAvKgorLSAgICAgICAgICogUHJv Y2VzcyBhbnkgcmVjZWl2ZWQgRkRzCistICAgICAgICAgKi8KKy0gICAgICAgIGlmIChudW1mZHMg IT0gMCkgeworLSAgICAgICAgICAgIGlmIChtc2ctPmZkcyA9PSBOVUxMIHx8IG1zZy0+ZmRzLT5y ZWN2X2ZkcyA8IG51bWZkcykgeworLSAgICAgICAgICAgICAgICBlcnJvcl9zZXRnKGVycnAsICJ1 bmV4cGVjdGVkIEZEcyIpOworLSAgICAgICAgICAgICAgICBnb3RvIGVycjsKKy0gICAgICAgICAg ICB9CistICAgICAgICAgICAgbXNnLT5mZHMtPnJlY3ZfZmRzID0gbnVtZmRzOworLSAgICAgICAg ICAgIG1lbWNweShtc2ctPmZkcy0+ZmRzLCBmZHAsIG51bWZkcyAqIHNpemVvZihpbnQpKTsKKy0g ICAgICAgIH0KKy0gICAgfSBlbHNlIHsKKy0gICAgICAgIGlmIChudW1mZHMgIT0gMCkgeworLSAg ICAgICAgICAgIHJlcWZkcyA9IHZmaW9fdXNlcl9nZXRmZHMobnVtZmRzKTsKKy0gICAgICAgICAg ICBtZW1jcHkocmVxZmRzLT5mZHMsIGZkcCwgbnVtZmRzICogc2l6ZW9mKGludCkpOworLSAgICAg ICAgfSBlbHNlIHsKKy0gICAgICAgICAgICByZXFmZHMgPSBOVUxMOworLSAgICAgICAgfQorLSAg ICB9CistCistICAgIC8qCistICAgICAqIFB1dCB0aGUgd2hvbGUgbWVzc2FnZSBpbnRvIGEgc2lu Z2xlIGJ1ZmZlci4KKy0gICAgICovCistICAgIGlmIChpc3JlcGx5KSB7CisgICAgICAgICBpZiAo aGRyLnNpemUgPiBtc2ctPnJzaXplKSB7CisgICAgICAgICAgICAgZXJyb3Jfc2V0ZyhlcnJwLCAi cmVwbHkgbGFyZ2VyIHRoYW4gcmVjdiBidWZmZXIiKTsKKyAgICAgICAgICAgICBnb3RvIGVycjsK KyAgICAgICAgIH0KKy0gICAgICAgICptc2ctPmhkciA9IGhkcjsKKy0gICAgICAgIGRhdGEgPSAo Y2hhciAqKW1zZy0+aGRyICsgc2l6ZW9mKGhkcik7CisgICAgIH0gZWxzZSB7CisrICAgICAgICB2 b2lkICpidWY7CisrCisgICAgICAgICBpZiAoaGRyLnNpemUgPiBwcm94eS0+bWF4X3hmZXJfc2l6 ZSArIHNpemVvZihWRklPVXNlckRNQVJXKSkgeworICAgICAgICAgICAgIGVycm9yX3NldGcoZXJy cCwgInZmaW9fdXNlcl9yZWN2IHJlcXVlc3QgbGFyZ2VyIHRoYW4gbWF4Iik7CisgICAgICAgICAg ICAgZ290byBlcnI7CisgICAgICAgICB9CisrCisgICAgICAgICBidWYgPSBnX21hbGxvYzAoaGRy LnNpemUpOworLSAgICAgICAgbWVtY3B5KGJ1ZiwgJmhkciwgc2l6ZW9mKGhkcikpOworLSAgICAg ICAgZGF0YSA9IGJ1ZiArIHNpemVvZihoZHIpOworLSAgICAgICAgbXNnID0gdmZpb191c2VyX2dl dG1zZyhwcm94eSwgKFZGSU9Vc2VySGRyICopYnVmLCByZXFmZHMpOworKyAgICAgICAgbXNnID0g dmZpb191c2VyX2dldG1zZyhwcm94eSwgYnVmLCBOVUxMKTsKKyAgICAgICAgIG1zZy0+dHlwZSA9 IFZGSU9fTVNHX1JFUTsKKyAgICAgfQorIAorKyAgICAqbXNnLT5oZHIgPSBoZHI7CisrICAgIGRh dGEgPSAoY2hhciAqKW1zZy0+aGRyICsgc2l6ZW9mKGhkcik7CisrCisrICAgIGlmIChudW1mZHMg IT0gMCkgeworKyAgICAgICAgaWYgKG1zZy0+dHlwZSA9PSBWRklPX01TR19SRVEpIHsKKysgICAg ICAgICAgICBtc2ctPmZkcyA9IHZmaW9fdXNlcl9nZXRmZHMobnVtZmRzKTsKKysgICAgICAgIH0g ZWxzZSB7CisrICAgICAgICAgICAgaWYgKG1zZy0+ZmRzID09IE5VTEwgfHwgbXNnLT5mZHMtPnJl Y3ZfZmRzIDwgbnVtZmRzKSB7CisrICAgICAgICAgICAgICAgIGVycm9yX3NldGcoZXJycCwgInVu ZXhwZWN0ZWQgRkRzIGluIHJlcGx5Iik7CisrICAgICAgICAgICAgICAgIGdvdG8gZXJyOworKyAg ICAgICAgICAgIH0KKysgICAgICAgICAgICBtc2ctPmZkcy0+cmVjdl9mZHMgPSBudW1mZHM7Cisr ICAgICAgICB9CisrCisrICAgICAgICBtZW1jcHkobXNnLT5mZHMtPmZkcywgZmRwLCBudW1mZHMg KiBzaXplb2YoaW50KSk7CisrICAgIH0KKysKKyAgICAgLyoKKy0gICAgICogUmVhZCByZXN0IG9m IG1lc3NhZ2UuCisrICAgICAqIFJlYWQgcmVzdCBvZiBtZXNzYWdlIGludG8gdGhlIGRhdGEgYnVm ZmVyLgorICAgICAgKi8KKysKKyAgICAgbXNnbGVmdCA9IGhkci5zaXplIC0gc2l6ZW9mKGhkcik7 CisgICAgIHdoaWxlIChtc2dsZWZ0ID4gMCkgeworICAgICAgICAgcmV0ID0gcWlvX2NoYW5uZWxf cmVhZChwcm94eS0+aW9jLCBkYXRhLCBtc2dsZWZ0LCBlcnJwKTsKKy0tIAorMi41Mi4wCisKCmRp ZmYgLS1naXQgYS9rdm0tdmZpby12ZmlvLWNvbnRhaW5lci1iYXNlLmgtdXBkYXRlLVZGSU9Db250 YWluZXJCYXNlLS5wYXRjaCBiL2t2bS12ZmlvLXZmaW8tY29udGFpbmVyLWJhc2UuaC11cGRhdGUt VkZJT0NvbnRhaW5lckJhc2UtLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAuLjY1YWFhODYKLS0tIC9kZXYvbnVsbAorKysgYi9rdm0tdmZpby12ZmlvLWNvbnRhaW5lci1i YXNlLmgtdXBkYXRlLVZGSU9Db250YWluZXJCYXNlLS5wYXRjaApAQCAtMCwwICsxLDc4IEBACitG cm9tIDllZjc3YzUyN2E1MDY5YzZmNzQxNDFlNTlhN2UwMDQxZmY2MDA1NzQgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCitGcm9tOiBNYXJrIENhdmUtQXlsYW5kIDxtYXJrLmNhdmVheWxhbmRAbnV0 YW5peC5jb20+CitEYXRlOiBUdWUsIDE1IEp1bCAyMDI1IDEwOjI1OjQxICswMTAwCitTdWJqZWN0 OiBbUEFUQ0ggMDI5LzExNl0gdmZpby92ZmlvLWNvbnRhaW5lci1iYXNlLmg6IHVwZGF0ZSBWRklP Q29udGFpbmVyQmFzZQorIGRlY2xhcmF0aW9uCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1U eXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5n OiA4Yml0CisKK1JILUF1dGhvcjogUm9kb2xmbyBWaWNrIDxOb25lPgorUkgtTWVyZ2VSZXF1ZXN0 OiA0ODY6IEFkZCBETUFCVUYgc3VwcG9ydAorUkgtSmlyYTogUkhFTC0xMzg0OTQKK1JILUFja2Vk LWJ5OiBDw6lkcmljIExlIEdvYXRlciA8Y2xnQHJlZGhhdC5jb20+CitSSC1BY2tlZC1ieTogRXJp YyBBdWdlciA8ZXJpYy5hdWdlckByZWRoYXQuY29tPgorUkgtQ29tbWl0OiBbMTMvMTAwXSA5ZTM1 ZGZiZmIzMjhkZmM3YmU2ZDdkNDQ2OTlmN2IzYjc3YjM1NjhhIChyb3ZpY2sxL3FlbXUta3ZtKQor CitVcGRhdGUgdGhlIFZGSU9Db250YWluZXJCYXNlIGRlY2xhcmF0aW9uIHRvIG1hdGNoIG91ciBj dXJyZW50IGNvZGluZworZ3VpZGVsaW5lczogcmVtb3ZlIHRoZSBleHBsaWNpdCB0eXBlZGVmICh0 aGlzIGlzIGFscmVhZHkgaGFuZGxlZCBieSB0aGUKK09CSkVDVF9ERUNMQVJFX1RZUEUoKSBtYWNy byksIGFkZCBhIGJsYW5rIGxpbmUgYWZ0ZXIgdGhlIHBhcmVudCBvYmplY3QsCityZW5hbWUgcGFy ZW50IHRvIHBhcmVudF9vYmosIGFuZCBtb3ZlIHRoZSBtYWNybyBkZWNsYXJhdGlvbiBuZXh0IHRv IHRoZQorVkZJT0NvbnRhaW5lckJhc2Ugc3RydWN0IGRlY2xhcmF0aW9uLgorCitTaWduZWQtb2Zm LWJ5OiBNYXJrIENhdmUtQXlsYW5kIDxtYXJrLmNhdmVheWxhbmRAbnV0YW5peC5jb20+CitSZXZp ZXdlZC1ieTogQ8OpZHJpYyBMZSBHb2F0ZXIgPGNsZ0ByZWRoYXQuY29tPgorTGluazogaHR0cHM6 Ly9sb3JlLmtlcm5lbC5vcmcvcWVtdS1kZXZlbC8yMDI1MDcxNTA5MzExMC4xMDczMTctMi1tYXJr LmNhdmVheWxhbmRAbnV0YW5peC5jb20KK1NpZ25lZC1vZmYtYnk6IEPDqWRyaWMgTGUgR29hdGVy IDxjbGdAcmVkaGF0LmNvbT4KKyhjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDQyODc1ZDI1NmQy MDRlNjliNjA4ZjJiZDI2NWY4NWZhZTMyZGQ0YmQpCitTaWduZWQtb2ZmLWJ5OiBFcmljIEF1Z2Vy IDxlcmljLmF1Z2VyQHJlZGhhdC5jb20+CistLS0KKyBpbmNsdWRlL2h3L3ZmaW8vdmZpby1jb250 YWluZXItYmFzZS5oIHwgMTMgKysrKysrKy0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA3IGluc2Vy dGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9pbmNsdWRlL2h3L3ZmaW8v dmZpby1jb250YWluZXItYmFzZS5oIGIvaW5jbHVkZS9ody92ZmlvL3ZmaW8tY29udGFpbmVyLWJh c2UuaAoraW5kZXggYmRlZDZlOTkzZi4uYWNiZDQ4YTE4YSAxMDA2NDQKKy0tLSBhL2luY2x1ZGUv aHcvdmZpby92ZmlvLWNvbnRhaW5lci1iYXNlLmgKKysrKyBiL2luY2x1ZGUvaHcvdmZpby92Zmlv LWNvbnRhaW5lci1iYXNlLmgKK0BAIC0zMyw4ICszMyw5IEBAIHR5cGVkZWYgc3RydWN0IFZGSU9B ZGRyZXNzU3BhY2UgeworIC8qCisgICogVGhpcyBpcyB0aGUgYmFzZSBvYmplY3QgZm9yIHZmaW8g Y29udGFpbmVyIGJhY2tlbmRzCisgICovCistdHlwZWRlZiBzdHJ1Y3QgVkZJT0NvbnRhaW5lckJh c2UgeworLSAgICBPYmplY3QgcGFyZW50OworK3N0cnVjdCBWRklPQ29udGFpbmVyQmFzZSB7Cisr ICAgIE9iamVjdCBwYXJlbnRfb2JqOworKworICAgICBWRklPQWRkcmVzc1NwYWNlICpzcGFjZTsK KyAgICAgTWVtb3J5TGlzdGVuZXIgbGlzdGVuZXI7CisgICAgIEVycm9yICplcnJvcjsKK0BAIC01 MSw3ICs1MiwxMCBAQCB0eXBlZGVmIHN0cnVjdCBWRklPQ29udGFpbmVyQmFzZSB7CisgICAgIFFM SVNUX0hFQUQoLCBWRklPRGV2aWNlKSBkZXZpY2VfbGlzdDsKKyAgICAgR0xpc3QgKmlvdmFfcmFu Z2VzOworICAgICBOb3RpZmllcldpdGhSZXR1cm4gY3ByX3JlYm9vdF9ub3RpZmllcjsKKy19IFZG SU9Db250YWluZXJCYXNlOworK307CisrCisrI2RlZmluZSBUWVBFX1ZGSU9fSU9NTVUgInZmaW8t aW9tbXUiCisrT0JKRUNUX0RFQ0xBUkVfVFlQRShWRklPQ29udGFpbmVyQmFzZSwgVkZJT0lPTU1V Q2xhc3MsIFZGSU9fSU9NTVUpCisgCisgdHlwZWRlZiBzdHJ1Y3QgVkZJT0d1ZXN0SU9NTVUgewor ICAgICBWRklPQ29udGFpbmVyQmFzZSAqYmNvbnRhaW5lcjsKK0BAIC0xMDUsMTQgKzEwOSwxMSBA QCB2ZmlvX2NvbnRhaW5lcl9nZXRfcGFnZV9zaXplX21hc2soY29uc3QgVkZJT0NvbnRhaW5lckJh c2UgKmJjb250YWluZXIpCisgICAgIHJldHVybiBiY29udGFpbmVyLT5wZ3NpemVzOworIH0KKyAK Ky0jZGVmaW5lIFRZUEVfVkZJT19JT01NVSAidmZpby1pb21tdSIKKyAjZGVmaW5lIFRZUEVfVkZJ T19JT01NVV9MRUdBQ1kgVFlQRV9WRklPX0lPTU1VICItbGVnYWN5IgorICNkZWZpbmUgVFlQRV9W RklPX0lPTU1VX1NQQVBSIFRZUEVfVkZJT19JT01NVSAiLXNwYXByIgorICNkZWZpbmUgVFlQRV9W RklPX0lPTU1VX0lPTU1VRkQgVFlQRV9WRklPX0lPTU1VICItaW9tbXVmZCIKKyAjZGVmaW5lIFRZ UEVfVkZJT19JT01NVV9VU0VSIFRZUEVfVkZJT19JT01NVSAiLXVzZXIiCisgCistT0JKRUNUX0RF Q0xBUkVfVFlQRShWRklPQ29udGFpbmVyQmFzZSwgVkZJT0lPTU1VQ2xhc3MsIFZGSU9fSU9NTVUp CistCisgc3RydWN0IFZGSU9JT01NVUNsYXNzIHsKKyAgICAgT2JqZWN0Q2xhc3MgcGFyZW50X2Ns YXNzOworIAorLS0gCisyLjUyLjAKKwoKZGlmZiAtLWdpdCBhL2t2bS12ZmlvLXZmaW8tY29udGFp bmVyLmgtcmVuYW1lLVZGSU9Db250YWluZXItYmNvbnRhaW5lLnBhdGNoIGIva3ZtLXZmaW8tdmZp by1jb250YWluZXIuaC1yZW5hbWUtVkZJT0NvbnRhaW5lci1iY29udGFpbmUucGF0Y2gKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWEwNzc0NgotLS0gL2Rldi9udWxsCisrKyBi L2t2bS12ZmlvLXZmaW8tY29udGFpbmVyLmgtcmVuYW1lLVZGSU9Db250YWluZXItYmNvbnRhaW5l LnBhdGNoCkBAIC0wLDAgKzEsNDYgQEAKK0Zyb20gODQ5ZGRlNTdjNmU1M2FlYTAyMmVlNTQzYTg2 MmVkNDUwODU1NmRiZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1hcmsgQ2F2ZS1B eWxhbmQgPG1hcmsuY2F2ZWF5bGFuZEBudXRhbml4LmNvbT4KK0RhdGU6IFR1ZSwgMTUgSnVsIDIw MjUgMTA6MjU6NDcgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSCAwMzQvMTE2XSB2ZmlvL3ZmaW8tY29u dGFpbmVyLmg6IHJlbmFtZSBWRklPQ29udGFpbmVyCisgYmNvbnRhaW5lciBmaWVsZCB0byBwYXJl bnRfb2JqCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFy c2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK1JILUF1dGhvcjog Um9kb2xmbyBWaWNrIDxOb25lPgorUkgtTWVyZ2VSZXF1ZXN0OiA0ODY6IEFkZCBETUFCVUYgc3Vw cG9ydAorUkgtSmlyYTogUkhFTC0xMzg0OTQKK1JILUFja2VkLWJ5OiBDw6lkcmljIExlIEdvYXRl ciA8Y2xnQHJlZGhhdC5jb20+CitSSC1BY2tlZC1ieTogRXJpYyBBdWdlciA8ZXJpYy5hdWdlckBy ZWRoYXQuY29tPgorUkgtQ29tbWl0OiBbMTgvMTAwXSA4NTVlZTM5MTQxMGU4NGRmNDEwYmYwZDYw YjkwOGI1NzczMmU5OGE5IChyb3ZpY2sxL3FlbXUta3ZtKQorCitOb3cgdGhhdCBub3RoaW5nIGFj Y2Vzc2VzIHRoZSBiY29udGFpbmVyIGZpZWxkIGRpcmVjdGx5LCByZW5hbWUgYmNvbnRhaW5lciB0 bworcGFyZW50X29iaiBhcyBwZXIgb3VyIGN1cnJlbnQgY29kaW5nIGd1aWRlbGluZXMuCisKK1Np Z25lZC1vZmYtYnk6IE1hcmsgQ2F2ZS1BeWxhbmQgPG1hcmsuY2F2ZWF5bGFuZEBudXRhbml4LmNv bT4KK1Jldmlld2VkLWJ5OiBDw6lkcmljIExlIEdvYXRlciA8Y2xnQHJlZGhhdC5jb20+CitSZXZp ZXdlZC1ieTogUGhpbGlwcGUgTWF0aGlldS1EYXVkw6kgPHBoaWxtZEBsaW5hcm8ub3JnPgorTGlu azogaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvcWVtdS1kZXZlbC8yMDI1MDcxNTA5MzExMC4xMDcz MTctOC1tYXJrLmNhdmVheWxhbmRAbnV0YW5peC5jb20KK1NpZ25lZC1vZmYtYnk6IEPDqWRyaWMg TGUgR29hdGVyIDxjbGdAcmVkaGF0LmNvbT4KKyhjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDUw N2ExMThlOWY4Y2MzMjhjNTVhZGM1MzEzMzZlMDc1ZmE4ZWUyZDcpCitTaWduZWQtb2ZmLWJ5OiBF cmljIEF1Z2VyIDxlcmljLmF1Z2VyQHJlZGhhdC5jb20+CistLS0KKyBpbmNsdWRlL2h3L3ZmaW8v dmZpby1jb250YWluZXIuaCB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyks IDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL2luY2x1ZGUvaHcvdmZpby92ZmlvLWNvbnRh aW5lci5oIGIvaW5jbHVkZS9ody92ZmlvL3ZmaW8tY29udGFpbmVyLmgKK2luZGV4IDUwYzkxNzg4 ZDUuLjI0MGY1NjY5OTMgMTAwNjQ0CistLS0gYS9pbmNsdWRlL2h3L3ZmaW8vdmZpby1jb250YWlu ZXIuaAorKysrIGIvaW5jbHVkZS9ody92ZmlvL3ZmaW8tY29udGFpbmVyLmgKK0BAIC0yNiw3ICsy Niw3IEBAIHR5cGVkZWYgc3RydWN0IFZGSU9Hcm91cCB7CisgfSBWRklPR3JvdXA7CisgCisgc3Ry dWN0IFZGSU9Db250YWluZXIgeworLSAgICBWRklPQ29udGFpbmVyQmFzZSBiY29udGFpbmVyOwor KyAgICBWRklPQ29udGFpbmVyQmFzZSBwYXJlbnRfb2JqOworIAorICAgICBpbnQgZmQ7IC8qIC9k ZXYvdmZpby92ZmlvLCBlbXBvd2VyZWQgYnkgdGhlIGF0dGFjaGVkIGdyb3VwcyAqLworICAgICB1 bnNpZ25lZCBpb21tdV90eXBlOworLS0gCisyLjUyLjAKKwoKZGlmZiAtLWdpdCBhL2t2bS12Zmlv LXZmaW8tY29udGFpbmVyLmgtdXBkYXRlLVZGSU9Db250YWluZXItZGVjbGFyYXRpLnBhdGNoIGIv a3ZtLXZmaW8tdmZpby1jb250YWluZXIuaC11cGRhdGUtVkZJT0NvbnRhaW5lci1kZWNsYXJhdGku cGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmIyYTYxMAotLS0gL2Rl di9udWxsCisrKyBiL2t2bS12ZmlvLXZmaW8tY29udGFpbmVyLmgtdXBkYXRlLVZGSU9Db250YWlu ZXItZGVjbGFyYXRpLnBhdGNoCkBAIC0wLDAgKzEsNTUgQEAKK0Zyb20gNjg2ZDYwMzUwMmVhN2Fm ODQyMGY5ZmVlNjAzY2NhMDAxMDMxNTlkYyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206 IE1hcmsgQ2F2ZS1BeWxhbmQgPG1hcmsuY2F2ZWF5bGFuZEBudXRhbml4LmNvbT4KK0RhdGU6IFR1 ZSwgMTUgSnVsIDIwMjUgMTA6MjU6NDIgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSCAwMzAvMTE2XSB2 ZmlvL3ZmaW8tY29udGFpbmVyLmg6IHVwZGF0ZSBWRklPQ29udGFpbmVyCisgZGVjbGFyYXRpb24K K01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRG LTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworUkgtQXV0aG9yOiBSb2RvbGZv IFZpY2sgPE5vbmU+CitSSC1NZXJnZVJlcXVlc3Q6IDQ4NjogQWRkIERNQUJVRiBzdXBwb3J0CitS SC1KaXJhOiBSSEVMLTEzODQ5NAorUkgtQWNrZWQtYnk6IEPDqWRyaWMgTGUgR29hdGVyIDxjbGdA cmVkaGF0LmNvbT4KK1JILUFja2VkLWJ5OiBFcmljIEF1Z2VyIDxlcmljLmF1Z2VyQHJlZGhhdC5j b20+CitSSC1Db21taXQ6IFsxNC8xMDBdIDQzNmFiZWM3YTA4ZGUyZDM1NTgyNDJhYmJkMjBhZGMw MzMwZjYyMDAgKHJvdmljazEvcWVtdS1rdm0pCisKK1VwZGF0ZSB0aGUgVkZJT0NvbnRhaW5lciBk ZWNsYXJhdGlvbiBzbyB0aGF0IGl0IGlzIGNsb3NlciB0byBvdXIgY29kaW5nCitndWlkZWxpbmVz OiBlbW92ZSB0aGUgZXhwbGljaXQgdHlwZWRlZiAodGhpcyBpcyBhbHJlYWR5IGhhbmRsZWQgYnkg dGhlCitPQkpFQ1RfREVDTEFSRV9UWVBFKCkgbWFjcm8pIGFuZCBhZGQgYSBibGFuayBsaW5lIGFm dGVyIHRoZSBwYXJlbnQgb2JqZWN0LgorCitTaWduZWQtb2ZmLWJ5OiBNYXJrIENhdmUtQXlsYW5k IDxtYXJrLmNhdmVheWxhbmRAbnV0YW5peC5jb20+CitSZXZpZXdlZC1ieTogQ8OpZHJpYyBMZSBH b2F0ZXIgPGNsZ0ByZWRoYXQuY29tPgorUmV2aWV3ZWQtYnk6IFBoaWxpcHBlIE1hdGhpZXUtRGF1 ZMOpIDxwaGlsbWRAbGluYXJvLm9yZz4KK0xpbms6IGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL3Fl bXUtZGV2ZWwvMjAyNTA3MTUwOTMxMTAuMTA3MzE3LTMtbWFyay5jYXZlYXlsYW5kQG51dGFuaXgu Y29tCitTaWduZWQtb2ZmLWJ5OiBDw6lkcmljIExlIEdvYXRlciA8Y2xnQHJlZGhhdC5jb20+Ciso Y2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCA5OGMxMmRlNWFlYjFjYjQ2NGE5Y2RlMTNjZDdhNTNk ZDY1MjBkM2FhKQorU2lnbmVkLW9mZi1ieTogRXJpYyBBdWdlciA8ZXJpYy5hdWdlckByZWRoYXQu Y29tPgorLS0tCisgaW5jbHVkZS9ody92ZmlvL3ZmaW8tY29udGFpbmVyLmggfCA1ICsrKy0tCisg MSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlmZiAt LWdpdCBhL2luY2x1ZGUvaHcvdmZpby92ZmlvLWNvbnRhaW5lci5oIGIvaW5jbHVkZS9ody92Zmlv L3ZmaW8tY29udGFpbmVyLmgKK2luZGV4IDIxZTU4MDdlNDguLjUwYzkxNzg4ZDUgMTAwNjQ0Cist LS0gYS9pbmNsdWRlL2h3L3ZmaW8vdmZpby1jb250YWluZXIuaAorKysrIGIvaW5jbHVkZS9ody92 ZmlvL3ZmaW8tY29udGFpbmVyLmgKK0BAIC0yNSwxMyArMjUsMTQgQEAgdHlwZWRlZiBzdHJ1Y3Qg VkZJT0dyb3VwIHsKKyAgICAgYm9vbCByYW1fYmxvY2tfZGlzY2FyZF9hbGxvd2VkOworIH0gVkZJ T0dyb3VwOworIAorLXR5cGVkZWYgc3RydWN0IFZGSU9Db250YWluZXIgeworK3N0cnVjdCBWRklP Q29udGFpbmVyIHsKKyAgICAgVkZJT0NvbnRhaW5lckJhc2UgYmNvbnRhaW5lcjsKKysKKyAgICAg aW50IGZkOyAvKiAvZGV2L3ZmaW8vdmZpbywgZW1wb3dlcmVkIGJ5IHRoZSBhdHRhY2hlZCBncm91 cHMgKi8KKyAgICAgdW5zaWduZWQgaW9tbXVfdHlwZTsKKyAgICAgUUxJU1RfSEVBRCgsIFZGSU9H cm91cCkgZ3JvdXBfbGlzdDsKKyAgICAgVkZJT0NvbnRhaW5lckNQUiBjcHI7CistfSBWRklPQ29u dGFpbmVyOworK307CisgCisgT0JKRUNUX0RFQ0xBUkVfU0lNUExFX1RZUEUoVkZJT0NvbnRhaW5l ciwgVkZJT19JT01NVV9MRUdBQ1kpOworIAorLS0gCisyLjUyLjAKKwoKZGlmZiAtLWdpdCBhL2t2 bS12ZmlvLXZmaW8taW9tbXVmZC5oLXJlbmFtZS1WRklPQ29udGFpbmVyLWJjb250YWluZXItLnBh dGNoIGIva3ZtLXZmaW8tdmZpby1pb21tdWZkLmgtcmVuYW1lLVZGSU9Db250YWluZXItYmNvbnRh aW5lci0ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTJkM2M5OAot LS0gL2Rldi9udWxsCisrKyBiL2t2bS12ZmlvLXZmaW8taW9tbXVmZC5oLXJlbmFtZS1WRklPQ29u dGFpbmVyLWJjb250YWluZXItLnBhdGNoCkBAIC0wLDAgKzEsNTMgQEAKK0Zyb20gYjc3YTUwOTYx NmI3OTQ3ZTU0NjQ5MTE5NmFjOTdjYTZjYzM0YWVkZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK K0Zyb206IE1hcmsgQ2F2ZS1BeWxhbmQgPG1hcmsuY2F2ZWF5bGFuZEBudXRhbml4LmNvbT4KK0Rh dGU6IFRodSwgMjUgU2VwIDIwMjUgMTI6MzE6MTcgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSCAwNTkv MTE2XSB2ZmlvL3ZmaW8taW9tbXVmZC5oOiByZW5hbWUgVkZJT0NvbnRhaW5lciBiY29udGFpbmVy CisgZmllbGQgdG8gcGFyZW50X29iagorTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlwZTog dGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJp dAorCitSSC1BdXRob3I6IFJvZG9sZm8gVmljayA8Tm9uZT4KK1JILU1lcmdlUmVxdWVzdDogNDg2 OiBBZGQgRE1BQlVGIHN1cHBvcnQKK1JILUppcmE6IFJIRUwtMTM4NDk0CitSSC1BY2tlZC1ieTog Q8OpZHJpYyBMZSBHb2F0ZXIgPGNsZ0ByZWRoYXQuY29tPgorUkgtQWNrZWQtYnk6IEVyaWMgQXVn ZXIgPGVyaWMuYXVnZXJAcmVkaGF0LmNvbT4KK1JILUNvbW1pdDogWzQzLzEwMF0gMjY3NmMyMmM3 ODJhOTJhYTJmZjkxMGY0MzdmNmExZDgzMGUwMWY3ZCAocm92aWNrMS9xZW11LWt2bSkKKworTm93 IHRoYXQgbm90aGluZyBhY2Nlc3NlcyB0aGUgYmNvbnRhaW5lciBmaWVsZCBkaXJlY3RseSwgcmVu YW1lIGJjb250YWluZXIgdG8KK3BhcmVudF9vYmogYXMgcGVyIG91ciBjdXJyZW50IGNvZGluZyBn dWlkZWxpbmVzLgorCitTaWduZWQtb2ZmLWJ5OiBNYXJrIENhdmUtQXlsYW5kIDxtYXJrLmNhdmVh eWxhbmRAbnV0YW5peC5jb20+CitSZXZpZXdlZC1ieTogQ8OpZHJpYyBMZSBHb2F0ZXIgPGNsZ0By ZWRoYXQuY29tPgorTGluazogaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvcWVtdS1kZXZlbC8yMDI1 MDkyNTExMzE1OS4xNzYwMzE3LTEwLW1hcmsuY2F2ZWF5bGFuZEBudXRhbml4LmNvbQorU2lnbmVk LW9mZi1ieTogQ8OpZHJpYyBMZSBHb2F0ZXIgPGNsZ0ByZWRoYXQuY29tPgorKGNoZXJyeSBwaWNr ZWQgZnJvbSBjb21taXQgYTdmMTg1Y2JlY2E3NTU1NWE3ZmE3MjcyYWZiZDNhMDZiYzRmN2Y2NikK K1NpZ25lZC1vZmYtYnk6IEVyaWMgQXVnZXIgPGVyaWMuYXVnZXJAcmVkaGF0LmNvbT4KKy0tLQor IGh3L3ZmaW8vdmZpby1pb21tdWZkLmggfCA3ICsrKystLS0KKyAxIGZpbGUgY2hhbmdlZCwgNCBp bnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvaHcvdmZpby92Zmlv LWlvbW11ZmQuaCBiL2h3L3ZmaW8vdmZpby1pb21tdWZkLmgKK2luZGV4IDEzZjQxMmFhZDcuLjZi MjhlMWZmN2IgMTAwNjQ0CistLS0gYS9ody92ZmlvL3ZmaW8taW9tbXVmZC5oCisrKysgYi9ody92 ZmlvL3ZmaW8taW9tbXVmZC5oCitAQCAtMjIsMTIgKzIyLDEzIEBAIHR5cGVkZWYgc3RydWN0IFZG SU9JT0FTSHdwdCB7CisgCisgdHlwZWRlZiBzdHJ1Y3QgSU9NTVVGREJhY2tlbmQgSU9NTVVGREJh Y2tlbmQ7CisgCistdHlwZWRlZiBzdHJ1Y3QgVkZJT0lPTU1VRkRDb250YWluZXIgeworLSAgICBW RklPQ29udGFpbmVyIGJjb250YWluZXI7Cisrc3RydWN0IFZGSU9JT01NVUZEQ29udGFpbmVyIHsK KysgICAgVkZJT0NvbnRhaW5lciBwYXJlbnRfb2JqOworKworICAgICBJT01NVUZEQmFja2VuZCAq YmU7CisgICAgIHVpbnQzMl90IGlvYXNfaWQ7CisgICAgIFFMSVNUX0hFQUQoLCBWRklPSU9BU0h3 cHQpIGh3cHRfbGlzdDsKKy19IFZGSU9JT01NVUZEQ29udGFpbmVyOworK307CisgCisgT0JKRUNU X0RFQ0xBUkVfU0lNUExFX1RZUEUoVkZJT0lPTU1VRkRDb250YWluZXIsIFZGSU9fSU9NTVVfSU9N TVVGRCk7CisgCistLSAKKzIuNTIuMAorCgpkaWZmIC0tZ2l0IGEva3ZtLXZtc3RhdGUtSW50cm9k dWNlLVZNU1RBVEVfVkFSUkFZX0lOVDMyX0FMTE9DLnBhdGNoIGIva3ZtLXZtc3RhdGUtSW50cm9k dWNlLVZNU1RBVEVfVkFSUkFZX0lOVDMyX0FMTE9DLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDAwMDAwMDAuLjJhNTIwZjQKLS0tIC9kZXYvbnVsbAorKysgYi9rdm0tdm1zdGF0ZS1J bnRyb2R1Y2UtVk1TVEFURV9WQVJSQVlfSU5UMzJfQUxMT0MucGF0Y2gKQEAgLTAsMCArMSw2MSBA QAorRnJvbSAwNTM5YjQ1OWM4YTEzNDU1OWIwNWRiZmMzZmMxMjQ0ZjY0ZTg5ZTYyIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQorRnJvbTogRXJpYyBBdWdlciA8ZXJpYy5hdWdlckByZWRoYXQuY29t PgorRGF0ZTogRnJpLCA2IE1hciAyMDI2IDA5OjAxOjEyICswMDAwCitTdWJqZWN0OiBbUEFUQ0gg MDAxLzExNl0gdm1zdGF0ZTogSW50cm9kdWNlIFZNU1RBVEVfVkFSUkFZX0lOVDMyX0FMTE9DCisK K1JILUF1dGhvcjogRXJpYyBBdWdlciA8ZXJpYy5hdWdlckByZWRoYXQuY29tPgorUkgtTWVyZ2VS ZXF1ZXN0OiA0ODg6IFtyaGVsLTEwXSBCYWNrcG9ydCBjcm9zcy1rZXJuZWwgbWlncmF0aW9uIGZh aWx1cmUgbWl0aWdhdGlvbiBzZXJpZXMKK1JILUppcmE6IFJIRUwtMTc0ODU4CitSSC1BY2tlZC1i eTogTW9oYW1tYWRmYWl6IEJhd2EgPE5vbmU+CitSSC1BY2tlZC1ieTogU2ViYXN0aWFuIE90dCA8 c2Vib3R0QHJlZGhhdC5jb20+CitSSC1BY2tlZC1ieTogR2F2aW4gU2hhbiA8Z3NoYW5AcmVkaGF0 LmNvbT4KK1JILUNvbW1pdDogWzEvMTZdIDU0YzBjN2E5NWU5OGM3ZDZlYjczMTE5NzYzMTIxYzNi YTMwZThjNTggKGVhdWdlcjEvY2VudG9zLXFlbXUta3ZtKQorCitBbHJlYWR5IGV4aXN0aW5nIFZN U1RBVEVfVkFSUkFZX0lOVDMyIHJlcXVpcmVzIGFuIGFycmF5IHRvIGJlCitwcmUtYWxsb2NhdGVk LCBob3dldmVyIHRoZXJlIGFyZSBjYXNlcyB3aGVuIHRoZSBzaXplIGlzIG5vdCBrbm93biBpbgor YWR2YW5jZSBhbmQgdGhlcmUgaXMgbm8gcmVhbCBuZWVkIHRvIGVuZm9yY2UgaXQuCisKK0ludHJv ZHVjZSBWTVNUQVRFX1ZBUlJBWV9JTlQzMl9BTExPQyBhcyB3ZSBjdXJyZW50bHkgaGF2ZSBmb3Ig VUlOVDMyCithbmQgVUlOVDE2LgorCitUaGUgZmlyc3QgdXNlciBvZiB0aGlzIHZhcmlhbnQgd2ls bCBiZSB0aGUgdGFyZ2V0L2FybS9tYWNoaW5lLmMgY3ByZWcKK2luZGV4ZXMvdmFsdWVzIGFycmF5 cy4KKworU2lnbmVkLW9mZi1ieTogRXJpYyBBdWdlciA8ZXJpYy5hdWdlckByZWRoYXQuY29tPgor UmV2aWV3ZWQtYnk6IFBldGVyIE1heWRlbGwgPHBldGVyLm1heWRlbGxAbGluYXJvLm9yZz4KK1Jl dmlld2VkLWJ5OiBQZXRlciBYdSA8cGV0ZXJ4QHJlZGhhdC5jb20+CitNZXNzYWdlLWlkOiAyMDI2 MDMwNDEwMTYyNS4xOTYyNjMzLTItZXJpYy5hdWdlckByZWRoYXQuY29tCitTdWdnZXN0ZWQtYnk6 IFBldGVyIE1heWRlbGwgPHBldGVyLm1heWRlbGxAbGluYXJvLm9yZz4KK1Jldmlld2VkLWJ5OiBQ ZXRlciBNYXlkZWxsIDxwZXRlci5tYXlkZWxsQGxpbmFyby5vcmc+CitSZXZpZXdlZC1ieTogUGV0 ZXIgWHUgPHBldGVyeEByZWRoYXQuY29tPgorU2lnbmVkLW9mZi1ieTogUGV0ZXIgTWF5ZGVsbCA8 cGV0ZXIubWF5ZGVsbEBsaW5hcm8ub3JnPgorKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgZjU1 NTMzOGRmNzU0YjM3ZTA0MmQ1Yjg4NjEwYzM0YjFkMTg0NTM4MykKK1NpZ25lZC1vZmYtYnk6IEVy aWMgQXVnZXIgPGVyaWMuYXVnZXJAcmVkaGF0LmNvbT4KKy0tLQorIGluY2x1ZGUvbWlncmF0aW9u L3Ztc3RhdGUuaCB8IDEwICsrKysrKysrKysKKyAxIGZpbGUgY2hhbmdlZCwgMTAgaW5zZXJ0aW9u cygrKQorCitkaWZmIC0tZ2l0IGEvaW5jbHVkZS9taWdyYXRpb24vdm1zdGF0ZS5oIGIvaW5jbHVk ZS9taWdyYXRpb24vdm1zdGF0ZS5oCitpbmRleCAxZmY3YmQ5YWM0Li5lZjJmMGM1YzkzIDEwMDY0 NAorLS0tIGEvaW5jbHVkZS9taWdyYXRpb24vdm1zdGF0ZS5oCisrKysgYi9pbmNsdWRlL21pZ3Jh dGlvbi92bXN0YXRlLmgKK0BAIC00MzIsNiArNDMyLDE2IEBAIGV4dGVybiBjb25zdCBWTVN0YXRl SW5mbyB2bXN0YXRlX2luZm9fcWxpc3Q7CisgICAgIC5vZmZzZXQgICAgID0gdm1zdGF0ZV9vZmZz ZXRfcG9pbnRlcihfc3RhdGUsIF9maWVsZCwgX3R5cGUpLCAgICAgXAorIH0KKyAKKysjZGVmaW5l IFZNU1RBVEVfVkFSUkFZX0lOVDMyX0FMTE9DKF9maWVsZCwgX3N0YXRlLCBfZmllbGRfbnVtLCBf dmVyc2lvbiwgX2luZm8sIF90eXBlKSB7XAorKyAgICAubmFtZSAgICAgICA9IChzdHJpbmdpZnko X2ZpZWxkKSksICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKysgICAgLnZlcnNpb25f aWQgPSAoX3ZlcnNpb24pLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc CisrICAgIC5udW1fb2Zmc2V0ID0gdm1zdGF0ZV9vZmZzZXRfdmFsdWUoX3N0YXRlLCBfZmllbGRf bnVtLCBpbnQzMl90KSwgXAorKyAgICAuaW5mbyAgICAgICA9ICYoX2luZm8pLCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKysgICAgLnNpemUgICAgICAgPSBzaXpl b2YoX3R5cGUpLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisrICAgIC5m bGFncyAgICAgID0gVk1TX1ZBUlJBWV9JTlQzMiB8IFZNU19QT0lOVEVSIHwgVk1TX0FMTE9DLCAg ICAgICAgXAorKyAgICAub2Zmc2V0ICAgICA9IHZtc3RhdGVfb2Zmc2V0X3BvaW50ZXIoX3N0YXRl LCBfZmllbGQsIF90eXBlKSwgICAgIFwKKyt9CisrCisgI2RlZmluZSBWTVNUQVRFX1ZBUlJBWV9V SU5UMzJfQUxMT0MoX2ZpZWxkLCBfc3RhdGUsIF9maWVsZF9udW0sIF92ZXJzaW9uLCBfaW5mbywg X3R5cGUpIHtcCisgICAgIC5uYW1lICAgICAgID0gKHN0cmluZ2lmeShfZmllbGQpKSwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAudmVyc2lvbl9pZCA9IChfdmVyc2lvbiks ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKy0tIAorMi41Mi4wCisK CmRpZmYgLS1naXQgYS9xZW11LnNwZWMgYi9xZW11LnNwZWMKaW5kZXggMjc1OWI4Ny4uMGU1ZTNj NiAxMDA2NDQKLS0tIGEvcWVtdS5zcGVjCisrKyBiL3FlbXUuc3BlYwpAQCAtMTQzLDcgKzE0Myw3 IEBAIE9ic29sZXRlczogJXtuYW1lfS1ibG9jay1zc2ggPD0gJXtlcG9jaH06JXt2ZXJzaW9ufSAg ICAgICAgICAgICAgICAgICAgXAogU3VtbWFyeTogUUVNVSBpcyBhIG1hY2hpbmUgZW11bGF0b3Ig YW5kIHZpcnR1YWxpemVyCiBOYW1lOiBxZW11LWt2bQogVmVyc2lvbjogMTAuMS4wCi1SZWxlYXNl OiAxOCV7P3JjcmVsfSV7P2Rpc3R9JXs/Y2Nfc3VmZml4fQorUmVsZWFzZTogMTklez9yY3JlbH0l ez9kaXN0fSV7P2NjX3N1ZmZpeH0KICMgRXBvY2ggYmVjYXVzZSB3ZSBwdXNoZWQgYSBxZW11LTEu MCBwYWNrYWdlLiBBSVVJIHRoaXMgY2FuJ3QgZXZlciBiZSBkcm9wcGVkCiAjIEVwb2NoIDE1IHVz ZWQgZm9yIFJIRUwgOAogIyBFcG9jaCAxNyB1c2VkIGZvciBSSEVMIDkgKGR1ZSB0byByZWxlYXNl IHZlcnNpb25pbmcgb2Zmc2V0IGluIFJIRUwgOC41KQpAQCAtNDQ3LDYgKzQ0NywyMzggQEAgUGF0 Y2gxNDM6IGt2bS1kb2NzLXNwZWNzLXRwbS1kb2N1bWVudC1QUEktc3VwcG9ydC1vbi1BUk02NC12 aXJ0LnBhdGNoCiBQYXRjaDE0NDoga3ZtLWh3LWFjcGktdHBtLXBhcmFtZXRlcml6ZS1QUEktYmFz ZS1hZGRyZXNzLWluLXRwbV9idWkucGF0Y2gKICMgRm9yIFJIRUwtMTEyNjA4IC0gW0FSTTY0XSBX aW5kb3dzIDExIFZNIHNob3VsZCBpbnN0YWxsIHdpdGhvdXQgVFBNIEJ5cGFzcwogUGF0Y2gxNDU6 IGt2bS1ody10cG0tYWRkLVBQSS1zdXBwb3J0LXRvLXRwbS10aXMtZGV2aWNlLWZvci1BUk02NC12 LnBhdGNoCisjIEZvciBSSEVMLTE3NDg1OCAtIFtyaGVsMTBdIEJhY2twb3J0IHFlbXUgY3Jvc3Mt a2VybmVsIG1pZ3JhdGlvbiBtaXRpZ2F0aW9uIHNlcmllcworUGF0Y2gxNDY6IGt2bS12bXN0YXRl LUludHJvZHVjZS1WTVNUQVRFX1ZBUlJBWV9JTlQzMl9BTExPQy5wYXRjaAorIyBGb3IgUkhFTC0x NzQ4NTggLSBbcmhlbDEwXSBCYWNrcG9ydCBxZW11IGNyb3NzLWtlcm5lbCBtaWdyYXRpb24gbWl0 aWdhdGlvbiBzZXJpZXMKK1BhdGNoMTQ3OiBrdm0tdGFyZ2V0LWFybS1Nb3ZlLWNvbXBhcmVfdTY0 LXRvLWhlbHBlci5jLnBhdGNoCisjIEZvciBSSEVMLTE3NDg1OCAtIFtyaGVsMTBdIEJhY2twb3J0 IHFlbXUgY3Jvc3Mta2VybmVsIG1pZ3JhdGlvbiBtaXRpZ2F0aW9uIHNlcmllcworUGF0Y2gxNDg6 IGt2bS10YXJnZXQtYXJtLUNvbnZlcnQtaW5pdF9jcHJlZ19saXN0LXRvLWdfaGFzaF90YWJsZV9m LnBhdGNoCisjIEZvciBSSEVMLTE3NDg1OCAtIFtyaGVsMTBdIEJhY2twb3J0IHFlbXUgY3Jvc3Mt a2VybmVsIG1pZ3JhdGlvbiBtaXRpZ2F0aW9uIHNlcmllcworUGF0Y2gxNDk6IGt2bS10YXJnZXQt YXJtLW1hY2hpbmUtVXNlLVZNU1RBVEVfVkFSUkFZX0lOVDMyX0FMTE9DLWZvLnBhdGNoCisjIEZv ciBSSEVMLTE3NDg1OCAtIFtyaGVsMTBdIEJhY2twb3J0IHFlbXUgY3Jvc3Mta2VybmVsIG1pZ3Jh dGlvbiBtaXRpZ2F0aW9uIHNlcmllcworUGF0Y2gxNTA6IGt2bS10YXJnZXQtYXJtLWt2bS1FeHBv cnQta3ZtX3ByaW50X3JlZ2lzdGVyX25hbWUucGF0Y2gKKyMgRm9yIFJIRUwtMTc0ODU4IC0gW3Jo ZWwxMF0gQmFja3BvcnQgcWVtdSBjcm9zcy1rZXJuZWwgbWlncmF0aW9uIG1pdGlnYXRpb24gc2Vy aWVzCitQYXRjaDE1MToga3ZtLXRhcmdldC1hcm0ta3ZtLVR3ZWFrLXByaW50X3JlZ2lzdGVyX25h bWUtZm9yLWFybTY0LXMucGF0Y2gKKyMgRm9yIFJIRUwtMTc0ODU4IC0gW3JoZWwxMF0gQmFja3Bv cnQgcWVtdSBjcm9zcy1rZXJuZWwgbWlncmF0aW9uIG1pdGlnYXRpb24gc2VyaWVzCitQYXRjaDE1 Mjoga3ZtLXRhcmdldC1hcm0tbWFjaGluZS1UcmFjZS1jcHJlZy1uYW1lcy13aGljaC1kby1ub3Qt bWEucGF0Y2gKKyMgRm9yIFJIRUwtMTc0ODU4IC0gW3JoZWwxMF0gQmFja3BvcnQgcWVtdSBjcm9z cy1rZXJuZWwgbWlncmF0aW9uIG1pdGlnYXRpb24gc2VyaWVzCitQYXRjaDE1Mzoga3ZtLXRhcmdl dC1hcm0tbWFjaGluZS1UcmFjZS1hbGwtcmVnaXN0ZXItbWlzbWF0Y2hlcy5wYXRjaAorIyBGb3Ig UkhFTC0xNzQ4NTggLSBbcmhlbDEwXSBCYWNrcG9ydCBxZW11IGNyb3NzLWtlcm5lbCBtaWdyYXRp b24gbWl0aWdhdGlvbiBzZXJpZXMKK1BhdGNoMTU0OiBrdm0tdGFyZ2V0LWFybS1tYWNoaW5lLUZp eC1kZXRlY3Rpb24tb2YtdW5rbm93bi1pbmNvbWluZy5wYXRjaAorIyBGb3IgUkhFTC0xNzQ4NTgg LSBbcmhlbDEwXSBCYWNrcG9ydCBxZW11IGNyb3NzLWtlcm5lbCBtaWdyYXRpb24gbWl0aWdhdGlv biBzZXJpZXMKK1BhdGNoMTU1OiBrdm0tdGFyZ2V0LWFybS1jcHUtSW50cm9kdWNlLXRoZS1pbmZy YXN0cnVjdHVyZS1mb3ItY3ByZS5wYXRjaAorIyBGb3IgUkhFTC0xNzQ4NTggLSBbcmhlbDEwXSBC YWNrcG9ydCBxZW11IGNyb3NzLWtlcm5lbCBtaWdyYXRpb24gbWl0aWdhdGlvbiBzZXJpZXMKK1Bh dGNoMTU2OiBrdm0tdGFyZ2V0LWFybS1tYWNoaW5lLUhhbmRsZS1Ub2xlcmFuY2VOb3RPbkJvdGhF bmRzLW1pZy5wYXRjaAorIyBGb3IgUkhFTC0xNzQ4NTggLSBbcmhlbDEwXSBCYWNrcG9ydCBxZW11 IGNyb3NzLWtlcm5lbCBtaWdyYXRpb24gbWl0aWdhdGlvbiBzZXJpZXMKK1BhdGNoMTU3OiBrdm0t dGFyZ2V0LWFybS1tYWNoaW5lLUhhbmRsZS1Ub2xlcmFuY2VPbmx5U3JjVGVzdFZhbHVlLS5wYXRj aAorIyBGb3IgUkhFTC0xNzQ4NTggLSBbcmhlbDEwXSBCYWNrcG9ydCBxZW11IGNyb3NzLWtlcm5l bCBtaWdyYXRpb24gbWl0aWdhdGlvbiBzZXJpZXMKK1BhdGNoMTU4OiBrdm0tdGFyZ2V0LWFybS1j cHU2NC1NaXRpZ2F0ZS1taWdyYXRpb24tZmFpbHVyZXMtZHVlLXRvLS5wYXRjaAorIyBGb3IgUkhF TC0xNzQ4NTggLSBbcmhlbDEwXSBCYWNrcG9ydCBxZW11IGNyb3NzLWtlcm5lbCBtaWdyYXRpb24g bWl0aWdhdGlvbiBzZXJpZXMKK1BhdGNoMTU5OiBrdm0tdGFyZ2V0LWFybS1jcHU2NC1EZWZpbmUt Y3ByZWctbWlncmF0aW9uLXRvbGVyYW5jZS1mby5wYXRjaAorIyBGb3IgUkhFTC0xNzQ4NTggLSBb cmhlbDEwXSBCYWNrcG9ydCBxZW11IGNyb3NzLWtlcm5lbCBtaWdyYXRpb24gbWl0aWdhdGlvbiBz ZXJpZXMKK1BhdGNoMTYwOiBrdm0tdGFyZ2V0LWFybS1oZWxwZXItRGVmaW5lLWNwcmVnLW1pZ3Jh dGlvbi10b2xlcmFuY2UtZi5wYXRjaAorIyBGb3IgUkhFTC0xNzQ4NTggLSBbcmhlbDEwXSBCYWNr cG9ydCBxZW11IGNyb3NzLWtlcm5lbCBtaWdyYXRpb24gbWl0aWdhdGlvbiBzZXJpZXMKK1BhdGNo MTYxOiBrdm0tUmV2ZXJ0LXRhcmdldC1hcm0tUmVpbnN0YXRlLWJvZ3VzLUFBcmNoMzItREJHRFRS VFgtci5wYXRjaAorIyBGb3IgUkhFTC0xMzg0OTQgLSBOVklESUE6R3JhY2UtSG9wcGVyOkJhY2tw b3J0IHZmaW86IEFkZCBETUFCVUYgc3VwcG9ydCBmb3IgUENJIEJBUiByZWdpb25zIC0gUkhFTCAx MC4zCitQYXRjaDE2Mjoga3ZtLWh3LXBjaS1ob3N0LWdwZXgtYWNwaS1GaXgtX0RTTS1mdW5jdGlv bi0wLXN1cHBvcnQtcmUucGF0Y2gKKyMgRm9yIFJIRUwtMTM4NDk0IC0gTlZJRElBOkdyYWNlLUhv cHBlcjpCYWNrcG9ydCB2ZmlvOiBBZGQgRE1BQlVGIHN1cHBvcnQgZm9yIFBDSSBCQVIgcmVnaW9u cyAtIFJIRUwgMTAuMworUGF0Y2gxNjM6IGt2bS12ZmlvLXNjc2ktdWktRXJyb3ItY2hlY2stcWlv X2NoYW5uZWxfc29ja2V0X2Nvbm5lY3RfLnBhdGNoCisjIEZvciBSSEVMLTEzODQ5NCAtIE5WSURJ QTpHcmFjZS1Ib3BwZXI6QmFja3BvcnQgdmZpbzogQWRkIERNQUJVRiBzdXBwb3J0IGZvciBQQ0kg QkFSIHJlZ2lvbnMgLSBSSEVMIDEwLjMKK1BhdGNoMTY0OiBrdm0tdmZpby1pZ2QtRW5hYmxlLXF1 aXJrcy13aGVuLUlHRC1pcy1ub3QtdGhlLXByaW1hcnktZC5wYXRjaAorIyBGb3IgUkhFTC0xMzg0 OTQgLSBOVklESUE6R3JhY2UtSG9wcGVyOkJhY2twb3J0IHZmaW86IEFkZCBETUFCVUYgc3VwcG9y dCBmb3IgUENJIEJBUiByZWdpb25zIC0gUkhFTCAxMC4zCitQYXRjaDE2NToga3ZtLXZmaW8tUmVt b3ZlLXZmaW8tYW1kLXhnYmUtZGV2aWNlLnBhdGNoCisjIEZvciBSSEVMLTEzODQ5NCAtIE5WSURJ QTpHcmFjZS1Ib3BwZXI6QmFja3BvcnQgdmZpbzogQWRkIERNQUJVRiBzdXBwb3J0IGZvciBQQ0kg QkFSIHJlZ2lvbnMgLSBSSEVMIDEwLjMKK1BhdGNoMTY2OiBrdm0tdmZpby1SZW1vdmUtdmZpby1j YWx4ZWRhLXhnbWFjLWRldmljZS5wYXRjaAorIyBGb3IgUkhFTC0xMzg0OTQgLSBOVklESUE6R3Jh Y2UtSG9wcGVyOkJhY2twb3J0IHZmaW86IEFkZCBETUFCVUYgc3VwcG9ydCBmb3IgUENJIEJBUiBy ZWdpb25zIC0gUkhFTCAxMC4zCitQYXRjaDE2Nzoga3ZtLWh3LWFybS12aXJ0LUluY2x1ZGUtc3lz dGVtLXN5c3RlbS5oLnBhdGNoCisjIEZvciBSSEVMLTEzODQ5NCAtIE5WSURJQTpHcmFjZS1Ib3Bw ZXI6QmFja3BvcnQgdmZpbzogQWRkIERNQUJVRiBzdXBwb3J0IGZvciBQQ0kgQkFSIHJlZ2lvbnMg LSBSSEVMIDEwLjMKK1BhdGNoMTY4OiBrdm0tdmZpby1SZW1vdmUtdmZpby1wbGF0Zm9ybS5wYXRj aAorIyBGb3IgUkhFTC0xMzg0OTQgLSBOVklESUE6R3JhY2UtSG9wcGVyOkJhY2twb3J0IHZmaW86 IEFkZCBETUFCVUYgc3VwcG9ydCBmb3IgUENJIEJBUiByZWdpb25zIC0gUkhFTCAxMC4zCitQYXRj aDE2OToga3ZtLXZmaW8tTW92ZS12ZmlvLXJlZ2lvbi5oLXVuZGVyLWh3LXZmaW8ucGF0Y2gKKyMg Rm9yIFJIRUwtMTM4NDk0IC0gTlZJRElBOkdyYWNlLUhvcHBlcjpCYWNrcG9ydCB2ZmlvOiBBZGQg RE1BQlVGIHN1cHBvcnQgZm9yIFBDSSBCQVIgcmVnaW9ucyAtIFJIRUwgMTAuMworUGF0Y2gxNzA6 IGt2bS12ZmlvLWNvbnRhaW5lci1zZXQtZXJyb3Itb24tY3ByLWZhaWx1cmUucGF0Y2gKKyMgRm9y IFJIRUwtMTM4NDk0IC0gTlZJRElBOkdyYWNlLUhvcHBlcjpCYWNrcG9ydCB2ZmlvOiBBZGQgRE1B QlVGIHN1cHBvcnQgZm9yIFBDSSBCQVIgcmVnaW9ucyAtIFJIRUwgMTAuMworUGF0Y2gxNzE6IGt2 bS12ZmlvLVJlcG9ydC1hbi1lcnJvci13aGVuLXRoZS1kbWFfbWF4X21hcHBpbmdzLWxpbWl0LnBh dGNoCisjIEZvciBSSEVMLTEzODQ5NCAtIE5WSURJQTpHcmFjZS1Ib3BwZXI6QmFja3BvcnQgdmZp bzogQWRkIERNQUJVRiBzdXBwb3J0IGZvciBQQ0kgQkFSIHJlZ2lvbnMgLSBSSEVMIDEwLjMKK1Bh dGNoMTcyOiBrdm0taHctdmZpby11c2VyLWFkZC14LXBjaS1jbGFzcy1jb2RlLnBhdGNoCisjIEZv ciBSSEVMLTEzODQ5NCAtIE5WSURJQTpHcmFjZS1Ib3BwZXI6QmFja3BvcnQgdmZpbzogQWRkIERN QUJVRiBzdXBwb3J0IGZvciBQQ0kgQkFSIHJlZ2lvbnMgLSBSSEVMIDEwLjMKK1BhdGNoMTczOiBr dm0tdmZpby1JbnRyb2R1Y2UtaGVscGVyLXZmaW9fcGNpX2Zyb21fdmZpb19kZXZpY2UucGF0Y2gK KyMgRm9yIFJIRUwtMTM4NDk0IC0gTlZJRElBOkdyYWNlLUhvcHBlcjpCYWNrcG9ydCB2ZmlvOiBB ZGQgRE1BQlVGIHN1cHBvcnQgZm9yIFBDSSBCQVIgcmVnaW9ucyAtIFJIRUwgMTAuMworUGF0Y2gx NzQ6IGt2bS12ZmlvLXZmaW8tY29udGFpbmVyLWJhc2UuaC11cGRhdGUtVkZJT0NvbnRhaW5lckJh c2UtLnBhdGNoCisjIEZvciBSSEVMLTEzODQ5NCAtIE5WSURJQTpHcmFjZS1Ib3BwZXI6QmFja3Bv cnQgdmZpbzogQWRkIERNQUJVRiBzdXBwb3J0IGZvciBQQ0kgQkFSIHJlZ2lvbnMgLSBSSEVMIDEw LjMKK1BhdGNoMTc1OiBrdm0tdmZpby12ZmlvLWNvbnRhaW5lci5oLXVwZGF0ZS1WRklPQ29udGFp bmVyLWRlY2xhcmF0aS5wYXRjaAorIyBGb3IgUkhFTC0xMzg0OTQgLSBOVklESUE6R3JhY2UtSG9w cGVyOkJhY2twb3J0IHZmaW86IEFkZCBETUFCVUYgc3VwcG9ydCBmb3IgUENJIEJBUiByZWdpb25z IC0gUkhFTCAxMC4zCitQYXRjaDE3Njoga3ZtLWh3LXZmaW8tY3ByLWxlZ2FjeS5jLXVzZS1RT00t Y2FzdHMtd2hlcmUtYXBwcm9wcmlhdGUucGF0Y2gKKyMgRm9yIFJIRUwtMTM4NDk0IC0gTlZJRElB OkdyYWNlLUhvcHBlcjpCYWNrcG9ydCB2ZmlvOiBBZGQgRE1BQlVGIHN1cHBvcnQgZm9yIFBDSSBC QVIgcmVnaW9ucyAtIFJIRUwgMTAuMworUGF0Y2gxNzc6IGt2bS1ody12ZmlvLWNvbnRhaW5lci5j LXVzZS1RT00tY2FzdHMtd2hlcmUtYXBwcm9wcmlhdGUucGF0Y2gKKyMgRm9yIFJIRUwtMTM4NDk0 IC0gTlZJRElBOkdyYWNlLUhvcHBlcjpCYWNrcG9ydCB2ZmlvOiBBZGQgRE1BQlVGIHN1cHBvcnQg Zm9yIFBDSSBCQVIgcmVnaW9ucyAtIFJIRUwgMTAuMworUGF0Y2gxNzg6IGt2bS12ZmlvLXNwYXBy LmMtdXNlLVFPTS1jYXN0cy13aGVyZS1hcHByb3ByaWF0ZS5wYXRjaAorIyBGb3IgUkhFTC0xMzg0 OTQgLSBOVklESUE6R3JhY2UtSG9wcGVyOkJhY2twb3J0IHZmaW86IEFkZCBETUFCVUYgc3VwcG9y dCBmb3IgUENJIEJBUiByZWdpb25zIC0gUkhFTCAxMC4zCitQYXRjaDE3OToga3ZtLXZmaW8tdmZp by1jb250YWluZXIuaC1yZW5hbWUtVkZJT0NvbnRhaW5lci1iY29udGFpbmUucGF0Y2gKKyMgRm9y IFJIRUwtMTM4NDk0IC0gTlZJRElBOkdyYWNlLUhvcHBlcjpCYWNrcG9ydCB2ZmlvOiBBZGQgRE1B QlVGIHN1cHBvcnQgZm9yIFBDSSBCQVIgcmVnaW9ucyAtIFJIRUwgMTAuMworUGF0Y2gxODA6IGt2 bS12ZmlvLXVzZXItY29udGFpbmVyLmgtdXBkYXRlLVZGSU9Vc2VyQ29udGFpbmVyLWRlY2xhLnBh dGNoCisjIEZvciBSSEVMLTEzODQ5NCAtIE5WSURJQTpHcmFjZS1Ib3BwZXI6QmFja3BvcnQgdmZp bzogQWRkIERNQUJVRiBzdXBwb3J0IGZvciBQQ0kgQkFSIHJlZ2lvbnMgLSBSSEVMIDEwLjMKK1Bh dGNoMTgxOiBrdm0tdmZpby1jb250YWluZXIuYy11c2UtUU9NLWNhc3RzLXdoZXJlLWFwcHJvcHJp YXRlLnBhdGNoCisjIEZvciBSSEVMLTEzODQ5NCAtIE5WSURJQTpHcmFjZS1Ib3BwZXI6QmFja3Bv cnQgdmZpbzogQWRkIERNQUJVRiBzdXBwb3J0IGZvciBQQ0kgQkFSIHJlZ2lvbnMgLSBSSEVMIDEw LjMKK1BhdGNoMTgyOiBrdm0tdmZpby11c2VyLWNvbnRhaW5lci5oLXJlbmFtZS1WRklPVXNlckNv bnRhaW5lci1iY29udC5wYXRjaAorIyBGb3IgUkhFTC0xMzg0OTQgLSBOVklESUE6R3JhY2UtSG9w cGVyOkJhY2twb3J0IHZmaW86IEFkZCBETUFCVUYgc3VwcG9ydCBmb3IgUENJIEJBUiByZWdpb25z IC0gUkhFTCAxMC4zCitQYXRjaDE4Mzoga3ZtLXZmaW8tdXNlci1wY2kuYy11cGRhdGUtVkZJT1Vz ZXJQQ0lEZXZpY2UtZGVjbGFyYXRpb24ucGF0Y2gKKyMgRm9yIFJIRUwtMTM4NDk0IC0gTlZJRElB OkdyYWNlLUhvcHBlcjpCYWNrcG9ydCB2ZmlvOiBBZGQgRE1BQlVGIHN1cHBvcnQgZm9yIFBDSSBC QVIgcmVnaW9ucyAtIFJIRUwgMTAuMworUGF0Y2gxODQ6IGt2bS12ZmlvLXVzZXItcGNpLmMtdXNl LVFPTS1jYXN0cy13aGVyZS1hcHByb3ByaWF0ZS5wYXRjaAorIyBGb3IgUkhFTC0xMzg0OTQgLSBO VklESUE6R3JhY2UtSG9wcGVyOkJhY2twb3J0IHZmaW86IEFkZCBETUFCVUYgc3VwcG9ydCBmb3Ig UENJIEJBUiByZWdpb25zIC0gUkhFTCAxMC4zCitQYXRjaDE4NToga3ZtLXZmaW8tdXNlci1wY2ku Yy1yZW5hbWUtVkZJT1VzZXJQQ0lEZXZpY2UtZGV2aWNlLWZpZWwucGF0Y2gKKyMgRm9yIFJIRUwt MTM4NDk0IC0gTlZJRElBOkdyYWNlLUhvcHBlcjpCYWNrcG9ydCB2ZmlvOiBBZGQgRE1BQlVGIHN1 cHBvcnQgZm9yIFBDSSBCQVIgcmVnaW9ucyAtIFJIRUwgMTAuMworUGF0Y2gxODY6IGt2bS12Zmlv LXBjaS5oLXVwZGF0ZS1WRklPUENJRGV2aWNlLWRlY2xhcmF0aW9uLnBhdGNoCisjIEZvciBSSEVM LTEzODQ5NCAtIE5WSURJQTpHcmFjZS1Ib3BwZXI6QmFja3BvcnQgdmZpbzogQWRkIERNQUJVRiBz dXBwb3J0IGZvciBQQ0kgQkFSIHJlZ2lvbnMgLSBSSEVMIDEwLjMKK1BhdGNoMTg3OiBrdm0tdmZp by1wY2kuYy11c2UtUU9NLWNhc3RzLXdoZXJlLWFwcHJvcHJpYXRlLnBhdGNoCisjIEZvciBSSEVM LTEzODQ5NCAtIE5WSURJQTpHcmFjZS1Ib3BwZXI6QmFja3BvcnQgdmZpbzogQWRkIERNQUJVRiBz dXBwb3J0IGZvciBQQ0kgQkFSIHJlZ2lvbnMgLSBSSEVMIDEwLjMKK1BhdGNoMTg4OiBrdm0tdmZp by1wY2ktcXVpcmtzLmMtdXNlLVFPTS1jYXN0cy13aGVyZS1hcHByb3ByaWF0ZS5wYXRjaAorIyBG b3IgUkhFTC0xMzg0OTQgLSBOVklESUE6R3JhY2UtSG9wcGVyOkJhY2twb3J0IHZmaW86IEFkZCBE TUFCVUYgc3VwcG9ydCBmb3IgUENJIEJBUiByZWdpb25zIC0gUkhFTCAxMC4zCitQYXRjaDE4OTog a3ZtLXZmaW8tY3ByLmMtdXNlLVFPTS1jYXN0cy13aGVyZS1hcHByb3ByaWF0ZS5wYXRjaAorIyBG b3IgUkhFTC0xMzg0OTQgLSBOVklESUE6R3JhY2UtSG9wcGVyOkJhY2twb3J0IHZmaW86IEFkZCBE TUFCVUYgc3VwcG9ydCBmb3IgUENJIEJBUiByZWdpb25zIC0gUkhFTCAxMC4zCitQYXRjaDE5MDog a3ZtLXZmaW8taWdkLmMtdXNlLVFPTS1jYXN0cy13aGVyZS1hcHByb3ByaWF0ZS5wYXRjaAorIyBG b3IgUkhFTC0xMzg0OTQgLSBOVklESUE6R3JhY2UtSG9wcGVyOkJhY2twb3J0IHZmaW86IEFkZCBE TUFCVUYgc3VwcG9ydCBmb3IgUENJIEJBUiByZWdpb25zIC0gUkhFTCAxMC4zCitQYXRjaDE5MTog a3ZtLXZmaW8tdXNlci1wY2kuYy11c2UtUU9NLWNhc3RzLXdoZXJlLWFwcHJvcHJpYXRlMi5wYXRj aAorIyBGb3IgUkhFTC0xMzg0OTQgLSBOVklESUE6R3JhY2UtSG9wcGVyOkJhY2twb3J0IHZmaW86 IEFkZCBETUFCVUYgc3VwcG9ydCBmb3IgUENJIEJBUiByZWdpb25zIC0gUkhFTCAxMC4zCitQYXRj aDE5Mjoga3ZtLXZmaW8tcGNpLmgtcmVuYW1lLVZGSU9QQ0lEZXZpY2UtcGRldi1maWVsZC10by1w YXJlbnQucGF0Y2gKKyMgRm9yIFJIRUwtMTM4NDk0IC0gTlZJRElBOkdyYWNlLUhvcHBlcjpCYWNr cG9ydCB2ZmlvOiBBZGQgRE1BQlVGIHN1cHBvcnQgZm9yIFBDSSBCQVIgcmVnaW9ucyAtIFJIRUwg MTAuMworUGF0Y2gxOTM6IGt2bS10cmVld2lkZS1oYW5kbGUtcmVzdWx0LW9mLXFpb19jaGFubmVs X3NldF9ibG9ja2luZy5wYXRjaAorIyBGb3IgUkhFTC0xMzg0OTQgLSBOVklESUE6R3JhY2UtSG9w cGVyOkJhY2twb3J0IHZmaW86IEFkZCBETUFCVUYgc3VwcG9ydCBmb3IgUENJIEJBUiByZWdpb25z IC0gUkhFTCAxMC4zCitQYXRjaDE5NDoga3ZtLXZmaW8tcGNpLURvLW5vdC11bnBhcmVudC1pbi1p bnN0YW5jZV9maW5hbGl6ZS5wYXRjaAorIyBGb3IgUkhFTC0xMzg0OTQgLSBOVklESUE6R3JhY2Ut SG9wcGVyOkJhY2twb3J0IHZmaW86IEFkZCBETUFCVUYgc3VwcG9ydCBmb3IgUENJIEJBUiByZWdp b25zIC0gUkhFTCAxMC4zCitQYXRjaDE5NToga3ZtLXZmaW8tRG8tbm90LXVucGFyZW50LWluLWlu c3RhbmNlX2ZpbmFsaXplLnBhdGNoCisjIEZvciBSSEVMLTEzODQ5NCAtIE5WSURJQTpHcmFjZS1I b3BwZXI6QmFja3BvcnQgdmZpbzogQWRkIERNQUJVRiBzdXBwb3J0IGZvciBQQ0kgQkFSIHJlZ2lv bnMgLSBSSEVMIDEwLjMKK1BhdGNoMTk2OiBrdm0taW5jbHVkZS1ody12ZmlvLXZmaW8tY29udGFp bmVyLmgtcmVuYW1lLVZGSU9Db250YWluZS5wYXRjaAorIyBGb3IgUkhFTC0xMzg0OTQgLSBOVklE SUE6R3JhY2UtSG9wcGVyOkJhY2twb3J0IHZmaW86IEFkZCBETUFCVUYgc3VwcG9ydCBmb3IgUENJ IEJBUiByZWdpb25zIC0gUkhFTCAxMC4zCitQYXRjaDE5Nzoga3ZtLWluY2x1ZGUtaHctdmZpby12 ZmlvLWNvbnRhaW5lci1iYXNlLmgtcmVuYW1lLVZGSU9Db24ucGF0Y2gKKyMgRm9yIFJIRUwtMTM4 NDk0IC0gTlZJRElBOkdyYWNlLUhvcHBlcjpCYWNrcG9ydCB2ZmlvOiBBZGQgRE1BQlVGIHN1cHBv cnQgZm9yIFBDSSBCQVIgcmVnaW9ucyAtIFJIRUwgMTAuMworUGF0Y2gxOTg6IGt2bS1pbmNsdWRl LWh3LXZmaW8tdmZpby1jb250YWluZXIuaC1yZW5hbWUtZmlsZS10by12ZmlvLnBhdGNoCisjIEZv ciBSSEVMLTEzODQ5NCAtIE5WSURJQTpHcmFjZS1Ib3BwZXI6QmFja3BvcnQgdmZpbzogQWRkIERN QUJVRiBzdXBwb3J0IGZvciBQQ0kgQkFSIHJlZ2lvbnMgLSBSSEVMIDEwLjMKK1BhdGNoMTk5OiBr dm0taW5jbHVkZS1ody12ZmlvLXZmaW8tY29udGFpbmVyLWJhc2UuaC1yZW5hbWUtZmlsZS10by5w YXRjaAorIyBGb3IgUkhFTC0xMzg0OTQgLSBOVklESUE6R3JhY2UtSG9wcGVyOkJhY2twb3J0IHZm aW86IEFkZCBETUFCVUYgc3VwcG9ydCBmb3IgUENJIEJBUiByZWdpb25zIC0gUkhFTCAxMC4zCitQ YXRjaDIwMDoga3ZtLWh3LXZmaW8tY29udGFpbmVyLmMtcmVuYW1lLWZpbGUtdG8tY29udGFpbmVy LWxlZ2FjeS4ucGF0Y2gKKyMgRm9yIFJIRUwtMTM4NDk0IC0gTlZJRElBOkdyYWNlLUhvcHBlcjpC YWNrcG9ydCB2ZmlvOiBBZGQgRE1BQlVGIHN1cHBvcnQgZm9yIFBDSSBCQVIgcmVnaW9ucyAtIFJI RUwgMTAuMworUGF0Y2gyMDE6IGt2bS1ody12ZmlvLWNvbnRhaW5lci1iYXNlLmMtcmVuYW1lLWZp bGUtdG8tY29udGFpbmVyLmMucGF0Y2gKKyMgRm9yIFJIRUwtMTM4NDk0IC0gTlZJRElBOkdyYWNl LUhvcHBlcjpCYWNrcG9ydCB2ZmlvOiBBZGQgRE1BQlVGIHN1cHBvcnQgZm9yIFBDSSBCQVIgcmVn aW9ucyAtIFJIRUwgMTAuMworUGF0Y2gyMDI6IGt2bS12ZmlvLWlvbW11ZmQuYy11c2UtUU9NLWNh c3RzLXdoZXJlLWFwcHJvcHJpYXRlLnBhdGNoCisjIEZvciBSSEVMLTEzODQ5NCAtIE5WSURJQTpH cmFjZS1Ib3BwZXI6QmFja3BvcnQgdmZpbzogQWRkIERNQUJVRiBzdXBwb3J0IGZvciBQQ0kgQkFS IHJlZ2lvbnMgLSBSSEVMIDEwLjMKK1BhdGNoMjAzOiBrdm0tdmZpby1jcHItaW9tbXVmZC5jLXVz ZS1RT00tY2FzdHMtd2hlcmUtYXBwcm9wcmlhdGUucGF0Y2gKKyMgRm9yIFJIRUwtMTM4NDk0IC0g TlZJRElBOkdyYWNlLUhvcHBlcjpCYWNrcG9ydCB2ZmlvOiBBZGQgRE1BQlVGIHN1cHBvcnQgZm9y IFBDSSBCQVIgcmVnaW9ucyAtIFJIRUwgMTAuMworUGF0Y2gyMDQ6IGt2bS12ZmlvLXZmaW8taW9t bXVmZC5oLXJlbmFtZS1WRklPQ29udGFpbmVyLWJjb250YWluZXItLnBhdGNoCisjIEZvciBSSEVM LTEzODQ5NCAtIE5WSURJQTpHcmFjZS1Ib3BwZXI6QmFja3BvcnQgdmZpbzogQWRkIERNQUJVRiBz dXBwb3J0IGZvciBQQ0kgQkFSIHJlZ2lvbnMgLSBSSEVMIDEwLjMKK1BhdGNoMjA1OiBrdm0tdmZp by1zcGFwci5jLXVzZS1RT00tY2FzdHMtd2hlcmUtYXBwcm9wcmlhdGUyLnBhdGNoCisjIEZvciBS SEVMLTEzODQ5NCAtIE5WSURJQTpHcmFjZS1Ib3BwZXI6QmFja3BvcnQgdmZpbzogQWRkIERNQUJV RiBzdXBwb3J0IGZvciBQQ0kgQkFSIHJlZ2lvbnMgLSBSSEVMIDEwLjMKK1BhdGNoMjA2OiBrdm0t dmZpby1zcGFwci5jLXJlbmFtZS1WRklPQ29udGFpbmVyLWJjb250YWluZXItZmllbGQtdC5wYXRj aAorIyBGb3IgUkhFTC0xMzg0OTQgLSBOVklESUE6R3JhY2UtSG9wcGVyOkJhY2twb3J0IHZmaW86 IEFkZCBETUFCVUYgc3VwcG9ydCBmb3IgUENJIEJBUiByZWdpb25zIC0gUkhFTCAxMC4zCitQYXRj aDIwNzoga3ZtLXZmaW8tcGNpLmMtcmVuYW1lLXZmaW9faW5zdGFuY2VfaW5pdC10by12ZmlvX3Bj aV9pbmkucGF0Y2gKKyMgRm9yIFJIRUwtMTM4NDk0IC0gTlZJRElBOkdyYWNlLUhvcHBlcjpCYWNr cG9ydCB2ZmlvOiBBZGQgRE1BQlVGIHN1cHBvcnQgZm9yIFBDSSBCQVIgcmVnaW9ucyAtIFJIRUwg MTAuMworUGF0Y2gyMDg6IGt2bS12ZmlvLXBjaS5jLXJlbmFtZS12ZmlvX2luc3RhbmNlX2ZpbmFs aXplLXRvLXZmaW9fcGNpLnBhdGNoCisjIEZvciBSSEVMLTEzODQ5NCAtIE5WSURJQTpHcmFjZS1I b3BwZXI6QmFja3BvcnQgdmZpbzogQWRkIERNQUJVRiBzdXBwb3J0IGZvciBQQ0kgQkFSIHJlZ2lv bnMgLSBSSEVMIDEwLjMKK1BhdGNoMjA5OiBrdm0tdmZpby1wY2kuYy1yZW5hbWUtdmZpb19wY2lf ZGV2X2NsYXNzX2luaXQtdG8tdmZpb19wYy5wYXRjaAorIyBGb3IgUkhFTC0xMzg0OTQgLSBOVklE SUE6R3JhY2UtSG9wcGVyOkJhY2twb3J0IHZmaW86IEFkZCBETUFCVUYgc3VwcG9ydCBmb3IgUENJ IEJBUiByZWdpb25zIC0gUkhFTCAxMC4zCitQYXRjaDIxMDoga3ZtLXZmaW8tcGNpLmMtcmVuYW1l LXZmaW9fcGNpX2Rldl9pbmZvLXRvLXZmaW9fcGNpX2luZm8ucGF0Y2gKKyMgRm9yIFJIRUwtMTM4 NDk0IC0gTlZJRElBOkdyYWNlLUhvcHBlcjpCYWNrcG9ydCB2ZmlvOiBBZGQgRE1BQlVGIHN1cHBv cnQgZm9yIFBDSSBCQVIgcmVnaW9ucyAtIFJIRUwgMTAuMworUGF0Y2gyMTE6IGt2bS1zMzkweC1z MzkwLXBjaS12ZmlvLmMtdXNlLVFPTS1jYXN0cy13aGVyZS1hcHByb3ByaWF0LnBhdGNoCisjIEZv ciBSSEVMLTEzODQ5NCAtIE5WSURJQTpHcmFjZS1Ib3BwZXI6QmFja3BvcnQgdmZpbzogQWRkIERN QUJVRiBzdXBwb3J0IGZvciBQQ0kgQkFSIHJlZ2lvbnMgLSBSSEVMIDEwLjMKK1BhdGNoMjEyOiBr dm0taHctdmZpby10eXBlcy5oLXJlbmFtZS1UWVBFX1ZGSU9fUENJX0JBU0UtdG8tVFlQRV9WRi5w YXRjaAorIyBGb3IgUkhFTC0xMzg0OTQgLSBOVklESUE6R3JhY2UtSG9wcGVyOkJhY2twb3J0IHZm aW86IEFkZCBETUFCVUYgc3VwcG9ydCBmb3IgUENJIEJBUiByZWdpb25zIC0gUkhFTCAxMC4zCitQ YXRjaDIxMzoga3ZtLXZmaW8tcGNpLmMtcmVuYW1lLXZmaW9fcGNpX2Jhc2VfZGV2X2NsYXNzX2lu aXQtdG8tdmYucGF0Y2gKKyMgRm9yIFJIRUwtMTM4NDk0IC0gTlZJRElBOkdyYWNlLUhvcHBlcjpC YWNrcG9ydCB2ZmlvOiBBZGQgRE1BQlVGIHN1cHBvcnQgZm9yIFBDSSBCQVIgcmVnaW9ucyAtIFJI RUwgMTAuMworUGF0Y2gyMTQ6IGt2bS12ZmlvLXBjaS5jLXJlbmFtZS12ZmlvX3BjaV9iYXNlX2Rl dl9pbmZvLXRvLXZmaW9fcGNpLnBhdGNoCisjIEZvciBSSEVMLTEzODQ5NCAtIE5WSURJQTpHcmFj ZS1Ib3BwZXI6QmFja3BvcnQgdmZpbzogQWRkIERNQUJVRiBzdXBwb3J0IGZvciBQQ0kgQkFSIHJl Z2lvbnMgLSBSSEVMIDEwLjMKK1BhdGNoMjE1OiBrdm0tdmZpby1wY2kuYy1yZW5hbWUtdmZpb19w Y2lfZGV2X3Byb3BlcnRpZXMtdG8tdmZpb19wYy5wYXRjaAorIyBGb3IgUkhFTC0xMzg0OTQgLSBO VklESUE6R3JhY2UtSG9wcGVyOkJhY2twb3J0IHZmaW86IEFkZCBETUFCVUYgc3VwcG9ydCBmb3Ig UENJIEJBUiByZWdpb25zIC0gUkhFTCAxMC4zCitQYXRjaDIxNjoga3ZtLXZmaW8tcGNpLmMtcmVu YW1lLXZmaW9fcGNpX2Rldl9ub2hvdHBsdWdfcHJvcGVydGllcy0ucGF0Y2gKKyMgRm9yIFJIRUwt MTM4NDk0IC0gTlZJRElBOkdyYWNlLUhvcHBlcjpCYWNrcG9ydCB2ZmlvOiBBZGQgRE1BQlVGIHN1 cHBvcnQgZm9yIFBDSSBCQVIgcmVnaW9ucyAtIFJIRUwgMTAuMworUGF0Y2gyMTc6IGt2bS12Zmlv LXBjaS5jLXJlbmFtZS12ZmlvX3BjaV9ub2hvdHBsdWdfZGV2X2NsYXNzX2luaXQtLnBhdGNoCisj IEZvciBSSEVMLTEzODQ5NCAtIE5WSURJQTpHcmFjZS1Ib3BwZXI6QmFja3BvcnQgdmZpbzogQWRk IERNQUJVRiBzdXBwb3J0IGZvciBQQ0kgQkFSIHJlZ2lvbnMgLSBSSEVMIDEwLjMKK1BhdGNoMjE4 OiBrdm0tdmZpby1wY2kuYy1yZW5hbWUtdmZpb19wY2lfbm9ob3RwbHVnX2Rldl9pbmZvLXRvLXZm aS5wYXRjaAorIyBGb3IgUkhFTC0xMzg0OTQgLSBOVklESUE6R3JhY2UtSG9wcGVyOkJhY2twb3J0 IHZmaW86IEFkZCBETUFCVUYgc3VwcG9ydCBmb3IgUENJIEJBUiByZWdpb25zIC0gUkhFTCAxMC4z CitQYXRjaDIxOToga3ZtLXZmaW8tdXNlci1wY2kuYy1yZW5hbWUtdmZpb191c2VyX3BjaV9kZXZf Y2xhc3NfaW5pdC0ucGF0Y2gKKyMgRm9yIFJIRUwtMTM4NDk0IC0gTlZJRElBOkdyYWNlLUhvcHBl cjpCYWNrcG9ydCB2ZmlvOiBBZGQgRE1BQlVGIHN1cHBvcnQgZm9yIFBDSSBCQVIgcmVnaW9ucyAt IFJIRUwgMTAuMworUGF0Y2gyMjA6IGt2bS12ZmlvLXVzZXItcGNpLmMtcmVuYW1lLXZmaW9fdXNl cl9wY2lfZGV2X3Byb3BlcnRpZXMtLnBhdGNoCisjIEZvciBSSEVMLTEzODQ5NCAtIE5WSURJQTpH cmFjZS1Ib3BwZXI6QmFja3BvcnQgdmZpbzogQWRkIERNQUJVRiBzdXBwb3J0IGZvciBQQ0kgQkFS IHJlZ2lvbnMgLSBSSEVMIDEwLjMKK1BhdGNoMjIxOiBrdm0tdmZpby11c2VyLXBjaS5jLXJlbmFt ZS12ZmlvX3VzZXJfaW5zdGFuY2VfaW5pdC10by12Zi5wYXRjaAorIyBGb3IgUkhFTC0xMzg0OTQg LSBOVklESUE6R3JhY2UtSG9wcGVyOkJhY2twb3J0IHZmaW86IEFkZCBETUFCVUYgc3VwcG9ydCBm b3IgUENJIEJBUiByZWdpb25zIC0gUkhFTCAxMC4zCitQYXRjaDIyMjoga3ZtLXZmaW8tdXNlci1w Y2kuYy1yZW5hbWUtdmZpb191c2VyX2luc3RhbmNlX2ZpbmFsaXplLXQucGF0Y2gKKyMgRm9yIFJI RUwtMTM4NDk0IC0gTlZJRElBOkdyYWNlLUhvcHBlcjpCYWNrcG9ydCB2ZmlvOiBBZGQgRE1BQlVG IHN1cHBvcnQgZm9yIFBDSSBCQVIgcmVnaW9ucyAtIFJIRUwgMTAuMworUGF0Y2gyMjM6IGt2bS12 ZmlvLXVzZXItcGNpLmMtcmVuYW1lLXZmaW9fdXNlcl9wY2lfZGV2X2luZm8tdG8tdmZpLnBhdGNo CisjIEZvciBSSEVMLTEzODQ5NCAtIE5WSURJQTpHcmFjZS1Ib3BwZXI6QmFja3BvcnQgdmZpbzog QWRkIERNQUJVRiBzdXBwb3J0IGZvciBQQ0kgQkFSIHJlZ2lvbnMgLSBSSEVMIDEwLjMKK1BhdGNo MjI0OiBrdm0taW5jbHVkZS1ody12ZmlvLXZmaW8tZGV2aWNlLmgtZml4LWluY2x1ZGUtaGVhZGVy LWd1YS5wYXRjaAorIyBGb3IgUkhFTC0xMzg0OTQgLSBOVklESUE6R3JhY2UtSG9wcGVyOkJhY2tw b3J0IHZmaW86IEFkZCBETUFCVUYgc3VwcG9ydCBmb3IgUENJIEJBUiByZWdpb25zIC0gUkhFTCAx MC4zCitQYXRjaDIyNToga3ZtLXZmaW8tUmVtb3ZlLXdvcmthcm91bmQtZm9yLWtlcm5lbC1ETUEt dW5tYXAtb3ZlcmZsb3cucGF0Y2gKKyMgRm9yIFJIRUwtMTM4NDk0IC0gTlZJRElBOkdyYWNlLUhv cHBlcjpCYWNrcG9ydCB2ZmlvOiBBZGQgRE1BQlVGIHN1cHBvcnQgZm9yIFBDSSBCQVIgcmVnaW9u cyAtIFJIRUwgMTAuMworUGF0Y2gyMjY6IGt2bS1zeXN0ZW0taW9tbXVmZC1Vc2UtdWludDY0X3Qt dHlwZS1mb3ItSU9WQS1tYXBwaW5nLXNpLnBhdGNoCisjIEZvciBSSEVMLTEzODQ5NCAtIE5WSURJ QTpHcmFjZS1Ib3BwZXI6QmFja3BvcnQgdmZpbzogQWRkIERNQUJVRiBzdXBwb3J0IGZvciBQQ0kg QkFSIHJlZ2lvbnMgLSBSSEVMIDEwLjMKK1BhdGNoMjI3OiBrdm0taHctdmZpby1SZW9yZGVyLXZm aW9fY29udGFpbmVyX3F1ZXJ5X2RpcnR5X2JpdG1hcC10ci5wYXRjaAorIyBGb3IgUkhFTC0xMzg0 OTQgLSBOVklESUE6R3JhY2UtSG9wcGVyOkJhY2twb3J0IHZmaW86IEFkZCBETUFCVUYgc3VwcG9y dCBmb3IgUENJIEJBUiByZWdpb25zIC0gUkhFTCAxMC4zCitQYXRjaDIyODoga3ZtLWh3LXZmaW8t QXZvaWQtcmFtX2FkZHJfdC1pbi12ZmlvX2NvbnRhaW5lcl9xdWVyeV9kaXIucGF0Y2gKKyMgRm9y IFJIRUwtMTM4NDk0IC0gTlZJRElBOkdyYWNlLUhvcHBlcjpCYWNrcG9ydCB2ZmlvOiBBZGQgRE1B QlVGIHN1cHBvcnQgZm9yIFBDSSBCQVIgcmVnaW9ucyAtIFJIRUwgMTAuMworUGF0Y2gyMjk6IGt2 bS1ody12ZmlvLVVzZS11aW50NjRfdC1mb3ItSU9WQS1tYXBwaW5nLXNpemUtaW4tdmZpb19jLnBh dGNoCisjIEZvciBSSEVMLTEzODQ5NCAtIE5WSURJQTpHcmFjZS1Ib3BwZXI6QmFja3BvcnQgdmZp bzogQWRkIERNQUJVRiBzdXBwb3J0IGZvciBQQ0kgQkFSIHJlZ2lvbnMgLSBSSEVMIDEwLjMKK1Bh dGNoMjMwOiBrdm0tbWlncmF0aW9uLXB1c2gtRXJyb3ItZXJycC1pbnRvLXZtc3RhdGVfc3Vic2Vj dGlvbl9sby5wYXRjaAorIyBGb3IgUkhFTC0xMzg0OTQgLSBOVklESUE6R3JhY2UtSG9wcGVyOkJh Y2twb3J0IHZmaW86IEFkZCBETUFCVUYgc3VwcG9ydCBmb3IgUENJIEJBUiByZWdpb25zIC0gUkhF TCAxMC4zCitQYXRjaDIzMToga3ZtLW1pZ3JhdGlvbi1wdXNoLUVycm9yLWVycnAtaW50by12bXN0 YXRlX2xvYWRfc3RhdGUucGF0Y2gKKyMgRm9yIFJIRUwtMTM4NDk0IC0gTlZJRElBOkdyYWNlLUhv cHBlcjpCYWNrcG9ydCB2ZmlvOiBBZGQgRE1BQlVGIHN1cHBvcnQgZm9yIFBDSSBCQVIgcmVnaW9u cyAtIFJIRUwgMTAuMworUGF0Y2gyMzI6IGt2bS1taWdyYXRpb24tUmVtb3ZlLWVycm9yLXZhcmlh bnQtb2Ytdm1zdGF0ZV9zYXZlX3N0YXRlLnBhdGNoCisjIEZvciBSSEVMLTEzODQ5NCAtIE5WSURJ QTpHcmFjZS1Ib3BwZXI6QmFja3BvcnQgdmZpbzogQWRkIERNQUJVRiBzdXBwb3J0IGZvciBQQ0kg QkFSIHJlZ2lvbnMgLSBSSEVMIDEwLjMKK1BhdGNoMjMzOiBrdm0tbWlncmF0aW9uLW11bHRpLW1v ZGUtbm90aWZpZXIucGF0Y2gKKyMgRm9yIFJIRUwtMTM4NDk0IC0gTlZJRElBOkdyYWNlLUhvcHBl cjpCYWNrcG9ydCB2ZmlvOiBBZGQgRE1BQlVGIHN1cHBvcnQgZm9yIFBDSSBCQVIgcmVnaW9ucyAt IFJIRUwgMTAuMworUGF0Y2gyMzQ6IGt2bS1taWdyYXRpb24tYWRkLWNwcl93YWxrX2ZkLnBhdGNo CisjIEZvciBSSEVMLTEzODQ5NCAtIE5WSURJQTpHcmFjZS1Ib3BwZXI6QmFja3BvcnQgdmZpbzog QWRkIERNQUJVRiBzdXBwb3J0IGZvciBQQ0kgQkFSIHJlZ2lvbnMgLSBSSEVMIDEwLjMKK1BhdGNo MjM1OiBrdm0tb3NsaWItcWVtdV9jbGVhcl9jbG9leGVjLnBhdGNoCisjIEZvciBSSEVMLTEzODQ5 NCAtIE5WSURJQTpHcmFjZS1Ib3BwZXI6QmFja3BvcnQgdmZpbzogQWRkIERNQUJVRiBzdXBwb3J0 IGZvciBQQ0kgQkFSIHJlZ2lvbnMgLSBSSEVMIDEwLjMKK1BhdGNoMjM2OiBrdm0tbWlncmF0aW9u LWNwci1leGVjLWNvbW1hbmQtcGFyYW1ldGVyLnBhdGNoCisjIEZvciBSSEVMLTEzODQ5NCAtIE5W SURJQTpHcmFjZS1Ib3BwZXI6QmFja3BvcnQgdmZpbzogQWRkIERNQUJVRiBzdXBwb3J0IGZvciBQ Q0kgQkFSIHJlZ2lvbnMgLSBSSEVMIDEwLjMKK1BhdGNoMjM3OiBrdm0tbWlncmF0aW9uLWNwci1l eGVjLXNhdmUtYW5kLWxvYWQucGF0Y2gKKyMgRm9yIFJIRUwtMTM4NDk0IC0gTlZJRElBOkdyYWNl LUhvcHBlcjpCYWNrcG9ydCB2ZmlvOiBBZGQgRE1BQlVGIHN1cHBvcnQgZm9yIFBDSSBCQVIgcmVn aW9ucyAtIFJIRUwgMTAuMworUGF0Y2gyMzg6IGt2bS1taWdyYXRpb24tY3ByLWV4ZWMtbW9kZS5w YXRjaAorIyBGb3IgUkhFTC0xMzg0OTQgLSBOVklESUE6R3JhY2UtSG9wcGVyOkJhY2twb3J0IHZm aW86IEFkZCBETUFCVUYgc3VwcG9ydCBmb3IgUENJIEJBUiByZWdpb25zIC0gUkhFTCAxMC4zCitQ YXRjaDIzOToga3ZtLW1pZ3JhdGlvbi1jcHItZXhlYy1kb2NzLnBhdGNoCisjIEZvciBSSEVMLTEz ODQ5NCAtIE5WSURJQTpHcmFjZS1Ib3BwZXI6QmFja3BvcnQgdmZpbzogQWRkIERNQUJVRiBzdXBw b3J0IGZvciBQQ0kgQkFSIHJlZ2lvbnMgLSBSSEVMIDEwLjMKK1BhdGNoMjQwOiBrdm0tdmZpby1j cHItZXhlYy1tb2RlLnBhdGNoCisjIEZvciBSSEVMLTEzODQ5NCAtIE5WSURJQTpHcmFjZS1Ib3Bw ZXI6QmFja3BvcnQgdmZpbzogQWRkIERNQUJVRiBzdXBwb3J0IGZvciBQQ0kgQkFSIHJlZ2lvbnMg LSBSSEVMIDEwLjMKK1BhdGNoMjQxOiBrdm0taHctdmZpby1saXN0ZW5lci1JbmNsdWRlLW1pc3Np bmctZXhlYy10YXJnZXRfcGFnZS5oLS5wYXRjaAorIyBGb3IgUkhFTC0xMzg0OTQgLSBOVklESUE6 R3JhY2UtSG9wcGVyOkJhY2twb3J0IHZmaW86IEFkZCBETUFCVUYgc3VwcG9ydCBmb3IgUENJIEJB UiByZWdpb25zIC0gUkhFTCAxMC4zCitQYXRjaDI0Mjoga3ZtLWh3LVJlbW92ZS11bm5lY2Vzc2Fy eS1zeXN0ZW0tcmFtX2FkZHIuaC1oZWFkZXIucGF0Y2gKKyMgRm9yIFJIRUwtMTM4NDk0IC0gTlZJ RElBOkdyYWNlLUhvcHBlcjpCYWNrcG9ydCB2ZmlvOiBBZGQgRE1BQlVGIHN1cHBvcnQgZm9yIFBD SSBCQVIgcmVnaW9ucyAtIFJIRUwgMTAuMworUGF0Y2gyNDM6IGt2bS12ZmlvLWNvbnRhaW5lci1S ZW1hcC1vbmx5LXBvcHVsYXRlZC1wYXJ0cy1pbi1hLXNlY3RpLnBhdGNoCisjIEZvciBSSEVMLTEz ODQ5NCAtIE5WSURJQTpHcmFjZS1Ib3BwZXI6QmFja3BvcnQgdmZpbzogQWRkIERNQUJVRiBzdXBw b3J0IGZvciBQQ0kgQkFSIHJlZ2lvbnMgLSBSSEVMIDEwLjMKK1BhdGNoMjQ0OiBrdm0tdmZpby1j cHItbGVnYWN5LWRyb3AtYW4tZXJyb25lb3VzLWFzc2VydC5wYXRjaAorIyBGb3IgUkhFTC0xMzg0 OTQgLSBOVklESUE6R3JhY2UtSG9wcGVyOkJhY2twb3J0IHZmaW86IEFkZCBETUFCVUYgc3VwcG9y dCBmb3IgUENJIEJBUiByZWdpb25zIC0gUkhFTCAxMC4zCitQYXRjaDI0NToga3ZtLXZmaW8taW9t bXVmZC1TZXQtY3ByLmlvYXNfaWQtb24tc291cmNlLXNpZGUtZm9yLUNQUi0ucGF0Y2gKKyMgRm9y IFJIRUwtMTM4NDk0IC0gTlZJRElBOkdyYWNlLUhvcHBlcjpCYWNrcG9ydCB2ZmlvOiBBZGQgRE1B QlVGIHN1cHBvcnQgZm9yIFBDSSBCQVIgcmVnaW9ucyAtIFJIRUwgMTAuMworUGF0Y2gyNDY6IGt2 bS12ZmlvLWlvbW11ZmQtUmVzdG9yZS12YmFzZWRldi1zLXJlZmVyZW5jZS10by1od3B0LWFmLnBh dGNoCisjIEZvciBSSEVMLTEzODQ5NCAtIE5WSURJQTpHcmFjZS1Ib3BwZXI6QmFja3BvcnQgdmZp bzogQWRkIERNQUJVRiBzdXBwb3J0IGZvciBQQ0kgQkFSIHJlZ2lvbnMgLSBSSEVMIDEwLjMKK1Bh dGNoMjQ3OiBrdm0tdmZpby1jb250YWluZXItU3VwcG9ydC11bm1hcC1hbGwtaW4tb25lLWlvY3Rs LnBhdGNoCisjIEZvciBSSEVMLTEzODQ5NCAtIE5WSURJQTpHcmFjZS1Ib3BwZXI6QmFja3BvcnQg dmZpbzogQWRkIERNQUJVRiBzdXBwb3J0IGZvciBQQ0kgQkFSIHJlZ2lvbnMgLSBSSEVMIDEwLjMK K1BhdGNoMjQ4OiBrdm0tdmZpby1pb21tdWZkLVN1cHBvcnQtdW5tYXAtYWxsLWluLW9uZS1pb2N0 bC5wYXRjaAorIyBGb3IgUkhFTC0xMzg0OTQgLSBOVklESUE6R3JhY2UtSG9wcGVyOkJhY2twb3J0 IHZmaW86IEFkZCBETUFCVUYgc3VwcG9ydCBmb3IgUENJIEJBUiByZWdpb25zIC0gUkhFTCAxMC4z CitQYXRjaDI0OToga3ZtLXZmaW8tbGlzdGVuZXItQWRkLWFuLWFzc2VydGlvbi1mb3ItdW5tYXBf YWxsLnBhdGNoCisjIEZvciBSSEVMLTEzODQ5NCAtIE5WSURJQTpHcmFjZS1Ib3BwZXI6QmFja3Bv cnQgdmZpbzogQWRkIERNQUJVRiBzdXBwb3J0IGZvciBQQ0kgQkFSIHJlZ2lvbnMgLSBSSEVMIDEw LjMKK1BhdGNoMjUwOiBrdm0tdmZpby1DbGVhbi11cC1pbmNsdWRlcy5wYXRjaAorIyBGb3IgUkhF TC0xMzg0OTQgLSBOVklESUE6R3JhY2UtSG9wcGVyOkJhY2twb3J0IHZmaW86IEFkZCBETUFCVUYg c3VwcG9ydCBmb3IgUENJIEJBUiByZWdpb25zIC0gUkhFTCAxMC4zCitQYXRjaDI1MToga3ZtLW1p Z3JhdGlvbi1zZXQtY29ycmVjdC1saXN0LXBvaW50ZXItd2hlbi1yZW1vdmluZy1ub3QucGF0Y2gK KyMgRm9yIFJIRUwtMTM4NDk0IC0gTlZJRElBOkdyYWNlLUhvcHBlcjpCYWNrcG9ydCB2ZmlvOiBB ZGQgRE1BQlVGIHN1cHBvcnQgZm9yIFBDSSBCQVIgcmVnaW9ucyAtIFJIRUwgMTAuMworUGF0Y2gy NTI6IGt2bS12ZmlvLXVzZXItc2ltcGxpZnktdmZpb191c2VyX3Byb2Nlc3MucGF0Y2gKKyMgRm9y IFJIRUwtMTM4NDk0IC0gTlZJRElBOkdyYWNlLUhvcHBlcjpCYWNrcG9ydCB2ZmlvOiBBZGQgRE1B QlVGIHN1cHBvcnQgZm9yIFBDSSBCQVIgcmVnaW9ucyAtIFJIRUwgMTAuMworUGF0Y2gyNTM6IGt2 bS12ZmlvLXVzZXItY2xhcmlmeS1wYXJ0aWFsLW1lc3NhZ2UtaGFuZGxpbmcucGF0Y2gKKyMgRm9y IFJIRUwtMTM4NDk0IC0gTlZJRElBOkdyYWNlLUhvcHBlcjpCYWNrcG9ydCB2ZmlvOiBBZGQgRE1B QlVGIHN1cHBvcnQgZm9yIFBDSSBCQVIgcmVnaW9ucyAtIFJIRUwgMTAuMworUGF0Y2gyNTQ6IGt2 bS12ZmlvLXVzZXItcmVmYWN0b3Itb3V0LWhlYWRlci1oYW5kbGluZy5wYXRjaAorIyBGb3IgUkhF TC0xMzg0OTQgLSBOVklESUE6R3JhY2UtSG9wcGVyOkJhY2twb3J0IHZmaW86IEFkZCBETUFCVUYg c3VwcG9ydCBmb3IgUENJIEJBUiByZWdpb25zIC0gUkhFTCAxMC4zCitQYXRjaDI1NToga3ZtLXZm aW8tdXNlci1zaW1wbGlmeS12ZmlvX3VzZXJfcmVjdl9vbmUucGF0Y2gKKyMgRm9yIFJIRUwtMTM4 NDk0IC0gTlZJRElBOkdyYWNlLUhvcHBlcjpCYWNrcG9ydCB2ZmlvOiBBZGQgRE1BQlVGIHN1cHBv cnQgZm9yIFBDSSBCQVIgcmVnaW9ucyAtIFJIRUwgMTAuMworUGF0Y2gyNTY6IGt2bS12ZmlvLXVz ZXItcmVjeWNsZS1tc2ctb24tZmFpbHVyZS5wYXRjaAorIyBGb3IgUkhFTC0xMzg0OTQgLSBOVklE SUE6R3JhY2UtSG9wcGVyOkJhY2twb3J0IHZmaW86IEFkZCBETUFCVUYgc3VwcG9ydCBmb3IgUENJ IEJBUiByZWdpb25zIC0gUkhFTCAxMC4zCitQYXRjaDI1Nzoga3ZtLWluY2x1ZGUtaHctaHlwZXJ2 LVJlbW92ZS11bnVzZWQtc3RydWN0LW1zaHZfdnBfcmVnaXMucGF0Y2gKKyMgRm9yIFJIRUwtMTM4 NDk0IC0gTlZJRElBOkdyYWNlLUhvcHBlcjpCYWNrcG9ydCB2ZmlvOiBBZGQgRE1BQlVGIHN1cHBv cnQgZm9yIFBDSSBCQVIgcmVnaW9ucyAtIFJIRUwgMTAuMworUGF0Y2gyNTg6IGt2bS1saW51eC1o ZWFkZXJzLVVwZGF0ZS10by1MaW51eC12Ni4xOC1yYzMucGF0Y2gKKyMgRm9yIFJIRUwtMTM4NDk0 IC0gTlZJRElBOkdyYWNlLUhvcHBlcjpCYWNrcG9ydCB2ZmlvOiBBZGQgRE1BQlVGIHN1cHBvcnQg Zm9yIFBDSSBCQVIgcmVnaW9ucyAtIFJIRUwgMTAuMworUGF0Y2gyNTk6IGt2bS1saW51eC1oZWFk ZXJzLVVwZGF0ZS10by1MaW51eC12Ni4xOS1yYzEucGF0Y2gKKyMgRm9yIFJIRUwtMTM4NDk0IC0g TlZJRElBOkdyYWNlLUhvcHBlcjpCYWNrcG9ydCB2ZmlvOiBBZGQgRE1BQlVGIHN1cHBvcnQgZm9y IFBDSSBCQVIgcmVnaW9ucyAtIFJIRUwgMTAuMworUGF0Y2gyNjA6IGt2bS1ody12ZmlvLUFkZC1o ZWxwZXItdG8tcmV0cmlldmUtZGV2aWNlLWZlYXR1cmUucGF0Y2gKKyMgRm9yIFJIRUwtMTM4NDk0 IC0gTlZJRElBOkdyYWNlLUhvcHBlcjpCYWNrcG9ydCB2ZmlvOiBBZGQgRE1BQlVGIHN1cHBvcnQg Zm9yIFBDSSBCQVIgcmVnaW9ucyAtIFJIRUwgMTAuMworUGF0Y2gyNjE6IGt2bS1ody12ZmlvLXJl Z2lvbi1DcmVhdGUtZG1hYnVmLWZvci1QQ0ktQkFSLXBlci1yZWdpb24ucGF0Y2gKIAogJWlmICV7 aGF2ZV9jbGFuZ30KIEJ1aWxkUmVxdWlyZXM6IGNsYW5nCkBAIC0xNTI2LDYgKzE3NTgsMTI4IEBA IHVzZXJhZGQgLXIgLXUgMTA3IC1nIHFlbXUgLUcga3ZtIC1kIC8gLXMgL3NiaW4vbm9sb2dpbiBc CiAlZW5kaWYKIAogJWNoYW5nZWxvZworKiBUdWUgTWF5IDI2IDIwMjYgTWlyb3NsYXYgUmV6YW5p bmEgPG1yZXphbmluQHJlZGhhdC5jb20+IC0gMTAuMS4wLTE5CistIGt2bS12bXN0YXRlLUludHJv ZHVjZS1WTVNUQVRFX1ZBUlJBWV9JTlQzMl9BTExPQy5wYXRjaCBbUkhFTC0xNzQ4NThdCistIGt2 bS10YXJnZXQtYXJtLU1vdmUtY29tcGFyZV91NjQtdG8taGVscGVyLmMucGF0Y2ggW1JIRUwtMTc0 ODU4XQorLSBrdm0tdGFyZ2V0LWFybS1Db252ZXJ0LWluaXRfY3ByZWdfbGlzdC10by1nX2hhc2hf dGFibGVfZi5wYXRjaCBbUkhFTC0xNzQ4NThdCistIGt2bS10YXJnZXQtYXJtLW1hY2hpbmUtVXNl LVZNU1RBVEVfVkFSUkFZX0lOVDMyX0FMTE9DLWZvLnBhdGNoIFtSSEVMLTE3NDg1OF0KKy0ga3Zt LXRhcmdldC1hcm0ta3ZtLUV4cG9ydC1rdm1fcHJpbnRfcmVnaXN0ZXJfbmFtZS5wYXRjaCBbUkhF TC0xNzQ4NThdCistIGt2bS10YXJnZXQtYXJtLWt2bS1Ud2Vhay1wcmludF9yZWdpc3Rlcl9uYW1l LWZvci1hcm02NC1zLnBhdGNoIFtSSEVMLTE3NDg1OF0KKy0ga3ZtLXRhcmdldC1hcm0tbWFjaGlu ZS1UcmFjZS1jcHJlZy1uYW1lcy13aGljaC1kby1ub3QtbWEucGF0Y2ggW1JIRUwtMTc0ODU4XQor LSBrdm0tdGFyZ2V0LWFybS1tYWNoaW5lLVRyYWNlLWFsbC1yZWdpc3Rlci1taXNtYXRjaGVzLnBh dGNoIFtSSEVMLTE3NDg1OF0KKy0ga3ZtLXRhcmdldC1hcm0tbWFjaGluZS1GaXgtZGV0ZWN0aW9u LW9mLXVua25vd24taW5jb21pbmcucGF0Y2ggW1JIRUwtMTc0ODU4XQorLSBrdm0tdGFyZ2V0LWFy bS1jcHUtSW50cm9kdWNlLXRoZS1pbmZyYXN0cnVjdHVyZS1mb3ItY3ByZS5wYXRjaCBbUkhFTC0x NzQ4NThdCistIGt2bS10YXJnZXQtYXJtLW1hY2hpbmUtSGFuZGxlLVRvbGVyYW5jZU5vdE9uQm90 aEVuZHMtbWlnLnBhdGNoIFtSSEVMLTE3NDg1OF0KKy0ga3ZtLXRhcmdldC1hcm0tbWFjaGluZS1I YW5kbGUtVG9sZXJhbmNlT25seVNyY1Rlc3RWYWx1ZS0ucGF0Y2ggW1JIRUwtMTc0ODU4XQorLSBr dm0tdGFyZ2V0LWFybS1jcHU2NC1NaXRpZ2F0ZS1taWdyYXRpb24tZmFpbHVyZXMtZHVlLXRvLS5w YXRjaCBbUkhFTC0xNzQ4NThdCistIGt2bS10YXJnZXQtYXJtLWNwdTY0LURlZmluZS1jcHJlZy1t aWdyYXRpb24tdG9sZXJhbmNlLWZvLnBhdGNoIFtSSEVMLTE3NDg1OF0KKy0ga3ZtLXRhcmdldC1h cm0taGVscGVyLURlZmluZS1jcHJlZy1taWdyYXRpb24tdG9sZXJhbmNlLWYucGF0Y2ggW1JIRUwt MTc0ODU4XQorLSBrdm0tUmV2ZXJ0LXRhcmdldC1hcm0tUmVpbnN0YXRlLWJvZ3VzLUFBcmNoMzIt REJHRFRSVFgtci5wYXRjaCBbUkhFTC0xNzQ4NThdCistIGt2bS1ody1wY2ktaG9zdC1ncGV4LWFj cGktRml4LV9EU00tZnVuY3Rpb24tMC1zdXBwb3J0LXJlLnBhdGNoIFtSSEVMLTEzODQ5NF0KKy0g a3ZtLXZmaW8tc2NzaS11aS1FcnJvci1jaGVjay1xaW9fY2hhbm5lbF9zb2NrZXRfY29ubmVjdF8u cGF0Y2ggW1JIRUwtMTM4NDk0XQorLSBrdm0tdmZpby1pZ2QtRW5hYmxlLXF1aXJrcy13aGVuLUlH RC1pcy1ub3QtdGhlLXByaW1hcnktZC5wYXRjaCBbUkhFTC0xMzg0OTRdCistIGt2bS12ZmlvLVJl bW92ZS12ZmlvLWFtZC14Z2JlLWRldmljZS5wYXRjaCBbUkhFTC0xMzg0OTRdCistIGt2bS12Zmlv LVJlbW92ZS12ZmlvLWNhbHhlZGEteGdtYWMtZGV2aWNlLnBhdGNoIFtSSEVMLTEzODQ5NF0KKy0g a3ZtLWh3LWFybS12aXJ0LUluY2x1ZGUtc3lzdGVtLXN5c3RlbS5oLnBhdGNoIFtSSEVMLTEzODQ5 NF0KKy0ga3ZtLXZmaW8tUmVtb3ZlLXZmaW8tcGxhdGZvcm0ucGF0Y2ggW1JIRUwtMTM4NDk0XQor LSBrdm0tdmZpby1Nb3ZlLXZmaW8tcmVnaW9uLmgtdW5kZXItaHctdmZpby5wYXRjaCBbUkhFTC0x Mzg0OTRdCistIGt2bS12ZmlvLWNvbnRhaW5lci1zZXQtZXJyb3Itb24tY3ByLWZhaWx1cmUucGF0 Y2ggW1JIRUwtMTM4NDk0XQorLSBrdm0tdmZpby1SZXBvcnQtYW4tZXJyb3Itd2hlbi10aGUtZG1h X21heF9tYXBwaW5ncy1saW1pdC5wYXRjaCBbUkhFTC0xMzg0OTRdCistIGt2bS1ody12ZmlvLXVz ZXItYWRkLXgtcGNpLWNsYXNzLWNvZGUucGF0Y2ggW1JIRUwtMTM4NDk0XQorLSBrdm0tdmZpby1J bnRyb2R1Y2UtaGVscGVyLXZmaW9fcGNpX2Zyb21fdmZpb19kZXZpY2UucGF0Y2ggW1JIRUwtMTM4 NDk0XQorLSBrdm0tdmZpby12ZmlvLWNvbnRhaW5lci1iYXNlLmgtdXBkYXRlLVZGSU9Db250YWlu ZXJCYXNlLS5wYXRjaCBbUkhFTC0xMzg0OTRdCistIGt2bS12ZmlvLXZmaW8tY29udGFpbmVyLmgt dXBkYXRlLVZGSU9Db250YWluZXItZGVjbGFyYXRpLnBhdGNoIFtSSEVMLTEzODQ5NF0KKy0ga3Zt LWh3LXZmaW8tY3ByLWxlZ2FjeS5jLXVzZS1RT00tY2FzdHMtd2hlcmUtYXBwcm9wcmlhdGUucGF0 Y2ggW1JIRUwtMTM4NDk0XQorLSBrdm0taHctdmZpby1jb250YWluZXIuYy11c2UtUU9NLWNhc3Rz LXdoZXJlLWFwcHJvcHJpYXRlLnBhdGNoIFtSSEVMLTEzODQ5NF0KKy0ga3ZtLXZmaW8tc3BhcHIu Yy11c2UtUU9NLWNhc3RzLXdoZXJlLWFwcHJvcHJpYXRlLnBhdGNoIFtSSEVMLTEzODQ5NF0KKy0g a3ZtLXZmaW8tdmZpby1jb250YWluZXIuaC1yZW5hbWUtVkZJT0NvbnRhaW5lci1iY29udGFpbmUu cGF0Y2ggW1JIRUwtMTM4NDk0XQorLSBrdm0tdmZpby11c2VyLWNvbnRhaW5lci5oLXVwZGF0ZS1W RklPVXNlckNvbnRhaW5lci1kZWNsYS5wYXRjaCBbUkhFTC0xMzg0OTRdCistIGt2bS12ZmlvLWNv bnRhaW5lci5jLXVzZS1RT00tY2FzdHMtd2hlcmUtYXBwcm9wcmlhdGUucGF0Y2ggW1JIRUwtMTM4 NDk0XQorLSBrdm0tdmZpby11c2VyLWNvbnRhaW5lci5oLXJlbmFtZS1WRklPVXNlckNvbnRhaW5l ci1iY29udC5wYXRjaCBbUkhFTC0xMzg0OTRdCistIGt2bS12ZmlvLXVzZXItcGNpLmMtdXBkYXRl LVZGSU9Vc2VyUENJRGV2aWNlLWRlY2xhcmF0aW9uLnBhdGNoIFtSSEVMLTEzODQ5NF0KKy0ga3Zt LXZmaW8tdXNlci1wY2kuYy11c2UtUU9NLWNhc3RzLXdoZXJlLWFwcHJvcHJpYXRlLnBhdGNoIFtS SEVMLTEzODQ5NF0KKy0ga3ZtLXZmaW8tdXNlci1wY2kuYy1yZW5hbWUtVkZJT1VzZXJQQ0lEZXZp Y2UtZGV2aWNlLWZpZWwucGF0Y2ggW1JIRUwtMTM4NDk0XQorLSBrdm0tdmZpby1wY2kuaC11cGRh dGUtVkZJT1BDSURldmljZS1kZWNsYXJhdGlvbi5wYXRjaCBbUkhFTC0xMzg0OTRdCistIGt2bS12 ZmlvLXBjaS5jLXVzZS1RT00tY2FzdHMtd2hlcmUtYXBwcm9wcmlhdGUucGF0Y2ggW1JIRUwtMTM4 NDk0XQorLSBrdm0tdmZpby1wY2ktcXVpcmtzLmMtdXNlLVFPTS1jYXN0cy13aGVyZS1hcHByb3By aWF0ZS5wYXRjaCBbUkhFTC0xMzg0OTRdCistIGt2bS12ZmlvLWNwci5jLXVzZS1RT00tY2FzdHMt d2hlcmUtYXBwcm9wcmlhdGUucGF0Y2ggW1JIRUwtMTM4NDk0XQorLSBrdm0tdmZpby1pZ2QuYy11 c2UtUU9NLWNhc3RzLXdoZXJlLWFwcHJvcHJpYXRlLnBhdGNoIFtSSEVMLTEzODQ5NF0KKy0ga3Zt LXZmaW8tdXNlci1wY2kuYy11c2UtUU9NLWNhc3RzLXdoZXJlLWFwcHJvcHJpYXRlMi5wYXRjaCBb UkhFTC0xMzg0OTRdCistIGt2bS12ZmlvLXBjaS5oLXJlbmFtZS1WRklPUENJRGV2aWNlLXBkZXYt ZmllbGQtdG8tcGFyZW50LnBhdGNoIFtSSEVMLTEzODQ5NF0KKy0ga3ZtLXRyZWV3aWRlLWhhbmRs ZS1yZXN1bHQtb2YtcWlvX2NoYW5uZWxfc2V0X2Jsb2NraW5nLnBhdGNoIFtSSEVMLTEzODQ5NF0K Ky0ga3ZtLXZmaW8tcGNpLURvLW5vdC11bnBhcmVudC1pbi1pbnN0YW5jZV9maW5hbGl6ZS5wYXRj aCBbUkhFTC0xMzg0OTRdCistIGt2bS12ZmlvLURvLW5vdC11bnBhcmVudC1pbi1pbnN0YW5jZV9m aW5hbGl6ZS5wYXRjaCBbUkhFTC0xMzg0OTRdCistIGt2bS1pbmNsdWRlLWh3LXZmaW8tdmZpby1j b250YWluZXIuaC1yZW5hbWUtVkZJT0NvbnRhaW5lLnBhdGNoIFtSSEVMLTEzODQ5NF0KKy0ga3Zt LWluY2x1ZGUtaHctdmZpby12ZmlvLWNvbnRhaW5lci1iYXNlLmgtcmVuYW1lLVZGSU9Db24ucGF0 Y2ggW1JIRUwtMTM4NDk0XQorLSBrdm0taW5jbHVkZS1ody12ZmlvLXZmaW8tY29udGFpbmVyLmgt cmVuYW1lLWZpbGUtdG8tdmZpby5wYXRjaCBbUkhFTC0xMzg0OTRdCistIGt2bS1pbmNsdWRlLWh3 LXZmaW8tdmZpby1jb250YWluZXItYmFzZS5oLXJlbmFtZS1maWxlLXRvLnBhdGNoIFtSSEVMLTEz ODQ5NF0KKy0ga3ZtLWh3LXZmaW8tY29udGFpbmVyLmMtcmVuYW1lLWZpbGUtdG8tY29udGFpbmVy LWxlZ2FjeS4ucGF0Y2ggW1JIRUwtMTM4NDk0XQorLSBrdm0taHctdmZpby1jb250YWluZXItYmFz ZS5jLXJlbmFtZS1maWxlLXRvLWNvbnRhaW5lci5jLnBhdGNoIFtSSEVMLTEzODQ5NF0KKy0ga3Zt LXZmaW8taW9tbXVmZC5jLXVzZS1RT00tY2FzdHMtd2hlcmUtYXBwcm9wcmlhdGUucGF0Y2ggW1JI RUwtMTM4NDk0XQorLSBrdm0tdmZpby1jcHItaW9tbXVmZC5jLXVzZS1RT00tY2FzdHMtd2hlcmUt YXBwcm9wcmlhdGUucGF0Y2ggW1JIRUwtMTM4NDk0XQorLSBrdm0tdmZpby12ZmlvLWlvbW11ZmQu aC1yZW5hbWUtVkZJT0NvbnRhaW5lci1iY29udGFpbmVyLS5wYXRjaCBbUkhFTC0xMzg0OTRdCist IGt2bS12ZmlvLXNwYXByLmMtdXNlLVFPTS1jYXN0cy13aGVyZS1hcHByb3ByaWF0ZTIucGF0Y2gg W1JIRUwtMTM4NDk0XQorLSBrdm0tdmZpby1zcGFwci5jLXJlbmFtZS1WRklPQ29udGFpbmVyLWJj b250YWluZXItZmllbGQtdC5wYXRjaCBbUkhFTC0xMzg0OTRdCistIGt2bS12ZmlvLXBjaS5jLXJl bmFtZS12ZmlvX2luc3RhbmNlX2luaXQtdG8tdmZpb19wY2lfaW5pLnBhdGNoIFtSSEVMLTEzODQ5 NF0KKy0ga3ZtLXZmaW8tcGNpLmMtcmVuYW1lLXZmaW9faW5zdGFuY2VfZmluYWxpemUtdG8tdmZp b19wY2kucGF0Y2ggW1JIRUwtMTM4NDk0XQorLSBrdm0tdmZpby1wY2kuYy1yZW5hbWUtdmZpb19w Y2lfZGV2X2NsYXNzX2luaXQtdG8tdmZpb19wYy5wYXRjaCBbUkhFTC0xMzg0OTRdCistIGt2bS12 ZmlvLXBjaS5jLXJlbmFtZS12ZmlvX3BjaV9kZXZfaW5mby10by12ZmlvX3BjaV9pbmZvLnBhdGNo IFtSSEVMLTEzODQ5NF0KKy0ga3ZtLXMzOTB4LXMzOTAtcGNpLXZmaW8uYy11c2UtUU9NLWNhc3Rz LXdoZXJlLWFwcHJvcHJpYXQucGF0Y2ggW1JIRUwtMTM4NDk0XQorLSBrdm0taHctdmZpby10eXBl cy5oLXJlbmFtZS1UWVBFX1ZGSU9fUENJX0JBU0UtdG8tVFlQRV9WRi5wYXRjaCBbUkhFTC0xMzg0 OTRdCistIGt2bS12ZmlvLXBjaS5jLXJlbmFtZS12ZmlvX3BjaV9iYXNlX2Rldl9jbGFzc19pbml0 LXRvLXZmLnBhdGNoIFtSSEVMLTEzODQ5NF0KKy0ga3ZtLXZmaW8tcGNpLmMtcmVuYW1lLXZmaW9f cGNpX2Jhc2VfZGV2X2luZm8tdG8tdmZpb19wY2kucGF0Y2ggW1JIRUwtMTM4NDk0XQorLSBrdm0t dmZpby1wY2kuYy1yZW5hbWUtdmZpb19wY2lfZGV2X3Byb3BlcnRpZXMtdG8tdmZpb19wYy5wYXRj aCBbUkhFTC0xMzg0OTRdCistIGt2bS12ZmlvLXBjaS5jLXJlbmFtZS12ZmlvX3BjaV9kZXZfbm9o b3RwbHVnX3Byb3BlcnRpZXMtLnBhdGNoIFtSSEVMLTEzODQ5NF0KKy0ga3ZtLXZmaW8tcGNpLmMt cmVuYW1lLXZmaW9fcGNpX25vaG90cGx1Z19kZXZfY2xhc3NfaW5pdC0ucGF0Y2ggW1JIRUwtMTM4 NDk0XQorLSBrdm0tdmZpby1wY2kuYy1yZW5hbWUtdmZpb19wY2lfbm9ob3RwbHVnX2Rldl9pbmZv LXRvLXZmaS5wYXRjaCBbUkhFTC0xMzg0OTRdCistIGt2bS12ZmlvLXVzZXItcGNpLmMtcmVuYW1l LXZmaW9fdXNlcl9wY2lfZGV2X2NsYXNzX2luaXQtLnBhdGNoIFtSSEVMLTEzODQ5NF0KKy0ga3Zt LXZmaW8tdXNlci1wY2kuYy1yZW5hbWUtdmZpb191c2VyX3BjaV9kZXZfcHJvcGVydGllcy0ucGF0 Y2ggW1JIRUwtMTM4NDk0XQorLSBrdm0tdmZpby11c2VyLXBjaS5jLXJlbmFtZS12ZmlvX3VzZXJf aW5zdGFuY2VfaW5pdC10by12Zi5wYXRjaCBbUkhFTC0xMzg0OTRdCistIGt2bS12ZmlvLXVzZXIt cGNpLmMtcmVuYW1lLXZmaW9fdXNlcl9pbnN0YW5jZV9maW5hbGl6ZS10LnBhdGNoIFtSSEVMLTEz ODQ5NF0KKy0ga3ZtLXZmaW8tdXNlci1wY2kuYy1yZW5hbWUtdmZpb191c2VyX3BjaV9kZXZfaW5m by10by12ZmkucGF0Y2ggW1JIRUwtMTM4NDk0XQorLSBrdm0taW5jbHVkZS1ody12ZmlvLXZmaW8t ZGV2aWNlLmgtZml4LWluY2x1ZGUtaGVhZGVyLWd1YS5wYXRjaCBbUkhFTC0xMzg0OTRdCistIGt2 bS12ZmlvLVJlbW92ZS13b3JrYXJvdW5kLWZvci1rZXJuZWwtRE1BLXVubWFwLW92ZXJmbG93LnBh dGNoIFtSSEVMLTEzODQ5NF0KKy0ga3ZtLXN5c3RlbS1pb21tdWZkLVVzZS11aW50NjRfdC10eXBl LWZvci1JT1ZBLW1hcHBpbmctc2kucGF0Y2ggW1JIRUwtMTM4NDk0XQorLSBrdm0taHctdmZpby1S ZW9yZGVyLXZmaW9fY29udGFpbmVyX3F1ZXJ5X2RpcnR5X2JpdG1hcC10ci5wYXRjaCBbUkhFTC0x Mzg0OTRdCistIGt2bS1ody12ZmlvLUF2b2lkLXJhbV9hZGRyX3QtaW4tdmZpb19jb250YWluZXJf cXVlcnlfZGlyLnBhdGNoIFtSSEVMLTEzODQ5NF0KKy0ga3ZtLWh3LXZmaW8tVXNlLXVpbnQ2NF90 LWZvci1JT1ZBLW1hcHBpbmctc2l6ZS1pbi12ZmlvX2MucGF0Y2ggW1JIRUwtMTM4NDk0XQorLSBr dm0tbWlncmF0aW9uLXB1c2gtRXJyb3ItZXJycC1pbnRvLXZtc3RhdGVfc3Vic2VjdGlvbl9sby5w YXRjaCBbUkhFTC0xMzg0OTRdCistIGt2bS1taWdyYXRpb24tcHVzaC1FcnJvci1lcnJwLWludG8t dm1zdGF0ZV9sb2FkX3N0YXRlLnBhdGNoIFtSSEVMLTEzODQ5NF0KKy0ga3ZtLW1pZ3JhdGlvbi1S ZW1vdmUtZXJyb3ItdmFyaWFudC1vZi12bXN0YXRlX3NhdmVfc3RhdGUucGF0Y2ggW1JIRUwtMTM4 NDk0XQorLSBrdm0tbWlncmF0aW9uLW11bHRpLW1vZGUtbm90aWZpZXIucGF0Y2ggW1JIRUwtMTM4 NDk0XQorLSBrdm0tbWlncmF0aW9uLWFkZC1jcHJfd2Fsa19mZC5wYXRjaCBbUkhFTC0xMzg0OTRd CistIGt2bS1vc2xpYi1xZW11X2NsZWFyX2Nsb2V4ZWMucGF0Y2ggW1JIRUwtMTM4NDk0XQorLSBr dm0tbWlncmF0aW9uLWNwci1leGVjLWNvbW1hbmQtcGFyYW1ldGVyLnBhdGNoIFtSSEVMLTEzODQ5 NF0KKy0ga3ZtLW1pZ3JhdGlvbi1jcHItZXhlYy1zYXZlLWFuZC1sb2FkLnBhdGNoIFtSSEVMLTEz ODQ5NF0KKy0ga3ZtLW1pZ3JhdGlvbi1jcHItZXhlYy1tb2RlLnBhdGNoIFtSSEVMLTEzODQ5NF0K Ky0ga3ZtLW1pZ3JhdGlvbi1jcHItZXhlYy1kb2NzLnBhdGNoIFtSSEVMLTEzODQ5NF0KKy0ga3Zt LXZmaW8tY3ByLWV4ZWMtbW9kZS5wYXRjaCBbUkhFTC0xMzg0OTRdCistIGt2bS1ody12ZmlvLWxp c3RlbmVyLUluY2x1ZGUtbWlzc2luZy1leGVjLXRhcmdldF9wYWdlLmgtLnBhdGNoIFtSSEVMLTEz ODQ5NF0KKy0ga3ZtLWh3LVJlbW92ZS11bm5lY2Vzc2FyeS1zeXN0ZW0tcmFtX2FkZHIuaC1oZWFk ZXIucGF0Y2ggW1JIRUwtMTM4NDk0XQorLSBrdm0tdmZpby1jb250YWluZXItUmVtYXAtb25seS1w b3B1bGF0ZWQtcGFydHMtaW4tYS1zZWN0aS5wYXRjaCBbUkhFTC0xMzg0OTRdCistIGt2bS12Zmlv LWNwci1sZWdhY3ktZHJvcC1hbi1lcnJvbmVvdXMtYXNzZXJ0LnBhdGNoIFtSSEVMLTEzODQ5NF0K Ky0ga3ZtLXZmaW8taW9tbXVmZC1TZXQtY3ByLmlvYXNfaWQtb24tc291cmNlLXNpZGUtZm9yLUNQ Ui0ucGF0Y2ggW1JIRUwtMTM4NDk0XQorLSBrdm0tdmZpby1pb21tdWZkLVJlc3RvcmUtdmJhc2Vk ZXYtcy1yZWZlcmVuY2UtdG8taHdwdC1hZi5wYXRjaCBbUkhFTC0xMzg0OTRdCistIGt2bS12Zmlv LWNvbnRhaW5lci1TdXBwb3J0LXVubWFwLWFsbC1pbi1vbmUtaW9jdGwucGF0Y2ggW1JIRUwtMTM4 NDk0XQorLSBrdm0tdmZpby1pb21tdWZkLVN1cHBvcnQtdW5tYXAtYWxsLWluLW9uZS1pb2N0bC5w YXRjaCBbUkhFTC0xMzg0OTRdCistIGt2bS12ZmlvLWxpc3RlbmVyLUFkZC1hbi1hc3NlcnRpb24t Zm9yLXVubWFwX2FsbC5wYXRjaCBbUkhFTC0xMzg0OTRdCistIGt2bS12ZmlvLUNsZWFuLXVwLWlu Y2x1ZGVzLnBhdGNoIFtSSEVMLTEzODQ5NF0KKy0ga3ZtLW1pZ3JhdGlvbi1zZXQtY29ycmVjdC1s aXN0LXBvaW50ZXItd2hlbi1yZW1vdmluZy1ub3QucGF0Y2ggW1JIRUwtMTM4NDk0XQorLSBrdm0t dmZpby11c2VyLXNpbXBsaWZ5LXZmaW9fdXNlcl9wcm9jZXNzLnBhdGNoIFtSSEVMLTEzODQ5NF0K Ky0ga3ZtLXZmaW8tdXNlci1jbGFyaWZ5LXBhcnRpYWwtbWVzc2FnZS1oYW5kbGluZy5wYXRjaCBb UkhFTC0xMzg0OTRdCistIGt2bS12ZmlvLXVzZXItcmVmYWN0b3Itb3V0LWhlYWRlci1oYW5kbGlu Zy5wYXRjaCBbUkhFTC0xMzg0OTRdCistIGt2bS12ZmlvLXVzZXItc2ltcGxpZnktdmZpb191c2Vy X3JlY3Zfb25lLnBhdGNoIFtSSEVMLTEzODQ5NF0KKy0ga3ZtLXZmaW8tdXNlci1yZWN5Y2xlLW1z Zy1vbi1mYWlsdXJlLnBhdGNoIFtSSEVMLTEzODQ5NF0KKy0ga3ZtLWluY2x1ZGUtaHctaHlwZXJ2 LVJlbW92ZS11bnVzZWQtc3RydWN0LW1zaHZfdnBfcmVnaXMucGF0Y2ggW1JIRUwtMTM4NDk0XQor LSBrdm0tbGludXgtaGVhZGVycy1VcGRhdGUtdG8tTGludXgtdjYuMTgtcmMzLnBhdGNoIFtSSEVM LTEzODQ5NF0KKy0ga3ZtLWxpbnV4LWhlYWRlcnMtVXBkYXRlLXRvLUxpbnV4LXY2LjE5LXJjMS5w YXRjaCBbUkhFTC0xMzg0OTRdCistIGt2bS1ody12ZmlvLUFkZC1oZWxwZXItdG8tcmV0cmlldmUt ZGV2aWNlLWZlYXR1cmUucGF0Y2ggW1JIRUwtMTM4NDk0XQorLSBrdm0taHctdmZpby1yZWdpb24t Q3JlYXRlLWRtYWJ1Zi1mb3ItUENJLUJBUi1wZXItcmVnaW9uLnBhdGNoIFtSSEVMLTEzODQ5NF0K Ky0gUmVzb2x2ZXM6IFJIRUwtMTc0ODU4CisgIChbcmhlbDEwXSBCYWNrcG9ydCBxZW11IGNyb3Nz LWtlcm5lbCBtaWdyYXRpb24gbWl0aWdhdGlvbiBzZXJpZXMpCistIFJlc29sdmVzOiBSSEVMLTEz ODQ5NAorICAoTlZJRElBOkdyYWNlLUhvcHBlcjpCYWNrcG9ydCB2ZmlvOiBBZGQgRE1BQlVGIHN1 cHBvcnQgZm9yIFBDSSBCQVIgcmVnaW9ucyAtIFJIRUwgMTAuMykKKwogKiBNb24gTWF5IDExIDIw MjYgTWlyb3NsYXYgUmV6YW5pbmEgPG1yZXphbmluQHJlZGhhdC5jb20+IC0gMTAuMS4wLTE4CiAt IGt2bS1zY3NpLURvbi10LWNvbnNpZGVyLUxPR0lDQUwtVU5JVC1OT1QtU1VQUE9SVEVELWd1ZXN0 LnBhdGNoIFtSSEVMLTE1ODIxMl0KIC0ga3ZtLWh3LXRwbS1GYWN0b3ItdHBtX3BwaV9lbmFibGVk LW91dC5wYXRjaCBbUkhFTC0xMTI2MDhdCg==