<?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>165369</bug_id>
          
          <creation_ts>2016-12-04 13:41:48 -0800</creation_ts>
          <short_desc>Add support for Wasm ctz and popcnt</short_desc>
          <delta_ts>2016-12-04 14:47:31 -0800</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>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 name="Keith Miller">keith_miller</reporter>
          <assigned_to name="Keith Miller">keith_miller</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1256206</commentid>
    <comment_count>0</comment_count>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2016-12-04 13:41:48 -0800</bug_when>
    <thetext>Add support for Wasm ctz and popcnt</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1256207</commentid>
    <comment_count>1</comment_count>
      <attachid>296102</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2016-12-04 13:43:14 -0800</bug_when>
    <thetext>Created attachment 296102
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1256209</commentid>
    <comment_count>2</comment_count>
      <attachid>296104</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2016-12-04 13:48:41 -0800</bug_when>
    <thetext>Created attachment 296104
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1256211</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-12-04 13:50:14 -0800</bug_when>
    <thetext>Attachment 296104 did not pass style-queue:


ERROR: Source/JavaScriptCore/wasm/WasmB3IRGenerator.cpp:799:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/JavaScriptCore/wasm/WasmB3IRGenerator.cpp:810:  More than one command on the same line  [whitespace/newline] [4]
ERROR: Source/JavaScriptCore/assembler/MacroAssemblerX86Common.h:2875:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Total errors found: 3 in 11 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1256212</commentid>
    <comment_count>4</comment_count>
      <attachid>296104</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2016-12-04 14:17:52 -0800</bug_when>
    <thetext>Comment on attachment 296104
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=296104&amp;action=review

r=me

&gt; Source/JavaScriptCore/assembler/MacroAssemblerX86Common.h:2858
&gt; +    static bool supportsBMI1()

I think this should be private.

&gt; Source/JavaScriptCore/assembler/MacroAssemblerX86Common.h:2884
&gt; +    void ctzAfterBsf(RegisterID dst)

This should probably be private too</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1256216</commentid>
    <comment_count>5</comment_count>
      <attachid>296104</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2016-12-04 14:22:01 -0800</bug_when>
    <thetext>Comment on attachment 296104
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=296104&amp;action=review

&gt;&gt; Source/JavaScriptCore/assembler/MacroAssemblerX86Common.h:2858
&gt;&gt; +    static bool supportsBMI1()
&gt; 
&gt; I think this should be private.

This is protected since the X86_64 macro assembler uses it.

&gt;&gt; Source/JavaScriptCore/assembler/MacroAssemblerX86Common.h:2884
&gt;&gt; +    void ctzAfterBsf(RegisterID dst)
&gt; 
&gt; This should probably be private too

ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1256219</commentid>
    <comment_count>6</comment_count>
      <attachid>296104</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-12-04 14:47:27 -0800</bug_when>
    <thetext>Comment on attachment 296104
Patch

Clearing flags on attachment: 296104

Committed r209313: &lt;http://trac.webkit.org/changeset/209313&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1256220</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-12-04 14:47:31 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>296102</attachid>
            <date>2016-12-04 13:43:14 -0800</date>
            <delta_ts>2016-12-04 13:48:38 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-165369-20161204134240.patch</filename>
            <type>text/plain</type>
            <size>17356</size>
            <attacher name="Keith Miller">keith_miller</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA5MzAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBh
MWIzZWQ4MThmYmY4NDhhNjMxMmNlM2U0YmJjYzM4NGExZjNkMTc4Li40ODYxMzYyOGMwODhiMDVi
NWI3ZDlhYTMzNDYzNmMzNmVjZjgxZGNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzMyBAQAorMjAxNi0xMi0wNCAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxl
LmNvbT4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3IgV2FzbSBjdHogYW5kIHBvcGNudAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY1MzY5CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBhc3NlbWJsZXIv
TWFjcm9Bc3NlbWJsZXJBUk02NC5oOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlckFSTTY0
Ojpjb3VudFRyYWlsaW5nWmVyb3MzMik6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyQVJN
NjQ6OmNvdW50VHJhaWxpbmdaZXJvczY0KToKKyAgICAgICAgKiBhc3NlbWJsZXIvTWFjcm9Bc3Nl
bWJsZXJYODZDb21tb24uY3BwOgorICAgICAgICAqIGFzc2VtYmxlci9NYWNyb0Fzc2VtYmxlclg4
NkNvbW1vbi5oOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6Y291bnRU
cmFpbGluZ1plcm9zMzIpOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6
c3VwcG9ydHNCTUkxKToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZDb21tb246OmN0
ekFmdGVyQnNmKToKKyAgICAgICAgKiBhc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODZfNjQuaDoK
KyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZfNjQ6OmNvdW50VHJhaWxpbmdaZXJvczY0
KToKKyAgICAgICAgKiBhc3NlbWJsZXIvWDg2QXNzZW1ibGVyLmg6CisgICAgICAgIChKU0M6Olg4
NkFzc2VtYmxlcjo6dHpjbnRfcnIpOgorICAgICAgICAoSlNDOjpYODZBc3NlbWJsZXI6OnR6Y250
cV9ycik6CisgICAgICAgIChKU0M6Olg4NkFzc2VtYmxlcjo6YnNmX3JyKToKKyAgICAgICAgKEpT
Qzo6WDg2QXNzZW1ibGVyOjpic2ZxX3JyKToKKyAgICAgICAgKiB3YXNtL1dhc21CM0lSR2VuZXJh
dG9yLmNwcDoKKyAgICAgICAgKEpTQzo6V2FzbTo6QjNJUkdlbmVyYXRvcjo6YWRkT3A8T3BUeXBl
OjpJMzJDdHo+KToKKyAgICAgICAgKEpTQzo6V2FzbTo6QjNJUkdlbmVyYXRvcjo6YWRkT3A8T3BU
eXBlOjpJNjRDdHo+KToKKyAgICAgICAgKEpTQzo6V2FzbTo6QjNJUkdlbmVyYXRvcjo6YWRkT3A8
T3BUeXBlOjpJMzJQb3BjbnQ+KToKKyAgICAgICAgKEpTQzo6V2FzbTo6QjNJUkdlbmVyYXRvcjo6
YWRkT3A8T3BUeXBlOjpJNjRQb3BjbnQ+KToKKyAgICAgICAgKiB3YXNtL1dhc21GdW5jdGlvblBh
cnNlci5oOgorICAgICAgICAoSlNDOjpXYXNtOjpGdW5jdGlvblBhcnNlcjxDb250ZXh0Pjo6cGFy
c2VFeHByZXNzaW9uKToKKwogMjAxNi0xMi0wMiAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVy
QGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgV2FzbSBjb3B5c2lnbgpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlckFSTTY0LmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNNjQuaAppbmRleCAw
MDI3YTg0YTZjNThiZTk2OGNmZTgzNDRkZGU1NDUyMjQ0OWRjNDA1Li42MzM0ZmJmNGIyN2IzOGI1
NTg2ZGFlOTZlMTcxYTcxNGE5ODBhMDRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNNjQuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNNjQuaApAQCAtNDI3LDYgKzQyNywyMCBA
QCBwdWJsaWM6CiAgICAgICAgIG1fYXNzZW1ibGVyLmNsejw2ND4oZGVzdCwgc3JjKTsKICAgICB9
CiAKKyAgICB2b2lkIGNvdW50VHJhaWxpbmdaZXJvczMyKFJlZ2lzdGVySUQgc3JjLCBSZWdpc3Rl
cklEIGRlc3QpCisgICAgeworICAgICAgICAvLyBBcm0gZG9lcyBub3QgaGF2ZSBhIGNvdW50IHRy
YWlsaW5nIHplcm9zIG9ubHkgYSBjb3VudCBsZWFkaW5nIHplcm9zLgorICAgICAgICBtX2Fzc2Vt
Ymxlci5yYml0PDMyPihkZXN0LCBzcmMpOworICAgICAgICBtX2Fzc2VtYmxlci5jbHo8MzI+KGRl
c3QsIGRlc3QpOworICAgIH0KKworICAgIHZvaWQgY291bnRUcmFpbGluZ1plcm9zNjQoUmVnaXN0
ZXJJRCBzcmMsIFJlZ2lzdGVySUQgZGVzdCkKKyAgICB7CisgICAgICAgIC8vIEFybSBkb2VzIG5v
dCBoYXZlIGEgY291bnQgdHJhaWxpbmcgemVyb3Mgb25seSBhIGNvdW50IGxlYWRpbmcgemVyb3Mu
CisgICAgICAgIG1fYXNzZW1ibGVyLnJiaXQ8NjQ+KGRlc3QsIHNyYyk7CisgICAgICAgIG1fYXNz
ZW1ibGVyLmNsejw2ND4oZGVzdCwgZGVzdCk7CisgICAgfQorCiAgICAgdm9pZCBsc2hpZnQzMihS
ZWdpc3RlcklEIHNyYywgUmVnaXN0ZXJJRCBzaGlmdEFtb3VudCwgUmVnaXN0ZXJJRCBkZXN0KQog
ICAgIHsKICAgICAgICAgbV9hc3NlbWJsZXIubHNsPDMyPihkZXN0LCBzcmMsIHNoaWZ0QW1vdW50
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3Nl
bWJsZXJYODZDb21tb24uY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNy
b0Fzc2VtYmxlclg4NkNvbW1vbi5jcHAKaW5kZXggODc1MTIyNTYyZjg0OWU2ZWY1OTIxMjQzNjBi
N2Q3NDY2ZTkxYjJiMC4uNTI4YzYwZmE1NDVkYWFkMzIxYzNmZmNjMDEwYzQyNzM4MTk4OWEwZSAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxl
clg4NkNvbW1vbi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNy
b0Fzc2VtYmxlclg4NkNvbW1vbi5jcHAKQEAgLTU1NSw2ICs1NTUsNyBAQCBNYWNyb0Fzc2VtYmxl
clg4NkNvbW1vbjo6U1NFMkNoZWNrU3RhdGUgTWFjcm9Bc3NlbWJsZXJYODZDb21tb246OnNfc3Nl
MkNoZWNrU3RhdAogTWFjcm9Bc3NlbWJsZXJYODZDb21tb246OkNQVUlEQ2hlY2tTdGF0ZSBNYWNy
b0Fzc2VtYmxlclg4NkNvbW1vbjo6c19zc2U0XzFDaGVja1N0YXRlID0gQ1BVSURDaGVja1N0YXRl
OjpOb3RDaGVja2VkOwogTWFjcm9Bc3NlbWJsZXJYODZDb21tb246OkNQVUlEQ2hlY2tTdGF0ZSBN
YWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6c19hdnhDaGVja1N0YXRlID0gQ1BVSURDaGVja1N0YXRl
OjpOb3RDaGVja2VkOwogTWFjcm9Bc3NlbWJsZXJYODZDb21tb246OkNQVUlEQ2hlY2tTdGF0ZSBN
YWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6c19semNudENoZWNrU3RhdGUgPSBDUFVJRENoZWNrU3Rh
dGU6Ok5vdENoZWNrZWQ7CitNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6Q1BVSURDaGVja1N0YXRl
IE1hY3JvQXNzZW1ibGVyWDg2Q29tbW9uOjpzX2JtaTFDaGVja1N0YXRlID0gQ1BVSURDaGVja1N0
YXRlOjpOb3RDaGVja2VkOwogCiB9IC8vIG5hbWVzcGFjZSBKU0MKIApkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlclg4NkNvbW1vbi5oIGIv
U291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlclg4NkNvbW1vbi5o
CmluZGV4IDQzMTg3NmIyMmMyMjI4ZmQ0OGY0NGM4ZGJmZDJlM2FkZTUwOGM5NzQuLmJlZGIwNmJl
MTIyOTc5Y2UzNjdmYmQ2YmFhZmM0MTdlMmNlY2RlZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODZDb21tb24uaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2Q29tbW9uLmgKQEAg
LTMxMyw2ICszMTMsMTYgQEAgcHVibGljOgogICAgICAgICBjbHozMkFmdGVyQnNyKGRzdCk7CiAg
ICAgfQogCisgICAgdm9pZCBjb3VudFRyYWlsaW5nWmVyb3MzMihSZWdpc3RlcklEIHNyYywgUmVn
aXN0ZXJJRCBkc3QpCisgICAgeworICAgICAgICBpZiAoc3VwcG9ydHNCTUkxKCkpIHsKKyAgICAg
ICAgICAgIG1fYXNzZW1ibGVyLnR6Y250X3JyKHNyYywgZHN0KTsKKyAgICAgICAgICAgIHJldHVy
bjsKKyAgICAgICAgfQorICAgICAgICBtX2Fzc2VtYmxlci5ic2ZfcnIoc3JjLCBkc3QpOworICAg
ICAgICBjdHpBZnRlckJzZjwzMj4oZHN0KTsKKyAgICB9CisKICAgICB2b2lkIGxzaGlmdDMyKFJl
Z2lzdGVySUQgc2hpZnRfYW1vdW50LCBSZWdpc3RlcklEIGRlc3QpCiAgICAgewogICAgICAgICBp
ZiAoc2hpZnRfYW1vdW50ID09IFg4NlJlZ2lzdGVyczo6ZWN4KQpAQCAtMjg0NSw2ICsyODU1LDM5
IEBAIHByb3RlY3RlZDoKICAgICAgICAgcmV0dXJuIHNfbHpjbnRDaGVja1N0YXRlID09IENQVUlE
Q2hlY2tTdGF0ZTo6U2V0OwogICAgIH0KIAorICAgIHN0YXRpYyBib29sIHN1cHBvcnRzQk1JMSgp
CisgICAgeworICAgICAgICBpZiAoc19ibWkxQ2hlY2tTdGF0ZSA9PSBDUFVJRENoZWNrU3RhdGU6
Ok5vdENoZWNrZWQpIHsKKyAgICAgICAgICAgIGludCBmbGFncyA9IDA7CisjaWYgQ09NUElMRVIo
TVNWQykKKyAgICAgICAgICAgIGludCBjcHVJbmZvWzRdOworICAgICAgICAgICAgX19jcHVpZChj
cHVJbmZvLCAweDgwMDAwMDAxKTsKKyAgICAgICAgICAgIGZsYWdzID0gY3B1SW5mb1syXTsKKyNl
bGlmIENPTVBJTEVSKEdDQ19PUl9DTEFORykKKyAgICAgICAgICAgIGFzbSAoCisgICAgICAgICAg
ICAgICAgICJtb3ZsICQweDcsICUlZWF4OyIKKyAgICAgICAgICAgICAgICAgIm1vdmwgJDB4MCwg
JSVlY3g7IgorICAgICAgICAgICAgICAgICAiY3B1aWQ7IgorICAgICAgICAgICAgICAgICAibW92
bCAlJWVieCwgJTA7IgorICAgICAgICAgICAgICAgICA6ICI9ZyIgKGZsYWdzKQorICAgICAgICAg
ICAgICAgICA6CisgICAgICAgICAgICAgICAgIDogIiVlYXgiLCAiJWVieCIsICIlZWN4IiwgIiVl
ZHgiCisgICAgICAgICAgICAgICAgICk7CisjZW5kaWYgLy8gQ09NUElMRVIoR0NDX09SX0NMQU5H
KQorICAgICAgICAgICAgc3RhdGljIGludCBCTUkxRmVhdHVyZUJpdCA9IDEgPDwgMzsKKyAgICAg
ICAgICAgIHNfYm1pMUNoZWNrU3RhdGUgPSAoZmxhZ3MgJiBCTUkxRmVhdHVyZUJpdCkgPyBDUFVJ
RENoZWNrU3RhdGU6OlNldCA6IENQVUlEQ2hlY2tTdGF0ZTo6Q2xlYXI7CisgICAgICAgIH0KKyAg
ICAgICAgcmV0dXJuIHNfYm1pMUNoZWNrU3RhdGUgPT0gQ1BVSURDaGVja1N0YXRlOjpTZXQ7Cisg
ICAgfQorCisgICAgdGVtcGxhdGU8aW50IHNpemVPZlJlZ2lzdGVyPgorICAgIHZvaWQgY3R6QWZ0
ZXJCc2YoUmVnaXN0ZXJJRCBkc3QpCisgICAgeworICAgICAgICBKdW1wIHNyY0lzTm9uWmVybyA9
IG1fYXNzZW1ibGVyLmpDQyh4ODZDb25kaXRpb24oTm9uWmVybykpOworICAgICAgICBtb3ZlKFRy
dXN0ZWRJbW0zMihzaXplT2ZSZWdpc3RlciksIGRzdCk7CisgICAgICAgIHNyY0lzTm9uWmVyby5s
aW5rKHRoaXMpOworICAgIH0KKwogcHJpdmF0ZToKICAgICAvLyBPbmx5IE1hY3JvQXNzZW1ibGVy
WDg2IHNob3VsZCBiZSB1c2luZyB0aGUgZm9sbG93aW5nIG1ldGhvZDsgU1NFMiBpcyBhbHdheXMg
YXZhaWxhYmxlIG9uCiAgICAgLy8geDg2XzY0LCBhbmQgY2xpZW50cyAmIHN1YmNsYXNzZXMgb2Yg
TWFjcm9Bc3NlbWJsZXIgc2hvdWxkIGJlIHVzaW5nICdzdXBwb3J0c0Zsb2F0aW5nUG9pbnQoKScu
CkBAIC0zMDE1LDYgKzMwNTgsNyBAQCBwcml2YXRlOgogICAgIH07CiAgICAgSlNfRVhQT1JUX1BS
SVZBVEUgc3RhdGljIENQVUlEQ2hlY2tTdGF0ZSBzX3NzZTRfMUNoZWNrU3RhdGU7CiAgICAgSlNf
RVhQT1JUX1BSSVZBVEUgc3RhdGljIENQVUlEQ2hlY2tTdGF0ZSBzX2F2eENoZWNrU3RhdGU7Cisg
ICAgc3RhdGljIENQVUlEQ2hlY2tTdGF0ZSBzX2JtaTFDaGVja1N0YXRlOwogICAgIHN0YXRpYyBD
UFVJRENoZWNrU3RhdGUgc19semNudENoZWNrU3RhdGU7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2XzY0LmggYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2XzY0LmgKaW5kZXgg
NjczMDhkZTEwYmZlMjlhNjcyODdlOGM0YzkyODVkZGEzZDFkMzA2Yy4uNTA3NmFlYjY3NTk3NjEy
M2UwNGVkNTgwODIwZDlmMGVjMGQ2ZDE5ZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlclg4Nl82NC5oCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODZfNjQuaApAQCAtMzkxLDYgKzM5MSwx
NiBAQCBwdWJsaWM6CiAgICAgICAgIGNsejY0QWZ0ZXJCc3IoZHN0KTsKICAgICB9CiAKKyAgICB2
b2lkIGNvdW50VHJhaWxpbmdaZXJvczY0KFJlZ2lzdGVySUQgc3JjLCBSZWdpc3RlcklEIGRzdCkK
KyAgICB7CisgICAgICAgIGlmIChzdXBwb3J0c0JNSTEoKSkgeworICAgICAgICAgICAgbV9hc3Nl
bWJsZXIudHpjbnRxX3JyKHNyYywgZHN0KTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAg
fQorICAgICAgICBtX2Fzc2VtYmxlci5ic2ZxX3JyKHNyYywgZHN0KTsKKyAgICAgICAgY3R6QWZ0
ZXJCc2Y8NjQ+KGRzdCk7CisgICAgfQorCiAgICAgdm9pZCBsc2hpZnQ2NChUcnVzdGVkSW1tMzIg
aW1tLCBSZWdpc3RlcklEIGRlc3QpCiAgICAgewogICAgICAgICBtX2Fzc2VtYmxlci5zaGxxX2k4
cihpbW0ubV92YWx1ZSwgZGVzdCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
YXNzZW1ibGVyL1g4NkFzc2VtYmxlci5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxl
ci9YODZBc3NlbWJsZXIuaAppbmRleCA4MzIzMzYwMWU5MWJkYjQ5YTY4MWI3YTU5N2VjMjA3NTgz
NDE3YTM3Li5kMmRkZmY4N2Y4Y2MwZjYyMzBiZDEzY2Q0ZWYxYmY2MmI1OWYyOWU1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL1g4NkFzc2VtYmxlci5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvWDg2QXNzZW1ibGVyLmgKQEAgLTI4OCw2
ICsyODgsOCBAQCBwcml2YXRlOgogICAgICAgICBPUDJfM0JZVEVfRVNDQVBFX0FFID0gMHhBRSwK
ICAgICAgICAgT1AyX0lNVUxfR3ZFdiAgICAgICA9IDB4QUYsCiAgICAgICAgIE9QMl9NT1ZaWF9H
dkViICAgICAgPSAweEI2LAorICAgICAgICBPUDJfQlNGICAgICAgICAgICAgID0gMHhCQywKKyAg
ICAgICAgT1AyX1RaQ05UICAgICAgICAgICA9IDB4QkMsCiAgICAgICAgIE9QMl9CU1IgICAgICAg
ICAgICAgPSAweEJELAogICAgICAgICBPUDJfTFpDTlQgICAgICAgICAgID0gMHhCRCwKICAgICAg
ICAgT1AyX01PVlNYX0d2RWIgICAgICA9IDB4QkUsCkBAIC0xMDE4LDYgKzEwMjAsMzIgQEAgcHVi
bGljOgogICAgIH0KICNlbmRpZgogCisgICAgdm9pZCB0emNudF9ycihSZWdpc3RlcklEIHNyYywg
UmVnaXN0ZXJJRCBkc3QpCisgICAgeworICAgICAgICBtX2Zvcm1hdHRlci5wcmVmaXgoUFJFX1NT
RV9GMyk7CisgICAgICAgIG1fZm9ybWF0dGVyLnR3b0J5dGVPcChPUDJfVFpDTlQsIGRzdCwgc3Jj
KTsKKyAgICB9CisKKyNpZiBDUFUoWDg2XzY0KQorICAgIHZvaWQgdHpjbnRxX3JyKFJlZ2lzdGVy
SUQgc3JjLCBSZWdpc3RlcklEIGRzdCkKKyAgICB7CisgICAgICAgIG1fZm9ybWF0dGVyLnByZWZp
eChQUkVfU1NFX0YzKTsKKyAgICAgICAgbV9mb3JtYXR0ZXIudHdvQnl0ZU9wNjQoT1AyX1RaQ05U
LCBkc3QsIHNyYyk7CisgICAgfQorI2VuZGlmCisKKyAgICB2b2lkIGJzZl9ycihSZWdpc3RlcklE
IHNyYywgUmVnaXN0ZXJJRCBkc3QpCisgICAgeworICAgICAgICBtX2Zvcm1hdHRlci50d29CeXRl
T3AoT1AyX0JTRiwgZHN0LCBzcmMpOworICAgIH0KKworI2lmIENQVShYODZfNjQpCisgICAgdm9p
ZCBic2ZxX3JyKFJlZ2lzdGVySUQgc3JjLCBSZWdpc3RlcklEIGRzdCkKKyAgICB7CisgICAgICAg
IG1fZm9ybWF0dGVyLnR3b0J5dGVPcDY0KE9QMl9CU0YsIGRzdCwgc3JjKTsKKyAgICB9CisjZW5k
aWYKKwogcHJpdmF0ZToKICAgICB0ZW1wbGF0ZTxHcm91cE9wY29kZUlEIG9wPgogICAgIHZvaWQg
c2hpZnRJbnN0cnVjdGlvbjMyKGludCBpbW0sIFJlZ2lzdGVySUQgZHN0KQpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUIzSVJHZW5lcmF0b3IuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUIzSVJHZW5lcmF0b3IuY3BwCmluZGV4IGRjZjY3MzQz
N2ZiM2UzMzFiODdkMGU4YTI4MTMyZTkzNGNjYTQ4OWIuLjkwYjc1Y2EyMTY0Mjg0YjMwOWE0YWJj
ZWZhOTUxYmMzOWZhY2EwMGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNt
L1dhc21CM0lSR2VuZXJhdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9X
YXNtQjNJUkdlbmVyYXRvci5jcHAKQEAgLTI5LDYgKzI5LDcgQEAKICNpZiBFTkFCTEUoV0VCQVNT
RU1CTFkpCiAKICNpbmNsdWRlICJCM0Jhc2ljQmxvY2tJbmxpbmVzLmgiCisjaW5jbHVkZSAiQjND
Q2FsbFZhbHVlLmgiCiAjaW5jbHVkZSAiQjNDb25zdFB0clZhbHVlLmgiCiAjaW5jbHVkZSAiQjNG
aXhTU0EuaCIKICNpbmNsdWRlICJCM1N0YWNrbWFwR2VuZXJhdGlvblBhcmFtcy5oIgpAQCAtNzQ0
LDYgKzc0NSw1NCBAQCBzdGQ6OnVuaXF1ZV9wdHI8RnVuY3Rpb25Db21waWxhdGlvbj4gcGFyc2VB
bmRDb21waWxlKFZNJiB2bSwgY29uc3QgdWludDhfdCogZnVuYwogLy8gQ3VzdG9tIHdhc20gb3Bz
LiBUaGVzZSBhcmUgdGhlIG9uZXMgdG9vIG1lc3N5IHRvIGRvIGluIHdhc20uanNvbi4KIAogdGVt
cGxhdGU8PgorYm9vbCBCM0lSR2VuZXJhdG9yOjphZGRPcDxPcFR5cGU6OkkzMkN0ej4oRXhwcmVz
c2lvblR5cGUgYXJnLCBFeHByZXNzaW9uVHlwZSYgcmVzdWx0KQoreworICAgIFBhdGNocG9pbnRW
YWx1ZSogcGF0Y2hwb2ludCA9IG1fY3VycmVudEJsb2NrLT5hcHBlbmROZXc8UGF0Y2hwb2ludFZh
bHVlPihtX3Byb2MsIEludDMyLCBPcmlnaW4oKSk7CisgICAgcGF0Y2hwb2ludC0+YXBwZW5kKGFy
ZywgVmFsdWVSZXA6OlNvbWVSZWdpc3Rlcik7CisgICAgcGF0Y2hwb2ludC0+c2V0R2VuZXJhdG9y
KFs9XSAoQ0NhbGxIZWxwZXJzJiBqaXQsIGNvbnN0IFN0YWNrbWFwR2VuZXJhdGlvblBhcmFtcyYg
cGFyYW1zKSB7CisgICAgICAgIGppdC5jb3VudFRyYWlsaW5nWmVyb3MzMihwYXJhbXNbMV0uZ3By
KCksIHBhcmFtc1swXS5ncHIoKSk7CisgICAgfSk7CisgICAgcGF0Y2hwb2ludC0+ZWZmZWN0cyA9
IEVmZmVjdHM6Om5vbmUoKTsKKyAgICByZXN1bHQgPSBwYXRjaHBvaW50OworICAgIHJldHVybiB0
cnVlOworfQorCit0ZW1wbGF0ZTw+Citib29sIEIzSVJHZW5lcmF0b3I6OmFkZE9wPE9wVHlwZTo6
STY0Q3R6PihFeHByZXNzaW9uVHlwZSBhcmcsIEV4cHJlc3Npb25UeXBlJiByZXN1bHQpCit7Cisg
ICAgUGF0Y2hwb2ludFZhbHVlKiBwYXRjaHBvaW50ID0gbV9jdXJyZW50QmxvY2stPmFwcGVuZE5l
dzxQYXRjaHBvaW50VmFsdWU+KG1fcHJvYywgSW50NjQsIE9yaWdpbigpKTsKKyAgICBwYXRjaHBv
aW50LT5hcHBlbmQoYXJnLCBWYWx1ZVJlcDo6U29tZVJlZ2lzdGVyKTsKKyAgICBwYXRjaHBvaW50
LT5zZXRHZW5lcmF0b3IoWz1dIChDQ2FsbEhlbHBlcnMmIGppdCwgY29uc3QgU3RhY2ttYXBHZW5l
cmF0aW9uUGFyYW1zJiBwYXJhbXMpIHsKKyAgICAgICAgaml0LmNvdW50VHJhaWxpbmdaZXJvczY0
KHBhcmFtc1sxXS5ncHIoKSwgcGFyYW1zWzBdLmdwcigpKTsKKyAgICB9KTsKKyAgICBwYXRjaHBv
aW50LT5lZmZlY3RzID0gRWZmZWN0czo6bm9uZSgpOworICAgIHJlc3VsdCA9IHBhdGNocG9pbnQ7
CisgICAgcmV0dXJuIHRydWU7Cit9CisKK3RlbXBsYXRlPD4KK2Jvb2wgQjNJUkdlbmVyYXRvcjo6
YWRkT3A8T3BUeXBlOjpJMzJQb3BjbnQ+KEV4cHJlc3Npb25UeXBlIGFyZywgRXhwcmVzc2lvblR5
cGUmIHJlc3VsdCkKK3sKKyAgICAvLyBGSVhNRTogVGhpcyBzaG91bGQgdXNlIHRoZSBwb3BjbnQg
aW5zdHJ1Y3Rpb24gaWYgU1NFNCBpcyBhdmFpbGFibGUgYnV0IHdlIGRvbid0IGhhdmUgY29kZSB0
byBkZXRlY3QgU1NFNCB5ZXQuCisgICAgLy8gc2VlOiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTY1MzYzCisgICAgdWludDMyX3QgKCpwb3Bjb3VudCkoaW50MzJfdCkg
PSBbXSAoaW50MzJfdCB2YWx1ZSkgLT4gdWludDMyX3QgeyByZXR1cm4gX19idWlsdGluX3BvcGNv
dW50KHZhbHVlKTsgfTsKKyAgICBWYWx1ZSogZnVuY0FkZHJlc3MgPSBtX2N1cnJlbnRCbG9jay0+
YXBwZW5kTmV3PENvbnN0UHRyVmFsdWU+KG1fcHJvYywgT3JpZ2luKCksIGJpdHdpc2VfY2FzdDx2
b2lkKj4ocG9wY291bnQpKTsKKyAgICByZXN1bHQgPSBtX2N1cnJlbnRCbG9jay0+YXBwZW5kTmV3
PENDYWxsVmFsdWU+KG1fcHJvYywgSW50MzIsIE9yaWdpbigpLCBFZmZlY3RzOjpub25lKCksIGZ1
bmNBZGRyZXNzLCBhcmcpOworICAgIHJldHVybiB0cnVlOworfQorCit0ZW1wbGF0ZTw+Citib29s
IEIzSVJHZW5lcmF0b3I6OmFkZE9wPE9wVHlwZTo6STY0UG9wY250PihFeHByZXNzaW9uVHlwZSBh
cmcsIEV4cHJlc3Npb25UeXBlJiByZXN1bHQpCit7CisgICAgLy8gRklYTUU6IFRoaXMgc2hvdWxk
IHVzZSB0aGUgcG9wY250IGluc3RydWN0aW9uIGlmIFNTRTQgaXMgYXZhaWxhYmxlIGJ1dCB3ZSBk
b24ndCBoYXZlIGNvZGUgdG8gZGV0ZWN0IFNTRTQgeWV0LgorICAgIC8vIHNlZTogaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NTM2MworICAgIHVpbnQ2NF90ICgqcG9w
Y291bnQpKGludDY0X3QpID0gW10gKGludDY0X3QgdmFsdWUpIC0+IHVpbnQ2NF90IHsgcmV0dXJu
IF9fYnVpbHRpbl9wb3Bjb3VudGxsKHZhbHVlKTsgfTsKKyAgICBWYWx1ZSogZnVuY0FkZHJlc3Mg
PSBtX2N1cnJlbnRCbG9jay0+YXBwZW5kTmV3PENvbnN0UHRyVmFsdWU+KG1fcHJvYywgT3JpZ2lu
KCksIGJpdHdpc2VfY2FzdDx2b2lkKj4ocG9wY291bnQpKTsKKyAgICByZXN1bHQgPSBtX2N1cnJl
bnRCbG9jay0+YXBwZW5kTmV3PENDYWxsVmFsdWU+KG1fcHJvYywgSW50NjQsIE9yaWdpbigpLCBF
ZmZlY3RzOjpub25lKCksIGZ1bmNBZGRyZXNzLCBhcmcpOworICAgIHJldHVybiB0cnVlOworfQor
Cit0ZW1wbGF0ZTw+CiBib29sIEIzSVJHZW5lcmF0b3I6OmFkZE9wPEY2NENvbnZlcnRVSTY0PihF
eHByZXNzaW9uVHlwZSBhcmcsIEV4cHJlc3Npb25UeXBlJiByZXN1bHQpCiB7CiAgICAgUGF0Y2hw
b2ludFZhbHVlKiBwYXRjaHBvaW50ID0gbV9jdXJyZW50QmxvY2stPmFwcGVuZE5ldzxQYXRjaHBv
aW50VmFsdWU+KG1fcHJvYywgRG91YmxlLCBPcmlnaW4oKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtRnVuY3Rpb25QYXJzZXIuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS93YXNtL1dhc21GdW5jdGlvblBhcnNlci5oCmluZGV4IDg3NWIyZmRhYzk5ODYxNmU4
MmY5YjZlNGNlMzgzY2EzNGQ3ODg5MTguLmMyN2E1NTI4MjQxMmU4MjNlN2M3ZDk5ZDkyZDMxNGM4
YzczM2RjMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21GdW5j
dGlvblBhcnNlci5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21GdW5jdGlv
blBhcnNlci5oCkBAIC0yMTcsNiArMjE3LDEwIEBAIGJvb2wgRnVuY3Rpb25QYXJzZXI8Q29udGV4
dD46OnBhcnNlRXhwcmVzc2lvbihPcFR5cGUgb3ApCiAgICAgY2FzZSBPcFR5cGU6OkY2NE5lYXJl
c3Q6IHJldHVybiB1bmFyeUNhc2U8T3BUeXBlOjpGNjROZWFyZXN0PigpOwogICAgIGNhc2UgT3BU
eXBlOjpGMzJUcnVuYzogcmV0dXJuIHVuYXJ5Q2FzZTxPcFR5cGU6OkYzMlRydW5jPigpOwogICAg
IGNhc2UgT3BUeXBlOjpGNjRUcnVuYzogcmV0dXJuIHVuYXJ5Q2FzZTxPcFR5cGU6OkY2NFRydW5j
PigpOworICAgIGNhc2UgT3BUeXBlOjpJMzJDdHo6IHJldHVybiB1bmFyeUNhc2U8T3BUeXBlOjpJ
MzJDdHo+KCk7CisgICAgY2FzZSBPcFR5cGU6Okk2NEN0ejogcmV0dXJuIHVuYXJ5Q2FzZTxPcFR5
cGU6Okk2NEN0ej4oKTsKKyAgICBjYXNlIE9wVHlwZTo6STMyUG9wY250OiByZXR1cm4gdW5hcnlD
YXNlPE9wVHlwZTo6STMyUG9wY250PigpOworICAgIGNhc2UgT3BUeXBlOjpJNjRQb3BjbnQ6IHJl
dHVybiB1bmFyeUNhc2U8T3BUeXBlOjpJNjRQb3BjbnQ+KCk7CiAjZGVmaW5lIENSRUFURV9DQVNF
KG5hbWUsIGlkLCBiM29wKSBjYXNlIE9wVHlwZTo6bmFtZTogcmV0dXJuIHVuYXJ5Q2FzZTxPcFR5
cGU6Om5hbWU+KCk7CiAgICAgRk9SX0VBQ0hfV0FTTV9TSU1QTEVfVU5BUllfT1AoQ1JFQVRFX0NB
U0UpCiAjdW5kZWYgQ1JFQVRFX0NBU0UKZGlmZiAtLWdpdCBhL0pTVGVzdHMvQ2hhbmdlTG9nIGIv
SlNUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMjEwYzg4YmVhNDRlNDllMjkzZTE2ZGI0YzFkMWVkMzgx
MGFlZmY5Mi4uNGJmYTgzOTg5MzMyYWRkYjYyM2QxNDBkMTQ1MTE4NWMzOTRiOTIwZiAxMDA2NDQK
LS0tIGEvSlNUZXN0cy9DaGFuZ2VMb2cKKysrIGIvSlNUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxMyBAQAorMjAxNi0xMi0wNCAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxlLmNv
bT4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3IgV2FzbSBjdHogYW5kIHBvcGNudAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY1MzY5CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3YXNtL2Z1bmN0aW9u
LXRlc3RzL2N0ei5qczogQWRkZWQuCisgICAgICAgICogd2FzbS9mdW5jdGlvbi10ZXN0cy9wb3Bj
bnQuanM6IEFkZGVkLgorCiAyMDE2LTEyLTAyICBLZWl0aCBNaWxsZXIgIDxrZWl0aF9taWxsZXJA
YXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBXYXNtIGNvcHlzaWduCmRpZmYgLS1naXQgYS9KU1Rl
c3RzL3dhc20vZnVuY3Rpb24tdGVzdHMvY3R6LmpzIGIvSlNUZXN0cy93YXNtL2Z1bmN0aW9uLXRl
c3RzL2N0ei5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40OTZiMzQwZjM1YmRlZWUxMGNiYjAyM2Y4ZTQzOTFkNjcw
YWRhN2I1Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy93YXNtL2Z1bmN0aW9uLXRlc3RzL2N0
ei5qcwpAQCAtMCwwICsxLDM1IEBACitpbXBvcnQgQnVpbGRlciBmcm9tICcuLi9CdWlsZGVyLmpz
JworCitjb25zdCBiID0gbmV3IEJ1aWxkZXIoKTsKK2IuVHlwZSgpLkVuZCgpCisgICAgLkZ1bmN0
aW9uKCkuRW5kKCkKKyAgICAuQ29kZSgpCisgICAgLkZ1bmN0aW9uKHsgcGFyYW1zOiBbImkzMiJd
LCByZXQ6ICJpMzIiIH0sIFtdKQorICAgIC5HZXRMb2NhbCgwKQorICAgIC5JMzJDdHooKQorICAg
IC5FbmQoKQorCisgICAgLkZ1bmN0aW9uKHsgcGFyYW1zOiBbImk2NCJdLCByZXQ6ICJpNjQiIH0s
IFtdKQorICAgIC5HZXRMb2NhbCgwKQorICAgIC5JNjRDdHooKQorICAgIC5FbmQoKQorCitjb25z
dCBiaW4gPSBiLldlYkFzc2VtYmx5KCkKK2Jpbi50cmltKCk7Cit0ZXN0V2FzbU1vZHVsZUZ1bmN0
aW9ucyhiaW4uZ2V0KCksIDIsCisgICAgICAgICAgICAgICAgICAgICAgICBbW3t0eXBlOiAiaTMy
IiwgdmFsdWU6ICIwIiB9LCBbeyB0eXBlOiAiaTMyIiwgdmFsdWU6ICItMSIgfV1dLAorICAgICAg
ICAgICAgICAgICAgICAgICAgIFt7dHlwZTogImkzMiIsIHZhbHVlOiAiMzIiIH0sIFt7IHR5cGU6
ICJpMzIiLCB2YWx1ZTogIjAiIH1dXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBbe3R5cGU6
ICJpMzIiLCB2YWx1ZTogIjE1IiB9LCBbeyB0eXBlOiAiaTMyIiwgdmFsdWU6ICIweDAwMDA4MDAw
IiB9XV0sCisgICAgICAgICAgICAgICAgICAgICAgICAgW3t0eXBlOiAiaTMyIiwgdmFsdWU6ICIx
NiIgfSwgW3sgdHlwZTogImkzMiIsIHZhbHVlOiAiMHgwMDAxMDAwMCIgfV1dLAorICAgICAgICAg
ICAgICAgICAgICAgICAgIFt7dHlwZTogImkzMiIsIHZhbHVlOiAiMzEiIH0sIFt7IHR5cGU6ICJp
MzIiLCB2YWx1ZTogIjB4ODAwMDAwMDAiIH1dXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBb
e3R5cGU6ICJpMzIiLCB2YWx1ZTogIjAiIH0sIFt7IHR5cGU6ICJpMzIiLCB2YWx1ZTogIjB4N2Zm
ZmZmZmYiIH1dXSwKKyAgICAgICAgICAgICAgICAgICAgICAgIF0sCisKKyAgICAgICAgICAgICAg
ICAgICAgICAgIFtbe3R5cGU6ICJpNjQiLCB2YWx1ZTogIjAiIH0sIFt7IHR5cGU6ICJpNjQiLCB2
YWx1ZTogIi0xIiB9XV0sCisgICAgICAgICAgICAgICAgICAgICAgICAgW3t0eXBlOiAiaTY0Iiwg
dmFsdWU6ICI2NCIgfSwgW3sgdHlwZTogImk2NCIsIHZhbHVlOiAiMCIgfV1dLAorICAgICAgICAg
ICAgICAgICAgICAgICAgIFt7dHlwZTogImk2NCIsIHZhbHVlOiAiMTUiIH0sIFt7IHR5cGU6ICJp
NjQiLCB2YWx1ZTogIjB4MDAwMDgwMDAiIH1dXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBb
e3R5cGU6ICJpNjQiLCB2YWx1ZTogIjE2IiB9LCBbeyB0eXBlOiAiaTY0IiwgdmFsdWU6ICIweDAw
MDEwMDAwIiB9XV0sCisgICAgICAgICAgICAgICAgICAgICAgICAgW3t0eXBlOiAiaTY0IiwgdmFs
dWU6ICI2MyIgfSwgW3sgdHlwZTogImk2NCIsIHZhbHVlOiAiMHg4MDAwMDAwMDAwMDAwMDAwIiB9
XV0sCisgICAgICAgICAgICAgICAgICAgICAgICAgW3t0eXBlOiAiaTY0IiwgdmFsdWU6ICIwIiB9
LCBbeyB0eXBlOiAiaTY0IiwgdmFsdWU6ICIweDdmZmZmZmZmZmZmZmZmZmYiIH1dXSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICBdCisgICAgICAgICAgICAgICAgICAgICAgICk7CmRpZmYgLS1n
aXQgYS9KU1Rlc3RzL3dhc20vZnVuY3Rpb24tdGVzdHMvcG9wY250LmpzIGIvSlNUZXN0cy93YXNt
L2Z1bmN0aW9uLXRlc3RzL3BvcGNudC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43OTcyYmVlY2RhMDA1OGVhMDA2
ZDU5OTMxOGRhZjgzODg1MWY2ZDFjCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy93YXNtL2Z1
bmN0aW9uLXRlc3RzL3BvcGNudC5qcwpAQCAtMCwwICsxLDQwIEBACitpbXBvcnQgQnVpbGRlciBm
cm9tICcuLi9CdWlsZGVyLmpzJworCitjb25zdCBiID0gbmV3IEJ1aWxkZXIoKTsKK2IuVHlwZSgp
LkVuZCgpCisgICAgLkZ1bmN0aW9uKCkuRW5kKCkKKyAgICAuQ29kZSgpCisgICAgLkZ1bmN0aW9u
KHsgcGFyYW1zOiBbImkzMiJdLCByZXQ6ICJpMzIiIH0sIFtdKQorICAgIC5HZXRMb2NhbCgwKQor
ICAgIC5JMzJQb3BjbnQoKQorICAgIC5FbmQoKQorCisgICAgLkZ1bmN0aW9uKHsgcGFyYW1zOiBb
Imk2NCJdLCByZXQ6ICJpNjQiIH0sIFtdKQorICAgIC5HZXRMb2NhbCgwKQorICAgIC5JNjRQb3Bj
bnQoKQorICAgIC5FbmQoKQorCitjb25zdCBiaW4gPSBiLldlYkFzc2VtYmx5KCkKK2Jpbi50cmlt
KCk7Cit0ZXN0V2FzbU1vZHVsZUZ1bmN0aW9ucyhiaW4uZ2V0KCksIDIsCisgICAgICAgICAgICAg
ICAgICAgICAgICBbW3t0eXBlOiAiaTMyIiwgdmFsdWU6ICIzMiIgfSwgW3sgdHlwZTogImkzMiIs
IHZhbHVlOiAiLTEiIH1dXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBbe3R5cGU6ICJpMzIi
LCB2YWx1ZTogIjAiIH0sIFt7IHR5cGU6ICJpMzIiLCB2YWx1ZTogIjAiIH1dXSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICBbe3R5cGU6ICJpMzIiLCB2YWx1ZTogIjEiIH0sIFt7IHR5cGU6ICJp
MzIiLCB2YWx1ZTogIjB4MDAwMDgwMDAiIH1dXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBb
e3R5cGU6ICJpMzIiLCB2YWx1ZTogIjIiIH0sIFt7IHR5cGU6ICJpMzIiLCB2YWx1ZTogIjB4ODAw
MDgwMDAiIH1dXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBbe3R5cGU6ICJpMzIiLCB2YWx1
ZTogIjMxIiB9LCBbeyB0eXBlOiAiaTMyIiwgdmFsdWU6ICIweDdmZmZmZmZmIiB9XV0sCisgICAg
ICAgICAgICAgICAgICAgICAgICAgW3t0eXBlOiAiaTMyIiwgdmFsdWU6ICIxNiIgfSwgW3sgdHlw
ZTogImkzMiIsIHZhbHVlOiAiMHhhYWFhYWFhYSIgfV1dLAorICAgICAgICAgICAgICAgICAgICAg
ICAgIFt7dHlwZTogImkzMiIsIHZhbHVlOiAiMTYiIH0sIFt7IHR5cGU6ICJpMzIiLCB2YWx1ZTog
IjB4NTU1NTU1NTUiIH1dXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBbe3R5cGU6ICJpMzIi
LCB2YWx1ZTogIjI0IiB9LCBbeyB0eXBlOiAiaTMyIiwgdmFsdWU6ICIweGRlYWRiZWVmIiB9XV0s
CisgICAgICAgICAgICAgICAgICAgICAgICBdLAorCisKKyAgICAgICAgICAgICAgICAgICAgICAg
IFtbe3R5cGU6ICJpNjQiLCB2YWx1ZTogIjY0IiB9LCBbeyB0eXBlOiAiaTY0IiwgdmFsdWU6ICIt
MSIgfV1dLAorICAgICAgICAgICAgICAgICAgICAgICAgIFt7dHlwZTogImk2NCIsIHZhbHVlOiAi
MCIgfSwgW3sgdHlwZTogImk2NCIsIHZhbHVlOiAiMCIgfV1dLAorICAgICAgICAgICAgICAgICAg
ICAgICAgIFt7dHlwZTogImk2NCIsIHZhbHVlOiAiMSIgfSwgW3sgdHlwZTogImk2NCIsIHZhbHVl
OiAiMHgwMDAwODAwMCIgfV1dLAorICAgICAgICAgICAgICAgICAgICAgICAgIFt7dHlwZTogImk2
NCIsIHZhbHVlOiAiNCIgfSwgW3sgdHlwZTogImk2NCIsIHZhbHVlOiAiMHg4MDAwODAwMDgwMDA4
MDAwIiB9XV0sCisgICAgICAgICAgICAgICAgICAgICAgICAgW3t0eXBlOiAiaTY0IiwgdmFsdWU6
ICI2MyIgfSwgW3sgdHlwZTogImk2NCIsIHZhbHVlOiAiMHg3ZmZmZmZmZmZmZmZmZmZmIiB9XV0s
CisgICAgICAgICAgICAgICAgICAgICAgICAgW3t0eXBlOiAiaTY0IiwgdmFsdWU6ICIzMiIgfSwg
W3sgdHlwZTogImk2NCIsIHZhbHVlOiAiMHhhYWFhYWFhYTU1NTU1NTU1IiB9XV0sCisgICAgICAg
ICAgICAgICAgICAgICAgICAgW3t0eXBlOiAiaTY0IiwgdmFsdWU6ICIzMiIgfSwgW3sgdHlwZTog
Imk2NCIsIHZhbHVlOiAiMHg5OTk5OTk5OWFhYWFhYWFhIiB9XV0sCisgICAgICAgICAgICAgICAg
ICAgICAgICAgW3t0eXBlOiAiaTY0IiwgdmFsdWU6ICI0OCIgfSwgW3sgdHlwZTogImk2NCIsIHZh
bHVlOiAiMHhkZWFkYmVlZmRlYWRiZWVmIiB9XV0sCisgICAgICAgICAgICAgICAgICAgICAgICBd
CisgICAgICAgICAgICAgICAgICAgICAgICk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>296104</attachid>
            <date>2016-12-04 13:48:41 -0800</date>
            <delta_ts>2016-12-04 14:47:27 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-165369-20161204134807.patch</filename>
            <type>text/plain</type>
            <size>17392</size>
            <attacher name="Keith Miller">keith_miller</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA5MzEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAx
ZmExZGE2OGFhMThjNzdjMWFiMGIxNDM3NzFlYWJhNjNhZmE2MmU5Li5kYTg1M2Y1ZDFiMzhiMDcy
NmE3ZmZjODEyYWNhNzdhN2QzYjkxYTZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzMyBAQAorMjAxNi0xMi0wNCAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxl
LmNvbT4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3IgV2FzbSBjdHogYW5kIHBvcGNudAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY1MzY5CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBhc3NlbWJsZXIv
TWFjcm9Bc3NlbWJsZXJBUk02NC5oOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlckFSTTY0
Ojpjb3VudFRyYWlsaW5nWmVyb3MzMik6CisgICAgICAgIChKU0M6Ok1hY3JvQXNzZW1ibGVyQVJN
NjQ6OmNvdW50VHJhaWxpbmdaZXJvczY0KToKKyAgICAgICAgKiBhc3NlbWJsZXIvTWFjcm9Bc3Nl
bWJsZXJYODZDb21tb24uY3BwOgorICAgICAgICAqIGFzc2VtYmxlci9NYWNyb0Fzc2VtYmxlclg4
NkNvbW1vbi5oOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6Y291bnRU
cmFpbGluZ1plcm9zMzIpOgorICAgICAgICAoSlNDOjpNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6
c3VwcG9ydHNCTUkxKToKKyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZDb21tb246OmN0
ekFmdGVyQnNmKToKKyAgICAgICAgKiBhc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODZfNjQuaDoK
KyAgICAgICAgKEpTQzo6TWFjcm9Bc3NlbWJsZXJYODZfNjQ6OmNvdW50VHJhaWxpbmdaZXJvczY0
KToKKyAgICAgICAgKiBhc3NlbWJsZXIvWDg2QXNzZW1ibGVyLmg6CisgICAgICAgIChKU0M6Olg4
NkFzc2VtYmxlcjo6dHpjbnRfcnIpOgorICAgICAgICAoSlNDOjpYODZBc3NlbWJsZXI6OnR6Y250
cV9ycik6CisgICAgICAgIChKU0M6Olg4NkFzc2VtYmxlcjo6YnNmX3JyKToKKyAgICAgICAgKEpT
Qzo6WDg2QXNzZW1ibGVyOjpic2ZxX3JyKToKKyAgICAgICAgKiB3YXNtL1dhc21CM0lSR2VuZXJh
dG9yLmNwcDoKKyAgICAgICAgKEpTQzo6V2FzbTo6QjNJUkdlbmVyYXRvcjo6YWRkT3A8T3BUeXBl
OjpJMzJDdHo+KToKKyAgICAgICAgKEpTQzo6V2FzbTo6QjNJUkdlbmVyYXRvcjo6YWRkT3A8T3BU
eXBlOjpJNjRDdHo+KToKKyAgICAgICAgKEpTQzo6V2FzbTo6QjNJUkdlbmVyYXRvcjo6YWRkT3A8
T3BUeXBlOjpJMzJQb3BjbnQ+KToKKyAgICAgICAgKEpTQzo6V2FzbTo6QjNJUkdlbmVyYXRvcjo6
YWRkT3A8T3BUeXBlOjpJNjRQb3BjbnQ+KToKKyAgICAgICAgKiB3YXNtL1dhc21GdW5jdGlvblBh
cnNlci5oOgorICAgICAgICAoSlNDOjpXYXNtOjpGdW5jdGlvblBhcnNlcjxDb250ZXh0Pjo6cGFy
c2VFeHByZXNzaW9uKToKKwogMjAxNi0xMi0wNCAgU2FhbSBCYXJhdGkgIDxzYmFyYXRpQGFwcGxl
LmNvbT4KIAogICAgICAgICBXZSBzaG91bGQgaGF2ZSBhIFdhc20gY2FsbGVlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyQVJNNjQuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk02NC5oCmlu
ZGV4IDAwMjdhODRhNmM1OGJlOTY4Y2ZlODM0NGRkZTU0NTIyNDQ5ZGM0MDUuLjYzMzRmYmY0YjI3
YjM4YjU1ODZkYWU5NmUxNzFhNzE0YTk4MGEwNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk02NC5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJBUk02NC5oCkBAIC00MjcsNiArNDI3
LDIwIEBAIHB1YmxpYzoKICAgICAgICAgbV9hc3NlbWJsZXIuY2x6PDY0PihkZXN0LCBzcmMpOwog
ICAgIH0KIAorICAgIHZvaWQgY291bnRUcmFpbGluZ1plcm9zMzIoUmVnaXN0ZXJJRCBzcmMsIFJl
Z2lzdGVySUQgZGVzdCkKKyAgICB7CisgICAgICAgIC8vIEFybSBkb2VzIG5vdCBoYXZlIGEgY291
bnQgdHJhaWxpbmcgemVyb3Mgb25seSBhIGNvdW50IGxlYWRpbmcgemVyb3MuCisgICAgICAgIG1f
YXNzZW1ibGVyLnJiaXQ8MzI+KGRlc3QsIHNyYyk7CisgICAgICAgIG1fYXNzZW1ibGVyLmNsejwz
Mj4oZGVzdCwgZGVzdCk7CisgICAgfQorCisgICAgdm9pZCBjb3VudFRyYWlsaW5nWmVyb3M2NChS
ZWdpc3RlcklEIHNyYywgUmVnaXN0ZXJJRCBkZXN0KQorICAgIHsKKyAgICAgICAgLy8gQXJtIGRv
ZXMgbm90IGhhdmUgYSBjb3VudCB0cmFpbGluZyB6ZXJvcyBvbmx5IGEgY291bnQgbGVhZGluZyB6
ZXJvcy4KKyAgICAgICAgbV9hc3NlbWJsZXIucmJpdDw2ND4oZGVzdCwgc3JjKTsKKyAgICAgICAg
bV9hc3NlbWJsZXIuY2x6PDY0PihkZXN0LCBkZXN0KTsKKyAgICB9CisKICAgICB2b2lkIGxzaGlm
dDMyKFJlZ2lzdGVySUQgc3JjLCBSZWdpc3RlcklEIHNoaWZ0QW1vdW50LCBSZWdpc3RlcklEIGRl
c3QpCiAgICAgewogICAgICAgICBtX2Fzc2VtYmxlci5sc2w8MzI+KGRlc3QsIHNyYywgc2hpZnRB
bW91bnQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNy
b0Fzc2VtYmxlclg4NkNvbW1vbi5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVy
L01hY3JvQXNzZW1ibGVyWDg2Q29tbW9uLmNwcAppbmRleCA4NzUxMjI1NjJmODQ5ZTZlZjU5MjEy
NDM2MGI3ZDc0NjZlOTFiMmIwLi41MjhjNjBmYTU0NWRhYWQzMjFjM2ZmY2MwMTBjNDI3MzgxOTg5
YTBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNz
ZW1ibGVyWDg2Q29tbW9uLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVy
L01hY3JvQXNzZW1ibGVyWDg2Q29tbW9uLmNwcApAQCAtNTU1LDYgKzU1NSw3IEBAIE1hY3JvQXNz
ZW1ibGVyWDg2Q29tbW9uOjpTU0UyQ2hlY2tTdGF0ZSBNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6
c19zc2UyQ2hlY2tTdGF0CiBNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6Q1BVSURDaGVja1N0YXRl
IE1hY3JvQXNzZW1ibGVyWDg2Q29tbW9uOjpzX3NzZTRfMUNoZWNrU3RhdGUgPSBDUFVJRENoZWNr
U3RhdGU6Ok5vdENoZWNrZWQ7CiBNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6Q1BVSURDaGVja1N0
YXRlIE1hY3JvQXNzZW1ibGVyWDg2Q29tbW9uOjpzX2F2eENoZWNrU3RhdGUgPSBDUFVJRENoZWNr
U3RhdGU6Ok5vdENoZWNrZWQ7CiBNYWNyb0Fzc2VtYmxlclg4NkNvbW1vbjo6Q1BVSURDaGVja1N0
YXRlIE1hY3JvQXNzZW1ibGVyWDg2Q29tbW9uOjpzX2x6Y250Q2hlY2tTdGF0ZSA9IENQVUlEQ2hl
Y2tTdGF0ZTo6Tm90Q2hlY2tlZDsKK01hY3JvQXNzZW1ibGVyWDg2Q29tbW9uOjpDUFVJRENoZWNr
U3RhdGUgTWFjcm9Bc3NlbWJsZXJYODZDb21tb246OnNfYm1pMUNoZWNrU3RhdGUgPSBDUFVJRENo
ZWNrU3RhdGU6Ok5vdENoZWNrZWQ7CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2Q29tbW9u
LmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2Q29t
bW9uLmgKaW5kZXggNDMxODc2YjIyYzIyMjhmZDQ4ZjQ0YzhkYmZkMmUzYWRlNTA4Yzk3NC4uYmVk
YjA2YmUxMjI5NzljZTM2N2ZiZDZiYWFmYzQxN2UyY2VjZGVmNCAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlclg4NkNvbW1vbi5oCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODZDb21tb24u
aApAQCAtMzEzLDYgKzMxMywxNiBAQCBwdWJsaWM6CiAgICAgICAgIGNsejMyQWZ0ZXJCc3IoZHN0
KTsKICAgICB9CiAKKyAgICB2b2lkIGNvdW50VHJhaWxpbmdaZXJvczMyKFJlZ2lzdGVySUQgc3Jj
LCBSZWdpc3RlcklEIGRzdCkKKyAgICB7CisgICAgICAgIGlmIChzdXBwb3J0c0JNSTEoKSkgewor
ICAgICAgICAgICAgbV9hc3NlbWJsZXIudHpjbnRfcnIoc3JjLCBkc3QpOworICAgICAgICAgICAg
cmV0dXJuOworICAgICAgICB9CisgICAgICAgIG1fYXNzZW1ibGVyLmJzZl9ycihzcmMsIGRzdCk7
CisgICAgICAgIGN0ekFmdGVyQnNmPDMyPihkc3QpOworICAgIH0KKwogICAgIHZvaWQgbHNoaWZ0
MzIoUmVnaXN0ZXJJRCBzaGlmdF9hbW91bnQsIFJlZ2lzdGVySUQgZGVzdCkKICAgICB7CiAgICAg
ICAgIGlmIChzaGlmdF9hbW91bnQgPT0gWDg2UmVnaXN0ZXJzOjplY3gpCkBAIC0yODQ1LDYgKzI4
NTUsMzkgQEAgcHJvdGVjdGVkOgogICAgICAgICByZXR1cm4gc19semNudENoZWNrU3RhdGUgPT0g
Q1BVSURDaGVja1N0YXRlOjpTZXQ7CiAgICAgfQogCisgICAgc3RhdGljIGJvb2wgc3VwcG9ydHNC
TUkxKCkKKyAgICB7CisgICAgICAgIGlmIChzX2JtaTFDaGVja1N0YXRlID09IENQVUlEQ2hlY2tT
dGF0ZTo6Tm90Q2hlY2tlZCkgeworICAgICAgICAgICAgaW50IGZsYWdzID0gMDsKKyNpZiBDT01Q
SUxFUihNU1ZDKQorICAgICAgICAgICAgaW50IGNwdUluZm9bNF07CisgICAgICAgICAgICBfX2Nw
dWlkKGNwdUluZm8sIDB4ODAwMDAwMDEpOworICAgICAgICAgICAgZmxhZ3MgPSBjcHVJbmZvWzJd
OworI2VsaWYgQ09NUElMRVIoR0NDX09SX0NMQU5HKQorICAgICAgICAgICAgYXNtICgKKyAgICAg
ICAgICAgICAgICAgIm1vdmwgJDB4NywgJSVlYXg7IgorICAgICAgICAgICAgICAgICAibW92bCAk
MHgwLCAlJWVjeDsiCisgICAgICAgICAgICAgICAgICJjcHVpZDsiCisgICAgICAgICAgICAgICAg
ICJtb3ZsICUlZWJ4LCAlMDsiCisgICAgICAgICAgICAgICAgIDogIj1nIiAoZmxhZ3MpCisgICAg
ICAgICAgICAgICAgIDoKKyAgICAgICAgICAgICAgICAgOiAiJWVheCIsICIlZWJ4IiwgIiVlY3gi
LCAiJWVkeCIKKyAgICAgICAgICAgICAgICAgKTsKKyNlbmRpZiAvLyBDT01QSUxFUihHQ0NfT1Jf
Q0xBTkcpCisgICAgICAgICAgICBzdGF0aWMgaW50IEJNSTFGZWF0dXJlQml0ID0gMSA8PCAzOwor
ICAgICAgICAgICAgc19ibWkxQ2hlY2tTdGF0ZSA9IChmbGFncyAmIEJNSTFGZWF0dXJlQml0KSA/
IENQVUlEQ2hlY2tTdGF0ZTo6U2V0IDogQ1BVSURDaGVja1N0YXRlOjpDbGVhcjsKKyAgICAgICAg
fQorICAgICAgICByZXR1cm4gc19ibWkxQ2hlY2tTdGF0ZSA9PSBDUFVJRENoZWNrU3RhdGU6OlNl
dDsKKyAgICB9CisKKyAgICB0ZW1wbGF0ZTxpbnQgc2l6ZU9mUmVnaXN0ZXI+CisgICAgdm9pZCBj
dHpBZnRlckJzZihSZWdpc3RlcklEIGRzdCkKKyAgICB7CisgICAgICAgIEp1bXAgc3JjSXNOb25a
ZXJvID0gbV9hc3NlbWJsZXIuakNDKHg4NkNvbmRpdGlvbihOb25aZXJvKSk7CisgICAgICAgIG1v
dmUoVHJ1c3RlZEltbTMyKHNpemVPZlJlZ2lzdGVyKSwgZHN0KTsKKyAgICAgICAgc3JjSXNOb25a
ZXJvLmxpbmsodGhpcyk7CisgICAgfQorCiBwcml2YXRlOgogICAgIC8vIE9ubHkgTWFjcm9Bc3Nl
bWJsZXJYODYgc2hvdWxkIGJlIHVzaW5nIHRoZSBmb2xsb3dpbmcgbWV0aG9kOyBTU0UyIGlzIGFs
d2F5cyBhdmFpbGFibGUgb24KICAgICAvLyB4ODZfNjQsIGFuZCBjbGllbnRzICYgc3ViY2xhc3Nl
cyBvZiBNYWNyb0Fzc2VtYmxlciBzaG91bGQgYmUgdXNpbmcgJ3N1cHBvcnRzRmxvYXRpbmdQb2lu
dCgpJy4KQEAgLTMwMTUsNiArMzA1OCw3IEBAIHByaXZhdGU6CiAgICAgfTsKICAgICBKU19FWFBP
UlRfUFJJVkFURSBzdGF0aWMgQ1BVSURDaGVja1N0YXRlIHNfc3NlNF8xQ2hlY2tTdGF0ZTsKICAg
ICBKU19FWFBPUlRfUFJJVkFURSBzdGF0aWMgQ1BVSURDaGVja1N0YXRlIHNfYXZ4Q2hlY2tTdGF0
ZTsKKyAgICBzdGF0aWMgQ1BVSURDaGVja1N0YXRlIHNfYm1pMUNoZWNrU3RhdGU7CiAgICAgc3Rh
dGljIENQVUlEQ2hlY2tTdGF0ZSBzX2x6Y250Q2hlY2tTdGF0ZTsKIH07CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODZfNjQuaCBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvTWFjcm9Bc3NlbWJsZXJYODZfNjQuaApp
bmRleCA2NzMwOGRlMTBiZmUyOWE2NzI4N2U4YzRjOTI4NWRkYTNkMWQzMDZjLi41MDc2YWViNjc1
OTc2MTIzZTA0ZWQ1ODA4MjBkOWYwZWMwZDZkMTlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvYXNzZW1ibGVyL01hY3JvQXNzZW1ibGVyWDg2XzY0LmgKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYWNyb0Fzc2VtYmxlclg4Nl82NC5oCkBAIC0zOTEsNiAr
MzkxLDE2IEBAIHB1YmxpYzoKICAgICAgICAgY2x6NjRBZnRlckJzcihkc3QpOwogICAgIH0KIAor
ICAgIHZvaWQgY291bnRUcmFpbGluZ1plcm9zNjQoUmVnaXN0ZXJJRCBzcmMsIFJlZ2lzdGVySUQg
ZHN0KQorICAgIHsKKyAgICAgICAgaWYgKHN1cHBvcnRzQk1JMSgpKSB7CisgICAgICAgICAgICBt
X2Fzc2VtYmxlci50emNudHFfcnIoc3JjLCBkc3QpOworICAgICAgICAgICAgcmV0dXJuOworICAg
ICAgICB9CisgICAgICAgIG1fYXNzZW1ibGVyLmJzZnFfcnIoc3JjLCBkc3QpOworICAgICAgICBj
dHpBZnRlckJzZjw2ND4oZHN0KTsKKyAgICB9CisKICAgICB2b2lkIGxzaGlmdDY0KFRydXN0ZWRJ
bW0zMiBpbW0sIFJlZ2lzdGVySUQgZGVzdCkKICAgICB7CiAgICAgICAgIG1fYXNzZW1ibGVyLnNo
bHFfaThyKGltbS5tX3ZhbHVlLCBkZXN0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9hc3NlbWJsZXIvWDg2QXNzZW1ibGVyLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNz
ZW1ibGVyL1g4NkFzc2VtYmxlci5oCmluZGV4IDgzMjMzNjAxZTkxYmRiNDlhNjgxYjdhNTk3ZWMy
MDc1ODM0MTdhMzcuLmQyZGRmZjg3ZjhjYzBmNjIzMGJkMTNjZDRlZjFiZjYyYjU5ZjI5ZTUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvWDg2QXNzZW1ibGVyLmgK
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9YODZBc3NlbWJsZXIuaApAQCAt
Mjg4LDYgKzI4OCw4IEBAIHByaXZhdGU6CiAgICAgICAgIE9QMl8zQllURV9FU0NBUEVfQUUgPSAw
eEFFLAogICAgICAgICBPUDJfSU1VTF9HdkV2ICAgICAgID0gMHhBRiwKICAgICAgICAgT1AyX01P
VlpYX0d2RWIgICAgICA9IDB4QjYsCisgICAgICAgIE9QMl9CU0YgICAgICAgICAgICAgPSAweEJD
LAorICAgICAgICBPUDJfVFpDTlQgICAgICAgICAgID0gMHhCQywKICAgICAgICAgT1AyX0JTUiAg
ICAgICAgICAgICA9IDB4QkQsCiAgICAgICAgIE9QMl9MWkNOVCAgICAgICAgICAgPSAweEJELAog
ICAgICAgICBPUDJfTU9WU1hfR3ZFYiAgICAgID0gMHhCRSwKQEAgLTEwMTgsNiArMTAyMCwzMiBA
QCBwdWJsaWM6CiAgICAgfQogI2VuZGlmCiAKKyAgICB2b2lkIHR6Y250X3JyKFJlZ2lzdGVySUQg
c3JjLCBSZWdpc3RlcklEIGRzdCkKKyAgICB7CisgICAgICAgIG1fZm9ybWF0dGVyLnByZWZpeChQ
UkVfU1NFX0YzKTsKKyAgICAgICAgbV9mb3JtYXR0ZXIudHdvQnl0ZU9wKE9QMl9UWkNOVCwgZHN0
LCBzcmMpOworICAgIH0KKworI2lmIENQVShYODZfNjQpCisgICAgdm9pZCB0emNudHFfcnIoUmVn
aXN0ZXJJRCBzcmMsIFJlZ2lzdGVySUQgZHN0KQorICAgIHsKKyAgICAgICAgbV9mb3JtYXR0ZXIu
cHJlZml4KFBSRV9TU0VfRjMpOworICAgICAgICBtX2Zvcm1hdHRlci50d29CeXRlT3A2NChPUDJf
VFpDTlQsIGRzdCwgc3JjKTsKKyAgICB9CisjZW5kaWYKKworICAgIHZvaWQgYnNmX3JyKFJlZ2lz
dGVySUQgc3JjLCBSZWdpc3RlcklEIGRzdCkKKyAgICB7CisgICAgICAgIG1fZm9ybWF0dGVyLnR3
b0J5dGVPcChPUDJfQlNGLCBkc3QsIHNyYyk7CisgICAgfQorCisjaWYgQ1BVKFg4Nl82NCkKKyAg
ICB2b2lkIGJzZnFfcnIoUmVnaXN0ZXJJRCBzcmMsIFJlZ2lzdGVySUQgZHN0KQorICAgIHsKKyAg
ICAgICAgbV9mb3JtYXR0ZXIudHdvQnl0ZU9wNjQoT1AyX0JTRiwgZHN0LCBzcmMpOworICAgIH0K
KyNlbmRpZgorCiBwcml2YXRlOgogICAgIHRlbXBsYXRlPEdyb3VwT3Bjb2RlSUQgb3A+CiAgICAg
dm9pZCBzaGlmdEluc3RydWN0aW9uMzIoaW50IGltbSwgUmVnaXN0ZXJJRCBkc3QpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtQjNJUkdlbmVyYXRvci5jcHAgYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvd2FzbS9XYXNtQjNJUkdlbmVyYXRvci5jcHAKaW5kZXggZGU4
OWM4Y2E3NzUxNWJiNjFlMWVjN2U5ZGU4MTM2MDRlNjQ0YmU4OC4uYzQxMDBmOTRjMzk4ZWYzNmRj
ZmJjZDQxZThhMmRlZGRjMTY2ZDk5ZCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3dhc20vV2FzbUIzSVJHZW5lcmF0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93
YXNtL1dhc21CM0lSR2VuZXJhdG9yLmNwcApAQCAtMjksNiArMjksNyBAQAogI2lmIEVOQUJMRShX
RUJBU1NFTUJMWSkKIAogI2luY2x1ZGUgIkIzQmFzaWNCbG9ja0lubGluZXMuaCIKKyNpbmNsdWRl
ICJCM0NDYWxsVmFsdWUuaCIKICNpbmNsdWRlICJCM0NvbnN0UHRyVmFsdWUuaCIKICNpbmNsdWRl
ICJCM0ZpeFNTQS5oIgogI2luY2x1ZGUgIkIzU3RhY2ttYXBHZW5lcmF0aW9uUGFyYW1zLmgiCkBA
IC03NjUsNiArNzY2LDU0IEBAIHN0ZDo6dW5pcXVlX3B0cjxGdW5jdGlvbkNvbXBpbGF0aW9uPiBw
YXJzZUFuZENvbXBpbGUoVk0mIHZtLCBjb25zdCB1aW50OF90KiBmdW5jCiAvLyBDdXN0b20gd2Fz
bSBvcHMuIFRoZXNlIGFyZSB0aGUgb25lcyB0b28gbWVzc3kgdG8gZG8gaW4gd2FzbS5qc29uLgog
CiB0ZW1wbGF0ZTw+Citib29sIEIzSVJHZW5lcmF0b3I6OmFkZE9wPE9wVHlwZTo6STMyQ3R6PihF
eHByZXNzaW9uVHlwZSBhcmcsIEV4cHJlc3Npb25UeXBlJiByZXN1bHQpCit7CisgICAgUGF0Y2hw
b2ludFZhbHVlKiBwYXRjaHBvaW50ID0gbV9jdXJyZW50QmxvY2stPmFwcGVuZE5ldzxQYXRjaHBv
aW50VmFsdWU+KG1fcHJvYywgSW50MzIsIE9yaWdpbigpKTsKKyAgICBwYXRjaHBvaW50LT5hcHBl
bmQoYXJnLCBWYWx1ZVJlcDo6U29tZVJlZ2lzdGVyKTsKKyAgICBwYXRjaHBvaW50LT5zZXRHZW5l
cmF0b3IoWz1dIChDQ2FsbEhlbHBlcnMmIGppdCwgY29uc3QgU3RhY2ttYXBHZW5lcmF0aW9uUGFy
YW1zJiBwYXJhbXMpIHsKKyAgICAgICAgaml0LmNvdW50VHJhaWxpbmdaZXJvczMyKHBhcmFtc1sx
XS5ncHIoKSwgcGFyYW1zWzBdLmdwcigpKTsKKyAgICB9KTsKKyAgICBwYXRjaHBvaW50LT5lZmZl
Y3RzID0gRWZmZWN0czo6bm9uZSgpOworICAgIHJlc3VsdCA9IHBhdGNocG9pbnQ7CisgICAgcmV0
dXJuIHRydWU7Cit9CisKK3RlbXBsYXRlPD4KK2Jvb2wgQjNJUkdlbmVyYXRvcjo6YWRkT3A8T3BU
eXBlOjpJNjRDdHo+KEV4cHJlc3Npb25UeXBlIGFyZywgRXhwcmVzc2lvblR5cGUmIHJlc3VsdCkK
K3sKKyAgICBQYXRjaHBvaW50VmFsdWUqIHBhdGNocG9pbnQgPSBtX2N1cnJlbnRCbG9jay0+YXBw
ZW5kTmV3PFBhdGNocG9pbnRWYWx1ZT4obV9wcm9jLCBJbnQ2NCwgT3JpZ2luKCkpOworICAgIHBh
dGNocG9pbnQtPmFwcGVuZChhcmcsIFZhbHVlUmVwOjpTb21lUmVnaXN0ZXIpOworICAgIHBhdGNo
cG9pbnQtPnNldEdlbmVyYXRvcihbPV0gKENDYWxsSGVscGVycyYgaml0LCBjb25zdCBTdGFja21h
cEdlbmVyYXRpb25QYXJhbXMmIHBhcmFtcykgeworICAgICAgICBqaXQuY291bnRUcmFpbGluZ1pl
cm9zNjQocGFyYW1zWzFdLmdwcigpLCBwYXJhbXNbMF0uZ3ByKCkpOworICAgIH0pOworICAgIHBh
dGNocG9pbnQtPmVmZmVjdHMgPSBFZmZlY3RzOjpub25lKCk7CisgICAgcmVzdWx0ID0gcGF0Y2hw
b2ludDsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwordGVtcGxhdGU8PgorYm9vbCBCM0lSR2VuZXJh
dG9yOjphZGRPcDxPcFR5cGU6OkkzMlBvcGNudD4oRXhwcmVzc2lvblR5cGUgYXJnLCBFeHByZXNz
aW9uVHlwZSYgcmVzdWx0KQoreworICAgIC8vIEZJWE1FOiBUaGlzIHNob3VsZCB1c2UgdGhlIHBv
cGNudCBpbnN0cnVjdGlvbiBpZiBTU0U0IGlzIGF2YWlsYWJsZSBidXQgd2UgZG9uJ3QgaGF2ZSBj
b2RlIHRvIGRldGVjdCBTU0U0IHlldC4KKyAgICAvLyBzZWU6IGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNjUzNjMKKyAgICB1aW50MzJfdCAoKnBvcGNvdW50KShpbnQz
Ml90KSA9IFtdIChpbnQzMl90IHZhbHVlKSAtPiB1aW50MzJfdCB7IHJldHVybiBfX2J1aWx0aW5f
cG9wY291bnQodmFsdWUpOyB9OworICAgIFZhbHVlKiBmdW5jQWRkcmVzcyA9IG1fY3VycmVudEJs
b2NrLT5hcHBlbmROZXc8Q29uc3RQdHJWYWx1ZT4obV9wcm9jLCBPcmlnaW4oKSwgYml0d2lzZV9j
YXN0PHZvaWQqPihwb3Bjb3VudCkpOworICAgIHJlc3VsdCA9IG1fY3VycmVudEJsb2NrLT5hcHBl
bmROZXc8Q0NhbGxWYWx1ZT4obV9wcm9jLCBJbnQzMiwgT3JpZ2luKCksIEVmZmVjdHM6Om5vbmUo
KSwgZnVuY0FkZHJlc3MsIGFyZyk7CisgICAgcmV0dXJuIHRydWU7Cit9CisKK3RlbXBsYXRlPD4K
K2Jvb2wgQjNJUkdlbmVyYXRvcjo6YWRkT3A8T3BUeXBlOjpJNjRQb3BjbnQ+KEV4cHJlc3Npb25U
eXBlIGFyZywgRXhwcmVzc2lvblR5cGUmIHJlc3VsdCkKK3sKKyAgICAvLyBGSVhNRTogVGhpcyBz
aG91bGQgdXNlIHRoZSBwb3BjbnQgaW5zdHJ1Y3Rpb24gaWYgU1NFNCBpcyBhdmFpbGFibGUgYnV0
IHdlIGRvbid0IGhhdmUgY29kZSB0byBkZXRlY3QgU1NFNCB5ZXQuCisgICAgLy8gc2VlOiBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY1MzYzCisgICAgdWludDY0X3Qg
KCpwb3Bjb3VudCkoaW50NjRfdCkgPSBbXSAoaW50NjRfdCB2YWx1ZSkgLT4gdWludDY0X3QgeyBy
ZXR1cm4gX19idWlsdGluX3BvcGNvdW50bGwodmFsdWUpOyB9OworICAgIFZhbHVlKiBmdW5jQWRk
cmVzcyA9IG1fY3VycmVudEJsb2NrLT5hcHBlbmROZXc8Q29uc3RQdHJWYWx1ZT4obV9wcm9jLCBP
cmlnaW4oKSwgYml0d2lzZV9jYXN0PHZvaWQqPihwb3Bjb3VudCkpOworICAgIHJlc3VsdCA9IG1f
Y3VycmVudEJsb2NrLT5hcHBlbmROZXc8Q0NhbGxWYWx1ZT4obV9wcm9jLCBJbnQ2NCwgT3JpZ2lu
KCksIEVmZmVjdHM6Om5vbmUoKSwgZnVuY0FkZHJlc3MsIGFyZyk7CisgICAgcmV0dXJuIHRydWU7
Cit9CisKK3RlbXBsYXRlPD4KIGJvb2wgQjNJUkdlbmVyYXRvcjo6YWRkT3A8RjY0Q29udmVydFVJ
NjQ+KEV4cHJlc3Npb25UeXBlIGFyZywgRXhwcmVzc2lvblR5cGUmIHJlc3VsdCkKIHsKICAgICBQ
YXRjaHBvaW50VmFsdWUqIHBhdGNocG9pbnQgPSBtX2N1cnJlbnRCbG9jay0+YXBwZW5kTmV3PFBh
dGNocG9pbnRWYWx1ZT4obV9wcm9jLCBEb3VibGUsIE9yaWdpbigpKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS93YXNtL1dhc21GdW5jdGlvblBhcnNlci5oIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3dhc20vV2FzbUZ1bmN0aW9uUGFyc2VyLmgKaW5kZXggM2Q2NzQyNjViZmIy
ODdmYjk1YTBmODdiZTZkODIxOTUyMDhmOWVkZi4uMTZkMTMxMTBmY2JlMzAxYWIyNTA1MDQ4NTgx
NTM4NzkyMmM2NjA0ZiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2Fz
bUZ1bmN0aW9uUGFyc2VyLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3dhc20vV2FzbUZ1
bmN0aW9uUGFyc2VyLmgKQEAgLTIxNyw2ICsyMTcsMTAgQEAgYm9vbCBGdW5jdGlvblBhcnNlcjxD
b250ZXh0Pjo6cGFyc2VFeHByZXNzaW9uKE9wVHlwZSBvcCkKICAgICBjYXNlIE9wVHlwZTo6RjY0
TmVhcmVzdDogcmV0dXJuIHVuYXJ5Q2FzZTxPcFR5cGU6OkY2NE5lYXJlc3Q+KCk7CiAgICAgY2Fz
ZSBPcFR5cGU6OkYzMlRydW5jOiByZXR1cm4gdW5hcnlDYXNlPE9wVHlwZTo6RjMyVHJ1bmM+KCk7
CiAgICAgY2FzZSBPcFR5cGU6OkY2NFRydW5jOiByZXR1cm4gdW5hcnlDYXNlPE9wVHlwZTo6RjY0
VHJ1bmM+KCk7CisgICAgY2FzZSBPcFR5cGU6OkkzMkN0ejogcmV0dXJuIHVuYXJ5Q2FzZTxPcFR5
cGU6OkkzMkN0ej4oKTsKKyAgICBjYXNlIE9wVHlwZTo6STY0Q3R6OiByZXR1cm4gdW5hcnlDYXNl
PE9wVHlwZTo6STY0Q3R6PigpOworICAgIGNhc2UgT3BUeXBlOjpJMzJQb3BjbnQ6IHJldHVybiB1
bmFyeUNhc2U8T3BUeXBlOjpJMzJQb3BjbnQ+KCk7CisgICAgY2FzZSBPcFR5cGU6Okk2NFBvcGNu
dDogcmV0dXJuIHVuYXJ5Q2FzZTxPcFR5cGU6Okk2NFBvcGNudD4oKTsKICNkZWZpbmUgQ1JFQVRF
X0NBU0UobmFtZSwgaWQsIGIzb3AsIGluYykgY2FzZSBPcFR5cGU6Om5hbWU6IHJldHVybiB1bmFy
eUNhc2U8T3BUeXBlOjpuYW1lPigpOwogICAgIEZPUl9FQUNIX1dBU01fU0lNUExFX1VOQVJZX09Q
KENSRUFURV9DQVNFKQogI3VuZGVmIENSRUFURV9DQVNFCmRpZmYgLS1naXQgYS9KU1Rlc3RzL0No
YW5nZUxvZyBiL0pTVGVzdHMvQ2hhbmdlTG9nCmluZGV4IDQwZTdhOGM5MmM5Y2MzMDlhM2EzZGJj
MTRjNDc5M2NjMzU3NjkyODMuLjYyOTMzMjRlMDM1YTM3MzcxNGQ0NDg3NGY4NDU0MTU0MzgwM2Zh
YmMgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvQ2hhbmdlTG9nCisrKyBiL0pTVGVzdHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTMgQEAKKzIwMTYtMTItMDQgIEtlaXRoIE1pbGxlciAgPGtlaXRoX21pbGxl
ckBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIFdhc20gY3R6IGFuZCBwb3Bj
bnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NTM2
OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd2Fz
bS9mdW5jdGlvbi10ZXN0cy9jdHouanM6IEFkZGVkLgorICAgICAgICAqIHdhc20vZnVuY3Rpb24t
dGVzdHMvcG9wY250LmpzOiBBZGRlZC4KKwogMjAxNi0xMi0wMyAgSkYgQmFzdGllbiAgPGpmYmFz
dGllbkBhcHBsZS5jb20+CiAKICAgICAgICAgV2ViQXNzZW1ibHk6IHVwZGF0ZSBiaW5hcnkgZm9y
bWF0IHRvIDB4RCB2ZXJzaW9uCmRpZmYgLS1naXQgYS9KU1Rlc3RzL3dhc20vZnVuY3Rpb24tdGVz
dHMvY3R6LmpzIGIvSlNUZXN0cy93YXNtL2Z1bmN0aW9uLXRlc3RzL2N0ei5qcwpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li40OTZiMzQwZjM1YmRlZWUxMGNiYjAyM2Y4ZTQzOTFkNjcwYWRhN2I1Ci0tLSAvZGV2L251bGwK
KysrIGIvSlNUZXN0cy93YXNtL2Z1bmN0aW9uLXRlc3RzL2N0ei5qcwpAQCAtMCwwICsxLDM1IEBA
CitpbXBvcnQgQnVpbGRlciBmcm9tICcuLi9CdWlsZGVyLmpzJworCitjb25zdCBiID0gbmV3IEJ1
aWxkZXIoKTsKK2IuVHlwZSgpLkVuZCgpCisgICAgLkZ1bmN0aW9uKCkuRW5kKCkKKyAgICAuQ29k
ZSgpCisgICAgLkZ1bmN0aW9uKHsgcGFyYW1zOiBbImkzMiJdLCByZXQ6ICJpMzIiIH0sIFtdKQor
ICAgIC5HZXRMb2NhbCgwKQorICAgIC5JMzJDdHooKQorICAgIC5FbmQoKQorCisgICAgLkZ1bmN0
aW9uKHsgcGFyYW1zOiBbImk2NCJdLCByZXQ6ICJpNjQiIH0sIFtdKQorICAgIC5HZXRMb2NhbCgw
KQorICAgIC5JNjRDdHooKQorICAgIC5FbmQoKQorCitjb25zdCBiaW4gPSBiLldlYkFzc2VtYmx5
KCkKK2Jpbi50cmltKCk7Cit0ZXN0V2FzbU1vZHVsZUZ1bmN0aW9ucyhiaW4uZ2V0KCksIDIsCisg
ICAgICAgICAgICAgICAgICAgICAgICBbW3t0eXBlOiAiaTMyIiwgdmFsdWU6ICIwIiB9LCBbeyB0
eXBlOiAiaTMyIiwgdmFsdWU6ICItMSIgfV1dLAorICAgICAgICAgICAgICAgICAgICAgICAgIFt7
dHlwZTogImkzMiIsIHZhbHVlOiAiMzIiIH0sIFt7IHR5cGU6ICJpMzIiLCB2YWx1ZTogIjAiIH1d
XSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBbe3R5cGU6ICJpMzIiLCB2YWx1ZTogIjE1IiB9
LCBbeyB0eXBlOiAiaTMyIiwgdmFsdWU6ICIweDAwMDA4MDAwIiB9XV0sCisgICAgICAgICAgICAg
ICAgICAgICAgICAgW3t0eXBlOiAiaTMyIiwgdmFsdWU6ICIxNiIgfSwgW3sgdHlwZTogImkzMiIs
IHZhbHVlOiAiMHgwMDAxMDAwMCIgfV1dLAorICAgICAgICAgICAgICAgICAgICAgICAgIFt7dHlw
ZTogImkzMiIsIHZhbHVlOiAiMzEiIH0sIFt7IHR5cGU6ICJpMzIiLCB2YWx1ZTogIjB4ODAwMDAw
MDAiIH1dXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBbe3R5cGU6ICJpMzIiLCB2YWx1ZTog
IjAiIH0sIFt7IHR5cGU6ICJpMzIiLCB2YWx1ZTogIjB4N2ZmZmZmZmYiIH1dXSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgIF0sCisKKyAgICAgICAgICAgICAgICAgICAgICAgIFtbe3R5cGU6ICJp
NjQiLCB2YWx1ZTogIjAiIH0sIFt7IHR5cGU6ICJpNjQiLCB2YWx1ZTogIi0xIiB9XV0sCisgICAg
ICAgICAgICAgICAgICAgICAgICAgW3t0eXBlOiAiaTY0IiwgdmFsdWU6ICI2NCIgfSwgW3sgdHlw
ZTogImk2NCIsIHZhbHVlOiAiMCIgfV1dLAorICAgICAgICAgICAgICAgICAgICAgICAgIFt7dHlw
ZTogImk2NCIsIHZhbHVlOiAiMTUiIH0sIFt7IHR5cGU6ICJpNjQiLCB2YWx1ZTogIjB4MDAwMDgw
MDAiIH1dXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBbe3R5cGU6ICJpNjQiLCB2YWx1ZTog
IjE2IiB9LCBbeyB0eXBlOiAiaTY0IiwgdmFsdWU6ICIweDAwMDEwMDAwIiB9XV0sCisgICAgICAg
ICAgICAgICAgICAgICAgICAgW3t0eXBlOiAiaTY0IiwgdmFsdWU6ICI2MyIgfSwgW3sgdHlwZTog
Imk2NCIsIHZhbHVlOiAiMHg4MDAwMDAwMDAwMDAwMDAwIiB9XV0sCisgICAgICAgICAgICAgICAg
ICAgICAgICAgW3t0eXBlOiAiaTY0IiwgdmFsdWU6ICIwIiB9LCBbeyB0eXBlOiAiaTY0IiwgdmFs
dWU6ICIweDdmZmZmZmZmZmZmZmZmZmYiIH1dXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBd
CisgICAgICAgICAgICAgICAgICAgICAgICk7CmRpZmYgLS1naXQgYS9KU1Rlc3RzL3dhc20vZnVu
Y3Rpb24tdGVzdHMvcG9wY250LmpzIGIvSlNUZXN0cy93YXNtL2Z1bmN0aW9uLXRlc3RzL3BvcGNu
dC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43OTcyYmVlY2RhMDA1OGVhMDA2ZDU5OTMxOGRhZjgzODg1MWY2ZDFj
Ci0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy93YXNtL2Z1bmN0aW9uLXRlc3RzL3BvcGNudC5q
cwpAQCAtMCwwICsxLDQwIEBACitpbXBvcnQgQnVpbGRlciBmcm9tICcuLi9CdWlsZGVyLmpzJwor
Citjb25zdCBiID0gbmV3IEJ1aWxkZXIoKTsKK2IuVHlwZSgpLkVuZCgpCisgICAgLkZ1bmN0aW9u
KCkuRW5kKCkKKyAgICAuQ29kZSgpCisgICAgLkZ1bmN0aW9uKHsgcGFyYW1zOiBbImkzMiJdLCBy
ZXQ6ICJpMzIiIH0sIFtdKQorICAgIC5HZXRMb2NhbCgwKQorICAgIC5JMzJQb3BjbnQoKQorICAg
IC5FbmQoKQorCisgICAgLkZ1bmN0aW9uKHsgcGFyYW1zOiBbImk2NCJdLCByZXQ6ICJpNjQiIH0s
IFtdKQorICAgIC5HZXRMb2NhbCgwKQorICAgIC5JNjRQb3BjbnQoKQorICAgIC5FbmQoKQorCitj
b25zdCBiaW4gPSBiLldlYkFzc2VtYmx5KCkKK2Jpbi50cmltKCk7Cit0ZXN0V2FzbU1vZHVsZUZ1
bmN0aW9ucyhiaW4uZ2V0KCksIDIsCisgICAgICAgICAgICAgICAgICAgICAgICBbW3t0eXBlOiAi
aTMyIiwgdmFsdWU6ICIzMiIgfSwgW3sgdHlwZTogImkzMiIsIHZhbHVlOiAiLTEiIH1dXSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICBbe3R5cGU6ICJpMzIiLCB2YWx1ZTogIjAiIH0sIFt7IHR5
cGU6ICJpMzIiLCB2YWx1ZTogIjAiIH1dXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBbe3R5
cGU6ICJpMzIiLCB2YWx1ZTogIjEiIH0sIFt7IHR5cGU6ICJpMzIiLCB2YWx1ZTogIjB4MDAwMDgw
MDAiIH1dXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBbe3R5cGU6ICJpMzIiLCB2YWx1ZTog
IjIiIH0sIFt7IHR5cGU6ICJpMzIiLCB2YWx1ZTogIjB4ODAwMDgwMDAiIH1dXSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICBbe3R5cGU6ICJpMzIiLCB2YWx1ZTogIjMxIiB9LCBbeyB0eXBlOiAi
aTMyIiwgdmFsdWU6ICIweDdmZmZmZmZmIiB9XV0sCisgICAgICAgICAgICAgICAgICAgICAgICAg
W3t0eXBlOiAiaTMyIiwgdmFsdWU6ICIxNiIgfSwgW3sgdHlwZTogImkzMiIsIHZhbHVlOiAiMHhh
YWFhYWFhYSIgfV1dLAorICAgICAgICAgICAgICAgICAgICAgICAgIFt7dHlwZTogImkzMiIsIHZh
bHVlOiAiMTYiIH0sIFt7IHR5cGU6ICJpMzIiLCB2YWx1ZTogIjB4NTU1NTU1NTUiIH1dXSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICBbe3R5cGU6ICJpMzIiLCB2YWx1ZTogIjI0IiB9LCBbeyB0
eXBlOiAiaTMyIiwgdmFsdWU6ICIweGRlYWRiZWVmIiB9XV0sCisgICAgICAgICAgICAgICAgICAg
ICAgICBdLAorCisKKyAgICAgICAgICAgICAgICAgICAgICAgIFtbe3R5cGU6ICJpNjQiLCB2YWx1
ZTogIjY0IiB9LCBbeyB0eXBlOiAiaTY0IiwgdmFsdWU6ICItMSIgfV1dLAorICAgICAgICAgICAg
ICAgICAgICAgICAgIFt7dHlwZTogImk2NCIsIHZhbHVlOiAiMCIgfSwgW3sgdHlwZTogImk2NCIs
IHZhbHVlOiAiMCIgfV1dLAorICAgICAgICAgICAgICAgICAgICAgICAgIFt7dHlwZTogImk2NCIs
IHZhbHVlOiAiMSIgfSwgW3sgdHlwZTogImk2NCIsIHZhbHVlOiAiMHgwMDAwODAwMCIgfV1dLAor
ICAgICAgICAgICAgICAgICAgICAgICAgIFt7dHlwZTogImk2NCIsIHZhbHVlOiAiNCIgfSwgW3sg
dHlwZTogImk2NCIsIHZhbHVlOiAiMHg4MDAwODAwMDgwMDA4MDAwIiB9XV0sCisgICAgICAgICAg
ICAgICAgICAgICAgICAgW3t0eXBlOiAiaTY0IiwgdmFsdWU6ICI2MyIgfSwgW3sgdHlwZTogImk2
NCIsIHZhbHVlOiAiMHg3ZmZmZmZmZmZmZmZmZmZmIiB9XV0sCisgICAgICAgICAgICAgICAgICAg
ICAgICAgW3t0eXBlOiAiaTY0IiwgdmFsdWU6ICIzMiIgfSwgW3sgdHlwZTogImk2NCIsIHZhbHVl
OiAiMHhhYWFhYWFhYTU1NTU1NTU1IiB9XV0sCisgICAgICAgICAgICAgICAgICAgICAgICAgW3t0
eXBlOiAiaTY0IiwgdmFsdWU6ICIzMiIgfSwgW3sgdHlwZTogImk2NCIsIHZhbHVlOiAiMHg5OTk5
OTk5OWFhYWFhYWFhIiB9XV0sCisgICAgICAgICAgICAgICAgICAgICAgICAgW3t0eXBlOiAiaTY0
IiwgdmFsdWU6ICI0OCIgfSwgW3sgdHlwZTogImk2NCIsIHZhbHVlOiAiMHhkZWFkYmVlZmRlYWRi
ZWVmIiB9XV0sCisgICAgICAgICAgICAgICAgICAgICAgICBdCisgICAgICAgICAgICAgICAgICAg
ICAgICk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>