<?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>99302</bug_id>
          
          <creation_ts>2012-10-15 01:42:25 -0700</creation_ts>
          <short_desc>[BlackBerry] replace BlackBerry::Platform::log() with BBLOG()</short_desc>
          <delta_ts>2012-10-16 11:04:16 -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>WebKit BlackBerry</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="Jonathan Dong">jonathan.dong.webkit</reporter>
          <assigned_to name="Jonathan Dong">jonathan.dong.webkit</assigned_to>
          <cc>charles.wei</cc>
    
    <cc>dino</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>feature-media-reviews</cc>
    
    <cc>mifenton</cc>
    
    <cc>noam</cc>
    
    <cc>rwlbuis</cc>
    
    <cc>staikos</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yong.li.webkit</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>741846</commentid>
    <comment_count>0</comment_count>
    <who name="Jonathan Dong">jonathan.dong.webkit</who>
    <bug_when>2012-10-15 01:42:25 -0700</bug_when>
    <thetext>RIM PR: 210884

BBLOG() is natively defined as a no-op in release mode, so replace BlackBerry::Platform::log() with BBLOG() will save a function call in release mode.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>741853</commentid>
    <comment_count>1</comment_count>
      <attachid>168649</attachid>
    <who name="Jonathan Dong">jonathan.dong.webkit</who>
    <bug_when>2012-10-15 01:52:47 -0700</bug_when>
    <thetext>Created attachment 168649
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>742010</commentid>
    <comment_count>2</comment_count>
      <attachid>168649</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2012-10-15 06:44:40 -0700</bug_when>
    <thetext>Comment on attachment 168649
Patch

LGTM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>742036</commentid>
    <comment_count>3</comment_count>
      <attachid>168649</attachid>
    <who name="Charles Wei">charles.wei</who>
    <bug_when>2012-10-15 07:42:29 -0700</bug_when>
    <thetext>Comment on attachment 168649
Patch

Commit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>742280</commentid>
    <comment_count>4</comment_count>
      <attachid>168649</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-15 12:35:22 -0700</bug_when>
    <thetext>Comment on attachment 168649
Patch

Clearing flags on attachment: 168649

Committed r131335: &lt;http://trac.webkit.org/changeset/131335&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>742281</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-15 12:35:26 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>743165</commentid>
    <comment_count>6</comment_count>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2012-10-16 08:29:41 -0700</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>743166</commentid>
    <comment_count>7</comment_count>
      <attachid>168953</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2012-10-16 08:29:44 -0700</bug_when>
    <thetext>Created attachment 168953
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>743272</commentid>
    <comment_count>8</comment_count>
      <attachid>168953</attachid>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2012-10-16 10:37:23 -0700</bug_when>
    <thetext>Comment on attachment 168953
Patch

!NDEBUG should be !defined(NDEBUG)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>743316</commentid>
    <comment_count>9</comment_count>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2012-10-16 11:04:16 -0700</bug_when>
    <thetext>Committed r131473: &lt;http://trac.webkit.org/changeset/131473&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>168649</attachid>
            <date>2012-10-15 01:52:47 -0700</date>
            <delta_ts>2012-10-16 08:29:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-99302-20121015165135.patch</filename>
            <type>text/plain</type>
            <size>43018</size>
            <attacher name="Jonathan Dong">jonathan.dong.webkit</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMxMjkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjEyN2MzNWI4NTgxYTlh
MWFkZmFhOGRmOTU1YTE4ZDc1YWRkY2QzYS4uMTE1MGY1MzIzZjM3MjA2MzVkZjE3YzMwMWE0YWVj
OWVhYTc0NDdlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDEyLTEwLTE1ICBKb25h
dGhhbiBEb25nICA8am9uYXRoYW4uZG9uZ0B0b3JjaG1vYmlsZS5jb20uY24+CisKKyAgICAgICAg
W0JsYWNrQmVycnldIHJlcGxhY2UgQmxhY2tCZXJyeTo6UGxhdGZvcm06OmxvZygpIHdpdGggQkJM
T0coKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTkz
MDIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSSU0g
UFI6IDIxMDg4NAorICAgICAgICBUaGUgbWFyY28gQkJMT0coKSBpcyBkZWZpbmVkIGFzIGEgbm8t
b3AgaW4gcmVsZWFzZSBtb2RlIHdoaWNoIHdpbGwKKyAgICAgICAgc2F2ZSBhIGZ1bmN0aW9uIGNh
bGwgaW4gdGhlIHJlbGVhc2UgYnVpbGQuCisgICAgICAgIEludGVybmFsbHkgcmV2aWV3ZWQgYnkg
Q2hhcmxlcyBXZWkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIHNpbmNlIHRoZXJlJ3Mgbm8gZnVu
Y3Rpb25hbCBjaGFuZ2UuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ibGFja2JlcnJ5L1BsYXRmb3Jt
S2V5Ym9hcmRFdmVudEJsYWNrQmVycnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGxhdGZvcm1L
ZXlib2FyZEV2ZW50OjpQbGF0Zm9ybUtleWJvYXJkRXZlbnQpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2JsYWNrYmVycnkvR3JhcGhpY3NDb250ZXh0M0RCbGFja0JlcnJ5LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjpsb2dGcmFtZUJ1ZmZlclN0YXR1cyk6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYmxhY2tiZXJyeS9MYXllckNvbXBvc2l0aW5n
VGhyZWFkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkxheWVyQ29tcG9zaXRpbmdUaHJlYWQ6Omdl
dFRyYW5zZm9ybWVkSG9sZVB1bmNoUmVjdCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
YmxhY2tiZXJyeS9WaWRlb0xheWVyV2ViS2l0VGhyZWFkLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlZpZGVvTGF5ZXJXZWJLaXRUaHJlYWQ6OnNldEhvbGVQdW5jaFJlY3QpOgorICAgICAgICAoV2Vi
Q29yZTo6VmlkZW9MYXllcldlYktpdFRocmVhZDo6Ym91bmRzQ2hhbmdlZCk6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dDNET3BlbkdMQ29tbW9uLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjpjb21waWxlU2hhZGVyKToK
KwogMjAxMi0xMC0xMiAgSWx5YSBUaWtob25vdnNreSAgPGxvaXNsb0BjaHJvbWl1bS5vcmc+CiAK
ICAgICAgICAgV2ViIEluc3BlY3RvcjogTk1JIHJlbW92ZSBoYW5kIG1hZGUgb2JqZWN0IGJ1aWxk
ZXJzIHdpdGggYXV0b21hdGljIGJ1aWxkZXIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Js
YWNrYmVycnkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0NoYW5nZUxvZwpp
bmRleCAwZWMyOTJkYTU1MzM1MGVmMDhkNjljNmJlMDE5Mjc3NmM5YzFiYjAwLi5hMzY1MDY3NmNl
ZDBhNTgxYjNhNDEwODc1NjQ2Y2Y4OTExZmU3ODVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2JsYWNrYmVycnkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFu
Z2VMb2cKQEAgLTEsMyArMSw2MyBAQAorMjAxMi0xMC0xNSAgSm9uYXRoYW4gRG9uZyAgPGpvbmF0
aGFuLmRvbmdAdG9yY2htb2JpbGUuY29tLmNuPgorCisgICAgICAgIFtCbGFja0JlcnJ5XSByZXBs
YWNlIEJsYWNrQmVycnk6OlBsYXRmb3JtOjpsb2coKSB3aXRoIEJCTE9HKCkKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk5MzAyCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUklNIFBSOiAyMTA4ODQKKyAgICAg
ICAgVGhlIG1hcmNvIEJCTE9HKCkgaXMgZGVmaW5lZCBhcyBhIG5vLW9wIGluIHJlbGVhc2UgbW9k
ZSB3aGljaCB3aWxsCisgICAgICAgIHNhdmUgYSBmdW5jdGlvbiBjYWxsIGluIHRoZSByZWxlYXNl
IGJ1aWxkLgorICAgICAgICBJbnRlcm5hbGx5IHJldmlld2VkIGJ5IENoYXJsZXMgV2VpLgorCisg
ICAgICAgICogQXBpL0JhY2tpbmdTdG9yZS5jcHA6CisgICAgICAgIChCbGFja0JlcnJ5OjpXZWJL
aXQ6OmJlc3REaXZpc29yKToKKyAgICAgICAgKEJsYWNrQmVycnk6OldlYktpdDo6QmFja2luZ1N0
b3JlUHJpdmF0ZTo6c3VzcGVuZFNjcmVlbkFuZEJhY2tpbmdTdG9yZVVwZGF0ZXMpOgorICAgICAg
ICAoQmxhY2tCZXJyeTo6V2ViS2l0OjpCYWNraW5nU3RvcmVQcml2YXRlOjpyZXN1bWVTY3JlZW5B
bmRCYWNraW5nU3RvcmVVcGRhdGVzKToKKyAgICAgICAgKEJsYWNrQmVycnk6OldlYktpdDo6QmFj
a2luZ1N0b3JlUHJpdmF0ZTo6cmVwYWludCk6CisgICAgICAgIChCbGFja0JlcnJ5OjpXZWJLaXQ6
OkJhY2tpbmdTdG9yZVByaXZhdGU6OnNsb3dTY3JvbGwpOgorICAgICAgICAoQmxhY2tCZXJyeTo6
V2ViS2l0OjpCYWNraW5nU3RvcmVQcml2YXRlOjpzY3JvbGwpOgorICAgICAgICAoQmxhY2tCZXJy
eTo6V2ViS2l0OjpCYWNraW5nU3RvcmVQcml2YXRlOjpzZXRCYWNraW5nU3RvcmVSZWN0KToKKyAg
ICAgICAgKEJsYWNrQmVycnk6OldlYktpdDo6QmFja2luZ1N0b3JlUHJpdmF0ZTo6c2Nyb2xsQmFj
a2luZ1N0b3JlKToKKyAgICAgICAgKEJsYWNrQmVycnk6OldlYktpdDo6QmFja2luZ1N0b3JlUHJp
dmF0ZTo6cmVuZGVyKToKKyAgICAgICAgKEJsYWNrQmVycnk6OldlYktpdDo6QmFja2luZ1N0b3Jl
UHJpdmF0ZTo6YmxpdFZpc2libGVDb250ZW50cyk6CisgICAgICAgIChCbGFja0JlcnJ5OjpXZWJL
aXQ6OkJhY2tpbmdTdG9yZVByaXZhdGU6OnVwZGF0ZVRpbGVzRm9yU2Nyb2xsT3JOb3RSZW5kZXJl
ZFJlZ2lvbik6CisgICAgICAgIChCbGFja0JlcnJ5OjpXZWJLaXQ6OkJhY2tpbmdTdG9yZVByaXZh
dGU6OnJlbmRlckNvbnRlbnRzKToKKyAgICAgICAgKEJsYWNrQmVycnk6OldlYktpdDo6QmFja2lu
Z1N0b3JlUHJpdmF0ZTo6YmxpdFRvV2luZG93KToKKyAgICAgICAgKEJsYWNrQmVycnk6OldlYktp
dDo6QmFja2luZ1N0b3JlUHJpdmF0ZTo6ZmlsbFdpbmRvdyk6CisgICAgICAgIChCbGFja0JlcnJ5
OjpXZWJLaXQ6OkJhY2tpbmdTdG9yZVByaXZhdGU6OmludmFsaWRhdGVXaW5kb3cpOgorICAgICAg
ICAoQmxhY2tCZXJyeTo6V2ViS2l0OjpCYWNraW5nU3RvcmVQcml2YXRlOjpjbGVhcldpbmRvdyk6
CisgICAgICAgICogQXBpL1dlYlBhZ2UuY3BwOgorICAgICAgICAoQmxhY2tCZXJyeTo6V2ViS2l0
OjpXZWJQYWdlUHJpdmF0ZTo6c2V0TG9hZFN0YXRlKToKKyAgICAgICAgKEJsYWNrQmVycnk6Oldl
YktpdDo6V2ViUGFnZVByaXZhdGU6Onpvb21BYm91dFBvaW50KToKKyAgICAgICAgKEJsYWNrQmVy
cnk6OldlYktpdDo6V2ViUGFnZVByaXZhdGU6OmNvbnRlbnRzU2l6ZUNoYW5nZWQpOgorICAgICAg
ICAoQmxhY2tCZXJyeTo6V2ViS2l0OjpXZWJQYWdlUHJpdmF0ZTo6em9vbVRvSW5pdGlhbFNjYWxl
T25Mb2FkKToKKyAgICAgICAgKEJsYWNrQmVycnk6OldlYktpdDo6V2ViUGFnZVByaXZhdGU6OnNj
aGVkdWxlUm9vdExheWVyQ29tbWl0KToKKyAgICAgICAgKEJsYWNrQmVycnk6OldlYktpdDo6V2Vi
UGFnZVByaXZhdGU6OmNvbW1pdFJvb3RMYXllcik6CisgICAgICAgIChCbGFja0JlcnJ5OjpXZWJL
aXQ6OldlYlBhZ2VQcml2YXRlOjpjb21taXRSb290TGF5ZXJJZk5lZWRlZCk6CisgICAgICAgIChC
bGFja0JlcnJ5OjpXZWJLaXQ6OldlYlBhZ2VQcml2YXRlOjpyb290TGF5ZXJDb21taXRUaW1lckZp
cmVkKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRCbGFja0JlcnJ5LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudEJsYWNrQmVycnk6Om92ZXJmbG93RXhj
ZWVkc0NvbnRlbnRzU2l6ZSk6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnRCbGFja0Jl
cnJ5OjpkaWREaXNjb3ZlckZyYW1lU2V0KToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9GcmFt
ZUxvYWRlckNsaWVudEJsYWNrQmVycnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVMb2Fk
ZXJDbGllbnRCbGFja0JlcnJ5OjpkaXNwYXRjaERpZExheW91dCk6CisgICAgICAgICogV2ViS2l0
U3VwcG9ydC9GYXRGaW5nZXJzLmNwcDoKKyAgICAgICAgKEJsYWNrQmVycnk6OldlYktpdDo6RmF0
RmluZ2Vyczo6Y2hlY2tGaW5nZXJJbnRlcnNlY3Rpb24pOgorICAgICAgICAoQmxhY2tCZXJyeTo6
V2ViS2l0OjpGYXRGaW5nZXJzOjpmaW5kSW50ZXJzZWN0aW5nUmVnaW9ucyk6CisgICAgICAgIChC
bGFja0JlcnJ5OjpXZWJLaXQ6OkZhdEZpbmdlcnM6OmNoZWNrRm9yVGV4dCk6CisgICAgICAgICog
V2ViS2l0U3VwcG9ydC9SZW5kZXJRdWV1ZS5jcHA6CisgICAgICAgIChCbGFja0JlcnJ5OjpXZWJL
aXQ6OlJlbmRlclF1ZXVlOjphZGRUb1JlZ3VsYXJRdWV1ZSk6CisgICAgICAgIChCbGFja0JlcnJ5
OjpXZWJLaXQ6OlJlbmRlclF1ZXVlOjphZGRUb1Njcm9sbFpvb21RdWV1ZSk6CisgICAgICAgIChC
bGFja0JlcnJ5OjpXZWJLaXQ6OlJlbmRlclF1ZXVlOjpyZW5kZXIpOgorICAgICAgICAoQmxhY2tC
ZXJyeTo6V2ViS2l0OjpSZW5kZXJRdWV1ZTo6cmVuZGVyQWxsQ3VycmVudFJlZ3VsYXJSZW5kZXJK
b2JzKToKKyAgICAgICAgKEJsYWNrQmVycnk6OldlYktpdDo6UmVuZGVyUXVldWU6OnN0YXJ0UmVn
dWxhclJlbmRlckpvYkJhdGNoSWZOZWVkZWQpOgorICAgICAgICAoQmxhY2tCZXJyeTo6V2ViS2l0
OjpSZW5kZXJRdWV1ZTo6cmVuZGVyVmlzaWJsZVpvb21Kb2IpOgorICAgICAgICAoQmxhY2tCZXJy
eTo6V2ViS2l0OjpSZW5kZXJRdWV1ZTo6cmVuZGVyVmlzaWJsZVNjcm9sbEpvYik6CisgICAgICAg
IChCbGFja0JlcnJ5OjpXZWJLaXQ6OlJlbmRlclF1ZXVlOjpyZW5kZXJSZWd1bGFyUmVuZGVySm9i
KToKKyAgICAgICAgKEJsYWNrQmVycnk6OldlYktpdDo6UmVuZGVyUXVldWU6OnJlbmRlck5vblZp
c2libGVTY3JvbGxKb2IpOgorICAgICAgICAqIFdlYktpdFN1cHBvcnQvU3VyZmFjZVBvb2wuY3Bw
OgorICAgICAgICAoQmxhY2tCZXJyeTo6V2ViS2l0OjpTdXJmYWNlUG9vbDo6aW5pdGlhbGl6ZSk6
CisKIDIwMTItMTAtMTMgIEpha29iIFBldHNvdml0cyAgPGpwZXRzb3ZpdHNAcmltLmNvbT4KIAog
ICAgICAgICBbQmxhY2tCZXJyeV0gRmV0Y2ggYmxpdCByZWN0cyBmcm9tIGEgdmlld3BvcnQgYWNj
ZXNzb3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2JsYWNrYmVycnkvUGxh
dGZvcm1LZXlib2FyZEV2ZW50QmxhY2tCZXJyeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ibGFja2JlcnJ5L1BsYXRmb3JtS2V5Ym9hcmRFdmVudEJsYWNrQmVycnkuY3BwCmluZGV4IDQ5
MTQzMDViYTZkM2Q2ZmYzOGRkMjJhZjJlYWU5NWEyZmZjYWEwNzQuLjhkYzJlMDI0MzBlMGJjYzQw
N2EzZmMxM2JlMTNlYjkzMjdiY2JjMjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2JsYWNrYmVycnkvUGxhdGZvcm1LZXlib2FyZEV2ZW50QmxhY2tCZXJyeS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYmxhY2tiZXJyeS9QbGF0Zm9ybUtleWJvYXJkRXZlbnRC
bGFja0JlcnJ5LmNwcApAQCAtNDUyLDcgKzQ1Miw3IEBAIFBsYXRmb3JtS2V5Ym9hcmRFdmVudDo6
UGxhdGZvcm1LZXlib2FyZEV2ZW50KGNvbnN0IEJsYWNrQmVycnk6OlBsYXRmb3JtOjpLZXlib2Fy
CiAgICAgaWYgKGV2ZW50LmNoYXJhY3RlcigpID09IEtFWUNPREVfQkFDS19UQUIpCiAgICAgICAg
IG1fbW9kaWZpZXJzIHw9IFNoaWZ0S2V5OyAvLyBCYWNrVGFiIHNob3VsZCBiZSB0cmVhdGVkIGFz
IFNoaWZ0ICsgVGFiLgogCi0gICAgQmxhY2tCZXJyeTo6UGxhdGZvcm06OmxvZyhCbGFja0JlcnJ5
OjpQbGF0Zm9ybTo6TG9nTGV2ZWxJbmZvLCAiS2V5Ym9hcmQgZXZlbnQgcmVjZWl2ZWQgdGV4dD0l
bGMsIGtleUlkZW50aWZpZXI9JXMsIHdpbmRvd3NWaXJ0dWFsS2V5Q29kZT0lZCIsIGV2ZW50LmNo
YXJhY3RlcigpLCBtX2tleUlkZW50aWZpZXIubGF0aW4xKCkuZGF0YSgpLCBtX3dpbmRvd3NWaXJ0
dWFsS2V5Q29kZSk7CisgICAgQkJMT0coQmxhY2tCZXJyeTo6UGxhdGZvcm06OkxvZ0xldmVsSW5m
bywgIktleWJvYXJkIGV2ZW50IHJlY2VpdmVkIHRleHQ9JWxjLCBrZXlJZGVudGlmaWVyPSVzLCB3
aW5kb3dzVmlydHVhbEtleUNvZGU9JWQiLCBldmVudC5jaGFyYWN0ZXIoKSwgbV9rZXlJZGVudGlm
aWVyLmxhdGluMSgpLmRhdGEoKSwgbV93aW5kb3dzVmlydHVhbEtleUNvZGUpOwogfQogCiBib29s
IFBsYXRmb3JtS2V5Ym9hcmRFdmVudDo6Y3VycmVudENhcHNMb2NrU3RhdGUoKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYmxhY2tiZXJyeS9HcmFwaGljc0Nv
bnRleHQzREJsYWNrQmVycnkuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
YmxhY2tiZXJyeS9HcmFwaGljc0NvbnRleHQzREJsYWNrQmVycnkuY3BwCmluZGV4IGEwY2Q1ODNi
ODYxYmI3MzI1NGNlZWZhMGEwYWFjMDVhZWVlNDEzZWEuLjk1ZTAyM2QxNGM5MTE2YWE5NzZjZGNm
OTNjNTYzNDBkN2Q0NTZjYjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2JsYWNrYmVycnkvR3JhcGhpY3NDb250ZXh0M0RCbGFja0JlcnJ5LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ibGFja2JlcnJ5L0dyYXBoaWNzQ29udGV4
dDNEQmxhY2tCZXJyeS5jcHAKQEAgLTIzNCw0NiArMjM0LDQ2IEBAIGJvb2wgR3JhcGhpY3NDb250
ZXh0M0Q6OnJlc2hhcGVGQk9zKGNvbnN0IEludFNpemUmIHNpemUpCiAKIHZvaWQgR3JhcGhpY3ND
b250ZXh0M0Q6OmxvZ0ZyYW1lQnVmZmVyU3RhdHVzKGludCBsaW5lKQogewotICAgIEJsYWNrQmVy
cnk6OlBsYXRmb3JtOjpsb2coQmxhY2tCZXJyeTo6UGxhdGZvcm06OkxvZ0xldmVsSW5mbywgIkNo
ZWNraW5nIEZyYW1lQnVmZmVyIHN0YXR1cyBhdCBsaW5lICVkOiAiLCBsaW5lKTsKKyAgICBCQkxP
RyhCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6TG9nTGV2ZWxJbmZvLCAiQ2hlY2tpbmcgRnJhbWVCdWZm
ZXIgc3RhdHVzIGF0IGxpbmUgJWQ6ICIsIGxpbmUpOwogICAgIHN3aXRjaCAoZ2xDaGVja0ZyYW1l
YnVmZmVyU3RhdHVzRVhUKEdMX0ZSQU1FQlVGRkVSX0VYVCkpIHsKICAgICBjYXNlIEdMX0ZSQU1F
QlVGRkVSX0NPTVBMRVRFOgotICAgICAgICBCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6bG9nKEJsYWNr
QmVycnk6OlBsYXRmb3JtOjpMb2dMZXZlbEluZm8sICJDT01QTEVURSB8ICIpOworICAgICAgICBC
QkxPRyhCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6TG9nTGV2ZWxJbmZvLCAiQ09NUExFVEUgfCAiKTsK
ICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBHTF9GUkFNRUJVRkZFUl9JTkNPTVBMRVRFX0FUVEFD
SE1FTlQ6Ci0gICAgICAgIEJsYWNrQmVycnk6OlBsYXRmb3JtOjpsb2coQmxhY2tCZXJyeTo6UGxh
dGZvcm06OkxvZ0xldmVsSW5mbywgIklOQ09NUExFVEUgQVRUQUNITUVOVCB8ICIpOworICAgICAg
ICBCQkxPRyhCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6TG9nTGV2ZWxJbmZvLCAiSU5DT01QTEVURSBB
VFRBQ0hNRU5UIHwgIik7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgR0xfRlJBTUVCVUZGRVJf
SU5DT01QTEVURV9NSVNTSU5HX0FUVEFDSE1FTlQ6Ci0gICAgICAgIEJsYWNrQmVycnk6OlBsYXRm
b3JtOjpsb2coQmxhY2tCZXJyeTo6UGxhdGZvcm06OkxvZ0xldmVsSW5mbywgIk1JU1NJTkcgQVRU
QUNITUVOVCB8ICIpOworICAgICAgICBCQkxPRyhCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6TG9nTGV2
ZWxJbmZvLCAiTUlTU0lORyBBVFRBQ0hNRU5UIHwgIik7CiAgICAgICAgIGJyZWFrOwogICAgIGNh
c2UgR0xfRlJBTUVCVUZGRVJfSU5DT01QTEVURV9ESU1FTlNJT05TOgotICAgICAgICBCbGFja0Jl
cnJ5OjpQbGF0Zm9ybTo6bG9nKEJsYWNrQmVycnk6OlBsYXRmb3JtOjpMb2dMZXZlbEluZm8sICJJ
TkNPTVBMRVRFIERJTUVOU0lPTlMgfCAiKTsKKyAgICAgICAgQkJMT0coQmxhY2tCZXJyeTo6UGxh
dGZvcm06OkxvZ0xldmVsSW5mbywgIklOQ09NUExFVEUgRElNRU5TSU9OUyB8ICIpOwogICAgICAg
ICBicmVhazsKICAgICBjYXNlIEdMX0ZSQU1FQlVGRkVSX1VOU1VQUE9SVEVEOgotICAgICAgICBC
bGFja0JlcnJ5OjpQbGF0Zm9ybTo6bG9nKEJsYWNrQmVycnk6OlBsYXRmb3JtOjpMb2dMZXZlbElu
Zm8sICJVTlNVUFBPUlRFRCB8ICIpOworICAgICAgICBCQkxPRyhCbGFja0JlcnJ5OjpQbGF0Zm9y
bTo6TG9nTGV2ZWxJbmZvLCAiVU5TVVBQT1JURUQgfCAiKTsKICAgICAgICAgYnJlYWs7CiAgICAg
Y2FzZSBGUkFNRUJVRkZFUl9JTkNPTVBMRVRFX01VTFRJU0FNUExFX0VYVDoKLSAgICAgICAgQmxh
Y2tCZXJyeTo6UGxhdGZvcm06OmxvZyhCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6TG9nTGV2ZWxJbmZv
LCAiSU5DT01QTEVURSBNVUxUSVNBTVBMRSB8ICIpOworICAgICAgICBCQkxPRyhCbGFja0JlcnJ5
OjpQbGF0Zm9ybTo6TG9nTGV2ZWxJbmZvLCAiSU5DT01QTEVURSBNVUxUSVNBTVBMRSB8ICIpOwog
ICAgICAgICBicmVhazsKICAgICB9CiAKICAgICBzd2l0Y2ggKGdsR2V0RXJyb3IoKSkgewogICAg
IGNhc2UgR0xfTk9fRVJST1I6Ci0gICAgICAgIEJsYWNrQmVycnk6OlBsYXRmb3JtOjpsb2coQmxh
Y2tCZXJyeTo6UGxhdGZvcm06OkxvZ0xldmVsSW5mbywgIk5PIEVSUk9SIik7CisgICAgICAgIEJC
TE9HKEJsYWNrQmVycnk6OlBsYXRmb3JtOjpMb2dMZXZlbEluZm8sICJOTyBFUlJPUiIpOwogICAg
ICAgICBicmVhazsKICAgICBjYXNlIEdMX0lOVkFMSURfRU5VTToKLSAgICAgICAgQmxhY2tCZXJy
eTo6UGxhdGZvcm06OmxvZyhCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6TG9nTGV2ZWxJbmZvLCAiSU5W
QUxJRCBFTlVNIik7CisgICAgICAgIEJCTE9HKEJsYWNrQmVycnk6OlBsYXRmb3JtOjpMb2dMZXZl
bEluZm8sICJJTlZBTElEIEVOVU0iKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBHTF9JTlZB
TElEX1ZBTFVFOgotICAgICAgICBCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6bG9nKEJsYWNrQmVycnk6
OlBsYXRmb3JtOjpMb2dMZXZlbEluZm8sICJJTlZBTElEIFZBTFVFIik7CisgICAgICAgIEJCTE9H
KEJsYWNrQmVycnk6OlBsYXRmb3JtOjpMb2dMZXZlbEluZm8sICJJTlZBTElEIFZBTFVFIik7CiAg
ICAgICAgIGJyZWFrOwogICAgIGNhc2UgR0xfSU5WQUxJRF9PUEVSQVRJT046Ci0gICAgICAgIEJs
YWNrQmVycnk6OlBsYXRmb3JtOjpsb2coQmxhY2tCZXJyeTo6UGxhdGZvcm06OkxvZ0xldmVsSW5m
bywgIklOVkFMSUQgT1BFUkFUSU9OIik7CisgICAgICAgIEJCTE9HKEJsYWNrQmVycnk6OlBsYXRm
b3JtOjpMb2dMZXZlbEluZm8sICJJTlZBTElEIE9QRVJBVElPTiIpOwogICAgICAgICBicmVhazsK
ICAgICBjYXNlIEdMX09VVF9PRl9NRU1PUlk6Ci0gICAgICAgIEJsYWNrQmVycnk6OlBsYXRmb3Jt
Ojpsb2coQmxhY2tCZXJyeTo6UGxhdGZvcm06OkxvZ0xldmVsSW5mbywgIk9VVCBPRiBNRU1PUlki
KTsKKyAgICAgICAgQkJMT0coQmxhY2tCZXJyeTo6UGxhdGZvcm06OkxvZ0xldmVsSW5mbywgIk9V
VCBPRiBNRU1PUlkiKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQotICAgIEJsYWNrQmVycnk6OlBs
YXRmb3JtOjpsb2coQmxhY2tCZXJyeTo6UGxhdGZvcm06OkxvZ0xldmVsSW5mbywgIlxuIik7Cisg
ICAgQkJMT0coQmxhY2tCZXJyeTo6UGxhdGZvcm06OkxvZ0xldmVsSW5mbywgIlxuIik7CiB9CiAK
IHZvaWQgR3JhcGhpY3NDb250ZXh0M0Q6OnJlYWRQaXhlbHNJTUcoR0MzRGludCB4LCBHQzNEaW50
IHksIEdDM0RzaXplaSB3aWR0aCwgR0MzRHNpemVpIGhlaWdodCwgR0MzRGVudW0gZm9ybWF0LCBH
QzNEZW51bSB0eXBlLCB2b2lkKiBkYXRhKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvYmxhY2tiZXJyeS9MYXllckNvbXBvc2l0aW5nVGhyZWFkLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2JsYWNrYmVycnkvTGF5ZXJDb21wb3NpdGlu
Z1RocmVhZC5jcHAKaW5kZXggNzA2ZDZhYjY3ZWVhODcyZjcwNzYyNjUzNTgyN2Q0NWIxMjFhNzc3
MC4uNDU0YWYxYTBjYjQ1ZTQwY2RjNmQ4NmZkOGU5ODNhNGZiOWY0OGU1MyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYmxhY2tiZXJyeS9MYXllckNvbXBvc2l0
aW5nVGhyZWFkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ibGFj
a2JlcnJ5L0xheWVyQ29tcG9zaXRpbmdUaHJlYWQuY3BwCkBAIC0xOTcsOCArMTk3LDggQEAgRmxv
YXRRdWFkIExheWVyQ29tcG9zaXRpbmdUaHJlYWQ6OmdldFRyYW5zZm9ybWVkSG9sZVB1bmNoUmVj
dCgpIGNvbnN0CiAgICAgZHJhd1JlY3QubW92ZSgtbG9jYXRpb24ueCgpLCAtbG9jYXRpb24ueSgp
KTsKIAogI2lmIERFQlVHX1ZJREVPX0NMSVBQSU5HCi0gICAgIEludFJlY3QgZHJhd1JlY3RJbldl
YktpdERvY3VtZW50Q29vcmRpbmF0aW9uID0gbV9sYXllclJlbmRlcmVyLT50b1dlYktpdERvY3Vt
ZW50Q29vcmRpbmF0ZXMobV9kcmF3UmVjdCk7Ci0gICAgIEJsYWNrQmVycnk6OlBsYXRmb3JtOjps
b2coQmxhY2tCZXJyeTo6UGxhdGZvcm06OkxvZ0xldmVsSW5mbywgIkxheWVyQ29tcG9zaXRpbmdU
aHJlYWQ6OmdldFRyYW5zZm9ybWVkSG9sZVB1bmNoUmVjdCgpIC0gZHJhd1JlY3Q9KHg9JWQseT0l
ZCx3aWR0aD0lZCxoZWlnaHQ9JWQpIGNsaXBSZWN0PSh4PSVkLHk9JWQsd2lkdGg9JWQsaGVpZ2h0
PSVkKSBjbGlwcGVkUmVjdD0oeD0lZCx5PSVkLHdpZHRoPSVkLGhlaWdodD0lZCkuIiwKKyAgICBJ
bnRSZWN0IGRyYXdSZWN0SW5XZWJLaXREb2N1bWVudENvb3JkaW5hdGlvbiA9IG1fbGF5ZXJSZW5k
ZXJlci0+dG9XZWJLaXREb2N1bWVudENvb3JkaW5hdGVzKG1fZHJhd1JlY3QpOworICAgIEJCTE9H
KEJsYWNrQmVycnk6OlBsYXRmb3JtOjpMb2dMZXZlbEluZm8sICJMYXllckNvbXBvc2l0aW5nVGhy
ZWFkOjpnZXRUcmFuc2Zvcm1lZEhvbGVQdW5jaFJlY3QoKSAtIGRyYXdSZWN0PSh4PSVkLHk9JWQs
d2lkdGg9JWQsaGVpZ2h0PSVkKSBjbGlwUmVjdD0oeD0lZCx5PSVkLHdpZHRoPSVkLGhlaWdodD0l
ZCkgY2xpcHBlZFJlY3Q9KHg9JWQseT0lZCx3aWR0aD0lZCxoZWlnaHQ9JWQpLiIsCiAgICAgICAg
IGRyYXdSZWN0SW5XZWJLaXREb2N1bWVudENvb3JkaW5hdGlvbi54KCksIGRyYXdSZWN0SW5XZWJL
aXREb2N1bWVudENvb3JkaW5hdGlvbi55KCksIGRyYXdSZWN0SW5XZWJLaXREb2N1bWVudENvb3Jk
aW5hdGlvbi53aWR0aCgpLCBkcmF3UmVjdEluV2ViS2l0RG9jdW1lbnRDb29yZGluYXRpb24uaGVp
Z2h0KCksCiAgICAgICAgIG1faG9sZVB1bmNoQ2xpcFJlY3QueCgpLCBtX2hvbGVQdW5jaENsaXBS
ZWN0LnkoKSwgbV9ob2xlUHVuY2hDbGlwUmVjdC53aWR0aCgpLCBtX2hvbGVQdW5jaENsaXBSZWN0
LmhlaWdodCgpLAogICAgICAgICBkcmF3UmVjdC54KCksIGRyYXdSZWN0LnkoKSwgZHJhd1JlY3Qu
d2lkdGgoKSwgZHJhd1JlY3QuaGVpZ2h0KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvYmxhY2tiZXJyeS9WaWRlb0xheWVyV2ViS2l0VGhyZWFkLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2JsYWNrYmVycnkvVmlkZW9MYXllcldl
YktpdFRocmVhZC5jcHAKaW5kZXggNzQ5Mjg3MWQyMDQ2N2Q1MzQ1ZWZhNGYzM2MwMmUyNTlhNjE0
MzVlYy4uMWZlYzEyMGQyZjZlZmFmZGU5MzZmYmVhYzkzOWU5YTU5NDIwMDkyZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYmxhY2tiZXJyeS9WaWRlb0xheWVy
V2ViS2l0VGhyZWFkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9i
bGFja2JlcnJ5L1ZpZGVvTGF5ZXJXZWJLaXRUaHJlYWQuY3BwCkBAIC02NSw3ICs2NSw3IEBAIHZv
aWQgVmlkZW9MYXllcldlYktpdFRocmVhZDo6c2V0SG9sZVB1bmNoUmVjdChjb25zdCBJbnRSZWN0
JiByZWN0KQogewogICAgIG1faG9sZVB1bmNoUmVjdCA9IHJlY3Q7CiAjaWYgREVCVUdfVklERU9f
Q0xJUFBJTkcKLSAgICBCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6bG9nKEJsYWNrQmVycnk6OlBsYXRm
b3JtOjpMb2dMZXZlbEluZm8sICJWaWRlb0xheWVyV2ViS2l0VGhyZWFkIG1faG9sZVB1bmNoUmVj
dD0oeD0lZCx5PSVkLHdpZHRoPSVkLGhlaWdodD0lZCkuIiwgbV9ob2xlUHVuY2hSZWN0LngoKSwg
bV9ob2xlUHVuY2hSZWN0LnkoKSwgbV9ob2xlUHVuY2hSZWN0LndpZHRoKCksIG1faG9sZVB1bmNo
UmVjdC5oZWlnaHQoKSk7CisgICAgQkJMT0coQmxhY2tCZXJyeTo6UGxhdGZvcm06OkxvZ0xldmVs
SW5mbywgIlZpZGVvTGF5ZXJXZWJLaXRUaHJlYWQgbV9ob2xlUHVuY2hSZWN0PSh4PSVkLHk9JWQs
d2lkdGg9JWQsaGVpZ2h0PSVkKS4iLCBtX2hvbGVQdW5jaFJlY3QueCgpLCBtX2hvbGVQdW5jaFJl
Y3QueSgpLCBtX2hvbGVQdW5jaFJlY3Qud2lkdGgoKSwgbV9ob2xlUHVuY2hSZWN0LmhlaWdodCgp
KTsKICNlbmRpZgogICAgIHNldE5lZWRzQ29tbWl0KCk7CiB9CkBAIC05NSw3ICs5NSw3IEBAIHZv
aWQgVmlkZW9MYXllcldlYktpdFRocmVhZDo6Ym91bmRzQ2hhbmdlZCgpCiAgICAgICAgIG1faG9s
ZVB1bmNoQ2xpcFJlY3QgPSBob2xlUHVuY2hSZWN0KCk7CiAKICNpZiBERUJVR19WSURFT19DTElQ
UElORwotICAgIEJsYWNrQmVycnk6OlBsYXRmb3JtOjpsb2coQmxhY2tCZXJyeTo6UGxhdGZvcm06
OkxvZ0xldmVsSW5mbywgIlZpZGVvTGF5ZXJXZWJLaXRUaHJlYWQgbV9ob2xlUHVuY2hDbGlwUmVj
dD0oeD0lZCx5PSVkLHdpZHRoPSVkLGhlaWdodD0lZCkuIiwgbV9ob2xlUHVuY2hDbGlwUmVjdC54
KCksIG1faG9sZVB1bmNoQ2xpcFJlY3QueSgpLCBtX2hvbGVQdW5jaENsaXBSZWN0LndpZHRoKCks
IG1faG9sZVB1bmNoQ2xpcFJlY3QuaGVpZ2h0KCkpOworICAgIEJCTE9HKEJsYWNrQmVycnk6OlBs
YXRmb3JtOjpMb2dMZXZlbEluZm8sICJWaWRlb0xheWVyV2ViS2l0VGhyZWFkIG1faG9sZVB1bmNo
Q2xpcFJlY3Q9KHg9JWQseT0lZCx3aWR0aD0lZCxoZWlnaHQ9JWQpLiIsIG1faG9sZVB1bmNoQ2xp
cFJlY3QueCgpLCBtX2hvbGVQdW5jaENsaXBSZWN0LnkoKSwgbV9ob2xlUHVuY2hDbGlwUmVjdC53
aWR0aCgpLCBtX2hvbGVQdW5jaENsaXBSZWN0LmhlaWdodCgpKTsKICNlbmRpZgogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3JhcGhpY3ND
b250ZXh0M0RPcGVuR0xDb21tb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dDNET3BlbkdMQ29tbW9uLmNwcAppbmRleCBkMWIyNzY2
ZDU1N2JkNzY1Y2RlOWU4ZGVhOWE1ZjljNGUyZmY1ZDE0Li42NGViY2FiZDc3MjNhNTBhYTZkYjQx
ZjcxNmU2NmRmOGNmZWM2Y2NkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9vcGVuZ2wvR3JhcGhpY3NDb250ZXh0M0RPcGVuR0xDb21tb24uY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHQzRE9w
ZW5HTENvbW1vbi5jcHAKQEAgLTQ3OSw3ICs0NzksNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDNE
Ojpjb21waWxlU2hhZGVyKFBsYXRmb3JtM0RPYmplY3Qgc2hhZGVyKQogICAgIEFTU0VSVChHTENv
bXBpbGVTdWNjZXNzID09IEdMX1RSVUUpOwogI2lmIFBMQVRGT1JNKEJMQUNLQkVSUlkpCiAgICAg
aWYgKEdMQ29tcGlsZVN1Y2Nlc3MgIT0gR0xfVFJVRSkKLSAgICAgICAgQmxhY2tCZXJyeTo6UGxh
dGZvcm06OmxvZyhCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6TG9nTGV2ZWxXYXJuLCAiVGhlIHNoYWRl
ciB2YWxpZGF0ZWQsIGJ1dCBkaWRuJ3QgY29tcGlsZS5cbiIpOworICAgICAgICBCQkxPRyhCbGFj
a0JlcnJ5OjpQbGF0Zm9ybTo6TG9nTGV2ZWxXYXJuLCAiVGhlIHNoYWRlciB2YWxpZGF0ZWQsIGJ1
dCBkaWRuJ3QgY29tcGlsZS5cbiIpOwogI2VuZGlmCiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvYmxhY2tiZXJyeS9BcGkvQmFja2luZ1N0b3JlLmNwcCBiL1NvdXJjZS9XZWJLaXQvYmxh
Y2tiZXJyeS9BcGkvQmFja2luZ1N0b3JlLmNwcAppbmRleCA0OWQzY2RiMTU0Nzc1NmRlNWJjMWNj
YjgxOGFlMDhiNGU4NjQxOWRmLi4wYzIwY2RjZjRiNmMyNDdmNzQ4ODBmMTIyMjAxMTA3OTJhMDI4
NzRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQXBpL0JhY2tpbmdTdG9y
ZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0FwaS9CYWNraW5nU3RvcmUuY3Bw
CkBAIC0xNDAsNyArMTQwLDcgQEAgc3RhdGljIERpdmlzb3IgYmVzdERpdmlzb3IoUGxhdGZvcm06
OkludFNpemUgc2l6ZSwgaW50IHRpbGVXaWR0aCwgaW50IHRpbGVIZWlnaHQKICAgICAgICAgaWYg
KGlzUGVyZmVjdFdpZHRoIHx8IGlzUGVyZmVjdEhlaWdodCkgewogICAgICAgICAgICAgYmVzdERp
dmlzb3IgPSBkaXZpc29yOyAvLyBGb3VuZCBhIHBlcmZlY3QgZml0IQogI2lmIERFQlVHX1RJTEVN
QVRSSVgKLSAgICAgICAgICAgIEJsYWNrQmVycnk6OlBsYXRmb3JtOjpsb2coQmxhY2tCZXJyeTo6
UGxhdGZvcm06OkxvZ0xldmVsQ3JpdGljYWwsICJiZXN0RGl2aXNvciBmb3VuZCBwZXJmZWN0IHNp
emUgaXNQZXJmZWN0V2lkdGg9JXMgaXNQZXJmZWN0SGVpZ2h0PSVzIiwKKyAgICAgICAgICAgIEJC
TE9HKEJsYWNrQmVycnk6OlBsYXRmb3JtOjpMb2dMZXZlbENyaXRpY2FsLCAiYmVzdERpdmlzb3Ig
Zm91bmQgcGVyZmVjdCBzaXplIGlzUGVyZmVjdFdpZHRoPSVzIGlzUGVyZmVjdEhlaWdodD0lcyIs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzUGVyZmVjdFdpZHRoID8gInRy
dWUiIDogImZhbHNlIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNQZXJm
ZWN0SGVpZ2h0ID8gInRydWUiIDogImZhbHNlIik7CiAjZW5kaWYKQEAgLTI4MSw3ICsyODEsNyBA
QCBib29sIEJhY2tpbmdTdG9yZVByaXZhdGU6OmlzT3BlbkdMQ29tcG9zaXRpbmcoKSBjb25zdAog
dm9pZCBCYWNraW5nU3RvcmVQcml2YXRlOjpzdXNwZW5kU2NyZWVuQW5kQmFja2luZ1N0b3JlVXBk
YXRlcygpCiB7CiAgICAgaWYgKG1fc3VzcGVuZFNjcmVlblVwZGF0ZXMpIHsKLSAgICAgICAgQmxh
Y2tCZXJyeTo6UGxhdGZvcm06OmxvZyhCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6TG9nTGV2ZWxJbmZv
LAorICAgICAgICBCQkxPRyhCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6TG9nTGV2ZWxJbmZvLAogICAg
ICAgICAgICAgIlNjcmVlbiBhbmQgYmFja2luZ3N0b3JlIGFscmVhZHkgc3VzcGVuZGVkLCBpbmNy
ZWFzaW5nIHN1c3BlbmQgY291bnRlci4iKTsKICAgICB9CiAKQEAgLTMxNSw3ICszMTUsNyBAQCB2
b2lkIEJhY2tpbmdTdG9yZVByaXZhdGU6OnJlc3VtZVNjcmVlbkFuZEJhY2tpbmdTdG9yZVVwZGF0
ZXMoQmFja2luZ1N0b3JlOjpSZXN1bQogICAgICAgICBtX3Jlc3VtZU9wZXJhdGlvbiA9IG9wOwog
CiAgICAgaWYgKG1fc3VzcGVuZFNjcmVlblVwZGF0ZXMgPj0gMiAmJiBtX3N1c3BlbmRCYWNraW5n
U3RvcmVVcGRhdGVzID49IDIpIHsgLy8gd2UncmUgc3RpbGwgc3VzcGVuZGVkCi0gICAgICAgIEJs
YWNrQmVycnk6OlBsYXRmb3JtOjpsb2coQmxhY2tCZXJyeTo6UGxhdGZvcm06OkxvZ0xldmVsSW5m
bywKKyAgICAgICAgQkJMT0coQmxhY2tCZXJyeTo6UGxhdGZvcm06OkxvZ0xldmVsSW5mbywKICAg
ICAgICAgICAgICJTY3JlZW4gYW5kIGJhY2tpbmdzdG9yZSBzdGlsbCBzdXNwZW5kZWQsIGRlY3Jl
YXNpbmcgc3VzcGVuZCBjb3VudGVyLiIpOwogICAgICAgICAtLW1fc3VzcGVuZEJhY2tpbmdTdG9y
ZVVwZGF0ZXM7CiAgICAgICAgIC0tbV9zdXNwZW5kU2NyZWVuVXBkYXRlczsKQEAgLTM5NCw3ICsz
OTQsNyBAQCB2b2lkIEJhY2tpbmdTdG9yZVByaXZhdGU6OnJlcGFpbnQoY29uc3QgUGxhdGZvcm06
OkludFJlY3QmIHdpbmRvd1JlY3QsCiAgICAgICAgICAgICByZXR1cm47CiAKICNpZiBERUJVR19X
RUJDT1JFX1JFUVVFU1RTCi0gICAgICAgIEJsYWNrQmVycnk6OlBsYXRmb3JtOjpsb2coQmxhY2tC
ZXJyeTo6UGxhdGZvcm06OkxvZ0xldmVsQ3JpdGljYWwsCisgICAgICAgIEJCTE9HKEJsYWNrQmVy
cnk6OlBsYXRmb3JtOjpMb2dMZXZlbENyaXRpY2FsLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICJCYWNraW5nU3RvcmVQcml2YXRlOjpyZXBhaW50IHJlY3Q9JWQsJWQgJWR4JWQg
Y29udGVudENoYW5nZWQ9JXMgaW1tZWRpYXRlPSVzIiwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICByZWN0LngoKSwgcmVjdC55KCksIHJlY3Qud2lkdGgoKSwgcmVjdC5oZWlnaHQo
KSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29udGVudENoYW5nZWQgPyAi
dHJ1ZSIgOiAiZmFsc2UiKSwKQEAgLTQ0MSw3ICs0NDEsNyBAQCB2b2lkIEJhY2tpbmdTdG9yZVBy
aXZhdGU6OnNsb3dTY3JvbGwoY29uc3QgUGxhdGZvcm06OkludFNpemUmIGRlbHRhLCBjb25zdCBQ
bGF0ZgogI2lmIERFQlVHX0JBQ0tJTkdTVE9SRQogICAgIC8vIFN0b3AgdGhlIHRpbWUgbWVhc3Vy
ZW1lbnQuCiAgICAgZG91YmxlIGVsYXBzZWQgPSBXVEY6OmN1cnJlbnRUaW1lKCkgLSB0aW1lOwot
ICAgIEJsYWNrQmVycnk6OlBsYXRmb3JtOjpsb2coQmxhY2tCZXJyeTo6UGxhdGZvcm06OkxvZ0xl
dmVsQ3JpdGljYWwsICJCYWNraW5nU3RvcmVQcml2YXRlOjpzbG93U2Nyb2xsIGVsYXBzZWQ9JWYi
LCBlbGFwc2VkKTsKKyAgICBCQkxPRyhCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6TG9nTGV2ZWxDcml0
aWNhbCwgIkJhY2tpbmdTdG9yZVByaXZhdGU6OnNsb3dTY3JvbGwgZWxhcHNlZD0lZiIsIGVsYXBz
ZWQpOwogI2VuZGlmCiB9CiAKQEAgLTQ3NCw3ICs0NzQsNyBAQCB2b2lkIEJhY2tpbmdTdG9yZVBy
aXZhdGU6OnNjcm9sbChjb25zdCBQbGF0Zm9ybTo6SW50U2l6ZSYgZGVsdGEsCiAjaWYgREVCVUdf
QkFDS0lOR1NUT1JFCiAgICAgLy8gU3RvcCB0aGUgdGltZSBtZWFzdXJlbWVudC4KICAgICBkb3Vi
bGUgZWxhcHNlZCA9IFdURjo6Y3VycmVudFRpbWUoKSAtIHRpbWU7Ci0gICAgQmxhY2tCZXJyeTo6
UGxhdGZvcm06OmxvZyhCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6TG9nTGV2ZWxDcml0aWNhbCwgIkJh
Y2tpbmdTdG9yZVByaXZhdGU6OnNjcm9sbCBkeD0lZCwgZHk9JWQgZWxhcHNlZD0lZiIsIGRlbHRh
LndpZHRoKCksIGRlbHRhLmhlaWdodCgpLCBlbGFwc2VkKTsKKyAgICBCQkxPRyhCbGFja0JlcnJ5
OjpQbGF0Zm9ybTo6TG9nTGV2ZWxDcml0aWNhbCwgIkJhY2tpbmdTdG9yZVByaXZhdGU6OnNjcm9s
bCBkeD0lZCwgZHk9JWQgZWxhcHNlZD0lZiIsIGRlbHRhLndpZHRoKCksIGRlbHRhLmhlaWdodCgp
LCBlbGFwc2VkKTsKICNlbmRpZgogfQogCkBAIC03MDUsNyArNzA1LDcgQEAgdm9pZCBCYWNraW5n
U3RvcmVQcml2YXRlOjpzZXRCYWNraW5nU3RvcmVSZWN0KGNvbnN0IFBsYXRmb3JtOjpJbnRSZWN0
JiBiYWNraW5nU3QKICAgICAgICAgcmV0dXJuOwogCiAjaWYgREVCVUdfVElMRU1BVFJJWAotICAg
IEJsYWNrQmVycnk6OlBsYXRmb3JtOjpsb2coQmxhY2tCZXJyeTo6UGxhdGZvcm06OkxvZ0xldmVs
Q3JpdGljYWwsICJCYWNraW5nU3RvcmVQcml2YXRlOjpzZXRCYWNraW5nU3RvcmVSZWN0IGNoYW5n
ZWQgZnJvbSAoJWQsJWQgJWR4JWQpIHRvICglZCwlZCAlZHglZCkiLAorICAgIEJCTE9HKEJsYWNr
QmVycnk6OlBsYXRmb3JtOjpMb2dMZXZlbENyaXRpY2FsLCAiQmFja2luZ1N0b3JlUHJpdmF0ZTo6
c2V0QmFja2luZ1N0b3JlUmVjdCBjaGFuZ2VkIGZyb20gKCVkLCVkICVkeCVkKSB0byAoJWQsJWQg
JWR4JWQpIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRCYWNraW5nU3RvcmVS
ZWN0LngoKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRCYWNraW5nU3RvcmVS
ZWN0LnkoKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRCYWNraW5nU3RvcmVS
ZWN0LndpZHRoKCksCkBAIC03NTksNyArNzU5LDcgQEAgdm9pZCBCYWNraW5nU3RvcmVQcml2YXRl
OjpzZXRCYWNraW5nU3RvcmVSZWN0KGNvbnN0IFBsYXRmb3JtOjpJbnRSZWN0JiBiYWNraW5nU3QK
ICAgICAgICAgICAgICAgICBjbGVhckFuZFVwZGF0ZVRpbGVPZk5vdFJlbmRlcmVkUmVnaW9uKG5l
d0luZGV4LCB0aWxlLCB0aWxlTm90UmVuZGVyZWRSZWdpb24sIGJhY2tpbmdTdG9yZVJlY3QpOwog
I2lmIERFQlVHX0JBQ0tJTkdTVE9SRQogICAgICAgICAgICAgICAgIFBsYXRmb3JtOjpJbnRSZWN0
IGV4dGVudHMgPSB0aWxlTm90UmVuZGVyZWRSZWdpb24uZXh0ZW50cygpOwotICAgICAgICAgICAg
ICAgIEJsYWNrQmVycnk6OlBsYXRmb3JtOjpsb2coQmxhY2tCZXJyeTo6UGxhdGZvcm06OkxvZ0xl
dmVsQ3JpdGljYWwsICJCYWNraW5nU3RvcmVQcml2YXRlOjpzZXRCYWNraW5nU3RvcmVSZWN0IGRp
ZCBjbGVhciB0aWxlICVkLCVkICVkeCVkIiwKKyAgICAgICAgICAgICAgICBCQkxPRyhCbGFja0Jl
cnJ5OjpQbGF0Zm9ybTo6TG9nTGV2ZWxDcml0aWNhbCwgIkJhY2tpbmdTdG9yZVByaXZhdGU6OnNl
dEJhY2tpbmdTdG9yZVJlY3QgZGlkIGNsZWFyIHRpbGUgJWQsJWQgJWR4JWQiLAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXh0ZW50cy54KCksIGV4dGVudHMueSgpLCBl
eHRlbnRzLndpZHRoKCksIGV4dGVudHMuaGVpZ2h0KCkpOwogI2VuZGlmCiAgICAgICAgICAgICB9
IGVsc2UgewpAQCAtOTY5LDcgKzk2OSw3IEBAIHZvaWQgQmFja2luZ1N0b3JlUHJpdmF0ZTo6c2Ny
b2xsQmFja2luZ1N0b3JlKGludCBkZWx0YVgsIGludCBkZWx0YVkpCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgbV9wcmVmZXJyZWRUaWxlTWF0cml4RGltZW5zaW9uKTsKIAogI2lm
IERFQlVHX1RJTEVNQVRSSVgKLSAgICBCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6bG9nKEJsYWNrQmVy
cnk6OlBsYXRmb3JtOjpMb2dMZXZlbENyaXRpY2FsLCAiQmFja2luZ1N0b3JlUHJpdmF0ZTo6c2Ny
b2xsQmFja2luZ1N0b3JlIGRpdmlzb3IgJWR4JWQiLAorICAgIEJCTE9HKEJsYWNrQmVycnk6OlBs
YXRmb3JtOjpMb2dMZXZlbENyaXRpY2FsLCAiQmFja2luZ1N0b3JlUHJpdmF0ZTo6c2Nyb2xsQmFj
a2luZ1N0b3JlIGRpdmlzb3IgJWR4JWQiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZGl2
aXNvci5maXJzdCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpdmlzb3Iuc2Vjb25kKTsK
ICNlbmRpZgpAQCAtMTA0MSw3ICsxMDQxLDcgQEAgYm9vbCBCYWNraW5nU3RvcmVQcml2YXRlOjpy
ZW5kZXIoY29uc3QgUGxhdGZvcm06OkludFJlY3QmIHJlY3QpCiAgICAgICAgIHJldHVybiBmYWxz
ZTsKIAogI2lmIERFQlVHX0JBQ0tJTkdTVE9SRQotICAgIEJsYWNrQmVycnk6OlBsYXRmb3JtOjps
b2coQmxhY2tCZXJyeTo6UGxhdGZvcm06OkxvZ0xldmVsQ3JpdGljYWwsCisgICAgQkJMT0coQmxh
Y2tCZXJyeTo6UGxhdGZvcm06OkxvZ0xldmVsQ3JpdGljYWwsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAiQmFja2luZ1N0b3JlUHJpdmF0ZTo6cmVuZGVyIHJlY3Q9KCVkLCVkICVkeCVkKSwg
bV9zdXNwZW5kQmFja2luZ1N0b3JlVXBkYXRlcyA9ICVzIiwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHJlY3QueCgpLCByZWN0LnkoKSwgcmVjdC53aWR0aCgpLCByZWN0LmhlaWdodCgpLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9zdXNwZW5kQmFja2luZ1N0b3JlVXBkYXRlcyA/
ICJ0cnVlIiA6ICJmYWxzZSIpOwpAQCAtMTUxMywxNCArMTUxMywxNCBAQCB2b2lkIEJhY2tpbmdT
dG9yZVByaXZhdGU6OmJsaXRWaXNpYmxlQ29udGVudHMoYm9vbCBmb3JjZSkKIAogICAgIGlmIChi
bGl0Q2hlY2tlcmVkICYmICFsYXN0Q2hlY2tlcmVkVGltZSkgewogICAgICAgICBsYXN0Q2hlY2tl
cmVkVGltZSA9IFdURjo6Y3VycmVudFRpbWUoKTsKLSAgICAgICAgQmxhY2tCZXJyeTo6UGxhdGZv
cm06OmxvZyhCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6TG9nTGV2ZWxDcml0aWNhbCwKKyAgICAgICAg
QkJMT0coQmxhY2tCZXJyeTo6UGxhdGZvcm06OkxvZ0xldmVsQ3JpdGljYWwsCiAgICAgICAgICAg
ICAiQmxpdHRpbmcgY2hlY2tlcmVkIHBhdHRlcm4gYXQgJWZcbiIsIGxhc3RDaGVja2VyZWRUaW1l
KTsKICAgICB9IGVsc2UgaWYgKGJsaXRDaGVja2VyZWQgJiYgbGFzdENoZWNrZXJlZFRpbWUpIHsK
LSAgICAgICAgQmxhY2tCZXJyeTo6UGxhdGZvcm06OmxvZyhCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6
TG9nTGV2ZWxDcml0aWNhbCwKKyAgICAgICAgQkJMT0coQmxhY2tCZXJyeTo6UGxhdGZvcm06Okxv
Z0xldmVsQ3JpdGljYWwsCiAgICAgICAgICAgICAiQmxpdHRpbmcgY2hlY2tlcmVkIHBhdHRlcm4g
YXQgJWZcbiIsIFdURjo6Y3VycmVudFRpbWUoKSk7CiAgICAgfSBlbHNlIGlmICghYmxpdENoZWNr
ZXJlZCAmJiBsYXN0Q2hlY2tlcmVkVGltZSkgewogICAgICAgICBkb3VibGUgdGltZSA9IFdURjo6
Y3VycmVudFRpbWUoKTsKLSAgICAgICAgQmxhY2tCZXJyeTo6UGxhdGZvcm06OmxvZyhCbGFja0Jl
cnJ5OjpQbGF0Zm9ybTo6TG9nTGV2ZWxDcml0aWNhbCwKKyAgICAgICAgQkJMT0coQmxhY2tCZXJy
eTo6UGxhdGZvcm06OkxvZ0xldmVsQ3JpdGljYWwsCiAgICAgICAgICAgICAiQmxpdHRpbmcgb3Zl
ciBjaGVja2VyZWQgcGF0dGVybiBhdCAlZiB0b29rICVmXG4iLCB0aW1lLCB0aW1lIC0gbGFzdENo
ZWNrZXJlZFRpbWUpOwogICAgICAgICBsYXN0Q2hlY2tlcmVkVGltZSA9IDA7CiAgICAgfQpAQCAt
MTc5OSw3ICsxNzk5LDcgQEAgdm9pZCBCYWNraW5nU3RvcmVQcml2YXRlOjp1cGRhdGVUaWxlc0Zv
clNjcm9sbE9yTm90UmVuZGVyZWRSZWdpb24oYm9vbCBjaGVja0xvYWQKICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbHNlIC8qdXBkYXRlKi8p
OwogI2lmIERFQlVHX0JBQ0tJTkdTVE9SRQogICAgICAgICAgICAgICAgIFBsYXRmb3JtOjpJbnRS
ZWN0IGV4dGVudHMgPSB0aWxlTm90UmVuZGVyZWRSZWdpb24uZXh0ZW50cygpOwotICAgICAgICAg
ICAgICAgIEJsYWNrQmVycnk6OlBsYXRmb3JtOjpsb2coQmxhY2tCZXJyeTo6UGxhdGZvcm06Okxv
Z0xldmVsQ3JpdGljYWwsCisgICAgICAgICAgICAgICAgQkJMT0coQmxhY2tCZXJyeTo6UGxhdGZv
cm06OkxvZ0xldmVsQ3JpdGljYWwsCiAgICAgICAgICAgICAgICAgICAgICJCYWNraW5nU3RvcmVQ
cml2YXRlOjp1cGRhdGVUaWxlc0ZvclNjcm9sbCBkaWQgY2xlYXIgdGlsZSAlZCwlZCAlZHglZCIs
CiAgICAgICAgICAgICAgICAgICAgIGV4dGVudHMueCgpLCBleHRlbnRzLnkoKSwgZXh0ZW50cy53
aWR0aCgpLCBleHRlbnRzLmhlaWdodCgpKTsKICNlbmRpZgpAQCAtMjE5Miw3ICsyMTkyLDcgQEAg
dm9pZCBCYWNraW5nU3RvcmVQcml2YXRlOjpyZW5kZXJDb250ZW50cyhCbGFja0JlcnJ5OjpQbGF0
Zm9ybTo6R3JhcGhpY3M6OkJ1ZmZlcioKICAgICAgICAgcmV0dXJuOwogCiAjaWYgREVCVUdfQkFD
S0lOR1NUT1JFCi0gICAgQmxhY2tCZXJyeTo6UGxhdGZvcm06OmxvZyhCbGFja0JlcnJ5OjpQbGF0
Zm9ybTo6TG9nTGV2ZWxDcml0aWNhbCwKKyAgICBCQkxPRyhCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6
TG9nTGV2ZWxDcml0aWNhbCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICJCYWNraW5nU3Rv
cmVQcml2YXRlOjpyZW5kZXJDb250ZW50cyB0aWxlQnVmZmVyPTB4JXggc3VyZmFjZU9mZnNldD0o
JWQsJWQpIGNvbnRlbnRzUmVjdD0oJWQsJWQgJWR4JWQpIiwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHRpbGVCdWZmZXIsIHN1cmZhY2VPZmZzZXQueCgpLCBzdXJmYWNlT2Zmc2V0LnkoKSwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnRzUmVjdC54KCksIGNvbnRlbnRzUmVj
dC55KCksIGNvbnRlbnRzUmVjdC53aWR0aCgpLCBjb250ZW50c1JlY3QuaGVpZ2h0KCkpOwpAQCAt
MjMyOCw3ICsyMzI4LDcgQEAgdm9pZCBCYWNraW5nU3RvcmVQcml2YXRlOjpibGl0VG9XaW5kb3co
Y29uc3QgUGxhdGZvcm06OkludFJlY3QmIGRzdFJlY3QsCiAgICAgQVNTRVJUKGRzdEJ1ZmZlcik7
CiAgICAgQVNTRVJUKHNyY0J1ZmZlcik7CiAgICAgaWYgKCFkc3RCdWZmZXIpCi0gICAgICAgIEJs
YWNrQmVycnk6OlBsYXRmb3JtOjpsb2coQmxhY2tCZXJyeTo6UGxhdGZvcm06OkxvZ0xldmVsV2Fy
biwgIkVtcHR5IHdpbmRvdyBidWZmZXIsIGNvdWxkbid0IGJsaXRUb1dpbmRvdyIpOworICAgICAg
ICBCQkxPRyhCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6TG9nTGV2ZWxXYXJuLCAiRW1wdHkgd2luZG93
IGJ1ZmZlciwgY291bGRuJ3QgYmxpdFRvV2luZG93Iik7CiAKICAgICBCbGFja0JlcnJ5OjpQbGF0
Zm9ybTo6R3JhcGhpY3M6OkJsZW5kTW9kZSBibGVuZE1vZGUgPSBibGVuZAogICAgICAgICA/IEJs
YWNrQmVycnk6OlBsYXRmb3JtOjpHcmFwaGljczo6U291cmNlT3ZlcgpAQCAtMjM1Nyw3ICsyMzU3
LDcgQEAgdm9pZCBCYWNraW5nU3RvcmVQcml2YXRlOjpmaWxsV2luZG93KFBsYXRmb3JtOjpHcmFw
aGljczo6RmlsbFBhdHRlcm4gcGF0dGVybiwKICAgICBCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6R3Jh
cGhpY3M6OkJ1ZmZlciogZHN0QnVmZmVyID0gYnVmZmVyKCk7CiAgICAgQVNTRVJUKGRzdEJ1ZmZl
cik7CiAgICAgaWYgKCFkc3RCdWZmZXIpCi0gICAgICAgIEJsYWNrQmVycnk6OlBsYXRmb3JtOjps
b2coQmxhY2tCZXJyeTo6UGxhdGZvcm06OkxvZ0xldmVsV2FybiwgIkVtcHR5IHdpbmRvdyBidWZm
ZXIsIGNvdWxkbid0IGZpbGxXaW5kb3ciKTsKKyAgICAgICAgQkJMT0coQmxhY2tCZXJyeTo6UGxh
dGZvcm06OkxvZ0xldmVsV2FybiwgIkVtcHR5IHdpbmRvdyBidWZmZXIsIGNvdWxkbid0IGZpbGxX
aW5kb3ciKTsKIAogICAgIEJsYWNrQmVycnk6OlBsYXRmb3JtOjpHcmFwaGljczo6ZmlsbEJ1ZmZl
cihkc3RCdWZmZXIsIHBhdHRlcm4sIGRzdFJlY3QsIGNvbnRlbnRzT3JpZ2luLCBjb250ZW50c1Nj
YWxlKTsKIH0KQEAgLTIzODcsNyArMjM4Nyw3IEBAIHZvaWQgQmFja2luZ1N0b3JlUHJpdmF0ZTo6
aW52YWxpZGF0ZVdpbmRvdyhjb25zdCBQbGF0Zm9ybTo6SW50UmVjdCYgZHN0KQogICAgIH0KIAog
I2lmIERFQlVHX0JBQ0tJTkdTVE9SRQotICAgIEJsYWNrQmVycnk6OlBsYXRmb3JtOjpsb2coQmxh
Y2tCZXJyeTo6UGxhdGZvcm06OkxvZ0xldmVsQ3JpdGljYWwsICJCYWNraW5nU3RvcmVQcml2YXRl
OjppbnZhbGlkYXRlV2luZG93IGRzdCA9ICVzIiwgZHN0LnRvU3RyaW5nKCkuY19zdHIoKSk7Cisg
ICAgQkJMT0coQmxhY2tCZXJyeTo6UGxhdGZvcm06OkxvZ0xldmVsQ3JpdGljYWwsICJCYWNraW5n
U3RvcmVQcml2YXRlOjppbnZhbGlkYXRlV2luZG93IGRzdCA9ICVzIiwgZHN0LnRvU3RyaW5nKCku
Y19zdHIoKSk7CiAjZW5kaWYKIAogICAgIC8vIFNpbmNlIG91ciB3aW5kb3cgbWF5IGFsc28gYmUg
ZG91YmxlIGJ1ZmZlcmVkLCB3ZSBuZWVkIHRvIGFsc28gY29weSB0aGUKQEAgLTI0MDcsNyArMjQw
Nyw3IEBAIHZvaWQgQmFja2luZ1N0b3JlUHJpdmF0ZTo6aW52YWxpZGF0ZVdpbmRvdyhjb25zdCBQ
bGF0Zm9ybTo6SW50UmVjdCYgZHN0KQogICAgICAgICByZXR1cm47CiAKICNpZiBERUJVR19CQUNL
SU5HU1RPUkUKLSAgICBCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6bG9nKEJsYWNrQmVycnk6OlBsYXRm
b3JtOjpMb2dMZXZlbENyaXRpY2FsLCAiQmFja2luZ1N0b3JlUHJpdmF0ZTo6aW52YWxpZGF0ZVdp
bmRvdyBwb3N0aW5nID0gJXMiLCBkc3RSZWN0LnRvU3RyaW5nKCkuY19zdHIoKSk7CisgICAgQkJM
T0coQmxhY2tCZXJyeTo6UGxhdGZvcm06OkxvZ0xldmVsQ3JpdGljYWwsICJCYWNraW5nU3RvcmVQ
cml2YXRlOjppbnZhbGlkYXRlV2luZG93IHBvc3RpbmcgPSAlcyIsIGRzdFJlY3QudG9TdHJpbmco
KS5jX3N0cigpKTsKICNlbmRpZgogCiAgICAgbV9jdXJyZW50V2luZG93QmFja0J1ZmZlciA9ICht
X2N1cnJlbnRXaW5kb3dCYWNrQnVmZmVyICsgMSkgJSAyOwpAQCAtMjQ0Miw3ICsyNDQyLDcgQEAg
dm9pZCBCYWNraW5nU3RvcmVQcml2YXRlOjpjbGVhcldpbmRvdyhjb25zdCBQbGF0Zm9ybTo6SW50
UmVjdCYgcmVjdCwKICAgICBCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6R3JhcGhpY3M6OkJ1ZmZlciog
ZHN0QnVmZmVyID0gYnVmZmVyKCk7CiAgICAgQVNTRVJUKGRzdEJ1ZmZlcik7CiAgICAgaWYgKCFk
c3RCdWZmZXIpCi0gICAgICAgIEJsYWNrQmVycnk6OlBsYXRmb3JtOjpsb2coQmxhY2tCZXJyeTo6
UGxhdGZvcm06OkxvZ0xldmVsV2FybiwgIkVtcHR5IHdpbmRvdyBidWZmZXIsIGNvdWxkbid0IGNs
ZWFyV2luZG93Iik7CisgICAgICAgIEJCTE9HKEJsYWNrQmVycnk6OlBsYXRmb3JtOjpMb2dMZXZl
bFdhcm4sICJFbXB0eSB3aW5kb3cgYnVmZmVyLCBjb3VsZG4ndCBjbGVhcldpbmRvdyIpOwogCiAg
ICAgd2luZG93RnJvbnRCdWZmZXJTdGF0ZSgpLT5jbGVhckJsaXR0ZWRSZWdpb24ocmVjdCk7CiAg
ICAgd2luZG93QmFja0J1ZmZlclN0YXRlKCktPmFkZEJsaXR0ZWRSZWdpb24ocmVjdCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQXBpL1dlYlBhZ2UuY3BwIGIvU291cmNl
L1dlYktpdC9ibGFja2JlcnJ5L0FwaS9XZWJQYWdlLmNwcAppbmRleCBjYzY2NTg4ZDgyYjgxY2Yw
YjcwNTg1ZmY4YTc5ZDIyZjU2NzI4MjE5Li5iYTUxZGNlYTNkNTAxOTQ3YzRjMTZmZmQ3YzJjMDE1
ZmRmZGRlOWRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQXBpL1dlYlBh
Z2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvV2ViUGFnZS5jcHAKQEAg
LTEwNjYsNyArMTA2Niw3IEBAIHZvaWQgV2ViUGFnZVByaXZhdGU6OnNldExvYWRTdGF0ZShMb2Fk
U3RhdGUgc3RhdGUpCiAgICAgbV9sb2FkU3RhdGUgPSBzdGF0ZTsKIAogI2lmIERFQlVHX1dFQlBB
R0VfTE9BRAotICAgIFBsYXRmb3JtOjpsb2coUGxhdGZvcm06OkxvZ0xldmVsSW5mbywgIldlYlBh
Z2VQcml2YXRlOjpzZXRMb2FkU3RhdGUgJWQiLCBzdGF0ZSk7CisgICAgQkJMT0coUGxhdGZvcm06
OkxvZ0xldmVsSW5mbywgIldlYlBhZ2VQcml2YXRlOjpzZXRMb2FkU3RhdGUgJWQiLCBzdGF0ZSk7
CiAjZW5kaWYKIAogICAgIHN3aXRjaCAobV9sb2FkU3RhdGUpIHsKQEAgLTEyMzgsNyArMTIzOCw3
IEBAIGJvb2wgV2ViUGFnZVByaXZhdGU6Onpvb21BYm91dFBvaW50KGRvdWJsZSB1bmNsYW1wZWRT
Y2FsZSwgY29uc3QgRmxvYXRQb2ludCYgYW5jCiAKICNpZiBERUJVR19XRUJQQUdFX0xPQUQKICAg
ICBpZiAobG9hZFN0YXRlKCkgPCBGaW5pc2hlZCkKLSAgICAgICAgUGxhdGZvcm06OmxvZyhQbGF0
Zm9ybTo6TG9nTGV2ZWxJbmZvLCAiV2ViUGFnZVByaXZhdGU6Onpvb21BYm91dFBvaW50IHNjYWxl
ICVmIGFuY2hvciAoJWYsICVmKSIsIHNjYWxlLCBhbmNob3IueCgpLCBhbmNob3IueSgpKTsKKyAg
ICAgICAgQkJMT0coUGxhdGZvcm06OkxvZ0xldmVsSW5mbywgIldlYlBhZ2VQcml2YXRlOjp6b29t
QWJvdXRQb2ludCBzY2FsZSAlZiBhbmNob3IgKCVmLCAlZikiLCBzY2FsZSwgYW5jaG9yLngoKSwg
YW5jaG9yLnkoKSk7CiAjZW5kaWYKIAogICAgIC8vIE91ciBjdXJyZW50IHNjcm9sbCBwb3NpdGlv
biBpbiBmbG9hdC4KQEAgLTE1NzUsNyArMTU3NSw3IEBAIHZvaWQgV2ViUGFnZVByaXZhdGU6OmNv
bnRlbnRzU2l6ZUNoYW5nZWQoY29uc3QgSW50U2l6ZSYgY29udGVudHNTaXplKQogICAgIG1fY29u
dGVudHNTaXplQ2hhbmdlZCA9IHRydWU7CiAKICNpZiBERUJVR19XRUJQQUdFX0xPQUQKLSAgICBQ
bGF0Zm9ybTo6bG9nKFBsYXRmb3JtOjpMb2dMZXZlbEluZm8sICJXZWJQYWdlUHJpdmF0ZTo6Y29u
dGVudHNTaXplQ2hhbmdlZCAlZHglZCIsIGNvbnRlbnRzU2l6ZS53aWR0aCgpLCBjb250ZW50c1Np
emUuaGVpZ2h0KCkpOworICAgIEJCTE9HKFBsYXRmb3JtOjpMb2dMZXZlbEluZm8sICJXZWJQYWdl
UHJpdmF0ZTo6Y29udGVudHNTaXplQ2hhbmdlZCAlZHglZCIsIGNvbnRlbnRzU2l6ZS53aWR0aCgp
LCBjb250ZW50c1NpemUuaGVpZ2h0KCkpOwogI2VuZGlmCiB9CiAKQEAgLTE2NDYsNyArMTY0Niw3
IEBAIHZvaWQgV2ViUGFnZVByaXZhdGU6OmxheW91dEZpbmlzaGVkKCkKIHZvaWQgV2ViUGFnZVBy
aXZhdGU6Onpvb21Ub0luaXRpYWxTY2FsZU9uTG9hZCgpCiB7CiAjaWYgREVCVUdfV0VCUEFHRV9M
T0FECi0gICAgUGxhdGZvcm06OmxvZyhQbGF0Zm9ybTo6TG9nTGV2ZWxJbmZvLCAiV2ViUGFnZVBy
aXZhdGU6Onpvb21Ub0luaXRpYWxTY2FsZU9uTG9hZCIpOworICAgIEJCTE9HKFBsYXRmb3JtOjpM
b2dMZXZlbEluZm8sICJXZWJQYWdlUHJpdmF0ZTo6em9vbVRvSW5pdGlhbFNjYWxlT25Mb2FkIik7
CiAjZW5kaWYKIAogICAgIGJvb2wgbmVlZHNMYXlvdXQgPSBmYWxzZTsKQEAgLTE2NjQsNyArMTY2
NCw3IEBAIHZvaWQgV2ViUGFnZVByaXZhdGU6Onpvb21Ub0luaXRpYWxTY2FsZU9uTG9hZCgpCiAK
ICAgICBpZiAoY29udGVudHNTaXplKCkuaXNFbXB0eSgpKSB7CiAjaWYgREVCVUdfV0VCUEFHRV9M
T0FECi0gICAgICAgIFBsYXRmb3JtOjpsb2coUGxhdGZvcm06OkxvZ0xldmVsSW5mbywgIldlYlBh
Z2VQcml2YXRlOjp6b29tVG9Jbml0aWFsU2NhbGVPbkxvYWQgY29udGVudCBpcyBlbXB0eSEiKTsK
KyAgICAgICAgQkJMT0coUGxhdGZvcm06OkxvZ0xldmVsSW5mbywgIldlYlBhZ2VQcml2YXRlOjp6
b29tVG9Jbml0aWFsU2NhbGVPbkxvYWQgY29udGVudCBpcyBlbXB0eSEiKTsKICNlbmRpZgogICAg
ICAgICByZXF1ZXN0TGF5b3V0SWZOZWVkZWQoKTsKICAgICAgICAgbV9jbGllbnQtPnJlc2V0Qml0
bWFwWm9vbVNjYWxlKGN1cnJlbnRTY2FsZSgpKTsKQEAgLTU0OTksNyArNTQ5OSw3IEBAIHZvaWQg
V2ViUGFnZVByaXZhdGU6OnNjaGVkdWxlUm9vdExheWVyQ29tbWl0KCkKICAgICBtX25lZWRzQ29t
bWl0ID0gdHJ1ZTsKICAgICBpZiAoIW1fcm9vdExheWVyQ29tbWl0VGltZXItPmlzQWN0aXZlKCkp
IHsKICNpZiBERUJVR19BQ19DT01NSVQKLSAgICAgICAgUGxhdGZvcm06OmxvZyhQbGF0Zm9ybTo6
TG9nTGV2ZWxDcml0aWNhbCwgIiVzOiBtX3Jvb3RMYXllckNvbW1pdFRpbWVyLT5pc0FjdGl2ZSgp
ID0gJWQiLCBXVEZfUFJFVFRZX0ZVTkNUSU9OLCBtX3Jvb3RMYXllckNvbW1pdFRpbWVyLT5pc0Fj
dGl2ZSgpKTsKKyAgICAgICAgQkJMT0coUGxhdGZvcm06OkxvZ0xldmVsQ3JpdGljYWwsICIlczog
bV9yb290TGF5ZXJDb21taXRUaW1lci0+aXNBY3RpdmUoKSA9ICVkIiwgV1RGX1BSRVRUWV9GVU5D
VElPTiwgbV9yb290TGF5ZXJDb21taXRUaW1lci0+aXNBY3RpdmUoKSk7CiAjZW5kaWYKICAgICAg
ICAgbV9yb290TGF5ZXJDb21taXRUaW1lci0+c3RhcnRPbmVTaG90KDApOwogICAgIH0KQEAgLTU1
ODcsNyArNTU4Nyw3IEBAIHZvaWQgV2ViUGFnZVByaXZhdGU6OmNvbW1pdFJvb3RMYXllcihjb25z
dCBJbnRSZWN0JiBsYXlvdXRSZWN0Rm9yQ29tcG9zaXRpbmcsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgYm9vbCBkcmF3c1Jvb3RMYXllcikKIHsKICNpZiBERUJVR19BQ19D
T01NSVQKLSAgICBQbGF0Zm9ybTo6bG9nKFBsYXRmb3JtOjpMb2dMZXZlbENyaXRpY2FsLCAiJXM6
IG1fY29tcG9zaXRvciA9IDB4JXgiLAorICAgIEJCTE9HKFBsYXRmb3JtOjpMb2dMZXZlbENyaXRp
Y2FsLCAiJXM6IG1fY29tcG9zaXRvciA9IDB4JXgiLAogICAgICAgICAgICAgV1RGX1BSRVRUWV9G
VU5DVElPTiwgbV9jb21wb3NpdG9yLmdldCgpKTsKICNlbmRpZgogCkBAIC01NjI2LDcgKzU2MjYs
NyBAQCB2b2lkIFdlYlBhZ2VQcml2YXRlOjpjb21taXRSb290TGF5ZXIoY29uc3QgSW50UmVjdCYg
bGF5b3V0UmVjdEZvckNvbXBvc2l0aW5nLAogYm9vbCBXZWJQYWdlUHJpdmF0ZTo6Y29tbWl0Um9v
dExheWVySWZOZWVkZWQoKQogewogI2lmIERFQlVHX0FDX0NPTU1JVAotICAgIFBsYXRmb3JtOjps
b2coUGxhdGZvcm06OkxvZ0xldmVsQ3JpdGljYWwsICIlczogbV9zdXNwZW5kUm9vdExheWVyQ29t
bWl0ID0gJWQsIG1fbmVlZHNDb21taXQgPSAlZCwgbV9mcmFtZUxheWVycyA9IDB4JXgsIG1fZnJh
bWVMYXllcnMtPmhhc0xheWVyKCkgPSAlZCwgbmVlZHNMYXlvdXRSZWN1cnNpdmUoKSA9ICVkIiwK
KyAgICBCQkxPRyhQbGF0Zm9ybTo6TG9nTGV2ZWxDcml0aWNhbCwgIiVzOiBtX3N1c3BlbmRSb290
TGF5ZXJDb21taXQgPSAlZCwgbV9uZWVkc0NvbW1pdCA9ICVkLCBtX2ZyYW1lTGF5ZXJzID0gMHgl
eCwgbV9mcmFtZUxheWVycy0+aGFzTGF5ZXIoKSA9ICVkLCBuZWVkc0xheW91dFJlY3Vyc2l2ZSgp
ID0gJWQiLAogICAgICAgICAgICAgV1RGX1BSRVRUWV9GVU5DVElPTiwKICAgICAgICAgICAgIG1f
c3VzcGVuZFJvb3RMYXllckNvbW1pdCwKICAgICAgICAgICAgIG1fbmVlZHNDb21taXQsCkBAIC01
NzA0LDcgKzU3MDQsNyBAQCB2b2lkIFdlYlBhZ2VQcml2YXRlOjpyb290TGF5ZXJDb21taXRUaW1l
ckZpcmVkKFRpbWVyPFdlYlBhZ2VQcml2YXRlPiopCiAgICAgICAgIHJldHVybjsKIAogI2lmIERF
QlVHX0FDX0NPTU1JVAotICAgIFBsYXRmb3JtOjpsb2coUGxhdGZvcm06OkxvZ0xldmVsQ3JpdGlj
YWwsICIlcyIsIFdURl9QUkVUVFlfRlVOQ1RJT04pOworICAgIEJCTE9HKFBsYXRmb3JtOjpMb2dM
ZXZlbENyaXRpY2FsLCAiJXMiLCBXVEZfUFJFVFRZX0ZVTkNUSU9OKTsKICNlbmRpZgogCiAgICAg
bV9iYWNraW5nU3RvcmUtPmQtPmluc3RydW1lbnRCZWdpbkZyYW1lKCk7CkBAIC01NzMxLDcgKzU3
MzEsNyBAQCB2b2lkIFdlYlBhZ2VQcml2YXRlOjpyb290TGF5ZXJDb21taXRUaW1lckZpcmVkKFRp
bWVyPFdlYlBhZ2VQcml2YXRlPiopCiAKICAgICAgICAgaWYgKG5lZWRzT25lU2hvdERyYXdpbmdT
eW5jaHJvbml6YXRpb24oKSkgewogI2lmIERFQlVHX0FDX0NPTU1JVAotICAgICAgICAgICAgUGxh
dGZvcm06OmxvZyhQbGF0Zm9ybTo6TG9nTGV2ZWxDcml0aWNhbCwgIiVzOiBPbmVTaG90RHJhd2lu
Z1N5bmNocm9uaXphdGlvbiBjb2RlIHBhdGghIiwgV1RGX1BSRVRUWV9GVU5DVElPTik7CisgICAg
ICAgICAgICBCQkxPRyhQbGF0Zm9ybTo6TG9nTGV2ZWxDcml0aWNhbCwgIiVzOiBPbmVTaG90RHJh
d2luZ1N5bmNocm9uaXphdGlvbiBjb2RlIHBhdGghIiwgV1RGX1BSRVRUWV9GVU5DVElPTik7CiAj
ZW5kaWYKIAogICAgICAgICAgICAgY29uc3QgSW50UmVjdCB3aW5kb3dSZWN0ID0gSW50UmVjdChJ
bnRQb2ludDo6emVybygpLCB2aWV3cG9ydFNpemUoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50QmxhY2tCZXJyeS5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50Qmxh
Y2tCZXJyeS5jcHAKaW5kZXggNWM3MmU0MTExMGViYWViYWQ0YmRmMDY0YjU1ZWU5NDk2NGJjN2Fi
Ni4uZDc5MGI5NzI2ZTQ3NjBhYTNjNTIyMjJiZWM3MWQwZDkyMDZlNmQwOCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEJsYWNr
QmVycnkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9D
aHJvbWVDbGllbnRCbGFja0JlcnJ5LmNwcApAQCAtNjc5LDcgKzY3OSw3IEBAIHZvaWQgQ2hyb21l
Q2xpZW50QmxhY2tCZXJyeTo6b3ZlcmZsb3dFeGNlZWRzQ29udGVudHNTaXplKEZyYW1lKiBmcmFt
ZSkgY29uc3QKICAgICAgICAgcmV0dXJuOwogCiAjaWYgREVCVUdfT1ZFUkZMT1dfREVURUNUSU9O
Ci0gICAgQmxhY2tCZXJyeTo6UGxhdGZvcm06OmxvZyhCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6TG9n
TGV2ZWxJbmZvLCAiQ2hyb21lQ2xpZW50QmxhY2tCZXJyeTo6b3ZlcmZsb3dFeGNlZWRzQ29udGVu
dHNTaXplIGNvbnRlbnRzPSVkeCVkIG92ZXJmbG93PSVkeCVkIiwKKyAgICBCQkxPRyhCbGFja0Jl
cnJ5OjpQbGF0Zm9ybTo6TG9nTGV2ZWxJbmZvLCAiQ2hyb21lQ2xpZW50QmxhY2tCZXJyeTo6b3Zl
cmZsb3dFeGNlZWRzQ29udGVudHNTaXplIGNvbnRlbnRzPSVkeCVkIG92ZXJmbG93PSVkeCVkIiwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyYW1lLT5jb250ZW50UmVuZGVyZXIoKS0+cmln
aHRMYXlvdXRPdmVyZmxvdygpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJhbWUtPmNv
bnRlbnRSZW5kZXJlcigpLT5ib3R0b21MYXlvdXRPdmVyZmxvdygpLAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgZnJhbWUtPmNvbnRlbnRSZW5kZXJlcigpLT5yaWdodEFic29sdXRlVmlzaWJs
ZU92ZXJmbG93KCksCkBAIC02OTMsNyArNjkzLDcgQEAgdm9pZCBDaHJvbWVDbGllbnRCbGFja0Jl
cnJ5OjpkaWREaXNjb3ZlckZyYW1lU2V0KEZyYW1lKiBmcmFtZSkgY29uc3QKICAgICBpZiAoZnJh
bWUgIT0gbV93ZWJQYWdlUHJpdmF0ZS0+bV9tYWluRnJhbWUpCiAgICAgICAgIHJldHVybjsKIAot
ICAgIEJsYWNrQmVycnk6OlBsYXRmb3JtOjpsb2coQmxhY2tCZXJyeTo6UGxhdGZvcm06OkxvZ0xl
dmVsSW5mbywgIkNocm9tZUNsaWVudEJsYWNrQmVycnk6OmRpZERpc2NvdmVyRnJhbWVTZXQiKTsK
KyAgICBCQkxPRyhCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6TG9nTGV2ZWxJbmZvLCAiQ2hyb21lQ2xp
ZW50QmxhY2tCZXJyeTo6ZGlkRGlzY292ZXJGcmFtZVNldCIpOwogICAgIGlmIChtX3dlYlBhZ2VQ
cml2YXRlLT5sb2FkU3RhdGUoKSA9PSBXZWJQYWdlUHJpdmF0ZTo6Q29tbWl0dGVkKSB7CiAgICAg
ICAgIG1fd2ViUGFnZVByaXZhdGUtPnNldFNob3VsZFVzZUZpeGVkRGVza3RvcE1vZGUodHJ1ZSk7
CiAgICAgICAgIG1fd2ViUGFnZVByaXZhdGUtPnpvb21Ub0luaXRpYWxTY2FsZU9uTG9hZCgpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0ZyYW1l
TG9hZGVyQ2xpZW50QmxhY2tCZXJyeS5jcHAgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2Vi
Q29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRCbGFja0JlcnJ5LmNwcAppbmRleCAwNTA0NWU5
MTU1NDNlY2ViNjEyNzZkMmZjZTk1NTA4NzZmMGM0ZDJhLi4xNjM4MGM5MDYyMTRhZWZhODUyYTk2
NmNhYjBmMWNhOGNmY2MxN2QwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkv
V2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRCbGFja0JlcnJ5LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRCbGFj
a0JlcnJ5LmNwcApAQCAtODU2LDcgKzg1Niw3IEBAIHZvaWQgRnJhbWVMb2FkZXJDbGllbnRCbGFj
a0JlcnJ5OjpkaXNwYXRjaERpZExheW91dChMYXlvdXRNaWxlc3RvbmVzIG1pbGVzdG9uZXMpCiAg
ICAgICAgIHJldHVybjsKIAogICAgIGlmIChtaWxlc3RvbmVzICYgRGlkRmlyc3RWaXN1YWxseU5v
bkVtcHR5TGF5b3V0KSB7Ci0gICAgICAgIEJsYWNrQmVycnk6OlBsYXRmb3JtOjpsb2coQmxhY2tC
ZXJyeTo6UGxhdGZvcm06OkxvZ0xldmVsSW5mbywgImRpc3BhdGNoRGlkRmlyc3RWaXN1YWxseU5v
bkVtcHR5TGF5b3V0Iik7CisgICAgICAgIEJCTE9HKEJsYWNrQmVycnk6OlBsYXRmb3JtOjpMb2dM
ZXZlbEluZm8sICJkaXNwYXRjaERpZEZpcnN0VmlzdWFsbHlOb25FbXB0eUxheW91dCIpOwogCiAg
ICAgICAgIHJlYWR5VG9SZW5kZXIodHJ1ZSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
YmxhY2tiZXJyeS9XZWJLaXRTdXBwb3J0L0ZhdEZpbmdlcnMuY3BwIGIvU291cmNlL1dlYktpdC9i
bGFja2JlcnJ5L1dlYktpdFN1cHBvcnQvRmF0RmluZ2Vycy5jcHAKaW5kZXggNzdhMDA1NTE0MThh
NzM0NjY4MTYwN2FjODE4Yzk0MGNmOTgxYWY1Zi4uMDcxOTdiMWRkNWJlMDZhMjMzNTNjNzcwMjUx
YjQ3Yjg2NzFjZWE2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYktp
dFN1cHBvcnQvRmF0RmluZ2Vycy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dl
YktpdFN1cHBvcnQvRmF0RmluZ2Vycy5jcHAKQEAgLTI3OCw3ICsyNzgsNyBAQCBib29sIEZhdEZp
bmdlcnM6OmNoZWNrRmluZ2VySW50ZXJzZWN0aW9uKGNvbnN0IEludFJlY3RSZWdpb24mIHJlZ2lv
biwgY29uc3QgSW50UgogICAgICAgICBub2RlTmFtZSA9IFN0cmluZzo6Zm9ybWF0KCIlcyBub2Rl
IiwgdG9FbGVtZW50KG5vZGUpLT50YWdOYW1lKCkubGF0aW4xKCkuZGF0YSgpKTsKICAgICBlbHNl
CiAgICAgICAgIG5vZGVOYW1lID0gInVua25vd24gbm9kZSI7Ci0gICAgbG9nKExvZ0xldmVsSW5m
bywgIiVzIGhhcyByZWdpb24gJXMsIGludGVyc2VjdGluZyBhdCAlcyAoYXJlYSAlZCkiLCBub2Rl
TmFtZS5sYXRpbjEoKS5kYXRhKCksCisgICAgQkJMT0coTG9nTGV2ZWxJbmZvLCAiJXMgaGFzIHJl
Z2lvbiAlcywgaW50ZXJzZWN0aW5nIGF0ICVzIChhcmVhICVkKSIsIG5vZGVOYW1lLmxhdGluMSgp
LmRhdGEoKSwKICAgICAgICAgcmVnaW9uQ29weS50b1N0cmluZygpLmNfc3RyKCksIGludGVyc2Vj
dGlvbi50b1N0cmluZygpLmNfc3RyKCksIGludGVyc2VjdGlvbi5hcmVhKCkpOwogI2VuZGlmCiAK
QEAgLTMwMyw3ICszMDMsNyBAQCBib29sIEZhdEZpbmdlcnM6OmZpbmRJbnRlcnNlY3RpbmdSZWdp
b25zKERvY3VtZW50KiBkb2N1bWVudCwgVmVjdG9yPEludGVyc2VjdGluZwogI2lmIERFQlVHX0ZB
VF9GSU5HRVJTCiAgICAgSW50UmVjdCBmaW5nZXJSZWN0KGZpbmdlclJlY3RGb3JQb2ludChmcmFt
ZUNvbnRlbnRQb3MpKTsKICAgICBJbnRSZWN0IHNjcmVlbkZpbmdlclJlY3QgPSBtX3dlYlBhZ2Ut
Pm1hcFRvVHJhbnNmb3JtZWQoZmluZ2VyUmVjdCk7Ci0gICAgbG9nKExvZ0xldmVsSW5mbywgImZh
dCBmaW5nZXIgcmVjdCBub3cgJWQsICVkLCAlZCwgJWQiLCBzY3JlZW5GaW5nZXJSZWN0LngoKSwg
c2NyZWVuRmluZ2VyUmVjdC55KCksIHNjcmVlbkZpbmdlclJlY3Qud2lkdGgoKSwgc2NyZWVuRmlu
Z2VyUmVjdC5oZWlnaHQoKSk7CisgICAgQkJMT0coTG9nTGV2ZWxJbmZvLCAiZmF0IGZpbmdlciBy
ZWN0IG5vdyAlZCwgJWQsICVkLCAlZCIsIHNjcmVlbkZpbmdlclJlY3QueCgpLCBzY3JlZW5GaW5n
ZXJSZWN0LnkoKSwgc2NyZWVuRmluZ2VyUmVjdC53aWR0aCgpLCBzY3JlZW5GaW5nZXJSZWN0Lmhl
aWdodCgpKTsKIAogICAgIC8vIG9ubHkgcmVjb3JkIHRoZSBmaXJzdCBmaW5nZXIgcmVjdAogICAg
IGlmIChkb2N1bWVudCA9PSBtX3dlYlBhZ2UtPm1fbWFpbkZyYW1lLT5kb2N1bWVudCgpKQpAQCAt
NDMzLDcgKzQzMyw3IEBAIGJvb2wgRmF0RmluZ2Vyczo6Y2hlY2tGb3JUZXh0KE5vZGUqIGN1ck5v
ZGUsIFZlY3RvcjxJbnRlcnNlY3RpbmdSZWdpb24+JiBpbnRlcnNlCiAgICAgICAgICAgICBSZWZQ
dHI8UmFuZ2U+IHJhbmdlID0gUmFuZ2U6OmNyZWF0ZShkb2N1bWVudCwgY3VyVGV4dCwgbGFzdE9m
ZnNldCwgY3VyVGV4dCwgb2Zmc2V0KTsKICAgICAgICAgICAgIGlmICghcmFuZ2UtPnRleHQoKS5z
dHJpcFdoaXRlU3BhY2UoKS5pc0VtcHR5KCkpIHsKICNpZiBERUJVR19GQVRfRklOR0VSUwotICAg
ICAgICAgICAgICAgIGxvZyhMb2dMZXZlbEluZm8sICJDaGVja2luZyB3b3JkICclcyciLCByYW5n
ZS0+dGV4dCgpLmxhdGluMSgpLmRhdGEoKSk7CisgICAgICAgICAgICAgICAgQkJMT0coTG9nTGV2
ZWxJbmZvLCAiQ2hlY2tpbmcgd29yZCAnJXMnIiwgcmFuZ2UtPnRleHQoKS5sYXRpbjEoKS5kYXRh
KCkpOwogI2VuZGlmCiAgICAgICAgICAgICAgICAgSW50UmVjdFJlZ2lvbiByYW5nZVJlZ2lvbihE
T01TdXBwb3J0Ojp0cmFuc2Zvcm1lZEJvdW5kaW5nQm94Rm9yUmFuZ2UoKnJhbmdlKSk7CiAgICAg
ICAgICAgICAgICAgZm91bmRPbmUgfD0gY2hlY2tGaW5nZXJJbnRlcnNlY3Rpb24ocmFuZ2VSZWdp
b24sIGZpbmdlclJlZ2lvbiwgY3VyTm9kZSwgaW50ZXJzZWN0aW5nUmVnaW9ucyk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViS2l0U3VwcG9ydC9SZW5kZXJRdWV1ZS5j
cHAgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViS2l0U3VwcG9ydC9SZW5kZXJRdWV1ZS5j
cHAKaW5kZXggMTEwYmUxYWExZTA3Nzk4MzlhMGE3ODc5ZGM0YmU3YjRmM2QxYzkyYi4uMmRhNmQ4
ZTY4ZGY1NjFjNzM2OWMwNmE5MTE3YTc1ODlkNGE1ZWM5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9ibGFja2JlcnJ5L1dlYktpdFN1cHBvcnQvUmVuZGVyUXVldWUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJLaXRTdXBwb3J0L1JlbmRlclF1ZXVlLmNwcApAQCAtMzYy
LDcgKzM2Miw3IEBAIHZvaWQgUmVuZGVyUXVldWU6OmFkZFRvUmVndWxhclF1ZXVlKGNvbnN0IFBs
YXRmb3JtOjpJbnRSZWN0JiByZWN0KQogewogI2lmIERFQlVHX1JFTkRFUl9RVUVVRQogICAgIGlm
IChtX3JlZ3VsYXJSZW5kZXJKb2JzUmVnaW9uLmlzUmVjdEluUmVnaW9uKHJlY3QpICE9IFBsYXRm
b3JtOjpJbnRSZWN0UmVnaW9uOjpDb250YWluZWRJblJlZ2lvbikgewotICAgICAgICBCbGFja0Jl
cnJ5OjpQbGF0Zm9ybTo6bG9nKEJsYWNrQmVycnk6OlBsYXRmb3JtOjpMb2dMZXZlbENyaXRpY2Fs
LCAiUmVuZGVyUXVldWU6OmFkZFRvUmVndWxhclF1ZXVlICVkLCVkICVkeCVkIiwKKyAgICAgICAg
QkJMT0coQmxhY2tCZXJyeTo6UGxhdGZvcm06OkxvZ0xldmVsQ3JpdGljYWwsICJSZW5kZXJRdWV1
ZTo6YWRkVG9SZWd1bGFyUXVldWUgJWQsJWQgJWR4JWQiLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIHJlY3QueCgpLCByZWN0LnkoKSwgcmVjdC53aWR0aCgpLCByZWN0LmhlaWdodCgp
KTsKICAgICB9CiAjZW5kaWYKQEAgLTM4Myw3ICszODMsNyBAQCB2b2lkIFJlbmRlclF1ZXVlOjph
ZGRUb1Njcm9sbFpvb21RdWV1ZShjb25zdCBSZW5kZXJSZWN0JiByZWN0LCBSZW5kZXJSZWN0TGlz
dCogcgogICAgICAgICByZXR1cm47CiAKICNpZiBERUJVR19SRU5ERVJfUVVFVUUKLSAgICBCbGFj
a0JlcnJ5OjpQbGF0Zm9ybTo6bG9nKEJsYWNrQmVycnk6OlBsYXRmb3JtOjpMb2dMZXZlbENyaXRp
Y2FsLCAiUmVuZGVyUXVldWU6OmFkZFRvU2Nyb2xsWm9vbVF1ZXVlICVkLCVkICVkeCVkIiwKKyAg
ICBCQkxPRyhCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6TG9nTGV2ZWxDcml0aWNhbCwgIlJlbmRlclF1
ZXVlOjphZGRUb1Njcm9sbFpvb21RdWV1ZSAlZCwlZCAlZHglZCIsCiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICByZWN0LngoKSwgcmVjdC55KCksIHJlY3Qud2lkdGgoKSwgcmVjdC5oZWlnaHQo
KSk7CiAjZW5kaWYKICAgICByZWN0TGlzdC0+cHVzaF9iYWNrKHJlY3QpOwpAQCAtNTY5LDcgKzU2
OSw3IEBAIHZvaWQgUmVuZGVyUXVldWU6OnJlbmRlcihib29sIHNob3VsZFBlcmZvcm1SZWd1bGFy
UmVuZGVySm9icykKICNpZiBERUJVR19SRU5ERVJfUVVFVUUKICAgICBkb3VibGUgZWxhcHNlZCA9
IFdURjo6Y3VycmVudFRpbWUoKSAtIHRpbWU7CiAgICAgaWYgKGVsYXBzZWQpCi0gICAgICAgIEJs
YWNrQmVycnk6OlBsYXRmb3JtOjpsb2coQmxhY2tCZXJyeTo6UGxhdGZvcm06OkxvZ0xldmVsQ3Jp
dGljYWwsICJSZW5kZXJRdWV1ZTo6cmVuZGVyIGxheW91dCBlbGFwc2VkPSVmIiwgZWxhcHNlZCk7
CisgICAgICAgIEJCTE9HKEJsYWNrQmVycnk6OlBsYXRmb3JtOjpMb2dMZXZlbENyaXRpY2FsLCAi
UmVuZGVyUXVldWU6OnJlbmRlciBsYXlvdXQgZWxhcHNlZD0lZiIsIGVsYXBzZWQpOwogI2VuZGlm
CiAKICAgICAvLyBFbXB0eSB0aGUgcXVldWVzIGluIGEgcHJlY2lzZSBvcmRlciBvZiBwcmlvcml0
eS4KQEAgLTU5OSw3ICs1OTksNyBAQCB2b2lkIFJlbmRlclF1ZXVlOjpyZW5kZXJBbGxDdXJyZW50
UmVndWxhclJlbmRlckpvYnMoKQogI2lmIERFQlVHX1JFTkRFUl9RVUVVRQogICAgIGRvdWJsZSBl
bGFwc2VkID0gV1RGOjpjdXJyZW50VGltZSgpIC0gdGltZTsKICAgICBpZiAoZWxhcHNlZCkKLSAg
ICAgICAgQmxhY2tCZXJyeTo6UGxhdGZvcm06OmxvZyhCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6TG9n
TGV2ZWxDcml0aWNhbCwgIlJlbmRlclF1ZXVlOjpyZW5kZXJBbGxDdXJyZW50UmVndWxhclJlbmRl
ckpvYnMgbGF5b3V0IGVsYXBzZWQ9JWYiLCBlbGFwc2VkKTsKKyAgICAgICAgQkJMT0coQmxhY2tC
ZXJyeTo6UGxhdGZvcm06OkxvZ0xldmVsQ3JpdGljYWwsICJSZW5kZXJRdWV1ZTo6cmVuZGVyQWxs
Q3VycmVudFJlZ3VsYXJSZW5kZXJKb2JzIGxheW91dCBlbGFwc2VkPSVmIiwgZWxhcHNlZCk7CiAj
ZW5kaWYKIAogICAgIC8vIFRoZSBzdGF0ZSBvZiByZW5kZXIgcXVldWUgbWF5IGJlIG1vZGlmaWVk
IGZyb20gaW5zaWRlIHJlcXVlc3RMYXlvdXRJZk5lZWRlZC4KQEAgLTYyNiw3ICs2MjYsNyBAQCB2
b2lkIFJlbmRlclF1ZXVlOjpyZW5kZXJBbGxDdXJyZW50UmVndWxhclJlbmRlckpvYnMoKQogCiAj
aWYgREVCVUdfUkVOREVSX1FVRVVFCiAgICAgICAgIGlmICghcmVnaW9uTm90UmVuZGVyZWQuaXNF
bXB0eSgpKQotICAgICAgICAgICAgQmxhY2tCZXJyeTo6UGxhdGZvcm06OmxvZyhCbGFja0JlcnJ5
OjpQbGF0Zm9ybTo6TG9nTGV2ZWxDcml0aWNhbCwgIlJlbmRlclF1ZXVlOjpyZW5kZXJBbGxDdXJy
ZW50UmVndWxhclJlbmRlckpvYnMgcmVnaW9uIG5vdCBjb21wbGV0ZWx5IHJlbmRlcmVkISIpOwor
ICAgICAgICAgICAgQkJMT0coQmxhY2tCZXJyeTo6UGxhdGZvcm06OkxvZ0xldmVsQ3JpdGljYWws
ICJSZW5kZXJRdWV1ZTo6cmVuZGVyQWxsQ3VycmVudFJlZ3VsYXJSZW5kZXJKb2JzIHJlZ2lvbiBu
b3QgY29tcGxldGVseSByZW5kZXJlZCEiKTsKICNlbmRpZgogCiAgICAgICAgIC8vIENsaXAgdG8g
dGhlIHZpc2libGUgY29udGVudHMgc28gd2UnbGwgYmUgZmFzdGVyLgpAQCAtNjQ1LDcgKzY0NSw3
IEBAIHZvaWQgUmVuZGVyUXVldWU6OnJlbmRlckFsbEN1cnJlbnRSZWd1bGFyUmVuZGVySm9icygp
CiAgICAgZWxhcHNlZCA9IFdURjo6Y3VycmVudFRpbWUoKSAtIHRpbWU7CiAgICAgUGxhdGZvcm06
OkludFJlY3QgZXh0ZW50cyA9IG1fY3VycmVudFJlZ3VsYXJSZW5kZXJKb2JzQmF0Y2hSZWdpb24u
ZXh0ZW50cygpOwogICAgIGludCBudW1iZXJPZlJlY3RzID0gbV9jdXJyZW50UmVndWxhclJlbmRl
ckpvYnNCYXRjaFJlZ2lvbi5yZWN0cygpLnNpemUoKTsKLSAgICBCbGFja0JlcnJ5OjpQbGF0Zm9y
bTo6bG9nKEJsYWNrQmVycnk6OlBsYXRmb3JtOjpMb2dMZXZlbENyaXRpY2FsLCAiUmVuZGVyUXVl
dWU6OnJlbmRlckFsbEN1cnJlbnRSZWd1bGFyUmVuZGVySm9icyBleHRlbnRzPSglZCwlZCAlZHgl
ZCkgbnVtYmVyT2ZSZWN0cz0lZCBlbGFwc2VkPSVmIiwKKyAgICBCQkxPRyhCbGFja0JlcnJ5OjpQ
bGF0Zm9ybTo6TG9nTGV2ZWxDcml0aWNhbCwgIlJlbmRlclF1ZXVlOjpyZW5kZXJBbGxDdXJyZW50
UmVndWxhclJlbmRlckpvYnMgZXh0ZW50cz0oJWQsJWQgJWR4JWQpIG51bWJlck9mUmVjdHM9JWQg
ZWxhcHNlZD0lZiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHRlbnRzLngoKSwgZXh0
ZW50cy55KCksIGV4dGVudHMud2lkdGgoKSwgZXh0ZW50cy5oZWlnaHQoKSwgbnVtYmVyT2ZSZWN0
cywgZWxhcHNlZCk7CiAjZW5kaWYKIApAQCAtNjgxLDcgKzY4MSw3IEBAIHZvaWQgUmVuZGVyUXVl
dWU6OnN0YXJ0UmVndWxhclJlbmRlckpvYkJhdGNoSWZOZWVkZWQoKQogICAgIG1fcmVndWxhclJl
bmRlckpvYnNSZWdpb24gPSBQbGF0Zm9ybTo6SW50UmVjdFJlZ2lvbigpOwogCiAjaWYgREVCVUdf
UkVOREVSX1FVRVVFCi0gICAgQmxhY2tCZXJyeTo6UGxhdGZvcm06OmxvZyhCbGFja0JlcnJ5OjpQ
bGF0Zm9ybTo6TG9nTGV2ZWxDcml0aWNhbCwgIlJlbmRlclF1ZXVlOjpzdGFydFJlZ3VsYXJSZW5k
ZXJKb2JCYXRjaElmTmVlZGVkIGJhdGNoIHNpemUgaXMgJWQhIiwgbV9jdXJyZW50UmVndWxhclJl
bmRlckpvYnNCYXRjaC5zaXplKCkpOworICAgIEJCTE9HKEJsYWNrQmVycnk6OlBsYXRmb3JtOjpM
b2dMZXZlbENyaXRpY2FsLCAiUmVuZGVyUXVldWU6OnN0YXJ0UmVndWxhclJlbmRlckpvYkJhdGNo
SWZOZWVkZWQgYmF0Y2ggc2l6ZSBpcyAlZCEiLCBtX2N1cnJlbnRSZWd1bGFyUmVuZGVySm9ic0Jh
dGNoLnNpemUoKSk7CiAjZW5kaWYKIH0KIApAQCAtNzA4LDcgKzcwOCw3IEBAIHZvaWQgUmVuZGVy
UXVldWU6OnJlbmRlclZpc2libGVab29tSm9iKCkKICNpZiBERUJVR19SRU5ERVJfUVVFVUUKICAg
ICAvLyBTdG9wIHRoZSB0aW1lIG1lYXN1cmVtZW50CiAgICAgZG91YmxlIGVsYXBzZWQgPSBXVEY6
OmN1cnJlbnRUaW1lKCkgLSB0aW1lOwotICAgIEJsYWNrQmVycnk6OlBsYXRmb3JtOjpsb2coQmxh
Y2tCZXJyeTo6UGxhdGZvcm06OkxvZ0xldmVsQ3JpdGljYWwsICJSZW5kZXJRdWV1ZTo6cmVuZGVy
VmlzaWJsZVpvb21Kb2IgcmVjdD0oJWQsJWQgJWR4JWQpIGVsYXBzZWQ9JWYiLAorICAgIEJCTE9H
KEJsYWNrQmVycnk6OlBsYXRmb3JtOjpMb2dMZXZlbENyaXRpY2FsLCAiUmVuZGVyUXVldWU6OnJl
bmRlclZpc2libGVab29tSm9iIHJlY3Q9KCVkLCVkICVkeCVkKSBlbGFwc2VkPSVmIiwKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHN1YlJlY3QueCgpLCBzdWJSZWN0LnkoKSwgc3ViUmVjdC53
aWR0aCgpLCBzdWJSZWN0LmhlaWdodCgpLCBlbGFwc2VkKTsKICNlbmRpZgogfQpAQCAtNzI3LDcg
KzcyNyw3IEBAIHZvaWQgUmVuZGVyUXVldWU6OnJlbmRlclZpc2libGVTY3JvbGxKb2IoKQogI2lm
IERFQlVHX1JFTkRFUl9RVUVVRV9TT1JUCiAgICAgLy8gU3RvcCB0aGUgdGltZSBtZWFzdXJlbWVu
dAogICAgIGRvdWJsZSBlbGFwc2VkID0gV1RGOjpjdXJyZW50VGltZSgpIC0gdGltZTsKLSAgICBC
bGFja0JlcnJ5OjpQbGF0Zm9ybTo6bG9nKEJsYWNrQmVycnk6OlBsYXRmb3JtOjpMb2dMZXZlbENy
aXRpY2FsLCAiUmVuZGVyUXVldWU6OnJlbmRlclZpc2libGVTY3JvbGxKb2Igc29ydCBlbGFwc2Vk
PSVmIiwgZWxhcHNlZCk7CisgICAgQkJMT0coQmxhY2tCZXJyeTo6UGxhdGZvcm06OkxvZ0xldmVs
Q3JpdGljYWwsICJSZW5kZXJRdWV1ZTo6cmVuZGVyVmlzaWJsZVNjcm9sbEpvYiBzb3J0IGVsYXBz
ZWQ9JWYiLCBlbGFwc2VkKTsKICNlbmRpZgogCiAgICAgUmVuZGVyUmVjdCByZWN0ID0gbV92aXNp
YmxlU2Nyb2xsSm9ic1swXTsKQEAgLTc0OCw3ICs3NDgsNyBAQCB2b2lkIFJlbmRlclF1ZXVlOjpy
ZW5kZXJWaXNpYmxlU2Nyb2xsSm9iKCkKICNpZiBERUJVR19SRU5ERVJfUVVFVUUKICAgICAvLyBT
dG9wIHRoZSB0aW1lIG1lYXN1cmVtZW50CiAgICAgZG91YmxlIGVsYXBzZWQgPSBXVEY6OmN1cnJl
bnRUaW1lKCkgLSB0aW1lOwotICAgIEJsYWNrQmVycnk6OlBsYXRmb3JtOjpsb2coQmxhY2tCZXJy
eTo6UGxhdGZvcm06OkxvZ0xldmVsQ3JpdGljYWwsICJSZW5kZXJRdWV1ZTo6cmVuZGVyVmlzaWJs
ZVNjcm9sbEpvYiByZWN0PSglZCwlZCAlZHglZCkgZWxhcHNlZD0lZiIsCisgICAgQkJMT0coQmxh
Y2tCZXJyeTo6UGxhdGZvcm06OkxvZ0xldmVsQ3JpdGljYWwsICJSZW5kZXJRdWV1ZTo6cmVuZGVy
VmlzaWJsZVNjcm9sbEpvYiByZWN0PSglZCwlZCAlZHglZCkgZWxhcHNlZD0lZiIsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBzdWJSZWN0LngoKSwgc3ViUmVjdC55KCksIHN1YlJlY3Qud2lk
dGgoKSwgc3ViUmVjdC5oZWlnaHQoKSwgZWxhcHNlZCk7CiAjZW5kaWYKIApAQCAtNzgwLDcgKzc4
MCw3IEBAIHZvaWQgUmVuZGVyUXVldWU6OnJlbmRlclJlZ3VsYXJSZW5kZXJKb2IoKQogCiAjaWYg
REVCVUdfUkVOREVSX1FVRVVFCiAgICAgICAgIGlmICghcmVnaW9uTm90UmVuZGVyZWQuaXNFbXB0
eSgpKSB7Ci0gICAgICAgICAgICBCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6bG9nKEJsYWNrQmVycnk6
OlBsYXRmb3JtOjpMb2dMZXZlbENyaXRpY2FsLCAiUmVuZGVyUXVldWU6OnJlbmRlclJlZ3VsYXJS
ZW5kZXJKb2IgcmVjdCAoJWQsJWQgJWR4JWQpIG5vdCBjb21wbGV0ZWx5IHJlbmRlcmVkISIsCisg
ICAgICAgICAgICBCQkxPRyhCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6TG9nTGV2ZWxDcml0aWNhbCwg
IlJlbmRlclF1ZXVlOjpyZW5kZXJSZWd1bGFyUmVuZGVySm9iIHJlY3QgKCVkLCVkICVkeCVkKSBu
b3QgY29tcGxldGVseSByZW5kZXJlZCEiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHJlY3QueCgpLCByZWN0LnkoKSwgcmVjdC53aWR0aCgpLCByZWN0LmhlaWdodCgpKTsKICAg
ICAgICAgfQogI2VuZGlmCkBAIC03OTUsNyArNzk1LDcgQEAgdm9pZCBSZW5kZXJRdWV1ZTo6cmVu
ZGVyUmVndWxhclJlbmRlckpvYigpCiAjaWYgREVCVUdfUkVOREVSX1FVRVVFCiAgICAgLy8gU3Rv
cCB0aGUgdGltZSBtZWFzdXJlbWVudC4KICAgICBkb3VibGUgZWxhcHNlZCA9IFdURjo6Y3VycmVu
dFRpbWUoKSAtIHRpbWU7Ci0gICAgQmxhY2tCZXJyeTo6UGxhdGZvcm06OmxvZyhCbGFja0JlcnJ5
OjpQbGF0Zm9ybTo6TG9nTGV2ZWxDcml0aWNhbCwgIlJlbmRlclF1ZXVlOjpyZW5kZXJSZWd1bGFy
UmVuZGVySm9iIHJlY3Q9KCVkLCVkICVkeCVkKSBlbGFwc2VkPSVmIiwKKyAgICBCQkxPRyhCbGFj
a0JlcnJ5OjpQbGF0Zm9ybTo6TG9nTGV2ZWxDcml0aWNhbCwgIlJlbmRlclF1ZXVlOjpyZW5kZXJS
ZWd1bGFyUmVuZGVySm9iIHJlY3Q9KCVkLCVkICVkeCVkKSBlbGFwc2VkPSVmIiwKICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHJlY3QueCgpLCByZWN0LnkoKSwgcmVjdC53aWR0aCgpLCByZWN0
LmhlaWdodCgpLCBlbGFwc2VkKTsKICNlbmRpZgogCkBAIC04MjksNyArODI5LDcgQEAgdm9pZCBS
ZW5kZXJRdWV1ZTo6cmVuZGVyTm9uVmlzaWJsZVNjcm9sbEpvYigpCiAjaWYgREVCVUdfUkVOREVS
X1FVRVVFX1NPUlQKICAgICAvLyBTdG9wIHRoZSB0aW1lIG1lYXN1cmVtZW50LgogICAgIGRvdWJs
ZSBlbGFwc2VkID0gV1RGOjpjdXJyZW50VGltZSgpIC0gdGltZTsKLSAgICBCbGFja0JlcnJ5OjpQ
bGF0Zm9ybTo6bG9nKEJsYWNrQmVycnk6OlBsYXRmb3JtOjpMb2dMZXZlbENyaXRpY2FsLCAiUmVu
ZGVyUXVldWU6OnJlbmRlck5vblZpc2libGVTY3JvbGxKb2Igc29ydCBlbGFwc2VkPSVmIiwgZWxh
cHNlZCk7CisgICAgQkJMT0coQmxhY2tCZXJyeTo6UGxhdGZvcm06OkxvZ0xldmVsQ3JpdGljYWws
ICJSZW5kZXJRdWV1ZTo6cmVuZGVyTm9uVmlzaWJsZVNjcm9sbEpvYiBzb3J0IGVsYXBzZWQ9JWYi
LCBlbGFwc2VkKTsKICNlbmRpZgogCiAgICAgUmVuZGVyUmVjdCByZWN0ID0gbV9ub25WaXNpYmxl
U2Nyb2xsSm9ic1swXTsKQEAgLTg1NCw3ICs4NTQsNyBAQCB2b2lkIFJlbmRlclF1ZXVlOjpyZW5k
ZXJOb25WaXNpYmxlU2Nyb2xsSm9iKCkKICNpZiBERUJVR19SRU5ERVJfUVVFVUUKICAgICAvLyBT
dG9wIHRoZSB0aW1lIG1lYXN1cmVtZW50LgogICAgIGRvdWJsZSBlbGFwc2VkID0gV1RGOjpjdXJy
ZW50VGltZSgpIC0gdGltZTsKLSAgICBCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6bG9nKEJsYWNrQmVy
cnk6OlBsYXRmb3JtOjpMb2dMZXZlbENyaXRpY2FsLCAiUmVuZGVyUXVldWU6OnJlbmRlck5vblZp
c2libGVTY3JvbGxKb2IgcmVjdD0oJWQsJWQgJWR4JWQpIGVsYXBzZWQ9JWYiLAorICAgIEJCTE9H
KEJsYWNrQmVycnk6OlBsYXRmb3JtOjpMb2dMZXZlbENyaXRpY2FsLCAiUmVuZGVyUXVldWU6OnJl
bmRlck5vblZpc2libGVTY3JvbGxKb2IgcmVjdD0oJWQsJWQgJWR4JWQpIGVsYXBzZWQ9JWYiLAog
ICAgICAgICAgICAgICAgICAgICAgICAgICAgc3ViUmVjdC54KCksIHN1YlJlY3QueSgpLCBzdWJS
ZWN0LndpZHRoKCksIHN1YlJlY3QuaGVpZ2h0KCksIGVsYXBzZWQpOwogI2VuZGlmCiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJLaXRTdXBwb3J0L1N1cmZhY2VQb29s
LmNwcCBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJLaXRTdXBwb3J0L1N1cmZhY2VQb29s
LmNwcAppbmRleCAwZTBjODM0NGJjMDI1YmQ5ZmYwMTliZWI5NGE1NmY1MjNhZDFhNDUyLi4yYjgw
ZDUxZTdiNDUxYzFlZDVhOTc2ODE3NmVlOTU1ODI5ZTFjOWZhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2JsYWNrYmVycnkvV2ViS2l0U3VwcG9ydC9TdXJmYWNlUG9vbC5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYktpdFN1cHBvcnQvU3VyZmFjZVBvb2wuY3BwCkBAIC03
Nyw3ICs3Nyw3IEBAIHZvaWQgU3VyZmFjZVBvb2w6OmluaXRpYWxpemUoY29uc3QgUGxhdGZvcm06
OkludFNpemUmIHRpbGVTaXplKQogICAgICAgICB1bnNpZ25lZCBieXRlTGltaXQgPSAobWF4TnVt
YmVyT2ZUaWxlcyAvKnBvb2wqLyArIDIgLyp2aXNpYmxlIHRpbGUgYnVmZmVyLCBiYWNrYnVmZmVy
Ki8pICogdGlsZVNpemUud2lkdGgoKSAqIHRpbGVTaXplLmhlaWdodCgpICogNDsKICAgICAgICAg
Ym9vbCBzdWNjZXNzID0gUGxhdGZvcm06OkdyYXBoaWNzOjpjcmVhdGVQaXhtYXBHcm91cChTSEFS
RURfUElYTUFQX0dST1VQLCBieXRlTGltaXQpOwogICAgICAgICBpZiAoIXN1Y2Nlc3MpIHsKLSAg
ICAgICAgICAgIFBsYXRmb3JtOjpsb2coUGxhdGZvcm06OkxvZ0xldmVsV2FybiwKKyAgICAgICAg
ICAgIEJCTE9HKFBsYXRmb3JtOjpMb2dMZXZlbFdhcm4sCiAgICAgICAgICAgICAgICAgIlNoYXJl
ZCBidWZmZXIgcG9vbCBjb3VsZCBub3QgYmUgc2V0IHVwLCB1c2luZyByZWd1bGFyIG1lbW9yeSBh
bGxvY2F0aW9uIGluc3RlYWQuIik7CiAgICAgICAgIH0KICAgICB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>168953</attachid>
            <date>2012-10-16 08:29:44 -0700</date>
            <delta_ts>2012-10-16 10:37:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-99302-20121016113214.patch</filename>
            <type>text/plain</type>
            <size>1731</size>
            <attacher name="Rob Buis">rwlbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMxNDU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGYyYzI3YzE3NWRiYjE5
MzhmZmNjMmIxZDE3ZjdiZGY0MWIyNGI4Ni4uMWNiNmM3NGZhZDU2YjAxMGYwYzEwNDk4Nzk4Zjhh
MTIwYTAzOWJjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEyLTEwLTE2ICBSb2Ig
QnVpcyAgPHJidWlzQHJpbS5jb20+CisKKyAgICAgICAgW0JsYWNrQmVycnldIHJlcGxhY2UgQmxh
Y2tCZXJyeTo6UGxhdGZvcm06OmxvZygpIHdpdGggQkJMT0coKQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTkzMDIKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBGaXggYSB3YXJuaW5nIGludHJvZHVjZWQgYnkg
cjEzMTMzNS4gU2luY2UgaW4gcmVsZWFzZSBCQkxPRyBpcyBlbXB0eSwgb25seSBjYWxsIGVuYWJs
ZSB0aGlzIGJsb2NrIGluIGRlYnVnIGJ1aWxkcy4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHQzRE9wZW5HTENvbW1vbi5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6Y29tcGlsZVNoYWRlcik6CisKIDIwMTItMTAtMTYg
IEFsZXhhbmRlciBQYXZsb3YgIDxhcGF2bG92QGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIg
SW5zcGVjdG9yOiBbRWxlbWVudHNdIERvdWJsZS1jbGljayB0byBsaXZlIGVkaXQgc3R5bGUgdGFn
cyBjaGFuZ2VzIHRleHQgdG8gJ3VuZGVmaW5lZCcgaW4gc29tZSBzaXR1YXRpb25zCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3JhcGhpY3NDb250
ZXh0M0RPcGVuR0xDb21tb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
b3BlbmdsL0dyYXBoaWNzQ29udGV4dDNET3BlbkdMQ29tbW9uLmNwcAppbmRleCA2NGViY2FiZDc3
MjNhNTBhYTZkYjQxZjcxNmU2NmRmOGNmZWM2Y2NkLi5hYmNiNTZhYTdmMjAwZDQzYTJmOWQ0YzNm
NGZhMmQzZmQ0NjJmMDliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9vcGVuZ2wvR3JhcGhpY3NDb250ZXh0M0RPcGVuR0xDb21tb24uY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHQzRE9wZW5H
TENvbW1vbi5jcHAKQEAgLTQ3Nyw3ICs0NzcsNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDNEOjpj
b21waWxlU2hhZGVyKFBsYXRmb3JtM0RPYmplY3Qgc2hhZGVyKQogICAgIAogICAgIC8vIEFTU0VS
VCB0aGF0IEFOR0xFIGdlbmVyYXRlZCBHTFNMIHdpbGwgYmUgYWNjZXB0ZWQgYnkgT3BlbkdMLgog
ICAgIEFTU0VSVChHTENvbXBpbGVTdWNjZXNzID09IEdMX1RSVUUpOwotI2lmIFBMQVRGT1JNKEJM
QUNLQkVSUlkpCisjaWYgUExBVEZPUk0oQkxBQ0tCRVJSWSkgJiYgIU5ERUJVRwogICAgIGlmIChH
TENvbXBpbGVTdWNjZXNzICE9IEdMX1RSVUUpCiAgICAgICAgIEJCTE9HKEJsYWNrQmVycnk6OlBs
YXRmb3JtOjpMb2dMZXZlbFdhcm4sICJUaGUgc2hhZGVyIHZhbGlkYXRlZCwgYnV0IGRpZG4ndCBj
b21waWxlLlxuIik7CiAjZW5kaWYK
</data>
<flag name="review"
          id="182076"
          type_id="1"
          status="+"
          setter="yong.li.webkit"
    />
          </attachment>
      

    </bug>

</bugzilla>