<?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>102780</bug_id>
          
          <creation_ts>2012-11-20 00:45:46 -0800</creation_ts>
          <short_desc>label element with tabindex &gt;= 0 is not focusable</short_desc>
          <delta_ts>2017-01-03 19:40:41 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>DOM</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Masataka Yakura">myakura.web</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>7raivis</cc>
    
    <cc>ap</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>daryn_mitchell</cc>
    
    <cc>giovanni.piller</cc>
    
    <cc>jcraig</cc>
    
    <cc>kandalkar.abhijeet58</cc>
    
    <cc>mfairchild365</cc>
    
    <cc>rene</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>771649</commentid>
    <comment_count>0</comment_count>
    <who name="Masataka Yakura">myakura.web</who>
    <bug_when>2012-11-20 00:45:46 -0800</bug_when>
    <thetext>Per the HTML spec, elements with tabindex value of zero (or greater) must be focusable.
http://whatwg.org/html#sequential-focus-navigation-and-the-tabindex-attribute

The label element, however, is not focusable.

Minimal testcase:
data:text/html;charset=utf-8,&lt;!DOCTYPE html&gt;&lt;label tabindex=0&gt;label with tabindex=0 set&lt;/label&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1056733</commentid>
    <comment_count>1</comment_count>
    <who name="Rene">rene</who>
    <bug_when>2014-12-18 01:41:33 -0800</bug_when>
    <thetext>This is still the case on 537.36 (Chrome 39.0.2171.95): Labels with positive tabindex are ignored in tabbing, unless they are content-editable.

See http://codepen.io/rh/pen/gbMRPJ for a simple test case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1085419</commentid>
    <comment_count>2</comment_count>
    <who name="Abhijeet Kandalkar">kandalkar.abhijeet58</who>
    <bug_when>2015-04-14 23:20:04 -0700</bug_when>
    <thetext>Related Blink issue:
https://code.google.com/p/chromium/issues/detail?id=477208</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1261091</commentid>
    <comment_count>3</comment_count>
    <who name="Giovanni Piller Cottrer">giovanni.piller</who>
    <bug_when>2016-12-19 01:00:53 -0800</bug_when>
    <thetext>Related Blink issue has been fixed:
https://bugs.chromium.org/p/chromium/issues/detail?id=443725

Version 55.0.2883.95 (64-bit)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1261092</commentid>
    <comment_count>4</comment_count>
    <who name="Giovanni Piller Cottrer">giovanni.piller</who>
    <bug_when>2016-12-19 01:03:06 -0800</bug_when>
    <thetext>Please disregard &quot;Version 55.0.2883.95 (64-bit)&quot;. Pasted it by mistake.
Blink&apos;s issue has been marked as &quot;fixed&quot; on Nov 11, 2015.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1262519</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2016-12-22 20:04:47 -0800</bug_when>
    <thetext>&lt;rdar://problem/29796608&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1262526</commentid>
    <comment_count>6</comment_count>
      <attachid>297704</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2016-12-22 22:13:16 -0800</bug_when>
    <thetext>Created attachment 297704
Fixes the bug</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1262528</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-12-22 22:14:21 -0800</bug_when>
    <thetext>Attachment 297704 did not pass style-queue:


ERROR: LayoutTests/platform/ios-simulator-wk2/TestExpectations:1789:  Path does not exist.  [test/expectations] [5]
Total errors found: 1 in 9 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1262529</commentid>
    <comment_count>8</comment_count>
      <attachid>297705</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2016-12-22 22:16:29 -0800</bug_when>
    <thetext>Created attachment 297705
Fixed the test path</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1262530</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-12-22 22:19:05 -0800</bug_when>
    <thetext>Attachment 297705 did not pass style-queue:


ERROR: LayoutTests/platform/ios-simulator-wk2/TestExpectations:1789:  Path does not exist.  [test/expectations] [5]
Total errors found: 1 in 9 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1262696</commentid>
    <comment_count>10</comment_count>
      <attachid>297705</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-12-25 09:58:43 -0800</bug_when>
    <thetext>Comment on attachment 297705
Fixed the test path

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

&gt; Source/WebCore/html/HTMLLabelElement.cpp:150
&gt; +    // To match other browsers, always restore previous selection

Should add a period too, not just a capital letter.

This is a strange place for this comment. It seems to be grouped with the paragraph of code just below, but that’s not right. We should add a blank line so the comment is not grouped with the code below.

&gt; Source/WebCore/html/HTMLLabelElement.cpp:152
&gt; +    if (document().haveStylesheetsLoaded()) {
&gt; +        document().updateLayoutIgnorePendingStylesheets();

Given that we are checking haveStylesheetsLoaded, I don’t think we need the “ignore pending stylesheets” version of the updateLayout function.

&gt; Source/WebCore/html/HTMLLabelElement.cpp:154
&gt; +            Element::focus(true, direction);

Are you sure this should be &quot;true&quot; rather than passing along the argument we received? Do we have a test case that covers that choice to compare with other browsers’ behavior?

&gt; Source/WebCore/html/HTMLLegendElement.cpp:62
&gt;      // To match other browsers&apos; behavior, never restore previous selection.

This comment contradicts what the code below does, since it passes &quot;true&quot; when calling the base class, although it does pass &quot;false&quot; when not calling the base class.

&gt; Source/WebCore/html/HTMLLegendElement.cpp:66
&gt; +            Element::focus(true, direction);

Are you sure this should be &quot;true&quot; rather than passing along the argument we received? Do we have a test case that covers that choice to compare with other browsers’ behavior?

&gt; Source/WebCore/html/HTMLLegendElement.cpp:70
&gt;      if (HTMLFormControlElement* control = associatedControl())

Nicer to use auto*.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1263622</commentid>
    <comment_count>11</comment_count>
      <attachid>297705</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2017-01-03 17:16:15 -0800</bug_when>
    <thetext>Comment on attachment 297705
Fixed the test path

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

Thanks for the review!

&gt;&gt; Source/WebCore/html/HTMLLabelElement.cpp:150
&gt;&gt; +    // To match other browsers, always restore previous selection
&gt; 
&gt; Should add a period too, not just a capital letter.
&gt; 
&gt; This is a strange place for this comment. It seems to be grouped with the paragraph of code just below, but that’s not right. We should add a blank line so the comment is not grouped with the code below.

Fixed.

&gt;&gt; Source/WebCore/html/HTMLLabelElement.cpp:154
&gt;&gt; +            Element::focus(true, direction);
&gt; 
&gt; Are you sure this should be &quot;true&quot; rather than passing along the argument we received? Do we have a test case that covers that choice to compare with other browsers’ behavior?

This behavior was introduced 10 years ago in https://trac.webkit.org/changeset/20072 (with tests).
Because restorePreviousSelection is only used by updateFocusAppearance
overriden in HTMLAreaElement, HTMLTextAreaElement, and HTMLInputElement,
this has no effect in for label &amp; legend element (i.e. the value of this argument has not behavioral impact and thus not testable).
I’ve added a comment about it, pass along the argument (it doesn’t matter anyway because the value is unused),
and moved the above comment about restoring selection to the below where element-&gt;focus is called.

&gt;&gt; Source/WebCore/html/HTMLLegendElement.cpp:66
&gt;&gt; +            Element::focus(true, direction);
&gt; 
&gt; Are you sure this should be &quot;true&quot; rather than passing along the argument we received? Do we have a test case that covers that choice to compare with other browsers’ behavior?

Did the same thing as HTMLLabelElement::focus.

&gt;&gt; Source/WebCore/html/HTMLLegendElement.cpp:70
&gt;&gt;      if (HTMLFormControlElement* control = associatedControl())
&gt; 
&gt; Nicer to use auto*.

Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1263643</commentid>
    <comment_count>12</comment_count>
      <attachid>297980</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2017-01-03 18:28:15 -0800</bug_when>
    <thetext>Created attachment 297980
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1263657</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-01-03 19:15:48 -0800</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 297980:

The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1263658</commentid>
    <comment_count>14</comment_count>
      <attachid>297984</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2017-01-03 19:16:02 -0800</bug_when>
    <thetext>Created attachment 297984
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1263660</commentid>
    <comment_count>15</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2017-01-03 19:16:20 -0800</bug_when>
    <thetext>Oops, the test was failing on WK1. Fixed that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1263666</commentid>
    <comment_count>16</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2017-01-03 19:19:45 -0800</bug_when>
    <thetext>*** Bug 166020 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1263673</commentid>
    <comment_count>17</comment_count>
      <attachid>297984</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-01-03 19:40:35 -0800</bug_when>
    <thetext>Comment on attachment 297984
Patch for landing

Clearing flags on attachment: 297984

Committed r210267: &lt;http://trac.webkit.org/changeset/210267&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1263674</commentid>
    <comment_count>18</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-01-03 19:40:41 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>297704</attachid>
            <date>2016-12-22 22:13:16 -0800</date>
            <delta_ts>2016-12-22 22:16:25 -0800</delta_ts>
            <desc>Fixes the bug</desc>
            <filename>bug-102780-20161222221211.patch</filename>
            <type>text/plain</type>
            <size>11137</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxMDEzMCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM0IEBACisyMDE2LTEyLTIyICBSeW9zdWtl
IE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIGxhYmVsIGVsZW1lbnQgd2l0aCB0
YWJpbmRleCA+PSAwIGlzIG5vdCBmb2N1c2FibGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjc4MAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjk3
OTY2MDg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
Rml4ZWQgdGhlIGJ1ZyBieSByZW1vdmluZyB0aGUgb3ZlcnJpZGUgZm9yIEhUTUxMYWJlbEVsZW1l
bnQ6OmlzRm9jdXNhYmxlIHdoaWNoIGFsd2F5cyByZXR1cm5lZCBmYWxzZS4KKworICAgICAgICBU
aGlzIGlzIGEgYmVoYXZpb3IgZnJvbSByNTUzMiBidXQgaXQgZG9lc24ndCBtYXRjaCB0aGUgbGF0
ZXN0IEhUTUwgc3BlY2lmaWNhdGlvbiBvciB0aGF0IG9mIENocm9tZQorICAgICAgICBhbmQgRmly
ZWZveC4KKworICAgICAgICBBbHNvIGZpeGVkIGFuIGV4aXN0aW5nIGJ1ZyBpbiBIVE1MTGFiZWxF
bGVtZW50Ojpmb2N1cyBhbmQgSFRNTExlZ2VuZEVsZW1lbnQ6OmZvY3VzIHdoaWNoIGZvY3VzZWQK
KyAgICAgICAgdGhlIGFzc29jaWF0ZWQgZm9ybSBjb250cm9sIHdoZW4gdGhlcmUgaXMgb25lIGV2
ZW4gaWYgdGhlIGVsZW1lbnQgaXRzZWxmIGlzIGZvY3VzYWJsZS4gV2l0aG91dCB0aGlzIGZpeCwK
KyAgICAgICAgdHJhdmVyc2luZyBmcm9tIGNvbnRyb2wgd2l0aCBzaGlmdCt0YWIgd291bGQgYnJl
YWsgc2luY2UgZm9jdXNpbmcgdGhlIGxhYmVsIHdvdWxkIG1vdmUgdGhlIGZvY3VzIGJhY2sKKyAg
ICAgICAgdG8gdGhlIGlucHV0IGVsZW1lbnQgaW5zaWRlIHRoZSBsYWJlbCBlbGVtZW50LgorCisg
ICAgICAgIEZpbmFsbHksIGZpeGVkIGEgYnVnIGluIEhUTUxMZWdlbmRFbGVtZW50Ojpmb2N1cyB0
aGF0IHdlIGNhbiBjYWxsIGluRm9jdXMgd2l0aG91dCB1cGRhdGluZyBsYXlvdXQgZmlyc3QuCisK
KyAgICAgICAgVGhlIGZpeCB3YXMgaW5zcGlyZWQgYnkgaHR0cHM6Ly9jaHJvbWl1bS5nb29nbGVz
b3VyY2UuY29tL2Nocm9taXVtL3NyYy8rLzA4NWFkODY5N2IxYmU1MGM0ZjkzZTI5Njc5N2EyNWE0
M2E3OWJjZmIKKworICAgICAgICBUZXN0OiBmYXN0L2V2ZW50cy9mb2N1cy1sYWJlbC1sZWdlbmQt
ZWxlbWVudHMtd2l0aC10YWJpbmRleC5odG1sCisKKyAgICAgICAgKiBodG1sL0hUTUxMYWJlbEVs
ZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTExhYmVsRWxlbWVudDo6Zm9jdXMpOgor
ICAgICAgICAoV2ViQ29yZTo6SFRNTExhYmVsRWxlbWVudDo6aXNGb2N1c2FibGUpOiBEZWxldGVk
LgorICAgICAgICAqIGh0bWwvSFRNTExhYmVsRWxlbWVudC5oOgorICAgICAgICAqIGh0bWwvSFRN
TExlZ2VuZEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTExlZ2VuZEVsZW1lbnQ6
OmZvY3VzKToKKwogMjAxNi0xMi0yMiAgQW5keSBFc3RlcyAgPGFlc3Rlc0BhcHBsZS5jb20+CiAK
ICAgICAgICAgUmVkdWNlIFF1aWNrTG9vay5oIGluY2x1ZGUgb3ZlcmhlYWQKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTExhYmVsRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MTGFiZWxFbGVtZW50LmNwcAkocmV2aXNpb24gMjEwMTIxKQorKysg
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGFiZWxFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNTgsMTEgKzU4LDYgQEAgUmVmPEhUTUxMYWJlbEVsZW1lbnQ+IEhUTUxMYWJlbEVsZW1lbnQ6
OgogICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEhUTUxMYWJlbEVsZW1lbnQodGFnTmFtZSwgZG9j
dW1lbnQpKTsKIH0KIAotYm9vbCBIVE1MTGFiZWxFbGVtZW50Ojppc0ZvY3VzYWJsZSgpIGNvbnN0
Ci17Ci0gICAgcmV0dXJuIGZhbHNlOwotfQotCiBMYWJlbGFibGVFbGVtZW50KiBIVE1MTGFiZWxF
bGVtZW50Ojpjb250cm9sKCkKIHsKICAgICBjb25zdCBBdG9taWNTdHJpbmcmIGNvbnRyb2xJZCA9
IGF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oZm9yQXR0cik7CkBAIC0xNTIsNyArMTQ3
LDE1IEBAIGJvb2wgSFRNTExhYmVsRWxlbWVudDo6d2lsbFJlc3BvbmRUb01vdXMKIAogdm9pZCBI
VE1MTGFiZWxFbGVtZW50Ojpmb2N1cyhib29sLCBGb2N1c0RpcmVjdGlvbiBkaXJlY3Rpb24pCiB7
Ci0gICAgLy8gdG8gbWF0Y2ggb3RoZXIgYnJvd3NlcnMsIGFsd2F5cyByZXN0b3JlIHByZXZpb3Vz
IHNlbGVjdGlvbgorICAgIC8vIFRvIG1hdGNoIG90aGVyIGJyb3dzZXJzLCBhbHdheXMgcmVzdG9y
ZSBwcmV2aW91cyBzZWxlY3Rpb24KKyAgICBpZiAoZG9jdW1lbnQoKS5oYXZlU3R5bGVzaGVldHNM
b2FkZWQoKSkgeworICAgICAgICBkb2N1bWVudCgpLnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdT
dHlsZXNoZWV0cygpOworICAgICAgICBpZiAoaXNGb2N1c2FibGUoKSkgeworICAgICAgICAgICAg
RWxlbWVudDo6Zm9jdXModHJ1ZSwgZGlyZWN0aW9uKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAg
ICAgICAgfQorICAgIH0KKwogICAgIGlmIChhdXRvKiBlbGVtZW50ID0gY29udHJvbCgpKQogICAg
ICAgICBlbGVtZW50LT5mb2N1cyh0cnVlLCBkaXJlY3Rpb24pOwogfQpJbmRleDogU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MTGFiZWxFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MTGFiZWxFbGVtZW50LmgJKHJldmlzaW9uIDIxMDEyMSkKKysrIFNvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTExhYmVsRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zOSw4ICsz
OSw2IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgSFRNTExhYmVsRWxlbWVudChjb25zdCBRdWFs
aWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIAotICAgIGJvb2wgaXNGb2N1c2FibGUoKSBjb25zdCBm
aW5hbDsKLQogICAgIHZvaWQgYWNjZXNzS2V5QWN0aW9uKGJvb2wgc2VuZE1vdXNlRXZlbnRzKSBm
aW5hbDsKIAogICAgIC8vIE92ZXJyaWRkZW4gdG8gdXBkYXRlIHRoZSBob3Zlci9hY3RpdmUgc3Rh
dGUgb2YgdGhlIGNvcnJlc3BvbmRpbmcgY29udHJvbC4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTExlZ2VuZEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTExlZ2VuZEVsZW1lbnQuY3BwCShyZXZpc2lvbiAyMTAxMjEpCisrKyBTb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxMZWdlbmRFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTksMTAg
KzU5LDE0IEBAIEhUTUxGb3JtQ29udHJvbEVsZW1lbnQqIEhUTUxMZWdlbmRFbGVtZW4KIAogdm9p
ZCBIVE1MTGVnZW5kRWxlbWVudDo6Zm9jdXMoYm9vbCwgRm9jdXNEaXJlY3Rpb24gZGlyZWN0aW9u
KQogewotICAgIGlmIChpc0ZvY3VzYWJsZSgpKQotICAgICAgICBFbGVtZW50Ojpmb2N1cyh0cnVl
LCBkaXJlY3Rpb24pOwotICAgICAgICAKICAgICAvLyBUbyBtYXRjaCBvdGhlciBicm93c2Vycycg
YmVoYXZpb3IsIG5ldmVyIHJlc3RvcmUgcHJldmlvdXMgc2VsZWN0aW9uLgorICAgIGlmIChkb2N1
bWVudCgpLmhhdmVTdHlsZXNoZWV0c0xvYWRlZCgpKSB7CisgICAgICAgIGRvY3VtZW50KCkudXBk
YXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKCk7CisgICAgICAgIGlmIChpc0ZvY3Vz
YWJsZSgpKSB7CisgICAgICAgICAgICBFbGVtZW50Ojpmb2N1cyh0cnVlLCBkaXJlY3Rpb24pOwor
ICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgfQogICAgIGlmIChIVE1MRm9ybUNv
bnRyb2xFbGVtZW50KiBjb250cm9sID0gYXNzb2NpYXRlZENvbnRyb2woKSkKICAgICAgICAgY29u
dHJvbC0+Zm9jdXMoZmFsc2UsIGRpcmVjdGlvbik7CiB9CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMTAx
MjEpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwz
MSBAQAorMjAxNi0xMi0yMiAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KKworICAg
ICAgICBsYWJlbCBlbGVtZW50IHdpdGggdGFiaW5kZXggPj0gMCBpcyBub3QgZm9jdXNhYmxlCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDI3ODAKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzI5Nzk2NjA4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIGEgcmVncmVzc2lvbiB0ZXN0IGZvciB0cmF2
ZXJzaW5nIGxhYmVsIGFuZCBsZWdlbmQgZWxlbWVudHMgYnkgdGFiYmluZy4KKyAgICAgICAgQSBu
YXRpdmUgbWVyZ2Ugb2YgdGhlIGJsaW5rIGZpeCB3b3VsZCBoYXZlIHJlZ3Jlc3NlZCB0aGlzIGZv
ciB0aGUgbGFiZWwgZWxlbWVudAorICAgICAgICB3aGlsZSB0aGUgYnVnIGluIHRoZSBsZWdlbmQg
ZWxlbWVudCBoYWQgYWx3YXlzIGV4aXN0ZWQuCisKKyAgICAgICAgQWxzbyBhZGRlZCBhIHJlZ3Jl
c3Npb24gdGVzdCBmb3IgZm9jdXNpbmcgbGFiZWwgYW5kIGxlZ2VuZCBlbGVtZW50cyB3aXRoIHRh
YmluZGV4LgorICAgICAgICBXZSBzaG91bGQgYmUgYWJsZSB0byBmb2N1cyBlaXRoZXIgZWxlbWVu
dC4gTmV3IGJlaGF2aW9yIG1hdGNoZXMgdGhhdCBvZiBDaHJvbWUuCisgICAgICAgIEZpcmVmb3gg
bW92ZXMgdGhlIGZvY3VzIHRvIHRoZSBsYWJlbCBlbGVtZW50IGxpa2Ugd2UgdXNlZCB0byBiZWZv
cmUgdGhpcyBwYXRjaC4KKworICAgICAgICBBbHNvIG1lcmdlIHRoZSB0ZXN0IGZpeCBmcm9tIGh0
dHBzOi8vY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMvKy8wODVhZDg2OTdi
MWJlNTBjNGY5M2UyOTY3OTdhMjVhNDNhNzliY2ZiCisKKyAgICAgICAgKiBmYXN0L2V2ZW50cy9m
b2N1cy1sYWJlbC1sZWdlbmQtZWxlbWVudHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L2V2ZW50cy9mb2N1cy1sYWJlbC1sZWdlbmQtZWxlbWVudHMtd2l0aC10YWItZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy9mb2N1cy1sYWJlbC1sZWdlbmQt
ZWxlbWVudHMtd2l0aC10YWIuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9ldmVudHMvZm9j
dXMtbGFiZWwtbGVnZW5kLWVsZW1lbnRzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZXZl
bnRzL3Jlc291cmNlcy90YWJpbmRleC1mb2N1cy1ibHVyLWFsbC1mcmFtZTEuaHRtbDoKKyAgICAg
ICAgKiBmYXN0L2V2ZW50cy9yZXNvdXJjZXMvdGFiaW5kZXgtZm9jdXMtYmx1ci1hbGwtZnJhbWUy
Lmh0bWw6CisgICAgICAgICogZmFzdC9ldmVudHMvcmVzb3VyY2VzL3RhYmluZGV4LWZvY3VzLWJs
dXItYWxsLmpzOgorICAgICAgICAqIGZhc3QvZXZlbnRzL3RhYmluZGV4LWZvY3VzLWJsdXItYWxs
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mtc2ltdWxhdG9yLXdrMi9UZXN0
RXhwZWN0YXRpb25zOgorCiAyMDE2LTEyLTIyICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5j
b20+CiAKICAgICAgICAgRG8gbm90IGRlc3Ryb3kgdGhlIFJlbmRlck5hbWVkRmxvd0ZyYWdtZW50
IGFzIGxlZnRvdmVyIGFub255bW91cyBibG9jay4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZXZl
bnRzL3RhYmluZGV4LWZvY3VzLWJsdXItYWxsLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90YWJpbmRleC1mb2N1cy1ibHVyLWFsbC1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDIxMDEyMSkKKysrIExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RhYmluZGV4
LWZvY3VzLWJsdXItYWxsLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwyICsxLDIg
QEAKLTMzMyBmb2N1cyAvIDMzMyBibHVyIGV2ZW50cyBkaXNwYXRjaGVkLCBhbmQgc2hvdWxkIGJl
IDMzMyAvIDMzMyBQQVNTRUQKKzMzNiBmb2N1cyAvIDMzNiBibHVyIGV2ZW50cyBkaXNwYXRjaGVk
LCBhbmQgc2hvdWxkIGJlIDMzNiAvIDMzNiBQQVNTRUQKIFRvdGFsIG9mIDAgZm9jdXMgdGVzdChz
KSBmYWlsZWQuIFBBU1NFRApJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcmVzb3VyY2Vz
L3RhYmluZGV4LWZvY3VzLWJsdXItYWxsLWZyYW1lMS5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2Zhc3QvZXZlbnRzL3Jlc291cmNlcy90YWJpbmRleC1mb2N1cy1ibHVyLWFsbC1mcmFt
ZTEuaHRtbAkocmV2aXNpb24gMjEwMTIxKQorKysgTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcmVz
b3VyY2VzL3RhYmluZGV4LWZvY3VzLWJsdXItYWxsLWZyYW1lMS5odG1sCSh3b3JraW5nIGNvcHkp
CkBAIC0xNTQsNiArMTU0LDcgQEAgdGFibGUgZm9vdGVyCiA8aW5wdXQgdHlwZT0iY2hlY2tib3gi
IGlkPSJjaGVja2JveDEiPjxicj4KIDxpbnB1dCB0eXBlPSJyYWRpbyIgaWQ9InJhZGlvQ2hvaWNl
MWEiIG5hbWU9InJhZGlvMSIgdGFiaW5kZXg9IjAiPjxicj4KIDxsYWJlbCBpZD0ibGFiZWwxIiB0
YWJpbmRleD0iLTEiPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0icmFkaW8xIj5sYWJlbCBmb3Ig
cmFkaW9DaG9pY2UgQjwvbGFiZWw+PGJyPgorPGxhYmVsIGlkPSJsYWJlbDIiPjxpbnB1dCB0eXBl
PSJyYWRpbyIgbmFtZT0icmFkaW8xIj5sYWJlbCBmb3IgcmFkaW9DaG9pY2UgQzwvbGFiZWw+PGJy
PgogPGlucHV0IHR5cGU9ImZpbGUiIGlkPSJmaWxlMSIgdGFiaW5kZXg9IjIiPjxicj4KIGlucHV0
IHR5cGU9ImhpZGRlbiI8aW5wdXQgdHlwZT0iaGlkZGVuIiBpZD0iaGlkZGVuMSIgdGFiaW5kZXg9
Ii0xIj48YnI+CiBpbnB1dCB0eXBlPSJpbWFnZSI8aW5wdXQgdHlwZT0iaW1hZ2UiIGlkPSJpbnB1
dEltYWdlMSIgc3JjPSJhYmUucG5nIiB0YWJpbmRleD0iMyI+PGJyPgpJbmRleDogTGF5b3V0VGVz
dHMvZmFzdC9ldmVudHMvcmVzb3VyY2VzL3RhYmluZGV4LWZvY3VzLWJsdXItYWxsLWZyYW1lMi5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3Jlc291cmNlcy90YWJp
bmRleC1mb2N1cy1ibHVyLWFsbC1mcmFtZTIuaHRtbAkocmV2aXNpb24gMjEwMTIxKQorKysgTGF5
b3V0VGVzdHMvZmFzdC9ldmVudHMvcmVzb3VyY2VzL3RhYmluZGV4LWZvY3VzLWJsdXItYWxsLWZy
YW1lMi5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xNTQsNiArMTU0LDcgQEAgdGFibGUgZm9vdGVy
CiA8aW5wdXQgdHlwZT0iY2hlY2tib3giIGlkPSJjaGVja2JveDMiIHRhYmluZGV4PSIwIj48YnI+
CiA8aW5wdXQgdHlwZT0icmFkaW8iIGlkPSJyYWRpb0Nob2ljZTNhIiBuYW1lPSJyYWRpbzMiPjxi
cj4KIDxsYWJlbCBpZD0ibGFiZWwzIiB0YWJpbmRleD0iMiI+PGlucHV0IHR5cGU9InJhZGlvIiBu
YW1lPSJyYWRpbzMiIHRhYmluZGV4PSIwIj5sYWJlbCBmb3IgcmFkaW8gYnV0dG9uPC9sYWJlbD48
YnI+Cis8bGFiZWwgaWQ9ImxhYmVsNCI+PGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSJyYWRpbzMi
IHRhYmluZGV4PSIwIj5hbm90aGVyIGxhYmVsIGZvciByYWRpbyBidXR0b248L2xhYmVsPjxicj4K
IDxpbnB1dCB0eXBlPSJmaWxlIiBpZD0iZmlsZTMiIHRhYmluZGV4PSItMSI+PGJyPgogaW5wdXQg
dHlwZT0iaGlkZGVuIjxpbnB1dCB0eXBlPSJoaWRkZW4iIGlkPSJoaWRkZW4zIiB0YWJpbmRleD0i
MyI+PGJyPgogaW5wdXQgdHlwZT0iaW1hZ2UiPGlucHV0IHR5cGU9ImltYWdlIiBpZD0iaW5wdXRJ
bWFnZTMiIHNyYz0iYWJlLnBuZyIgdGFiaW5kZXg9Ii0xIj48YnI+CkluZGV4OiBMYXlvdXRUZXN0
cy9mYXN0L2V2ZW50cy9yZXNvdXJjZXMvdGFiaW5kZXgtZm9jdXMtYmx1ci1hbGwuanMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcmVzb3VyY2VzL3RhYmluZGV4LWZvY3Vz
LWJsdXItYWxsLmpzCShyZXZpc2lvbiAyMTAxMjEpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50
cy9yZXNvdXJjZXMvdGFiaW5kZXgtZm9jdXMtYmx1ci1hbGwuanMJKHdvcmtpbmcgY29weSkKQEAg
LTU1LDcgKzU1LDcgQEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgdmFyIGhvbWVCYXNlID0gd2luZG93
LmZyYW1lc1sxXS5kb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdob21lYmFzZScpOwog
ICAgIGhvbWVCYXNlWzBdLmZvY3VzKCk7CiAKLSAgICB2YXIgcmVzdWx0U3VtbWFyeSA9IGZvY3Vz
Q291bnQrIiBmb2N1cyAvICIrYmx1ckNvdW50KyIgYmx1ciBldmVudHMgZGlzcGF0Y2hlZCwgYW5k
IHNob3VsZCBiZSAzMzMgLyAzMzMgIjsKKyAgICB2YXIgcmVzdWx0U3VtbWFyeSA9IGZvY3VzQ291
bnQrIiBmb2N1cyAvICIrYmx1ckNvdW50KyIgYmx1ciBldmVudHMgZGlzcGF0Y2hlZCwgYW5kIHNo
b3VsZCBiZSAzMzYgLyAzMzYgIjsKICAgICByZXN1bHRTdW1tYXJ5ICs9IChmb2N1c0NvdW50PT1i
bHVyQ291bnQpID8gIjxzcGFuIHN0eWxlPSdjb2xvcjpncmVlbic+UEFTU0VEPC9zcGFuPjxicj4i
IDogIjxzcGFuIHN0eWxlPSdjb2xvcjpyZWQnPkZBSUxFRDwvc3Bhbj48YnI+IjsKICAgICByZXN1
bHRTdW1tYXJ5ICs9ICJUb3RhbCBvZiAiK2ZhaWxlZFRlc3RDb3VudCsiIGZvY3VzIHRlc3Qocykg
ZmFpbGVkLiI7CiAgICAgaWYgKGZhaWxlZFRlc3RDb3VudCkKQEAgLTEwMSw3ICsxMDEsNyBAQCBB
cnJheS5wcm90b3R5cGUuZmluZCA9IGZ1bmN0aW9uKGVsZW1lbnQpCiBmdW5jdGlvbiB0ZXN0UHJv
Z3JhbW1hdGljRm9jdXMoZWxlbSkKIHsKICAgICB2YXIgZWxlbVRoYXRTaG91bGRGb2N1cyA9IG51
bGw7Ci0gICAgdmFyIE9LdG9Gb2N1c090aGVyRWxlbWVudCA9IGZhbHNlOworICAgIHZhciBzaG91
bGRGb2N1c090aGVyRWxlbWVudCA9IGZhbHNlOwogICAgIGZvY3VzZWRFbGVtID0gbnVsbDsKIAog
ICAgIGlmIChlbGVtLnRhYkluZGV4ID09IGVsZW0uZ2V0QXR0cmlidXRlKCJ0YWJpbmRleCIpKSAv
LyB0aGlzIG1lYW5zIHRhYmluZGV4IHdhcyBleHBsaWNpdGx5IHNldApAQCAtMTE3LDEzICsxMTcs
MTEgQEAgZnVuY3Rpb24gdGVzdFByb2dyYW1tYXRpY0ZvY3VzKGVsZW0pCiAgICAgaWYgKGVsZW0u
dGFiSW5kZXggPT0gLTEgJiYgZWxlbS50YWdOYW1lID09ICJBUkVBIikKICAgICAgICAgZWxlbVRo
YXRTaG91bGRGb2N1cyA9IG51bGw7CiAKLSAgICBpZiAodGFnTmFtZXNUcmFuc2ZlckZvY3VzZWQu
ZmluZChlbGVtLnRhZ05hbWUpKSB7Ci0gICAgICAgIGVsZW1UaGF0U2hvdWxkRm9jdXMgPSBudWxs
OwotICAgICAgICBPS3RvRm9jdXNPdGhlckVsZW1lbnQgPSB0cnVlOwotICAgIH0KKyAgICBpZiAo
dGFnTmFtZXNUcmFuc2ZlckZvY3VzZWQuZmluZChlbGVtLnRhZ05hbWUpICYmIGVsZW1UaGF0U2hv
dWxkRm9jdXMgPT0gbnVsbCkKKyAgICAgICAgc2hvdWxkRm9jdXNPdGhlckVsZW1lbnQgPSB0cnVl
OwogCiAgICAgZWxlbS5mb2N1cygpOwotICAgIGlmIChlbGVtVGhhdFNob3VsZEZvY3VzID09IGZv
Y3VzZWRFbGVtIHx8ICghZWxlbVRoYXRTaG91bGRGb2N1cyAmJiBPS3RvRm9jdXNPdGhlckVsZW1l
bnQpKQorICAgIGlmICgoIXNob3VsZEZvY3VzT3RoZXJFbGVtZW50ICYmIGVsZW1UaGF0U2hvdWxk
Rm9jdXMgPT0gZm9jdXNlZEVsZW0pIHx8IChzaG91bGRGb2N1c090aGVyRWxlbWVudCAmJiBlbGVt
ICE9IGZvY3VzZWRFbGVtKSkKICAgICAgICAgcHJpbnRUb0NvbnNvbGUoIjwiK2VsZW0udGFnTmFt
ZSsiPiAiK2VsZW0uaWQrIiBQQVNTRUQgZm9jdXMgdGVzdCIpOwogICAgIGVsc2UgewogICAgICAg
ICBmYWlsZWRUZXN0Q291bnQrKzsKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW11
bGF0b3Itd2syL1Rlc3RFeHBlY3RhdGlvbnMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxh
dGZvcm0vaW9zLXNpbXVsYXRvci13azIvVGVzdEV4cGVjdGF0aW9ucwkocmV2aXNpb24gMjEwMTIx
KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbXVsYXRvci13azIvVGVzdEV4cGVjdGF0
aW9ucwkod29ya2luZyBjb3B5KQpAQCAtMTc4Niw2ICsxNzg2LDcgQEAgZmFzdC9zaGFkb3ctZG9t
L2Z1bGxzY3JlZW4taW4tc2hhZG93LWZ1bAogZmFzdC9zaGFkb3ctZG9tL2Z1bGxzY3JlZW4taW4t
c2hhZG93LXdlYmtpdEN1cnJlbnRGdWxsU2NyZWVuRWxlbWVudC5odG1sIFsgU2tpcCBdCiBmYXN0
L3NoYWRvdy1kb20vZnVsbHNjcmVlbi1pbi1zbG90LWZ1bGxzY3JlZW5FbGVtZW50Lmh0bWwgWyBT
a2lwIF0KIGZhc3Qvc2hhZG93LWRvbS9mdWxsc2NyZWVuLWluLXNsb3Qtd2Via2l0Q3VycmVudEZ1
bGxTY3JlZW5FbGVtZW50Lmh0bWwgWyBTa2lwIF0KK2Zhc3QvZXZlbnRzL2ZvY3VzLWxhYmVsLWxl
Z2VuZC1lbGVtZW50cy13aXRoLXRhYi5odG1sIFsgU2tpcCBdCiAKICMgTm8gdG91Y2ggZXZlbnRz
CiBmYXN0L3Zpc3VhbC12aWV3cG9ydC9pb3MvZml4ZWQtZWxlbWVudC1vbi1ib3R0b20td2l0aC1r
ZXlib2FyZC5odG1sIFsgU2tpcCBdCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>297705</attachid>
            <date>2016-12-22 22:16:29 -0800</date>
            <delta_ts>2017-01-03 18:28:10 -0800</delta_ts>
            <desc>Fixed the test path</desc>
            <filename>bug-102780-20161222221524.patch</filename>
            <type>text/plain</type>
            <size>11137</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxMDEzMCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM0IEBACisyMDE2LTEyLTIyICBSeW9zdWtl
IE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIGxhYmVsIGVsZW1lbnQgd2l0aCB0
YWJpbmRleCA+PSAwIGlzIG5vdCBmb2N1c2FibGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjc4MAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjk3
OTY2MDg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
Rml4ZWQgdGhlIGJ1ZyBieSByZW1vdmluZyB0aGUgb3ZlcnJpZGUgZm9yIEhUTUxMYWJlbEVsZW1l
bnQ6OmlzRm9jdXNhYmxlIHdoaWNoIGFsd2F5cyByZXR1cm5lZCBmYWxzZS4KKworICAgICAgICBU
aGlzIGlzIGEgYmVoYXZpb3IgZnJvbSByNTUzMiBidXQgaXQgZG9lc24ndCBtYXRjaCB0aGUgbGF0
ZXN0IEhUTUwgc3BlY2lmaWNhdGlvbiBvciB0aGF0IG9mIENocm9tZQorICAgICAgICBhbmQgRmly
ZWZveC4KKworICAgICAgICBBbHNvIGZpeGVkIGFuIGV4aXN0aW5nIGJ1ZyBpbiBIVE1MTGFiZWxF
bGVtZW50Ojpmb2N1cyBhbmQgSFRNTExlZ2VuZEVsZW1lbnQ6OmZvY3VzIHdoaWNoIGZvY3VzZWQK
KyAgICAgICAgdGhlIGFzc29jaWF0ZWQgZm9ybSBjb250cm9sIHdoZW4gdGhlcmUgaXMgb25lIGV2
ZW4gaWYgdGhlIGVsZW1lbnQgaXRzZWxmIGlzIGZvY3VzYWJsZS4gV2l0aG91dCB0aGlzIGZpeCwK
KyAgICAgICAgdHJhdmVyc2luZyBmcm9tIGNvbnRyb2wgd2l0aCBzaGlmdCt0YWIgd291bGQgYnJl
YWsgc2luY2UgZm9jdXNpbmcgdGhlIGxhYmVsIHdvdWxkIG1vdmUgdGhlIGZvY3VzIGJhY2sKKyAg
ICAgICAgdG8gdGhlIGlucHV0IGVsZW1lbnQgaW5zaWRlIHRoZSBsYWJlbCBlbGVtZW50LgorCisg
ICAgICAgIEZpbmFsbHksIGZpeGVkIGEgYnVnIGluIEhUTUxMZWdlbmRFbGVtZW50Ojpmb2N1cyB0
aGF0IHdlIGNhbiBjYWxsIGluRm9jdXMgd2l0aG91dCB1cGRhdGluZyBsYXlvdXQgZmlyc3QuCisK
KyAgICAgICAgVGhlIGZpeCB3YXMgaW5zcGlyZWQgYnkgaHR0cHM6Ly9jaHJvbWl1bS5nb29nbGVz
b3VyY2UuY29tL2Nocm9taXVtL3NyYy8rLzA4NWFkODY5N2IxYmU1MGM0ZjkzZTI5Njc5N2EyNWE0
M2E3OWJjZmIKKworICAgICAgICBUZXN0OiBmYXN0L2V2ZW50cy9mb2N1cy1sYWJlbC1sZWdlbmQt
ZWxlbWVudHMtd2l0aC10YWJpbmRleC5odG1sCisKKyAgICAgICAgKiBodG1sL0hUTUxMYWJlbEVs
ZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTExhYmVsRWxlbWVudDo6Zm9jdXMpOgor
ICAgICAgICAoV2ViQ29yZTo6SFRNTExhYmVsRWxlbWVudDo6aXNGb2N1c2FibGUpOiBEZWxldGVk
LgorICAgICAgICAqIGh0bWwvSFRNTExhYmVsRWxlbWVudC5oOgorICAgICAgICAqIGh0bWwvSFRN
TExlZ2VuZEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTExlZ2VuZEVsZW1lbnQ6
OmZvY3VzKToKKwogMjAxNi0xMi0yMiAgQW5keSBFc3RlcyAgPGFlc3Rlc0BhcHBsZS5jb20+CiAK
ICAgICAgICAgUmVkdWNlIFF1aWNrTG9vay5oIGluY2x1ZGUgb3ZlcmhlYWQKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTExhYmVsRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MTGFiZWxFbGVtZW50LmNwcAkocmV2aXNpb24gMjEwMTIxKQorKysg
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGFiZWxFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNTgsMTEgKzU4LDYgQEAgUmVmPEhUTUxMYWJlbEVsZW1lbnQ+IEhUTUxMYWJlbEVsZW1lbnQ6
OgogICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEhUTUxMYWJlbEVsZW1lbnQodGFnTmFtZSwgZG9j
dW1lbnQpKTsKIH0KIAotYm9vbCBIVE1MTGFiZWxFbGVtZW50Ojppc0ZvY3VzYWJsZSgpIGNvbnN0
Ci17Ci0gICAgcmV0dXJuIGZhbHNlOwotfQotCiBMYWJlbGFibGVFbGVtZW50KiBIVE1MTGFiZWxF
bGVtZW50Ojpjb250cm9sKCkKIHsKICAgICBjb25zdCBBdG9taWNTdHJpbmcmIGNvbnRyb2xJZCA9
IGF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oZm9yQXR0cik7CkBAIC0xNTIsNyArMTQ3
LDE1IEBAIGJvb2wgSFRNTExhYmVsRWxlbWVudDo6d2lsbFJlc3BvbmRUb01vdXMKIAogdm9pZCBI
VE1MTGFiZWxFbGVtZW50Ojpmb2N1cyhib29sLCBGb2N1c0RpcmVjdGlvbiBkaXJlY3Rpb24pCiB7
Ci0gICAgLy8gdG8gbWF0Y2ggb3RoZXIgYnJvd3NlcnMsIGFsd2F5cyByZXN0b3JlIHByZXZpb3Vz
IHNlbGVjdGlvbgorICAgIC8vIFRvIG1hdGNoIG90aGVyIGJyb3dzZXJzLCBhbHdheXMgcmVzdG9y
ZSBwcmV2aW91cyBzZWxlY3Rpb24KKyAgICBpZiAoZG9jdW1lbnQoKS5oYXZlU3R5bGVzaGVldHNM
b2FkZWQoKSkgeworICAgICAgICBkb2N1bWVudCgpLnVwZGF0ZUxheW91dElnbm9yZVBlbmRpbmdT
dHlsZXNoZWV0cygpOworICAgICAgICBpZiAoaXNGb2N1c2FibGUoKSkgeworICAgICAgICAgICAg
RWxlbWVudDo6Zm9jdXModHJ1ZSwgZGlyZWN0aW9uKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAg
ICAgICAgfQorICAgIH0KKwogICAgIGlmIChhdXRvKiBlbGVtZW50ID0gY29udHJvbCgpKQogICAg
ICAgICBlbGVtZW50LT5mb2N1cyh0cnVlLCBkaXJlY3Rpb24pOwogfQpJbmRleDogU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MTGFiZWxFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MTGFiZWxFbGVtZW50LmgJKHJldmlzaW9uIDIxMDEyMSkKKysrIFNvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTExhYmVsRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zOSw4ICsz
OSw2IEBAIHB1YmxpYzoKIHByaXZhdGU6CiAgICAgSFRNTExhYmVsRWxlbWVudChjb25zdCBRdWFs
aWZpZWROYW1lJiwgRG9jdW1lbnQmKTsKIAotICAgIGJvb2wgaXNGb2N1c2FibGUoKSBjb25zdCBm
aW5hbDsKLQogICAgIHZvaWQgYWNjZXNzS2V5QWN0aW9uKGJvb2wgc2VuZE1vdXNlRXZlbnRzKSBm
aW5hbDsKIAogICAgIC8vIE92ZXJyaWRkZW4gdG8gdXBkYXRlIHRoZSBob3Zlci9hY3RpdmUgc3Rh
dGUgb2YgdGhlIGNvcnJlc3BvbmRpbmcgY29udHJvbC4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTExlZ2VuZEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTExlZ2VuZEVsZW1lbnQuY3BwCShyZXZpc2lvbiAyMTAxMjEpCisrKyBTb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxMZWdlbmRFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTksMTAg
KzU5LDE0IEBAIEhUTUxGb3JtQ29udHJvbEVsZW1lbnQqIEhUTUxMZWdlbmRFbGVtZW4KIAogdm9p
ZCBIVE1MTGVnZW5kRWxlbWVudDo6Zm9jdXMoYm9vbCwgRm9jdXNEaXJlY3Rpb24gZGlyZWN0aW9u
KQogewotICAgIGlmIChpc0ZvY3VzYWJsZSgpKQotICAgICAgICBFbGVtZW50Ojpmb2N1cyh0cnVl
LCBkaXJlY3Rpb24pOwotICAgICAgICAKICAgICAvLyBUbyBtYXRjaCBvdGhlciBicm93c2Vycycg
YmVoYXZpb3IsIG5ldmVyIHJlc3RvcmUgcHJldmlvdXMgc2VsZWN0aW9uLgorICAgIGlmIChkb2N1
bWVudCgpLmhhdmVTdHlsZXNoZWV0c0xvYWRlZCgpKSB7CisgICAgICAgIGRvY3VtZW50KCkudXBk
YXRlTGF5b3V0SWdub3JlUGVuZGluZ1N0eWxlc2hlZXRzKCk7CisgICAgICAgIGlmIChpc0ZvY3Vz
YWJsZSgpKSB7CisgICAgICAgICAgICBFbGVtZW50Ojpmb2N1cyh0cnVlLCBkaXJlY3Rpb24pOwor
ICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgfQogICAgIGlmIChIVE1MRm9ybUNv
bnRyb2xFbGVtZW50KiBjb250cm9sID0gYXNzb2NpYXRlZENvbnRyb2woKSkKICAgICAgICAgY29u
dHJvbC0+Zm9jdXMoZmFsc2UsIGRpcmVjdGlvbik7CiB9CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMTAx
MjEpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwz
MSBAQAorMjAxNi0xMi0yMiAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KKworICAg
ICAgICBsYWJlbCBlbGVtZW50IHdpdGggdGFiaW5kZXggPj0gMCBpcyBub3QgZm9jdXNhYmxlCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDI3ODAKKyAg
ICAgICAgPHJkYXI6Ly9wcm9ibGVtLzI5Nzk2NjA4PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIGEgcmVncmVzc2lvbiB0ZXN0IGZvciB0cmF2
ZXJzaW5nIGxhYmVsIGFuZCBsZWdlbmQgZWxlbWVudHMgYnkgdGFiYmluZy4KKyAgICAgICAgQSBu
YXRpdmUgbWVyZ2Ugb2YgdGhlIGJsaW5rIGZpeCB3b3VsZCBoYXZlIHJlZ3Jlc3NlZCB0aGlzIGZv
ciB0aGUgbGFiZWwgZWxlbWVudAorICAgICAgICB3aGlsZSB0aGUgYnVnIGluIHRoZSBsZWdlbmQg
ZWxlbWVudCBoYWQgYWx3YXlzIGV4aXN0ZWQuCisKKyAgICAgICAgQWxzbyBhZGRlZCBhIHJlZ3Jl
c3Npb24gdGVzdCBmb3IgZm9jdXNpbmcgbGFiZWwgYW5kIGxlZ2VuZCBlbGVtZW50cyB3aXRoIHRh
YmluZGV4LgorICAgICAgICBXZSBzaG91bGQgYmUgYWJsZSB0byBmb2N1cyBlaXRoZXIgZWxlbWVu
dC4gTmV3IGJlaGF2aW9yIG1hdGNoZXMgdGhhdCBvZiBDaHJvbWUuCisgICAgICAgIEZpcmVmb3gg
bW92ZXMgdGhlIGZvY3VzIHRvIHRoZSBsYWJlbCBlbGVtZW50IGxpa2Ugd2UgdXNlZCB0byBiZWZv
cmUgdGhpcyBwYXRjaC4KKworICAgICAgICBBbHNvIG1lcmdlIHRoZSB0ZXN0IGZpeCBmcm9tIGh0
dHBzOi8vY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9zcmMvKy8wODVhZDg2OTdi
MWJlNTBjNGY5M2UyOTY3OTdhMjVhNDNhNzliY2ZiCisKKyAgICAgICAgKiBmYXN0L2V2ZW50cy9m
b2N1cy1sYWJlbC1sZWdlbmQtZWxlbWVudHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L2V2ZW50cy9mb2N1cy1sYWJlbC1sZWdlbmQtZWxlbWVudHMtd2l0aC10YWItZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy9mb2N1cy1sYWJlbC1sZWdlbmQt
ZWxlbWVudHMtd2l0aC10YWIuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9ldmVudHMvZm9j
dXMtbGFiZWwtbGVnZW5kLWVsZW1lbnRzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZXZl
bnRzL3Jlc291cmNlcy90YWJpbmRleC1mb2N1cy1ibHVyLWFsbC1mcmFtZTEuaHRtbDoKKyAgICAg
ICAgKiBmYXN0L2V2ZW50cy9yZXNvdXJjZXMvdGFiaW5kZXgtZm9jdXMtYmx1ci1hbGwtZnJhbWUy
Lmh0bWw6CisgICAgICAgICogZmFzdC9ldmVudHMvcmVzb3VyY2VzL3RhYmluZGV4LWZvY3VzLWJs
dXItYWxsLmpzOgorICAgICAgICAqIGZhc3QvZXZlbnRzL3RhYmluZGV4LWZvY3VzLWJsdXItYWxs
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mtc2ltdWxhdG9yLXdrMi9UZXN0
RXhwZWN0YXRpb25zOgorCiAyMDE2LTEyLTIyICBaYWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5j
b20+CiAKICAgICAgICAgRG8gbm90IGRlc3Ryb3kgdGhlIFJlbmRlck5hbWVkRmxvd0ZyYWdtZW50
IGFzIGxlZnRvdmVyIGFub255bW91cyBibG9jay4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZXZl
bnRzL3RhYmluZGV4LWZvY3VzLWJsdXItYWxsLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90YWJpbmRleC1mb2N1cy1ibHVyLWFsbC1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDIxMDEyMSkKKysrIExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RhYmluZGV4
LWZvY3VzLWJsdXItYWxsLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwyICsxLDIg
QEAKLTMzMyBmb2N1cyAvIDMzMyBibHVyIGV2ZW50cyBkaXNwYXRjaGVkLCBhbmQgc2hvdWxkIGJl
IDMzMyAvIDMzMyBQQVNTRUQKKzMzNiBmb2N1cyAvIDMzNiBibHVyIGV2ZW50cyBkaXNwYXRjaGVk
LCBhbmQgc2hvdWxkIGJlIDMzNiAvIDMzNiBQQVNTRUQKIFRvdGFsIG9mIDAgZm9jdXMgdGVzdChz
KSBmYWlsZWQuIFBBU1NFRApJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcmVzb3VyY2Vz
L3RhYmluZGV4LWZvY3VzLWJsdXItYWxsLWZyYW1lMS5odG1sCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2Zhc3QvZXZlbnRzL3Jlc291cmNlcy90YWJpbmRleC1mb2N1cy1ibHVyLWFsbC1mcmFt
ZTEuaHRtbAkocmV2aXNpb24gMjEwMTIxKQorKysgTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcmVz
b3VyY2VzL3RhYmluZGV4LWZvY3VzLWJsdXItYWxsLWZyYW1lMS5odG1sCSh3b3JraW5nIGNvcHkp
CkBAIC0xNTQsNiArMTU0LDcgQEAgdGFibGUgZm9vdGVyCiA8aW5wdXQgdHlwZT0iY2hlY2tib3gi
IGlkPSJjaGVja2JveDEiPjxicj4KIDxpbnB1dCB0eXBlPSJyYWRpbyIgaWQ9InJhZGlvQ2hvaWNl
MWEiIG5hbWU9InJhZGlvMSIgdGFiaW5kZXg9IjAiPjxicj4KIDxsYWJlbCBpZD0ibGFiZWwxIiB0
YWJpbmRleD0iLTEiPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0icmFkaW8xIj5sYWJlbCBmb3Ig
cmFkaW9DaG9pY2UgQjwvbGFiZWw+PGJyPgorPGxhYmVsIGlkPSJsYWJlbDIiPjxpbnB1dCB0eXBl
PSJyYWRpbyIgbmFtZT0icmFkaW8xIj5sYWJlbCBmb3IgcmFkaW9DaG9pY2UgQzwvbGFiZWw+PGJy
PgogPGlucHV0IHR5cGU9ImZpbGUiIGlkPSJmaWxlMSIgdGFiaW5kZXg9IjIiPjxicj4KIGlucHV0
IHR5cGU9ImhpZGRlbiI8aW5wdXQgdHlwZT0iaGlkZGVuIiBpZD0iaGlkZGVuMSIgdGFiaW5kZXg9
Ii0xIj48YnI+CiBpbnB1dCB0eXBlPSJpbWFnZSI8aW5wdXQgdHlwZT0iaW1hZ2UiIGlkPSJpbnB1
dEltYWdlMSIgc3JjPSJhYmUucG5nIiB0YWJpbmRleD0iMyI+PGJyPgpJbmRleDogTGF5b3V0VGVz
dHMvZmFzdC9ldmVudHMvcmVzb3VyY2VzL3RhYmluZGV4LWZvY3VzLWJsdXItYWxsLWZyYW1lMi5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3Jlc291cmNlcy90YWJp
bmRleC1mb2N1cy1ibHVyLWFsbC1mcmFtZTIuaHRtbAkocmV2aXNpb24gMjEwMTIxKQorKysgTGF5
b3V0VGVzdHMvZmFzdC9ldmVudHMvcmVzb3VyY2VzL3RhYmluZGV4LWZvY3VzLWJsdXItYWxsLWZy
YW1lMi5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xNTQsNiArMTU0LDcgQEAgdGFibGUgZm9vdGVy
CiA8aW5wdXQgdHlwZT0iY2hlY2tib3giIGlkPSJjaGVja2JveDMiIHRhYmluZGV4PSIwIj48YnI+
CiA8aW5wdXQgdHlwZT0icmFkaW8iIGlkPSJyYWRpb0Nob2ljZTNhIiBuYW1lPSJyYWRpbzMiPjxi
cj4KIDxsYWJlbCBpZD0ibGFiZWwzIiB0YWJpbmRleD0iMiI+PGlucHV0IHR5cGU9InJhZGlvIiBu
YW1lPSJyYWRpbzMiIHRhYmluZGV4PSIwIj5sYWJlbCBmb3IgcmFkaW8gYnV0dG9uPC9sYWJlbD48
YnI+Cis8bGFiZWwgaWQ9ImxhYmVsNCI+PGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSJyYWRpbzMi
IHRhYmluZGV4PSIwIj5hbm90aGVyIGxhYmVsIGZvciByYWRpbyBidXR0b248L2xhYmVsPjxicj4K
IDxpbnB1dCB0eXBlPSJmaWxlIiBpZD0iZmlsZTMiIHRhYmluZGV4PSItMSI+PGJyPgogaW5wdXQg
dHlwZT0iaGlkZGVuIjxpbnB1dCB0eXBlPSJoaWRkZW4iIGlkPSJoaWRkZW4zIiB0YWJpbmRleD0i
MyI+PGJyPgogaW5wdXQgdHlwZT0iaW1hZ2UiPGlucHV0IHR5cGU9ImltYWdlIiBpZD0iaW5wdXRJ
bWFnZTMiIHNyYz0iYWJlLnBuZyIgdGFiaW5kZXg9Ii0xIj48YnI+CkluZGV4OiBMYXlvdXRUZXN0
cy9mYXN0L2V2ZW50cy9yZXNvdXJjZXMvdGFiaW5kZXgtZm9jdXMtYmx1ci1hbGwuanMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcmVzb3VyY2VzL3RhYmluZGV4LWZvY3Vz
LWJsdXItYWxsLmpzCShyZXZpc2lvbiAyMTAxMjEpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50
cy9yZXNvdXJjZXMvdGFiaW5kZXgtZm9jdXMtYmx1ci1hbGwuanMJKHdvcmtpbmcgY29weSkKQEAg
LTU1LDcgKzU1LDcgQEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgdmFyIGhvbWVCYXNlID0gd2luZG93
LmZyYW1lc1sxXS5kb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdob21lYmFzZScpOwog
ICAgIGhvbWVCYXNlWzBdLmZvY3VzKCk7CiAKLSAgICB2YXIgcmVzdWx0U3VtbWFyeSA9IGZvY3Vz
Q291bnQrIiBmb2N1cyAvICIrYmx1ckNvdW50KyIgYmx1ciBldmVudHMgZGlzcGF0Y2hlZCwgYW5k
IHNob3VsZCBiZSAzMzMgLyAzMzMgIjsKKyAgICB2YXIgcmVzdWx0U3VtbWFyeSA9IGZvY3VzQ291
bnQrIiBmb2N1cyAvICIrYmx1ckNvdW50KyIgYmx1ciBldmVudHMgZGlzcGF0Y2hlZCwgYW5kIHNo
b3VsZCBiZSAzMzYgLyAzMzYgIjsKICAgICByZXN1bHRTdW1tYXJ5ICs9IChmb2N1c0NvdW50PT1i
bHVyQ291bnQpID8gIjxzcGFuIHN0eWxlPSdjb2xvcjpncmVlbic+UEFTU0VEPC9zcGFuPjxicj4i
IDogIjxzcGFuIHN0eWxlPSdjb2xvcjpyZWQnPkZBSUxFRDwvc3Bhbj48YnI+IjsKICAgICByZXN1
bHRTdW1tYXJ5ICs9ICJUb3RhbCBvZiAiK2ZhaWxlZFRlc3RDb3VudCsiIGZvY3VzIHRlc3Qocykg
ZmFpbGVkLiI7CiAgICAgaWYgKGZhaWxlZFRlc3RDb3VudCkKQEAgLTEwMSw3ICsxMDEsNyBAQCBB
cnJheS5wcm90b3R5cGUuZmluZCA9IGZ1bmN0aW9uKGVsZW1lbnQpCiBmdW5jdGlvbiB0ZXN0UHJv
Z3JhbW1hdGljRm9jdXMoZWxlbSkKIHsKICAgICB2YXIgZWxlbVRoYXRTaG91bGRGb2N1cyA9IG51
bGw7Ci0gICAgdmFyIE9LdG9Gb2N1c090aGVyRWxlbWVudCA9IGZhbHNlOworICAgIHZhciBzaG91
bGRGb2N1c090aGVyRWxlbWVudCA9IGZhbHNlOwogICAgIGZvY3VzZWRFbGVtID0gbnVsbDsKIAog
ICAgIGlmIChlbGVtLnRhYkluZGV4ID09IGVsZW0uZ2V0QXR0cmlidXRlKCJ0YWJpbmRleCIpKSAv
LyB0aGlzIG1lYW5zIHRhYmluZGV4IHdhcyBleHBsaWNpdGx5IHNldApAQCAtMTE3LDEzICsxMTcs
MTEgQEAgZnVuY3Rpb24gdGVzdFByb2dyYW1tYXRpY0ZvY3VzKGVsZW0pCiAgICAgaWYgKGVsZW0u
dGFiSW5kZXggPT0gLTEgJiYgZWxlbS50YWdOYW1lID09ICJBUkVBIikKICAgICAgICAgZWxlbVRo
YXRTaG91bGRGb2N1cyA9IG51bGw7CiAKLSAgICBpZiAodGFnTmFtZXNUcmFuc2ZlckZvY3VzZWQu
ZmluZChlbGVtLnRhZ05hbWUpKSB7Ci0gICAgICAgIGVsZW1UaGF0U2hvdWxkRm9jdXMgPSBudWxs
OwotICAgICAgICBPS3RvRm9jdXNPdGhlckVsZW1lbnQgPSB0cnVlOwotICAgIH0KKyAgICBpZiAo
dGFnTmFtZXNUcmFuc2ZlckZvY3VzZWQuZmluZChlbGVtLnRhZ05hbWUpICYmIGVsZW1UaGF0U2hv
dWxkRm9jdXMgPT0gbnVsbCkKKyAgICAgICAgc2hvdWxkRm9jdXNPdGhlckVsZW1lbnQgPSB0cnVl
OwogCiAgICAgZWxlbS5mb2N1cygpOwotICAgIGlmIChlbGVtVGhhdFNob3VsZEZvY3VzID09IGZv
Y3VzZWRFbGVtIHx8ICghZWxlbVRoYXRTaG91bGRGb2N1cyAmJiBPS3RvRm9jdXNPdGhlckVsZW1l
bnQpKQorICAgIGlmICgoIXNob3VsZEZvY3VzT3RoZXJFbGVtZW50ICYmIGVsZW1UaGF0U2hvdWxk
Rm9jdXMgPT0gZm9jdXNlZEVsZW0pIHx8IChzaG91bGRGb2N1c090aGVyRWxlbWVudCAmJiBlbGVt
ICE9IGZvY3VzZWRFbGVtKSkKICAgICAgICAgcHJpbnRUb0NvbnNvbGUoIjwiK2VsZW0udGFnTmFt
ZSsiPiAiK2VsZW0uaWQrIiBQQVNTRUQgZm9jdXMgdGVzdCIpOwogICAgIGVsc2UgewogICAgICAg
ICBmYWlsZWRUZXN0Q291bnQrKzsKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW11
bGF0b3Itd2syL1Rlc3RFeHBlY3RhdGlvbnMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxh
dGZvcm0vaW9zLXNpbXVsYXRvci13azIvVGVzdEV4cGVjdGF0aW9ucwkocmV2aXNpb24gMjEwMTIx
KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbXVsYXRvci13azIvVGVzdEV4cGVjdGF0
aW9ucwkod29ya2luZyBjb3B5KQpAQCAtMTc4Niw2ICsxNzg2LDcgQEAgZmFzdC9zaGFkb3ctZG9t
L2Z1bGxzY3JlZW4taW4tc2hhZG93LWZ1bAogZmFzdC9zaGFkb3ctZG9tL2Z1bGxzY3JlZW4taW4t
c2hhZG93LXdlYmtpdEN1cnJlbnRGdWxsU2NyZWVuRWxlbWVudC5odG1sIFsgU2tpcCBdCiBmYXN0
L3NoYWRvdy1kb20vZnVsbHNjcmVlbi1pbi1zbG90LWZ1bGxzY3JlZW5FbGVtZW50Lmh0bWwgWyBT
a2lwIF0KIGZhc3Qvc2hhZG93LWRvbS9mdWxsc2NyZWVuLWluLXNsb3Qtd2Via2l0Q3VycmVudEZ1
bGxTY3JlZW5FbGVtZW50Lmh0bWwgWyBTa2lwIF0KK2Zhc3QvZXZlbnRzL2ZvY3VzLWxhYmVsLWxl
Z2VuZC1lbGVtZW50cy13aXRoLXRhYi5odG1sIFsgU2tpcCBdCiAKICMgTm8gdG91Y2ggZXZlbnRz
CiBmYXN0L3Zpc3VhbC12aWV3cG9ydC9pb3MvZml4ZWQtZWxlbWVudC1vbi1ib3R0b20td2l0aC1r
ZXlib2FyZC5odG1sIFsgU2tpcCBdCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>297980</attachid>
            <date>2017-01-03 18:28:15 -0800</date>
            <delta_ts>2017-01-03 19:15:56 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-102780-20170103182650.patch</filename>
            <type>text/plain</type>
            <size>17641</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxMDI1NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM0IEBACisyMDE2LTEyLTIyICBSeW9zdWtl
IE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIGxhYmVsIGVsZW1lbnQgd2l0aCB0
YWJpbmRleCA+PSAwIGlzIG5vdCBmb2N1c2FibGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjc4MAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjk3
OTY2MDg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgRml4
ZWQgdGhlIGJ1ZyBieSByZW1vdmluZyB0aGUgb3ZlcnJpZGUgZm9yIEhUTUxMYWJlbEVsZW1lbnQ6
OmlzRm9jdXNhYmxlIHdoaWNoIGFsd2F5cyByZXR1cm5lZCBmYWxzZS4KKworICAgICAgICBUaGlz
IGlzIGEgYmVoYXZpb3IgZnJvbSByNTUzMiBidXQgaXQgZG9lc24ndCBtYXRjaCB0aGUgbGF0ZXN0
IEhUTUwgc3BlY2lmaWNhdGlvbiBvciB0aGF0IG9mIENocm9tZQorICAgICAgICBhbmQgRmlyZWZv
eC4KKworICAgICAgICBBbHNvIGZpeGVkIGFuIGV4aXN0aW5nIGJ1ZyBpbiBIVE1MTGFiZWxFbGVt
ZW50Ojpmb2N1cyBhbmQgSFRNTExlZ2VuZEVsZW1lbnQ6OmZvY3VzIHdoaWNoIGZvY3VzZWQKKyAg
ICAgICAgdGhlIGFzc29jaWF0ZWQgZm9ybSBjb250cm9sIHdoZW4gdGhlcmUgaXMgb25lIGV2ZW4g
aWYgdGhlIGVsZW1lbnQgaXRzZWxmIGlzIGZvY3VzYWJsZS4gV2l0aG91dCB0aGlzIGZpeCwKKyAg
ICAgICAgdHJhdmVyc2luZyBmcm9tIGNvbnRyb2wgd2l0aCBzaGlmdCt0YWIgd291bGQgYnJlYWsg
c2luY2UgZm9jdXNpbmcgdGhlIGxhYmVsIHdvdWxkIG1vdmUgdGhlIGZvY3VzIGJhY2sKKyAgICAg
ICAgdG8gdGhlIGlucHV0IGVsZW1lbnQgaW5zaWRlIHRoZSBsYWJlbCBlbGVtZW50LgorCisgICAg
ICAgIEZpbmFsbHksIGZpeGVkIGEgYnVnIGluIEhUTUxMZWdlbmRFbGVtZW50Ojpmb2N1cyB0aGF0
IHdlIGNhbiBjYWxsIGluRm9jdXMgd2l0aG91dCB1cGRhdGluZyBsYXlvdXQgZmlyc3QuCisKKyAg
ICAgICAgVGhlIGZpeCB3YXMgaW5zcGlyZWQgYnkgaHR0cHM6Ly9jaHJvbWl1bS5nb29nbGVzb3Vy
Y2UuY29tL2Nocm9taXVtL3NyYy8rLzA4NWFkODY5N2IxYmU1MGM0ZjkzZTI5Njc5N2EyNWE0M2E3
OWJjZmIKKworICAgICAgICBUZXN0OiBmYXN0L2V2ZW50cy9mb2N1cy1sYWJlbC1sZWdlbmQtZWxl
bWVudHMtd2l0aC10YWJpbmRleC5odG1sCisKKyAgICAgICAgKiBodG1sL0hUTUxMYWJlbEVsZW1l
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTExhYmVsRWxlbWVudDo6Zm9jdXMpOgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTExhYmVsRWxlbWVudDo6aXNGb2N1c2FibGUpOiBEZWxldGVkLgor
ICAgICAgICAqIGh0bWwvSFRNTExhYmVsRWxlbWVudC5oOgorICAgICAgICAqIGh0bWwvSFRNTExl
Z2VuZEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTExlZ2VuZEVsZW1lbnQ6OmZv
Y3VzKToKKwogMjAxNy0wMS0wMyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAg
ICAgICAgIE1ha2Ugc2V0dGluZyBFdmVudCdzIGNhbmNlbEJ1YmJsZSB0byBmYWxzZSBhIG5vLW9w
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMYWJlbEVsZW1lbnQuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExhYmVsRWxlbWVudC5jcHAJKHJldmlzaW9u
IDIxMDI1NCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExhYmVsRWxlbWVudC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTU4LDExICs1OCw2IEBAIFJlZjxIVE1MTGFiZWxFbGVtZW50PiBIVE1M
TGFiZWxFbGVtZW50OjoKICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBIVE1MTGFiZWxFbGVtZW50
KHRhZ05hbWUsIGRvY3VtZW50KSk7CiB9CiAKLWJvb2wgSFRNTExhYmVsRWxlbWVudDo6aXNGb2N1
c2FibGUoKSBjb25zdAotewotICAgIHJldHVybiBmYWxzZTsKLX0KLQogTGFiZWxhYmxlRWxlbWVu
dCogSFRNTExhYmVsRWxlbWVudDo6Y29udHJvbCgpCiB7CiAgICAgY29uc3QgQXRvbWljU3RyaW5n
JiBjb250cm9sSWQgPSBhdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKGZvckF0dHIpOwpA
QCAtMTUwLDkgKzE0NSwxOCBAQCBib29sIEhUTUxMYWJlbEVsZW1lbnQ6OndpbGxSZXNwb25kVG9N
b3VzCiAgICAgcmV0dXJuIChlbGVtZW50ICYmIGVsZW1lbnQtPndpbGxSZXNwb25kVG9Nb3VzZUNs
aWNrRXZlbnRzKCkpIHx8IEhUTUxFbGVtZW50Ojp3aWxsUmVzcG9uZFRvTW91c2VDbGlja0V2ZW50
cygpOwogfQogCi12b2lkIEhUTUxMYWJlbEVsZW1lbnQ6OmZvY3VzKGJvb2wsIEZvY3VzRGlyZWN0
aW9uIGRpcmVjdGlvbikKK3ZvaWQgSFRNTExhYmVsRWxlbWVudDo6Zm9jdXMoYm9vbCByZXN0b3Jl
UHJldmlvdXNTZWxlY3Rpb24sIEZvY3VzRGlyZWN0aW9uIGRpcmVjdGlvbikKIHsKLSAgICAvLyB0
byBtYXRjaCBvdGhlciBicm93c2VycywgYWx3YXlzIHJlc3RvcmUgcHJldmlvdXMgc2VsZWN0aW9u
CisgICAgaWYgKGRvY3VtZW50KCkuaGF2ZVN0eWxlc2hlZXRzTG9hZGVkKCkpIHsKKyAgICAgICAg
ZG9jdW1lbnQoKS51cGRhdGVMYXlvdXQoKTsKKyAgICAgICAgaWYgKGlzRm9jdXNhYmxlKCkpIHsK
KyAgICAgICAgICAgIC8vIFRoZSB2YWx1ZSBvZiByZXN0b3JlUHJldmlvdXNTZWxlY3Rpb24gaXMg
bm90IHVzZWQgZm9yIGxhYmVsIGVsZW1lbnRzIGFzIGl0IGRvZXNuJ3Qgb3ZlcnJpZGUgdXBkYXRl
Rm9jdXNBcHBlYXJhbmNlLgorICAgICAgICAgICAgRWxlbWVudDo6Zm9jdXMocmVzdG9yZVByZXZp
b3VzU2VsZWN0aW9uLCBkaXJlY3Rpb24pOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9
CisgICAgfQorCisgICAgLy8gVG8gbWF0Y2ggb3RoZXIgYnJvd3NlcnMsIGFsd2F5cyByZXN0b3Jl
IHByZXZpb3VzIHNlbGVjdGlvbi4KICAgICBpZiAoYXV0byogZWxlbWVudCA9IGNvbnRyb2woKSkK
ICAgICAgICAgZWxlbWVudC0+Zm9jdXModHJ1ZSwgZGlyZWN0aW9uKTsKIH0KSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTExhYmVsRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTExhYmVsRWxlbWVudC5oCShyZXZpc2lvbiAyMTAyNTQpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxMYWJlbEVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMzks
OCArMzksNiBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIEhUTUxMYWJlbEVsZW1lbnQoY29uc3Qg
UXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKLSAgICBib29sIGlzRm9jdXNhYmxlKCkgY29u
c3QgZmluYWw7Ci0KICAgICB2b2lkIGFjY2Vzc0tleUFjdGlvbihib29sIHNlbmRNb3VzZUV2ZW50
cykgZmluYWw7CiAKICAgICAvLyBPdmVycmlkZGVuIHRvIHVwZGF0ZSB0aGUgaG92ZXIvYWN0aXZl
IHN0YXRlIG9mIHRoZSBjb3JyZXNwb25kaW5nIGNvbnRyb2wuCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxMZWdlbmRFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxMZWdlbmRFbGVtZW50LmNwcAkocmV2aXNpb24gMjEwMjU0KQorKysgU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MTGVnZW5kRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU3
LDEzICs1NywxNyBAQCBIVE1MRm9ybUNvbnRyb2xFbGVtZW50KiBIVE1MTGVnZW5kRWxlbWVuCiAg
ICAgcmV0dXJuIGRlc2NlbmRhbnRzT2ZUeXBlPEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ+KCplbmNs
b3NpbmdGaWVsZHNldCkuZmlyc3QoKTsKIH0KIAotdm9pZCBIVE1MTGVnZW5kRWxlbWVudDo6Zm9j
dXMoYm9vbCwgRm9jdXNEaXJlY3Rpb24gZGlyZWN0aW9uKQordm9pZCBIVE1MTGVnZW5kRWxlbWVu
dDo6Zm9jdXMoYm9vbCByZXN0b3JlUHJldmlvdXNTZWxlY3Rpb24sIEZvY3VzRGlyZWN0aW9uIGRp
cmVjdGlvbikKIHsKLSAgICBpZiAoaXNGb2N1c2FibGUoKSkKLSAgICAgICAgRWxlbWVudDo6Zm9j
dXModHJ1ZSwgZGlyZWN0aW9uKTsKLSAgICAgICAgCiAgICAgLy8gVG8gbWF0Y2ggb3RoZXIgYnJv
d3NlcnMnIGJlaGF2aW9yLCBuZXZlciByZXN0b3JlIHByZXZpb3VzIHNlbGVjdGlvbi4KLSAgICBp
ZiAoSFRNTEZvcm1Db250cm9sRWxlbWVudCogY29udHJvbCA9IGFzc29jaWF0ZWRDb250cm9sKCkp
CisgICAgaWYgKGRvY3VtZW50KCkuaGF2ZVN0eWxlc2hlZXRzTG9hZGVkKCkpIHsKKyAgICAgICAg
ZG9jdW1lbnQoKS51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMoKTsKKyAgICAg
ICAgaWYgKGlzRm9jdXNhYmxlKCkpIHsKKyAgICAgICAgICAgIEVsZW1lbnQ6OmZvY3VzKHJlc3Rv
cmVQcmV2aW91c1NlbGVjdGlvbiwgZGlyZWN0aW9uKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAg
ICAgICAgfQorICAgIH0KKyAgICBpZiAoYXV0byogY29udHJvbCA9IGFzc29jaWF0ZWRDb250cm9s
KCkpCiAgICAgICAgIGNvbnRyb2wtPmZvY3VzKGZhbHNlLCBkaXJlY3Rpb24pOwogfQogCkluZGV4
OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCShyZXZpc2lvbiAyMTAyNTQpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMyArMSwzMSBAQAorMjAxNi0xMi0yMiAgUnlvc3VrZSBOaXdhICA8cm5pd2FA
d2Via2l0Lm9yZz4KKworICAgICAgICBsYWJlbCBlbGVtZW50IHdpdGggdGFiaW5kZXggPj0gMCBp
cyBub3QgZm9jdXNhYmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMDI3ODAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzI5Nzk2NjA4PgorCisgICAg
ICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgIEFkZGVkIGEgcmVncmVzc2lv
biB0ZXN0IGZvciB0cmF2ZXJzaW5nIGxhYmVsIGFuZCBsZWdlbmQgZWxlbWVudHMgYnkgdGFiYmlu
Zy4KKyAgICAgICAgQSBuYXRpdmUgbWVyZ2Ugb2YgdGhlIGJsaW5rIGZpeCB3b3VsZCBoYXZlIHJl
Z3Jlc3NlZCB0aGlzIGZvciB0aGUgbGFiZWwgZWxlbWVudAorICAgICAgICB3aGlsZSB0aGUgYnVn
IGluIHRoZSBsZWdlbmQgZWxlbWVudCBoYWQgYWx3YXlzIGV4aXN0ZWQuCisKKyAgICAgICAgQWxz
byBhZGRlZCBhIHJlZ3Jlc3Npb24gdGVzdCBmb3IgZm9jdXNpbmcgbGFiZWwgYW5kIGxlZ2VuZCBl
bGVtZW50cyB3aXRoIHRhYmluZGV4LgorICAgICAgICBXZSBzaG91bGQgYmUgYWJsZSB0byBmb2N1
cyBlaXRoZXIgZWxlbWVudC4gTmV3IGJlaGF2aW9yIG1hdGNoZXMgdGhhdCBvZiBDaHJvbWUuCisg
ICAgICAgIEZpcmVmb3ggbW92ZXMgdGhlIGZvY3VzIHRvIHRoZSBsYWJlbCBlbGVtZW50IGxpa2Ug
d2UgdXNlZCB0byBiZWZvcmUgdGhpcyBwYXRjaC4KKworICAgICAgICBBbHNvIG1lcmdlIHRoZSB0
ZXN0IGZpeCBmcm9tIGh0dHBzOi8vY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9z
cmMvKy8wODVhZDg2OTdiMWJlNTBjNGY5M2UyOTY3OTdhMjVhNDNhNzliY2ZiCisKKyAgICAgICAg
KiBmYXN0L2V2ZW50cy9mb2N1cy1sYWJlbC1sZWdlbmQtZWxlbWVudHMtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy9mb2N1cy1sYWJlbC1sZWdlbmQtZWxlbWVudHMt
d2l0aC10YWItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy9mb2N1
cy1sYWJlbC1sZWdlbmQtZWxlbWVudHMtd2l0aC10YWIuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZmFzdC9ldmVudHMvZm9jdXMtbGFiZWwtbGVnZW5kLWVsZW1lbnRzLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvZXZlbnRzL3Jlc291cmNlcy90YWJpbmRleC1mb2N1cy1ibHVyLWFsbC1mcmFt
ZTEuaHRtbDoKKyAgICAgICAgKiBmYXN0L2V2ZW50cy9yZXNvdXJjZXMvdGFiaW5kZXgtZm9jdXMt
Ymx1ci1hbGwtZnJhbWUyLmh0bWw6CisgICAgICAgICogZmFzdC9ldmVudHMvcmVzb3VyY2VzL3Rh
YmluZGV4LWZvY3VzLWJsdXItYWxsLmpzOgorICAgICAgICAqIGZhc3QvZXZlbnRzL3RhYmluZGV4
LWZvY3VzLWJsdXItYWxsLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mtc2lt
dWxhdG9yLXdrMi9UZXN0RXhwZWN0YXRpb25zOgorCiAyMDE3LTAxLTAzICBKb3NlcGggUGVjb3Jh
cm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogQWRkcmVz
cyBmYWlsdXJlcyB1bmRlciBMYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvc3RlcHBpbmcK
SW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2ZvY3VzLWxhYmVsLWxlZ2VuZC1lbGVtZW50
cy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZm9j
dXMtbGFiZWwtbGVnZW5kLWVsZW1lbnRzLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBM
YXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9mb2N1cy1sYWJlbC1sZWdlbmQtZWxlbWVudHMtZXhwZWN0
ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTIgQEAKK1Rlc3RzIGZvciBjYWxsaW5n
IGZvY3VzKCkgb24gYSBsYWJlbCBlbGVtZW50IGFuZCBhIGxlZ2VuZCBlbGVtZW50LiBUaGV5IHNo
b3VsZCBub3QgbW92ZSB0aGUgZm9jdXMgdG8gdGhlIGFzc29jaWF0ZWQgZWxlbWVudC4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgdGVzdENvbnRlbnQucXVlcnlTZWxlY3Rv
cigibGFiZWwiKS5mb2N1cygpOyBkb2N1bWVudC5hY3RpdmVFbGVtZW50IGlzIHRlc3RDb250ZW50
LnF1ZXJ5U2VsZWN0b3IoImxhYmVsIikKK1BBU1MgdGVzdENvbnRlbnQucXVlcnlTZWxlY3Rvcigi
bGVnZW5kIikuZm9jdXMoKTsgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBpcyB0ZXN0Q29udGVudC5x
dWVyeVNlbGVjdG9yKCJsZWdlbmQiKQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisgZm9vCisKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2Zv
Y3VzLWxhYmVsLWxlZ2VuZC1lbGVtZW50cy13aXRoLXRhYi1leHBlY3RlZC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZm9jdXMtbGFiZWwtbGVnZW5kLWVsZW1lbnRz
LXdpdGgtdGFiLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9mYXN0
L2V2ZW50cy9mb2N1cy1sYWJlbC1sZWdlbmQtZWxlbWVudHMtd2l0aC10YWItZXhwZWN0ZWQudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTcgQEAKK1Rlc3RzIGZvciBtb3ZpbmcgZm9jdXMg
YnkgcHJlc3NpbmcgdGFiIGtleSBhY3Jvc3MgbGFiZWwgYW5kIGxlZ2VuZCBlbGVtZW50cy4KK1Rv
IG1hbnVhbGx5IHRlc3QsIHByZXNzIHRhYiBrZXkgc2V2ZW4gdGltZXMgdGhlbiBzaGlmdCt0YWIg
c2l4IHRpbWVzLgorSXQgc2hvdWxkIHRyYXZlcnNlIGZvY3VzYWJsZSBlbGVtZW50cyBpbiB0aGUg
YXNjZW5kaW5nIG9yZGVyIGZyb20gMSB0byA3IGFuZCB0aGVuIGluIHRoZSBkZXNjZW5kaW5nIG9y
ZGVyIGJhY2sgdG8gMS4KKworMS4gQW4gaW5wdXQgZWxlbWVudCBpbnNpZGUgYSBub24tZm9jdXNh
YmxlIGxhYmVsIGVsZW1lbnQKKzIuIEEgbGFiZWwgZWxlbWVudCB3aXRoIGFuIGlucHV0IGVsZW1l
bnQKKzMuIEFuIGlucHV0IGVsbWVudCBpbnNpZGUgYSBmb2N1c2FibGUgbGFiZWwgZWxlbWVudAor
NC4gQSBsYWJlbCBlbGVtZW50IHdpdGgganVzdCB0ZXh0Cis2LiBBIGZvY3VzYWJsZSBsZWdlbmQg
ZWxlbWVudCBpbnNpZGUgYSBmaWVsZHNldCBlbGVtZW50Cis3LiBBbiBpbnB1dCBlbGVtZW50IGlu
c2lkZSBhIGZpZWxkc2V0IGVsZW1lbnQKKzcuIEFuIGlucHV0IGVsZW1lbnQgaW5zaWRlIGEgZmll
bGRzZXQgZWxlbWVudAorNi4gQSBmb2N1c2FibGUgbGVnZW5kIGVsZW1lbnQgaW5zaWRlIGEgZmll
bGRzZXQgZWxlbWVudAorNC4gQSBsYWJlbCBlbGVtZW50IHdpdGgganVzdCB0ZXh0CiszLiBBbiBp
bnB1dCBlbG1lbnQgaW5zaWRlIGEgZm9jdXNhYmxlIGxhYmVsIGVsZW1lbnQKKzIuIEEgbGFiZWwg
ZWxlbWVudCB3aXRoIGFuIGlucHV0IGVsZW1lbnQKKzEuIEFuIGlucHV0IGVsZW1lbnQgaW5zaWRl
IGEgbm9uLWZvY3VzYWJsZSBsYWJlbCBlbGVtZW50CisKSW5kZXg6IExheW91dFRlc3RzL2Zhc3Qv
ZXZlbnRzL2ZvY3VzLWxhYmVsLWxlZ2VuZC1lbGVtZW50cy13aXRoLXRhYi5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2ZvY3VzLWxhYmVsLWxlZ2VuZC1lbGVtZW50
cy13aXRoLXRhYi5odG1sCShub25leGlzdGVudCkKKysrIExheW91dFRlc3RzL2Zhc3QvZXZlbnRz
L2ZvY3VzLWxhYmVsLWxlZ2VuZC1lbGVtZW50cy13aXRoLXRhYi5odG1sCSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsNzEgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8Ym9keT4KKzxwPlRl
c3RzIGZvciBtb3ZpbmcgZm9jdXMgYnkgcHJlc3NpbmcgdGFiIGtleSBhY3Jvc3MgbGFiZWwgYW5k
IGxlZ2VuZCBlbGVtZW50cy48YnI+CitUbyBtYW51YWxseSB0ZXN0LCBwcmVzcyB0YWIga2V5IHNl
dmVuIHRpbWVzIHRoZW4gc2hpZnQrdGFiIHNpeCB0aW1lcy48YnI+CitJdCBzaG91bGQgdHJhdmVy
c2UgZm9jdXNhYmxlIGVsZW1lbnRzIGluIHRoZSBhc2NlbmRpbmcgb3JkZXIgZnJvbSAxIHRvIDcg
YW5kIHRoZW4gaW4gdGhlIGRlc2NlbmRpbmcgb3JkZXIgYmFjayB0byAxLjwvcD4KKzwvcD4KKzxk
aXYgaWQ9InRlc3QtY29udGVudCI+CisgICAgPGxhYmVsIHRpdGxlPSJGQUlMIC0gYSBub24tZm9j
dXNhYmxlIGxhYmVsIHdpdGggYW4gaW5wdXQgc2hvdWxkIG5vdCBiZSBmb2N1c2VkIj4KKyAgICAg
ICAgPGlucHV0IHRpdGxlPSIxLiBBbiBpbnB1dCBlbGVtZW50IGluc2lkZSBhIG5vbi1mb2N1c2Fi
bGUgbGFiZWwgZWxlbWVudCI+aGVsbG8KKyAgICA8L2xhYmVsPgorICAgIDxsYWJlbCB0YWJpbmRl
eD0iMCIgdGl0bGU9IjIuIEEgbGFiZWwgZWxlbWVudCB3aXRoIGFuIGlucHV0IGVsZW1lbnQiPgor
ICAgICAgICA8aW5wdXQgdGl0bGU9IjMuIEFuIGlucHV0IGVsbWVudCBpbnNpZGUgYSBmb2N1c2Fi
bGUgbGFiZWwgZWxlbWVudCI+d29ybGQ8L2xhYmVsPgorICAgIDxsYWJlbCB0YWJpbmRleD0iMCIg
dGl0bGU9IjQuIEEgbGFiZWwgZWxlbWVudCB3aXRoIGp1c3QgdGV4dCI+d2Via2l0PC9sYWJlbD4K
KyAgICA8bGFiZWwgdGl0bGU9IkZBSUwgLSBhbiBsYWJlbCBlbGVtZW50IHdpdGhvdXQgdGFiaW5k
ZXggc2hvdWxkIG5vdCBiZSBmb2N1c2VkIj5yb2NrczwvbGFiZWw+CisgICAgPGZpZWxkc2V0IHRh
YmluZGV4PSIwIiB0aXRsZT0iNS4gQSBmaWVsZHNldCBlbGVtZW50IHdpdGggdGFiaW5kZXgiPgor
ICAgICAgICA8bGVnZW5kIHRhYmluZGV4PSIwIiB0aXRsZT0iNi4gQSBmb2N1c2FibGUgbGVnZW5k
IGVsZW1lbnQgaW5zaWRlIGEgZmllbGRzZXQgZWxlbWVudCI+Zm9vPC9sZWdlbmQ+CisgICAgICAg
IDxpbnB1dCB0aXRsZT0iNy4gQW4gaW5wdXQgZWxlbWVudCBpbnNpZGUgYSBmaWVsZHNldCBlbGVt
ZW50Ij4KKyAgICA8L2ZpZWxkc2V0PgorPC9kaXY+Cis8c3R5bGU+IDpmb2N1cyB7IGJhY2tncm91
bmQ6IHJlZDsgfSA8L3N0eWxlPgorPHByZSBpZD0icmVzdWx0Ij48L3ByZT4KKzxzY3JpcHQ+CisK
K2Z1bmN0aW9uIG1vdmVGb2N1c0ZvcndhcmQoZm9jdXNDb3VudCkKK3sKKyAgICBzZXRUaW1lb3V0
KGZ1bmN0aW9uICgpIHsKKyAgICAgICAgaWYgKCFmb2N1c0NvdW50KQorICAgICAgICAgICAgcmV0
dXJuIG1vdmVGb2N1c0JhY2t3YXJkKDYpOworICAgICAgICBldmVudFNlbmRlci5rZXlEb3duKCdc
dCcpOworICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgIG1vdmVG
b2N1c0ZvcndhcmQoZm9jdXNDb3VudCAtIDEpOyAgICAgICAgICAgIAorICAgICAgICB9LCAxKTsK
KyAgICB9LCAxKTsKK30KKworZnVuY3Rpb24gbW92ZUZvY3VzQmFja3dhcmQoZm9jdXNDb3VudCkK
K3sKKyAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsKKyAgICAgICAgaWYgKCFmb2N1c0NvdW50
KSB7CisgICAgICAgICAgICB0ZXN0Q29udGVudC5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOworICAg
ICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgICAgICAgICByZXR1cm47Cisg
ICAgICAgIH0KKyAgICAgICAgZXZlbnRTZW5kZXIua2V5RG93bignXHQnLCBbJ3NoaWZ0S2V5J10p
OworICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgIG1vdmVGb2N1
c0JhY2t3YXJkKGZvY3VzQ291bnQgLSAxKTsgICAgICAgICAgICAKKyAgICAgICAgfSwgMSk7Cisg
ICAgfSwgMSk7Cit9CisKK2xldCB0ZXN0Q29udGVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCd0ZXN0LWNvbnRlbnQnKTsKKworaWYgKHdpbmRvdy5ldmVudFNlbmRlcikgeworICAgIHRlc3RS
dW5uZXIuZHVtcEFzVGV4dCgpOworICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAg
IHdpbmRvdy5vbmxvYWQgPSAoKSA9PiB7CisvLyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ2R1bW15JykucmVtb3ZlKCk7CisgICAgICAgIG1vdmVGb2N1c0ZvcndhcmQoNyk7CisgICAg
fQorfQorCit0ZXN0Q29udGVudC5xdWVyeVNlbGVjdG9yQWxsKCcqJykuZm9yRWFjaCgoZWxlbWVu
dCkgPT4geworICAgIGVsZW1lbnQub25mb2N1cyA9IGZ1bmN0aW9uICgpIHsKKyAgICAgICAgZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jlc3VsdCcpLnRleHRDb250ZW50ICs9IChlbGVtZW50LnRp
dGxlIHx8ICdGQUlMIC0gZm9jdXNlZCBhbiB1bmV4cGVjdGVkIGVsZW1lbnQnKSArICdcbic7Cisg
ICAgfQorfSk7CisKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVz
dHMvZmFzdC9ldmVudHMvZm9jdXMtbGFiZWwtbGVnZW5kLWVsZW1lbnRzLmh0bWwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZm9jdXMtbGFiZWwtbGVnZW5kLWVsZW1lbnRz
Lmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZm9jdXMtbGFi
ZWwtbGVnZW5kLWVsZW1lbnRzLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyMiBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxib2R5PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KKzxkaXYgaWQ9InRlc3QtY29udGVudCI+CisgICAg
PGxhYmVsIHRhYmluZGV4PSIwIj48aW5wdXQgdGFiaW5kZXg9IjAiPjwvbGFiZWw+CisgICAgPGZp
ZWxkc2V0IHRhYmluZGV4PSIwIj4KKyAgICAgICAgPGxlZ2VuZCB0YWJpbmRleD0iMCI+Zm9vPC9s
ZWdlbmQ+CisgICAgICAgIDxpbnB1dCB0YWJpbmRleD0iMCI+CisgICAgPC9maWVsZHNldD4KKzwv
ZGl2PgorPHNjcmlwdD4KKworZGVzY3JpcHRpb24oJ1Rlc3RzIGZvciBjYWxsaW5nIGZvY3VzKCkg
b24gYSBsYWJlbCBlbGVtZW50IGFuZCBhIGxlZ2VuZCBlbGVtZW50LiBUaGV5IHNob3VsZCBub3Qg
bW92ZSB0aGUgZm9jdXMgdG8gdGhlIGFzc29jaWF0ZWQgZWxlbWVudC4nKTsKKworbGV0IHRlc3RD
b250ZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3QtY29udGVudCcpOworc2hvdWxk
QmUoJ3Rlc3RDb250ZW50LnF1ZXJ5U2VsZWN0b3IoImxhYmVsIikuZm9jdXMoKTsgZG9jdW1lbnQu
YWN0aXZlRWxlbWVudCcsICd0ZXN0Q29udGVudC5xdWVyeVNlbGVjdG9yKCJsYWJlbCIpJyk7Citz
aG91bGRCZSgndGVzdENvbnRlbnQucXVlcnlTZWxlY3RvcigibGVnZW5kIikuZm9jdXMoKTsgZG9j
dW1lbnQuYWN0aXZlRWxlbWVudCcsICd0ZXN0Q29udGVudC5xdWVyeVNlbGVjdG9yKCJsZWdlbmQi
KScpOworCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zh
c3QvZXZlbnRzL3RhYmluZGV4LWZvY3VzLWJsdXItYWxsLWV4cGVjdGVkLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy90YWJpbmRleC1mb2N1cy1ibHVyLWFsbC1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDIxMDI1NCkKKysrIExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3Rh
YmluZGV4LWZvY3VzLWJsdXItYWxsLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwy
ICsxLDIgQEAKLTMzMyBmb2N1cyAvIDMzMyBibHVyIGV2ZW50cyBkaXNwYXRjaGVkLCBhbmQgc2hv
dWxkIGJlIDMzMyAvIDMzMyBQQVNTRUQKKzMzNiBmb2N1cyAvIDMzNiBibHVyIGV2ZW50cyBkaXNw
YXRjaGVkLCBhbmQgc2hvdWxkIGJlIDMzNiAvIDMzNiBQQVNTRUQKIFRvdGFsIG9mIDAgZm9jdXMg
dGVzdChzKSBmYWlsZWQuIFBBU1NFRApJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcmVz
b3VyY2VzL3RhYmluZGV4LWZvY3VzLWJsdXItYWxsLWZyYW1lMS5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3Jlc291cmNlcy90YWJpbmRleC1mb2N1cy1ibHVyLWFs
bC1mcmFtZTEuaHRtbAkocmV2aXNpb24gMjEwMjU0KQorKysgTGF5b3V0VGVzdHMvZmFzdC9ldmVu
dHMvcmVzb3VyY2VzL3RhYmluZGV4LWZvY3VzLWJsdXItYWxsLWZyYW1lMS5odG1sCSh3b3JraW5n
IGNvcHkpCkBAIC0xNTQsNiArMTU0LDcgQEAgdGFibGUgZm9vdGVyCiA8aW5wdXQgdHlwZT0iY2hl
Y2tib3giIGlkPSJjaGVja2JveDEiPjxicj4KIDxpbnB1dCB0eXBlPSJyYWRpbyIgaWQ9InJhZGlv
Q2hvaWNlMWEiIG5hbWU9InJhZGlvMSIgdGFiaW5kZXg9IjAiPjxicj4KIDxsYWJlbCBpZD0ibGFi
ZWwxIiB0YWJpbmRleD0iLTEiPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0icmFkaW8xIj5sYWJl
bCBmb3IgcmFkaW9DaG9pY2UgQjwvbGFiZWw+PGJyPgorPGxhYmVsIGlkPSJsYWJlbDIiPjxpbnB1
dCB0eXBlPSJyYWRpbyIgbmFtZT0icmFkaW8xIj5sYWJlbCBmb3IgcmFkaW9DaG9pY2UgQzwvbGFi
ZWw+PGJyPgogPGlucHV0IHR5cGU9ImZpbGUiIGlkPSJmaWxlMSIgdGFiaW5kZXg9IjIiPjxicj4K
IGlucHV0IHR5cGU9ImhpZGRlbiI8aW5wdXQgdHlwZT0iaGlkZGVuIiBpZD0iaGlkZGVuMSIgdGFi
aW5kZXg9Ii0xIj48YnI+CiBpbnB1dCB0eXBlPSJpbWFnZSI8aW5wdXQgdHlwZT0iaW1hZ2UiIGlk
PSJpbnB1dEltYWdlMSIgc3JjPSJhYmUucG5nIiB0YWJpbmRleD0iMyI+PGJyPgpJbmRleDogTGF5
b3V0VGVzdHMvZmFzdC9ldmVudHMvcmVzb3VyY2VzL3RhYmluZGV4LWZvY3VzLWJsdXItYWxsLWZy
YW1lMi5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3Jlc291cmNl
cy90YWJpbmRleC1mb2N1cy1ibHVyLWFsbC1mcmFtZTIuaHRtbAkocmV2aXNpb24gMjEwMjU0KQor
KysgTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcmVzb3VyY2VzL3RhYmluZGV4LWZvY3VzLWJsdXIt
YWxsLWZyYW1lMi5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xNTQsNiArMTU0LDcgQEAgdGFibGUg
Zm9vdGVyCiA8aW5wdXQgdHlwZT0iY2hlY2tib3giIGlkPSJjaGVja2JveDMiIHRhYmluZGV4PSIw
Ij48YnI+CiA8aW5wdXQgdHlwZT0icmFkaW8iIGlkPSJyYWRpb0Nob2ljZTNhIiBuYW1lPSJyYWRp
bzMiPjxicj4KIDxsYWJlbCBpZD0ibGFiZWwzIiB0YWJpbmRleD0iMiI+PGlucHV0IHR5cGU9InJh
ZGlvIiBuYW1lPSJyYWRpbzMiIHRhYmluZGV4PSIwIj5sYWJlbCBmb3IgcmFkaW8gYnV0dG9uPC9s
YWJlbD48YnI+Cis8bGFiZWwgaWQ9ImxhYmVsNCI+PGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSJy
YWRpbzMiIHRhYmluZGV4PSIwIj5hbm90aGVyIGxhYmVsIGZvciByYWRpbyBidXR0b248L2xhYmVs
Pjxicj4KIDxpbnB1dCB0eXBlPSJmaWxlIiBpZD0iZmlsZTMiIHRhYmluZGV4PSItMSI+PGJyPgog
aW5wdXQgdHlwZT0iaGlkZGVuIjxpbnB1dCB0eXBlPSJoaWRkZW4iIGlkPSJoaWRkZW4zIiB0YWJp
bmRleD0iMyI+PGJyPgogaW5wdXQgdHlwZT0iaW1hZ2UiPGlucHV0IHR5cGU9ImltYWdlIiBpZD0i
aW5wdXRJbWFnZTMiIHNyYz0iYWJlLnBuZyIgdGFiaW5kZXg9Ii0xIj48YnI+CkluZGV4OiBMYXlv
dXRUZXN0cy9mYXN0L2V2ZW50cy9yZXNvdXJjZXMvdGFiaW5kZXgtZm9jdXMtYmx1ci1hbGwuanMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcmVzb3VyY2VzL3RhYmluZGV4
LWZvY3VzLWJsdXItYWxsLmpzCShyZXZpc2lvbiAyMTAyNTQpCisrKyBMYXlvdXRUZXN0cy9mYXN0
L2V2ZW50cy9yZXNvdXJjZXMvdGFiaW5kZXgtZm9jdXMtYmx1ci1hbGwuanMJKHdvcmtpbmcgY29w
eSkKQEAgLTU1LDcgKzU1LDcgQEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgdmFyIGhvbWVCYXNlID0g
d2luZG93LmZyYW1lc1sxXS5kb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdob21lYmFz
ZScpOwogICAgIGhvbWVCYXNlWzBdLmZvY3VzKCk7CiAKLSAgICB2YXIgcmVzdWx0U3VtbWFyeSA9
IGZvY3VzQ291bnQrIiBmb2N1cyAvICIrYmx1ckNvdW50KyIgYmx1ciBldmVudHMgZGlzcGF0Y2hl
ZCwgYW5kIHNob3VsZCBiZSAzMzMgLyAzMzMgIjsKKyAgICB2YXIgcmVzdWx0U3VtbWFyeSA9IGZv
Y3VzQ291bnQrIiBmb2N1cyAvICIrYmx1ckNvdW50KyIgYmx1ciBldmVudHMgZGlzcGF0Y2hlZCwg
YW5kIHNob3VsZCBiZSAzMzYgLyAzMzYgIjsKICAgICByZXN1bHRTdW1tYXJ5ICs9IChmb2N1c0Nv
dW50PT1ibHVyQ291bnQpID8gIjxzcGFuIHN0eWxlPSdjb2xvcjpncmVlbic+UEFTU0VEPC9zcGFu
Pjxicj4iIDogIjxzcGFuIHN0eWxlPSdjb2xvcjpyZWQnPkZBSUxFRDwvc3Bhbj48YnI+IjsKICAg
ICByZXN1bHRTdW1tYXJ5ICs9ICJUb3RhbCBvZiAiK2ZhaWxlZFRlc3RDb3VudCsiIGZvY3VzIHRl
c3QocykgZmFpbGVkLiI7CiAgICAgaWYgKGZhaWxlZFRlc3RDb3VudCkKQEAgLTEwMSw3ICsxMDEs
NyBAQCBBcnJheS5wcm90b3R5cGUuZmluZCA9IGZ1bmN0aW9uKGVsZW1lbnQpCiBmdW5jdGlvbiB0
ZXN0UHJvZ3JhbW1hdGljRm9jdXMoZWxlbSkKIHsKICAgICB2YXIgZWxlbVRoYXRTaG91bGRGb2N1
cyA9IG51bGw7Ci0gICAgdmFyIE9LdG9Gb2N1c090aGVyRWxlbWVudCA9IGZhbHNlOworICAgIHZh
ciBzaG91bGRGb2N1c090aGVyRWxlbWVudCA9IGZhbHNlOwogICAgIGZvY3VzZWRFbGVtID0gbnVs
bDsKIAogICAgIGlmIChlbGVtLnRhYkluZGV4ID09IGVsZW0uZ2V0QXR0cmlidXRlKCJ0YWJpbmRl
eCIpKSAvLyB0aGlzIG1lYW5zIHRhYmluZGV4IHdhcyBleHBsaWNpdGx5IHNldApAQCAtMTE3LDEz
ICsxMTcsMTEgQEAgZnVuY3Rpb24gdGVzdFByb2dyYW1tYXRpY0ZvY3VzKGVsZW0pCiAgICAgaWYg
KGVsZW0udGFiSW5kZXggPT0gLTEgJiYgZWxlbS50YWdOYW1lID09ICJBUkVBIikKICAgICAgICAg
ZWxlbVRoYXRTaG91bGRGb2N1cyA9IG51bGw7CiAKLSAgICBpZiAodGFnTmFtZXNUcmFuc2ZlckZv
Y3VzZWQuZmluZChlbGVtLnRhZ05hbWUpKSB7Ci0gICAgICAgIGVsZW1UaGF0U2hvdWxkRm9jdXMg
PSBudWxsOwotICAgICAgICBPS3RvRm9jdXNPdGhlckVsZW1lbnQgPSB0cnVlOwotICAgIH0KKyAg
ICBpZiAodGFnTmFtZXNUcmFuc2ZlckZvY3VzZWQuZmluZChlbGVtLnRhZ05hbWUpICYmIGVsZW1U
aGF0U2hvdWxkRm9jdXMgPT0gbnVsbCkKKyAgICAgICAgc2hvdWxkRm9jdXNPdGhlckVsZW1lbnQg
PSB0cnVlOwogCiAgICAgZWxlbS5mb2N1cygpOwotICAgIGlmIChlbGVtVGhhdFNob3VsZEZvY3Vz
ID09IGZvY3VzZWRFbGVtIHx8ICghZWxlbVRoYXRTaG91bGRGb2N1cyAmJiBPS3RvRm9jdXNPdGhl
ckVsZW1lbnQpKQorICAgIGlmICgoIXNob3VsZEZvY3VzT3RoZXJFbGVtZW50ICYmIGVsZW1UaGF0
U2hvdWxkRm9jdXMgPT0gZm9jdXNlZEVsZW0pIHx8IChzaG91bGRGb2N1c090aGVyRWxlbWVudCAm
JiBlbGVtICE9IGZvY3VzZWRFbGVtKSkKICAgICAgICAgcHJpbnRUb0NvbnNvbGUoIjwiK2VsZW0u
dGFnTmFtZSsiPiAiK2VsZW0uaWQrIiBQQVNTRUQgZm9jdXMgdGVzdCIpOwogICAgIGVsc2Ugewog
ICAgICAgICBmYWlsZWRUZXN0Q291bnQrKzsKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2lv
cy1zaW11bGF0b3Itd2syL1Rlc3RFeHBlY3RhdGlvbnMKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvcGxhdGZvcm0vaW9zLXNpbXVsYXRvci13azIvVGVzdEV4cGVjdGF0aW9ucwkocmV2aXNpb24g
MjEwMjU0KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbXVsYXRvci13azIvVGVzdEV4
cGVjdGF0aW9ucwkod29ya2luZyBjb3B5KQpAQCAtMTc2Niw2ICsxNzY2LDcgQEAgZmFzdC9zaGFk
b3ctZG9tL2Z1bGxzY3JlZW4taW4tc2hhZG93LWZ1bAogZmFzdC9zaGFkb3ctZG9tL2Z1bGxzY3Jl
ZW4taW4tc2hhZG93LXdlYmtpdEN1cnJlbnRGdWxsU2NyZWVuRWxlbWVudC5odG1sIFsgU2tpcCBd
CiBmYXN0L3NoYWRvdy1kb20vZnVsbHNjcmVlbi1pbi1zbG90LWZ1bGxzY3JlZW5FbGVtZW50Lmh0
bWwgWyBTa2lwIF0KIGZhc3Qvc2hhZG93LWRvbS9mdWxsc2NyZWVuLWluLXNsb3Qtd2Via2l0Q3Vy
cmVudEZ1bGxTY3JlZW5FbGVtZW50Lmh0bWwgWyBTa2lwIF0KK2Zhc3QvZXZlbnRzL2ZvY3VzLWxh
YmVsLWxlZ2VuZC1lbGVtZW50cy13aXRoLXRhYi5odG1sIFsgU2tpcCBdCiAKICMgTm8gdG91Y2gg
ZXZlbnRzCiBmYXN0L3Zpc3VhbC12aWV3cG9ydC9pb3MvZml4ZWQtZWxlbWVudC1vbi1ib3R0b20t
d2l0aC1rZXlib2FyZC5odG1sIFsgU2tpcCBdCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>297984</attachid>
            <date>2017-01-03 19:16:02 -0800</date>
            <delta_ts>2017-01-03 19:40:35 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-102780-20170103191437.patch</filename>
            <type>text/plain</type>
            <size>17674</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIxMDI1NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM0IEBACisyMDE2LTEyLTIyICBSeW9zdWtl
IE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgorCisgICAgICAgIGxhYmVsIGVsZW1lbnQgd2l0aCB0
YWJpbmRleCA+PSAwIGlzIG5vdCBmb2N1c2FibGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjc4MAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjk3
OTY2MDg+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgRml4
ZWQgdGhlIGJ1ZyBieSByZW1vdmluZyB0aGUgb3ZlcnJpZGUgZm9yIEhUTUxMYWJlbEVsZW1lbnQ6
OmlzRm9jdXNhYmxlIHdoaWNoIGFsd2F5cyByZXR1cm5lZCBmYWxzZS4KKworICAgICAgICBUaGlz
IGlzIGEgYmVoYXZpb3IgZnJvbSByNTUzMiBidXQgaXQgZG9lc24ndCBtYXRjaCB0aGUgbGF0ZXN0
IEhUTUwgc3BlY2lmaWNhdGlvbiBvciB0aGF0IG9mIENocm9tZQorICAgICAgICBhbmQgRmlyZWZv
eC4KKworICAgICAgICBBbHNvIGZpeGVkIGFuIGV4aXN0aW5nIGJ1ZyBpbiBIVE1MTGFiZWxFbGVt
ZW50Ojpmb2N1cyBhbmQgSFRNTExlZ2VuZEVsZW1lbnQ6OmZvY3VzIHdoaWNoIGZvY3VzZWQKKyAg
ICAgICAgdGhlIGFzc29jaWF0ZWQgZm9ybSBjb250cm9sIHdoZW4gdGhlcmUgaXMgb25lIGV2ZW4g
aWYgdGhlIGVsZW1lbnQgaXRzZWxmIGlzIGZvY3VzYWJsZS4gV2l0aG91dCB0aGlzIGZpeCwKKyAg
ICAgICAgdHJhdmVyc2luZyBmcm9tIGNvbnRyb2wgd2l0aCBzaGlmdCt0YWIgd291bGQgYnJlYWsg
c2luY2UgZm9jdXNpbmcgdGhlIGxhYmVsIHdvdWxkIG1vdmUgdGhlIGZvY3VzIGJhY2sKKyAgICAg
ICAgdG8gdGhlIGlucHV0IGVsZW1lbnQgaW5zaWRlIHRoZSBsYWJlbCBlbGVtZW50LgorCisgICAg
ICAgIEZpbmFsbHksIGZpeGVkIGEgYnVnIGluIEhUTUxMZWdlbmRFbGVtZW50Ojpmb2N1cyB0aGF0
IHdlIGNhbiBjYWxsIGluRm9jdXMgd2l0aG91dCB1cGRhdGluZyBsYXlvdXQgZmlyc3QuCisKKyAg
ICAgICAgVGhlIGZpeCB3YXMgaW5zcGlyZWQgYnkgaHR0cHM6Ly9jaHJvbWl1bS5nb29nbGVzb3Vy
Y2UuY29tL2Nocm9taXVtL3NyYy8rLzA4NWFkODY5N2IxYmU1MGM0ZjkzZTI5Njc5N2EyNWE0M2E3
OWJjZmIKKworICAgICAgICBUZXN0OiBmYXN0L2V2ZW50cy9mb2N1cy1sYWJlbC1sZWdlbmQtZWxl
bWVudHMtd2l0aC10YWJpbmRleC5odG1sCisKKyAgICAgICAgKiBodG1sL0hUTUxMYWJlbEVsZW1l
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTExhYmVsRWxlbWVudDo6Zm9jdXMpOgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTExhYmVsRWxlbWVudDo6aXNGb2N1c2FibGUpOiBEZWxldGVkLgor
ICAgICAgICAqIGh0bWwvSFRNTExhYmVsRWxlbWVudC5oOgorICAgICAgICAqIGh0bWwvSFRNTExl
Z2VuZEVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTExlZ2VuZEVsZW1lbnQ6OmZv
Y3VzKToKKwogMjAxNy0wMS0wMyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAg
ICAgICAgIE1ha2Ugc2V0dGluZyBFdmVudCdzIGNhbmNlbEJ1YmJsZSB0byBmYWxzZSBhIG5vLW9w
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMYWJlbEVsZW1lbnQuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExhYmVsRWxlbWVudC5jcHAJKHJldmlzaW9u
IDIxMDI1NCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExhYmVsRWxlbWVudC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTU4LDExICs1OCw2IEBAIFJlZjxIVE1MTGFiZWxFbGVtZW50PiBIVE1M
TGFiZWxFbGVtZW50OjoKICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBIVE1MTGFiZWxFbGVtZW50
KHRhZ05hbWUsIGRvY3VtZW50KSk7CiB9CiAKLWJvb2wgSFRNTExhYmVsRWxlbWVudDo6aXNGb2N1
c2FibGUoKSBjb25zdAotewotICAgIHJldHVybiBmYWxzZTsKLX0KLQogTGFiZWxhYmxlRWxlbWVu
dCogSFRNTExhYmVsRWxlbWVudDo6Y29udHJvbCgpCiB7CiAgICAgY29uc3QgQXRvbWljU3RyaW5n
JiBjb250cm9sSWQgPSBhdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKGZvckF0dHIpOwpA
QCAtMTUwLDkgKzE0NSwxOCBAQCBib29sIEhUTUxMYWJlbEVsZW1lbnQ6OndpbGxSZXNwb25kVG9N
b3VzCiAgICAgcmV0dXJuIChlbGVtZW50ICYmIGVsZW1lbnQtPndpbGxSZXNwb25kVG9Nb3VzZUNs
aWNrRXZlbnRzKCkpIHx8IEhUTUxFbGVtZW50Ojp3aWxsUmVzcG9uZFRvTW91c2VDbGlja0V2ZW50
cygpOwogfQogCi12b2lkIEhUTUxMYWJlbEVsZW1lbnQ6OmZvY3VzKGJvb2wsIEZvY3VzRGlyZWN0
aW9uIGRpcmVjdGlvbikKK3ZvaWQgSFRNTExhYmVsRWxlbWVudDo6Zm9jdXMoYm9vbCByZXN0b3Jl
UHJldmlvdXNTZWxlY3Rpb24sIEZvY3VzRGlyZWN0aW9uIGRpcmVjdGlvbikKIHsKLSAgICAvLyB0
byBtYXRjaCBvdGhlciBicm93c2VycywgYWx3YXlzIHJlc3RvcmUgcHJldmlvdXMgc2VsZWN0aW9u
CisgICAgaWYgKGRvY3VtZW50KCkuaGF2ZVN0eWxlc2hlZXRzTG9hZGVkKCkpIHsKKyAgICAgICAg
ZG9jdW1lbnQoKS51cGRhdGVMYXlvdXQoKTsKKyAgICAgICAgaWYgKGlzRm9jdXNhYmxlKCkpIHsK
KyAgICAgICAgICAgIC8vIFRoZSB2YWx1ZSBvZiByZXN0b3JlUHJldmlvdXNTZWxlY3Rpb24gaXMg
bm90IHVzZWQgZm9yIGxhYmVsIGVsZW1lbnRzIGFzIGl0IGRvZXNuJ3Qgb3ZlcnJpZGUgdXBkYXRl
Rm9jdXNBcHBlYXJhbmNlLgorICAgICAgICAgICAgRWxlbWVudDo6Zm9jdXMocmVzdG9yZVByZXZp
b3VzU2VsZWN0aW9uLCBkaXJlY3Rpb24pOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9
CisgICAgfQorCisgICAgLy8gVG8gbWF0Y2ggb3RoZXIgYnJvd3NlcnMsIGFsd2F5cyByZXN0b3Jl
IHByZXZpb3VzIHNlbGVjdGlvbi4KICAgICBpZiAoYXV0byogZWxlbWVudCA9IGNvbnRyb2woKSkK
ICAgICAgICAgZWxlbWVudC0+Zm9jdXModHJ1ZSwgZGlyZWN0aW9uKTsKIH0KSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTExhYmVsRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTExhYmVsRWxlbWVudC5oCShyZXZpc2lvbiAyMTAyNTQpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxMYWJlbEVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMzks
OCArMzksNiBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIEhUTUxMYWJlbEVsZW1lbnQoY29uc3Qg
UXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKLSAgICBib29sIGlzRm9jdXNhYmxlKCkgY29u
c3QgZmluYWw7Ci0KICAgICB2b2lkIGFjY2Vzc0tleUFjdGlvbihib29sIHNlbmRNb3VzZUV2ZW50
cykgZmluYWw7CiAKICAgICAvLyBPdmVycmlkZGVuIHRvIHVwZGF0ZSB0aGUgaG92ZXIvYWN0aXZl
IHN0YXRlIG9mIHRoZSBjb3JyZXNwb25kaW5nIGNvbnRyb2wuCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxMZWdlbmRFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxMZWdlbmRFbGVtZW50LmNwcAkocmV2aXNpb24gMjEwMjU0KQorKysgU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MTGVnZW5kRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU3
LDEzICs1NywxNyBAQCBIVE1MRm9ybUNvbnRyb2xFbGVtZW50KiBIVE1MTGVnZW5kRWxlbWVuCiAg
ICAgcmV0dXJuIGRlc2NlbmRhbnRzT2ZUeXBlPEhUTUxGb3JtQ29udHJvbEVsZW1lbnQ+KCplbmNs
b3NpbmdGaWVsZHNldCkuZmlyc3QoKTsKIH0KIAotdm9pZCBIVE1MTGVnZW5kRWxlbWVudDo6Zm9j
dXMoYm9vbCwgRm9jdXNEaXJlY3Rpb24gZGlyZWN0aW9uKQordm9pZCBIVE1MTGVnZW5kRWxlbWVu
dDo6Zm9jdXMoYm9vbCByZXN0b3JlUHJldmlvdXNTZWxlY3Rpb24sIEZvY3VzRGlyZWN0aW9uIGRp
cmVjdGlvbikKIHsKLSAgICBpZiAoaXNGb2N1c2FibGUoKSkKLSAgICAgICAgRWxlbWVudDo6Zm9j
dXModHJ1ZSwgZGlyZWN0aW9uKTsKLSAgICAgICAgCiAgICAgLy8gVG8gbWF0Y2ggb3RoZXIgYnJv
d3NlcnMnIGJlaGF2aW9yLCBuZXZlciByZXN0b3JlIHByZXZpb3VzIHNlbGVjdGlvbi4KLSAgICBp
ZiAoSFRNTEZvcm1Db250cm9sRWxlbWVudCogY29udHJvbCA9IGFzc29jaWF0ZWRDb250cm9sKCkp
CisgICAgaWYgKGRvY3VtZW50KCkuaGF2ZVN0eWxlc2hlZXRzTG9hZGVkKCkpIHsKKyAgICAgICAg
ZG9jdW1lbnQoKS51cGRhdGVMYXlvdXRJZ25vcmVQZW5kaW5nU3R5bGVzaGVldHMoKTsKKyAgICAg
ICAgaWYgKGlzRm9jdXNhYmxlKCkpIHsKKyAgICAgICAgICAgIEVsZW1lbnQ6OmZvY3VzKHJlc3Rv
cmVQcmV2aW91c1NlbGVjdGlvbiwgZGlyZWN0aW9uKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAg
ICAgICAgfQorICAgIH0KKyAgICBpZiAoYXV0byogY29udHJvbCA9IGFzc29jaWF0ZWRDb250cm9s
KCkpCiAgICAgICAgIGNvbnRyb2wtPmZvY3VzKGZhbHNlLCBkaXJlY3Rpb24pOwogfQogCkluZGV4
OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCShyZXZpc2lvbiAyMTAyNTQpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMyArMSwzMSBAQAorMjAxNi0xMi0yMiAgUnlvc3VrZSBOaXdhICA8cm5pd2FA
d2Via2l0Lm9yZz4KKworICAgICAgICBsYWJlbCBlbGVtZW50IHdpdGggdGFiaW5kZXggPj0gMCBp
cyBub3QgZm9jdXNhYmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMDI3ODAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzI5Nzk2NjA4PgorCisgICAg
ICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgIEFkZGVkIGEgcmVncmVzc2lv
biB0ZXN0IGZvciB0cmF2ZXJzaW5nIGxhYmVsIGFuZCBsZWdlbmQgZWxlbWVudHMgYnkgdGFiYmlu
Zy4KKyAgICAgICAgQSBuYXRpdmUgbWVyZ2Ugb2YgdGhlIGJsaW5rIGZpeCB3b3VsZCBoYXZlIHJl
Z3Jlc3NlZCB0aGlzIGZvciB0aGUgbGFiZWwgZWxlbWVudAorICAgICAgICB3aGlsZSB0aGUgYnVn
IGluIHRoZSBsZWdlbmQgZWxlbWVudCBoYWQgYWx3YXlzIGV4aXN0ZWQuCisKKyAgICAgICAgQWxz
byBhZGRlZCBhIHJlZ3Jlc3Npb24gdGVzdCBmb3IgZm9jdXNpbmcgbGFiZWwgYW5kIGxlZ2VuZCBl
bGVtZW50cyB3aXRoIHRhYmluZGV4LgorICAgICAgICBXZSBzaG91bGQgYmUgYWJsZSB0byBmb2N1
cyBlaXRoZXIgZWxlbWVudC4gTmV3IGJlaGF2aW9yIG1hdGNoZXMgdGhhdCBvZiBDaHJvbWUuCisg
ICAgICAgIEZpcmVmb3ggbW92ZXMgdGhlIGZvY3VzIHRvIHRoZSBsYWJlbCBlbGVtZW50IGxpa2Ug
d2UgdXNlZCB0byBiZWZvcmUgdGhpcyBwYXRjaC4KKworICAgICAgICBBbHNvIG1lcmdlIHRoZSB0
ZXN0IGZpeCBmcm9tIGh0dHBzOi8vY2hyb21pdW0uZ29vZ2xlc291cmNlLmNvbS9jaHJvbWl1bS9z
cmMvKy8wODVhZDg2OTdiMWJlNTBjNGY5M2UyOTY3OTdhMjVhNDNhNzliY2ZiCisKKyAgICAgICAg
KiBmYXN0L2V2ZW50cy9mb2N1cy1sYWJlbC1sZWdlbmQtZWxlbWVudHMtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy9mb2N1cy1sYWJlbC1sZWdlbmQtZWxlbWVudHMt
d2l0aC10YWItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy9mb2N1
cy1sYWJlbC1sZWdlbmQtZWxlbWVudHMtd2l0aC10YWIuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZmFzdC9ldmVudHMvZm9jdXMtbGFiZWwtbGVnZW5kLWVsZW1lbnRzLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvZXZlbnRzL3Jlc291cmNlcy90YWJpbmRleC1mb2N1cy1ibHVyLWFsbC1mcmFt
ZTEuaHRtbDoKKyAgICAgICAgKiBmYXN0L2V2ZW50cy9yZXNvdXJjZXMvdGFiaW5kZXgtZm9jdXMt
Ymx1ci1hbGwtZnJhbWUyLmh0bWw6CisgICAgICAgICogZmFzdC9ldmVudHMvcmVzb3VyY2VzL3Rh
YmluZGV4LWZvY3VzLWJsdXItYWxsLmpzOgorICAgICAgICAqIGZhc3QvZXZlbnRzL3RhYmluZGV4
LWZvY3VzLWJsdXItYWxsLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3Mtc2lt
dWxhdG9yLXdrMi9UZXN0RXhwZWN0YXRpb25zOgorCiAyMDE3LTAxLTAzICBKb3NlcGggUGVjb3Jh
cm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogQWRkcmVz
cyBmYWlsdXJlcyB1bmRlciBMYXlvdXRUZXN0cy9pbnNwZWN0b3IvZGVidWdnZXIvc3RlcHBpbmcK
SW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2ZvY3VzLWxhYmVsLWxlZ2VuZC1lbGVtZW50
cy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZm9j
dXMtbGFiZWwtbGVnZW5kLWVsZW1lbnRzLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBM
YXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9mb2N1cy1sYWJlbC1sZWdlbmQtZWxlbWVudHMtZXhwZWN0
ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTIgQEAKK1Rlc3RzIGZvciBjYWxsaW5n
IGZvY3VzKCkgb24gYSBsYWJlbCBlbGVtZW50IGFuZCBhIGxlZ2VuZCBlbGVtZW50LiBUaGV5IHNo
b3VsZCBub3QgbW92ZSB0aGUgZm9jdXMgdG8gdGhlIGFzc29jaWF0ZWQgZWxlbWVudC4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgdGVzdENvbnRlbnQucXVlcnlTZWxlY3Rv
cigibGFiZWwiKS5mb2N1cygpOyBkb2N1bWVudC5hY3RpdmVFbGVtZW50IGlzIHRlc3RDb250ZW50
LnF1ZXJ5U2VsZWN0b3IoImxhYmVsIikKK1BBU1MgdGVzdENvbnRlbnQucXVlcnlTZWxlY3Rvcigi
bGVnZW5kIikuZm9jdXMoKTsgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBpcyB0ZXN0Q29udGVudC5x
dWVyeVNlbGVjdG9yKCJsZWdlbmQiKQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisgZm9vCisKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2Zv
Y3VzLWxhYmVsLWxlZ2VuZC1lbGVtZW50cy13aXRoLXRhYi1leHBlY3RlZC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZm9jdXMtbGFiZWwtbGVnZW5kLWVsZW1lbnRz
LXdpdGgtdGFiLWV4cGVjdGVkLnR4dAkobm9uZXhpc3RlbnQpCisrKyBMYXlvdXRUZXN0cy9mYXN0
L2V2ZW50cy9mb2N1cy1sYWJlbC1sZWdlbmQtZWxlbWVudHMtd2l0aC10YWItZXhwZWN0ZWQudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTggQEAKK1Rlc3RzIGZvciBtb3ZpbmcgZm9jdXMg
YnkgcHJlc3NpbmcgdGFiIGtleSBhY3Jvc3MgbGFiZWwgYW5kIGxlZ2VuZCBlbGVtZW50cy4KK1Rv
IG1hbnVhbGx5IHRlc3QsIHByZXNzIHRhYiBrZXkgc2V2ZW4gdGltZXMgdGhlbiBzaGlmdCt0YWIg
c2l4IHRpbWVzLgorSXQgc2hvdWxkIHRyYXZlcnNlIGZvY3VzYWJsZSBlbGVtZW50cyBpbiB0aGUg
YXNjZW5kaW5nIG9yZGVyIGZyb20gMSB0byA3IGFuZCB0aGVuIGluIHRoZSBkZXNjZW5kaW5nIG9y
ZGVyIGJhY2sgdG8gMS4KKworCisxLiBBbiBpbnB1dCBlbGVtZW50IGluc2lkZSBhIG5vbi1mb2N1
c2FibGUgbGFiZWwgZWxlbWVudAorMi4gQSBsYWJlbCBlbGVtZW50IHdpdGggYW4gaW5wdXQgZWxl
bWVudAorMy4gQW4gaW5wdXQgZWxtZW50IGluc2lkZSBhIGZvY3VzYWJsZSBsYWJlbCBlbGVtZW50
Cis0LiBBIGxhYmVsIGVsZW1lbnQgd2l0aCBqdXN0IHRleHQKKzYuIEEgZm9jdXNhYmxlIGxlZ2Vu
ZCBlbGVtZW50IGluc2lkZSBhIGZpZWxkc2V0IGVsZW1lbnQKKzcuIEFuIGlucHV0IGVsZW1lbnQg
aW5zaWRlIGEgZmllbGRzZXQgZWxlbWVudAorNy4gQW4gaW5wdXQgZWxlbWVudCBpbnNpZGUgYSBm
aWVsZHNldCBlbGVtZW50Cis2LiBBIGZvY3VzYWJsZSBsZWdlbmQgZWxlbWVudCBpbnNpZGUgYSBm
aWVsZHNldCBlbGVtZW50Cis0LiBBIGxhYmVsIGVsZW1lbnQgd2l0aCBqdXN0IHRleHQKKzMuIEFu
IGlucHV0IGVsbWVudCBpbnNpZGUgYSBmb2N1c2FibGUgbGFiZWwgZWxlbWVudAorMi4gQSBsYWJl
bCBlbGVtZW50IHdpdGggYW4gaW5wdXQgZWxlbWVudAorMS4gQW4gaW5wdXQgZWxlbWVudCBpbnNp
ZGUgYSBub24tZm9jdXNhYmxlIGxhYmVsIGVsZW1lbnQKKwpJbmRleDogTGF5b3V0VGVzdHMvZmFz
dC9ldmVudHMvZm9jdXMtbGFiZWwtbGVnZW5kLWVsZW1lbnRzLXdpdGgtdGFiLmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZm9jdXMtbGFiZWwtbGVnZW5kLWVsZW1l
bnRzLXdpdGgtdGFiLmh0bWwJKG5vbmV4aXN0ZW50KQorKysgTGF5b3V0VGVzdHMvZmFzdC9ldmVu
dHMvZm9jdXMtbGFiZWwtbGVnZW5kLWVsZW1lbnRzLXdpdGgtdGFiLmh0bWwJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSw3MiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxib2R5PgorPHA+
VGVzdHMgZm9yIG1vdmluZyBmb2N1cyBieSBwcmVzc2luZyB0YWIga2V5IGFjcm9zcyBsYWJlbCBh
bmQgbGVnZW5kIGVsZW1lbnRzLjxicj4KK1RvIG1hbnVhbGx5IHRlc3QsIHByZXNzIHRhYiBrZXkg
c2V2ZW4gdGltZXMgdGhlbiBzaGlmdCt0YWIgc2l4IHRpbWVzLjxicj4KK0l0IHNob3VsZCB0cmF2
ZXJzZSBmb2N1c2FibGUgZWxlbWVudHMgaW4gdGhlIGFzY2VuZGluZyBvcmRlciBmcm9tIDEgdG8g
NyBhbmQgdGhlbiBpbiB0aGUgZGVzY2VuZGluZyBvcmRlciBiYWNrIHRvIDEuPC9wPgorPC9wPgor
PGlucHV0IGlkPSJzdGFydGluZ05vZGUiPgorPGRpdiBpZD0idGVzdC1jb250ZW50Ij4KKyAgICA8
bGFiZWwgdGl0bGU9IkZBSUwgLSBhIG5vbi1mb2N1c2FibGUgbGFiZWwgd2l0aCBhbiBpbnB1dCBz
aG91bGQgbm90IGJlIGZvY3VzZWQiPgorICAgICAgICA8aW5wdXQgdGl0bGU9IjEuIEFuIGlucHV0
IGVsZW1lbnQgaW5zaWRlIGEgbm9uLWZvY3VzYWJsZSBsYWJlbCBlbGVtZW50Ij5oZWxsbworICAg
IDwvbGFiZWw+CisgICAgPGxhYmVsIHRhYmluZGV4PSIwIiB0aXRsZT0iMi4gQSBsYWJlbCBlbGVt
ZW50IHdpdGggYW4gaW5wdXQgZWxlbWVudCI+CisgICAgICAgIDxpbnB1dCB0aXRsZT0iMy4gQW4g
aW5wdXQgZWxtZW50IGluc2lkZSBhIGZvY3VzYWJsZSBsYWJlbCBlbGVtZW50Ij53b3JsZDwvbGFi
ZWw+CisgICAgPGxhYmVsIHRhYmluZGV4PSIwIiB0aXRsZT0iNC4gQSBsYWJlbCBlbGVtZW50IHdp
dGgganVzdCB0ZXh0Ij53ZWJraXQ8L2xhYmVsPgorICAgIDxsYWJlbCB0aXRsZT0iRkFJTCAtIGFu
IGxhYmVsIGVsZW1lbnQgd2l0aG91dCB0YWJpbmRleCBzaG91bGQgbm90IGJlIGZvY3VzZWQiPnJv
Y2tzPC9sYWJlbD4KKyAgICA8ZmllbGRzZXQgdGFiaW5kZXg9IjAiIHRpdGxlPSI1LiBBIGZpZWxk
c2V0IGVsZW1lbnQgd2l0aCB0YWJpbmRleCI+CisgICAgICAgIDxsZWdlbmQgdGFiaW5kZXg9IjAi
IHRpdGxlPSI2LiBBIGZvY3VzYWJsZSBsZWdlbmQgZWxlbWVudCBpbnNpZGUgYSBmaWVsZHNldCBl
bGVtZW50Ij5mb288L2xlZ2VuZD4KKyAgICAgICAgPGlucHV0IHRpdGxlPSI3LiBBbiBpbnB1dCBl
bGVtZW50IGluc2lkZSBhIGZpZWxkc2V0IGVsZW1lbnQiPgorICAgIDwvZmllbGRzZXQ+Cis8L2Rp
dj4KKzxzdHlsZT4gOmZvY3VzIHsgYmFja2dyb3VuZDogcmVkOyB9IDwvc3R5bGU+Cis8cHJlIGlk
PSJyZXN1bHQiPjwvcHJlPgorPHNjcmlwdD4KKworZnVuY3Rpb24gbW92ZUZvY3VzRm9yd2FyZChm
b2N1c0NvdW50KQoreworICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkgeworICAgICAgICBpZiAo
IWZvY3VzQ291bnQpCisgICAgICAgICAgICByZXR1cm4gbW92ZUZvY3VzQmFja3dhcmQoNyk7Cisg
ICAgICAgIGV2ZW50U2VuZGVyLmtleURvd24oJ1x0Jyk7CisgICAgICAgIHNldFRpbWVvdXQoZnVu
Y3Rpb24gKCkgeworICAgICAgICAgICAgbW92ZUZvY3VzRm9yd2FyZChmb2N1c0NvdW50IC0gMSk7
ICAgICAgICAgICAgCisgICAgICAgIH0sIDEpOworICAgIH0sIDEpOworfQorCitmdW5jdGlvbiBt
b3ZlRm9jdXNCYWNrd2FyZChmb2N1c0NvdW50KQoreworICAgIHNldFRpbWVvdXQoZnVuY3Rpb24g
KCkgeworICAgICAgICBpZiAoIWZvY3VzQ291bnQpIHsKKyAgICAgICAgICAgIHRlc3RDb250ZW50
LnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CisgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURv
bmUoKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgICAgICBldmVudFNlbmRl
ci5rZXlEb3duKCdcdCcsIFsnc2hpZnRLZXknXSk7CisgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rp
b24gKCkgeworICAgICAgICAgICAgbW92ZUZvY3VzQmFja3dhcmQoZm9jdXNDb3VudCAtIDEpOyAg
ICAgICAgICAgIAorICAgICAgICB9LCAxKTsKKyAgICB9LCAxKTsKK30KKworbGV0IHRlc3RDb250
ZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3QtY29udGVudCcpOworCit3aW5kb3cu
b25sb2FkID0gKCkgPT4geworICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzdGFydGluZ05v
ZGUnKS5mb2N1cygpOworICAgIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKKyAgICAgICAgdGVz
dFJ1bm5lci5kdW1wQXNUZXh0KCk7CisgICAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgp
OworICAgIH0KKyAgICBtb3ZlRm9jdXNGb3J3YXJkKDcpOworfQorCit0ZXN0Q29udGVudC5xdWVy
eVNlbGVjdG9yQWxsKCcqJykuZm9yRWFjaCgoZWxlbWVudCkgPT4geworICAgIGVsZW1lbnQub25m
b2N1cyA9IGZ1bmN0aW9uICgpIHsKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jl
c3VsdCcpLnRleHRDb250ZW50ICs9IChlbGVtZW50LnRpdGxlIHx8ICdGQUlMIC0gZm9jdXNlZCBh
biB1bmV4cGVjdGVkIGVsZW1lbnQnKSArICdcbic7CisgICAgfQorfSk7CisKKzwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZm9jdXMtbGFi
ZWwtbGVnZW5kLWVsZW1lbnRzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9l
dmVudHMvZm9jdXMtbGFiZWwtbGVnZW5kLWVsZW1lbnRzLmh0bWwJKG5vbmV4aXN0ZW50KQorKysg
TGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvZm9jdXMtbGFiZWwtbGVnZW5kLWVsZW1lbnRzLmh0bWwJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
Kzxib2R5PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LmpzIj48L3Njcmlw
dD4KKzxkaXYgaWQ9InRlc3QtY29udGVudCI+CisgICAgPGxhYmVsIHRhYmluZGV4PSIwIj48aW5w
dXQgdGFiaW5kZXg9IjAiPjwvbGFiZWw+CisgICAgPGZpZWxkc2V0IHRhYmluZGV4PSIwIj4KKyAg
ICAgICAgPGxlZ2VuZCB0YWJpbmRleD0iMCI+Zm9vPC9sZWdlbmQ+CisgICAgICAgIDxpbnB1dCB0
YWJpbmRleD0iMCI+CisgICAgPC9maWVsZHNldD4KKzwvZGl2PgorPHNjcmlwdD4KKworZGVzY3Jp
cHRpb24oJ1Rlc3RzIGZvciBjYWxsaW5nIGZvY3VzKCkgb24gYSBsYWJlbCBlbGVtZW50IGFuZCBh
IGxlZ2VuZCBlbGVtZW50LiBUaGV5IHNob3VsZCBub3QgbW92ZSB0aGUgZm9jdXMgdG8gdGhlIGFz
c29jaWF0ZWQgZWxlbWVudC4nKTsKKworbGV0IHRlc3RDb250ZW50ID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoJ3Rlc3QtY29udGVudCcpOworc2hvdWxkQmUoJ3Rlc3RDb250ZW50LnF1ZXJ5U2Vs
ZWN0b3IoImxhYmVsIikuZm9jdXMoKTsgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCcsICd0ZXN0Q29u
dGVudC5xdWVyeVNlbGVjdG9yKCJsYWJlbCIpJyk7CitzaG91bGRCZSgndGVzdENvbnRlbnQucXVl
cnlTZWxlY3RvcigibGVnZW5kIikuZm9jdXMoKTsgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCcsICd0
ZXN0Q29udGVudC5xdWVyeVNlbGVjdG9yKCJsZWdlbmQiKScpOworCis8L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RhYmluZGV4LWZvY3Vz
LWJsdXItYWxsLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2V2
ZW50cy90YWJpbmRleC1mb2N1cy1ibHVyLWFsbC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDIxMDI1
NCkKKysrIExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3RhYmluZGV4LWZvY3VzLWJsdXItYWxsLWV4
cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSwyICsxLDIgQEAKLTMzMyBmb2N1cyAvIDMz
MyBibHVyIGV2ZW50cyBkaXNwYXRjaGVkLCBhbmQgc2hvdWxkIGJlIDMzMyAvIDMzMyBQQVNTRUQK
KzMzNiBmb2N1cyAvIDMzNiBibHVyIGV2ZW50cyBkaXNwYXRjaGVkLCBhbmQgc2hvdWxkIGJlIDMz
NiAvIDMzNiBQQVNTRUQKIFRvdGFsIG9mIDAgZm9jdXMgdGVzdChzKSBmYWlsZWQuIFBBU1NFRApJ
bmRleDogTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcmVzb3VyY2VzL3RhYmluZGV4LWZvY3VzLWJs
dXItYWxsLWZyYW1lMS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZXZlbnRz
L3Jlc291cmNlcy90YWJpbmRleC1mb2N1cy1ibHVyLWFsbC1mcmFtZTEuaHRtbAkocmV2aXNpb24g
MjEwMjU0KQorKysgTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcmVzb3VyY2VzL3RhYmluZGV4LWZv
Y3VzLWJsdXItYWxsLWZyYW1lMS5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xNTQsNiArMTU0LDcg
QEAgdGFibGUgZm9vdGVyCiA8aW5wdXQgdHlwZT0iY2hlY2tib3giIGlkPSJjaGVja2JveDEiPjxi
cj4KIDxpbnB1dCB0eXBlPSJyYWRpbyIgaWQ9InJhZGlvQ2hvaWNlMWEiIG5hbWU9InJhZGlvMSIg
dGFiaW5kZXg9IjAiPjxicj4KIDxsYWJlbCBpZD0ibGFiZWwxIiB0YWJpbmRleD0iLTEiPjxpbnB1
dCB0eXBlPSJyYWRpbyIgbmFtZT0icmFkaW8xIj5sYWJlbCBmb3IgcmFkaW9DaG9pY2UgQjwvbGFi
ZWw+PGJyPgorPGxhYmVsIGlkPSJsYWJlbDIiPjxpbnB1dCB0eXBlPSJyYWRpbyIgbmFtZT0icmFk
aW8xIj5sYWJlbCBmb3IgcmFkaW9DaG9pY2UgQzwvbGFiZWw+PGJyPgogPGlucHV0IHR5cGU9ImZp
bGUiIGlkPSJmaWxlMSIgdGFiaW5kZXg9IjIiPjxicj4KIGlucHV0IHR5cGU9ImhpZGRlbiI8aW5w
dXQgdHlwZT0iaGlkZGVuIiBpZD0iaGlkZGVuMSIgdGFiaW5kZXg9Ii0xIj48YnI+CiBpbnB1dCB0
eXBlPSJpbWFnZSI8aW5wdXQgdHlwZT0iaW1hZ2UiIGlkPSJpbnB1dEltYWdlMSIgc3JjPSJhYmUu
cG5nIiB0YWJpbmRleD0iMyI+PGJyPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcmVz
b3VyY2VzL3RhYmluZGV4LWZvY3VzLWJsdXItYWxsLWZyYW1lMi5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3Jlc291cmNlcy90YWJpbmRleC1mb2N1cy1ibHVyLWFs
bC1mcmFtZTIuaHRtbAkocmV2aXNpb24gMjEwMjU0KQorKysgTGF5b3V0VGVzdHMvZmFzdC9ldmVu
dHMvcmVzb3VyY2VzL3RhYmluZGV4LWZvY3VzLWJsdXItYWxsLWZyYW1lMi5odG1sCSh3b3JraW5n
IGNvcHkpCkBAIC0xNTQsNiArMTU0LDcgQEAgdGFibGUgZm9vdGVyCiA8aW5wdXQgdHlwZT0iY2hl
Y2tib3giIGlkPSJjaGVja2JveDMiIHRhYmluZGV4PSIwIj48YnI+CiA8aW5wdXQgdHlwZT0icmFk
aW8iIGlkPSJyYWRpb0Nob2ljZTNhIiBuYW1lPSJyYWRpbzMiPjxicj4KIDxsYWJlbCBpZD0ibGFi
ZWwzIiB0YWJpbmRleD0iMiI+PGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSJyYWRpbzMiIHRhYmlu
ZGV4PSIwIj5sYWJlbCBmb3IgcmFkaW8gYnV0dG9uPC9sYWJlbD48YnI+Cis8bGFiZWwgaWQ9Imxh
YmVsNCI+PGlucHV0IHR5cGU9InJhZGlvIiBuYW1lPSJyYWRpbzMiIHRhYmluZGV4PSIwIj5hbm90
aGVyIGxhYmVsIGZvciByYWRpbyBidXR0b248L2xhYmVsPjxicj4KIDxpbnB1dCB0eXBlPSJmaWxl
IiBpZD0iZmlsZTMiIHRhYmluZGV4PSItMSI+PGJyPgogaW5wdXQgdHlwZT0iaGlkZGVuIjxpbnB1
dCB0eXBlPSJoaWRkZW4iIGlkPSJoaWRkZW4zIiB0YWJpbmRleD0iMyI+PGJyPgogaW5wdXQgdHlw
ZT0iaW1hZ2UiPGlucHV0IHR5cGU9ImltYWdlIiBpZD0iaW5wdXRJbWFnZTMiIHNyYz0iYWJlLnBu
ZyIgdGFiaW5kZXg9Ii0xIj48YnI+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9yZXNv
dXJjZXMvdGFiaW5kZXgtZm9jdXMtYmx1ci1hbGwuanMKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvZmFzdC9ldmVudHMvcmVzb3VyY2VzL3RhYmluZGV4LWZvY3VzLWJsdXItYWxsLmpzCShyZXZp
c2lvbiAyMTAyNTQpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9yZXNvdXJjZXMvdGFiaW5k
ZXgtZm9jdXMtYmx1ci1hbGwuanMJKHdvcmtpbmcgY29weSkKQEAgLTU1LDcgKzU1LDcgQEAgZnVu
Y3Rpb24gdGVzdCgpCiAgICAgdmFyIGhvbWVCYXNlID0gd2luZG93LmZyYW1lc1sxXS5kb2N1bWVu
dC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdob21lYmFzZScpOwogICAgIGhvbWVCYXNlWzBdLmZv
Y3VzKCk7CiAKLSAgICB2YXIgcmVzdWx0U3VtbWFyeSA9IGZvY3VzQ291bnQrIiBmb2N1cyAvICIr
Ymx1ckNvdW50KyIgYmx1ciBldmVudHMgZGlzcGF0Y2hlZCwgYW5kIHNob3VsZCBiZSAzMzMgLyAz
MzMgIjsKKyAgICB2YXIgcmVzdWx0U3VtbWFyeSA9IGZvY3VzQ291bnQrIiBmb2N1cyAvICIrYmx1
ckNvdW50KyIgYmx1ciBldmVudHMgZGlzcGF0Y2hlZCwgYW5kIHNob3VsZCBiZSAzMzYgLyAzMzYg
IjsKICAgICByZXN1bHRTdW1tYXJ5ICs9IChmb2N1c0NvdW50PT1ibHVyQ291bnQpID8gIjxzcGFu
IHN0eWxlPSdjb2xvcjpncmVlbic+UEFTU0VEPC9zcGFuPjxicj4iIDogIjxzcGFuIHN0eWxlPSdj
b2xvcjpyZWQnPkZBSUxFRDwvc3Bhbj48YnI+IjsKICAgICByZXN1bHRTdW1tYXJ5ICs9ICJUb3Rh
bCBvZiAiK2ZhaWxlZFRlc3RDb3VudCsiIGZvY3VzIHRlc3QocykgZmFpbGVkLiI7CiAgICAgaWYg
KGZhaWxlZFRlc3RDb3VudCkKQEAgLTEwMSw3ICsxMDEsNyBAQCBBcnJheS5wcm90b3R5cGUuZmlu
ZCA9IGZ1bmN0aW9uKGVsZW1lbnQpCiBmdW5jdGlvbiB0ZXN0UHJvZ3JhbW1hdGljRm9jdXMoZWxl
bSkKIHsKICAgICB2YXIgZWxlbVRoYXRTaG91bGRGb2N1cyA9IG51bGw7Ci0gICAgdmFyIE9LdG9G
b2N1c090aGVyRWxlbWVudCA9IGZhbHNlOworICAgIHZhciBzaG91bGRGb2N1c090aGVyRWxlbWVu
dCA9IGZhbHNlOwogICAgIGZvY3VzZWRFbGVtID0gbnVsbDsKIAogICAgIGlmIChlbGVtLnRhYklu
ZGV4ID09IGVsZW0uZ2V0QXR0cmlidXRlKCJ0YWJpbmRleCIpKSAvLyB0aGlzIG1lYW5zIHRhYmlu
ZGV4IHdhcyBleHBsaWNpdGx5IHNldApAQCAtMTE3LDEzICsxMTcsMTEgQEAgZnVuY3Rpb24gdGVz
dFByb2dyYW1tYXRpY0ZvY3VzKGVsZW0pCiAgICAgaWYgKGVsZW0udGFiSW5kZXggPT0gLTEgJiYg
ZWxlbS50YWdOYW1lID09ICJBUkVBIikKICAgICAgICAgZWxlbVRoYXRTaG91bGRGb2N1cyA9IG51
bGw7CiAKLSAgICBpZiAodGFnTmFtZXNUcmFuc2ZlckZvY3VzZWQuZmluZChlbGVtLnRhZ05hbWUp
KSB7Ci0gICAgICAgIGVsZW1UaGF0U2hvdWxkRm9jdXMgPSBudWxsOwotICAgICAgICBPS3RvRm9j
dXNPdGhlckVsZW1lbnQgPSB0cnVlOwotICAgIH0KKyAgICBpZiAodGFnTmFtZXNUcmFuc2ZlckZv
Y3VzZWQuZmluZChlbGVtLnRhZ05hbWUpICYmIGVsZW1UaGF0U2hvdWxkRm9jdXMgPT0gbnVsbCkK
KyAgICAgICAgc2hvdWxkRm9jdXNPdGhlckVsZW1lbnQgPSB0cnVlOwogCiAgICAgZWxlbS5mb2N1
cygpOwotICAgIGlmIChlbGVtVGhhdFNob3VsZEZvY3VzID09IGZvY3VzZWRFbGVtIHx8ICghZWxl
bVRoYXRTaG91bGRGb2N1cyAmJiBPS3RvRm9jdXNPdGhlckVsZW1lbnQpKQorICAgIGlmICgoIXNo
b3VsZEZvY3VzT3RoZXJFbGVtZW50ICYmIGVsZW1UaGF0U2hvdWxkRm9jdXMgPT0gZm9jdXNlZEVs
ZW0pIHx8IChzaG91bGRGb2N1c090aGVyRWxlbWVudCAmJiBlbGVtICE9IGZvY3VzZWRFbGVtKSkK
ICAgICAgICAgcHJpbnRUb0NvbnNvbGUoIjwiK2VsZW0udGFnTmFtZSsiPiAiK2VsZW0uaWQrIiBQ
QVNTRUQgZm9jdXMgdGVzdCIpOwogICAgIGVsc2UgewogICAgICAgICBmYWlsZWRUZXN0Q291bnQr
KzsKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL2lvcy1zaW11bGF0b3Itd2syL1Rlc3RFeHBl
Y3RhdGlvbnMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zLXNpbXVsYXRv
ci13azIvVGVzdEV4cGVjdGF0aW9ucwkocmV2aXNpb24gMjEwMjU0KQorKysgTGF5b3V0VGVzdHMv
cGxhdGZvcm0vaW9zLXNpbXVsYXRvci13azIvVGVzdEV4cGVjdGF0aW9ucwkod29ya2luZyBjb3B5
KQpAQCAtMTc2Niw2ICsxNzY2LDcgQEAgZmFzdC9zaGFkb3ctZG9tL2Z1bGxzY3JlZW4taW4tc2hh
ZG93LWZ1bAogZmFzdC9zaGFkb3ctZG9tL2Z1bGxzY3JlZW4taW4tc2hhZG93LXdlYmtpdEN1cnJl
bnRGdWxsU2NyZWVuRWxlbWVudC5odG1sIFsgU2tpcCBdCiBmYXN0L3NoYWRvdy1kb20vZnVsbHNj
cmVlbi1pbi1zbG90LWZ1bGxzY3JlZW5FbGVtZW50Lmh0bWwgWyBTa2lwIF0KIGZhc3Qvc2hhZG93
LWRvbS9mdWxsc2NyZWVuLWluLXNsb3Qtd2Via2l0Q3VycmVudEZ1bGxTY3JlZW5FbGVtZW50Lmh0
bWwgWyBTa2lwIF0KK2Zhc3QvZXZlbnRzL2ZvY3VzLWxhYmVsLWxlZ2VuZC1lbGVtZW50cy13aXRo
LXRhYi5odG1sIFsgU2tpcCBdCiAKICMgTm8gdG91Y2ggZXZlbnRzCiBmYXN0L3Zpc3VhbC12aWV3
cG9ydC9pb3MvZml4ZWQtZWxlbWVudC1vbi1ib3R0b20td2l0aC1rZXlib2FyZC5odG1sIFsgU2tp
cCBdCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>