<?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>167080</bug_id>
          
          <creation_ts>2017-01-15 14:40:45 -0800</creation_ts>
          <short_desc>Web Inspector: Event Listeners section is missing &apos;once&apos;, &apos;passive&apos; event listener flags</short_desc>
          <delta_ts>2017-04-06 15:04:44 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=170570</see_also>
          <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="Blaze Burg">bburg</reporter>
          <assigned_to name="Devin Rousso">hi</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>hi</cc>
    
    <cc>inspector-bugzilla-changes</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1267066</commentid>
    <comment_count>0</comment_count>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2017-01-15 14:40:45 -0800</bug_when>
    <thetext>Element.addEventListener has some new flags besides &apos;bubbling&apos;. These should be shown.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1267067</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-01-15 14:41:04 -0800</bug_when>
    <thetext>&lt;rdar://problem/30033645&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1286024</commentid>
    <comment_count>2</comment_count>
      <attachid>304109</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2017-03-10 18:03:31 -0800</bug_when>
    <thetext>Created attachment 304109
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1286036</commentid>
    <comment_count>3</comment_count>
      <attachid>304109</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2017-03-10 18:44:30 -0800</bug_when>
    <thetext>Comment on attachment 304109
Patch

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

Awesome!!

r-, this needs a test.

When the user has an element selected that shows a &quot;Once&quot; listener, and it fires, does the sidebar then update when the event listener get removed? Should we do this?

&gt; Source/JavaScriptCore/inspector/protocol/DOM.json:85
&gt; +                { &quot;name&quot;: &quot;isPassive&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true, &quot;description&quot;: &quot;&lt;code&gt;EventListener&lt;/code&gt;&apos;s isPassive.&quot; },
&gt; +                { &quot;name&quot;: &quot;isOnce&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true, &quot;description&quot;: &quot;&lt;code&gt;EventListener&lt;/code&gt;&apos;s isOnce.&quot; }

We normally drop the &quot;is&quot; prefix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1286037</commentid>
    <comment_count>4</comment_count>
      <attachid>304109</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2017-03-10 18:50:29 -0800</bug_when>
    <thetext>Comment on attachment 304109
Patch

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

&gt; When the user has an element selected that shows a &quot;Once&quot; listener, and it
&gt; fires, does the sidebar then update when the event listener get removed?
&gt; Should we do this?

So I just tested this, and it doesn&apos;t remove it.  Unfortunately, it also seems that if an event listener is removed via removeEventListener, the sidebar doesn&apos;t update either.  I think this would be better addressed in a followup.

&gt;&gt; Source/JavaScriptCore/inspector/protocol/DOM.json:85
&gt;&gt; +                { &quot;name&quot;: &quot;isOnce&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true, &quot;description&quot;: &quot;&lt;code&gt;EventListener&lt;/code&gt;&apos;s isOnce.&quot; }
&gt; 
&gt; We normally drop the &quot;is&quot; prefix.

I was trying to match the existing &quot;isAttribute&quot; and the getter methods of RegisteredEventListener.  Would you prefer I change it to &quot;passive&quot; and &quot;once&quot;?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1286051</commentid>
    <comment_count>5</comment_count>
      <attachid>304109</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2017-03-10 19:40:48 -0800</bug_when>
    <thetext>Comment on attachment 304109
Patch

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

&gt;&gt;&gt; Source/JavaScriptCore/inspector/protocol/DOM.json:85
&gt;&gt;&gt; +                { &quot;name&quot;: &quot;isOnce&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true, &quot;description&quot;: &quot;&lt;code&gt;EventListener&lt;/code&gt;&apos;s isOnce.&quot; }
&gt;&gt; 
&gt;&gt; We normally drop the &quot;is&quot; prefix.
&gt; 
&gt; I was trying to match the existing &quot;isAttribute&quot; and the getter methods of RegisteredEventListener.  Would you prefer I change it to &quot;passive&quot; and &quot;once&quot;?

Hmm. ~105 non-is-prefixed booleans, 28 isPrefixed. So yeah, lets still drop the &quot;is&quot; here. The old &quot;isAttribute&quot; name is unfortunate better to keep it around for backwards compatibility.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1286201</commentid>
    <comment_count>6</comment_count>
      <attachid>304165</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2017-03-11 10:33:00 -0800</bug_when>
    <thetext>Created attachment 304165
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1286744</commentid>
    <comment_count>7</comment_count>
      <attachid>304166</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2017-03-11 10:50:43 -0800</bug_when>
    <thetext>Created attachment 304166
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1287261</commentid>
    <comment_count>8</comment_count>
      <attachid>304166</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2017-03-13 11:49:13 -0700</bug_when>
    <thetext>Comment on attachment 304166
Patch

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

&gt; LayoutTests/ChangeLog:12
&gt; +        * inspector/dom-debugger/dom-agent-expected.txt: Added.
&gt; +        * inspector/dom-debugger/dom-agent.html: Added.

(1) This name is too general. You are only testing getEventListenersForNode not the entire DOM Agent.
(2) This is in the &apos;dom&apos; domain, not the &apos;dom-debugger&apos; domain.

I&apos;d suggest:

    LayoutTests/inspector/dom/getEventListenersForNode.html

Following the pattern of:

    LayoutTests/inspector/&lt;domain&gt;/&lt;command&gt;.html

&gt; LayoutTests/inspector/dom/dom-agent.html:9
&gt; +    let suite = InspectorTest.createAsyncSuite(&quot;DOMAgent&quot;);

Yeah, name this suite &quot;DOM.getEventListenersForNode&quot;. You can name the test the same thing or I sometimes add &quot;.Basic&quot;.

&gt; LayoutTests/inspector/dom/dom-agent.html:23
&gt; +                    InspectorTest.log(`Node ID: ${eventListener.nodeId}`);

You could probably have a nice string output for the element to get: &quot;div#x&quot;, &quot;body&quot;, and &quot;#document&quot;.

I wonder if the nodeId itself might introduce flakiness (if not now maybe in the future).

&gt; LayoutTests/inspector/dom/dom-agent.html:65
&gt; +        element.addEventListener(&quot;a&quot;, (event) =&gt; {});

Giving a more complete name like &quot;alpha&quot; instead of &quot;a&quot; makes it easier to read the test results and makes it easier to search for if something fails related to this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1287303</commentid>
    <comment_count>9</comment_count>
      <attachid>304289</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2017-03-13 13:11:52 -0700</bug_when>
    <thetext>Created attachment 304289
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1287305</commentid>
    <comment_count>10</comment_count>
      <attachid>304289</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-03-13 13:12:25 -0700</bug_when>
    <thetext>Comment on attachment 304289
Patch

Rejecting attachment 304289 from commit-queue.

webkit@devinrousso.com does not have committer permissions according to http://trac.webkit.org/browser/trunk/Tools/Scripts/webkitpy/common/config/contributors.json.

- If you do not have committer rights please read http://webkit.org/coding/contributing.html for instructions on how to use bugzilla flags.

- If you have committer rights please correct the error in Tools/Scripts/webkitpy/common/config/contributors.json by adding yourself to the file (no review needed).  The commit-queue restarts itself every 2 hours.  After restart the commit-queue will correctly respect your committer rights.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1287334</commentid>
    <comment_count>11</comment_count>
      <attachid>304289</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-03-13 14:12:46 -0700</bug_when>
    <thetext>Comment on attachment 304289
Patch

Rejecting attachment 304289 from commit-queue.

webkit@devinrousso.com does not have committer permissions according to http://trac.webkit.org/browser/trunk/Tools/Scripts/webkitpy/common/config/contributors.json.

- If you do not have committer rights please read http://webkit.org/coding/contributing.html for instructions on how to use bugzilla flags.

- If you have committer rights please correct the error in Tools/Scripts/webkitpy/common/config/contributors.json by adding yourself to the file (no review needed).  The commit-queue restarts itself every 2 hours.  After restart the commit-queue will correctly respect your committer rights.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1287336</commentid>
    <comment_count>12</comment_count>
      <attachid>304289</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-03-13 14:15:51 -0700</bug_when>
    <thetext>Comment on attachment 304289
Patch

Rejecting attachment 304289 from commit-queue.

webkit@devinrousso.com does not have committer permissions according to http://trac.webkit.org/browser/trunk/Tools/Scripts/webkitpy/common/config/contributors.json.

- If you do not have committer rights please read http://webkit.org/coding/contributing.html for instructions on how to use bugzilla flags.

- If you have committer rights please correct the error in Tools/Scripts/webkitpy/common/config/contributors.json by adding yourself to the file (no review needed).  The commit-queue restarts itself every 2 hours.  After restart the commit-queue will correctly respect your committer rights.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1287382</commentid>
    <comment_count>13</comment_count>
      <attachid>304289</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-03-13 15:27:23 -0700</bug_when>
    <thetext>Comment on attachment 304289
Patch

Clearing flags on attachment: 304289

Committed r213873: &lt;http://trac.webkit.org/changeset/213873&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1287383</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-03-13 15:27:28 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>304109</attachid>
            <date>2017-03-10 18:03:31 -0800</date>
            <delta_ts>2017-03-11 10:32:55 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-167080-20170310190331.patch</filename>
            <type>text/plain</type>
            <size>7952</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDM5MzYzOTc2NmQyNjFkZjRjNmZkOWRjZjI5MTIx
ZDc5MWI2YTM1OWIuLjE4MGFmZGYxNDYyYmZkM2M1ZjhmMGZmNWRmZWQ4ODIwZjFkZmFmNDIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE3LTAzLTEwICBEZXZp
biBSb3Vzc28gIDxkY3JvdXNzbyt3ZWJraXRAZ21haWwuY29tPgorCisgICAgICAgIFdlYiBJbnNw
ZWN0b3I6IEV2ZW50IExpc3RlbmVycyBzZWN0aW9uIGlzIG1pc3NpbmcgJ29uY2UnLCAncGFzc2l2
ZScgZXZlbnQgbGlzdGVuZXIgZmxhZ3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE2NzA4MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogaW5zcGVjdG9yL3Byb3RvY29sL0RPTS5qc29uOgorICAgICAgICBB
ZGQgInBhc3NpdmUiIGFuZCAib25jZSIgaXRlbXMgdG8gdGhlIEV2ZW50TGlzdGVuZXIgdHlwZS4K
KwogMjAxNy0wMy0xMCAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3Jn
PgogCiAgICAgICAgIEZpeCBDTWFrZSBidWlsZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAxNWM2YWJlMzE1MDg1
YTY2NTI4NDI4MWFhZDU0MTMwZjY0NWE1Njk1Li5hYWYwMzc5NTIwYjMwZTM2ZTk3YWMxMTBhNTM5
ZGNmZTkzNDAxMGZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTctMDMtMTAgIERl
dmluIFJvdXNzbyAgPGRjcm91c3NvK3dlYmtpdEBnbWFpbC5jb20+CisKKyAgICAgICAgV2ViIElu
c3BlY3RvcjogRXZlbnQgTGlzdGVuZXJzIHNlY3Rpb24gaXMgbWlzc2luZyAnb25jZScsICdwYXNz
aXZlJyBldmVudCBsaXN0ZW5lciBmbGFncworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTY3MDgwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRE9NQWdlbnQ6OmJ1aWxkT2JqZWN0Rm9yRXZlbnRMaXN0
ZW5lcik6CisgICAgICAgIEFkZCAicGFzc2l2ZSIgYW5kICJvbmNlIiB2YWx1ZXMgdG8gdGhlIEV2
ZW50TGlzdGVuZXIgcHJvdG9jb2wgb2JqZWN0IHdoZW4gYXBwbGljYWJsZS4KKwogMjAxNy0wMy0x
MCAgRGVhbiBKYWNrc29uICA8ZGlub0BhcHBsZS5jb20+CiAKICAgICAgICAgV2ViR1BVOiBCYWNr
ZW5kIC0gVGV4dHVyZXMgYW5kIFRleHR1cmVEZXNjcmlwdG9ycwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VM
b2cKaW5kZXggY2U1NzZiNDYxMjRiZWYyM2ViMTRlY2QxZTcwZmQ0MjBkNjZkMzJiMS4uZDUzOTRk
MDJlNTE4NjIzMWY2NTcwZTU4MGZhMDBmMzEyOTQzMzczYSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
Ykluc3BlY3RvclVJL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTctMDMtMTAgIERldmluIFJvdXNzbyAgPGRjcm91c3Nv
K3dlYmtpdEBnbWFpbC5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogRXZlbnQgTGlzdGVu
ZXJzIHNlY3Rpb24gaXMgbWlzc2luZyAnb25jZScsICdwYXNzaXZlJyBldmVudCBsaXN0ZW5lciBm
bGFncworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY3
MDgwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBM
b2NhbGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanM6CisgICAgICAgICogVXNl
ckludGVyZmFjZS9WaWV3cy9FdmVudExpc3RlbmVyU2VjdGlvbkdyb3VwLmpzOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLkV2ZW50TGlzdGVuZXJTZWN0aW9uR3JvdXApOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLkV2ZW50TGlzdGVuZXJTZWN0aW9uR3JvdXAucHJvdG90eXBlLl90eXBlKTogRGVsZXRl
ZC4KKwogMjAxNy0wMy0wOSAgTWF0dCBCYWtlciAgPG1hdHRiYWtlckBhcHBsZS5jb20+CiAKICAg
ICAgICAgV2ViIEluc3BlY3RvcjogQWRkIFhIUiBicmVha3BvaW50cyBVSQpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9ET00uanNvbiBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvRE9NLmpzb24KaW5kZXggYTI0NjMz
NmJkNTMwM2VlMGZjNmFiOTgyYTEzNDUyMmE3NWM2NmRkMi4uYzZhMDBhMmNkOGQ3MDJhODk0YzQw
NzMwZjFkMjBmNjNkYzUxNGQzOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
c3BlY3Rvci9wcm90b2NvbC9ET00uanNvbgorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5z
cGVjdG9yL3Byb3RvY29sL0RPTS5qc29uCkBAIC04MCw3ICs4MCw5IEBACiAgICAgICAgICAgICAg
ICAgeyAibmFtZSI6ICJoYW5kbGVyQm9keSIsICJ0eXBlIjogInN0cmluZyIsICJkZXNjcmlwdGlv
biI6ICJFdmVudCBoYW5kbGVyIGZ1bmN0aW9uIGJvZHkuIiB9LAogICAgICAgICAgICAgICAgIHsg
Im5hbWUiOiAibG9jYXRpb24iLCAiJHJlZiI6ICJEZWJ1Z2dlci5Mb2NhdGlvbiIsICJvcHRpb25h
bCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJIYW5kbGVyIGNvZGUgbG9jYXRpb24uIiB9LAogICAg
ICAgICAgICAgICAgIHsgIm5hbWUiOiAic291cmNlTmFtZSIsICJ0eXBlIjogInN0cmluZyIsICJv
cHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJTb3VyY2Ugc2NyaXB0IFVSTC4iIH0sCi0g
ICAgICAgICAgICAgICAgeyAibmFtZSI6ICJoYW5kbGVyIiwgIiRyZWYiOiAiUnVudGltZS5SZW1v
dGVPYmplY3QiLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiRXZlbnQgaGFuZGxl
ciBmdW5jdGlvbiB2YWx1ZS4iIH0KKyAgICAgICAgICAgICAgICB7ICJuYW1lIjogImhhbmRsZXIi
LCAiJHJlZiI6ICJSdW50aW1lLlJlbW90ZU9iamVjdCIsICJvcHRpb25hbCI6IHRydWUsICJkZXNj
cmlwdGlvbiI6ICJFdmVudCBoYW5kbGVyIGZ1bmN0aW9uIHZhbHVlLiIgfSwKKyAgICAgICAgICAg
ICAgICB7ICJuYW1lIjogImlzUGFzc2l2ZSIsICJ0eXBlIjogImJvb2xlYW4iLCAib3B0aW9uYWwi
OiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiPGNvZGU+RXZlbnRMaXN0ZW5lcjwvY29kZT4ncyBpc1Bh
c3NpdmUuIiB9LAorICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiaXNPbmNlIiwgInR5cGUiOiAi
Ym9vbGVhbiIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICI8Y29kZT5FdmVudExp
c3RlbmVyPC9jb2RlPidzIGlzT25jZS4iIH0KICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAi
ZGVzY3JpcHRpb24iOiAiQSBzdHJ1Y3R1cmUgaG9sZGluZyBldmVudCBsaXN0ZW5lciBwcm9wZXJ0
aWVzLiIKICAgICAgICAgfSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JET01BZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
RE9NQWdlbnQuY3BwCmluZGV4IGJlMjVmNWRhZDc4OTRlNzM5MjFlNjdmYWY1OTFlMDk1Zjg4ZjE3
MGYuLjVkMGViZDI3NWFmYjc2ODA0YjdkMjkyNDQ3OTk3NDJiMDI0NDZlODAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcApAQCAtMTU0Niw2ICsx
NTQ2LDEwIEBAIFJlZjxJbnNwZWN0b3I6OlByb3RvY29sOjpET006OkV2ZW50TGlzdGVuZXI+IElu
c3BlY3RvckRPTUFnZW50OjpidWlsZE9iamVjdEZvckV2CiAgICAgICAgIGlmICghc291cmNlTmFt
ZS5pc0VtcHR5KCkpCiAgICAgICAgICAgICB2YWx1ZS0+c2V0U291cmNlTmFtZShzb3VyY2VOYW1l
KTsKICAgICB9CisgICAgaWYgKHJlZ2lzdGVyZWRFdmVudExpc3RlbmVyLmlzUGFzc2l2ZSgpKQor
ICAgICAgICB2YWx1ZS0+c2V0SXNQYXNzaXZlKHRydWUpOworICAgIGlmIChyZWdpc3RlcmVkRXZl
bnRMaXN0ZW5lci5pc09uY2UoKSkKKyAgICAgICAgdmFsdWUtPnNldElzT25jZSh0cnVlKTsKICAg
ICByZXR1cm4gdmFsdWU7CiB9CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvTG9jYWxpemF0aW9ucy9lbi5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL0xvY2FsaXphdGlvbnMvZW4ubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcwpp
bmRleCA5ZDhhNWFlNWYxYmFlYTgzMDcwNWJjNjUxMTU3NTA2NzY1NTA5NTgxLi45M2ZhYjJhZDE1
YmQwN2I5MzM4YTM1Nzg4ZDViZjA4MjVlYTdlNmMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvTG9jYWxpemF0aW9ucy9lbi5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzCisrKyBi
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Mb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0
cmluZ3MuanMKQEAgLTU2MCw2ICs1NjAsNyBAQCBsb2NhbGl6ZWRTdHJpbmdzWyJOdW1lcmljIl0g
PSAiTnVtZXJpYyI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJPYmplY3QgR3JhcGgiXSA9ICJPYmplY3Qg
R3JhcGgiOwogbG9jYWxpemVkU3RyaW5nc1siT2JqZWN0IFN0b3JlIl0gPSAiT2JqZWN0IFN0b3Jl
IjsKIGxvY2FsaXplZFN0cmluZ3NbIk9mZnNldCJdID0gIk9mZnNldCI7Citsb2NhbGl6ZWRTdHJp
bmdzWyJPbmNlIl0gPSAiT25jZSI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJPbmxpbmUiXSA9ICJPbmxp
bmUiOwogbG9jYWxpemVkU3RyaW5nc1siT25seSBzaG93IHJlc291cmNlcyB3aXRoIGlzc3VlcyJd
ID0gIk9ubHkgc2hvdyByZXNvdXJjZXMgd2l0aCBpc3N1ZXMiOwogbG9jYWxpemVkU3RyaW5nc1si
T3BhY2l0eSJdID0gIk9wYWNpdHkiOwpAQCAtNTk0LDYgKzU5NSw3IEBAIGxvY2FsaXplZFN0cmlu
Z3NbIlBhaW50Il0gPSAiUGFpbnQiOwogbG9jYWxpemVkU3RyaW5nc1siUGFpbnRzIl0gPSAiUGFp
bnRzIjsKIGxvY2FsaXplZFN0cmluZ3NbIlBhcmVudCJdID0gIlBhcmVudCI7CiBsb2NhbGl6ZWRT
dHJpbmdzWyJQYXJ0aWFsIEdhcmJhZ2UgQ29sbGVjdGlvbiJdID0gIlBhcnRpYWwgR2FyYmFnZSBD
b2xsZWN0aW9uIjsKK2xvY2FsaXplZFN0cmluZ3NbIlBhc3NpdmUiXSA9ICJQYXNzaXZlIjsKIGxv
Y2FsaXplZFN0cmluZ3NbIlBhdGgiXSA9ICJQYXRoIjsKIGxvY2FsaXplZFN0cmluZ3NbIlBhdXNl
IFBsYXliYWNrIl0gPSAiUGF1c2UgUGxheWJhY2siOwogbG9jYWxpemVkU3RyaW5nc1siUGF1c2Ug
UmVhc29uIl0gPSAiUGF1c2UgUmVhc29uIjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0V2ZW50TGlzdGVuZXJTZWN0aW9uR3JvdXAuanMgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9FdmVudExpc3RlbmVyU2Vj
dGlvbkdyb3VwLmpzCmluZGV4IDkyYjdlNDJhZjVjOGZmMmE3NDZiNTg3MWM1YzI0MzI5MGUzMzhm
YjUuLjc2ODBkNDQ3MzQyYmViMWViNWYxMjE3MWRlMWVhNmY5NDE2YjkzZGEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0V2ZW50TGlzdGVuZXJT
ZWN0aW9uR3JvdXAuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
Vmlld3MvRXZlbnRMaXN0ZW5lclNlY3Rpb25Hcm91cC5qcwpAQCAtMzUsNyArMzUsMjEgQEAgV2Vi
SW5zcGVjdG9yLkV2ZW50TGlzdGVuZXJTZWN0aW9uR3JvdXAgPSBjbGFzcyBFdmVudExpc3RlbmVy
U2VjdGlvbkdyb3VwIGV4dGVuZHMKICAgICAgICAgdmFyIHJvd3MgPSBbXTsKICAgICAgICAgcm93
cy5wdXNoKG5ldyBXZWJJbnNwZWN0b3IuRGV0YWlsc1NlY3Rpb25TaW1wbGVSb3coV2ViSW5zcGVj
dG9yLlVJU3RyaW5nKCJOb2RlIiksIHRoaXMuX25vZGVUZXh0T3JMaW5rKCkpKTsKICAgICAgICAg
cm93cy5wdXNoKG5ldyBXZWJJbnNwZWN0b3IuRGV0YWlsc1NlY3Rpb25TaW1wbGVSb3coV2ViSW5z
cGVjdG9yLlVJU3RyaW5nKCJGdW5jdGlvbiIpLCB0aGlzLl9mdW5jdGlvblRleHRPckxpbmsoKSkp
OwotICAgICAgICByb3dzLnB1c2gobmV3IFdlYkluc3BlY3Rvci5EZXRhaWxzU2VjdGlvblNpbXBs
ZVJvdyhXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlR5cGUiKSwgdGhpcy5fdHlwZSgpKSk7CisKKyAg
ICAgICAgaWYgKHRoaXMuX2V2ZW50TGlzdGVuZXIudXNlQ2FwdHVyZSkKKyAgICAgICAgICAgIHJv
d3MucHVzaChuZXcgV2ViSW5zcGVjdG9yLkRldGFpbHNTZWN0aW9uU2ltcGxlUm93KFdlYkluc3Bl
Y3Rvci5VSVN0cmluZygiQ2FwdHVyaW5nIiksIFdlYkluc3BlY3Rvci5VSVN0cmluZygiWWVzIikp
KTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgcm93cy5wdXNoKG5ldyBXZWJJbnNwZWN0b3Iu
RGV0YWlsc1NlY3Rpb25TaW1wbGVSb3coV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJCdWJibGluZyIp
LCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlllcyIpKSk7CisKKyAgICAgICAgaWYgKHRoaXMuX2V2
ZW50TGlzdGVuZXIuaXNBdHRyaWJ1dGUpCisgICAgICAgICAgICByb3dzLnB1c2gobmV3IFdlYklu
c3BlY3Rvci5EZXRhaWxzU2VjdGlvblNpbXBsZVJvdyhXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkF0
dHJpYnV0ZSIpLCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlllcyIpKSk7CisKKyAgICAgICAgaWYg
KHRoaXMuX2V2ZW50TGlzdGVuZXIuaXNQYXNzaXZlKQorICAgICAgICAgICAgcm93cy5wdXNoKG5l
dyBXZWJJbnNwZWN0b3IuRGV0YWlsc1NlY3Rpb25TaW1wbGVSb3coV2ViSW5zcGVjdG9yLlVJU3Ry
aW5nKCJQYXNzaXZlIiksIFdlYkluc3BlY3Rvci5VSVN0cmluZygiWWVzIikpKTsKKworICAgICAg
ICBpZiAodGhpcy5fZXZlbnRMaXN0ZW5lci5pc09uY2UpCisgICAgICAgICAgICByb3dzLnB1c2go
bmV3IFdlYkluc3BlY3Rvci5EZXRhaWxzU2VjdGlvblNpbXBsZVJvdyhXZWJJbnNwZWN0b3IuVUlT
dHJpbmcoIk9uY2UiKSwgV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJZZXMiKSkpOworCiAgICAgICAg
IHRoaXMucm93cyA9IHJvd3M7CiAgICAgfQogCkBAIC01NCwxNyArNjgsNiBAQCBXZWJJbnNwZWN0
b3IuRXZlbnRMaXN0ZW5lclNlY3Rpb25Hcm91cCA9IGNsYXNzIEV2ZW50TGlzdGVuZXJTZWN0aW9u
R3JvdXAgZXh0ZW5kcwogICAgICAgICByZXR1cm4gV2ViSW5zcGVjdG9yLmxpbmtpZnlOb2RlUmVm
ZXJlbmNlKG5vZGUpOwogICAgIH0KIAotICAgIF90eXBlKCkKLSAgICB7Ci0gICAgICAgIGlmICh0
aGlzLl9ldmVudExpc3RlbmVyLnVzZUNhcHR1cmUpCi0gICAgICAgICAgICByZXR1cm4gV2ViSW5z
cGVjdG9yLlVJU3RyaW5nKCJDYXB0dXJpbmciKTsKLQotICAgICAgICBpZiAodGhpcy5fZXZlbnRM
aXN0ZW5lci5pc0F0dHJpYnV0ZSkKLSAgICAgICAgICAgIHJldHVybiBXZWJJbnNwZWN0b3IuVUlT
dHJpbmcoIkF0dHJpYnV0ZSIpOwotCi0gICAgICAgIHJldHVybiBXZWJJbnNwZWN0b3IuVUlTdHJp
bmcoIkJ1YmJsaW5nIik7Ci0gICAgfQotCiAgICAgX2Z1bmN0aW9uVGV4dE9yTGluaygpCiAgICAg
ewogICAgICAgICB2YXIgbWF0Y2ggPSB0aGlzLl9ldmVudExpc3RlbmVyLmhhbmRsZXJCb2R5Lm1h
dGNoKC9mdW5jdGlvbiAoW15cKF0rPylcKC8pOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>304165</attachid>
            <date>2017-03-11 10:33:00 -0800</date>
            <delta_ts>2017-03-11 10:50:38 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-167080-20170311113259.patch</filename>
            <type>text/plain</type>
            <size>12768</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDM5MzYzOTc2NmQyNjFkZjRjNmZkOWRjZjI5MTIx
ZDc5MWI2YTM1OWIuLjc5YWUzMmYzMzMxNjYxYTQxNzhhNjFlM2FhZjE1MWMzZjA2NTNhZWQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE3LTAzLTExICBEZXZp
biBSb3Vzc28gIDxjb2RlQGRldmlucm91c3NvLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9y
OiBFdmVudCBMaXN0ZW5lcnMgc2VjdGlvbiBpcyBtaXNzaW5nICdvbmNlJywgJ3Bhc3NpdmUnIGV2
ZW50IGxpc3RlbmVyIGZsYWdzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNjcwODAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICAqIGluc3BlY3Rvci9wcm90b2NvbC9ET00uanNvbjoKKyAgICAgICAgQWRkICJw
YXNzaXZlIiBhbmQgIm9uY2UiIGl0ZW1zIHRvIHRoZSBFdmVudExpc3RlbmVyIHR5cGUuCisKIDIw
MTctMDMtMTAgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAog
ICAgICAgICBGaXggQ01ha2UgYnVpbGQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTVjNmFiZTMxNTA4NWE2NjUy
ODQyODFhYWQ1NDEzMGY2NDVhNTY5NS4uMmZiMjdiNWIwYzRhOTM5YWY3YzJlNGM2OWI2YjZhZmZk
ZjIwMGU0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDE3LTAzLTExICBEZXZpbiBS
b3Vzc28gIDxjb2RlQGRldmlucm91c3NvLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBF
dmVudCBMaXN0ZW5lcnMgc2VjdGlvbiBpcyBtaXNzaW5nICdvbmNlJywgJ3Bhc3NpdmUnIGV2ZW50
IGxpc3RlbmVyIGZsYWdzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xNjcwODAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBUZXN0OiBpbnNwZWN0b3IvZG9tL2RvbS1hZ2VudC5odG1sCisKKyAgICAgICAgKiBp
bnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVj
dG9yRE9NQWdlbnQ6OmJ1aWxkT2JqZWN0Rm9yRXZlbnRMaXN0ZW5lcik6CisgICAgICAgIEFkZCAi
cGFzc2l2ZSIgYW5kICJvbmNlIiB2YWx1ZXMgdG8gdGhlIEV2ZW50TGlzdGVuZXIgcHJvdG9jb2wg
b2JqZWN0IHdoZW4gYXBwbGljYWJsZS4KKwogMjAxNy0wMy0xMCAgRGVhbiBKYWNrc29uICA8ZGlu
b0BhcHBsZS5jb20+CiAKICAgICAgICAgV2ViR1BVOiBCYWNrZW5kIC0gVGV4dHVyZXMgYW5kIFRl
eHR1cmVEZXNjcmlwdG9ycwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKaW5kZXggY2U1NzZiNDYxMjRi
ZWYyM2ViMTRlY2QxZTcwZmQ0MjBkNjZkMzJiMS4uZTZiNjJjMTA1ZmE3ZjVkOThkZDk0MWEwZWQ1
ODcxODY4MzdkODAzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxv
ZworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAK
KzIwMTctMDMtMTEgIERldmluIFJvdXNzbyAgPGNvZGVAZGV2aW5yb3Vzc28uY29tPgorCisgICAg
ICAgIFdlYiBJbnNwZWN0b3I6IEV2ZW50IExpc3RlbmVycyBzZWN0aW9uIGlzIG1pc3NpbmcgJ29u
Y2UnLCAncGFzc2l2ZScgZXZlbnQgbGlzdGVuZXIgZmxhZ3MKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NzA4MAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogTG9jYWxpemF0aW9ucy9lbi5scHJvai9sb2Nh
bGl6ZWRTdHJpbmdzLmpzOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvRXZlbnRMaXN0
ZW5lclNlY3Rpb25Hcm91cC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5FdmVudExpc3RlbmVy
U2VjdGlvbkdyb3VwKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5FdmVudExpc3RlbmVyU2VjdGlv
bkdyb3VwLnByb3RvdHlwZS5fdHlwZSk6IERlbGV0ZWQuCisKIDIwMTctMDMtMDkgIE1hdHQgQmFr
ZXIgIDxtYXR0YmFrZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IEFkZCBY
SFIgYnJlYWtwb2ludHMgVUkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNw
ZWN0b3IvcHJvdG9jb2wvRE9NLmpzb24gYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9y
L3Byb3RvY29sL0RPTS5qc29uCmluZGV4IGEyNDYzMzZiZDUzMDNlZTBmYzZhYjk4MmExMzQ1MjJh
NzVjNjZkZDIuLjNjNTA5Y2QyOGU3N2ZiZjJlMWEwMTk4NWNiOTEzZWE1YmE0ZmMxNjEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvRE9NLmpzb24K
KysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9ET00uanNvbgpA
QCAtODAsNyArODAsOSBAQAogICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiaGFuZGxlckJvZHki
LCAidHlwZSI6ICJzdHJpbmciLCAiZGVzY3JpcHRpb24iOiAiRXZlbnQgaGFuZGxlciBmdW5jdGlv
biBib2R5LiIgfSwKICAgICAgICAgICAgICAgICB7ICJuYW1lIjogImxvY2F0aW9uIiwgIiRyZWYi
OiAiRGVidWdnZXIuTG9jYXRpb24iLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAi
SGFuZGxlciBjb2RlIGxvY2F0aW9uLiIgfSwKICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInNv
dXJjZU5hbWUiLCAidHlwZSI6ICJzdHJpbmciLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRp
b24iOiAiU291cmNlIHNjcmlwdCBVUkwuIiB9LAotICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAi
aGFuZGxlciIsICIkcmVmIjogIlJ1bnRpbWUuUmVtb3RlT2JqZWN0IiwgIm9wdGlvbmFsIjogdHJ1
ZSwgImRlc2NyaXB0aW9uIjogIkV2ZW50IGhhbmRsZXIgZnVuY3Rpb24gdmFsdWUuIiB9CisgICAg
ICAgICAgICAgICAgeyAibmFtZSI6ICJoYW5kbGVyIiwgIiRyZWYiOiAiUnVudGltZS5SZW1vdGVP
YmplY3QiLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiRXZlbnQgaGFuZGxlciBm
dW5jdGlvbiB2YWx1ZS4iIH0sCisgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJwYXNzaXZlIiwg
InR5cGUiOiAiYm9vbGVhbiIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICI8Y29k
ZT5FdmVudExpc3RlbmVyPC9jb2RlPidzIHBhc3NpdmUuIiB9LAorICAgICAgICAgICAgICAgIHsg
Im5hbWUiOiAib25jZSIsICJ0eXBlIjogImJvb2xlYW4iLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVz
Y3JpcHRpb24iOiAiPGNvZGU+RXZlbnRMaXN0ZW5lcjwvY29kZT4ncyBvbmNlLiIgfQogICAgICAg
ICAgICAgXSwKICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJBIHN0cnVjdHVyZSBob2xkaW5n
IGV2ZW50IGxpc3RlbmVyIHByb3BlcnRpZXMuIgogICAgICAgICB9LApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAKaW5kZXggYmUyNWY1ZGFkNzg5NGU3
MzkyMWU2N2ZhZjU5MWUwOTVmODhmMTcwZi4uM2U3NDZkODcwY2E0MTg5MTA0MzBiZTgzM2JlZWUy
YTY4MjA3MWI2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
ckRPTUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9N
QWdlbnQuY3BwCkBAIC0xNTQ2LDYgKzE1NDYsMTAgQEAgUmVmPEluc3BlY3Rvcjo6UHJvdG9jb2w6
OkRPTTo6RXZlbnRMaXN0ZW5lcj4gSW5zcGVjdG9yRE9NQWdlbnQ6OmJ1aWxkT2JqZWN0Rm9yRXYK
ICAgICAgICAgaWYgKCFzb3VyY2VOYW1lLmlzRW1wdHkoKSkKICAgICAgICAgICAgIHZhbHVlLT5z
ZXRTb3VyY2VOYW1lKHNvdXJjZU5hbWUpOwogICAgIH0KKyAgICBpZiAocmVnaXN0ZXJlZEV2ZW50
TGlzdGVuZXIuaXNQYXNzaXZlKCkpCisgICAgICAgIHZhbHVlLT5zZXRQYXNzaXZlKHRydWUpOwor
ICAgIGlmIChyZWdpc3RlcmVkRXZlbnRMaXN0ZW5lci5pc09uY2UoKSkKKyAgICAgICAgdmFsdWUt
PnNldE9uY2UodHJ1ZSk7CiAgICAgcmV0dXJuIHZhbHVlOwogfQogICAgIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkluc3BlY3RvclVJL0xvY2FsaXphdGlvbnMvZW4ubHByb2ovbG9jYWxpemVkU3Ry
aW5ncy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Mb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xv
Y2FsaXplZFN0cmluZ3MuanMKaW5kZXggOWQ4YTVhZTVmMWJhZWE4MzA3MDViYzY1MTE1NzUwNjc2
NTUwOTU4MS4uOTNmYWIyYWQxNWJkMDdiOTMzOGEzNTc4OGQ1YmYwODI1ZWE3ZTZjMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL0xvY2FsaXphdGlvbnMvZW4ubHByb2ovbG9jYWxp
emVkU3RyaW5ncy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvTG9jYWxpemF0aW9ucy9l
bi5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzCkBAIC01NjAsNiArNTYwLDcgQEAgbG9jYWxpemVk
U3RyaW5nc1siTnVtZXJpYyJdID0gIk51bWVyaWMiOwogbG9jYWxpemVkU3RyaW5nc1siT2JqZWN0
IEdyYXBoIl0gPSAiT2JqZWN0IEdyYXBoIjsKIGxvY2FsaXplZFN0cmluZ3NbIk9iamVjdCBTdG9y
ZSJdID0gIk9iamVjdCBTdG9yZSI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJPZmZzZXQiXSA9ICJPZmZz
ZXQiOworbG9jYWxpemVkU3RyaW5nc1siT25jZSJdID0gIk9uY2UiOwogbG9jYWxpemVkU3RyaW5n
c1siT25saW5lIl0gPSAiT25saW5lIjsKIGxvY2FsaXplZFN0cmluZ3NbIk9ubHkgc2hvdyByZXNv
dXJjZXMgd2l0aCBpc3N1ZXMiXSA9ICJPbmx5IHNob3cgcmVzb3VyY2VzIHdpdGggaXNzdWVzIjsK
IGxvY2FsaXplZFN0cmluZ3NbIk9wYWNpdHkiXSA9ICJPcGFjaXR5IjsKQEAgLTU5NCw2ICs1OTUs
NyBAQCBsb2NhbGl6ZWRTdHJpbmdzWyJQYWludCJdID0gIlBhaW50IjsKIGxvY2FsaXplZFN0cmlu
Z3NbIlBhaW50cyJdID0gIlBhaW50cyI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJQYXJlbnQiXSA9ICJQ
YXJlbnQiOwogbG9jYWxpemVkU3RyaW5nc1siUGFydGlhbCBHYXJiYWdlIENvbGxlY3Rpb24iXSA9
ICJQYXJ0aWFsIEdhcmJhZ2UgQ29sbGVjdGlvbiI7Citsb2NhbGl6ZWRTdHJpbmdzWyJQYXNzaXZl
Il0gPSAiUGFzc2l2ZSI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJQYXRoIl0gPSAiUGF0aCI7CiBsb2Nh
bGl6ZWRTdHJpbmdzWyJQYXVzZSBQbGF5YmFjayJdID0gIlBhdXNlIFBsYXliYWNrIjsKIGxvY2Fs
aXplZFN0cmluZ3NbIlBhdXNlIFJlYXNvbiJdID0gIlBhdXNlIFJlYXNvbiI7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9FdmVudExpc3RlbmVy
U2VjdGlvbkdyb3VwLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvRXZlbnRMaXN0ZW5lclNlY3Rpb25Hcm91cC5qcwppbmRleCA5MmI3ZTQyYWY1YzhmZjJhNzQ2
YjU4NzFjNWMyNDMyOTBlMzM4ZmI1Li4yZDk3YzRhNDA2OGIyN2EzYjZiM2IzOTM3MGE0NmIyM2M4
NjFjMDc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9W
aWV3cy9FdmVudExpc3RlbmVyU2VjdGlvbkdyb3VwLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0V2ZW50TGlzdGVuZXJTZWN0aW9uR3JvdXAuanMKQEAg
LTM1LDcgKzM1LDIxIEBAIFdlYkluc3BlY3Rvci5FdmVudExpc3RlbmVyU2VjdGlvbkdyb3VwID0g
Y2xhc3MgRXZlbnRMaXN0ZW5lclNlY3Rpb25Hcm91cCBleHRlbmRzCiAgICAgICAgIHZhciByb3dz
ID0gW107CiAgICAgICAgIHJvd3MucHVzaChuZXcgV2ViSW5zcGVjdG9yLkRldGFpbHNTZWN0aW9u
U2ltcGxlUm93KFdlYkluc3BlY3Rvci5VSVN0cmluZygiTm9kZSIpLCB0aGlzLl9ub2RlVGV4dE9y
TGluaygpKSk7CiAgICAgICAgIHJvd3MucHVzaChuZXcgV2ViSW5zcGVjdG9yLkRldGFpbHNTZWN0
aW9uU2ltcGxlUm93KFdlYkluc3BlY3Rvci5VSVN0cmluZygiRnVuY3Rpb24iKSwgdGhpcy5fZnVu
Y3Rpb25UZXh0T3JMaW5rKCkpKTsKLSAgICAgICAgcm93cy5wdXNoKG5ldyBXZWJJbnNwZWN0b3Iu
RGV0YWlsc1NlY3Rpb25TaW1wbGVSb3coV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJUeXBlIiksIHRo
aXMuX3R5cGUoKSkpOworCisgICAgICAgIGlmICh0aGlzLl9ldmVudExpc3RlbmVyLnVzZUNhcHR1
cmUpCisgICAgICAgICAgICByb3dzLnB1c2gobmV3IFdlYkluc3BlY3Rvci5EZXRhaWxzU2VjdGlv
blNpbXBsZVJvdyhXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkNhcHR1cmluZyIpLCBXZWJJbnNwZWN0
b3IuVUlTdHJpbmcoIlllcyIpKSk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHJvd3MucHVz
aChuZXcgV2ViSW5zcGVjdG9yLkRldGFpbHNTZWN0aW9uU2ltcGxlUm93KFdlYkluc3BlY3Rvci5V
SVN0cmluZygiQnViYmxpbmciKSwgV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJZZXMiKSkpOworCisg
ICAgICAgIGlmICh0aGlzLl9ldmVudExpc3RlbmVyLmlzQXR0cmlidXRlKQorICAgICAgICAgICAg
cm93cy5wdXNoKG5ldyBXZWJJbnNwZWN0b3IuRGV0YWlsc1NlY3Rpb25TaW1wbGVSb3coV2ViSW5z
cGVjdG9yLlVJU3RyaW5nKCJBdHRyaWJ1dGUiKSwgV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJZZXMi
KSkpOworCisgICAgICAgIGlmICh0aGlzLl9ldmVudExpc3RlbmVyLnBhc3NpdmUpCisgICAgICAg
ICAgICByb3dzLnB1c2gobmV3IFdlYkluc3BlY3Rvci5EZXRhaWxzU2VjdGlvblNpbXBsZVJvdyhX
ZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlBhc3NpdmUiKSwgV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJZ
ZXMiKSkpOworCisgICAgICAgIGlmICh0aGlzLl9ldmVudExpc3RlbmVyLm9uY2UpCisgICAgICAg
ICAgICByb3dzLnB1c2gobmV3IFdlYkluc3BlY3Rvci5EZXRhaWxzU2VjdGlvblNpbXBsZVJvdyhX
ZWJJbnNwZWN0b3IuVUlTdHJpbmcoIk9uY2UiKSwgV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJZZXMi
KSkpOworCiAgICAgICAgIHRoaXMucm93cyA9IHJvd3M7CiAgICAgfQogCkBAIC01NCwxNyArNjgs
NiBAQCBXZWJJbnNwZWN0b3IuRXZlbnRMaXN0ZW5lclNlY3Rpb25Hcm91cCA9IGNsYXNzIEV2ZW50
TGlzdGVuZXJTZWN0aW9uR3JvdXAgZXh0ZW5kcwogICAgICAgICByZXR1cm4gV2ViSW5zcGVjdG9y
LmxpbmtpZnlOb2RlUmVmZXJlbmNlKG5vZGUpOwogICAgIH0KIAotICAgIF90eXBlKCkKLSAgICB7
Ci0gICAgICAgIGlmICh0aGlzLl9ldmVudExpc3RlbmVyLnVzZUNhcHR1cmUpCi0gICAgICAgICAg
ICByZXR1cm4gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJDYXB0dXJpbmciKTsKLQotICAgICAgICBp
ZiAodGhpcy5fZXZlbnRMaXN0ZW5lci5pc0F0dHJpYnV0ZSkKLSAgICAgICAgICAgIHJldHVybiBX
ZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkF0dHJpYnV0ZSIpOwotCi0gICAgICAgIHJldHVybiBXZWJJ
bnNwZWN0b3IuVUlTdHJpbmcoIkJ1YmJsaW5nIik7Ci0gICAgfQotCiAgICAgX2Z1bmN0aW9uVGV4
dE9yTGluaygpCiAgICAgewogICAgICAgICB2YXIgbWF0Y2ggPSB0aGlzLl9ldmVudExpc3RlbmVy
LmhhbmRsZXJCb2R5Lm1hdGNoKC9mdW5jdGlvbiAoW15cKF0rPylcKC8pOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDU1OWQ1
NzhlM2Q1YTMyN2YxNDUxMGFkOWJiMTVlZDQ4YTAzYWQ1ODYuLjFhOGYyNDFjZGY4NWIzZjQwYTQ3
ZTkyMDljZmRmODVkZjJkZGIwMzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxNy0wMy0xMSAg
RGV2aW4gUm91c3NvICA8Y29kZUBkZXZpbnJvdXNzby5jb20+CisKKyAgICAgICAgV2ViIEluc3Bl
Y3RvcjogRXZlbnQgTGlzdGVuZXJzIHNlY3Rpb24gaXMgbWlzc2luZyAnb25jZScsICdwYXNzaXZl
JyBldmVudCBsaXN0ZW5lciBmbGFncworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTY3MDgwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVGVzdHMgdGhlIHJlc3VsdCBvZiBET01BZ2VudC5nZXRFdmVudExpc3Rl
bmVyc0Zvck5vZGUgYW5kIGVuc3VyZXMgdGhhdCBhZGRpdGlvbmFsIG9wdGlvbnMKKyAgICAgICAg
YXJlIHBhc3NlZCB0byB0aGUgZnJvbnRlbmQuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvZG9tLWRl
YnVnZ2VyL2RvbS1hZ2VudC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rv
ci9kb20tZGVidWdnZXIvZG9tLWFnZW50Lmh0bWw6IEFkZGVkLgorCiAyMDE3LTAzLTEwICBSeWFu
IEhhZGRhZCAgPHJ5YW5oYWRkYWRAYXBwbGUuY29tPgogCiAgICAgICAgIE1hcmsgd2VicnRjL2xp
YndlYnJ0Yy9kZXNjcmlwdGlvbkdldHRlcnMuaHRtbCBhcyBhIGZsYWt5LgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS9kb20tYWdlbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL2RvbS9kb20tYWdlbnQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjky
YzA2OTQ5MDk0NzJhYjgxNGJlMGZjYzNjOGM1Yjc0Mjk2ZWRkYTgKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZG9tL2RvbS1hZ2VudC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzNiBAQAorVGVzdGluZyBtZXRob2RzIG9mIERPTUFnZW50LgorCisKKz09IFJ1bm5pbmcg
dGVzdCBzdWl0ZTogRE9NQWdlbnQKKy0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBET01BZ2VudC5nZXRF
dmVudExpc3RlbmVyc0Zvck5vZGUKK0V2ZW50OiBhCitOb2RlIElEOiA1CitDYXB0dXJlOiB0cnVl
CitBdHRyaWJ1dGU6IGZhbHNlCitQQVNTOiBUaGUgRXZlbnQgTGlzdGVuZXIgaGFzIGEgc291cmNl
IGxvY2F0aW9uLgorUEFTUzogVGhlIEV2ZW50IExpc3RlbmVyIGhhcyBhIGZ1bmN0aW9uLgorCitF
dmVudDogYgorTm9kZSBJRDogOAorQ2FwdHVyZTogZmFsc2UKK0F0dHJpYnV0ZTogZmFsc2UKK09u
Y2U6IHRydWUKK1BBU1M6IFRoZSBFdmVudCBMaXN0ZW5lciBoYXMgYSBzb3VyY2UgbG9jYXRpb24u
CitQQVNTOiBUaGUgRXZlbnQgTGlzdGVuZXIgaGFzIGEgZnVuY3Rpb24uCisKK0V2ZW50OiBhCitO
b2RlIElEOiA4CitDYXB0dXJlOiBmYWxzZQorQXR0cmlidXRlOiBmYWxzZQorUEFTUzogVGhlIEV2
ZW50IExpc3RlbmVyIGhhcyBhIHNvdXJjZSBsb2NhdGlvbi4KK1BBU1M6IFRoZSBFdmVudCBMaXN0
ZW5lciBoYXMgYSBmdW5jdGlvbi4KKworRXZlbnQ6IGEKK05vZGUgSUQ6IDEKK0NhcHR1cmU6IGZh
bHNlCitBdHRyaWJ1dGU6IGZhbHNlCitQYXNzaXZlOiB0cnVlCitQQVNTOiBUaGUgRXZlbnQgTGlz
dGVuZXIgaGFzIGEgc291cmNlIGxvY2F0aW9uLgorUEFTUzogVGhlIEV2ZW50IExpc3RlbmVyIGhh
cyBhIGZ1bmN0aW9uLgorCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20v
ZG9tLWFnZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZG9tL2RvbS1hZ2VudC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmY5MzhjZTlmNmU2NDJiYzZhNjU4ZGIzNzM4MTE5YTU0OWY3ZjYzNjEKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZG9tL2RvbS1hZ2VudC5odG1s
CkBAIC0wLDAgKzEsNzMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZXMvaW5zcGVjdG9yLXRl
c3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Z1bmN0aW9uIHRlc3QoKSB7CisgICAgbGV0IGRv
bU5vZGUgPSBudWxsOworCisgICAgbGV0IHN1aXRlID0gSW5zcGVjdG9yVGVzdC5jcmVhdGVBc3lu
Y1N1aXRlKCJET01BZ2VudCIpOworCisgICAgc3VpdGUuYWRkVGVzdENhc2UoeworICAgICAgICBu
YW1lOiAiRE9NQWdlbnQuZ2V0RXZlbnRMaXN0ZW5lcnNGb3JOb2RlIiwKKyAgICAgICAgZGVzY3Jp
cHRpb246ICJFbnN1cmUgYWxsIGFwcGxpY2FibGUgZmllbGRzIG9mIGVhY2ggZXZlbnQgbGlzdGVu
ZXIgaXMgc3VwcGxpZWQuIiwKKyAgICAgICAgdGVzdChyZXNvbHZlLCByZWplY3QpIHsKKyAgICAg
ICAgICAgIERPTUFnZW50LmdldEV2ZW50TGlzdGVuZXJzRm9yTm9kZShkb21Ob2RlLmlkLCAoZXJy
b3IsIGV2ZW50TGlzdGVuZXJzKSA9PiB7CisgICAgICAgICAgICAgICAgaWYgKGVycm9yKSB7Cisg
ICAgICAgICAgICAgICAgICAgIHJlamVjdChlcnJvcik7CisgICAgICAgICAgICAgICAgICAgIHJl
dHVybjsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBmb3IgKGxldCBldmVu
dExpc3RlbmVyIG9mIGV2ZW50TGlzdGVuZXJzKSB7CisgICAgICAgICAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3QubG9nKGBFdmVudDogJHtldmVudExpc3RlbmVyLnR5cGV9YCk7CisgICAgICAgICAg
ICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKGBOb2RlIElEOiAke2V2ZW50TGlzdGVuZXIubm9k
ZUlkfWApOworICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZyhgQ2FwdHVyZTog
JHtldmVudExpc3RlbmVyLnVzZUNhcHR1cmV9YCk7CisgICAgICAgICAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3QubG9nKGBBdHRyaWJ1dGU6ICR7ZXZlbnRMaXN0ZW5lci5pc0F0dHJpYnV0ZX1gKTsK
KworICAgICAgICAgICAgICAgICAgICBpZiAoZXZlbnRMaXN0ZW5lci5wYXNzaXZlKQorICAgICAg
ICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coYFBhc3NpdmU6ICR7ZXZlbnRMaXN0
ZW5lci5wYXNzaXZlfWApOworICAgICAgICAgICAgICAgICAgICBpZiAoZXZlbnRMaXN0ZW5lci5v
bmNlKQorICAgICAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coYE9uY2U6ICR7
ZXZlbnRMaXN0ZW5lci5vbmNlfWApOworCisgICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuZXhwZWN0VGhhdChldmVudExpc3RlbmVyLmxvY2F0aW9uLCAiVGhlIEV2ZW50IExpc3RlbmVy
IGhhcyBhIHNvdXJjZSBsb2NhdGlvbi4iKTsKKyAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5leHBlY3RUaGF0KGV2ZW50TGlzdGVuZXIuaGFuZGxlckJvZHksICJUaGUgRXZlbnQgTGlz
dGVuZXIgaGFzIGEgZnVuY3Rpb24uIik7CisKKyAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5sb2coIiIpOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIHJlc29s
dmUoKTsKKyAgICAgICAgICAgIH0pOworICAgICAgICB9CisgICAgfSk7CisKKyAgICBXZWJJbnNw
ZWN0b3IuZG9tVHJlZU1hbmFnZXIucmVxdWVzdERvY3VtZW50KChkb2N1bWVudE5vZGUpID0+IHsK
KyAgICAgICAgV2ViSW5zcGVjdG9yLmRvbVRyZWVNYW5hZ2VyLnF1ZXJ5U2VsZWN0b3IoZG9jdW1l
bnROb2RlLmlkLCAiZGl2I3giLCAoY29udGVudE5vZGVJZCkgPT4geworICAgICAgICAgICAgaWYg
KCFjb250ZW50Tm9kZUlkKSB7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5mYWlsKCJE
T00gbm9kZSBub3QgZm91bmQuIik7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21w
bGV0ZVRlc3QoKTsKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9CisKKyAg
ICAgICAgICAgIGRvbU5vZGUgPSBXZWJJbnNwZWN0b3IuZG9tVHJlZU1hbmFnZXIubm9kZUZvcklk
KGNvbnRlbnROb2RlSWQpOworCisgICAgICAgICAgICBzdWl0ZS5ydW5UZXN0Q2FzZXNBbmRGaW5p
c2goKTsKKyAgICAgICAgfSk7CisgICAgfSk7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
IG9ubG9hZD0icnVuVGVzdCgpIj4KKyAgICA8cD5UZXN0aW5nIG1ldGhvZHMgb2YgRE9NQWdlbnQu
PC9wPgorCisgICAgPGRpdiBpZD0ieCI+PC9kaXY+CisgICAgPHNjcmlwdD4KKyAgICAgICAgbGV0
IGVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgieCIpOworICAgICAgICBlbGVtZW50
LmFkZEV2ZW50TGlzdGVuZXIoImEiLCAoZXZlbnQpID0+IHt9KTsKKyAgICAgICAgZWxlbWVudC5h
ZGRFdmVudExpc3RlbmVyKCJiIiwgKGV2ZW50KSA9PiB7fSwge29uY2U6IHRydWV9KTsKKworICAg
ICAgICBkb2N1bWVudC5ib2R5LmFkZEV2ZW50TGlzdGVuZXIoImEiLCAoZXZlbnQpID0+IHt9LCB0
cnVlKTsKKworICAgICAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJhIiwgKGV2ZW50KSA9
PiB7fSwge3Bhc3NpdmU6IHRydWV9KTsKKyAgICA8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>304166</attachid>
            <date>2017-03-11 10:50:43 -0800</date>
            <delta_ts>2017-03-13 13:11:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-167080-20170311115042.patch</filename>
            <type>text/plain</type>
            <size>12776</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDM5MzYzOTc2NmQyNjFkZjRjNmZkOWRjZjI5MTIx
ZDc5MWI2YTM1OWIuLjU0MzJlMGEyZDlhZjA5ODEzOGQ3ZDI5ZjRmZjg4NGZjODYwZWFhMzIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE3LTAzLTExICBEZXZp
biBSb3Vzc28gIDx3ZWJraXRAZGV2aW5yb3Vzc28uY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IEV2ZW50IExpc3RlbmVycyBzZWN0aW9uIGlzIG1pc3NpbmcgJ29uY2UnLCAncGFzc2l2ZScg
ZXZlbnQgbGlzdGVuZXIgZmxhZ3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE2NzA4MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogaW5zcGVjdG9yL3Byb3RvY29sL0RPTS5qc29uOgorICAgICAgICBBZGQg
InBhc3NpdmUiIGFuZCAib25jZSIgaXRlbXMgdG8gdGhlIEV2ZW50TGlzdGVuZXIgdHlwZS4KKwog
MjAxNy0wMy0xMCAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgog
CiAgICAgICAgIEZpeCBDTWFrZSBidWlsZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAxNWM2YWJlMzE1MDg1YTY2
NTI4NDI4MWFhZDU0MTMwZjY0NWE1Njk1Li44YjU4MDNlNTJmOWE3ODIxMzUxYzBlOTVkMTgxN2U5
YjY2NzM1NTIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTctMDMtMTEgIERldmlu
IFJvdXNzbyAgPHdlYmtpdEBkZXZpbnJvdXNzby5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3Rv
cjogRXZlbnQgTGlzdGVuZXJzIHNlY3Rpb24gaXMgbWlzc2luZyAnb25jZScsICdwYXNzaXZlJyBl
dmVudCBsaXN0ZW5lciBmbGFncworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTY3MDgwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgVGVzdDogaW5zcGVjdG9yL2RvbS9kb20tYWdlbnQuaHRtbAorCisgICAgICAg
ICogaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oklu
c3BlY3RvckRPTUFnZW50OjpidWlsZE9iamVjdEZvckV2ZW50TGlzdGVuZXIpOgorICAgICAgICBB
ZGQgInBhc3NpdmUiIGFuZCAib25jZSIgdmFsdWVzIHRvIHRoZSBFdmVudExpc3RlbmVyIHByb3Rv
Y29sIG9iamVjdCB3aGVuIGFwcGxpY2FibGUuCisKIDIwMTctMDMtMTAgIERlYW4gSmFja3NvbiAg
PGRpbm9AYXBwbGUuY29tPgogCiAgICAgICAgIFdlYkdQVTogQmFja2VuZCAtIFRleHR1cmVzIGFu
ZCBUZXh0dXJlRGVzY3JpcHRvcnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IGNlNTc2YjQ2
MTI0YmVmMjNlYjE0ZWNkMWU3MGZkNDIwZDY2ZDMyYjEuLmUwODFjY2RmZTI4OGRlOGE3NDVlYTBj
Zjk0NzBiMDBkY2JjMDQ4MTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1
IEBACisyMDE3LTAzLTExICBEZXZpbiBSb3Vzc28gIDx3ZWJraXRAZGV2aW5yb3Vzc28uY29tPgor
CisgICAgICAgIFdlYiBJbnNwZWN0b3I6IEV2ZW50IExpc3RlbmVycyBzZWN0aW9uIGlzIG1pc3Np
bmcgJ29uY2UnLCAncGFzc2l2ZScgZXZlbnQgbGlzdGVuZXIgZmxhZ3MKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NzA4MAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogTG9jYWxpemF0aW9ucy9lbi5scHJv
ai9sb2NhbGl6ZWRTdHJpbmdzLmpzOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvRXZl
bnRMaXN0ZW5lclNlY3Rpb25Hcm91cC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5FdmVudExp
c3RlbmVyU2VjdGlvbkdyb3VwKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5FdmVudExpc3RlbmVy
U2VjdGlvbkdyb3VwLnByb3RvdHlwZS5fdHlwZSk6IERlbGV0ZWQuCisKIDIwMTctMDMtMDkgIE1h
dHQgQmFrZXIgIDxtYXR0YmFrZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6
IEFkZCBYSFIgYnJlYWtwb2ludHMgVUkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnNwZWN0b3IvcHJvdG9jb2wvRE9NLmpzb24gYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5z
cGVjdG9yL3Byb3RvY29sL0RPTS5qc29uCmluZGV4IGEyNDYzMzZiZDUzMDNlZTBmYzZhYjk4MmEx
MzQ1MjJhNzVjNjZkZDIuLjNjNTA5Y2QyOGU3N2ZiZjJlMWEwMTk4NWNiOTEzZWE1YmE0ZmMxNjEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvRE9N
Lmpzb24KKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9ET00u
anNvbgpAQCAtODAsNyArODAsOSBAQAogICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiaGFuZGxl
ckJvZHkiLCAidHlwZSI6ICJzdHJpbmciLCAiZGVzY3JpcHRpb24iOiAiRXZlbnQgaGFuZGxlciBm
dW5jdGlvbiBib2R5LiIgfSwKICAgICAgICAgICAgICAgICB7ICJuYW1lIjogImxvY2F0aW9uIiwg
IiRyZWYiOiAiRGVidWdnZXIuTG9jYXRpb24iLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRp
b24iOiAiSGFuZGxlciBjb2RlIGxvY2F0aW9uLiIgfSwKICAgICAgICAgICAgICAgICB7ICJuYW1l
IjogInNvdXJjZU5hbWUiLCAidHlwZSI6ICJzdHJpbmciLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVz
Y3JpcHRpb24iOiAiU291cmNlIHNjcmlwdCBVUkwuIiB9LAotICAgICAgICAgICAgICAgIHsgIm5h
bWUiOiAiaGFuZGxlciIsICIkcmVmIjogIlJ1bnRpbWUuUmVtb3RlT2JqZWN0IiwgIm9wdGlvbmFs
IjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIkV2ZW50IGhhbmRsZXIgZnVuY3Rpb24gdmFsdWUuIiB9
CisgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJoYW5kbGVyIiwgIiRyZWYiOiAiUnVudGltZS5S
ZW1vdGVPYmplY3QiLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiRXZlbnQgaGFu
ZGxlciBmdW5jdGlvbiB2YWx1ZS4iIH0sCisgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJwYXNz
aXZlIiwgInR5cGUiOiAiYm9vbGVhbiIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6
ICI8Y29kZT5FdmVudExpc3RlbmVyPC9jb2RlPidzIHBhc3NpdmUuIiB9LAorICAgICAgICAgICAg
ICAgIHsgIm5hbWUiOiAib25jZSIsICJ0eXBlIjogImJvb2xlYW4iLCAib3B0aW9uYWwiOiB0cnVl
LCAiZGVzY3JpcHRpb24iOiAiPGNvZGU+RXZlbnRMaXN0ZW5lcjwvY29kZT4ncyBvbmNlLiIgfQog
ICAgICAgICAgICAgXSwKICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJBIHN0cnVjdHVyZSBo
b2xkaW5nIGV2ZW50IGxpc3RlbmVyIHByb3BlcnRpZXMuIgogICAgICAgICB9LApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAKaW5kZXggYmUyNWY1ZGFk
Nzg5NGU3MzkyMWU2N2ZhZjU5MWUwOTVmODhmMTcwZi4uM2U3NDZkODcwY2E0MTg5MTA0MzBiZTgz
M2JlZWUyYTY4MjA3MWI2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckRPTUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yRE9NQWdlbnQuY3BwCkBAIC0xNTQ2LDYgKzE1NDYsMTAgQEAgUmVmPEluc3BlY3Rvcjo6UHJv
dG9jb2w6OkRPTTo6RXZlbnRMaXN0ZW5lcj4gSW5zcGVjdG9yRE9NQWdlbnQ6OmJ1aWxkT2JqZWN0
Rm9yRXYKICAgICAgICAgaWYgKCFzb3VyY2VOYW1lLmlzRW1wdHkoKSkKICAgICAgICAgICAgIHZh
bHVlLT5zZXRTb3VyY2VOYW1lKHNvdXJjZU5hbWUpOwogICAgIH0KKyAgICBpZiAocmVnaXN0ZXJl
ZEV2ZW50TGlzdGVuZXIuaXNQYXNzaXZlKCkpCisgICAgICAgIHZhbHVlLT5zZXRQYXNzaXZlKHRy
dWUpOworICAgIGlmIChyZWdpc3RlcmVkRXZlbnRMaXN0ZW5lci5pc09uY2UoKSkKKyAgICAgICAg
dmFsdWUtPnNldE9uY2UodHJ1ZSk7CiAgICAgcmV0dXJuIHZhbHVlOwogfQogICAgIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL0xvY2FsaXphdGlvbnMvZW4ubHByb2ovbG9jYWxp
emVkU3RyaW5ncy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Mb2NhbGl6YXRpb25zL2VuLmxw
cm9qL2xvY2FsaXplZFN0cmluZ3MuanMKaW5kZXggOWQ4YTVhZTVmMWJhZWE4MzA3MDViYzY1MTE1
NzUwNjc2NTUwOTU4MS4uOTNmYWIyYWQxNWJkMDdiOTMzOGEzNTc4OGQ1YmYwODI1ZWE3ZTZjMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL0xvY2FsaXphdGlvbnMvZW4ubHByb2ov
bG9jYWxpemVkU3RyaW5ncy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvTG9jYWxpemF0
aW9ucy9lbi5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzCkBAIC01NjAsNiArNTYwLDcgQEAgbG9j
YWxpemVkU3RyaW5nc1siTnVtZXJpYyJdID0gIk51bWVyaWMiOwogbG9jYWxpemVkU3RyaW5nc1si
T2JqZWN0IEdyYXBoIl0gPSAiT2JqZWN0IEdyYXBoIjsKIGxvY2FsaXplZFN0cmluZ3NbIk9iamVj
dCBTdG9yZSJdID0gIk9iamVjdCBTdG9yZSI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJPZmZzZXQiXSA9
ICJPZmZzZXQiOworbG9jYWxpemVkU3RyaW5nc1siT25jZSJdID0gIk9uY2UiOwogbG9jYWxpemVk
U3RyaW5nc1siT25saW5lIl0gPSAiT25saW5lIjsKIGxvY2FsaXplZFN0cmluZ3NbIk9ubHkgc2hv
dyByZXNvdXJjZXMgd2l0aCBpc3N1ZXMiXSA9ICJPbmx5IHNob3cgcmVzb3VyY2VzIHdpdGggaXNz
dWVzIjsKIGxvY2FsaXplZFN0cmluZ3NbIk9wYWNpdHkiXSA9ICJPcGFjaXR5IjsKQEAgLTU5NCw2
ICs1OTUsNyBAQCBsb2NhbGl6ZWRTdHJpbmdzWyJQYWludCJdID0gIlBhaW50IjsKIGxvY2FsaXpl
ZFN0cmluZ3NbIlBhaW50cyJdID0gIlBhaW50cyI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJQYXJlbnQi
XSA9ICJQYXJlbnQiOwogbG9jYWxpemVkU3RyaW5nc1siUGFydGlhbCBHYXJiYWdlIENvbGxlY3Rp
b24iXSA9ICJQYXJ0aWFsIEdhcmJhZ2UgQ29sbGVjdGlvbiI7Citsb2NhbGl6ZWRTdHJpbmdzWyJQ
YXNzaXZlIl0gPSAiUGFzc2l2ZSI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJQYXRoIl0gPSAiUGF0aCI7
CiBsb2NhbGl6ZWRTdHJpbmdzWyJQYXVzZSBQbGF5YmFjayJdID0gIlBhdXNlIFBsYXliYWNrIjsK
IGxvY2FsaXplZFN0cmluZ3NbIlBhdXNlIFJlYXNvbiJdID0gIlBhdXNlIFJlYXNvbiI7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9FdmVudExp
c3RlbmVyU2VjdGlvbkdyb3VwLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvVmlld3MvRXZlbnRMaXN0ZW5lclNlY3Rpb25Hcm91cC5qcwppbmRleCA5MmI3ZTQyYWY1Yzhm
ZjJhNzQ2YjU4NzFjNWMyNDMyOTBlMzM4ZmI1Li4yZDk3YzRhNDA2OGIyN2EzYjZiM2IzOTM3MGE0
NmIyM2M4NjFjMDc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9WaWV3cy9FdmVudExpc3RlbmVyU2VjdGlvbkdyb3VwLmpzCisrKyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0V2ZW50TGlzdGVuZXJTZWN0aW9uR3JvdXAu
anMKQEAgLTM1LDcgKzM1LDIxIEBAIFdlYkluc3BlY3Rvci5FdmVudExpc3RlbmVyU2VjdGlvbkdy
b3VwID0gY2xhc3MgRXZlbnRMaXN0ZW5lclNlY3Rpb25Hcm91cCBleHRlbmRzCiAgICAgICAgIHZh
ciByb3dzID0gW107CiAgICAgICAgIHJvd3MucHVzaChuZXcgV2ViSW5zcGVjdG9yLkRldGFpbHNT
ZWN0aW9uU2ltcGxlUm93KFdlYkluc3BlY3Rvci5VSVN0cmluZygiTm9kZSIpLCB0aGlzLl9ub2Rl
VGV4dE9yTGluaygpKSk7CiAgICAgICAgIHJvd3MucHVzaChuZXcgV2ViSW5zcGVjdG9yLkRldGFp
bHNTZWN0aW9uU2ltcGxlUm93KFdlYkluc3BlY3Rvci5VSVN0cmluZygiRnVuY3Rpb24iKSwgdGhp
cy5fZnVuY3Rpb25UZXh0T3JMaW5rKCkpKTsKLSAgICAgICAgcm93cy5wdXNoKG5ldyBXZWJJbnNw
ZWN0b3IuRGV0YWlsc1NlY3Rpb25TaW1wbGVSb3coV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJUeXBl
IiksIHRoaXMuX3R5cGUoKSkpOworCisgICAgICAgIGlmICh0aGlzLl9ldmVudExpc3RlbmVyLnVz
ZUNhcHR1cmUpCisgICAgICAgICAgICByb3dzLnB1c2gobmV3IFdlYkluc3BlY3Rvci5EZXRhaWxz
U2VjdGlvblNpbXBsZVJvdyhXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkNhcHR1cmluZyIpLCBXZWJJ
bnNwZWN0b3IuVUlTdHJpbmcoIlllcyIpKSk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHJv
d3MucHVzaChuZXcgV2ViSW5zcGVjdG9yLkRldGFpbHNTZWN0aW9uU2ltcGxlUm93KFdlYkluc3Bl
Y3Rvci5VSVN0cmluZygiQnViYmxpbmciKSwgV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJZZXMiKSkp
OworCisgICAgICAgIGlmICh0aGlzLl9ldmVudExpc3RlbmVyLmlzQXR0cmlidXRlKQorICAgICAg
ICAgICAgcm93cy5wdXNoKG5ldyBXZWJJbnNwZWN0b3IuRGV0YWlsc1NlY3Rpb25TaW1wbGVSb3co
V2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJBdHRyaWJ1dGUiKSwgV2ViSW5zcGVjdG9yLlVJU3RyaW5n
KCJZZXMiKSkpOworCisgICAgICAgIGlmICh0aGlzLl9ldmVudExpc3RlbmVyLnBhc3NpdmUpCisg
ICAgICAgICAgICByb3dzLnB1c2gobmV3IFdlYkluc3BlY3Rvci5EZXRhaWxzU2VjdGlvblNpbXBs
ZVJvdyhXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlBhc3NpdmUiKSwgV2ViSW5zcGVjdG9yLlVJU3Ry
aW5nKCJZZXMiKSkpOworCisgICAgICAgIGlmICh0aGlzLl9ldmVudExpc3RlbmVyLm9uY2UpCisg
ICAgICAgICAgICByb3dzLnB1c2gobmV3IFdlYkluc3BlY3Rvci5EZXRhaWxzU2VjdGlvblNpbXBs
ZVJvdyhXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIk9uY2UiKSwgV2ViSW5zcGVjdG9yLlVJU3RyaW5n
KCJZZXMiKSkpOworCiAgICAgICAgIHRoaXMucm93cyA9IHJvd3M7CiAgICAgfQogCkBAIC01NCwx
NyArNjgsNiBAQCBXZWJJbnNwZWN0b3IuRXZlbnRMaXN0ZW5lclNlY3Rpb25Hcm91cCA9IGNsYXNz
IEV2ZW50TGlzdGVuZXJTZWN0aW9uR3JvdXAgZXh0ZW5kcwogICAgICAgICByZXR1cm4gV2ViSW5z
cGVjdG9yLmxpbmtpZnlOb2RlUmVmZXJlbmNlKG5vZGUpOwogICAgIH0KIAotICAgIF90eXBlKCkK
LSAgICB7Ci0gICAgICAgIGlmICh0aGlzLl9ldmVudExpc3RlbmVyLnVzZUNhcHR1cmUpCi0gICAg
ICAgICAgICByZXR1cm4gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJDYXB0dXJpbmciKTsKLQotICAg
ICAgICBpZiAodGhpcy5fZXZlbnRMaXN0ZW5lci5pc0F0dHJpYnV0ZSkKLSAgICAgICAgICAgIHJl
dHVybiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkF0dHJpYnV0ZSIpOwotCi0gICAgICAgIHJldHVy
biBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkJ1YmJsaW5nIik7Ci0gICAgfQotCiAgICAgX2Z1bmN0
aW9uVGV4dE9yTGluaygpCiAgICAgewogICAgICAgICB2YXIgbWF0Y2ggPSB0aGlzLl9ldmVudExp
c3RlbmVyLmhhbmRsZXJCb2R5Lm1hdGNoKC9mdW5jdGlvbiAoW15cKF0rPylcKC8pOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4
IDU1OWQ1NzhlM2Q1YTMyN2YxNDUxMGFkOWJiMTVlZDQ4YTAzYWQ1ODYuLjM5MTBhZGE1MDgwYjNm
NGViMGMwZmZlMDVlMTRmYjY0Njk3OGYyMzggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxNy0w
My0xMSAgRGV2aW4gUm91c3NvICA8d2Via2l0QGRldmlucm91c3NvLmNvbT4KKworICAgICAgICBX
ZWIgSW5zcGVjdG9yOiBFdmVudCBMaXN0ZW5lcnMgc2VjdGlvbiBpcyBtaXNzaW5nICdvbmNlJywg
J3Bhc3NpdmUnIGV2ZW50IGxpc3RlbmVyIGZsYWdzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjcwODAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0cyB0aGUgcmVzdWx0IG9mIERPTUFnZW50LmdldEV2
ZW50TGlzdGVuZXJzRm9yTm9kZSBhbmQgZW5zdXJlcyB0aGF0IGFkZGl0aW9uYWwgb3B0aW9ucwor
ICAgICAgICBhcmUgcGFzc2VkIHRvIHRoZSBmcm9udGVuZC4KKworICAgICAgICAqIGluc3BlY3Rv
ci9kb20tZGVidWdnZXIvZG9tLWFnZW50LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
aW5zcGVjdG9yL2RvbS1kZWJ1Z2dlci9kb20tYWdlbnQuaHRtbDogQWRkZWQuCisKIDIwMTctMDMt
MTAgIFJ5YW4gSGFkZGFkICA8cnlhbmhhZGRhZEBhcHBsZS5jb20+CiAKICAgICAgICAgTWFyayB3
ZWJydGMvbGlid2VicnRjL2Rlc2NyaXB0aW9uR2V0dGVycy5odG1sIGFzIGEgZmxha3kuCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZG9tL2RvbS1hZ2VudC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZG9tL2RvbS1hZ2VudC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uOTJjMDY5NDkwOTQ3MmFiODE0YmUwZmNjM2M4YzViNzQyOTZlZGRhOAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20vZG9tLWFnZW50LWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDM2IEBACitUZXN0aW5nIG1ldGhvZHMgb2YgRE9NQWdlbnQuCisKKworPT0g
UnVubmluZyB0ZXN0IHN1aXRlOiBET01BZ2VudAorLS0gUnVubmluZyB0ZXN0IGNhc2U6IERPTUFn
ZW50LmdldEV2ZW50TGlzdGVuZXJzRm9yTm9kZQorRXZlbnQ6IGEKK05vZGUgSUQ6IDUKK0NhcHR1
cmU6IHRydWUKK0F0dHJpYnV0ZTogZmFsc2UKK1BBU1M6IFRoZSBFdmVudCBMaXN0ZW5lciBoYXMg
YSBzb3VyY2UgbG9jYXRpb24uCitQQVNTOiBUaGUgRXZlbnQgTGlzdGVuZXIgaGFzIGEgZnVuY3Rp
b24uCisKK0V2ZW50OiBiCitOb2RlIElEOiA4CitDYXB0dXJlOiBmYWxzZQorQXR0cmlidXRlOiBm
YWxzZQorT25jZTogdHJ1ZQorUEFTUzogVGhlIEV2ZW50IExpc3RlbmVyIGhhcyBhIHNvdXJjZSBs
b2NhdGlvbi4KK1BBU1M6IFRoZSBFdmVudCBMaXN0ZW5lciBoYXMgYSBmdW5jdGlvbi4KKworRXZl
bnQ6IGEKK05vZGUgSUQ6IDgKK0NhcHR1cmU6IGZhbHNlCitBdHRyaWJ1dGU6IGZhbHNlCitQQVNT
OiBUaGUgRXZlbnQgTGlzdGVuZXIgaGFzIGEgc291cmNlIGxvY2F0aW9uLgorUEFTUzogVGhlIEV2
ZW50IExpc3RlbmVyIGhhcyBhIGZ1bmN0aW9uLgorCitFdmVudDogYQorTm9kZSBJRDogMQorQ2Fw
dHVyZTogZmFsc2UKK0F0dHJpYnV0ZTogZmFsc2UKK1Bhc3NpdmU6IHRydWUKK1BBU1M6IFRoZSBF
dmVudCBMaXN0ZW5lciBoYXMgYSBzb3VyY2UgbG9jYXRpb24uCitQQVNTOiBUaGUgRXZlbnQgTGlz
dGVuZXIgaGFzIGEgZnVuY3Rpb24uCisKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVj
dG9yL2RvbS9kb20tYWdlbnQuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20vZG9tLWFn
ZW50Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjkzOGNlOWY2ZTY0MmJjNmE2NThkYjM3MzgxMTlhNTQ5Zjdm
NjM2MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20vZG9tLWFn
ZW50Lmh0bWwKQEAgLTAsMCArMSw3MyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlcy9pbnNw
ZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorZnVuY3Rpb24gdGVzdCgpIHsKKyAg
ICBsZXQgZG9tTm9kZSA9IG51bGw7CisKKyAgICBsZXQgc3VpdGUgPSBJbnNwZWN0b3JUZXN0LmNy
ZWF0ZUFzeW5jU3VpdGUoIkRPTUFnZW50Iik7CisKKyAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7Cisg
ICAgICAgIG5hbWU6ICJET01BZ2VudC5nZXRFdmVudExpc3RlbmVyc0Zvck5vZGUiLAorICAgICAg
ICBkZXNjcmlwdGlvbjogIkVuc3VyZSBhbGwgYXBwbGljYWJsZSBmaWVsZHMgb2YgZWFjaCBldmVu
dCBsaXN0ZW5lciBpcyBzdXBwbGllZC4iLAorICAgICAgICB0ZXN0KHJlc29sdmUsIHJlamVjdCkg
eworICAgICAgICAgICAgRE9NQWdlbnQuZ2V0RXZlbnRMaXN0ZW5lcnNGb3JOb2RlKGRvbU5vZGUu
aWQsIChlcnJvciwgZXZlbnRMaXN0ZW5lcnMpID0+IHsKKyAgICAgICAgICAgICAgICBpZiAoZXJy
b3IpIHsKKyAgICAgICAgICAgICAgICAgICAgcmVqZWN0KGVycm9yKTsKKyAgICAgICAgICAgICAg
ICAgICAgcmV0dXJuOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIGZvciAo
bGV0IGV2ZW50TGlzdGVuZXIgb2YgZXZlbnRMaXN0ZW5lcnMpIHsKKyAgICAgICAgICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5sb2coYEV2ZW50OiAke2V2ZW50TGlzdGVuZXIudHlwZX1gKTsKKyAg
ICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coYE5vZGUgSUQ6ICR7ZXZlbnRMaXN0
ZW5lci5ub2RlSWR9YCk7CisgICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKGBD
YXB0dXJlOiAke2V2ZW50TGlzdGVuZXIudXNlQ2FwdHVyZX1gKTsKKyAgICAgICAgICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5sb2coYEF0dHJpYnV0ZTogJHtldmVudExpc3RlbmVyLmlzQXR0cmli
dXRlfWApOworCisgICAgICAgICAgICAgICAgICAgIGlmIChldmVudExpc3RlbmVyLnBhc3NpdmUp
CisgICAgICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZyhgUGFzc2l2ZTogJHtl
dmVudExpc3RlbmVyLnBhc3NpdmV9YCk7CisgICAgICAgICAgICAgICAgICAgIGlmIChldmVudExp
c3RlbmVyLm9uY2UpCisgICAgICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZyhg
T25jZTogJHtldmVudExpc3RlbmVyLm9uY2V9YCk7CisKKyAgICAgICAgICAgICAgICAgICAgSW5z
cGVjdG9yVGVzdC5leHBlY3RUaGF0KGV2ZW50TGlzdGVuZXIubG9jYXRpb24sICJUaGUgRXZlbnQg
TGlzdGVuZXIgaGFzIGEgc291cmNlIGxvY2F0aW9uLiIpOworICAgICAgICAgICAgICAgICAgICBJ
bnNwZWN0b3JUZXN0LmV4cGVjdFRoYXQoZXZlbnRMaXN0ZW5lci5oYW5kbGVyQm9keSwgIlRoZSBF
dmVudCBMaXN0ZW5lciBoYXMgYSBmdW5jdGlvbi4iKTsKKworICAgICAgICAgICAgICAgICAgICBJ
bnNwZWN0b3JUZXN0LmxvZygiIik7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAg
ICAgcmVzb2x2ZSgpOworICAgICAgICAgICAgfSk7CisgICAgICAgIH0KKyAgICB9KTsKKworICAg
IFdlYkluc3BlY3Rvci5kb21UcmVlTWFuYWdlci5yZXF1ZXN0RG9jdW1lbnQoKGRvY3VtZW50Tm9k
ZSkgPT4geworICAgICAgICBXZWJJbnNwZWN0b3IuZG9tVHJlZU1hbmFnZXIucXVlcnlTZWxlY3Rv
cihkb2N1bWVudE5vZGUuaWQsICJkaXYjeCIsIChjb250ZW50Tm9kZUlkKSA9PiB7CisgICAgICAg
ICAgICBpZiAoIWNvbnRlbnROb2RlSWQpIHsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LmZhaWwoIkRPTSBub2RlIG5vdCBmb3VuZC4iKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LmNvbXBsZXRlVGVzdCgpOworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAg
IH0KKworICAgICAgICAgICAgZG9tTm9kZSA9IFdlYkluc3BlY3Rvci5kb21UcmVlTWFuYWdlci5u
b2RlRm9ySWQoY29udGVudE5vZGVJZCk7CisKKyAgICAgICAgICAgIHN1aXRlLnJ1blRlc3RDYXNl
c0FuZEZpbmlzaCgpOworICAgICAgICB9KTsKKyAgICB9KTsKK30KKzwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorICAgIDxwPlRlc3RpbmcgbWV0aG9kcyBvZiBE
T01BZ2VudC48L3A+CisKKyAgICA8ZGl2IGlkPSJ4Ij48L2Rpdj4KKyAgICA8c2NyaXB0PgorICAg
ICAgICBsZXQgZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ4Iik7CisgICAgICAg
IGVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiYSIsIChldmVudCkgPT4ge30pOworICAgICAgICBl
bGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImIiLCAoZXZlbnQpID0+IHt9LCB7b25jZTogdHJ1ZX0p
OworCisgICAgICAgIGRvY3VtZW50LmJvZHkuYWRkRXZlbnRMaXN0ZW5lcigiYSIsIChldmVudCkg
PT4ge30sIHRydWUpOworCisgICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImEiLCAo
ZXZlbnQpID0+IHt9LCB7cGFzc2l2ZTogdHJ1ZX0pOworICAgIDwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgo=
</data>
<flag name="review"
          id="325732"
          type_id="1"
          status="+"
          setter="joepeck"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>304289</attachid>
            <date>2017-03-13 13:11:52 -0700</date>
            <delta_ts>2017-03-13 15:27:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>167080.diff</filename>
            <type>text/plain</type>
            <size>12434</size>
            <attacher name="Devin Rousso">hi</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA1NTlkNTc4Li5jNjFmNDFjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTctMDMt
MTMgIERldmluIFJvdXNzbyAgPHdlYmtpdEBkZXZpbnJvdXNzby5jb20+CisKKyAgICAgICAgV2Vi
IEluc3BlY3RvcjogRXZlbnQgTGlzdGVuZXJzIHNlY3Rpb24gaXMgbWlzc2luZyAnb25jZScsICdw
YXNzaXZlJyBldmVudCBsaXN0ZW5lciBmbGFncworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY3MDgwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgSm9zZXBo
IFBlY29yYXJvLgorCisgICAgICAgIFRlc3RzIHRoZSByZXN1bHQgb2YgRE9NQWdlbnQuZ2V0RXZl
bnRMaXN0ZW5lcnNGb3JOb2RlIGFuZCBlbnN1cmVzIHRoYXQgYWRkaXRpb25hbCBvcHRpb25zCisg
ICAgICAgIGFyZSBwYXNzZWQgdG8gdGhlIGZyb250ZW5kLgorCisgICAgICAgICogaW5zcGVjdG9y
L2RvbS9nZXRFdmVudExpc3RlbmVyc0Zvck5vZGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBpbnNwZWN0b3IvZG9tL2dldEV2ZW50TGlzdGVuZXJzRm9yTm9kZS5odG1sOiBBZGRlZC4K
KwogMjAxNy0wMy0xMCAgUnlhbiBIYWRkYWQgIDxyeWFuaGFkZGFkQGFwcGxlLmNvbT4KIAogICAg
ICAgICBNYXJrIHdlYnJ0Yy9saWJ3ZWJydGMvZGVzY3JpcHRpb25HZXR0ZXJzLmh0bWwgYXMgYSBm
bGFreS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20vZ2V0RXZlbnRMaXN0
ZW5lcnNGb3JOb2RlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20vZ2V0
RXZlbnRMaXN0ZW5lcnNGb3JOb2RlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwLi4yNmIxMjI1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL2RvbS9nZXRFdmVudExpc3RlbmVyc0Zvck5vZGUtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMzYgQEAKK1Rlc3RpbmcgRE9NQWdlbnQuZ2V0RXZlbnRMaXN0ZW5lcnNGb3JOb2RlLgorCisK
Kz09IFJ1bm5pbmcgdGVzdCBzdWl0ZTogRE9NLmdldEV2ZW50TGlzdGVuZXJzRm9yTm9kZQorLS0g
UnVubmluZyB0ZXN0IGNhc2U6IERPTS5nZXRFdmVudExpc3RlbmVyc0Zvck5vZGUuQmFzaWMKK0V2
ZW50OiBhbHBoYQorTm9kZTogYm9keQorQ2FwdHVyZTogdHJ1ZQorQXR0cmlidXRlOiBmYWxzZQor
UEFTUzogVGhlIEV2ZW50IExpc3RlbmVyIGhhcyBhIHNvdXJjZSBsb2NhdGlvbi4KK1BBU1M6IFRo
ZSBFdmVudCBMaXN0ZW5lciBoYXMgYSBmdW5jdGlvbi4KKworRXZlbnQ6IGJldGEKK05vZGU6IGRp
diN4CitDYXB0dXJlOiBmYWxzZQorQXR0cmlidXRlOiBmYWxzZQorT25jZTogdHJ1ZQorUEFTUzog
VGhlIEV2ZW50IExpc3RlbmVyIGhhcyBhIHNvdXJjZSBsb2NhdGlvbi4KK1BBU1M6IFRoZSBFdmVu
dCBMaXN0ZW5lciBoYXMgYSBmdW5jdGlvbi4KKworRXZlbnQ6IGFscGhhCitOb2RlOiBkaXYjeAor
Q2FwdHVyZTogZmFsc2UKK0F0dHJpYnV0ZTogZmFsc2UKK1BBU1M6IFRoZSBFdmVudCBMaXN0ZW5l
ciBoYXMgYSBzb3VyY2UgbG9jYXRpb24uCitQQVNTOiBUaGUgRXZlbnQgTGlzdGVuZXIgaGFzIGEg
ZnVuY3Rpb24uCisKK0V2ZW50OiBhbHBoYQorTm9kZTogI2RvY3VtZW50CitDYXB0dXJlOiBmYWxz
ZQorQXR0cmlidXRlOiBmYWxzZQorUGFzc2l2ZTogdHJ1ZQorUEFTUzogVGhlIEV2ZW50IExpc3Rl
bmVyIGhhcyBhIHNvdXJjZSBsb2NhdGlvbi4KK1BBU1M6IFRoZSBFdmVudCBMaXN0ZW5lciBoYXMg
YSBmdW5jdGlvbi4KKworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZG9tL2dl
dEV2ZW50TGlzdGVuZXJzRm9yTm9kZS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS9n
ZXRFdmVudExpc3RlbmVyc0Zvck5vZGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwLi4zODBkMzNmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L2RvbS9nZXRFdmVudExpc3RlbmVyc0Zvck5vZGUuaHRtbApAQCAtMCwwICsxLDc2IEBACis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0
cy9pbnNwZWN0b3IvcmVzb3VyY2VzL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQ+CitmdW5jdGlvbiB0ZXN0KCkgeworICAgIGxldCBkb21Ob2RlID0gbnVsbDsKKworICAgIGxl
dCBzdWl0ZSA9IEluc3BlY3RvclRlc3QuY3JlYXRlQXN5bmNTdWl0ZSgiRE9NLmdldEV2ZW50TGlz
dGVuZXJzRm9yTm9kZSIpOworCisgICAgc3VpdGUuYWRkVGVzdENhc2UoeworICAgICAgICBuYW1l
OiAiRE9NLmdldEV2ZW50TGlzdGVuZXJzRm9yTm9kZS5CYXNpYyIsCisgICAgICAgIGRlc2NyaXB0
aW9uOiAiRW5zdXJlIGFsbCBhcHBsaWNhYmxlIGZpZWxkcyBvZiBlYWNoIGV2ZW50IGxpc3RlbmVy
IGlzIHN1cHBsaWVkLiIsCisgICAgICAgIHRlc3QocmVzb2x2ZSwgcmVqZWN0KSB7CisgICAgICAg
ICAgICBET01BZ2VudC5nZXRFdmVudExpc3RlbmVyc0Zvck5vZGUoZG9tTm9kZS5pZCwgKGVycm9y
LCBldmVudExpc3RlbmVycykgPT4geworICAgICAgICAgICAgICAgIGlmIChlcnJvcikgeworICAg
ICAgICAgICAgICAgICAgICByZWplY3QoZXJyb3IpOworICAgICAgICAgICAgICAgICAgICByZXR1
cm47CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgZm9yIChsZXQgZXZlbnRM
aXN0ZW5lciBvZiBldmVudExpc3RlbmVycykgeworICAgICAgICAgICAgICAgICAgICBsZXQgbm9k
ZSA9IFdlYkluc3BlY3Rvci5kb21UcmVlTWFuYWdlci5ub2RlRm9ySWQoZXZlbnRMaXN0ZW5lci5u
b2RlSWQpOworCisKKyAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coYEV2ZW50
OiAke2V2ZW50TGlzdGVuZXIudHlwZX1gKTsKKyAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9y
VGVzdC5sb2coYE5vZGU6ICR7bm9kZS5kaXNwbGF5TmFtZX1gKTsKKyAgICAgICAgICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5sb2coYENhcHR1cmU6ICR7ZXZlbnRMaXN0ZW5lci51c2VDYXB0dXJl
fWApOworICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZyhgQXR0cmlidXRlOiAk
e2V2ZW50TGlzdGVuZXIuaXNBdHRyaWJ1dGV9YCk7CisKKyAgICAgICAgICAgICAgICAgICAgaWYg
KGV2ZW50TGlzdGVuZXIucGFzc2l2ZSkKKyAgICAgICAgICAgICAgICAgICAgICAgIEluc3BlY3Rv
clRlc3QubG9nKGBQYXNzaXZlOiAke2V2ZW50TGlzdGVuZXIucGFzc2l2ZX1gKTsKKyAgICAgICAg
ICAgICAgICAgICAgaWYgKGV2ZW50TGlzdGVuZXIub25jZSkKKyAgICAgICAgICAgICAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QubG9nKGBPbmNlOiAke2V2ZW50TGlzdGVuZXIub25jZX1gKTsKKwor
ICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdFRoYXQoZXZlbnRMaXN0ZW5l
ci5sb2NhdGlvbiwgIlRoZSBFdmVudCBMaXN0ZW5lciBoYXMgYSBzb3VyY2UgbG9jYXRpb24uIik7
CisgICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0VGhhdChldmVudExpc3Rl
bmVyLmhhbmRsZXJCb2R5LCAiVGhlIEV2ZW50IExpc3RlbmVyIGhhcyBhIGZ1bmN0aW9uLiIpOwor
CisgICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCIiKTsKKyAgICAgICAgICAg
ICAgICB9CisKKyAgICAgICAgICAgICAgICByZXNvbHZlKCk7CisgICAgICAgICAgICB9KTsKKyAg
ICAgICAgfQorICAgIH0pOworCisgICAgV2ViSW5zcGVjdG9yLmRvbVRyZWVNYW5hZ2VyLnJlcXVl
c3REb2N1bWVudCgoZG9jdW1lbnROb2RlKSA9PiB7CisgICAgICAgIFdlYkluc3BlY3Rvci5kb21U
cmVlTWFuYWdlci5xdWVyeVNlbGVjdG9yKGRvY3VtZW50Tm9kZS5pZCwgImRpdiN4IiwgKGNvbnRl
bnROb2RlSWQpID0+IHsKKyAgICAgICAgICAgIGlmICghY29udGVudE5vZGVJZCkgeworICAgICAg
ICAgICAgICAgIEluc3BlY3RvclRlc3QuZmFpbCgiRE9NIG5vZGUgbm90IGZvdW5kLiIpOworICAg
ICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7CisgICAgICAgICAgICAg
ICAgcmV0dXJuOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBkb21Ob2RlID0gV2ViSW5z
cGVjdG9yLmRvbVRyZWVNYW5hZ2VyLm5vZGVGb3JJZChjb250ZW50Tm9kZUlkKTsKKworICAgICAg
ICAgICAgc3VpdGUucnVuVGVzdENhc2VzQW5kRmluaXNoKCk7CisgICAgICAgIH0pOworICAgIH0p
OworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+CisgICAg
PHA+VGVzdGluZyBET01BZ2VudC5nZXRFdmVudExpc3RlbmVyc0Zvck5vZGUuPC9wPgorCisgICAg
PGRpdiBpZD0ieCI+PC9kaXY+CisgICAgPHNjcmlwdD4KKyAgICAgICAgbGV0IGVsZW1lbnQgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgieCIpOworICAgICAgICBlbGVtZW50LmFkZEV2ZW50TGlz
dGVuZXIoImFscGhhIiwgKGV2ZW50KSA9PiB7fSk7CisgICAgICAgIGVsZW1lbnQuYWRkRXZlbnRM
aXN0ZW5lcigiYmV0YSIsIChldmVudCkgPT4ge30sIHtvbmNlOiB0cnVlfSk7CisKKyAgICAgICAg
ZG9jdW1lbnQuYm9keS5hZGRFdmVudExpc3RlbmVyKCJhbHBoYSIsIChldmVudCkgPT4ge30sIHRy
dWUpOworCisgICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImFscGhhIiwgKGV2ZW50
KSA9PiB7fSwge3Bhc3NpdmU6IHRydWV9KTsKKyAgICA8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDM5MzYzOTcuLmJiMWMwNTcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE3LTAzLTEzICBEZXZpbiBSb3Vz
c28gIDx3ZWJraXRAZGV2aW5yb3Vzc28uY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IEV2
ZW50IExpc3RlbmVycyBzZWN0aW9uIGlzIG1pc3NpbmcgJ29uY2UnLCAncGFzc2l2ZScgZXZlbnQg
bGlzdGVuZXIgZmxhZ3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE2NzA4MAorCisgICAgICAgIFJldmlld2VkIGJ5IEpvc2VwaCBQZWNvcmFyby4KKwor
ICAgICAgICAqIGluc3BlY3Rvci9wcm90b2NvbC9ET00uanNvbjoKKyAgICAgICAgQWRkICJwYXNz
aXZlIiBhbmQgIm9uY2UiIGl0ZW1zIHRvIHRoZSBFdmVudExpc3RlbmVyIHR5cGUuCisKIDIwMTct
MDMtMTAgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAg
ICAgICBGaXggQ01ha2UgYnVpbGQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW5zcGVjdG9yL3Byb3RvY29sL0RPTS5qc29uIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3Bl
Y3Rvci9wcm90b2NvbC9ET00uanNvbgppbmRleCBhMjQ2MzM2Li4zYzUwOWNkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Byb3RvY29sL0RPTS5qc29uCisrKyBi
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvRE9NLmpzb24KQEAgLTgw
LDcgKzgwLDkgQEAKICAgICAgICAgICAgICAgICB7ICJuYW1lIjogImhhbmRsZXJCb2R5IiwgInR5
cGUiOiAic3RyaW5nIiwgImRlc2NyaXB0aW9uIjogIkV2ZW50IGhhbmRsZXIgZnVuY3Rpb24gYm9k
eS4iIH0sCiAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJsb2NhdGlvbiIsICIkcmVmIjogIkRl
YnVnZ2VyLkxvY2F0aW9uIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIkhhbmRs
ZXIgY29kZSBsb2NhdGlvbi4iIH0sCiAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJzb3VyY2VO
YW1lIiwgInR5cGUiOiAic3RyaW5nIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjog
IlNvdXJjZSBzY3JpcHQgVVJMLiIgfSwKLSAgICAgICAgICAgICAgICB7ICJuYW1lIjogImhhbmRs
ZXIiLCAiJHJlZiI6ICJSdW50aW1lLlJlbW90ZU9iamVjdCIsICJvcHRpb25hbCI6IHRydWUsICJk
ZXNjcmlwdGlvbiI6ICJFdmVudCBoYW5kbGVyIGZ1bmN0aW9uIHZhbHVlLiIgfQorICAgICAgICAg
ICAgICAgIHsgIm5hbWUiOiAiaGFuZGxlciIsICIkcmVmIjogIlJ1bnRpbWUuUmVtb3RlT2JqZWN0
IiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIkV2ZW50IGhhbmRsZXIgZnVuY3Rp
b24gdmFsdWUuIiB9LAorICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAicGFzc2l2ZSIsICJ0eXBl
IjogImJvb2xlYW4iLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiPGNvZGU+RXZl
bnRMaXN0ZW5lcjwvY29kZT4ncyBwYXNzaXZlLiIgfSwKKyAgICAgICAgICAgICAgICB7ICJuYW1l
IjogIm9uY2UiLCAidHlwZSI6ICJib29sZWFuIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0
aW9uIjogIjxjb2RlPkV2ZW50TGlzdGVuZXI8L2NvZGU+J3Mgb25jZS4iIH0KICAgICAgICAgICAg
IF0sCiAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQSBzdHJ1Y3R1cmUgaG9sZGluZyBldmVu
dCBsaXN0ZW5lciBwcm9wZXJ0aWVzLiIKICAgICAgICAgfSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAxNWM2YWJl
Li5mMTRlY2UyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTctMDMtMTMgIERldmlu
IFJvdXNzbyAgPHdlYmtpdEBkZXZpbnJvdXNzby5jb20+CisKKyAgICAgICAgV2ViIEluc3BlY3Rv
cjogRXZlbnQgTGlzdGVuZXJzIHNlY3Rpb24gaXMgbWlzc2luZyAnb25jZScsICdwYXNzaXZlJyBl
dmVudCBsaXN0ZW5lciBmbGFncworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTY3MDgwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgSm9zZXBoIFBlY29yYXJv
LgorCisgICAgICAgIFRlc3Q6IGluc3BlY3Rvci9kb20vZ2V0RXZlbnRMaXN0ZW5lcnNGb3JOb2Rl
Lmh0bWwKKworICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpJbnNwZWN0b3JET01BZ2VudDo6YnVpbGRPYmplY3RGb3JFdmVudExpc3Rl
bmVyKToKKyAgICAgICAgQWRkICJwYXNzaXZlIiBhbmQgIm9uY2UiIHZhbHVlcyB0byB0aGUgRXZl
bnRMaXN0ZW5lciBwcm90b2NvbCBvYmplY3Qgd2hlbiBhcHBsaWNhYmxlLgorCiAyMDE3LTAzLTEw
ICBEZWFuIEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWJHUFU6IEJhY2tl
bmQgLSBUZXh0dXJlcyBhbmQgVGV4dHVyZURlc2NyaXB0b3JzCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcAppbmRleCBiZTI1ZjVkLi4zZTc0NmQ4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAKQEAg
LTE1NDYsNiArMTU0NiwxMCBAQCBSZWY8SW5zcGVjdG9yOjpQcm90b2NvbDo6RE9NOjpFdmVudExp
c3RlbmVyPiBJbnNwZWN0b3JET01BZ2VudDo6YnVpbGRPYmplY3RGb3JFdgogICAgICAgICBpZiAo
IXNvdXJjZU5hbWUuaXNFbXB0eSgpKQogICAgICAgICAgICAgdmFsdWUtPnNldFNvdXJjZU5hbWUo
c291cmNlTmFtZSk7CiAgICAgfQorICAgIGlmIChyZWdpc3RlcmVkRXZlbnRMaXN0ZW5lci5pc1Bh
c3NpdmUoKSkKKyAgICAgICAgdmFsdWUtPnNldFBhc3NpdmUodHJ1ZSk7CisgICAgaWYgKHJlZ2lz
dGVyZWRFdmVudExpc3RlbmVyLmlzT25jZSgpKQorICAgICAgICB2YWx1ZS0+c2V0T25jZSh0cnVl
KTsKICAgICByZXR1cm4gdmFsdWU7CiB9CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRl
eCBjZTU3NmI0Li44NDZiZWMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NSBAQAorMjAxNy0wMy0xMyAgRGV2aW4gUm91c3NvICA8d2Via2l0QGRldmlucm91c3NvLmNvbT4K
KworICAgICAgICBXZWIgSW5zcGVjdG9yOiBFdmVudCBMaXN0ZW5lcnMgc2VjdGlvbiBpcyBtaXNz
aW5nICdvbmNlJywgJ3Bhc3NpdmUnIGV2ZW50IGxpc3RlbmVyIGZsYWdzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjcwODAKKworICAgICAgICBSZXZp
ZXdlZCBieSBKb3NlcGggUGVjb3Jhcm8uCisKKyAgICAgICAgKiBMb2NhbGl6YXRpb25zL2VuLmxw
cm9qL2xvY2FsaXplZFN0cmluZ3MuanM6CisgICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9F
dmVudExpc3RlbmVyU2VjdGlvbkdyb3VwLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkV2ZW50
TGlzdGVuZXJTZWN0aW9uR3JvdXApOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkV2ZW50TGlzdGVu
ZXJTZWN0aW9uR3JvdXAucHJvdG90eXBlLl90eXBlKTogRGVsZXRlZC4KKwogMjAxNy0wMy0wOSAg
TWF0dCBCYWtlciAgPG1hdHRiYWtlckBhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3Rv
cjogQWRkIFhIUiBicmVha3BvaW50cyBVSQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3Rv
clVJL0xvY2FsaXphdGlvbnMvZW4ubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcyBiL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Mb2NhbGl6YXRpb25zL2VuLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMK
aW5kZXggOWQ4YTVhZS4uOTNmYWIyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L0xvY2FsaXphdGlvbnMvZW4ubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcworKysgYi9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvTG9jYWxpemF0aW9ucy9lbi5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpz
CkBAIC01NjAsNiArNTYwLDcgQEAgbG9jYWxpemVkU3RyaW5nc1siTnVtZXJpYyJdID0gIk51bWVy
aWMiOwogbG9jYWxpemVkU3RyaW5nc1siT2JqZWN0IEdyYXBoIl0gPSAiT2JqZWN0IEdyYXBoIjsK
IGxvY2FsaXplZFN0cmluZ3NbIk9iamVjdCBTdG9yZSJdID0gIk9iamVjdCBTdG9yZSI7CiBsb2Nh
bGl6ZWRTdHJpbmdzWyJPZmZzZXQiXSA9ICJPZmZzZXQiOworbG9jYWxpemVkU3RyaW5nc1siT25j
ZSJdID0gIk9uY2UiOwogbG9jYWxpemVkU3RyaW5nc1siT25saW5lIl0gPSAiT25saW5lIjsKIGxv
Y2FsaXplZFN0cmluZ3NbIk9ubHkgc2hvdyByZXNvdXJjZXMgd2l0aCBpc3N1ZXMiXSA9ICJPbmx5
IHNob3cgcmVzb3VyY2VzIHdpdGggaXNzdWVzIjsKIGxvY2FsaXplZFN0cmluZ3NbIk9wYWNpdHki
XSA9ICJPcGFjaXR5IjsKQEAgLTU5NCw2ICs1OTUsNyBAQCBsb2NhbGl6ZWRTdHJpbmdzWyJQYWlu
dCJdID0gIlBhaW50IjsKIGxvY2FsaXplZFN0cmluZ3NbIlBhaW50cyJdID0gIlBhaW50cyI7CiBs
b2NhbGl6ZWRTdHJpbmdzWyJQYXJlbnQiXSA9ICJQYXJlbnQiOwogbG9jYWxpemVkU3RyaW5nc1si
UGFydGlhbCBHYXJiYWdlIENvbGxlY3Rpb24iXSA9ICJQYXJ0aWFsIEdhcmJhZ2UgQ29sbGVjdGlv
biI7Citsb2NhbGl6ZWRTdHJpbmdzWyJQYXNzaXZlIl0gPSAiUGFzc2l2ZSI7CiBsb2NhbGl6ZWRT
dHJpbmdzWyJQYXRoIl0gPSAiUGF0aCI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJQYXVzZSBQbGF5YmFj
ayJdID0gIlBhdXNlIFBsYXliYWNrIjsKIGxvY2FsaXplZFN0cmluZ3NbIlBhdXNlIFJlYXNvbiJd
ID0gIlBhdXNlIFJlYXNvbiI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9WaWV3cy9FdmVudExpc3RlbmVyU2VjdGlvbkdyb3VwLmpzIGIvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRXZlbnRMaXN0ZW5lclNlY3Rpb25Hcm91
cC5qcwppbmRleCA5MmI3ZTQyLi4yZDk3YzRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9FdmVudExpc3RlbmVyU2VjdGlvbkdyb3VwLmpzCisr
KyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0V2ZW50TGlzdGVu
ZXJTZWN0aW9uR3JvdXAuanMKQEAgLTM1LDcgKzM1LDIxIEBAIFdlYkluc3BlY3Rvci5FdmVudExp
c3RlbmVyU2VjdGlvbkdyb3VwID0gY2xhc3MgRXZlbnRMaXN0ZW5lclNlY3Rpb25Hcm91cCBleHRl
bmRzCiAgICAgICAgIHZhciByb3dzID0gW107CiAgICAgICAgIHJvd3MucHVzaChuZXcgV2ViSW5z
cGVjdG9yLkRldGFpbHNTZWN0aW9uU2ltcGxlUm93KFdlYkluc3BlY3Rvci5VSVN0cmluZygiTm9k
ZSIpLCB0aGlzLl9ub2RlVGV4dE9yTGluaygpKSk7CiAgICAgICAgIHJvd3MucHVzaChuZXcgV2Vi
SW5zcGVjdG9yLkRldGFpbHNTZWN0aW9uU2ltcGxlUm93KFdlYkluc3BlY3Rvci5VSVN0cmluZygi
RnVuY3Rpb24iKSwgdGhpcy5fZnVuY3Rpb25UZXh0T3JMaW5rKCkpKTsKLSAgICAgICAgcm93cy5w
dXNoKG5ldyBXZWJJbnNwZWN0b3IuRGV0YWlsc1NlY3Rpb25TaW1wbGVSb3coV2ViSW5zcGVjdG9y
LlVJU3RyaW5nKCJUeXBlIiksIHRoaXMuX3R5cGUoKSkpOworCisgICAgICAgIGlmICh0aGlzLl9l
dmVudExpc3RlbmVyLnVzZUNhcHR1cmUpCisgICAgICAgICAgICByb3dzLnB1c2gobmV3IFdlYklu
c3BlY3Rvci5EZXRhaWxzU2VjdGlvblNpbXBsZVJvdyhXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkNh
cHR1cmluZyIpLCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlllcyIpKSk7CisgICAgICAgIGVsc2UK
KyAgICAgICAgICAgIHJvd3MucHVzaChuZXcgV2ViSW5zcGVjdG9yLkRldGFpbHNTZWN0aW9uU2lt
cGxlUm93KFdlYkluc3BlY3Rvci5VSVN0cmluZygiQnViYmxpbmciKSwgV2ViSW5zcGVjdG9yLlVJ
U3RyaW5nKCJZZXMiKSkpOworCisgICAgICAgIGlmICh0aGlzLl9ldmVudExpc3RlbmVyLmlzQXR0
cmlidXRlKQorICAgICAgICAgICAgcm93cy5wdXNoKG5ldyBXZWJJbnNwZWN0b3IuRGV0YWlsc1Nl
Y3Rpb25TaW1wbGVSb3coV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJBdHRyaWJ1dGUiKSwgV2ViSW5z
cGVjdG9yLlVJU3RyaW5nKCJZZXMiKSkpOworCisgICAgICAgIGlmICh0aGlzLl9ldmVudExpc3Rl
bmVyLnBhc3NpdmUpCisgICAgICAgICAgICByb3dzLnB1c2gobmV3IFdlYkluc3BlY3Rvci5EZXRh
aWxzU2VjdGlvblNpbXBsZVJvdyhXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlBhc3NpdmUiKSwgV2Vi
SW5zcGVjdG9yLlVJU3RyaW5nKCJZZXMiKSkpOworCisgICAgICAgIGlmICh0aGlzLl9ldmVudExp
c3RlbmVyLm9uY2UpCisgICAgICAgICAgICByb3dzLnB1c2gobmV3IFdlYkluc3BlY3Rvci5EZXRh
aWxzU2VjdGlvblNpbXBsZVJvdyhXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIk9uY2UiKSwgV2ViSW5z
cGVjdG9yLlVJU3RyaW5nKCJZZXMiKSkpOworCiAgICAgICAgIHRoaXMucm93cyA9IHJvd3M7CiAg
ICAgfQogCkBAIC01NCwxNyArNjgsNiBAQCBXZWJJbnNwZWN0b3IuRXZlbnRMaXN0ZW5lclNlY3Rp
b25Hcm91cCA9IGNsYXNzIEV2ZW50TGlzdGVuZXJTZWN0aW9uR3JvdXAgZXh0ZW5kcwogICAgICAg
ICByZXR1cm4gV2ViSW5zcGVjdG9yLmxpbmtpZnlOb2RlUmVmZXJlbmNlKG5vZGUpOwogICAgIH0K
IAotICAgIF90eXBlKCkKLSAgICB7Ci0gICAgICAgIGlmICh0aGlzLl9ldmVudExpc3RlbmVyLnVz
ZUNhcHR1cmUpCi0gICAgICAgICAgICByZXR1cm4gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJDYXB0
dXJpbmciKTsKLQotICAgICAgICBpZiAodGhpcy5fZXZlbnRMaXN0ZW5lci5pc0F0dHJpYnV0ZSkK
LSAgICAgICAgICAgIHJldHVybiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkF0dHJpYnV0ZSIpOwot
Ci0gICAgICAgIHJldHVybiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkJ1YmJsaW5nIik7Ci0gICAg
fQotCiAgICAgX2Z1bmN0aW9uVGV4dE9yTGluaygpCiAgICAgewogICAgICAgICB2YXIgbWF0Y2gg
PSB0aGlzLl9ldmVudExpc3RlbmVyLmhhbmRsZXJCb2R5Lm1hdGNoKC9mdW5jdGlvbiAoW15cKF0r
PylcKC8pOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>