<?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>143324</bug_id>
          
          <creation_ts>2015-04-01 17:04:59 -0700</creation_ts>
          <short_desc>JavaScriptCore API should support type checking for Array and Date</short_desc>
          <delta_ts>2015-04-04 11:04:24 -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>New Bugs</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="Geoffrey Garen">ggaren</reporter>
          <assigned_to name="Geoffrey Garen">ggaren</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>joepeck</cc>
    
    <cc>mhahnenb</cc>
    
    <cc>msaboff</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1082143</commentid>
    <comment_count>0</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-04-01 17:04:59 -0700</bug_when>
    <thetext>JavaScriptCore API should support type checking for Array and Date</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1082144</commentid>
    <comment_count>1</comment_count>
      <attachid>249953</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-04-01 17:05:58 -0700</bug_when>
    <thetext>Created attachment 249953
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1082146</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-04-01 17:08:20 -0700</bug_when>
    <thetext>Attachment 249953 did not pass style-queue:


ERROR: Source/JavaScriptCore/API/JSValueRef.h:139:  The parameter name &quot;value&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/API/JSValueRef.h:148:  The parameter name &quot;value&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 2 in 7 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1082232</commentid>
    <comment_count>3</comment_count>
      <attachid>249953</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2015-04-02 08:57:48 -0700</bug_when>
    <thetext>Comment on attachment 249953
Patch

These probably need availability macros.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1082236</commentid>
    <comment_count>4</comment_count>
      <attachid>249953</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2015-04-02 09:09:35 -0700</bug_when>
    <thetext>Comment on attachment 249953
Patch

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

Should make these properties as suggested by the API experts here at Apple.

&gt; Source/JavaScriptCore/API/JSValueRef.cpp:179
&gt; +    JSValue jsValue = toJS(exec, value);
&gt; +    return jsValue.inherits(JSArray::info());

I’d like this better as a one-liner.

&gt; Source/JavaScriptCore/API/JSValueRef.cpp:192
&gt; +    JSValue jsValue = toJS(exec, value);
&gt; +    return jsValue.inherits(DateInstance::info());

Ditto.

&gt; Source/JavaScriptCore/API/tests/testapi.c:1416
&gt; +    JSStringRelease(str);

Nice to fix the leak. I think the code below also leaks an exception object.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1082279</commentid>
    <comment_count>5</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-04-02 11:04:46 -0700</bug_when>
    <thetext>&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=249953&amp;action=review
&gt; 
&gt; Should make these properties as suggested by the API experts here at Apple.

I&apos;ll follow up with a patch to do that for all of these related is* methods, once the discussion is settled.

&gt; &gt; Source/JavaScriptCore/API/JSValueRef.cpp:179
&gt; &gt; +    JSValue jsValue = toJS(exec, value);
&gt; &gt; +    return jsValue.inherits(JSArray::info());
&gt; 
&gt; I’d like this better as a one-liner.
&gt; 
&gt; &gt; Source/JavaScriptCore/API/JSValueRef.cpp:192
&gt; &gt; +    JSValue jsValue = toJS(exec, value);
&gt; &gt; +    return jsValue.inherits(DateInstance::info());
&gt; 
&gt; Ditto.

OK.

&gt; Nice to fix the leak. I think the code below also leaks an exception object.

The exception local variable is a JSValueRef, so it&apos;s garbage collected.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1082401</commentid>
    <comment_count>6</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-04-02 17:10:29 -0700</bug_when>
    <thetext>Committed r182297: &lt;http://trac.webkit.org/changeset/182297&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1082797</commentid>
    <comment_count>7</comment_count>
      <attachid>249953</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-04-04 11:01:52 -0700</bug_when>
    <thetext>Comment on attachment 249953
Patch

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

&gt; Source/JavaScriptCore/API/JSValue.h:422
&gt; +- (BOOL)isArray;

Should these have NS_AVAILABLE macros?

&gt; Source/JavaScriptCore/API/JSValueRef.h:139
&gt; +JS_EXPORT bool JSValueIsArray(JSContextRef ctx, JSValueRef value);

Should these have CF_AVAILABLE macros?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1082798</commentid>
    <comment_count>8</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2015-04-04 11:04:24 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; Comment on attachment 249953 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=249953&amp;action=review
&gt; 
&gt; &gt; Source/JavaScriptCore/API/JSValue.h:422
&gt; &gt; +- (BOOL)isArray;
&gt; 
&gt; Should these have NS_AVAILABLE macros?
&gt; 
&gt; &gt; Source/JavaScriptCore/API/JSValueRef.h:139
&gt; &gt; +JS_EXPORT bool JSValueIsArray(JSContextRef ctx, JSValueRef value);
&gt; 
&gt; Should these have CF_AVAILABLE macros?

Ahh, I see when this landed it had them!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>249953</attachid>
            <date>2015-04-01 17:05:58 -0700</date>
            <delta_ts>2015-04-02 09:09:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-143324-20150401170514.patch</filename>
            <type>text/plain</type>
            <size>7640</size>
            <attacher name="Geoffrey Garen">ggaren</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTgyMjY0KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI2IEBA
CisyMDE1LTA0LTAxICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CisKKyAgICAg
ICAgSmF2YVNjcmlwdENvcmUgQVBJIHNob3VsZCBzdXBwb3J0IHR5cGUgY2hlY2tpbmcgZm9yIEFy
cmF5IGFuZCBEYXRlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNDMzMjQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIEFQSS9KU1ZhbHVlLmg6CisgICAgICAgICogQVBJL0pTVmFsdWUubW06CisgICAgICAg
ICgtW0pTVmFsdWUgaXNBcnJheV0pOgorICAgICAgICAoLVtKU1ZhbHVlIGlzRGF0ZV0pOiBBZGRl
ZCBhbiBPYmpDIEFQSS4KKworICAgICAgICAqIEFQSS9KU1ZhbHVlUmVmLmNwcDoKKyAgICAgICAg
KEpTVmFsdWVJc0FycmF5KToKKyAgICAgICAgKEpTVmFsdWVJc0RhdGUpOgorICAgICAgICAqIEFQ
SS9KU1ZhbHVlUmVmLmg6IEFkZGVkIGEgQyBBUEkuCisKKyAgICAgICAgKiBBUEkvdGVzdHMvdGVz
dGFwaS5jOgorICAgICAgICAobWFpbik6IEFkZGVkIGEgdGVzdCBhbmQgY29ycmVjdGVkIGEgcHJl
LWV4aXN0aW5nIGxlYWsuCisKKyAgICAgICAgKiBBUEkvdGVzdHMvdGVzdGFwaS5tbToKKyAgICAg
ICAgKHRlc3RPYmplY3RpdmVDQVBJKTogQWRkZWQgYSB0ZXN0LgorCiAyMDE1LTA0LTAxICBBbGV4
IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUHJvZ3Jl
c3MgdG93YXJkcyBDTWFrZSBvbiBXaW5kb3dzIGFuZCBNYWMuCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvQVBJL0pTVmFsdWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvQVBJL0pTVmFsdWUuaAkocmV2aXNpb24gMTgyMjYwKQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL0FQSS9KU1ZhbHVlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQxNyw2ICs0MTcsMTggQEAgT0JK
Q19WSVNJQkxFCiAKIC8qIQogQG1ldGhvZAorQGFic3RyYWN0IENoZWNrIGlmIGEgSlNWYWx1ZSBp
cyBhbiBhcnJheS4KKyovIAorLSAoQk9PTClpc0FycmF5OworCisvKiEKK0BtZXRob2QKK0BhYnN0
cmFjdCBDaGVjayBpZiBhIEpTVmFsdWUgaXMgYSBkYXRlLgorKi8gCistIChCT09MKWlzRGF0ZTsK
KworLyohCitAbWV0aG9kCiBAYWJzdHJhY3QgQ29tcGFyZSB0d28gSlNWYWx1ZXMgdXNpbmcgSmF2
YVNjcmlwdCdzIDxjb2RlPj09PTwvY29kZT4gb3BlcmF0b3IuCiAqLwogLSAoQk9PTClpc0VxdWFs
VG9PYmplY3Q6KGlkKXZhbHVlOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU1Zh
bHVlLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNWYWx1ZS5t
bQkocmV2aXNpb24gMTgyMjYwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU1ZhbHVl
Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC0zNTYsNiArMzU2LDE2IEBAIC0gKEJPT0wpaXNPYmplY3QK
ICAgICByZXR1cm4gSlNWYWx1ZUlzT2JqZWN0KFtfY29udGV4dCBKU0dsb2JhbENvbnRleHRSZWZd
LCBtX3ZhbHVlKTsKIH0KIAorLSAoQk9PTClpc0FycmF5Cit7CisgICAgcmV0dXJuIEpTVmFsdWVJ
c0FycmF5KFtfY29udGV4dCBKU0dsb2JhbENvbnRleHRSZWZdLCBtX3ZhbHVlKTsKK30KKworLSAo
Qk9PTClpc0RhdGUKK3sKKyAgICByZXR1cm4gSlNWYWx1ZUlzRGF0ZShbX2NvbnRleHQgSlNHbG9i
YWxDb250ZXh0UmVmXSwgbV92YWx1ZSk7Cit9CisKIC0gKEJPT0wpaXNFcXVhbFRvT2JqZWN0Oihp
ZCl2YWx1ZQogewogICAgIHJldHVybiBKU1ZhbHVlSXNTdHJpY3RFcXVhbChbX2NvbnRleHQgSlNH
bG9iYWxDb250ZXh0UmVmXSwgbV92YWx1ZSwgb2JqZWN0VG9WYWx1ZShfY29udGV4dCwgdmFsdWUp
KTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNWYWx1ZVJlZi5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU1ZhbHVlUmVmLmNwcAkocmV2aXNp
b24gMTgyMjYwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU1ZhbHVlUmVmLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMjcsMjIgKzI3LDIxIEBACiAjaW5jbHVkZSAiSlNWYWx1ZVJlZi5o
IgogCiAjaW5jbHVkZSAiQVBJQ2FzdC5oIgorI2luY2x1ZGUgIkRhdGVJbnN0YW5jZS5oIgogI2lu
Y2x1ZGUgIkpTQVBJV3JhcHBlck9iamVjdC5oIgorI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKICNp
bmNsdWRlICJKU0NKU1ZhbHVlLmgiCiAjaW5jbHVkZSAiSlNDYWxsYmFja09iamVjdC5oIgogI2lu
Y2x1ZGUgIkpTR2xvYmFsT2JqZWN0LmgiCiAjaW5jbHVkZSAiSlNPTk9iamVjdC5oIgogI2luY2x1
ZGUgIkpTU3RyaW5nLmgiCiAjaW5jbHVkZSAiTGl0ZXJhbFBhcnNlci5oIgotI2luY2x1ZGUgIkpT
Q0lubGluZXMuaCIKICNpbmNsdWRlICJQcm90ZWN0LmgiCi0KKyNpbmNsdWRlIDxhbGdvcml0aG0+
CiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdI
YXNoLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKLSNpbmNsdWRlIDxhbGdv
cml0aG0+IC8vIGZvciBzdGQ6Om1pbgotCiAjaWYgUExBVEZPUk0oTUFDKQogI2luY2x1ZGUgPG1h
Y2gtby9keWxkLmg+CiAjZW5kaWYKQEAgLTE2Nyw2ICsxNjYsMzIgQEAgYm9vbCBKU1ZhbHVlSXNP
YmplY3QoSlNDb250ZXh0UmVmIGN0eCwgSgogICAgIHJldHVybiBqc1ZhbHVlLmlzT2JqZWN0KCk7
CiB9CiAKK2Jvb2wgSlNWYWx1ZUlzQXJyYXkoSlNDb250ZXh0UmVmIGN0eCwgSlNWYWx1ZVJlZiB2
YWx1ZSkKK3sKKyAgICBpZiAoIWN0eCkgeworICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsK
KyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKyAgICBFeGVjU3RhdGUqIGV4ZWMgPSB0b0pT
KGN0eCk7CisgICAgSlNMb2NrSG9sZGVyIGxvY2tlcihleGVjKTsKKworICAgIEpTVmFsdWUganNW
YWx1ZSA9IHRvSlMoZXhlYywgdmFsdWUpOworICAgIHJldHVybiBqc1ZhbHVlLmluaGVyaXRzKEpT
QXJyYXk6OmluZm8oKSk7Cit9CisKK2Jvb2wgSlNWYWx1ZUlzRGF0ZShKU0NvbnRleHRSZWYgY3R4
LCBKU1ZhbHVlUmVmIHZhbHVlKQoreworICAgIGlmICghY3R4KSB7CisgICAgICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorICAgIEV4ZWNTdGF0
ZSogZXhlYyA9IHRvSlMoY3R4KTsKKyAgICBKU0xvY2tIb2xkZXIgbG9ja2VyKGV4ZWMpOworCisg
ICAgSlNWYWx1ZSBqc1ZhbHVlID0gdG9KUyhleGVjLCB2YWx1ZSk7CisgICAgcmV0dXJuIGpzVmFs
dWUuaW5oZXJpdHMoRGF0ZUluc3RhbmNlOjppbmZvKCkpOworfQorCiBib29sIEpTVmFsdWVJc09i
amVjdE9mQ2xhc3MoSlNDb250ZXh0UmVmIGN0eCwgSlNWYWx1ZVJlZiB2YWx1ZSwgSlNDbGFzc1Jl
ZiBqc0NsYXNzKQogewogICAgIGlmICghY3R4IHx8ICFqc0NsYXNzKSB7CkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQVBJL0pTVmFsdWVSZWYuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvQVBJL0pTVmFsdWVSZWYuaAkocmV2aXNpb24gMTgyMjYwKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0FQSS9KU1ZhbHVlUmVmLmgJKHdvcmtpbmcgY29weSkKQEAgLTEyOSw2
ICsxMjksMjQgQEAgSlNfRVhQT1JUIGJvb2wgSlNWYWx1ZUlzT2JqZWN0KEpTQ29udGV4dAogKi8K
IEpTX0VYUE9SVCBib29sIEpTVmFsdWVJc09iamVjdE9mQ2xhc3MoSlNDb250ZXh0UmVmIGN0eCwg
SlNWYWx1ZVJlZiB2YWx1ZSwgSlNDbGFzc1JlZiBqc0NsYXNzKTsKIAorLyohCitAZnVuY3Rpb24K
K0BhYnN0cmFjdCAgICAgICBUZXN0cyB3aGV0aGVyIGEgSmF2YVNjcmlwdCB2YWx1ZSBpcyBhbiBh
cnJheS4KK0BwYXJhbSBjdHggICAgICBUaGUgZXhlY3V0aW9uIGNvbnRleHQgdG8gdXNlLgorQHBh
cmFtIHZhbHVlICAgIFRoZSBKU1ZhbHVlIHRvIHRlc3QuCitAcmVzdWx0ICAgICAgICAgdHJ1ZSBp
ZiB2YWx1ZSBpcyBhbiBhcnJheSwgb3RoZXJ3aXNlIGZhbHNlLgorKi8KK0pTX0VYUE9SVCBib29s
IEpTVmFsdWVJc0FycmF5KEpTQ29udGV4dFJlZiBjdHgsIEpTVmFsdWVSZWYgdmFsdWUpOworCisv
KiEKK0BmdW5jdGlvbgorQGFic3RyYWN0ICAgICAgIFRlc3RzIHdoZXRoZXIgYSBKYXZhU2NyaXB0
IHZhbHVlIGlzIGEgZGF0ZS4KK0BwYXJhbSBjdHggICAgICBUaGUgZXhlY3V0aW9uIGNvbnRleHQg
dG8gdXNlLgorQHBhcmFtIHZhbHVlICAgIFRoZSBKU1ZhbHVlIHRvIHRlc3QuCitAcmVzdWx0ICAg
ICAgICAgdHJ1ZSBpZiB2YWx1ZSBpcyBhIGRhdGUsIG90aGVyd2lzZSBmYWxzZS4KKyovCitKU19F
WFBPUlQgYm9vbCBKU1ZhbHVlSXNEYXRlKEpTQ29udGV4dFJlZiBjdHgsIEpTVmFsdWVSZWYgdmFs
dWUpOworCiAvKiBDb21wYXJpbmcgdmFsdWVzICovCiAKIC8qIQpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL0FQSS90ZXN0cy90ZXN0YXBpLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL0FQSS90ZXN0cy90ZXN0YXBpLmMJKHJldmlzaW9uIDE4MjI2MCkKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9BUEkvdGVzdHMvdGVzdGFwaS5jCSh3b3JraW5nIGNvcHkpCkBAIC0x
MjQ4LDYgKzEyNDgsOCBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciogYXJndltdKQogCiAgICAg
QVNTRVJUKCFKU1ZhbHVlSXNCb29sZWFuKGNvbnRleHQsIE5VTEwpKTsKICAgICBBU1NFUlQoIUpT
VmFsdWVJc09iamVjdChjb250ZXh0LCBOVUxMKSk7CisgICAgQVNTRVJUKCFKU1ZhbHVlSXNBcnJh
eShjb250ZXh0LCBOVUxMKSk7CisgICAgQVNTRVJUKCFKU1ZhbHVlSXNEYXRlKGNvbnRleHQsIE5V
TEwpKTsKICAgICBBU1NFUlQoIUpTVmFsdWVJc1N0cmluZyhjb250ZXh0LCBOVUxMKSk7CiAgICAg
QVNTRVJUKCFKU1ZhbHVlSXNOdW1iZXIoY29udGV4dCwgTlVMTCkpOwogICAgIEFTU0VSVCghSlNW
YWx1ZUlzVW5kZWZpbmVkKGNvbnRleHQsIE5VTEwpKTsKQEAgLTE0MDgsOCArMTQxMCwxMCBAQCBp
bnQgbWFpbihpbnQgYXJnYywgY2hhciogYXJndltdKQogICAgIH0gZWxzZQogICAgICAgICBwcmlu
dGYoIlBBU1M6IENvcnJlY3RseSBzZXJpYWxpc2VkIHdpdGggaW5kZW50IG9mIDQuXG4iKTsKICAg
ICBKU1N0cmluZ1JlbGVhc2Uoc3RyKTsKLSAgICBKU1N0cmluZ1JlZiBzcmMgPSBKU1N0cmluZ0Ny
ZWF0ZVdpdGhVVEY4Q1N0cmluZygiKHtnZXQgYSgpeyB0aHJvdyAnJzt9fSkiKTsKLSAgICBKU1Zh
bHVlUmVmIHVuc3RyaW5naWZpYWJsZU9iaiA9IEpTRXZhbHVhdGVTY3JpcHQoY29udGV4dCwgc3Jj
LCBOVUxMLCBOVUxMLCAxLCBOVUxMKTsKKworICAgIHN0ciA9IEpTU3RyaW5nQ3JlYXRlV2l0aFVU
RjhDU3RyaW5nKCIoe2dldCBhKCl7IHRocm93ICcnO319KSIpOworICAgIEpTVmFsdWVSZWYgdW5z
dHJpbmdpZmlhYmxlT2JqID0gSlNFdmFsdWF0ZVNjcmlwdChjb250ZXh0LCBzdHIsIE5VTEwsIE5V
TEwsIDEsIE5VTEwpOworICAgIEpTU3RyaW5nUmVsZWFzZShzdHIpOwogICAgIAogICAgIHN0ciA9
IEpTVmFsdWVDcmVhdGVKU09OU3RyaW5nKGNvbnRleHQsIHVuc3RyaW5naWZpYWJsZU9iaiwgNCwg
MCk7CiAgICAgaWYgKHN0cikgewpAQCAtMTc3Nyw2ICsxNzgxLDE2IEBAIGludCBtYWluKGludCBh
cmdjLCBjaGFyKiBhcmd2W10pCiAgICAgQVNTRVJUKEpTVmFsdWVJc0VxdWFsKGNvbnRleHQsIHYs
IG8sIE5VTEwpKTsKICAgICBKU1N0cmluZ1JlbGVhc2Uoc2NyaXB0KTsKIAorICAgIHNjcmlwdCA9
IEpTU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJbIF0iKTsKKyAgICB2ID0gSlNFdmFsdWF0
ZVNjcmlwdChjb250ZXh0LCBzY3JpcHQsIE5VTEwsIE5VTEwsIDEsIE5VTEwpOworICAgIEFTU0VS
VChKU1ZhbHVlSXNBcnJheShjb250ZXh0LCB2KSk7CisgICAgSlNTdHJpbmdSZWxlYXNlKHNjcmlw
dCk7CisKKyAgICBzY3JpcHQgPSBKU1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygibmV3IERh
dGUiKTsKKyAgICB2ID0gSlNFdmFsdWF0ZVNjcmlwdChjb250ZXh0LCBzY3JpcHQsIE5VTEwsIE5V
TEwsIDEsIE5VTEwpOworICAgIEFTU0VSVChKU1ZhbHVlSXNEYXRlKGNvbnRleHQsIHYpKTsKKyAg
ICBKU1N0cmluZ1JlbGVhc2Uoc2NyaXB0KTsKKwogICAgIGV4Y2VwdGlvbiA9IE5VTEw7CiAgICAg
c2NyaXB0ID0gSlNTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoInJyZXR1cm4gQXJyYXk7Iik7
CiAgICAgSlNTdHJpbmdSZWYgc291cmNlVVJMID0gSlNTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJp
bmcoImZpbGU6Ly8vZm9vL2Jhci5qcyIpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0FQ
SS90ZXN0cy90ZXN0YXBpLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9B
UEkvdGVzdHMvdGVzdGFwaS5tbQkocmV2aXNpb24gMTgyMjYwKQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL0FQSS90ZXN0cy90ZXN0YXBpLm1tCSh3b3JraW5nIGNvcHkpCkBAIC01MzAsNiArNTMw
LDE4IEBAIHZvaWQgdGVzdE9iamVjdGl2ZUNBUEkoKQogICAgIH0KIAogICAgIEBhdXRvcmVsZWFz
ZXBvb2wgeworICAgICAgICBKU0NvbnRleHQgKmNvbnRleHQgPSBbW0pTQ29udGV4dCBhbGxvY10g
aW5pdF07CisgICAgICAgIEpTVmFsdWUgKnJlc3VsdCA9IFtjb250ZXh0IGV2YWx1YXRlU2NyaXB0
OkAiWyBdIl07CisgICAgICAgIGNoZWNrUmVzdWx0KEAiWyBdIiwgW3Jlc3VsdCBpc0FycmF5XSk7
CisgICAgfQorCisgICAgQGF1dG9yZWxlYXNlcG9vbCB7CisgICAgICAgIEpTQ29udGV4dCAqY29u
dGV4dCA9IFtbSlNDb250ZXh0IGFsbG9jXSBpbml0XTsKKyAgICAgICAgSlNWYWx1ZSAqcmVzdWx0
ID0gW2NvbnRleHQgZXZhbHVhdGVTY3JpcHQ6QCJuZXcgRGF0ZSJdOworICAgICAgICBjaGVja1Jl
c3VsdChAIm5ldyBEYXRlIiwgW3Jlc3VsdCBpc0RhdGVdKTsKKyAgICB9CisKKyAgICBAYXV0b3Jl
bGVhc2Vwb29sIHsKICAgICAgICAgSlNDb2xsZWN0aW9uKiBteVByaXZhdGVQcm9wZXJ0aWVzID0g
W1tKU0NvbGxlY3Rpb24gYWxsb2NdIGluaXRdOwogCiAgICAgICAgIEBhdXRvcmVsZWFzZXBvb2wg
ewo=
</data>
<flag name="review"
          id="274793"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>