<?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>53672</bug_id>
          
          <creation_ts>2011-02-03 04:46:24 -0800</creation_ts>
          <short_desc>Modify make_names.pl to not include conditional includes unconditionally</short_desc>
          <delta_ts>2011-04-18 08:14:03 -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>DOM</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>
          
          <blocked>47264</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Bergkvist">adam.bergkvist</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>aroben</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>dbates</cc>
    
    <cc>eric</cc>
    
    <cc>jchaffraix</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>344633</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Bergkvist">adam.bergkvist</who>
    <bug_when>2011-02-03 04:46:24 -0800</bug_when>
    <thetext>Generated files should have feature guards around includes of conditional features. This makes it possible to add new elements without adding the files to every build system.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>344636</commentid>
    <comment_count>1</comment_count>
      <attachid>81051</attachid>
    <who name="Adam Bergkvist">adam.bergkvist</who>
    <bug_when>2011-02-03 04:55:49 -0800</bug_when>
    <thetext>Created attachment 81051
Proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>348244</commentid>
    <comment_count>2</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-02-09 08:05:37 -0800</bug_when>
    <thetext>CCing folks who&apos;ve worked on this script in the past.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>348577</commentid>
    <comment_count>3</comment_count>
      <attachid>81051</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-02-09 14:28:38 -0800</bug_when>
    <thetext>Comment on attachment 81051
Proposed patch

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

This looks plausible, but I don&apos;t understand Perl very well.

&gt; Source/WebCore/dom/make_names.pl:600
&gt; +        next if $enabledTags{$tagName}{conditional} || defined($tagsSeen{$JSInterfaceName})
&gt; +                || usesDefaultJSWrapper($tagName);

This should probably be on one line.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>349049</commentid>
    <comment_count>4</comment_count>
      <attachid>81977</attachid>
    <who name="Adam Bergkvist">adam.bergkvist</who>
    <bug_when>2011-02-10 07:11:14 -0800</bug_when>
    <thetext>Created attachment 81977
diff between JSHTMLElementWrapperFactory.cpp before and after modification of make_names.pl

If nothing else, this patch makes the generated files more readable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>380568</commentid>
    <comment_count>5</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-04-06 10:28:43 -0700</bug_when>
    <thetext>dbates and darin adler do most of the perl reviewing.  Also looks plausibly sane to me, but better to ask them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>383788</commentid>
    <comment_count>6</comment_count>
      <attachid>81051</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2011-04-11 20:29:06 -0700</bug_when>
    <thetext>Comment on attachment 81051
Proposed patch

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

&gt; Source/WebCore/ChangeLog:10
&gt; +        No new tests (no change in functionality)

I wish we could test this :-(. I don&apos;t think we have unit test coverage for make_names.pl (since it&apos;s a driver program as opposed to a Perl module).

&gt; Source/WebCore/ChangeLog:12
&gt; +        * dom/make_names.pl:

Because prepareChangeLog doesn&apos;t support Perl, it is convention that we add analogous notes that document the added functions. This makes it convenient for a person to determine which changeset added/changed a particular function by searching the change log entries for the function name. For an example of this, see &lt;http://trac.webkit.org/changeset/52692&gt;.

&gt; Source/WebCore/dom/make_names.pl:614
&gt; +        next if $enabledTags{$tagName}{conditional} || defined($tagsSeen{$interfaceName});

I suggest adding a comment above this line that explains that we are skipping feature-define-specific #includes because we will handle such #includes separately. OR, even better, break the disjuncts into separate if statements, like:

next if defined($tagsSeen{$interfaceName});

if ($enabledTags{$tagName}{conditional}) {
    # We skip feature-define-specific #includes here since will we handle such #includes separately.
    next;
}

&gt; Source/WebCore/dom/make_names.pl:621
&gt; +sub printConditionalElementIncludes

This function only handles feature-define #includes as opposed to all such conditional #include. Maybe a better name would be printFeatureDefineIncludes()?

&gt; Source/WebCore/dom/make_names.pl:624
&gt; +    my $F = shift;
&gt; +    my $wrapperFactoryType = shift;

I would write this as:

my ($F, $wrapperFactoryType) = @_;

&gt; Source/WebCore/dom/make_names.pl:625
&gt; +    my $printJSElementIncludes = !!$wrapperFactoryType;

It is necessary to explicitly convert $wrapperFactoryType to a boolean value (see my comment for line 656). Moreover, this variable is unnecessary since it&apos;s being referenced only once in this function; =&gt; the value should just be inlined into the if-statement.

&gt; Source/WebCore/dom/make_names.pl:629
&gt; +    my %conditionals = ();
&gt; +    my %unconditionalElementIncludes = ();
&gt; +    my %unconditionalJSElementIncludes = ();

It is unnecessary to explicitly initialize these. You can just write these as:

my %conditionals;
my %unconditionalElementIncludes;
my %unconditionalJSElementIncludes;

&gt; Source/WebCore/dom/make_names.pl:641
&gt; +            if (!$conditionals{$conditional}) {
&gt; +                $conditionals{$conditional} = ();
&gt; +                $conditionals{$conditional}{interfaceNames} = ();
&gt; +                $conditionals{$conditional}{JSInterfaceNames} = ();
&gt; +            }

This code is unnecessary. No need to explicitly initialize the values of these hash keys. Perl is reasonable when it comes it using undefined values.

&gt; Source/WebCore/dom/make_names.pl:651
&gt; +        print F &quot;\n#if ENABLE(${conditional})\n&quot;;

The curly bracket &apos;{&apos; and &apos;}&apos; are unnecessary. It seems that make_names.pl doesn&apos;t have a consistent notation. Some code uses the curly-bracket notation and some doesn&apos;t. Regardless, I suggest removing the curly brackets since there is only one variable to be interpolated and I don&apos;t feel there presence improves the readability of this string, which already feels crowded by the presence of all the surrounding punctuation characters (e.g. &apos;(&apos;, &apos;)&apos;) and new-line escape sequences .

&gt; Source/WebCore/dom/make_names.pl:652
&gt; +        for my $interfaceName (sort keys %{$conditionals{$conditional}{interfaceNames}}) {

I would remove the curly brackets around the expression $conditionals{...}{...} as they are unnecessary.

&gt; Source/WebCore/dom/make_names.pl:654
&gt; +            print F &quot;#include \&quot;${interfaceName}.h\&quot;\n&quot;;

Curly brackets are also used here and are unnecessary.

&gt; Source/WebCore/dom/make_names.pl:656
&gt; +        if ($printJSElementIncludes) {

This can be written as:

if ($wrapperFactoryType) {

&gt; Source/WebCore/dom/make_names.pl:657
&gt; +            for my $JSInterfaceName (sort keys %{$conditionals{$conditional}{JSInterfaceNames}}) {

I would remove the curly brackets around the expression $conditionals{...}{...} as they are unnecessary.

&gt; Source/WebCore/dom/make_names.pl:713
&gt; +printConditionalElementIncludes($F, &quot;&quot;);

Leave off the second argument; it&apos;s syntactically unnecessary and doesn&apos;t add any value.

Notice, when you leave off the second argument then $wrapperFactoryType is undefined inside the function body printConditionalElementIncludes(); =&gt; $wrapperFactoryType evaluates to false in the if-statment on line 656.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>383791</commentid>
    <comment_count>7</comment_count>
      <attachid>81051</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2011-04-11 20:31:18 -0700</bug_when>
    <thetext>Comment on attachment 81051
Proposed patch

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

&gt;&gt; Source/WebCore/dom/make_names.pl:625
&gt;&gt; +    my $printJSElementIncludes = !!$wrapperFactoryType;
&gt; 
&gt; It is necessary to explicitly convert $wrapperFactoryType to a boolean value (see my comment for line 656). Moreover, this variable is unnecessary since it&apos;s being referenced only once in this function; =&gt; the value should just be inlined into the if-statement.

*It is unnecessary to explicitly ...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>386542</commentid>
    <comment_count>8</comment_count>
      <attachid>89773</attachid>
    <who name="Adam Bergkvist">adam.bergkvist</who>
    <bug_when>2011-04-15 06:20:09 -0700</bug_when>
    <thetext>Created attachment 89773
Updated patch

(In reply to comment #6)
&gt; (From update of attachment 81051 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=81051&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:10
&gt; &gt; +        No new tests (no change in functionality)
&gt; 
&gt; I wish we could test this :-(. I don&apos;t think we have unit test coverage for make_names.pl (since it&apos;s a driver program as opposed to a Perl module).
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:12
&gt; &gt; +        * dom/make_names.pl:
&gt; 
&gt; Because prepareChangeLog doesn&apos;t support Perl, it is convention that we add analogous notes that document the added functions. This makes it convenient for a person to determine which changeset added/changed a particular function by searching the change log entries for the function name. For an example of this, see &lt;http://trac.webkit.org/changeset/52692&gt;.
&gt;

Fixed.

&gt; &gt; Source/WebCore/dom/make_names.pl:614
&gt; &gt; +        next if $enabledTags{$tagName}{conditional} || defined($tagsSeen{$interfaceName});
&gt; 
&gt; I suggest adding a comment above this line that explains that we are skipping feature-define-specific #includes because we will handle such #includes separately. OR, even better, break the disjuncts into separate if statements, like:
&gt; 
&gt; next if defined($tagsSeen{$interfaceName});
&gt; 
&gt; if ($enabledTags{$tagName}{conditional}) {
&gt;     # We skip feature-define-specific #includes here since will we handle such #includes separately.
&gt;     next;
&gt; }

Fixed. (Also fixed the similar if statement in printJSElementIncludes.)

&gt; &gt; Source/WebCore/dom/make_names.pl:621
&gt; &gt; +sub printConditionalElementIncludes
&gt; 
&gt; This function only handles feature-define #includes as opposed to all such conditional #include. Maybe a better name would be printFeatureDefineIncludes()?
&gt;

I think printConditionalElementIncludes is OK since the name hints that it only deals with conditional elements (and not feature defined includes in general).

&gt; &gt; Source/WebCore/dom/make_names.pl:624
&gt; &gt; +    my $F = shift;
&gt; &gt; +    my $wrapperFactoryType = shift;
&gt; 
&gt; I would write this as:
&gt; 
&gt; my ($F, $wrapperFactoryType) = @_;
&gt;

Fixed.

&gt; &gt; Source/WebCore/dom/make_names.pl:625
&gt; &gt; +    my $printJSElementIncludes = !!$wrapperFactoryType;
&gt; 
&gt; It is necessary to explicitly convert $wrapperFactoryType to a boolean value (see my comment for line 656). Moreover, this variable is unnecessary since it&apos;s being referenced only once in this function; =&gt; the value should just be inlined into the if-statement.
&gt;

Fixed. (The intention was to make the if statement at line 656 easier to understand.)

&gt; &gt; Source/WebCore/dom/make_names.pl:629
&gt; &gt; +    my %conditionals = ();
&gt; &gt; +    my %unconditionalElementIncludes = ();
&gt; &gt; +    my %unconditionalJSElementIncludes = ();
&gt; 
&gt; It is unnecessary to explicitly initialize these. You can just write these as:
&gt; 
&gt; my %conditionals;
&gt; my %unconditionalElementIncludes;
&gt; my %unconditionalJSElementIncludes;
&gt;

Fixed.

&gt; &gt; Source/WebCore/dom/make_names.pl:641
&gt; &gt; +            if (!$conditionals{$conditional}) {
&gt; &gt; +                $conditionals{$conditional} = ();
&gt; &gt; +                $conditionals{$conditional}{interfaceNames} = ();
&gt; &gt; +                $conditionals{$conditional}{JSInterfaceNames} = ();
&gt; &gt; +            }
&gt; 
&gt; This code is unnecessary. No need to explicitly initialize the values of these hash keys. Perl is reasonable when it comes it using undefined values.
&gt; 

Fixed.

&gt; &gt; Source/WebCore/dom/make_names.pl:651
&gt; &gt; +        print F &quot;\n#if ENABLE(${conditional})\n&quot;;
&gt; 
&gt; The curly bracket &apos;{&apos; and &apos;}&apos; are unnecessary. It seems that make_names.pl doesn&apos;t have a consistent notation. Some code uses the curly-bracket notation and some doesn&apos;t. Regardless, I suggest removing the curly brackets since there is only one variable to be interpolated and I don&apos;t feel there presence improves the readability of this string, which already feels crowded by the presence of all the surrounding punctuation characters (e.g. &apos;(&apos;, &apos;)&apos;) and new-line escape sequences .
&gt;

Fixed.

&gt; &gt; Source/WebCore/dom/make_names.pl:652
&gt; &gt; +        for my $interfaceName (sort keys %{$conditionals{$conditional}{interfaceNames}}) {
&gt; 
&gt; I would remove the curly brackets around the expression $conditionals{...}{...} as they are unnecessary.
&gt;

I dont&apos;t think the curly brackets are optional in this case since I get an error when I remove them.

&gt; &gt; Source/WebCore/dom/make_names.pl:654
&gt; &gt; +            print F &quot;#include \&quot;${interfaceName}.h\&quot;\n&quot;;
&gt; 
&gt; Curly brackets are also used here and are unnecessary.
&gt;

Fixed.

&gt; &gt; Source/WebCore/dom/make_names.pl:656
&gt; &gt; +        if ($printJSElementIncludes) {
&gt; 
&gt; This can be written as:
&gt; 
&gt; if ($wrapperFactoryType) {
&gt;

Fixed.

&gt; &gt; Source/WebCore/dom/make_names.pl:657
&gt; &gt; +            for my $JSInterfaceName (sort keys %{$conditionals{$conditional}{JSInterfaceNames}}) {
&gt; 
&gt; I would remove the curly brackets around the expression $conditionals{...}{...} as they are unnecessary.
&gt;

See comment above.

&gt; &gt; Source/WebCore/dom/make_names.pl:713
&gt; &gt; +printConditionalElementIncludes($F, &quot;&quot;);
&gt; 
&gt; Leave off the second argument; it&apos;s syntactically unnecessary and doesn&apos;t add any value.
&gt; 
&gt; Notice, when you leave off the second argument then $wrapperFactoryType is undefined inside the function body printConditionalElementIncludes(); =&gt; $wrapperFactoryType evaluates to false in the if-statment on line 656.

Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>386638</commentid>
    <comment_count>9</comment_count>
      <attachid>89773</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2011-04-15 08:29:42 -0700</bug_when>
    <thetext>Comment on attachment 89773
Updated patch

Thanks Adam for making the changes.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>387596</commentid>
    <comment_count>10</comment_count>
      <attachid>89773</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-04-18 02:31:28 -0700</bug_when>
    <thetext>Comment on attachment 89773
Updated patch

Rejecting attachment 89773 from commit-queue.

adam.bergkvist@ericsson.com does not have committer permissions according to http://trac.webkit.org/browser/trunk/Tools/Scripts/webkitpy/common/config/committers.py.

- 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/committers.py 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>387728</commentid>
    <comment_count>11</comment_count>
      <attachid>89773</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-04-18 08:13:54 -0700</bug_when>
    <thetext>Comment on attachment 89773
Updated patch

Clearing flags on attachment: 89773

Committed r84145: &lt;http://trac.webkit.org/changeset/84145&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>387729</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-04-18 08:14:03 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>81051</attachid>
            <date>2011-02-03 04:55:49 -0800</date>
            <delta_ts>2011-04-15 06:20:09 -0700</delta_ts>
            <desc>Proposed patch</desc>
            <filename>conditional_make_names.patch</filename>
            <type>text/plain</type>
            <size>4725</size>
            <attacher name="Adam Bergkvist">adam.bergkvist</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAwOWI1MTU5Li4wODUyNTA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYg
QEAKKzIwMTEtMDItMDMgIEFkYW0gQmVyZ2t2aXN0ICA8YWRhbS5iZXJna3Zpc3RAZXJpY3Nzb24u
Y29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1v
ZGlmeSBtYWtlX25hbWVzLnBsIHRvIG5vdCBpbmNsdWRlIGNvbmRpdGlvbmFsIGluY2x1ZGVzIHVu
Y29uZGl0aW9uYWxseQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NTM2NzIKKworICAgICAgICBGaXhlZCBjb25kaXRpb25hbCBpbmNsdWRlcyBiZWluZyB1
bmNvbmRpdGlvbmFsbHkgaW5jbHVkZWQuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIChubyBjaGFu
Z2UgaW4gZnVuY3Rpb25hbGl0eSkKKworICAgICAgICAqIGRvbS9tYWtlX25hbWVzLnBsOgorCiAy
MDExLTAyLTAzICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgRGFuaWVsIEJhdGVzLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL21h
a2VfbmFtZXMucGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vbWFrZV9uYW1lcy5wbAppbmRleCA4MzYx
MzdlLi4xZmFmOTQ0IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vbWFrZV9uYW1lcy5w
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vbWFrZV9uYW1lcy5wbApAQCAtMyw2ICszLDcgQEAK
ICMgQ29weXJpZ2h0IChDKSAyMDA1LCAyMDA2LCAyMDA3LCAyMDA5IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KICMgQ29weXJpZ2h0IChDKSAyMDA5LCBKdWxpZW4gQ2hhZmZyYWl4IDxq
Y2hhZmZyYWl4QHdlYmtpdC5vcmc+CiAjIENvcHlyaWdodCAoQykgMjAwOSBUb3JjaCBNb2JpbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLiAoaHR0cDovL3d3dy50b3JjaG1vYmlsZS5jb20vKQor
IyBDb3B5cmlnaHQgKEMpIDIwMTEgRXJpY3Nzb24gQUIuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAj
CiAjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAogIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTU5NSw3ICs1OTYsOCBAQCBzdWIgcHJpbnRK
U0VsZW1lbnRJbmNsdWRlcwogICAgIG15ICV0YWdzU2VlbjsKICAgICBmb3IgbXkgJHRhZ05hbWUg
KHNvcnQga2V5cyAlZW5hYmxlZFRhZ3MpIHsKICAgICAgICAgbXkgJEpTSW50ZXJmYWNlTmFtZSA9
ICRlbmFibGVkVGFnc3skdGFnTmFtZX17SlNJbnRlcmZhY2VOYW1lfTsKLSAgICAgICAgbmV4dCBp
ZiBkZWZpbmVkKCR0YWdzU2VlbnskSlNJbnRlcmZhY2VOYW1lfSkgfHwgdXNlc0RlZmF1bHRKU1dy
YXBwZXIoJHRhZ05hbWUpOworICAgICAgICBuZXh0IGlmICRlbmFibGVkVGFnc3skdGFnTmFtZX17
Y29uZGl0aW9uYWx9IHx8IGRlZmluZWQoJHRhZ3NTZWVueyRKU0ludGVyZmFjZU5hbWV9KQorICAg
ICAgICAgICAgICAgIHx8IHVzZXNEZWZhdWx0SlNXcmFwcGVyKCR0YWdOYW1lKTsKICAgICAgICAg
JHRhZ3NTZWVueyRKU0ludGVyZmFjZU5hbWV9ID0gMTsKIAogICAgICAgICBwcmludCBGICIjaW5j
bHVkZSBcIiR7d3JhcHBlckZhY3RvcnlUeXBlfSR7SlNJbnRlcmZhY2VOYW1lfS5oXCJcbiI7CkBA
IC02MDksMTMgKzYxMSw1OCBAQCBzdWIgcHJpbnRFbGVtZW50SW5jbHVkZXMKICAgICBteSAldGFn
c1NlZW47CiAgICAgZm9yIG15ICR0YWdOYW1lIChzb3J0IGtleXMgJWVuYWJsZWRUYWdzKSB7CiAg
ICAgICAgIG15ICRpbnRlcmZhY2VOYW1lID0gJGVuYWJsZWRUYWdzeyR0YWdOYW1lfXtpbnRlcmZh
Y2VOYW1lfTsKLSAgICAgICAgbmV4dCBpZiBkZWZpbmVkKCR0YWdzU2VlbnskaW50ZXJmYWNlTmFt
ZX0pOworICAgICAgICBuZXh0IGlmICRlbmFibGVkVGFnc3skdGFnTmFtZX17Y29uZGl0aW9uYWx9
IHx8IGRlZmluZWQoJHRhZ3NTZWVueyRpbnRlcmZhY2VOYW1lfSk7CiAgICAgICAgICR0YWdzU2Vl
bnskaW50ZXJmYWNlTmFtZX0gPSAxOwogCiAgICAgICAgIHByaW50IEYgIiNpbmNsdWRlIFwiJHtp
bnRlcmZhY2VOYW1lfS5oXCJcbiI7CiAgICAgfQogfQogCitzdWIgcHJpbnRDb25kaXRpb25hbEVs
ZW1lbnRJbmNsdWRlcworeworICAgIG15ICRGID0gc2hpZnQ7CisgICAgbXkgJHdyYXBwZXJGYWN0
b3J5VHlwZSA9IHNoaWZ0OworICAgIG15ICRwcmludEpTRWxlbWVudEluY2x1ZGVzID0gISEkd3Jh
cHBlckZhY3RvcnlUeXBlOworCisgICAgbXkgJWNvbmRpdGlvbmFscyA9ICgpOworICAgIG15ICV1
bmNvbmRpdGlvbmFsRWxlbWVudEluY2x1ZGVzID0gKCk7CisgICAgbXkgJXVuY29uZGl0aW9uYWxK
U0VsZW1lbnRJbmNsdWRlcyA9ICgpOworCisgICAgZm9yIG15ICR0YWdOYW1lIChrZXlzICVlbmFi
bGVkVGFncykgeworICAgICAgICBteSAkY29uZGl0aW9uYWwgPSAkZW5hYmxlZFRhZ3N7JHRhZ05h
bWV9e2NvbmRpdGlvbmFsfTsKKyAgICAgICAgbXkgJGludGVyZmFjZU5hbWUgPSAkZW5hYmxlZFRh
Z3N7JHRhZ05hbWV9e2ludGVyZmFjZU5hbWV9OworICAgICAgICBteSAkSlNJbnRlcmZhY2VOYW1l
ID0gJGVuYWJsZWRUYWdzeyR0YWdOYW1lfXtKU0ludGVyZmFjZU5hbWV9OworCisgICAgICAgIGlm
ICgkY29uZGl0aW9uYWwpIHsKKyAgICAgICAgICAgIGlmICghJGNvbmRpdGlvbmFsc3skY29uZGl0
aW9uYWx9KSB7CisgICAgICAgICAgICAgICAgJGNvbmRpdGlvbmFsc3skY29uZGl0aW9uYWx9ID0g
KCk7CisgICAgICAgICAgICAgICAgJGNvbmRpdGlvbmFsc3skY29uZGl0aW9uYWx9e2ludGVyZmFj
ZU5hbWVzfSA9ICgpOworICAgICAgICAgICAgICAgICRjb25kaXRpb25hbHN7JGNvbmRpdGlvbmFs
fXtKU0ludGVyZmFjZU5hbWVzfSA9ICgpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgJGNv
bmRpdGlvbmFsc3skY29uZGl0aW9uYWx9e2ludGVyZmFjZU5hbWVzfXskaW50ZXJmYWNlTmFtZX0g
PSAxOworICAgICAgICAgICAgJGNvbmRpdGlvbmFsc3skY29uZGl0aW9uYWx9e0pTSW50ZXJmYWNl
TmFtZXN9eyRKU0ludGVyZmFjZU5hbWV9ID0gMTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAg
ICAgICR1bmNvbmRpdGlvbmFsRWxlbWVudEluY2x1ZGVzeyRpbnRlcmZhY2VOYW1lfSA9IDE7Cisg
ICAgICAgICAgICAkdW5jb25kaXRpb25hbEpTRWxlbWVudEluY2x1ZGVzeyRKU0ludGVyZmFjZU5h
bWV9ID0gMTsKKyAgICAgICAgfQorICAgIH0KKworICAgIGZvciBteSAkY29uZGl0aW9uYWwgKHNv
cnQga2V5cyAlY29uZGl0aW9uYWxzKSB7CisgICAgICAgIHByaW50IEYgIlxuI2lmIEVOQUJMRSgk
e2NvbmRpdGlvbmFsfSlcbiI7CisgICAgICAgIGZvciBteSAkaW50ZXJmYWNlTmFtZSAoc29ydCBr
ZXlzICV7JGNvbmRpdGlvbmFsc3skY29uZGl0aW9uYWx9e2ludGVyZmFjZU5hbWVzfX0pIHsKKyAg
ICAgICAgICAgIG5leHQgaWYgJHVuY29uZGl0aW9uYWxFbGVtZW50SW5jbHVkZXN7JGludGVyZmFj
ZU5hbWV9OworICAgICAgICAgICAgcHJpbnQgRiAiI2luY2x1ZGUgXCIke2ludGVyZmFjZU5hbWV9
LmhcIlxuIjsKKyAgICAgICAgfQorICAgICAgICBpZiAoJHByaW50SlNFbGVtZW50SW5jbHVkZXMp
IHsKKyAgICAgICAgICAgIGZvciBteSAkSlNJbnRlcmZhY2VOYW1lIChzb3J0IGtleXMgJXskY29u
ZGl0aW9uYWxzeyRjb25kaXRpb25hbH17SlNJbnRlcmZhY2VOYW1lc319KSB7CisgICAgICAgICAg
ICAgICAgbmV4dCBpZiAkdW5jb25kaXRpb25hbEpTRWxlbWVudEluY2x1ZGVzeyRKU0ludGVyZmFj
ZU5hbWV9OworICAgICAgICAgICAgICAgIHByaW50IEYgIiNpbmNsdWRlIFwiJHt3cmFwcGVyRmFj
dG9yeVR5cGV9JHtKU0ludGVyZmFjZU5hbWV9LmhcIlxuIjsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgfQorICAgICAgICBwcmludCBGICIjZW5kaWZcbiI7CisgICAgfQorfQorCiBzdWIgcHJpbnRE
ZWZpbml0aW9ucwogewogICAgIG15ICgkRiwgJG5hbWVzUmVmLCAkdHlwZSwgJG5hbWVzcGFjZVVS
SSkgPSBAXzsKQEAgLTY2MSw4ICs3MDgsMTEgQEAgRU5ECiAKIHByaW50RWxlbWVudEluY2x1ZGVz
KCRGKTsKIAorcHJpbnQgRiAiXG4jaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD5cbiI7CisKK3ByaW50
Q29uZGl0aW9uYWxFbGVtZW50SW5jbHVkZXMoJEYsICIiKTsKKwogcHJpbnQgRiA8PEVORAotI2lu
Y2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAKICNpZiBFTkFCTEUoREFTSEJPQVJEX1NVUFBPUlQpIHx8
IEVOQUJMRShWSURFTykKICNpbmNsdWRlICJEb2N1bWVudC5oIgpAQCAtOTIyLDggKzk3MiwxMSBA
QCBzdWIgcHJpbnRXcmFwcGVyRmFjdG9yeUNwcEZpbGUKIAogICAgIHByaW50RWxlbWVudEluY2x1
ZGVzKCRGKTsKIAorICAgIHByaW50IEYgIlxuI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD5c
biI7CisKKyAgICBwcmludENvbmRpdGlvbmFsRWxlbWVudEluY2x1ZGVzKCRGLCAkd3JhcHBlckZh
Y3RvcnlUeXBlKTsKKwogICAgIHByaW50IEYgPDxFTkQKLSNpbmNsdWRlIDx3dGYvU3RkTGliRXh0
cmFzLmg+CiAKICNpZiBFTkFCTEUoVklERU8pCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIK
</data>
<flag name="review"
          id="72585"
          type_id="1"
          status="+"
          setter="dbates"
    />
    <flag name="commit-queue"
          id="81792"
          type_id="3"
          status="-"
          setter="dbates"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>81977</attachid>
            <date>2011-02-10 07:11:14 -0800</date>
            <delta_ts>2011-04-06 18:06:03 -0700</delta_ts>
            <desc>diff between JSHTMLElementWrapperFactory.cpp before and after modification of make_names.pl</desc>
            <filename>JSHTMLElementWrapperFactory.diff</filename>
            <type>text/plain</type>
            <size>1737</size>
            <attacher name="Adam Bergkvist">adam.bergkvist</attacher>
            
              <data encoding="base64">MzVkMzQKPCAjaW5jbHVkZSAiSlNIVE1MQXVkaW9FbGVtZW50LmgiCjQ1LDQ4ZDQzCjwgI2luY2x1
ZGUgIkpTSFRNTERhdGFHcmlkRWxlbWVudC5oIgo8ICNpbmNsdWRlICJKU0hUTUxEYXRhTGlzdEVs
ZW1lbnQuaCIKPCAjaW5jbHVkZSAiSlNIVE1MRGF0YUdyaWRDZWxsRWxlbWVudC5oIgo8ICNpbmNs
dWRlICJKU0hUTUxEYXRhR3JpZENvbEVsZW1lbnQuaCIKNTRkNDgKPCAjaW5jbHVkZSAiSlNIVE1M
RGF0YUdyaWRSb3dFbGVtZW50LmgiCjc5ZDcyCjwgI2luY2x1ZGUgIkpTSFRNTE1ldGVyRWxlbWVu
dC5oIgo4N2Q3OQo8ICNpbmNsdWRlICJKU0hUTUxQcm9ncmVzc0VsZW1lbnQuaCIKOTFkODIKPCAj
aW5jbHVkZSAiSlNIVE1MU291cmNlRWxlbWVudC5oIgoxMDBkOTAKPCAjaW5jbHVkZSAiSlNIVE1M
VmlkZW9FbGVtZW50LmgiCjEwOGQ5Nwo8ICNpbmNsdWRlICJIVE1MQXVkaW9FbGVtZW50LmgiCjEx
OCwxMjFkMTA2CjwgI2luY2x1ZGUgIkhUTUxEYXRhR3JpZEVsZW1lbnQuaCIKPCAjaW5jbHVkZSAi
SFRNTERhdGFMaXN0RWxlbWVudC5oIgo8ICNpbmNsdWRlICJIVE1MRGF0YUdyaWRDZWxsRWxlbWVu
dC5oIgo8ICNpbmNsdWRlICJIVE1MRGF0YUdyaWRDb2xFbGVtZW50LmgiCjEyN2QxMTEKPCAjaW5j
bHVkZSAiSFRNTERhdGFHcmlkUm93RWxlbWVudC5oIgoxNTJkMTM1CjwgI2luY2x1ZGUgIkhUTUxN
ZXRlckVsZW1lbnQuaCIKMTYwZDE0Mgo8ICNpbmNsdWRlICJIVE1MUHJvZ3Jlc3NFbGVtZW50Lmgi
CjE2NGQxNDUKPCAjaW5jbHVkZSAiSFRNTFNvdXJjZUVsZW1lbnQuaCIKMTczYzE1NAo8ICNpbmNs
dWRlICJIVE1MVmlkZW9FbGVtZW50LmgiCi0tLQo+IAoxNzRhMTU2LDE5MAo+IAo+ICNpZiBFTkFC
TEUoREFUQUdSSUQpCj4gI2luY2x1ZGUgIkhUTUxEYXRhR3JpZENlbGxFbGVtZW50LmgiCj4gI2lu
Y2x1ZGUgIkhUTUxEYXRhR3JpZENvbEVsZW1lbnQuaCIKPiAjaW5jbHVkZSAiSFRNTERhdGFHcmlk
RWxlbWVudC5oIgo+ICNpbmNsdWRlICJIVE1MRGF0YUdyaWRSb3dFbGVtZW50LmgiCj4gI2luY2x1
ZGUgIkpTSFRNTERhdGFHcmlkQ2VsbEVsZW1lbnQuaCIKPiAjaW5jbHVkZSAiSlNIVE1MRGF0YUdy
aWRDb2xFbGVtZW50LmgiCj4gI2luY2x1ZGUgIkpTSFRNTERhdGFHcmlkRWxlbWVudC5oIgo+ICNp
bmNsdWRlICJKU0hUTUxEYXRhR3JpZFJvd0VsZW1lbnQuaCIKPiAjZW5kaWYKPiAKPiAjaWYgRU5B
QkxFKERBVEFMSVNUKQo+ICNpbmNsdWRlICJIVE1MRGF0YUxpc3RFbGVtZW50LmgiCj4gI2luY2x1
ZGUgIkpTSFRNTERhdGFMaXN0RWxlbWVudC5oIgo+ICNlbmRpZgo+IAo+ICNpZiBFTkFCTEUoTUVU
RVJfVEFHKQo+ICNpbmNsdWRlICJIVE1MTWV0ZXJFbGVtZW50LmgiCj4gI2luY2x1ZGUgIkpTSFRN
TE1ldGVyRWxlbWVudC5oIgo+ICNlbmRpZgo+IAo+ICNpZiBFTkFCTEUoUFJPR1JFU1NfVEFHKQo+
ICNpbmNsdWRlICJIVE1MUHJvZ3Jlc3NFbGVtZW50LmgiCj4gI2luY2x1ZGUgIkpTSFRNTFByb2dy
ZXNzRWxlbWVudC5oIgo+ICNlbmRpZgo+IAo+ICNpZiBFTkFCTEUoVklERU8pCj4gI2luY2x1ZGUg
IkhUTUxBdWRpb0VsZW1lbnQuaCIKPiAjaW5jbHVkZSAiSFRNTFNvdXJjZUVsZW1lbnQuaCIKPiAj
aW5jbHVkZSAiSFRNTFZpZGVvRWxlbWVudC5oIgo+ICNpbmNsdWRlICJKU0hUTUxBdWRpb0VsZW1l
bnQuaCIKPiAjaW5jbHVkZSAiSlNIVE1MU291cmNlRWxlbWVudC5oIgo+ICNpbmNsdWRlICJKU0hU
TUxWaWRlb0VsZW1lbnQuaCIKPiAjZW5kaWYK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>89773</attachid>
            <date>2011-04-15 06:20:09 -0700</date>
            <delta_ts>2011-04-18 08:13:54 -0700</delta_ts>
            <desc>Updated patch</desc>
            <filename>conditional_make_names_2.patch</filename>
            <type>text/plain</type>
            <size>4751</size>
            <attacher name="Adam Bergkvist">adam.bergkvist</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAwOWI1MTU5Li5kOWI0OGM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkg
QEAKKzIwMTEtMDQtMTUgIEFkYW0gQmVyZ2t2aXN0ICA8YWRhbS5iZXJna3Zpc3RAZXJpY3Nzb24u
Y29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1v
ZGlmeSBtYWtlX25hbWVzLnBsIHRvIG5vdCBpbmNsdWRlIGNvbmRpdGlvbmFsIGluY2x1ZGVzIHVu
Y29uZGl0aW9uYWxseQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NTM2NzIKKworICAgICAgICBGaXhlZCBjb25kaXRpb25hbCBpbmNsdWRlcyBiZWluZyB1
bmNvbmRpdGlvbmFsbHkgaW5jbHVkZWQuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIChubyBjaGFu
Z2UgaW4gZnVuY3Rpb25hbGl0eSkKKworICAgICAgICAqIGRvbS9tYWtlX25hbWVzLnBsOgorICAg
ICAgICAgICAgLSBNb2RpZmllZCBwcmludEpTRWxlbWVudEluY2x1ZGVzKCkgdG8gb25seSBwcmlu
dCB1bmNvbmRpdGlvbmFsIGVsZW1lbnQgaW5jbHVkZXMuCisgICAgICAgICAgICAtIE1vZGlmaWVk
IHByaW50RWxlbWVudEluY2x1ZGVzKCkgdG8gb25seSBwcmludCB1bmNvbmRpdGlvbmFsIGVsZW1l
bnQgaW5jbHVkZXMuCisgICAgICAgICAgICAtIEFkZGVkIHByaW50Q29uZGl0aW9uYWxFbGVtZW50
SW5jbHVkZXMoKSB3aGljaCB0YWtlcyBjYXJlIG9mIHByaW50aW5nIGNvbmRpdGlvbmFsIGVsZW1l
bnQgaW5jbHVkZXMuCisKIDIwMTEtMDItMDMgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9y
Zz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYW5pZWwgQmF0ZXMuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vbWFrZV9uYW1lcy5wbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9tYWtlX25h
bWVzLnBsCmluZGV4IDgzNjEzN2UuLjc2ZWRlZTQgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9tYWtlX25hbWVzLnBsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9tYWtlX25hbWVzLnBs
CkBAIC0zLDYgKzMsNyBAQAogIyBDb3B5cmlnaHQgKEMpIDIwMDUsIDIwMDYsIDIwMDcsIDIwMDkg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogIyBDb3B5cmlnaHQgKEMpIDIwMDksIEp1
bGllbiBDaGFmZnJhaXggPGpjaGFmZnJhaXhAd2Via2l0Lm9yZz4KICMgQ29weXJpZ2h0IChDKSAy
MDA5IFRvcmNoIE1vYmlsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuIChodHRwOi8vd3d3LnRv
cmNobW9iaWxlLmNvbS8pCisjIENvcHlyaWdodCAoQykgMjAxMSBFcmljc3NvbiBBQi4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KICMKICMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNTk2LDYgKzU5
NywxMCBAQCBzdWIgcHJpbnRKU0VsZW1lbnRJbmNsdWRlcwogICAgIGZvciBteSAkdGFnTmFtZSAo
c29ydCBrZXlzICVlbmFibGVkVGFncykgewogICAgICAgICBteSAkSlNJbnRlcmZhY2VOYW1lID0g
JGVuYWJsZWRUYWdzeyR0YWdOYW1lfXtKU0ludGVyZmFjZU5hbWV9OwogICAgICAgICBuZXh0IGlm
IGRlZmluZWQoJHRhZ3NTZWVueyRKU0ludGVyZmFjZU5hbWV9KSB8fCB1c2VzRGVmYXVsdEpTV3Jh
cHBlcigkdGFnTmFtZSk7CisgICAgICAgIGlmICgkZW5hYmxlZFRhZ3N7JHRhZ05hbWV9e2NvbmRp
dGlvbmFsfSkgeworICAgICAgICAgICAgIyBXZSBza2lwIGZlYXR1cmUtZGVmaW5lLXNwZWNpZmlj
ICNpbmNsdWRlcyBoZXJlIHNpbmNlIHdlIGhhbmRsZSB0aGVtIHNlcGFyYXRlbHkuCisgICAgICAg
ICAgICBuZXh0OworICAgICAgICB9CiAgICAgICAgICR0YWdzU2VlbnskSlNJbnRlcmZhY2VOYW1l
fSA9IDE7CiAKICAgICAgICAgcHJpbnQgRiAiI2luY2x1ZGUgXCIke3dyYXBwZXJGYWN0b3J5VHlw
ZX0ke0pTSW50ZXJmYWNlTmFtZX0uaFwiXG4iOwpAQCAtNjEwLDEyICs2MTUsNTQgQEAgc3ViIHBy
aW50RWxlbWVudEluY2x1ZGVzCiAgICAgZm9yIG15ICR0YWdOYW1lIChzb3J0IGtleXMgJWVuYWJs
ZWRUYWdzKSB7CiAgICAgICAgIG15ICRpbnRlcmZhY2VOYW1lID0gJGVuYWJsZWRUYWdzeyR0YWdO
YW1lfXtpbnRlcmZhY2VOYW1lfTsKICAgICAgICAgbmV4dCBpZiBkZWZpbmVkKCR0YWdzU2Vlbnsk
aW50ZXJmYWNlTmFtZX0pOworICAgICAgICBpZiAoJGVuYWJsZWRUYWdzeyR0YWdOYW1lfXtjb25k
aXRpb25hbH0pIHsKKyAgICAgICAgICAgICMgV2Ugc2tpcCBmZWF0dXJlLWRlZmluZS1zcGVjaWZp
YyAjaW5jbHVkZXMgaGVyZSBzaW5jZSB3ZSBoYW5kbGUgdGhlbSBzZXBhcmF0ZWx5LgorICAgICAg
ICAgICAgbmV4dDsKKyAgICAgICAgfQogICAgICAgICAkdGFnc1NlZW57JGludGVyZmFjZU5hbWV9
ID0gMTsKIAogICAgICAgICBwcmludCBGICIjaW5jbHVkZSBcIiR7aW50ZXJmYWNlTmFtZX0uaFwi
XG4iOwogICAgIH0KIH0KIAorc3ViIHByaW50Q29uZGl0aW9uYWxFbGVtZW50SW5jbHVkZXMKK3sK
KyAgICBteSAoJEYsICR3cmFwcGVyRmFjdG9yeVR5cGUpID0gQF87CisKKyAgICBteSAlY29uZGl0
aW9uYWxzOworICAgIG15ICV1bmNvbmRpdGlvbmFsRWxlbWVudEluY2x1ZGVzOworICAgIG15ICV1
bmNvbmRpdGlvbmFsSlNFbGVtZW50SW5jbHVkZXM7CisKKyAgICBmb3IgbXkgJHRhZ05hbWUgKGtl
eXMgJWVuYWJsZWRUYWdzKSB7CisgICAgICAgIG15ICRjb25kaXRpb25hbCA9ICRlbmFibGVkVGFn
c3skdGFnTmFtZX17Y29uZGl0aW9uYWx9OworICAgICAgICBteSAkaW50ZXJmYWNlTmFtZSA9ICRl
bmFibGVkVGFnc3skdGFnTmFtZX17aW50ZXJmYWNlTmFtZX07CisgICAgICAgIG15ICRKU0ludGVy
ZmFjZU5hbWUgPSAkZW5hYmxlZFRhZ3N7JHRhZ05hbWV9e0pTSW50ZXJmYWNlTmFtZX07CisKKyAg
ICAgICAgaWYgKCRjb25kaXRpb25hbCkgeworICAgICAgICAgICAgJGNvbmRpdGlvbmFsc3skY29u
ZGl0aW9uYWx9e2ludGVyZmFjZU5hbWVzfXskaW50ZXJmYWNlTmFtZX0gPSAxOworICAgICAgICAg
ICAgJGNvbmRpdGlvbmFsc3skY29uZGl0aW9uYWx9e0pTSW50ZXJmYWNlTmFtZXN9eyRKU0ludGVy
ZmFjZU5hbWV9ID0gMTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICR1bmNvbmRpdGlv
bmFsRWxlbWVudEluY2x1ZGVzeyRpbnRlcmZhY2VOYW1lfSA9IDE7CisgICAgICAgICAgICAkdW5j
b25kaXRpb25hbEpTRWxlbWVudEluY2x1ZGVzeyRKU0ludGVyZmFjZU5hbWV9ID0gMTsKKyAgICAg
ICAgfQorICAgIH0KKworICAgIGZvciBteSAkY29uZGl0aW9uYWwgKHNvcnQga2V5cyAlY29uZGl0
aW9uYWxzKSB7CisgICAgICAgIHByaW50IEYgIlxuI2lmIEVOQUJMRSgkY29uZGl0aW9uYWwpXG4i
OworICAgICAgICBmb3IgbXkgJGludGVyZmFjZU5hbWUgKHNvcnQga2V5cyAleyRjb25kaXRpb25h
bHN7JGNvbmRpdGlvbmFsfXtpbnRlcmZhY2VOYW1lc319KSB7CisgICAgICAgICAgICBuZXh0IGlm
ICR1bmNvbmRpdGlvbmFsRWxlbWVudEluY2x1ZGVzeyRpbnRlcmZhY2VOYW1lfTsKKyAgICAgICAg
ICAgIHByaW50IEYgIiNpbmNsdWRlIFwiJGludGVyZmFjZU5hbWUuaFwiXG4iOworICAgICAgICB9
CisgICAgICAgIGlmICgkd3JhcHBlckZhY3RvcnlUeXBlKSB7CisgICAgICAgICAgICBmb3IgbXkg
JEpTSW50ZXJmYWNlTmFtZSAoc29ydCBrZXlzICV7JGNvbmRpdGlvbmFsc3skY29uZGl0aW9uYWx9
e0pTSW50ZXJmYWNlTmFtZXN9fSkgeworICAgICAgICAgICAgICAgIG5leHQgaWYgJHVuY29uZGl0
aW9uYWxKU0VsZW1lbnRJbmNsdWRlc3skSlNJbnRlcmZhY2VOYW1lfTsKKyAgICAgICAgICAgICAg
ICBwcmludCBGICIjaW5jbHVkZSBcIiR3cmFwcGVyRmFjdG9yeVR5cGUkSlNJbnRlcmZhY2VOYW1l
LmhcIlxuIjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBwcmludCBGICIjZW5k
aWZcbiI7CisgICAgfQorfQorCiBzdWIgcHJpbnREZWZpbml0aW9ucwogewogICAgIG15ICgkRiwg
JG5hbWVzUmVmLCAkdHlwZSwgJG5hbWVzcGFjZVVSSSkgPSBAXzsKQEAgLTY2MSw4ICs3MDgsMTEg
QEAgRU5ECiAKIHByaW50RWxlbWVudEluY2x1ZGVzKCRGKTsKIAorcHJpbnQgRiAiXG4jaW5jbHVk
ZSA8d3RmL0hhc2hNYXAuaD5cbiI7CisKK3ByaW50Q29uZGl0aW9uYWxFbGVtZW50SW5jbHVkZXMo
JEYpOworCiBwcmludCBGIDw8RU5ECi0jaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KIAogI2lmIEVO
QUJMRShEQVNIQk9BUkRfU1VQUE9SVCkgfHwgRU5BQkxFKFZJREVPKQogI2luY2x1ZGUgIkRvY3Vt
ZW50LmgiCkBAIC05MjIsOCArOTcyLDExIEBAIHN1YiBwcmludFdyYXBwZXJGYWN0b3J5Q3BwRmls
ZQogCiAgICAgcHJpbnRFbGVtZW50SW5jbHVkZXMoJEYpOwogCisgICAgcHJpbnQgRiAiXG4jaW5j
bHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPlxuIjsKKworICAgIHByaW50Q29uZGl0aW9uYWxFbGVt
ZW50SW5jbHVkZXMoJEYsICR3cmFwcGVyRmFjdG9yeVR5cGUpOworCiAgICAgcHJpbnQgRiA8PEVO
RAotI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KIAogI2lmIEVOQUJMRShWSURFTykKICNp
bmNsdWRlICJEb2N1bWVudC5oIgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>