ZGlmZiAtLWdpdCBhL0JVSUxELmduIGIvQlVJTEQuZ24KaW5kZXggZjJmZGExYy4uZTZlZGRhMyAxMDA2NDQKLS0tIGEvQlVJTEQuZ24KKysrIGIvQlVJTEQuZ24KQEAgLTE1MDQsNiArMTUwNCw3IEBACiAKIHRlc3QoInBkZml1bV9lbWJlZGRlcnRlc3RzIikgewogICBzb3VyY2VzID0gWworICAgICJjb3JlL3NyYy9mcGRmYXBpL2ZwZGZfcGFnZS9mcGRmX3BhZ2VfZnVuY19lbWJlZGRlcnRlc3QuY3BwIiwKICAgICAiY29yZS9zcmMvZnBkZmFwaS9mcGRmX3BhcnNlci9mcGRmX3BhcnNlcl9kZWNvZGVfZW1iZWRkZXJ0ZXN0LmNwcCIsCiAgICAgImNvcmUvc3JjL2ZwZGZhcGkvZnBkZl9wYXJzZXIvZnBkZl9wYXJzZXJfcGFyc2VyX2VtYmVkZGVydGVzdC5jcHAiLAogICAgICJjb3JlL3NyYy9mcGRmYXBpL2ZwZGZfcmVuZGVyL2ZwZGZfcmVuZGVyX3BhdHRlcm5fZW1iZWRkZXJ0ZXN0LmNwcCIsCmRpZmYgLS1naXQgYS9jb3JlL3NyYy9mcGRmYXBpL2ZwZGZfcGFnZS9mcGRmX3BhZ2VfZnVuYy5jcHAgYi9jb3JlL3NyYy9mcGRmYXBpL2ZwZGZfcGFnZS9mcGRmX3BhZ2VfZnVuYy5jcHAKaW5kZXggMmQzNWRkOC4uZTYyNjgwMyAxMDA2NDQKLS0tIGEvY29yZS9zcmMvZnBkZmFwaS9mcGRmX3BhZ2UvZnBkZl9wYWdlX2Z1bmMuY3BwCisrKyBiL2NvcmUvc3JjL2ZwZGZhcGkvZnBkZl9wYWdlL2ZwZGZfcGFnZV9mdW5jLmNwcApAQCAtNSw3ICs1LDkgQEAKIC8vIE9yaWdpbmFsIGNvZGUgY29weXJpZ2h0IDIwMTQgRm94aXQgU29mdHdhcmUgSW5jLiBodHRwOi8vd3d3LmZveGl0c29mdHdhcmUuY29tCiAKICNpbmNsdWRlIDxsaW1pdHMuaD4KKyNpbmNsdWRlIDx2ZWN0b3I+CiAKKyNpbmNsdWRlICIuLi8uLi8uLi8uLi90aGlyZF9wYXJ0eS9iYXNlL25vbnN0ZF91bmlxdWVfcHRyLmgiCiAjaW5jbHVkZSAiLi4vLi4vLi4vLi4vdGhpcmRfcGFydHkvYmFzZS9udW1lcmljcy9zYWZlX2NvbnZlcnNpb25zX2ltcGwuaCIKICNpbmNsdWRlICIuLi8uLi8uLi9pbmNsdWRlL2ZwZGZhcGkvZnBkZl9tb2R1bGUuaCIKICNpbmNsdWRlICIuLi8uLi8uLi9pbmNsdWRlL2ZwZGZhcGkvZnBkZl9wYWdlLmgiCkBAIC03MjQsNzggKzcyNiw4OCBAQAogICBGWF9CT09MIHZfSW5pdChDUERGX09iamVjdCogcE9iaikgb3ZlcnJpZGU7CiAgIEZYX0JPT0wgdl9DYWxsKEZYX0ZMT0FUKiBpbnB1dHMsIEZYX0ZMT0FUKiByZXN1bHRzKSBjb25zdCBvdmVycmlkZTsKIAotICBpbnQgbV9uU3ViczsKLSAgQ1BERl9GdW5jdGlvbioqIG1fcFN1YkZ1bmN0aW9uczsKKyAgc3RkOjp2ZWN0b3I8Q1BERl9GdW5jdGlvbio+IG1fcFN1YkZ1bmN0aW9uczsKICAgRlhfRkxPQVQqIG1fcEJvdW5kczsKICAgRlhfRkxPQVQqIG1fcEVuY29kZTsKKworICBzdGF0aWMgY29uc3QgaW50IGtSZXF1aXJlZE51bUlucHV0cyA9IDE7CiB9OwogCiBDUERGX1N0aXRjaEZ1bmM6OkNQREZfU3RpdGNoRnVuYygpIHsKLSAgbV9uU3VicyA9IDA7Ci0gIG1fcFN1YkZ1bmN0aW9ucyA9IE5VTEw7CiAgIG1fcEJvdW5kcyA9IE5VTEw7CiAgIG1fcEVuY29kZSA9IE5VTEw7CiB9CiBDUERGX1N0aXRjaEZ1bmM6On5DUERGX1N0aXRjaEZ1bmMoKSB7Ci0gIGZvciAoaW50IGkgPSAwOyBpIDwgbV9uU3ViczsgaSsrKQotICAgIGRlbGV0ZSBtX3BTdWJGdW5jdGlvbnNbaV07Ci0gIEZYX0ZyZWUobV9wU3ViRnVuY3Rpb25zKTsKKyAgZm9yIChhdXRvJiBzdWIgOiBtX3BTdWJGdW5jdGlvbnMpIHsKKyAgICBkZWxldGUgc3ViOworICB9CiAgIEZYX0ZyZWUobV9wQm91bmRzKTsKICAgRlhfRnJlZShtX3BFbmNvZGUpOwogfQogRlhfQk9PTCBDUERGX1N0aXRjaEZ1bmM6OnZfSW5pdChDUERGX09iamVjdCogcE9iaikgewogICBDUERGX0RpY3Rpb25hcnkqIHBEaWN0ID0gcE9iai0+R2V0RGljdCgpOwotICBpZiAocERpY3QgPT0gTlVMTCkgeworICBpZiAoIXBEaWN0KSB7CisgICAgcmV0dXJuIEZBTFNFOworICB9CisgIGlmIChtX25JbnB1dHMgIT0ga1JlcXVpcmVkTnVtSW5wdXRzKSB7CiAgICAgcmV0dXJuIEZBTFNFOwogICB9CiAgIENQREZfQXJyYXkqIHBBcnJheSA9IHBEaWN0LT5HZXRBcnJheShGWF9CU1RSQygiRnVuY3Rpb25zIikpOwotICBpZiAocEFycmF5ID09IE5VTEwpIHsKKyAgaWYgKCFwQXJyYXkpIHsKICAgICByZXR1cm4gRkFMU0U7CiAgIH0KLSAgbV9uU3VicyA9IHBBcnJheS0+R2V0Q291bnQoKTsKLSAgaWYgKG1fblN1YnMgPT0gMCkgeworICBGWF9EV09SRCBuU3VicyA9IHBBcnJheS0+R2V0Q291bnQoKTsKKyAgaWYgKG5TdWJzID09IDApIHsKICAgICByZXR1cm4gRkFMU0U7CiAgIH0KLSAgbV9wU3ViRnVuY3Rpb25zID0gRlhfQWxsb2MoQ1BERl9GdW5jdGlvbiosIG1fblN1YnMpOwogICBtX25PdXRwdXRzID0gMDsKLSAgaW50IGk7Ci0gIGZvciAoaSA9IDA7IGkgPCBtX25TdWJzOyBpKyspIHsKKyAgZm9yIChGWF9EV09SRCBpID0gMDsgaSA8IG5TdWJzOyBpKyspIHsKICAgICBDUERGX09iamVjdCogcFN1YiA9IHBBcnJheS0+R2V0RWxlbWVudFZhbHVlKGkpOwogICAgIGlmIChwU3ViID09IHBPYmopIHsKICAgICAgIHJldHVybiBGQUxTRTsKICAgICB9Ci0gICAgbV9wU3ViRnVuY3Rpb25zW2ldID0gQ1BERl9GdW5jdGlvbjo6TG9hZChwU3ViKTsKLSAgICBpZiAobV9wU3ViRnVuY3Rpb25zW2ldID09IE5VTEwpIHsKKyAgICBub25zdGQ6OnVuaXF1ZV9wdHI8Q1BERl9GdW5jdGlvbj4gcEZ1bmMoQ1BERl9GdW5jdGlvbjo6TG9hZChwU3ViKSk7CisgICAgaWYgKCFwRnVuYykgewogICAgICAgcmV0dXJuIEZBTFNFOwogICAgIH0KLSAgICBpZiAobV9wU3ViRnVuY3Rpb25zW2ldLT5Db3VudE91dHB1dHMoKSA+IG1fbk91dHB1dHMpIHsKLSAgICAgIG1fbk91dHB1dHMgPSBtX3BTdWJGdW5jdGlvbnNbaV0tPkNvdW50T3V0cHV0cygpOworICAgIC8vIENoZWNrIHRoYXQgdGhlIGlucHV0IGRpbWVuc2lvbmFsaXR5IGlzIDEsIGFuZCB0aGF0IGFsbCBvdXRwdXQKKyAgICAvLyBkaW1lbnNpb25hbGl0aWVzIGFyZSB0aGUgc2FtZS4KKyAgICBpZiAocEZ1bmMtPkNvdW50SW5wdXRzKCkgIT0ga1JlcXVpcmVkTnVtSW5wdXRzKSB7CisgICAgICByZXR1cm4gRkFMU0U7CiAgICAgfQorICAgIGlmIChwRnVuYy0+Q291bnRPdXRwdXRzKCkgIT0gbV9uT3V0cHV0cykgeworICAgICAgaWYgKG1fbk91dHB1dHMpCisgICAgICAgIHJldHVybiBGQUxTRTsKKworICAgICAgbV9uT3V0cHV0cyA9IHBGdW5jLT5Db3VudE91dHB1dHMoKTsKKyAgICB9CisKKyAgICBtX3BTdWJGdW5jdGlvbnMucHVzaF9iYWNrKHBGdW5jLnJlbGVhc2UoKSk7CiAgIH0KLSAgbV9wQm91bmRzID0gRlhfQWxsb2MoRlhfRkxPQVQsIG1fblN1YnMgKyAxKTsKKyAgbV9wQm91bmRzID0gRlhfQWxsb2MoRlhfRkxPQVQsIG5TdWJzICsgMSk7CiAgIG1fcEJvdW5kc1swXSA9IG1fcERvbWFpbnNbMF07CiAgIHBBcnJheSA9IHBEaWN0LT5HZXRBcnJheShGWF9CU1RSQygiQm91bmRzIikpOwotICBpZiAocEFycmF5ID09IE5VTEwpIHsKKyAgaWYgKCFwQXJyYXkpIHsKICAgICByZXR1cm4gRkFMU0U7CiAgIH0KLSAgZm9yIChpID0gMDsgaSA8IG1fblN1YnMgLSAxOyBpKyspIHsKKyAgZm9yIChGWF9EV09SRCBpID0gMDsgaSA8IG5TdWJzIC0gMTsgaSsrKSB7CiAgICAgbV9wQm91bmRzW2kgKyAxXSA9IHBBcnJheS0+R2V0RmxvYXQoaSk7CiAgIH0KLSAgbV9wQm91bmRzW21fblN1YnNdID0gbV9wRG9tYWluc1sxXTsKLSAgbV9wRW5jb2RlID0gRlhfQWxsb2MyRChGWF9GTE9BVCwgbV9uU3VicywgMik7CisgIG1fcEJvdW5kc1tuU3Vic10gPSBtX3BEb21haW5zWzFdOworICBtX3BFbmNvZGUgPSBGWF9BbGxvYzJEKEZYX0ZMT0FULCBuU3VicywgMik7CiAgIHBBcnJheSA9IHBEaWN0LT5HZXRBcnJheShGWF9CU1RSQygiRW5jb2RlIikpOwotICBpZiAocEFycmF5ID09IE5VTEwpIHsKKyAgaWYgKCFwQXJyYXkpIHsKICAgICByZXR1cm4gRkFMU0U7CiAgIH0KLSAgZm9yIChpID0gMDsgaSA8IG1fblN1YnMgKiAyOyBpKyspIHsKKyAgZm9yIChGWF9EV09SRCBpID0gMDsgaSA8IG5TdWJzICogMjsgaSsrKSB7CiAgICAgbV9wRW5jb2RlW2ldID0gcEFycmF5LT5HZXRGbG9hdChpKTsKICAgfQogICByZXR1cm4gVFJVRTsKIH0KIEZYX0JPT0wgQ1BERl9TdGl0Y2hGdW5jOjp2X0NhbGwoRlhfRkxPQVQqIGlucHV0cywgRlhfRkxPQVQqIG91dHB1dHMpIGNvbnN0IHsKICAgRlhfRkxPQVQgaW5wdXQgPSBpbnB1dHNbMF07Ci0gIGludCBpOwotICBmb3IgKGkgPSAwOyBpIDwgbV9uU3VicyAtIDE7IGkrKykKKyAgc2l6ZV90IGk7CisgIGZvciAoaSA9IDA7IGkgPCBtX3BTdWJGdW5jdGlvbnMuc2l6ZSgpIC0gMTsgaSsrKQogICAgIGlmIChpbnB1dCA8IG1fcEJvdW5kc1tpICsgMV0pIHsKICAgICAgIGJyZWFrOwogICAgIH0KQEAgLTgwNSw3ICs4MTcsNyBAQAogICBpbnB1dCA9IFBERl9JbnRlcnBvbGF0ZShpbnB1dCwgbV9wQm91bmRzW2ldLCBtX3BCb3VuZHNbaSArIDFdLAogICAgICAgICAgICAgICAgICAgICAgICAgICBtX3BFbmNvZGVbaSAqIDJdLCBtX3BFbmNvZGVbaSAqIDIgKyAxXSk7CiAgIGludCBucmVzdWx0czsKLSAgbV9wU3ViRnVuY3Rpb25zW2ldLT5DYWxsKCZpbnB1dCwgbV9uSW5wdXRzLCBvdXRwdXRzLCBucmVzdWx0cyk7CisgIG1fcFN1YkZ1bmN0aW9uc1tpXS0+Q2FsbCgmaW5wdXQsIGtSZXF1aXJlZE51bUlucHV0cywgb3V0cHV0cywgbnJlc3VsdHMpOwogICByZXR1cm4gVFJVRTsKIH0KIENQREZfRnVuY3Rpb24qIENQREZfRnVuY3Rpb246OkxvYWQoQ1BERl9PYmplY3QqIHBGdW5jT2JqKSB7CmRpZmYgLS1naXQgYS9jb3JlL3NyYy9mcGRmYXBpL2ZwZGZfcGFnZS9mcGRmX3BhZ2VfZnVuY19lbWJlZGRlcnRlc3QuY3BwIGIvY29yZS9zcmMvZnBkZmFwaS9mcGRmX3BhZ2UvZnBkZl9wYWdlX2Z1bmNfZW1iZWRkZXJ0ZXN0LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZjA0YjRhCi0tLSAvZGV2L251bGwKKysrIGIvY29yZS9zcmMvZnBkZmFwaS9mcGRmX3BhZ2UvZnBkZl9wYWdlX2Z1bmNfZW1iZWRkZXJ0ZXN0LmNwcApAQCAtMCwwICsxLDIwIEBACisvLyBDb3B5cmlnaHQgMjAxNSBQREZpdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKKy8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisKKyNpbmNsdWRlICIuLi8uLi8uLi90ZXN0aW5nL2VtYmVkZGVyX3Rlc3QuaCIKKyNpbmNsdWRlICJ0ZXN0aW5nL2d0ZXN0L2luY2x1ZGUvZ3Rlc3QvZ3Rlc3QuaCIKKworY2xhc3MgRlBERlBhZ2VGdW5jRW1iZWRkZXJ0ZXN0IDogcHVibGljIEVtYmVkZGVyVGVzdCB7fTsKKworVEVTVF9GKEZQREZQYWdlRnVuY0VtYmVkZGVydGVzdCwgQnVnXzU1MTQ2MCkgeworICAvLyBTaG91bGQgbm90IGNyYXNoIHVuZGVyIEFTYW4uCisgIC8vIFRlc3RzIHRoYXQgdGhlIG51bWJlciBvZiBpbnB1dHMgaXMgbm90IHNpbXBseSBjYWxjdWxhdGVkIGZyb20gdGhlIGRvbWFpbgorICAvLyBhbmQgdHJ1c3RlZC4gVGhlIG51bWJlciBvZiBpbnB1dHMgaGFzIHRvIGJlIDEuCisgIEVYUEVDVF9UUlVFKE9wZW5Eb2N1bWVudCgidGVzdGluZy9yZXNvdXJjZXMvYnVnXzU1MTQ2MC5wZGYiKSk7CisgIEZQREZfUEFHRSBwYWdlID0gTG9hZFBhZ2UoMCk7CisgIEVYUEVDVF9ORShudWxscHRyLCBwYWdlKTsKKyAgRlBERl9CSVRNQVAgYml0bWFwID0gUmVuZGVyUGFnZShwYWdlKTsKKyAgRlBERkJpdG1hcF9EZXN0cm95KGJpdG1hcCk7CisgIFVubG9hZFBhZ2UocGFnZSk7Cit9CmRpZmYgLS1naXQgYS9wZGZpdW0uZ3lwIGIvcGRmaXVtLmd5cAppbmRleCA5NjlhY2M2Li42ZjAwMmE5IDEwMDY0NAotLS0gYS9wZGZpdW0uZ3lwCisrKyBiL3BkZml1bS5neXAKQEAgLTc4NSw2ICs3ODUsNyBAQAogICAgICAgICAnPChERVBUSCknLAogICAgICAgXSwKICAgICAgICdzb3VyY2VzJzogWworICAgICAgICAnY29yZS9zcmMvZnBkZmFwaS9mcGRmX3BhZ2UvZnBkZl9wYWdlX2Z1bmNfZW1iZWRkZXJ0ZXN0LmNwcCcsCiAgICAgICAgICdjb3JlL3NyYy9mcGRmYXBpL2ZwZGZfcGFyc2VyL2ZwZGZfcGFyc2VyX2RlY29kZV9lbWJlZGRlcnRlc3QuY3BwJywKICAgICAgICAgJ2NvcmUvc3JjL2ZwZGZhcGkvZnBkZl9wYXJzZXIvZnBkZl9wYXJzZXJfcGFyc2VyX2VtYmVkZGVydGVzdC5jcHAnLAogICAgICAgICAnY29yZS9zcmMvZnBkZmFwaS9mcGRmX3JlbmRlci9mcGRmX3JlbmRlcl9wYXR0ZXJuX2VtYmVkZGVydGVzdC5jcHAnLApkaWZmIC0tZ2l0IGEvdGVzdGluZy9yZXNvdXJjZXMvYnVnXzU1MTQ2MC5pbiBiL3Rlc3RpbmcvcmVzb3VyY2VzL2J1Z181NTE0NjAuaW4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWVkMmYzZgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RpbmcvcmVzb3VyY2VzL2J1Z181NTE0NjAuaW4KQEAgLTAsMCArMSw3NSBAQAore3toZWFkZXJ9fQorCit7e29iamVjdCAxIDB9fQorPDwKKyAgL1BhZ2VzIDIgMCBSCis+PgorZW5kb2JqCisKK3t7b2JqZWN0IDIgMH19Cis8PAorICAvS2lkcyBbIDMgMCBSIF0KKz4+CitlbmRvYmoKKwore3tvYmplY3QgMyAwfX0KKzw8CisgIC9Db250ZW50cyA2IDAgUgorICAvUmVzb3VyY2VzIDUgMCBSCis+PgorZW5kb2JqCisKK3t7b2JqZWN0IDYgMH19Cis8PD4+CitzdHJlYW0KKzAuMCBHCiswLjAgMS4wIDAuMCByZworMjUgMTc1IDE3NSAtMTUwIHJlCisvU2ggc2gKK2VuZHN0cmVhbQorZW5kb2JqCisKK3t7b2JqZWN0IDUgMH19Cis8PAorICAvU2hhZGluZyA8PAorICAgIC9TaCA3IDAgUgorICA+PgorPj4KK2VuZG9iagorCit7e29iamVjdCA3IDB9fQorPDwKKyAgL1NoYWRpbmdUeXBlIDEKKyAgL0NvbG9yU3BhY2UgL0RldmljZUNNWUsKKyAgL0Nvb3JkcyBbMC4wIDAuMCAxLjAgMS4wXQorICAvRnVuY3Rpb24gOSAwIFIKKyAgL0V4dGVuZCBbdHJ1ZSB0cnVlXQorPj4KKwore3tvYmplY3QgOSAwfX0KKzw8CisgIC9GdW5jdGlvblR5cGUgMworICAvRG9tYWluIFswLjAgMS4wIDAuMCAxLjBdCisgIC9GdW5jdGlvbnMgWzEwIDAgUl0KKyAgL0JvdW5kcyBbMi4wXQorICAvRW5jb2RlIFswLjAgMS4wXQorPj4KK2VuZG9iagorCit7e29iamVjdCAxMCAwfX0KKzw8CisgIC9GdW5jdGlvblR5cGUgMgorICAvRG9tYWluIFswLjAgMS4wIDAuMCAxLjBdCisgIC9DMCBbMC4wIDAuMF0KKyAgL0MxIFsxLjAgMS4wXQorICAvTiAxCis+PgorZW5kb2JqCisKK3t7eHJlZn19Cit0cmFpbGVyIDw8CisgIC9Sb290IDEgMCBSCisgIC9TaXplIDExCis+Pgore3tzdGFydHhyZWZ9fQorJSVFT0YKZGlmZiAtLWdpdCBhL3Rlc3RpbmcvcmVzb3VyY2VzL2J1Z181NTE0NjAucGRmIGIvdGVzdGluZy9yZXNvdXJjZXMvYnVnXzU1MTQ2MC5wZGYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTI2ZTNmYQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RpbmcvcmVzb3VyY2VzL2J1Z181NTE0NjAucGRmCkBAIC0wLDAgKzEsODkgQEAKKyVQREYtMS43CisloPKk9AorCisxIDAgb2JqCis8PAorICAvUGFnZXMgMiAwIFIKKz4+CitlbmRvYmoKKworMiAwIG9iagorPDwKKyAgL0tpZHMgWyAzIDAgUiBdCis+PgorZW5kb2JqCisKKzMgMCBvYmoKKzw8CisgIC9Db250ZW50cyA2IDAgUgorICAvUmVzb3VyY2VzIDUgMCBSCis+PgorZW5kb2JqCisKKzYgMCBvYmoKKzw8Pj4KK3N0cmVhbQorMC4wIEcKKzAuMCAxLjAgMC4wIHJnCisyNSAxNzUgMTc1IC0xNTAgcmUKKy9TaCBzaAorZW5kc3RyZWFtCitlbmRvYmoKKworNSAwIG9iagorPDwKKyAgL1NoYWRpbmcgPDwKKyAgICAvU2ggNyAwIFIKKyAgPj4KKz4+CitlbmRvYmoKKworNyAwIG9iagorPDwKKyAgL1NoYWRpbmdUeXBlIDEKKyAgL0NvbG9yU3BhY2UgL0RldmljZUNNWUsKKyAgL0Nvb3JkcyBbMC4wIDAuMCAxLjAgMS4wXQorICAvRnVuY3Rpb24gOSAwIFIKKyAgL0V4dGVuZCBbdHJ1ZSB0cnVlXQorPj4KKworOSAwIG9iagorPDwKKyAgL0Z1bmN0aW9uVHlwZSAzCisgIC9Eb21haW4gWzAuMCAxLjAgMC4wIDEuMF0KKyAgL0Z1bmN0aW9ucyBbMTAgMCBSXQorICAvQm91bmRzIFsyLjBdCisgIC9FbmNvZGUgWzAuMCAxLjBdCis+PgorZW5kb2JqCisKKzEwIDAgb2JqCis8PAorICAvRnVuY3Rpb25UeXBlIDIKKyAgL0RvbWFpbiBbMC4wIDEuMCAwLjAgMS4wXQorICAvQzAgWzAuMCAwLjBdCisgIC9DMSBbMS4wIDEuMF0KKyAgL04gMQorPj4KK2VuZG9iagorCit4cmVmCiswIDExCiswMDAwMDAwMDAwIDY1NTM1IGYgCiswMDAwMDAwMDE2IDAwMDAwIG4gCiswMDAwMDAwMDUzIDAwMDAwIG4gCiswMDAwMDAwMDkzIDAwMDAwIG4gCiswMDAwMDAwMDAwIDY1NTM1IGYgCiswMDAwMDAwMjM3IDAwMDAwIG4gCiswMDAwMDAwMTUyIDAwMDAwIG4gCiswMDAwMDAwMjkyIDAwMDAwIG4gCiswMDAwMDAwMDAwIDY1NTM1IGYgCiswMDAwMDAwNDE4IDAwMDAwIG4gCiswMDAwMDAwNTQ0IDAwMDAwIG4gCit0cmFpbGVyIDw8CisgIC9Sb290IDEgMCBSCisgIC9TaXplIDExCis+Pgorc3RhcnR4cmVmCis2NTIKKyUlRU9GCg==