<?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>173033</bug_id>
          
          <creation_ts>2017-06-06 14:21:16 -0700</creation_ts>
          <short_desc>RELEASE_ASSERT(static_cast&lt;size_t&gt;(enumerationValue) &lt; WTF_ARRAY_LENGTH(values)) hit in convertEnumerationToJS&lt;WebCore::History::ScrollRestoration&gt;()</short_desc>
          <delta_ts>2017-06-12 10:51:35 -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>WebKit2</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>173267</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>joepeck</cc>
    
    <cc>mark.lam</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1316234</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-06-06 14:21:16 -0700</bug_when>
    <thetext>RELEASE_ASSERT(static_cast&lt;size_t&gt;(enumerationValue) &lt; WTF_ARRAY_LENGTH(values)) hit in convertEnumerationToJS&lt;WebCore::History::ScrollRestoration&gt;():
Thread[0]
[  0] 0x0000000188a1b424 WebCore`JSC::JSString* WebCore::convertEnumerationToJS&lt;WebCore::History::ScrollRestoration&gt;(JSC::ExecState&amp;, WebCore::History::ScrollRestoration) + 228 at JSHistory.cpp:47:5
[  1] 0x0000000188a1beef WebCore`WebCore::jsHistoryScrollRestoration(JSC::ExecState*, long long, JSC::PropertyName) [inlined] WebCore::JSConverter&lt;WebCore::IDLEnumeration&lt;WebCore::History::ScrollRestoration&gt; &gt;::convert(JSC::ExecState&amp;, WebCore::History::ScrollRestoration) + 7 at JSDOMConvertEnumeration.h:65:16
[  1] 0x0000000188a1bee8 WebCore`WebCore::jsHistoryScrollRestoration(JSC::ExecState*, long long, JSC::PropertyName) [inlined] JSC::JSValue WebCore::JSConverterOverloader&lt;WebCore::IDLEnumeration&lt;WebCore::History::ScrollRestoration&gt;, true, false&gt;::convert&lt;WebCore::History::ScrollRestoration&gt;(JSC::ExecState&amp;, WebCore::History::ScrollRestoration&amp;&amp;) + 4 at JSDOMConvertBase.h:106
[  1] 0x0000000188a1bee4 WebCore`WebCore::jsHistoryScrollRestoration(JSC::ExecState*, long long, JSC::PropertyName) [inlined] JSC::JSValue WebCore::toJS&lt;WebCore::IDLEnumeration&lt;WebCore::History::ScrollRestoration&gt;, WebCore::History::ScrollRestoration&gt;(JSC::ExecState&amp;, WebCore::History::ScrollRestoration&amp;&amp;) at JSDOMConvertBase.h:135
[  1] 0x0000000188a1bee4 WebCore`WebCore::jsHistoryScrollRestoration(JSC::ExecState*, long long, JSC::PropertyName) [inlined] JSC::JSValue WebCore::toJS&lt;WebCore::IDLEnumeration&lt;WebCore::History::ScrollRestoration&gt;, WebCore::History::ScrollRestoration&gt;(JSC::ExecState&amp;, JSC::ThrowScope&amp;, WebCore::ExceptionOr&lt;WebCore::History::ScrollRestoration&gt;&amp;&amp;) + 8 at JSDOMConvertBase.h:150
[  1] 0x0000000188a1bedc WebCore`WebCore::jsHistoryScrollRestoration(JSC::ExecState*, long long, JSC::PropertyName) [inlined] WebCore::jsHistoryScrollRestorationGetter(JSC::ExecState&amp;, WebCore::JSHistory&amp;, JSC::ThrowScope&amp;) + 12 at JSHistory.cpp:232
[  1] 0x0000000188a1bed0 WebCore`WebCore::jsHistoryScrollRestoration(JSC::ExecState*, long long, JSC::PropertyName) [inlined] long long WebCore::IDLAttribute&lt;WebCore::JSHistory&gt;::get&lt;&amp;(WebCore::jsHistoryScrollRestorationGetter(JSC::ExecState&amp;, WebCore::JSHistory&amp;, JSC::ThrowScope&amp;)), (WebCore::CastedThisErrorBehavior)0&gt;(JSC::ExecState&amp;, long long, char const*) + 120 at JSDOMAttribute.h:65
[  1] 0x0000000188a1be58 WebCore`WebCore::jsHistoryScrollRestoration(JSC::ExecState*, long long, JSC::PropertyName) + 20 at JSHistory.cpp:238
[  2] 0x000000018750a7f7 JavaScriptCore`::llint_slow_path_get_by_id(JSC::ExecState *, JSC::Instruction *) [inlined] JSC::PropertySlot::getValue(JSC::ExecState*, JSC::PropertyName) const + 83 at PropertySlot.h:386:12
[  2] 0x000000018750a7a4 JavaScriptCore`::llint_slow_path_get_by_id(JSC::ExecState *, JSC::Instruction *) [inlined] JSC::JSValue::get(JSC::ExecState*, JSC::PropertyName, JSC::PropertySlot&amp;) const + 680 at JSCJSValueInlines.h:799
[  2] 0x000000018750a4fc JavaScriptCore`::llint_slow_path_get_by_id(JSC::ExecState *, JSC::Instruction *) + 196 at LLIntSlowPaths.cpp:657
[  3] 0x0000000187beb1af JavaScriptCore`llint_entry + 10543
[  4] 0x0000000187bef1af JavaScriptCore`llint_entry + 26927</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1316235</commentid>
    <comment_count>1</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-06-06 14:21:31 -0700</bug_when>
    <thetext>&lt;rdar://problem/32591099&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1316244</commentid>
    <comment_count>2</comment_count>
      <attachid>312122</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-06-06 14:44:47 -0700</bug_when>
    <thetext>Created attachment 312122
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1316250</commentid>
    <comment_count>3</comment_count>
      <attachid>312122</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2017-06-06 14:50:59 -0700</bug_when>
    <thetext>Comment on attachment 312122
Patch

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

&gt; Source/WebKit2/Shared/SessionState.h:100
&gt; +    float pageScaleFactor { 1.0 };

We use pageScaleFactor = 0 to indicate &quot;don&apos;t restore page scale&quot; in history code, so I don&apos;t know if this 1 is correct.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1316253</commentid>
    <comment_count>4</comment_count>
      <attachid>312122</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-06-06 14:52:37 -0700</bug_when>
    <thetext>Comment on attachment 312122
Patch

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

&gt;&gt; Source/WebKit2/Shared/SessionState.h:100
&gt;&gt; +    float pageScaleFactor { 1.0 };
&gt; 
&gt; We use pageScaleFactor = 0 to indicate &quot;don&apos;t restore page scale&quot; in history code, so I don&apos;t know if this 1 is correct.

This will always be override this in practice so it likely does not change behavior at the moment. However, given the default value in HistoryItem, I agree it makes more sense to use 0 here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1316254</commentid>
    <comment_count>5</comment_count>
      <attachid>312124</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2017-06-06 14:53:18 -0700</bug_when>
    <thetext>Created attachment 312124
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1316306</commentid>
    <comment_count>6</comment_count>
      <attachid>312124</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-06-06 16:31:29 -0700</bug_when>
    <thetext>Comment on attachment 312124
Patch

Clearing flags on attachment: 312124

Committed r217867: &lt;http://trac.webkit.org/changeset/217867&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1316307</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-06-06 16:31:31 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>312122</attachid>
            <date>2017-06-06 14:44:47 -0700</date>
            <delta_ts>2017-06-06 14:53:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-173033-20170606144447.patch</filename>
            <type>text/plain</type>
            <size>17036</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE3ODM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTc0M2E3MTk2NDgwZjhj
ZmFmNGZjZTVlYmE2MDY5YTViOTQ2MjdlOC4uODhlY2U1NWEwMzQ5NWFiNDZjZmVmMDgyMTU2NTg3
ZjkxZTg5YzE4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE3LTA2LTA2ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUkVMRUFTRV9BU1NFUlQoc3Rh
dGljX2Nhc3Q8c2l6ZV90PihlbnVtZXJhdGlvblZhbHVlKSA8IFdURl9BUlJBWV9MRU5HVEgodmFs
dWVzKSkgaGl0IGluIGNvbnZlcnRFbnVtZXJhdGlvblRvSlM8V2ViQ29yZTo6SGlzdG9yeTo6U2Ny
b2xsUmVzdG9yYXRpb24+KCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE3MzAzMworICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzI1OTEwOTk+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSGlzdG9yeTo6c2Ny
b2xsUmVzdG9yYXRpb24oKSB3YXMgcmV0dXJuaW5nIGEgYmFkIHZhbHVlIGJlY2F1c2UgSGlzdG9y
eUl0ZW06Om1fc2hvdWxkUmVzdG9yZVNjcm9sbFBvc2l0aW9uCisgICAgICAgIHdhcyBpbml0aWFs
aXplZCBmcm9tIEZyYW1lU3RhdGU6OnNob3VsZFJlc3RvcmVTY3JvbGxQb3NpdGlvbiBtZW1iZXIs
IHdoaWNoIHdhcyBub3QgaW5pdGlhbGl6ZWQgd2hlbgorICAgICAgICByZXN0b3JlZCBmcm9tIHRo
ZSBsZWdhY3kgc2Vzc2lvbiByZXN0b3JlIEFQSS4KKworICAgICAgICBUZXN0czogV2ViS2l0Mi5S
ZXN0b3JlU2Vzc2lvblN0YXRlQ29udGFpbmluZ1Njcm9sbFJlc3RvcmF0aW9uKiBBUEkgdGVzdHMu
CisKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbToKKyAgICAg
ICAgKEdlbmVyYXRlRW51bWVyYXRpb25JbXBsZW1lbnRhdGlvbkNvbnRlbnQpOgorICAgICAgICBE
cm9wIHRoZSBSRUxFQVNFX0FTU0VSVCB0aGF0IHdhcyBhZGRlZCB0byBkZWJ1ZyB0aGlzIGFuZCB1
c2UgdGhlIHJlZ3VsYXIgZGVidWcgQVNTRVJULgorCisgICAgICAgICogaGlzdG9yeS9IaXN0b3J5
SXRlbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIaXN0b3J5SXRlbTo6c2V0U2hvdWxkUmVzdG9y
ZVNjcm9sbFBvc2l0aW9uKToKKyAgICAgICAgTWFrZSBzdXJlIHdlIG5vdGlmeSB0aGF0IHRoZSBI
aXN0b3J5SXRlbSBoYXMgY2hhbmdlZCB3aGVuIHNldFNob3VsZFJlc3RvcmVTY3JvbGxQb3NpdGlv
bigpCisgICAgICAgIGlzIGNhbGxlZC4KKwogMjAxNy0wNi0wNiAgQWRyaWFuIFBlcmV6IGRlIENh
c3RybyAgPGFwZXJlekBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdW1dheWxhbmRdIERvIG5v
dCBwYXNzIHZhbHVlIG9mICRESVNQTEFZIHRvIHdsX2Rpc3BsYXlfY29ubmVjdCgpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cK
aW5kZXggYmQ3MjVmOGYyODJhYTZlZjc5MGZjNzk3MDgxOWI1NDVlZTA4NTQ0NS4uZDJhMGViYThj
Y2M2OTU4OTVkNWYzYTlkMzBiYjVmY2M1MzczM2JjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIw
IEBACisyMDE3LTA2LTA2ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAg
ICAgUkVMRUFTRV9BU1NFUlQoc3RhdGljX2Nhc3Q8c2l6ZV90PihlbnVtZXJhdGlvblZhbHVlKSA8
IFdURl9BUlJBWV9MRU5HVEgodmFsdWVzKSkgaGl0IGluIGNvbnZlcnRFbnVtZXJhdGlvblRvSlM8
V2ViQ29yZTo6SGlzdG9yeTo6U2Nyb2xsUmVzdG9yYXRpb24+KCkKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MzAzMworICAgICAgICA8cmRhcjovL3By
b2JsZW0vMzI1OTEwOTk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBTaGFyZWQvU2Vzc2lvblN0YXRlLmg6CisgICAgICAgIE1ha2Ugc3VyZSBGcmFt
ZVN0YXRlOjpzaG91bGRSZXN0b3JlU2Nyb2xsUG9zaXRpb24gYW5kIG90aGVyIHN0cnVjdCBtZW1i
ZXJzIGFyZSBhbHdheXMKKyAgICAgICAgaW50aWFsaXplZC4KKworICAgICAgICAqIFVJUHJvY2Vz
cy9tYWMvTGVnYWN5U2Vzc2lvblN0YXRlQ29kaW5nLmNwcDoKKyAgICAgICAgKFdlYktpdDo6ZW5j
b2RlRnJhbWVTdGF0ZU5vZGUpOgorICAgICAgICAoV2ViS2l0OjpkZWNvZGVCYWNrRm9yd2FyZFRy
ZWVOb2RlKToKKyAgICAgICAgTWFrZSBzdXJlIEZyYW1lU3RhdGU6OnNob3VsZFJlc3RvcmVTY3Jv
bGxQb3NpdGlvbiBpcyBwcm9wZXJseSBlbmNvZGVkIC8gZGVjb2RlZC4KKwogMjAxNy0wNi0wNiAg
WW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIGFuIG9wdGlv
biB0byBkaXNhYmxlIGdldFVzZXJNZWRpYSBwcm9tcHQgaW4gY2FzZSBvZiBtb2NrIGNhcHR1cmUg
c291cmNlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2Rl
R2VuZXJhdG9ySlMucG0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5l
cmF0b3JKUy5wbQppbmRleCA1MWI0ZDJmNTVlNTZiODM5NjkxYzA0MjBjODdjNjc3ODkzMzU1YWIy
Li5lZjA5MDU2NmU0YzNiMzhjNWZmMTZlNjIyNjAxYmE4YmMyYjEwMzk4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQpAQCAtMTcy
NywxMiArMTcyNyw3IEBAIHN1YiBHZW5lcmF0ZUVudW1lcmF0aW9uSW1wbGVtZW50YXRpb25Db250
ZW50CiAgICAgICAgICRyZXN1bHQgLj0gIiAgICBzdGF0aWNfYXNzZXJ0KHN0YXRpY19jYXN0PHNp
emVfdD4oJHtjbGFzc05hbWV9OjokZW51bWVyYXRpb25WYWx1ZU5hbWUpID09ICRpbmRleCwgXCIk
e2NsYXNzTmFtZX06OiRlbnVtZXJhdGlvblZhbHVlTmFtZSBpcyBub3QgJGluZGV4IGFzIGV4cGVj
dGVkXCIpO1xuIjsKICAgICAgICAgJGluZGV4Kys7CiAgICAgfQotICAgICMgRklYTUU6IFRoaXMg
aXMgYSBkZWJ1Z2dpbmcgYWlkIGZvciA8cmRhcjovL3Byb2JsZW0vMzExOTMyMDE+LiBQbGVhc2Ug
cmV2ZXJ0IHdoZW4gbm8gbG9uZ2VyIG5lZWRlZC4KLSAgICBpZiAoJGNsYXNzTmFtZSBlcSAiSGlz
dG9yeTo6U2Nyb2xsUmVzdG9yYXRpb24iKSB7Ci0gICAgICAgICRyZXN1bHQgLj0gIiAgICBSRUxF
QVNFX0FTU0VSVChzdGF0aWNfY2FzdDxzaXplX3Q+KGVudW1lcmF0aW9uVmFsdWUpIDwgV1RGX0FS
UkFZX0xFTkdUSCh2YWx1ZXMpKTtcbiI7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgJHJlc3VsdCAu
PSAiICAgIEFTU0VSVChzdGF0aWNfY2FzdDxzaXplX3Q+KGVudW1lcmF0aW9uVmFsdWUpIDwgV1RG
X0FSUkFZX0xFTkdUSCh2YWx1ZXMpKTtcbiI7Ci0gICAgfQorICAgICRyZXN1bHQgLj0gIiAgICBB
U1NFUlQoc3RhdGljX2Nhc3Q8c2l6ZV90PihlbnVtZXJhdGlvblZhbHVlKSA8IFdURl9BUlJBWV9M
RU5HVEgodmFsdWVzKSk7XG4iOwogICAgICRyZXN1bHQgLj0gIiAgICByZXR1cm4ganNTdHJpbmdX
aXRoQ2FjaGUoJnN0YXRlLCB2YWx1ZXNbc3RhdGljX2Nhc3Q8c2l6ZV90PihlbnVtZXJhdGlvblZh
bHVlKV0pO1xuIjsKICAgICAkcmVzdWx0IC49ICJ9XG5cbiI7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2hpc3RvcnkvSGlzdG9yeUl0ZW0uY3BwIGIvU291cmNlL1dlYkNvcmUvaGlzdG9y
eS9IaXN0b3J5SXRlbS5jcHAKaW5kZXggNjQ4NDRhNzU0MTgzOGFkM2MzNmQ5MzA5NmI2OGMyZWY5
MGUxZGE0OS4uZDk5YzAwNjQyNzQ4NTAxZWQ0ZDVhNTNiZDI2ZTM5NGVjYWM3ZTI0NyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9IaXN0b3J5SXRlbS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaGlzdG9yeS9IaXN0b3J5SXRlbS5jcHAKQEAgLTI3MSw2ICsyNzEsNyBAQCBib29s
IEhpc3RvcnlJdGVtOjpzaG91bGRSZXN0b3JlU2Nyb2xsUG9zaXRpb24oKSBjb25zdAogdm9pZCBI
aXN0b3J5SXRlbTo6c2V0U2hvdWxkUmVzdG9yZVNjcm9sbFBvc2l0aW9uKGJvb2wgc2hvdWxkUmVz
dG9yZSkKIHsKICAgICBtX3Nob3VsZFJlc3RvcmVTY3JvbGxQb3NpdGlvbiA9IHNob3VsZFJlc3Rv
cmU7CisgICAgbm90aWZ5SGlzdG9yeUl0ZW1DaGFuZ2VkKHRoaXMpOwogfQogCiBmbG9hdCBIaXN0
b3J5SXRlbTo6cGFnZVNjYWxlRmFjdG9yKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9TZXNzaW9uU3RhdGUuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9TZXNzaW9u
U3RhdGUuaAppbmRleCBhNTZhOGRiMTEwNzhiMjg1NzUyOTI0ZjhlYzBjZWEzN2NjNjFjZjgyLi5i
OGM3MjVjYTUzZDE1NTliZmVmNzQ2ZDljZDJjYThiZDhkYTdhMGI4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvU2Vzc2lvblN0YXRlLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hh
cmVkL1Nlc3Npb25TdGF0ZS5oCkBAIC05MiwxMiArOTIsMTIgQEAgc3RydWN0IEZyYW1lU3RhdGUg
ewogICAgIFZlY3RvcjxTdHJpbmc+IGRvY3VtZW50U3RhdGU7CiAgICAgc3RkOjpvcHRpb25hbDxW
ZWN0b3I8dWludDhfdD4+IHN0YXRlT2JqZWN0RGF0YTsKIAotICAgIGludDY0X3QgZG9jdW1lbnRT
ZXF1ZW5jZU51bWJlcjsKLSAgICBpbnQ2NF90IGl0ZW1TZXF1ZW5jZU51bWJlcjsKKyAgICBpbnQ2
NF90IGRvY3VtZW50U2VxdWVuY2VOdW1iZXIgeyAwIH07CisgICAgaW50NjRfdCBpdGVtU2VxdWVu
Y2VOdW1iZXIgeyAwIH07CiAKICAgICBXZWJDb3JlOjpJbnRQb2ludCBzY3JvbGxQb3NpdGlvbjsK
LSAgICBib29sIHNob3VsZFJlc3RvcmVTY3JvbGxQb3NpdGlvbjsKLSAgICBmbG9hdCBwYWdlU2Nh
bGVGYWN0b3I7CisgICAgYm9vbCBzaG91bGRSZXN0b3JlU2Nyb2xsUG9zaXRpb24geyB0cnVlIH07
CisgICAgZmxvYXQgcGFnZVNjYWxlRmFjdG9yIHsgMS4wIH07CiAKICAgICBzdGQ6Om9wdGlvbmFs
PEhUVFBCb2R5PiBodHRwQm9keTsKIApAQCAtMTA3LDcgKzEwNyw3IEBAIHN0cnVjdCBGcmFtZVN0
YXRlIHsKICAgICBXZWJDb3JlOjpJbnRSZWN0IHVub2JzY3VyZWRDb250ZW50UmVjdDsKICAgICBX
ZWJDb3JlOjpGbG9hdFNpemUgbWluaW11bUxheW91dFNpemVJblNjcm9sbFZpZXdDb29yZGluYXRl
czsKICAgICBXZWJDb3JlOjpJbnRTaXplIGNvbnRlbnRTaXplOwotICAgIGJvb2wgc2NhbGVJc0lu
aXRpYWwgPSBmYWxzZTsKKyAgICBib29sIHNjYWxlSXNJbml0aWFsIHsgZmFsc2UgfTsKICNlbmRp
ZgogCiAgICAgVmVjdG9yPEZyYW1lU3RhdGU+IGNoaWxkcmVuOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL21hYy9MZWdhY3lTZXNzaW9uU3RhdGVDb2RpbmcuY3BwIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9MZWdhY3lTZXNzaW9uU3RhdGVDb2RpbmcuY3BwCmlu
ZGV4IDE3ZjY2YjcxNzc5YzA1NDljZjY4YWUyODE2NTgxOGE3MjlkNjYzZmUuLjU0YjI4MTJjMzNl
MGUwZDM3Yzg3ZWZlNzFiNjlmMzZjZmNjNTAyOTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9tYWMvTGVnYWN5U2Vzc2lvblN0YXRlQ29kaW5nLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvbWFjL0xlZ2FjeVNlc3Npb25TdGF0ZUNvZGluZy5jcHAKQEAgLTM0
Niw2ICszNDYsNyBAQCBzdGF0aWMgdm9pZCBlbmNvZGVGcmFtZVN0YXRlTm9kZShIaXN0b3J5RW50
cnlEYXRhRW5jb2RlciYgZW5jb2RlciwgY29uc3QgRnJhbWVTdAogICAgIGVuY29kZXIgPDwgZnJh
bWVTdGF0ZS5zY3JvbGxQb3NpdGlvbi54KCk7CiAgICAgZW5jb2RlciA8PCBmcmFtZVN0YXRlLnNj
cm9sbFBvc2l0aW9uLnkoKTsKIAorICAgIGVuY29kZXIgPDwgZnJhbWVTdGF0ZS5zaG91bGRSZXN0
b3JlU2Nyb2xsUG9zaXRpb247CiAgICAgZW5jb2RlciA8PCBmcmFtZVN0YXRlLnBhZ2VTY2FsZUZh
Y3RvcjsKIAogICAgIGVuY29kZXIgPDwgISFmcmFtZVN0YXRlLnN0YXRlT2JqZWN0RGF0YTsKQEAg
LTkyOCw2ICs5MjksNyBAQCBzdGF0aWMgdm9pZCBkZWNvZGVCYWNrRm9yd2FyZFRyZWVOb2RlKEhp
c3RvcnlFbnRyeURhdGFEZWNvZGVyJiBkZWNvZGVyLCBGcmFtZVN0YQogCiAgICAgZnJhbWVTdGF0
ZS5zY3JvbGxQb3NpdGlvbiA9IFdlYkNvcmU6OkludFBvaW50KHNjcm9sbFBvc2l0aW9uWCwgc2Ny
b2xsUG9zaXRpb25ZKTsKIAorICAgIGRlY29kZXIgPj4gZnJhbWVTdGF0ZS5zaG91bGRSZXN0b3Jl
U2Nyb2xsUG9zaXRpb247CiAgICAgZGVjb2RlciA+PiBmcmFtZVN0YXRlLnBhZ2VTY2FsZUZhY3Rv
cjsKIAogICAgIGJvb2wgaGFzU3RhdGVPYmplY3Q7CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VM
b2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggN2VjZWU4YzI2NDgxYTM3ZTU5YTQ3NTg1ZThmZTE2
NDg3Zjg5ZTRlNS4uNGMwODJjOTY3NTNmZGI1ZGI0YjYzYTU4NDIwNjliMDM3OThiMDc0NyAxMDA2
NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDIxIEBACisyMDE3LTA2LTA2ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAg
ICAgICAgUkVMRUFTRV9BU1NFUlQoc3RhdGljX2Nhc3Q8c2l6ZV90PihlbnVtZXJhdGlvblZhbHVl
KSA8IFdURl9BUlJBWV9MRU5HVEgodmFsdWVzKSkgaGl0IGluIGNvbnZlcnRFbnVtZXJhdGlvblRv
SlM8V2ViQ29yZTo6SGlzdG9yeTo6U2Nyb2xsUmVzdG9yYXRpb24+KCkKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MzAzMworICAgICAgICA8cmRhcjov
L3Byb2JsZW0vMzI1OTEwOTk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQWRkIEFQSSB0ZXN0IGNvdmVyYWdlIHRvIG1ha2Ugc3VyZSBIaXN0b3J5J3Mg
c2Nyb2xsUmVzdG9yYXRpb24gaXMgcHJvcGVybHkgc2F2ZWQgLyByZXN0b3JlZCB2aWEgdGhlCisg
ICAgICAgIFdLUGFnZUNvcHlTZXNzaW9uU3RhdGUoKSAvIFdLUGFnZVJlc3RvcmVGcm9tU2Vzc2lv
blN0YXRlKCkgQyBBUEkuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRBUEku
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYktpdDIvUmVzdG9yZVNlc3Npb25TdGF0ZS5jcHA6IEFkZGVkLgorICAgICAgICAoVGVzdFdl
YktpdEFQSTo6ZGlkRmluaXNoTG9hZEZvckZyYW1lKToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6
OnNldFBhZ2VMb2FkZXJDbGllbnQpOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6Y3JlYXRlU2Vz
c2lvblN0YXRlRGF0YUNvbnRhaW5pbmdTY3JvbGxSZXN0b3JhdGlvbik6CisgICAgICAgIChUZXN0
V2ViS2l0QVBJOjpURVNUKToKKwogMjAxNy0wNi0wNiAgQ2FybG9zIEFsYmVydG8gTG9wZXogUGVy
ZXogIDxjbG9wZXpAaWdhbGlhLmNvbT4KIAogICAgICAgICBbV1BFXSBBZGQgYW4gaW5zdGFsbC1k
ZXBlbmRlbmNpZXMgc2NyaXB0CmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RX
ZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDFjNGIzMjQ3MDI2
OWI4MDgyMmNlNTE3MDQ2NDJkZmMwZDNjM2UzMDAuLjZmNzhiOTE5MmU4NzNiZjQ3NGFhZmNjZTk1
MzA4NmY4ZGI2ODEwNzcgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktp
dEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC00ODEsNiArNDgxLDcg
QEAKIAkJODM1Q0Y5NjcxRDI1RkNENjAwMUE2NUQ0IC8qIFJlc3RvcmVTZXNzaW9uU3RhdGVXaXRo
b3V0TmF2aWdhdGlvbi5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA4MzVDRjk2NjFEMjVGQ0Q2MDAxQTY1RDQgLyogUmVzdG9yZVNlc3Npb25TdGF0ZVdp
dGhvdXROYXZpZ2F0aW9uLmNwcCAqLzsgfTsKIAkJODM2MUYxNzgxRTYxMEI0RTAwNzU5QjI1IC8q
IGxpbmstd2l0aC1kb3dubG9hZC1hdHRyaWJ1dGUtd2l0aC1zbGFzaGVzLmh0bWwgaW4gQ29weSBS
ZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODM2MUYxNzcxRTYx
MEIyMTAwNzU5QjI1IC8qIGxpbmstd2l0aC1kb3dubG9hZC1hdHRyaWJ1dGUtd2l0aC1zbGFzaGVz
Lmh0bWwgKi87IH07CiAJCTgzN0EzNUYxMUQ5QTFFN0QwMDY2M0M1NyAvKiBEb3dubG9hZFJlcXVl
c3RCbG9iVVJMLmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gODM3QTM1RjAxRDlBMUU2NDAwNjYzQzU3IC8qIERvd25sb2FkUmVxdWVzdEJs
b2JVUkwuaHRtbCAqLzsgfTsKKwkJODNCNkRFNkYxRUU3NTIyMTAwMUU3OTJGIC8qIFJlc3RvcmVT
ZXNzaW9uU3RhdGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gODNCNkRFNkUxRUU3NTIwRjAwMUU3OTJGIC8qIFJlc3RvcmVTZXNzaW9uU3RhdGUuY3Bw
ICovOyB9OwogCQk4RTRBODUzNzFFMUQxQUIyMDBGNTNCMEYgLyogR3JpZFBvc2l0aW9uLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDhFNEE4NTM2MUUx
RDFBQTEwMEY1M0IwRiAvKiBHcmlkUG9zaXRpb24uY3BwICovOyB9OwogCQk5MzBBRDQwMjE1MDY5
OEQwMDA2Nzk3MEYgLyogbG90cy1vZi10ZXh0Lmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOTMwQUQ0MDExNTA2OThCMzAwNjc5NzBGIC8q
IGxvdHMtb2YtdGV4dC5odG1sICovOyB9OwogCQk5MzI5QUEyOTFERTNGODFFMDAzQUJEMDcgLyog
VGV4dEJyZWFrSXRlcmF0b3IuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gOTMyOUFBMjgxREUzRjgxRTAwM0FCRDA3IC8qIFRleHRCcmVha0l0ZXJhdG9y
LmNwcCAqLzsgfTsKQEAgLTEyODIsNiArMTI4Myw3IEBACiAJCTgzNUNGOTY2MUQyNUZDRDYwMDFB
NjVENCAvKiBSZXN0b3JlU2Vzc2lvblN0YXRlV2l0aG91dE5hdmlnYXRpb24uY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVzdG9yZVNlc3Npb25TdGF0ZVdpdGhvdXRO
YXZpZ2F0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODM2MUYxNzcxRTYx
MEIyMTAwNzU5QjI1IC8qIGxpbmstd2l0aC1kb3dubG9hZC1hdHRyaWJ1dGUtd2l0aC1zbGFzaGVz
Lmh0bWwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSB0ZXh0Lmh0bWw7IHBhdGggPSAibGluay13aXRoLWRvd25sb2FkLWF0
dHJpYnV0ZS13aXRoLXNsYXNoZXMuaHRtbCI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTgzN0EzNUYwMUQ5QTFFNjQwMDY2M0M1NyAvKiBEb3dubG9hZFJlcXVlc3RCbG9iVVJMLmh0bWwg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0Lmh0bWw7IHBhdGggPSBEb3dubG9hZFJlcXVlc3RCbG9iVVJMLmh0bWw7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTgzQjZERTZFMUVFNzUyMEYwMDFFNzkyRiAv
KiBSZXN0b3JlU2Vzc2lvblN0YXRlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFJlc3RvcmVTZXNzaW9uU3RhdGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk4M0I4OEEzMzFDODAwNTZEMDBCQjI0MTggLyogSFRNTFBhcnNlcklkaW9tcy5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBIVE1MUGFyc2VySWRpb21zLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODZCRDE5OTcxQTJEQjA1QjAwNkRDRjBBIC8q
IFJlZkNvdW50ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVm
Q291bnRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCThBMkM3NTBEMTZDRUQ5
NTUwMDI0RjM1MiAvKiBSZXNpemVXaW5kb3dBZnRlckNyYXNoLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlc2l6ZVdpbmRvd0FmdGVyQ3Jhc2guY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjE3Myw2ICsyMTc1LDcgQEAKIAkJCQk4QTJDNzUwRDE2
Q0VEOTU1MDAyNEYzNTIgLyogUmVzaXplV2luZG93QWZ0ZXJDcmFzaC5jcHAgKi8sCiAJCQkJQzBC
RDY2OUMxMzFEM0NGNzAwRTE4RjJBIC8qIFJlc3BvbnNpdmVuZXNzVGltZXJEb2VzbnRGaXJlRWFy
bHkuY3BwICovLAogCQkJCUMwQkQ2NjlFMTMxRDNDRkYwMEUxOEYyQSAvKiBSZXNwb25zaXZlbmVz
c1RpbWVyRG9lc250RmlyZUVhcmx5X0J1bmRsZS5jcHAgKi8sCisJCQkJODNCNkRFNkUxRUU3NTIw
RjAwMUU3OTJGIC8qIFJlc3RvcmVTZXNzaW9uU3RhdGUuY3BwICovLAogCQkJCUMwQURCRTgyMTJG
Q0E2QUEwMEQyQzEyOSAvKiBSZXN0b3JlU2Vzc2lvblN0YXRlQ29udGFpbmluZ0Zvcm1EYXRhLmNw
cCAqLywKIAkJCQk4MzVDRjk2NjFEMjVGQ0Q2MDAxQTY1RDQgLyogUmVzdG9yZVNlc3Npb25TdGF0
ZVdpdGhvdXROYXZpZ2F0aW9uLmNwcCAqLywKIAkJCQkyRDY0MEI1NDE3ODc1REZGMDBCRkFGOTkg
LyogU2Nyb2xsUGlubmluZ0JlaGF2aW9ycy5jcHAgKi8sCkBAIC0zMTUwLDYgKzMxNTMsNyBAQAog
CQkJCUY0RkE5MTgxMUU2MTg0OUIwMDdCOEMxRCAvKiBXS1dlYlZpZXdTZWxlY3Rpb25UZXN0cy5t
bSBpbiBTb3VyY2VzICovLAogCQkJCTA3OTlDMzQ5MUVCQTJEN0IwMDNCNzUzMiAvKiBVc2VyTWVk
aWFEaXNhYmxlZC5tbSBpbiBTb3VyY2VzICovLAogCQkJCTkzRjU2REE5MUU1RjkxOUQwMDNFREU4
NCAvKiBXS1dlYlZpZXdTbmFwc2hvdC5tbSBpbiBTb3VyY2VzICovLAorCQkJCTgzQjZERTZGMUVF
NzUyMjEwMDFFNzkyRiAvKiBSZXN0b3JlU2Vzc2lvblN0YXRlLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTk5ODRGQUNDMUNGRkFGNjAwMDhEMTk4QyAvKiBXS1dlYlZpZXdUZXh0SW5wdXQubW0gaW4g
U291cmNlcyAqLywKIAkJCQk3NjQzMjJENzFCNjFDQ0MzMDAyNEY4MDEgLyogV29yZEJvdW5kYXJ5
VHlwaW5nQXR0cmlidXRlcy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTlDNjREQzMyMUQ3NjE5OEEw
MDRCNTk4RSAvKiBZb3VUdWJlUGx1Z2luUmVwbGFjZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCmRp
ZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvUmVzdG9yZVNlc3Np
b25TdGF0ZS5jcHAgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvUmVzdG9yZVNl
c3Npb25TdGF0ZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2NhOTg5MTMyZGE2ZmFkMWE4ZGI2ZGZiZWYzZTRl
ZDJlZWQ5MzFkMQotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
V2ViS2l0Mi9SZXN0b3JlU2Vzc2lvblN0YXRlLmNwcApAQCAtMCwwICsxLDEzMiBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2lmIFdLX0hBVkVfQ19TUEkKKworI2luY2x1
ZGUgIkphdmFTY3JpcHRUZXN0LmgiCisjaW5jbHVkZSAiUGxhdGZvcm1VdGlsaXRpZXMuaCIKKyNp
bmNsdWRlICJQbGF0Zm9ybVdlYlZpZXcuaCIKKyNpbmNsdWRlICJUZXN0LmgiCisjaW5jbHVkZSA8
V2ViS2l0L1dLU2Vzc2lvblN0YXRlUmVmLmg+CisKK25hbWVzcGFjZSBUZXN0V2ViS2l0QVBJIHsK
Kworc3RhdGljIGJvb2wgZGlkRmluaXNoTG9hZDsKKworc3RhdGljIHZvaWQgZGlkRmluaXNoTG9h
ZEZvckZyYW1lKFdLUGFnZVJlZiwgV0tGcmFtZVJlZiwgV0tUeXBlUmVmLCBjb25zdCB2b2lkKikK
K3sKKyAgICBkaWRGaW5pc2hMb2FkID0gdHJ1ZTsKK30KKworc3RhdGljIHZvaWQgc2V0UGFnZUxv
YWRlckNsaWVudChXS1BhZ2VSZWYgcGFnZSkKK3sKKyAgICBXS1BhZ2VMb2FkZXJDbGllbnRWMCBs
b2FkZXJDbGllbnQ7CisgICAgbWVtc2V0KCZsb2FkZXJDbGllbnQsIDAsIHNpemVvZihsb2FkZXJD
bGllbnQpKTsKKworICAgIGxvYWRlckNsaWVudC5iYXNlLnZlcnNpb24gPSAwOworICAgIGxvYWRl
ckNsaWVudC5kaWRGaW5pc2hMb2FkRm9yRnJhbWUgPSBkaWRGaW5pc2hMb2FkRm9yRnJhbWU7CisK
KyAgICBXS1BhZ2VTZXRQYWdlTG9hZGVyQ2xpZW50KHBhZ2UsICZsb2FkZXJDbGllbnQuYmFzZSk7
Cit9CisKK3N0YXRpYyBXS1JldGFpblB0cjxXS0RhdGFSZWY+IGNyZWF0ZVNlc3Npb25TdGF0ZURh
dGFDb250YWluaW5nU2Nyb2xsUmVzdG9yYXRpb24oV0tDb250ZXh0UmVmIGNvbnRleHQsIHN0ZDo6
ZnVuY3Rpb248dm9pZChXS1BhZ2VSZWYpPiBhcHBseSkKK3sKKyAgICBQbGF0Zm9ybVdlYlZpZXcg
d2ViVmlldyhjb250ZXh0KTsKKyAgICBzZXRQYWdlTG9hZGVyQ2xpZW50KHdlYlZpZXcucGFnZSgp
KTsKKworICAgIFdLUGFnZUxvYWRVUkwod2ViVmlldy5wYWdlKCksIGFkb3B0V0soVXRpbDo6Y3Jl
YXRlVVJMRm9yUmVzb3VyY2UoInNpbXBsZS1mb3JtIiwgImh0bWwiKSkuZ2V0KCkpOworICAgIFV0
aWw6OnJ1bigmZGlkRmluaXNoTG9hZCk7CisgICAgZGlkRmluaXNoTG9hZCA9IGZhbHNlOworCisg
ICAgYXBwbHkod2ViVmlldy5wYWdlKCkpOworCisgICAgYXV0byBzZXNzaW9uU3RhdGUgPSBhZG9w
dFdLKHN0YXRpY19jYXN0PFdLU2Vzc2lvblN0YXRlUmVmPihXS1BhZ2VDb3B5U2Vzc2lvblN0YXRl
KHdlYlZpZXcucGFnZSgpLCByZWludGVycHJldF9jYXN0PHZvaWQqPigxKSwgbnVsbHB0cikpKTsK
KyAgICByZXR1cm4gYWRvcHRXSyhXS1Nlc3Npb25TdGF0ZUNvcHlEYXRhKHNlc3Npb25TdGF0ZS5n
ZXQoKSkpOworfQorCitURVNUKFdlYktpdDIsIFJlc3RvcmVTZXNzaW9uU3RhdGVDb250YWluaW5n
U2Nyb2xsUmVzdG9yYXRpb25NYW51YWwpCit7CisgICAgV0tSZXRhaW5QdHI8V0tDb250ZXh0UmVm
PiBjb250ZXh0KEFkb3B0V0ssIFdLQ29udGV4dENyZWF0ZSgpKTsKKworICAgIFBsYXRmb3JtV2Vi
VmlldyB3ZWJWaWV3KGNvbnRleHQuZ2V0KCkpOworICAgIHNldFBhZ2VMb2FkZXJDbGllbnQod2Vi
Vmlldy5wYWdlKCkpOworCisgICAgV0tSZXRhaW5QdHI8V0tEYXRhUmVmPiBkYXRhID0gY3JlYXRl
U2Vzc2lvblN0YXRlRGF0YUNvbnRhaW5pbmdTY3JvbGxSZXN0b3JhdGlvbihjb250ZXh0LmdldCgp
LCBbXShXS1BhZ2VSZWYgcGFnZSkgeworICAgICAgICBFWFBFQ1RfSlNfRVEocGFnZSwgImhpc3Rv
cnkuc2Nyb2xsUmVzdG9yYXRpb24gPSAnbWFudWFsJyIsICJtYW51YWwiKTsKKyAgICB9KTsKKyAg
ICBFWFBFQ1RfTk9UX05VTEwoZGF0YSk7CisKKyAgICBhdXRvIHNlc3Npb25TdGF0ZSA9IGFkb3B0
V0soV0tTZXNzaW9uU3RhdGVDcmVhdGVGcm9tRGF0YShkYXRhLmdldCgpKSk7CisgICAgV0tQYWdl
UmVzdG9yZUZyb21TZXNzaW9uU3RhdGUod2ViVmlldy5wYWdlKCksIHNlc3Npb25TdGF0ZS5nZXQo
KSk7CisKKyAgICBVdGlsOjpydW4oJmRpZEZpbmlzaExvYWQpOworCisgICAgRVhQRUNUX0pTX0VR
KHdlYlZpZXcucGFnZSgpLCAiaGlzdG9yeS5zY3JvbGxSZXN0b3JhdGlvbiIsICJtYW51YWwiKTsK
K30KKworVEVTVChXZWJLaXQyLCBSZXN0b3JlU2Vzc2lvblN0YXRlQ29udGFpbmluZ1Njcm9sbFJl
c3RvcmF0aW9uQXV0bykKK3sKKyAgICBXS1JldGFpblB0cjxXS0NvbnRleHRSZWY+IGNvbnRleHQo
QWRvcHRXSywgV0tDb250ZXh0Q3JlYXRlKCkpOworCisgICAgUGxhdGZvcm1XZWJWaWV3IHdlYlZp
ZXcoY29udGV4dC5nZXQoKSk7CisgICAgc2V0UGFnZUxvYWRlckNsaWVudCh3ZWJWaWV3LnBhZ2Uo
KSk7CisKKyAgICBXS1JldGFpblB0cjxXS0RhdGFSZWY+IGRhdGEgPSBjcmVhdGVTZXNzaW9uU3Rh
dGVEYXRhQ29udGFpbmluZ1Njcm9sbFJlc3RvcmF0aW9uKGNvbnRleHQuZ2V0KCksIFtdKFdLUGFn
ZVJlZiBwYWdlKSB7CisgICAgICAgIEVYUEVDVF9KU19FUShwYWdlLCAiaGlzdG9yeS5zY3JvbGxS
ZXN0b3JhdGlvbiA9ICdhdXRvJyIsICJhdXRvIik7CisgICAgfSk7CisgICAgRVhQRUNUX05PVF9O
VUxMKGRhdGEpOworCisgICAgYXV0byBzZXNzaW9uU3RhdGUgPSBhZG9wdFdLKFdLU2Vzc2lvblN0
YXRlQ3JlYXRlRnJvbURhdGEoZGF0YS5nZXQoKSkpOworICAgIFdLUGFnZVJlc3RvcmVGcm9tU2Vz
c2lvblN0YXRlKHdlYlZpZXcucGFnZSgpLCBzZXNzaW9uU3RhdGUuZ2V0KCkpOworCisgICAgVXRp
bDo6cnVuKCZkaWRGaW5pc2hMb2FkKTsKKworICAgIEVYUEVDVF9KU19FUSh3ZWJWaWV3LnBhZ2Uo
KSwgImhpc3Rvcnkuc2Nyb2xsUmVzdG9yYXRpb24iLCAiYXV0byIpOworfQorCitURVNUKFdlYktp
dDIsIFJlc3RvcmVTZXNzaW9uU3RhdGVDb250YWluaW5nU2Nyb2xsUmVzdG9yYXRpb25EZWZhdWx0
KQoreworICAgIFdLUmV0YWluUHRyPFdLQ29udGV4dFJlZj4gY29udGV4dChBZG9wdFdLLCBXS0Nv
bnRleHRDcmVhdGUoKSk7CisKKyAgICBQbGF0Zm9ybVdlYlZpZXcgd2ViVmlldyhjb250ZXh0Lmdl
dCgpKTsKKyAgICBzZXRQYWdlTG9hZGVyQ2xpZW50KHdlYlZpZXcucGFnZSgpKTsKKworICAgIFdL
UmV0YWluUHRyPFdLRGF0YVJlZj4gZGF0YSA9IGNyZWF0ZVNlc3Npb25TdGF0ZURhdGFDb250YWlu
aW5nU2Nyb2xsUmVzdG9yYXRpb24oY29udGV4dC5nZXQoKSwgW10oV0tQYWdlUmVmKSB7CisgICAg
fSk7CisgICAgRVhQRUNUX05PVF9OVUxMKGRhdGEpOworCisgICAgYXV0byBzZXNzaW9uU3RhdGUg
PSBhZG9wdFdLKFdLU2Vzc2lvblN0YXRlQ3JlYXRlRnJvbURhdGEoZGF0YS5nZXQoKSkpOworICAg
IFdLUGFnZVJlc3RvcmVGcm9tU2Vzc2lvblN0YXRlKHdlYlZpZXcucGFnZSgpLCBzZXNzaW9uU3Rh
dGUuZ2V0KCkpOworCisgICAgVXRpbDo6cnVuKCZkaWRGaW5pc2hMb2FkKTsKKworICAgIEVYUEVD
VF9KU19FUSh3ZWJWaWV3LnBhZ2UoKSwgImhpc3Rvcnkuc2Nyb2xsUmVzdG9yYXRpb24iLCAiYXV0
byIpOworfQorCit9IC8vIG5hbWVzcGFjZSBUZXN0V2ViS2l0QVBJCisKKyNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>312124</attachid>
            <date>2017-06-06 14:53:18 -0700</date>
            <delta_ts>2017-06-06 16:31:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-173033-20170606145317.patch</filename>
            <type>text/plain</type>
            <size>17034</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjE3ODM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTc0M2E3MTk2NDgwZjhj
ZmFmNGZjZTVlYmE2MDY5YTViOTQ2MjdlOC4uODhlY2U1NWEwMzQ5NWFiNDZjZmVmMDgyMTU2NTg3
ZjkxZTg5YzE4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDE3LTA2LTA2ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgUkVMRUFTRV9BU1NFUlQoc3Rh
dGljX2Nhc3Q8c2l6ZV90PihlbnVtZXJhdGlvblZhbHVlKSA8IFdURl9BUlJBWV9MRU5HVEgodmFs
dWVzKSkgaGl0IGluIGNvbnZlcnRFbnVtZXJhdGlvblRvSlM8V2ViQ29yZTo6SGlzdG9yeTo6U2Ny
b2xsUmVzdG9yYXRpb24+KCkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE3MzAzMworICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzI1OTEwOTk+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSGlzdG9yeTo6c2Ny
b2xsUmVzdG9yYXRpb24oKSB3YXMgcmV0dXJuaW5nIGEgYmFkIHZhbHVlIGJlY2F1c2UgSGlzdG9y
eUl0ZW06Om1fc2hvdWxkUmVzdG9yZVNjcm9sbFBvc2l0aW9uCisgICAgICAgIHdhcyBpbml0aWFs
aXplZCBmcm9tIEZyYW1lU3RhdGU6OnNob3VsZFJlc3RvcmVTY3JvbGxQb3NpdGlvbiBtZW1iZXIs
IHdoaWNoIHdhcyBub3QgaW5pdGlhbGl6ZWQgd2hlbgorICAgICAgICByZXN0b3JlZCBmcm9tIHRo
ZSBsZWdhY3kgc2Vzc2lvbiByZXN0b3JlIEFQSS4KKworICAgICAgICBUZXN0czogV2ViS2l0Mi5S
ZXN0b3JlU2Vzc2lvblN0YXRlQ29udGFpbmluZ1Njcm9sbFJlc3RvcmF0aW9uKiBBUEkgdGVzdHMu
CisKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbToKKyAgICAg
ICAgKEdlbmVyYXRlRW51bWVyYXRpb25JbXBsZW1lbnRhdGlvbkNvbnRlbnQpOgorICAgICAgICBE
cm9wIHRoZSBSRUxFQVNFX0FTU0VSVCB0aGF0IHdhcyBhZGRlZCB0byBkZWJ1ZyB0aGlzIGFuZCB1
c2UgdGhlIHJlZ3VsYXIgZGVidWcgQVNTRVJULgorCisgICAgICAgICogaGlzdG9yeS9IaXN0b3J5
SXRlbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIaXN0b3J5SXRlbTo6c2V0U2hvdWxkUmVzdG9y
ZVNjcm9sbFBvc2l0aW9uKToKKyAgICAgICAgTWFrZSBzdXJlIHdlIG5vdGlmeSB0aGF0IHRoZSBI
aXN0b3J5SXRlbSBoYXMgY2hhbmdlZCB3aGVuIHNldFNob3VsZFJlc3RvcmVTY3JvbGxQb3NpdGlv
bigpCisgICAgICAgIGlzIGNhbGxlZC4KKwogMjAxNy0wNi0wNiAgQWRyaWFuIFBlcmV6IGRlIENh
c3RybyAgPGFwZXJlekBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdW1dheWxhbmRdIERvIG5v
dCBwYXNzIHZhbHVlIG9mICRESVNQTEFZIHRvIHdsX2Rpc3BsYXlfY29ubmVjdCgpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cK
aW5kZXggYmQ3MjVmOGYyODJhYTZlZjc5MGZjNzk3MDgxOWI1NDVlZTA4NTQ0NS4uZDJhMGViYThj
Y2M2OTU4OTVkNWYzYTlkMzBiYjVmY2M1MzczM2JjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIw
IEBACisyMDE3LTA2LTA2ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAg
ICAgUkVMRUFTRV9BU1NFUlQoc3RhdGljX2Nhc3Q8c2l6ZV90PihlbnVtZXJhdGlvblZhbHVlKSA8
IFdURl9BUlJBWV9MRU5HVEgodmFsdWVzKSkgaGl0IGluIGNvbnZlcnRFbnVtZXJhdGlvblRvSlM8
V2ViQ29yZTo6SGlzdG9yeTo6U2Nyb2xsUmVzdG9yYXRpb24+KCkKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3MzAzMworICAgICAgICA8cmRhcjovL3By
b2JsZW0vMzI1OTEwOTk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBTaGFyZWQvU2Vzc2lvblN0YXRlLmg6CisgICAgICAgIE1ha2Ugc3VyZSBGcmFt
ZVN0YXRlOjpzaG91bGRSZXN0b3JlU2Nyb2xsUG9zaXRpb24gYW5kIG90aGVyIHN0cnVjdCBtZW1i
ZXJzIGFyZSBhbHdheXMKKyAgICAgICAgaW50aWFsaXplZC4KKworICAgICAgICAqIFVJUHJvY2Vz
cy9tYWMvTGVnYWN5U2Vzc2lvblN0YXRlQ29kaW5nLmNwcDoKKyAgICAgICAgKFdlYktpdDo6ZW5j
b2RlRnJhbWVTdGF0ZU5vZGUpOgorICAgICAgICAoV2ViS2l0OjpkZWNvZGVCYWNrRm9yd2FyZFRy
ZWVOb2RlKToKKyAgICAgICAgTWFrZSBzdXJlIEZyYW1lU3RhdGU6OnNob3VsZFJlc3RvcmVTY3Jv
bGxQb3NpdGlvbiBpcyBwcm9wZXJseSBlbmNvZGVkIC8gZGVjb2RlZC4KKwogMjAxNy0wNi0wNiAg
WW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIGFuIG9wdGlv
biB0byBkaXNhYmxlIGdldFVzZXJNZWRpYSBwcm9tcHQgaW4gY2FzZSBvZiBtb2NrIGNhcHR1cmUg
c291cmNlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2Rl
R2VuZXJhdG9ySlMucG0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5l
cmF0b3JKUy5wbQppbmRleCA1MWI0ZDJmNTVlNTZiODM5NjkxYzA0MjBjODdjNjc3ODkzMzU1YWIy
Li5lZjA5MDU2NmU0YzNiMzhjNWZmMTZlNjIyNjAxYmE4YmMyYjEwMzk4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQpAQCAtMTcy
NywxMiArMTcyNyw3IEBAIHN1YiBHZW5lcmF0ZUVudW1lcmF0aW9uSW1wbGVtZW50YXRpb25Db250
ZW50CiAgICAgICAgICRyZXN1bHQgLj0gIiAgICBzdGF0aWNfYXNzZXJ0KHN0YXRpY19jYXN0PHNp
emVfdD4oJHtjbGFzc05hbWV9OjokZW51bWVyYXRpb25WYWx1ZU5hbWUpID09ICRpbmRleCwgXCIk
e2NsYXNzTmFtZX06OiRlbnVtZXJhdGlvblZhbHVlTmFtZSBpcyBub3QgJGluZGV4IGFzIGV4cGVj
dGVkXCIpO1xuIjsKICAgICAgICAgJGluZGV4Kys7CiAgICAgfQotICAgICMgRklYTUU6IFRoaXMg
aXMgYSBkZWJ1Z2dpbmcgYWlkIGZvciA8cmRhcjovL3Byb2JsZW0vMzExOTMyMDE+LiBQbGVhc2Ug
cmV2ZXJ0IHdoZW4gbm8gbG9uZ2VyIG5lZWRlZC4KLSAgICBpZiAoJGNsYXNzTmFtZSBlcSAiSGlz
dG9yeTo6U2Nyb2xsUmVzdG9yYXRpb24iKSB7Ci0gICAgICAgICRyZXN1bHQgLj0gIiAgICBSRUxF
QVNFX0FTU0VSVChzdGF0aWNfY2FzdDxzaXplX3Q+KGVudW1lcmF0aW9uVmFsdWUpIDwgV1RGX0FS
UkFZX0xFTkdUSCh2YWx1ZXMpKTtcbiI7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgJHJlc3VsdCAu
PSAiICAgIEFTU0VSVChzdGF0aWNfY2FzdDxzaXplX3Q+KGVudW1lcmF0aW9uVmFsdWUpIDwgV1RG
X0FSUkFZX0xFTkdUSCh2YWx1ZXMpKTtcbiI7Ci0gICAgfQorICAgICRyZXN1bHQgLj0gIiAgICBB
U1NFUlQoc3RhdGljX2Nhc3Q8c2l6ZV90PihlbnVtZXJhdGlvblZhbHVlKSA8IFdURl9BUlJBWV9M
RU5HVEgodmFsdWVzKSk7XG4iOwogICAgICRyZXN1bHQgLj0gIiAgICByZXR1cm4ganNTdHJpbmdX
aXRoQ2FjaGUoJnN0YXRlLCB2YWx1ZXNbc3RhdGljX2Nhc3Q8c2l6ZV90PihlbnVtZXJhdGlvblZh
bHVlKV0pO1xuIjsKICAgICAkcmVzdWx0IC49ICJ9XG5cbiI7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2hpc3RvcnkvSGlzdG9yeUl0ZW0uY3BwIGIvU291cmNlL1dlYkNvcmUvaGlzdG9y
eS9IaXN0b3J5SXRlbS5jcHAKaW5kZXggNjQ4NDRhNzU0MTgzOGFkM2MzNmQ5MzA5NmI2OGMyZWY5
MGUxZGE0OS4uZDk5YzAwNjQyNzQ4NTAxZWQ0ZDVhNTNiZDI2ZTM5NGVjYWM3ZTI0NyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaGlzdG9yeS9IaXN0b3J5SXRlbS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaGlzdG9yeS9IaXN0b3J5SXRlbS5jcHAKQEAgLTI3MSw2ICsyNzEsNyBAQCBib29s
IEhpc3RvcnlJdGVtOjpzaG91bGRSZXN0b3JlU2Nyb2xsUG9zaXRpb24oKSBjb25zdAogdm9pZCBI
aXN0b3J5SXRlbTo6c2V0U2hvdWxkUmVzdG9yZVNjcm9sbFBvc2l0aW9uKGJvb2wgc2hvdWxkUmVz
dG9yZSkKIHsKICAgICBtX3Nob3VsZFJlc3RvcmVTY3JvbGxQb3NpdGlvbiA9IHNob3VsZFJlc3Rv
cmU7CisgICAgbm90aWZ5SGlzdG9yeUl0ZW1DaGFuZ2VkKHRoaXMpOwogfQogCiBmbG9hdCBIaXN0
b3J5SXRlbTo6cGFnZVNjYWxlRmFjdG9yKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9TZXNzaW9uU3RhdGUuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9TZXNzaW9u
U3RhdGUuaAppbmRleCBhNTZhOGRiMTEwNzhiMjg1NzUyOTI0ZjhlYzBjZWEzN2NjNjFjZjgyLi42
MWY0YTZjNWNjMDU0M2ZkMmEyMjQ3MjIyMGFjMDdhYTk3YTVmZTdiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvU2Vzc2lvblN0YXRlLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hh
cmVkL1Nlc3Npb25TdGF0ZS5oCkBAIC05MiwxMiArOTIsMTIgQEAgc3RydWN0IEZyYW1lU3RhdGUg
ewogICAgIFZlY3RvcjxTdHJpbmc+IGRvY3VtZW50U3RhdGU7CiAgICAgc3RkOjpvcHRpb25hbDxW
ZWN0b3I8dWludDhfdD4+IHN0YXRlT2JqZWN0RGF0YTsKIAotICAgIGludDY0X3QgZG9jdW1lbnRT
ZXF1ZW5jZU51bWJlcjsKLSAgICBpbnQ2NF90IGl0ZW1TZXF1ZW5jZU51bWJlcjsKKyAgICBpbnQ2
NF90IGRvY3VtZW50U2VxdWVuY2VOdW1iZXIgeyAwIH07CisgICAgaW50NjRfdCBpdGVtU2VxdWVu
Y2VOdW1iZXIgeyAwIH07CiAKICAgICBXZWJDb3JlOjpJbnRQb2ludCBzY3JvbGxQb3NpdGlvbjsK
LSAgICBib29sIHNob3VsZFJlc3RvcmVTY3JvbGxQb3NpdGlvbjsKLSAgICBmbG9hdCBwYWdlU2Nh
bGVGYWN0b3I7CisgICAgYm9vbCBzaG91bGRSZXN0b3JlU2Nyb2xsUG9zaXRpb24geyB0cnVlIH07
CisgICAgZmxvYXQgcGFnZVNjYWxlRmFjdG9yIHsgMCB9OwogCiAgICAgc3RkOjpvcHRpb25hbDxI
VFRQQm9keT4gaHR0cEJvZHk7CiAKQEAgLTEwNyw3ICsxMDcsNyBAQCBzdHJ1Y3QgRnJhbWVTdGF0
ZSB7CiAgICAgV2ViQ29yZTo6SW50UmVjdCB1bm9ic2N1cmVkQ29udGVudFJlY3Q7CiAgICAgV2Vi
Q29yZTo6RmxvYXRTaXplIG1pbmltdW1MYXlvdXRTaXplSW5TY3JvbGxWaWV3Q29vcmRpbmF0ZXM7
CiAgICAgV2ViQ29yZTo6SW50U2l6ZSBjb250ZW50U2l6ZTsKLSAgICBib29sIHNjYWxlSXNJbml0
aWFsID0gZmFsc2U7CisgICAgYm9vbCBzY2FsZUlzSW5pdGlhbCB7IGZhbHNlIH07CiAjZW5kaWYK
IAogICAgIFZlY3RvcjxGcmFtZVN0YXRlPiBjaGlsZHJlbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9tYWMvTGVnYWN5U2Vzc2lvblN0YXRlQ29kaW5nLmNwcCBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvTGVnYWN5U2Vzc2lvblN0YXRlQ29kaW5nLmNwcAppbmRl
eCAxN2Y2NmI3MTc3OWMwNTQ5Y2Y2OGFlMjgxNjU4MThhNzI5ZDY2M2ZlLi41NGIyODEyYzMzZTBl
MGQzN2M4N2VmZTcxYjY5ZjM2Y2ZjYzUwMjkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvbWFjL0xlZ2FjeVNlc3Npb25TdGF0ZUNvZGluZy5jcHAKKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL21hYy9MZWdhY3lTZXNzaW9uU3RhdGVDb2RpbmcuY3BwCkBAIC0zNDYs
NiArMzQ2LDcgQEAgc3RhdGljIHZvaWQgZW5jb2RlRnJhbWVTdGF0ZU5vZGUoSGlzdG9yeUVudHJ5
RGF0YUVuY29kZXImIGVuY29kZXIsIGNvbnN0IEZyYW1lU3QKICAgICBlbmNvZGVyIDw8IGZyYW1l
U3RhdGUuc2Nyb2xsUG9zaXRpb24ueCgpOwogICAgIGVuY29kZXIgPDwgZnJhbWVTdGF0ZS5zY3Jv
bGxQb3NpdGlvbi55KCk7CiAKKyAgICBlbmNvZGVyIDw8IGZyYW1lU3RhdGUuc2hvdWxkUmVzdG9y
ZVNjcm9sbFBvc2l0aW9uOwogICAgIGVuY29kZXIgPDwgZnJhbWVTdGF0ZS5wYWdlU2NhbGVGYWN0
b3I7CiAKICAgICBlbmNvZGVyIDw8ICEhZnJhbWVTdGF0ZS5zdGF0ZU9iamVjdERhdGE7CkBAIC05
MjgsNiArOTI5LDcgQEAgc3RhdGljIHZvaWQgZGVjb2RlQmFja0ZvcndhcmRUcmVlTm9kZShIaXN0
b3J5RW50cnlEYXRhRGVjb2RlciYgZGVjb2RlciwgRnJhbWVTdGEKIAogICAgIGZyYW1lU3RhdGUu
c2Nyb2xsUG9zaXRpb24gPSBXZWJDb3JlOjpJbnRQb2ludChzY3JvbGxQb3NpdGlvblgsIHNjcm9s
bFBvc2l0aW9uWSk7CiAKKyAgICBkZWNvZGVyID4+IGZyYW1lU3RhdGUuc2hvdWxkUmVzdG9yZVNj
cm9sbFBvc2l0aW9uOwogICAgIGRlY29kZXIgPj4gZnJhbWVTdGF0ZS5wYWdlU2NhbGVGYWN0b3I7
CiAKICAgICBib29sIGhhc1N0YXRlT2JqZWN0OwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9n
IGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDdlY2VlOGMyNjQ4MWEzN2U1OWE0NzU4NWU4ZmUxNjQ4
N2Y4OWU0ZTUuLjRjMDgyYzk2NzUzZmRiNWRiNGI2M2E1ODQyMDY5YjAzNzk4YjA3NDcgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwy
MSBAQAorMjAxNy0wNi0wNiAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAg
ICAgIFJFTEVBU0VfQVNTRVJUKHN0YXRpY19jYXN0PHNpemVfdD4oZW51bWVyYXRpb25WYWx1ZSkg
PCBXVEZfQVJSQVlfTEVOR1RIKHZhbHVlcykpIGhpdCBpbiBjb252ZXJ0RW51bWVyYXRpb25Ub0pT
PFdlYkNvcmU6Okhpc3Rvcnk6OlNjcm9sbFJlc3RvcmF0aW9uPigpCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzMwMzMKKyAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzMyNTkxMDk5PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIEFkZCBBUEkgdGVzdCBjb3ZlcmFnZSB0byBtYWtlIHN1cmUgSGlzdG9yeSdzIHNj
cm9sbFJlc3RvcmF0aW9uIGlzIHByb3Blcmx5IHNhdmVkIC8gcmVzdG9yZWQgdmlhIHRoZQorICAg
ICAgICBXS1BhZ2VDb3B5U2Vzc2lvblN0YXRlKCkgLyBXS1BhZ2VSZXN0b3JlRnJvbVNlc3Npb25T
dGF0ZSgpIEMgQVBJLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJLaXQyL1Jlc3RvcmVTZXNzaW9uU3RhdGUuY3BwOiBBZGRlZC4KKyAgICAgICAgKFRlc3RXZWJL
aXRBUEk6OmRpZEZpbmlzaExvYWRGb3JGcmFtZSk6CisgICAgICAgIChUZXN0V2ViS2l0QVBJOjpz
ZXRQYWdlTG9hZGVyQ2xpZW50KToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OmNyZWF0ZVNlc3Np
b25TdGF0ZURhdGFDb250YWluaW5nU2Nyb2xsUmVzdG9yYXRpb24pOgorICAgICAgICAoVGVzdFdl
YktpdEFQSTo6VEVTVCk6CisKIDIwMTctMDYtMDYgIENhcmxvcyBBbGJlcnRvIExvcGV6IFBlcmV6
ICA8Y2xvcGV6QGlnYWxpYS5jb20+CiAKICAgICAgICAgW1dQRV0gQWRkIGFuIGluc3RhbGwtZGVw
ZW5kZW5jaWVzIHNjcmlwdApkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2Vi
S2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAxYzRiMzI0NzAyNjli
ODA4MjJjZTUxNzA0NjQyZGZjMGQzYzNlMzAwLi42Zjc4YjkxOTJlODczYmY0NzRhYWZjY2U5NTMw
ODZmOGRiNjgxMDc3IDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RXZWJLaXRB
UEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RXZWJLaXRBUEkueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNDgxLDYgKzQ4MSw3IEBA
CiAJCTgzNUNGOTY3MUQyNUZDRDYwMDFBNjVENCAvKiBSZXN0b3JlU2Vzc2lvblN0YXRlV2l0aG91
dE5hdmlnYXRpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gODM1Q0Y5NjYxRDI1RkNENjAwMUE2NUQ0IC8qIFJlc3RvcmVTZXNzaW9uU3RhdGVXaXRo
b3V0TmF2aWdhdGlvbi5jcHAgKi87IH07CiAJCTgzNjFGMTc4MUU2MTBCNEUwMDc1OUIyNSAvKiBs
aW5rLXdpdGgtZG93bmxvYWQtYXR0cmlidXRlLXdpdGgtc2xhc2hlcy5odG1sIGluIENvcHkgUmVz
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDgzNjFGMTc3MUU2MTBC
MjEwMDc1OUIyNSAvKiBsaW5rLXdpdGgtZG93bmxvYWQtYXR0cmlidXRlLXdpdGgtc2xhc2hlcy5o
dG1sICovOyB9OwogCQk4MzdBMzVGMTFEOUExRTdEMDA2NjNDNTcgLyogRG93bmxvYWRSZXF1ZXN0
QmxvYlVSTC5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDgzN0EzNUYwMUQ5QTFFNjQwMDY2M0M1NyAvKiBEb3dubG9hZFJlcXVlc3RCbG9i
VVJMLmh0bWwgKi87IH07CisJCTgzQjZERTZGMUVFNzUyMjEwMDFFNzkyRiAvKiBSZXN0b3JlU2Vz
c2lvblN0YXRlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDgzQjZERTZFMUVFNzUyMEYwMDFFNzkyRiAvKiBSZXN0b3JlU2Vzc2lvblN0YXRlLmNwcCAq
LzsgfTsKIAkJOEU0QTg1MzcxRTFEMUFCMjAwRjUzQjBGIC8qIEdyaWRQb3NpdGlvbi5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4RTRBODUzNjFFMUQx
QUExMDBGNTNCMEYgLyogR3JpZFBvc2l0aW9uLmNwcCAqLzsgfTsKIAkJOTMwQUQ0MDIxNTA2OThE
MDAwNjc5NzBGIC8qIGxvdHMtb2YtdGV4dC5odG1sIGluIENvcHkgUmVzb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDkzMEFENDAxMTUwNjk4QjMwMDY3OTcwRiAvKiBs
b3RzLW9mLXRleHQuaHRtbCAqLzsgfTsKIAkJOTMyOUFBMjkxREUzRjgxRTAwM0FCRDA3IC8qIFRl
eHRCcmVha0l0ZXJhdG9yLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDkzMjlBQTI4MURFM0Y4MUUwMDNBQkQwNyAvKiBUZXh0QnJlYWtJdGVyYXRvci5j
cHAgKi87IH07CkBAIC0xMjgyLDYgKzEyODMsNyBAQAogCQk4MzVDRjk2NjFEMjVGQ0Q2MDAxQTY1
RDQgLyogUmVzdG9yZVNlc3Npb25TdGF0ZVdpdGhvdXROYXZpZ2F0aW9uLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlc3RvcmVTZXNzaW9uU3RhdGVXaXRob3V0TmF2
aWdhdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTgzNjFGMTc3MUU2MTBC
MjEwMDc1OUIyNSAvKiBsaW5rLXdpdGgtZG93bmxvYWQtYXR0cmlidXRlLXdpdGgtc2xhc2hlcy5o
dG1sICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gImxpbmstd2l0aC1kb3dubG9hZC1hdHRy
aWJ1dGUtd2l0aC1zbGFzaGVzLmh0bWwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4
MzdBMzVGMDFEOUExRTY0MDA2NjNDNTcgLyogRG93bmxvYWRSZXF1ZXN0QmxvYlVSTC5odG1sICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gdGV4dC5odG1sOyBwYXRoID0gRG93bmxvYWRSZXF1ZXN0QmxvYlVSTC5odG1sOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4M0I2REU2RTFFRTc1MjBGMDAxRTc5MkYgLyog
UmVzdG9yZVNlc3Npb25TdGF0ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBSZXN0b3JlU2Vzc2lvblN0YXRlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJODNCODhBMzMxQzgwMDU2RDAwQkIyNDE4IC8qIEhUTUxQYXJzZXJJZGlvbXMuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSFRNTFBhcnNlcklkaW9tcy5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg2QkQxOTk3MUEyREIwNUIwMDZEQ0YwQSAvKiBS
ZWZDb3VudGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlZkNv
dW50ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4QTJDNzUwRDE2Q0VEOTU1
MDAyNEYzNTIgLyogUmVzaXplV2luZG93QWZ0ZXJDcmFzaC5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBSZXNpemVXaW5kb3dBZnRlckNyYXNoLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIxNzMsNiArMjE3NSw3IEBACiAJCQkJOEEyQzc1MEQxNkNF
RDk1NTAwMjRGMzUyIC8qIFJlc2l6ZVdpbmRvd0FmdGVyQ3Jhc2guY3BwICovLAogCQkJCUMwQkQ2
NjlDMTMxRDNDRjcwMEUxOEYyQSAvKiBSZXNwb25zaXZlbmVzc1RpbWVyRG9lc250RmlyZUVhcmx5
LmNwcCAqLywKIAkJCQlDMEJENjY5RTEzMUQzQ0ZGMDBFMThGMkEgLyogUmVzcG9uc2l2ZW5lc3NU
aW1lckRvZXNudEZpcmVFYXJseV9CdW5kbGUuY3BwICovLAorCQkJCTgzQjZERTZFMUVFNzUyMEYw
MDFFNzkyRiAvKiBSZXN0b3JlU2Vzc2lvblN0YXRlLmNwcCAqLywKIAkJCQlDMEFEQkU4MjEyRkNB
NkFBMDBEMkMxMjkgLyogUmVzdG9yZVNlc3Npb25TdGF0ZUNvbnRhaW5pbmdGb3JtRGF0YS5jcHAg
Ki8sCiAJCQkJODM1Q0Y5NjYxRDI1RkNENjAwMUE2NUQ0IC8qIFJlc3RvcmVTZXNzaW9uU3RhdGVX
aXRob3V0TmF2aWdhdGlvbi5jcHAgKi8sCiAJCQkJMkQ2NDBCNTQxNzg3NURGRjAwQkZBRjk5IC8q
IFNjcm9sbFBpbm5pbmdCZWhhdmlvcnMuY3BwICovLApAQCAtMzE1MCw2ICszMTUzLDcgQEAKIAkJ
CQlGNEZBOTE4MTFFNjE4NDlCMDA3QjhDMUQgLyogV0tXZWJWaWV3U2VsZWN0aW9uVGVzdHMubW0g
aW4gU291cmNlcyAqLywKIAkJCQkwNzk5QzM0OTFFQkEyRDdCMDAzQjc1MzIgLyogVXNlck1lZGlh
RGlzYWJsZWQubW0gaW4gU291cmNlcyAqLywKIAkJCQk5M0Y1NkRBOTFFNUY5MTlEMDAzRURFODQg
LyogV0tXZWJWaWV3U25hcHNob3QubW0gaW4gU291cmNlcyAqLywKKwkJCQk4M0I2REU2RjFFRTc1
MjIxMDAxRTc5MkYgLyogUmVzdG9yZVNlc3Npb25TdGF0ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQk5OTg0RkFDQzFDRkZBRjYwMDA4RDE5OEMgLyogV0tXZWJWaWV3VGV4dElucHV0Lm1tIGluIFNv
dXJjZXMgKi8sCiAJCQkJNzY0MzIyRDcxQjYxQ0NDMzAwMjRGODAxIC8qIFdvcmRCb3VuZGFyeVR5
cGluZ0F0dHJpYnV0ZXMubW0gaW4gU291cmNlcyAqLywKIAkJCQk5QzY0REMzMjFENzYxOThBMDA0
QjU5OEUgLyogWW91VHViZVBsdWdpblJlcGxhY2VtZW50LmNwcCBpbiBTb3VyY2VzICovLApkaWZm
IC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL1Jlc3RvcmVTZXNzaW9u
U3RhdGUuY3BwIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJLaXQyL1Jlc3RvcmVTZXNz
aW9uU3RhdGUuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNjYTk4OTEzMmRhNmZhZDFhOGRiNmRmYmVmM2U0ZWQy
ZWVkOTMxZDEKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YktpdDIvUmVzdG9yZVNlc3Npb25TdGF0ZS5jcHAKQEAgLTAsMCArMSwxMzIgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgor
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
KyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBXS19IQVZFX0NfU1BJCisKKyNpbmNsdWRl
ICJKYXZhU2NyaXB0VGVzdC5oIgorI2luY2x1ZGUgIlBsYXRmb3JtVXRpbGl0aWVzLmgiCisjaW5j
bHVkZSAiUGxhdGZvcm1XZWJWaWV3LmgiCisjaW5jbHVkZSAiVGVzdC5oIgorI2luY2x1ZGUgPFdl
YktpdC9XS1Nlc3Npb25TdGF0ZVJlZi5oPgorCituYW1lc3BhY2UgVGVzdFdlYktpdEFQSSB7CisK
K3N0YXRpYyBib29sIGRpZEZpbmlzaExvYWQ7CisKK3N0YXRpYyB2b2lkIGRpZEZpbmlzaExvYWRG
b3JGcmFtZShXS1BhZ2VSZWYsIFdLRnJhbWVSZWYsIFdLVHlwZVJlZiwgY29uc3Qgdm9pZCopCit7
CisgICAgZGlkRmluaXNoTG9hZCA9IHRydWU7Cit9CisKK3N0YXRpYyB2b2lkIHNldFBhZ2VMb2Fk
ZXJDbGllbnQoV0tQYWdlUmVmIHBhZ2UpCit7CisgICAgV0tQYWdlTG9hZGVyQ2xpZW50VjAgbG9h
ZGVyQ2xpZW50OworICAgIG1lbXNldCgmbG9hZGVyQ2xpZW50LCAwLCBzaXplb2YobG9hZGVyQ2xp
ZW50KSk7CisKKyAgICBsb2FkZXJDbGllbnQuYmFzZS52ZXJzaW9uID0gMDsKKyAgICBsb2FkZXJD
bGllbnQuZGlkRmluaXNoTG9hZEZvckZyYW1lID0gZGlkRmluaXNoTG9hZEZvckZyYW1lOworCisg
ICAgV0tQYWdlU2V0UGFnZUxvYWRlckNsaWVudChwYWdlLCAmbG9hZGVyQ2xpZW50LmJhc2UpOwor
fQorCitzdGF0aWMgV0tSZXRhaW5QdHI8V0tEYXRhUmVmPiBjcmVhdGVTZXNzaW9uU3RhdGVEYXRh
Q29udGFpbmluZ1Njcm9sbFJlc3RvcmF0aW9uKFdLQ29udGV4dFJlZiBjb250ZXh0LCBzdGQ6OmZ1
bmN0aW9uPHZvaWQoV0tQYWdlUmVmKT4gYXBwbHkpCit7CisgICAgUGxhdGZvcm1XZWJWaWV3IHdl
YlZpZXcoY29udGV4dCk7CisgICAgc2V0UGFnZUxvYWRlckNsaWVudCh3ZWJWaWV3LnBhZ2UoKSk7
CisKKyAgICBXS1BhZ2VMb2FkVVJMKHdlYlZpZXcucGFnZSgpLCBhZG9wdFdLKFV0aWw6OmNyZWF0
ZVVSTEZvclJlc291cmNlKCJzaW1wbGUtZm9ybSIsICJodG1sIikpLmdldCgpKTsKKyAgICBVdGls
OjpydW4oJmRpZEZpbmlzaExvYWQpOworICAgIGRpZEZpbmlzaExvYWQgPSBmYWxzZTsKKworICAg
IGFwcGx5KHdlYlZpZXcucGFnZSgpKTsKKworICAgIGF1dG8gc2Vzc2lvblN0YXRlID0gYWRvcHRX
SyhzdGF0aWNfY2FzdDxXS1Nlc3Npb25TdGF0ZVJlZj4oV0tQYWdlQ29weVNlc3Npb25TdGF0ZSh3
ZWJWaWV3LnBhZ2UoKSwgcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oMSksIG51bGxwdHIpKSk7Cisg
ICAgcmV0dXJuIGFkb3B0V0soV0tTZXNzaW9uU3RhdGVDb3B5RGF0YShzZXNzaW9uU3RhdGUuZ2V0
KCkpKTsKK30KKworVEVTVChXZWJLaXQyLCBSZXN0b3JlU2Vzc2lvblN0YXRlQ29udGFpbmluZ1Nj
cm9sbFJlc3RvcmF0aW9uTWFudWFsKQoreworICAgIFdLUmV0YWluUHRyPFdLQ29udGV4dFJlZj4g
Y29udGV4dChBZG9wdFdLLCBXS0NvbnRleHRDcmVhdGUoKSk7CisKKyAgICBQbGF0Zm9ybVdlYlZp
ZXcgd2ViVmlldyhjb250ZXh0LmdldCgpKTsKKyAgICBzZXRQYWdlTG9hZGVyQ2xpZW50KHdlYlZp
ZXcucGFnZSgpKTsKKworICAgIFdLUmV0YWluUHRyPFdLRGF0YVJlZj4gZGF0YSA9IGNyZWF0ZVNl
c3Npb25TdGF0ZURhdGFDb250YWluaW5nU2Nyb2xsUmVzdG9yYXRpb24oY29udGV4dC5nZXQoKSwg
W10oV0tQYWdlUmVmIHBhZ2UpIHsKKyAgICAgICAgRVhQRUNUX0pTX0VRKHBhZ2UsICJoaXN0b3J5
LnNjcm9sbFJlc3RvcmF0aW9uID0gJ21hbnVhbCciLCAibWFudWFsIik7CisgICAgfSk7CisgICAg
RVhQRUNUX05PVF9OVUxMKGRhdGEpOworCisgICAgYXV0byBzZXNzaW9uU3RhdGUgPSBhZG9wdFdL
KFdLU2Vzc2lvblN0YXRlQ3JlYXRlRnJvbURhdGEoZGF0YS5nZXQoKSkpOworICAgIFdLUGFnZVJl
c3RvcmVGcm9tU2Vzc2lvblN0YXRlKHdlYlZpZXcucGFnZSgpLCBzZXNzaW9uU3RhdGUuZ2V0KCkp
OworCisgICAgVXRpbDo6cnVuKCZkaWRGaW5pc2hMb2FkKTsKKworICAgIEVYUEVDVF9KU19FUSh3
ZWJWaWV3LnBhZ2UoKSwgImhpc3Rvcnkuc2Nyb2xsUmVzdG9yYXRpb24iLCAibWFudWFsIik7Cit9
CisKK1RFU1QoV2ViS2l0MiwgUmVzdG9yZVNlc3Npb25TdGF0ZUNvbnRhaW5pbmdTY3JvbGxSZXN0
b3JhdGlvbkF1dG8pCit7CisgICAgV0tSZXRhaW5QdHI8V0tDb250ZXh0UmVmPiBjb250ZXh0KEFk
b3B0V0ssIFdLQ29udGV4dENyZWF0ZSgpKTsKKworICAgIFBsYXRmb3JtV2ViVmlldyB3ZWJWaWV3
KGNvbnRleHQuZ2V0KCkpOworICAgIHNldFBhZ2VMb2FkZXJDbGllbnQod2ViVmlldy5wYWdlKCkp
OworCisgICAgV0tSZXRhaW5QdHI8V0tEYXRhUmVmPiBkYXRhID0gY3JlYXRlU2Vzc2lvblN0YXRl
RGF0YUNvbnRhaW5pbmdTY3JvbGxSZXN0b3JhdGlvbihjb250ZXh0LmdldCgpLCBbXShXS1BhZ2VS
ZWYgcGFnZSkgeworICAgICAgICBFWFBFQ1RfSlNfRVEocGFnZSwgImhpc3Rvcnkuc2Nyb2xsUmVz
dG9yYXRpb24gPSAnYXV0byciLCAiYXV0byIpOworICAgIH0pOworICAgIEVYUEVDVF9OT1RfTlVM
TChkYXRhKTsKKworICAgIGF1dG8gc2Vzc2lvblN0YXRlID0gYWRvcHRXSyhXS1Nlc3Npb25TdGF0
ZUNyZWF0ZUZyb21EYXRhKGRhdGEuZ2V0KCkpKTsKKyAgICBXS1BhZ2VSZXN0b3JlRnJvbVNlc3Np
b25TdGF0ZSh3ZWJWaWV3LnBhZ2UoKSwgc2Vzc2lvblN0YXRlLmdldCgpKTsKKworICAgIFV0aWw6
OnJ1bigmZGlkRmluaXNoTG9hZCk7CisKKyAgICBFWFBFQ1RfSlNfRVEod2ViVmlldy5wYWdlKCks
ICJoaXN0b3J5LnNjcm9sbFJlc3RvcmF0aW9uIiwgImF1dG8iKTsKK30KKworVEVTVChXZWJLaXQy
LCBSZXN0b3JlU2Vzc2lvblN0YXRlQ29udGFpbmluZ1Njcm9sbFJlc3RvcmF0aW9uRGVmYXVsdCkK
K3sKKyAgICBXS1JldGFpblB0cjxXS0NvbnRleHRSZWY+IGNvbnRleHQoQWRvcHRXSywgV0tDb250
ZXh0Q3JlYXRlKCkpOworCisgICAgUGxhdGZvcm1XZWJWaWV3IHdlYlZpZXcoY29udGV4dC5nZXQo
KSk7CisgICAgc2V0UGFnZUxvYWRlckNsaWVudCh3ZWJWaWV3LnBhZ2UoKSk7CisKKyAgICBXS1Jl
dGFpblB0cjxXS0RhdGFSZWY+IGRhdGEgPSBjcmVhdGVTZXNzaW9uU3RhdGVEYXRhQ29udGFpbmlu
Z1Njcm9sbFJlc3RvcmF0aW9uKGNvbnRleHQuZ2V0KCksIFtdKFdLUGFnZVJlZikgeworICAgIH0p
OworICAgIEVYUEVDVF9OT1RfTlVMTChkYXRhKTsKKworICAgIGF1dG8gc2Vzc2lvblN0YXRlID0g
YWRvcHRXSyhXS1Nlc3Npb25TdGF0ZUNyZWF0ZUZyb21EYXRhKGRhdGEuZ2V0KCkpKTsKKyAgICBX
S1BhZ2VSZXN0b3JlRnJvbVNlc3Npb25TdGF0ZSh3ZWJWaWV3LnBhZ2UoKSwgc2Vzc2lvblN0YXRl
LmdldCgpKTsKKworICAgIFV0aWw6OnJ1bigmZGlkRmluaXNoTG9hZCk7CisKKyAgICBFWFBFQ1Rf
SlNfRVEod2ViVmlldy5wYWdlKCksICJoaXN0b3J5LnNjcm9sbFJlc3RvcmF0aW9uIiwgImF1dG8i
KTsKK30KKworfSAvLyBuYW1lc3BhY2UgVGVzdFdlYktpdEFQSQorCisjZW5kaWYK
</data>

          </attachment>
      

    </bug>

</bugzilla>