<?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>78107</bug_id>
          
          <creation_ts>2012-02-08 05:21:01 -0800</creation_ts>
          <short_desc>Replace [CustomPutFunction] with [CustomNamedSetter]</short_desc>
          <delta_ts>2017-07-18 08:29:22 -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>WebCore JavaScript</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></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>77393</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kentaro Hara">haraken</reporter>
          <assigned_to name="Kentaro Hara">haraken</assigned_to>
          <cc>abarth</cc>
    
    <cc>darin</cc>
    
    <cc>japhet</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>552048</commentid>
    <comment_count>0</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-02-08 05:21:01 -0800</bug_when>
    <thetext>[CustomPutFunction] means that a given class has a custom setter for named properties. [CustomPutFunction] is used by DOMWindow only. We can replace [CustomPutFunction] with [CustomNamedSetter].</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>552050</commentid>
    <comment_count>1</comment_count>
      <attachid>126064</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-02-08 05:32:50 -0800</bug_when>
    <thetext>Created attachment 126064
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>553996</commentid>
    <comment_count>2</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-02-10 03:43:07 -0800</bug_when>
    <thetext>Darin: would you take a look?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>555678</commentid>
    <comment_count>3</comment_count>
      <attachid>126064</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2012-02-13 15:37:59 -0800</bug_when>
    <thetext>Comment on attachment 126064
Patch

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

&gt; Source/WebCore/ChangeLog:10
&gt; +        [CustomPutFunction] means that a given class has a custom setter for named properties.
&gt; +        [CustomPutFunction] is used by DOMWindow only. This patch replaces [CustomPutFunction]
&gt; +        with [CustomNamedSetter].

Generally speaking this does not seem like a good change.

While it’s possible to use putDelegate to implement all of put, it’s really not a good use of that feature. A putDelegate that always returns true is not really a custom named setter; it’s an entire customization of the put function.

While this does remove one of the attributes the script supports, I think it makes things more twisted rather than making things more clear.

&gt; Source/WebCore/bindings/js/JSDOMWindowCustom.cpp:360
&gt; +    if (allowsAccessFrom(exec))
&gt; +        Base::put(this, exec, propertyName, value, slot);

It seems awkward to call Base::put from “putDelegate”.

&gt; Source/WebCore/bindings/js/JSDOMWindowCustom.cpp:362
&gt; +    // Always returns true to have JSDOMWindow::put() return immediately after JSDOMWindow::putDelegate().

This seems like a mechanical comment. A better comment would explain why.

&gt; Source/WebCore/bindings/scripts/CodeGeneratorV8.pm:569
&gt; +    my $hasCustomNamedSetter = $dataNode-&gt;extendedAttributes-&gt;{&quot;CustomNamedSetter&quot;} &amp;&amp; !$dataNode-&gt;extendedAttributes-&gt;{&quot;CheckDomainSecurity&quot;};

Making this change seems strange. There’s no logical reason for this, so I can only assume that checking CheckDomainSecurity is just a sideways way of checking for DOMString. What in particular requires that this be false for DOMWindow?

It’s not a step forward to have $hasCustomNamedSetter be false for an object that does indeed have a custom named setter!

&gt; Source/WebCore/bindings/scripts/CodeGeneratorV8.pm:2171
&gt; +    my $hasCustomNamedSetter = $dataNode-&gt;extendedAttributes-&gt;{&quot;CustomNamedSetter&quot;} &amp;&amp; !$dataNode-&gt;extendedAttributes-&gt;{&quot;CheckDomainSecurity&quot;};

Same question here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>555701</commentid>
    <comment_count>4</comment_count>
      <attachid>126064</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-02-13 15:57:28 -0800</bug_when>
    <thetext>Comment on attachment 126064
Patch

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

Darin: thanks for reviewing!

&gt;&gt; Source/WebCore/ChangeLog:10
&gt;&gt; +        with [CustomNamedSetter].
&gt; 
&gt; Generally speaking this does not seem like a good change.
&gt; 
&gt; While it’s possible to use putDelegate to implement all of put, it’s really not a good use of that feature. A putDelegate that always returns true is not really a custom named setter; it’s an entire customization of the put function.
&gt; 
&gt; While this does remove one of the attributes the script supports, I think it makes things more twisted rather than making things more clear.

OK, then keep [CustomPutFunction] as-is, and let us just rename [CustomPutFunction] to [JSCustomPut].

&gt;&gt; Source/WebCore/bindings/scripts/CodeGeneratorV8.pm:569
&gt;&gt; +    my $hasCustomNamedSetter = $dataNode-&gt;extendedAttributes-&gt;{&quot;CustomNamedSetter&quot;} &amp;&amp; !$dataNode-&gt;extendedAttributes-&gt;{&quot;CheckDomainSecurity&quot;};
&gt; 
&gt; Making this change seems strange. There’s no logical reason for this, so I can only assume that checking CheckDomainSecurity is just a sideways way of checking for DOMString. What in particular requires that this be false for DOMWindow?
&gt; 
&gt; It’s not a step forward to have $hasCustomNamedSetter be false for an object that does indeed have a custom named setter!

This change would make sense, because for named setters of CheckDomainSecurity objects, V8 needs to call namedSecurityCheck() instead of namedPropertySetter().

&gt;&gt; Source/WebCore/bindings/scripts/CodeGeneratorV8.pm:2171
&gt;&gt; +    my $hasCustomNamedSetter = $dataNode-&gt;extendedAttributes-&gt;{&quot;CustomNamedSetter&quot;} &amp;&amp; !$dataNode-&gt;extendedAttributes-&gt;{&quot;CheckDomainSecurity&quot;};
&gt; 
&gt; Same question here.

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>556696</commentid>
    <comment_count>5</comment_count>
      <attachid>126064</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2012-02-14 15:38:31 -0800</bug_when>
    <thetext>Comment on attachment 126064
Patch

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

&gt;&gt;&gt; Source/WebCore/bindings/scripts/CodeGeneratorV8.pm:569
&gt;&gt;&gt; +    my $hasCustomNamedSetter = $dataNode-&gt;extendedAttributes-&gt;{&quot;CustomNamedSetter&quot;} &amp;&amp; !$dataNode-&gt;extendedAttributes-&gt;{&quot;CheckDomainSecurity&quot;};
&gt;&gt; 
&gt;&gt; Making this change seems strange. There’s no logical reason for this, so I can only assume that checking CheckDomainSecurity is just a sideways way of checking for DOMString. What in particular requires that this be false for DOMWindow?
&gt;&gt; 
&gt;&gt; It’s not a step forward to have $hasCustomNamedSetter be false for an object that does indeed have a custom named setter!
&gt; 
&gt; This change would make sense, because for named setters of CheckDomainSecurity objects, V8 needs to call namedSecurityCheck() instead of namedPropertySetter().

OK, but then the local variable name, hasCustomNamedSetter, is not good.

&gt;&gt;&gt; Source/WebCore/bindings/scripts/CodeGeneratorV8.pm:2171
&gt;&gt;&gt; +    my $hasCustomNamedSetter = $dataNode-&gt;extendedAttributes-&gt;{&quot;CustomNamedSetter&quot;} &amp;&amp; !$dataNode-&gt;extendedAttributes-&gt;{&quot;CheckDomainSecurity&quot;};
&gt;&gt; 
&gt;&gt; Same question here.
&gt; 
&gt; Ditto.

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>556715</commentid>
    <comment_count>6</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2012-02-14 15:50:07 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; &gt; While this does remove one of the attributes the script supports, I think it makes things more twisted rather than making things more clear.
&gt; 
&gt; OK, then keep [CustomPutFunction] as-is, and let us just rename [CustomPutFunction] to [JSCustomPut].

Before renaming it, let me check how DOMWindow-only IDL attributes (e.g. [CustomPutFunction] etc) are used.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>126064</attachid>
            <date>2012-02-08 05:32:50 -0800</date>
            <delta_ts>2012-02-14 15:38:31 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-78107-20120208223249.patch</filename>
            <type>text/plain</type>
            <size>11122</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA3MDY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTM4YTdmNTY3OWVjYmNj
NDhiNjE0NjNiODVlNGIzNzA5NGU4ZjJhYi4uYWQ1ZTg5ZmRiODYzNmNlMWQ5NDI0YzVmMzIzNTRh
NDBhMTRiZGVkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEyLTAyLTA4ICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXBsYWNlIFtDdXN0
b21QdXRGdW5jdGlvbl0gd2l0aCBbQ3VzdG9tTmFtZWRTZXR0ZXJdCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03ODEwNworCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtDdXN0b21QdXRGdW5jdGlvbl0gbWVhbnMg
dGhhdCBhIGdpdmVuIGNsYXNzIGhhcyBhIGN1c3RvbSBzZXR0ZXIgZm9yIG5hbWVkIHByb3BlcnRp
ZXMuCisgICAgICAgIFtDdXN0b21QdXRGdW5jdGlvbl0gaXMgdXNlZCBieSBET01XaW5kb3cgb25s
eS4gVGhpcyBwYXRjaCByZXBsYWNlcyBbQ3VzdG9tUHV0RnVuY3Rpb25dCisgICAgICAgIHdpdGgg
W0N1c3RvbU5hbWVkU2V0dGVyXS4KKworICAgICAgICBObyB0ZXN0cy4gTm8gY2hhbmdlIGluIGJl
aGF2aW9yLgorCisgICAgICAgICogYmluZGluZ3MvanMvSlNET01XaW5kb3dDdXN0b20uY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SlNET01XaW5kb3c6OnB1dERlbGVnYXRlKTogW0N1c3RvbU5hbWVk
U2V0dGVyXSByZXF1aXJlcyB0byB3cml0ZSBwdXREZWxlZ2F0ZSgpLgorICAgICAgICBObyBjaGFu
Z2UgaW4gYmVoYXZpb3IsIGNvbXBhcmVkIHRvIHRoZSBwcmV2aW91cyBKU0RPTVdpbmRvdzo6cHV0
KCkuCisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG06IFJlbW92
ZWQgW0N1c3RvbVB1dEZ1bmN0aW9uXS4KKyAgICAgICAgKEdlbmVyYXRlSGVhZGVyKToKKyAgICAg
ICAgKEdlbmVyYXRlSW1wbGVtZW50YXRpb24pOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMv
Q29kZUdlbmVyYXRvclY4LnBtOiBJZiBib3RoIFtDdXN0b21OYW1lZFNldHRlcl0gYW5kIFtDaGVj
a0RvbWFpblNlY3VyaXR5XQorICAgICAgICBpcyBzcGVjaWZpZWQsIHRoZSBnZW5lcmF0ZWQgY29k
ZSBzaG91bGQgY2FsbCBuYW1lZFNlY3VyaXR5Q2hlY2soKSBpbnN0ZWFkIG9mIG5hbWVkUHJvcGVy
dHlTZXR0ZXIoKS4KKyAgICAgICAgKEdlbmVyYXRlSGVhZGVyTmFtZWRBbmRJbmRleGVkUHJvcGVy
dHlBY2Nlc3NvcnMpOgorICAgICAgICAoR2VuZXJhdGVJbXBsZW1lbnRhdGlvbk5hbWVkUHJvcGVy
dHlHZXR0ZXIpOgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmlkbDogUmVwbGFjZWQgW0N1c3Rv
bVB1dEZ1bmN0aW9uXSB3aXRoIFtDdXN0b21OYW1lZFNldHRlcl0uCisKIDIwMTItMDItMDggIE5p
a29sYXMgWmltbWVybWFubiAgPG56aW1tZXJtYW5uQHJpbS5jb20+CiAKICAgICAgICAgZmVJbWFn
ZSBkb2Vzbid0IGludmFsaWRhdGUgd2hlbiBpdHMgdGFyZ2V0IFNWRyBlbGVtZW50IGlzIGFuaW1h
dGVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0N1
c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0N1c3RvbS5j
cHAKaW5kZXggYmFmODBkMzYwMzBmMDU3YjFlYWI4YmZiMWZmOWNjZmRiNmEyMDliOC4uOGEzY2Fl
MmNiODU3ZTg2MDhjZWUzZDBlOTQ5MDgyNzhhOWVlNDQyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93Q3VzdG9tLmNwcApAQCAtMzQxLDI0ICszNDEsMjYg
QEAgYm9vbCBKU0RPTVdpbmRvdzo6Z2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEpTT2JqZWN0KiBv
YmplY3QsIEV4ZWNTdGF0ZSogZXhlYywgY28KICAgICByZXR1cm4gQmFzZTo6Z2V0T3duUHJvcGVy
dHlEZXNjcmlwdG9yKHRoaXNPYmplY3QsIGV4ZWMsIHByb3BlcnR5TmFtZSwgZGVzY3JpcHRvcik7
CiB9CiAKLXZvaWQgSlNET01XaW5kb3c6OnB1dChKU0NlbGwqIGNlbGwsIEV4ZWNTdGF0ZSogZXhl
YywgY29uc3QgSWRlbnRpZmllciYgcHJvcGVydHlOYW1lLCBKU1ZhbHVlIHZhbHVlLCBQdXRQcm9w
ZXJ0eVNsb3QmIHNsb3QpCitib29sIEpTRE9NV2luZG93OjpwdXREZWxlZ2F0ZShFeGVjU3RhdGUq
IGV4ZWMsIGNvbnN0IElkZW50aWZpZXImIHByb3BlcnR5TmFtZSwgSlNWYWx1ZSB2YWx1ZSwgUHV0
UHJvcGVydHlTbG90JiBzbG90KQogewotICAgIEpTRE9NV2luZG93KiB0aGlzT2JqZWN0ID0ganND
YXN0PEpTRE9NV2luZG93Kj4oY2VsbCk7Ci0gICAgaWYgKCF0aGlzT2JqZWN0LT5pbXBsKCktPmZy
YW1lKCkpCi0gICAgICAgIHJldHVybjsKKyAgICBpZiAoIWltcGwoKS0+ZnJhbWUoKSkKKyAgICAg
ICAgcmV0dXJuIHRydWU7CiAKICAgICAvLyBPcHRpbWl6YXRpb246IGFjY2VzcyBKYXZhU2NyaXB0
IGdsb2JhbCB2YXJpYWJsZXMgZGlyZWN0bHkgYmVmb3JlIGludm9sdmluZyB0aGUgRE9NLgotICAg
IGlmICh0aGlzT2JqZWN0LT5KU0dsb2JhbE9iamVjdDo6aGFzT3duUHJvcGVydHlGb3JXcml0ZShl
eGVjLCBwcm9wZXJ0eU5hbWUpKSB7Ci0gICAgICAgIGlmICh0aGlzT2JqZWN0LT5hbGxvd3NBY2Nl
c3NGcm9tKGV4ZWMpKQotICAgICAgICAgICAgSlNHbG9iYWxPYmplY3Q6OnB1dCh0aGlzT2JqZWN0
LCBleGVjLCBwcm9wZXJ0eU5hbWUsIHZhbHVlLCBzbG90KTsKLSAgICAgICAgcmV0dXJuOworICAg
IGlmIChKU0dsb2JhbE9iamVjdDo6aGFzT3duUHJvcGVydHlGb3JXcml0ZShleGVjLCBwcm9wZXJ0
eU5hbWUpKSB7CisgICAgICAgIGlmIChhbGxvd3NBY2Nlc3NGcm9tKGV4ZWMpKQorICAgICAgICAg
ICAgSlNHbG9iYWxPYmplY3Q6OnB1dCh0aGlzLCBleGVjLCBwcm9wZXJ0eU5hbWUsIHZhbHVlLCBz
bG90KTsKKyAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogCi0gICAgaWYgKGxvb2t1cFB1dDxK
U0RPTVdpbmRvdz4oZXhlYywgcHJvcGVydHlOYW1lLCB2YWx1ZSwgc19pbmZvLnByb3BIYXNoVGFi
bGUoZXhlYyksIHRoaXNPYmplY3QpKQotICAgICAgICByZXR1cm47CisgICAgaWYgKGxvb2t1cFB1
dDxKU0RPTVdpbmRvdz4oZXhlYywgcHJvcGVydHlOYW1lLCB2YWx1ZSwgc19pbmZvLnByb3BIYXNo
VGFibGUoZXhlYyksIHRoaXMpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIGlmIChhbGxv
d3NBY2Nlc3NGcm9tKGV4ZWMpKQorICAgICAgICBCYXNlOjpwdXQodGhpcywgZXhlYywgcHJvcGVy
dHlOYW1lLCB2YWx1ZSwgc2xvdCk7CiAKLSAgICBpZiAodGhpc09iamVjdC0+YWxsb3dzQWNjZXNz
RnJvbShleGVjKSkKLSAgICAgICAgQmFzZTo6cHV0KHRoaXNPYmplY3QsIGV4ZWMsIHByb3BlcnR5
TmFtZSwgdmFsdWUsIHNsb3QpOworICAgIC8vIEFsd2F5cyByZXR1cm5zIHRydWUgdG8gaGF2ZSBK
U0RPTVdpbmRvdzo6cHV0KCkgcmV0dXJuIGltbWVkaWF0ZWx5IGFmdGVyIEpTRE9NV2luZG93Ojpw
dXREZWxlZ2F0ZSgpLgorICAgIHJldHVybiB0cnVlOwogfQogCiBib29sIEpTRE9NV2luZG93Ojpk
ZWxldGVQcm9wZXJ0eShKU0NlbGwqIGNlbGwsIEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnRp
ZmllciYgcHJvcGVydHlOYW1lKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL0NvZGVHZW5lcmF0b3JKUy5wbQppbmRleCA1MDUyZjEzYjdlYmE5YTY5ZmVhM2Y0OThjYWNk
OTE2YzRlZDRmY2ZjLi44ZWQ0Nzg1ZTg4OWM5MDkzZjg3MGYwOTczNTU4ZTI0YzVjYmNkZThmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JK
Uy5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JK
Uy5wbQpAQCAtNzUxLDcgKzc1MSw3IEBAIHN1YiBHZW5lcmF0ZUhlYWRlcgogCiAgICAgJGhlYWRl
clRyYWlsaW5nSW5jbHVkZXN7IiR7Y2xhc3NOYW1lfUN1c3RvbS5oIn0gPSAxIGlmICRkYXRhTm9k
ZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkN1c3RvbUhlYWRlciJ9OwogCi0gICAgJGltcGxJbmNs
dWRlc3siJHtjbGFzc05hbWV9Q3VzdG9tLmgifSA9IDEgaWYgISRkYXRhTm9kZS0+ZXh0ZW5kZWRB
dHRyaWJ1dGVzLT57IkN1c3RvbUhlYWRlciJ9ICYmICgkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmli
dXRlcy0+eyJDdXN0b21QdXRGdW5jdGlvbiJ9IHx8ICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1
dGVzLT57IkN1c3RvbU5hbWVkU2V0dGVyIn0pOworICAgICRpbXBsSW5jbHVkZXN7IiR7Y2xhc3NO
YW1lfUN1c3RvbS5oIn0gPSAxIGlmICEkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJD
dXN0b21IZWFkZXIifSAmJiAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDdXN0b21O
YW1lZFNldHRlciJ9OwogCiAgICAgbXkgJGhhc0dldHRlciA9ICRudW1BdHRyaWJ1dGVzID4gMAog
ICAgICAgICAgICAgICAgICB8fCAhJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiT21p
dENvbnN0cnVjdG9yIn0KQEAgLTc4MSw3ICs3ODEsNiBAQCBzdWIgR2VuZXJhdGVIZWFkZXIKICAg
ICB9CiAKICAgICBteSAkaGFzU2V0dGVyID0gJGhhc1JlYWRXcml0ZVByb3BlcnRpZXMKLSAgICAg
ICAgICAgICAgICAgfHwgJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ3VzdG9tUHV0
RnVuY3Rpb24ifQogICAgICAgICAgICAgICAgICB8fCAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmli
dXRlcy0+eyJDdXN0b21OYW1lZFNldHRlciJ9CiAgICAgICAgICAgICAgICAgIHx8ICRkYXRhTm9k
ZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkN1c3RvbUluZGV4ZWRTZXR0ZXIifTsKIApAQCAtMTgy
OSwzMSArMTgyOCwyOSBAQCBzdWIgR2VuZXJhdGVJbXBsZW1lbnRhdGlvbgogICAgICAgICAgICAg
ICAgICAgICAgfHwgJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ3VzdG9tSW5kZXhl
ZFNldHRlciJ9OwogCiAgICAgICAgIGlmICgkaGFzU2V0dGVyKSB7Ci0gICAgICAgICAgICBpZiAo
ISRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkN1c3RvbVB1dEZ1bmN0aW9uIn0pIHsK
LSAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgInZvaWQgJHtjbGFzc05hbWV9Ojpw
dXQoSlNDZWxsKiBjZWxsLCBFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IElkZW50aWZpZXImIHByb3Bl
cnR5TmFtZSwgSlNWYWx1ZSB2YWx1ZSwgUHV0UHJvcGVydHlTbG90JiBzbG90KVxuIik7Ci0gICAg
ICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJ7XG4iKTsKLSAgICAgICAgICAgICAgICBw
dXNoKEBpbXBsQ29udGVudCwgIiAgICAke2NsYXNzTmFtZX0qIHRoaXNPYmplY3QgPSBqc0Nhc3Q8
JHtjbGFzc05hbWV9Kj4oY2VsbCk7XG4iKTsKLSAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29u
dGVudCwgIiAgICBBU1NFUlRfR0NfT0JKRUNUX0lOSEVSSVRTKHRoaXNPYmplY3QsICZzX2luZm8p
O1xuIik7Ci0gICAgICAgICAgICAgICAgaWYgKCRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVz
LT57IkN1c3RvbUluZGV4ZWRTZXR0ZXIifSkgewotICAgICAgICAgICAgICAgICAgICBwdXNoKEBp
bXBsQ29udGVudCwgIiAgICBib29sIG9rO1xuIik7Ci0gICAgICAgICAgICAgICAgICAgIHB1c2go
QGltcGxDb250ZW50LCAiICAgIHVuc2lnbmVkIGluZGV4ID0gcHJvcGVydHlOYW1lLnRvVUludDMy
KG9rKTtcbiIpOwotICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBp
ZiAob2spIHtcbiIpOwotICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAg
ICAgICAgdGhpc09iamVjdC0+aW5kZXhTZXR0ZXIoZXhlYywgaW5kZXgsIHZhbHVlKTtcbiIpOwot
ICAgICAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAgICAgcmV0dXJuO1xu
Iik7Ci0gICAgICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIH1cbiIpOwot
ICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBpZiAoJGRhdGFOb2RlLT5leHRlbmRl
ZEF0dHJpYnV0ZXMtPnsiQ3VzdG9tTmFtZWRTZXR0ZXIifSkgewotICAgICAgICAgICAgICAgICAg
ICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBpZiAodGhpc09iamVjdC0+cHV0RGVsZWdhdGUoZXhl
YywgcHJvcGVydHlOYW1lLCB2YWx1ZSwgc2xvdCkpXG4iKTsKLSAgICAgICAgICAgICAgICAgICAg
cHVzaChAaW1wbENvbnRlbnQsICIgICAgICAgIHJldHVybjtcbiIpOwotICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAidm9pZCAke2NsYXNzTmFtZX06OnB1
dChKU0NlbGwqIGNlbGwsIEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnRpZmllciYgcHJvcGVy
dHlOYW1lLCBKU1ZhbHVlIHZhbHVlLCBQdXRQcm9wZXJ0eVNsb3QmIHNsb3QpXG4iKTsKKyAgICAg
ICAgICAgIHB1c2goQGltcGxDb250ZW50LCAie1xuIik7CisgICAgICAgICAgICBwdXNoKEBpbXBs
Q29udGVudCwgIiAgICAke2NsYXNzTmFtZX0qIHRoaXNPYmplY3QgPSBqc0Nhc3Q8JHtjbGFzc05h
bWV9Kj4oY2VsbCk7XG4iKTsKKyAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIEFT
U0VSVF9HQ19PQkpFQ1RfSU5IRVJJVFModGhpc09iamVjdCwgJnNfaW5mbyk7XG4iKTsKKyAgICAg
ICAgICAgIGlmICgkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDdXN0b21JbmRleGVk
U2V0dGVyIn0pIHsKKyAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICBib29s
IG9rO1xuIik7CisgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgdW5zaWdu
ZWQgaW5kZXggPSBwcm9wZXJ0eU5hbWUudG9VSW50MzIob2spO1xuIik7CisgICAgICAgICAgICAg
ICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgaWYgKG9rKSB7XG4iKTsKKyAgICAgICAgICAgICAg
ICBwdXNoKEBpbXBsQ29udGVudCwgIiAgICAgICAgdGhpc09iamVjdC0+aW5kZXhTZXR0ZXIoZXhl
YywgaW5kZXgsIHZhbHVlKTtcbiIpOworICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50
LCAiICAgICAgICByZXR1cm47XG4iKTsKKyAgICAgICAgICAgICAgICBwdXNoKEBpbXBsQ29udGVu
dCwgIiAgICB9XG4iKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmICgkZGF0YU5vZGUt
PmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDdXN0b21OYW1lZFNldHRlciJ9KSB7CisgICAgICAgICAg
ICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgaWYgKHRoaXNPYmplY3QtPnB1dERlbGVnYXRl
KGV4ZWMsIHByb3BlcnR5TmFtZSwgdmFsdWUsIHNsb3QpKVxuIik7CisgICAgICAgICAgICAgICAg
cHVzaChAaW1wbENvbnRlbnQsICIgICAgICAgIHJldHVybjtcbiIpOworICAgICAgICAgICAgfQog
Ci0gICAgICAgICAgICAgICAgaWYgKCRoYXNSZWFkV3JpdGVQcm9wZXJ0aWVzKSB7Ci0gICAgICAg
ICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIGxvb2t1cFB1dDwkY2xhc3NOYW1l
LCBCYXNlPihleGVjLCBwcm9wZXJ0eU5hbWUsIHZhbHVlLCAiIC4gaGFzaFRhYmxlQWNjZXNzb3Io
JGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSlNOb1N0YXRpY1RhYmxlcyJ9LCAkY2xh
c3NOYW1lKSAuICIsIHRoaXNPYmplY3QsIHNsb3QpO1xuIik7Ci0gICAgICAgICAgICAgICAgfSBl
bHNlIHsKLSAgICAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICIgICAgQmFzZTo6
cHV0KHRoaXNPYmplY3QsIGV4ZWMsIHByb3BlcnR5TmFtZSwgdmFsdWUsIHNsb3QpO1xuIik7Ci0g
ICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAifVxu
XG4iKTsKKyAgICAgICAgICAgIGlmICgkaGFzUmVhZFdyaXRlUHJvcGVydGllcykgeworICAgICAg
ICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIGxvb2t1cFB1dDwkY2xhc3NOYW1lLCBC
YXNlPihleGVjLCBwcm9wZXJ0eU5hbWUsIHZhbHVlLCAiIC4gaGFzaFRhYmxlQWNjZXNzb3IoJGRh
dGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSlNOb1N0YXRpY1RhYmxlcyJ9LCAkY2xhc3NO
YW1lKSAuICIsIHRoaXNPYmplY3QsIHNsb3QpO1xuIik7CisgICAgICAgICAgICB9IGVsc2Ugewor
ICAgICAgICAgICAgICAgIHB1c2goQGltcGxDb250ZW50LCAiICAgIEJhc2U6OnB1dCh0aGlzT2Jq
ZWN0LCBleGVjLCBwcm9wZXJ0eU5hbWUsIHZhbHVlLCBzbG90KTtcbiIpOwogICAgICAgICAgICAg
fQorICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJ9XG5cbiIpOwogCiAgICAgICAgICAg
ICBpZiAoJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ3VzdG9tSW5kZXhlZFNldHRl
ciJ9KSB7CiAgICAgICAgICAgICAgICAgcHVzaChAaW1wbENvbnRlbnQsICJ2b2lkICR7Y2xhc3NO
YW1lfTo6cHV0QnlJbmRleChKU0NlbGwqIGNlbGwsIEV4ZWNTdGF0ZSogZXhlYywgdW5zaWduZWQg
cHJvcGVydHlOYW1lLCBKU1ZhbHVlIHZhbHVlKVxuIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbSBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtCmluZGV4IDliY2M2OWE0OWViNTMx
ZGI1NmVhMjc4NzViM2Q0NjBjNWVmMTM5ZDQuLmNmYWQzMmU1YTZlZTdiZmY1YzU4NzVmZjVjZDU2
OTVmMjY4MDIyNDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
Q29kZUdlbmVyYXRvclY4LnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
Q29kZUdlbmVyYXRvclY4LnBtCkBAIC01NjYsNyArNTY2LDcgQEAgc3ViIEdlbmVyYXRlSGVhZGVy
TmFtZWRBbmRJbmRleGVkUHJvcGVydHlBY2Nlc3NvcnMKICAgICBteSAkaGFzQ3VzdG9tSW5kZXhl
ZEdldHRlciA9ICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkluZGV4ZWRHZXR0ZXIi
fSB8fCAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDdXN0b21HZXRPd25Qcm9wZXJ0
eVNsb3QifTsKICAgICBteSAkaGFzQ3VzdG9tSW5kZXhlZFNldHRlciA9ICRkYXRhTm9kZS0+ZXh0
ZW5kZWRBdHRyaWJ1dGVzLT57IkN1c3RvbUluZGV4ZWRTZXR0ZXIifSAmJiAhJGRhdGFOb2RlLT5l
eHRlbmRlZEF0dHJpYnV0ZXMtPnsiSGFzTnVtZXJpY0luZGV4R2V0dGVyIn07CiAgICAgbXkgJGhh
c0N1c3RvbU5hbWVkR2V0dGVyID0gJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiTmFt
ZWRHZXR0ZXIifSB8fCAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDdXN0b21OYW1l
ZEdldHRlciJ9IHx8ICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkN1c3RvbUdldE93
blByb3BlcnR5U2xvdCJ9OwotICAgIG15ICRoYXNDdXN0b21OYW1lZFNldHRlciA9ICRkYXRhTm9k
ZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkN1c3RvbU5hbWVkU2V0dGVyIn07CisgICAgbXkgJGhh
c0N1c3RvbU5hbWVkU2V0dGVyID0gJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ3Vz
dG9tTmFtZWRTZXR0ZXIifSAmJiAhJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ2hl
Y2tEb21haW5TZWN1cml0eSJ9OwogICAgIG15ICRoYXNDdXN0b21EZWxldGVycyA9ICRkYXRhTm9k
ZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkN1c3RvbURlbGV0ZVByb3BlcnR5In07CiAgICAgbXkg
JGhhc0N1c3RvbUVudW1lcmF0b3IgPSAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJD
dXN0b21HZXRQcm9wZXJ0eU5hbWVzIn07CiAgICAgaWYgKCRpbnRlcmZhY2VOYW1lIGVxICJIVE1M
T3B0aW9uc0NvbGxlY3Rpb24iKSB7CkBAIC0yMTY4LDcgKzIxNjgsNyBAQCBFTkQKICAgICAgICAg
cmV0dXJuOwogICAgIH0KIAotICAgIG15ICRoYXNDdXN0b21OYW1lZFNldHRlciA9ICRkYXRhTm9k
ZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkN1c3RvbU5hbWVkU2V0dGVyIn07CisgICAgbXkgJGhh
c0N1c3RvbU5hbWVkU2V0dGVyID0gJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ3Vz
dG9tTmFtZWRTZXR0ZXIifSAmJiAhJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ2hl
Y2tEb21haW5TZWN1cml0eSJ9OwogICAgIG15ICRoYXNEZWxldGVyID0gJGRhdGFOb2RlLT5leHRl
bmRlZEF0dHJpYnV0ZXMtPnsiQ3VzdG9tRGVsZXRlUHJvcGVydHkifTsKICAgICBteSAkaGFzRW51
bWVyYXRvciA9ICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkN1c3RvbUdldFByb3Bl
cnR5TmFtZXMifTsKICAgICBteSAkc2V0T24gPSAiSW5zdGFuY2UiOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01X
aW5kb3cuaWRsCmluZGV4IDA3OTI0Mzk0ODAzZmU4OWU5MDZiNjY3MjdlZjc0Mjg0YjQxMGYyY2Qu
LjAwY2Q3MWFkMWEwZWQ5M2IxYWJmY2YyNzgxYmNkZjIyZWI5YWYwMzEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0RPTVdpbmRvdy5pZGwKQEAgLTM0LDcgKzM0LDcgQEAgbW9kdWxlIHdpbmRvdyB7CiAgICAgICAg
IEN1c3RvbUdldFByb3BlcnR5TmFtZXMsCiAgICAgICAgIEpTQ3VzdG9tTWFya0Z1bmN0aW9uLAog
ICAgICAgICBKU0N1c3RvbVRvTmF0aXZlT2JqZWN0LAotICAgICAgICBDdXN0b21QdXRGdW5jdGlv
biwKKyAgICAgICAgQ3VzdG9tTmFtZWRTZXR0ZXIsCiAgICAgICAgIEV2ZW50VGFyZ2V0LAogICAg
ICAgICBFeHRlbmRzRE9NR2xvYmFsT2JqZWN0LAogICAgICAgICBKU0dlbmVyYXRlVG9OYXRpdmVP
YmplY3QsCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>