From kfm-devel Tue Aug 28 12:28:07 2012 From: Sergey Borovkov Date: Tue, 28 Aug 2012 12:28:07 +0000 To: kfm-devel Subject: Re: KLook - quick preview extension for Dolphin Message-Id: X-MARC-Message: https://marc.info/?l=kfm-devel&m=134615690704924 MIME-Version: 1 Content-Type: multipart/mixed; boundary="--047d7b86f5a221b50d04c8529342" --047d7b86f5a221b50d04c8529342 Content-Type: multipart/alternative; boundary=047d7b86f5a221b50804c8529340 --047d7b86f5a221b50804c8529340 Content-Type: text/plain; charset=UTF-8 Here are fixed versions. (btw - to make klook icon visible you need to enable it in dolphin general settings). On Tue, Aug 28, 2012 at 11:37 AM, Sergey Borovkov wrote: > Sure, I will fix that soon, sorry > > > On Tue, Aug 28, 2012 at 12:32 AM, Frank Reininghaus < > frank78ac@googlemail.com> wrote: > >> Hi Sergey, >> >> 2012/8/8 Sergey Borovkov: >> > Hi, please take a look at our application for quick file preview called >> > Klook. You can read about it here >> > >> http://lists-archives.com/kde-devel/28083-several-new-utilities-for-kde-klook-and-stackfolder.html >> > Since that time we have added support for pdf, odt and some other types >> > using Okular KPart. >> > We would like to integrate Klook in Dolphin and make neccessary >> changes/work >> > for this. You can find KLook sources here - git://anongit.kde.org/klookor >> > here https://abf.rosalinux.ru/uxteam/KLook >> >> I just wanted to try KLook and cloned the repository, but neither of >> the patches in the dolphin-patches/ directory can be applied to >> master. Could you fix that, please? >> >> Thanks and best regards, >> Frank >> > > --047d7b86f5a221b50804c8529340 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Here are fixed versions. (btw - to make klook icon visible you need to enab= le it in dolphin general settings).
On Tue, A= ug 28, 2012 at 11:37 AM, Sergey Borovkov <serge.borovkov@gmail.com<= /a>> wrote:
Sure, I will fix that soon, sorry


On Tue, Au= g 28, 2012 at 12:32 AM, Frank Reininghaus <frank78ac@googlemail.com= > wrote:
Hi Sergey,

2012/8/8 Sergey Borovkov:
> Hi, please take a look at our application for quick fi= le preview called
> Klook. You can read about it here
> http://lists-arc= hives.com/kde-devel/28083-several-new-utilities-for-kde-klook-and-stackfold= er.html
> Since that time we have added support for pdf, odt and some other type= s
> using Okular KPart.
> We would like to integrate Klook in Dolphin and make neccessary change= s/work
> for this. You can find KLook sources here - git://anongit.kde.org/klook or
> here https://abf.rosalinux.ru/uxteam/KLook

I just wanted to try KLook and cloned the repository, but neith= er of
the patches in the dolphin-patches/ directory can be applied to
master. Could you fix that, please?

Thanks and best regards,
Frank


--047d7b86f5a221b50804c8529340-- --047d7b86f5a221b50d04c8529342 Content-Type: application/octet-stream; name="dolphin-klook-space-patch.diff" Content-Disposition: attachment; filename="dolphin-klook-space-patch.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_h6eyyvbs0 ZGlmZiAtLWdpdCBhL2RvbHBoaW4vc3JjL2RvbHBoaW5tYWlud2luZG93LmNwcCBiL2RvbHBoaW4v c3JjL2RvbHBoaW5tYWlud2luZG93LmNwcAppbmRleCBkODNjOWRlLi42M2Q3ZDY4IDEwMDY0NAot LS0gYS9kb2xwaGluL3NyYy9kb2xwaGlubWFpbndpbmRvdy5jcHAKKysrIGIvZG9scGhpbi9zcmMv ZG9scGhpbm1haW53aW5kb3cuY3BwCkBAIC04NSw2ICs4NSw4IEBACiAjaW5jbHVkZSA8UUNsaXBi b2FyZD4KICNpbmNsdWRlIDxRVG9vbEJ1dHRvbj4KICNpbmNsdWRlIDxRU3BsaXR0ZXI+CisjaW5j bHVkZSA8UVByb2Nlc3M+CisjaW5jbHVkZSA8UUFwcGxpY2F0aW9uPgogCiBuYW1lc3BhY2Ugewog ICAgIC8vIFVzZWQgZm9yIEdlbmVyYWxTZXR0aW5nczo6dmVyc2lvbigpIHRvIGRldGVybWluZSB3 aGV0aGVyCkBAIC0xMTgsNyArMTIwLDggQEAgRG9scGhpbk1haW5XaW5kb3c6OkRvbHBoaW5NYWlu V2luZG93KCkgOgogICAgIG1fc2V0dGluZ3NEaWFsb2coKSwKICAgICBtX2NvbnRyb2xCdXR0b24o MCksCiAgICAgbV91cGRhdGVUb29sQmFyVGltZXIoMCksCi0gICAgbV9sYXN0SGFuZGxlVXJsU3Rh dEpvYigwKQorICAgIG1fbGFzdEhhbmRsZVVybFN0YXRKb2IoMCksCisgICAgbV9pc0ZvY3VzT25U ZXJtaW5hbChmYWxzZSkKIHsKICAgICAvLyBXb3JrYXJvdW5kIGZvciBhIFgxMS1pc3N1ZSBpbiBj b21iaW5hdGlvbiB3aXRoIEtNb2RpZmllckluZm8KICAgICAvLyAoc2VlIERvbHBoaW5Db250ZXh0 TWVudTo6aW5pdGlhbGl6ZU1vZGlmaWVyS2V5SW5mbygpIGZvcgpAQCAtMjM2LDYgKzIzOSw4IEBA IERvbHBoaW5NYWluV2luZG93OjpEb2xwaGluTWFpbldpbmRvdygpIDoKICAgICBpZiAoIXNob3dN ZW51KSB7CiAgICAgICAgIGNyZWF0ZUNvbnRyb2xCdXR0b24oKTsKICAgICB9CisKKyAgICBjb25u ZWN0IChxQXBwLCBTSUdOQUwoZm9jdXNDaGFuZ2VkKFFXaWRnZXQqLFFXaWRnZXQqKSksIHRoaXMs IFNMT1QoZm9jdXNDaGFuZ2VkKFFXaWRnZXQqLFFXaWRnZXQqKSkpOwogfQogCiBEb2xwaGluTWFp bldpbmRvdzo6fkRvbHBoaW5NYWluV2luZG93KCkKQEAgLTQwMCw2ICs0MDUsMTUgQEAgdm9pZCBE b2xwaGluTWFpbldpbmRvdzo6c2xvdFNlbGVjdGlvbkNoYW5nZWQoY29uc3QgS0ZpbGVJdGVtTGlz dCYgc2VsZWN0aW9uKQogICAgICAgICBjb21wYXJlRmlsZXNBY3Rpb24tPnNldEVuYWJsZWQoZmFs c2UpOwogICAgIH0KIAorCisgICAgLy9LTG9vaworICAgIFFBY3Rpb24qIG9wZW5JbktMb29rID0g YWN0aW9uQ29sbGVjdGlvbigpLT5hY3Rpb24oIm9wZW5faW5fS0xvb2siKTsKKyAgICBpZiAoKHNl bGVjdGVkVXJsc0NvdW50ID4gMCkgJiYgKCFtX2lzRm9jdXNPblRlcm1pbmFsKSl7CisgICAgICAg IG9wZW5JbktMb29rLT5zZXRFbmFibGVkKHRydWUpOworICAgIH0gZWxzZSB7CisgICAgICAgIG9w ZW5JbktMb29rLT5zZXRFbmFibGVkKGZhbHNlKTsKKyAgICB9CisKICAgICBlbWl0IHNlbGVjdGlv bkNoYW5nZWQoc2VsZWN0aW9uKTsKIH0KIApAQCAtMTY1MSw2ICsxNjY1LDE0IEBAIHZvaWQgRG9s cGhpbk1haW5XaW5kb3c6OnNldHVwQWN0aW9ucygpCiAgICAgb3BlbkluTmV3V2luZG93LT5zZXRU ZXh0KGkxOG5jKCJAYWN0aW9uOmlubWVudSIsICJPcGVuIGluIE5ldyBXaW5kb3ciKSk7CiAgICAg b3BlbkluTmV3V2luZG93LT5zZXRJY29uKEtJY29uKCJ3aW5kb3ctbmV3IikpOwogICAgIGNvbm5l Y3Qob3BlbkluTmV3V2luZG93LCBTSUdOQUwodHJpZ2dlcmVkKCkpLCB0aGlzLCBTTE9UKG9wZW5J bk5ld1dpbmRvdygpKSk7CisKKyAgICAvLyBLTG9vaworICAgIEtBY3Rpb24qIG9wZW5JbktMb29r ID0gYWN0aW9uQ29sbGVjdGlvbigpLT5hZGRBY3Rpb24oIm9wZW5faW5fS0xvb2siKTsKKyAgICBv cGVuSW5LTG9vay0+c2V0VGV4dChpMThuYygiQGFjdGlvbjppbm1lbnUiLCAiUHJldmlldyIpKTsK KyAgICBvcGVuSW5LTG9vay0+c2V0U2hvcnRjdXQoUXQ6OktleV9TcGFjZSk7CisgICAgb3Blbklu S0xvb2stPnNldEljb24oS0ljb24oImtsb29rIikpOworICAgIG9wZW5JbktMb29rLT5zZXRFbmFi bGVkKGZhbHNlKTsKKyAgICBjb25uZWN0KG9wZW5JbktMb29rLCBTSUdOQUwodHJpZ2dlcmVkKCkp LCB0aGlzLCBTTE9UKHByZXZpZXdJdGVtKCkpKTsKIH0KIAogdm9pZCBEb2xwaGluTWFpbldpbmRv dzo6c2V0dXBEb2NrV2lkZ2V0cygpCkBAIC0yMTMwLDQgKzIxNTIsNDMgQEAgdm9pZCBEb2xwaGlu TWFpbldpbmRvdzo6VW5kb1VpSW50ZXJmYWNlOjpqb2JFcnJvcihLSU86OkpvYiogam9iKQogICAg IH0KIH0KIAordm9pZCBEb2xwaGluTWFpbldpbmRvdzo6cHJldmlld0l0ZW0oKQoreworICAgIGNv bnN0IEtGaWxlSXRlbUxpc3QgbGlzdCA9IG1fYWN0aXZlVmlld0NvbnRhaW5lci0+dmlldygpLT5z ZWxlY3RlZEl0ZW1zKCk7CisgICAgUVN0cmluZ0xpc3QgdXJsTGlzdDsKKyAgICBmb3JlYWNoKEtG aWxlSXRlbSBpdGVtLCBsaXN0KQorICAgIHsKKyAgICAgICAgdXJsTGlzdC5hcHBlbmQoaXRlbS51 cmwoKS5wYXRoKCkpOworICAgIH0KKyAgICBpZiAoIWxpc3QuaXNFbXB0eSgpKQorICAgIHsKKyAg ICAgICAgUVByb2Nlc3MqIHByb2Nlc3MgPSBuZXcgUVByb2Nlc3MoKTsKKyAgICAgICAgY29ubmVj dChwcm9jZXNzLFNJR05BTChmaW5pc2hlZChpbnQpKSxwcm9jZXNzLFNMT1QoZGVsZXRlTGF0ZXIo KSkpOworICAgICAgICBwcm9jZXNzLT5zdGFydChRU3RyaW5nKCJrbG9vayIpLCB1cmxMaXN0KTsK KyAgICB9Cit9CisKK3ZvaWQgRG9scGhpbk1haW5XaW5kb3c6OmZvY3VzQ2hhbmdlZChRV2lkZ2V0 ICpvbGQsIFFXaWRnZXQgKm5vdykKK3sKKyNpZm5kZWYgUV9PU19XSU4KKyAgICBpZiAobm93KQor ICAgIHsKKyAgICAgICAgaWYgKFFTdHJpbmcobm93LT5tZXRhT2JqZWN0KCktPmNsYXNzTmFtZSgp KS5jb250YWlucygiS29uc29sZTo6VGVybWluYWxEaXNwbGF5IikpCisgICAgICAgIHsKKyAgICAg ICAgICAgIFFBY3Rpb24qIG9wZW5JbktMb29rID0gYWN0aW9uQ29sbGVjdGlvbigpLT5hY3Rpb24o Im9wZW5faW5fS0xvb2siKTsKKyAgICAgICAgICAgIG1faXNGb2N1c09uVGVybWluYWwgPSB0cnVl OworICAgICAgICAgICAgb3BlbkluS0xvb2stPnNldEVuYWJsZWQoZmFsc2UpOworICAgICAgICB9 CisgICAgfQorICAgIGlmIChvbGQpCisgICAgeworICAgICAgICBpZiAoUVN0cmluZyhvbGQtPm1l dGFPYmplY3QoKS0+Y2xhc3NOYW1lKCkpLmNvbnRhaW5zKCJLb25zb2xlOjpUZXJtaW5hbERpc3Bs YXkiKSkKKyAgICAgICAgeworICAgICAgICAgICAgUUFjdGlvbiogb3BlbkluS0xvb2sgPSBhY3Rp b25Db2xsZWN0aW9uKCktPmFjdGlvbigib3Blbl9pbl9LTG9vayIpOworICAgICAgICAgICAgbV9p c0ZvY3VzT25UZXJtaW5hbCA9IGZhbHNlOworICAgICAgICAgICAgb3BlbkluS0xvb2stPnNldEVu YWJsZWQodHJ1ZSk7CisgICAgICAgIH0KKyAgICB9CisjZW5kaWYKK30KICNpbmNsdWRlICJkb2xw aGlubWFpbndpbmRvdy5tb2MiCmRpZmYgLS1naXQgYS9kb2xwaGluL3NyYy9kb2xwaGlubWFpbndp bmRvdy5oIGIvZG9scGhpbi9zcmMvZG9scGhpbm1haW53aW5kb3cuaAppbmRleCBhYjc5ZmIwLi5m NjFmMTczIDEwMDY0NAotLS0gYS9kb2xwaGluL3NyYy9kb2xwaGlubWFpbndpbmRvdy5oCisrKyBi L2RvbHBoaW4vc3JjL2RvbHBoaW5tYWlud2luZG93LmgKQEAgLTM2LDYgKzM2LDcgQEAKIAogdHlw ZWRlZiBLSU86OkZpbGVVbmRvTWFuYWdlcjo6Q29tbWFuZFR5cGUgQ29tbWFuZFR5cGU7CiAKK2Ns YXNzIERvbHBoaW5Eb2NrV2lkZ2V0OwogY2xhc3MgRG9scGhpblZpZXdBY3Rpb25IYW5kbGVyOwog Y2xhc3MgRG9scGhpbkFwcGxpY2F0aW9uOwogY2xhc3MgRG9scGhpblNldHRpbmdzRGlhbG9nOwpA QCAtNTEsNiArNTIsNyBAQCBjbGFzcyBLVXJsOwogY2xhc3MgUVNwbGl0dGVyOwogY2xhc3MgUVRv b2xCdXR0b247CiBjbGFzcyBRVkJveExheW91dDsKK2NsYXNzIFBhbmVsOwogCiAvKioKICAqIEBz aG9ydCBNYWluIHdpbmRvdyBmb3IgRG9scGhpbi4KQEAgLTEwMiw2ICsxMDQsOCBAQCBwdWJsaWM6 CiAgICAgICovCiAgICAgS05ld0ZpbGVNZW51KiBuZXdGaWxlTWVudSgpIGNvbnN0OwogCisgICAg dm9pZCBmb2N1c0NoYW5nZWQoUVdpZGdldCAqb2xkLCBRV2lkZ2V0ICpub3cpOworCiBwdWJsaWMg c2xvdHM6CiAgICAgLyoqCiAgICAgICogUGFzdGVzIHRoZSBjbGlwYm9hcmQgZGF0YSBpbnRvIHRo ZSBjdXJyZW50bHkgc2VsZWN0ZWQgZm9sZGVyCkBAIC0zNjcsNiArMzcxLDEyIEBAIHByaXZhdGUg c2xvdHM6CiAgICAgdm9pZCBvcGVuSW5OZXdUYWIoKTsKIAogICAgIC8qKgorICAgICAqIE9wZW5z IHRoZSBzZWxlY3RlZCBmaWxlcyBpbiBLTG9vay4KKyAgICAgKi8KKworICAgIHZvaWQgcHJldmll d0l0ZW0oKTsKKworICAgIC8qKgogICAgICAqIE9wZW5zIHRoZSBzZWxlY3RlZCBmb2xkZXIgaW4g YSBuZXcgd2luZG93LgogICAgICAqLwogICAgIHZvaWQgb3BlbkluTmV3V2luZG93KCk7CkBAIC01 ODgsNiArNTk4LDcgQEAgcHJpdmF0ZToKICAgICBRVGltZXIqIG1fdXBkYXRlVG9vbEJhclRpbWVy OwogCiAgICAgS0lPOjpKb2IqIG1fbGFzdEhhbmRsZVVybFN0YXRKb2I7CisgICAgYm9vbCBtX2lz Rm9jdXNPblRlcm1pbmFsOwogfTsKIAogaW5saW5lIERvbHBoaW5WaWV3Q29udGFpbmVyKiBEb2xw aGluTWFpbldpbmRvdzo6YWN0aXZlVmlld0NvbnRhaW5lcigpIGNvbnN0Cg== --047d7b86f5a221b50d04c8529342 Content-Type: application/octet-stream; name="dolphin-overlay-icon-patch.diff" Content-Disposition: attachment; filename="dolphin-overlay-icon-patch.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_h6eyyvbv1 ZGlmZiAtLWdpdCBhL2RvbHBoaW4vc3JjL0NNYWtlTGlzdHMudHh0IGIvZG9scGhpbi9zcmMvQ01h a2VMaXN0cy50eHQKaW5kZXggMWExMjFmOC4uNjFiYTBiNiAxMDA2NDQKLS0tIGEvZG9scGhpbi9z cmMvQ01ha2VMaXN0cy50eHQKKysrIGIvZG9scGhpbi9zcmMvQ01ha2VMaXN0cy50eHQKQEAgLTI3 LDYgKzI3LDcgQEAgc2V0KGRvbHBoaW5wcml2YXRlX0xJQl9TUkNTCiAgICAga2l0ZW12aWV3cy9r aXRlbWxpc3Rncm91cGhlYWRlci5jcHAKICAgICBraXRlbXZpZXdzL2tpdGVtbGlzdGhlYWRlci5j cHAKICAgICBraXRlbXZpZXdzL2tpdGVtbGlzdHNlbGVjdGlvbm1hbmFnZXIuY3BwCisgICAga2l0 ZW12aWV3cy9raXRlbWxpc3RrbG9va3RvZ2dsZS5jcHAKICAgICBraXRlbXZpZXdzL2tpdGVtbGlz dHN0eWxlb3B0aW9uLmNwcAogICAgIGtpdGVtdmlld3Mva2l0ZW1saXN0dmlldy5jcHAKICAgICBr aXRlbXZpZXdzL2tpdGVtbGlzdHdpZGdldC5jcHAKZGlmZiAtLWdpdCBhL2RvbHBoaW4vc3JjL2Rv bHBoaW5tYWlud2luZG93LmNwcCBiL2RvbHBoaW4vc3JjL2RvbHBoaW5tYWlud2luZG93LmNwcApp bmRleCA2M2Q3ZDY4Li45OTIxZDlmIDEwMDY0NAotLS0gYS9kb2xwaGluL3NyYy9kb2xwaGlubWFp bndpbmRvdy5jcHAKKysrIGIvZG9scGhpbi9zcmMvZG9scGhpbm1haW53aW5kb3cuY3BwCkBAIC0y MDA4LDYgKzIwMDgsOSBAQCB2b2lkIERvbHBoaW5NYWluV2luZG93Ojpjb25uZWN0Vmlld1NpZ25h bHMoRG9scGhpblZpZXdDb250YWluZXIqIGNvbnRhaW5lcikKICAgICAgICAgICAgIHRoaXMsIFNM T1QoZ29CYWNrKCkpKTsKICAgICBjb25uZWN0KHZpZXcsIFNJR05BTChnb0ZvcndhcmRSZXF1ZXN0 ZWQoKSksCiAgICAgICAgICAgICB0aGlzLCBTTE9UKGdvRm9yd2FyZCgpKSk7CisgICAgY29ubmVj dCh2aWV3LCBTSUdOQUwoa2xvb2tUcmlnZ2VyKCkpLAorICAgICAgICAgICAgdGhpcywgU0xPVChw cmV2aWV3SXRlbSgpKSk7CisKIAogICAgIGNvbnN0IEtVcmxOYXZpZ2F0b3IqIG5hdmlnYXRvciA9 IGNvbnRhaW5lci0+dXJsTmF2aWdhdG9yKCk7CiAgICAgY29ubmVjdChuYXZpZ2F0b3IsIFNJR05B TCh1cmxDaGFuZ2VkKEtVcmwpKSwKQEAgLTIxNTQsMTIgKzIxNTcsMjAgQEAgdm9pZCBEb2xwaGlu TWFpbldpbmRvdzo6VW5kb1VpSW50ZXJmYWNlOjpqb2JFcnJvcihLSU86OkpvYiogam9iKQogCiB2 b2lkIERvbHBoaW5NYWluV2luZG93OjpwcmV2aWV3SXRlbSgpCiB7Ci0gICAgY29uc3QgS0ZpbGVJ dGVtTGlzdCBsaXN0ID0gbV9hY3RpdmVWaWV3Q29udGFpbmVyLT52aWV3KCktPnNlbGVjdGVkSXRl bXMoKTsKKyAgICBLRmlsZUl0ZW1MaXN0IGxpc3Q7CisgICAgaW50IGluZGV4ID0gMDsKKyAgICBp ZiAoIG1fYWN0aXZlVmlld0NvbnRhaW5lci0+dmlldygpLT5zZWxlY3RlZEl0ZW1zQ291bnQoKSA+ IDEpIHsKKyAgICAgICAgbGlzdCA9IG1fYWN0aXZlVmlld0NvbnRhaW5lci0+dmlldygpLT5zZWxl Y3RlZEl0ZW1zKCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgbGlzdCA9IG1fYWN0aXZlVmlld0Nv bnRhaW5lci0+dmlldygpLT5zb3J0ZWRJdGVtcygpOworICAgICAgICBpbmRleCA9IGxpc3QuaW5k ZXhPZiggbV9hY3RpdmVWaWV3Q29udGFpbmVyLT52aWV3KCktPnNlbGVjdGVkSXRlbXMoKS5hdCgw KSk7CisgICAgfQogICAgIFFTdHJpbmdMaXN0IHVybExpc3Q7CiAgICAgZm9yZWFjaChLRmlsZUl0 ZW0gaXRlbSwgbGlzdCkKICAgICB7CiAgICAgICAgIHVybExpc3QuYXBwZW5kKGl0ZW0udXJsKCku cGF0aCgpKTsKICAgICB9CisgICAgdXJsTGlzdC5hcHBlbmQoIi1pICIgKyBRU3RyaW5nOjpudW1i ZXIoaW5kZXggLCAxMCkpOwogICAgIGlmICghbGlzdC5pc0VtcHR5KCkpCiAgICAgewogICAgICAg ICBRUHJvY2VzcyogcHJvY2VzcyA9IG5ldyBRUHJvY2VzcygpOwpkaWZmIC0tZ2l0IGEvZG9scGhp bi9zcmMva2l0ZW12aWV3cy9rZmlsZWl0ZW1saXN0d2lkZ2V0LmNwcCBiL2RvbHBoaW4vc3JjL2tp dGVtdmlld3Mva2ZpbGVpdGVtbGlzdHdpZGdldC5jcHAKaW5kZXggM2E3NzI0MS4uYjgxNmZiOCAx MDA2NDQKLS0tIGEvZG9scGhpbi9zcmMva2l0ZW12aWV3cy9rZmlsZWl0ZW1saXN0d2lkZ2V0LmNw cAorKysgYi9kb2xwaGluL3NyYy9raXRlbXZpZXdzL2tmaWxlaXRlbWxpc3R3aWRnZXQuY3BwCkBA IC03MCw2ICs3MCw0NCBAQCBRU3RyaW5nIEtGaWxlSXRlbUxpc3RXaWRnZXRJbmZvcm1hbnQ6OnJv bGVUZXh0KGNvbnN0IFFCeXRlQXJyYXkmIHJvbGUsCiAgICAgcmV0dXJuIHRleHQ7CiB9CiAKK1FS ZWN0RiBLRmlsZUl0ZW1MaXN0V2lkZ2V0OjprbG9va1RvZ2dsZVJlY3QoKSBjb25zdAoreworICAg IGNvbnN0X2Nhc3Q8S0ZpbGVJdGVtTGlzdFdpZGdldCAqPih0aGlzKS0+dHJpZ2dlckNhY2hlUmVm cmVzaGluZygpOworCisgICAgY29uc3QgaW50IGljb25IZWlnaHQgPSBzdHlsZU9wdGlvbigpLmlj b25TaXplOworCisgICAgaW50IHRvZ2dsZVNpemUgPSBLSWNvbkxvYWRlcjo6U2l6ZVNtYWxsOwor ICAgIGlmIChpY29uSGVpZ2h0ID49IEtJY29uTG9hZGVyOjpTaXplRW5vcm1vdXMpIHsKKyAgICAg ICAgdG9nZ2xlU2l6ZSA9IEtJY29uTG9hZGVyOjpTaXplTWVkaXVtOworICAgIH0gZWxzZSBpZiAo aWNvbkhlaWdodCA+PSBLSWNvbkxvYWRlcjo6U2l6ZUxhcmdlKSB7CisgICAgICAgIHRvZ2dsZVNp emUgPSBLSWNvbkxvYWRlcjo6U2l6ZVNtYWxsTWVkaXVtOworICAgIH0KKworICAgIFFQb2ludEYg cG9zID0gUVBvaW50RihpY29uUmVjdCgpLnRvcFJpZ2h0KCkucngoKSAtIHRvZ2dsZVNpemUsIGlj b25SZWN0KCkudG9wUmlnaHQoKS5yeSgpKTsKKworICAgIC8vIElmIHRoZSBzZWxlY3Rpb24gdG9n Z2xlIGhhcyBhIHZlcnkgc21hbGwgZGlzdGFuY2UgdG8gdGhlCisgICAgLy8gd2lkZ2V0IGJvcmRl cnMsIHRoZSBzaXplIG9mIHRoZSBzZWxlY3Rpb24gdG9nZ2xlIHdpbGwgZ2V0CisgICAgLy8gaW5j cmVhc2VkIHRvIHByZXZlbnQgYW4gYWNjaWRlbnRhbCBjbGlja2luZyBvZiB0aGUgaXRlbQorICAg IC8vIHdoZW4gdHJ5aW5nIHRvIGhpdCB0aGUgdG9nZ2xlLgorCisgICAgY29uc3QgaW50IHdpZGdl dEhlaWdodCA9IHNpemUoKS5oZWlnaHQoKTsKKyAgICBjb25zdCBpbnQgd2lkZ2V0V2lkdGggPSBz aXplKCkud2lkdGgoKTsKKyAgICBjb25zdCBpbnQgbWluTWFyZ2luID0gMjsKKworICAgIGlmICh0 b2dnbGVTaXplICsgbWluTWFyZ2luICogMiA+PSB3aWRnZXRIZWlnaHQpIHsKKyAgICAgICAgcG9z LnJ4KCkgLT0gKHdpZGdldEhlaWdodCAtIHRvZ2dsZVNpemUpIC8gMjsKKyAgICAgICAgdG9nZ2xl U2l6ZSA9IHdpZGdldEhlaWdodDsKKyAgICAgICAgcG9zLnNldFkoMCk7CisgICAgfQorICAgIGlm ICh0b2dnbGVTaXplICsgbWluTWFyZ2luICogMiA+PSB3aWRnZXRXaWR0aCkgeworICAgICAgICBw b3MucnkoKSAtPSAod2lkZ2V0V2lkdGggLSB0b2dnbGVTaXplKSAvIDI7CisgICAgICAgIHRvZ2ds ZVNpemUgPSB3aWRnZXRXaWR0aDsKKyAgICAgICAgcG9zLnNldFgoMCk7CisgICAgfQorCisgICAg cmV0dXJuIFFSZWN0Rihwb3MsIFFTaXplRih0b2dnbGVTaXplLCB0b2dnbGVTaXplKSk7Cit9CisK IEtGaWxlSXRlbUxpc3RXaWRnZXQ6OktGaWxlSXRlbUxpc3RXaWRnZXQoS0l0ZW1MaXN0V2lkZ2V0 SW5mb3JtYW50KiBpbmZvcm1hbnQsIFFHcmFwaGljc0l0ZW0qIHBhcmVudCkgOgogICAgIEtTdGFu ZGFyZEl0ZW1MaXN0V2lkZ2V0KGluZm9ybWFudCwgcGFyZW50KQogewpkaWZmIC0tZ2l0IGEvZG9s cGhpbi9zcmMva2l0ZW12aWV3cy9rZmlsZWl0ZW1saXN0d2lkZ2V0LmggYi9kb2xwaGluL3NyYy9r aXRlbXZpZXdzL2tmaWxlaXRlbWxpc3R3aWRnZXQuaAppbmRleCAyNGM2Nzc4Li5hZWE1NjM2IDEw MDY0NAotLS0gYS9kb2xwaGluL3NyYy9raXRlbXZpZXdzL2tmaWxlaXRlbWxpc3R3aWRnZXQuaAor KysgYi9kb2xwaGluL3NyYy9raXRlbXZpZXdzL2tmaWxlaXRlbWxpc3R3aWRnZXQuaApAQCAtNDMs NiArNDMsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB+S0ZpbGVJdGVtTGlzdFdpZGdldCgpOwog CiAgICAgc3RhdGljIEtJdGVtTGlzdFdpZGdldEluZm9ybWFudCogY3JlYXRlSW5mb3JtYW50KCk7 CisgICAgdmlydHVhbCBRUmVjdEYga2xvb2tUb2dnbGVSZWN0KCkgY29uc3Q7CiAKIHByb3RlY3Rl ZDoKICAgICB2aXJ0dWFsIGJvb2wgaXNSb2xlUmlnaHRBbGlnbmVkKGNvbnN0IFFCeXRlQXJyYXkm IHJvbGUpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvZG9scGhpbi9zcmMva2l0ZW12aWV3cy9raXRlbWxp c3Rjb250cm9sbGVyLmNwcCBiL2RvbHBoaW4vc3JjL2tpdGVtdmlld3Mva2l0ZW1saXN0Y29udHJv bGxlci5jcHAKaW5kZXggODhmNWQ5Zi4uYzNjMWQzZCAxMDA2NDQKLS0tIGEvZG9scGhpbi9zcmMv a2l0ZW12aWV3cy9raXRlbWxpc3Rjb250cm9sbGVyLmNwcAorKysgYi9kb2xwaGluL3NyYy9raXRl bXZpZXdzL2tpdGVtbGlzdGNvbnRyb2xsZXIuY3BwCkBAIC01MTAsNiArNTEwLDEzIEBAIGJvb2wg S0l0ZW1MaXN0Q29udHJvbGxlcjo6bW91c2VQcmVzc0V2ZW50KFFHcmFwaGljc1NjZW5lTW91c2VF dmVudCogZXZlbnQsIGNvbnN0CiAgICAgICAgIG1fc2VsZWN0aW9uTWFuYWdlci0+YmVnaW5BbmNo b3JlZFNlbGVjdGlvbihtX3ByZXNzZWRJbmRleCk7CiAgICAgICAgIHJldHVybiB0cnVlOwogICAg IH0KKyAgICBpZiAobV92aWV3LT5pc0Fib3ZlS2xvb2tUb2dnbGUobV9wcmVzc2VkSW5kZXgsIG1f cHJlc3NlZE1vdXNlUG9zKSl7CisgICAgICAgIG1fc2VsZWN0aW9uTWFuYWdlci0+c2V0U2VsZWN0 ZWQobV9wcmVzc2VkSW5kZXgsIDEsIEtJdGVtTGlzdFNlbGVjdGlvbk1hbmFnZXI6OlNlbGVjdCk7 CisgICAgICAgIG1fc2VsZWN0aW9uTWFuYWdlci0+c2V0Q3VycmVudEl0ZW0obV9wcmVzc2VkSW5k ZXgpOworICAgICAgICBtX3NlbGVjdGlvbk1hbmFnZXItPmJlZ2luQW5jaG9yZWRTZWxlY3Rpb24o bV9wcmVzc2VkSW5kZXgpOworICAgICAgICBlbWl0IGtsb29rVHJpZ2dlcigpOworICAgICAgICBy ZXR1cm4gdHJ1ZTsKKyAgICB9CiAKICAgICBjb25zdCBib29sIHNoaWZ0UHJlc3NlZCA9IGV2ZW50 LT5tb2RpZmllcnMoKSAmIFF0OjpTaGlmdE1vZGlmaWVyOwogICAgIGNvbnN0IGJvb2wgY29udHJv bFByZXNzZWQgPSBldmVudC0+bW9kaWZpZXJzKCkgJiBRdDo6Q29udHJvbE1vZGlmaWVyOwpkaWZm IC0tZ2l0IGEvZG9scGhpbi9zcmMva2l0ZW12aWV3cy9raXRlbWxpc3Rjb250cm9sbGVyLmggYi9k b2xwaGluL3NyYy9raXRlbXZpZXdzL2tpdGVtbGlzdGNvbnRyb2xsZXIuaAppbmRleCBhODgxNTI2 Li4wZDRiZTJmIDEwMDY0NAotLS0gYS9kb2xwaGluL3NyYy9raXRlbXZpZXdzL2tpdGVtbGlzdGNv bnRyb2xsZXIuaAorKysgYi9kb2xwaGluL3NyYy9raXRlbXZpZXdzL2tpdGVtbGlzdGNvbnRyb2xs ZXIuaApAQCAtMjE2LDYgKzIxNiw4IEBAIHNpZ25hbHM6CiAgICAgdm9pZCBtb2RlbENoYW5nZWQo S0l0ZW1Nb2RlbEJhc2UqIGN1cnJlbnQsIEtJdGVtTW9kZWxCYXNlKiBwcmV2aW91cyk7CiAgICAg dm9pZCB2aWV3Q2hhbmdlZChLSXRlbUxpc3RWaWV3KiBjdXJyZW50LCBLSXRlbUxpc3RWaWV3KiBw cmV2aW91cyk7CiAKKyAgICB2b2lkIGtsb29rVHJpZ2dlcigpOworCiBwcml2YXRlIHNsb3RzOgog ICAgIHZvaWQgc2xvdFZpZXdTY3JvbGxPZmZzZXRDaGFuZ2VkKHFyZWFsIGN1cnJlbnQsIHFyZWFs IHByZXZpb3VzKTsKIApkaWZmIC0tZ2l0IGEvZG9scGhpbi9zcmMva2l0ZW12aWV3cy9raXRlbWxp c3R2aWV3LmNwcCBiL2RvbHBoaW4vc3JjL2tpdGVtdmlld3Mva2l0ZW1saXN0dmlldy5jcHAKaW5k ZXggNzJiM2ZkOC4uMTUxOTkyMyAxMDA2NDQKLS0tIGEvZG9scGhpbi9zcmMva2l0ZW12aWV3cy9r aXRlbWxpc3R2aWV3LmNwcAorKysgYi9kb2xwaGluL3NyYy9raXRlbXZpZXdzL2tpdGVtbGlzdHZp ZXcuY3BwCkBAIC01NSw2ICs1NSw3IEBAIG5hbWVzcGFjZSB7CiBLSXRlbUxpc3RWaWV3OjpLSXRl bUxpc3RWaWV3KFFHcmFwaGljc1dpZGdldCogcGFyZW50KSA6CiAgICAgUUdyYXBoaWNzV2lkZ2V0 KHBhcmVudCksCiAgICAgbV9lbmFibGVkU2VsZWN0aW9uVG9nZ2xlcyhmYWxzZSksCisgICAgbV9l bmFibGVkS2xvb2tUb2dnbGVzKGZhbHNlKSwKICAgICBtX2dyb3VwZWQoZmFsc2UpLAogICAgIG1f c3VwcG9ydHNJdGVtRXhwYW5kaW5nKGZhbHNlKSwKICAgICBtX2VkaXRpbmdSb2xlKGZhbHNlKSwK QEAgLTI2OSw2ICsyNzAsMjUgQEAgYm9vbCBLSXRlbUxpc3RWaWV3OjplbmFibGVkU2VsZWN0aW9u VG9nZ2xlcygpIGNvbnN0CiAgICAgcmV0dXJuIG1fZW5hYmxlZFNlbGVjdGlvblRvZ2dsZXM7CiB9 CiAKK3ZvaWQgS0l0ZW1MaXN0Vmlldzo6c2V0RW5hYmxlZEtsb29rVG9nZ2xlcyhib29sIGVuYWJs ZWQpCit7CisgICAgaWYgKG1fZW5hYmxlZEtsb29rVG9nZ2xlcyAhPSBlbmFibGVkKSB7CisgICAg ICAgIG1fZW5hYmxlZEtsb29rVG9nZ2xlcyA9IGVuYWJsZWQ7CisKKyAgICAgICAgUUhhc2hJdGVy YXRvcjxpbnQsIEtJdGVtTGlzdFdpZGdldCo+IGl0KG1fdmlzaWJsZUl0ZW1zKTsKKyAgICAgICAg d2hpbGUgKGl0Lmhhc05leHQoKSkgeworICAgICAgICAgICAgaXQubmV4dCgpOworICAgICAgICAg ICAgaXQudmFsdWUoKS0+c2V0RW5hYmxlZEtsb29rVG9nZ2xlKGVuYWJsZWQpOworICAgICAgICB9 CisgICAgfQorfQorCitib29sIEtJdGVtTGlzdFZpZXc6OmVuYWJsZWRLbG9va1RvZ2dsZXMoKSBj b25zdAoreworICAgIHJldHVybiBtX2VuYWJsZWRLbG9va1RvZ2dsZXM7Cit9CisKKwogS0l0ZW1M aXN0Q29udHJvbGxlciogS0l0ZW1MaXN0Vmlldzo6Y29udHJvbGxlcigpIGNvbnN0CiB7CiAgICAg cmV0dXJuIG1fY29udHJvbGxlcjsKQEAgLTQxMSw2ICs0MzEsMjUgQEAgYm9vbCBLSXRlbUxpc3RW aWV3Ojppc0Fib3ZlRXhwYW5zaW9uVG9nZ2xlKGludCBpbmRleCwgY29uc3QgUVBvaW50RiYgcG9z KSBjb25zdAogICAgIHJldHVybiBmYWxzZTsKIH0KIAorYm9vbCBLSXRlbUxpc3RWaWV3Ojppc0Fi b3ZlS2xvb2tUb2dnbGUoaW50IGluZGV4LCBjb25zdCBRUG9pbnRGJiBwb3MpIGNvbnN0Cit7CisK KyAgICBpZiAoIW1fZW5hYmxlZEtsb29rVG9nZ2xlcykgeworICAgICAgICByZXR1cm4gZmFsc2U7 CisgICAgfQorCisgICAgY29uc3QgS0l0ZW1MaXN0V2lkZ2V0KiB3aWRnZXQgPSBtX3Zpc2libGVJ dGVtcy52YWx1ZShpbmRleCk7CisgICAgaWYgKHdpZGdldCkgeworICAgICAgICBjb25zdCBRUmVj dEYgc2VsZWN0aW9uVG9nZ2xlUmVjdCA9IHdpZGdldC0+a2xvb2tUb2dnbGVSZWN0KCk7CisgICAg ICAgIGlmICghc2VsZWN0aW9uVG9nZ2xlUmVjdC5pc0VtcHR5KCkpIHsKKyAgICAgICAgICAgIGNv bnN0IFFQb2ludEYgbWFwcGVkUG9zID0gd2lkZ2V0LT5tYXBGcm9tSXRlbSh0aGlzLCBwb3MpOwor ICAgICAgICAgICAgcmV0dXJuIHNlbGVjdGlvblRvZ2dsZVJlY3QuY29udGFpbnMobWFwcGVkUG9z KTsKKyAgICAgICAgfQorICAgIH0KKyAgICByZXR1cm4gZmFsc2U7Cit9CisKKwogaW50IEtJdGVt TGlzdFZpZXc6OmZpcnN0VmlzaWJsZUluZGV4KCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9sYXlv dXRlci0+Zmlyc3RWaXNpYmxlSW5kZXgoKTsKQEAgLTE4ODAsNiArMTkxOSw3IEBAIHZvaWQgS0l0 ZW1MaXN0Vmlldzo6dXBkYXRlV2lkZ2V0UHJvcGVydGllcyhLSXRlbUxpc3RXaWRnZXQqIHdpZGdl dCwgaW50IGluZGV4KQogICAgIHdpZGdldC0+c2V0U2VsZWN0ZWQoc2VsZWN0aW9uTWFuYWdlci0+ aXNTZWxlY3RlZChpbmRleCkpOwogICAgIHdpZGdldC0+c2V0SG92ZXJlZChmYWxzZSk7CiAgICAg d2lkZ2V0LT5zZXRFbmFibGVkU2VsZWN0aW9uVG9nZ2xlKGVuYWJsZWRTZWxlY3Rpb25Ub2dnbGVz KCkpOworICAgIHdpZGdldC0+c2V0RW5hYmxlZEtsb29rVG9nZ2xlKGVuYWJsZWRLbG9va1RvZ2ds ZXMoKSk7CiAgICAgd2lkZ2V0LT5zZXRJbmRleChpbmRleCk7CiAgICAgd2lkZ2V0LT5zZXREYXRh KG1fbW9kZWwtPmRhdGEoaW5kZXgpKTsKICAgICB3aWRnZXQtPnNldFNpYmxpbmdzSW5mb3JtYXRp b24oUUJpdEFycmF5KCkpOwpkaWZmIC0tZ2l0IGEvZG9scGhpbi9zcmMva2l0ZW12aWV3cy9raXRl bWxpc3R2aWV3LmggYi9kb2xwaGluL3NyYy9raXRlbXZpZXdzL2tpdGVtbGlzdHZpZXcuaAppbmRl eCA1NzIzYjlhLi5iOGM5NTZlIDEwMDY0NAotLS0gYS9kb2xwaGluL3NyYy9raXRlbXZpZXdzL2tp dGVtbGlzdHZpZXcuaAorKysgYi9kb2xwaGluL3NyYy9raXRlbXZpZXdzL2tpdGVtbGlzdHZpZXcu aApAQCAtMTEwLDYgKzExMCw5IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldEVuYWJsZWRTZWxlY3Rp b25Ub2dnbGVzKGJvb2wgZW5hYmxlZCk7CiAgICAgYm9vbCBlbmFibGVkU2VsZWN0aW9uVG9nZ2xl cygpIGNvbnN0OwogCisgICAgdm9pZCBzZXRFbmFibGVkS2xvb2tUb2dnbGVzKGJvb2wgZW5hYmxl ZCk7CisgICAgYm9vbCBlbmFibGVkS2xvb2tUb2dnbGVzKCkgY29uc3Q7CisKICAgICAvKioKICAg ICAgKiBAcmV0dXJuIENvbnRyb2xsZXIgb2YgdGhlIGl0ZW0tbGlzdC4gVGhlIGNvbnRyb2xsZXIg Z2V0cwogICAgICAqICAgICAgICAgaW5pdGlhbGl6ZWQgYnkgS0l0ZW1MaXN0Q29udHJvbGxlcjo6 c2V0VmlldygpIGFuZCB3aWxsCkBAIC0xNzMsNiArMTc2LDcgQEAgcHVibGljOgogICAgIGJvb2wg aXNBYm92ZVNlbGVjdGlvblRvZ2dsZShpbnQgaW5kZXgsIGNvbnN0IFFQb2ludEYmIHBvcykgY29u c3Q7CiAgICAgYm9vbCBpc0Fib3ZlRXhwYW5zaW9uVG9nZ2xlKGludCBpbmRleCwgY29uc3QgUVBv aW50RiYgcG9zKSBjb25zdDsKIAorICAgIGJvb2wgaXNBYm92ZUtsb29rVG9nZ2xlKGludCBpbmRl eCwgY29uc3QgUVBvaW50RiYgcG9zKSBjb25zdDsKICAgICAvKioKICAgICAgKiBAcmV0dXJuIElu ZGV4IG9mIHRoZSBmaXJzdCBpdGVtIHRoYXQgaXMgYXQgbGVhc3QgcGFydGx5IHZpc2libGUuCiAg ICAgICogICAgICAgICAtMSBpcyByZXR1cm5lZCBpZiB0aGUgbW9kZWwgY29udGFpbnMgbm8gaXRl bXMuCkBAIC02ODMsNiArNjg3LDcgQEAgcHJpdmF0ZToKIAogcHJpdmF0ZToKICAgICBib29sIG1f ZW5hYmxlZFNlbGVjdGlvblRvZ2dsZXM7CisgICAgYm9vbCBtX2VuYWJsZWRLbG9va1RvZ2dsZXM7 CiAgICAgYm9vbCBtX2dyb3VwZWQ7CiAgICAgYm9vbCBtX3N1cHBvcnRzSXRlbUV4cGFuZGluZzsK ICAgICBib29sIG1fZWRpdGluZ1JvbGU7CmRpZmYgLS1naXQgYS9kb2xwaGluL3NyYy9raXRlbXZp ZXdzL2tpdGVtbGlzdHdpZGdldC5jcHAgYi9kb2xwaGluL3NyYy9raXRlbXZpZXdzL2tpdGVtbGlz dHdpZGdldC5jcHAKaW5kZXggNmE3MTExYS4uZDRmNzBlMSAxMDA2NDQKLS0tIGEvZG9scGhpbi9z cmMva2l0ZW12aWV3cy9raXRlbWxpc3R3aWRnZXQuY3BwCisrKyBiL2RvbHBoaW4vc3JjL2tpdGVt dmlld3Mva2l0ZW1saXN0d2lkZ2V0LmNwcApAQCAtMjIsNiArMjIsNyBAQAogCiAjaW5jbHVkZSAi a2l0ZW1saXN0d2lkZ2V0LmgiCiAKKyNpbmNsdWRlICJraXRlbWxpc3RrbG9va3RvZ2dsZV9wLmgi CiAjaW5jbHVkZSAia2l0ZW1saXN0dmlldy5oIgogI2luY2x1ZGUgImtpdGVtbW9kZWxiYXNlLmgi CiAKQEAgLTUyLDYgKzUzLDcgQEAgS0l0ZW1MaXN0V2lkZ2V0OjpLSXRlbUxpc3RXaWRnZXQoS0l0 ZW1MaXN0V2lkZ2V0SW5mb3JtYW50KiBpbmZvcm1hbnQsIFFHcmFwaGljc0kKICAgICBtX2hvdmVy ZWQoZmFsc2UpLAogICAgIG1fYWx0ZXJuYXRlQmFja2dyb3VuZChmYWxzZSksCiAgICAgbV9lbmFi bGVkU2VsZWN0aW9uVG9nZ2xlKGZhbHNlKSwKKyAgICBtX2VuYWJsZWRLbG9va1RvZ2dsZShmYWxz ZSksCiAgICAgbV9kYXRhKCksCiAgICAgbV92aXNpYmxlUm9sZXMoKSwKICAgICBtX2NvbHVtbldp ZHRocygpLApAQCAtNjEsNyArNjMsOCBAQCBLSXRlbUxpc3RXaWRnZXQ6OktJdGVtTGlzdFdpZGdl dChLSXRlbUxpc3RXaWRnZXRJbmZvcm1hbnQqIGluZm9ybWFudCwgUUdyYXBoaWNzSQogICAgIG1f aG92ZXJDYWNoZSgwKSwKICAgICBtX2hvdmVyQW5pbWF0aW9uKDApLAogICAgIG1fc2VsZWN0aW9u VG9nZ2xlKDApLAotICAgIG1fZWRpdGVkUm9sZSgpCisgICAgbV9lZGl0ZWRSb2xlKCksCisgICAg bV9rbG9va1RvZ2dsZSgwKQogewogfQogCkBAIC03Niw2ICs3OSw5IEBAIHZvaWQgS0l0ZW1MaXN0 V2lkZ2V0OjpzZXRJbmRleChpbnQgaW5kZXgpCiAgICAgICAgIGRlbGV0ZSBtX3NlbGVjdGlvblRv Z2dsZTsKICAgICAgICAgbV9zZWxlY3Rpb25Ub2dnbGUgPSAwOwogCisgICAgICAgIGRlbGV0ZSBt X2tsb29rVG9nZ2xlOworICAgICAgICBtX2tsb29rVG9nZ2xlID0gMDsKKwogICAgICAgICBpZiAo bV9ob3ZlckFuaW1hdGlvbikgewogICAgICAgICAgICAgbV9ob3ZlckFuaW1hdGlvbi0+c3RvcCgp OwogICAgICAgICAgICAgbV9ob3Zlck9wYWNpdHkgPSAwOwpAQCAtMjYzLDYgKzI2OSw5IEBAIHZv aWQgS0l0ZW1MaXN0V2lkZ2V0OjpzZXRIb3ZlcmVkKGJvb2wgaG92ZXJlZCkKICAgICAgICAgaWYg KG1fZW5hYmxlZFNlbGVjdGlvblRvZ2dsZSAmJiAhKFFBcHBsaWNhdGlvbjo6bW91c2VCdXR0b25z KCkgJiBRdDo6TGVmdEJ1dHRvbikpIHsKICAgICAgICAgICAgIGluaXRpYWxpemVTZWxlY3Rpb25U b2dnbGUoKTsKICAgICAgICAgfQorICAgICAgICBpZiAobV9lbmFibGVkS2xvb2tUb2dnbGUgJiYg IShRQXBwbGljYXRpb246Om1vdXNlQnV0dG9ucygpICYgUXQ6OkxlZnRCdXR0b24pKSB7CisgICAg ICAgICAgICBpbml0aWFsaXplS2xvb2tUb2dnbGUoKTsKKyAgICAgICAgfQogICAgIH0gZWxzZSB7 CiAgICAgICAgIG1faG92ZXJBbmltYXRpb24tPnNldFN0YXJ0VmFsdWUoaG92ZXJPcGFjaXR5KCkp OwogICAgICAgICBtX2hvdmVyQW5pbWF0aW9uLT5zZXRFbmRWYWx1ZSgwLjApOwpAQCAtMzA2LDYg KzMxNSwxOSBAQCBib29sIEtJdGVtTGlzdFdpZGdldDo6ZW5hYmxlZFNlbGVjdGlvblRvZ2dsZSgp IGNvbnN0CiAgICAgcmV0dXJuIG1fZW5hYmxlZFNlbGVjdGlvblRvZ2dsZTsKIH0KIAordm9pZCBL SXRlbUxpc3RXaWRnZXQ6OnNldEVuYWJsZWRLbG9va1RvZ2dsZShib29sIGVuYWJsZSkKK3sKKyAg ICBpZiAobV9lbmFibGVkS2xvb2tUb2dnbGUgIT0gZW5hYmxlKSB7CisgICAgICAgIG1fZW5hYmxl ZEtsb29rVG9nZ2xlID0gZW5hYmxlOworICAgICAgICB1cGRhdGUoKTsKKyAgICB9Cit9CisKK2Jv b2wgS0l0ZW1MaXN0V2lkZ2V0OjplbmFibGVkS2xvb2tUb2dnbGUoKSBjb25zdAoreworICAgIHJl dHVybiBtX2VuYWJsZWRLbG9va1RvZ2dsZTsKK30KKwogdm9pZCBLSXRlbUxpc3RXaWRnZXQ6OnNl dFNpYmxpbmdzSW5mb3JtYXRpb24oY29uc3QgUUJpdEFycmF5JiBzaWJsaW5ncykKIHsKICAgICBj b25zdCBRQml0QXJyYXkgcHJldmlvdXMgPSBtX3NpYmxpbmdzSW5mbzsKQEAgLTM1NSw2ICszNzcs MTIgQEAgUVJlY3RGIEtJdGVtTGlzdFdpZGdldDo6c2VsZWN0aW9uVG9nZ2xlUmVjdCgpIGNvbnN0 CiAgICAgcmV0dXJuIFFSZWN0RigpOwogfQogCitRUmVjdEYgS0l0ZW1MaXN0V2lkZ2V0OjprbG9v a1RvZ2dsZVJlY3QoKSBjb25zdAoreworICAgIHJldHVybiBRUmVjdEYoKTsKK30KKworCiBRUmVj dEYgS0l0ZW1MaXN0V2lkZ2V0OjpleHBhbnNpb25Ub2dnbGVSZWN0KCkgY29uc3QKIHsKICAgICBy ZXR1cm4gUVJlY3RGKCk7CkBAIC00NjMsNiArNDkxLDggQEAgdm9pZCBLSXRlbUxpc3RXaWRnZXQ6 OnNsb3RIb3ZlckFuaW1hdGlvbkZpbmlzaGVkKCkKICAgICBpZiAoIW1faG92ZXJlZCkgewogICAg ICAgICBkZWxldGUgbV9zZWxlY3Rpb25Ub2dnbGU7CiAgICAgICAgIG1fc2VsZWN0aW9uVG9nZ2xl ID0gMDsKKyAgICAgICAgZGVsZXRlIG1fa2xvb2tUb2dnbGU7CisgICAgICAgIG1fa2xvb2tUb2dn bGUgPSAwOwogICAgIH0KIH0KIApAQCAtNDgxLDEyICs1MTEsMjkgQEAgdm9pZCBLSXRlbUxpc3RX aWRnZXQ6OmluaXRpYWxpemVTZWxlY3Rpb25Ub2dnbGUoKQogICAgIG1fc2VsZWN0aW9uVG9nZ2xl LT5zZXRDaGVja2VkKGlzU2VsZWN0ZWQoKSk7CiB9CiAKK3ZvaWQgS0l0ZW1MaXN0V2lkZ2V0Ojpp bml0aWFsaXplS2xvb2tUb2dnbGUoKQoreworICAgIFFfQVNTRVJUKG1fZW5hYmxlZEtsb29rVG9n Z2xlKTsKKworICAgIGlmICghbV9rbG9va1RvZ2dsZSkgeworICAgICAgICBtX2tsb29rVG9nZ2xl ID0gbmV3IEtJdGVtTGlzdEtsb29rVG9nZ2xlKHRoaXMpOworICAgIH0KKworICAgIGNvbnN0IFFS ZWN0RiB0b2dnbGVSZWN0ID0ga2xvb2tUb2dnbGVSZWN0KCk7OworICAgIG1fa2xvb2tUb2dnbGUt PnNldFBvcyh0b2dnbGVSZWN0LnRvcExlZnQoKSk7CisgICAgbV9rbG9va1RvZ2dsZS0+cmVzaXpl KHRvZ2dsZVJlY3Quc2l6ZSgpKTsKKworfQorCiB2b2lkIEtJdGVtTGlzdFdpZGdldDo6c2V0SG92 ZXJPcGFjaXR5KHFyZWFsIG9wYWNpdHkpCiB7CiAgICAgbV9ob3Zlck9wYWNpdHkgPSBvcGFjaXR5 OwogICAgIGlmIChtX3NlbGVjdGlvblRvZ2dsZSkgewogICAgICAgICBtX3NlbGVjdGlvblRvZ2ds ZS0+c2V0T3BhY2l0eShvcGFjaXR5KTsKICAgICB9CisgICAgaWYgKG1fa2xvb2tUb2dnbGUpIHsK KyAgICAgICAgbV9rbG9va1RvZ2dsZS0+c2V0T3BhY2l0eShvcGFjaXR5KTsKKyAgICB9CiAKICAg ICBpZiAobV9ob3Zlck9wYWNpdHkgPD0gMC4wKSB7CiAgICAgICAgIGRlbGV0ZSBtX2hvdmVyQ2Fj aGU7CmRpZmYgLS1naXQgYS9kb2xwaGluL3NyYy9raXRlbXZpZXdzL2tpdGVtbGlzdHdpZGdldC5o IGIvZG9scGhpbi9zcmMva2l0ZW12aWV3cy9raXRlbWxpc3R3aWRnZXQuaAppbmRleCA1NTE4MWZh Li43ZmQ1OTNjIDEwMDY0NAotLS0gYS9kb2xwaGluL3NyYy9raXRlbXZpZXdzL2tpdGVtbGlzdHdp ZGdldC5oCisrKyBiL2RvbHBoaW4vc3JjL2tpdGVtdmlld3Mva2l0ZW1saXN0d2lkZ2V0LmgKQEAg LTMzLDYgKzMzLDcgQEAKIAogY2xhc3MgS0l0ZW1MaXN0U2VsZWN0aW9uVG9nZ2xlOwogY2xhc3Mg S0l0ZW1MaXN0VmlldzsKK2NsYXNzIEtJdGVtTGlzdEtsb29rVG9nZ2xlOwogY2xhc3MgUVByb3Bl cnR5QW5pbWF0aW9uOwogCiAvKioKQEAgLTExNCw2ICsxMTUsOSBAQCBwdWJsaWM6CiAgICAgdm9p ZCBzZXRFbmFibGVkU2VsZWN0aW9uVG9nZ2xlKGJvb2wgZW5hYmxlZCk7CiAgICAgYm9vbCBlbmFi bGVkU2VsZWN0aW9uVG9nZ2xlKCkgY29uc3Q7CiAKKyAgICB2b2lkIHNldEVuYWJsZWRLbG9va1Rv Z2dsZShib29sIGVuYWJsZSk7CisgICAgYm9vbCBlbmFibGVkS2xvb2tUb2dnbGUoKSBjb25zdDsK KwogICAgIC8qKgogICAgICAqIFNldHMgdGhlIHNpYmxpbmcgaW5mb3JtYXRpb24gZm9yIHRoZSBp dGVtIGFuZCBhbGwgb2YgaXRzIHBhcmVudHMuCiAgICAgICogVGhlIHNpYmxpbmcgaW5mb3JtYXRp b24gb2YgdGhlIHVwcGVyIG1vc3QgcGFyZW50IGlzIHJlcHJlc2VudGVkIGJ5CkBAIC0xODEsNiAr MTg1LDEyIEBAIHB1YmxpYzoKICAgICAgKi8KICAgICB2aXJ0dWFsIFFQaXhtYXAgY3JlYXRlRHJh Z1BpeG1hcChjb25zdCBRU3R5bGVPcHRpb25HcmFwaGljc0l0ZW0qIG9wdGlvbiwgUVdpZGdldCog d2lkZ2V0ID0gMCk7CiAKKyAgICAgLyoqCisgICAgICogQHJldHVybiBSZWN0YW5nbGUgZm9yIHRo ZSBrbG9vay10b2dnbGUgdGhhdCBpcyB1c2VkIGZvciBpdGVtIHByZXZpZXcuCisgICAgICovCisg ICAgdmlydHVhbCBRUmVjdEYga2xvb2tUb2dnbGVSZWN0KCkgY29uc3Q7CisKKwogc2lnbmFsczoK ICAgICB2b2lkIHJvbGVFZGl0aW5nQ2FuY2VsZWQoaW50IGluZGV4LCBjb25zdCBRQnl0ZUFycmF5 JiByb2xlLCBjb25zdCBRVmFyaWFudCYgdmFsdWUpOwogICAgIHZvaWQgcm9sZUVkaXRpbmdGaW5p c2hlZChpbnQgaW5kZXgsIGNvbnN0IFFCeXRlQXJyYXkmIHJvbGUsIGNvbnN0IFFWYXJpYW50JiB2 YWx1ZSk7CkBAIC0yMTEsNiArMjIxLDcgQEAgcHJpdmF0ZSBzbG90czoKIAogcHJpdmF0ZToKICAg ICB2b2lkIGluaXRpYWxpemVTZWxlY3Rpb25Ub2dnbGUoKTsKKyAgICB2b2lkIGluaXRpYWxpemVL bG9va1RvZ2dsZSgpOwogICAgIHZvaWQgc2V0SG92ZXJPcGFjaXR5KHFyZWFsIG9wYWNpdHkpOwog ICAgIHZvaWQgY2xlYXJIb3ZlckNhY2hlKCk7CiAgICAgdm9pZCBkcmF3SXRlbVN0eWxlT3B0aW9u KFFQYWludGVyKiBwYWludGVyLCBRV2lkZ2V0KiB3aWRnZXQsIFFTdHlsZTo6U3RhdGUgc3R5bGVT dGF0ZSk7CkBAIC0yMjUsNiArMjM2LDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1faG92ZXJlZDsK ICAgICBib29sIG1fYWx0ZXJuYXRlQmFja2dyb3VuZDsKICAgICBib29sIG1fZW5hYmxlZFNlbGVj dGlvblRvZ2dsZTsKKyAgICBib29sIG1fZW5hYmxlZEtsb29rVG9nZ2xlOwogICAgIFFIYXNoPFFC eXRlQXJyYXksIFFWYXJpYW50PiBtX2RhdGE7CiAgICAgUUxpc3Q8UUJ5dGVBcnJheT4gbV92aXNp YmxlUm9sZXM7CiAgICAgUUhhc2g8UUJ5dGVBcnJheSwgcXJlYWw+IG1fY29sdW1uV2lkdGhzOwpA QCAtMjM4LDYgKzI1MCw4IEBAIHByaXZhdGU6CiAgICAgS0l0ZW1MaXN0U2VsZWN0aW9uVG9nZ2xl KiBtX3NlbGVjdGlvblRvZ2dsZTsKIAogICAgIFFCeXRlQXJyYXkgbV9lZGl0ZWRSb2xlOworICAg IAorICAgIEtJdGVtTGlzdEtsb29rVG9nZ2xlKiBtX2tsb29rVG9nZ2xlOwogfTsKIAogaW5saW5l IGNvbnN0IEtJdGVtTGlzdFdpZGdldEluZm9ybWFudCogS0l0ZW1MaXN0V2lkZ2V0OjppbmZvcm1h bnQoKSBjb25zdApkaWZmIC0tZ2l0IGEvZG9scGhpbi9zcmMva2l0ZW12aWV3cy9rc3RhbmRhcmRp dGVtbGlzdHdpZGdldC5oIGIvZG9scGhpbi9zcmMva2l0ZW12aWV3cy9rc3RhbmRhcmRpdGVtbGlz dHdpZGdldC5oCmluZGV4IDc4NzcyMmQuLjNiYzkyMjggMTAwNjQ0Ci0tLSBhL2RvbHBoaW4vc3Jj L2tpdGVtdmlld3Mva3N0YW5kYXJkaXRlbWxpc3R3aWRnZXQuaAorKysgYi9kb2xwaGluL3NyYy9r aXRlbXZpZXdzL2tzdGFuZGFyZGl0ZW1saXN0d2lkZ2V0LmgKQEAgLTE1Nyw2ICsxNTcsNyBAQCBw cm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB2b2lkIHJlc2l6ZUV2ZW50KFFHcmFwaGljc1NjZW5lUmVz aXplRXZlbnQqIGV2ZW50KTsKICAgICB2aXJ0dWFsIHZvaWQgc2hvd0V2ZW50KFFTaG93RXZlbnQq IGV2ZW50KTsKICAgICB2aXJ0dWFsIHZvaWQgaGlkZUV2ZW50KFFIaWRlRXZlbnQqIGV2ZW50KTsK KyAgICB2b2lkIHRyaWdnZXJDYWNoZVJlZnJlc2hpbmcoKTsKIAogcHJpdmF0ZSBzbG90czoKICAg ICB2b2lkIHNsb3RDdXRJdGVtc0NoYW5nZWQoKTsKQEAgLTE2NCw3ICsxNjUsNiBAQCBwcml2YXRl IHNsb3RzOgogICAgIHZvaWQgc2xvdFJvbGVFZGl0aW5nRmluaXNoZWQoaW50IGluZGV4LCBjb25z dCBRQnl0ZUFycmF5JiByb2xlLCBjb25zdCBRVmFyaWFudCYgdmFsdWUpOwogCiBwcml2YXRlOgot ICAgIHZvaWQgdHJpZ2dlckNhY2hlUmVmcmVzaGluZygpOwogICAgIHZvaWQgdXBkYXRlRXhwYW5z aW9uQXJlYSgpOwogICAgIHZvaWQgdXBkYXRlUGl4bWFwQ2FjaGUoKTsKIApkaWZmIC0tZ2l0IGEv ZG9scGhpbi9zcmMvc2V0dGluZ3MvZG9scGhpbl9nZW5lcmFsc2V0dGluZ3Mua2NmZyBiL2RvbHBo aW4vc3JjL3NldHRpbmdzL2RvbHBoaW5fZ2VuZXJhbHNldHRpbmdzLmtjZmcKaW5kZXggOWYyNjFk Yy4uNjdkOWMzMCAxMDA2NDQKLS0tIGEvZG9scGhpbi9zcmMvc2V0dGluZ3MvZG9scGhpbl9nZW5l cmFsc2V0dGluZ3Mua2NmZworKysgYi9kb2xwaGluL3NyYy9zZXR0aW5ncy9kb2xwaGluX2dlbmVy YWxzZXR0aW5ncy5rY2ZnCkBAIC01Niw2ICs1NiwxMCBAQAogICAgICAgICAgICAgPGxhYmVsPlNo b3cgc2VsZWN0aW9uIHRvZ2dsZTwvbGFiZWw+CiAgICAgICAgICAgICA8ZGVmYXVsdD50cnVlPC9k ZWZhdWx0PgogICAgICAgICA8L2VudHJ5PgorICAgICAgICA8ZW50cnkgbmFtZT0iU2hvd0tsb29r VG9nZ2xlIiB0eXBlPSJCb29sIj4KKyAgICAgICAgICAgIDxsYWJlbD5TaG93IHByZXZpZXcgdG9n Z2xlPC9sYWJlbD4KKyAgICAgICAgICAgIDxkZWZhdWx0PmZhbHNlPC9kZWZhdWx0PgorICAgICAg ICA8L2VudHJ5PgogICAgICAgICA8ZW50cnkgbmFtZT0iU2hvd1Rvb2xUaXBzIiB0eXBlPSJCb29s Ij4KICAgICAgICAgICAgIDxsYWJlbD5TaG93IHRvb2x0aXBzPC9sYWJlbD4KICAgICAgICAgICAg IDxkZWZhdWx0PmZhbHNlPC9kZWZhdWx0PgpkaWZmIC0tZ2l0IGEvZG9scGhpbi9zcmMvc2V0dGlu Z3MvZ2VuZXJhbC9iZWhhdmlvcnNldHRpbmdzcGFnZS5jcHAgYi9kb2xwaGluL3NyYy9zZXR0aW5n cy9nZW5lcmFsL2JlaGF2aW9yc2V0dGluZ3NwYWdlLmNwcAppbmRleCAxYWRlOTNjLi4wZjNlZDZm IDEwMDY0NAotLS0gYS9kb2xwaGluL3NyYy9zZXR0aW5ncy9nZW5lcmFsL2JlaGF2aW9yc2V0dGlu Z3NwYWdlLmNwcAorKysgYi9kb2xwaGluL3NyYy9zZXR0aW5ncy9nZW5lcmFsL2JlaGF2aW9yc2V0 dGluZ3NwYWdlLmNwcApAQCAtNDIsNyArNDIsOCBAQCBCZWhhdmlvclNldHRpbmdzUGFnZTo6QmVo YXZpb3JTZXR0aW5nc1BhZ2UoY29uc3QgS1VybCYgdXJsLCBRV2lkZ2V0KiBwYXJlbnQpIDoKICAg ICBtX2dsb2JhbFZpZXdQcm9wcygwKSwKICAgICBtX3Nob3dUb29sVGlwcygwKSwKICAgICBtX3No b3dTZWxlY3Rpb25Ub2dnbGUoMCksCi0gICAgbV9uYXR1cmFsU29ydGluZygwKQorICAgIG1fbmF0 dXJhbFNvcnRpbmcoMCksCisgICAgbV9zaG93S2xvb2tUb2dnbGUoMCkKIHsKICAgICBRVkJveExh eW91dCogdG9wTGF5b3V0ID0gbmV3IFFWQm94TGF5b3V0KHRoaXMpOwogCkBAIC02Nyw4ICs2OCwx MyBAQCBCZWhhdmlvclNldHRpbmdzUGFnZTo6QmVoYXZpb3JTZXR0aW5nc1BhZ2UoY29uc3QgS1Vy bCYgdXJsLCBRV2lkZ2V0KiBwYXJlbnQpIDoKICAgICBtX25hdHVyYWxTb3J0aW5nID0gbmV3IFFD aGVja0JveChpMThuYygib3B0aW9uOmNoZWNrIiwgIk5hdHVyYWwgc29ydGluZyBvZiBpdGVtcyIp LCB0aGlzKTsKIAogICAgIHRvcExheW91dC0+YWRkV2lkZ2V0KHZpZXdQcm9wc0JveCk7CisgCisg ICAgICAgLy8gJ1Nob3cga2xvb2sgdG9nZ2xlJworICAgICBtX3Nob3dLbG9va1RvZ2dsZSA9IG5l dyBRQ2hlY2tCb3goaTE4bmMoIkBvcHRpb246Y2hlY2siLCAiU2hvdyBwcmV2aWV3IG1hcmtlciIp LCB0aGlzKTsKKwogICAgIHRvcExheW91dC0+YWRkV2lkZ2V0KG1fc2hvd1Rvb2xUaXBzKTsKICAg ICB0b3BMYXlvdXQtPmFkZFdpZGdldChtX3Nob3dTZWxlY3Rpb25Ub2dnbGUpOworICAgIHRvcExh eW91dC0+YWRkV2lkZ2V0KG1fc2hvd0tsb29rVG9nZ2xlKTsKICAgICB0b3BMYXlvdXQtPmFkZFdp ZGdldChtX25hdHVyYWxTb3J0aW5nKTsKICAgICB0b3BMYXlvdXQtPmFkZFN0cmV0Y2goKTsKIApA QCAtNzgsNiArODQsNyBAQCBCZWhhdmlvclNldHRpbmdzUGFnZTo6QmVoYXZpb3JTZXR0aW5nc1Bh Z2UoY29uc3QgS1VybCYgdXJsLCBRV2lkZ2V0KiBwYXJlbnQpIDoKICAgICBjb25uZWN0KG1fZ2xv YmFsVmlld1Byb3BzLCBTSUdOQUwodG9nZ2xlZChib29sKSksIHRoaXMsIFNJR05BTChjaGFuZ2Vk KCkpKTsKICAgICBjb25uZWN0KG1fc2hvd1Rvb2xUaXBzLCBTSUdOQUwodG9nZ2xlZChib29sKSks IHRoaXMsIFNJR05BTChjaGFuZ2VkKCkpKTsKICAgICBjb25uZWN0KG1fc2hvd1NlbGVjdGlvblRv Z2dsZSwgU0lHTkFMKHRvZ2dsZWQoYm9vbCkpLCB0aGlzLCBTSUdOQUwoY2hhbmdlZCgpKSk7Cisg ICAgY29ubmVjdChtX3Nob3dLbG9va1RvZ2dsZSwgU0lHTkFMKHRvZ2dsZWQoYm9vbCkpLCB0aGlz LCBTSUdOQUwoY2hhbmdlZCgpKSk7CiAgICAgY29ubmVjdChtX25hdHVyYWxTb3J0aW5nLCBTSUdO QUwodG9nZ2xlZChib29sKSksIHRoaXMsIFNJR05BTChjaGFuZ2VkKCkpKTsKIH0KIApAQCAtMTA2 LDYgKzExMyw3IEBAIHZvaWQgQmVoYXZpb3JTZXR0aW5nc1BhZ2U6OmFwcGx5U2V0dGluZ3MoKQog ICAgICAgICBnbG9iYWxQcm9wcy5zZXREaXJQcm9wZXJ0aWVzKHByb3BzKTsKICAgICB9CiAKKyAg ICBzZXR0aW5ncy0+c2V0U2hvd0tsb29rVG9nZ2xlKG1fc2hvd0tsb29rVG9nZ2xlLT5pc0NoZWNr ZWQoKSk7CiAgICAgY29uc3QgYm9vbCBuYXR1cmFsU29ydGluZyA9IG1fbmF0dXJhbFNvcnRpbmct PmlzQ2hlY2tlZCgpOwogICAgIGlmIChLR2xvYmFsU2V0dGluZ3M6Om5hdHVyYWxTb3J0aW5nKCkg IT0gbmF0dXJhbFNvcnRpbmcpIHsKICAgICAgICAgS0NvbmZpZ0dyb3VwIGdyb3VwKEtHbG9iYWw6 OmNvbmZpZygpLCAiS0RFIik7CkBAIC0xMzAsNiArMTM4LDcgQEAgdm9pZCBCZWhhdmlvclNldHRp bmdzUGFnZTo6bG9hZFNldHRpbmdzKCkKIAogICAgIG1fc2hvd1Rvb2xUaXBzLT5zZXRDaGVja2Vk KEdlbmVyYWxTZXR0aW5nczo6c2hvd1Rvb2xUaXBzKCkpOwogICAgIG1fc2hvd1NlbGVjdGlvblRv Z2dsZS0+c2V0Q2hlY2tlZChHZW5lcmFsU2V0dGluZ3M6OnNob3dTZWxlY3Rpb25Ub2dnbGUoKSk7 CisgICAgbV9zaG93S2xvb2tUb2dnbGUtPnNldENoZWNrZWQoR2VuZXJhbFNldHRpbmdzOjpzaG93 S2xvb2tUb2dnbGUoKSk7CiAgICAgbV9uYXR1cmFsU29ydGluZy0+c2V0Q2hlY2tlZChLR2xvYmFs U2V0dGluZ3M6Om5hdHVyYWxTb3J0aW5nKCkpOwogfQogCmRpZmYgLS1naXQgYS9kb2xwaGluL3Ny Yy9zZXR0aW5ncy9nZW5lcmFsL2JlaGF2aW9yc2V0dGluZ3NwYWdlLmggYi9kb2xwaGluL3NyYy9z ZXR0aW5ncy9nZW5lcmFsL2JlaGF2aW9yc2V0dGluZ3NwYWdlLmgKaW5kZXggMzk4OTg2Mi4uOGU4 MTBmZSAxMDA2NDQKLS0tIGEvZG9scGhpbi9zcmMvc2V0dGluZ3MvZ2VuZXJhbC9iZWhhdmlvcnNl dHRpbmdzcGFnZS5oCisrKyBiL2RvbHBoaW4vc3JjL3NldHRpbmdzL2dlbmVyYWwvYmVoYXZpb3Jz ZXR0aW5nc3BhZ2UuaApAQCAtNTgsNiArNTgsNyBAQCBwcml2YXRlOgogICAgIFFMYWJlbCogbV9j b25maWd1cmVUb29sVGlwczsKICAgICBRQ2hlY2tCb3gqIG1fc2hvd1NlbGVjdGlvblRvZ2dsZTsK ICAgICBRQ2hlY2tCb3gqIG1fbmF0dXJhbFNvcnRpbmc7CisgICAgUUNoZWNrQm94KiBtX3Nob3dL bG9va1RvZ2dsZTsKIH07CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvZG9scGhpbi9zcmMvdmlld3Mv ZG9scGhpbml0ZW1saXN0dmlldy5jcHAgYi9kb2xwaGluL3NyYy92aWV3cy9kb2xwaGluaXRlbWxp c3R2aWV3LmNwcAppbmRleCAwMzliNWYyLi44MTY5NGRjIDEwMDY0NAotLS0gYS9kb2xwaGluL3Ny Yy92aWV3cy9kb2xwaGluaXRlbWxpc3R2aWV3LmNwcAorKysgYi9kb2xwaGluL3NyYy92aWV3cy9k b2xwaGluaXRlbWxpc3R2aWV3LmNwcApAQCAtNDEsNiArNDEsNyBAQCBEb2xwaGluSXRlbUxpc3RW aWV3OjpEb2xwaGluSXRlbUxpc3RWaWV3KFFHcmFwaGljc1dpZGdldCogcGFyZW50KSA6CiAgICAg S0ZpbGVJdGVtTGlzdFZpZXcocGFyZW50KSwKICAgICBtX3pvb21MZXZlbCgwKQogeworICAgIHNl dEVuYWJsZWRLbG9va1RvZ2dsZXMoR2VuZXJhbFNldHRpbmdzOjpzaG93S2xvb2tUb2dnbGUoKSk7 CiAgICAgdXBkYXRlRm9udCgpOwogICAgIHVwZGF0ZUdyaWRTaXplKCk7CiB9CkBAIC04OSw2ICs5 MCw3IEBAIHZvaWQgRG9scGhpbkl0ZW1MaXN0Vmlldzo6cmVhZFNldHRpbmdzKCkKICAgICBiZWdp blRyYW5zYWN0aW9uKCk7CiAKICAgICBzZXRFbmFibGVkU2VsZWN0aW9uVG9nZ2xlcyhHZW5lcmFs U2V0dGluZ3M6OnNob3dTZWxlY3Rpb25Ub2dnbGUoKSk7CisgICAgc2V0RW5hYmxlZEtsb29rVG9n Z2xlcyhHZW5lcmFsU2V0dGluZ3M6OnNob3dLbG9va1RvZ2dsZSgpKTsKIAogICAgIGNvbnN0IGJv b2wgZXhwYW5kYWJsZUZvbGRlcnMgPSAoaXRlbUxheW91dCgpID09IEtGaWxlSXRlbUxpc3RWaWV3 OjpEZXRhaWxzTGF5b3V0KSAmJgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBE ZXRhaWxzTW9kZVNldHRpbmdzOjpleHBhbmRhYmxlRm9sZGVycygpOwpkaWZmIC0tZ2l0IGEvZG9s cGhpbi9zcmMvdmlld3MvZG9scGhpbnZpZXcuY3BwIGIvZG9scGhpbi9zcmMvdmlld3MvZG9scGhp bnZpZXcuY3BwCmluZGV4IDgwNTA0MTUuLjg2ZGZmOTEgMTAwNjQ0Ci0tLSBhL2RvbHBoaW4vc3Jj L3ZpZXdzL2RvbHBoaW52aWV3LmNwcAorKysgYi9kb2xwaGluL3NyYy92aWV3cy9kb2xwaGludmll dy5jcHAKQEAgLTE0OCw2ICsxNDgsNyBAQCBEb2xwaGluVmlldzo6RG9scGhpblZpZXcoY29uc3Qg S1VybCYgdXJsLCBRV2lkZ2V0KiBwYXJlbnQpIDoKICAgICBjb25uZWN0KGNvbnRyb2xsZXIsIFNJ R05BTChpdGVtVW5ob3ZlcmVkKGludCkpLCB0aGlzLCBTTE9UKHNsb3RJdGVtVW5ob3ZlcmVkKGlu dCkpKTsKICAgICBjb25uZWN0KGNvbnRyb2xsZXIsIFNJR05BTChpdGVtRHJvcEV2ZW50KGludCxR R3JhcGhpY3NTY2VuZURyYWdEcm9wRXZlbnQqKSksIHRoaXMsIFNMT1Qoc2xvdEl0ZW1Ecm9wRXZl bnQoaW50LFFHcmFwaGljc1NjZW5lRHJhZ0Ryb3BFdmVudCopKSk7CiAgICAgY29ubmVjdChjb250 cm9sbGVyLCBTSUdOQUwobW9kZWxDaGFuZ2VkKEtJdGVtTW9kZWxCYXNlKixLSXRlbU1vZGVsQmFz ZSopKSwgdGhpcywgU0xPVChzbG90TW9kZWxDaGFuZ2VkKEtJdGVtTW9kZWxCYXNlKixLSXRlbU1v ZGVsQmFzZSopKSk7CisgICAgY29ubmVjdChjb250cm9sbGVyLCBTSUdOQUwoa2xvb2tUcmlnZ2Vy KCkpLCB0aGlzLCBTSUdOQUwoa2xvb2tUcmlnZ2VyKCkpKTsKIAogICAgIGNvbm5lY3QobV9tb2Rl bCwgU0lHTkFMKGRpcmVjdG9yeUxvYWRpbmdTdGFydGVkKCkpLCAgICAgICB0aGlzLCBTTE9UKHNs b3REaXJlY3RvcnlMb2FkaW5nU3RhcnRlZCgpKSk7CiAgICAgY29ubmVjdChtX21vZGVsLCBTSUdO QUwoZGlyZWN0b3J5TG9hZGluZ0NvbXBsZXRlZCgpKSwgICAgIHRoaXMsIFNMT1Qoc2xvdERpcmVj dG9yeUxvYWRpbmdDb21wbGV0ZWQoKSkpOwpAQCAtMTUyOCw0ICsxNTI5LDE0IEBAIEtVcmwgRG9s cGhpblZpZXc6OnZpZXdQcm9wZXJ0aWVzVXJsKCkgY29uc3QKICAgICByZXR1cm4gdXJsOwogfQog CitLRmlsZUl0ZW1MaXN0IERvbHBoaW5WaWV3Ojpzb3J0ZWRJdGVtcygpIGNvbnN0Cit7CisgICAg S0ZpbGVJdGVtTGlzdCAgbGlzdDsKKyAgICBmb3IgKGludCBpID0gMDsgaSA8IG1fbW9kZWwtPmNv dW50KCk7IGkrKykgeworICAgICAgICBsaXN0LmFwcGVuZChtX21vZGVsLT5maWxlSXRlbShpKSk7 CisgICAgfQorICAgIHJldHVybiBsaXN0OworfQorCisKICNpbmNsdWRlICJkb2xwaGludmlldy5t b2MiCmRpZmYgLS1naXQgYS9kb2xwaGluL3NyYy92aWV3cy9kb2xwaGludmlldy5oIGIvZG9scGhp bi9zcmMvdmlld3MvZG9scGhpbnZpZXcuaAppbmRleCAxMGY2M2M1Li5hNTNlZThhIDEwMDY0NAot LS0gYS9kb2xwaGluL3NyYy92aWV3cy9kb2xwaGludmlldy5oCisrKyBiL2RvbHBoaW4vc3JjL3Zp ZXdzL2RvbHBoaW52aWV3LmgKQEAgLTI5NSw2ICsyOTUsOCBAQCBwdWJsaWM6CiAgICAgICovCiAg ICAgdm9pZCBzZXRWaWV3UHJvcGVydGllc0NvbnRleHQoY29uc3QgUVN0cmluZyYgY29udGV4dCk7 CiAgICAgUVN0cmluZyB2aWV3UHJvcGVydGllc0NvbnRleHQoKSBjb25zdDsKKyAgICAKKyAgICBL RmlsZUl0ZW1MaXN0IHNvcnRlZEl0ZW1zKCkgY29uc3Q7CiAKIHB1YmxpYyBzbG90czoKICAgICAv KioKQEAgLTUwNiw2ICs1MDgsOCBAQCBzaWduYWxzOgogICAgICAqLwogICAgIHZvaWQgd3JpdGVT dGF0ZUNoYW5nZWQoYm9vbCBpc0ZvbGRlcldyaXRhYmxlKTsKIAorICAgIHZvaWQga2xvb2tUcmln Z2VyKCk7CisKICAgICAvKioKICAgICAgKiBJcyBlbWl0dGVkIGlmIHRoZSBVUkwgc2hvdWxkIGJl IGNoYW5nZWQgdG8gdGhlIHByZXZpb3VzIFVSTCBvZiB0aGUKICAgICAgKiBoaXN0b3J5IChlLmcu IGJlY2F1c2UgdGhlICJiYWNrIi1tb3VzZWJ1dHRvbiBoYXMgYmVlbiBwcmVzc2VkKS4K --047d7b86f5a221b50d04c8529342--