<?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>149126</bug_id>
          
          <creation_ts>2015-09-14 13:59:47 -0700</creation_ts>
          <short_desc>Document.createNodeIterator(null) / Document.createTreeWalker(null) should throw a TypeError</short_desc>
          <delta_ts>2015-09-14 17:33:14 -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>DOM</component>
          <version>Other</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>https://dom.spec.whatwg.org/#interface-document</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar, WebExposed</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>ap</cc>
    
    <cc>commit-queue</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1125721</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-09-14 13:59:47 -0700</bug_when>
    <thetext>Document.createNodeIterator(null) / Document.createTreeWalker(null) should throw a TypeError:
https://dom.spec.whatwg.org/#interface-document

This is because the parameter is not nullable and Web IDL says we should throw a TypeError in this case.

Firefox and Chrome throw an exception in this case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1125722</commentid>
    <comment_count>1</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-09-14 14:00:15 -0700</bug_when>
    <thetext>rdar://problem/22564891</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1125750</commentid>
    <comment_count>2</comment_count>
      <attachid>261134</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-09-14 15:07:21 -0700</bug_when>
    <thetext>Created attachment 261134
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1125780</commentid>
    <comment_count>3</comment_count>
      <attachid>261134</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2015-09-14 15:57:10 -0700</bug_when>
    <thetext>Comment on attachment 261134
Patch

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

&gt; Source/WebCore/dom/Document.h:540
&gt; +    RefPtr&lt;NodeIterator&gt; createNodeIterator(Node* root, unsigned long whatToShow, RefPtr&lt;NodeFilter&gt;&amp;&amp;, bool expandEntityReferences, ExceptionCode&amp;);
&gt; +    RefPtr&lt;NodeIterator&gt; createNodeIterator(Node* root, unsigned long whatToShow, RefPtr&lt;NodeFilter&gt;&amp;&amp;, ExceptionCode&amp;);
&gt; +    RefPtr&lt;NodeIterator&gt; createNodeIterator(Node* root, unsigned long whatToShow, ExceptionCode&amp;);
&gt; +    RefPtr&lt;NodeIterator&gt; createNodeIterator(Node* root, ExceptionCode&amp;);
&gt; +

We can&apos;t rely on default arguments!?
Can we somehow fix the bidding code generator to take care of this instead?

&gt; LayoutTests/imported/w3c/web-platform-tests/dom/traversal/TreeWalker-basic-expected.txt:7
&gt; -FAIL Give an invalid root node to document.createTreeWalker(). assert_throws: function &quot;function () { document.createTreeWalker(null); }&quot; did not throw
&gt; +PASS Give an invalid root node to document.createTreeWalker(). 

Does this test all the combinations?
If not, it might be worth adding a new test case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1125786</commentid>
    <comment_count>4</comment_count>
      <attachid>261134</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-09-14 16:05:44 -0700</bug_when>
    <thetext>Comment on attachment 261134
Patch

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

&gt;&gt; Source/WebCore/dom/Document.h:540
&gt;&gt; +
&gt; 
&gt; We can&apos;t rely on default arguments!?
&gt; Can we somehow fix the bidding code generator to take care of this instead?

Well, the issue is that the function now takes an ExceptionCode&amp; so we cannot use default arguments. Longer term, my plan is to use WTF::Optional for optional parameters. This will probably be needed when we supposed passing undefined for optional parameters, e.g.
document.createNodeIterator(node, undefined, filter, false);

In this case, we should use the default value for whatToShow parameter.

&gt;&gt; LayoutTests/imported/w3c/web-platform-tests/dom/traversal/TreeWalker-basic-expected.txt:7
&gt;&gt; +PASS Give an invalid root node to document.createTreeWalker(). 
&gt; 
&gt; Does this test all the combinations?
&gt; If not, it might be worth adding a new test case.

All combinations? I only changed the behavior of the first argument of createNodeIterator() / createTreeWalker().
Now that I look at it though, there is no coverage for createNodeIterator(null) but I&apos;ll add a test before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1125809</commentid>
    <comment_count>5</comment_count>
      <attachid>261152</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-09-14 16:40:24 -0700</bug_when>
    <thetext>Created attachment 261152
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1125822</commentid>
    <comment_count>6</comment_count>
      <attachid>261152</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-09-14 17:30:17 -0700</bug_when>
    <thetext>Comment on attachment 261152
Patch

Clearing flags on attachment: 261152

Committed r189765: &lt;http://trac.webkit.org/changeset/189765&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1125823</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-09-14 17:30:21 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1125825</commentid>
    <comment_count>8</comment_count>
      <attachid>261152</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-09-14 17:33:14 -0700</bug_when>
    <thetext>Comment on attachment 261152
Patch

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

&gt; Source/WebCore/dom/Document.cpp:1744
&gt; +    return createNodeIterator(root, 0xFFFFFFFF, nullptr, false, ec);

Would have been nice if this 0xFFFFFFFF was a constant somewhere. It is used in a couple places.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>261134</attachid>
            <date>2015-09-14 15:07:21 -0700</date>
            <delta_ts>2015-09-14 16:40:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-149126-20150914150718.patch</filename>
            <type>text/plain</type>
            <size>14977</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg5NzQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjNjZmFhYjA0ODE4MDg1
MjZmYzA3ODE0NWRiMTE0MDY2YWI1Nzc1MC4uZjZmMTllMTk1ZjRiNWY0ZWNjZTAzNjgzZGRkYmY3
MjgzNjlmNGMxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDE1LTA5LTE0ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgRG9jdW1lbnQuY3JlYXRlTm9k
ZUl0ZXJhdG9yKG51bGwpIC8gRG9jdW1lbnQuY3JlYXRlVHJlZVdhbGtlcihudWxsKSBzaG91bGQg
dGhyb3cgYSBUeXBlRXJyb3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE0OTEyNgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjI1NjQ4OTE+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRG9jdW1lbnQuY3Jl
YXRlTm9kZUl0ZXJhdG9yKG51bGwpIC8gRG9jdW1lbnQuY3JlYXRlVHJlZVdhbGtlcihudWxsKQor
ICAgICAgICBzaG91bGQgdGhyb3cgYSBUeXBlRXJyb3I6CisgICAgICAgIGh0dHBzOi8vZG9tLnNw
ZWMud2hhdHdnLm9yZy8jaW50ZXJmYWNlLWRvY3VtZW50CisKKyAgICAgICAgVGhpcyBpcyBiZWNh
dXNlIHRoZSBwYXJhbWV0ZXIgaXMgbm90IG51bGxhYmxlIGFuZCBXZWIgSURMIHNheXMgd2UKKyAg
ICAgICAgc2hvdWxkIHRocm93IGEgVHlwZUVycm9yIGluIHRoaXMgY2FzZS4KKworICAgICAgICBG
aXJlZm94IGFuZCBDaHJvbWUgdGhyb3cgYW4gZXhjZXB0aW9uIGluIHRoaXMgY2FzZS4gVGhpcyBw
YXRjaAorICAgICAgICBhbGlnbnMgb3VyIGJlaGF2aW9yIHdpdGggdGhlIHNwZWNpZmljYXRpb24g
YW5kIG90aGVyIG1ham9yIGJyb3dzZXJzLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgYWxyZWFk
eSBjb3ZlcmVkIGJ5IGV4aXN0aW5nIFczQyB0ZXN0LgorCisgICAgICAgICogZG9tL0RvY3VtZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpjcmVhdGVOb2RlSXRlcmF0b3IpOgor
ICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmNyZWF0ZVRyZWVXYWxrZXIpOgorICAgICAgICAq
IGRvbS9Eb2N1bWVudC5oOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5pZGw6CisgICAgICAgICog
ZG9tL05vZGVJdGVyYXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOb2RlSXRlcmF0b3I6Ok5v
ZGVJdGVyYXRvcik6CisgICAgICAgICogZG9tL05vZGVJdGVyYXRvci5oOgorICAgICAgICAoV2Vi
Q29yZTo6Tm9kZUl0ZXJhdG9yOjpjcmVhdGUpOgorICAgICAgICAqIGRvbS9UcmF2ZXJzYWwuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Tm9kZUl0ZXJhdG9yQmFzZTo6Tm9kZUl0ZXJhdG9yQmFzZSk6
CisgICAgICAgICogZG9tL1RyYXZlcnNhbC5oOgorICAgICAgICAqIGRvbS9UcmVlV2Fsa2VyLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OlRyZWVXYWxrZXI6OlRyZWVXYWxrZXIpOgorICAgICAgICAq
IGRvbS9UcmVlV2Fsa2VyLmg6CisgICAgICAgIChXZWJDb3JlOjpUcmVlV2Fsa2VyOjpjcmVhdGUp
OgorCiAyMDE1LTA5LTE0ICBHeXV5b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ad2Via2l0Lm9yZz4K
IAogICAgICAgICBbRUZMXSBSZW1vdmUgY3JlYXRlKCkgZmFjdG9yeSBmdW5jdGlvbiBpbiBFdmFz
R0xDb250ZXh0IGFuZCBFdmFzR0xTdXJmYWNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRleCA3
Zjk2NTM1NTZlZWU5YjNlZWVlZTdjNWEzODE4MTU0N2M0Yzc2MmJiLi5iZTMyNmYwZmM1ZTZhZTEy
YzNjNTUwYzQwOGIwZGQxOTIyNTA0Mzc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20v
RG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAgLTE3
MjAsMTQgKzE3MjAsNTIgQEAgUmVmPFJhbmdlPiBEb2N1bWVudDo6Y3JlYXRlUmFuZ2UoKQogICAg
IHJldHVybiBSYW5nZTo6Y3JlYXRlKCp0aGlzKTsKIH0KIAotUmVmUHRyPE5vZGVJdGVyYXRvcj4g
RG9jdW1lbnQ6OmNyZWF0ZU5vZGVJdGVyYXRvcihOb2RlKiByb290LCB1bnNpZ25lZCBsb25nIHdo
YXRUb1Nob3csIFBhc3NSZWZQdHI8Tm9kZUZpbHRlcj4gZmlsdGVyLCBib29sIGV4cGFuZEVudGl0
eVJlZmVyZW5jZXMpCitSZWZQdHI8Tm9kZUl0ZXJhdG9yPiBEb2N1bWVudDo6Y3JlYXRlTm9kZUl0
ZXJhdG9yKE5vZGUqIHJvb3QsIHVuc2lnbmVkIGxvbmcgd2hhdFRvU2hvdywgUmVmUHRyPE5vZGVG
aWx0ZXI+JiYgZmlsdGVyLCBib29sIGV4cGFuZEVudGl0eVJlZmVyZW5jZXMsIEV4Y2VwdGlvbkNv
ZGUmIGVjKQogewotICAgIHJldHVybiBOb2RlSXRlcmF0b3I6OmNyZWF0ZShyb290LCB3aGF0VG9T
aG93LCBmaWx0ZXIsIGV4cGFuZEVudGl0eVJlZmVyZW5jZXMpOworICAgIGlmICghcm9vdCkgewor
ICAgICAgICBlYyA9IFR5cGVFcnJvcjsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgfQor
ICAgIHJldHVybiBOb2RlSXRlcmF0b3I6OmNyZWF0ZShyb290LCB3aGF0VG9TaG93LCBXVEY6Om1v
dmUoZmlsdGVyKSwgZXhwYW5kRW50aXR5UmVmZXJlbmNlcyk7Cit9CisKK1JlZlB0cjxOb2RlSXRl
cmF0b3I+IERvY3VtZW50OjpjcmVhdGVOb2RlSXRlcmF0b3IoTm9kZSogcm9vdCwgdW5zaWduZWQg
bG9uZyB3aGF0VG9TaG93LCBSZWZQdHI8Tm9kZUZpbHRlcj4mJiBmaWx0ZXIsIEV4Y2VwdGlvbkNv
ZGUmIGVjKQoreworICAgIHJldHVybiBjcmVhdGVOb2RlSXRlcmF0b3Iocm9vdCwgd2hhdFRvU2hv
dywgV1RGOjptb3ZlKGZpbHRlciksIGZhbHNlLCBlYyk7Cit9CisKK1JlZlB0cjxOb2RlSXRlcmF0
b3I+IERvY3VtZW50OjpjcmVhdGVOb2RlSXRlcmF0b3IoTm9kZSogcm9vdCwgdW5zaWduZWQgbG9u
ZyB3aGF0VG9TaG93LCBFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICByZXR1cm4gY3JlYXRlTm9k
ZUl0ZXJhdG9yKHJvb3QsIHdoYXRUb1Nob3csIG51bGxwdHIsIGZhbHNlLCBlYyk7Cit9CisKK1Jl
ZlB0cjxOb2RlSXRlcmF0b3I+IERvY3VtZW50OjpjcmVhdGVOb2RlSXRlcmF0b3IoTm9kZSogcm9v
dCwgRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgcmV0dXJuIGNyZWF0ZU5vZGVJdGVyYXRvcihy
b290LCAweEZGRkZGRkZGLCBudWxscHRyLCBmYWxzZSwgZWMpOworfQorCitSZWZQdHI8VHJlZVdh
bGtlcj4gRG9jdW1lbnQ6OmNyZWF0ZVRyZWVXYWxrZXIoTm9kZSogcm9vdCwgdW5zaWduZWQgbG9u
ZyB3aGF0VG9TaG93LCBSZWZQdHI8Tm9kZUZpbHRlcj4mJiBmaWx0ZXIsIGJvb2wgZXhwYW5kRW50
aXR5UmVmZXJlbmNlcywgRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgaWYgKCFyb290KSB7Cisg
ICAgICAgIGVjID0gVHlwZUVycm9yOworICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICB9Cisg
ICAgcmV0dXJuIFRyZWVXYWxrZXI6OmNyZWF0ZShyb290LCB3aGF0VG9TaG93LCBXVEY6Om1vdmUo
ZmlsdGVyKSwgZXhwYW5kRW50aXR5UmVmZXJlbmNlcyk7Cit9CisKK1JlZlB0cjxUcmVlV2Fsa2Vy
PiBEb2N1bWVudDo6Y3JlYXRlVHJlZVdhbGtlcihOb2RlKiByb290LCB1bnNpZ25lZCBsb25nIHdo
YXRUb1Nob3csIFJlZlB0cjxOb2RlRmlsdGVyPiYmIGZpbHRlciwgRXhjZXB0aW9uQ29kZSYgZWMp
Cit7CisgICAgcmV0dXJuIGNyZWF0ZVRyZWVXYWxrZXIocm9vdCwgd2hhdFRvU2hvdywgV1RGOjpt
b3ZlKGZpbHRlciksIGZhbHNlLCBlYyk7Cit9CisKK1JlZlB0cjxUcmVlV2Fsa2VyPiBEb2N1bWVu
dDo6Y3JlYXRlVHJlZVdhbGtlcihOb2RlKiByb290LCB1bnNpZ25lZCBsb25nIHdoYXRUb1Nob3cs
IEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIHJldHVybiBjcmVhdGVUcmVlV2Fsa2VyKHJvb3Qs
IHdoYXRUb1Nob3csIG51bGxwdHIsIGZhbHNlLCBlYyk7CiB9CiAKLVJlZlB0cjxUcmVlV2Fsa2Vy
PiBEb2N1bWVudDo6Y3JlYXRlVHJlZVdhbGtlcihOb2RlKiByb290LCB1bnNpZ25lZCBsb25nIHdo
YXRUb1Nob3csIFBhc3NSZWZQdHI8Tm9kZUZpbHRlcj4gZmlsdGVyLCBib29sIGV4cGFuZEVudGl0
eVJlZmVyZW5jZXMpCitSZWZQdHI8VHJlZVdhbGtlcj4gRG9jdW1lbnQ6OmNyZWF0ZVRyZWVXYWxr
ZXIoTm9kZSogcm9vdCwgRXhjZXB0aW9uQ29kZSYgZWMpCiB7Ci0gICAgcmV0dXJuIFRyZWVXYWxr
ZXI6OmNyZWF0ZShyb290LCB3aGF0VG9TaG93LCBmaWx0ZXIsIGV4cGFuZEVudGl0eVJlZmVyZW5j
ZXMpOworICAgIHJldHVybiBjcmVhdGVUcmVlV2Fsa2VyKHJvb3QsIDB4RkZGRkZGRkYsIG51bGxw
dHIsIGZhbHNlLCBlYyk7CiB9CiAKIHZvaWQgRG9jdW1lbnQ6OnNjaGVkdWxlRm9yY2VkU3R5bGVS
ZWNhbGMoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAppbmRleCBhMDAwYjZjYmU0NGFmZWQxYjc1ZjNjMWMx
MmU1NTY3NGIzNWFiMDNjLi44OGQzNDY2ZTY3YWVlZjY2OTYzMjc5NTJjYzJjNTk4NjlhZDY0Y2Q3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vRG9jdW1lbnQuaApAQCAtNTMzLDkgKzUzMywxNSBAQCBwdWJsaWM6CiAKICAg
ICBXRUJDT1JFX0VYUE9SVCBSZWY8UmFuZ2U+IGNyZWF0ZVJhbmdlKCk7CiAKLSAgICBSZWZQdHI8
Tm9kZUl0ZXJhdG9yPiBjcmVhdGVOb2RlSXRlcmF0b3IoTm9kZSogcm9vdCwgdW5zaWduZWQgbG9u
ZyB3aGF0VG9TaG93ID0gMHhGRkZGRkZGRiwgUGFzc1JlZlB0cjxOb2RlRmlsdGVyPiA9IG51bGxw
dHIsIGJvb2wgZXhwYW5kRW50aXR5UmVmZXJlbmNlcyA9IGZhbHNlKTsKLQotICAgIFJlZlB0cjxU
cmVlV2Fsa2VyPiBjcmVhdGVUcmVlV2Fsa2VyKE5vZGUqIHJvb3QsIHVuc2lnbmVkIGxvbmcgd2hh
dFRvU2hvdyA9IDB4RkZGRkZGRkYsIFBhc3NSZWZQdHI8Tm9kZUZpbHRlcj4gPSBudWxscHRyLCBi
b29sIGV4cGFuZEVudGl0eVJlZmVyZW5jZXMgPSBmYWxzZSk7CisgICAgUmVmUHRyPE5vZGVJdGVy
YXRvcj4gY3JlYXRlTm9kZUl0ZXJhdG9yKE5vZGUqIHJvb3QsIHVuc2lnbmVkIGxvbmcgd2hhdFRv
U2hvdywgUmVmUHRyPE5vZGVGaWx0ZXI+JiYsIGJvb2wgZXhwYW5kRW50aXR5UmVmZXJlbmNlcywg
RXhjZXB0aW9uQ29kZSYpOworICAgIFJlZlB0cjxOb2RlSXRlcmF0b3I+IGNyZWF0ZU5vZGVJdGVy
YXRvcihOb2RlKiByb290LCB1bnNpZ25lZCBsb25nIHdoYXRUb1Nob3csIFJlZlB0cjxOb2RlRmls
dGVyPiYmLCBFeGNlcHRpb25Db2RlJik7CisgICAgUmVmUHRyPE5vZGVJdGVyYXRvcj4gY3JlYXRl
Tm9kZUl0ZXJhdG9yKE5vZGUqIHJvb3QsIHVuc2lnbmVkIGxvbmcgd2hhdFRvU2hvdywgRXhjZXB0
aW9uQ29kZSYpOworICAgIFJlZlB0cjxOb2RlSXRlcmF0b3I+IGNyZWF0ZU5vZGVJdGVyYXRvcihO
b2RlKiByb290LCBFeGNlcHRpb25Db2RlJik7CisKKyAgICBSZWZQdHI8VHJlZVdhbGtlcj4gY3Jl
YXRlVHJlZVdhbGtlcihOb2RlKiByb290LCB1bnNpZ25lZCBsb25nIHdoYXRUb1Nob3csIFJlZlB0
cjxOb2RlRmlsdGVyPiYmLCBib29sIGV4cGFuZEVudGl0eVJlZmVyZW5jZXMsIEV4Y2VwdGlvbkNv
ZGUmKTsKKyAgICBSZWZQdHI8VHJlZVdhbGtlcj4gY3JlYXRlVHJlZVdhbGtlcihOb2RlKiByb290
LCB1bnNpZ25lZCBsb25nIHdoYXRUb1Nob3csIFJlZlB0cjxOb2RlRmlsdGVyPiYmLCBFeGNlcHRp
b25Db2RlJik7CisgICAgUmVmUHRyPFRyZWVXYWxrZXI+IGNyZWF0ZVRyZWVXYWxrZXIoTm9kZSog
cm9vdCwgdW5zaWduZWQgbG9uZyB3aGF0VG9TaG93LCBFeGNlcHRpb25Db2RlJik7CisgICAgUmVm
UHRyPFRyZWVXYWxrZXI+IGNyZWF0ZVRyZWVXYWxrZXIoTm9kZSogcm9vdCwgRXhjZXB0aW9uQ29k
ZSYpOwogCiAgICAgLy8gU3BlY2lhbCBzdXBwb3J0IGZvciBlZGl0aW5nCiAgICAgUmVmPENTU1N0
eWxlRGVjbGFyYXRpb24+IGNyZWF0ZUNTU1N0eWxlRGVjbGFyYXRpb24oKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9j
dW1lbnQuaWRsCmluZGV4IGE5ZTE4ZDNkZjQ4YWY1NGFhNDFlZTE0MTIwZjNhY2FiNDVlMzM3ZDcu
LjM5MWM5ODM2ODAwOWQ1MWE3MWE5MjhlZGYwOWNhNTQyYWRhZjY0MzkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0Rv
Y3VtZW50LmlkbApAQCAtOTIsMTEgKzkyLDExIEBACiAKICAgICAvLyBET00gTGV2ZWwgMiBUcmFu
dmVyc2FsIGFuZCBSYW5nZSAoRG9jdW1lbnRUcmF2ZXJzYWwgaW50ZXJmYWNlKQogCi0gICAgW09i
akNMZWdhY3lVbm5hbWVkUGFyYW1ldGVyc10gTm9kZUl0ZXJhdG9yIGNyZWF0ZU5vZGVJdGVyYXRv
cihOb2RlIHJvb3QsCisgICAgW09iakNMZWdhY3lVbm5hbWVkUGFyYW1ldGVycywgUmFpc2VzRXhj
ZXB0aW9uXSBOb2RlSXRlcmF0b3IgY3JlYXRlTm9kZUl0ZXJhdG9yKE5vZGUgcm9vdCwKICAgICAg
ICAgb3B0aW9uYWwgdW5zaWduZWQgbG9uZyB3aGF0VG9TaG93LAogICAgICAgICBvcHRpb25hbCBO
b2RlRmlsdGVyPyBmaWx0ZXIsCiAgICAgICAgIG9wdGlvbmFsIGJvb2xlYW4gZXhwYW5kRW50aXR5
UmVmZXJlbmNlcyk7Ci0gICAgW09iakNMZWdhY3lVbm5hbWVkUGFyYW1ldGVyc10gVHJlZVdhbGtl
ciBjcmVhdGVUcmVlV2Fsa2VyKE5vZGUgcm9vdCwKKyAgICBbT2JqQ0xlZ2FjeVVubmFtZWRQYXJh
bWV0ZXJzLCBSYWlzZXNFeGNlcHRpb25dIFRyZWVXYWxrZXIgY3JlYXRlVHJlZVdhbGtlcihOb2Rl
IHJvb3QsCiAgICAgICAgIG9wdGlvbmFsIHVuc2lnbmVkIGxvbmcgd2hhdFRvU2hvdywKICAgICAg
ICAgb3B0aW9uYWwgTm9kZUZpbHRlcj8gZmlsdGVyLAogICAgICAgICBvcHRpb25hbCBib29sZWFu
IGV4cGFuZEVudGl0eVJlZmVyZW5jZXMpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9t
L05vZGVJdGVyYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZUl0ZXJhdG9yLmNwcApp
bmRleCA4ZjI5YWIwMTg4YTk0ODdkNjJmZjU3MTJmZjE5NjFiYjE1NGUyMGRkLi40OGEwYTE5MmE3
YmVlMGNmZjIwOWQ1ZWE0ZDg5YzljMzFhMDRjNzA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vTm9kZUl0ZXJhdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZUl0ZXJh
dG9yLmNwcApAQCAtNzYsOCArNzYsOCBAQCBib29sIE5vZGVJdGVyYXRvcjo6Tm9kZVBvaW50ZXI6
Om1vdmVUb1ByZXZpb3VzKE5vZGUqIHJvb3QpCiAgICAgcmV0dXJuIG5vZGU7CiB9CiAKLU5vZGVJ
dGVyYXRvcjo6Tm9kZUl0ZXJhdG9yKFBhc3NSZWZQdHI8Tm9kZT4gcm9vdE5vZGUsIHVuc2lnbmVk
IGxvbmcgd2hhdFRvU2hvdywgUGFzc1JlZlB0cjxOb2RlRmlsdGVyPiBmaWx0ZXIsIGJvb2wgZXhw
YW5kRW50aXR5UmVmZXJlbmNlcykKLSAgICA6IE5vZGVJdGVyYXRvckJhc2Uocm9vdE5vZGUsIHdo
YXRUb1Nob3csIGZpbHRlciwgZXhwYW5kRW50aXR5UmVmZXJlbmNlcykKK05vZGVJdGVyYXRvcjo6
Tm9kZUl0ZXJhdG9yKFBhc3NSZWZQdHI8Tm9kZT4gcm9vdE5vZGUsIHVuc2lnbmVkIGxvbmcgd2hh
dFRvU2hvdywgUmVmUHRyPE5vZGVGaWx0ZXI+JiYgZmlsdGVyLCBib29sIGV4cGFuZEVudGl0eVJl
ZmVyZW5jZXMpCisgICAgOiBOb2RlSXRlcmF0b3JCYXNlKHJvb3ROb2RlLCB3aGF0VG9TaG93LCBX
VEY6Om1vdmUoZmlsdGVyKSwgZXhwYW5kRW50aXR5UmVmZXJlbmNlcykKICAgICAsIG1fcmVmZXJl
bmNlTm9kZShyb290KCksIHRydWUpCiB7CiAgICAgcm9vdCgpLT5kb2N1bWVudCgpLmF0dGFjaE5v
ZGVJdGVyYXRvcih0aGlzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlSXRl
cmF0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlSXRlcmF0b3IuaAppbmRleCA0OTc2NmFk
MzMyMTY1MTkzNzZjNmUzYWZiZTBjZTI3MzI0NDVhM2EwLi45NzE5Mjc0YTNkYTFiOTc1NDA2YWE3
MWNjNWU5ZWFlNWYzYzdkMzM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZUl0
ZXJhdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGVJdGVyYXRvci5oCkBAIC0zNyw5
ICszNyw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIE5vZGVJdGVyYXRvciA6
IHB1YmxpYyBTY3JpcHRXcmFwcGFibGUsIHB1YmxpYyBSZWZDb3VudGVkPE5vZGVJdGVyYXRvcj4s
IHB1YmxpYyBOb2RlSXRlcmF0b3JCYXNlIHsKICAgICBwdWJsaWM6Ci0gICAgICAgIHN0YXRpYyBS
ZWY8Tm9kZUl0ZXJhdG9yPiBjcmVhdGUoUGFzc1JlZlB0cjxOb2RlPiByb290Tm9kZSwgdW5zaWdu
ZWQgbG9uZyB3aGF0VG9TaG93LCBQYXNzUmVmUHRyPE5vZGVGaWx0ZXI+IGZpbHRlciwgYm9vbCBl
eHBhbmRFbnRpdHlSZWZlcmVuY2VzKQorICAgICAgICBzdGF0aWMgUmVmPE5vZGVJdGVyYXRvcj4g
Y3JlYXRlKFBhc3NSZWZQdHI8Tm9kZT4gcm9vdE5vZGUsIHVuc2lnbmVkIGxvbmcgd2hhdFRvU2hv
dywgUmVmUHRyPE5vZGVGaWx0ZXI+JiYgZmlsdGVyLCBib29sIGV4cGFuZEVudGl0eVJlZmVyZW5j
ZXMpCiAgICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IE5vZGVJdGVy
YXRvcihyb290Tm9kZSwgd2hhdFRvU2hvdywgZmlsdGVyLCBleHBhbmRFbnRpdHlSZWZlcmVuY2Vz
KSk7CisgICAgICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBOb2RlSXRlcmF0b3Iocm9vdE5v
ZGUsIHdoYXRUb1Nob3csIFdURjo6bW92ZShmaWx0ZXIpLCBleHBhbmRFbnRpdHlSZWZlcmVuY2Vz
KSk7CiAgICAgICAgIH0KICAgICAgICAgfk5vZGVJdGVyYXRvcigpOwogCkBAIC01NCw3ICs1NCw3
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdm9pZCBub2RlV2lsbEJlUmVtb3ZlZChO
b2RlJik7CiAKICAgICBwcml2YXRlOgotICAgICAgICBOb2RlSXRlcmF0b3IoUGFzc1JlZlB0cjxO
b2RlPiwgdW5zaWduZWQgbG9uZyB3aGF0VG9TaG93LCBQYXNzUmVmUHRyPE5vZGVGaWx0ZXI+LCBi
b29sIGV4cGFuZEVudGl0eVJlZmVyZW5jZXMpOworICAgICAgICBOb2RlSXRlcmF0b3IoUGFzc1Jl
ZlB0cjxOb2RlPiwgdW5zaWduZWQgbG9uZyB3aGF0VG9TaG93LCBSZWZQdHI8Tm9kZUZpbHRlcj4m
JiwgYm9vbCBleHBhbmRFbnRpdHlSZWZlcmVuY2VzKTsKIAogICAgICAgICBzdHJ1Y3QgTm9kZVBv
aW50ZXIgewogICAgICAgICAgICAgUmVmUHRyPE5vZGU+IG5vZGU7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vVHJhdmVyc2FsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9UcmF2ZXJz
YWwuY3BwCmluZGV4IDc2M2YxNDFjZTcxNmRjYWNkYjY4MjdhNGVmYmFhYzczZmZhOGI0NGIuLjc0
YTkyOGY3Y2MwMjliNmYzM2NmZGNlNTFhMWYyYTNhMzFmZWRiNTIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9UcmF2ZXJzYWwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9UcmF2
ZXJzYWwuY3BwCkBAIC0zMCwxMCArMzAsMTAgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1O
b2RlSXRlcmF0b3JCYXNlOjpOb2RlSXRlcmF0b3JCYXNlKFBhc3NSZWZQdHI8Tm9kZT4gcm9vdE5v
ZGUsIHVuc2lnbmVkIGxvbmcgd2hhdFRvU2hvdywgUGFzc1JlZlB0cjxOb2RlRmlsdGVyPiBub2Rl
RmlsdGVyLCBib29sIGV4cGFuZEVudGl0eVJlZmVyZW5jZXMpCitOb2RlSXRlcmF0b3JCYXNlOjpO
b2RlSXRlcmF0b3JCYXNlKFBhc3NSZWZQdHI8Tm9kZT4gcm9vdE5vZGUsIHVuc2lnbmVkIGxvbmcg
d2hhdFRvU2hvdywgUmVmUHRyPE5vZGVGaWx0ZXI+JiYgbm9kZUZpbHRlciwgYm9vbCBleHBhbmRF
bnRpdHlSZWZlcmVuY2VzKQogICAgIDogbV9yb290KHJvb3ROb2RlKQogICAgICwgbV93aGF0VG9T
aG93KHdoYXRUb1Nob3cpCi0gICAgLCBtX2ZpbHRlcihub2RlRmlsdGVyKQorICAgICwgbV9maWx0
ZXIoV1RGOjptb3ZlKG5vZGVGaWx0ZXIpKQogICAgICwgbV9leHBhbmRFbnRpdHlSZWZlcmVuY2Vz
KGV4cGFuZEVudGl0eVJlZmVyZW5jZXMpCiB7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vVHJhdmVyc2FsLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vVHJhdmVyc2FsLmgKaW5kZXgg
NmFjZmJkYmNhNWQzZjRlODU5MDVmMjY5MWVmMWZmNmUxZjE3NGRiNy4uZWQ2ZThkZGJkMGMyNjYx
NWUzMzdhMmU0MmM5YjlkOTM1OGY4ZmRkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L1RyYXZlcnNhbC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9UcmF2ZXJzYWwuaApAQCAtNDEs
NyArNDEsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIGJvb2wgZXhwYW5kRW50aXR5
UmVmZXJlbmNlcygpIGNvbnN0IHsgcmV0dXJuIG1fZXhwYW5kRW50aXR5UmVmZXJlbmNlczsgfQog
CiAgICAgcHJvdGVjdGVkOgotICAgICAgICBOb2RlSXRlcmF0b3JCYXNlKFBhc3NSZWZQdHI8Tm9k
ZT4sIHVuc2lnbmVkIGxvbmcgd2hhdFRvU2hvdywgUGFzc1JlZlB0cjxOb2RlRmlsdGVyPiwgYm9v
bCBleHBhbmRFbnRpdHlSZWZlcmVuY2VzKTsKKyAgICAgICAgTm9kZUl0ZXJhdG9yQmFzZShQYXNz
UmVmUHRyPE5vZGU+LCB1bnNpZ25lZCBsb25nIHdoYXRUb1Nob3csIFJlZlB0cjxOb2RlRmlsdGVy
PiYmLCBib29sIGV4cGFuZEVudGl0eVJlZmVyZW5jZXMpOwogICAgICAgICBzaG9ydCBhY2NlcHRO
b2RlKE5vZGUqKSBjb25zdDsKIAogICAgIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vVHJlZVdhbGtlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vVHJlZVdhbGtlci5j
cHAKaW5kZXggMDU4MzYyMDZkNjY1NDc1YTM1MzFkMmJjZDA1YjljNzUxNjAzZjE2Yy4uYWQwYWNl
MTk5YjdkYTY5ZWVjYjIwNDNhMjhjOWVmNDRmYzA2M2Q0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZG9tL1RyZWVXYWxrZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9UcmVlV2Fs
a2VyLmNwcApAQCAtMzMsOCArMzMsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVRyZWVX
YWxrZXI6OlRyZWVXYWxrZXIoUGFzc1JlZlB0cjxOb2RlPiByb290Tm9kZSwgdW5zaWduZWQgbG9u
ZyB3aGF0VG9TaG93LCBQYXNzUmVmUHRyPE5vZGVGaWx0ZXI+IGZpbHRlciwgYm9vbCBleHBhbmRF
bnRpdHlSZWZlcmVuY2VzKQotICAgIDogTm9kZUl0ZXJhdG9yQmFzZShyb290Tm9kZSwgd2hhdFRv
U2hvdywgZmlsdGVyLCBleHBhbmRFbnRpdHlSZWZlcmVuY2VzKQorVHJlZVdhbGtlcjo6VHJlZVdh
bGtlcihQYXNzUmVmUHRyPE5vZGU+IHJvb3ROb2RlLCB1bnNpZ25lZCBsb25nIHdoYXRUb1Nob3cs
IFJlZlB0cjxOb2RlRmlsdGVyPiYmIGZpbHRlciwgYm9vbCBleHBhbmRFbnRpdHlSZWZlcmVuY2Vz
KQorICAgIDogTm9kZUl0ZXJhdG9yQmFzZShyb290Tm9kZSwgd2hhdFRvU2hvdywgV1RGOjptb3Zl
KGZpbHRlciksIGV4cGFuZEVudGl0eVJlZmVyZW5jZXMpCiAgICAgLCBtX2N1cnJlbnQocm9vdCgp
KQogewogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1RyZWVXYWxrZXIuaCBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9UcmVlV2Fsa2VyLmgKaW5kZXggNmEzZmU3MTY4ZjA0ODVkM2VhOGZl
NzQ2YmMwZTcxNjQwYTE3YzYzMS4uYmY2OWJkZWNlMDk5YmNkMTRkYmFmZDU4ZjAxN2NmYmQ4N2I1
MTU2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1RyZWVXYWxrZXIuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9kb20vVHJlZVdhbGtlci5oCkBAIC0zNyw5ICszNyw5IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIFRyZWVXYWxrZXIgOiBwdWJsaWMgU2NyaXB0V3JhcHBh
YmxlLCBwdWJsaWMgUmVmQ291bnRlZDxUcmVlV2Fsa2VyPiwgcHVibGljIE5vZGVJdGVyYXRvckJh
c2UgewogICAgIHB1YmxpYzoKLSAgICAgICAgc3RhdGljIFJlZjxUcmVlV2Fsa2VyPiBjcmVhdGUo
UGFzc1JlZlB0cjxOb2RlPiByb290Tm9kZSwgdW5zaWduZWQgbG9uZyB3aGF0VG9TaG93LCBQYXNz
UmVmUHRyPE5vZGVGaWx0ZXI+IGZpbHRlciwgYm9vbCBleHBhbmRFbnRpdHlSZWZlcmVuY2VzKQor
ICAgICAgICBzdGF0aWMgUmVmPFRyZWVXYWxrZXI+IGNyZWF0ZShQYXNzUmVmUHRyPE5vZGU+IHJv
b3ROb2RlLCB1bnNpZ25lZCBsb25nIHdoYXRUb1Nob3csIFJlZlB0cjxOb2RlRmlsdGVyPiYmIGZp
bHRlciwgYm9vbCBleHBhbmRFbnRpdHlSZWZlcmVuY2VzKQogICAgICAgICB7Ci0gICAgICAgICAg
ICByZXR1cm4gYWRvcHRSZWYoKm5ldyBUcmVlV2Fsa2VyKHJvb3ROb2RlLCB3aGF0VG9TaG93LCBm
aWx0ZXIsIGV4cGFuZEVudGl0eVJlZmVyZW5jZXMpKTsKKyAgICAgICAgICAgIHJldHVybiBhZG9w
dFJlZigqbmV3IFRyZWVXYWxrZXIocm9vdE5vZGUsIHdoYXRUb1Nob3csIFdURjo6bW92ZShmaWx0
ZXIpLCBleHBhbmRFbnRpdHlSZWZlcmVuY2VzKSk7CiAgICAgICAgIH0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgCiAKICAgICAgICAgTm9kZSogY3VycmVudE5vZGUoKSBjb25zdCB7IHJldHVy
biBtX2N1cnJlbnQuZ2V0KCk7IH0KQEAgLTU0LDcgKzU0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgICAgICBOb2RlKiBuZXh0Tm9kZSgpOwogCiAgICAgcHJpdmF0ZToKLSAgICAgICAgVHJl
ZVdhbGtlcihQYXNzUmVmUHRyPE5vZGU+LCB1bnNpZ25lZCBsb25nIHdoYXRUb1Nob3csIFBhc3NS
ZWZQdHI8Tm9kZUZpbHRlcj4sIGJvb2wgZXhwYW5kRW50aXR5UmVmZXJlbmNlcyk7CisgICAgICAg
IFRyZWVXYWxrZXIoUGFzc1JlZlB0cjxOb2RlPiwgdW5zaWduZWQgbG9uZyB3aGF0VG9TaG93LCBS
ZWZQdHI8Tm9kZUZpbHRlcj4mJiwgYm9vbCBleHBhbmRFbnRpdHlSZWZlcmVuY2VzKTsKICAgICAg
ICAgCiAgICAgICAgIE5vZGUqIHNldEN1cnJlbnQoUGFzc1JlZlB0cjxOb2RlPik7CiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDYyMWYzNzk2MTFjNDZiZWQ4NjBkNzFkMDI0YzUw
OWU1ODljZWViYzIuLmE3ZDY1N2QyZGY5MjA3NDI2Yjk4ZWFmNjAwYmUwZjA2OTkzZDZjMTAgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDE1LTA5LTE0
ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgRG9jdW1lbnQuY3Jl
YXRlTm9kZUl0ZXJhdG9yKG51bGwpIC8gRG9jdW1lbnQuY3JlYXRlVHJlZVdhbGtlcihudWxsKSBz
aG91bGQgdGhyb3cgYSBUeXBlRXJyb3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE0OTEyNgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjI1NjQ4OTE+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmViYXNl
bGluZSBXM0MgdGVzdCBub3cgdGhhdCBhIG5ldyBjaGVjayBpcyBwYXNzaW5nLgorCisgICAgICAg
ICogd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS90cmF2ZXJzYWwvVHJlZVdhbGtlci1iYXNpYy1leHBl
Y3RlZC50eHQ6CisKIDIwMTUtMDktMTMgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4K
IAogICAgICAgICBJbXByb3ZlIE5vZGUgcHJlLWluc2VydGlvbiB2YWxpZGF0aW9uIHdoZW4gdGhl
IHBhcmVudCBpcyBhIERvY3VtZW50CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS90cmF2ZXJzYWwvVHJlZVdhbGtlci1iYXNpYy1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Rv
bS90cmF2ZXJzYWwvVHJlZVdhbGtlci1iYXNpYy1leHBlY3RlZC50eHQKaW5kZXggNWI0NzZjZmQx
YjFiZjM1MTM1YWRkNjA5YmExYjA5ZmIzZTA1YWNiMC4uY2I3YTc2N2I4OThhNDMxZjNlMGZmZWM1
ZGM5NzhkN2UzODQ4NGY3OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9kb20vdHJhdmVyc2FsL1RyZWVXYWxrZXItYmFzaWMtZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9t
L3RyYXZlcnNhbC9UcmVlV2Fsa2VyLWJhc2ljLWV4cGVjdGVkLnR4dApAQCAtNCw3ICs0LDcgQEAg
VGhpcyB0ZXN0IGNoZWNrcyB0aGUgYmFzaWMgZnVuY3Rpb25hbGl0eSBvZiBUcmVlV2Fsa2VyLgog
UEFTUyBDb25zdHJ1Y3QgYSBUcmVlV2Fsa2VyIGJ5IGRvY3VtZW50LmNyZWF0ZVRyZWVXYWxrZXIo
cm9vdCkuIAogUEFTUyBDb25zdHJ1Y3QgYSBUcmVlV2Fsa2VyIGJ5IGRvY3VtZW50LmNyZWF0ZVRy
ZWVXYWxrZXIocm9vdCwgbnVsbCwgbnVsbCkuIAogRkFJTCBDb25zdHJ1Y3QgYSBUcmVlV2Fsa2Vy
IGJ5IGRvY3VtZW50LmNyZWF0ZVRyZWVXYWxrZXIocm9vdCwgdW5kZWZpbmVkLCB1bmRlZmluZWQp
LiBhc3NlcnRfZXF1YWxzOiB3aGF0VG9TaG93IGV4cGVjdGVkIDQyOTQ5NjcyOTUgYnV0IGdvdCAw
Ci1GQUlMIEdpdmUgYW4gaW52YWxpZCByb290IG5vZGUgdG8gZG9jdW1lbnQuY3JlYXRlVHJlZVdh
bGtlcigpLiBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeyBkb2N1bWVudC5j
cmVhdGVUcmVlV2Fsa2VyKG51bGwpOyB9IiBkaWQgbm90IHRocm93CitQQVNTIEdpdmUgYW4gaW52
YWxpZCByb290IG5vZGUgdG8gZG9jdW1lbnQuY3JlYXRlVHJlZVdhbGtlcigpLiAKIFBBU1MgV2Fs
ayBvdmVyIG5vZGVzLiAKIFBBU1MgT3B0aW9uYWwgYXJndW1lbnRzIHRvIGNyZWF0ZVRyZWVXYWxr
ZXIgc2hvdWxkIGJlIG9wdGlvbmFsICgzIHBhc3NlZCwgbnVsbCkuIAogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>261152</attachid>
            <date>2015-09-14 16:40:24 -0700</date>
            <delta_ts>2015-09-14 17:30:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-149126-20150914164021.patch</filename>
            <type>text/plain</type>
            <size>19202</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg5NzU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjg2NmE3ZWE0YWZlMTBi
YWQzYjc0OTQyMmRjMTRiNTg0NGZjNmE3ZC4uMzVmNGY4MzIyZTRjMmM2OTY1Zjk4MDM4MzZhMWU5
ZWNjZTU0ZGZlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDE1LTA5LTE0ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgRG9jdW1lbnQuY3JlYXRlTm9k
ZUl0ZXJhdG9yKG51bGwpIC8gRG9jdW1lbnQuY3JlYXRlVHJlZVdhbGtlcihudWxsKSBzaG91bGQg
dGhyb3cgYSBUeXBlRXJyb3IKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE0OTEyNgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjI1NjQ4OTE+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgUnlvc3VrZSBOaXdhLgorCisgICAgICAgIERvY3VtZW50LmNyZWF0
ZU5vZGVJdGVyYXRvcihudWxsKSAvIERvY3VtZW50LmNyZWF0ZVRyZWVXYWxrZXIobnVsbCkKKyAg
ICAgICAgc2hvdWxkIHRocm93IGEgVHlwZUVycm9yOgorICAgICAgICBodHRwczovL2RvbS5zcGVj
LndoYXR3Zy5vcmcvI2ludGVyZmFjZS1kb2N1bWVudAorCisgICAgICAgIFRoaXMgaXMgYmVjYXVz
ZSB0aGUgcGFyYW1ldGVyIGlzIG5vdCBudWxsYWJsZSBhbmQgV2ViIElETCBzYXlzIHdlCisgICAg
ICAgIHNob3VsZCB0aHJvdyBhIFR5cGVFcnJvciBpbiB0aGlzIGNhc2UuCisKKyAgICAgICAgRmly
ZWZveCBhbmQgQ2hyb21lIHRocm93IGFuIGV4Y2VwdGlvbiBpbiB0aGlzIGNhc2UuIFRoaXMgcGF0
Y2gKKyAgICAgICAgYWxpZ25zIG91ciBiZWhhdmlvciB3aXRoIHRoZSBzcGVjaWZpY2F0aW9uIGFu
ZCBvdGhlciBtYWpvciBicm93c2Vycy4KKworICAgICAgICBObyBuZXcgdGVzdHMsIGFscmVhZHkg
Y292ZXJlZCBieSBleGlzdGluZyBXM0MgdGVzdC4KKworICAgICAgICAqIGRvbS9Eb2N1bWVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6Y3JlYXRlTm9kZUl0ZXJhdG9yKToKKyAg
ICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpjcmVhdGVUcmVlV2Fsa2VyKToKKyAgICAgICAgKiBk
b20vRG9jdW1lbnQuaDoKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaWRsOgorICAgICAgICAqIGRv
bS9Ob2RlSXRlcmF0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Tm9kZUl0ZXJhdG9yOjpOb2Rl
SXRlcmF0b3IpOgorICAgICAgICAqIGRvbS9Ob2RlSXRlcmF0b3IuaDoKKyAgICAgICAgKFdlYkNv
cmU6Ok5vZGVJdGVyYXRvcjo6Y3JlYXRlKToKKyAgICAgICAgKiBkb20vVHJhdmVyc2FsLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6Ok5vZGVJdGVyYXRvckJhc2U6Ok5vZGVJdGVyYXRvckJhc2UpOgor
ICAgICAgICAqIGRvbS9UcmF2ZXJzYWwuaDoKKyAgICAgICAgKiBkb20vVHJlZVdhbGtlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpUcmVlV2Fsa2VyOjpUcmVlV2Fsa2VyKToKKyAgICAgICAgKiBk
b20vVHJlZVdhbGtlci5oOgorICAgICAgICAoV2ViQ29yZTo6VHJlZVdhbGtlcjo6Y3JlYXRlKToK
KwogMjAxNS0wOS0xNCAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3Jn
PgogCiAgICAgICAgIFtXaW5dIFVucmV2aWV3ZWQgYnVpbGQgZml4IGFmdGVyIHIxODk3NDYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDdmOTY1MzU1NmVlZTliM2VlZWVlN2M1YTM4MTgxNTQ3
YzRjNzYyYmIuLmJlMzI2ZjBmYzVlNmFlMTJjM2M1NTBjNDA4YjBkZDE5MjI1MDQzNzYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvZG9tL0RvY3VtZW50LmNwcApAQCAtMTcyMCwxNCArMTcyMCw1MiBAQCBSZWY8UmFuZ2U+IERv
Y3VtZW50OjpjcmVhdGVSYW5nZSgpCiAgICAgcmV0dXJuIFJhbmdlOjpjcmVhdGUoKnRoaXMpOwog
fQogCi1SZWZQdHI8Tm9kZUl0ZXJhdG9yPiBEb2N1bWVudDo6Y3JlYXRlTm9kZUl0ZXJhdG9yKE5v
ZGUqIHJvb3QsIHVuc2lnbmVkIGxvbmcgd2hhdFRvU2hvdywgUGFzc1JlZlB0cjxOb2RlRmlsdGVy
PiBmaWx0ZXIsIGJvb2wgZXhwYW5kRW50aXR5UmVmZXJlbmNlcykKK1JlZlB0cjxOb2RlSXRlcmF0
b3I+IERvY3VtZW50OjpjcmVhdGVOb2RlSXRlcmF0b3IoTm9kZSogcm9vdCwgdW5zaWduZWQgbG9u
ZyB3aGF0VG9TaG93LCBSZWZQdHI8Tm9kZUZpbHRlcj4mJiBmaWx0ZXIsIGJvb2wgZXhwYW5kRW50
aXR5UmVmZXJlbmNlcywgRXhjZXB0aW9uQ29kZSYgZWMpCiB7Ci0gICAgcmV0dXJuIE5vZGVJdGVy
YXRvcjo6Y3JlYXRlKHJvb3QsIHdoYXRUb1Nob3csIGZpbHRlciwgZXhwYW5kRW50aXR5UmVmZXJl
bmNlcyk7CisgICAgaWYgKCFyb290KSB7CisgICAgICAgIGVjID0gVHlwZUVycm9yOworICAgICAg
ICByZXR1cm4gbnVsbHB0cjsKKyAgICB9CisgICAgcmV0dXJuIE5vZGVJdGVyYXRvcjo6Y3JlYXRl
KHJvb3QsIHdoYXRUb1Nob3csIFdURjo6bW92ZShmaWx0ZXIpLCBleHBhbmRFbnRpdHlSZWZlcmVu
Y2VzKTsKK30KKworUmVmUHRyPE5vZGVJdGVyYXRvcj4gRG9jdW1lbnQ6OmNyZWF0ZU5vZGVJdGVy
YXRvcihOb2RlKiByb290LCB1bnNpZ25lZCBsb25nIHdoYXRUb1Nob3csIFJlZlB0cjxOb2RlRmls
dGVyPiYmIGZpbHRlciwgRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgcmV0dXJuIGNyZWF0ZU5v
ZGVJdGVyYXRvcihyb290LCB3aGF0VG9TaG93LCBXVEY6Om1vdmUoZmlsdGVyKSwgZmFsc2UsIGVj
KTsKK30KKworUmVmUHRyPE5vZGVJdGVyYXRvcj4gRG9jdW1lbnQ6OmNyZWF0ZU5vZGVJdGVyYXRv
cihOb2RlKiByb290LCB1bnNpZ25lZCBsb25nIHdoYXRUb1Nob3csIEV4Y2VwdGlvbkNvZGUmIGVj
KQoreworICAgIHJldHVybiBjcmVhdGVOb2RlSXRlcmF0b3Iocm9vdCwgd2hhdFRvU2hvdywgbnVs
bHB0ciwgZmFsc2UsIGVjKTsKK30KKworUmVmUHRyPE5vZGVJdGVyYXRvcj4gRG9jdW1lbnQ6OmNy
ZWF0ZU5vZGVJdGVyYXRvcihOb2RlKiByb290LCBFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBy
ZXR1cm4gY3JlYXRlTm9kZUl0ZXJhdG9yKHJvb3QsIDB4RkZGRkZGRkYsIG51bGxwdHIsIGZhbHNl
LCBlYyk7Cit9CisKK1JlZlB0cjxUcmVlV2Fsa2VyPiBEb2N1bWVudDo6Y3JlYXRlVHJlZVdhbGtl
cihOb2RlKiByb290LCB1bnNpZ25lZCBsb25nIHdoYXRUb1Nob3csIFJlZlB0cjxOb2RlRmlsdGVy
PiYmIGZpbHRlciwgYm9vbCBleHBhbmRFbnRpdHlSZWZlcmVuY2VzLCBFeGNlcHRpb25Db2RlJiBl
YykKK3sKKyAgICBpZiAoIXJvb3QpIHsKKyAgICAgICAgZWMgPSBUeXBlRXJyb3I7CisgICAgICAg
IHJldHVybiBudWxscHRyOworICAgIH0KKyAgICByZXR1cm4gVHJlZVdhbGtlcjo6Y3JlYXRlKHJv
b3QsIHdoYXRUb1Nob3csIFdURjo6bW92ZShmaWx0ZXIpLCBleHBhbmRFbnRpdHlSZWZlcmVuY2Vz
KTsKK30KKworUmVmUHRyPFRyZWVXYWxrZXI+IERvY3VtZW50OjpjcmVhdGVUcmVlV2Fsa2VyKE5v
ZGUqIHJvb3QsIHVuc2lnbmVkIGxvbmcgd2hhdFRvU2hvdywgUmVmUHRyPE5vZGVGaWx0ZXI+JiYg
ZmlsdGVyLCBFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICByZXR1cm4gY3JlYXRlVHJlZVdhbGtl
cihyb290LCB3aGF0VG9TaG93LCBXVEY6Om1vdmUoZmlsdGVyKSwgZmFsc2UsIGVjKTsKK30KKwor
UmVmUHRyPFRyZWVXYWxrZXI+IERvY3VtZW50OjpjcmVhdGVUcmVlV2Fsa2VyKE5vZGUqIHJvb3Qs
IHVuc2lnbmVkIGxvbmcgd2hhdFRvU2hvdywgRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgcmV0
dXJuIGNyZWF0ZVRyZWVXYWxrZXIocm9vdCwgd2hhdFRvU2hvdywgbnVsbHB0ciwgZmFsc2UsIGVj
KTsKIH0KIAotUmVmUHRyPFRyZWVXYWxrZXI+IERvY3VtZW50OjpjcmVhdGVUcmVlV2Fsa2VyKE5v
ZGUqIHJvb3QsIHVuc2lnbmVkIGxvbmcgd2hhdFRvU2hvdywgUGFzc1JlZlB0cjxOb2RlRmlsdGVy
PiBmaWx0ZXIsIGJvb2wgZXhwYW5kRW50aXR5UmVmZXJlbmNlcykKK1JlZlB0cjxUcmVlV2Fsa2Vy
PiBEb2N1bWVudDo6Y3JlYXRlVHJlZVdhbGtlcihOb2RlKiByb290LCBFeGNlcHRpb25Db2RlJiBl
YykKIHsKLSAgICByZXR1cm4gVHJlZVdhbGtlcjo6Y3JlYXRlKHJvb3QsIHdoYXRUb1Nob3csIGZp
bHRlciwgZXhwYW5kRW50aXR5UmVmZXJlbmNlcyk7CisgICAgcmV0dXJuIGNyZWF0ZVRyZWVXYWxr
ZXIocm9vdCwgMHhGRkZGRkZGRiwgbnVsbHB0ciwgZmFsc2UsIGVjKTsKIH0KIAogdm9pZCBEb2N1
bWVudDo6c2NoZWR1bGVGb3JjZWRTdHlsZVJlY2FsYygpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCmluZGV4
IGEwMDBiNmNiZTQ0YWZlZDFiNzVmM2MxYzEyZTU1Njc0YjM1YWIwM2MuLjg4ZDM0NjZlNjdhZWVm
NjY5NjMyNzk1MmNjMmM1OTg2OWFkNjRjZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCkBAIC01MzMs
OSArNTMzLDE1IEBAIHB1YmxpYzoKIAogICAgIFdFQkNPUkVfRVhQT1JUIFJlZjxSYW5nZT4gY3Jl
YXRlUmFuZ2UoKTsKIAotICAgIFJlZlB0cjxOb2RlSXRlcmF0b3I+IGNyZWF0ZU5vZGVJdGVyYXRv
cihOb2RlKiByb290LCB1bnNpZ25lZCBsb25nIHdoYXRUb1Nob3cgPSAweEZGRkZGRkZGLCBQYXNz
UmVmUHRyPE5vZGVGaWx0ZXI+ID0gbnVsbHB0ciwgYm9vbCBleHBhbmRFbnRpdHlSZWZlcmVuY2Vz
ID0gZmFsc2UpOwotCi0gICAgUmVmUHRyPFRyZWVXYWxrZXI+IGNyZWF0ZVRyZWVXYWxrZXIoTm9k
ZSogcm9vdCwgdW5zaWduZWQgbG9uZyB3aGF0VG9TaG93ID0gMHhGRkZGRkZGRiwgUGFzc1JlZlB0
cjxOb2RlRmlsdGVyPiA9IG51bGxwdHIsIGJvb2wgZXhwYW5kRW50aXR5UmVmZXJlbmNlcyA9IGZh
bHNlKTsKKyAgICBSZWZQdHI8Tm9kZUl0ZXJhdG9yPiBjcmVhdGVOb2RlSXRlcmF0b3IoTm9kZSog
cm9vdCwgdW5zaWduZWQgbG9uZyB3aGF0VG9TaG93LCBSZWZQdHI8Tm9kZUZpbHRlcj4mJiwgYm9v
bCBleHBhbmRFbnRpdHlSZWZlcmVuY2VzLCBFeGNlcHRpb25Db2RlJik7CisgICAgUmVmUHRyPE5v
ZGVJdGVyYXRvcj4gY3JlYXRlTm9kZUl0ZXJhdG9yKE5vZGUqIHJvb3QsIHVuc2lnbmVkIGxvbmcg
d2hhdFRvU2hvdywgUmVmUHRyPE5vZGVGaWx0ZXI+JiYsIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICBS
ZWZQdHI8Tm9kZUl0ZXJhdG9yPiBjcmVhdGVOb2RlSXRlcmF0b3IoTm9kZSogcm9vdCwgdW5zaWdu
ZWQgbG9uZyB3aGF0VG9TaG93LCBFeGNlcHRpb25Db2RlJik7CisgICAgUmVmUHRyPE5vZGVJdGVy
YXRvcj4gY3JlYXRlTm9kZUl0ZXJhdG9yKE5vZGUqIHJvb3QsIEV4Y2VwdGlvbkNvZGUmKTsKKwor
ICAgIFJlZlB0cjxUcmVlV2Fsa2VyPiBjcmVhdGVUcmVlV2Fsa2VyKE5vZGUqIHJvb3QsIHVuc2ln
bmVkIGxvbmcgd2hhdFRvU2hvdywgUmVmUHRyPE5vZGVGaWx0ZXI+JiYsIGJvb2wgZXhwYW5kRW50
aXR5UmVmZXJlbmNlcywgRXhjZXB0aW9uQ29kZSYpOworICAgIFJlZlB0cjxUcmVlV2Fsa2VyPiBj
cmVhdGVUcmVlV2Fsa2VyKE5vZGUqIHJvb3QsIHVuc2lnbmVkIGxvbmcgd2hhdFRvU2hvdywgUmVm
UHRyPE5vZGVGaWx0ZXI+JiYsIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICBSZWZQdHI8VHJlZVdhbGtl
cj4gY3JlYXRlVHJlZVdhbGtlcihOb2RlKiByb290LCB1bnNpZ25lZCBsb25nIHdoYXRUb1Nob3cs
IEV4Y2VwdGlvbkNvZGUmKTsKKyAgICBSZWZQdHI8VHJlZVdhbGtlcj4gY3JlYXRlVHJlZVdhbGtl
cihOb2RlKiByb290LCBFeGNlcHRpb25Db2RlJik7CiAKICAgICAvLyBTcGVjaWFsIHN1cHBvcnQg
Zm9yIGVkaXRpbmcKICAgICBSZWY8Q1NTU3R5bGVEZWNsYXJhdGlvbj4gY3JlYXRlQ1NTU3R5bGVE
ZWNsYXJhdGlvbigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50Lmlk
bCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5pZGwKaW5kZXggYTllMThkM2RmNDhhZjU0
YWE0MWVlMTQxMjBmM2FjYWI0NWUzMzdkNy4uMzkxYzk4MzY4MDA5ZDUxYTcxYTkyOGVkZjA5Y2E1
NDJhZGFmNjQzOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmlkbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaWRsCkBAIC05MiwxMSArOTIsMTEgQEAK
IAogICAgIC8vIERPTSBMZXZlbCAyIFRyYW52ZXJzYWwgYW5kIFJhbmdlIChEb2N1bWVudFRyYXZl
cnNhbCBpbnRlcmZhY2UpCiAKLSAgICBbT2JqQ0xlZ2FjeVVubmFtZWRQYXJhbWV0ZXJzXSBOb2Rl
SXRlcmF0b3IgY3JlYXRlTm9kZUl0ZXJhdG9yKE5vZGUgcm9vdCwKKyAgICBbT2JqQ0xlZ2FjeVVu
bmFtZWRQYXJhbWV0ZXJzLCBSYWlzZXNFeGNlcHRpb25dIE5vZGVJdGVyYXRvciBjcmVhdGVOb2Rl
SXRlcmF0b3IoTm9kZSByb290LAogICAgICAgICBvcHRpb25hbCB1bnNpZ25lZCBsb25nIHdoYXRU
b1Nob3csCiAgICAgICAgIG9wdGlvbmFsIE5vZGVGaWx0ZXI/IGZpbHRlciwKICAgICAgICAgb3B0
aW9uYWwgYm9vbGVhbiBleHBhbmRFbnRpdHlSZWZlcmVuY2VzKTsKLSAgICBbT2JqQ0xlZ2FjeVVu
bmFtZWRQYXJhbWV0ZXJzXSBUcmVlV2Fsa2VyIGNyZWF0ZVRyZWVXYWxrZXIoTm9kZSByb290LAor
ICAgIFtPYmpDTGVnYWN5VW5uYW1lZFBhcmFtZXRlcnMsIFJhaXNlc0V4Y2VwdGlvbl0gVHJlZVdh
bGtlciBjcmVhdGVUcmVlV2Fsa2VyKE5vZGUgcm9vdCwKICAgICAgICAgb3B0aW9uYWwgdW5zaWdu
ZWQgbG9uZyB3aGF0VG9TaG93LAogICAgICAgICBvcHRpb25hbCBOb2RlRmlsdGVyPyBmaWx0ZXIs
CiAgICAgICAgIG9wdGlvbmFsIGJvb2xlYW4gZXhwYW5kRW50aXR5UmVmZXJlbmNlcyk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZUl0ZXJhdG9yLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9Ob2RlSXRlcmF0b3IuY3BwCmluZGV4IDhmMjlhYjAxODhhOTQ4N2Q2MmZmNTcxMmZm
MTk2MWJiMTU0ZTIwZGQuLjQ4YTBhMTkyYTdiZWUwY2ZmMjA5ZDVlYTRkODljOWMzMWEwNGM3MDkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlSXRlcmF0b3IuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Ob2RlSXRlcmF0b3IuY3BwCkBAIC03Niw4ICs3Niw4IEBAIGJvb2wg
Tm9kZUl0ZXJhdG9yOjpOb2RlUG9pbnRlcjo6bW92ZVRvUHJldmlvdXMoTm9kZSogcm9vdCkKICAg
ICByZXR1cm4gbm9kZTsKIH0KIAotTm9kZUl0ZXJhdG9yOjpOb2RlSXRlcmF0b3IoUGFzc1JlZlB0
cjxOb2RlPiByb290Tm9kZSwgdW5zaWduZWQgbG9uZyB3aGF0VG9TaG93LCBQYXNzUmVmUHRyPE5v
ZGVGaWx0ZXI+IGZpbHRlciwgYm9vbCBleHBhbmRFbnRpdHlSZWZlcmVuY2VzKQotICAgIDogTm9k
ZUl0ZXJhdG9yQmFzZShyb290Tm9kZSwgd2hhdFRvU2hvdywgZmlsdGVyLCBleHBhbmRFbnRpdHlS
ZWZlcmVuY2VzKQorTm9kZUl0ZXJhdG9yOjpOb2RlSXRlcmF0b3IoUGFzc1JlZlB0cjxOb2RlPiBy
b290Tm9kZSwgdW5zaWduZWQgbG9uZyB3aGF0VG9TaG93LCBSZWZQdHI8Tm9kZUZpbHRlcj4mJiBm
aWx0ZXIsIGJvb2wgZXhwYW5kRW50aXR5UmVmZXJlbmNlcykKKyAgICA6IE5vZGVJdGVyYXRvckJh
c2Uocm9vdE5vZGUsIHdoYXRUb1Nob3csIFdURjo6bW92ZShmaWx0ZXIpLCBleHBhbmRFbnRpdHlS
ZWZlcmVuY2VzKQogICAgICwgbV9yZWZlcmVuY2VOb2RlKHJvb3QoKSwgdHJ1ZSkKIHsKICAgICBy
b290KCktPmRvY3VtZW50KCkuYXR0YWNoTm9kZUl0ZXJhdG9yKHRoaXMpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL05vZGVJdGVyYXRvci5oIGIvU291cmNlL1dlYkNvcmUvZG9tL05v
ZGVJdGVyYXRvci5oCmluZGV4IDQ5NzY2YWQzMzIxNjUxOTM3NmM2ZTNhZmJlMGNlMjczMjQ0NWEz
YTAuLjk3MTkyNzRhM2RhMWI5NzU0MDZhYTcxY2M1ZTllYWU1ZjNjN2QzMzUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlSXRlcmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vTm9kZUl0ZXJhdG9yLmgKQEAgLTM3LDkgKzM3LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
CiAgICAgY2xhc3MgTm9kZUl0ZXJhdG9yIDogcHVibGljIFNjcmlwdFdyYXBwYWJsZSwgcHVibGlj
IFJlZkNvdW50ZWQ8Tm9kZUl0ZXJhdG9yPiwgcHVibGljIE5vZGVJdGVyYXRvckJhc2UgewogICAg
IHB1YmxpYzoKLSAgICAgICAgc3RhdGljIFJlZjxOb2RlSXRlcmF0b3I+IGNyZWF0ZShQYXNzUmVm
UHRyPE5vZGU+IHJvb3ROb2RlLCB1bnNpZ25lZCBsb25nIHdoYXRUb1Nob3csIFBhc3NSZWZQdHI8
Tm9kZUZpbHRlcj4gZmlsdGVyLCBib29sIGV4cGFuZEVudGl0eVJlZmVyZW5jZXMpCisgICAgICAg
IHN0YXRpYyBSZWY8Tm9kZUl0ZXJhdG9yPiBjcmVhdGUoUGFzc1JlZlB0cjxOb2RlPiByb290Tm9k
ZSwgdW5zaWduZWQgbG9uZyB3aGF0VG9TaG93LCBSZWZQdHI8Tm9kZUZpbHRlcj4mJiBmaWx0ZXIs
IGJvb2wgZXhwYW5kRW50aXR5UmVmZXJlbmNlcykKICAgICAgICAgewotICAgICAgICAgICAgcmV0
dXJuIGFkb3B0UmVmKCpuZXcgTm9kZUl0ZXJhdG9yKHJvb3ROb2RlLCB3aGF0VG9TaG93LCBmaWx0
ZXIsIGV4cGFuZEVudGl0eVJlZmVyZW5jZXMpKTsKKyAgICAgICAgICAgIHJldHVybiBhZG9wdFJl
ZigqbmV3IE5vZGVJdGVyYXRvcihyb290Tm9kZSwgd2hhdFRvU2hvdywgV1RGOjptb3ZlKGZpbHRl
ciksIGV4cGFuZEVudGl0eVJlZmVyZW5jZXMpKTsKICAgICAgICAgfQogICAgICAgICB+Tm9kZUl0
ZXJhdG9yKCk7CiAKQEAgLTU0LDcgKzU0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAg
ICB2b2lkIG5vZGVXaWxsQmVSZW1vdmVkKE5vZGUmKTsKIAogICAgIHByaXZhdGU6Ci0gICAgICAg
IE5vZGVJdGVyYXRvcihQYXNzUmVmUHRyPE5vZGU+LCB1bnNpZ25lZCBsb25nIHdoYXRUb1Nob3cs
IFBhc3NSZWZQdHI8Tm9kZUZpbHRlcj4sIGJvb2wgZXhwYW5kRW50aXR5UmVmZXJlbmNlcyk7Cisg
ICAgICAgIE5vZGVJdGVyYXRvcihQYXNzUmVmUHRyPE5vZGU+LCB1bnNpZ25lZCBsb25nIHdoYXRU
b1Nob3csIFJlZlB0cjxOb2RlRmlsdGVyPiYmLCBib29sIGV4cGFuZEVudGl0eVJlZmVyZW5jZXMp
OwogCiAgICAgICAgIHN0cnVjdCBOb2RlUG9pbnRlciB7CiAgICAgICAgICAgICBSZWZQdHI8Tm9k
ZT4gbm9kZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9UcmF2ZXJzYWwuY3BwIGIv
U291cmNlL1dlYkNvcmUvZG9tL1RyYXZlcnNhbC5jcHAKaW5kZXggNzYzZjE0MWNlNzE2ZGNhY2Ri
NjgyN2E0ZWZiYWFjNzNmZmE4YjQ0Yi4uNzRhOTI4ZjdjYzAyOWI2ZjMzY2ZkY2U1MWExZjJhM2Ez
MWZlZGI1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1RyYXZlcnNhbC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvZG9tL1RyYXZlcnNhbC5jcHAKQEAgLTMwLDEwICszMCwxMCBAQAog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLU5vZGVJdGVyYXRvckJhc2U6Ok5vZGVJdGVyYXRvckJh
c2UoUGFzc1JlZlB0cjxOb2RlPiByb290Tm9kZSwgdW5zaWduZWQgbG9uZyB3aGF0VG9TaG93LCBQ
YXNzUmVmUHRyPE5vZGVGaWx0ZXI+IG5vZGVGaWx0ZXIsIGJvb2wgZXhwYW5kRW50aXR5UmVmZXJl
bmNlcykKK05vZGVJdGVyYXRvckJhc2U6Ok5vZGVJdGVyYXRvckJhc2UoUGFzc1JlZlB0cjxOb2Rl
PiByb290Tm9kZSwgdW5zaWduZWQgbG9uZyB3aGF0VG9TaG93LCBSZWZQdHI8Tm9kZUZpbHRlcj4m
JiBub2RlRmlsdGVyLCBib29sIGV4cGFuZEVudGl0eVJlZmVyZW5jZXMpCiAgICAgOiBtX3Jvb3Qo
cm9vdE5vZGUpCiAgICAgLCBtX3doYXRUb1Nob3cod2hhdFRvU2hvdykKLSAgICAsIG1fZmlsdGVy
KG5vZGVGaWx0ZXIpCisgICAgLCBtX2ZpbHRlcihXVEY6Om1vdmUobm9kZUZpbHRlcikpCiAgICAg
LCBtX2V4cGFuZEVudGl0eVJlZmVyZW5jZXMoZXhwYW5kRW50aXR5UmVmZXJlbmNlcykKIHsKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9UcmF2ZXJzYWwuaCBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9UcmF2ZXJzYWwuaAppbmRleCA2YWNmYmRiY2E1ZDNmNGU4NTkwNWYyNjkxZWYxZmY2
ZTFmMTc0ZGI3Li5lZDZlOGRkYmQwYzI2NjE1ZTMzN2EyZTQyYzliOWQ5MzU4ZjhmZGRhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vVHJhdmVyc2FsLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvZG9tL1RyYXZlcnNhbC5oCkBAIC00MSw3ICs0MSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICAgICAgYm9vbCBleHBhbmRFbnRpdHlSZWZlcmVuY2VzKCkgY29uc3QgeyByZXR1cm4gbV9l
eHBhbmRFbnRpdHlSZWZlcmVuY2VzOyB9CiAKICAgICBwcm90ZWN0ZWQ6Ci0gICAgICAgIE5vZGVJ
dGVyYXRvckJhc2UoUGFzc1JlZlB0cjxOb2RlPiwgdW5zaWduZWQgbG9uZyB3aGF0VG9TaG93LCBQ
YXNzUmVmUHRyPE5vZGVGaWx0ZXI+LCBib29sIGV4cGFuZEVudGl0eVJlZmVyZW5jZXMpOworICAg
ICAgICBOb2RlSXRlcmF0b3JCYXNlKFBhc3NSZWZQdHI8Tm9kZT4sIHVuc2lnbmVkIGxvbmcgd2hh
dFRvU2hvdywgUmVmUHRyPE5vZGVGaWx0ZXI+JiYsIGJvb2wgZXhwYW5kRW50aXR5UmVmZXJlbmNl
cyk7CiAgICAgICAgIHNob3J0IGFjY2VwdE5vZGUoTm9kZSopIGNvbnN0OwogCiAgICAgcHJpdmF0
ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9UcmVlV2Fsa2VyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9UcmVlV2Fsa2VyLmNwcAppbmRleCAwNTgzNjIwNmQ2NjU0NzVhMzUzMWQy
YmNkMDViOWM3NTE2MDNmMTZjLi5hZDBhY2UxOTliN2RhNjllZWNiMjA0M2EyOGM5ZWY0NGZjMDYz
ZDQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vVHJlZVdhbGtlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvZG9tL1RyZWVXYWxrZXIuY3BwCkBAIC0zMyw4ICszMyw4IEBACiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAotVHJlZVdhbGtlcjo6VHJlZVdhbGtlcihQYXNzUmVmUHRyPE5v
ZGU+IHJvb3ROb2RlLCB1bnNpZ25lZCBsb25nIHdoYXRUb1Nob3csIFBhc3NSZWZQdHI8Tm9kZUZp
bHRlcj4gZmlsdGVyLCBib29sIGV4cGFuZEVudGl0eVJlZmVyZW5jZXMpCi0gICAgOiBOb2RlSXRl
cmF0b3JCYXNlKHJvb3ROb2RlLCB3aGF0VG9TaG93LCBmaWx0ZXIsIGV4cGFuZEVudGl0eVJlZmVy
ZW5jZXMpCitUcmVlV2Fsa2VyOjpUcmVlV2Fsa2VyKFBhc3NSZWZQdHI8Tm9kZT4gcm9vdE5vZGUs
IHVuc2lnbmVkIGxvbmcgd2hhdFRvU2hvdywgUmVmUHRyPE5vZGVGaWx0ZXI+JiYgZmlsdGVyLCBi
b29sIGV4cGFuZEVudGl0eVJlZmVyZW5jZXMpCisgICAgOiBOb2RlSXRlcmF0b3JCYXNlKHJvb3RO
b2RlLCB3aGF0VG9TaG93LCBXVEY6Om1vdmUoZmlsdGVyKSwgZXhwYW5kRW50aXR5UmVmZXJlbmNl
cykKICAgICAsIG1fY3VycmVudChyb290KCkpCiB7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vVHJlZVdhbGtlci5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1RyZWVXYWxrZXIuaApp
bmRleCA2YTNmZTcxNjhmMDQ4NWQzZWE4ZmU3NDZiYzBlNzE2NDBhMTdjNjMxLi5iZjY5YmRlY2Uw
OTliY2QxNGRiYWZkNThmMDE3Y2ZiZDg3YjUxNTYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vVHJlZVdhbGtlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9UcmVlV2Fsa2VyLmgK
QEAgLTM3LDkgKzM3LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xhc3MgVHJlZVdh
bGtlciA6IHB1YmxpYyBTY3JpcHRXcmFwcGFibGUsIHB1YmxpYyBSZWZDb3VudGVkPFRyZWVXYWxr
ZXI+LCBwdWJsaWMgTm9kZUl0ZXJhdG9yQmFzZSB7CiAgICAgcHVibGljOgotICAgICAgICBzdGF0
aWMgUmVmPFRyZWVXYWxrZXI+IGNyZWF0ZShQYXNzUmVmUHRyPE5vZGU+IHJvb3ROb2RlLCB1bnNp
Z25lZCBsb25nIHdoYXRUb1Nob3csIFBhc3NSZWZQdHI8Tm9kZUZpbHRlcj4gZmlsdGVyLCBib29s
IGV4cGFuZEVudGl0eVJlZmVyZW5jZXMpCisgICAgICAgIHN0YXRpYyBSZWY8VHJlZVdhbGtlcj4g
Y3JlYXRlKFBhc3NSZWZQdHI8Tm9kZT4gcm9vdE5vZGUsIHVuc2lnbmVkIGxvbmcgd2hhdFRvU2hv
dywgUmVmUHRyPE5vZGVGaWx0ZXI+JiYgZmlsdGVyLCBib29sIGV4cGFuZEVudGl0eVJlZmVyZW5j
ZXMpCiAgICAgICAgIHsKLSAgICAgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFRyZWVXYWxr
ZXIocm9vdE5vZGUsIHdoYXRUb1Nob3csIGZpbHRlciwgZXhwYW5kRW50aXR5UmVmZXJlbmNlcykp
OworICAgICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgVHJlZVdhbGtlcihyb290Tm9kZSwg
d2hhdFRvU2hvdywgV1RGOjptb3ZlKGZpbHRlciksIGV4cGFuZEVudGl0eVJlZmVyZW5jZXMpKTsK
ICAgICAgICAgfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAKIAogICAgICAgICBOb2RlKiBj
dXJyZW50Tm9kZSgpIGNvbnN0IHsgcmV0dXJuIG1fY3VycmVudC5nZXQoKTsgfQpAQCAtNTQsNyAr
NTQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIE5vZGUqIG5leHROb2RlKCk7CiAK
ICAgICBwcml2YXRlOgotICAgICAgICBUcmVlV2Fsa2VyKFBhc3NSZWZQdHI8Tm9kZT4sIHVuc2ln
bmVkIGxvbmcgd2hhdFRvU2hvdywgUGFzc1JlZlB0cjxOb2RlRmlsdGVyPiwgYm9vbCBleHBhbmRF
bnRpdHlSZWZlcmVuY2VzKTsKKyAgICAgICAgVHJlZVdhbGtlcihQYXNzUmVmUHRyPE5vZGU+LCB1
bnNpZ25lZCBsb25nIHdoYXRUb1Nob3csIFJlZlB0cjxOb2RlRmlsdGVyPiYmLCBib29sIGV4cGFu
ZEVudGl0eVJlZmVyZW5jZXMpOwogICAgICAgICAKICAgICAgICAgTm9kZSogc2V0Q3VycmVudChQ
YXNzUmVmUHRyPE5vZGU+KTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGQxOTY4NWU0ZTQyMWE5ZTdiYmM4Mzk0MWZmZDVj
ZTk0Mjc2OTFhMzQuLjE3ZDZkZDY3Njg1OGNlYmRlODRhMWQyYTM1ZmEyZTQzMTJiNGY0ZTYgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKQEAgLTEsNSArMSwyMCBAQAogMjAxNS0wOS0xNCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBw
bGUuY29tPgogCisgICAgICAgIERvY3VtZW50LmNyZWF0ZU5vZGVJdGVyYXRvcihudWxsKSAvIERv
Y3VtZW50LmNyZWF0ZVRyZWVXYWxrZXIobnVsbCkgc2hvdWxkIHRocm93IGEgVHlwZUVycm9yCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDkxMjYKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzIyNTY0ODkxPgorCisgICAgICAgIFJldmlld2VkIGJ5IFJ5
b3N1a2UgTml3YS4KKworICAgICAgICBVcGRhdGUgZXhpc3RpbmcgdGVzdHMgdG8gYWRkIHRlc3Qg
Y292ZXJhZ2UgZm9yIHRoaXMgY2FzZS4KKworICAgICAgICAqIGZhc3QvZG9tL2NyZWF0ZU5vZGVJ
dGVyYXRvci1wYXJhbWV0ZXJzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2RvbS9jcmVh
dGVOb2RlSXRlcmF0b3ItcGFyYW1ldGVycy5odG1sOgorICAgICAgICAqIGZhc3QvZG9tL2NyZWF0
ZVRyZWVXYWxrZXItcGFyYW1ldGVycy1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9kb20v
Y3JlYXRlVHJlZVdhbGtlci1wYXJhbWV0ZXJzLmh0bWw6CisKKzIwMTUtMDktMTQgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKwogICAgICAgICBEaXNhYmxlIFBJQ1RVUkVfU0laRVMg
b24gQXBwbGVXaW4KICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE0OTEyNQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdl
TG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCA2MjFmMzc5NjEx
YzQ2YmVkODYwZDcxZDAyNGM1MDllNTg5Y2VlYmMyLi4zMjE5NzQzNzc2Y2VjYjUwYTY0NDRjYTNh
Y2IzZmMxMWVlNzI1NjcyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNSBAQAorMjAxNS0wOS0xNCAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisg
ICAgICAgIERvY3VtZW50LmNyZWF0ZU5vZGVJdGVyYXRvcihudWxsKSAvIERvY3VtZW50LmNyZWF0
ZVRyZWVXYWxrZXIobnVsbCkgc2hvdWxkIHRocm93IGEgVHlwZUVycm9yCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDkxMjYKKyAgICAgICAgPHJkYXI6
Ly9wcm9ibGVtLzIyNTY0ODkxPgorCisgICAgICAgIFJldmlld2VkIGJ5IFJ5b3N1a2UgTml3YS4K
KworICAgICAgICBSZWJhc2VsaW5lIFczQyB0ZXN0IG5vdyB0aGF0IGEgbmV3IGNoZWNrIGlzIHBh
c3NpbmcuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZG9tL3RyYXZlcnNhbC9UcmVl
V2Fsa2VyLWJhc2ljLWV4cGVjdGVkLnR4dDoKKwogMjAxNS0wOS0xMyAgQ2hyaXMgRHVtZXogIDxj
ZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIEltcHJvdmUgTm9kZSBwcmUtaW5zZXJ0aW9uIHZh
bGlkYXRpb24gd2hlbiB0aGUgcGFyZW50IGlzIGEgRG9jdW1lbnQKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvZG9tL2NyZWF0ZU5vZGVJdGVyYXRvci1wYXJhbWV0ZXJzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL2NyZWF0ZU5vZGVJdGVyYXRvci1wYXJhbWV0ZXJzLWV4
cGVjdGVkLnR4dAppbmRleCBmODE1NTIwOTFjOGIxNjFkYjcxYjJhYjljYjQ2YThhNjRjODgwZTY0
Li5hOTQ5MzQzN2ZjN2IxN2Q0YTEzOGQ0YWFlNmJlNjBiYzM4Y2M5YWI3IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9jcmVhdGVOb2RlSXRlcmF0b3ItcGFyYW1ldGVycy1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vY3JlYXRlTm9kZUl0ZXJhdG9yLXBhcmFt
ZXRlcnMtZXhwZWN0ZWQudHh0CkBAIC0zLDkgKzMsMTIgQEAgVGVzdHMgcGFyYW1ldGVycyBvZiBk
b2N1bWVudC5jcmVhdGVOb2RlSXRlcmF0b3IoKSBBUEkuCiBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBz
ZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVU
RSIuCiAKIAotKiBObyBwYXJhbWV0ZXJzCitObyBwYXJhbWV0ZXJzCiBQQVNTIGRvY3VtZW50LmNy
ZWF0ZU5vZGVJdGVyYXRvcigpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IE5vdCBlbm91Z2gg
YXJndW1lbnRzLgogCitOdWxsIHJvb3Qgbm9kZQorUEFTUyBkb2N1bWVudC5jcmVhdGVOb2RlSXRl
cmF0b3IobnVsbCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KKwogRGVm
YXVsdCBwYXJhbWV0ZXJzCiBpdGVyYXRvciA9IGRvY3VtZW50LmNyZWF0ZU5vZGVJdGVyYXRvcihk
b2N1bWVudCkKIFBBU1MgaXRlcmF0b3Iucm9vdCBpcyBkb2N1bWVudApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9kb20vY3JlYXRlTm9kZUl0ZXJhdG9yLXBhcmFtZXRlcnMuaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL2NyZWF0ZU5vZGVJdGVyYXRvci1wYXJhbWV0ZXJzLmh0bWwKaW5k
ZXggNDEyYjM4YTc2OGE4MzYxNTJmYWYzNTM4ZjU3YTQ5ZjM0OTE3ZDE3YS4uZDY4MTQ5ZjZlMTAw
ZDRlMzgyOGE3OWZkY2ZkMGU2ZTRlODRmYzgzZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9kb20vY3JlYXRlTm9kZUl0ZXJhdG9yLXBhcmFtZXRlcnMuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9jcmVhdGVOb2RlSXRlcmF0b3ItcGFyYW1ldGVycy5odG1sCkBAIC01LDkgKzUs
MTMgQEAKIDxzY3JpcHQ+CiBkZXNjcmlwdGlvbigiVGVzdHMgcGFyYW1ldGVycyBvZiBkb2N1bWVu
dC5jcmVhdGVOb2RlSXRlcmF0b3IoKSBBUEkuIik7CiAKLWRlYnVnKCIqIE5vIHBhcmFtZXRlcnMi
KTsKK2RlYnVnKCJObyBwYXJhbWV0ZXJzIik7CiBzaG91bGRUaHJvdygiZG9jdW1lbnQuY3JlYXRl
Tm9kZUl0ZXJhdG9yKCkiLCAiJ1R5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMnIik7CiAK
K2RlYnVnKCIiKQorZGVidWcoIk51bGwgcm9vdCBub2RlIik7CitzaG91bGRUaHJvdygiZG9jdW1l
bnQuY3JlYXRlTm9kZUl0ZXJhdG9yKG51bGwpIiwgIidUeXBlRXJyb3I6IFR5cGUgZXJyb3InIik7
CisKIGRlYnVnKCIiKTsKIGRlYnVnKCJEZWZhdWx0IHBhcmFtZXRlcnMiKTsKIGV2YWxBbmRMb2co
Iml0ZXJhdG9yID0gZG9jdW1lbnQuY3JlYXRlTm9kZUl0ZXJhdG9yKGRvY3VtZW50KSIpOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vY3JlYXRlVHJlZVdhbGtlci1wYXJhbWV0ZXJz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL2NyZWF0ZVRyZWVXYWxrZXItcGFy
YW1ldGVycy1leHBlY3RlZC50eHQKaW5kZXggMDNjZjZjYzlhMjYzOTJiMGRkYjEyZDlkM2YxNWIy
MWU0NDcwM2YxYS4uYWY2NDQ4YWFkM2QzYWEwYjI0Mjg5MDJkNDkxMTBhNWQ5YzU3OGQ3ZiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vY3JlYXRlVHJlZVdhbGtlci1wYXJhbWV0ZXJz
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9jcmVhdGVUcmVlV2Fsa2Vy
LXBhcmFtZXRlcnMtZXhwZWN0ZWQudHh0CkBAIC0zLDkgKzMsMTIgQEAgVGVzdHMgcGFyYW1ldGVy
cyBvZiBkb2N1bWVudC5jcmVhdGVUcmVlV2Fsa2VyKCkgQVBJLgogT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUiLgogCiAKLSogTm8gcGFyYW1ldGVycworTm8gcGFyYW1ldGVycwogUEFTUyBkb2N1bWVu
dC5jcmVhdGVUcmVlV2Fsa2VyKCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogTm90IGVub3Vn
aCBhcmd1bWVudHMuCiAKK051bGwgcm9vdCBub2RlCitQQVNTIGRvY3VtZW50LmNyZWF0ZVRyZWVX
YWxrZXIobnVsbCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KKwogRGVm
YXVsdCBwYXJhbWV0ZXJzCiB3YWxrZXIgPSBkb2N1bWVudC5jcmVhdGVUcmVlV2Fsa2VyKGRvY3Vt
ZW50KQogUEFTUyB3YWxrZXIucm9vdCBpcyBkb2N1bWVudApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9kb20vY3JlYXRlVHJlZVdhbGtlci1wYXJhbWV0ZXJzLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9jcmVhdGVUcmVlV2Fsa2VyLXBhcmFtZXRlcnMuaHRtbAppbmRleCAxM2Q0YTRl
MGU0YWEyNjkyY2VkZTY3OTRlOTkwYTE5NWVlMTgyMzU5Li42NjlmOWE5ZDM2NzZkOTZkNTk5OGMy
YWM5MDk4YjZlMGRjOWU4NDJiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9jcmVh
dGVUcmVlV2Fsa2VyLXBhcmFtZXRlcnMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9j
cmVhdGVUcmVlV2Fsa2VyLXBhcmFtZXRlcnMuaHRtbApAQCAtNSw5ICs1LDEzIEBACiA8c2NyaXB0
PgogZGVzY3JpcHRpb24oIlRlc3RzIHBhcmFtZXRlcnMgb2YgZG9jdW1lbnQuY3JlYXRlVHJlZVdh
bGtlcigpIEFQSS4iKTsKIAotZGVidWcoIiogTm8gcGFyYW1ldGVycyIpOworZGVidWcoIk5vIHBh
cmFtZXRlcnMiKTsKIHNob3VsZFRocm93KCJkb2N1bWVudC5jcmVhdGVUcmVlV2Fsa2VyKCkiLCAi
J1R5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMnIik7CiAKK2RlYnVnKCIiKQorZGVidWco
Ik51bGwgcm9vdCBub2RlIik7CitzaG91bGRUaHJvdygiZG9jdW1lbnQuY3JlYXRlVHJlZVdhbGtl
cihudWxsKSIsICInVHlwZUVycm9yOiBUeXBlIGVycm9yJyIpOworCiBkZWJ1ZygiIik7CiBkZWJ1
ZygiRGVmYXVsdCBwYXJhbWV0ZXJzIik7CiBldmFsQW5kTG9nKCJ3YWxrZXIgPSBkb2N1bWVudC5j
cmVhdGVUcmVlV2Fsa2VyKGRvY3VtZW50KSIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vdHJhdmVyc2FsL1RyZWVXYWxrZXItYmFz
aWMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9kb20vdHJhdmVyc2FsL1RyZWVXYWxrZXItYmFzaWMtZXhwZWN0ZWQudHh0CmluZGV4IDVi
NDc2Y2ZkMWIxYmYzNTEzNWFkZDYwOWJhMWIwOWZiM2UwNWFjYjAuLmNiN2E3NjdiODk4YTQzMWYz
ZTBmZmVjNWRjOTc4ZDdlMzg0ODRmNzkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL3RyYXZlcnNhbC9UcmVlV2Fsa2VyLWJhc2ljLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2RvbS90cmF2ZXJzYWwvVHJlZVdhbGtlci1iYXNpYy1leHBlY3RlZC50eHQKQEAgLTQsNyAr
NCw3IEBAIFRoaXMgdGVzdCBjaGVja3MgdGhlIGJhc2ljIGZ1bmN0aW9uYWxpdHkgb2YgVHJlZVdh
bGtlci4KIFBBU1MgQ29uc3RydWN0IGEgVHJlZVdhbGtlciBieSBkb2N1bWVudC5jcmVhdGVUcmVl
V2Fsa2VyKHJvb3QpLiAKIFBBU1MgQ29uc3RydWN0IGEgVHJlZVdhbGtlciBieSBkb2N1bWVudC5j
cmVhdGVUcmVlV2Fsa2VyKHJvb3QsIG51bGwsIG51bGwpLiAKIEZBSUwgQ29uc3RydWN0IGEgVHJl
ZVdhbGtlciBieSBkb2N1bWVudC5jcmVhdGVUcmVlV2Fsa2VyKHJvb3QsIHVuZGVmaW5lZCwgdW5k
ZWZpbmVkKS4gYXNzZXJ0X2VxdWFsczogd2hhdFRvU2hvdyBleHBlY3RlZCA0Mjk0OTY3Mjk1IGJ1
dCBnb3QgMAotRkFJTCBHaXZlIGFuIGludmFsaWQgcm9vdCBub2RlIHRvIGRvY3VtZW50LmNyZWF0
ZVRyZWVXYWxrZXIoKS4gYXNzZXJ0X3Rocm93czogZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsgZG9j
dW1lbnQuY3JlYXRlVHJlZVdhbGtlcihudWxsKTsgfSIgZGlkIG5vdCB0aHJvdworUEFTUyBHaXZl
IGFuIGludmFsaWQgcm9vdCBub2RlIHRvIGRvY3VtZW50LmNyZWF0ZVRyZWVXYWxrZXIoKS4gCiBQ
QVNTIFdhbGsgb3ZlciBub2Rlcy4gCiBQQVNTIE9wdGlvbmFsIGFyZ3VtZW50cyB0byBjcmVhdGVU
cmVlV2Fsa2VyIHNob3VsZCBiZSBvcHRpb25hbCAoMyBwYXNzZWQsIG51bGwpLiAKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>