<?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>157645</bug_id>
          
          <creation_ts>2016-05-12 16:19:42 -0700</creation_ts>
          <short_desc>Revert 199691 (https://bugs.webkit.org/show_bug.cgi?id=156540)</short_desc>
          <delta_ts>2016-05-13 00:31: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>Plug-ins</component>
          <version>WebKit 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>iting_liu</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>andersca</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>mitz</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1192515</commentid>
    <comment_count>0</comment_count>
    <who name="">iting_liu</who>
    <bug_when>2016-05-12 16:19:42 -0700</bug_when>
    <thetext>Our current plan for private browsing changed to not differentiate between plug-in&apos;s private-browsing and general browsing policies. &lt;rdar://problem/26235373&gt; requires us to also revert WebKit changes added in 199691 (https://bugs.webkit.org/show_bug.cgi?id=156540), which added functionality to use private-browsing policies for plug-ins if the page is using private browsing. This bug should revert the change 199691.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1192577</commentid>
    <comment_count>1</comment_count>
      <attachid>278799</attachid>
    <who name="">iting_liu</who>
    <bug_when>2016-05-12 18:57:02 -0700</bug_when>
    <thetext>Created attachment 278799
Patch for the fix. Simply revert all 199691 changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1192686</commentid>
    <comment_count>2</comment_count>
      <attachid>278799</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-05-13 00:31:12 -0700</bug_when>
    <thetext>Comment on attachment 278799
Patch for the fix. Simply revert all 199691 changes.

Clearing flags on attachment: 278799

Committed r200819: &lt;http://trac.webkit.org/changeset/200819&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1192687</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-05-13 00:31:16 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>278799</attachid>
            <date>2016-05-12 18:57:02 -0700</date>
            <delta_ts>2016-05-13 00:31:12 -0700</delta_ts>
            <desc>Patch for the fix. Simply revert all 199691 changes.</desc>
            <filename>0001-Revert-r199691.patch</filename>
            <type>text/plain</type>
            <size>30368</size>
            <attacher>iting_liu</attacher>
            
              <data encoding="base64">RnJvbSBhNTZlZTE3NzBhZmJmM2U3NWY5YzczYzc5Y2FmMGEwMDExOTI2OWVmIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBUaW5hIExpdSA8aXRpbmdfbGl1QGFwcGxlLmNvbT4KRGF0ZTog
VGh1LCAxMiBNYXkgMjAxNiAxODo1Mjo0MCAtMDcwMApTdWJqZWN0OiBbUEFUQ0hdIFJldmVydCBy
MTk5NjkxLgogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NzY0NSA8
cmRhcjovL3Byb2JsZW0vMjYyMzUzNzM+CgotLS0KIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHwgMTAgKysrKwogU291cmNlL1dlYkNvcmUvcGx1Z2lu
cy9QbHVnaW5TdHJhdGVneS5oICAgICAgICAgICAgfCAgMSAtCiBTb3VyY2UvV2ViS2l0L21hYy9D
aGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICB8IDEyICsrKysrCiAuLi4vbWFjL1dlYkNv
cmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5oICAgICB8ICAxIC0KIC4uLi9tYWMvV2Vi
Q29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLm1tICAgIHwgIDQgLS0KIFNvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgNDAgKysrKysrKysr
KysrKysrCiAuLi4vU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwICAgICAg
ICB8ICAzIC0tCiAuLi4vV2ViS2l0Mi9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVy
cy5oICB8ICAxIC0KIC4uLi9VSVByb2Nlc3MvQVBJL0MvbWFjL1dLQ29udGV4dFByaXZhdGVNYWMu
aCAgICAgIHwgIDEgLQogLi4uL1VJUHJvY2Vzcy9BUEkvQy9tYWMvV0tDb250ZXh0UHJpdmF0ZU1h
Yy5tbSAgICAgfCAgNyAtLS0KIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9v
bC5jcHAgICAgICAgIHwgMjUgKysrLS0tLS0tLQogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlByb2Nlc3NQb29sLmggICAgICAgICAgfCAgNSAtLQogLi4uL1dlYkNvcmVTdXBwb3J0L1dlYlBs
YXRmb3JtU3RyYXRlZ2llcy5jcHAgICAgICAgfCA1NyArKysrKysrKystLS0tLS0tLS0tLS0tCiAu
Li4vV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmggICAgICAgICB8IDEwICsr
LS0KIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAgICAgICAgICAgIHwg
MjcgKystLS0tLS0tLQogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmggICAg
ICAgICAgICAgfCAgNSAtLQogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1l
c3NhZ2VzLmluICAgfCAgMSAtCiAxNyBmaWxlcyBjaGFuZ2VkLCAxMDAgaW5zZXJ0aW9ucygrKSwg
MTEwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAwNWQxNTdjLi42YzAzMGQ3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTYtMDUtMTIgIFRpbmEgTGl1ICA8aXRpbmdfbGl1QGFw
cGxlLmNvbT4KKworICAgICAgICBSZXZlcnQgcjE5OTY5MS4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NzY0NQorICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vMjYyMzUzNzM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBwbHVnaW5zL1BsdWdpblN0cmF0ZWd5Lmg6CisKIDIwMTYtMDUtMTIgIE15bGVzIEMu
IE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OKHIy
MDA2MDEpOiBDcmFzaCB3aGVuIHVzaW5nIGxvY2FsKCkgYW5kIHVuaWNvZGUtcmFuZ2UgaW4gQGZv
bnQtZmFjZSBibG9ja3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2lu
U3RyYXRlZ3kuaCBiL1NvdXJjZS9XZWJDb3JlL3BsdWdpbnMvUGx1Z2luU3RyYXRlZ3kuaAppbmRl
eCBiYjcxZDQ4Li4zYTQwY2ViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbHVnaW5zL1Bs
dWdpblN0cmF0ZWd5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGx1Z2lucy9QbHVnaW5TdHJhdGVn
eS5oCkBAIC0zOSw3ICszOSw2IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZ2V0V2ViVmlz
aWJsZVBsdWdpbkluZm8oY29uc3QgUGFnZSosIFZlY3RvcjxQbHVnaW5JbmZvPiYpID0gMDsKICNp
ZiBQTEFURk9STShNQUMpCiAgICAgdmlydHVhbCB2b2lkIHNldFBsdWdpbkxvYWRDbGllbnRQb2xp
Y3koUGx1Z2luTG9hZENsaWVudFBvbGljeSwgY29uc3QgU3RyaW5nJiBob3N0LCBjb25zdCBTdHJp
bmcmIGJ1bmRsZUlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdmVyc2lvblN0cmluZykgPSAwOwot
ICAgIHZpcnR1YWwgdm9pZCBzZXRQcml2YXRlQnJvd3NpbmdQbHVnaW5Mb2FkQ2xpZW50UG9saWN5
KFBsdWdpbkxvYWRDbGllbnRQb2xpY3ksIGNvbnN0IFN0cmluZyYgaG9zdCwgY29uc3QgU3RyaW5n
JiBidW5kbGVJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHZlcnNpb25TdHJpbmcpID0gMDsKICAg
ICB2aXJ0dWFsIHZvaWQgY2xlYXJQbHVnaW5DbGllbnRQb2xpY2llcygpID0gMDsKICNlbmRpZgog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0
L21hYy9DaGFuZ2VMb2cKaW5kZXggY2NhYWE4OC4uYWQ2Njg0ZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE1IEBACisyMDE2LTA1LTEyICBUaW5hIExpdSAgPGl0aW5nX2xpdUBhcHBsZS5j
b20+CisKKyAgICAgICAgUmV2ZXJ0IHIxOTk2OTEuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTc2NDUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzI2
MjM1MzczPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmg6CisgICAgICAgICogV2Vi
Q29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLm1tOgorICAgICAgICAoV2ViUGxhdGZv
cm1TdHJhdGVnaWVzOjpzZXRQcml2YXRlQnJvd3NpbmdQbHVnaW5Mb2FkQ2xpZW50UG9saWN5KTog
RGVsZXRlZC4KKwogMjAxNi0wNS0xMiAgSmlld2VuIFRhbiAgPGppZXdlbl90YW5AYXBwbGUuY29t
PgogCiAgICAgICAgIFVucmV2aWV3ZWQgYnVpbGQgZml4IGZvciByMjAwNzk5LgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVz
LmggYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdp
ZXMuaAppbmRleCBkMWU0YThiLi4zMDdhMDc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21h
Yy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaApAQCAtNjQsNyAr
NjQsNiBAQCBwcml2YXRlOgogICAgIHZvaWQgZ2V0V2ViVmlzaWJsZVBsdWdpbkluZm8oY29uc3Qg
V2ViQ29yZTo6UGFnZSosIFZlY3RvcjxXZWJDb3JlOjpQbHVnaW5JbmZvPiYpIG92ZXJyaWRlOwog
I2lmIFBMQVRGT1JNKE1BQykKICAgICB2b2lkIHNldFBsdWdpbkxvYWRDbGllbnRQb2xpY3koV2Vi
Q29yZTo6UGx1Z2luTG9hZENsaWVudFBvbGljeSwgY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5n
JiwgY29uc3QgU3RyaW5nJikgb3ZlcnJpZGU7Ci0gICAgdm9pZCBzZXRQcml2YXRlQnJvd3NpbmdQ
bHVnaW5Mb2FkQ2xpZW50UG9saWN5KFdlYkNvcmU6OlBsdWdpbkxvYWRDbGllbnRQb2xpY3ksIGNv
bnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYpIG92ZXJyaWRlOwogICAg
IHZvaWQgY2xlYXJQbHVnaW5DbGllbnRQb2xpY2llcygpIG92ZXJyaWRlOwogI2VuZGlmCiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3Ry
YXRlZ2llcy5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3Jt
U3RyYXRlZ2llcy5tbQppbmRleCBjMGJlMWVhLi5kNWIwOGZkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMubW0KKysrIGIv
U291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLm1t
CkBAIC0xNTAsMTAgKzE1MCw2IEBAIHZvaWQgV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpzZXRQbHVn
aW5Mb2FkQ2xpZW50UG9saWN5KFBsdWdpbkxvYWRDbGllbnRQb2xpY3ksIGNvCiB7CiB9CiAKLXZv
aWQgV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpzZXRQcml2YXRlQnJvd3NpbmdQbHVnaW5Mb2FkQ2xp
ZW50UG9saWN5KFBsdWdpbkxvYWRDbGllbnRQb2xpY3ksIGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0
cmluZyYsIGNvbnN0IFN0cmluZyYpCi17Ci19Ci0KIHZvaWQgV2ViUGxhdGZvcm1TdHJhdGVnaWVz
OjpjbGVhclBsdWdpbkNsaWVudFBvbGljaWVzKCkKIHsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCAxNDA3NTg1
Li5lMTc4ZmUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDMgQEAKKzIwMTYtMDUtMTIgIFRpbmEg
TGl1ICA8aXRpbmdfbGl1QGFwcGxlLmNvbT4KKworICAgICAgICBSZXZlcnQgcjE5OTY5MS4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NzY0NQorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vMjYyMzUzNzM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1l
dGVycy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnM6
OmVuY29kZSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnM6OmRlY29kZSk6IERlbGV0ZWQuCisgICAgICAgICogU2hhcmVkL1dlYlByb2Nlc3ND
cmVhdGlvblBhcmFtZXRlcnMuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvbWFjL1dLQ29u
dGV4dFByaXZhdGVNYWMuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvbWFjL1dLQ29udGV4
dFByaXZhdGVNYWMubW06CisgICAgICAgIChXS0NvbnRleHRTZXRQcml2YXRlQnJvd3NpbmdQbHVn
aW5Mb2FkQ2xpZW50UG9saWN5KTogRGVsZXRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJv
Y2Vzc1Bvb2wuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6c2V0UGx1Z2lu
TG9hZENsaWVudFBvbGljeSk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpjcmVh
dGVOZXdXZWJQcm9jZXNzKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bv
b2w6OnNldFBsdWdpbkxvYWRDbGllbnRQb2xpY3lGb3JQcml2YXRlQnJvd3NpbmcpOiBEZWxldGVk
LgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzUG9vbDo6c2V0UHJpdmF0ZUJyb3dzaW5nUGx1
Z2luTG9hZENsaWVudFBvbGljeSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nl
c3NQb29sOjpjbGVhclBsdWdpbkNsaWVudFBvbGljaWVzKTogRGVsZXRlZC4KKyAgICAgICAgKiBV
SVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBs
YXRmb3JtU3RyYXRlZ2llczo6c2V0UGx1Z2luTG9hZENsaWVudFBvbGljeSk6CisgICAgICAgIChX
ZWJLaXQ6OldlYlBsYXRmb3JtU3RyYXRlZ2llczo6bG9uZ2VzdE1hdGNoZWRXaWxkY2FyZEhvc3RG
b3JIb3N0KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpyZXBsYWNl
SG9zdFdpdGhNYXRjaGVkV2lsZGNhcmRIb3N0KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGxhdGZv
cm1TdHJhdGVnaWVzOjpwbHVnaW5Mb2FkQ2xpZW50UG9saWN5Rm9ySG9zdCk6CisgICAgICAgIChX
ZWJLaXQ6OldlYlBsYXRmb3JtU3RyYXRlZ2llczo6cG9wdWxhdGVQbHVnaW5DYWNoZSk6CisgICAg
ICAgIChXZWJLaXQ6OldlYlBsYXRmb3JtU3RyYXRlZ2llczo6c2V0UGx1Z2luTG9hZENsaWVudFBv
bGljeUZvclByaXZhdGVCcm93c2luZyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OldlYlBs
YXRmb3JtU3RyYXRlZ2llczo6c2V0UHJpdmF0ZUJyb3dzaW5nUGx1Z2luTG9hZENsaWVudFBvbGlj
eSk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OldlYlBsYXRmb3JtU3RyYXRlZ2llczo6Y2xl
YXJQbHVnaW5DbGllbnRQb2xpY2llcyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJLaXQ6OldlYlBs
YXRmb3JtU3RyYXRlZ2llczo6cGx1Z2luTG9hZENsaWVudFBvbGljeUZvckhvc3RGb3JQcml2YXRl
QnJvd3NpbmcpOiBEZWxldGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViUGxhdGZvcm1TdHJhdGVnaWVzLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNz
LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6aW5pdGlhbGl6ZVdlYlByb2Nlc3Mp
OgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpzZXRQbHVnaW5Mb2FkQ2xpZW50UG9saWNp
ZXMpOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpzZXRQcml2YXRlQnJv
d3NpbmdQbHVnaW5Mb2FkQ2xpZW50UG9saWN5KTogRGVsZXRlZC4KKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1dlYlByb2Nlc3MuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2Fn
ZXMuaW46CisKIDIwMTYtMDUtMTIgIERhbmllbCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgog
CiAgICAgICAgIFVzZSBTZWNUYXNrIFNQSSB0byByZXRyaWV2ZSBjb2RlIHNpZ25pbmcgaWRlbnRp
ZmllciBmb3IgdXNlciBkaXJlY3Rvcnkgc3VmZml4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAKaW5kZXggZTVjYTFmYi4u
YTUzMWU0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByb2Nlc3NDcmVh
dGlvblBhcmFtZXRlcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcm9jZXNz
Q3JlYXRpb25QYXJhbWV0ZXJzLmNwcApAQCAtMTM2LDcgKzEzNiw2IEBAIHZvaWQgV2ViUHJvY2Vz
c0NyZWF0aW9uUGFyYW1ldGVyczo6ZW5jb2RlKElQQzo6QXJndW1lbnRFbmNvZGVyJiBlbmNvZGVy
KSBjb25zdAogCiAjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCiAgICAgZW5jb2RlciA8
PCBwbHVnaW5Mb2FkQ2xpZW50UG9saWNpZXM7Ci0gICAgZW5jb2RlciA8PCBwbHVnaW5Mb2FkQ2xp
ZW50UG9saWNpZXNGb3JQcml2YXRlQnJvd3Npbmc7CiAjZW5kaWYKIAogI2lmIFRBUkdFVF9PU19J
UEhPTkUgfHwgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJF
RCA+PSAxMDExMDApCkBAIC0yOTAsOCArMjg5LDYgQEAgYm9vbCBXZWJQcm9jZXNzQ3JlYXRpb25Q
YXJhbWV0ZXJzOjpkZWNvZGUoSVBDOjpBcmd1bWVudERlY29kZXImIGRlY29kZXIsIFdlYlByb2MK
ICNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKICAgICBpZiAoIWRlY29kZXIuZGVjb2Rl
KHBhcmFtZXRlcnMucGx1Z2luTG9hZENsaWVudFBvbGljaWVzKSkKICAgICAgICAgcmV0dXJuIGZh
bHNlOwotICAgIGlmICghZGVjb2Rlci5kZWNvZGUocGFyYW1ldGVycy5wbHVnaW5Mb2FkQ2xpZW50
UG9saWNpZXNGb3JQcml2YXRlQnJvd3NpbmcpKQotICAgICAgICByZXR1cm4gZmFsc2U7CiAjZW5k
aWYKIAogI2lmIFRBUkdFVF9PU19JUEhPTkUgfHwgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1Nf
WF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDExMDApCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIGIvU291cmNlL1dlYktp
dDIvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaAppbmRleCBhNzBjZTYyLi5h
ZGQ4NGYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0
aW9uUGFyYW1ldGVycy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcm9jZXNzQ3Jl
YXRpb25QYXJhbWV0ZXJzLmgKQEAgLTE2MSw3ICsxNjEsNiBAQCBzdHJ1Y3QgV2ViUHJvY2Vzc0Ny
ZWF0aW9uUGFyYW1ldGVycyB7CiAKICNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKICAg
ICBIYXNoTWFwPFN0cmluZywgSGFzaE1hcDxTdHJpbmcsIEhhc2hNYXA8U3RyaW5nLCB1aW50OF90
Pj4+IHBsdWdpbkxvYWRDbGllbnRQb2xpY2llczsKLSAgICBIYXNoTWFwPFN0cmluZywgSGFzaE1h
cDxTdHJpbmcsIEhhc2hNYXA8U3RyaW5nLCB1aW50OF90Pj4+IHBsdWdpbkxvYWRDbGllbnRQb2xp
Y2llc0ZvclByaXZhdGVCcm93c2luZzsKICNlbmRpZgogCiAjaWYgVEFSR0VUX09TX0lQSE9ORSB8
fCAoUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEw
MTEwMCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9tYWMvV0tD
b250ZXh0UHJpdmF0ZU1hYy5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL21hYy9X
S0NvbnRleHRQcml2YXRlTWFjLmgKaW5kZXggYmM5M2JhMS4uMTYxMWQ5MyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL21hYy9XS0NvbnRleHRQcml2YXRlTWFjLmgK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL21hYy9XS0NvbnRleHRQcml2YXRl
TWFjLmgKQEAgLTM5LDcgKzM5LDYgQEAgV0tfRVhQT1JUIHZvaWQgV0tDb250ZXh0U2V0UHJvY2Vz
c1N1cHByZXNzaW9uRW5hYmxlZChXS0NvbnRleHRSZWYgY29udGV4dCwgYm9vbAogV0tfRVhQT1JU
IGJvb2wgV0tDb250ZXh0SXNQbHVnSW5VcGRhdGVBdmFpbGFibGUoV0tDb250ZXh0UmVmIGNvbnRl
eHQsIFdLU3RyaW5nUmVmIHBsdWdJbkJ1bmRsZUlkZW50aWZpZXIpOwogCiBXS19FWFBPUlQgdm9p
ZCBXS0NvbnRleHRTZXRQbHVnaW5Mb2FkQ2xpZW50UG9saWN5KFdLQ29udGV4dFJlZiBjb250ZXh0
LCBXS1BsdWdpbkxvYWRDbGllbnRQb2xpY3kgcG9saWN5LCBXS1N0cmluZ1JlZiBob3N0LCBXS1N0
cmluZ1JlZiBidW5kbGVJZGVudGlmaWVyLCBXS1N0cmluZ1JlZiB2ZXJzaW9uU3RyaW5nKTsKLVdL
X0VYUE9SVCB2b2lkIFdLQ29udGV4dFNldFByaXZhdGVCcm93c2luZ1BsdWdpbkxvYWRDbGllbnRQ
b2xpY3koV0tDb250ZXh0UmVmIGNvbnRleHQsIFdLUGx1Z2luTG9hZENsaWVudFBvbGljeSBwb2xp
Y3ksIFdLU3RyaW5nUmVmIGhvc3QsIFdLU3RyaW5nUmVmIGJ1bmRsZUlkZW50aWZpZXIsIFdLU3Ry
aW5nUmVmIHZlcnNpb25TdHJpbmcpOwogV0tfRVhQT1JUIHZvaWQgV0tDb250ZXh0Q2xlYXJQbHVn
aW5DbGllbnRQb2xpY2llcyhXS0NvbnRleHRSZWYgY29udGV4dCk7CiAKIFdLX0VYUE9SVCBXS0Rp
Y3Rpb25hcnlSZWYgV0tDb250ZXh0Q29weVBsdWdJbkluZm9Gb3JCdW5kbGVJZGVudGlmaWVyKFdL
Q29udGV4dFJlZiBjb250ZXh0LCBXS1N0cmluZ1JlZiBwbHVnSW5CdW5kbGVJZGVudGlmaWVyKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9tYWMvV0tDb250ZXh0
UHJpdmF0ZU1hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9tYWMvV0tDb250
ZXh0UHJpdmF0ZU1hYy5tbQppbmRleCA5ZTkyNDNlLi40YzE5MmI2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvbWFjL1dLQ29udGV4dFByaXZhdGVNYWMubW0KKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL21hYy9XS0NvbnRleHRQcml2YXRlTWFj
Lm1tCkBAIC01OSwxMyArNTksNiBAQCB2b2lkIFdLQ29udGV4dFNldFBsdWdpbkxvYWRDbGllbnRQ
b2xpY3koV0tDb250ZXh0UmVmIGNvbnRleHRSZWYsIFdLUGx1Z2luTG9hZENsaQogI2VuZGlmCiB9
CiAKLXZvaWQgV0tDb250ZXh0U2V0UHJpdmF0ZUJyb3dzaW5nUGx1Z2luTG9hZENsaWVudFBvbGlj
eShXS0NvbnRleHRSZWYgY29udGV4dFJlZiwgV0tQbHVnaW5Mb2FkQ2xpZW50UG9saWN5IHBvbGlj
eSwgV0tTdHJpbmdSZWYgaG9zdCwgV0tTdHJpbmdSZWYgYnVuZGxlSWRlbnRpZmllciwgV0tTdHJp
bmdSZWYgdmVyc2lvblN0cmluZykKLXsKLSNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkK
LSAgICB0b0ltcGwoY29udGV4dFJlZiktPnNldFByaXZhdGVCcm93c2luZ1BsdWdpbkxvYWRDbGll
bnRQb2xpY3kodG9QbHVnaW5Mb2FkQ2xpZW50UG9saWN5KHBvbGljeSksIHRvV1RGU3RyaW5nKGhv
c3QpLCB0b1dURlN0cmluZyhidW5kbGVJZGVudGlmaWVyKSwgdG9XVEZTdHJpbmcodmVyc2lvblN0
cmluZykpOwotI2VuZGlmCi19Ci0KIHZvaWQgV0tDb250ZXh0Q2xlYXJQbHVnaW5DbGllbnRQb2xp
Y2llcyhXS0NvbnRleHRSZWYgY29udGV4dFJlZikKIHsKICNpZiBFTkFCTEUoTkVUU0NBUEVfUExV
R0lOX0FQSSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNz
UG9vbC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuY3BwCmlu
ZGV4IGJkYWU1ZjIuLjM5NjU0MjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJQcm9jZXNzUG9vbC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBy
b2Nlc3NQb29sLmNwcApAQCAtNjE5LDcgKzYxOSw2IEBAIFdlYlByb2Nlc3NQcm94eSYgV2ViUHJv
Y2Vzc1Bvb2w6OmNyZWF0ZU5ld1dlYlByb2Nlc3MoKQogCiAjaWYgRU5BQkxFKE5FVFNDQVBFX1BM
VUdJTl9BUEkpCiAgICAgcGFyYW1ldGVycy5wbHVnaW5Mb2FkQ2xpZW50UG9saWNpZXMgPSBtX3Bs
dWdpbkxvYWRDbGllbnRQb2xpY2llczsKLSAgICBwYXJhbWV0ZXJzLnBsdWdpbkxvYWRDbGllbnRQ
b2xpY2llc0ZvclByaXZhdGVCcm93c2luZyA9IG1fcGx1Z2luTG9hZENsaWVudFBvbGljaWVzRm9y
UHJpdmF0ZUJyb3dzaW5nOwogI2VuZGlmCiAKICNpZiBPUyhMSU5VWCkKQEAgLTEzMDMsMzcgKzEz
MDIsMjkgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6cGx1Z2luSW5mb1N0b3JlRGlkTG9hZFBsdWdp
bnMoUGx1Z2luSW5mb1N0b3JlKiBzdG9yZSkKICAgICBtX2NsaWVudC5wbHVnSW5JbmZvcm1hdGlv
bkJlY2FtZUF2YWlsYWJsZSh0aGlzLCBBUEk6OkFycmF5OjpjcmVhdGUoV1RGTW92ZShwbHVnaW5z
KSkucHRyKCkpOwogfQogCi12b2lkIFdlYlByb2Nlc3NQb29sOjpzZXRQbHVnaW5Mb2FkQ2xpZW50
UG9saWN5Rm9yUHJpdmF0ZUJyb3dzaW5nKFByaXZhdGVCcm93c2luZyBwcml2YXRlQnJvd3Npbmcs
IFdlYkNvcmU6OlBsdWdpbkxvYWRDbGllbnRQb2xpY3kgcG9saWN5LCBjb25zdCBTdHJpbmcmIGhv
c3QsIGNvbnN0IFN0cmluZyYgYnVuZGxlSWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB2ZXJzaW9u
U3RyaW5nKQordm9pZCBXZWJQcm9jZXNzUG9vbDo6c2V0UGx1Z2luTG9hZENsaWVudFBvbGljeShX
ZWJDb3JlOjpQbHVnaW5Mb2FkQ2xpZW50UG9saWN5IHBvbGljeSwgY29uc3QgU3RyaW5nJiBob3N0
LCBjb25zdCBTdHJpbmcmIGJ1bmRsZUlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdmVyc2lvblN0
cmluZykKIHsKICNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKLSAgICBhdXRvJiBwbHVn
aW5Mb2FkQ2xpZW50UG9saWNpZXMgPSBwcml2YXRlQnJvd3NpbmcgPT0gUHJpdmF0ZUJyb3dzaW5n
OjpZZXMgPyBtX3BsdWdpbkxvYWRDbGllbnRQb2xpY2llcyA6IG1fcGx1Z2luTG9hZENsaWVudFBv
bGljaWVzRm9yUHJpdmF0ZUJyb3dzaW5nOworICAgIEhhc2hNYXA8U3RyaW5nLCBIYXNoTWFwPFN0
cmluZywgdWludDhfdD4+IHBvbGljaWVzQnlJZGVudGlmaWVyOworICAgIGlmIChtX3BsdWdpbkxv
YWRDbGllbnRQb2xpY2llcy5jb250YWlucyhob3N0KSkKKyAgICAgICAgcG9saWNpZXNCeUlkZW50
aWZpZXIgPSBtX3BsdWdpbkxvYWRDbGllbnRQb2xpY2llcy5nZXQoaG9zdCk7CiAKLSAgICBIYXNo
TWFwPFN0cmluZywgSGFzaE1hcDxTdHJpbmcsIHVpbnQ4X3Q+PiBwb2xpY2llc0J5SWRlbnRpZmll
ciA9IHBsdWdpbkxvYWRDbGllbnRQb2xpY2llcy5nZXQoaG9zdCk7Ci0gICAgSGFzaE1hcDxTdHJp
bmcsIHVpbnQ4X3Q+IHZlcnNpb25zVG9Qb2xpY2llcyA9IHBvbGljaWVzQnlJZGVudGlmaWVyLmdl
dChidW5kbGVJZGVudGlmaWVyKTsKKyAgICBIYXNoTWFwPFN0cmluZywgdWludDhfdD4gdmVyc2lv
bnNUb1BvbGljaWVzOworICAgIGlmIChwb2xpY2llc0J5SWRlbnRpZmllci5jb250YWlucyhidW5k
bGVJZGVudGlmaWVyKSkKKyAgICAgICAgdmVyc2lvbnNUb1BvbGljaWVzID0gcG9saWNpZXNCeUlk
ZW50aWZpZXIuZ2V0KGJ1bmRsZUlkZW50aWZpZXIpOwogCiAgICAgdmVyc2lvbnNUb1BvbGljaWVz
LnNldCh2ZXJzaW9uU3RyaW5nLCBwb2xpY3kpOwogICAgIHBvbGljaWVzQnlJZGVudGlmaWVyLnNl
dChidW5kbGVJZGVudGlmaWVyLCB2ZXJzaW9uc1RvUG9saWNpZXMpOwotICAgIHBsdWdpbkxvYWRD
bGllbnRQb2xpY2llcy5zZXQoaG9zdCwgcG9saWNpZXNCeUlkZW50aWZpZXIpOworICAgIG1fcGx1
Z2luTG9hZENsaWVudFBvbGljaWVzLnNldChob3N0LCBwb2xpY2llc0J5SWRlbnRpZmllcik7CiAj
ZW5kaWYKLX0KIAotdm9pZCBXZWJQcm9jZXNzUG9vbDo6c2V0UGx1Z2luTG9hZENsaWVudFBvbGlj
eShXZWJDb3JlOjpQbHVnaW5Mb2FkQ2xpZW50UG9saWN5IHBvbGljeSwgY29uc3QgU3RyaW5nJiBo
b3N0LCBjb25zdCBTdHJpbmcmIGJ1bmRsZUlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdmVyc2lv
blN0cmluZykKLXsKLSAgICBzZXRQbHVnaW5Mb2FkQ2xpZW50UG9saWN5Rm9yUHJpdmF0ZUJyb3dz
aW5nKFByaXZhdGVCcm93c2luZzo6Tm8sIHBvbGljeSwgaG9zdCwgYnVuZGxlSWRlbnRpZmllciwg
dmVyc2lvblN0cmluZyk7CiAgICAgc2VuZFRvQWxsUHJvY2Vzc2VzKE1lc3NhZ2VzOjpXZWJQcm9j
ZXNzOjpTZXRQbHVnaW5Mb2FkQ2xpZW50UG9saWN5KHBvbGljeSwgaG9zdCwgYnVuZGxlSWRlbnRp
ZmllciwgdmVyc2lvblN0cmluZykpOwogfQogCi12b2lkIFdlYlByb2Nlc3NQb29sOjpzZXRQcml2
YXRlQnJvd3NpbmdQbHVnaW5Mb2FkQ2xpZW50UG9saWN5KFdlYkNvcmU6OlBsdWdpbkxvYWRDbGll
bnRQb2xpY3kgcG9saWN5LCBjb25zdCBTdHJpbmcmIGhvc3QsIGNvbnN0IFN0cmluZyYgYnVuZGxl
SWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB2ZXJzaW9uU3RyaW5nKQotewotICAgIHNldFBsdWdp
bkxvYWRDbGllbnRQb2xpY3lGb3JQcml2YXRlQnJvd3NpbmcoUHJpdmF0ZUJyb3dzaW5nOjpZZXMs
IHBvbGljeSwgaG9zdCwgYnVuZGxlSWRlbnRpZmllciwgdmVyc2lvblN0cmluZyk7Ci0gICAgc2Vu
ZFRvQWxsUHJvY2Vzc2VzKE1lc3NhZ2VzOjpXZWJQcm9jZXNzOjpTZXRQcml2YXRlQnJvd3NpbmdQ
bHVnaW5Mb2FkQ2xpZW50UG9saWN5KHBvbGljeSwgaG9zdCwgYnVuZGxlSWRlbnRpZmllciwgdmVy
c2lvblN0cmluZykpOwotfQotCiB2b2lkIFdlYlByb2Nlc3NQb29sOjpjbGVhclBsdWdpbkNsaWVu
dFBvbGljaWVzKCkKIHsKICNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKICAgICBtX3Bs
dWdpbkxvYWRDbGllbnRQb2xpY2llcy5jbGVhcigpOwotICAgIG1fcGx1Z2luTG9hZENsaWVudFBv
bGljaWVzRm9yUHJpdmF0ZUJyb3dzaW5nLmNsZWFyKCk7CiAjZW5kaWYKICAgICBzZW5kVG9BbGxQ
cm9jZXNzZXMoTWVzc2FnZXM6OldlYlByb2Nlc3M6OkNsZWFyUGx1Z2luQ2xpZW50UG9saWNpZXMo
KSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bv
b2wuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9vbC5oCmluZGV4IDlm
ZDE0MzMuLmQ1N2IwOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQ
cm9jZXNzUG9vbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUG9v
bC5oCkBAIC0xODQsMTAgKzE4NCw2IEBAIHB1YmxpYzoKICAgICBQbHVnaW5JbmZvU3RvcmUmIHBs
dWdpbkluZm9TdG9yZSgpIHsgcmV0dXJuIG1fcGx1Z2luSW5mb1N0b3JlOyB9CiAKICAgICB2b2lk
IHNldFBsdWdpbkxvYWRDbGllbnRQb2xpY3koV2ViQ29yZTo6UGx1Z2luTG9hZENsaWVudFBvbGlj
eSwgY29uc3QgU3RyaW5nJiBob3N0LCBjb25zdCBTdHJpbmcmIGJ1bmRsZUlkZW50aWZpZXIsIGNv
bnN0IFN0cmluZyYgdmVyc2lvblN0cmluZyk7Ci0gICAgZW51bSBjbGFzcyBQcml2YXRlQnJvd3Np
bmcgeyBZZXMsIE5vIH07Ci0gICAgdm9pZCBzZXRQbHVnaW5Mb2FkQ2xpZW50UG9saWN5Rm9yUHJp
dmF0ZUJyb3dzaW5nKFByaXZhdGVCcm93c2luZywgV2ViQ29yZTo6UGx1Z2luTG9hZENsaWVudFBv
bGljeSwgY29uc3QgU3RyaW5nJiBob3N0LCBjb25zdCBTdHJpbmcmIGJ1bmRsZUlkZW50aWZpZXIs
IGNvbnN0IFN0cmluZyYgdmVyc2lvblN0cmluZyk7Ci0gICAgdm9pZCBzZXRQcml2YXRlQnJvd3Np
bmdQbHVnaW5Mb2FkQ2xpZW50UG9saWN5KFdlYkNvcmU6OlBsdWdpbkxvYWRDbGllbnRQb2xpY3ks
IGNvbnN0IFN0cmluZyYgaG9zdCwgY29uc3QgU3RyaW5nJiBidW5kbGVJZGVudGlmaWVyLCBjb25z
dCBTdHJpbmcmIHZlcnNpb25TdHJpbmcpOwotCiAgICAgdm9pZCBjbGVhclBsdWdpbkNsaWVudFBv
bGljaWVzKCk7CiAjZW5kaWYKIApAQCAtNTQyLDcgKzUzOCw2IEBAIHByaXZhdGU6CiAKICNpZiBF
TkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKICAgICBIYXNoTWFwPFN0cmluZywgSGFzaE1hcDxT
dHJpbmcsIEhhc2hNYXA8U3RyaW5nLCB1aW50OF90Pj4+IG1fcGx1Z2luTG9hZENsaWVudFBvbGlj
aWVzOwotICAgIEhhc2hNYXA8U3RyaW5nLCBIYXNoTWFwPFN0cmluZywgSGFzaE1hcDxTdHJpbmcs
IHVpbnQ4X3Q+Pj4gbV9wbHVnaW5Mb2FkQ2xpZW50UG9saWNpZXNGb3JQcml2YXRlQnJvd3Npbmc7
CiAjZW5kaWYKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNwcAppbmRleCA3
MzRiM2IyLi4wMjNjM2QxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuY3BwCkBA
IC0yMTgsMzYgKzIxOCwyOCBAQCB2b2lkIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6Z2V0V2ViVmlz
aWJsZVBsdWdpbkluZm8oY29uc3QgUGFnZSogcGFnZSwgVmVjdG9yPFBsdQogfQogCiAjaWYgUExB
VEZPUk0oTUFDKQotdm9pZCBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OnNldFBsdWdpbkxvYWRDbGll
bnRQb2xpY3lGb3JQcml2YXRlQnJvd3NpbmcoUHJpdmF0ZUJyb3dzaW5nIHByaXZhdGVCcm93c2lu
ZywgUGx1Z2luTG9hZENsaWVudFBvbGljeSBjbGllbnRQb2xpY3ksIGNvbnN0IFN0cmluZyYgaG9z
dCwgY29uc3QgU3RyaW5nJiBidW5kbGVJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHZlcnNpb25T
dHJpbmcpCit2b2lkIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6c2V0UGx1Z2luTG9hZENsaWVudFBv
bGljeShQbHVnaW5Mb2FkQ2xpZW50UG9saWN5IGNsaWVudFBvbGljeSwgY29uc3QgU3RyaW5nJiBo
b3N0LCBjb25zdCBTdHJpbmcmIGJ1bmRsZUlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdmVyc2lv
blN0cmluZykKIHsKICAgICBTdHJpbmcgaG9zdFRvU2V0ID0gaG9zdC5pc051bGwoKSB8fCAhaG9z
dC5sZW5ndGgoKSA/ICIqIiA6IGhvc3Q7CiAgICAgU3RyaW5nIGJ1bmRsZUlkZW50aWZpZXJUb1Nl
dCA9IGJ1bmRsZUlkZW50aWZpZXIuaXNOdWxsKCkgfHwgIWJ1bmRsZUlkZW50aWZpZXIubGVuZ3Ro
KCkgPyAiKiIgOiBidW5kbGVJZGVudGlmaWVyOwogICAgIFN0cmluZyB2ZXJzaW9uU3RyaW5nVG9T
ZXQgPSB2ZXJzaW9uU3RyaW5nLmlzTnVsbCgpIHx8ICF2ZXJzaW9uU3RyaW5nLmxlbmd0aCgpID8g
IioiIDogdmVyc2lvblN0cmluZzsKIAotICAgIGF1dG8mIGhvc3RzVG9QbHVnaW5JZGVudGlmaWVy
RGF0YSA9IHByaXZhdGVCcm93c2luZyA9PSBQcml2YXRlQnJvd3Npbmc6OlllcyA/IG1faG9zdHNU
b1BsdWdpbklkZW50aWZpZXJEYXRhSW5Qcml2YXRlQnJvd3NpbmcgOiBtX2hvc3RzVG9QbHVnaW5J
ZGVudGlmaWVyRGF0YTsKKyAgICBQbHVnaW5Qb2xpY3lNYXBzQnlJZGVudGlmaWVyIHBvbGljaWVz
QnlJZGVudGlmaWVyOworICAgIGlmIChtX2hvc3RzVG9QbHVnaW5JZGVudGlmaWVyRGF0YS5jb250
YWlucyhob3N0VG9TZXQpKQorICAgICAgICBwb2xpY2llc0J5SWRlbnRpZmllciA9IG1faG9zdHNU
b1BsdWdpbklkZW50aWZpZXJEYXRhLmdldChob3N0VG9TZXQpOwogCi0gICAgUGx1Z2luUG9saWN5
TWFwc0J5SWRlbnRpZmllciBwb2xpY2llc0J5SWRlbnRpZmllciA9IGhvc3RzVG9QbHVnaW5JZGVu
dGlmaWVyRGF0YS5nZXQoaG9zdFRvU2V0KTsKLSAgICBQbHVnaW5Mb2FkQ2xpZW50UG9saWNpZXNC
eUJ1bmRsZVZlcnNpb24gdmVyc2lvbnNUb1BvbGljaWVzID0gcG9saWNpZXNCeUlkZW50aWZpZXIu
Z2V0KGJ1bmRsZUlkZW50aWZpZXJUb1NldCk7CisgICAgUGx1Z2luTG9hZENsaWVudFBvbGljaWVz
QnlCdW5kbGVWZXJzaW9uIHZlcnNpb25zVG9Qb2xpY2llczsKKyAgICBpZiAocG9saWNpZXNCeUlk
ZW50aWZpZXIuY29udGFpbnMoYnVuZGxlSWRlbnRpZmllclRvU2V0KSkKKyAgICAgICAgdmVyc2lv
bnNUb1BvbGljaWVzID0gcG9saWNpZXNCeUlkZW50aWZpZXIuZ2V0KGJ1bmRsZUlkZW50aWZpZXJU
b1NldCk7CiAKICAgICB2ZXJzaW9uc1RvUG9saWNpZXMuc2V0KHZlcnNpb25TdHJpbmdUb1NldCwg
Y2xpZW50UG9saWN5KTsKICAgICBwb2xpY2llc0J5SWRlbnRpZmllci5zZXQoYnVuZGxlSWRlbnRp
ZmllclRvU2V0LCB2ZXJzaW9uc1RvUG9saWNpZXMpOwotICAgIGhvc3RzVG9QbHVnaW5JZGVudGlm
aWVyRGF0YS5zZXQoaG9zdFRvU2V0LCBwb2xpY2llc0J5SWRlbnRpZmllcik7Ci19Ci0KLXZvaWQg
V2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpzZXRQbHVnaW5Mb2FkQ2xpZW50UG9saWN5KFBsdWdpbkxv
YWRDbGllbnRQb2xpY3kgY2xpZW50UG9saWN5LCBjb25zdCBTdHJpbmcmIGhvc3QsIGNvbnN0IFN0
cmluZyYgYnVuZGxlSWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB2ZXJzaW9uU3RyaW5nKQotewot
ICAgIHNldFBsdWdpbkxvYWRDbGllbnRQb2xpY3lGb3JQcml2YXRlQnJvd3NpbmcoUHJpdmF0ZUJy
b3dzaW5nOjpObywgY2xpZW50UG9saWN5LCBob3N0LCBidW5kbGVJZGVudGlmaWVyLCB2ZXJzaW9u
U3RyaW5nKTsKLX0KLQotdm9pZCBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OnNldFByaXZhdGVCcm93
c2luZ1BsdWdpbkxvYWRDbGllbnRQb2xpY3koUGx1Z2luTG9hZENsaWVudFBvbGljeSBjbGllbnRQ
b2xpY3ksIGNvbnN0IFN0cmluZyYgaG9zdCwgY29uc3QgU3RyaW5nJiBidW5kbGVJZGVudGlmaWVy
LCBjb25zdCBTdHJpbmcmIHZlcnNpb25TdHJpbmcpCi17Ci0gICAgc2V0UGx1Z2luTG9hZENsaWVu
dFBvbGljeUZvclByaXZhdGVCcm93c2luZyhQcml2YXRlQnJvd3Npbmc6OlllcywgY2xpZW50UG9s
aWN5LCBob3N0LCBidW5kbGVJZGVudGlmaWVyLCB2ZXJzaW9uU3RyaW5nKTsKKyAgICBtX2hvc3Rz
VG9QbHVnaW5JZGVudGlmaWVyRGF0YS5zZXQoaG9zdFRvU2V0LCBwb2xpY2llc0J5SWRlbnRpZmll
cik7CiB9CiAKIHZvaWQgV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpjbGVhclBsdWdpbkNsaWVudFBv
bGljaWVzKCkKIHsKICAgICBtX2hvc3RzVG9QbHVnaW5JZGVudGlmaWVyRGF0YS5jbGVhcigpOwot
ICAgIG1faG9zdHNUb1BsdWdpbklkZW50aWZpZXJEYXRhSW5Qcml2YXRlQnJvd3NpbmcuY2xlYXIo
KTsKIH0KIAogI2VuZGlmCkBAIC0yNTUsMTIgKzI0NywxMSBAQCB2b2lkIFdlYlBsYXRmb3JtU3Ry
YXRlZ2llczo6Y2xlYXJQbHVnaW5DbGllbnRQb2xpY2llcygpCiAjaWYgRU5BQkxFKE5FVFNDQVBF
X1BMVUdJTl9BUEkpCiAjaWYgUExBVEZPUk0oTUFDKQogCi1TdHJpbmcgV2ViUGxhdGZvcm1TdHJh
dGVnaWVzOjpsb25nZXN0TWF0Y2hlZFdpbGRjYXJkSG9zdEZvckhvc3QoY29uc3QgU3RyaW5nJiBo
b3N0LCBQcml2YXRlQnJvd3NpbmcgcHJpdmF0ZUJyb3dzaW5nKSBjb25zdAorU3RyaW5nIFdlYlBs
YXRmb3JtU3RyYXRlZ2llczo6bG9uZ2VzdE1hdGNoZWRXaWxkY2FyZEhvc3RGb3JIb3N0KGNvbnN0
IFN0cmluZyYgaG9zdCkgY29uc3QKIHsKICAgICBTdHJpbmcgbG9uZ2VzdE1hdGNoZWRIb3N0Owog
Ci0gICAgYXV0byYgaG9zdHNUb1BsdWdpbklkZW50aWZpZXJEYXRhID0gcHJpdmF0ZUJyb3dzaW5n
ID09IFByaXZhdGVCcm93c2luZzo6WWVzID8gbV9ob3N0c1RvUGx1Z2luSWRlbnRpZmllckRhdGFJ
blByaXZhdGVCcm93c2luZyA6IG1faG9zdHNUb1BsdWdpbklkZW50aWZpZXJEYXRhOwotICAgIGZv
ciAoYXV0byYga2V5IDogaG9zdHNUb1BsdWdpbklkZW50aWZpZXJEYXRhLmtleXMoKSkgeworICAg
IGZvciAoYXV0byYga2V5IDogbV9ob3N0c1RvUGx1Z2luSWRlbnRpZmllckRhdGEua2V5cygpKSB7
CiAgICAgICAgIGlmIChrZXkuY29udGFpbnMoJyonKSAmJiBrZXkgIT0gIioiICYmIHN0cmluZ01h
dGNoZXNXaWxkY2FyZFN0cmluZyhob3N0LCBrZXkpKSB7CiAgICAgICAgICAgICBpZiAoa2V5Lmxl
bmd0aCgpID4gbG9uZ2VzdE1hdGNoZWRIb3N0Lmxlbmd0aCgpKQogICAgICAgICAgICAgICAgIGxv
bmdlc3RNYXRjaGVkSG9zdCA9IGtleTsKQEAgLTI3Miw0MCArMjYzLDM4IEBAIFN0cmluZyBXZWJQ
bGF0Zm9ybVN0cmF0ZWdpZXM6Omxvbmdlc3RNYXRjaGVkV2lsZGNhcmRIb3N0Rm9ySG9zdChjb25z
dCBTdHJpbmcmIGhvCiAgICAgcmV0dXJuIGxvbmdlc3RNYXRjaGVkSG9zdDsKIH0KIAotYm9vbCBX
ZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OnJlcGxhY2VIb3N0V2l0aE1hdGNoZWRXaWxkY2FyZEhvc3Qo
U3RyaW5nJiBob3N0LCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIFByaXZhdGVCcm93c2luZyBw
cml2YXRlQnJvd3NpbmcpIGNvbnN0Citib29sIFdlYlBsYXRmb3JtU3RyYXRlZ2llczo6cmVwbGFj
ZUhvc3RXaXRoTWF0Y2hlZFdpbGRjYXJkSG9zdChTdHJpbmcmIGhvc3QsIGNvbnN0IFN0cmluZyYg
aWRlbnRpZmllcikgY29uc3QKIHsKLSAgICBTdHJpbmcgbWF0Y2hlZFdpbGRjYXJkSG9zdCA9IGxv
bmdlc3RNYXRjaGVkV2lsZGNhcmRIb3N0Rm9ySG9zdChob3N0LCBwcml2YXRlQnJvd3NpbmcpOwor
ICAgIFN0cmluZyBtYXRjaGVkV2lsZGNhcmRIb3N0ID0gbG9uZ2VzdE1hdGNoZWRXaWxkY2FyZEhv
c3RGb3JIb3N0KGhvc3QpOwogCiAgICAgaWYgKG1hdGNoZWRXaWxkY2FyZEhvc3QuaXNOdWxsKCkp
CiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIGF1dG8mIGhvc3RzVG9QbHVnaW5JZGVudGlm
aWVyRGF0YSA9IHByaXZhdGVCcm93c2luZyA9PSBQcml2YXRlQnJvd3Npbmc6OlllcyA/IG1faG9z
dHNUb1BsdWdpbklkZW50aWZpZXJEYXRhSW5Qcml2YXRlQnJvd3NpbmcgOiBtX2hvc3RzVG9QbHVn
aW5JZGVudGlmaWVyRGF0YTsKLSAgICBhdXRvIHBsdWdJbklkZW50aWZpZXJEYXRhID0gaG9zdHNU
b1BsdWdpbklkZW50aWZpZXJEYXRhLmZpbmQobWF0Y2hlZFdpbGRjYXJkSG9zdCk7Ci0gICAgaWYg
KHBsdWdJbklkZW50aWZpZXJEYXRhID09IGhvc3RzVG9QbHVnaW5JZGVudGlmaWVyRGF0YS5lbmQo
KSB8fCAhcGx1Z0luSWRlbnRpZmllckRhdGEtPnZhbHVlLmNvbnRhaW5zKGlkZW50aWZpZXIpKQor
ICAgIGF1dG8gcGx1Z0luSWRlbnRpZmllckRhdGEgPSBtX2hvc3RzVG9QbHVnaW5JZGVudGlmaWVy
RGF0YS5maW5kKG1hdGNoZWRXaWxkY2FyZEhvc3QpOworICAgIGlmIChwbHVnSW5JZGVudGlmaWVy
RGF0YSA9PSBtX2hvc3RzVG9QbHVnaW5JZGVudGlmaWVyRGF0YS5lbmQoKSB8fCAhcGx1Z0luSWRl
bnRpZmllckRhdGEtPnZhbHVlLmNvbnRhaW5zKGlkZW50aWZpZXIpKQogICAgICAgICByZXR1cm4g
ZmFsc2U7CiAKICAgICBob3N0ID0gbWF0Y2hlZFdpbGRjYXJkSG9zdDsKICAgICByZXR1cm4gdHJ1
ZTsKIH0KIAotYm9vbCBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OnBsdWdpbkxvYWRDbGllbnRQb2xp
Y3lGb3JIb3N0Rm9yUHJpdmF0ZUJyb3dzaW5nKFByaXZhdGVCcm93c2luZyBwcml2YXRlQnJvd3Np
bmcsIGNvbnN0IFN0cmluZyYgaG9zdCwgY29uc3QgUGx1Z2luSW5mbyYgaW5mbywgUGx1Z2luTG9h
ZENsaWVudFBvbGljeSYgcG9saWN5KSBjb25zdAorYm9vbCBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6
OnBsdWdpbkxvYWRDbGllbnRQb2xpY3lGb3JIb3N0KGNvbnN0IFN0cmluZyYgaG9zdCwgY29uc3Qg
UGx1Z2luSW5mbyYgaW5mbywgUGx1Z2luTG9hZENsaWVudFBvbGljeSYgcG9saWN5KSBjb25zdAog
ewogICAgIFN0cmluZyBob3N0VG9Mb29rVXAgPSBob3N0OwogICAgIFN0cmluZyBpZGVudGlmaWVy
ID0gaW5mby5idW5kbGVJZGVudGlmaWVyOwogCi0gICAgYXV0byYgaG9zdHNUb1BsdWdpbklkZW50
aWZpZXJEYXRhID0gcHJpdmF0ZUJyb3dzaW5nID09IFByaXZhdGVCcm93c2luZzo6WWVzID8gbV9o
b3N0c1RvUGx1Z2luSWRlbnRpZmllckRhdGFJblByaXZhdGVCcm93c2luZyA6IG1faG9zdHNUb1Bs
dWdpbklkZW50aWZpZXJEYXRhOwotICAgIGF1dG8gcG9saWNpZXNCeUlkZW50aWZpZXJJdGVyYXRv
ciA9IGhvc3RzVG9QbHVnaW5JZGVudGlmaWVyRGF0YS5maW5kKGhvc3RUb0xvb2tVcCk7CisgICAg
YXV0byBwb2xpY2llc0J5SWRlbnRpZmllckl0ZXJhdG9yID0gbV9ob3N0c1RvUGx1Z2luSWRlbnRp
ZmllckRhdGEuZmluZChob3N0VG9Mb29rVXApOwogCi0gICAgaWYgKCFpZGVudGlmaWVyLmlzTnVs
bCgpICYmIHBvbGljaWVzQnlJZGVudGlmaWVySXRlcmF0b3IgPT0gaG9zdHNUb1BsdWdpbklkZW50
aWZpZXJEYXRhLmVuZCgpKSB7Ci0gICAgICAgIGlmICghcmVwbGFjZUhvc3RXaXRoTWF0Y2hlZFdp
bGRjYXJkSG9zdChob3N0VG9Mb29rVXAsIGlkZW50aWZpZXIsIHByaXZhdGVCcm93c2luZykpCisg
ICAgaWYgKCFpZGVudGlmaWVyLmlzTnVsbCgpICYmIHBvbGljaWVzQnlJZGVudGlmaWVySXRlcmF0
b3IgPT0gbV9ob3N0c1RvUGx1Z2luSWRlbnRpZmllckRhdGEuZW5kKCkpIHsKKyAgICAgICAgaWYg
KCFyZXBsYWNlSG9zdFdpdGhNYXRjaGVkV2lsZGNhcmRIb3N0KGhvc3RUb0xvb2tVcCwgaWRlbnRp
ZmllcikpCiAgICAgICAgICAgICBob3N0VG9Mb29rVXAgPSAiKiI7Ci0gICAgICAgIHBvbGljaWVz
QnlJZGVudGlmaWVySXRlcmF0b3IgPSBob3N0c1RvUGx1Z2luSWRlbnRpZmllckRhdGEuZmluZCho
b3N0VG9Mb29rVXApOwotICAgICAgICBpZiAoaG9zdFRvTG9va1VwICE9ICIqIiAmJiBwb2xpY2ll
c0J5SWRlbnRpZmllckl0ZXJhdG9yID09IGhvc3RzVG9QbHVnaW5JZGVudGlmaWVyRGF0YS5lbmQo
KSkgeworICAgICAgICBwb2xpY2llc0J5SWRlbnRpZmllckl0ZXJhdG9yID0gbV9ob3N0c1RvUGx1
Z2luSWRlbnRpZmllckRhdGEuZmluZChob3N0VG9Mb29rVXApOworICAgICAgICBpZiAoaG9zdFRv
TG9va1VwICE9ICIqIiAmJiBwb2xpY2llc0J5SWRlbnRpZmllckl0ZXJhdG9yID09IG1faG9zdHNU
b1BsdWdpbklkZW50aWZpZXJEYXRhLmVuZCgpKSB7CiAgICAgICAgICAgICBob3N0VG9Mb29rVXAg
PSAiKiI7Ci0gICAgICAgICAgICBwb2xpY2llc0J5SWRlbnRpZmllckl0ZXJhdG9yID0gaG9zdHNU
b1BsdWdpbklkZW50aWZpZXJEYXRhLmZpbmQoaG9zdFRvTG9va1VwKTsKKyAgICAgICAgICAgIHBv
bGljaWVzQnlJZGVudGlmaWVySXRlcmF0b3IgPSBtX2hvc3RzVG9QbHVnaW5JZGVudGlmaWVyRGF0
YS5maW5kKGhvc3RUb0xvb2tVcCk7CiAgICAgICAgIH0KICAgICB9Ci0gICAgaWYgKHBvbGljaWVz
QnlJZGVudGlmaWVySXRlcmF0b3IgPT0gaG9zdHNUb1BsdWdpbklkZW50aWZpZXJEYXRhLmVuZCgp
KQorICAgIGlmIChwb2xpY2llc0J5SWRlbnRpZmllckl0ZXJhdG9yID09IG1faG9zdHNUb1BsdWdp
bklkZW50aWZpZXJEYXRhLmVuZCgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBhdXRv
JiBwb2xpY2llc0J5SWRlbnRpZmllciA9IHBvbGljaWVzQnlJZGVudGlmaWVySXRlcmF0b3ItPnZh
bHVlOwpAQCAtMzU2LDcgKzM0NSw3IEBAIHZvaWQgV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpwb3B1
bGF0ZVBsdWdpbkNhY2hlKGNvbnN0IFdlYkNvcmU6OlBhZ2UmIHBhZ2UpCiAgICAgU3RyaW5nIHBh
Z2VIb3N0ID0gcGFnZS5tYWluRnJhbWUoKS5sb2FkZXIoKS5kb2N1bWVudExvYWRlcigpLT5yZXNw
b25zZVVSTCgpLmhvc3QoKTsKICAgICBmb3IgKFBsdWdpbkluZm8mIGluZm8gOiBtX2NhY2hlZFBs
dWdpbnMpIHsKICAgICAgICAgUGx1Z2luTG9hZENsaWVudFBvbGljeSBjbGllbnRQb2xpY3k7Ci0g
ICAgICAgIGlmIChwbHVnaW5Mb2FkQ2xpZW50UG9saWN5Rm9ySG9zdEZvclByaXZhdGVCcm93c2lu
ZyhwYWdlLnVzZXNFcGhlbWVyYWxTZXNzaW9uKCkgPyBQcml2YXRlQnJvd3Npbmc6OlllcyA6IFBy
aXZhdGVCcm93c2luZzo6Tm8sIHBhZ2VIb3N0LCBpbmZvLCBjbGllbnRQb2xpY3kpKQorICAgICAg
ICBpZiAocGx1Z2luTG9hZENsaWVudFBvbGljeUZvckhvc3QocGFnZUhvc3QsIGluZm8sIGNsaWVu
dFBvbGljeSkpCiAgICAgICAgICAgICBpbmZvLmNsaWVudExvYWRQb2xpY3kgPSBjbGllbnRQb2xp
Y3k7CiAgICAgfQogI2Vsc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmggYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5oCmluZGV4IDA1
NTMxNGUuLjdiODFjNjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmgKKysrIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaApAQCAtNzAs
NyArNzAsNiBAQCBwcml2YXRlOgogICAgIHR5cGVkZWYgSGFzaE1hcDxTdHJpbmcsIFBsdWdpbkxv
YWRDbGllbnRQb2xpY2llc0J5QnVuZGxlVmVyc2lvbj4gUGx1Z2luUG9saWN5TWFwc0J5SWRlbnRp
ZmllcjsKIAogICAgIHZvaWQgc2V0UGx1Z2luTG9hZENsaWVudFBvbGljeShXZWJDb3JlOjpQbHVn
aW5Mb2FkQ2xpZW50UG9saWN5LCBjb25zdCBTdHJpbmcmIGhvc3QsIGNvbnN0IFN0cmluZyYgYnVu
ZGxlSWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiB2ZXJzaW9uU3RyaW5nKSBvdmVycmlkZTsKLSAg
ICB2b2lkIHNldFByaXZhdGVCcm93c2luZ1BsdWdpbkxvYWRDbGllbnRQb2xpY3koV2ViQ29yZTo6
UGx1Z2luTG9hZENsaWVudFBvbGljeSwgY29uc3QgU3RyaW5nJiBob3N0LCBjb25zdCBTdHJpbmcm
IGJ1bmRsZUlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgdmVyc2lvblN0cmluZykgb3ZlcnJpZGU7
CiAgICAgdm9pZCBjbGVhclBsdWdpbkNsaWVudFBvbGljaWVzKCkgb3ZlcnJpZGU7CiAjZW5kaWYK
IApAQCAtMTEzLDEyICsxMTIsOSBAQCBwcml2YXRlOgogCiAjaWYgUExBVEZPUk0oTUFDKQogICAg
IEhhc2hNYXA8U3RyaW5nLCBQbHVnaW5Qb2xpY3lNYXBzQnlJZGVudGlmaWVyPiBtX2hvc3RzVG9Q
bHVnaW5JZGVudGlmaWVyRGF0YTsKLSAgICBIYXNoTWFwPFN0cmluZywgUGx1Z2luUG9saWN5TWFw
c0J5SWRlbnRpZmllcj4gbV9ob3N0c1RvUGx1Z2luSWRlbnRpZmllckRhdGFJblByaXZhdGVCcm93
c2luZzsKLSAgICBlbnVtIGNsYXNzIFByaXZhdGVCcm93c2luZyB7IFllcywgTm8gfTsKLSAgICBT
dHJpbmcgbG9uZ2VzdE1hdGNoZWRXaWxkY2FyZEhvc3RGb3JIb3N0KGNvbnN0IFN0cmluZyYgaG9z
dCwgUHJpdmF0ZUJyb3dzaW5nKSBjb25zdDsKLSAgICBib29sIHBsdWdpbkxvYWRDbGllbnRQb2xp
Y3lGb3JIb3N0Rm9yUHJpdmF0ZUJyb3dzaW5nKFByaXZhdGVCcm93c2luZywgY29uc3QgU3RyaW5n
JiwgY29uc3QgV2ViQ29yZTo6UGx1Z2luSW5mbyYsIFdlYkNvcmU6OlBsdWdpbkxvYWRDbGllbnRQ
b2xpY3kmKSBjb25zdDsKLSAgICBib29sIHJlcGxhY2VIb3N0V2l0aE1hdGNoZWRXaWxkY2FyZEhv
c3QoU3RyaW5nJiBob3N0LCBjb25zdCBTdHJpbmcmIGlkZW50aWZpZXIsIFByaXZhdGVCcm93c2lu
ZykgY29uc3Q7Ci0gICAgdm9pZCBzZXRQbHVnaW5Mb2FkQ2xpZW50UG9saWN5Rm9yUHJpdmF0ZUJy
b3dzaW5nKFByaXZhdGVCcm93c2luZywgV2ViQ29yZTo6UGx1Z2luTG9hZENsaWVudFBvbGljeSwg
Y29uc3QgU3RyaW5nJiBob3N0LCBjb25zdCBTdHJpbmcmIGJ1bmRsZUlkZW50aWZpZXIsIGNvbnN0
IFN0cmluZyYgdmVyc2lvblN0cmluZyk7CisgICAgYm9vbCBwbHVnaW5Mb2FkQ2xpZW50UG9saWN5
Rm9ySG9zdChjb25zdCBTdHJpbmcmLCBjb25zdCBXZWJDb3JlOjpQbHVnaW5JbmZvJiwgV2ViQ29y
ZTo6UGx1Z2luTG9hZENsaWVudFBvbGljeSYpIGNvbnN0OworICAgIFN0cmluZyBsb25nZXN0TWF0
Y2hlZFdpbGRjYXJkSG9zdEZvckhvc3QoY29uc3QgU3RyaW5nJiBob3N0KSBjb25zdDsKKyAgICBi
b29sIHJlcGxhY2VIb3N0V2l0aE1hdGNoZWRXaWxkY2FyZEhvc3QoU3RyaW5nJiBob3N0LCBjb25z
dCBTdHJpbmcmIGlkZW50aWZpZXIpIGNvbnN0OwogI2VuZGlmIC8vIFBMQVRGT1JNKE1BQykKICNl
bmRpZiAvLyBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKIH07CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAppbmRleCAyMzAzMjEzLi5mOTJhMmNiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKQEAgLTM5MCwyNiArMzkwLDE0IEBAIHZv
aWQgV2ViUHJvY2Vzczo6aW5pdGlhbGl6ZVdlYlByb2Nlc3MoV2ViUHJvY2Vzc0NyZWF0aW9uUGFy
YW1ldGVycyYmIHBhcmFtZXRlcnMpCiAjZW5kaWYKIAogI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVH
SU5fQVBJKSAmJiBQTEFURk9STShNQUMpCi0gICAgc2V0UGx1Z2luTG9hZENsaWVudFBvbGljaWVz
KHBhcmFtZXRlcnMucGx1Z2luTG9hZENsaWVudFBvbGljaWVzRm9yUHJpdmF0ZUJyb3dzaW5nLCBQ
cml2YXRlQnJvd3Npbmc6Olllcyk7Ci0gICAgc2V0UGx1Z2luTG9hZENsaWVudFBvbGljaWVzKHBh
cmFtZXRlcnMucGx1Z2luTG9hZENsaWVudFBvbGljaWVzLCBQcml2YXRlQnJvd3Npbmc6Ok5vKTsK
LSNlbmRpZgotfQotCi0jaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpICYmIFBMQVRGT1JN
KE1BQykKLXZvaWQgV2ViUHJvY2Vzczo6c2V0UGx1Z2luTG9hZENsaWVudFBvbGljaWVzKGNvbnN0
IEhhc2hNYXA8U3RyaW5nLCBIYXNoTWFwPFN0cmluZywgSGFzaE1hcDxTdHJpbmcsIHVpbnQ4X3Q+
Pj4gJnBsdWdpblBvbGljaWVzLCBQcml2YXRlQnJvd3NpbmcgcHJpdmF0ZUJyb3dzaW5nKQotewot
ICAgIGZvciAoYXV0byBob3N0SXRlciA9IHBsdWdpblBvbGljaWVzLmJlZ2luKCk7IGhvc3RJdGVy
ICE9IHBsdWdpblBvbGljaWVzLmVuZCgpOyArK2hvc3RJdGVyKSB7CisgICAgZm9yIChhdXRvIGhv
c3RJdGVyID0gcGFyYW1ldGVycy5wbHVnaW5Mb2FkQ2xpZW50UG9saWNpZXMuYmVnaW4oKTsgaG9z
dEl0ZXIgIT0gcGFyYW1ldGVycy5wbHVnaW5Mb2FkQ2xpZW50UG9saWNpZXMuZW5kKCk7ICsraG9z
dEl0ZXIpIHsKICAgICAgICAgZm9yIChhdXRvIGJ1bmRsZUlkZW50aWZpZXJJdGVyID0gaG9zdEl0
ZXItPnZhbHVlLmJlZ2luKCk7IGJ1bmRsZUlkZW50aWZpZXJJdGVyICE9IGhvc3RJdGVyLT52YWx1
ZS5lbmQoKTsgKytidW5kbGVJZGVudGlmaWVySXRlcikgewotICAgICAgICAgICAgZm9yIChhdXRv
IHZlcnNpb25JdGVyID0gYnVuZGxlSWRlbnRpZmllckl0ZXItPnZhbHVlLmJlZ2luKCk7IHZlcnNp
b25JdGVyICE9IGJ1bmRsZUlkZW50aWZpZXJJdGVyLT52YWx1ZS5lbmQoKTsgKyt2ZXJzaW9uSXRl
cikgewotICAgICAgICAgICAgICAgIGlmIChwcml2YXRlQnJvd3NpbmcgPT0gUHJpdmF0ZUJyb3dz
aW5nOjpObykKLSAgICAgICAgICAgICAgICAgICAgcGxhdGZvcm1TdHJhdGVnaWVzKCktPnBsdWdp
blN0cmF0ZWd5KCktPnNldFBsdWdpbkxvYWRDbGllbnRQb2xpY3koc3RhdGljX2Nhc3Q8UGx1Z2lu
TG9hZENsaWVudFBvbGljeT4odmVyc2lvbkl0ZXItPnZhbHVlKSwgaG9zdEl0ZXItPmtleSwgYnVu
ZGxlSWRlbnRpZmllckl0ZXItPmtleSwgdmVyc2lvbkl0ZXItPmtleSk7Ci0gICAgICAgICAgICAg
ICAgZWxzZQotICAgICAgICAgICAgICAgICAgICBwbGF0Zm9ybVN0cmF0ZWdpZXMoKS0+cGx1Z2lu
U3RyYXRlZ3koKS0+c2V0UHJpdmF0ZUJyb3dzaW5nUGx1Z2luTG9hZENsaWVudFBvbGljeShzdGF0
aWNfY2FzdDxQbHVnaW5Mb2FkQ2xpZW50UG9saWN5Pih2ZXJzaW9uSXRlci0+dmFsdWUpLCBob3N0
SXRlci0+a2V5LCBidW5kbGVJZGVudGlmaWVySXRlci0+a2V5LCB2ZXJzaW9uSXRlci0+a2V5KTsK
LSAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGZvciAoYXV0byB2ZXJzaW9uSXRlciA9IGJ1bmRs
ZUlkZW50aWZpZXJJdGVyLT52YWx1ZS5iZWdpbigpOyB2ZXJzaW9uSXRlciAhPSBidW5kbGVJZGVu
dGlmaWVySXRlci0+dmFsdWUuZW5kKCk7ICsrdmVyc2lvbkl0ZXIpCisgICAgICAgICAgICAgICAg
cGxhdGZvcm1TdHJhdGVnaWVzKCktPnBsdWdpblN0cmF0ZWd5KCktPnNldFBsdWdpbkxvYWRDbGll
bnRQb2xpY3koc3RhdGljX2Nhc3Q8UGx1Z2luTG9hZENsaWVudFBvbGljeT4odmVyc2lvbkl0ZXIt
PnZhbHVlKSwgaG9zdEl0ZXItPmtleSwgYnVuZGxlSWRlbnRpZmllckl0ZXItPmtleSwgdmVyc2lv
bkl0ZXItPmtleSk7CiAgICAgICAgIH0KICAgICB9Ci19CiAjZW5kaWYKK30KIAogdm9pZCBXZWJQ
cm9jZXNzOjplbnN1cmVOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24oKQogewpAQCAtODg0LDEzICs4
NzIsNiBAQCB2b2lkIFdlYlByb2Nlc3M6OnNldFBsdWdpbkxvYWRDbGllbnRQb2xpY3kodWludDhf
dCBwb2xpY3ksIGNvbnN0IFN0cmluZyYgaG9zdCwgYwogI2VuZGlmCiB9CiAKLXZvaWQgV2ViUHJv
Y2Vzczo6c2V0UHJpdmF0ZUJyb3dzaW5nUGx1Z2luTG9hZENsaWVudFBvbGljeSh1aW50OF90IHBv
bGljeSwgY29uc3QgU3RyaW5nJiBob3N0LCBjb25zdCBTdHJpbmcmIGJ1bmRsZUlkZW50aWZpZXIs
IGNvbnN0IFN0cmluZyYgdmVyc2lvblN0cmluZykKLXsKLSNpZiBFTkFCTEUoTkVUU0NBUEVfUExV
R0lOX0FQSSkgJiYgUExBVEZPUk0oTUFDKQotICAgIHBsYXRmb3JtU3RyYXRlZ2llcygpLT5wbHVn
aW5TdHJhdGVneSgpLT5zZXRQcml2YXRlQnJvd3NpbmdQbHVnaW5Mb2FkQ2xpZW50UG9saWN5KHN0
YXRpY19jYXN0PFBsdWdpbkxvYWRDbGllbnRQb2xpY3k+KHBvbGljeSksIGhvc3QsIGJ1bmRsZUlk
ZW50aWZpZXIsIHZlcnNpb25TdHJpbmcpOwotI2VuZGlmCi19Ci0KIHZvaWQgV2ViUHJvY2Vzczo6
Y2xlYXJQbHVnaW5DbGllbnRQb2xpY2llcygpCiB7CiAjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJ
Tl9BUEkpICYmIFBMQVRGT1JNKE1BQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUHJvY2Vzcy5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNz
LmgKaW5kZXggNGM3NjAwYy4uMzUwYmRmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
cm9jZXNzLmgKQEAgLTEyOCw3ICsxMjgsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCBwbHVnSW5EaWRT
dGFydEZyb21PcmlnaW4oY29uc3QgU3RyaW5nJiBwYWdlT3JpZ2luLCBjb25zdCBTdHJpbmcmIHBs
dWdpbk9yaWdpbiwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgV2ViQ29yZTo6U2Vzc2lvbklEKTsK
ICAgICB2b2lkIHBsdWdJbkRpZFJlY2VpdmVVc2VySW50ZXJhY3Rpb24oY29uc3QgU3RyaW5nJiBw
YWdlT3JpZ2luLCBjb25zdCBTdHJpbmcmIHBsdWdpbk9yaWdpbiwgY29uc3QgU3RyaW5nJiBtaW1l
VHlwZSwgV2ViQ29yZTo6U2Vzc2lvbklEKTsKICAgICB2b2lkIHNldFBsdWdpbkxvYWRDbGllbnRQ
b2xpY3kodWludDhfdCBwb2xpY3ksIGNvbnN0IFN0cmluZyYgaG9zdCwgY29uc3QgU3RyaW5nJiBi
dW5kbGVJZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIHZlcnNpb25TdHJpbmcpOwotICAgIHZvaWQg
c2V0UHJpdmF0ZUJyb3dzaW5nUGx1Z2luTG9hZENsaWVudFBvbGljeSh1aW50OF90IHBvbGljeSwg
Y29uc3QgU3RyaW5nJiBob3N0LCBjb25zdCBTdHJpbmcmIGJ1bmRsZUlkZW50aWZpZXIsIGNvbnN0
IFN0cmluZyYgdmVyc2lvblN0cmluZyk7CiAgICAgdm9pZCBjbGVhclBsdWdpbkNsaWVudFBvbGlj
aWVzKCk7CiAKICAgICBib29sIGZ1bGxLZXlib2FyZEFjY2Vzc0VuYWJsZWQoKSBjb25zdCB7IHJl
dHVybiBtX2Z1bGxLZXlib2FyZEFjY2Vzc0VuYWJsZWQ7IH0KQEAgLTM3MSwxMCArMzcwLDYgQEAg
cHJpdmF0ZToKICNlbmRpZgogCiAjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCi0jaWYg
UExBVEZPUk0oTUFDKQotICAgIGVudW0gY2xhc3MgUHJpdmF0ZUJyb3dzaW5nIHsgWWVzLCBObyB9
OwotICAgIHZvaWQgc2V0UGx1Z2luTG9hZENsaWVudFBvbGljaWVzKGNvbnN0IEhhc2hNYXA8U3Ry
aW5nLCBIYXNoTWFwPFN0cmluZywgSGFzaE1hcDxTdHJpbmcsIHVpbnQ4X3Q+Pj4mLCBQcml2YXRl
QnJvd3NpbmcpOwotI2VuZGlmCiAgICAgUmVmUHRyPFBsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFu
YWdlcj4gbV9wbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXI7CiAjZW5kaWYKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCmluZGV4IDEw
YTQ1NGMuLjM5YWVkZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UHJvY2Vzcy5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBy
b2Nlc3MubWVzc2FnZXMuaW4KQEAgLTU3LDcgKzU3LDYgQEAgbWVzc2FnZXMgLT4gV2ViUHJvY2Vz
cyBMZWdhY3lSZWNlaXZlciB7CiAgICAgUmVzZXRQbHVnSW5BdXRvU3RhcnRPcmlnaW5EZWZhdWx0
SGFzaGVzKEhhc2hNYXA8dWludDMyX3QsZG91YmxlPiBoYXNoZXMpCiAgICAgUmVzZXRQbHVnSW5B
dXRvU3RhcnRPcmlnaW5IYXNoZXMoSGFzaE1hcDxXZWJDb3JlOjpTZXNzaW9uSUQsIEhhc2hNYXA8
dWludDMyX3QsZG91YmxlPj4gaGFzaGVzKQogICAgIFNldFBsdWdpbkxvYWRDbGllbnRQb2xpY3ko
dWludDhfdCBwb2xpY3ksIFN0cmluZyBob3N0LCBTdHJpbmcgYnVuZGxlSWRlbnRpZmllciwgU3Ry
aW5nIHZlcnNpb25TdHJpbmcpCi0gICAgU2V0UHJpdmF0ZUJyb3dzaW5nUGx1Z2luTG9hZENsaWVu
dFBvbGljeSh1aW50OF90IHBvbGljeSwgU3RyaW5nIGhvc3QsIFN0cmluZyBidW5kbGVJZGVudGlm
aWVyLCBTdHJpbmcgdmVyc2lvblN0cmluZykKICAgICBDbGVhclBsdWdpbkNsaWVudFBvbGljaWVz
KCkKIAogICAgIHZvaWQgU3RhcnRNZW1vcnlTYW1wbGVyKFdlYktpdDo6U2FuZGJveEV4dGVuc2lv
bjo6SGFuZGxlIHNhbXBsZUxvZ0ZpbGVIYW5kbGUsIFN0cmluZyBzYW1wbGVMb2dGaWxlUGF0aCwg
ZG91YmxlIGludGVydmFsKTsKLS0gCjIuNy40IChBcHBsZSBHaXQtNjYpCgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>