<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>39440</bug_id>
          
          <creation_ts>2010-05-20 12:01:50 -0700</creation_ts>
          <short_desc>[chromium] Adds Geolocation support to DumpRenderTree.</short_desc>
          <delta_ts>2010-05-23 02:07:50 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Marcus Bulach">bulach</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>tkent</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>228494</commentid>
    <comment_count>0</comment_count>
    <who name="Marcus Bulach">bulach</who>
    <bug_when>2010-05-20 12:01:50 -0700</bug_when>
    <thetext>[chromium] Adds Geolocation support to DumpRenderTree.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>228497</commentid>
    <comment_count>1</comment_count>
      <attachid>56620</attachid>
    <who name="Marcus Bulach">bulach</who>
    <bug_when>2010-05-20 12:12:56 -0700</bug_when>
    <thetext>Created attachment 56620
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>228723</commentid>
    <comment_count>2</comment_count>
      <attachid>56620</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-05-20 20:45:11 -0700</bug_when>
    <thetext>Comment on attachment 56620
Patch

Thank you for making the patch.
WebKitTools/DumpRenderTree/chromium is not the primary tester yet.  You need to change webkit/tools/test_shell/ in Chromium too.


WebKit/chromium/public/WebGeolocationServiceMock.h:55
 +      static bool m_mockGeolocationPermission;
We don&apos;t prepend &quot;m_&quot; for a static field in WebKit style.


WebKitTools/DumpRenderTree/chromium/LayoutTestController.cpp:1303
 +      WebGeolocationServiceMock::setMockGeolocationError(arguments[0].toInt32(), WebString::fromUTF8(arguments[1].toString()));
nit: We have cppVariantToWebString().


r- for the style error.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>228836</commentid>
    <comment_count>3</comment_count>
      <attachid>56691</attachid>
    <who name="Marcus Bulach">bulach</who>
    <bug_when>2010-05-21 03:39:33 -0700</bug_when>
    <thetext>Created attachment 56691
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>228837</commentid>
    <comment_count>4</comment_count>
    <who name="Marcus Bulach">bulach</who>
    <bug_when>2010-05-21 03:43:10 -0700</bug_when>
    <thetext>thanks Tamura-san!

replies inline:

(In reply to comment #2)
&gt; (From update of attachment 56620 [details])
&gt; Thank you for making the patch.
&gt; WebKitTools/DumpRenderTree/chromium is not the primary tester yet.  You need to change webkit/tools/test_shell/ in Chromium too.

yep, the change has been reviewed and I&apos;ll submit it soon:
http://codereview.chromium.org/2094003/show

&gt; 
&gt; 
&gt; WebKit/chromium/public/WebGeolocationServiceMock.h:55
&gt;  +      static bool m_mockGeolocationPermission;
&gt; We don&apos;t prepend &quot;m_&quot; for a static field in WebKit style.

Done.

&gt; 
&gt; 
&gt; WebKitTools/DumpRenderTree/chromium/LayoutTestController.cpp:1303
&gt;  +      WebGeolocationServiceMock::setMockGeolocationError(arguments[0].toInt32(), WebString::fromUTF8(arguments[1].toString()));
&gt; nit: We have cppVariantToWebString().

ahn, thanks! I went ahead and replaced all occurrences so it won&apos;t catch the next reader.
however, please, let me know if you&apos;d prefer to this tidy up in a separate patch, and I&apos;d be happy to revert these changes.

would you mind taking another look? thanks!

&gt; 
&gt; 
&gt; r- for the style error.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>228839</commentid>
    <comment_count>5</comment_count>
      <attachid>56691</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2010-05-21 03:46:00 -0700</bug_when>
    <thetext>Comment on attachment 56691
Patch

OK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>229433</commentid>
    <comment_count>6</comment_count>
      <attachid>56691</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-05-23 02:07:44 -0700</bug_when>
    <thetext>Comment on attachment 56691
Patch

Clearing flags on attachment: 56691

Committed r60032: &lt;http://trac.webkit.org/changeset/60032&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>229434</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-05-23 02:07:50 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>56620</attachid>
            <date>2010-05-20 12:12:56 -0700</date>
            <delta_ts>2010-05-21 03:39:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-39440-20100520201254.patch</filename>
            <type>text/plain</type>
            <size>11836</size>
            <attacher name="Marcus Bulach">bulach</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9XZWJLaXQvY2hyb21pdW0v
Q2hhbmdlTG9nCmluZGV4IDgxMGM2YzQ1ZmFmOTcyMGE1ZjllYzEyMWZmMzBlZGZjNTI4Mzc0NTcu
LjdiYmJlMTY5NzcwMDZiZmEyNmIyZmM2MTM0ZTA1MGU3YTdlZTc4ZWIgMTAwNjQ0Ci0tLSBhL1dl
YktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE5IEBACisyMDEwLTA1LTIwICBNYXJjdXMgQnVsYWNoICA8YnVsYWNoQGNocm9t
aXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBbY2hyb21pdW1dIEFkZHMgR2VvbG9jYXRpb24gc3VwcG9ydCB0byBEdW1wUmVuZGVyVHJlZS4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM5NDQwCisK
KyAgICAgICAgRXhpc3RpbmcgTGF5b3V0VGVzdHMvZmFzdC9kb20vR2VvbG9jYXRpb24vKiBzaG91
bGQgcGFzcy4KKworICAgICAgICAqIHB1YmxpYy9XZWJHZW9sb2NhdGlvblNlcnZpY2VNb2NrLmg6
CisgICAgICAgICogc3JjL1dlYkdlb2xvY2F0aW9uU2VydmljZU1vY2suY3BwOgorICAgICAgICAo
V2ViS2l0OjpXZWJHZW9sb2NhdGlvblNlcnZpY2VNb2NrOjpzZXRNb2NrR2VvbG9jYXRpb25QZXJt
aXNzaW9uKToKKyAgICAgICAgKFdlYktpdDo6V2ViR2VvbG9jYXRpb25TZXJ2aWNlTW9jazo6cmVx
dWVzdFBlcm1pc3Npb25Gb3JGcmFtZSk6CisgICAgICAgIChXZWJLaXQ6OldlYkdlb2xvY2F0aW9u
U2VydmljZU1vY2s6OmF0dGFjaEJyaWRnZSk6CisgICAgICAgIChXZWJLaXQ6OldlYkdlb2xvY2F0
aW9uU2VydmljZU1vY2s6OmRldGFjaEJyaWRnZSk6CisKIDIwMTAtMDUtMTkgIFZhbmdlbGlzIEtv
a2tldmlzICA8dmFuZ2VsaXNAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERh
cmluIEZpc2hlci4KZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViR2VvbG9j
YXRpb25TZXJ2aWNlTW9jay5oIGIvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJHZW9sb2NhdGlv
blNlcnZpY2VNb2NrLmgKaW5kZXggNWY5YmM1NmY3YmU0YTJhYTIxOTI2N2QzZmUxZjk2NWI4NDUy
ZTZjNS4uNzU0MDlmZTUzYTZmNTcyMGFiNDQ4YzMzZWE0ZDZlMGM5YzViMmJmNiAxMDA2NDQKLS0t
IGEvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJHZW9sb2NhdGlvblNlcnZpY2VNb2NrLmgKKysr
IGIvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJHZW9sb2NhdGlvblNlcnZpY2VNb2NrLmgKQEAg
LTMxLDE0ICszMSwyOCBAQAogI2lmbmRlZiBXZWJHZW9sb2NhdGlvblNlcnZpY2VNb2NrX2gKICNk
ZWZpbmUgV2ViR2VvbG9jYXRpb25TZXJ2aWNlTW9ja19oCiAKKyNpbmNsdWRlICJXZWJHZW9sb2Nh
dGlvblNlcnZpY2UuaCIKKyNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgorCiBuYW1lc3BhY2UgV2Vi
S2l0IHsKIAogY2xhc3MgV2ViU3RyaW5nOwogCi1jbGFzcyBXZWJHZW9sb2NhdGlvblNlcnZpY2VN
b2NrIHsKK2NsYXNzIFdlYkdlb2xvY2F0aW9uU2VydmljZU1vY2sgOiBwdWJsaWMgV2ViR2VvbG9j
YXRpb25TZXJ2aWNlIHsKIHB1YmxpYzoKKyAgICBzdGF0aWMgdm9pZCBzZXRNb2NrR2VvbG9jYXRp
b25QZXJtaXNzaW9uKGJvb2wgYWxsb3dlZCk7CiAgICAgc3RhdGljIHZvaWQgc2V0TW9ja0dlb2xv
Y2F0aW9uUG9zaXRpb24oZG91YmxlIGxhdGl0dWRlLCBkb3VibGUgbG9uZ2l0dWRlLCBkb3VibGUg
YWNjdXJhY3kpOwogICAgIHN0YXRpYyB2b2lkIHNldE1vY2tHZW9sb2NhdGlvbkVycm9yKGludCBl
cnJvckNvZGUsIGNvbnN0IFdlYlN0cmluZyYgbWVzc2FnZSk7CisKKyAgICB2aXJ0dWFsIHZvaWQg
cmVxdWVzdFBlcm1pc3Npb25Gb3JGcmFtZShpbnQgYnJpZGdlSWQsIGNvbnN0IFdlYlVSTCYgdXJs
KTsKKyAgICB2aXJ0dWFsIGludCBhdHRhY2hCcmlkZ2UoV2ViR2VvbG9jYXRpb25TZXJ2aWNlQnJp
ZGdlKik7CisgICAgdmlydHVhbCB2b2lkIGRldGFjaEJyaWRnZShpbnQgYnJpZGdlSWQpOworCitw
cml2YXRlOgorICAgIHR5cGVkZWYgSGFzaE1hcDxpbnQsIFdlYkdlb2xvY2F0aW9uU2VydmljZUJy
aWRnZSo+IElkVG9CcmlkZ2VNYXA7CisgICAgSWRUb0JyaWRnZU1hcCBtX2lkVG9CcmlkZ2VNYXA7
CisKKyAgICBzdGF0aWMgYm9vbCBtX21vY2tHZW9sb2NhdGlvblBlcm1pc3Npb247CiB9OwogCiB9
IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
R2VvbG9jYXRpb25TZXJ2aWNlTW9jay5jcHAgYi9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkdlb2xv
Y2F0aW9uU2VydmljZU1vY2suY3BwCmluZGV4IGZlZjc0ZTZkNWNmMDJhMTFhYTk4MWU5ZjY0Zjk0
ODcxMjI5MTM3MmQuLjAyZTMyODNhMGFlNGQ1MWQxNGZlM2MzYTQ2MjA2MWUwMTY2YmEwMTYgMTAw
NjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViR2VvbG9jYXRpb25TZXJ2aWNlTW9jay5j
cHAKKysrIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJHZW9sb2NhdGlvblNlcnZpY2VNb2NrLmNw
cApAQCAtMTIxLDYgKzEyMSwxMyBAQCB2b2lkIEdlb2xvY2F0aW9uU2VydmljZUNocm9taXVtTW9j
azo6Z2VvbG9jYXRpb25TZXJ2aWNlRXJyb3JPY2N1cnJlZChHZW9sb2NhdGlvbgogCiBuYW1lc3Bh
Y2UgV2ViS2l0IHsKIAorYm9vbCBXZWJHZW9sb2NhdGlvblNlcnZpY2VNb2NrOjptX21vY2tHZW9s
b2NhdGlvblBlcm1pc3Npb24gPSBmYWxzZTsKKwordm9pZCBXZWJHZW9sb2NhdGlvblNlcnZpY2VN
b2NrOjpzZXRNb2NrR2VvbG9jYXRpb25QZXJtaXNzaW9uKGJvb2wgYWxsb3dlZCkKK3sKKyAgICBt
X21vY2tHZW9sb2NhdGlvblBlcm1pc3Npb24gPSBhbGxvd2VkOworfQorCiB2b2lkIFdlYkdlb2xv
Y2F0aW9uU2VydmljZU1vY2s6OnNldE1vY2tHZW9sb2NhdGlvblBvc2l0aW9uKGRvdWJsZSBsYXRp
dHVkZSwgZG91YmxlIGxvbmdpdHVkZSwgZG91YmxlIGFjY3VyYWN5KQogewogICAgIFdlYkNvcmU6
Okdlb2xvY2F0aW9uU2VydmljZTo6c2V0Q3VzdG9tTW9ja0ZhY3RvcnkoJldlYkNvcmU6Okdlb2xv
Y2F0aW9uU2VydmljZUNocm9taXVtTW9jazo6Y3JlYXRlKTsKQEAgLTEzNSw2ICsxNDIsMjkgQEAg
dm9pZCBXZWJHZW9sb2NhdGlvblNlcnZpY2VNb2NrOjpzZXRNb2NrR2VvbG9jYXRpb25FcnJvcihp
bnQgZXJyb3JDb2RlLCBjb25zdCBXZWIKICAgICBHZW9sb2NhdGlvblNlcnZpY2VNb2NrOjpzZXRF
cnJvcihwb3NpdGlvbkVycm9yKTsKIH0KIAordm9pZCBXZWJHZW9sb2NhdGlvblNlcnZpY2VNb2Nr
OjpyZXF1ZXN0UGVybWlzc2lvbkZvckZyYW1lKGludCBicmlkZ2VJZCwgY29uc3QgV2ViVVJMJiB1
cmwpCit7CisgICAgSWRUb0JyaWRnZU1hcDo6aXRlcmF0b3IgaXRlciA9IG1faWRUb0JyaWRnZU1h
cC5maW5kKGJyaWRnZUlkKTsKKyAgICBpZiAoaXRlciA9PSBtX2lkVG9CcmlkZ2VNYXAuZW5kKCkp
CisgICAgICAgIHJldHVybjsKKyAgICBpdGVyLT5zZWNvbmQtPnNldElzQWxsb3dlZChtX21vY2tH
ZW9sb2NhdGlvblBlcm1pc3Npb24pOworfQorCitpbnQgV2ViR2VvbG9jYXRpb25TZXJ2aWNlTW9j
azo6YXR0YWNoQnJpZGdlKFdlYkdlb2xvY2F0aW9uU2VydmljZUJyaWRnZSogYnJpZGdlKQorewor
ICAgIHN0YXRpYyBpbnQgbmV4dEF2YWlsYWJsZVdhdGNoSWQgPSAxOworICAgIC8vIEluIGNhc2Ug
b2Ygb3ZlcmZsb3csIG1ha2Ugc3VyZSB0aGUgSUQgcmVtYWlucyBwb3NpdGl2ZSwgYnV0IHJldXNl
IHRoZSBJRCB2YWx1ZXMuCisgICAgaWYgKG5leHRBdmFpbGFibGVXYXRjaElkIDwgMSkKKyAgICAg
ICAgbmV4dEF2YWlsYWJsZVdhdGNoSWQgPSAxOworICAgIG1faWRUb0JyaWRnZU1hcC5zZXQobmV4
dEF2YWlsYWJsZVdhdGNoSWQsIGJyaWRnZSk7CisgICAgcmV0dXJuIG5leHRBdmFpbGFibGVXYXRj
aElkKys7Cit9CisKK3ZvaWQgV2ViR2VvbG9jYXRpb25TZXJ2aWNlTW9jazo6ZGV0YWNoQnJpZGdl
KGludCBicmlkZ2VJZCkKK3sKKyAgICBtX2lkVG9CcmlkZ2VNYXAucmVtb3ZlKGJyaWRnZUlkKTsK
K30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICNlbmRpZiAvLyBFTkFCTEUoR0VPTE9DQVRJ
T04pCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9DaGFuZ2VMb2cgYi9XZWJLaXRUb29scy9DaGFu
Z2VMb2cKaW5kZXggMmE5MjNkMjYyMzBlMDU0MzViOTE4ZTBhNDJmN2Y2MDc1ZmQ3NjVkZS4uMWJm
Njc4NzhmN2UyN2I5NWVmMjczNzY1MGNkYmI1MzA4ZmQ2MjBlNiAxMDA2NDQKLS0tIGEvV2ViS2l0
VG9vbHMvQ2hhbmdlTG9nCisrKyBiL1dlYktpdFRvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0
IEBACisyMDEwLTA1LTIwICBNYXJjdXMgQnVsYWNoICA8YnVsYWNoQGNocm9taXVtLm9yZz4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbY2hyb21pdW1d
IEFkZHMgR2VvbG9jYXRpb24gc3VwcG9ydCB0byBEdW1wUmVuZGVyVHJlZS4KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM5NDQwCisKKyAgICAgICAgRXhp
c3RpbmcgTGF5b3V0VGVzdHMvZmFzdC9kb20vR2VvbG9jYXRpb24vKiBzaG91bGQgcGFzcy4KKwor
ICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xheW91dFRlc3RDb250cm9sbGVyLmNw
cDoKKyAgICAgICAgKExheW91dFRlc3RDb250cm9sbGVyOjpMYXlvdXRUZXN0Q29udHJvbGxlcik6
CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0R2VvbG9jYXRpb25QZXJtaXNzaW9u
KToKKyAgICAgICAgKExheW91dFRlc3RDb250cm9sbGVyOjpzZXRNb2NrR2VvbG9jYXRpb25Qb3Np
dGlvbik6CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0TW9ja0dlb2xvY2F0aW9u
RXJyb3IpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xheW91dFRlc3RDb250
cm9sbGVyLmg6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFNoZWxsLmNw
cDoKKyAgICAgICAgKFRlc3RTaGVsbDo6VGVzdFNoZWxsKToKKyAgICAgICAgKiBEdW1wUmVuZGVy
VHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5jcHA6CisgICAgICAgIChXZWJWaWV3SG9zdDo6Z2Vv
bG9jYXRpb25TZXJ2aWNlKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJW
aWV3SG9zdC5oOgorCiAyMDEwLTA1LTIwICBGdW1pdG9zaGkgVWthaSAgPHVrYWlAY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQgZml4IGZvciB3ZWJzb2NrZXQgdGVzdCBmYWlsdXJl
cy4KZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xheW91
dFRlc3RDb250cm9sbGVyLmNwcCBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVt
L0xheW91dFRlc3RDb250cm9sbGVyLmNwcAppbmRleCBjNDU5MTM2YTY3OTVlNDk0MTY0ZjZjYmU0
N2JmMTQ0ODhlOWE0Y2I4Li40NTU5YTk1YTFjOWMwMWNkOTI4ZWYyYTc1ZWNjNGY0OTA3YmM5NzY3
IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRU
ZXN0Q29udHJvbGxlci5jcHAKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21p
dW0vTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwCkBAIC0zOSw2ICszOSw3IEBACiAjaW5jbHVkZSAi
cHVibGljL1dlYkNvbnNvbGVNZXNzYWdlLmgiCiAjaW5jbHVkZSAicHVibGljL1dlYkRvY3VtZW50
LmgiCiAjaW5jbHVkZSAicHVibGljL1dlYkZyYW1lLmgiCisjaW5jbHVkZSAicHVibGljL1dlYkdl
b2xvY2F0aW9uU2VydmljZU1vY2suaCIKICNpbmNsdWRlICJwdWJsaWMvV2ViSW5wdXRFbGVtZW50
LmgiCiAjaW5jbHVkZSAicHVibGljL1dlYktpdC5oIgogI2luY2x1ZGUgInB1YmxpYy9XZWJOb3Rp
ZmljYXRpb25QcmVzZW50ZXIuaCIKQEAgLTE2MCw2ICsxNjEsMTAgQEAgTGF5b3V0VGVzdENvbnRy
b2xsZXI6OkxheW91dFRlc3RDb250cm9sbGVyKFRlc3RTaGVsbCogc2hlbGwpCiAgICAgYmluZE1l
dGhvZCgiZXZhbHVhdGVJbldlYkluc3BlY3RvciIsICZMYXlvdXRUZXN0Q29udHJvbGxlcjo6ZXZh
bHVhdGVJbldlYkluc3BlY3Rvcik7CiAgICAgYmluZE1ldGhvZCgiZm9yY2VSZWRTZWxlY3Rpb25D
b2xvcnMiLCAmTGF5b3V0VGVzdENvbnRyb2xsZXI6OmZvcmNlUmVkU2VsZWN0aW9uQ29sb3JzKTsK
IAorICAgIGJpbmRNZXRob2QoInNldEdlb2xvY2F0aW9uUGVybWlzc2lvbiIsICZMYXlvdXRUZXN0
Q29udHJvbGxlcjo6c2V0R2VvbG9jYXRpb25QZXJtaXNzaW9uKTsKKyAgICBiaW5kTWV0aG9kKCJz
ZXRNb2NrR2VvbG9jYXRpb25Qb3NpdGlvbiIsICZMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0TW9j
a0dlb2xvY2F0aW9uUG9zaXRpb24pOworICAgIGJpbmRNZXRob2QoInNldE1vY2tHZW9sb2NhdGlv
bkVycm9yIiwgJkxheW91dFRlc3RDb250cm9sbGVyOjpzZXRNb2NrR2VvbG9jYXRpb25FcnJvcik7
CisKICAgICAvLyBUaGUgZmFsbGJhY2sgbWV0aG9kIGlzIGNhbGxlZCB3aGVuIGFuIHVua25vd24g
bWV0aG9kIGlzIGludm9rZWQuCiAgICAgYmluZEZhbGxiYWNrTWV0aG9kKCZMYXlvdXRUZXN0Q29u
dHJvbGxlcjo6ZmFsbGJhY2tNZXRob2QpOwogCkBAIC0xMjcyLDMgKzEyNzcsMjggQEAgdm9pZCBM
YXlvdXRUZXN0Q29udHJvbGxlcjo6YWRkVXNlclN0eWxlU2hlZXQoY29uc3QgQ3BwQXJndW1lbnRM
aXN0JiBhcmd1bWVudHMsIEMKICAgICAgICAgcmV0dXJuOwogICAgIG1fc2hlbGwtPndlYlZpZXco
KS0+YWRkVXNlclN0eWxlU2hlZXQoV2ViU3RyaW5nOjpmcm9tVVRGOChhcmd1bWVudHNbMF0udG9T
dHJpbmcoKSkpOwogfQorCisKK3ZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldEdlb2xvY2F0
aW9uUGVybWlzc2lvbihjb25zdCBDcHBBcmd1bWVudExpc3QmIGFyZ3VtZW50cywgQ3BwVmFyaWFu
dCogcmVzdWx0KQoreworICAgIHJlc3VsdC0+c2V0TnVsbCgpOworICAgIGlmIChhcmd1bWVudHMu
c2l6ZSgpIDwgMSB8fCAhYXJndW1lbnRzWzBdLmlzQm9vbCgpKQorICAgICAgICByZXR1cm47Cisg
ICAgV2ViR2VvbG9jYXRpb25TZXJ2aWNlTW9jazo6c2V0TW9ja0dlb2xvY2F0aW9uUGVybWlzc2lv
bihhcmd1bWVudHNbMF0udG9Cb29sZWFuKCkpOworfQorCit2b2lkIExheW91dFRlc3RDb250cm9s
bGVyOjpzZXRNb2NrR2VvbG9jYXRpb25Qb3NpdGlvbihjb25zdCBDcHBBcmd1bWVudExpc3QmIGFy
Z3VtZW50cywgQ3BwVmFyaWFudCogcmVzdWx0KQoreworICAgIHJlc3VsdC0+c2V0TnVsbCgpOwor
ICAgIGlmIChhcmd1bWVudHMuc2l6ZSgpIDwgMyB8fCAhYXJndW1lbnRzWzBdLmlzTnVtYmVyKCkg
fHwgIWFyZ3VtZW50c1sxXS5pc051bWJlcigpIHx8ICFhcmd1bWVudHNbMl0uaXNOdW1iZXIoKSkK
KyAgICAgICAgcmV0dXJuOworICAgIFdlYkdlb2xvY2F0aW9uU2VydmljZU1vY2s6OnNldE1vY2tH
ZW9sb2NhdGlvblBvc2l0aW9uKGFyZ3VtZW50c1swXS50b0RvdWJsZSgpLCBhcmd1bWVudHNbMV0u
dG9Eb3VibGUoKSwgYXJndW1lbnRzWzJdLnRvRG91YmxlKCkpOworfQorCit2b2lkIExheW91dFRl
c3RDb250cm9sbGVyOjpzZXRNb2NrR2VvbG9jYXRpb25FcnJvcihjb25zdCBDcHBBcmd1bWVudExp
c3QmIGFyZ3VtZW50cywgQ3BwVmFyaWFudCogcmVzdWx0KQoreworICAgIHJlc3VsdC0+c2V0TnVs
bCgpOworICAgIGlmIChhcmd1bWVudHMuc2l6ZSgpIDwgMiB8fCAhYXJndW1lbnRzWzBdLmlzSW50
MzIoKSB8fCAhYXJndW1lbnRzWzFdLmlzU3RyaW5nKCkpCisgICAgICAgIHJldHVybjsKKyAgICBX
ZWJHZW9sb2NhdGlvblNlcnZpY2VNb2NrOjpzZXRNb2NrR2VvbG9jYXRpb25FcnJvcihhcmd1bWVu
dHNbMF0udG9JbnQzMigpLCBXZWJTdHJpbmc6OmZyb21VVEY4KGFyZ3VtZW50c1sxXS50b1N0cmlu
ZygpKSk7Cit9CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1
bS9MYXlvdXRUZXN0Q29udHJvbGxlci5oIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hy
b21pdW0vTGF5b3V0VGVzdENvbnRyb2xsZXIuaAppbmRleCA3MGYzZmY2OWZmYTlkMjc3Yjg2YjEw
YjE1ZWRlNDNlMDg5Mjk2NDBhLi43OTZmMWIyMGQ2MmMxOTQ0Zjc5MjJjYjA2NGQ3YTQ5ZWYyMDc0
MjhhIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlv
dXRUZXN0Q29udHJvbGxlci5oCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9t
aXVtL0xheW91dFRlc3RDb250cm9sbGVyLmgKQEAgLTI3OSw2ICsyNzksMTEgQEAgcHVibGljOgog
ICAgIHZvaWQgYWRkVXNlclNjcmlwdChjb25zdCBDcHBBcmd1bWVudExpc3QmLCBDcHBWYXJpYW50
Kik7CiAgICAgdm9pZCBhZGRVc2VyU3R5bGVTaGVldChjb25zdCBDcHBBcmd1bWVudExpc3QmLCBD
cHBWYXJpYW50Kik7CiAKKyAgICAvLyBHZW9sb2NhdGlvbiByZWxhdGVkIGZ1bmN0aW9ucy4KKyAg
ICB2b2lkIHNldEdlb2xvY2F0aW9uUGVybWlzc2lvbihjb25zdCBDcHBBcmd1bWVudExpc3QmLCBD
cHBWYXJpYW50Kik7CisgICAgdm9pZCBzZXRNb2NrR2VvbG9jYXRpb25Qb3NpdGlvbihjb25zdCBD
cHBBcmd1bWVudExpc3QmLCBDcHBWYXJpYW50Kik7CisgICAgdm9pZCBzZXRNb2NrR2VvbG9jYXRp
b25FcnJvcihjb25zdCBDcHBBcmd1bWVudExpc3QmLCBDcHBWYXJpYW50Kik7CisKIHB1YmxpYzoK
ICAgICAvLyBUaGUgZm9sbG93aW5nIG1ldGhvZHMgYXJlIG5vdCBleHBvc2VkIHRvIEphdmFTY3Jp
cHQuCiAgICAgdm9pZCBzZXRXb3JrUXVldWVGcm96ZW4oYm9vbCBmcm96ZW4pIHsgbV93b3JrUXVl
dWUuc2V0RnJvemVuKGZyb3plbik7IH0KZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5k
ZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5jcHAgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJl
ZS9jaHJvbWl1bS9UZXN0U2hlbGwuY3BwCmluZGV4IGM3ODUwMjE5NmQ5Njc2YjBlMDFmYTY4N2E2
ZGFjZGZkMDRjZDUwOWUuLjhiMDZkYzBmMjU5MGNjYTFlZTEzNzQ1M2FmNzM1MGRjOGMwYzBhMDYg
MTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVs
bC5jcHAKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFNoZWxs
LmNwcApAQCAtODAsNiArODAsNyBAQCBUZXN0U2hlbGw6OlRlc3RTaGVsbCgpCiAgICAgLCBtX3Rl
c3RJc1ByZXBhcmluZyhmYWxzZSkKICAgICAsIG1fZm9jdXNlZFdpZGdldCgwKQogeworICAgIFdl
YlJ1bnRpbWVGZWF0dXJlczo6ZW5hYmxlR2VvbG9jYXRpb24odHJ1ZSk7CiAgICAgbV9hY2Nlc3Np
YmlsaXR5Q29udHJvbGxlci5zZXQobmV3IEFjY2Vzc2liaWxpdHlDb250cm9sbGVyKHRoaXMpKTsK
ICAgICBtX2xheW91dFRlc3RDb250cm9sbGVyLnNldChuZXcgTGF5b3V0VGVzdENvbnRyb2xsZXIo
dGhpcykpOwogICAgIG1fZXZlbnRTZW5kZXIuc2V0KG5ldyBFdmVudFNlbmRlcih0aGlzKSk7CmRp
ZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9z
dC5jcHAgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5j
cHAKaW5kZXggYzNmNDVkZTFjY2Y1OTBmNWNjMmI0Y2I2Yjc2ZjA5ZTNjMTU1NWVkMy4uZWI0NGMy
YTZhOGIzODc4YTAwNWJlZWI3ZGNlODhmMTA5ZjNhMDgzMyAxMDA2NDQKLS0tIGEvV2ViS2l0VG9v
bHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuY3BwCisrKyBiL1dlYktpdFRv
b2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0LmNwcApAQCAtNDIsNiArNDIs
NyBAQAogI2luY2x1ZGUgInB1YmxpYy9XZWJEYXRhU291cmNlLmgiCiAjaW5jbHVkZSAicHVibGlj
L1dlYkRyYWdEYXRhLmgiCiAjaW5jbHVkZSAicHVibGljL1dlYkZyYW1lLmgiCisjaW5jbHVkZSAi
cHVibGljL1dlYkdlb2xvY2F0aW9uU2VydmljZU1vY2suaCIKICNpbmNsdWRlICJwdWJsaWMvV2Vi
SGlzdG9yeUl0ZW0uaCIKICNpbmNsdWRlICJwdWJsaWMvV2ViTm9kZS5oIgogI2luY2x1ZGUgInB1
YmxpYy9XZWJSYW5nZS5oIgpAQCAtNTI3LDYgKzUyOCwxMyBAQCBXZWJOb3RpZmljYXRpb25QcmVz
ZW50ZXIqIFdlYlZpZXdIb3N0Ojpub3RpZmljYXRpb25QcmVzZW50ZXIoKQogICAgIHJldHVybiBt
X3NoZWxsLT5ub3RpZmljYXRpb25QcmVzZW50ZXIoKTsKIH0KIAorV2ViS2l0OjpXZWJHZW9sb2Nh
dGlvblNlcnZpY2UqIFdlYlZpZXdIb3N0OjpnZW9sb2NhdGlvblNlcnZpY2UoKQoreworICAgIGlm
ICghbV9nZW9sb2NhdGlvblNlcnZpY2VNb2NrLmdldCgpKQorICAgICAgICBtX2dlb2xvY2F0aW9u
U2VydmljZU1vY2suc2V0KG5ldyBXZWJHZW9sb2NhdGlvblNlcnZpY2VNb2NrKTsKKyAgICByZXR1
cm4gbV9nZW9sb2NhdGlvblNlcnZpY2VNb2NrLmdldCgpOworfQorCiAvLyBXZWJXaWRnZXRDbGll
bnQgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0KIAogdm9pZCBXZWJWaWV3SG9zdDo6ZGlkSW52YWxpZGF0ZVJlY3QoY29uc3QgV2ViUmVj
dCYgcmVjdCkKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVt
L1dlYlZpZXdIb3N0LmggYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJW
aWV3SG9zdC5oCmluZGV4IDUyMjdiMjgwOGU3OWQ0Y2RiOTk0NTVhZjFjYzllZGM2ODdjNDNmZGEu
LjhmYjlkMDQ1Zjc2MjgzYzRkOWY3MjUxNzYzYjMwNTI2Y2EyODc4ZWEgMTAwNjQ0Ci0tLSBhL1dl
YktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0LmgKKysrIGIvV2Vi
S2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuaApAQCAtNDUsNiAr
NDUsNyBAQCBjbGFzcyBMYXlvdXRUZXN0Q29udHJvbGxlcjsKIGNsYXNzIFRlc3RTaGVsbDsKIG5h
bWVzcGFjZSBXZWJLaXQgewogY2xhc3MgV2ViRnJhbWU7CitjbGFzcyBXZWJHZW9sb2NhdGlvblNl
cnZpY2VNb2NrOwogY2xhc3MgV2ViVVJMOwogc3RydWN0IFdlYlJlY3Q7CiBzdHJ1Y3QgV2ViVVJM
RXJyb3I7CkBAIC0xMjUsNiArMTI2LDcgQEAgY2xhc3MgV2ViVmlld0hvc3QgOiBwdWJsaWMgV2Vi
S2l0OjpXZWJWaWV3Q2xpZW50LCBwdWJsaWMgV2ViS2l0OjpXZWJGcmFtZUNsaWVudCwKICAgICB2
aXJ0dWFsIGludCBoaXN0b3J5Rm9yd2FyZExpc3RDb3VudCgpOwogICAgIHZpcnR1YWwgdm9pZCBm
b2N1c0FjY2Vzc2liaWxpdHlPYmplY3QoY29uc3QgV2ViS2l0OjpXZWJBY2Nlc3NpYmlsaXR5T2Jq
ZWN0Jik7CiAgICAgdmlydHVhbCBXZWJLaXQ6OldlYk5vdGlmaWNhdGlvblByZXNlbnRlciogbm90
aWZpY2F0aW9uUHJlc2VudGVyKCk7CisgICAgdmlydHVhbCBXZWJLaXQ6OldlYkdlb2xvY2F0aW9u
U2VydmljZSogZ2VvbG9jYXRpb25TZXJ2aWNlKCk7CiAKICAgICAvLyBXZWJLaXQ6OldlYldpZGdl
dENsaWVudAogICAgIHZpcnR1YWwgdm9pZCBkaWRJbnZhbGlkYXRlUmVjdChjb25zdCBXZWJLaXQ6
OldlYlJlY3QmKTsKQEAgLTI3OCw2ICsyODAsOSBAQCBwcml2YXRlOgogICAgIFdlYktpdDo6V2Vi
UmVjdCBtX3BhaW50UmVjdDsKICAgICBib29sIG1faXNQYWludGluZzsKIAorICAgIC8vIEdlb2xv
Y2F0aW9uCisgICAgT3duUHRyPFdlYktpdDo6V2ViR2VvbG9jYXRpb25TZXJ2aWNlTW9jaz4gbV9n
ZW9sb2NhdGlvblNlcnZpY2VNb2NrOworCiAgICAgT3duUHRyPFRlc3ROYXZpZ2F0aW9uQ29udHJv
bGxlcio+IG1fbmF2aWdhdGlvbkNvbnRyb2xsZXI7CiB9OwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>56691</attachid>
            <date>2010-05-21 03:39:33 -0700</date>
            <delta_ts>2010-05-23 02:07:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-39440-20100521113931.patch</filename>
            <type>text/plain</type>
            <size>14747</size>
            <attacher name="Marcus Bulach">bulach</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9XZWJLaXQvY2hyb21pdW0v
Q2hhbmdlTG9nCmluZGV4IDhhNjhjNGU2ZTg0MzQ1MzNhNzVkZjcyNDk1MDVkOGQ3OTI2MGJmM2Eu
LjdiYTMwNGFmMWM3NzdiNWYzNzIwMWM5MWM5ZGE5Nzg2M2VlODhkYjIgMTAwNjQ0Ci0tLSBhL1dl
YktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE5IEBACisyMDEwLTA1LTIwICBNYXJjdXMgQnVsYWNoICA8YnVsYWNoQGNocm9t
aXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBbY2hyb21pdW1dIEFkZHMgR2VvbG9jYXRpb24gc3VwcG9ydCB0byBEdW1wUmVuZGVyVHJlZS4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM5NDQwCisK
KyAgICAgICAgRXhpc3RpbmcgTGF5b3V0VGVzdHMvZmFzdC9kb20vR2VvbG9jYXRpb24vKiBzaG91
bGQgcGFzcy4KKworICAgICAgICAqIHB1YmxpYy9XZWJHZW9sb2NhdGlvblNlcnZpY2VNb2NrLmg6
CisgICAgICAgICogc3JjL1dlYkdlb2xvY2F0aW9uU2VydmljZU1vY2suY3BwOgorICAgICAgICAo
V2ViS2l0OjpXZWJHZW9sb2NhdGlvblNlcnZpY2VNb2NrOjpzZXRNb2NrR2VvbG9jYXRpb25QZXJt
aXNzaW9uKToKKyAgICAgICAgKFdlYktpdDo6V2ViR2VvbG9jYXRpb25TZXJ2aWNlTW9jazo6cmVx
dWVzdFBlcm1pc3Npb25Gb3JGcmFtZSk6CisgICAgICAgIChXZWJLaXQ6OldlYkdlb2xvY2F0aW9u
U2VydmljZU1vY2s6OmF0dGFjaEJyaWRnZSk6CisgICAgICAgIChXZWJLaXQ6OldlYkdlb2xvY2F0
aW9uU2VydmljZU1vY2s6OmRldGFjaEJyaWRnZSk6CisKIDIwMTAtMDUtMjAgIFZpZXQtVHJ1bmcg
THV1ICA8dmlldHRydW5nbHV1QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBE
YXJpbiBGaXNoZXIuCmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkdlb2xv
Y2F0aW9uU2VydmljZU1vY2suaCBiL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViR2VvbG9jYXRp
b25TZXJ2aWNlTW9jay5oCmluZGV4IDVmOWJjNTZmN2JlNGEyYWEyMTkyNjdkM2ZlMWY5NjViODQ1
MmU2YzUuLjI4NWY3MGM4NGZmZDNhMGQwODk0YWMyMTRkYjVjZDUwMDYzZjA1ZTAgMTAwNjQ0Ci0t
LSBhL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViR2VvbG9jYXRpb25TZXJ2aWNlTW9jay5oCisr
KyBiL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViR2VvbG9jYXRpb25TZXJ2aWNlTW9jay5oCkBA
IC0zMSwxNCArMzEsMjggQEAKICNpZm5kZWYgV2ViR2VvbG9jYXRpb25TZXJ2aWNlTW9ja19oCiAj
ZGVmaW5lIFdlYkdlb2xvY2F0aW9uU2VydmljZU1vY2tfaAogCisjaW5jbHVkZSAiV2ViR2VvbG9j
YXRpb25TZXJ2aWNlLmgiCisjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KKwogbmFtZXNwYWNlIFdl
YktpdCB7CiAKIGNsYXNzIFdlYlN0cmluZzsKIAotY2xhc3MgV2ViR2VvbG9jYXRpb25TZXJ2aWNl
TW9jayB7CitjbGFzcyBXZWJHZW9sb2NhdGlvblNlcnZpY2VNb2NrIDogcHVibGljIFdlYkdlb2xv
Y2F0aW9uU2VydmljZSB7CiBwdWJsaWM6CisgICAgc3RhdGljIHZvaWQgc2V0TW9ja0dlb2xvY2F0
aW9uUGVybWlzc2lvbihib29sIGFsbG93ZWQpOwogICAgIHN0YXRpYyB2b2lkIHNldE1vY2tHZW9s
b2NhdGlvblBvc2l0aW9uKGRvdWJsZSBsYXRpdHVkZSwgZG91YmxlIGxvbmdpdHVkZSwgZG91Ymxl
IGFjY3VyYWN5KTsKICAgICBzdGF0aWMgdm9pZCBzZXRNb2NrR2VvbG9jYXRpb25FcnJvcihpbnQg
ZXJyb3JDb2RlLCBjb25zdCBXZWJTdHJpbmcmIG1lc3NhZ2UpOworCisgICAgdmlydHVhbCB2b2lk
IHJlcXVlc3RQZXJtaXNzaW9uRm9yRnJhbWUoaW50IGJyaWRnZUlkLCBjb25zdCBXZWJVUkwmIHVy
bCk7CisgICAgdmlydHVhbCBpbnQgYXR0YWNoQnJpZGdlKFdlYkdlb2xvY2F0aW9uU2VydmljZUJy
aWRnZSopOworICAgIHZpcnR1YWwgdm9pZCBkZXRhY2hCcmlkZ2UoaW50IGJyaWRnZUlkKTsKKwor
cHJpdmF0ZToKKyAgICB0eXBlZGVmIEhhc2hNYXA8aW50LCBXZWJHZW9sb2NhdGlvblNlcnZpY2VC
cmlkZ2UqPiBJZFRvQnJpZGdlTWFwOworICAgIElkVG9CcmlkZ2VNYXAgbV9pZFRvQnJpZGdlTWFw
OworCisgICAgc3RhdGljIGJvb2wgc19tb2NrR2VvbG9jYXRpb25QZXJtaXNzaW9uOwogfTsKIAog
fSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
Ykdlb2xvY2F0aW9uU2VydmljZU1vY2suY3BwIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJHZW9s
b2NhdGlvblNlcnZpY2VNb2NrLmNwcAppbmRleCBmZWY3NGU2ZDVjZjAyYTExYWE5ODFlOWY2NGY5
NDg3MTIyOTEzNzJkLi4yZWVkMzUyOWRiODU5ODQzNDNjNmIyZmZmZThiOGJhODk2MGVmY2Q4IDEw
MDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkdlb2xvY2F0aW9uU2VydmljZU1vY2su
Y3BwCisrKyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViR2VvbG9jYXRpb25TZXJ2aWNlTW9jay5j
cHAKQEAgLTEyMSw2ICsxMjEsMTMgQEAgdm9pZCBHZW9sb2NhdGlvblNlcnZpY2VDaHJvbWl1bU1v
Y2s6Omdlb2xvY2F0aW9uU2VydmljZUVycm9yT2NjdXJyZWQoR2VvbG9jYXRpb24KIAogbmFtZXNw
YWNlIFdlYktpdCB7CiAKK2Jvb2wgV2ViR2VvbG9jYXRpb25TZXJ2aWNlTW9jazo6c19tb2NrR2Vv
bG9jYXRpb25QZXJtaXNzaW9uID0gZmFsc2U7CisKK3ZvaWQgV2ViR2VvbG9jYXRpb25TZXJ2aWNl
TW9jazo6c2V0TW9ja0dlb2xvY2F0aW9uUGVybWlzc2lvbihib29sIGFsbG93ZWQpCit7CisgICAg
c19tb2NrR2VvbG9jYXRpb25QZXJtaXNzaW9uID0gYWxsb3dlZDsKK30KKwogdm9pZCBXZWJHZW9s
b2NhdGlvblNlcnZpY2VNb2NrOjpzZXRNb2NrR2VvbG9jYXRpb25Qb3NpdGlvbihkb3VibGUgbGF0
aXR1ZGUsIGRvdWJsZSBsb25naXR1ZGUsIGRvdWJsZSBhY2N1cmFjeSkKIHsKICAgICBXZWJDb3Jl
OjpHZW9sb2NhdGlvblNlcnZpY2U6OnNldEN1c3RvbU1vY2tGYWN0b3J5KCZXZWJDb3JlOjpHZW9s
b2NhdGlvblNlcnZpY2VDaHJvbWl1bU1vY2s6OmNyZWF0ZSk7CkBAIC0xMzUsNiArMTQyLDI5IEBA
IHZvaWQgV2ViR2VvbG9jYXRpb25TZXJ2aWNlTW9jazo6c2V0TW9ja0dlb2xvY2F0aW9uRXJyb3Io
aW50IGVycm9yQ29kZSwgY29uc3QgV2ViCiAgICAgR2VvbG9jYXRpb25TZXJ2aWNlTW9jazo6c2V0
RXJyb3IocG9zaXRpb25FcnJvcik7CiB9CiAKK3ZvaWQgV2ViR2VvbG9jYXRpb25TZXJ2aWNlTW9j
azo6cmVxdWVzdFBlcm1pc3Npb25Gb3JGcmFtZShpbnQgYnJpZGdlSWQsIGNvbnN0IFdlYlVSTCYg
dXJsKQoreworICAgIElkVG9CcmlkZ2VNYXA6Oml0ZXJhdG9yIGl0ZXIgPSBtX2lkVG9CcmlkZ2VN
YXAuZmluZChicmlkZ2VJZCk7CisgICAgaWYgKGl0ZXIgPT0gbV9pZFRvQnJpZGdlTWFwLmVuZCgp
KQorICAgICAgICByZXR1cm47CisgICAgaXRlci0+c2Vjb25kLT5zZXRJc0FsbG93ZWQoc19tb2Nr
R2VvbG9jYXRpb25QZXJtaXNzaW9uKTsKK30KKworaW50IFdlYkdlb2xvY2F0aW9uU2VydmljZU1v
Y2s6OmF0dGFjaEJyaWRnZShXZWJHZW9sb2NhdGlvblNlcnZpY2VCcmlkZ2UqIGJyaWRnZSkKK3sK
KyAgICBzdGF0aWMgaW50IG5leHRBdmFpbGFibGVXYXRjaElkID0gMTsKKyAgICAvLyBJbiBjYXNl
IG9mIG92ZXJmbG93LCBtYWtlIHN1cmUgdGhlIElEIHJlbWFpbnMgcG9zaXRpdmUsIGJ1dCByZXVz
ZSB0aGUgSUQgdmFsdWVzLgorICAgIGlmIChuZXh0QXZhaWxhYmxlV2F0Y2hJZCA8IDEpCisgICAg
ICAgIG5leHRBdmFpbGFibGVXYXRjaElkID0gMTsKKyAgICBtX2lkVG9CcmlkZ2VNYXAuc2V0KG5l
eHRBdmFpbGFibGVXYXRjaElkLCBicmlkZ2UpOworICAgIHJldHVybiBuZXh0QXZhaWxhYmxlV2F0
Y2hJZCsrOworfQorCit2b2lkIFdlYkdlb2xvY2F0aW9uU2VydmljZU1vY2s6OmRldGFjaEJyaWRn
ZShpbnQgYnJpZGdlSWQpCit7CisgICAgbV9pZFRvQnJpZGdlTWFwLnJlbW92ZShicmlkZ2VJZCk7
Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCiAjZW5kaWYgLy8gRU5BQkxFKEdFT0xPQ0FU
SU9OKQpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nIGIvV2ViS2l0VG9vbHMvQ2hh
bmdlTG9nCmluZGV4IDE1ZGFhMDg5NTQxMzBkYWE0YTYwNzI4ZjY1YTZlYWJhNTZkNjYxZmIuLjEy
MmZiY2YyMjcxMDE2YmJjOGVkNzA1YmQwOTk4OWEzNzc5ZmE5NDQgMTAwNjQ0Ci0tLSBhL1dlYktp
dFRvb2xzL0NoYW5nZUxvZworKysgYi9XZWJLaXRUb29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwy
NCBAQAorMjAxMC0wNS0yMCAgTWFyY3VzIEJ1bGFjaCAgPGJ1bGFjaEBjaHJvbWl1bS5vcmc+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW2Nocm9taXVt
XSBBZGRzIEdlb2xvY2F0aW9uIHN1cHBvcnQgdG8gRHVtcFJlbmRlclRyZWUuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zOTQ0MAorCisgICAgICAgIEV4
aXN0aW5nIExheW91dFRlc3RzL2Zhc3QvZG9tL0dlb2xvY2F0aW9uLyogc2hvdWxkIHBhc3MuCisK
KyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5j
cHA6CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6TGF5b3V0VGVzdENvbnRyb2xsZXIp
OgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldEdlb2xvY2F0aW9uUGVybWlzc2lv
bik6CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0TW9ja0dlb2xvY2F0aW9uUG9z
aXRpb24pOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldE1vY2tHZW9sb2NhdGlv
bkVycm9yKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29u
dHJvbGxlci5oOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RTaGVsbC5j
cHA6CisgICAgICAgIChUZXN0U2hlbGw6OlRlc3RTaGVsbCk6CisgICAgICAgICogRHVtcFJlbmRl
clRyZWUvY2hyb21pdW0vV2ViVmlld0hvc3QuY3BwOgorICAgICAgICAoV2ViVmlld0hvc3Q6Omdl
b2xvY2F0aW9uU2VydmljZSk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2Vi
Vmlld0hvc3QuaDoKKwogMjAxMC0wNS0yMCAgTWFyayBSb3dlICA8bXJvd2VAYXBwbGUuY29tPgog
CiAgICAgICAgIFJ1YmJlci1zdGFtcGVkIGJ5IERhbiBCZXJuc3RlaW4uCmRpZmYgLS1naXQgYS9X
ZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5j
cHAgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29udHJv
bGxlci5jcHAKaW5kZXggNmI5YTYxN2M0M2E3MDNmYmU5M2M5MDBlNDIxYjU3NjM2M2U5ZjE2MC4u
YjRlMzc2NDU1YzE1MTI2YTI1NjBhYmM4YTE5N2M3ZTY4ZmRmNGUyNiAxMDA2NDQKLS0tIGEvV2Vi
S2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTGF5b3V0VGVzdENvbnRyb2xsZXIuY3Bw
CisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xheW91dFRlc3RDb250
cm9sbGVyLmNwcApAQCAtMzksNiArMzksNyBAQAogI2luY2x1ZGUgInB1YmxpYy9XZWJDb25zb2xl
TWVzc2FnZS5oIgogI2luY2x1ZGUgInB1YmxpYy9XZWJEb2N1bWVudC5oIgogI2luY2x1ZGUgInB1
YmxpYy9XZWJGcmFtZS5oIgorI2luY2x1ZGUgInB1YmxpYy9XZWJHZW9sb2NhdGlvblNlcnZpY2VN
b2NrLmgiCiAjaW5jbHVkZSAicHVibGljL1dlYklucHV0RWxlbWVudC5oIgogI2luY2x1ZGUgInB1
YmxpYy9XZWJLaXQuaCIKICNpbmNsdWRlICJwdWJsaWMvV2ViTm90aWZpY2F0aW9uUHJlc2VudGVy
LmgiCkBAIC0xNjEsNiArMTYyLDEwIEBAIExheW91dFRlc3RDb250cm9sbGVyOjpMYXlvdXRUZXN0
Q29udHJvbGxlcihUZXN0U2hlbGwqIHNoZWxsKQogICAgIGJpbmRNZXRob2QoImZvcmNlUmVkU2Vs
ZWN0aW9uQ29sb3JzIiwgJkxheW91dFRlc3RDb250cm9sbGVyOjpmb3JjZVJlZFNlbGVjdGlvbkNv
bG9ycyk7CiAgICAgYmluZE1ldGhvZCgic2V0RWRpdGluZ0JlaGF2aW9yIiwgJkxheW91dFRlc3RD
b250cm9sbGVyOjpzZXRFZGl0aW5nQmVoYXZpb3IpOwogCisgICAgYmluZE1ldGhvZCgic2V0R2Vv
bG9jYXRpb25QZXJtaXNzaW9uIiwgJkxheW91dFRlc3RDb250cm9sbGVyOjpzZXRHZW9sb2NhdGlv
blBlcm1pc3Npb24pOworICAgIGJpbmRNZXRob2QoInNldE1vY2tHZW9sb2NhdGlvblBvc2l0aW9u
IiwgJkxheW91dFRlc3RDb250cm9sbGVyOjpzZXRNb2NrR2VvbG9jYXRpb25Qb3NpdGlvbik7Cisg
ICAgYmluZE1ldGhvZCgic2V0TW9ja0dlb2xvY2F0aW9uRXJyb3IiLCAmTGF5b3V0VGVzdENvbnRy
b2xsZXI6OnNldE1vY2tHZW9sb2NhdGlvbkVycm9yKTsKKwogICAgIC8vIFRoZSBmYWxsYmFjayBt
ZXRob2QgaXMgY2FsbGVkIHdoZW4gYW4gdW5rbm93biBtZXRob2QgaXMgaW52b2tlZC4KICAgICBi
aW5kRmFsbGJhY2tNZXRob2QoJkxheW91dFRlc3RDb250cm9sbGVyOjpmYWxsYmFja01ldGhvZCk7
CiAKQEAgLTg1NCw3ICs4NTksNyBAQCB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpncmFudERl
c2t0b3BOb3RpZmljYXRpb25QZXJtaXNzaW9uKGNvbnN0IENwcEFyZ3VtZW50TAogICAgICAgICBy
ZXN1bHQtPnNldChmYWxzZSk7CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0gICAgbV9zaGVsbC0+
bm90aWZpY2F0aW9uUHJlc2VudGVyKCktPmdyYW50UGVybWlzc2lvbihXZWJTdHJpbmc6OmZyb21V
VEY4KGFyZ3VtZW50c1swXS50b1N0cmluZygpKSk7CisgICAgbV9zaGVsbC0+bm90aWZpY2F0aW9u
UHJlc2VudGVyKCktPmdyYW50UGVybWlzc2lvbihjcHBWYXJpYW50VG9XZWJTdHJpbmcoYXJndW1l
bnRzWzBdKSk7CiAgICAgcmVzdWx0LT5zZXQodHJ1ZSk7CiB9CiAKQEAgLTk1Nyw3ICs5NjIsNyBA
QCB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzZXRYU1NBdWRpdG9yRW5hYmxlZChjb25zdCBD
cHBBcmd1bWVudExpc3QmIGFyZ3VtZW50cwogdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6ZXZh
bHVhdGVTY3JpcHRJbklzb2xhdGVkV29ybGQoY29uc3QgQ3BwQXJndW1lbnRMaXN0JiBhcmd1bWVu
dHMsIENwcFZhcmlhbnQqIHJlc3VsdCkKIHsKICAgICBpZiAoYXJndW1lbnRzLnNpemUoKSA+PSAy
ICYmIGFyZ3VtZW50c1swXS5pc051bWJlcigpICYmIGFyZ3VtZW50c1sxXS5pc1N0cmluZygpKSB7
Ci0gICAgICAgIFdlYlNjcmlwdFNvdXJjZSBzb3VyY2UoV2ViU3RyaW5nOjpmcm9tVVRGOChhcmd1
bWVudHNbMV0udG9TdHJpbmcoKSkpOworICAgICAgICBXZWJTY3JpcHRTb3VyY2Ugc291cmNlKGNw
cFZhcmlhbnRUb1dlYlN0cmluZyhhcmd1bWVudHNbMV0pKTsKICAgICAgICAgLy8gVGhpcyByZWxp
ZXMgb24gdGhlIGlmcmFtZSBmb2N1c2luZyBpdHNlbGYgd2hlbiBpdCBsb2Fkcy4gVGhpcyBpcyBh
IGJpdAogICAgICAgICAvLyBza2V0Y2h5LCBidXQgaXQgc2VlbXMgdG8gYmUgd2hhdCBvdGhlciB0
ZXN0cyBkby4KICAgICAgICAgbV9zaGVsbC0+d2ViVmlldygpLT5mb2N1c2VkRnJhbWUoKS0+ZXhl
Y3V0ZVNjcmlwdEluSXNvbGF0ZWRXb3JsZChhcmd1bWVudHNbMF0udG9JbnQzMigpLCAmc291cmNl
LCAxLCAxKTsKQEAgLTExMTIsOCArMTExNyw4IEBAIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6
OmFkZE9yaWdpbkFjY2Vzc1doaXRlbGlzdEVudHJ5KGNvbnN0IENwcEFyZ3VtZW50TGlzdCYKIAog
ICAgIFdlYlNlY3VyaXR5UG9saWN5OjphZGRPcmlnaW5BY2Nlc3NXaGl0ZWxpc3RFbnRyeSgKICAg
ICAgICAgdXJsLAotICAgICAgICBXZWJTdHJpbmc6OmZyb21VVEY4KGFyZ3VtZW50c1sxXS50b1N0
cmluZygpKSwKLSAgICAgICAgV2ViU3RyaW5nOjpmcm9tVVRGOChhcmd1bWVudHNbMl0udG9TdHJp
bmcoKSksCisgICAgICAgIGNwcFZhcmlhbnRUb1dlYlN0cmluZyhhcmd1bWVudHNbMV0pLAorICAg
ICAgICBjcHBWYXJpYW50VG9XZWJTdHJpbmcoYXJndW1lbnRzWzJdKSwKICAgICAgICAgYXJndW1l
bnRzWzNdLnRvQm9vbGVhbigpKTsKIH0KIApAQCAtMTEzMSw4ICsxMTM2LDggQEAgdm9pZCBMYXlv
dXRUZXN0Q29udHJvbGxlcjo6cmVtb3ZlT3JpZ2luQWNjZXNzV2hpdGVsaXN0RW50cnkoY29uc3Qg
Q3BwQXJndW1lbnRMaXMKIAogICAgIFdlYlNlY3VyaXR5UG9saWN5OjpyZW1vdmVPcmlnaW5BY2Nl
c3NXaGl0ZWxpc3RFbnRyeSgKICAgICAgICAgdXJsLAotICAgICAgICBXZWJTdHJpbmc6OmZyb21V
VEY4KGFyZ3VtZW50c1sxXS50b1N0cmluZygpKSwKLSAgICAgICAgV2ViU3RyaW5nOjpmcm9tVVRG
OChhcmd1bWVudHNbMl0udG9TdHJpbmcoKSksCisgICAgICAgIGNwcFZhcmlhbnRUb1dlYlN0cmlu
Zyhhcmd1bWVudHNbMV0pLAorICAgICAgICBjcHBWYXJpYW50VG9XZWJTdHJpbmcoYXJndW1lbnRz
WzJdKSwKICAgICAgICAgYXJndW1lbnRzWzNdLnRvQm9vbGVhbigpKTsKIH0KIApAQCAtMTI2Myw3
ICsxMjY4LDcgQEAgdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6YWRkVXNlclNjcmlwdChjb25z
dCBDcHBBcmd1bWVudExpc3QmIGFyZ3VtZW50cywgQ3BwVmEKICAgICByZXN1bHQtPnNldE51bGwo
KTsKICAgICBpZiAoYXJndW1lbnRzLnNpemUoKSA8IDIgfHwgIWFyZ3VtZW50c1swXS5pc1N0cmlu
ZygpIHx8ICFhcmd1bWVudHNbMV0uaXNCb29sKCkpCiAgICAgICAgIHJldHVybjsKLSAgICBtX3No
ZWxsLT53ZWJWaWV3KCktPmFkZFVzZXJTY3JpcHQoV2ViU3RyaW5nOjpmcm9tVVRGOChhcmd1bWVu
dHNbMF0udG9TdHJpbmcoKSksIGFyZ3VtZW50c1sxXS50b0Jvb2xlYW4oKSk7CisgICAgbV9zaGVs
bC0+d2ViVmlldygpLT5hZGRVc2VyU2NyaXB0KGNwcFZhcmlhbnRUb1dlYlN0cmluZyhhcmd1bWVu
dHNbMF0pLCBhcmd1bWVudHNbMV0udG9Cb29sZWFuKCkpOwogfQogCiB2b2lkIExheW91dFRlc3RD
b250cm9sbGVyOjphZGRVc2VyU3R5bGVTaGVldChjb25zdCBDcHBBcmd1bWVudExpc3QmIGFyZ3Vt
ZW50cywgQ3BwVmFyaWFudCogcmVzdWx0KQpAQCAtMTI3MSw3ICsxMjc2LDcgQEAgdm9pZCBMYXlv
dXRUZXN0Q29udHJvbGxlcjo6YWRkVXNlclN0eWxlU2hlZXQoY29uc3QgQ3BwQXJndW1lbnRMaXN0
JiBhcmd1bWVudHMsIEMKICAgICByZXN1bHQtPnNldE51bGwoKTsKICAgICBpZiAoYXJndW1lbnRz
LnNpemUoKSA8IDEgfHwgIWFyZ3VtZW50c1swXS5pc1N0cmluZygpKQogICAgICAgICByZXR1cm47
Ci0gICAgbV9zaGVsbC0+d2ViVmlldygpLT5hZGRVc2VyU3R5bGVTaGVldChXZWJTdHJpbmc6OmZy
b21VVEY4KGFyZ3VtZW50c1swXS50b1N0cmluZygpKSk7CisgICAgbV9zaGVsbC0+d2ViVmlldygp
LT5hZGRVc2VyU3R5bGVTaGVldChjcHBWYXJpYW50VG9XZWJTdHJpbmcoYXJndW1lbnRzWzBdKSk7
CiB9CiAKIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldEVkaXRpbmdCZWhhdmlvcihjb25z
dCBDcHBBcmd1bWVudExpc3QmIGFyZ3VtZW50cywgQ3BwVmFyaWFudCogcmVzdWx0cykKQEAgLTEy
ODUsMyArMTI5MCwyNyBAQCB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzZXRFZGl0aW5nQmVo
YXZpb3IoY29uc3QgQ3BwQXJndW1lbnRMaXN0JiBhcmd1bWVudHMsCiAgICAgZWxzZQogICAgICAg
ICBsb2dFcnJvclRvQ29uc29sZSgiUGFzc2VkIGludmFsaWQgZWRpdGluZyBiZWhhdmlvci4gU2hv
dWxkIGJlICdtYWMnIG9yICd3aW4nLiIpOwogfQorCit2b2lkIExheW91dFRlc3RDb250cm9sbGVy
OjpzZXRHZW9sb2NhdGlvblBlcm1pc3Npb24oY29uc3QgQ3BwQXJndW1lbnRMaXN0JiBhcmd1bWVu
dHMsIENwcFZhcmlhbnQqIHJlc3VsdCkKK3sKKyAgICByZXN1bHQtPnNldE51bGwoKTsKKyAgICBp
ZiAoYXJndW1lbnRzLnNpemUoKSA8IDEgfHwgIWFyZ3VtZW50c1swXS5pc0Jvb2woKSkKKyAgICAg
ICAgcmV0dXJuOworICAgIFdlYkdlb2xvY2F0aW9uU2VydmljZU1vY2s6OnNldE1vY2tHZW9sb2Nh
dGlvblBlcm1pc3Npb24oYXJndW1lbnRzWzBdLnRvQm9vbGVhbigpKTsKK30KKwordm9pZCBMYXlv
dXRUZXN0Q29udHJvbGxlcjo6c2V0TW9ja0dlb2xvY2F0aW9uUG9zaXRpb24oY29uc3QgQ3BwQXJn
dW1lbnRMaXN0JiBhcmd1bWVudHMsIENwcFZhcmlhbnQqIHJlc3VsdCkKK3sKKyAgICByZXN1bHQt
PnNldE51bGwoKTsKKyAgICBpZiAoYXJndW1lbnRzLnNpemUoKSA8IDMgfHwgIWFyZ3VtZW50c1sw
XS5pc051bWJlcigpIHx8ICFhcmd1bWVudHNbMV0uaXNOdW1iZXIoKSB8fCAhYXJndW1lbnRzWzJd
LmlzTnVtYmVyKCkpCisgICAgICAgIHJldHVybjsKKyAgICBXZWJHZW9sb2NhdGlvblNlcnZpY2VN
b2NrOjpzZXRNb2NrR2VvbG9jYXRpb25Qb3NpdGlvbihhcmd1bWVudHNbMF0udG9Eb3VibGUoKSwg
YXJndW1lbnRzWzFdLnRvRG91YmxlKCksIGFyZ3VtZW50c1syXS50b0RvdWJsZSgpKTsKK30KKwor
dm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0TW9ja0dlb2xvY2F0aW9uRXJyb3IoY29uc3Qg
Q3BwQXJndW1lbnRMaXN0JiBhcmd1bWVudHMsIENwcFZhcmlhbnQqIHJlc3VsdCkKK3sKKyAgICBy
ZXN1bHQtPnNldE51bGwoKTsKKyAgICBpZiAoYXJndW1lbnRzLnNpemUoKSA8IDIgfHwgIWFyZ3Vt
ZW50c1swXS5pc0ludDMyKCkgfHwgIWFyZ3VtZW50c1sxXS5pc1N0cmluZygpKQorICAgICAgICBy
ZXR1cm47CisgICAgV2ViR2VvbG9jYXRpb25TZXJ2aWNlTW9jazo6c2V0TW9ja0dlb2xvY2F0aW9u
RXJyb3IoYXJndW1lbnRzWzBdLnRvSW50MzIoKSwgY3BwVmFyaWFudFRvV2ViU3RyaW5nKGFyZ3Vt
ZW50c1sxXSkpOworfQpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hy
b21pdW0vTGF5b3V0VGVzdENvbnRyb2xsZXIuaCBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVl
L2Nocm9taXVtL0xheW91dFRlc3RDb250cm9sbGVyLmgKaW5kZXggYTFjMmRhMDk4NTc1NjU1MGU5
NzRmMGJhZGUzNWZiZTU2Mjc5MGFkZS4uMGU2NjA4NzhjOTY0ZTFjMzBjYjA4NmRkZTdmNjU3NGNi
YTNjMjMxMyAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0v
TGF5b3V0VGVzdENvbnRyb2xsZXIuaAorKysgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9j
aHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5oCkBAIC0yODEsNiArMjgxLDExIEBAIHB1Ymxp
YzoKICAgICB2b2lkIGFkZFVzZXJTY3JpcHQoY29uc3QgQ3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFy
aWFudCopOwogICAgIHZvaWQgYWRkVXNlclN0eWxlU2hlZXQoY29uc3QgQ3BwQXJndW1lbnRMaXN0
JiwgQ3BwVmFyaWFudCopOwogCisgICAgLy8gR2VvbG9jYXRpb24gcmVsYXRlZCBmdW5jdGlvbnMu
CisgICAgdm9pZCBzZXRHZW9sb2NhdGlvblBlcm1pc3Npb24oY29uc3QgQ3BwQXJndW1lbnRMaXN0
JiwgQ3BwVmFyaWFudCopOworICAgIHZvaWQgc2V0TW9ja0dlb2xvY2F0aW9uUG9zaXRpb24oY29u
c3QgQ3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudCopOworICAgIHZvaWQgc2V0TW9ja0dlb2xv
Y2F0aW9uRXJyb3IoY29uc3QgQ3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudCopOworCiBwdWJs
aWM6CiAgICAgLy8gVGhlIGZvbGxvd2luZyBtZXRob2RzIGFyZSBub3QgZXhwb3NlZCB0byBKYXZh
U2NyaXB0LgogICAgIHZvaWQgc2V0V29ya1F1ZXVlRnJvemVuKGJvb2wgZnJvemVuKSB7IG1fd29y
a1F1ZXVlLnNldEZyb3plbihmcm96ZW4pOyB9CmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1w
UmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0U2hlbGwuY3BwIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRl
clRyZWUvY2hyb21pdW0vVGVzdFNoZWxsLmNwcAppbmRleCBiYTdmY2U5YTYxOWE4NDI3M2VmZmJh
ZWFiMmJlZjVhNjQ5MTMwYTg4Li4yOWJkNTk2YWY1NzAyYjdlZmMxNWE4NmZkMWFjYjg5MmZhZWFi
ODljIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0
U2hlbGwuY3BwCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RT
aGVsbC5jcHAKQEAgLTgwLDYgKzgwLDcgQEAgVGVzdFNoZWxsOjpUZXN0U2hlbGwoKQogICAgICwg
bV90ZXN0SXNQcmVwYXJpbmcoZmFsc2UpCiAgICAgLCBtX2ZvY3VzZWRXaWRnZXQoMCkKIHsKKyAg
ICBXZWJSdW50aW1lRmVhdHVyZXM6OmVuYWJsZUdlb2xvY2F0aW9uKHRydWUpOwogICAgIG1fYWNj
ZXNzaWJpbGl0eUNvbnRyb2xsZXIuc2V0KG5ldyBBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcih0aGlz
KSk7CiAgICAgbV9sYXlvdXRUZXN0Q29udHJvbGxlci5zZXQobmV3IExheW91dFRlc3RDb250cm9s
bGVyKHRoaXMpKTsKICAgICBtX2V2ZW50U2VuZGVyLnNldChuZXcgRXZlbnRTZW5kZXIodGhpcykp
OwpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmll
d0hvc3QuY3BwIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vV2ViVmlld0hv
c3QuY3BwCmluZGV4IGMzZjQ1ZGUxY2NmNTkwZjVjYzJiNGNiNmI3NmYwOWUzYzE1NTVlZDMuLmVi
NDRjMmE2YThiMzg3OGEwMDViZWViN2RjZTg4ZjEwOWYzYTA4MzMgMTAwNjQ0Ci0tLSBhL1dlYktp
dFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0LmNwcAorKysgYi9XZWJL
aXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5jcHAKQEAgLTQyLDYg
KzQyLDcgQEAKICNpbmNsdWRlICJwdWJsaWMvV2ViRGF0YVNvdXJjZS5oIgogI2luY2x1ZGUgInB1
YmxpYy9XZWJEcmFnRGF0YS5oIgogI2luY2x1ZGUgInB1YmxpYy9XZWJGcmFtZS5oIgorI2luY2x1
ZGUgInB1YmxpYy9XZWJHZW9sb2NhdGlvblNlcnZpY2VNb2NrLmgiCiAjaW5jbHVkZSAicHVibGlj
L1dlYkhpc3RvcnlJdGVtLmgiCiAjaW5jbHVkZSAicHVibGljL1dlYk5vZGUuaCIKICNpbmNsdWRl
ICJwdWJsaWMvV2ViUmFuZ2UuaCIKQEAgLTUyNyw2ICs1MjgsMTMgQEAgV2ViTm90aWZpY2F0aW9u
UHJlc2VudGVyKiBXZWJWaWV3SG9zdDo6bm90aWZpY2F0aW9uUHJlc2VudGVyKCkKICAgICByZXR1
cm4gbV9zaGVsbC0+bm90aWZpY2F0aW9uUHJlc2VudGVyKCk7CiB9CiAKK1dlYktpdDo6V2ViR2Vv
bG9jYXRpb25TZXJ2aWNlKiBXZWJWaWV3SG9zdDo6Z2VvbG9jYXRpb25TZXJ2aWNlKCkKK3sKKyAg
ICBpZiAoIW1fZ2VvbG9jYXRpb25TZXJ2aWNlTW9jay5nZXQoKSkKKyAgICAgICAgbV9nZW9sb2Nh
dGlvblNlcnZpY2VNb2NrLnNldChuZXcgV2ViR2VvbG9jYXRpb25TZXJ2aWNlTW9jayk7CisgICAg
cmV0dXJuIG1fZ2VvbG9jYXRpb25TZXJ2aWNlTW9jay5nZXQoKTsKK30KKwogLy8gV2ViV2lkZ2V0
Q2xpZW50IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCiAKIHZvaWQgV2ViVmlld0hvc3Q6OmRpZEludmFsaWRhdGVSZWN0KGNvbnN0IFdl
YlJlY3QmIHJlY3QpCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJv
bWl1bS9XZWJWaWV3SG9zdC5oIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0v
V2ViVmlld0hvc3QuaAppbmRleCA1MjI3YjI4MDhlNzlkNGNkYjk5NDU1YWYxY2M5ZWRjNjg3YzQz
ZmRhLi44ZmI5ZDA0NWY3NjI4M2M0ZDlmNzI1MTc2M2IzMDUyNmNhMjg3OGVhIDEwMDY0NAotLS0g
YS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9XZWJWaWV3SG9zdC5oCisrKyBi
L1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1dlYlZpZXdIb3N0LmgKQEAgLTQ1
LDYgKzQ1LDcgQEAgY2xhc3MgTGF5b3V0VGVzdENvbnRyb2xsZXI7CiBjbGFzcyBUZXN0U2hlbGw7
CiBuYW1lc3BhY2UgV2ViS2l0IHsKIGNsYXNzIFdlYkZyYW1lOworY2xhc3MgV2ViR2VvbG9jYXRp
b25TZXJ2aWNlTW9jazsKIGNsYXNzIFdlYlVSTDsKIHN0cnVjdCBXZWJSZWN0Owogc3RydWN0IFdl
YlVSTEVycm9yOwpAQCAtMTI1LDYgKzEyNiw3IEBAIGNsYXNzIFdlYlZpZXdIb3N0IDogcHVibGlj
IFdlYktpdDo6V2ViVmlld0NsaWVudCwgcHVibGljIFdlYktpdDo6V2ViRnJhbWVDbGllbnQsCiAg
ICAgdmlydHVhbCBpbnQgaGlzdG9yeUZvcndhcmRMaXN0Q291bnQoKTsKICAgICB2aXJ0dWFsIHZv
aWQgZm9jdXNBY2Nlc3NpYmlsaXR5T2JqZWN0KGNvbnN0IFdlYktpdDo6V2ViQWNjZXNzaWJpbGl0
eU9iamVjdCYpOwogICAgIHZpcnR1YWwgV2ViS2l0OjpXZWJOb3RpZmljYXRpb25QcmVzZW50ZXIq
IG5vdGlmaWNhdGlvblByZXNlbnRlcigpOworICAgIHZpcnR1YWwgV2ViS2l0OjpXZWJHZW9sb2Nh
dGlvblNlcnZpY2UqIGdlb2xvY2F0aW9uU2VydmljZSgpOwogCiAgICAgLy8gV2ViS2l0OjpXZWJX
aWRnZXRDbGllbnQKICAgICB2aXJ0dWFsIHZvaWQgZGlkSW52YWxpZGF0ZVJlY3QoY29uc3QgV2Vi
S2l0OjpXZWJSZWN0Jik7CkBAIC0yNzgsNiArMjgwLDkgQEAgcHJpdmF0ZToKICAgICBXZWJLaXQ6
OldlYlJlY3QgbV9wYWludFJlY3Q7CiAgICAgYm9vbCBtX2lzUGFpbnRpbmc7CiAKKyAgICAvLyBH
ZW9sb2NhdGlvbgorICAgIE93blB0cjxXZWJLaXQ6OldlYkdlb2xvY2F0aW9uU2VydmljZU1vY2s+
IG1fZ2VvbG9jYXRpb25TZXJ2aWNlTW9jazsKKwogICAgIE93blB0cjxUZXN0TmF2aWdhdGlvbkNv
bnRyb2xsZXIqPiBtX25hdmlnYXRpb25Db250cm9sbGVyOwogfTsKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>