<?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>69394</bug_id>
          
          <creation_ts>2011-10-04 19:12:00 -0700</creation_ts>
          <short_desc>[chromium] Hook WebCompositor interface for input events up to the compositor proper</short_desc>
          <delta_ts>2011-10-05 11:45:13 -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>Unspecified</rep_platform>
          <op_sys>Unspecified</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>1</everconfirmed>
          <reporter name="James Robinson">jamesr</reporter>
          <assigned_to name="James Robinson">jamesr</assigned_to>
          <cc>enne</cc>
    
    <cc>fishd</cc>
    
    <cc>jamesr</cc>
    
    <cc>nduca</cc>
    
    <cc>shawnsingh</cc>
    
    <cc>vangelis</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>478111</commentid>
    <comment_count>0</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-10-04 19:12:00 -0700</bug_when>
    <thetext>[chromium] Hook WebCompositor interface for input events up to the compositor proper</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>478115</commentid>
    <comment_count>1</comment_count>
      <attachid>109730</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-10-04 19:23:01 -0700</bug_when>
    <thetext>Created attachment 109730
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>478549</commentid>
    <comment_count>2</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-10-05 11:45:13 -0700</bug_when>
    <thetext>Committed r96736: &lt;http://trac.webkit.org/changeset/96736&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>109730</attachid>
            <date>2011-10-04 19:23:01 -0700</date>
            <delta_ts>2011-10-04 21:56:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-69394-20111004192300.patch</filename>
            <type>text/plain</type>
            <size>34296</size>
            <attacher name="James Robinson">jamesr</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTY2NjQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAyZWQyNGRjNGU3ZWEzYjUw
OWYyY2IxYzUwNmM0NzAwMjk2MzNhNDA4Li45ZmI2MTdlOWU3Yzg4ODhiZTlkN2U4YzU2MDdiNzRl
ZTI0MGQ1ZjE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTYgQEAKKzIwMTEtMTAtMDQgIEphbWVz
IFJvYmluc29uICA8amFtZXNyQGNocm9taXVtLm9yZz4KKworICAgICAgICBbY2hyb21pdW1dIEhv
b2sgV2ViQ29tcG9zaXRvciBpbnRlcmZhY2UgZm9yIGlucHV0IGV2ZW50cyB1cCB0byB0aGUgY29t
cG9zaXRvciBwcm9wZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTY5Mzk0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgVGhpcyB3aXJlcyB1cCBXZWJDb21wb3NpdG9ySW1wbCB0byB0aGUgY29tcG9zaXRvciBp
dHNlbGYgc28gd2UgY2FuIGhhbmRsZSBpbnB1dCBldmVudHMgYXMgc2Nyb2xscyBvbiB0aGUKKyAg
ICAgICAgY29tcG9zaXRvciB0aHJlYWQsIGFsdGhvdWdoIGl0IGRvZXNuJ3QgYWN0dWFsbHkgd2ly
ZSB1cCBhbnkgaW5wdXQgZXZlbnRzIHRvIGFjdHVhbCBzY3JvbGxpbmcuIFRoZSB3YXkgdGhpcwor
ICAgICAgICB3b3JrczoKKworICAgICAgICAtIENDVGhyZWFkUHJveHkgb3ducyBhbiBhZGFwdGVy
IHRoYXQgaW1wbGVtZW50cyB0aGUgQ0NTY3JvbGxDb250cm9sbGVyIGludGVyZmFjZQorICAgICAg
ICAtIENDVGhyZWFkUHJveHkgb3ducyBhIENDSW5wdXRIYW5kbGVyLCB3aGljaCBpcyBpbXBsZW1l
bnRlZCBieSBXZWJLaXQ6OldlYkNvbXBvc2l0b3JJbXBsLCB0aGF0IGhhcyBhIHBvaW50ZXIgdG8K
KyAgICAgICAgdGhlIGFkYXB0ZXIKKyAgICAgICAgLSBDQ0xheWVyVHJlZUhvc3QgaGFzIGFuIGlk
ZW50aWZpZXIgKGFuIGludCkgZm9yIGl0cyBXZWJLaXQ6OldlYkNvbXBvc2l0b3JJbXBsIHRoYXQn
cyBpbml0aWFsaXplZCBpbgorICAgICAgICBpbml0aWFsaXplTGF5ZXJSZW5kZXJlci4gVGhpcyBp
ZGVudGlmaWVyIGlzIGV4cG9zZWQgdG8gaXRzIG93bmVyIChXZWJLaXQ6OldlYlZpZXdJbXBsKSBz
byB0aGUgZW1iZWRkZXIgY2FuIHdpcmUKKyAgICAgICAgdXAgdGhlIHRocmVhZGluZyBsb2dpYyBi
ZWhpbmQgdGhlIHNjZW5lcy4KKworICAgICAgICBUaGlzIGlzIGp1c3QgcGx1bWJpbmcsIG5vIGNo
YW5nZSBpbiBiZWhhdmlvci4KKworICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0lucHV0SGFuZGxlci5oOiBBZGRlZC4KKyAg
ICAgICAgKFdlYkNvcmU6OkNDSW5wdXRIYW5kbGVyOjp+Q0NJbnB1dEhhbmRsZXIpOgorICAgICAg
ICAoV2ViQ29yZTo6Q0NJbnB1dEhhbmRsZXI6OkNDSW5wdXRIYW5kbGVyKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3QuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6Q0NMYXllclRyZWVIb3N0OjpDQ0xheWVyVHJlZUhvc3QpOgorICAgICAgICAo
V2ViQ29yZTo6Q0NMYXllclRyZWVIb3N0Ojppbml0aWFsaXplKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3QuaDoKKyAgICAgICAgKFdlYkNv
cmU6OkNDTGF5ZXJUcmVlSG9zdDo6Y29tcG9zaXRvcklkZW50aWZpZXIpOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdEltcGwuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6Q0NMYXllclRyZWVIb3N0SW1wbDo6c2Nyb2xsUm9vdExheWVyKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RJbXBs
Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NQcm94eS5oOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDU2Nyb2xsQ29udHJvbGxl
ci5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkNDU2Nyb2xsQ29udHJvbGxlcjo6Q0NTY3Jv
bGxDb250cm9sbGVyKToKKyAgICAgICAgKFdlYkNvcmU6OkNDU2Nyb2xsQ29udHJvbGxlcjo6fkND
U2Nyb2xsQ29udHJvbGxlcik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
Y2MvQ0NTaW5nbGVUaHJlYWRQcm94eS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDQ1NpbmdsZVRo
cmVhZFByb3h5OjpDQ1NpbmdsZVRocmVhZFByb3h5KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9jYy9DQ1NpbmdsZVRocmVhZFByb3h5Lmg6CisgICAgICAgIChXZWJDb3Jl
OjpDQ1NpbmdsZVRocmVhZFByb3h5Ojpjb21wb3NpdG9ySWRlbnRpZmllcik6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NUaHJlYWRQcm94eS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpDQ1RocmVhZFByb3h5U2Nyb2xsQ29udHJvbGxlckFkYXB0ZXI6OmNyZWF0ZSk6
CisgICAgICAgIChXZWJDb3JlOjpDQ1RocmVhZFByb3h5U2Nyb2xsQ29udHJvbGxlckFkYXB0ZXI6
On5DQ1RocmVhZFByb3h5U2Nyb2xsQ29udHJvbGxlckFkYXB0ZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6Q0NUaHJlYWRQcm94eVNjcm9sbENvbnRyb2xsZXJBZGFwdGVyOjpzY3JvbGxSb290TGF5ZXIp
OgorICAgICAgICAoV2ViQ29yZTo6Q0NUaHJlYWRQcm94eVNjcm9sbENvbnRyb2xsZXJBZGFwdGVy
OjpDQ1RocmVhZFByb3h5U2Nyb2xsQ29udHJvbGxlckFkYXB0ZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6Q0NUaHJlYWRQcm94eTo6Q0NUaHJlYWRQcm94eSk6CisgICAgICAgIChXZWJDb3JlOjpDQ1Ro
cmVhZFByb3h5Ojppbml0aWFsaXplTGF5ZXJSZW5kZXJlcik6CisgICAgICAgIChXZWJDb3JlOjpD
Q1RocmVhZFByb3h5Ojpjb21wb3NpdG9ySWRlbnRpZmllcik6CisgICAgICAgIChXZWJDb3JlOjpD
Q1RocmVhZFByb3h5OjpiZWdpbkZyYW1lQW5kQ29tbWl0KToKKyAgICAgICAgKFdlYkNvcmU6OkND
VGhyZWFkUHJveHk6OmluaXRpYWxpemVMYXllclJlbmRlcmVyT25DQ1RocmVhZCk6CisgICAgICAg
IChXZWJDb3JlOjpDQ1RocmVhZFByb3h5OjpsYXllclRyZWVIb3N0Q2xvc2VkT25DQ1RocmVhZCk6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NUaHJlYWRQcm94eS5o
OgorCiAyMDExLTEwLTA0ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAK
ICAgICAgICAgTW92ZSBjb2RlIGludG8gU2Nyb2xsRWxhc3RpY2l0eUNvbnRyb2xsZXI6OmJlZ2lu
U2Nyb2xsR2VzdHVyZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkg
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggZTVmOTFlNDk5ZGIwZDZhYzFlNGQx
M2ZlMjc2MmY2ZjM5NjQ0MGU2Zi4uYTM5MjQ2YjJjZGNiY2VjMzg2ZWI0YTY5YTIyOWY4NGMyNTg4
N2JkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtMzQ5MCw2ICszNDkwLDcgQEAKICAgICAgICAgICAg
ICdwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0NhbnZhc0xheWVySW1wbC5oJywKICAg
ICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0hlYWRzVXBEaXNwbGF5
LmNwcCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NIZWFk
c1VwRGlzcGxheS5oJywKKyAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9j
Yy9DQ0lucHV0SGFuZGxlci5oJywKICAgICAgICAgICAgICdwbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9jYy9DQ0xheWVySW1wbC5jcHAnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL2NjL0NDTGF5ZXJJbXBsLmgnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJRdWFkLmNwcCcsCkBAIC0zNTI1LDYgKzM1MjYsNyBAQAog
ICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVGlsZWRMYXllcklt
cGwuaCcsCiAgICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NWaWRl
b0xheWVySW1wbC5jcHAnLAogICAgICAgICAgICAgJ3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L2NjL0NDVmlkZW9MYXllckltcGwuaCcsCisgICAgICAgICAgICAncGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vY2MvQ0NTY3JvbGxDb250cm9sbGVyLmgnLAogICAgICAgICAgICAgJ3BsYXRmb3Jt
L2dyYXBoaWNzL2NvY29hL0ZvbnRQbGF0Zm9ybURhdGFDb2NvYS5tbScsCiAgICAgICAgICAgICAn
cGxhdGZvcm0vZ3JhcGhpY3MvZWZsL0ZvbnRFZmwuY3BwJywKICAgICAgICAgICAgICdwbGF0Zm9y
bS9ncmFwaGljcy9lZmwvSWNvbkVmbC5jcHAnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NJbnB1dEhhbmRsZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDSW5wdXRIYW5kbGVyLmgKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZWZjNDBlYjY2ZGM2OWZlMjE1YTM5NjdkZjIzOGExMjZjMzBkM2U3MAotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2Nj
L0NDSW5wdXRIYW5kbGVyLmgKQEAgLTAsMCArMSw0OCBAQAorLyogQ29weXJpZ2h0IChDKSAyMDEx
IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAg
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTgorICogQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCisgKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIEND
SW5wdXRIYW5kbGVyX2gKKyNkZWZpbmUgQ0NJbnB1dEhhbmRsZXJfaAorCisjaW5jbHVkZSA8d3Rm
L05vbmNvcHlhYmxlLmg+CisjaW5jbHVkZSA8d3RmL1Bhc3NPd25QdHIuaD4KKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitjbGFzcyBDQ1Njcm9sbENvbnRyb2xsZXI7CisKK2NsYXNzIENDSW5wdXRI
YW5kbGVyIHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShDQ0lucHV0SGFuZGxlcik7CitwdWJs
aWM6CisgICAgc3RhdGljIFBhc3NPd25QdHI8Q0NJbnB1dEhhbmRsZXI+IGNyZWF0ZShDQ1Njcm9s
bENvbnRyb2xsZXIqKTsKKyAgICB2aXJ0dWFsIH5DQ0lucHV0SGFuZGxlcigpIHsgfQorCisgICAg
dmlydHVhbCBpbnQgaWRlbnRpZmllcigpIGNvbnN0ID0gMDsKKworcHJvdGVjdGVkOgorICAgIEND
SW5wdXRIYW5kbGVyKCkgeyB9Cit9OworCit9CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJU
cmVlSG9zdC5jcHAKaW5kZXggN2YzYmIzZWZkMTg1YzdlZDhlMzJjYjllZTI3ODQwMGZlMTM3NmY0
OC4uZmY3ZjQwY2QzYTU0MzI2YzNmZjM5NjFiOGViYTRhNDE4NGE5NWZlMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRyZWVI
b3N0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9j
Yy9DQ0xheWVyVHJlZUhvc3QuY3BwCkBAIC00OCw3ICs0OCw4IEBAIFBhc3NSZWZQdHI8Q0NMYXll
clRyZWVIb3N0PiBDQ0xheWVyVHJlZUhvc3Q6OmNyZWF0ZShDQ0xheWVyVHJlZUhvc3RDbGllbnQq
IGNsaWVuCiB9CiAKIENDTGF5ZXJUcmVlSG9zdDo6Q0NMYXllclRyZWVIb3N0KENDTGF5ZXJUcmVl
SG9zdENsaWVudCogY2xpZW50LCBQYXNzUmVmUHRyPExheWVyQ2hyb21pdW0+IHJvb3RMYXllciwg
Y29uc3QgQ0NTZXR0aW5ncyYgc2V0dGluZ3MpCi0gICAgOiBtX2FuaW1hdGluZyhmYWxzZSkKKyAg
ICA6IG1fY29tcG9zaXRvcklkZW50aWZpZXIoLTEpCisgICAgLCBtX2FuaW1hdGluZyhmYWxzZSkK
ICAgICAsIG1fY2xpZW50KGNsaWVudCkKICAgICAsIG1fZnJhbWVOdW1iZXIoMCkKICAgICAsIG1f
cm9vdExheWVyKHJvb3RMYXllcikKQEAgLTc2LDYgKzc3LDggQEAgYm9vbCBDQ0xheWVyVHJlZUhv
c3Q6OmluaXRpYWxpemUoKQogICAgIGlmICghbV9wcm94eS0+aW5pdGlhbGl6ZUxheWVyUmVuZGVy
ZXIoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAgbV9jb21wb3NpdG9ySWRlbnRpZmll
ciA9IG1fcHJveHktPmNvbXBvc2l0b3JJZGVudGlmaWVyKCk7CisKICAgICAvLyBVcGRhdGUgbV9z
ZXR0aW5ncyBiYXNlZCBvbiBjYXBhYmlsaXRpZXMgdGhhdCB3ZSBnb3QgYmFjayBmcm9tIHRoZSBy
ZW5kZXJlci4KICAgICBtX3NldHRpbmdzLmFjY2VsZXJhdGVQYWludGluZyA9IG1fcHJveHktPmxh
eWVyUmVuZGVyZXJDYXBhYmlsaXRpZXMoKS51c2luZ0FjY2VsZXJhdGVkUGFpbnRpbmc7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0ND
TGF5ZXJUcmVlSG9zdC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vY2MvQ0NMYXllclRyZWVIb3N0LmgKaW5kZXggNDc3NGFlYmJlNzBhMWI1YTA0Mzg3YmM2Y2Ez
ZDA2NmE5M2JmYjZjMC4uYmRjYjhmNDBmZGFmNGNmMzk2MjJmNjI5MzU0NjA3NDdlMWJiNWRkYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2Mv
Q0NMYXllclRyZWVIb3N0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vY2MvQ0NMYXllclRyZWVIb3N0LmgKQEAgLTExMyw2ICsxMTMsOCBAQCBwdWJsaWM6
CiAKICAgICBDQ0xheWVyVHJlZUhvc3RDbGllbnQqIGNsaWVudCgpIHsgcmV0dXJuIG1fY2xpZW50
OyB9CiAKKyAgICBpbnQgY29tcG9zaXRvcklkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX2Nv
bXBvc2l0b3JJZGVudGlmaWVyOyB9CisKICNpZiAhVVNFKFRIUkVBREVEX0NPTVBPU0lUSU5HKQog
ICAgIHZvaWQgY29tcG9zaXRlKCk7CiAjZW5kaWYKQEAgLTE2Niw2ICsxNjgsOCBAQCBwcml2YXRl
OgogICAgIHZvaWQgdXBkYXRlQ29tcG9zaXRvclJlc291cmNlcyhMYXllckNocm9taXVtKiwgR3Jh
cGhpY3NDb250ZXh0M0QqLCBUZXh0dXJlQWxsb2NhdG9yKik7CiAgICAgdm9pZCBjbGVhclBlbmRp
bmdVcGRhdGUoKTsKIAorICAgIGludCBtX2NvbXBvc2l0b3JJZGVudGlmaWVyOworCiAgICAgYm9v
bCBtX2FuaW1hdGluZzsKIAogICAgIENDTGF5ZXJUcmVlSG9zdENsaWVudCogbV9jbGllbnQ7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9D
Q0xheWVyVHJlZUhvc3RJbXBsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdEltcGwuY3BwCmluZGV4IDcxNTY4YTUxMjcyMmQ3
NTU5NWQyZDJjNjhkNzE5MTMyYjY1OWMwZDYuLmEzMzk5MDgxNmE5NGUwYzI5Yjc5YzBiZTM0NzY1
NGQ5MzBiM2IxNWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdEltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDTGF5ZXJUcmVlSG9zdEltcGwuY3BwCkBA
IC0xNjEsNiArMTYxLDcgQEAgdm9pZCBDQ0xheWVyVHJlZUhvc3RJbXBsOjpzZXRab29tQW5pbWF0
b3JUcmFuc2Zvcm0oY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmIHoKIAogdm9pZCBDQ0xheWVy
VHJlZUhvc3RJbXBsOjpzY3JvbGxSb290TGF5ZXIoY29uc3QgSW50U2l6ZSYgc2Nyb2xsRGVsdGEp
CiB7CisgICAgVFJBQ0VfRVZFTlQoIkNDTGF5ZXJUcmVlSG9zdEltcGw6OnNjcm9sbFJvb3RMYXll
ciIsIHRoaXMsIDApOwogICAgIGlmICghbV9yb290TGF5ZXJJbXBsIHx8ICFtX3Jvb3RMYXllcklt
cGwtPnNjcm9sbGFibGUoKSkKICAgICAgICAgcmV0dXJuOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVyVHJlZUhvc3RJbXBs
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0xheWVy
VHJlZUhvc3RJbXBsLmgKaW5kZXggZDBmZjhjZTg0MWJjYzkwMzc3NjVjZTVkMzYyMmZiMTE3NjRh
ZTBkMS4uNGI4YTgxMGQ3NWMwZGNiYmFmOWQ5YjdiNzM0NmVmNDQ1ZWY2NWY5MyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NMYXllclRy
ZWVIb3N0SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL2NjL0NDTGF5ZXJUcmVlSG9zdEltcGwuaApAQCAtMzcsNiArMzcsNyBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIGNsYXNzIENDQ29tcGxldGlvbkV2ZW50OwogY2xhc3MgQ0NMYXllckltcGw7
CitjbGFzcyBDQ1RocmVhZFByb3h5OwogY2xhc3MgTGF5ZXJSZW5kZXJlckNocm9taXVtOwogY2xh
c3MgVGV4dHVyZUFsbG9jYXRvcjsKIHN0cnVjdCBMYXllclJlbmRlcmVyQ2FwYWJpbGl0aWVzOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2Mv
Q0NQcm94eS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2Mv
Q0NQcm94eS5oCmluZGV4IGE4NjAzMTk3MTFlODQ0NTA5MjRhOGRjN2NiNTM0OTRhNTIyMjM2ZGMu
LmRmYjc3YjNhOWFkNWMyZWQ5ZmZlMTVmNDk5NTI1MjA1NmE3Mzk5NzYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDUHJveHkuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1Byb3h5LmgK
QEAgLTYwLDYgKzYwLDggQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBib29sIGluaXRpYWxpemVM
YXllclJlbmRlcmVyKCkgPSAwOwogCisgICAgdmlydHVhbCBpbnQgY29tcG9zaXRvcklkZW50aWZp
ZXIoKSBjb25zdCA9IDA7CisKICAgICB2aXJ0dWFsIGNvbnN0IExheWVyUmVuZGVyZXJDYXBhYmls
aXRpZXMmIGxheWVyUmVuZGVyZXJDYXBhYmlsaXRpZXMoKSBjb25zdCA9IDA7CiAKICAgICB2aXJ0
dWFsIHZvaWQgc2V0TmVlZHNDb21taXQoKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1Njcm9sbENvbnRyb2xsZXIuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDU2Nyb2xsQ29udHJv
bGxlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmJjZDJmNWYyNzVmM2I3YzNlMDkwMjI0ZDVkNjM1ZGYxNDlmZjE5
YTUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9jYy9DQ1Njcm9sbENvbnRyb2xsZXIuaApAQCAtMCwwICsxLDQ2IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiAgUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTgorICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCisgKiBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaWZuZGVmIENDU2Nyb2xsQ29udHJvbGxlcl9oCisjZGVmaW5lIENDU2Nyb2xsQ29u
dHJvbGxlcl9oCisKKyNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4KKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCitjbGFzcyBJbnRTaXplOworCitjbGFzcyBDQ1Njcm9sbENvbnRyb2xsZXIgewor
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKENDU2Nyb2xsQ29udHJvbGxlcik7CitwdWJsaWM6Cisg
ICAgdmlydHVhbCB2b2lkIHNjcm9sbFJvb3RMYXllcihjb25zdCBJbnRTaXplJikgPSAwOworCitw
cm90ZWN0ZWQ6CisgICAgQ0NTY3JvbGxDb250cm9sbGVyKCkgeyB9CisgICAgdmlydHVhbCB+Q0NT
Y3JvbGxDb250cm9sbGVyKCkgeyB9Cit9OworCit9CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NTaW5nbGVUaHJlYWRQ
cm94eS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9D
Q1NpbmdsZVRocmVhZFByb3h5LmNwcAppbmRleCBkYjBhMGRlYTcxYjA4ZWNhMzQ0MWNlZTljMmRl
MmIyMzQyZTVmNTYwLi40MDkwOGQ4NTIyMDQ3NjE1YjNhY2RlZDE5NjRiNWQ3NjRkZjIyNDUwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9D
Q1NpbmdsZVRocmVhZFByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9jYy9DQ1NpbmdsZVRocmVhZFByb3h5LmNwcApAQCAtMzEsNiArMzEsNyBA
QAogI2luY2x1ZGUgIlRyYWNlRXZlbnQuaCIKICNpbmNsdWRlICJjYy9DQ0xheWVyVHJlZUhvc3Qu
aCIKICNpbmNsdWRlICJjYy9DQ01haW5UaHJlYWRUYXNrLmgiCisjaW5jbHVkZSAiY2MvQ0NTY3Jv
bGxDb250cm9sbGVyLmgiCiAjaW5jbHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+CiAKIHVzaW5nIG5h
bWVzcGFjZSBXVEY7CkBAIC00NCw2ICs0NSw3IEBAIFBhc3NPd25QdHI8Q0NQcm94eT4gQ0NTaW5n
bGVUaHJlYWRQcm94eTo6Y3JlYXRlKENDTGF5ZXJUcmVlSG9zdCogbGF5ZXJUcmVlSG9zdCkKIAog
Q0NTaW5nbGVUaHJlYWRQcm94eTo6Q0NTaW5nbGVUaHJlYWRQcm94eShDQ0xheWVyVHJlZUhvc3Qq
IGxheWVyVHJlZUhvc3QpCiAgICAgOiBtX2xheWVyVHJlZUhvc3QobGF5ZXJUcmVlSG9zdCkKKyAg
ICAsIG1fY29tcG9zaXRvcklkZW50aWZpZXIoLTEpCiAgICAgLCBtX251bUZhaWxlZFJlY3JlYXRl
QXR0ZW1wdHMoMCkKICAgICAsIG1fZ3JhcGhpY3NDb250ZXh0TG9zdChmYWxzZSkKICAgICAsIG1f
dGltZXNSZWNyZWF0ZVNob3VsZEZhaWwoMCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDU2luZ2xlVGhyZWFkUHJveHkuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDU2luZ2xlVGhyZWFkUHJv
eHkuaAppbmRleCBkOTkzNjFlNzA4MDNlZmFmYjliZDE4YmQxZjgyOTM2YmJmYjcyNzFkLi45ODI5
MzA0OGJmMDI0NDk1OTBmZTg3ZjA4NjQ4NjM1ODhiMjRkYjUzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1NpbmdsZVRocmVhZFByb3h5
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NT
aW5nbGVUaHJlYWRQcm94eS5oCkBAIC0zMyw2ICszMyw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKIGNsYXNzIENDTGF5ZXJUcmVlSG9zdDsKK2NsYXNzIENDU2Nyb2xsQ29udHJvbGxlcjsKIAog
Y2xhc3MgQ0NTaW5nbGVUaHJlYWRQcm94eSA6IHB1YmxpYyBDQ1Byb3h5IHsKIHB1YmxpYzoKQEAg
LTQ1LDYgKzQ2LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBmaW5pc2hBbGxSZW5kZXJp
bmcoKTsKICAgICB2aXJ0dWFsIGJvb2wgaXNTdGFydGVkKCkgY29uc3Q7CiAgICAgdmlydHVhbCBi
b29sIGluaXRpYWxpemVMYXllclJlbmRlcmVyKCk7CisgICAgdmlydHVhbCBpbnQgY29tcG9zaXRv
cklkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX2NvbXBvc2l0b3JJZGVudGlmaWVyOyB9CiAg
ICAgdmlydHVhbCBjb25zdCBMYXllclJlbmRlcmVyQ2FwYWJpbGl0aWVzJiBsYXllclJlbmRlcmVy
Q2FwYWJpbGl0aWVzKCkgY29uc3Q7CiAgICAgdmlydHVhbCB2b2lkIGxvc2VDb21wb3NpdG9yQ29u
dGV4dChpbnQgbnVtVGltZXMpOwogICAgIHZpcnR1YWwgdm9pZCBzZXROZWVkc0NvbW1pdCgpOwpA
QCAtNjYsNiArNjgsNyBAQCBwcml2YXRlOgogCiAgICAgLy8gQWNjZXNzZWQgb24gbWFpbiB0aHJl
YWQgb25seS4KICAgICBDQ0xheWVyVHJlZUhvc3QqIG1fbGF5ZXJUcmVlSG9zdDsKKyAgICBpbnQg
bV9jb21wb3NpdG9ySWRlbnRpZmllcjsKIAogICAgIC8vIFVzZWQgb24gdGhlIENDVGhyZWFkLCBi
dXQgY2hlY2tlZCBvbiBtYWluIHRocmVhZCBkdXJpbmcgaW5pdGlhbGl6YXRpb24vc2h1dGRvd24u
CiAgICAgT3duUHRyPENDTGF5ZXJUcmVlSG9zdEltcGw+IG1fbGF5ZXJUcmVlSG9zdEltcGw7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9D
Q1RocmVhZFByb3h5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL2NjL0NDVGhyZWFkUHJveHkuY3BwCmluZGV4IGE2Zjk4OThmZWU1NzAxYTE1OTI2OGE3Zjg4
OTNiZTY4YTIwZTYwZjEuLjllZTE2NGE1Y2VmMmI1Y2FiY2VlM2VjYzVmN2QxZDQxNzljOTczM2Yg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2Nj
L0NDVGhyZWFkUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL2NjL0NDVGhyZWFkUHJveHkuY3BwCkBAIC0yOCw5ICsyOCwxMSBAQAogCiAjaW5j
bHVkZSAiR3JhcGhpY3NDb250ZXh0M0QuaCIKICNpbmNsdWRlICJUcmFjZUV2ZW50LmgiCisjaW5j
bHVkZSAiY2MvQ0NJbnB1dEhhbmRsZXIuaCIKICNpbmNsdWRlICJjYy9DQ0xheWVyVHJlZUhvc3Qu
aCIKICNpbmNsdWRlICJjYy9DQ01haW5UaHJlYWRUYXNrLmgiCiAjaW5jbHVkZSAiY2MvQ0NTY2hl
ZHVsZXIuaCIKKyNpbmNsdWRlICJjYy9DQ1Njcm9sbENvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJj
Yy9DQ1RocmVhZFRhc2suaCIKICNpbmNsdWRlIDx3dGYvQ3VycmVudFRpbWUuaD4KICNpbmNsdWRl
IDx3dGYvTWFpblRocmVhZC5oPgpAQCAtNzYsNiArNzgsMzAgQEAgcHJpdmF0ZToKICAgICBDQ1Ro
cmVhZFByb3h5KiBtX3Byb3h5OwogfTsKIAorY2xhc3MgQ0NUaHJlYWRQcm94eVNjcm9sbENvbnRy
b2xsZXJBZGFwdGVyIDogcHVibGljIENDU2Nyb2xsQ29udHJvbGxlciB7CitwdWJsaWM6CisgICAg
c3RhdGljIFBhc3NPd25QdHI8Q0NUaHJlYWRQcm94eVNjcm9sbENvbnRyb2xsZXJBZGFwdGVyPiBj
cmVhdGUoQ0NUaHJlYWRQcm94eSogcHJveHkpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRQ
dHIobmV3IENDVGhyZWFkUHJveHlTY3JvbGxDb250cm9sbGVyQWRhcHRlcihwcm94eSkpOworICAg
IH0KKyAgICB2aXJ0dWFsIH5DQ1RocmVhZFByb3h5U2Nyb2xsQ29udHJvbGxlckFkYXB0ZXIoKSB7
IH0KKworICAgIHZpcnR1YWwgdm9pZCBzY3JvbGxSb290TGF5ZXIoY29uc3QgSW50U2l6ZSYgb2Zm
c2V0KQorICAgIHsKKyAgICAgICAgbV9wcm94eS0+bV9sYXllclRyZWVIb3N0SW1wbC0+c2Nyb2xs
Um9vdExheWVyKG9mZnNldCk7CisgICAgICAgIG1fcHJveHktPnNldE5lZWRzUmVkcmF3T25DQ1Ro
cmVhZCgpOworICAgICAgICBtX3Byb3h5LT5zZXROZWVkc0NvbW1pdE9uQ0NUaHJlYWQoKTsKKyAg
ICB9CisKK3ByaXZhdGU6CisgICAgZXhwbGljaXQgQ0NUaHJlYWRQcm94eVNjcm9sbENvbnRyb2xs
ZXJBZGFwdGVyKENDVGhyZWFkUHJveHkqIHByb3h5KQorICAgIHsKKyAgICAgICAgbV9wcm94eSA9
IHByb3h5OworICAgIH0KKworICAgIENDVGhyZWFkUHJveHkqIG1fcHJveHk7Cit9OworCiBQYXNz
T3duUHRyPENDUHJveHk+IENDVGhyZWFkUHJveHk6OmNyZWF0ZShDQ0xheWVyVHJlZUhvc3QqIGxh
eWVyVHJlZUhvc3QpCiB7CiAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBDQ1RocmVhZFByb3h5KGxh
eWVyVHJlZUhvc3QpKTsKQEAgLTg0LDYgKzExMCw3IEBAIFBhc3NPd25QdHI8Q0NQcm94eT4gQ0NU
aHJlYWRQcm94eTo6Y3JlYXRlKENDTGF5ZXJUcmVlSG9zdCogbGF5ZXJUcmVlSG9zdCkKIENDVGhy
ZWFkUHJveHk6OkNDVGhyZWFkUHJveHkoQ0NMYXllclRyZWVIb3N0KiBsYXllclRyZWVIb3N0KQog
ICAgIDogbV9jb21taXRSZXF1ZXN0ZWQoZmFsc2UpCiAgICAgLCBtX2xheWVyVHJlZUhvc3QobGF5
ZXJUcmVlSG9zdCkKKyAgICAsIG1fY29tcG9zaXRvcklkZW50aWZpZXIoLTEpCiAgICAgLCBtX3N0
YXJ0ZWQoZmFsc2UpCiAgICAgLCBtX2xhc3RFeGVjdXRlZEJlZ2luRnJhbWVBbmRDb21taXRTZXF1
ZW5jZU51bWJlcigtMSkKICAgICAsIG1fbnVtQmVnaW5GcmFtZUFuZENvbW1pdHNJc3N1ZWRPbkND
VGhyZWFkKDApCkBAIC0xODQsNyArMjExLDkgQEAgYm9vbCBDQ1RocmVhZFByb3h5Ojppbml0aWFs
aXplTGF5ZXJSZW5kZXJlcigpCiAgICAgYm9vbCBpbml0aWFsaXplU3VjY2VlZGVkID0gZmFsc2U7
CiAgICAgTGF5ZXJSZW5kZXJlckNhcGFiaWxpdGllcyBjYXBhYmlsaXRpZXM7CiAgICAgc19jY1Ro
cmVhZC0+cG9zdFRhc2soY3JlYXRlQ0NUaHJlYWRUYXNrKHRoaXMsICZDQ1RocmVhZFByb3h5Ojpp
bml0aWFsaXplTGF5ZXJSZW5kZXJlck9uQ0NUaHJlYWQsCi0gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBBbGxvd0Nyb3NzVGhyZWFkQWNjZXNzKGNvbnRleHRQdHIpLCBB
bGxvd0Nyb3NzVGhyZWFkQWNjZXNzKCZjb21wbGV0aW9uKSwgQWxsb3dDcm9zc1RocmVhZEFjY2Vz
cygmaW5pdGlhbGl6ZVN1Y2NlZWRlZCksIEFsbG93Q3Jvc3NUaHJlYWRBY2Nlc3MoJmNhcGFiaWxp
dGllcykpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFsbG93
Q3Jvc3NUaHJlYWRBY2Nlc3MoY29udGV4dFB0ciksIEFsbG93Q3Jvc3NUaHJlYWRBY2Nlc3MoJmNv
bXBsZXRpb24pLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWxs
b3dDcm9zc1RocmVhZEFjY2VzcygmaW5pdGlhbGl6ZVN1Y2NlZWRlZCksIEFsbG93Q3Jvc3NUaHJl
YWRBY2Nlc3MoJmNhcGFiaWxpdGllcyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBBbGxvd0Nyb3NzVGhyZWFkQWNjZXNzKCZtX2NvbXBvc2l0b3JJZGVudGlmaWVy
KSkpOwogICAgIGNvbXBsZXRpb24ud2FpdCgpOwogCiAgICAgaWYgKGluaXRpYWxpemVTdWNjZWVk
ZWQpCkBAIC0xOTIsNiArMjIxLDEyIEBAIGJvb2wgQ0NUaHJlYWRQcm94eTo6aW5pdGlhbGl6ZUxh
eWVyUmVuZGVyZXIoKQogICAgIHJldHVybiBpbml0aWFsaXplU3VjY2VlZGVkOwogfQogCitpbnQg
Q0NUaHJlYWRQcm94eTo6Y29tcG9zaXRvcklkZW50aWZpZXIoKSBjb25zdAoreworICAgIEFTU0VS
VChpc01haW5UaHJlYWQoKSk7CisgICAgcmV0dXJuIG1fY29tcG9zaXRvcklkZW50aWZpZXI7Cit9
CisKIGNvbnN0IExheWVyUmVuZGVyZXJDYXBhYmlsaXRpZXMmIENDVGhyZWFkUHJveHk6OmxheWVy
UmVuZGVyZXJDYXBhYmlsaXRpZXMoKSBjb25zdAogewogICAgIHJldHVybiBtX2xheWVyUmVuZGVy
ZXJDYXBhYmlsaXRpZXNNYWluVGhyZWFkQ29weTsKQEAgLTMyOCw4ICszNjMsNiBAQCB2b2lkIEND
VGhyZWFkUHJveHk6OmJlZ2luRnJhbWVBbmRDb21taXQoaW50IHNlcXVlbmNlTnVtYmVyLCBkb3Vi
bGUgZnJhbWVCZWdpblRpbQogICAgIH0KICAgICBtX2xhc3RFeGVjdXRlZEJlZ2luRnJhbWVBbmRD
b21taXRTZXF1ZW5jZU51bWJlciA9IHNlcXVlbmNlTnVtYmVyOwogCi0gICAgQVNTRVJUKG1fY29t
bWl0UmVxdWVzdGVkKTsKLQogICAgIC8vIEZJWE1FOiByZWNyZWF0ZSB0aGUgY29udGV4dCBpZiBp
dCB3YXMgcmVxdWVzdGVkIGJ5IHRoZSBpbXBsIHRocmVhZAogICAgIHsKICAgICAgICAgVFJBQ0Vf
RVZFTlQoIkNDTGF5ZXJUcmVlSG9zdDo6YW5pbWF0ZUFuZExheW91dCIsIHRoaXMsIDApOwpAQCAt
NDEyLDcgKzQ0NSw3IEBAIHZvaWQgQ0NUaHJlYWRQcm94eTo6aW5pdGlhbGl6ZUltcGxPbkNDVGhy
ZWFkKENDQ29tcGxldGlvbkV2ZW50KiBjb21wbGV0aW9uKQogICAgIGNvbXBsZXRpb24tPnNpZ25h
bCgpOwogfQogCi12b2lkIENDVGhyZWFkUHJveHk6OmluaXRpYWxpemVMYXllclJlbmRlcmVyT25D
Q1RocmVhZChHcmFwaGljc0NvbnRleHQzRCogY29udGV4dFB0ciwgQ0NDb21wbGV0aW9uRXZlbnQq
IGNvbXBsZXRpb24sIGJvb2wqIGluaXRpYWxpemVTdWNjZWVkZWQsIExheWVyUmVuZGVyZXJDYXBh
YmlsaXRpZXMqIGNhcGFiaWxpdGllcykKK3ZvaWQgQ0NUaHJlYWRQcm94eTo6aW5pdGlhbGl6ZUxh
eWVyUmVuZGVyZXJPbkNDVGhyZWFkKEdyYXBoaWNzQ29udGV4dDNEKiBjb250ZXh0UHRyLCBDQ0Nv
bXBsZXRpb25FdmVudCogY29tcGxldGlvbiwgYm9vbCogaW5pdGlhbGl6ZVN1Y2NlZWRlZCwgTGF5
ZXJSZW5kZXJlckNhcGFiaWxpdGllcyogY2FwYWJpbGl0aWVzLCBpbnQqIGNvbXBvc2l0b3JJZGVu
dGlmaWVyKQogewogICAgIFRSQUNFX0VWRU5UKCJDQ1RocmVhZFByb3h5Ojppbml0aWFsaXplTGF5
ZXJSZW5kZXJlck9uQ0NUaHJlYWQiLCB0aGlzLCAwKTsKICAgICBBU1NFUlQoaXNJbXBsVGhyZWFk
KCkpOwpAQCAtNDIwLDYgKzQ1MywxMSBAQCB2b2lkIENDVGhyZWFkUHJveHk6OmluaXRpYWxpemVM
YXllclJlbmRlcmVyT25DQ1RocmVhZChHcmFwaGljc0NvbnRleHQzRCogY29udGV4dAogICAgICpp
bml0aWFsaXplU3VjY2VlZGVkID0gbV9sYXllclRyZWVIb3N0SW1wbC0+aW5pdGlhbGl6ZUxheWVy
UmVuZGVyZXIoY29udGV4dCk7CiAgICAgaWYgKCppbml0aWFsaXplU3VjY2VlZGVkKQogICAgICAg
ICAqY2FwYWJpbGl0aWVzID0gbV9sYXllclRyZWVIb3N0SW1wbC0+bGF5ZXJSZW5kZXJlckNhcGFi
aWxpdGllcygpOworCisgICAgbV9zY3JvbGxDb250cm9sbGVyQWRhcHRlck9uQ0NUaHJlYWQgPSBD
Q1RocmVhZFByb3h5U2Nyb2xsQ29udHJvbGxlckFkYXB0ZXI6OmNyZWF0ZSh0aGlzKTsKKyAgICBt
X2lucHV0SGFuZGxlck9uQ0NUaHJlYWQgPSBDQ0lucHV0SGFuZGxlcjo6Y3JlYXRlKG1fc2Nyb2xs
Q29udHJvbGxlckFkYXB0ZXJPbkNDVGhyZWFkLmdldCgpKTsKKyAgICAqY29tcG9zaXRvcklkZW50
aWZpZXIgPSBtX2lucHV0SGFuZGxlck9uQ0NUaHJlYWQtPmlkZW50aWZpZXIoKTsKKwogICAgIGNv
bXBsZXRpb24tPnNpZ25hbCgpOwogfQogCkBAIC00MjksNiArNDY3LDggQEAgdm9pZCBDQ1RocmVh
ZFByb3h5OjpsYXllclRyZWVIb3N0Q2xvc2VkT25DQ1RocmVhZChDQ0NvbXBsZXRpb25FdmVudCog
Y29tcGxldGlvbikKICAgICBBU1NFUlQoaXNJbXBsVGhyZWFkKCkpOwogICAgIG1fbGF5ZXJUcmVl
SG9zdC0+ZGVsZXRlQ29udGVudHNUZXh0dXJlc09uQ0NUaHJlYWQobV9sYXllclRyZWVIb3N0SW1w
bC0+Y29udGVudHNUZXh0dXJlQWxsb2NhdG9yKCkpOwogICAgIG1fbGF5ZXJUcmVlSG9zdEltcGwu
Y2xlYXIoKTsKKyAgICBtX2lucHV0SGFuZGxlck9uQ0NUaHJlYWQuY2xlYXIoKTsKKyAgICBtX3Nj
cm9sbENvbnRyb2xsZXJBZGFwdGVyT25DQ1RocmVhZC5jbGVhcigpOwogICAgIGNvbXBsZXRpb24t
PnNpZ25hbCgpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9jYy9DQ1RocmVhZFByb3h5LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ1RocmVhZFByb3h5LmgKaW5kZXggMzJjOWY2ZGNlMDZk
OWM0YzM4YTAzNTQ2MjQwNmIxNjJkYzM3OGI2MC4uZDAzYTAyMzE0NWY3NzUzYmY1OTBjMjUyZWRk
MWUwMjEyZjg3NjdiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vY2MvQ0NUaHJlYWRQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDVGhyZWFkUHJveHkuaApAQCAtMzMsMTMgKzMzLDE3
IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgQ0NJbnB1dEhhbmRsZXI7CiBjbGFz
cyBDQ0xheWVyVHJlZUhvc3Q7CiBjbGFzcyBDQ1NjaGVkdWxlcjsKIGNsYXNzIENDVGhyZWFkOwog
Y2xhc3MgQ0NUaHJlYWRQcm94eVNjaGVkdWxlckNsaWVudDsKK2NsYXNzIENDVGhyZWFkUHJveHlT
Y3JvbGxDb250cm9sbGVyQWRhcHRlcjsKK2NsYXNzIENDU2Nyb2xsQ29udHJvbGxlcjsKIAogY2xh
c3MgQ0NUaHJlYWRQcm94eSA6IHB1YmxpYyBDQ1Byb3h5IHsKICAgICBmcmllbmQgY2xhc3MgQ0NU
aHJlYWRQcm94eVNjaGVkdWxlckNsaWVudDsKKyAgICBmcmllbmQgY2xhc3MgQ0NUaHJlYWRQcm94
eVNjcm9sbENvbnRyb2xsZXJBZGFwdGVyOwogcHVibGljOgogICAgIHN0YXRpYyB2b2lkIHNldFRo
cmVhZChDQ1RocmVhZCopOwogCkBAIC01Myw2ICs1Nyw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFs
IHZvaWQgZmluaXNoQWxsUmVuZGVyaW5nKCk7CiAgICAgdmlydHVhbCBib29sIGlzU3RhcnRlZCgp
IGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBpbml0aWFsaXplTGF5ZXJSZW5kZXJlcigpOworICAg
IHZpcnR1YWwgaW50IGNvbXBvc2l0b3JJZGVudGlmaWVyKCkgY29uc3Q7CiAgICAgdmlydHVhbCBj
b25zdCBMYXllclJlbmRlcmVyQ2FwYWJpbGl0aWVzJiBsYXllclJlbmRlcmVyQ2FwYWJpbGl0aWVz
KCkgY29uc3Q7CiAgICAgdmlydHVhbCB2b2lkIGxvc2VDb21wb3NpdG9yQ29udGV4dChpbnQgbnVt
VGltZXMpOwogICAgIHZpcnR1YWwgdm9pZCBzZXROZWVkc0NvbW1pdCgpOwpAQCAtNzYsNyArODEs
NyBAQCBwcml2YXRlOgogICAgIHZvaWQgZHJhd0xheWVyc0FuZFJlYWRiYWNrT25DQ1RocmVhZChD
Q0NvbXBsZXRpb25FdmVudCosIGJvb2wqIHN1Y2Nlc3MsIHZvaWQqIHBpeGVscywgY29uc3QgSW50
UmVjdCYpOwogICAgIHZvaWQgZmluaXNoQWxsUmVuZGVyaW5nT25DQ1RocmVhZChDQ0NvbXBsZXRp
b25FdmVudCopOwogICAgIHZvaWQgaW5pdGlhbGl6ZUltcGxPbkNDVGhyZWFkKENDQ29tcGxldGlv
bkV2ZW50Kik7Ci0gICAgdm9pZCBpbml0aWFsaXplTGF5ZXJSZW5kZXJlck9uQ0NUaHJlYWQoR3Jh
cGhpY3NDb250ZXh0M0QqLCBDQ0NvbXBsZXRpb25FdmVudCosIGJvb2wqIGluaXRpYWxpemVTdWNj
ZWVkZWQsIExheWVyUmVuZGVyZXJDYXBhYmlsaXRpZXMqKTsKKyAgICB2b2lkIGluaXRpYWxpemVM
YXllclJlbmRlcmVyT25DQ1RocmVhZChHcmFwaGljc0NvbnRleHQzRCosIENDQ29tcGxldGlvbkV2
ZW50KiwgYm9vbCogaW5pdGlhbGl6ZVN1Y2NlZWRlZCwgTGF5ZXJSZW5kZXJlckNhcGFiaWxpdGll
cyosIGludCogY29tcG9zaXRvcklkZW50aWZpZXIpOwogICAgIHZvaWQgc2V0TmVlZHNDb21taXRP
bkNDVGhyZWFkKCk7CiAgICAgdm9pZCBzZXROZWVkc1JlZHJhd09uQ0NUaHJlYWQoKTsKICAgICB2
b2lkIHNldE5lZWRzQ29tbWl0VGhlblJlZHJhd09uQ0NUaHJlYWQoKTsKQEAgLTg2LDYgKzkxLDcg
QEAgcHJpdmF0ZToKICAgICBib29sIG1fY29tbWl0UmVxdWVzdGVkOwogICAgIGJvb2wgbV9yZWRy
YXdBZnRlckNvbW1pdDsKICAgICBDQ0xheWVyVHJlZUhvc3QqIG1fbGF5ZXJUcmVlSG9zdDsKKyAg
ICBpbnQgbV9jb21wb3NpdG9ySWRlbnRpZmllcjsKICAgICBMYXllclJlbmRlcmVyQ2FwYWJpbGl0
aWVzIG1fbGF5ZXJSZW5kZXJlckNhcGFiaWxpdGllc01haW5UaHJlYWRDb3B5OwogICAgIGJvb2wg
bV9zdGFydGVkOwogICAgIGludCBtX2xhc3RFeGVjdXRlZEJlZ2luRnJhbWVBbmRDb21taXRTZXF1
ZW5jZU51bWJlcjsKQEAgLTk0LDYgKzEwMCw5IEBAIHByaXZhdGU6CiAgICAgT3duUHRyPENDTGF5
ZXJUcmVlSG9zdEltcGw+IG1fbGF5ZXJUcmVlSG9zdEltcGw7CiAgICAgaW50IG1fbnVtQmVnaW5G
cmFtZUFuZENvbW1pdHNJc3N1ZWRPbkNDVGhyZWFkOwogCisgICAgT3duUHRyPENDSW5wdXRIYW5k
bGVyPiBtX2lucHV0SGFuZGxlck9uQ0NUaHJlYWQ7CisgICAgT3duUHRyPENDVGhyZWFkUHJveHlT
Y3JvbGxDb250cm9sbGVyQWRhcHRlcj4gbV9zY3JvbGxDb250cm9sbGVyQWRhcHRlck9uQ0NUaHJl
YWQ7CisKICAgICBPd25QdHI8Q0NTY2hlZHVsZXI+IG1fc2NoZWR1bGVyT25DQ1RocmVhZDsKICAg
ICBPd25QdHI8Q0NUaHJlYWRQcm94eVNjaGVkdWxlckNsaWVudD4gbV9zY2hlZHVsZXJDbGllbnRP
bkNDVGhyZWFkOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IGU5OTIyNTA2OWQ3ZTQ3
MzJhZmVkZGZiYjIyZmMxZDE4YmU0YzU1M2EuLmM5NmQ1MmY0NzM1NjIyNmQ3MzM2NzU0ODNkYTQy
M2EyZDIzM2MzZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzMgQEAK
KzIwMTEtMTAtMDQgIEphbWVzIFJvYmluc29uICA8amFtZXNyQGNocm9taXVtLm9yZz4KKworICAg
ICAgICBbY2hyb21pdW1dIEhvb2sgV2ViQ29tcG9zaXRvciBpbnRlcmZhY2UgZm9yIGlucHV0IGV2
ZW50cyB1cCB0byB0aGUgY29tcG9zaXRvciBwcm9wZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY5Mzk0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyB0ZWFjaGVzIFdlYkNvbXBvc2l0b3JJbXBsIGFi
b3V0IFdlYkNvcmU6OkNDSW5wdXRIYW5kbGVyLCB3aGljaCBXZWJDb21wb3NpdG9ySW1wbCBpbXBs
ZW1lbnRzLCBhbmQKKyAgICAgICAgQ0NTY3JvbGxDb250cm9sbGVyLCB3aGljaCBXZWJDb21wb3Np
dG9ySW1wbCB3aWxsIHVzZSBpbiB0aGUgZnV0dXJlIHRvIGRvIGFjdHVhbCBzY3JvbGxpbmcuIE9u
ZSB0aGluZyB0aGF0IGlzIGEKKyAgICAgICAgYml0IHVudXN1YWwgaGVyZSBpcyBXZWJDb3JlOjpD
Q0lucHV0SGFuZGxlcjo6Y3JlYXRlKCkgd2hpY2ggaXMgZGVmaW5lZCBpbiBXZWJDb21wb3NpdG9y
SW1wbC5jcHAuICBUaGlzIGlzCisgICAgICAgIGJlY2F1c2Ugd2UgbmVlZCBhIFdlYktpdCBvYmpl
Y3QgKFdlYktpdDo6V2ViQ29tcG9zaXRvckltcGwpIHRvIGJlIG93bmVkIGJ5IGEgV2ViQ29yZSBv
YmplY3QgKFdlYkNvcmU6OkNDVGhyZWFkUHJveHkpLgorICAgICAgICBUaGUgV2ViQ29yZSBzaWRl
IG9ubHkgbmVlZHMgdG8ga25vdyBhYm91dCB0aGUgaW50ZXJmYWNlLCBDQ0lucHV0SGFuZGxlciwg
YnV0IHRoZSBhY3R1YWwgaW1wbGVtZW50YXRpb24gaGFzIHRvCisgICAgICAgIGxpdmUgaW4gV2Vi
S2l0IGluIG9yZGVyIHRvIGtub3cgYWJvdXQgdGhlIGNvbmNyZXRlIHR5cGUuCisKKyAgICAgICAg
KiBzcmMvV2ViQ29tcG9zaXRvckltcGwuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q0NJbnB1dEhh
bmRsZXI6OmNyZWF0ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYkNvbXBvc2l0b3I6OmZyb21JZGVu
dGlmaWVyKToKKyAgICAgICAgKFdlYktpdDo6V2ViQ29tcG9zaXRvckltcGw6OmZyb21JZGVudGlm
aWVyKToKKyAgICAgICAgKFdlYktpdDo6V2ViQ29tcG9zaXRvckltcGw6OldlYkNvbXBvc2l0b3JJ
bXBsKToKKyAgICAgICAgKFdlYktpdDo6V2ViQ29tcG9zaXRvckltcGw6On5XZWJDb21wb3NpdG9y
SW1wbCk6CisgICAgICAgIChXZWJLaXQ6OldlYkNvbXBvc2l0b3JJbXBsOjpzZXRDbGllbnQpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJDb21wb3NpdG9ySW1wbDo6aGFuZGxlSW5wdXRFdmVudCk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYkNvbXBvc2l0b3JJbXBsOjppZGVudGlmaWVyKToKKyAgICAgICAg
KiBzcmMvV2ViQ29tcG9zaXRvckltcGwuaDoKKyAgICAgICAgKFdlYktpdDo6V2ViQ29tcG9zaXRv
ckltcGw6OmNyZWF0ZSk6CisgICAgICAgICogc3JjL1dlYlZpZXdJbXBsLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6V2ViVmlld0ltcGw6OnNldElzQWNjZWxlcmF0ZWRDb21wb3NpdGluZ0FjdGl2ZSk6
CisgICAgICAgICogc3JjL1dlYlZpZXdJbXBsLmg6CisgICAgICAgICogdGVzdHMvV2ViQ29tcG9z
aXRvckltcGxUZXN0LmNwcDoKKwogMjAxMS0xMC0wNCAgU2NvdHQgR3JhaGFtICA8c2NvdHRtZ0Bj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgQWRkIEdBTUVQQUQgZmVhdHVyZSBmbGFnCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJDb21wb3NpdG9ySW1wbC5jcHAgYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJDb21wb3NpdG9ySW1wbC5jcHAKaW5kZXggNWY5
NGI1OWU3OTQ1YjQ5NjEwNGZlYWU0MDQxYzJlZjQ0M2YwMDA4Ni4uMDI4NmYxOTg3N2IxZDYwNDNm
MzViNjA5MzFiZDgzMGE5YzM2ZGUwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViQ29tcG9zaXRvckltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL1dlYkNvbXBvc2l0b3JJbXBsLmNwcApAQCAtMzAsMTEgKzMwLDIxIEBACiAjaW5jbHVkZSAi
Q0NUaHJlYWRJbXBsLmgiCiAjaW5jbHVkZSAiV2ViQ29tcG9zaXRvckNsaWVudC5oIgogI2luY2x1
ZGUgIldlYklucHV0RXZlbnQuaCIKKyNpbmNsdWRlICJjYy9DQ1Njcm9sbENvbnRyb2xsZXIuaCIK
ICNpbmNsdWRlICJjYy9DQ1RocmVhZFByb3h5LmgiCiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZ1By
aW1pdGl2ZXMuaD4KIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworUGFzc093blB0cjxDQ0lucHV0SGFuZGxlcj4gQ0NJbnB1dEhhbmRsZXI6OmNyZWF0
ZShDQ1Njcm9sbENvbnRyb2xsZXIqIHNjcm9sbENvbnRyb2xsZXIpCit7CisgICAgcmV0dXJuIFdl
YktpdDo6V2ViQ29tcG9zaXRvckltcGw6OmNyZWF0ZShzY3JvbGxDb250cm9sbGVyKTsKK30KKwor
fQorCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogdm9pZCBXZWJDb21wb3NpdG9yOjpzZXRUaHJlYWQo
V2ViVGhyZWFkKiBjb21wb3NpdG9yVGhyZWFkKQpAQCAtNDMsMjcgKzUzLDIxIEBAIHZvaWQgV2Vi
Q29tcG9zaXRvcjo6c2V0VGhyZWFkKFdlYlRocmVhZCogY29tcG9zaXRvclRocmVhZCkKICAgICBD
Q1RocmVhZFByb3h5OjpzZXRUaHJlYWQoQ0NUaHJlYWRJbXBsOjpjcmVhdGUoY29tcG9zaXRvclRo
cmVhZCkubGVha1B0cigpKTsKIH0KIAotaW50IFdlYkNvbXBvc2l0b3JJbXBsOjpzX25leHRBdmFp
bGFibGVJZGVudGlmaWVyID0gMTsKIAotLy8gVGhlc2UgZGF0YSBzdHJ1Y3R1cmVzIGFyZSBhbHdh
eXMgYWxsb2NhdGVkIGZyb20gdGhlIG1haW4gdGhyZWFkLCBidXQgbWF5Ci0vLyBiZSBhY2Nlc3Nl
ZCBhbmQgbXV0YXRlZCBvbiB0aGUgbWFpbiBvciBjb21wb3NpdG9yIHRocmVhZC4KLS8vIHNfY29t
cG9zaXRvcnMgaXMgZGVsZXRlZCB3aGVuIGl0IGhhcyBubyBlbGVtZW50cy4gc19jb21wb3NpdG9y
c0xvY2sgaXMgbmV2ZXIKLS8vIGRlbGV0ZWQuCisvLyBUaGVzZSBzdGF0aWNzIG1heSBvbmx5IGJl
IGFjY2Vzc2VkIGZyb20gdGhlIGNvbXBvc2l0b3IgdGhyZWFkLgoraW50IFdlYkNvbXBvc2l0b3JJ
bXBsOjpzX25leHRBdmFpbGFibGVJZGVudGlmaWVyID0gMTsKIEhhc2hTZXQ8V2ViQ29tcG9zaXRv
ckltcGwqPiogV2ViQ29tcG9zaXRvckltcGw6OnNfY29tcG9zaXRvcnMgPSAwOwotTXV0ZXgqIFdl
YkNvbXBvc2l0b3JJbXBsOjpzX2NvbXBvc2l0b3JzTG9jayA9IDA7CiAKIFdlYkNvbXBvc2l0b3Iq
IFdlYkNvbXBvc2l0b3I6OmZyb21JZGVudGlmaWVyKGludCBpZGVudGlmaWVyKQogeworICAgIEFT
U0VSVChDQ1Byb3h5Ojppc0ltcGxUaHJlYWQoKSk7CiAgICAgcmV0dXJuIFdlYkNvbXBvc2l0b3JJ
bXBsOjpmcm9tSWRlbnRpZmllcihpZGVudGlmaWVyKTsKIH0KIAogV2ViQ29tcG9zaXRvciogV2Vi
Q29tcG9zaXRvckltcGw6OmZyb21JZGVudGlmaWVyKGludCBpZGVudGlmaWVyKQogewogICAgIEFT
U0VSVChDQ1Byb3h5Ojppc0ltcGxUaHJlYWQoKSk7Ci0gICAgaWYgKCFzX2NvbXBvc2l0b3JzTG9j
aykKLSAgICAgICAgcmV0dXJuIDA7CiAKLSAgICBNdXRleExvY2tlciBsb2NrKCpzX2NvbXBvc2l0
b3JzTG9jayk7CiAgICAgaWYgKCFzX2NvbXBvc2l0b3JzKQogICAgICAgICByZXR1cm4gMDsKIApA
QCAtNzQsMTQgKzc4LDEzIEBAIFdlYkNvbXBvc2l0b3IqIFdlYkNvbXBvc2l0b3JJbXBsOjpmcm9t
SWRlbnRpZmllcihpbnQgaWRlbnRpZmllcikKICAgICByZXR1cm4gMDsKIH0KIAotV2ViQ29tcG9z
aXRvckltcGw6OldlYkNvbXBvc2l0b3JJbXBsKCkKK1dlYkNvbXBvc2l0b3JJbXBsOjpXZWJDb21w
b3NpdG9ySW1wbChDQ1Njcm9sbENvbnRyb2xsZXIqIHNjcm9sbENvbnRyb2xsZXIpCiAgICAgOiBt
X2NsaWVudCgwKQogICAgICwgbV9pZGVudGlmaWVyKHNfbmV4dEF2YWlsYWJsZUlkZW50aWZpZXIr
KykKKyAgICAsIG1fc2Nyb2xsQ29udHJvbGxlcihzY3JvbGxDb250cm9sbGVyKQogewotICAgIEFT
U0VSVChDQ1Byb3h5Ojppc01haW5UaHJlYWQoKSk7Ci0gICAgaWYgKCFzX2NvbXBvc2l0b3JzTG9j
aykKLSAgICAgICAgc19jb21wb3NpdG9yc0xvY2sgPSBuZXcgTXV0ZXg7Ci0gICAgTXV0ZXhMb2Nr
ZXIgbG9jaygqc19jb21wb3NpdG9yc0xvY2spOworICAgIEFTU0VSVChDQ1Byb3h5Ojppc0ltcGxU
aHJlYWQoKSk7CisKICAgICBpZiAoIXNfY29tcG9zaXRvcnMpCiAgICAgICAgIHNfY29tcG9zaXRv
cnMgPSBuZXcgSGFzaFNldDxXZWJDb21wb3NpdG9ySW1wbCo+OwogICAgIHNfY29tcG9zaXRvcnMt
PmFkZCh0aGlzKTsKQEAgLTg5LDExICs5MiwxMCBAQCBXZWJDb21wb3NpdG9ySW1wbDo6V2ViQ29t
cG9zaXRvckltcGwoKQogCiBXZWJDb21wb3NpdG9ySW1wbDo6fldlYkNvbXBvc2l0b3JJbXBsKCkK
IHsKKyAgICBBU1NFUlQoQ0NQcm94eTo6aXNJbXBsVGhyZWFkKCkpOwogICAgIGlmIChtX2NsaWVu
dCkKICAgICAgICAgbV9jbGllbnQtPndpbGxTaHV0ZG93bigpOwogCi0gICAgQVNTRVJUKHNfY29t
cG9zaXRvcnNMb2NrKTsKLSAgICBNdXRleExvY2tlciBsb2NrKCpzX2NvbXBvc2l0b3JzTG9jayk7
CiAgICAgQVNTRVJUKHNfY29tcG9zaXRvcnMpOwogICAgIHNfY29tcG9zaXRvcnMtPnJlbW92ZSh0
aGlzKTsKICAgICBpZiAoIXNfY29tcG9zaXRvcnMtPnNpemUoKSkgewpAQCAtMTA1LDE2ICsxMDcs
MjQgQEAgV2ViQ29tcG9zaXRvckltcGw6On5XZWJDb21wb3NpdG9ySW1wbCgpCiB2b2lkIFdlYkNv
bXBvc2l0b3JJbXBsOjpzZXRDbGllbnQoV2ViQ29tcG9zaXRvckNsaWVudCogY2xpZW50KQogewog
ICAgIEFTU0VSVChDQ1Byb3h5Ojppc0ltcGxUaHJlYWQoKSk7Ci0gICAgQVNTRVJUKGNsaWVudCk7
CisgICAgLy8gSXQncyB2YWxpZCB0byBzZXQgYSBuZXcgY2xpZW50IGlmIHdlJ3ZlIG5ldmVyIGhh
ZCBvbmUgb3IgdG8gY2xlYXIgdGhlIGNsaWVudCwgYnV0IGl0J3Mgbm90IHZhbGlkIHRvIGNoYW5n
ZSBmcm9tIGhhdmluZyBvbmUgY2xpZW50IHRvIGEgZGlmZmVyZW50IG9uZS4KKyAgICBBU1NFUlQo
IW1fY2xpZW50IHx8ICFjbGllbnQpOwogICAgIG1fY2xpZW50ID0gY2xpZW50OwogfQogCiB2b2lk
IFdlYkNvbXBvc2l0b3JJbXBsOjpoYW5kbGVJbnB1dEV2ZW50KGNvbnN0IFdlYklucHV0RXZlbnQm
IGV2ZW50KQogewogICAgIEFTU0VSVChDQ1Byb3h5Ojppc0ltcGxUaHJlYWQoKSk7Ci0gICAgLy8g
RklYTUU6IERvIHNvbWV0aGluZyBpbnRlcmVzdGluZyB3aXRoIHRoZSBldmVudCBoZXJlLgorICAg
IEFTU0VSVChtX2NsaWVudCk7CisgICAgLy8gRklYTUU6IERvIHNvbWV0aGluZyBpbnRlcmVzdGlu
ZyB3aXRoIHRoaXMgaW5wdXQgZXZlbnQgbGlrZSBpbmZvcm0gb3VyIG1fc2Nyb2xsQ29udHJvbGxl
ci4KICAgICBtX2NsaWVudC0+ZGlkTm90SGFuZGxlSW5wdXRFdmVudCh0cnVlIC8qIHNlbmRUb1dp
ZGdldCAqLyk7CiB9CiAKK2ludCBXZWJDb21wb3NpdG9ySW1wbDo6aWRlbnRpZmllcigpIGNvbnN0
Cit7CisgICAgQVNTRVJUKENDUHJveHk6OmlzSW1wbFRocmVhZCgpKTsKKyAgICByZXR1cm4gbV9p
ZGVudGlmaWVyOworfQorCiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL1dlYkNvbXBvc2l0b3JJbXBsLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJD
b21wb3NpdG9ySW1wbC5oCmluZGV4IGVmMTlhNDU1MzNkMTY4NTg0ZmYzMzQwODJkNzg1MmFhNzg4
YzhmMWUuLmY0ZTRlMjFkOTQxNTk2ZWJkMmM4NDFkMWFmMTJhM2ZiOTZlMjI1YzggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkNvbXBvc2l0b3JJbXBsLmgKKysrIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViQ29tcG9zaXRvckltcGwuaApAQCAtMjgsNiAr
MjgsNyBAQAogCiAjaW5jbHVkZSAiV2ViQ29tcG9zaXRvci5oIgogCisjaW5jbHVkZSAiY2MvQ0NJ
bnB1dEhhbmRsZXIuaCIKICNpbmNsdWRlIDx3dGYvSGFzaFNldC5oPgogI2luY2x1ZGUgPHd0Zi9O
b25jb3B5YWJsZS5oPgogI2luY2x1ZGUgPHd0Zi9QYXNzT3duUHRyLmg+CkBAIC0zNiwzNyArMzcs
NDIgQEAgbmFtZXNwYWNlIFdURiB7CiBjbGFzcyBNdXRleDsKIH0KIAorbmFtZXNwYWNlIFdlYkNv
cmUgeworY2xhc3MgQ0NTY3JvbGxDb250cm9sbGVyOworfQorCiBuYW1lc3BhY2UgV2ViS2l0IHsK
IAogY2xhc3MgV2ViQ29tcG9zaXRvckNsaWVudDsKIAotY2xhc3MgV2ViQ29tcG9zaXRvckltcGwg
OiBwdWJsaWMgV2ViQ29tcG9zaXRvciB7CitjbGFzcyBXZWJDb21wb3NpdG9ySW1wbCA6IHB1Ymxp
YyBXZWJDb21wb3NpdG9yLCBwdWJsaWMgV2ViQ29yZTo6Q0NJbnB1dEhhbmRsZXIgewogICAgIFdU
Rl9NQUtFX05PTkNPUFlBQkxFKFdlYkNvbXBvc2l0b3JJbXBsKTsKIHB1YmxpYzoKICAgICBzdGF0
aWMgV2ViQ29tcG9zaXRvciogZnJvbUlkZW50aWZpZXIoaW50IGlkZW50aWZpZXIpOwogCi0gICAg
c3RhdGljIFBhc3NPd25QdHI8V2ViQ29tcG9zaXRvckltcGw+IGNyZWF0ZSgpCisgICAgc3RhdGlj
IFBhc3NPd25QdHI8V2ViQ29tcG9zaXRvckltcGw+IGNyZWF0ZShXZWJDb3JlOjpDQ1Njcm9sbENv
bnRyb2xsZXIqIHNjcm9sbENvbnRyb2xsZXIpCiAgICAgewotICAgICAgICByZXR1cm4gYWRvcHRQ
dHIobmV3IFdlYkNvbXBvc2l0b3JJbXBsKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBX
ZWJDb21wb3NpdG9ySW1wbChzY3JvbGxDb250cm9sbGVyKSk7CiAgICAgfQogCiAgICAgdmlydHVh
bCB+V2ViQ29tcG9zaXRvckltcGwoKTsKIAorICAgIC8vIFdlYkNvbXBvc2l0b3IgaW1wbGVtZW50
YXRpb24KICAgICB2aXJ0dWFsIHZvaWQgc2V0Q2xpZW50KFdlYkNvbXBvc2l0b3JDbGllbnQqKTsK
ICAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlSW5wdXRFdmVudChjb25zdCBXZWJJbnB1dEV2ZW50Jik7
CiAKLSAgICBpbnQgaWRlbnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIG1faWRlbnRpZmllcjsgfQor
ICAgIC8vIFdlYkNvcmU6OkNDSW5wdXRIYW5kbGVyIGltcGxlbWVudGF0aW9uCisgICAgdmlydHVh
bCBpbnQgaWRlbnRpZmllcigpIGNvbnN0OwogCiBwcml2YXRlOgotICAgIFdlYkNvbXBvc2l0b3JJ
bXBsKCk7CisgICAgZXhwbGljaXQgV2ViQ29tcG9zaXRvckltcGwoV2ViQ29yZTo6Q0NTY3JvbGxD
b250cm9sbGVyKik7CiAKICAgICBXZWJDb21wb3NpdG9yQ2xpZW50KiBtX2NsaWVudDsKICAgICBp
bnQgbV9pZGVudGlmaWVyOwotCi0gICAgc3RhdGljIEhhc2hTZXQ8V2ViQ29tcG9zaXRvckltcGwq
Piogc19jb21wb3NpdG9yczsKLSAgICBzdGF0aWMgTXV0ZXgqIHNfY29tcG9zaXRvcnNMb2NrOwor
ICAgIFdlYkNvcmU6OkNDU2Nyb2xsQ29udHJvbGxlciogbV9zY3JvbGxDb250cm9sbGVyOwogCiAg
ICAgc3RhdGljIGludCBzX25leHRBdmFpbGFibGVJZGVudGlmaWVyOworICAgIHN0YXRpYyBIYXNo
U2V0PFdlYkNvbXBvc2l0b3JJbXBsKj4qIHNfY29tcG9zaXRvcnM7CiB9OwogCiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKaW5kZXggODk1MWNhYjVhZDY3M2Fj
ZjczMzNlM2Q4ZjA0OTI4Y2NiZjIwODllMC4uZTYzNzQwYTMyNjA1OWIwMjI4MWY1ODI5OTIyMjNj
MmNlY2FkNTk4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmll
d0ltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNw
cApAQCAtMjY1MCw3ICsyNjUwLDcgQEAgdm9pZCBXZWJWaWV3SW1wbDo6c2V0SXNBY2NlbGVyYXRl
ZENvbXBvc2l0aW5nQWN0aXZlKGJvb2wgYWN0aXZlKQogICAgICAgICB1cGRhdGVMYXllclRyZWVW
aWV3cG9ydCgpOwogCiAgICAgICAgIG1fY2xpZW50LT5kaWRBY3RpdmF0ZUFjY2VsZXJhdGVkQ29t
cG9zaXRpbmcodHJ1ZSk7Ci0gICAgICAgIG1fY2xpZW50LT5kaWRBY3RpdmF0ZUNvbXBvc2l0b3Io
bV93ZWJDb21wb3NpdG9ySW1wbC0+aWRlbnRpZmllcigpKTsKKyAgICAgICAgbV9jbGllbnQtPmRp
ZEFjdGl2YXRlQ29tcG9zaXRvcihtX2xheWVyVHJlZUhvc3QtPmNvbXBvc2l0b3JJZGVudGlmaWVy
KCkpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIFRSQUNFX0VWRU5UKCJXZWJWaWV3SW1wbDo6c2V0
SXNBY2NlbGVyYXRlZENvbXBvc2l0aW5nQWN0aXZlKHRydWUpIiwgdGhpcywgMCk7CiAKQEAgLTI2
NjgsMTEgKzI2NjgsOSBAQCB2b2lkIFdlYlZpZXdJbXBsOjpzZXRJc0FjY2VsZXJhdGVkQ29tcG9z
aXRpbmdBY3RpdmUoYm9vbCBhY3RpdmUpCiAgICAgICAgIG1fbm9uQ29tcG9zaXRlZENvbnRlbnRI
b3N0ID0gTm9uQ29tcG9zaXRlZENvbnRlbnRIb3N0OjpjcmVhdGUoV2ViVmlld0ltcGxDb250ZW50
UGFpbnRlcjo6Y3JlYXRlKHRoaXMpKTsKICAgICAgICAgbV9sYXllclRyZWVIb3N0ID0gQ0NMYXll
clRyZWVIb3N0OjpjcmVhdGUodGhpcywgbV9ub25Db21wb3NpdGVkQ29udGVudEhvc3QtPnRvcExl
dmVsUm9vdExheWVyKCktPnBsYXRmb3JtTGF5ZXIoKSwgY2NTZXR0aW5ncyk7CiAgICAgICAgIGlm
IChtX2xheWVyVHJlZUhvc3QpIHsKLSAgICAgICAgICAgIG1fd2ViQ29tcG9zaXRvckltcGwgPSBX
ZWJDb21wb3NpdG9ySW1wbDo6Y3JlYXRlKCk7Ci0gICAgICAgICAgICAvLyBGSVhNRTogSG9vayB0
aGUgbV93ZWJDb21wb3NpdG9ySW1wbCB1cCB3aXRoIHRoZSBDQ0xheWVyVHJlZUhvc3Qgc29tZWhv
dy4KICAgICAgICAgICAgIHVwZGF0ZUxheWVyVHJlZVZpZXdwb3J0KCk7CiAgICAgICAgICAgICBt
X2NsaWVudC0+ZGlkQWN0aXZhdGVBY2NlbGVyYXRlZENvbXBvc2l0aW5nKHRydWUpOwotICAgICAg
ICAgICAgbV9jbGllbnQtPmRpZEFjdGl2YXRlQ29tcG9zaXRvcihtX3dlYkNvbXBvc2l0b3JJbXBs
LT5pZGVudGlmaWVyKCkpOworICAgICAgICAgICAgbV9jbGllbnQtPmRpZEFjdGl2YXRlQ29tcG9z
aXRvcihtX2xheWVyVHJlZUhvc3QtPmNvbXBvc2l0b3JJZGVudGlmaWVyKCkpOwogICAgICAgICAg
ICAgbV9pc0FjY2VsZXJhdGVkQ29tcG9zaXRpbmdBY3RpdmUgPSB0cnVlOwogICAgICAgICAgICAg
bV9jb21wb3NpdG9yQ3JlYXRpb25GYWlsZWQgPSBmYWxzZTsKICAgICAgICAgICAgIGlmIChtX3Bh
Z2VPdmVybGF5KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmll
d0ltcGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmgKaW5kZXgg
OGZkZGI5ZGYzYTJiNzFjY2JiNjJkZDI4OTMzYzBiODBiM2VjYmEwZS4uYjc5ZTIxMzZkN2FjMjdi
N2U2ZGQ4MDhlNmZiZDc0NTY5NWFhNmY5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvV2ViVmlld0ltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9X
ZWJWaWV3SW1wbC5oCkBAIC01NzYsNyArNTc2LDYgQEAgcHJpdmF0ZToKICAgICBXZWJDb3JlOjpJ
bnRSZWN0IG1fcm9vdExheWVyU2Nyb2xsRGFtYWdlOwogICAgIE93blB0cjxXZWJDb3JlOjpOb25D
b21wb3NpdGVkQ29udGVudEhvc3Q+IG1fbm9uQ29tcG9zaXRlZENvbnRlbnRIb3N0OwogICAgIFJl
ZlB0cjxXZWJDb3JlOjpDQ0xheWVyVHJlZUhvc3Q+IG1fbGF5ZXJUcmVlSG9zdDsKLSAgICBPd25Q
dHI8V2ViQ29tcG9zaXRvckltcGw+IG1fd2ViQ29tcG9zaXRvckltcGw7CiAgICAgV2ViQ29yZTo6
R3JhcGhpY3NMYXllciogbV9yb290R3JhcGhpY3NMYXllcjsKICAgICBib29sIG1faXNBY2NlbGVy
YXRlZENvbXBvc2l0aW5nQWN0aXZlOwogICAgIGJvb2wgbV9jb21wb3NpdG9yQ3JlYXRpb25GYWls
ZWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL1dlYkNvbXBvc2l0
b3JJbXBsVGVzdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL1dlYkNvbXBvc2l0
b3JJbXBsVGVzdC5jcHAKaW5kZXggN2M0MzZmYWYwNTY1NGQzNWRjNDIwN2U5NWZjMzMzOWJlNGYx
ODE3MS4uYTMzMzM2OWNlZWY1OThhOWJhODk2NzhhMjQyNTgwNTcyMTkyYzRiOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9XZWJDb21wb3NpdG9ySW1wbFRlc3QuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvV2ViQ29tcG9zaXRvckltcGxUZXN0
LmNwcApAQCAtMjcsNyArMjcsNyBAQAogCiAjaW5jbHVkZSAiV2ViQ29tcG9zaXRvckltcGwuaCIK
IAotI2luY2x1ZGUgImNjL0NDUHJveHkuaCIKKyNpbmNsdWRlICJjYy9DQ1NpbmdsZVRocmVhZFBy
b3h5LmgiCiAKICNpbmNsdWRlIDxndGVzdC9ndGVzdC5oPgogI2luY2x1ZGUgPHd0Zi9Pd25QdHIu
aD4KQEAgLTQxLDcgKzQxLDcgQEAgVEVTVChXZWJDb21wb3NpdG9ySW1wbCwgZnJvbUlkZW50aWZp
ZXIpCiB7CiAjaWZuZGVmIE5ERUJVRwogICAgIC8vIFdlYkNvbXBvc2l0b3IgQVBJcyBjYW4gb25s
eSBiZSBjYWxsZWQgZnJvbSB0aGUgY29tcG9zaXRvciB0aHJlYWQuCi0gICAgV2ViQ29yZTo6Q0NQ
cm94eTo6c2V0SW1wbFRocmVhZCh0cnVlKTsKKyAgICBXZWJDb3JlOjpEZWJ1Z1Njb3BlZFNldElt
cGxUaHJlYWQgYWx3YXlzSW1wbFRocmVhZDsKICNlbmRpZgogCiAgICAgLy8gQmVmb3JlIGNyZWF0
aW5nIGFueSBXZWJDb21wb3NpdG9ycywgbG9va3VwcyBmb3IgYW55IHZhbHVlIHNob3VsZCBmYWls
IGFuZCBub3QgY3Jhc2guCkBAIC01MSwxMyArNTEsNyBAQCBURVNUKFdlYkNvbXBvc2l0b3JJbXBs
LCBmcm9tSWRlbnRpZmllcikKIAogICAgIGludCBjb21wb3NpdG9ySWRlbnRpZmllciA9IC0xOwog
ICAgIHsKLSNpZm5kZWYgTkRFQlVHCi0gICAgICAgIFdlYkNvcmU6OkNDUHJveHk6OnNldEltcGxU
aHJlYWQoZmFsc2UpOwotI2VuZGlmCi0gICAgICAgIE93blB0cjxXZWJDb21wb3NpdG9ySW1wbD4g
Y29tcCA9IFdlYkNvbXBvc2l0b3JJbXBsOjpjcmVhdGUoKTsKLSNpZm5kZWYgTkRFQlVHCi0gICAg
ICAgIFdlYkNvcmU6OkNDUHJveHk6OnNldEltcGxUaHJlYWQodHJ1ZSk7Ci0jZW5kaWYKKyAgICAg
ICAgT3duUHRyPFdlYkNvbXBvc2l0b3JJbXBsPiBjb21wID0gV2ViQ29tcG9zaXRvckltcGw6OmNy
ZWF0ZSgwKTsKICAgICAgICAgY29tcG9zaXRvcklkZW50aWZpZXIgPSBjb21wLT5pZGVudGlmaWVy
KCk7CiAgICAgICAgIC8vIFRoZSBjb21wb3NpdG9yIHdlIGp1c3QgY3JlYXRlZCBzaG91bGQgYmUg
bG9jYXRhYmxlLgogICAgICAgICBFWFBFQ1RfRVEoY29tcC5nZXQoKSwgV2ViQ29tcG9zaXRvcjo6
ZnJvbUlkZW50aWZpZXIoY29tcG9zaXRvcklkZW50aWZpZXIpKTsK
</data>
<flag name="review"
          id="107035"
          type_id="1"
          status="+"
          setter="fishd"
    />
          </attachment>
      

    </bug>

</bugzilla>