<?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>127073</bug_id>
          
          <creation_ts>2014-01-15 16:23:53 -0800</creation_ts>
          <short_desc>[GTK][CMake] build-webkit should try harder to avoid re-running cmake</short_desc>
          <delta_ts>2020-03-19 04:10:09 -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>WebKitGTK</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Martin Robinson">mrobinson</reporter>
          <assigned_to name="Martin Robinson">mrobinson</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>pnormand</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>968514</commentid>
    <comment_count>0</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2014-01-15 16:23:53 -0800</bug_when>
    <thetext>When using build-webkit for incremental builds, having to rerun cmake constantly really breaks up flow. This will especially true once Ninja is working.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>968517</commentid>
    <comment_count>1</comment_count>
      <attachid>221315</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2014-01-15 16:35:17 -0800</bug_when>
    <thetext>Created attachment 221315
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>970588</commentid>
    <comment_count>2</comment_count>
      <attachid>221315</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2014-01-21 22:47:51 -0800</bug_when>
    <thetext>Comment on attachment 221315
Patch

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

&gt; Tools/Scripts/build-webkit:303
&gt; +    if (isNix()) {
&gt; +        if ($noWebKit2) {
&gt; +            print STDERR &quot;Nix is a WebKit2 port, you can&apos;t disable WebKit2 on it!\n&quot;;
&gt; +            exit 1;
&gt; +        }
&gt;  
&gt; -    buildCMakeProjectOrExit($clean, &quot;Nix&quot;, $prefixPath, $makeArgs, (cmakeBasedPortArguments(), cMakeArgsFromFeatures()), $cmakeArgs);
&gt; -}
&gt; +        $cmakeArgs = &quot;-DWTF_USE_CURL=ON &quot; . $cmakeArgs if $curl;
&gt; +        $cmakeArgs = &quot;-DWTF_USE_OPENGL_ES_2=ON &quot; . $cmakeArgs if $opengles2;

This code isn&apos;t necessary as the Nix port is no longer applicable.

&gt; Tools/Scripts/webkitdirs.pm:1719
&gt; +sub cachedArgumentFileOutOfDate($@)

Maybe a better name for this function would be isCachedArgumentFileOutOfDate since this function returns a boolean result.

&gt; Tools/Scripts/webkitdirs.pm:1896
&gt; +    my $optionsCache = File::Spec-&gt;catdir(baseProductDir(), configuration(), &apos;build-webkit-options.txt&apos;);

Nit: &apos; (single quote) =&gt; &quot; (double quote)

&gt; Tools/Scripts/webkitdirs.pm:1912
&gt; +    my $platformConfiguration = File::Spec-&gt;catdir(sourceDir(), &apos;Source&apos;, &apos;cmake&apos;, &apos;Options&apos; . cmakeBasedPortName() . &apos;.cmake&apos;);

Ditto.

&gt; Tools/Scripts/webkitdirs.pm:1917
&gt; +    my $globalConfiguration = File::Spec-&gt;catdir(sourceDir(), &apos;Source&apos;, &apos;cmake&apos;, &apos;OptionsCommon.cmake&apos;);

Ditto.

&gt; Tools/Scripts/webkitdirs.pm:2047
&gt; +    return isEfl() || isWinCE() || isNix() || isGtkCMake();

Remove isNix() as it&apos;s no longer applicable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>970809</commentid>
    <comment_count>3</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2014-01-22 11:51:37 -0800</bug_when>
    <thetext>Committed r162545: &lt;http://trac.webkit.org/changeset/162545&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1631601</commentid>
    <comment_count>4</comment_count>
      <attachid>221315</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2020-03-19 04:10:09 -0700</bug_when>
    <thetext>Comment on attachment 221315
Patch

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

&gt; Tools/Scripts/webkitdirs.pm:1928
&gt; +    if (shouldRemoveCMakeCache(@buildArgs)) {

How could this ever work? This function expects 2 arguments, not one? See patch in https://bugs.webkit.org/show_bug.cgi?id=209277</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>221315</attachid>
            <date>2014-01-15 16:35:17 -0800</date>
            <delta_ts>2014-01-21 22:47:51 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-127073-20140115163516.patch</filename>
            <type>text/plain</type>
            <size>8752</size>
            <attacher name="Martin Robinson">mrobinson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYyMDE5CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggNzIzZWQ3ZDgwYzk4NTAzYjU4N2RkMzU1N2NkMDg4NTRm
OTQ2YTEzOC4uNzExNDkwODExNmZhZjM5Y2JkNmQzYmYxMzRlYWY5MjMzNTBkZTVmOCAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1
IEBACisyMDE0LTAxLTE1ICBNYXJ0aW4gUm9iaW5zb24gIDxtcm9iaW5zb25AaWdhbGlhLmNvbT4K
KworICAgICAgICBbR1RLXVtDTWFrZV0gYnVpbGQtd2Via2l0IHNob3VsZCB0cnkgaGFyZGVyIHRv
IGF2b2lkIHJlLXJ1bm5pbmcgY21ha2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTEyNzA3MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogU2NyaXB0cy9idWlsZC13ZWJraXQ6IFVuaWZ5IGFsbCB0aGUgcG9y
dHMgdGhhdCBjYWxsIGJ1aWxkQ01ha2VQcm9qZWN0T3JFeGl0IHdpdGgKKyAgICAgICAgdGhlIG5l
dyBpc0NNYWtlQnVpbGQgY29uZGl0aW9uYWwuIFRoaXMgYWxsb3dzIHVzIHRvIHNoYXJlIG1vcmUg
Y29kZSBiZXR3ZWVuIHBvcnRzLgorICAgICAgICBQYXNzIHRoZSBidWlsZCBhcmd1bWVudHMgdG8g
dGhlIHJlbW92ZUNNYWtlQ2FjaGUgZnVuY3Rpb24uCisgICAgICAgICogU2NyaXB0cy93ZWJraXRk
aXJzLnBtOgorICAgICAgICAocnVuQXV0b2dlbkZvckF1dG90b29sc1Byb2plY3RJZk5lY2Vzc2Fy
eSk6IFJlbmFtZWQgbXVzdFJlUnVuQXV0b2dlbiB0byBjYWNoZWRBcmd1bWVudEZpbGVPdXRPZkRh
dGUKKyAgICAgICAgYmVjYXVzZSBpdCdzIG5vdyBzaGFyZWQgd2l0aCB0aGUgQ01ha2UgYnVpbGQu
CisgICAgICAgIChjYWNoZWRBcmd1bWVudEZpbGVPdXRPZkRhdGUpOiBSZW5hbWVkLgorICAgICAg
ICAoY21ha2VDYWNoZVBhdGgpOiBBZGRlZCB0aGlzIGhlbHBlciB3aGljaCBnZXRzIHRoZSBDTWFr
ZUNhY2hlLnR4dCBwYXRoLgorICAgICAgICAoc2hvdWxkUmVtb3ZlQ01ha2VDYWNoZSk6IFRyaWVz
IHRvIHByZXNlcnZlIGN1cnJlbnQgYmVoYXZpb3IgZm9yIGFsbCBwb3J0cywgCisgICAgICAgIGV4
Y2VwdCBHVEsrIHdoaWNoIGV4YW1pbmVzIHRoZSBPcHRpb25zR1RLLmNtYWtlIGFuZCBPcHRpb25z
Q29tbW9uLmNtYWtlIGZpbGUKKyAgICAgICAgYXMgd2VsbCBhcyBjaGVja2luZyBpZiBidWlsZC13
ZWJraXQgaGFzIGJlZW4gcnVuIHdpdGggZGlmZmVyZW50IGFyZ3VtZW50cy4KKyAgICAgICAgKHJl
bW92ZUNNYWtlQ2FjaGUpOiBDYWxsIHNob3VsZFJlbW92ZUNNYWtlQ2FjaGUgbm93LgorICAgICAg
ICAoZ2VuZXJhdGVCdWlsZFN5c3RlbUZyb21DTWFrZVByb2plY3QpOiBFeGl0IGVhcmx5IGlmIENN
YWtlQ2FjaGUudHh0IGV4aXN0cyBmb3IgR1RLKy4KKyAgICAgICAgKGlzQ01ha2VCdWlsZCk6IEFk
ZGVkLgorCiAyMDE0LTAxLTE0ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29tPgog
CiAgICAgICAgIFtXSU5dIFNldCBNU0J1aWxkIGVudmlyb25tZW50IHZhcmlhYmxlIHRvIGF2b2lk
IGxvbmctbGl2ZWQgcHJvY2Vzc2VzIGxvY2tpbmcgbG9nIGZpbGVzCmRpZmYgLS1naXQgYS9Ub29s
cy9TY3JpcHRzL2J1aWxkLXdlYmtpdCBiL1Rvb2xzL1NjcmlwdHMvYnVpbGQtd2Via2l0CmluZGV4
IDVlNGVjODQ1YjU3ZWRkNTQzN2FmMjUzMGRiNmZhYzU4YmE4N2RjNTUuLjAzMmNhMDk3ZjAwNzE5
ZWRjMzZiMTY3OGUzODAxYzExZWFlM2RlMTEgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvYnVp
bGQtd2Via2l0CisrKyBiL1Rvb2xzL1NjcmlwdHMvYnVpbGQtd2Via2l0CkBAIC0yOTIsNDAgKzI5
MiwzMSBAQCBpZiAoaXNJbnNwZWN0b3JGcm9udGVuZCgpKSB7CiAgICAgQHByb2plY3RzID0gKCJT
b3VyY2UvV2ViSW5zcGVjdG9yVUkiKTsKIH0KIAotaWYgKGlzTml4KCkpIHsKLSAgICBpZiAoJG5v
V2ViS2l0MikgewotICAgICAgICBwcmludCBTVERFUlIgIk5peCBpcyBhIFdlYktpdDIgcG9ydCwg
eW91IGNhbid0IGRpc2FibGUgV2ViS2l0MiBvbiBpdCFcbiI7Ci0gICAgICAgIGV4aXQgMTsKLSAg
ICB9Ci0KLSAgICAjIEJ5IGRlZmF1bHQgd2UgYnVpbGQgdXNpbmcgYWxsIG9mIHRoZSBhdmFpbGFi
bGUgQ1BVcy4KLSAgICAkbWFrZUFyZ3MgLj0gKCRtYWtlQXJncyA/ICIgIiA6ICIiKSAuICItaiIg
LiBudW1iZXJPZkNQVXMoKSBpZiAkbWFrZUFyZ3MgIX4gLy1qXHMqXGQrLzsKLSAgICAkY21ha2VB
cmdzID0gIi1EV1RGX1VTRV9DVVJMPU9OICIgLiAkY21ha2VBcmdzIGlmICRjdXJsOwotICAgICRj
bWFrZUFyZ3MgPSAiLURXVEZfVVNFX09QRU5HTF9FU18yPU9OICIgLiAkY21ha2VBcmdzIGlmICRv
cGVuZ2xlczI7Ci0KLSAgICAjIFdlIHJlbW92ZSBDTWFrZUNhY2hlIHRvIGF2b2lkIHRoZSBib3Rz
IHRvIHJldXNlIGNhY2hlZCBmbGFncyB3aGVuCi0gICAgIyB3ZSBlbmFibGUgbmV3IGZlYXR1cmVz
LiBUaGlzIGZvcmNlcyBhIHJlY29uZmlndXJhdGlvbi4KLSAgICByZW1vdmVDTWFrZUNhY2hlKCk7
CitpZiAoaXNDTWFrZUJ1aWxkKCkpIHsKKyAgICBpZiAoaXNOaXgoKSkgeworICAgICAgICBpZiAo
JG5vV2ViS2l0MikgeworICAgICAgICAgICAgcHJpbnQgU1RERVJSICJOaXggaXMgYSBXZWJLaXQy
IHBvcnQsIHlvdSBjYW4ndCBkaXNhYmxlIFdlYktpdDIgb24gaXQhXG4iOworICAgICAgICAgICAg
ZXhpdCAxOworICAgICAgICB9CiAKLSAgICBidWlsZENNYWtlUHJvamVjdE9yRXhpdCgkY2xlYW4s
ICJOaXgiLCAkcHJlZml4UGF0aCwgJG1ha2VBcmdzLCAoY21ha2VCYXNlZFBvcnRBcmd1bWVudHMo
KSwgY01ha2VBcmdzRnJvbUZlYXR1cmVzKCkpLCAkY21ha2VBcmdzKTsKLX0KKyAgICAgICAgJGNt
YWtlQXJncyA9ICItRFdURl9VU0VfQ1VSTD1PTiAiIC4gJGNtYWtlQXJncyBpZiAkY3VybDsKKyAg
ICAgICAgJGNtYWtlQXJncyA9ICItRFdURl9VU0VfT1BFTkdMX0VTXzI9T04gIiAuICRjbWFrZUFy
Z3MgaWYgJG9wZW5nbGVzMjsKKyAgICB9IGVsc2UgeworICAgICAgICAkY21ha2VBcmdzID0gIi1E
RU5BQkxFX1dFQktJVD1PRkYgIiAgLiAkY21ha2VBcmdzIGlmICRub1dlYktpdDE7CisgICAgICAg
ICRjbWFrZUFyZ3MgPSAiLURFTkFCTEVfV0VCS0lUMj1PRkYgIiAuICRjbWFrZUFyZ3MgaWYgJG5v
V2ViS2l0MjsKKyAgICB9CiAKLWlmIChpc0VmbCgpIHx8IGlzR3RrQ01ha2UoKSkgewogICAgICMg
QnkgZGVmYXVsdCB3ZSBidWlsZCB1c2luZyBhbGwgb2YgdGhlIGF2YWlsYWJsZSBDUFVzLgotICAg
ICRtYWtlQXJncyAuPSAoJG1ha2VBcmdzID8gIiAiIDogIiIpIC4gIi1qIiAuIG51bWJlck9mQ1BV
cygpIGlmICRtYWtlQXJncyAhfiAvLWpccypcZCsvOwotICAgICRjbWFrZUFyZ3MgPSAiLURFTkFC
TEVfV0VCS0lUPU9GRiAiICAuICRjbWFrZUFyZ3MgaWYgJG5vV2ViS2l0MTsKLSAgICAkY21ha2VB
cmdzID0gIi1ERU5BQkxFX1dFQktJVDI9T0ZGICIgLiAkY21ha2VBcmdzIGlmICRub1dlYktpdDI7
CisgICAgaWYgKCFpc1dpbkNFKCkpIHsKKyAgICAgICAgJG1ha2VBcmdzIC49ICgkbWFrZUFyZ3Mg
PyAiICIgOiAiIikgLiAiLWoiIC4gbnVtYmVyT2ZDUFVzKCkgaWYgJG1ha2VBcmdzICF+IC8talxz
KlxkKy87CisgICAgfQogCiAgICAgIyBXZSByZW1vdmUgQ01ha2VDYWNoZSB0byBhdm9pZCB0aGUg
Ym90cyB0byByZXVzZSBjYWNoZWQgZmxhZ3Mgd2hlbgogICAgICMgd2UgZW5hYmxlIG5ldyBmZWF0
dXJlcy4gVGhpcyBmb3JjZXMgYSByZWNvbmZpZ3VyYXRpb24uCi0gICAgcmVtb3ZlQ01ha2VDYWNo
ZSgpOwotCi0gICAgbXkgJHBvcnROYW1lID0gKGlzRWZsKCkgPyAiRWZsIiA6ICJHVEsiKTsKLSAg
ICBidWlsZENNYWtlUHJvamVjdE9yRXhpdCgkY2xlYW4sICRwb3J0TmFtZSwgJHByZWZpeFBhdGgs
ICRtYWtlQXJncywgKGNtYWtlQmFzZWRQb3J0QXJndW1lbnRzKCksIGNNYWtlQXJnc0Zyb21GZWF0
dXJlcygpKSwgJGNtYWtlQXJncyk7Ci19CisgICAgbXkgQGZlYXR1cmVBcmdzID0gY01ha2VBcmdz
RnJvbUZlYXR1cmVzKCk7CisgICAgcmVtb3ZlQ01ha2VDYWNoZShAZmVhdHVyZUFyZ3MpOwogCi1p
ZiAoaXNXaW5DRSgpKSB7Ci0gICAgYnVpbGRDTWFrZVByb2plY3RPckV4aXQoJGNsZWFuLCAiV2lu
Q0UiLCAkcHJlZml4UGF0aCwgJG1ha2VBcmdzLCAoY21ha2VCYXNlZFBvcnRBcmd1bWVudHMoKSwg
Y01ha2VBcmdzRnJvbUZlYXR1cmVzKCkpLCAkY21ha2VBcmdzKTsKKyAgICBidWlsZENNYWtlUHJv
amVjdE9yRXhpdCgkY2xlYW4sIGNtYWtlQmFzZWRQb3J0TmFtZSgpLCAkcHJlZml4UGF0aCwgJG1h
a2VBcmdzLCAoY21ha2VCYXNlZFBvcnRBcmd1bWVudHMoKSwgQGZlYXR1cmVBcmdzKSwgJGNtYWtl
QXJncyk7CiB9CiAKICMgQnVpbGQsIGFuZCBhYm9ydCBpZiB0aGUgYnVpbGQgZmFpbHMuCmRpZmYg
LS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdGRpcnMucG0gYi9Ub29scy9TY3JpcHRzL3dlYmtp
dGRpcnMucG0KaW5kZXggNGQ0YjY0Y2JkYzEyZWYyZDFlYjcxZTQ0NjdkMWY5M2E5YTNkMDYyMy4u
NWJjZDVmYzEzM2Y2MjU0OGVlOTc0ZWUzMDFiNDAyY2Y3NDgyNzNmOCAxMDA3NTUKLS0tIGEvVG9v
bHMvU2NyaXB0cy93ZWJraXRkaXJzLnBtCisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0ZGlycy5w
bQpAQCAtMTY2NSw4ICsxNjY1LDggQEAgc3ViIHJ1bkF1dG9nZW5Gb3JBdXRvdG9vbHNQcm9qZWN0
SWZOZWNlc3NhcnkoJEApCiAgICAgICAgIH0KIAogICAgICAgICAjIFJ1biBhdXRvZ2VuLnNoIGFn
YWluIGlmIGVpdGhlciB0aGUgZmVhdHVyZXMgb3ZlcnJpZGVkIGJ5IGJ1aWxkLXdlYmtpdCBvciBi
dWlsZCBhcmd1bWVudHMgaGF2ZSBjaGFuZ2VkLgotICAgICAgICBpZiAoIW11c3RSZVJ1bkF1dG9n
ZW4oJHNvdXJjZURpciwgIldlYktpdEZlYXR1cmVPdmVycmlkZXMudHh0IiwgJGpvaW5lZE92ZXJy
aWRhYmxlRmVhdHVyZXMpCi0gICAgICAgICAgICAmJiAhbXVzdFJlUnVuQXV0b2dlbigkc291cmNl
RGlyLCAicHJldmlvdXMtYXV0b2dlbi1hcmd1bWVudHMudHh0IiwgJGpvaW5lZEJ1aWxkQXJncykp
IHsKKyAgICAgICAgaWYgKCFjYWNoZWRBcmd1bWVudEZpbGVPdXRPZkRhdGUoIldlYktpdEZlYXR1
cmVPdmVycmlkZXMudHh0IiwgJGpvaW5lZE92ZXJyaWRhYmxlRmVhdHVyZXMpCisgICAgICAgICAg
ICAmJiAhY2FjaGVkQXJndW1lbnRGaWxlT3V0T2ZEYXRlKCJwcmV2aW91cy1hdXRvZ2VuLWFyZ3Vt
ZW50cy50eHQiLCAkam9pbmVkQnVpbGRBcmdzKSkgewogICAgICAgICAgICAgcmV0dXJuOwogICAg
ICAgICB9CiAgICAgfQpAQCAtMTcxNiw5ICsxNzE2LDkgQEAgc3ViIGdldEpoYnVpbGRQYXRoKCkK
ICAgICByZXR1cm4gRmlsZTo6U3BlYy0+Y2F0ZGlyKEBqaGJ1aWxkUGF0aCk7CiB9CiAKLXN1YiBt
dXN0UmVSdW5BdXRvZ2VuKCRAKQorc3ViIGNhY2hlZEFyZ3VtZW50RmlsZU91dE9mRGF0ZSgkQCkK
IHsKLSAgICBteSAoJHNvdXJjZURpciwgJGZpbGVuYW1lLCAkY3VycmVudENvbnRlbnRzKSA9IEBf
OworICAgIG15ICgkZmlsZW5hbWUsICRjdXJyZW50Q29udGVudHMpID0gQF87CiAKICAgICBpZiAo
ISAtZSAkZmlsZW5hbWUpIHsKICAgICAgICAgcmV0dXJuIDE7CkBAIC0xNzI4LDEwICsxNzI4LDYg
QEAgc3ViIG11c3RSZVJ1bkF1dG9nZW4oJEApCiAgICAgY2hvbXAobXkgJHByZXZpb3VzQ29udGVu
dHMgPSA8Q09OVEVOVFNfRklMRT4pOwogICAgIGNsb3NlKENPTlRFTlRTX0ZJTEUpOwogCi0gICAg
IyBXZSBvbmx5IGNhcmUgYWJvdXQgdGhlIFdlYktpdDIgYXJndW1lbnQgd2hlbiB3ZSBhcmUgYnVp
bGRpbmcgV2ViS2l0IGl0c2VsZi4KLSAgICAjIGJ1aWxkLWpzYyBuZXZlciBwYXNzZXMgLS1lbmFi
bGUtd2Via2l0Miwgc28gaWYgd2UgZGlkbid0IGRvIHRoaXMsIGF1dG9nZW4uc2gKLSAgICAjIHdv
dWxkIHJ1biBmb3IgZXZlcnkgc2luZ2xlIGJ1aWxkIG9uIHRoZSBib3RzLCBzaW5jZSBpdCBydW5z
IGJvdGggYnVpbGQtd2Via2l0Ci0gICAgIyBhbmQgYnVpbGQtanNjLgogICAgIGlmICgkcHJldmlv
dXNDb250ZW50cyBuZSAkY3VycmVudENvbnRlbnRzKSB7CiAgICAgICAgIHByaW50ICJDb250ZW50
cyBmb3IgZmlsZSAkZmlsZW5hbWUgaGF2ZSBjaGFuZ2VkLlxuIjsKICAgICAgICAgcHJpbnQgIlBy
ZXZpb3VzIGNvbnRlbnRzIHdlcmU6ICRwcmV2aW91c0NvbnRlbnRzXG5cbiI7CkBAIC0xODgwLDEw
ICsxODc2LDU5IEBAIHN1YiBqaGJ1aWxkV3JhcHBlclByZWZpeElmTmVlZGVkKCkKICAgICByZXR1
cm4gKCk7CiB9CiAKLXN1YiByZW1vdmVDTWFrZUNhY2hlKCkKK3N1YiBjbWFrZUNhY2hlUGF0aCgp
CiB7Ci0gICAgbXkgJGNhY2hlRmlsZVBhdGggPSBGaWxlOjpTcGVjLT5jYXRkaXIoYmFzZVByb2R1
Y3REaXIoKSwgY29uZmlndXJhdGlvbigpLCAiQ01ha2VDYWNoZS50eHQiKTsKLSAgICB1bmxpbmso
JGNhY2hlRmlsZVBhdGgpIGlmIC1lICRjYWNoZUZpbGVQYXRoOworICAgIHJldHVybiBGaWxlOjpT
cGVjLT5jYXRkaXIoYmFzZVByb2R1Y3REaXIoKSwgY29uZmlndXJhdGlvbigpLCAiQ01ha2VDYWNo
ZS50eHQiKTsKK30KKworc3ViIHNob3VsZFJlbW92ZUNNYWtlQ2FjaGUoQCkKK3sKKyAgICBteSAo
JGNhY2hlRmlsZVBhdGgsIEBidWlsZEFyZ3MpID0gQF87CisgICAgaWYgKGlzV2luQ0UoKSkgewor
ICAgICAgICByZXR1cm4gMDsKKyAgICB9CisKKyAgICBpZiAoIWlzR3RrKCkpIHsKKyAgICAgICAg
cmV0dXJuIDE7CisgICAgfQorCisgICAgIyBXZSBjaGVjayB0aGlzIGZpcnN0LCBiZWNhdXNlIHdl
IGFsd2F5cyB3YW50IHRvIGNyZWF0ZSB0aGlzIGZpbGUgZm9yIGEgZnJlc2ggYnVpbGQuCisgICAg
bXkgJG9wdGlvbnNDYWNoZSA9IEZpbGU6OlNwZWMtPmNhdGRpcihiYXNlUHJvZHVjdERpcigpLCBj
b25maWd1cmF0aW9uKCksICdidWlsZC13ZWJraXQtb3B0aW9ucy50eHQnKTsKKyAgICBteSAkam9p
bmVkQnVpbGRBcmdzID0gam9pbigiICIsIEBidWlsZEFyZ3MpOworICAgIGlmIChjYWNoZWRBcmd1
bWVudEZpbGVPdXRPZkRhdGUoJG9wdGlvbnNDYWNoZSwgJGpvaW5lZEJ1aWxkQXJncykpIHsKKyAg
ICAgICAgb3BlbihDQUNIRURfQVJHVU1FTlRTLCAiPiIsICRvcHRpb25zQ2FjaGUpOworICAgICAg
ICBwcmludCBDQUNIRURfQVJHVU1FTlRTICRqb2luZWRCdWlsZEFyZ3M7CisgICAgICAgIGNsb3Nl
KENBQ0hFRF9BUkdVTUVOVFMpOworCisgICAgICAgIHJldHVybiAxOworICAgIH0KKworICAgIG15
ICRjbWFrZUNhY2hlID0gY21ha2VDYWNoZVBhdGgoKTsKKyAgICB1bmxlc3MgKC1lICRjbWFrZUNh
Y2hlKSB7CisgICAgICAgIHJldHVybiAwOworICAgIH0KKworICAgIG15ICRjYWNoZUZpbGVNb2Rp
ZmllZFRpbWUgPSBzdGF0KCRjbWFrZUNhY2hlKS0+bXRpbWU7CisgICAgbXkgJHBsYXRmb3JtQ29u
ZmlndXJhdGlvbiA9IEZpbGU6OlNwZWMtPmNhdGRpcihzb3VyY2VEaXIoKSwgJ1NvdXJjZScsICdj
bWFrZScsICdPcHRpb25zJyAuIGNtYWtlQmFzZWRQb3J0TmFtZSgpIC4gJy5jbWFrZScpOworICAg
IGlmICgkY2FjaGVGaWxlTW9kaWZpZWRUaW1lIDwgc3RhdCgkcGxhdGZvcm1Db25maWd1cmF0aW9u
KS0+bXRpbWUpIHsKKyAgICAgICAgcmV0dXJuIDE7CisgICAgfQorCisgICAgbXkgJGdsb2JhbENv
bmZpZ3VyYXRpb24gPSBGaWxlOjpTcGVjLT5jYXRkaXIoc291cmNlRGlyKCksICdTb3VyY2UnLCAn
Y21ha2UnLCAnT3B0aW9uc0NvbW1vbi5jbWFrZScpOworICAgIGlmICgkY2FjaGVGaWxlTW9kaWZp
ZWRUaW1lIDwgc3RhdCgkZ2xvYmFsQ29uZmlndXJhdGlvbiktPm10aW1lKSB7CisgICAgICAgIHJl
dHVybiAxOworICAgIH0KKworICAgIHJldHVybiAwOworfQorCitzdWIgcmVtb3ZlQ01ha2VDYWNo
ZShAKQoreworICAgIG15IChAYnVpbGRBcmdzKSA9IEBfOworICAgIGlmIChzaG91bGRSZW1vdmVD
TWFrZUNhY2hlKEBidWlsZEFyZ3MpKSB7CisgICAgICAgIG15ICRjbWFrZUNhY2hlID0gY21ha2VD
YWNoZVBhdGgoKTsKKyAgICAgICAgdW5saW5rKCRjbWFrZUNhY2hlKSBpZiAtZSAkY21ha2VDYWNo
ZTsKKyAgICB9CiB9CiAKIHN1YiBnZW5lcmF0ZUJ1aWxkU3lzdGVtRnJvbUNNYWtlUHJvamVjdApA
QCAtMTg5NSw2ICsxOTQwLDExIEBAIHN1YiBnZW5lcmF0ZUJ1aWxkU3lzdGVtRnJvbUNNYWtlUHJv
amVjdAogICAgIG15ICRvcmlnaW5hbFdvcmtpbmdEaXJlY3RvcnkgPSBnZXRjd2QoKTsKICAgICBj
aGRpcigkYnVpbGRQYXRoKSBvciBkaWU7CiAKKyAgICAjIEZvciBHVEsrIHdlIHRyeSB0byBiZSBz
bWFydCBhYm91dCB3aGVuIHRvIHJlcnVuIGNtYWtlLCBzbyB0aGF0IHdlIGNhbiBoYXZlIGZhc3Rl
ciBpbmNyZW1lbnRhbCBidWlsZHMuCisgICAgaWYgKGlzR3RrKCkgJiYgLWUgY21ha2VDYWNoZVBh
dGgoKSkgeworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisKICAgICBteSBAYXJnczsKICAgICBw
dXNoIEBhcmdzLCAiLURQT1JUPVwiJHBvcnRcIiI7CiAgICAgcHVzaCBAYXJncywgIi1EQ01BS0Vf
SU5TVEFMTF9QUkVGSVg9XCIkcHJlZml4UGF0aFwiIiBpZiAkcHJlZml4UGF0aDsKQEAgLTE5OTIs
NiArMjA0MiwxMSBAQCBzdWIgY21ha2VCYXNlZFBvcnROYW1lKCkKICAgICByZXR1cm4gIiI7CiB9
CiAKK3N1YiBpc0NNYWtlQnVpbGQoKQoreworICAgIHJldHVybiBpc0VmbCgpIHx8IGlzV2luQ0Uo
KSB8fCBpc05peCgpIHx8IGlzR3RrQ01ha2UoKTsKK30KKwogc3ViIHByb21wdFVzZXIKIHsKICAg
ICBteSAoJHByb21wdCwgJGRlZmF1bHQpID0gQF87Cg==
</data>
<flag name="review"
          id="245200"
          type_id="1"
          status="+"
          setter="dbates"
    />
          </attachment>
      

    </bug>

</bugzilla>