<?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>93335</bug_id>
          
          <creation_ts>2012-08-06 22:24:44 -0700</creation_ts>
          <short_desc>[chromium] Switch PlatformLayer typedef to Platform API type for PLATFORM(CHROMIUM)</short_desc>
          <delta_ts>2012-08-07 15:30:22 -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>abarth</cc>
    
    <cc>andersca</cc>
    
    <cc>cc-bugs</cc>
    
    <cc>dglazkov</cc>
    
    <cc>enne</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>feature-media-reviews</cc>
    
    <cc>fishd</cc>
    
    <cc>piman</cc>
    
    <cc>shawnsingh</cc>
    
    <cc>tkent+wkapi</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>688820</commentid>
    <comment_count>0</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-08-06 22:24:44 -0700</bug_when>
    <thetext>[chromium] Switch PlatformLayer typedef to Platform API type for PLATFORM(CHROMIUM)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>688822</commentid>
    <comment_count>1</comment_count>
      <attachid>156866</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-08-06 22:28:05 -0700</bug_when>
    <thetext>Created attachment 156866
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>688823</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-06 22:29:15 -0700</bug_when>
    <thetext>Please wait for approval from abarth@webkit.org, dglazkov@chromium.org, fishd@chromium.org, jamesr@chromium.org or tkent@chromium.org before submitting, as this patch contains changes to the Chromium public API. See also https://trac.webkit.org/wiki/ChromiumWebKitAPI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>689200</commentid>
    <comment_count>3</comment_count>
      <attachid>156866</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-08-07 11:09:46 -0700</bug_when>
    <thetext>Comment on attachment 156866
Patch

R=me.  The const_casts are sad, but it&apos;d be a big refactor to typedef PlatformLayer* to get rid of them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>689490</commentid>
    <comment_count>4</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-08-07 15:30:22 -0700</bug_when>
    <thetext>Committed r124927: &lt;http://trac.webkit.org/changeset/124927&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>156866</attachid>
            <date>2012-08-06 22:28:05 -0700</date>
            <delta_ts>2012-08-07 11:09:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-93335-20120806222749.patch</filename>
            <type>text/plain</type>
            <size>29362</size>
            <attacher name="James Robinson">jamesr</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI0ODQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0v
Q2hhbmdlTG9nIGIvU291cmNlL1BsYXRmb3JtL0NoYW5nZUxvZwppbmRleCA0ZmIxNzY2OGQwOTE5
ZTc1NDRhYzkwMzMxMDQ3YWMxZTUzMWViYzg2Li4yODdjMWIwZDAyYzE0OTRjMWQxMmJlOWQ5Nzk4
NDNhZjFmMTdmMDBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvUGxhdGZvcm0vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9QbGF0Zm9ybS9DaGFuZ2VMb2cKQEAgLTEsNSArMSwxNyBAQAogMjAxMi0wOC0wNiAg
SmFtZXMgUm9iaW5zb24gIDxqYW1lc3JAY2hyb21pdW0ub3JnPgogCisgICAgICAgIFtjaHJvbWl1
bV0gU3dpdGNoIFBsYXRmb3JtTGF5ZXIgdHlwZWRlZiB0byBQbGF0Zm9ybSBBUEkgdHlwZSBmb3Ig
UExBVEZPUk0oQ0hST01JVU0pCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD05MzMzNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEFkZCBBUElzIHRvIGNvbnRyb2wgc2Nyb2xsaW5nIGJlaGF2aW9yIG9uIFdlYlNj
cm9sbGFibGVMYXllci4KKworICAgICAgICAqIGNocm9taXVtL3B1YmxpYy9XZWJTY3JvbGxhYmxl
TGF5ZXIuaDoKKyAgICAgICAgKFdlYlNjcm9sbGFibGVMYXllcik6CisKKzIwMTItMDgtMDYgIEph
bWVzIFJvYmluc29uICA8amFtZXNyQGNocm9taXVtLm9yZz4KKwogICAgICAgICBbY2hyb21pdW1d
IFJlbW92ZSBsaW5nZXJpbmcgdW53cmFwPD4oKSBjYWxscyBpbiBHcmFwaGljc0xheWVyQ2hyb21p
dW0uY3BwCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05
MzMxOQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKaW5kZXggZmUwN2VhNTRhNTc5MDhmY2Y0ZDgyYWQxYjFlMTY4MzdjZjFl
ZTgwOC4uNzIxNWQ5OTA5NDkzYTBjNjUwNjU4ZTIxMzJjMzM2YjJkMDFkYThhYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZwpAQCAtMSw1ICsxLDQ0IEBACiAyMDEyLTA4LTA2ICBKYW1lcyBSb2JpbnNvbiAgPGphbWVzckBj
aHJvbWl1bS5vcmc+CiAKKyAgICAgICAgW2Nocm9taXVtXSBTd2l0Y2ggUGxhdGZvcm1MYXllciB0
eXBlZGVmIHRvIFBsYXRmb3JtIEFQSSB0eXBlIGZvciBQTEFURk9STShDSFJPTUlVTSkKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkzMzM1CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBjb252ZXJ0cyB0
aGUgUGxhdGZvcm1MYXllciB0eXBlZGVmIHRvIFdlYktpdDo6V2ViTGF5ZXIgKHBhcnQgb2YgdGhl
IGNocm9taXVtIFBsYXRmb3JtIEFQSSkgZm9yIHRoZQorICAgICAgICBDaHJvbWl1bSBwb3J0LiBU
aGlzIGludm9sdmVzIHNvbWUgb2RkIGNvbnN0X2Nhc3Q8PnMgaW4gcGxhY2VzIHNpbmNlIGNyb3Nz
LXBsYXRmb3JtIGludGVyZmFjZXMgYXNzdW1lIHRoYXQKKyAgICAgICAgUGxhdGZvcm1MYXllciBp
cyBhIHBvdGVudGlhbGx5IGhlYXZ5IGltcGxlbWVudGF0aW9uIGNsYXNzLCBidXQgV2ViTGF5ZXIg
aXMgYSB0aGluIHNtYXJ0IHBvaW50ZXIgdHlwZS4KKworICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5n
L2Nocm9taXVtL1Njcm9sbGluZ0Nvb3JkaW5hdG9yQ2hyb21pdW0uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Y3JlYXRlU2Nyb2xsYmFyTGF5ZXIpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5n
Q29vcmRpbmF0b3I6OnNldFNjcm9sbExheWVyKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGlu
Z0Nvb3JkaW5hdG9yOjpzZXROb25GYXN0U2Nyb2xsYWJsZVJlZ2lvbik6CisgICAgICAgIChXZWJD
b3JlOjpTY3JvbGxpbmdDb29yZGluYXRvcjo6c2V0TGF5ZXJJc0NvbnRhaW5lckZvckZpeGVkUG9z
aXRpb25MYXllcnMpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nQ29vcmRpbmF0b3I6OnNl
dExheWVySXNGaXhlZFRvQ29udGFpbmVyTGF5ZXIpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL1BsYXRmb3JtTGF5ZXIuaDoKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJDb3Jl
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9DYW52YXMyRExheWVyQnJp
ZGdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhbnZhczJETGF5ZXJCcmlkZ2U6OmxheWVyKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9DYW52YXMyRExheWVyQnJpZGdl
Lmg6CisgICAgICAgIChDYW52YXMyRExheWVyQnJpZGdlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9EcmF3aW5nQnVmZmVyQ2hyb21pdW0uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6RHJhd2luZ0J1ZmZlclByaXZhdGU6OmxheWVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9HcmFwaGljc0xheWVyQ2hyb21pdW0uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6R3JhcGhpY3NMYXllckNocm9taXVtOjpyZW1vdmVGcm9tUGFyZW50KToKKyAgICAgICAg
KFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJDaHJvbWl1bTo6c2V0RHJhd3NDb250ZW50KToKKyAgICAg
ICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJDaHJvbWl1bTo6c2V0Q29udGVudHNWaXNpYmxlKToK
KyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJDaHJvbWl1bTo6c2V0TWFza0xheWVyKToK
KyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJDaHJvbWl1bTo6c2V0Q29udGVudHNUb0Nh
bnZhcyk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0xheWVyQ2hyb21pdW06OnNldENvbnRl
bnRzVG9NZWRpYSk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0xheWVyQ2hyb21pdW06OnBy
aW1hcnlMYXllcik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0xheWVyQ2hyb21pdW06OnBs
YXRmb3JtTGF5ZXIpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NMYXllckNocm9taXVtOjp1
cGRhdGVDaGlsZExpc3QpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0dy
YXBoaWNzTGF5ZXJDaHJvbWl1bS5oOgorICAgICAgICAoR3JhcGhpY3NMYXllckNocm9taXVtKToK
KworMjAxMi0wOC0wNiAgSmFtZXMgUm9iaW5zb24gIDxqYW1lc3JAY2hyb21pdW0ub3JnPgorCiAg
ICAgICAgIFtjaHJvbWl1bV0gUmVtb3ZlIGxpbmdlcmluZyB1bndyYXA8PigpIGNhbGxzIGluIEdy
YXBoaWNzTGF5ZXJDaHJvbWl1bS5jcHAKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTkzMzE5CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggZmE2
YzU0ZWRlNGU2MzYxMzY0YTEzMmU5MzM3NWU3MzU1YmQyMzEyYS4uMzU1YWMyOTA1MmU4ZWNmOGYx
MzE0YzUyZjI5YjUxMWMzZDZmMzA5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEs
NSArMSw0MiBAQAogMjAxMi0wOC0wNiAgSmFtZXMgUm9iaW5zb24gIDxqYW1lc3JAY2hyb21pdW0u
b3JnPgogCisgICAgICAgIFtjaHJvbWl1bV0gU3dpdGNoIFBsYXRmb3JtTGF5ZXIgdHlwZWRlZiB0
byBQbGF0Zm9ybSBBUEkgdHlwZSBmb3IgUExBVEZPUk0oQ0hST01JVU0pCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MzMzNQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVwZGF0ZSBmb3IgbmV3IFBsYXRmb3Jt
TGF5ZXIgdHlwZWRlZi4gVGhpcyByZW1vdmVzIGtub3dsZWRnZSBvZiBXZWJDb3JlOjpMYXllckNo
cm9taXVtIGZyb20gYWxsIGNsYXNzZXMKKyAgICAgICAgZXhjZXB0IGZvciBOb25Db21wb3NpdGVk
Q29udGVudEhvc3QsIHdoaWNoIHN0aWxsIHB1bmNoZXMgdGhyb3VnaCBmb3IgYSBmZXcgbWlub3Ig
QVBJcyB0aGF0IEknbGwgYWRkcmVzcworICAgICAgICBpbiBhIHNlcGFyYXRlIHBhdGNoLgorCisg
ICAgICAgICogc3JjL05vbkNvbXBvc2l0ZWRDb250ZW50SG9zdC5jcHA6CisgICAgICAgIChXZWJL
aXQ6Ok5vbkNvbXBvc2l0ZWRDb250ZW50SG9zdDo6Tm9uQ29tcG9zaXRlZENvbnRlbnRIb3N0KToK
KyAgICAgICAgKFdlYktpdDo6Tm9uQ29tcG9zaXRlZENvbnRlbnRIb3N0OjpzZXRTY3JvbGxMYXll
cik6CisgICAgICAgIChXZWJLaXQ6Ok5vbkNvbXBvc2l0ZWRDb250ZW50SG9zdDo6c2Nyb2xsTGF5
ZXIpOgorICAgICAgICAoV2ViS2l0OjpOb25Db21wb3NpdGVkQ29udGVudEhvc3Q6Om5vdGlmeVN5
bmNSZXF1aXJlZCk6CisgICAgICAgICogc3JjL1dlYk1lZGlhUGxheWVyQ2xpZW50SW1wbC5jcHA6
CisgICAgICAgIChXZWJLaXQ6OldlYk1lZGlhUGxheWVyQ2xpZW50SW1wbDo6cGxhdGZvcm1MYXll
cik6CisgICAgICAgICogc3JjL1dlYk1lZGlhUGxheWVyQ2xpZW50SW1wbC5oOgorICAgICAgICAo
V2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsKToKKyAgICAgICAgKiBzcmMvV2ViUGx1Z2luQ29udGFp
bmVySW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBsdWdpbkNvbnRhaW5lckltcGw6OnBs
YXRmb3JtTGF5ZXIpOgorICAgICAgICAqIHNyYy9XZWJQbHVnaW5Db250YWluZXJJbXBsLmg6Cisg
ICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYlBsdWdpbkNvbnRhaW5lckltcGwpOgorICAg
ICAgICAqIHNyYy9XZWJTY3JvbGxhYmxlTGF5ZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJT
Y3JvbGxhYmxlTGF5ZXI6OnNldE5vbkZhc3RTY3JvbGxhYmxlUmVnaW9uKToKKyAgICAgICAgKFdl
YktpdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlNjcm9sbGFibGVMYXllcjo6c2V0SXNDb250YWlu
ZXJGb3JGaXhlZFBvc2l0aW9uTGF5ZXJzKToKKyAgICAgICAgKFdlYktpdDo6V2ViU2Nyb2xsYWJs
ZUxheWVyOjpzZXRGaXhlZFRvQ29udGFpbmVyTGF5ZXIpOgorICAgICAgICAqIHNyYy9XZWJWaWV3
SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjpzZXRSb290R3JhcGhpY3NM
YXllcik6CisgICAgICAgICogdGVzdHMvQ2FudmFzMkRMYXllckJyaWRnZVRlc3QuY3BwOgorICAg
ICAgICAqIHRlc3RzL0dyYXBoaWNzTGF5ZXJDaHJvbWl1bVRlc3QuY3BwOgorICAgICAgICAoV2Vi
S2l0VGVzdHM6OkdyYXBoaWNzTGF5ZXJDaHJvbWl1bVRlc3Q6OkdyYXBoaWNzTGF5ZXJDaHJvbWl1
bVRlc3QpOgorICAgICAgICAoV2ViS2l0VGVzdHM6OlRFU1RfRik6CisKKzIwMTItMDgtMDYgIEph
bWVzIFJvYmluc29uICA8amFtZXNyQGNocm9taXVtLm9yZz4KKwogICAgICAgICBbY2hyb21pdW1d
IFJlbW92ZSBsaW5nZXJpbmcgdW53cmFwPD4oKSBjYWxscyBpbiBHcmFwaGljc0xheWVyQ2hyb21p
dW0uY3BwCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05
MzMxOQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dlYlNj
cm9sbGFibGVMYXllci5oIGIvU291cmNlL1BsYXRmb3JtL2Nocm9taXVtL3B1YmxpYy9XZWJTY3Jv
bGxhYmxlTGF5ZXIuaAppbmRleCAzZGM3MzM2ODEyODFkZTZjZWZhYWMzNTBjZmUwN2E3NjE4MDFk
NTdhLi5lYTAyZjhjNzM5NjFhZmQzZjM5NWM3ZTJhYzliNjM4MGZkOGQ3NmFkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvUGxhdGZvcm0vY2hyb21pdW0vcHVibGljL1dlYlNjcm9sbGFibGVMYXllci5oCisr
KyBiL1NvdXJjZS9QbGF0Zm9ybS9jaHJvbWl1bS9wdWJsaWMvV2ViU2Nyb2xsYWJsZUxheWVyLmgK
QEAgLTI5LDYgKzI5LDggQEAKICNpbmNsdWRlICJXZWJDb21tb24uaCIKICNpbmNsdWRlICJXZWJM
YXllci5oIgogI2luY2x1ZGUgIldlYlBvaW50LmgiCisjaW5jbHVkZSAiV2ViUmVjdC5oIgorI2lu
Y2x1ZGUgIldlYlZlY3Rvci5oIgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIApAQCAtNDcsNiArNDks
MTAgQEAgcHVibGljOgogICAgIFdFQktJVF9FWFBPUlQgdm9pZCBzZXRTY3JvbGxhYmxlKGJvb2wp
OwogICAgIFdFQktJVF9FWFBPUlQgdm9pZCBzZXRIYXZlV2hlZWxFdmVudEhhbmRsZXJzKGJvb2wp
OwogICAgIFdFQktJVF9FWFBPUlQgdm9pZCBzZXRTaG91bGRTY3JvbGxPbk1haW5UaHJlYWQoYm9v
bCk7CisgICAgV0VCS0lUX0VYUE9SVCB2b2lkIHNldE5vbkZhc3RTY3JvbGxhYmxlUmVnaW9uKGNv
bnN0IFdlYlZlY3RvcjxXZWJSZWN0PiYpOworICAgIFdFQktJVF9FWFBPUlQgdm9pZCBzZXRJc0Nv
bnRhaW5lckZvckZpeGVkUG9zaXRpb25MYXllcnMoYm9vbCk7CisgICAgV0VCS0lUX0VYUE9SVCB2
b2lkIHNldEZpeGVkVG9Db250YWluZXJMYXllcihib29sKTsKKwogCiAjaWYgV0VCS0lUX0lNUExF
TUVOVEFUSU9OCiAgICAgV2ViU2Nyb2xsYWJsZUxheWVyKGNvbnN0IFdURjo6UGFzc1JlZlB0cjxX
ZWJDb3JlOjpMYXllckNocm9taXVtPiYgbGF5ZXIpIDogV2ViTGF5ZXIobGF5ZXIpIHsgfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvY2hyb21pdW0vU2Nyb2xsaW5n
Q29vcmRpbmF0b3JDaHJvbWl1bS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9j
aHJvbWl1bS9TY3JvbGxpbmdDb29yZGluYXRvckNocm9taXVtLmNwcAppbmRleCBlMmZjNzYxODdl
NGY5ZDBjMzc1MGNiNmRkNzg4M2ZmNDUwNGUzZDE5Li5hMDVkOWUxNzEzZGUxZWQyZGRmMjE1ZDAz
ZWRhNzIxMWNhMzEzMzk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGlu
Zy9jaHJvbWl1bS9TY3JvbGxpbmdDb29yZGluYXRvckNocm9taXVtLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL3Njcm9sbGluZy9jaHJvbWl1bS9TY3JvbGxpbmdDb29yZGluYXRvckNocm9t
aXVtLmNwcApAQCAtMjksNyArMjksNiBAQAogCiAjaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRl
ICJGcmFtZVZpZXcuaCIKLSNpbmNsdWRlICJMYXllckNocm9taXVtLmgiCiAjaW5jbHVkZSAiUmVn
aW9uLmgiCiAjaW5jbHVkZSAiUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmgiCiAjaW5jbHVkZSAiUmVu
ZGVyVmlldy5oIgpAQCAtNDMsOCArNDIsMTAgQEAKICNpbmNsdWRlIDxwdWJsaWMvV2ViU2Nyb2xs
YmFyVGhlbWVQYWludGVyLmg+CiAKIHVzaW5nIFdlYktpdDo6V2ViTGF5ZXI7Cit1c2luZyBXZWJL
aXQ6OldlYlJlY3Q7CiB1c2luZyBXZWJLaXQ6OldlYlNjcm9sbGFibGVMYXllcjsKIHVzaW5nIFdl
YktpdDo6V2ViU2Nyb2xsYmFyTGF5ZXI7Cit1c2luZyBXZWJLaXQ6OldlYlZlY3RvcjsKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCkBAIC0xMTksNyArMTIwLDcgQEAgc3RhdGljIFdlYlNjcm9sbGJh
ckxheWVyIGNyZWF0ZVNjcm9sbGJhckxheWVyKFNjcm9sbGJhciogc2Nyb2xsYmFyLCBXZWJTY3Jv
bGxhYmwKIAogICAgIGlmIChzY3JvbGxMYXllci5pc051bGwoKSkgewogICAgICAgICAvLyBGSVhN
RTogc29tZXRpbWVzIHdlIGdldCBjYWxsZWQgYmVmb3JlIHNldFNjcm9sbExheWVyLCB3b3JrYXJv
dW5kIGJ5IGZpbmRpbmcgdGhlIHNjcm9sbCBsYXlvdXQgb3Vyc2VsdmVzLgotICAgICAgICBzY3Jv
bGxMYXllciA9IFdlYlNjcm9sbGFibGVMYXllcihzY3JvbGxMYXllckZvckZyYW1lVmlldyhmcmFt
ZVZpZXcpLT5wbGF0Zm9ybUxheWVyKCkpOworICAgICAgICBzY3JvbGxMYXllciA9IHNjcm9sbExh
eWVyRm9yRnJhbWVWaWV3KGZyYW1lVmlldyktPnBsYXRmb3JtTGF5ZXIoKS0+dG88V2ViU2Nyb2xs
YWJsZUxheWVyPigpOwogICAgICAgICBBU1NFUlQoIXNjcm9sbExheWVyLmlzTnVsbCgpKTsKICAg
ICB9CiAKQEAgLTE0OSw3ICsxNTAsNyBAQCBzdGF0aWMgV2ViU2Nyb2xsYmFyTGF5ZXIgY3JlYXRl
U2Nyb2xsYmFyTGF5ZXIoU2Nyb2xsYmFyKiBzY3JvbGxiYXIsIFdlYlNjcm9sbGFibAogICAgIFdl
YlNjcm9sbGJhckxheWVyIHNjcm9sbGJhckxheWVyID0gV2ViU2Nyb2xsYmFyTGF5ZXI6OmNyZWF0
ZShzY3JvbGxiYXIsIHBhaW50ZXIsIGdlb21ldHJ5LnJlbGVhc2UoKSk7CiAgICAgc2Nyb2xsYmFy
TGF5ZXIuc2V0U2Nyb2xsTGF5ZXIoc2Nyb2xsTGF5ZXIpOwogCi0gICAgc2Nyb2xsYmFyR3JhcGhp
Y3NMYXllci0+c2V0Q29udGVudHNUb01lZGlhKHNjcm9sbGJhckxheWVyLnVud3JhcDxMYXllckNo
cm9taXVtPigpKTsKKyAgICBzY3JvbGxiYXJHcmFwaGljc0xheWVyLT5zZXRDb250ZW50c1RvTWVk
aWEoJnNjcm9sbGJhckxheWVyKTsKICAgICBzY3JvbGxiYXJHcmFwaGljc0xheWVyLT5zZXREcmF3
c0NvbnRlbnQoZmFsc2UpOwogICAgIHNjcm9sbGJhckxheWVyLnNldE9wYXF1ZShzY3JvbGxiYXJH
cmFwaGljc0xheWVyLT5jb250ZW50c09wYXF1ZSgpKTsKIApAQCAtMTc0LDEzICsxNzUsMjEgQEAg
dm9pZCBTY3JvbGxpbmdDb29yZGluYXRvcjo6ZnJhbWVWaWV3VmVydGljYWxTY3JvbGxiYXJMYXll
ckRpZENoYW5nZShGcmFtZVZpZXcqIGYKIAogdm9pZCBTY3JvbGxpbmdDb29yZGluYXRvcjo6c2V0
U2Nyb2xsTGF5ZXIoR3JhcGhpY3NMYXllciogc2Nyb2xsTGF5ZXIpCiB7Ci0gICAgbV9wcml2YXRl
LT5zZXRTY3JvbGxMYXllcihXZWJTY3JvbGxhYmxlTGF5ZXIoc2Nyb2xsTGF5ZXIgPyBzY3JvbGxM
YXllci0+cGxhdGZvcm1MYXllcigpIDogMCkpOworICAgIFdlYlNjcm9sbGFibGVMYXllciBsYXll
cjsKKyAgICBpZiAoc2Nyb2xsTGF5ZXIpCisgICAgICAgIGxheWVyID0gc2Nyb2xsTGF5ZXItPnBs
YXRmb3JtTGF5ZXIoKS0+dG88V2ViU2Nyb2xsYWJsZUxheWVyPigpOworICAgIG1fcHJpdmF0ZS0+
c2V0U2Nyb2xsTGF5ZXIobGF5ZXIpOwogfQogCiB2b2lkIFNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpz
ZXROb25GYXN0U2Nyb2xsYWJsZVJlZ2lvbihjb25zdCBSZWdpb24mIHJlZ2lvbikKIHsKLSAgICBp
ZiAobV9wcml2YXRlLT5oYXNTY3JvbGxMYXllcigpKQotICAgICAgICBtX3ByaXZhdGUtPnNjcm9s
bExheWVyKCkudW53cmFwPExheWVyQ2hyb21pdW0+KCktPnNldE5vbkZhc3RTY3JvbGxhYmxlUmVn
aW9uKHJlZ2lvbik7CisgICAgaWYgKG1fcHJpdmF0ZS0+aGFzU2Nyb2xsTGF5ZXIoKSkgeworICAg
ICAgICBWZWN0b3I8SW50UmVjdD4gcmVjdHMgPSByZWdpb24ucmVjdHMoKTsKKyAgICAgICAgV2Vi
VmVjdG9yPFdlYlJlY3Q+IHdlYlJlY3RzKHJlY3RzLnNpemUoKSk7CisgICAgICAgIGZvciAoc2l6
ZV90IGkgPSAwOyBpIDwgcmVjdHMuc2l6ZSgpOyArK2kpCisgICAgICAgICAgICB3ZWJSZWN0c1tp
XSA9IHJlY3RzW2ldOworICAgICAgICBtX3ByaXZhdGUtPnNjcm9sbExheWVyKCkuc2V0Tm9uRmFz
dFNjcm9sbGFibGVSZWdpb24od2ViUmVjdHMpOworICAgIH0KIH0KIAogdm9pZCBTY3JvbGxpbmdD
b29yZGluYXRvcjo6c2V0U2Nyb2xsUGFyYW1ldGVycyhjb25zdCBTY3JvbGxQYXJhbWV0ZXJzJikK
QEAgLTIwNywxNCArMjE2LDE0IEBAIGJvb2wgU2Nyb2xsaW5nQ29vcmRpbmF0b3I6OnN1cHBvcnRz
Rml4ZWRQb3NpdGlvbkxheWVycygpIGNvbnN0CiAKIHZvaWQgU2Nyb2xsaW5nQ29vcmRpbmF0b3I6
OnNldExheWVySXNDb250YWluZXJGb3JGaXhlZFBvc2l0aW9uTGF5ZXJzKEdyYXBoaWNzTGF5ZXIq
IGxheWVyLCBib29sIGVuYWJsZSkKIHsKLSAgICBpZiAoTGF5ZXJDaHJvbWl1bSogcGxhdGZvcm1M
YXllciA9IGxheWVyLT5wbGF0Zm9ybUxheWVyKCkpCi0gICAgICAgIHBsYXRmb3JtTGF5ZXItPnNl
dElzQ29udGFpbmVyRm9yRml4ZWRQb3NpdGlvbkxheWVycyhlbmFibGUpOworICAgIGlmIChXZWJM
YXllciogcGxhdGZvcm1MYXllciA9IGxheWVyLT5wbGF0Zm9ybUxheWVyKCkpCisgICAgICAgIHBs
YXRmb3JtTGF5ZXItPnRvPFdlYlNjcm9sbGFibGVMYXllcj4oKS5zZXRJc0NvbnRhaW5lckZvckZp
eGVkUG9zaXRpb25MYXllcnMoZW5hYmxlKTsKIH0KIAogdm9pZCBTY3JvbGxpbmdDb29yZGluYXRv
cjo6c2V0TGF5ZXJJc0ZpeGVkVG9Db250YWluZXJMYXllcihHcmFwaGljc0xheWVyKiBsYXllciwg
Ym9vbCBlbmFibGUpCiB7Ci0gICAgaWYgKExheWVyQ2hyb21pdW0qIHBsYXRmb3JtTGF5ZXIgPSBs
YXllci0+cGxhdGZvcm1MYXllcigpKQotICAgICAgICBwbGF0Zm9ybUxheWVyLT5zZXRGaXhlZFRv
Q29udGFpbmVyTGF5ZXIoZW5hYmxlKTsKKyAgICBpZiAoV2ViTGF5ZXIqIHBsYXRmb3JtTGF5ZXIg
PSBsYXllci0+cGxhdGZvcm1MYXllcigpKQorICAgICAgICBwbGF0Zm9ybUxheWVyLT50bzxXZWJT
Y3JvbGxhYmxlTGF5ZXI+KCkuc2V0Rml4ZWRUb0NvbnRhaW5lckxheWVyKGVuYWJsZSk7CiB9CiAK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1BsYXRmb3Jt
TGF5ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1BsYXRmb3JtTGF5ZXIu
aAppbmRleCAwMTU0MDZlMTFmNTk3OTQyYjE3ZjFhZjI1YzI4YmE2MWUyMTZlNDdhLi5iMmEyNTA1
Y2VlZTBhNTRlNDM2NDVlODk5OTUwOWJlOTZiMjdmMzRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9QbGF0Zm9ybUxheWVyLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvUGxhdGZvcm1MYXllci5oCkBAIC0zOSw5ICszOSwxMSBAQCBj
bGFzcyBUZXh0dXJlTWFwcGVyUGxhdGZvcm1MYXllcjsKIHR5cGVkZWYgVGV4dHVyZU1hcHBlclBs
YXRmb3JtTGF5ZXIgUGxhdGZvcm1MYXllcjsKIH07CiAjZWxpZiBQTEFURk9STShDSFJPTUlVTSkK
K25hbWVzcGFjZSBXZWJLaXQgeworY2xhc3MgV2ViTGF5ZXI7Cit9CiBuYW1lc3BhY2UgV2ViQ29y
ZSB7Ci1jbGFzcyBMYXllckNocm9taXVtOwotdHlwZWRlZiBMYXllckNocm9taXVtIFBsYXRmb3Jt
TGF5ZXI7Cit0eXBlZGVmIFdlYktpdDo6V2ViTGF5ZXIgUGxhdGZvcm1MYXllcjsKIH0KICNlbGlm
IFBMQVRGT1JNKEdUSykKICNpZiBVU0UoVEVYVFVSRV9NQVBQRVJfQ0FJUk8pIHx8IFVTRShURVhU
VVJFX01BUFBFUl9HTCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL0NhbnZhczJETGF5ZXJCcmlkZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vQ2FudmFzMkRMYXllckJyaWRnZS5jcHAKaW5kZXggMjAw
YzgwYTQ3ZmFiODQ3YTkzYjJjZWM0NWYyY2EyZGRiNzM2MWYxNS4uNWU5NjcxNWExYmZjZDhkODFj
YjFkYjIwNjE2ZDdkODFhMzBlZDI0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY2hyb21pdW0vQ2FudmFzMkRMYXllckJyaWRnZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vQ2FudmFzMkRMYXllckJyaWRnZS5j
cHAKQEAgLTE1NSw5ICsxNTUsOSBAQCBXZWJHcmFwaGljc0NvbnRleHQzRCogQ2FudmFzMkRMYXll
ckJyaWRnZTo6Y29udGV4dCgpCiAgICAgcmV0dXJuIEdyYXBoaWNzQ29udGV4dDNEUHJpdmF0ZTo6
ZXh0cmFjdFdlYkdyYXBoaWNzQ29udGV4dDNEKG1fY29udGV4dC5nZXQoKSk7CiB9CiAKLUxheWVy
Q2hyb21pdW0qIENhbnZhczJETGF5ZXJCcmlkZ2U6OmxheWVyKCkgY29uc3QKK1dlYktpdDo6V2Vi
TGF5ZXIqIENhbnZhczJETGF5ZXJCcmlkZ2U6OmxheWVyKCkKIHsKLSAgICByZXR1cm4gbV9sYXll
ci51bndyYXA8TGF5ZXJDaHJvbWl1bT4oKTsKKyAgICByZXR1cm4gJm1fbGF5ZXI7CiB9CiAKIHZv
aWQgQ2FudmFzMkRMYXllckJyaWRnZTo6Y29udGV4dEFjcXVpcmVkKCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0NhbnZhczJETGF5ZXJCcmlk
Z2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0NhbnZhczJE
TGF5ZXJCcmlkZ2UuaAppbmRleCBiMjA3YTJiM2M5ZTU2OGNiYTViYzk0MmQ0NGM2YjJkYmJjOTdi
NTM4Li4wOGY0MDFjZTA1MDhmYzQ4Y2E3NTRkNDVjMjBhZjQ4MTViOTM4NTE2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9DYW52YXMyRExheWVy
QnJpZGdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
Q2FudmFzMkRMYXllckJyaWRnZS5oCkBAIC02MCw3ICs2MCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0
dWFsIFdlYktpdDo6V2ViR3JhcGhpY3NDb250ZXh0M0QqIGNvbnRleHQoKSBPVkVSUklERTsKIAog
ICAgIFNrQ2FudmFzKiBza0NhbnZhcyhTa0RldmljZSopOwotICAgIExheWVyQ2hyb21pdW0qIGxh
eWVyKCkgY29uc3Q7CisgICAgV2ViS2l0OjpXZWJMYXllciogbGF5ZXIoKTsKICAgICB2b2lkIGNv
bnRleHRBY3F1aXJlZCgpOwogCiAgICAgdW5zaWduZWQgYmFja0J1ZmZlclRleHR1cmUoKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0RyYXdp
bmdCdWZmZXJDaHJvbWl1bS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9EcmF3aW5nQnVmZmVyQ2hyb21pdW0uY3BwCmluZGV4IDJmZGFlZTZiNjY5ZGNlNWZk
MTI1ZmYyNmYxYTliMTU0MWJmNjcxMWUuLmViZGI4ZTQzYjJmNjEyNmIwMTQxZmI3N2IwMTRkODhl
MjQ1ZDllZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL0RyYXdpbmdCdWZmZXJDaHJvbWl1bS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRHJhd2luZ0J1ZmZlckNocm9taXVtLmNwcApAQCAtMTg3
LDcgKzE4Nyw3IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIEdyYXBoaWNzQ29udGV4dDNEUHJp
dmF0ZTo6ZXh0cmFjdFdlYkdyYXBoaWNzQ29udGV4dDNEKG1fZHJhd2luZ0J1ZmZlci0+Z3JhcGhp
Y3NDb250ZXh0M0QoKSk7CiAgICAgfQogCi0gICAgTGF5ZXJDaHJvbWl1bSogbGF5ZXIoKSBjb25z
dCB7IHJldHVybiBtX2xheWVyLnVud3JhcDxMYXllckNocm9taXVtPigpOyB9CisgICAgV2ViS2l0
OjpXZWJMYXllciogbGF5ZXIoKSB7IHJldHVybiAmbV9sYXllcjsgfQogCiBwcml2YXRlOgogICAg
IERyYXdpbmdCdWZmZXIqIG1fZHJhd2luZ0J1ZmZlcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0dyYXBoaWNzTGF5ZXJDaHJvbWl1bS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9HcmFwaGljc0xheWVy
Q2hyb21pdW0uY3BwCmluZGV4IDk0MzNjOTc5MzAxZmEyZDE3ZTI2NjAwOTFmMDBhMTVkY2U2NjZi
ZjMuLjlmODMwNGY2ZmU1YzQyZWQyYTRlNzlkNWQzYTZhZjU0N2Y3YzQ4MmQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0dyYXBoaWNzTGF5ZXJD
aHJvbWl1bS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vR3JhcGhpY3NMYXllckNocm9taXVtLmNwcApAQCAtNTIsNyArNTIsNiBAQAogI2luY2x1ZGUg
IkZsb2F0UmVjdC5oIgogI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgogI2luY2x1ZGUgIklt
YWdlLmgiCi0jaW5jbHVkZSAiTGF5ZXJDaHJvbWl1bS5oIgogI2luY2x1ZGUgIkxpbmtIaWdobGln
aHQuaCIKICNpbmNsdWRlICJOYXRpdmVJbWFnZVNraWEuaCIKICNpbmNsdWRlICJQbGF0Zm9ybUNv
bnRleHRTa2lhLmgiCkBAIC0yMDQsNyArMjAzLDcgQEAgYm9vbCBHcmFwaGljc0xheWVyQ2hyb21p
dW06OnJlcGxhY2VDaGlsZChHcmFwaGljc0xheWVyKiBvbGRDaGlsZCwgR3JhcGhpY3NMYXllcioK
IHZvaWQgR3JhcGhpY3NMYXllckNocm9taXVtOjpyZW1vdmVGcm9tUGFyZW50KCkKIHsKICAgICBH
cmFwaGljc0xheWVyOjpyZW1vdmVGcm9tUGFyZW50KCk7Ci0gICAgbGF5ZXJGb3JQYXJlbnQoKS5y
ZW1vdmVGcm9tUGFyZW50KCk7CisgICAgcHJpbWFyeUxheWVyKCkucmVtb3ZlRnJvbVBhcmVudCgp
OwogfQogCiB2b2lkIEdyYXBoaWNzTGF5ZXJDaHJvbWl1bTo6c2V0UG9zaXRpb24oY29uc3QgRmxv
YXRQb2ludCYgcG9pbnQpCkBAIC0yNzEsOCArMjcwLDggQEAgdm9pZCBHcmFwaGljc0xheWVyQ2hy
b21pdW06OnNldE1hc2tzVG9Cb3VuZHMoYm9vbCBtYXNrc1RvQm91bmRzKQogCiB2b2lkIEdyYXBo
aWNzTGF5ZXJDaHJvbWl1bTo6c2V0RHJhd3NDb250ZW50KGJvb2wgZHJhd3NDb250ZW50KQogewot
ICAgIC8vIE5vdGUgY2FyZWZ1bGx5IHRoaXMgZWFybHktZXhpdCBpcyBvbmx5IGNvcnJlY3QgYmVj
YXVzZSB3ZSBhbHNvIHByb3Blcmx5IGluaXRpYWxpemUKLSAgICAvLyBMYXllckNocm9taXVtOjpt
X2lzRHJhd2FibGUgd2hlbmV2ZXIgbV9jb250ZW50c0xheWVyIGlzIHNldCB0byBhIG5ldyBsYXll
ciBpbiBzZXR1cENvbnRlbnRzTGF5ZXIoKS4KKyAgICAvLyBOb3RlIGNhcmVmdWxseSB0aGlzIGVh
cmx5LWV4aXQgaXMgb25seSBjb3JyZWN0IGJlY2F1c2Ugd2UgYWxzbyBwcm9wZXJseSBjYWxsCisg
ICAgLy8gV2ViTGF5ZXI6OnNldERyYXdzQ29udGVudCB3aGVuZXZlciBtX2NvbnRlbnRzTGF5ZXIg
aXMgc2V0IHRvIGEgbmV3IGxheWVyIGluIHNldHVwQ29udGVudHNMYXllcigpLgogICAgIGlmIChk
cmF3c0NvbnRlbnQgPT0gbV9kcmF3c0NvbnRlbnQpCiAgICAgICAgIHJldHVybjsKIApAQCAtMjgy
LDggKzI4MSw4IEBAIHZvaWQgR3JhcGhpY3NMYXllckNocm9taXVtOjpzZXREcmF3c0NvbnRlbnQo
Ym9vbCBkcmF3c0NvbnRlbnQpCiAKIHZvaWQgR3JhcGhpY3NMYXllckNocm9taXVtOjpzZXRDb250
ZW50c1Zpc2libGUoYm9vbCBjb250ZW50c1Zpc2libGUpCiB7Ci0gICAgLy8gTm90ZSBjYXJlZnVs
bHkgdGhpcyBlYXJseS1leGl0IGlzIG9ubHkgY29ycmVjdCBiZWNhdXNlIHdlIGFsc28gcHJvcGVy
bHkgaW5pdGlhbGl6ZQotICAgIC8vIExheWVyQ2hyb21pdW06Om1faXNEcmF3YWJsZSB3aGVuZXZl
ciBtX2NvbnRlbnRzTGF5ZXIgaXMgc2V0IHRvIGEgbmV3IGxheWVyIGluIHNldHVwQ29udGVudHNM
YXllcigpLgorICAgIC8vIE5vdGUgY2FyZWZ1bGx5IHRoaXMgZWFybHktZXhpdCBpcyBvbmx5IGNv
cnJlY3QgYmVjYXVzZSB3ZSBhbHNvIHByb3Blcmx5IGNhbGwKKyAgICAvLyBXZWJMYXllcjo6c2V0
RHJhd3NDb250ZW50IHdoZW5ldmVyIG1fY29udGVudHNMYXllciBpcyBzZXQgdG8gYSBuZXcgbGF5
ZXIgaW4gc2V0dXBDb250ZW50c0xheWVyKCkuCiAgICAgaWYgKGNvbnRlbnRzVmlzaWJsZSA9PSBt
X2NvbnRlbnRzVmlzaWJsZSkKICAgICAgICAgcmV0dXJuOwogCkBAIC00MTAsNyArNDA5LDkgQEAg
dm9pZCBHcmFwaGljc0xheWVyQ2hyb21pdW06OnNldE1hc2tMYXllcihHcmFwaGljc0xheWVyKiBt
YXNrTGF5ZXIpCiAKICAgICBHcmFwaGljc0xheWVyOjpzZXRNYXNrTGF5ZXIobWFza0xheWVyKTsK
IAotICAgIFdlYkxheWVyIG1hc2tXZWJMYXllcihtX21hc2tMYXllciA/IG1fbWFza0xheWVyLT5w
bGF0Zm9ybUxheWVyKCkgOiAwKTsKKyAgICBXZWJMYXllciBtYXNrV2ViTGF5ZXI7CisgICAgaWYg
KG1fbWFza0xheWVyKQorICAgICAgICBtYXNrV2ViTGF5ZXIgPSAqbV9tYXNrTGF5ZXItPnBsYXRm
b3JtTGF5ZXIoKTsKICAgICBtX2xheWVyLnNldE1hc2tMYXllcihtYXNrV2ViTGF5ZXIpOwogfQog
CkBAIC00OTgsOCArNDk5LDggQEAgdm9pZCBHcmFwaGljc0xheWVyQ2hyb21pdW06OnNldENvbnRl
bnRzVG9DYW52YXMoUGxhdGZvcm1MYXllciogcGxhdGZvcm1MYXllcikKIHsKICAgICBib29sIGNo
aWxkcmVuQ2hhbmdlZCA9IGZhbHNlOwogICAgIGlmIChwbGF0Zm9ybUxheWVyKSB7Ci0gICAgICAg
IGlmIChtX2NvbnRlbnRzTGF5ZXIgIT0gV2ViTGF5ZXIocGxhdGZvcm1MYXllcikpIHsKLSAgICAg
ICAgICAgIHNldHVwQ29udGVudHNMYXllcihXZWJMYXllcihwbGF0Zm9ybUxheWVyKSk7CisgICAg
ICAgIGlmIChtX2NvbnRlbnRzTGF5ZXIgIT0gKnBsYXRmb3JtTGF5ZXIpIHsKKyAgICAgICAgICAg
IHNldHVwQ29udGVudHNMYXllcigqcGxhdGZvcm1MYXllcik7CiAgICAgICAgICAgICBtX2NvbnRl
bnRzTGF5ZXJQdXJwb3NlID0gQ29udGVudHNMYXllckZvckNhbnZhczsKICAgICAgICAgICAgIGNo
aWxkcmVuQ2hhbmdlZCA9IHRydWU7CiAgICAgICAgIH0KQEAgLTU3Nyw3ICs1NzgsNyBAQCB2b2lk
IEdyYXBoaWNzTGF5ZXJDaHJvbWl1bTo6c2V0Q29udGVudHNUb01lZGlhKFBsYXRmb3JtTGF5ZXIq
IGxheWVyKQogICAgIGJvb2wgY2hpbGRyZW5DaGFuZ2VkID0gZmFsc2U7CiAgICAgaWYgKGxheWVy
KSB7CiAgICAgICAgIGlmIChtX2NvbnRlbnRzTGF5ZXIuaXNOdWxsKCkgfHwgbV9jb250ZW50c0xh
eWVyUHVycG9zZSAhPSBDb250ZW50c0xheWVyRm9yVmlkZW8pIHsKLSAgICAgICAgICAgIHNldHVw
Q29udGVudHNMYXllcihXZWJMYXllcihsYXllcikpOworICAgICAgICAgICAgc2V0dXBDb250ZW50
c0xheWVyKCpsYXllcik7CiAgICAgICAgICAgICBtX2NvbnRlbnRzTGF5ZXJQdXJwb3NlID0gQ29u
dGVudHNMYXllckZvclZpZGVvOwogICAgICAgICAgICAgY2hpbGRyZW5DaGFuZ2VkID0gdHJ1ZTsK
ICAgICAgICAgfQpAQCAtNTk1LDE5ICs1OTYsMTQgQEAgdm9pZCBHcmFwaGljc0xheWVyQ2hyb21p
dW06OnNldENvbnRlbnRzVG9NZWRpYShQbGF0Zm9ybUxheWVyKiBsYXllcikKICAgICAgICAgdXBk
YXRlQ2hpbGRMaXN0KCk7CiB9CiAKLVdlYkxheWVyIEdyYXBoaWNzTGF5ZXJDaHJvbWl1bTo6aG9z
dExheWVyRm9yQ2hpbGRyZW4oKSBjb25zdAorV2ViS2l0OjpXZWJMYXllciBHcmFwaGljc0xheWVy
Q2hyb21pdW06OnByaW1hcnlMYXllcigpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIG1fdHJhbnNmb3Jt
TGF5ZXIuaXNOdWxsKCkgPyBtX2xheWVyIDogIG1fdHJhbnNmb3JtTGF5ZXI7Ci19Ci0KLVdlYkxh
eWVyIEdyYXBoaWNzTGF5ZXJDaHJvbWl1bTo6bGF5ZXJGb3JQYXJlbnQoKSBjb25zdAotewotICAg
IHJldHVybiBtX3RyYW5zZm9ybUxheWVyLmlzTnVsbCgpID8gbV9sYXllciA6ICBtX3RyYW5zZm9y
bUxheWVyOworICAgIHJldHVybiBtX3RyYW5zZm9ybUxheWVyLmlzTnVsbCgpID8gbV9sYXllciA6
IG1fdHJhbnNmb3JtTGF5ZXI7CiB9CiAKIFBsYXRmb3JtTGF5ZXIqIEdyYXBoaWNzTGF5ZXJDaHJv
bWl1bTo6cGxhdGZvcm1MYXllcigpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIHByaW1hcnlMYXllcigp
LnVud3JhcDxMYXllckNocm9taXVtPigpOworICAgIHJldHVybiBjb25zdF9jYXN0PFBsYXRmb3Jt
TGF5ZXIqPihtX3RyYW5zZm9ybUxheWVyLmlzTnVsbCgpID8gJm1fbGF5ZXIgOiAmbV90cmFuc2Zv
cm1MYXllcik7CiB9CiAKIHZvaWQgR3JhcGhpY3NMYXllckNocm9taXVtOjpzZXREZWJ1Z0JhY2tn
cm91bmRDb2xvcihjb25zdCBDb2xvciYgY29sb3IpCkBAIC02NDgsNyArNjQ0LDcgQEAgdm9pZCBH
cmFwaGljc0xheWVyQ2hyb21pdW06OnVwZGF0ZUNoaWxkTGlzdCgpCiAgICAgZm9yIChzaXplX3Qg
aSA9IDA7IGkgPCBudW1DaGlsZHJlbjsgKytpKSB7CiAgICAgICAgIEdyYXBoaWNzTGF5ZXJDaHJv
bWl1bSogY3VyQ2hpbGQgPSBzdGF0aWNfY2FzdDxHcmFwaGljc0xheWVyQ2hyb21pdW0qPihjaGls
ZExheWVyc1tpXSk7CiAKLSAgICAgICAgbmV3Q2hpbGRyZW4uYXBwZW5kKGN1ckNoaWxkLT5sYXll
ckZvclBhcmVudCgpKTsKKyAgICAgICAgbmV3Q2hpbGRyZW4uYXBwZW5kKGN1ckNoaWxkLT5wcmlt
YXJ5TGF5ZXIoKSk7CiAgICAgfQogCiAgICAgaWYgKG1fbGlua0hpZ2hsaWdodCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0dyYXBoaWNzTGF5
ZXJDaHJvbWl1bS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
R3JhcGhpY3NMYXllckNocm9taXVtLmgKaW5kZXggOTc3YzJkNDBlMjNmYzVhMGE4ZDJiMmM5ZjMz
NmYyNWI0NzY1YjEyMy4uNWFlMDk0ODc3OGVmNWI5NzdjMzQ5ZjAzNjk2OTEwNWZkNzg0ZDNmOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vR3Jh
cGhpY3NMYXllckNocm9taXVtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vR3JhcGhpY3NMYXllckNocm9taXVtLmgKQEAgLTEzMSw5ICsxMzEsNyBAQCBw
dWJsaWM6CiBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCB3aWxsQmVEZXN0cm95ZWQoKTsKIAot
ICAgIFdlYktpdDo6V2ViTGF5ZXIgcHJpbWFyeUxheWVyKCkgY29uc3QgIHsgcmV0dXJuIG1fdHJh
bnNmb3JtTGF5ZXIuaXNOdWxsKCkgPyBtX2xheWVyIDogbV90cmFuc2Zvcm1MYXllcjsgfQotICAg
IFdlYktpdDo6V2ViTGF5ZXIgaG9zdExheWVyRm9yQ2hpbGRyZW4oKSBjb25zdDsKLSAgICBXZWJL
aXQ6OldlYkxheWVyIGxheWVyRm9yUGFyZW50KCkgY29uc3Q7CisgICAgV2ViS2l0OjpXZWJMYXll
ciBwcmltYXJ5TGF5ZXIoKSBjb25zdDsKIAogICAgIHZvaWQgdXBkYXRlTmFtZXMoKTsKICAgICB2
b2lkIHVwZGF0ZUNoaWxkTGlzdCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvTm9uQ29tcG9zaXRlZENvbnRlbnRIb3N0LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL05vbkNvbXBvc2l0ZWRDb250ZW50SG9zdC5jcHAKaW5kZXggODk5MzE1ZDI5NGVjZDA0
NWFlNWNlMDQwMmNjMTQzMGU1N2VhZDQ4Ni4uNjU2ZTI3YzYyOTJlMzc1ZjQ2ODU5YmQ4NmM5Y2Iw
MmU4ZjUwOTMxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvTm9uQ29t
cG9zaXRlZENvbnRlbnRIb3N0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9O
b25Db21wb3NpdGVkQ29udGVudEhvc3QuY3BwCkBAIC0zNiw2ICszNiw5IEBACiAjaW5jbHVkZSAi
Y2MvQ0NMYXllclRyZWVIb3N0LmgiCiAjaW5jbHVkZSA8cHVibGljL1dlYkZsb2F0UG9pbnQuaD4K
IAordXNpbmcgV2ViQ29yZTo6Q0NMYXllclRyZWVIb3N0OwordXNpbmcgV2ViQ29yZTo6TGF5ZXJD
aHJvbWl1bTsKKwogbmFtZXNwYWNlIFdlYktpdCB7CiAKIE5vbkNvbXBvc2l0ZWRDb250ZW50SG9z
dDo6Tm9uQ29tcG9zaXRlZENvbnRlbnRIb3N0KFdlYlZpZXdJbXBsKiB3ZWJWaWV3KQpAQCAtNDks
MTAgKzUyLDEwIEBAIE5vbkNvbXBvc2l0ZWRDb250ZW50SG9zdDo6Tm9uQ29tcG9zaXRlZENvbnRl
bnRIb3N0KFdlYlZpZXdJbXBsKiB3ZWJWaWV3KQogICAgIG1fZ3JhcGhpY3NMYXllci0+c2V0TmFt
ZSgibm9uLWNvbXBvc2l0ZWQgY29udGVudCIpOwogI2VuZGlmCiAgICAgbV9ncmFwaGljc0xheWVy
LT5zZXREcmF3c0NvbnRlbnQodHJ1ZSk7Ci0gICAgbV9ncmFwaGljc0xheWVyLT5wbGF0Zm9ybUxh
eWVyKCktPnNldElzTm9uQ29tcG9zaXRlZENvbnRlbnQodHJ1ZSk7CisgICAgbV9ncmFwaGljc0xh
eWVyLT5wbGF0Zm9ybUxheWVyKCktPnVud3JhcDxMYXllckNocm9taXVtPigpLT5zZXRJc05vbkNv
bXBvc2l0ZWRDb250ZW50KHRydWUpOwogICAgIG1fZ3JhcGhpY3NMYXllci0+cGxhdGZvcm1MYXll
cigpLT5zZXRPcGFxdWUodHJ1ZSk7CiAjaWYgIU9TKEFORFJPSUQpCi0gICAgbV9ncmFwaGljc0xh
eWVyLT5wbGF0Zm9ybUxheWVyKCktPnNldERyYXdDaGVja2VyYm9hcmRGb3JNaXNzaW5nVGlsZXMo
dHJ1ZSk7CisgICAgbV9ncmFwaGljc0xheWVyLT5wbGF0Zm9ybUxheWVyKCktPnVud3JhcDxMYXll
ckNocm9taXVtPigpLT5zZXREcmF3Q2hlY2tlcmJvYXJkRm9yTWlzc2luZ1RpbGVzKHRydWUpOwog
I2VuZGlmCiB9CiAKQEAgLTc3LDExICs4MCwxMSBAQCB2b2lkIE5vbkNvbXBvc2l0ZWRDb250ZW50
SG9zdDo6c2V0U2Nyb2xsTGF5ZXIoV2ViQ29yZTo6R3JhcGhpY3NMYXllciogbGF5ZXIpCiAKICAg
ICBpZiAoIWxheWVyKSB7CiAgICAgICAgIG1fZ3JhcGhpY3NMYXllci0+cmVtb3ZlRnJvbVBhcmVu
dCgpOwotICAgICAgICBtX2dyYXBoaWNzTGF5ZXItPnBsYXRmb3JtTGF5ZXIoKS0+c2V0TGF5ZXJU
cmVlSG9zdCgwKTsKKyAgICAgICAgbV9ncmFwaGljc0xheWVyLT5wbGF0Zm9ybUxheWVyKCktPnVu
d3JhcDxMYXllckNocm9taXVtPigpLT5zZXRMYXllclRyZWVIb3N0KDApOwogICAgICAgICByZXR1
cm47CiAgICAgfQogCi0gICAgaWYgKFdlYlNjcm9sbGFibGVMYXllcihsYXllci0+cGxhdGZvcm1M
YXllcigpKSA9PSBzY3JvbGxMYXllcigpKQorICAgIGlmICgqbGF5ZXItPnBsYXRmb3JtTGF5ZXIo
KSA9PSBzY3JvbGxMYXllcigpKQogICAgICAgICByZXR1cm47CiAKICAgICBsYXllci0+YWRkQ2hp
bGRBdEluZGV4KG1fZ3JhcGhpY3NMYXllci5nZXQoKSwgMCk7CkBAIC0xNTIsNyArMTU1LDcgQEAg
V2ViU2Nyb2xsYWJsZUxheWVyIE5vbkNvbXBvc2l0ZWRDb250ZW50SG9zdDo6c2Nyb2xsTGF5ZXIo
KQogewogICAgIGlmICghbV9ncmFwaGljc0xheWVyLT5wYXJlbnQoKSkKICAgICAgICAgcmV0dXJu
IFdlYlNjcm9sbGFibGVMYXllcigpOwotICAgIHJldHVybiBXZWJTY3JvbGxhYmxlTGF5ZXIobV9n
cmFwaGljc0xheWVyLT5wYXJlbnQoKS0+cGxhdGZvcm1MYXllcigpKTsKKyAgICByZXR1cm4gbV9n
cmFwaGljc0xheWVyLT5wYXJlbnQoKS0+cGxhdGZvcm1MYXllcigpLT50bzxXZWJTY3JvbGxhYmxl
TGF5ZXI+KCk7CiB9CiAKIHZvaWQgTm9uQ29tcG9zaXRlZENvbnRlbnRIb3N0OjppbnZhbGlkYXRl
UmVjdChjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiByZWN0KQpAQCAtMTY5LDkgKzE3Miw3IEBAIHZv
aWQgTm9uQ29tcG9zaXRlZENvbnRlbnRIb3N0Ojpub3RpZnlBbmltYXRpb25TdGFydGVkKGNvbnN0
IFdlYkNvcmU6OkdyYXBoaWNzTGF5CiAKIHZvaWQgTm9uQ29tcG9zaXRlZENvbnRlbnRIb3N0Ojpu
b3RpZnlTeW5jUmVxdWlyZWQoY29uc3QgV2ViQ29yZTo6R3JhcGhpY3NMYXllciopCiB7Ci0gICAg
V2ViQ29yZTo6Q0NMYXllclRyZWVIb3N0KiBsYXllclRyZWVIb3N0ID0gbV9ncmFwaGljc0xheWVy
LT5wbGF0Zm9ybUxheWVyKCktPmxheWVyVHJlZUhvc3QoKTsKLSAgICBpZiAobGF5ZXJUcmVlSG9z
dCkKLSAgICAgICAgbGF5ZXJUcmVlSG9zdC0+c2V0TmVlZHNDb21taXQoKTsKKyAgICBtX3dlYlZp
ZXctPnNjaGVkdWxlQ29tcG9zaXRpbmdMYXllclN5bmMoKTsKIH0KIAogdm9pZCBOb25Db21wb3Np
dGVkQ29udGVudEhvc3Q6OnBhaW50Q29udGVudHMoY29uc3QgV2ViQ29yZTo6R3JhcGhpY3NMYXll
ciosIFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dCYgY29udGV4dCwgV2ViQ29yZTo6R3JhcGhpY3NM
YXllclBhaW50aW5nUGhhc2UsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGNsaXBSZWN0KQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViTWVkaWFQbGF5ZXJDbGllbnRJ
bXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYk1lZGlhUGxheWVyQ2xpZW50
SW1wbC5jcHAKaW5kZXggM2NhOWY1ZDBmZTBkZmI5NzA4ZjA1NDQyYmE1ZTI1MWUzNTE1MmMyZC4u
YmM3OTJlOTYwMTkzOWQxMmNkYTE3YzU5YmNmYzJiMjM5MWRkMjNlZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViTWVkaWFQbGF5ZXJDbGllbnRJbXBsLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJNZWRpYVBsYXllckNsaWVudEltcGwuY3Bw
CkBAIC0zNDIsMTAgKzM0MiwxMCBAQCB2b2lkIFdlYk1lZGlhUGxheWVyQ2xpZW50SW1wbDo6Y2Fu
Y2VsTG9hZCgpCiB9CiAKICNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCi1MYXllckNo
cm9taXVtKiBXZWJNZWRpYVBsYXllckNsaWVudEltcGw6OnBsYXRmb3JtTGF5ZXIoKSBjb25zdAor
V2ViTGF5ZXIqIFdlYk1lZGlhUGxheWVyQ2xpZW50SW1wbDo6cGxhdGZvcm1MYXllcigpIGNvbnN0
CiB7CiAgICAgQVNTRVJUKG1fc3VwcG9ydHNBY2NlbGVyYXRlZENvbXBvc2l0aW5nKTsKLSAgICBy
ZXR1cm4gbV92aWRlb0xheWVyLnVud3JhcDxMYXllckNocm9taXVtPigpOworICAgIHJldHVybiBj
b25zdF9jYXN0PFdlYlZpZGVvTGF5ZXIqPigmbV92aWRlb0xheWVyKTsKIH0KICNlbmRpZgogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJNZWRpYVBsYXllckNsaWVu
dEltcGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYk1lZGlhUGxheWVyQ2xpZW50
SW1wbC5oCmluZGV4IGIzYzk0ZmU1OGJlZTM3YTUzMDZiYjU0YmYwODY1YzFlY2I0ZTlkZDEuLjJk
ZjU0Y2QyMDUyMmJlMjQ0MjA2M2RkZjMyY2JiMzVmNjdmOGZjM2QgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYk1lZGlhUGxheWVyQ2xpZW50SW1wbC5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYk1lZGlhUGxheWVyQ2xpZW50SW1wbC5oCkBAIC05
OCw3ICs5OCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgbG9hZChjb25zdCBXVEY6OlN0
cmluZyYgdXJsKTsKICAgICB2aXJ0dWFsIHZvaWQgY2FuY2VsTG9hZCgpOwogI2lmIFVTRShBQ0NF
TEVSQVRFRF9DT01QT1NJVElORykKLSAgICB2aXJ0dWFsIFdlYkNvcmU6OlBsYXRmb3JtTGF5ZXIq
IHBsYXRmb3JtTGF5ZXIoKSBjb25zdDsKKyAgICB2aXJ0dWFsIFdlYktpdDo6V2ViTGF5ZXIqIHBs
YXRmb3JtTGF5ZXIoKSBjb25zdDsKICNlbmRpZgogICAgIHZpcnR1YWwgV2ViQ29yZTo6UGxhdGZv
cm1NZWRpYSBwbGF0Zm9ybU1lZGlhKCkgY29uc3Q7CiAgICAgdmlydHVhbCB2b2lkIHBsYXkoKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBsdWdpbkNvbnRhaW5l
ckltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUGx1Z2luQ29udGFpbmVy
SW1wbC5jcHAKaW5kZXggMWM1YzA1ZjY2ZDIyZTkwNWI4NDkwZDZlZTUzMWEzZWFlYmE2OTZlMy4u
ODYwNGE3NGRjM2U4ZjgyNWE5MmNjN2I5NjRjNGU0YzI1MzM2NmVmMiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUGx1Z2luQ29udGFpbmVySW1wbC5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUGx1Z2luQ29udGFpbmVySW1wbC5jcHAKQEAg
LTU2OSwxMiArNTY5LDEyIEBAIHZvaWQgV2ViUGx1Z2luQ29udGFpbmVySW1wbDo6d2lsbERlc3Ry
b3lQbHVnaW5Mb2FkT2JzZXJ2ZXIoV2ViUGx1Z2luTG9hZE9ic2VydmVyCiB9CiAKICNpZiBVU0Uo
QUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCi1XZWJDb3JlOjpMYXllckNocm9taXVtKiBXZWJQbHVn
aW5Db250YWluZXJJbXBsOjpwbGF0Zm9ybUxheWVyKCkgY29uc3QKK1dlYkxheWVyKiBXZWJQbHVn
aW5Db250YWluZXJJbXBsOjpwbGF0Zm9ybUxheWVyKCkgY29uc3QKIHsKICAgICBpZiAobV90ZXh0
dXJlSWQpCi0gICAgICAgIHJldHVybiBtX3RleHR1cmVMYXllci51bndyYXA8TGF5ZXJDaHJvbWl1
bT4oKTsKKyAgICAgICAgcmV0dXJuIGNvbnN0X2Nhc3Q8V2ViRXh0ZXJuYWxUZXh0dXJlTGF5ZXIq
PigmbV90ZXh0dXJlTGF5ZXIpOwogICAgIGlmIChtX2lvU3VyZmFjZUlkKQotICAgICAgICByZXR1
cm4gbV9pb1N1cmZhY2VMYXllci51bndyYXA8TGF5ZXJDaHJvbWl1bT4oKTsKKyAgICAgICAgcmV0
dXJuIGNvbnN0X2Nhc3Q8V2ViSU9TdXJmYWNlTGF5ZXIqPigmbV9pb1N1cmZhY2VMYXllcik7CiAg
ICAgcmV0dXJuIDA7CiB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL1dlYlBsdWdpbkNvbnRhaW5lckltcGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL1dlYlBsdWdpbkNvbnRhaW5lckltcGwuaAppbmRleCA2MWY1YzViNzE0NmYyOTk1N2RiODkx
OGY5OGRiNDVhZmQ5NDU2OTc4Li5hYzNjMzkxMDUxODdjMTllNWQ0MDA1MTM1ZDMxNmI0YmJjNDVm
MDcwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQbHVnaW5Db250
YWluZXJJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUGx1Z2luQ29u
dGFpbmVySW1wbC5oCkBAIC00OSw3ICs0OSw2IEBAIGNsYXNzIEdlc3R1cmVFdmVudDsKIGNsYXNz
IEhUTUxQbHVnSW5FbGVtZW50OwogY2xhc3MgSW50UmVjdDsKIGNsYXNzIEtleWJvYXJkRXZlbnQ7
Ci1jbGFzcyBMYXllckNocm9taXVtOwogY2xhc3MgTW91c2VFdmVudDsKIGNsYXNzIFJlc291cmNl
RXJyb3I7CiBjbGFzcyBSZXNvdXJjZVJlc3BvbnNlOwpAQCAtMTUwLDcgKzE0OSw3IEBAIHB1Ymxp
YzoKICAgICB2b2lkIHdpbGxEZXN0cm95UGx1Z2luTG9hZE9ic2VydmVyKFdlYlBsdWdpbkxvYWRP
YnNlcnZlciopOwogCiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQotICAgIHZpcnR1
YWwgV2ViQ29yZTo6TGF5ZXJDaHJvbWl1bSogcGxhdGZvcm1MYXllcigpIGNvbnN0OworICAgIHZp
cnR1YWwgV2ViTGF5ZXIqIHBsYXRmb3JtTGF5ZXIoKSBjb25zdDsKICNlbmRpZgogCiAgICAgU2Ny
b2xsYmFyR3JvdXAqIHNjcm9sbGJhckdyb3VwKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9XZWJTY3JvbGxhYmxlTGF5ZXIuY3BwIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvV2ViU2Nyb2xsYWJsZUxheWVyLmNwcAppbmRleCAxOWU0MTBhYTU5OWMzOTUyMjVm
NTkyNDU4ZTc5OTZkOGEwZTliYmI4Li5hMjBlODFkODEzNzU5YzNmNzkwOTdhMjljMTQ2OWIyNTcw
ZjliYTg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTY3JvbGxh
YmxlTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNjcm9sbGFi
bGVMYXllci5jcHAKQEAgLTI3LDcgKzI3LDcgQEAKICNpbmNsdWRlIDxwdWJsaWMvV2ViU2Nyb2xs
YWJsZUxheWVyLmg+CiAKICNpbmNsdWRlICJMYXllckNocm9taXVtLmgiCi0KKyNpbmNsdWRlICJS
ZWdpb24uaCIKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKQEAgLTUxLDQgKzUxLDI1IEBAIHZvaWQg
V2ViU2Nyb2xsYWJsZUxheWVyOjpzZXRTaG91bGRTY3JvbGxPbk1haW5UaHJlYWQoYm9vbCBzaG91
bGRTY3JvbGxPbk1haW5UaHJlCiAgICAgbV9wcml2YXRlLT5zZXRTaG91bGRTY3JvbGxPbk1haW5U
aHJlYWQoc2hvdWxkU2Nyb2xsT25NYWluVGhyZWFkKTsKIH0KIAordm9pZCBXZWJTY3JvbGxhYmxl
TGF5ZXI6OnNldE5vbkZhc3RTY3JvbGxhYmxlUmVnaW9uKGNvbnN0IFdlYlZlY3RvcjxXZWJSZWN0
PiYgcmVjdHMpCit7CisgICAgV2ViQ29yZTo6UmVnaW9uIHJlZ2lvbjsKKyAgICBmb3IgKHNpemVf
dCBpID0gMDsgaSA8IHJlY3RzLnNpemUoKTsgKytpKSB7CisgICAgICAgIFdlYkNvcmU6OkludFJl
Y3QgcmVjdCA9IHJlY3RzW2ldOworICAgICAgICByZWdpb24udW5pdGUocmVjdCk7CisgICAgfQor
ICAgIG1fcHJpdmF0ZS0+c2V0Tm9uRmFzdFNjcm9sbGFibGVSZWdpb24ocmVnaW9uKTsKKworfQor
Cit2b2lkIFdlYlNjcm9sbGFibGVMYXllcjo6c2V0SXNDb250YWluZXJGb3JGaXhlZFBvc2l0aW9u
TGF5ZXJzKGJvb2wgZW5hYmxlKQoreworICAgIG1fcHJpdmF0ZS0+c2V0SXNDb250YWluZXJGb3JG
aXhlZFBvc2l0aW9uTGF5ZXJzKGVuYWJsZSk7Cit9CisKK3ZvaWQgV2ViU2Nyb2xsYWJsZUxheWVy
OjpzZXRGaXhlZFRvQ29udGFpbmVyTGF5ZXIoYm9vbCBlbmFibGUpCit7CisgICAgbV9wcml2YXRl
LT5zZXRGaXhlZFRvQ29udGFpbmVyTGF5ZXIoZW5hYmxlKTsKK30KKwogfSAvLyBuYW1lc3BhY2Ug
V2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1w
bC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKaW5kZXgg
M2RlNmYzMGExZGU4MGMyYWU5NTU0NDY5NzlmM2Q2YThmZTY3MjIxNy4uMDk2ZjAzNWVjMWZkZWQ0
YmZjODE5NmQ2NTAyM2YzYmE2ZWY0ZTZjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYlZpZXdJbXBsLmNwcApAQCAtODIsNyArODIsNiBAQAogI2luY2x1ZGUgIkluc3BlY3Rvcklu
c3RydW1lbnRhdGlvbi5oIgogI2luY2x1ZGUgIktleWJvYXJkQ29kZXMuaCIKICNpbmNsdWRlICJL
ZXlib2FyZEV2ZW50LmgiCi0jaW5jbHVkZSAiTGF5ZXJDaHJvbWl1bS5oIgogI2luY2x1ZGUgIkxh
eWVyUGFpbnRlckNocm9taXVtLmgiCiAjaW5jbHVkZSAiTUlNRVR5cGVSZWdpc3RyeS5oIgogI2lu
Y2x1ZGUgIk5vZGVSZW5kZXJTdHlsZS5oIgpAQCAtMzUzMSw3ICszNTMwLDcgQEAgdm9pZCBXZWJW
aWV3SW1wbDo6c2V0Um9vdEdyYXBoaWNzTGF5ZXIoR3JhcGhpY3NMYXllciogbGF5ZXIpCiAgICAg
fQogCiAgICAgaWYgKGxheWVyKQotICAgICAgICBtX3Jvb3RMYXllciA9IFdlYkxheWVyKGxheWVy
LT5wbGF0Zm9ybUxheWVyKCkpOworICAgICAgICBtX3Jvb3RMYXllciA9ICpsYXllci0+cGxhdGZv
cm1MYXllcigpOwogCiAgICAgaWYgKCFtX2xheWVyVHJlZVZpZXcuaXNOdWxsKCkpCiAgICAgICAg
IG1fbGF5ZXJUcmVlVmlldy5zZXRSb290TGF5ZXIobGF5ZXIgPyAmbV9yb290TGF5ZXIgOiAwKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ2FudmFzMkRMYXllckJy
aWRnZVRlc3QuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DYW52YXMyRExheWVy
QnJpZGdlVGVzdC5jcHAKaW5kZXggOTYwN2FjMDkxZjQ3MWEzYmE5ZGIwYTMwYTU1MDhkZGFkMjFi
ODVlYy4uY2M5ZTlkNTczNWNmNjYyOTJhMTdiZmJlZWM4OGU3MDMyYzQ2NGEyNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DYW52YXMyRExheWVyQnJpZGdlVGVzdC5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DYW52YXMyRExheWVyQnJpZGdl
VGVzdC5jcHAKQEAgLTE0MywxNyArMTQzLDQgQEAgVEVTVF9GKENhbnZhczJETGF5ZXJCcmlkZ2VU
ZXN0LCB0ZXN0RnVsbExpZmVjeWNsZVRocmVhZGVkRGVmZXJyZWQpCiAgICAgZnVsbExpZmVjeWNs
ZVRlc3QoVGhyZWFkZWQsIERlZmVycmVkKTsKIH0KIAotVEVTVChDYW52YXMyRExheWVyQnJpZGdl
VGVzdDIsIHRlc3RDbGVhckNsaWVudCkKLXsKLSAgICBHcmFwaGljc0NvbnRleHQzRDo6QXR0cmli
dXRlcyBhdHRyczsKLQotICAgIFJlZlB0cjxHcmFwaGljc0NvbnRleHQzRD4gbWFpbkNvbnRleHQg
PSBHcmFwaGljc0NvbnRleHQzRFByaXZhdGU6OmNyZWF0ZUdyYXBoaWNzQ29udGV4dEZyb21XZWJD
b250ZXh0KGFkb3B0UHRyKG5ldyBNb2NrQ2FudmFzQ29udGV4dCkpOwotICAgIE93blB0cjxDYW52
YXMyRExheWVyQnJpZGdlPiBicmlkZ2UgPSBDYW52YXMyRExheWVyQnJpZGdlOjpjcmVhdGUobWFp
bkNvbnRleHQuZ2V0KCksIEludFNpemUoMTAwLCAxMDApLCBEZWZlcnJlZCwgMSk7Ci0gICAgUmVm
UHRyPExheWVyQ2hyb21pdW0+IGxheWVyID0gYnJpZGdlLT5sYXllcigpOwotICAgIGJyaWRnZS5j
bGVhcigpOwotICAgIENDVGV4dHVyZVVwZGF0ZVF1ZXVlIHF1ZXVlOwotICAgIENDUmVuZGVyaW5n
U3RhdHMgc3RhdHM7Ci0gICAgbGF5ZXItPnVwZGF0ZShxdWV1ZSwgMCwgc3RhdHMpOwotfQotCiB9
IC8vIG5hbWVzcGFjZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9H
cmFwaGljc0xheWVyQ2hyb21pdW1UZXN0LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVz
dHMvR3JhcGhpY3NMYXllckNocm9taXVtVGVzdC5jcHAKaW5kZXggNDVhOGQzNjNkOWM3NTRiOWYy
ZDY2NDJiNTdjM2U1ZDZkODBiMDU3ZS4uZjBiYjNhZDBlZGRkYTQ0YzUzYzc3OThhN2YyYThlMzRh
ZWE0NDBhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9HcmFwaGlj
c0xheWVyQ2hyb21pdW1UZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3Rz
L0dyYXBoaWNzTGF5ZXJDaHJvbWl1bVRlc3QuY3BwCkBAIC05NSw3ICs5NSw3IEBAIHB1YmxpYzoK
ICAgICAgICAgV2ViQ29tcG9zaXRvcjo6c2V0QWNjZWxlcmF0ZWRBbmltYXRpb25FbmFibGVkKHRy
dWUpOwogICAgICAgICBXZWJDb21wb3NpdG9yOjppbml0aWFsaXplKDApOwogICAgICAgICBtX2dy
YXBoaWNzTGF5ZXIgPSBzdGF0aWNfcG9pbnRlcl9jYXN0PEdyYXBoaWNzTGF5ZXJDaHJvbWl1bT4o
R3JhcGhpY3NMYXllcjo6Y3JlYXRlKCZtX2NsaWVudCkpOwotICAgICAgICBtX3BsYXRmb3JtTGF5
ZXIgPSBzdGF0aWNfY2FzdDxMYXllckNocm9taXVtKj4obV9ncmFwaGljc0xheWVyLT5wbGF0Zm9y
bUxheWVyKCkpOworICAgICAgICBtX3BsYXRmb3JtTGF5ZXIgPSBtX2dyYXBoaWNzTGF5ZXItPnBs
YXRmb3JtTGF5ZXIoKS0+dW53cmFwPExheWVyQ2hyb21pdW0+KCk7CiAgICAgICAgIG1fbGF5ZXJU
cmVlSG9zdCA9IE1vY2tMYXllclRyZWVIb3N0OjpjcmVhdGUoKTsKICAgICAgICAgbV9wbGF0Zm9y
bUxheWVyLT5zZXRMYXllclRyZWVIb3N0KG1fbGF5ZXJUcmVlSG9zdC5nZXQoKSk7CiAgICAgfQpA
QCAtMTMzLDcgKzEzMyw3IEBAIFRFU1RfRihHcmFwaGljc0xheWVyQ2hyb21pdW1UZXN0LCB1cGRh
dGVMYXllclByZXNlcnZlczNEV2l0aEFuaW1hdGlvbnMpCiAKICAgICBtX2dyYXBoaWNzTGF5ZXIt
PnNldFByZXNlcnZlczNEKHRydWUpOwogCi0gICAgbV9wbGF0Zm9ybUxheWVyID0gc3RhdGljX2Nh
c3Q8TGF5ZXJDaHJvbWl1bSo+KG1fZ3JhcGhpY3NMYXllci0+cGxhdGZvcm1MYXllcigpKTsKKyAg
ICBtX3BsYXRmb3JtTGF5ZXIgPSBtX2dyYXBoaWNzTGF5ZXItPnBsYXRmb3JtTGF5ZXIoKS0+dW53
cmFwPExheWVyQ2hyb21pdW0+KCk7CiAgICAgQVNTRVJUX1RSVUUobV9wbGF0Zm9ybUxheWVyKTsK
IAogICAgIEFTU0VSVF9UUlVFKG1fcGxhdGZvcm1MYXllci0+aGFzQWN0aXZlQW5pbWF0aW9uKCkp
OwpAQCAtMTQyLDcgKzE0Miw3IEBAIFRFU1RfRihHcmFwaGljc0xheWVyQ2hyb21pdW1UZXN0LCB1
cGRhdGVMYXllclByZXNlcnZlczNEV2l0aEFuaW1hdGlvbnMpCiAKICAgICBtX2dyYXBoaWNzTGF5
ZXItPnNldFByZXNlcnZlczNEKGZhbHNlKTsKIAotICAgIG1fcGxhdGZvcm1MYXllciA9IHN0YXRp
Y19jYXN0PExheWVyQ2hyb21pdW0qPihtX2dyYXBoaWNzTGF5ZXItPnBsYXRmb3JtTGF5ZXIoKSk7
CisgICAgbV9wbGF0Zm9ybUxheWVyID0gbV9ncmFwaGljc0xheWVyLT5wbGF0Zm9ybUxheWVyKCkt
PnVud3JhcDxMYXllckNocm9taXVtPigpOwogICAgIEFTU0VSVF9UUlVFKG1fcGxhdGZvcm1MYXll
cik7CiAKICAgICBBU1NFUlRfRkFMU0UobV9wbGF0Zm9ybUxheWVyLT5oYXNBY3RpdmVBbmltYXRp
b24oKSk7Cg==
</data>
<flag name="review"
          id="166641"
          type_id="1"
          status="+"
          setter="enne"
    />
          </attachment>
      

    </bug>

</bugzilla>