ZGlmZiAtLWdpdCBhL3NyYy9NYWtlZmlsZSBiL3NyYy9NYWtlZmlsZQppbmRleCA4YWM3ZGM1Li45Y2U2MWFhIDEwMDY0NAotLS0gYS9zcmMvTWFrZWZpbGUKKysrIGIvc3JjL01ha2VmaWxlCkBAIC0yMzExLDEwICsyMzExLDkgQEAKICMgUnVuIGluZGl2aWR1YWwgT0xEIHN0eWxlIHRlc3QuCiAjIFRoZXNlIGRvIG5vdCBkZXBlbmQgb24gdGhlIGV4ZWN1dGFibGUsIGNvbXBpbGUgaXQgd2hlbiBuZWVkZWQuCiB0ZXN0MSBcCi0JdGVzdDQyIHRlc3Q0NCB0ZXN0NDkgXAorCXRlc3Q0MiB0ZXN0NDkgXAogCXRlc3Q1MiB0ZXN0NTkgXAotCXRlc3Q3MCBcCi0JdGVzdDk5OgorCXRlc3Q3MDoKIAljZCB0ZXN0ZGlyOyBybSAtZiAkQC5vdXQ7ICQoTUFLRSkgLWYgTWFrZWZpbGUgJEAub3V0IFZJTVBST0c9Li4vJChWSU1URVNUVEFSR0VUKSAkKEdVSV9URVNUQVJHKSBTQ1JJUFRTT1VSQ0U9Li4vJChTQ1JJUFRTT1VSQ0UpCiAKICMgUnVuIGluZGl2aWR1YWwgTkVXIHN0eWxlIHRlc3QuCmRpZmYgLS1naXQgYS9zcmMvdGVzdGRpci9NYWtlX2FsbC5tYWsgYi9zcmMvdGVzdGRpci9NYWtlX2FsbC5tYWsKaW5kZXggZDUxNzY2Ny4uYjJkOWFjNiAxMDA2NDQKLS0tIGEvc3JjL3Rlc3RkaXIvTWFrZV9hbGwubWFrCisrKyBiL3NyYy90ZXN0ZGlyL01ha2VfYWxsLm1hawpAQCAtMTQsOSArMTQsNyBAQAogIyBUZXN0cyB0aGF0IHJ1biBvbiBhbGwgc3lzdGVtcy4KIFNDUklQVFNfQUxMID0gXAogCXRlc3Q0Mi5vdXQgXAotCXRlc3Q0NC5vdXQgXAotCXRlc3Q3MC5vdXQgXAotCXRlc3Q5OS5vdXQKKwl0ZXN0NzAub3V0CiAKICMgVGVzdHMgdGhhdCBydW4gb24gbW9zdCBzeXN0ZW1zLCBidXQgbm90IG9uIEFtaWdhLgogU0NSSVBUU19NT1JFMSA9IFwKZGlmZiAtLWdpdCBhL3NyYy90ZXN0ZGlyL01ha2Vfdm1zLm1tcyBiL3NyYy90ZXN0ZGlyL01ha2Vfdm1zLm1tcwppbmRleCA5OTFhMmY3Li4zNTJlNTUzIDEwMDY0NAotLS0gYS9zcmMvdGVzdGRpci9NYWtlX3Ztcy5tbXMKKysrIGIvc3JjL3Rlc3RkaXIvTWFrZV92bXMubW1zCkBAIC03NCw3ICs3NCw3IEBACiAuU1VGRklYRVMgOiAub3V0IC5pbgogCiBTQ1JJUFQgPSB0ZXN0MS5vdXQgXAotICAgICAgIHRlc3Q0Mi5vdXQgdGVzdDQ0Lm91dCB0ZXN0NDkub3V0IHRlc3Q3N2Eub3V0IHRlc3Q5OS5vdXQKKyAgICAgICB0ZXN0NDIub3V0IHRlc3Q0OS5vdXQgdGVzdDc3YS5vdXQKIAogIyBLbm93biBwcm9ibGVtczoKICMKZGlmZiAtLWdpdCBhL3NyYy90ZXN0ZGlyL3Rlc3Q0NC5pbiBiL3NyYy90ZXN0ZGlyL3Rlc3Q0NC5pbgpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzEyNjM5Mi4uMDAwMDAwMAotLS0gYS9zcmMvdGVzdGRpci90ZXN0NDQuaW4KKysrIC9kZXYvbnVsbApAQCAtMSw4MSArMCwwIEBACi1UZXN0cyBmb3IgcmVnZXhwIHdpdGggbXVsdGktYnl0ZSBlbmNvZGluZyBhbmQgdmFyaW91cyBtYWdpYyBzZXR0aW5ncy4KLVRlc3QgbWF0Y2hzdHIoKSB3aXRoIGEgY291bnQgYW5kIG11bHRpLWJ5dGUgY2hhcnMuCi1TZWUgdGVzdDk5IGZvciBleGFjdGx5IHRoZSBzYW1lIHRlc3Qgd2l0aCByZT0yLgotCi1TVEFSVFRFU1QKLTpzbyBtYnl0ZS52aW0KLTpzZXQgbm9jb21wYXRpYmxlIGVuY29kaW5nPXV0Zi04IHRlcm1lbmNvZGluZz1sYXRpbjEgdmltaW5mbys9bnZpbWluZm8KLTpzZXQgcmU9MQotL14xCi0vYSpiXHsyfWNcKy9lCi14L1xNZFwqZVx7Mn1mXCsvZQoteDpzZXQgbm9tYWdpYwotL2dcKmhcezJ9aVwrL2UKLXgvXG1qKmtcezJ9bFwrL2UKLXgvXHZtKm57Mn1vKy9lCi14L1xWXmFhJAoteDpzZXQgbWFnaWMKLS9cdihhKShiKVwyXDFcMS9lCi14L1xWW2FiXVwoXFt4eV1cKVwxCi14OiIgTm93IHNlYXJjaCBmb3IgbXVsdGktYnl0ZSB3aXRob3V0IGNvbXBvc2luZyBjaGFyCi0v4LihCi14OiIgTm93IHNlYXJjaCBmb3IgbXVsdGktYnl0ZSB3aXRoIGNvbXBvc2luZyBjaGFyCi0v4Lih4LmICi14OiIgZmluZCB3b3JkIGJ5IGNoYW5nZSBvZiB3b3JkIGNsYXNzCi0v44GhXDzjgqvjg6hcPuOBrwoteDoiIFRlc3QgXCV1LCBbXHVdIGFuZCBmcmllbmRzCi06IiBjCi0vXCV1MjBhYwoteDoiIGQKLS9bXHU0ZjdmXHU1OTI5XVwrCi14OiIgZQotL1wlVTEyMzQ1Njc4Ci14OiIgZgotL1tcVTEyMzRhYmNkXHUxMjM0XHVhYmNkXQoteDoiIGcKLS9cJWQyMTg3OWIKLXg6IiBqIFRlc3QgYmFja3dhcmRzIHNlYXJjaCBmcm9tIGEgbXVsdGktYnl0ZSBjaGFyCi0veAoteD8uCi14OiIgawotOmxldCBAdz0nOiVzI2NvbWJbaV1uYXRpb25zI8WTzIThuaPMgW3MpcyEzrHMhMyGzIEjZycKLTpAdwotOiIKLToiIGwgVGVzdCB3aGF0IDcuMy4xOTIgZml4ZWQKLS9ebAotOnMvIFw/LyAvZwotOj9eMT8sJHchIHRlc3Qub3V0Ci06ZSEgdGVzdC5vdXQKLUc6cHV0ID1tYXRjaHN0cihcIteQ15HXkteTXCIsIFwiLlwiLCAwLCAyKSAiINeRCi06cHV0ID1tYXRjaHN0cihcIteQ15HXkteTXCIsIFwiLi5cIiwgMCwgMikgIiDXkdeSCi06cHV0ID1tYXRjaHN0cihcIteQ15HXkteTXCIsIFwiLlwiLCAwLCAwKSAiINeQCi06cHV0ID1tYXRjaHN0cihcIteQ15HXkteTXCIsIFwiLlwiLCA0LCAtMSkgIiDXkgotOm5ldwotOiRwdXQgPVsnZG9nKGEnLCAnY2F0KCddCi0vKC9lKwotImF5bjpiZCEKLTokcHV0ID0nJwotRyJhcAotOnchCi06cWEhCi1FTkRURVNUCi0KLTEgYSBhYSBhYmIgYWJiY2NjCi0yIGQgZGQgZGVlIGRlZWZmZgotMyBnIGdnIGdoaCBnaGhpaWkKLTQgaiBqaiBqa2sgamtrbGxsCi01IG0gbW0gbW5uIG1ubm9vbwotNiB4IF5hYSQgeAotNyAoYSkoYikgYWJiYWEKLTggYXh4IFthYl14eAotOSDguKvguKHguYh4IOC4reC4oXgKLWEg4Lit4LiheCDguKvguKHguYh4Ci1iIOOBoeOCq+ODqOOBrwotYyB4IMKs4oKseAotZCDlpKnkvb94Ci1lIPySjYWZuHkKLWYg/JKNiq+NegotZyBh5ZW3YmIKLWogMDEyM+KdpHgKLWsgY29tYmluYXRpb25zCi1sIMOkw7Ygw7zOscyEzIbMgQpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3RkaXIvdGVzdDQ0Lm9rIGIvc3JjL3Rlc3RkaXIvdGVzdDQ0Lm9rCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0NTc3NGQ3Li4wMDAwMDAwCi0tLSBhL3NyYy90ZXN0ZGlyL3Rlc3Q0NC5vaworKysgL2Rldi9udWxsCkBAIC0xLDI1ICswLDAgQEAKLTEgYSBhYSBhYmIgYWJiY2MKLTIgZCBkZCBkZWUgZGVlZmYKLTMgZyBnZyBnaGggZ2hoaWkKLTQgaiBqaiBqa2sgamtrbGwKLTUgbSBtbSBtbm4gbW5ub28KLTYgeCBhYSQgeAotNyAoYSkoYikgYWJiYQotOCBheHggYWJdeHgKLTkg4Lir4Lih4LmIeCDguK14Ci1hIOC4reC4oXgg4LireAotYiDjgqvjg6jjga8KLWMgeCDCrHgKLWQg5L2/eAotZSB5Ci1mIHoKLWcgYWJiCi1qIDAxMuKdpAotayDFk8yE4bmjzIFtzKXMhM6xzITMhsyBCi0gbCDDpCDDtiDDvCDOscyEzIbMgQot15EKLdeR15IKLdeQCi3XkgotYQotY2F0KApkaWZmIC0tZ2l0IGEvc3JjL3Rlc3RkaXIvdGVzdDk5LmluIGIvc3JjL3Rlc3RkaXIvdGVzdDk5LmluCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzOTYxMjQ0Li4wMDAwMDAwCi0tLSBhL3NyYy90ZXN0ZGlyL3Rlc3Q5OS5pbgorKysgL2Rldi9udWxsCkBAIC0xLDY5ICswLDAgQEAKLVRlc3RzIGZvciByZWdleHAgd2l0aCBtdWx0aS1ieXRlIGVuY29kaW5nIGFuZCB2YXJpb3VzIG1hZ2ljIHNldHRpbmdzLgotVGVzdCBtYXRjaHN0cigpIHdpdGggYSBjb3VudCBhbmQgbXVsdGktYnl0ZSBjaGFycy4KLVNlZSB0ZXN0NDQgZm9yIGV4YWN0bHkgdGhlIHNhbWUgdGVzdCB3aXRoIHJlPTEuCi0KLVNUQVJUVEVTVAotOnNvIG1ieXRlLnZpbQotOnNldCBub2NvbXBhdGlibGUgZW5jb2Rpbmc9dXRmLTggdGVybWVuY29kaW5nPWxhdGluMSB2aW1pbmZvKz1udmltaW5mbwotOnNldCByZT0yCi0vXjEKLS9hKmJcezJ9Y1wrL2UKLXgvXE1kXCplXHsyfWZcKy9lCi14OnNldCBub21hZ2ljCi0vZ1wqaFx7Mn1pXCsvZQoteC9cbWoqa1x7Mn1sXCsvZQoteC9cdm0qbnsyfW8rL2UKLXgvXFZeYWEkCi14OnNldCBtYWdpYwotL1x2KGEpKGIpXDJcMVwxL2UKLXgvXFZbYWJdXChcW3h5XVwpXDEKLXg6IiBOb3cgc2VhcmNoIGZvciBtdWx0aS1ieXRlIHdpdGhvdXQgY29tcG9zaW5nIGNoYXIKLS/guKEKLXg6IiBOb3cgc2VhcmNoIGZvciBtdWx0aS1ieXRlIHdpdGggY29tcG9zaW5nIGNoYXIKLS/guKHguYgKLXg6IiBmaW5kIHdvcmQgYnkgY2hhbmdlIG9mIHdvcmQgY2xhc3MKLS/jgaFcPOOCq+ODqFw+44GvCi14OiIgVGVzdCBcJXUsIFtcdV0gYW5kIGZyaWVuZHMKLS9cJXUyMGFjCi14L1tcdTRmN2ZcdTU5MjldXCsKLXgvXCVVMTIzNDU2NzgKLXgvW1xVMTIzNGFiY2RcdTEyMzRcdWFiY2RdCi14L1wlZDIxODc5YgoteDoiIFRlc3QgYmFja3dhcmRzIHNlYXJjaCBmcm9tIGEgbXVsdGktYnl0ZSBjaGFyCi0veAoteD8uCi14OmxldCBAdz0nOiVzI2NvbWJbaV1uYXRpb25zI8WTzIThuaPMgW3MpcyEzrHMhMyGzIEjZycKLTpAdwotOiIKLToiIGwgVGVzdCB3aGF0IDcuMy4xOTIgZml4ZWQKLS9ebAotOnMvIFw/LyAvZwotOj9eMT8sJHchIHRlc3Qub3V0Ci06ZSEgdGVzdC5vdXQKLUc6cHV0ID1tYXRjaHN0cihcIteQ15HXkteTXCIsIFwiLlwiLCAwLCAyKSAiINeRCi06cHV0ID1tYXRjaHN0cihcIteQ15HXkteTXCIsIFwiLi5cIiwgMCwgMikgIiDXkdeSCi06cHV0ID1tYXRjaHN0cihcIteQ15HXkteTXCIsIFwiLlwiLCAwLCAwKSAiINeQCi06cHV0ID1tYXRjaHN0cihcIteQ15HXkteTXCIsIFwiLlwiLCA0LCAtMSkgIiDXkgotOnchCi06cWEhCi1FTkRURVNUCi0KLTEgYSBhYSBhYmIgYWJiY2NjCi0yIGQgZGQgZGVlIGRlZWZmZgotMyBnIGdnIGdoaCBnaGhpaWkKLTQgaiBqaiBqa2sgamtrbGxsCi01IG0gbW0gbW5uIG1ubm9vbwotNiB4IF5hYSQgeAotNyAoYSkoYikgYWJiYWEKLTggYXh4IFthYl14eAotOSDguKvguKHguYh4IOC4reC4oXgKLWEg4Lit4LiheCDguKvguKHguYh4Ci1iIOOBoeOCq+ODqOOBrwotYyB4IMKs4oKseAotZCDlpKnkvb94Ci1lIPySjYWZuHkKLWYg/JKNiq+NegotZyBh5ZW3YmIKLWogMDEyM+KdpHgKLWsgY29tYmluYXRpb25zCi1sIMOkw7Ygw7zOscyEzIbMgQpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3RkaXIvdGVzdDk5Lm9rIGIvc3JjL3Rlc3RkaXIvdGVzdDk5Lm9rCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkZWEzNjY1Li4wMDAwMDAwCi0tLSBhL3NyYy90ZXN0ZGlyL3Rlc3Q5OS5vaworKysgL2Rldi9udWxsCkBAIC0xLDIzICswLDAgQEAKLTEgYSBhYSBhYmIgYWJiY2MKLTIgZCBkZCBkZWUgZGVlZmYKLTMgZyBnZyBnaGggZ2hoaWkKLTQgaiBqaiBqa2sgamtrbGwKLTUgbSBtbSBtbm4gbW5ub28KLTYgeCBhYSQgeAotNyAoYSkoYikgYWJiYQotOCBheHggYWJdeHgKLTkg4Lir4Lih4LmIeCDguK14Ci1hIOC4reC4oXgg4LireAotYiDjgqvjg6jjga8KLWMgeCDCrHgKLWQg5L2/eAotZSB5Ci1mIHoKLWcgYWJiCi1qIDAxMuKdpAotayDFk8yE4bmjzIFtzKXMhM6xzITMhsyBCi0gbCDDpCDDtiDDvCDOscyEzIbMgQot15EKLdeR15IKLdeQCi3XkgpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3RkaXIvdGVzdF9yZWdleHBfdXRmOC52aW0gYi9zcmMvdGVzdGRpci90ZXN0X3JlZ2V4cF91dGY4LnZpbQppbmRleCA1MTAwYjM3Li5jYzdkZjllIDEwMDY0NAotLS0gYS9zcmMvdGVzdGRpci90ZXN0X3JlZ2V4cF91dGY4LnZpbQorKysgYi9zcmMvdGVzdGRpci90ZXN0X3JlZ2V4cF91dGY4LnZpbQpAQCAtMzc3LDQgKzM3NywxMjggQEAKICAgc2V0IHJlZ2V4cGVuZ2luZSYKIGVuZGZ1bmMKIAorIiBUZXN0cyBmb3IgcmVnZXhwIHdpdGggbXVsdGktYnl0ZSBlbmNvZGluZyBhbmQgdmFyaW91cyBtYWdpYyBzZXR0aW5ncworZnVuYyBSdW5fcmVnZXhwX211bHRpYnl0ZV9tYWdpYygpCisgIGxldCB0ZXh0ID08PCB0cmltIEVORAorICAgIDEgYSBhYSBhYmIgYWJiY2NjCisgICAgMiBkIGRkIGRlZSBkZWVmZmYKKyAgICAzIGcgZ2cgZ2hoIGdoaGlpaQorICAgIDQgaiBqaiBqa2sgamtrbGxsCisgICAgNSBtIG1tIG1ubiBtbm5vb28KKyAgICA2IHggXmFhJCB4CisgICAgNyAoYSkoYikgYWJiYWEKKyAgICA4IGF4eCBbYWJdeHgKKyAgICA5IOC4q+C4oeC5iHgg4Lit4LiheAorICAgIGEg4Lit4LiheCDguKvguKHguYh4CisgICAgYiDjgaHjgqvjg6jjga8KKyAgICBjIHggwqzigqx4CisgICAgZCDlpKnkvb94CisgICAgZSD8ko2Fmbh5CisgICAgZiD8ko2Kr416CisgICAgZyBh5ZW3YmIKKyAgICBqIDAxMjPinaR4CisgICAgayBjb21iaW5hdGlvbnMKKyAgICBsIMOkw7Ygw7zOscyEzIbMgQorICBFTkQKKworICBuZXcKKyAgY2FsbCBzZXRsaW5lKDEsIHRleHQpCisgIGV4ZSAnbm9ybWFsIC9hKmJcezJ9Y1wrL2UnIC4uICJcPENSPngiCisgIGNhbGwgYXNzZXJ0X2VxdWFsKCcxIGEgYWEgYWJiIGFiYmNjJywgZ2V0bGluZSgnLicpKQorICBleGUgJ25vcm1hbCAvXE1kXCplXHsyfWZcKy9lJyAuLiAiXDxDUj54IgorICBjYWxsIGFzc2VydF9lcXVhbCgnMiBkIGRkIGRlZSBkZWVmZicsIGdldGxpbmUoJy4nKSkKKyAgc2V0IG5vbWFnaWMKKyAgZXhlICdub3JtYWwgL2dcKmhcezJ9aVwrL2UnIC4uICJcPENSPngiCisgIGNhbGwgYXNzZXJ0X2VxdWFsKCczIGcgZ2cgZ2hoIGdoaGlpJywgZ2V0bGluZSgnLicpKQorICBleGUgJ25vcm1hbCAvXG1qKmtcezJ9bFwrL2UnIC4uICJcPENSPngiCisgIGNhbGwgYXNzZXJ0X2VxdWFsKCc0IGogamogamtrIGpra2xsJywgZ2V0bGluZSgnLicpKQorICBleGUgJ25vcm1hbCAvXHZtKm57Mn1vKy9lJyAuLiAiXDxDUj54IgorICBjYWxsIGFzc2VydF9lcXVhbCgnNSBtIG1tIG1ubiBtbm5vbycsIGdldGxpbmUoJy4nKSkKKyAgZXhlICdub3JtYWwgL1xWXmFhJC8nIC4uICJcPENSPngiCisgIGNhbGwgYXNzZXJ0X2VxdWFsKCc2IHggYWEkIHgnLCBnZXRsaW5lKCcuJykpCisgIHNldCBtYWdpYworICBleGUgJ25vcm1hbCAvXHYoYSkoYilcMlwxXDEvZScgLi4gIlw8Q1I+eCIKKyAgY2FsbCBhc3NlcnRfZXF1YWwoJzcgKGEpKGIpIGFiYmEnLCBnZXRsaW5lKCcuJykpCisgIGV4ZSAnbm9ybWFsIC9cVlthYl1cKFxbeHldXClcMScgLi4gIlw8Q1I+eCIKKyAgY2FsbCBhc3NlcnRfZXF1YWwoJzggYXh4IGFiXXh4JywgZ2V0bGluZSgnLicpKQorCisgICIgc2VhcmNoIGZvciBtdWx0aS1ieXRlIHdpdGhvdXQgY29tcG9zaW5nIGNoYXIKKyAgZXhlICdub3JtYWwgL+C4oScgLi4gIlw8Q1I+eCIKKyAgY2FsbCBhc3NlcnRfZXF1YWwoJzkg4Lir4Lih4LmIeCDguK14JywgZ2V0bGluZSgnLicpKQorCisgICIgc2VhcmNoIGZvciBtdWx0aS1ieXRlIHdpdGggY29tcG9zaW5nIGNoYXIKKyAgZXhlICdub3JtYWwgL+C4oeC5iCcgLi4gIlw8Q1I+eCIKKyAgY2FsbCBhc3NlcnRfZXF1YWwoJ2Eg4Lit4LiheCDguKt4JywgZ2V0bGluZSgnLicpKQorCisgICIgZmluZCB3b3JkIGJ5IGNoYW5nZSBvZiB3b3JkIGNsYXNzCisgIGV4ZSAnbm9ybWFsIC/jgaFcPOOCq+ODqFw+44GvJyAuLiAiXDxDUj54IgorICBjYWxsIGFzc2VydF9lcXVhbCgnYiDjgqvjg6jjga8nLCBnZXRsaW5lKCcuJykpCisKKyAgIiBUZXN0IFwldSwgW1x1XSBhbmQgZnJpZW5kcworICAiIGMKKyAgZXhlICdub3JtYWwgL1wldTIwYWMnIC4uICJcPENSPngiCisgIGNhbGwgYXNzZXJ0X2VxdWFsKCdjIHggwqx4JywgZ2V0bGluZSgnLicpKQorICAiIGQKKyAgZXhlICdub3JtYWwgL1tcdTRmN2ZcdTU5MjldXCsnIC4uICJcPENSPngiCisgIGNhbGwgYXNzZXJ0X2VxdWFsKCdkIOS9v3gnLCBnZXRsaW5lKCcuJykpCisgICIgZQorICBleGUgJ25vcm1hbCAvXCVVMTIzNDU2NzgnIC4uICJcPENSPngiCisgIGNhbGwgYXNzZXJ0X2VxdWFsKCdlIHknLCBnZXRsaW5lKCcuJykpCisgICIgZgorICBleGUgJ25vcm1hbCAvW1xVMTIzNGFiY2RcdTEyMzRcdWFiY2RdJyAuLiAiXDxDUj54IgorICBjYWxsIGFzc2VydF9lcXVhbCgnZiB6JywgZ2V0bGluZSgnLicpKQorICAiIGcKKyAgZXhlICdub3JtYWwgL1wlZDIxODc5YicgLi4gIlw8Q1I+eCIKKyAgY2FsbCBhc3NlcnRfZXF1YWwoJ2cgYWJiJywgZ2V0bGluZSgnLicpKQorCisgICIgaiBUZXN0IGJhY2t3YXJkcyBzZWFyY2ggZnJvbSBhIG11bHRpLWJ5dGUgY2hhcgorICBleGUgIm5vcm1hbCAveFw8Q1I+eD8uXDxDUj54IgorICBjYWxsIGFzc2VydF9lcXVhbCgnaiAwMTLinaQnLCBnZXRsaW5lKCcuJykpCisgICIgaworICBsZXQgQHc9JzolcyNjb21iW2ldbmF0aW9ucyPFk8yE4bmjzIFtzKXMhM6xzITMhsyBI2cnCisgIEB3CisgIGNhbGwgYXNzZXJ0X2VxdWFsKCdrIMWTzIThuaPMgW3MpcyEzrHMhMyGzIEnLCBnZXRsaW5lKDE4KSkKKworICBjbG9zZSEKK2VuZGZ1bmMKKworZnVuYyBUZXN0X3JlZ2V4cF9tdWx0aWJ5dGVfbWFnaWMoKQorICBzZXQgcmVnZXhwZW5naW5lPTEKKyAgY2FsbCBSdW5fcmVnZXhwX211bHRpYnl0ZV9tYWdpYygpCisgIHNldCByZWdleHBlbmdpbmU9MgorICBjYWxsIFJ1bl9yZWdleHBfbXVsdGlieXRlX21hZ2ljKCkKKyAgc2V0IHJlZ2V4cGVuZ2luZSYKK2VuZGZ1bmMKKworIiBUZXN0IGZvciA3LjMuMTkyCisiIGNvbW1hbmQgIjpzLyBcPy8gL2ciIHNwbGl0cyBtdWx0aS1ieXRlIGNoYXJhY3RlcnMgaW50byBieXRlcworZnVuYyBUZXN0X3NwbGl0X211bHRpYnl0ZV90b19ieXRlcygpCisgIG5ldworICBjYWxsIHNldGxpbmUoMSwgJ2wgw6TDtiDDvM6xzITMhsyBJykKKyAgcy8gXD8vIC9nCisgIGNhbGwgYXNzZXJ0X2VxdWFsKCcgbCDDpCDDtiDDvCDOscyEzIbMgScsIGdldGxpbmUoMSkpCisgIGNsb3NlIQorZW5kZnVuYworCisiIFRlc3QgZm9yIG1hdGNoc3RyKCkgd2l0aCBtdWx0aWJ5dGUgY2hhcmFjdGVycworZnVuYyBUZXN0X21hdGNoc3RyX211bHRpYnl0ZSgpCisgIG5ldworICBjYWxsIGFzc2VydF9lcXVhbCgn15EnLCBtYXRjaHN0cigi15DXkdeS15MiLCAiLiIsIDAsIDIpKQorICBjYWxsIGFzc2VydF9lcXVhbCgn15HXkicsIG1hdGNoc3RyKCLXkNeR15LXkyIsICIuLiIsIDAsIDIpKQorICBjYWxsIGFzc2VydF9lcXVhbCgn15AnLCBtYXRjaHN0cigi15DXkdeS15MiLCAiLiIsIDAsIDApKQorICBjYWxsIGFzc2VydF9lcXVhbCgn15InLCBtYXRjaHN0cigi15DXkdeS15MiLCAiLiIsIDQsIC0xKSkKKyAgY2xvc2UhCitlbmRmdW5jCisKKyIgVGVzdCBmb3IgNy40LjYzNgorIiBBIHNlYXJjaCB3aXRoIGVuZCBvZmZzZXQgZ2V0cyBzdHVjayBhdCBlbmQgb2YgZmlsZS4KK2Z1bmMgVGVzdF9zZWFyY2hfd2l0aF9lbmRfb2Zmc2V0KCkKKyAgbmV3CisgIGNhbGwgc2V0bGluZSgxLCBbJycsICdkb2coYScsICdjYXQoJ10pCisgIGV4ZSAibm9ybWFsIC8oL2UrIiAuLiAiXDxDUj4iCisgIG5vcm1hbCAiYXluCisgIGNhbGwgYXNzZXJ0X2VxdWFsKCJhXG5jYXQoIiwgQGEpCisgIGNsb3NlIQorZW5kZnVuYworCiAiIHZpbTogc2hpZnR3aWR0aD0yIHN0cz0yIGV4cGFuZHRhYgpkaWZmIC0tZ2l0IGEvc3JjL3ZlcnNpb24uYyBiL3NyYy92ZXJzaW9uLmMKaW5kZXggMjcwMTVjMi4uZmU5Yjc4NyAxMDA2NDQKLS0tIGEvc3JjL3ZlcnNpb24uYworKysgYi9zcmMvdmVyc2lvbi5jCkBAIC03NTUsNiArNzU1LDggQEAKIHN0YXRpYyBpbnQgaW5jbHVkZWRfcGF0Y2hlc1tdID0KIHsgICAvKiBBZGQgbmV3IHBhdGNoIG51bWJlciBiZWxvdyB0aGlzIGxpbmUgKi8KIC8qKi8KKyAgICAxMjk1LAorLyoqLwogICAgIDEyOTQsCiAvKiovCiAgICAgMTI5MywK