ZGlmZiAtLWdpdCBhL3V0aWwvaW50ZWx0b29sL2NwdS5jIGIvdXRpbC9pbnRlbHRvb2wvY3B1LmMKaW5kZXggZTZiMjhjMC4uZGQyM2Q4MSAxMDA2NDQKLS0tIGEvdXRpbC9pbnRlbHRvb2wvY3B1LmMKKysrIGIvdXRpbC9pbnRlbHRvb2wvY3B1LmMKQEAgLTMwNyw2ICszMDcsMTQzIEBACiAJCS8veyAweDAwYzAwMDA4MCwgIklBMzJfQ1JfRUZFUiIgfSwgLy8gU2VlbXMgdG8gYmUgUk8KIAl9OwogCisJLyogUGVudGl1bSA0IGFuZCBYRU9OICovCisJLyogCisJICogQWxsIE1TUnMgcGVyIAorCSAqCisJICogSW50ZWyuIDY0IGFuZCBJQS0zMiBBcmNoaXRlY3R1cmVzCisJICogU29mdHdhcmUgRGV2ZWxvcGVyLnMgTWFudWFsCisJICogVm9sdW1lIDNCOgorCSAqIFN5c3RlbSBQcm9ncmFtbWluZyBHdWlkZSwgUGFydCAyCisJICoKKwkgKiBUYWJsZSBCLTUKKwkgKi8KKwlzdGF0aWMgY29uc3QgbXNyX2VudHJ5X3QgbW9kZWxmNHhfZ2xvYmFsX21zcnNbXSA9IHsKKwkJeyAweDAwMDAsICJJQTMyX1A1X01DX0FERFIiIH0sCisJCXsgMHgwMDAxLCAiSUEzMl9QNV9NQ19UWVBFIiB9LAorCQl7IDB4MDAwNiwgIklBMzJfTU9OSVRPUl9GSUxURVJfTElORV9TSVpFIiB9LAorCQl7IDB4MDAxNywgIklBMzJfUExBVEZPUk1fSUQiIH0sCisJCXsgMHgwMDJhLCAiTVNSX0VCQ19IQVJEX1BPV0VST04iIH0sCisJCXsgMHgwMDJiLCAiTVNSX0VCQ19TT0ZUX1BPV1JPTiIgfSwKKwkJeyAweDAwMmMsICJNU1JfRUJDX0ZSRVFVRU5DWV9JRCIgfSwKKy8vIFdSSVRFIE9OTFkJeyAweDAwNzksICJJQTMyX0JJT1NfVVBEVF9UUklHIiB9LAkJCisJCXsgMHgwMTljLCAiSUEzMl9USEVSTV9TVEFUVVMiIH0sCisJCXsgMHgwMTlkLCAiTVNSX1RIRVJNMl9DVEwiIH0sCisJCXsgMHgwMWEwLCAiSUEzMl9NSVNDX0VOQUJMRSIgfSwKKwkJeyAweDAxYTEsICJNU1JfUExBVEZPUk1fQlJWIiB9LAorCQl7IDB4MDIwMCwgIklBMzJfTVRSUl9QSFlTQkFTRTAiIH0sCisJCXsgMHgwMjAxLCAiSUEzMl9NVFJSX1BIWVNNQVNLMCIgfSwKKwkJeyAweDAyMDIsICJJQTMyX01UUlJfUEhZU0JBU0UxIiB9LAorCQl7IDB4MDIwMywgIklBMzJfTVRSUl9QSFlTTUFTSzEiIH0sCisJCXsgMHgwMjA0LCAiSUEzMl9NVFJSX1BIWVNCQVNFMiIgfSwKKwkJeyAweDAyMDUsICJJQTMyX01UUlJfUEhZU01BU0syIiB9LAorCQl7IDB4MDIwNiwgIklBMzJfTVRSUl9QSFlTQkFTRTMiIH0sCisJCXsgMHgwMjA3LCAiSUEzMl9NVFJSX1BIWVNNQVNLMyIgfSwKKwkJeyAweDAyMDgsICJJQTMyX01UUlJfUEhZU0JBU0U0IiB9LAorCQl7IDB4MDIwOSwgIklBMzJfTVRSUl9QSFlTTUFTSzQiIH0sCisJCXsgMHgwMjBhLCAiSUEzMl9NVFJSX1BIWVNCQVNFNSIgfSwKKwkJeyAweDAyMGIsICJJQTMyX01UUlJfUEhZU01BU0s1IiB9LAorCQl7IDB4MDIwYywgIklBMzJfTVRSUl9QSFlTQkFTRTYiIH0sCisJCXsgMHgwMjBkLCAiSUEzMl9NVFJSX1BIWVNNQVNLNiIgfSwKKwkJeyAweDAyMGUsICJJQTMyX01UUlJfUEhZU0JBU0U3IiB9LAorCQl7IDB4MDIwZiwgIklBMzJfTVRSUl9QSFlTTUFTSzciIH0sCisJCXsgMHgwMjUwLCAiSUEzMl9NVFJSX0ZJWDY0S18wMDAwMCIgfSwKKwkJeyAweDAyNTgsICJJQTMyX01UUlJfRklYMTZLXzgwMDAwIiB9LAorCQl7IDB4MDI1OSwgIklBMzJfTVRSUl9GSVgxNktfQTAwMDAiIH0sCisJCXsgMHgwMjY4LCAiSUEzMl9NVFJSX0ZJWDRLX0MwMDAwIiB9LAorCQl7IDB4MDI2OSwgIklBMzJfTVRSUl9GSVg0S19DODAwMCIgfSwKKwkJeyAweDAyNmEsICJJQTMyX01UUlJfRklYNEtfRDAwMDAiIH0sCisJCXsgMHgwMjZiLCAiSUEzMl9NVFJSX0ZJWDRLX0Q4MDAwIiB9LAorCQl7IDB4MDI2YywgIklBMzJfTVRSUl9GSVg0S19FMDAwMCIgfSwKKwkJeyAweDAyNmQsICJJQTMyX01UUlJfRklYNEtfRTgwMDAiIH0sCisJCXsgMHgwMjZlLCAiSUEzMl9NVFJSX0ZJWDRLX0YwMDAwIiB9LAorCQl7IDB4MDI2ZiwgIklBMzJfTVRSUl9GSVg0S19GODAwMCIgfSwKKwkJeyAweDAyZmYsICJJQTMyX01UUlJfREVGX1RZUEUiIH0sCisJCXsgMHgwMzAwLCAiTVNSX0JQVV9DT1VOVEVSMCIgfSwKKwkJeyAweDAzMDEsICJNU1JfQlBVX0NPVU5URVIxIiB9LAorCQl7IDB4MDMwMiwgIk1TUl9CUFVfQ09VTlRFUjIiIH0sCisJCXsgMHgwMzAzLCAiTVNSX0JQVV9DT1VOVEVSMyIgfSwKKwkJLyogU2tpcHBlZCB0aHJvdWdoIDB4M2ZmICBmb3Igbm93Ki8KKworCS8qIEFsbCBNQ1hfQUREUiBBTkQgTUNYX01JU0MgTVNScyBkZXBlbmQgb24gYSBiaXQgYmVpbmcgCisJICogc2V0IGluIE1DWF9TVEFUVVMgKi8KKwkJeyAweDQwMCwgIklBMzJfTUMwX0NUTCIgfSwKKwkJeyAweDQwMSwgIklBMzJfTUMwX1NUQVRVUyIgfSwKKwkJeyAweDQwMiwgIklBMzJfTUMwX0FERFIiIH0sCisJCXsgMHg0MDMsICJJQTMyX01DMF9NSVNDIiB9LAorCQl7IDB4NDA0LCAiSUEzMl9NQzFfQ1RMIiB9LAorCQl7IDB4NDA1LCAiSUEzMl9NQzFfU1RBVFVTIiB9LAorCQl7IDB4NDA2LCAiSUEzMl9NQzFfQUREUiIgfSwKKwkJeyAweDQwNywgIklBMzJfTUMxX01JU0MiIH0sIAorCQl7IDB4NDA4LCAiSUEzMl9NQzJfQ1RMIiB9LAorCQl7IDB4NDA5LCAiSUEzMl9NQzJfU1RBVFVTIiB9LAorCQl7IDB4NDBhLCAiSUEzMl9NQzJfQUREUiIgfSwKKwkJeyAweDQwYiwgIklBMzJfTUMyX01JU0MiIH0sCisJCXsgMHg0MGMsICJJQTMyX01DM19DVEwiIH0sCisJCXsgMHg0MGQsICJJQTMyX01DM19TVEFUVVMiIH0sCisJCXsgMHg0MGUsICJJQTMyX01DM19BRERSIiB9LAorCQl7IDB4NDBmLCAiSUEzMl9NQzNfTUlTQyIgfSwKKwkJeyAweDQxMCwgIklBMzJfTUM0X0NUTCIgfSwKKwkJeyAweDQxMSwgIklBMzJfTUM0X1NUQVRVUyIgfSwKKwkJeyAweDQxMiwgIklBMzJfTUM0X0FERFIiIH0sCisJCXsgMHg0MTMsICJJQTMyX01DNF9NSVNDIiB9LAorCX07CisKKwlzdGF0aWMgY29uc3QgbXNyX2VudHJ5X3QgbW9kZWxmNHhfcGVyX2NvcmVfbXNyc1tdID0geworCQl7IDB4MDAxMCwgIklBMzJfVElNRV9TVEFNUF9DT1VOVEVSIiB9LAorCQl7IDB4MDAxYiwgIklBMzJfQVBJQ19CQVNFIiB9LAorCQl7IDB4MDAzYSwgIklBMzJfRkVBVFVSRV9DT05UUk9MIiB9LAorCQl7IDB4MDA4YiwgIklBMzJfQklPU19TSUdOX0lEIiB9LAorCQl7IDB4MDA5YiwgIklBMzJfU01NX01PTklUT1JfQ1RMIiB9LAorCQl7IDB4MDBmZSwgIklBMzJfTVRSUkNBUCIgfSwKKwkJeyAweDAxNzQsICJJQTMyX1NZU0VOVEVSX0NTIiB9LAorCQl7IDB4MDE3NSwgIklBMzJfU1lTRU5URVJfRVNQIiB9LAorCQl7IDB4MDE3NiwgIklBMzJfU1lTRU5URVJfRUlQIiB9LAorCQl7IDB4MDE3OSwgIklBMzJfTUNHX0NBUCIgfSwKKwkJeyAweDAxN2EsICJJQTMyX01DR19TVEFUVVMiIH0sCisJCXsgMHgwMTgwLCAiTVNSX01DR19SQVgiIH0sCisJCXsgMHgwMTgxLCAiTVNSX01DR19SQlgiIH0sCisJCXsgMHgwMTgyLCAiTVNSX01DR19SQ1giIH0sCisJCXsgMHgwMTgzLCAiTVNSX01DR19SRFgiIH0sCisJCXsgMHgwMTg0LCAiTVNSX01DR19SU0kiIH0sCisJCXsgMHgwMTg1LCAiTVNSX01DR19SREkiIH0sCisJCXsgMHgwMTg2LCAiTVNSX01DR19SQlAiIH0sCisJCXsgMHgwMTg3LCAiTVNSX01DR19SU1AiIH0sCisJCXsgMHgwMTg4LCAiTVNSX01DR19SRkxBR1MiIH0sCisJCXsgMHgwMTg5LCAiTVNSX01DR19SSVAiIH0sCisJCXsgMHgwMThhLCAiTVNSX01DR19NSVNDIiB9LAorCQkvLyAweDE4Yi1mIFJlc2VydmVkCisJCXsgMHgwMTkwLCAiTVNSX01DR19SOCIgfSwKKwkJeyAweDAxOTEsICJNU1JfTUNHX1I5IiB9LAorCQl7IDB4MDE5MiwgIk1TUl9NQ0dfUjEwIiB9LAorCQl7IDB4MDE5MywgIk1TUl9NQ0dfUjExIiB9LAorCQl7IDB4MDE5NCwgIk1TUl9NQ0dfUjEyIiB9LAorCQl7IDB4MDE5NSwgIk1TUl9NQ0dfUjEzIiB9LAorCQl7IDB4MDE5NiwgIk1TUl9NQ0dfUjE0IiB9LAorCQl7IDB4MDE5NywgIk1TUl9NQ0dfUjE1IiB9LAorCQl7IDB4MDE5OCwgIklBMzJfUEVSRl9TVEFUVVMiIH0sCisJCXsgMHgwMTk5LCAiSUEzMl9QRVJGX0NUTCIgfSwKKwkJeyAweDAxOWEsICJJQTMyX0NMT0NLX01PRFVMQVRJT04iIH0sCisJCXsgMHgwMTliLCAiSUEzMl9USEVSTV9JTlRFUlJVUFQiIH0sCisJCXsgMHgwMWEwLCAiSUEzMl9NSVNDX0VOQUJMRSIgfSwgLy8gQml0IDM0IGlzIENvcmUgU3BlY2lmaWMKKwkJeyAweDAxZDcsICJNU1JfTEVSX0ZST01fTElQIiB9LAorCQl7IDB4MDFkOCwgIk1TUl9MRVJfVE9fTElQIiB9LAorCQl7IDB4MDFkOSwgIk1TUl9ERUJVR0NUTEEiIH0sCisJCXsgMHgwMWRhLCAiTVNSX0xBU1RCUkFOQ0hfVE9TIiB9LAorCQl7IDB4MDI3NywgIklBMzJfUEFUIiB9LAorCQkvKiogVmlydHVhbGl6YXRpb24KKwkJeyAweDQ4MCwgIklBMzJfVk1YX0JBU0lDIiB9LAorCQkgIHRocm91Z2gKKwkJeyAweDQ4YiwgIklBMzJfVk1YX1BST0NCQVNFRF9DVExTMiIgfSwKKwkJICBOb3QgaW1wbGVtZW50ZWQgaW4gbXkgQ1BVCisJCSovCisJCXsgMHgwNjAwLCAiSUEzMl9EU19BUkVBIiB9LAorCQkvKiAweDA2ODAgLSAweDA2Y2YgQnJhbmNoIFJlY29yZHMgU2tpcHBlZCAqLworCQorCX07CisKKworCiAJdHlwZWRlZiBzdHJ1Y3QgewogCQl1bnNpZ25lZCBpbnQgbW9kZWw7CiAJCWNvbnN0IG1zcl9lbnRyeV90ICpnbG9iYWxfbXNyczsKQEAgLTMxOSw2ICs0NTYsNyBAQAogCQl7IDB4MDA2YjAsIG1vZGVsNmJ4X2dsb2JhbF9tc3JzLCBBUlJBWV9TSVpFKG1vZGVsNmJ4X2dsb2JhbF9tc3JzKSwgTlVMTCwgMCB9LAogCQl7IDB4MDA2ZTAsIG1vZGVsNmV4X2dsb2JhbF9tc3JzLCBBUlJBWV9TSVpFKG1vZGVsNmV4X2dsb2JhbF9tc3JzKSwgbW9kZWw2ZXhfcGVyX2NvcmVfbXNycywgQVJSQVlfU0laRShtb2RlbDZleF9wZXJfY29yZV9tc3JzKSB9LAogCQl7IDB4MDA2ZjAsIG1vZGVsNmZ4X2dsb2JhbF9tc3JzLCBBUlJBWV9TSVpFKG1vZGVsNmZ4X2dsb2JhbF9tc3JzKSwgbW9kZWw2ZnhfcGVyX2NvcmVfbXNycywgQVJSQVlfU0laRShtb2RlbDZmeF9wZXJfY29yZV9tc3JzKSB9LAorCQl7IDB4MDBmNDAsIG1vZGVsZjR4X2dsb2JhbF9tc3JzLCBBUlJBWV9TSVpFKG1vZGVsZjR4X2dsb2JhbF9tc3JzKSwgbW9kZWxmNHhfcGVyX2NvcmVfbXNycywgQVJSQVlfU0laRShtb2RlbGY0eF9wZXJfY29yZV9tc3JzKSB9LAogCX07CiAKIAljcHVfdCAqY3B1ID0gTlVMTDsK