<?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>195975</bug_id>
          
          <creation_ts>2019-03-19 16:24:10 -0700</creation_ts>
          <short_desc>Update the way generate-xcfilelists returns strings from functions</short_desc>
          <delta_ts>2019-03-26 16:51:18 -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>Tools / Tests</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>195977</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Keith Rollin">krollin</reporter>
          <assigned_to name="Keith Rollin">krollin</assigned_to>
          <cc>ap</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>lforschler</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1518617</commentid>
    <comment_count>0</comment_count>
    <who name="Keith Rollin">krollin</who>
    <bug_when>2019-03-19 16:24:10 -0700</bug_when>
    <thetext>There are places where generate-xcfilelists executes assignments with statements like:

FOO=$(some_function)

where &quot;some_function&quot; return a string by echoing it. E.g.

some_function()
{
    echo &quot;Hello, World&quot;
}

This is a common idiom, but it has a problem if &quot;some_function&quot; needs to call &quot;exit&quot; in an attempt to halt the entire script right then and there. Since &quot;some_function&quot; is called inside of $(), it&apos;s being executed in a sub-shell. Calling exit in that sub-shell simply exits that shell; it doesn&apos;t not exit the outer shell in which the main part of the script is still running. As such, the main script keeps executing when the intent was for the script to halt.

The solution to this is to use a different idiom for returning strings. The one we now is to pass in the name of the variable to receive the string result:

some_function()
{
    variable_name=$1
    eval $variable_name =&quot;Hello, World&quot;
}

The call site now looks like

some_function FOO

Because there&apos;s no invocation of a sub-shell, some_function can now call &quot;exit&quot; if it wants to, and the entire script will exit at that point.

(This work is part of addressing Radar 48616075, which notes that building for iphonesimulator not only reports that iphonesimulator is an invalid platform, but that the build does not halt at that error as is expected. This patch addresses the second part where the build is not stopping.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1518619</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-03-19 16:24:54 -0700</bug_when>
    <thetext>&lt;rdar://problem/49040807&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1518629</commentid>
    <comment_count>2</comment_count>
      <attachid>365258</attachid>
    <who name="Keith Rollin">krollin</who>
    <bug_when>2019-03-19 16:36:10 -0700</bug_when>
    <thetext>Created attachment 365258
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1518693</commentid>
    <comment_count>3</comment_count>
      <attachid>365282</attachid>
    <who name="Keith Rollin">krollin</who>
    <bug_when>2019-03-19 18:31:29 -0700</bug_when>
    <thetext>Created attachment 365282
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1518694</commentid>
    <comment_count>4</comment_count>
      <attachid>365282</attachid>
    <who name="Keith Rollin">krollin</who>
    <bug_when>2019-03-19 18:32:41 -0700</bug_when>
    <thetext>Comment on attachment 365282
Patch

Patch got borked.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1518761</commentid>
    <comment_count>5</comment_count>
      <attachid>365307</attachid>
    <who name="Keith Rollin">krollin</who>
    <bug_when>2019-03-19 22:12:31 -0700</bug_when>
    <thetext>Created attachment 365307
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1518963</commentid>
    <comment_count>6</comment_count>
      <attachid>365307</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2019-03-20 10:20:06 -0700</bug_when>
    <thetext>Comment on attachment 365307
Patch

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

&gt; Tools/ChangeLog:31
&gt; +        The solution to this is to use a different idiom for returning
&gt; +        strings. The one we now is to pass in the name of the variable to
&gt; +        receive the string result:

I probably shouldn&apos;t review this patch because I don&apos;t even see where exactly we spawn shells to call a function, but I can&apos;t help myself asking whether executing sub-shells is unavoidable in the first place.

&gt; Tools/Scripts/generate-xcfilelists:612
&gt; +    [[ &quot;${GX_PROVISIONAL_CONFIGURATION}&quot; == &quot;&quot; ]]           &amp;&amp; { eval $GX_RESULT=&quot;&quot;; return; }

I can&apos;t find any such rules in WebKit coding style, but I remember seeing reviewer feedback about how we don&apos;t do formatting of this kind in WebKit as a matter of coding style. The rationale is that it makes refactoring harder, and I agree with that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1519079</commentid>
    <comment_count>7</comment_count>
    <who name="Keith Rollin">krollin</who>
    <bug_when>2019-03-20 12:20:16 -0700</bug_when>
    <thetext>(In reply to Alexey Proskuryakov from comment #6)
&gt; Comment on attachment 365307 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=365307&amp;action=review
&gt; 
&gt; &gt; Tools/ChangeLog:31
&gt; &gt; +        The solution to this is to use a different idiom for returning
&gt; &gt; +        strings. The one we now is to pass in the name of the variable to
&gt; &gt; +        receive the string result:
&gt; 
&gt; I probably shouldn&apos;t review this patch because I don&apos;t even see where
&gt; exactly we spawn shells to call a function,

I don&apos;t know who&apos;s good for reviewing bash scripts either, but I&apos;ll add Dean, who looked at this script before and understood it enough to hack it up.

&gt; but I can&apos;t help myself asking
&gt; whether executing sub-shells is unavoidable in the first place.

A fair question.

The normal idiom for having a shell function return a string and have that string be assigned to a variable is:

FOO=$(some_function)

This syntax executes &quot;some_function&quot; in a sub-shell and replaces the whole $(...) with the textual output of that function, allowing that text to be assigned to the variable. You can see this in the actual script in places like:

local GX_SDK=$(get_canonical_platform_name &quot;$1&quot;)

There&apos;s no replaceable construct that can replace that, AFAIK. For instance, we can&apos;t say: 

local GX_SDK=get_canonical_platform_name &quot;$1&quot;

because that won&apos;t treat &quot;get_canonical_platform_name $1&quot; as a function call. We can&apos;t use as something that allows for functions to be called and the output gathered in a single location:

local GX_SDK={get_canonical_platform_name &quot;$1&quot;;}

because that&apos;s not valid syntax.

Searching the web for alternatives to $(...), I didn&apos;t find any solution that I liked better than what I ended up using here.

&gt; &gt; Tools/Scripts/generate-xcfilelists:612
&gt; &gt; +    [[ &quot;${GX_PROVISIONAL_CONFIGURATION}&quot; == &quot;&quot; ]]           &amp;&amp; { eval $GX_RESULT=&quot;&quot;; return; }
&gt; 
&gt; I can&apos;t find any such rules in WebKit coding style, but I remember seeing
&gt; reviewer feedback about how we don&apos;t do formatting of this kind in WebKit as
&gt; a matter of coding style. The rationale is that it makes refactoring harder,
&gt; and I agree with that.

I like the spacing because it makes it really clear what the function is returning. All of the strings I&apos;m returning are lined up, making it clear what&apos;s happening in what situations. Without that spacing, I had a hard time seeing what was happening. So, from that aspect of readability and maintainability, I like it.

What refactoring do you see it interfering with? About all I can think if is if I add some new cases that require the amount of spacing to be increased, meaning that I&apos;d be touching lines for no reason other than to increase that spacing. For me, the maintainability of seeing what the code is doing outweighs that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1519190</commentid>
    <comment_count>8</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2019-03-20 14:39:14 -0700</bug_when>
    <thetext>&gt; What refactoring do you see it interfering with?

The general example is find and replace.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1521529</commentid>
    <comment_count>9</comment_count>
      <attachid>365307</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-03-26 16:51:16 -0700</bug_when>
    <thetext>Comment on attachment 365307
Patch

Clearing flags on attachment: 365307

Committed r243527: &lt;https://trac.webkit.org/changeset/243527&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1521530</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-03-26 16:51:18 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>365258</attachid>
            <date>2019-03-19 16:36:10 -0700</date>
            <delta_ts>2019-03-19 18:31:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-195975-20190319163609.patch</filename>
            <type>text/plain</type>
            <size>8345</size>
            <attacher name="Keith Rollin">krollin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQzMDgyCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYmVlYWU1MWJkMDc0OTQxNjE4ZjQwMmM5NzFlMTAzNzAw
MmNiZGI4OS4uMmE1NGFhMTcyNTgwYzg1ZTM3NTg3MjlmOGM3NzM1MzBlZWNiNGIyMyAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUx
IEBACisyMDE5LTAzLTE5ICBLZWl0aCBSb2xsaW4gIDxrcm9sbGluQGFwcGxlLmNvbT4KKworICAg
ICAgICBVcGRhdGUgdGhlIHdheSBnZW5lcmF0ZS14Y2ZpbGVsaXN0cyByZXR1cm5zIHN0cmluZ3Mg
ZnJvbSBmdW5jdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE5NTk3NQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDkwNDA4MDc+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlcmUgYXJlIHBsYWNl
cyB3aGVyZSBnZW5lcmF0ZS14Y2ZpbGVsaXN0cyBleGVjdXRlcyBhc3NpZ25tZW50cyB3aXRoCisg
ICAgICAgIHN0YXRlbWVudHMgbGlrZToKKworICAgICAgICAgICAgRk9PPSQoc29tZV9mdW5jdGlv
bikKKworICAgICAgICB3aGVyZSAic29tZV9mdW5jdGlvbiIgcmV0dXJuIGEgc3RyaW5nIGJ5IGVj
aG9pbmcgaXQuIEUuZy4KKworICAgICAgICAgICAgc29tZV9mdW5jdGlvbigpCisgICAgICAgICAg
ICB7CisgICAgICAgICAgICAgICAgZWNobyAiSGVsbG8sIFdvcmxkIgorICAgICAgICAgICAgfQor
CisgICAgICAgIFRoaXMgaXMgYSBjb21tb24gaWRpb20sIGJ1dCBpdCBoYXMgYSBwcm9ibGVtIGlm
ICJzb21lX2Z1bmN0aW9uIiBuZWVkcworICAgICAgICB0byBjYWxsICJleGl0IiBpbiBhbiBhdHRl
bXB0IHRvIGhhbHQgdGhlIGVudGlyZSBzY3JpcHQgcmlnaHQgdGhlbiBhbmQKKyAgICAgICAgdGhl
cmUuIFNpbmNlICJzb21lX2Z1bmN0aW9uIiBpcyBjYWxsZWQgaW5zaWRlIG9mICQoKSwgaXQncyBi
ZWluZworICAgICAgICBleGVjdXRlZCBpbiBhIHN1Yi1zaGVsbC4gQ2FsbGluZyBleGl0IGluIHRo
YXQgc3ViLXNoZWxsIHNpbXBseSBleGl0cworICAgICAgICB0aGF0IHNoZWxsOyBpdCBkb2Vzbid0
IG5vdCBleGl0IHRoZSBvdXRlciBzaGVsbCBpbiB3aGljaCB0aGUgbWFpbiBwYXJ0CisgICAgICAg
IG9mIHRoZSBzY3JpcHQgaXMgc3RpbGwgcnVubmluZy4gQXMgc3VjaCwgdGhlIG1haW4gc2NyaXB0
IGtlZXBzCisgICAgICAgIGV4ZWN1dGluZyB3aGVuIHRoZSBpbnRlbnQgd2FzIGZvciB0aGUgc2Ny
aXB0IHRvIGhhbHQuCisKKyAgICAgICAgVGhlIHNvbHV0aW9uIHRvIHRoaXMgaXMgdG8gdXNlIGEg
ZGlmZmVyZW50IGlkaW9tIGZvciByZXR1cm5pbmcKKyAgICAgICAgc3RyaW5ncy4gVGhlIG9uZSB3
ZSBub3cgaXMgdG8gcGFzcyBpbiB0aGUgbmFtZSBvZiB0aGUgdmFyaWFibGUgdG8KKyAgICAgICAg
cmVjZWl2ZSB0aGUgc3RyaW5nIHJlc3VsdDoKKworICAgICAgICAgICAgc29tZV9mdW5jdGlvbigp
CisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgdmFyaWFibGVfbmFtZT0kMQorICAgICAg
ICAgICAgICAgIGV2YWwgJHZhcmlhYmxlX25hbWUgPSJIZWxsbywgV29ybGQiCisgICAgICAgICAg
ICB9CisKKyAgICAgICAgVGhlIGNhbGwgc2l0ZSBub3cgbG9va3MgbGlrZQorCisgICAgICAgICAg
ICBzb21lX2Z1bmN0aW9uIEZPTworCisgICAgICAgIEJlY2F1c2UgdGhlcmUncyBubyBpbnZvY2F0
aW9uIG9mIGEgc3ViLXNoZWxsLCBzb21lX2Z1bmN0aW9uIGNhbiBub3cKKyAgICAgICAgY2FsbCAi
ZXhpdCIgaWYgaXQgd2FudHMgdG8sIGFuZCB0aGUgZW50aXJlIHNjcmlwdCB3aWxsIGV4aXQgYXQg
dGhhdAorICAgICAgICBwb2ludC4KKworICAgICAgICAqIFNjcmlwdHMvZ2VuZXJhdGUteGNmaWxl
bGlzdHM6CisKIDIwMTktMDMtMTkgIEtlaXRoIFJvbGxpbiAgPGtyb2xsaW5AYXBwbGUuY29tPgog
CiAgICAgICAgIEFkZCBzdXBwb3J0IGZvciBtb3JlIHBsYXRmb3JtcyB0byBnZW5lcmF0ZS14Y2Zp
bGVsaXN0cwpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9nZW5lcmF0ZS14Y2ZpbGVsaXN0cyBi
L1Rvb2xzL1NjcmlwdHMvZ2VuZXJhdGUteGNmaWxlbGlzdHMKaW5kZXggZmFhNDczYTBjMDVmM2Qx
Y2ZjNDE2N2RmNjc2ZmNlMjZkZTZjY2I2MC4uYTI3MzRkY2JiN2Y2MGE3YjVjYWYzNzg0YzFhNTM3
ODdiMGJlMDk1NiAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9nZW5lcmF0ZS14Y2ZpbGVsaXN0
cworKysgYi9Ub29scy9TY3JpcHRzL2dlbmVyYXRlLXhjZmlsZWxpc3RzCkBAIC02MDcsMTMgKzYw
NywxNCBAQCBmdW5jdGlvbiBnZXRfY2Fub25pY2FsX2NvbmZpZ3VyYXRpb24oKQogICAgIGxvZ19j
YWxsc3RhY2tfYW5kX3BhcmFtZXRlcnMgIiRAIgogCiAgICAgbG9jYWwgR1hfUFJPVklTSU9OQUxf
Q09ORklHVVJBVElPTj0kKGVjaG8gIiQxIiB8IHRyICdbOnVwcGVyOl0nICdbOmxvd2VyOl0nKQor
ICAgIGxvY2FsIEdYX1JFU1VMVD0kMgogCi0gICAgW1sgIiR7R1hfUFJPVklTSU9OQUxfQ09ORklH
VVJBVElPTn0iID09ICIiIF1dICYmIHsgZWNobyAiIjsgcmV0dXJuOyB9CisgICAgW1sgIiR7R1hf
UFJPVklTSU9OQUxfQ09ORklHVVJBVElPTn0iID09ICIiIF1dICAgICAgICAgICAmJiB7IGV2YWwg
JEdYX1JFU1VMVD0iIjsgcmV0dXJuOyB9CiAKLSAgICBbWyAiJHtHWF9QUk9WSVNJT05BTF9DT05G
SUdVUkFUSU9OfSIgPT0gImRlYnVnIiBdXSAmJiB7IGVjaG8gIkRlYnVnIjsgcmV0dXJuOyB9Ci0g
ICAgW1sgIiR7R1hfUFJPVklTSU9OQUxfQ09ORklHVVJBVElPTn0iID09ICJyZWxlYXNlIiBdXSAm
JiB7IGVjaG8gIlJlbGVhc2UiOyByZXR1cm47IH0KLSAgICBbWyAiJHtHWF9QUk9WSVNJT05BTF9D
T05GSUdVUkFUSU9OfSIgPT0gInByb2R1Y3Rpb24iIF1dICYmIHsgZWNobyAiUHJvZHVjdGlvbiI7
IHJldHVybjsgfQotICAgIFtbICIke0dYX1BST1ZJU0lPTkFMX0NPTkZJR1VSQVRJT059IiA9PSAi
cHJvZmlsaW5nIiBdXSAmJiB7IGVjaG8gIlByb2ZpbGluZyI7IHJldHVybjsgfQorICAgIFtbICIk
e0dYX1BST1ZJU0lPTkFMX0NPTkZJR1VSQVRJT059IiA9PSAiZGVidWciIF1dICAgICAgJiYgeyBl
dmFsICRHWF9SRVNVTFQ9IkRlYnVnIjsgcmV0dXJuOyB9CisgICAgW1sgIiR7R1hfUFJPVklTSU9O
QUxfQ09ORklHVVJBVElPTn0iID09ICJyZWxlYXNlIiBdXSAgICAmJiB7IGV2YWwgJEdYX1JFU1VM
VD0iUmVsZWFzZSI7IHJldHVybjsgfQorICAgIFtbICIke0dYX1BST1ZJU0lPTkFMX0NPTkZJR1VS
QVRJT059IiA9PSAicHJvZHVjdGlvbiIgXV0gJiYgeyBldmFsICRHWF9SRVNVTFQ9IlByb2R1Y3Rp
b24iOyByZXR1cm47IH0KKyAgICBbWyAiJHtHWF9QUk9WSVNJT05BTF9DT05GSUdVUkFUSU9OfSIg
PT0gInByb2ZpbGluZyIgXV0gICYmIHsgZXZhbCAkR1hfUkVTVUxUPSJQcm9maWxpbmciOyByZXR1
cm47IH0KIAogICAgIGRpZSAiVW5yZWNvZ25pemVkIGNvbmZpZ3VyYXRpb246ICQxIgogfQpAQCAt
NjI0LDI1ICs2MjUsMjYgQEAgZnVuY3Rpb24gZ2V0X2Nhbm9uaWNhbF9wbGF0Zm9ybV9uYW1lKCkK
ICAgICBsb2dfY2FsbHN0YWNrX2FuZF9wYXJhbWV0ZXJzICIkQCIKIAogICAgIGxvY2FsIEdYX1BS
T1ZJU0lPTkFMX1BMQVRGT1JNX05BTUU9JChlY2hvICIkMSIgfCB0ciAnWzp1cHBlcjpdJyAnWzps
b3dlcjpdJykKKyAgICBsb2NhbCBHWF9SRVNVTFQ9JDIKIAotICAgIFtbICIke0dYX1BST1ZJU0lP
TkFMX1BMQVRGT1JNX05BTUV9IiA9PSAiIiBdXSAmJiB7IGVjaG8gIiI7IHJldHVybjsgfQorICAg
IFtbICIke0dYX1BST1ZJU0lPTkFMX1BMQVRGT1JNX05BTUV9IiA9PSAiIiBdXSAgICAgICAgICAg
ICAgICAgICAmJiB7IGV2YWwgJEdYX1JFU1VMVD0iIjsgcmV0dXJuOyB9CiAKLSAgICBbWyAiJHtH
WF9QUk9WSVNJT05BTF9QTEFURk9STV9OQU1FfSIgPT0gImlvcyIgXV0gJiYgeyBlY2hvICJpcGhv
bmVvcyI7IHJldHVybjsgfQotICAgIFtbICIke0dYX1BST1ZJU0lPTkFMX1BMQVRGT1JNX05BTUV9
IiA9PSAiaXBob25lIiBdXSAmJiB7IGVjaG8gImlwaG9uZW9zIjsgcmV0dXJuOyB9Ci0gICAgW1sg
IiR7R1hfUFJPVklTSU9OQUxfUExBVEZPUk1fTkFNRX0iID09ICJpcGFkIiBdXSAmJiB7IGVjaG8g
ImlwaG9uZW9zIjsgcmV0dXJuOyB9Ci0gICAgW1sgIiR7R1hfUFJPVklTSU9OQUxfUExBVEZPUk1f
TkFNRX0iID09ICJpcGhvbmVvcyIgXV0gJiYgeyBlY2hvICJpcGhvbmVvcyI7IHJldHVybjsgfQot
ICAgIFtbICIke0dYX1BST1ZJU0lPTkFMX1BMQVRGT1JNX05BTUV9IiA9PSAiaXBob25lc2ltdWxh
dG9yIiBdXSAmJiB7IGVjaG8gImlwaG9uZXNpbXVsYXRvciI7IHJldHVybjsgfQorICAgIFtbICIk
e0dYX1BST1ZJU0lPTkFMX1BMQVRGT1JNX05BTUV9IiA9PSAiaW9zIiBdXSAgICAgICAgICAgICAg
ICAmJiB7IGV2YWwgJEdYX1JFU1VMVD0iaXBob25lb3MiOyByZXR1cm47IH0KKyAgICBbWyAiJHtH
WF9QUk9WSVNJT05BTF9QTEFURk9STV9OQU1FfSIgPT0gImlwaG9uZSIgXV0gICAgICAgICAgICAg
JiYgeyBldmFsICRHWF9SRVNVTFQ9ImlwaG9uZW9zIjsgcmV0dXJuOyB9CisgICAgW1sgIiR7R1hf
UFJPVklTSU9OQUxfUExBVEZPUk1fTkFNRX0iID09ICJpcGFkIiBdXSAgICAgICAgICAgICAgICYm
IHsgZXZhbCAkR1hfUkVTVUxUPSJpcGhvbmVvcyI7IHJldHVybjsgfQorICAgIFtbICIke0dYX1BS
T1ZJU0lPTkFMX1BMQVRGT1JNX05BTUV9IiA9PSAiaXBob25lb3MiIF1dICAgICAgICAgICAmJiB7
IGV2YWwgJEdYX1JFU1VMVD0iaXBob25lb3MiOyByZXR1cm47IH0KKyAgICBbWyAiJHtHWF9QUk9W
SVNJT05BTF9QTEFURk9STV9OQU1FfSIgPT0gImlwaG9uZXNpbXVsYXRvciIgXV0gICAgJiYgeyBl
dmFsICRHWF9SRVNVTFQ9ImlwaG9uZXNpbXVsYXRvciI7IHJldHVybjsgfQogCi0gICAgW1sgIiR7
R1hfUFJPVklTSU9OQUxfUExBVEZPUk1fTkFNRX0iID09ICJtYWMiIF1dICYmIHsgZWNobyAibWFj
b3N4IjsgcmV0dXJuOyB9Ci0gICAgW1sgIiR7R1hfUFJPVklTSU9OQUxfUExBVEZPUk1fTkFNRX0i
ID09ICJvc3giIF1dICYmIHsgZWNobyAibWFjb3N4IjsgcmV0dXJuOyB9Ci0gICAgW1sgIiR7R1hf
UFJPVklTSU9OQUxfUExBVEZPUk1fTkFNRX0iID09ICJtYWNvcyIgXV0gJiYgeyBlY2hvICJtYWNv
c3giOyByZXR1cm47IH0KLSAgICBbWyAiJHtHWF9QUk9WSVNJT05BTF9QTEFURk9STV9OQU1FfSIg
PT0gIm1hY29zeCIgXV0gJiYgeyBlY2hvICJtYWNvc3giOyByZXR1cm47IH0KKyAgICBbWyAiJHtH
WF9QUk9WSVNJT05BTF9QTEFURk9STV9OQU1FfSIgPT0gIm1hYyIgXV0gICAgICAgICAgICAgICAg
JiYgeyBldmFsICRHWF9SRVNVTFQ9Im1hY29zeCI7IHJldHVybjsgfQorICAgIFtbICIke0dYX1BS
T1ZJU0lPTkFMX1BMQVRGT1JNX05BTUV9IiA9PSAib3N4IiBdXSAgICAgICAgICAgICAgICAmJiB7
IGV2YWwgJEdYX1JFU1VMVD0ibWFjb3N4IjsgcmV0dXJuOyB9CisgICAgW1sgIiR7R1hfUFJPVklT
SU9OQUxfUExBVEZPUk1fTkFNRX0iID09ICJtYWNvcyIgXV0gICAgICAgICAgICAgICYmIHsgZXZh
bCAkR1hfUkVTVUxUPSJtYWNvc3giOyByZXR1cm47IH0KKyAgICBbWyAiJHtHWF9QUk9WSVNJT05B
TF9QTEFURk9STV9OQU1FfSIgPT0gIm1hY29zeCIgXV0gICAgICAgICAgICAgJiYgeyBldmFsICRH
WF9SRVNVTFQ9Im1hY29zeCI7IHJldHVybjsgfQogCi0gICAgW1sgIiR7R1hfUFJPVklTSU9OQUxf
UExBVEZPUk1fTkFNRX0iID09ICJ0dm9zIiBdXSAmJiB7IGVjaG8gInR2b3MiOyByZXR1cm47IH0K
LSAgICBbWyAiJHtHWF9QUk9WSVNJT05BTF9QTEFURk9STV9OQU1FfSIgPT0gInR2c2ltdWxhdG9y
IiBdXSAmJiB7IGVjaG8gInR2c2ltdWxhdG9yIjsgcmV0dXJuOyB9CisgICAgW1sgIiR7R1hfUFJP
VklTSU9OQUxfUExBVEZPUk1fTkFNRX0iID09ICJ0dm9zIiBdXSAgICAgICAgICAgICAgICYmIHsg
ZXZhbCAkR1hfUkVTVUxUPSJ0dm9zIjsgcmV0dXJuOyB9CisgICAgW1sgIiR7R1hfUFJPVklTSU9O
QUxfUExBVEZPUk1fTkFNRX0iID09ICJ0dnNpbXVsYXRvciIgXV0gICAgICAgICYmIHsgZXZhbCAk
R1hfUkVTVUxUPSJ0dnNpbXVsYXRvciI7IHJldHVybjsgfQogCi0gICAgW1sgIiR7R1hfUFJPVklT
SU9OQUxfUExBVEZPUk1fTkFNRX0iID09ICJ3YXRjaG9zIiBdXSAmJiB7IGVjaG8gIndhdGNob3Mi
OyByZXR1cm47IH0KLSAgICBbWyAiJHtHWF9QUk9WSVNJT05BTF9QTEFURk9STV9OQU1FfSIgPT0g
IndhdGNoc2ltdWxhdG9yIiBdXSAmJiB7IGVjaG8gIndhdGNoc2ltdWxhdG9yIjsgcmV0dXJuOyB9
CisgICAgW1sgIiR7R1hfUFJPVklTSU9OQUxfUExBVEZPUk1fTkFNRX0iID09ICJ3YXRjaG9zIiBd
XSAgICAgICAgICAgICYmIHsgZXZhbCAkR1hfUkVTVUxUPSJ3YXRjaG9zIjsgcmV0dXJuOyB9Cisg
ICAgW1sgIiR7R1hfUFJPVklTSU9OQUxfUExBVEZPUk1fTkFNRX0iID09ICJ3YXRjaHNpbXVsYXRv
ciIgXV0gICAgICYmIHsgZXZhbCAkR1hfUkVTVUxUPSJ3YXRjaHNpbXVsYXRvciI7IHJldHVybjsg
fQogCiAgICAgZGllICJVbnJlY29nbml6ZWQgcGxhdGZvcm0gbmFtZTogJDEiCiB9CkBAIC02NTIs
MTUgKzY1NCwxNyBAQCBmdW5jdGlvbiBnZXRfc2RrX25hbWUoKQogewogICAgIGxvZ19jYWxsc3Rh
Y2tfYW5kX3BhcmFtZXRlcnMgIiRAIgogCi0gICAgbG9jYWwgR1hfU0RLPSQoZ2V0X2Nhbm9uaWNh
bF9wbGF0Zm9ybV9uYW1lICIkMSIpCisgICAgbG9jYWwgR1hfU0RLPSQxCisgICAgbG9jYWwgR1hf
UkVTVUxUPSQyCisgICAgZ2V0X2Nhbm9uaWNhbF9wbGF0Zm9ybV9uYW1lICIke0dYX1NES30iIEdY
X1NESwogICAgIGxvY2FsIEdYX0lOVEVSTkFMX1NESz0iJHtHWF9TREt9LmludGVybmFsIgogCiAg
ICAgZ2V0X3Nka3MKIAogICAgICMgUHJlZmVyIGFuIGludGVybmFsIFNESyBpZiBvbmUgZXhpc3Rz
LgogCi0gICAgW1sgIiAke0dYX1NES1NbQF19ICIgPX4gIiAke0dYX0lOVEVSTkFMX1NES30gIiBd
XSAmJiB7IGVjaG8gIiR7R1hfSU5URVJOQUxfU0RLfSI7IHJldHVybjsgfQotICAgIFtbICIgJHtH
WF9TREtTW0BdfSAiID1+ICIgJHtHWF9TREt9ICIgXV0gJiYgeyBlY2hvICIke0dYX1NES30iOyBy
ZXR1cm47IH0KKyAgICBbWyAiICR7R1hfU0RLU1tAXX0gIiA9fiAiICR7R1hfSU5URVJOQUxfU0RL
fSAiIF1dICAgJiYgeyBldmFsICRHWF9SRVNVTFQ9IiR7R1hfSU5URVJOQUxfU0RLfSI7IHJldHVy
bjsgfQorICAgIFtbICIgJHtHWF9TREtTW0BdfSAiID1+ICIgJHtHWF9TREt9ICIgXV0gICAgICAg
ICAgICAmJiB7IGV2YWwgJEdYX1JFU1VMVD0iJHtHWF9TREt9IjsgcmV0dXJuOyB9CiAKICAgICBk
aWUgIlVuc3VwcG9ydGVkIFNESzogJHtHWF9TREt9LiIKIH0KQEAgLTg0Miw3ICs4NDYsOCBAQCBm
dW5jdGlvbiBzdWJsYXVuY2hfdW5kZXJfeGNvZGUoKQogICAgICgoICR7R1hfREVCVUd9ICkpICYm
IHsgZm9yIG4gaW4gJChzZXEgJEdYX0RFQlVHKTsgZG8gR1hfQVJHUys9KCItLWRlYnVnIik7IGRv
bmU7IH0KICAgICAoKCAke0dYX1FVSUVUfSApKSAmJiBHWF9BUkdTKz0oIi0tcXVpZXQiKQogCi0g
ICAgbG9jYWwgR1hfU0RLX05BTUU9JChnZXRfc2RrX25hbWUgIiR7R1hfUExBVEZPUk1fTkFNRX0i
KQorICAgIGxvY2FsIEdYX1NES19OQU1FCisgICAgZ2V0X3Nka19uYW1lICIke0dYX1BMQVRGT1JN
X05BTUV9IiBHWF9TREtfTkFNRQogCiAgICAgbG9nX2RlYnVnICJTdWJsYXVuY2hpbmcgZm9yOiAk
e0dYX1BST0pFQ1RfVEFHfS8ke0dYX1BMQVRGT1JNX05BTUV9LyR7R1hfQ09ORklHVVJBVElPTn0i
CiAKQEAgLTEyMzAsOCArMTIzNSw4IEBAIGZ1bmN0aW9uIG1haW4oKQogICAgIGZpCiAKICAgICBb
WyAteiAiJHtHWF9QUk9KRUNUX1RBR30iIHx8ICggIiAke0dYX1BST0pFQ1RfVEFHU1tAXX0gIiA9
fiAiICR7R1hfUFJPSkVDVF9UQUd9ICIgKSBdXSB8fCB7IGRpZSAiVW5yZWNvZ25pemVkIHByb2pl
Y3Q6ICR7R1hfUFJPSkVDVF9UQUd9IjsgIH0KLSAgICBHWF9QTEFURk9STV9OQU1FPSQoZ2V0X2Nh
bm9uaWNhbF9wbGF0Zm9ybV9uYW1lICIke0dYX1BMQVRGT1JNX05BTUV9IikKLSAgICBHWF9DT05G
SUdVUkFUSU9OPSQoZ2V0X2Nhbm9uaWNhbF9jb25maWd1cmF0aW9uICIke0dYX0NPTkZJR1VSQVRJ
T059IikKKyAgICBnZXRfY2Fub25pY2FsX3BsYXRmb3JtX25hbWUgIiR7R1hfUExBVEZPUk1fTkFN
RX0iIEdYX1BMQVRGT1JNX05BTUUKKyAgICBnZXRfY2Fub25pY2FsX2NvbmZpZ3VyYXRpb24gIiR7
R1hfQ09ORklHVVJBVElPTn0iIEdYX0NPTkZJR1VSQVRJT04KIAogICAgIGlmICgoICR7R1hfRE9f
R0VORVJBVEV9ICkpCiAgICAgdGhlbgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>365282</attachid>
            <date>2019-03-19 18:31:29 -0700</date>
            <delta_ts>2019-03-19 18:32:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-195975-20190319183129.patch</filename>
            <type>text/plain</type>
            <size>2699</size>
            <attacher name="Keith Rollin">krollin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQzMDgyCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYzkxNjkwZTcwYjYwMzg3ZjVhMmUyZDFlMGEzNTk0MDUz
NDlhODY3MC4uMzI5YzBjOWYxNmVkZGJhYWU4MzFiY2RmNDkyMjlmNWFmYWRjODE4NSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIx
IEBACisyMDE5LTAzLTE5ICBLZWl0aCBSb2xsaW4gIDxrcm9sbGluQGFwcGxlLmNvbT4KKworICAg
ICAgICBBZGQgc3VwcG9ydCBmb3IgbW9yZSBwbGF0Zm9ybXMgdG8gZ2VuZXJhdGUteGNmaWxlbGlz
dHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5NTk3
NworCisgICAgICAgIFJldmlld2VkIGJ5IEFsZXhleSBQcm9za3VyeWFrb3YuCisKKyAgICAgICAg
Z2VuZXJhdGUteGNmaWxlbGlzdHMgaW5jb3JyZWN0bHkgY29tcGxhaW5zIHdoZW4gaW52b2x2ZWQg
d2l0aCBidWlsZGluZworICAgICAgICBXZWJLaXQgZm9yIGlwaG9uZXNpbXVsYXRvcjoKKworICAg
ICAgICAgICAgJCBtYWtlIGRlYnVnIFNES1JPT1Q9aXBob25lc2ltdWxhdG9yLmludGVybmFsIC1D
IEludGVybmFsLworICAgICAgICAgICAg4oCmCisgICAgICAgICAgICAjIyMgKGRpZSBnZXRfY2Fu
b25pY2FsX3BsYXRmb3JtX25hbWUgbWFpbiBtYWluKSBVbnJlY29nbml6ZWQgcGxhdGZvcm0gbmFt
ZTogaXBob25lc2ltdWxhdG9yCisKKyAgICAgICAgQWRkcmVzcyB0aGlzIGJ5IHRlYWNoaW5nIGdl
bmVyYXRlLXhjZmlsZWxpc3RzIGFib3V0IG1vcmUgcGxhdGZvcm1zLgorCisgICAgICAgICogU2Ny
aXB0cy9nZW5lcmF0ZS14Y2ZpbGVsaXN0czoKKwogMjAxOS0wMy0xOCAgQWRyaWFuIFBlcmV6IGRl
IENhc3RybyAgPGFwZXJlekBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtXUEVdIFRhcmJhbGxzIGdl
bmVyYXRlZCB3aXRoIOKAnG1ha2UgZGlzdOKAnSBjYW5ub3QgYnVpbGQgZG9jdW1lbnRhdGlvbgpk
aWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9nZW5lcmF0ZS14Y2ZpbGVsaXN0cyBiL1Rvb2xzL1Nj
cmlwdHMvZ2VuZXJhdGUteGNmaWxlbGlzdHMKaW5kZXggYjYwNjg5OGEyNDJlOTZhY2RkMjY4NTNl
MTM0NWEwZjk5ZWQ3ODViOS4uNzI3NWJjNjJmZTMwMWYzNTMzNzdlZjc1NzNhMWM4ODU5MmIzYmNh
MCAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9nZW5lcmF0ZS14Y2ZpbGVsaXN0cworKysgYi9U
b29scy9TY3JpcHRzL2dlbmVyYXRlLXhjZmlsZWxpc3RzCkBAIC02MzEsMTIgKzYzMSwyMSBAQCBm
dW5jdGlvbiBnZXRfY2Fub25pY2FsX3BsYXRmb3JtX25hbWUoKQogICAgIFtbICIke0dYX1BST1ZJ
U0lPTkFMX1BMQVRGT1JNX05BTUV9IiA9PSAiaXBob25lIiBdXSAmJiB7IGVjaG8gImlwaG9uZW9z
IjsgcmV0dXJuOyB9CiAgICAgW1sgIiR7R1hfUFJPVklTSU9OQUxfUExBVEZPUk1fTkFNRX0iID09
ICJpcGFkIiBdXSAmJiB7IGVjaG8gImlwaG9uZW9zIjsgcmV0dXJuOyB9CiAgICAgW1sgIiR7R1hf
UFJPVklTSU9OQUxfUExBVEZPUk1fTkFNRX0iID09ICJpcGhvbmVvcyIgXV0gJiYgeyBlY2hvICJp
cGhvbmVvcyI7IHJldHVybjsgfQorICAgIFtbICIke0dYX1BST1ZJU0lPTkFMX1BMQVRGT1JNX05B
TUV9IiA9PSAiaXBob25lc2ltdWxhdG9yIiBdXSAmJiB7IGVjaG8gImlwaG9uZXNpbXVsYXRvciI7
IHJldHVybjsgfQogCiAgICAgW1sgIiR7R1hfUFJPVklTSU9OQUxfUExBVEZPUk1fTkFNRX0iID09
ICJtYWMiIF1dICYmIHsgZWNobyAibWFjb3N4IjsgcmV0dXJuOyB9CiAgICAgW1sgIiR7R1hfUFJP
VklTSU9OQUxfUExBVEZPUk1fTkFNRX0iID09ICJvc3giIF1dICYmIHsgZWNobyAibWFjb3N4Ijsg
cmV0dXJuOyB9CiAgICAgW1sgIiR7R1hfUFJPVklTSU9OQUxfUExBVEZPUk1fTkFNRX0iID09ICJt
YWNvcyIgXV0gJiYgeyBlY2hvICJtYWNvc3giOyByZXR1cm47IH0KICAgICBbWyAiJHtHWF9QUk9W
SVNJT05BTF9QTEFURk9STV9OQU1FfSIgPT0gIm1hY29zeCIgXV0gJiYgeyBlY2hvICJtYWNvc3gi
OyByZXR1cm47IH0KIAorICAgIFtbICIke0dYX1BST1ZJU0lPTkFMX1BMQVRGT1JNX05BTUV9IiA9
PSAidHZvcyIgXV0gJiYgeyBlY2hvICJhcHBsZXR2b3MiOyByZXR1cm47IH0KKyAgICBbWyAiJHtH
WF9QUk9WSVNJT05BTF9QTEFURk9STV9OQU1FfSIgPT0gImFwcGxldHZvcyIgXV0gJiYgeyBlY2hv
ICJhcHBsZXR2b3MiOyByZXR1cm47IH0KKyAgICBbWyAiJHtHWF9QUk9WSVNJT05BTF9QTEFURk9S
TV9OQU1FfSIgPT0gInR2c2ltdWxhdG9yIiBdXSAmJiB7IGVjaG8gImFwcGxldHZzaW11bGF0b3Ii
OyByZXR1cm47IH0KKyAgICBbWyAiJHtHWF9QUk9WSVNJT05BTF9QTEFURk9STV9OQU1FfSIgPT0g
ImFwcGxldHZzaW11bGF0b3IiIF1dICYmIHsgZWNobyAiYXBwbGV0dnNpbXVsYXRvciI7IHJldHVy
bjsgfQorCisgICAgW1sgIiR7R1hfUFJPVklTSU9OQUxfUExBVEZPUk1fTkFNRX0iID09ICJ3YXRj
aG9zIiBdXSAmJiB7IGVjaG8gIndhdGNob3MiOyByZXR1cm47IH0KKyAgICBbWyAiJHtHWF9QUk9W
SVNJT05BTF9QTEFURk9STV9OQU1FfSIgPT0gIndhdGNoc2ltdWxhdG9yIiBdXSAmJiB7IGVjaG8g
IndhdGNoc2ltdWxhdG9yIjsgcmV0dXJuOyB9CisKICAgICBkaWUgIlVucmVjb2duaXplZCBwbGF0
Zm9ybSBuYW1lOiAkMSIKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>365307</attachid>
            <date>2019-03-19 22:12:31 -0700</date>
            <delta_ts>2019-03-26 16:51:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-195975-20190319221230.patch</filename>
            <type>text/plain</type>
            <size>8798</size>
            <attacher name="Keith Rollin">krollin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQzMTkxCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNTFkYzRjYzkzMTI3ZTVlY2ExMDZiMjIxMzVjYzQ4YmE1
OTJiN2QyYS4uNTQ5ZjA4NGQ2NjJiNDc0MDhiZjYzMzVhNWNhOWZmYTVlNzMwYTJiYiAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUx
IEBACisyMDE5LTAzLTE5ICBLZWl0aCBSb2xsaW4gIDxrcm9sbGluQGFwcGxlLmNvbT4KKworICAg
ICAgICBVcGRhdGUgdGhlIHdheSBnZW5lcmF0ZS14Y2ZpbGVsaXN0cyByZXR1cm5zIHN0cmluZ3Mg
ZnJvbSBmdW5jdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE5NTk3NQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDkwNDA4MDc+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlcmUgYXJlIHBsYWNl
cyB3aGVyZSBnZW5lcmF0ZS14Y2ZpbGVsaXN0cyBleGVjdXRlcyBhc3NpZ25tZW50cyB3aXRoCisg
ICAgICAgIHN0YXRlbWVudHMgbGlrZToKKworICAgICAgICAgICAgRk9PPSQoc29tZV9mdW5jdGlv
bikKKworICAgICAgICB3aGVyZSAic29tZV9mdW5jdGlvbiIgcmV0dXJuIGEgc3RyaW5nIGJ5IGVj
aG9pbmcgaXQuIEUuZy4KKworICAgICAgICAgICAgc29tZV9mdW5jdGlvbigpCisgICAgICAgICAg
ICB7CisgICAgICAgICAgICAgICAgZWNobyAiSGVsbG8sIFdvcmxkIgorICAgICAgICAgICAgfQor
CisgICAgICAgIFRoaXMgaXMgYSBjb21tb24gaWRpb20sIGJ1dCBpdCBoYXMgYSBwcm9ibGVtIGlm
ICJzb21lX2Z1bmN0aW9uIiBuZWVkcworICAgICAgICB0byBjYWxsICJleGl0IiBpbiBhbiBhdHRl
bXB0IHRvIGhhbHQgdGhlIGVudGlyZSBzY3JpcHQgcmlnaHQgdGhlbiBhbmQKKyAgICAgICAgdGhl
cmUuIFNpbmNlICJzb21lX2Z1bmN0aW9uIiBpcyBjYWxsZWQgaW5zaWRlIG9mICQoKSwgaXQncyBi
ZWluZworICAgICAgICBleGVjdXRlZCBpbiBhIHN1Yi1zaGVsbC4gQ2FsbGluZyBleGl0IGluIHRo
YXQgc3ViLXNoZWxsIHNpbXBseSBleGl0cworICAgICAgICB0aGF0IHNoZWxsOyBpdCBkb2Vzbid0
IG5vdCBleGl0IHRoZSBvdXRlciBzaGVsbCBpbiB3aGljaCB0aGUgbWFpbiBwYXJ0CisgICAgICAg
IG9mIHRoZSBzY3JpcHQgaXMgc3RpbGwgcnVubmluZy4gQXMgc3VjaCwgdGhlIG1haW4gc2NyaXB0
IGtlZXBzCisgICAgICAgIGV4ZWN1dGluZyB3aGVuIHRoZSBpbnRlbnQgd2FzIGZvciB0aGUgc2Ny
aXB0IHRvIGhhbHQuCisKKyAgICAgICAgVGhlIHNvbHV0aW9uIHRvIHRoaXMgaXMgdG8gdXNlIGEg
ZGlmZmVyZW50IGlkaW9tIGZvciByZXR1cm5pbmcKKyAgICAgICAgc3RyaW5ncy4gVGhlIG9uZSB3
ZSBub3cgaXMgdG8gcGFzcyBpbiB0aGUgbmFtZSBvZiB0aGUgdmFyaWFibGUgdG8KKyAgICAgICAg
cmVjZWl2ZSB0aGUgc3RyaW5nIHJlc3VsdDoKKworICAgICAgICAgICAgc29tZV9mdW5jdGlvbigp
CisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgdmFyaWFibGVfbmFtZT0kMQorICAgICAg
ICAgICAgICAgIGV2YWwgJHZhcmlhYmxlX25hbWUgPSJIZWxsbywgV29ybGQiCisgICAgICAgICAg
ICB9CisKKyAgICAgICAgVGhlIGNhbGwgc2l0ZSBub3cgbG9va3MgbGlrZQorCisgICAgICAgICAg
ICBzb21lX2Z1bmN0aW9uIEZPTworCisgICAgICAgIEJlY2F1c2UgdGhlcmUncyBubyBpbnZvY2F0
aW9uIG9mIGEgc3ViLXNoZWxsLCBzb21lX2Z1bmN0aW9uIGNhbiBub3cKKyAgICAgICAgY2FsbCAi
ZXhpdCIgaWYgaXQgd2FudHMgdG8sIGFuZCB0aGUgZW50aXJlIHNjcmlwdCB3aWxsIGV4aXQgYXQg
dGhhdAorICAgICAgICBwb2ludC4KKworICAgICAgICAqIFNjcmlwdHMvZ2VuZXJhdGUteGNmaWxl
bGlzdHM6CisKIDIwMTktMDMtMTkgIEtlaXRoIFJvbGxpbiAgPGtyb2xsaW5AYXBwbGUuY29tPgog
CiAgICAgICAgIEFkZCBzdXBwb3J0IGZvciBtb3JlIHBsYXRmb3JtcyB0byBnZW5lcmF0ZS14Y2Zp
bGVsaXN0cwpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9nZW5lcmF0ZS14Y2ZpbGVsaXN0cyBi
L1Rvb2xzL1NjcmlwdHMvZ2VuZXJhdGUteGNmaWxlbGlzdHMKaW5kZXggNzI3NWJjNjJmZTMwMWYz
NTMzNzdlZjc1NzNhMWM4ODU5MmIzYmNhMC4uMGQ4Njk3ODBhN2M4Zjk3OTJjNzc2OGIwNzI3ODNj
OTUzYmNiYjAxZiAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy9nZW5lcmF0ZS14Y2ZpbGVsaXN0
cworKysgYi9Ub29scy9TY3JpcHRzL2dlbmVyYXRlLXhjZmlsZWxpc3RzCkBAIC02MDcsMTMgKzYw
NywxNCBAQCBmdW5jdGlvbiBnZXRfY2Fub25pY2FsX2NvbmZpZ3VyYXRpb24oKQogICAgIGxvZ19j
YWxsc3RhY2tfYW5kX3BhcmFtZXRlcnMgIiRAIgogCiAgICAgbG9jYWwgR1hfUFJPVklTSU9OQUxf
Q09ORklHVVJBVElPTj0kKGVjaG8gIiQxIiB8IHRyICdbOnVwcGVyOl0nICdbOmxvd2VyOl0nKQor
ICAgIGxvY2FsIEdYX1JFU1VMVD0kMgogCi0gICAgW1sgIiR7R1hfUFJPVklTSU9OQUxfQ09ORklH
VVJBVElPTn0iID09ICIiIF1dICYmIHsgZWNobyAiIjsgcmV0dXJuOyB9CisgICAgW1sgIiR7R1hf
UFJPVklTSU9OQUxfQ09ORklHVVJBVElPTn0iID09ICIiIF1dICAgICAgICAgICAmJiB7IGV2YWwg
JEdYX1JFU1VMVD0iIjsgcmV0dXJuOyB9CiAKLSAgICBbWyAiJHtHWF9QUk9WSVNJT05BTF9DT05G
SUdVUkFUSU9OfSIgPT0gImRlYnVnIiBdXSAmJiB7IGVjaG8gIkRlYnVnIjsgcmV0dXJuOyB9Ci0g
ICAgW1sgIiR7R1hfUFJPVklTSU9OQUxfQ09ORklHVVJBVElPTn0iID09ICJyZWxlYXNlIiBdXSAm
JiB7IGVjaG8gIlJlbGVhc2UiOyByZXR1cm47IH0KLSAgICBbWyAiJHtHWF9QUk9WSVNJT05BTF9D
T05GSUdVUkFUSU9OfSIgPT0gInByb2R1Y3Rpb24iIF1dICYmIHsgZWNobyAiUHJvZHVjdGlvbiI7
IHJldHVybjsgfQotICAgIFtbICIke0dYX1BST1ZJU0lPTkFMX0NPTkZJR1VSQVRJT059IiA9PSAi
cHJvZmlsaW5nIiBdXSAmJiB7IGVjaG8gIlByb2ZpbGluZyI7IHJldHVybjsgfQorICAgIFtbICIk
e0dYX1BST1ZJU0lPTkFMX0NPTkZJR1VSQVRJT059IiA9PSAiZGVidWciIF1dICAgICAgJiYgeyBl
dmFsICRHWF9SRVNVTFQ9IkRlYnVnIjsgcmV0dXJuOyB9CisgICAgW1sgIiR7R1hfUFJPVklTSU9O
QUxfQ09ORklHVVJBVElPTn0iID09ICJyZWxlYXNlIiBdXSAgICAmJiB7IGV2YWwgJEdYX1JFU1VM
VD0iUmVsZWFzZSI7IHJldHVybjsgfQorICAgIFtbICIke0dYX1BST1ZJU0lPTkFMX0NPTkZJR1VS
QVRJT059IiA9PSAicHJvZHVjdGlvbiIgXV0gJiYgeyBldmFsICRHWF9SRVNVTFQ9IlByb2R1Y3Rp
b24iOyByZXR1cm47IH0KKyAgICBbWyAiJHtHWF9QUk9WSVNJT05BTF9DT05GSUdVUkFUSU9OfSIg
PT0gInByb2ZpbGluZyIgXV0gICYmIHsgZXZhbCAkR1hfUkVTVUxUPSJQcm9maWxpbmciOyByZXR1
cm47IH0KIAogICAgIGRpZSAiVW5yZWNvZ25pemVkIGNvbmZpZ3VyYXRpb246ICQxIgogfQpAQCAt
NjI0LDI3ICs2MjUsMjggQEAgZnVuY3Rpb24gZ2V0X2Nhbm9uaWNhbF9wbGF0Zm9ybV9uYW1lKCkK
ICAgICBsb2dfY2FsbHN0YWNrX2FuZF9wYXJhbWV0ZXJzICIkQCIKIAogICAgIGxvY2FsIEdYX1BS
T1ZJU0lPTkFMX1BMQVRGT1JNX05BTUU9JChlY2hvICIkMSIgfCB0ciAnWzp1cHBlcjpdJyAnWzps
b3dlcjpdJykKKyAgICBsb2NhbCBHWF9SRVNVTFQ9JDIKIAotICAgIFtbICIke0dYX1BST1ZJU0lP
TkFMX1BMQVRGT1JNX05BTUV9IiA9PSAiIiBdXSAmJiB7IGVjaG8gIiI7IHJldHVybjsgfQorICAg
IFtbICIke0dYX1BST1ZJU0lPTkFMX1BMQVRGT1JNX05BTUV9IiA9PSAiIiBdXSAgICAgICAgICAg
ICAgICAgICAmJiB7IGV2YWwgJEdYX1JFU1VMVD0iIjsgcmV0dXJuOyB9CiAKLSAgICBbWyAiJHtH
WF9QUk9WSVNJT05BTF9QTEFURk9STV9OQU1FfSIgPT0gImlvcyIgXV0gJiYgeyBlY2hvICJpcGhv
bmVvcyI7IHJldHVybjsgfQotICAgIFtbICIke0dYX1BST1ZJU0lPTkFMX1BMQVRGT1JNX05BTUV9
IiA9PSAiaXBob25lIiBdXSAmJiB7IGVjaG8gImlwaG9uZW9zIjsgcmV0dXJuOyB9Ci0gICAgW1sg
IiR7R1hfUFJPVklTSU9OQUxfUExBVEZPUk1fTkFNRX0iID09ICJpcGFkIiBdXSAmJiB7IGVjaG8g
ImlwaG9uZW9zIjsgcmV0dXJuOyB9Ci0gICAgW1sgIiR7R1hfUFJPVklTSU9OQUxfUExBVEZPUk1f
TkFNRX0iID09ICJpcGhvbmVvcyIgXV0gJiYgeyBlY2hvICJpcGhvbmVvcyI7IHJldHVybjsgfQot
ICAgIFtbICIke0dYX1BST1ZJU0lPTkFMX1BMQVRGT1JNX05BTUV9IiA9PSAiaXBob25lc2ltdWxh
dG9yIiBdXSAmJiB7IGVjaG8gImlwaG9uZXNpbXVsYXRvciI7IHJldHVybjsgfQorICAgIFtbICIk
e0dYX1BST1ZJU0lPTkFMX1BMQVRGT1JNX05BTUV9IiA9PSAiaW9zIiBdXSAgICAgICAgICAgICAg
ICAmJiB7IGV2YWwgJEdYX1JFU1VMVD0iaXBob25lb3MiOyByZXR1cm47IH0KKyAgICBbWyAiJHtH
WF9QUk9WSVNJT05BTF9QTEFURk9STV9OQU1FfSIgPT0gImlwaG9uZSIgXV0gICAgICAgICAgICAg
JiYgeyBldmFsICRHWF9SRVNVTFQ9ImlwaG9uZW9zIjsgcmV0dXJuOyB9CisgICAgW1sgIiR7R1hf
UFJPVklTSU9OQUxfUExBVEZPUk1fTkFNRX0iID09ICJpcGFkIiBdXSAgICAgICAgICAgICAgICYm
IHsgZXZhbCAkR1hfUkVTVUxUPSJpcGhvbmVvcyI7IHJldHVybjsgfQorICAgIFtbICIke0dYX1BS
T1ZJU0lPTkFMX1BMQVRGT1JNX05BTUV9IiA9PSAiaXBob25lb3MiIF1dICAgICAgICAgICAmJiB7
IGV2YWwgJEdYX1JFU1VMVD0iaXBob25lb3MiOyByZXR1cm47IH0KKyAgICBbWyAiJHtHWF9QUk9W
SVNJT05BTF9QTEFURk9STV9OQU1FfSIgPT0gImlwaG9uZXNpbXVsYXRvciIgXV0gICAgJiYgeyBl
dmFsICRHWF9SRVNVTFQ9ImlwaG9uZXNpbXVsYXRvciI7IHJldHVybjsgfQogCi0gICAgW1sgIiR7
R1hfUFJPVklTSU9OQUxfUExBVEZPUk1fTkFNRX0iID09ICJtYWMiIF1dICYmIHsgZWNobyAibWFj
b3N4IjsgcmV0dXJuOyB9Ci0gICAgW1sgIiR7R1hfUFJPVklTSU9OQUxfUExBVEZPUk1fTkFNRX0i
ID09ICJvc3giIF1dICYmIHsgZWNobyAibWFjb3N4IjsgcmV0dXJuOyB9Ci0gICAgW1sgIiR7R1hf
UFJPVklTSU9OQUxfUExBVEZPUk1fTkFNRX0iID09ICJtYWNvcyIgXV0gJiYgeyBlY2hvICJtYWNv
c3giOyByZXR1cm47IH0KLSAgICBbWyAiJHtHWF9QUk9WSVNJT05BTF9QTEFURk9STV9OQU1FfSIg
PT0gIm1hY29zeCIgXV0gJiYgeyBlY2hvICJtYWNvc3giOyByZXR1cm47IH0KKyAgICBbWyAiJHtH
WF9QUk9WSVNJT05BTF9QTEFURk9STV9OQU1FfSIgPT0gIm1hYyIgXV0gICAgICAgICAgICAgICAg
JiYgeyBldmFsICRHWF9SRVNVTFQ9Im1hY29zeCI7IHJldHVybjsgfQorICAgIFtbICIke0dYX1BS
T1ZJU0lPTkFMX1BMQVRGT1JNX05BTUV9IiA9PSAib3N4IiBdXSAgICAgICAgICAgICAgICAmJiB7
IGV2YWwgJEdYX1JFU1VMVD0ibWFjb3N4IjsgcmV0dXJuOyB9CisgICAgW1sgIiR7R1hfUFJPVklT
SU9OQUxfUExBVEZPUk1fTkFNRX0iID09ICJtYWNvcyIgXV0gICAgICAgICAgICAgICYmIHsgZXZh
bCAkR1hfUkVTVUxUPSJtYWNvc3giOyByZXR1cm47IH0KKyAgICBbWyAiJHtHWF9QUk9WSVNJT05B
TF9QTEFURk9STV9OQU1FfSIgPT0gIm1hY29zeCIgXV0gICAgICAgICAgICAgJiYgeyBldmFsICRH
WF9SRVNVTFQ9Im1hY29zeCI7IHJldHVybjsgfQogCi0gICAgW1sgIiR7R1hfUFJPVklTSU9OQUxf
UExBVEZPUk1fTkFNRX0iID09ICJ0dm9zIiBdXSAmJiB7IGVjaG8gImFwcGxldHZvcyI7IHJldHVy
bjsgfQotICAgIFtbICIke0dYX1BST1ZJU0lPTkFMX1BMQVRGT1JNX05BTUV9IiA9PSAiYXBwbGV0
dm9zIiBdXSAmJiB7IGVjaG8gImFwcGxldHZvcyI7IHJldHVybjsgfQotICAgIFtbICIke0dYX1BS
T1ZJU0lPTkFMX1BMQVRGT1JNX05BTUV9IiA9PSAidHZzaW11bGF0b3IiIF1dICYmIHsgZWNobyAi
YXBwbGV0dnNpbXVsYXRvciI7IHJldHVybjsgfQotICAgIFtbICIke0dYX1BST1ZJU0lPTkFMX1BM
QVRGT1JNX05BTUV9IiA9PSAiYXBwbGV0dnNpbXVsYXRvciIgXV0gJiYgeyBlY2hvICJhcHBsZXR2
c2ltdWxhdG9yIjsgcmV0dXJuOyB9CisgICAgW1sgIiR7R1hfUFJPVklTSU9OQUxfUExBVEZPUk1f
TkFNRX0iID09ICJ0dm9zIiBdXSAgICAgICAgICAgICAgICYmIHsgZXZhbCAkR1hfUkVTVUxUPSJh
cHBsZXR2b3MiOyByZXR1cm47IH0KKyAgICBbWyAiJHtHWF9QUk9WSVNJT05BTF9QTEFURk9STV9O
QU1FfSIgPT0gImFwcGxldHZvcyIgXV0gICAgICAgICAgJiYgeyBldmFsICRHWF9SRVNVTFQ9ImFw
cGxldHZvcyI7IHJldHVybjsgfQorICAgIFtbICIke0dYX1BST1ZJU0lPTkFMX1BMQVRGT1JNX05B
TUV9IiA9PSAidHZzaW11bGF0b3IiIF1dICAgICAgICAmJiB7IGV2YWwgJEdYX1JFU1VMVD0iYXBw
bGV0dnNpbXVsYXRvciI7IHJldHVybjsgfQorICAgIFtbICIke0dYX1BST1ZJU0lPTkFMX1BMQVRG
T1JNX05BTUV9IiA9PSAiYXBwbGV0dnNpbXVsYXRvciIgXV0gICAmJiB7IGV2YWwgJEdYX1JFU1VM
VD0iYXBwbGV0dnNpbXVsYXRvciI7IHJldHVybjsgfQogCi0gICAgW1sgIiR7R1hfUFJPVklTSU9O
QUxfUExBVEZPUk1fTkFNRX0iID09ICJ3YXRjaG9zIiBdXSAmJiB7IGVjaG8gIndhdGNob3MiOyBy
ZXR1cm47IH0KLSAgICBbWyAiJHtHWF9QUk9WSVNJT05BTF9QTEFURk9STV9OQU1FfSIgPT0gIndh
dGNoc2ltdWxhdG9yIiBdXSAmJiB7IGVjaG8gIndhdGNoc2ltdWxhdG9yIjsgcmV0dXJuOyB9Cisg
ICAgW1sgIiR7R1hfUFJPVklTSU9OQUxfUExBVEZPUk1fTkFNRX0iID09ICJ3YXRjaG9zIiBdXSAg
ICAgICAgICAgICYmIHsgZXZhbCAkR1hfUkVTVUxUPSJ3YXRjaG9zIjsgcmV0dXJuOyB9CisgICAg
W1sgIiR7R1hfUFJPVklTSU9OQUxfUExBVEZPUk1fTkFNRX0iID09ICJ3YXRjaHNpbXVsYXRvciIg
XV0gICAgICYmIHsgZXZhbCAkR1hfUkVTVUxUPSJ3YXRjaHNpbXVsYXRvciI7IHJldHVybjsgfQog
CiAgICAgZGllICJVbnJlY29nbml6ZWQgcGxhdGZvcm0gbmFtZTogJDEiCiB9CkBAIC02NTQsMTUg
KzY1NiwxNyBAQCBmdW5jdGlvbiBnZXRfc2RrX25hbWUoKQogewogICAgIGxvZ19jYWxsc3RhY2tf
YW5kX3BhcmFtZXRlcnMgIiRAIgogCi0gICAgbG9jYWwgR1hfU0RLPSQoZ2V0X2Nhbm9uaWNhbF9w
bGF0Zm9ybV9uYW1lICIkMSIpCisgICAgbG9jYWwgR1hfU0RLPSQxCisgICAgbG9jYWwgR1hfUkVT
VUxUPSQyCisgICAgZ2V0X2Nhbm9uaWNhbF9wbGF0Zm9ybV9uYW1lICIke0dYX1NES30iIEdYX1NE
SwogICAgIGxvY2FsIEdYX0lOVEVSTkFMX1NESz0iJHtHWF9TREt9LmludGVybmFsIgogCiAgICAg
Z2V0X3Nka3MKIAogICAgICMgUHJlZmVyIGFuIGludGVybmFsIFNESyBpZiBvbmUgZXhpc3RzLgog
Ci0gICAgW1sgIiAke0dYX1NES1NbQF19ICIgPX4gIiAke0dYX0lOVEVSTkFMX1NES30gIiBdXSAm
JiB7IGVjaG8gIiR7R1hfSU5URVJOQUxfU0RLfSI7IHJldHVybjsgfQotICAgIFtbICIgJHtHWF9T
REtTW0BdfSAiID1+ICIgJHtHWF9TREt9ICIgXV0gJiYgeyBlY2hvICIke0dYX1NES30iOyByZXR1
cm47IH0KKyAgICBbWyAiICR7R1hfU0RLU1tAXX0gIiA9fiAiICR7R1hfSU5URVJOQUxfU0RLfSAi
IF1dICAgJiYgeyBldmFsICRHWF9SRVNVTFQ9IiR7R1hfSU5URVJOQUxfU0RLfSI7IHJldHVybjsg
fQorICAgIFtbICIgJHtHWF9TREtTW0BdfSAiID1+ICIgJHtHWF9TREt9ICIgXV0gICAgICAgICAg
ICAmJiB7IGV2YWwgJEdYX1JFU1VMVD0iJHtHWF9TREt9IjsgcmV0dXJuOyB9CiAKICAgICBkaWUg
IlVuc3VwcG9ydGVkIFNESzogJHtHWF9TREt9LiIKIH0KQEAgLTg0NCw3ICs4NDgsOCBAQCBmdW5j
dGlvbiBzdWJsYXVuY2hfdW5kZXJfeGNvZGUoKQogICAgICgoICR7R1hfREVCVUd9ICkpICYmIHsg
Zm9yIG4gaW4gJChzZXEgJEdYX0RFQlVHKTsgZG8gR1hfQVJHUys9KCItLWRlYnVnIik7IGRvbmU7
IH0KICAgICAoKCAke0dYX1FVSUVUfSApKSAmJiBHWF9BUkdTKz0oIi0tcXVpZXQiKQogCi0gICAg
bG9jYWwgR1hfU0RLX05BTUU9JChnZXRfc2RrX25hbWUgIiR7R1hfUExBVEZPUk1fTkFNRX0iKQor
ICAgIGxvY2FsIEdYX1NES19OQU1FCisgICAgZ2V0X3Nka19uYW1lICIke0dYX1BMQVRGT1JNX05B
TUV9IiBHWF9TREtfTkFNRQogCiAgICAgbG9nX2RlYnVnICJTdWJsYXVuY2hpbmcgZm9yOiAke0dY
X1BST0pFQ1RfVEFHfS8ke0dYX1BMQVRGT1JNX05BTUV9LyR7R1hfQ09ORklHVVJBVElPTn0iCiAK
QEAgLTEyMzIsOCArMTIzNyw4IEBAIGZ1bmN0aW9uIG1haW4oKQogICAgIGZpCiAKICAgICBbWyAt
eiAiJHtHWF9QUk9KRUNUX1RBR30iIHx8ICggIiAke0dYX1BST0pFQ1RfVEFHU1tAXX0gIiA9fiAi
ICR7R1hfUFJPSkVDVF9UQUd9ICIgKSBdXSB8fCB7IGRpZSAiVW5yZWNvZ25pemVkIHByb2plY3Q6
ICR7R1hfUFJPSkVDVF9UQUd9IjsgIH0KLSAgICBHWF9QTEFURk9STV9OQU1FPSQoZ2V0X2Nhbm9u
aWNhbF9wbGF0Zm9ybV9uYW1lICIke0dYX1BMQVRGT1JNX05BTUV9IikKLSAgICBHWF9DT05GSUdV
UkFUSU9OPSQoZ2V0X2Nhbm9uaWNhbF9jb25maWd1cmF0aW9uICIke0dYX0NPTkZJR1VSQVRJT059
IikKKyAgICBnZXRfY2Fub25pY2FsX3BsYXRmb3JtX25hbWUgIiR7R1hfUExBVEZPUk1fTkFNRX0i
IEdYX1BMQVRGT1JNX05BTUUKKyAgICBnZXRfY2Fub25pY2FsX2NvbmZpZ3VyYXRpb24gIiR7R1hf
Q09ORklHVVJBVElPTn0iIEdYX0NPTkZJR1VSQVRJT04KIAogICAgIGlmICgoICR7R1hfRE9fR0VO
RVJBVEV9ICkpCiAgICAgdGhlbgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>