<?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>28118</bug_id>
          
          <creation_ts>2009-08-08 21:17:29 -0700</creation_ts>
          <short_desc>JSON.stringify replacer returning undefined does not omit object properties</short_desc>
          <delta_ts>2009-08-09 16:56:07 -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>Mac (Intel)</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://lucassmith.name/pub/JSON-test-suite/test.html</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>HasReduction, InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Luke Smith">lsmith</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>oliver</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>138466</commentid>
    <comment_count>0</comment_count>
    <who name="Luke Smith">lsmith</who>
    <bug_when>2009-08-08 21:17:29 -0700</bug_when>
    <thetext>JSON.stringify({remove:&quot;me&quot;}, function (k,v) { return k === &apos;remove&apos; ? undefined : v; })  should return &apos;{}&apos;, but returns &apos;{&quot;remove&quot;:null}&apos;

Per the ECMA5 spec, undefined returned from a replacer should result in omission from the resulting JSON string in the case of object properties, and null in the case of array items.  Currently, null is used for both cases.

r46919</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>138548</commentid>
    <comment_count>1</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2009-08-09 13:36:59 -0700</bug_when>
    <thetext>&lt;rdar://problem/7129376&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>138559</commentid>
    <comment_count>2</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2009-08-09 14:53:52 -0700</bug_when>
    <thetext>Goddammit -- fixed locally.  Stupid mistake, and i was sure this worked at one point.  It must have got broken when darin made this code iterative.  Apparently replacer functions aren&apos;t being tested as thoroughly as might be hoped.

Anyhoo, fixed locally just need to turn a build to verify that all is well, and add tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>138569</commentid>
    <comment_count>3</comment_count>
      <attachid>34435</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2009-08-09 16:15:46 -0700</bug_when>
    <thetext>Created attachment 34435
Patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>138570</commentid>
    <comment_count>4</comment_count>
      <attachid>34435</attachid>
    <who name="George Staikos">staikos</who>
    <bug_when>2009-08-09 16:33:57 -0700</bug_when>
    <thetext>Comment on attachment 34435
Patch v1


&gt;      // Handle cycle detection, and put the holder on the stack.
&gt;      if (!m_holderCycleDetector.add(object).second) {
&gt; -        throwError(m_exec, TypeError);
&gt; +        throwError(m_exec, TypeError, &quot;JSON.stringify cannot serialise cyclic structures.&quot;);
&gt;          return StringifyFailed;

   Should we not prefer US English?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>138573</commentid>
    <comment_count>5</comment_count>
      <attachid>34435</attachid>
    <who name="George Staikos">staikos</who>
    <bug_when>2009-08-09 16:52:22 -0700</bug_when>
    <thetext>Comment on attachment 34435
Patch v1

r=me with the spelling fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>138575</commentid>
    <comment_count>6</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2009-08-09 16:56:07 -0700</bug_when>
    <thetext>Committed r46967</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>34435</attachid>
            <date>2009-08-09 16:15:46 -0700</date>
            <delta_ts>2009-08-09 16:52:22 -0700</delta_ts>
            <desc>Patch v1</desc>
            <filename>bug-28118-20090809161546.patch</filename>
            <type>text/plain</type>
            <size>9850</size>
            <attacher name="Oliver Hunt">oliver</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZwppbmRleCA1Zjc1YTZlLi4wOTU4NjQ2IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIg
QEAKKzIwMDktMDgtMDkgIE9saXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBKU09OLnN0cmluZ2lmeSBy
ZXBsYWNlciByZXR1cm5pbmcgdW5kZWZpbmVkIGRvZXMgbm90IG9taXQgb2JqZWN0IHByb3BlcnRp
ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI4MTE4
CisKKyAgICAgICAgQ29ycmVjdCBiZWhhdmlvdXIgb2Ygc3RyaW5naWZ5IHdoZW4gdXNpbmcgYSBy
ZXBsYWNlciBmdW5jdGlvbiB0aGF0IHJldHVybnMKKyAgICAgICAgdW5kZWZpbmVkLiAgVGhpcyBp
cyBhIHNpbXBsZSBjaGFuZ2UgdG8gbW92ZSB0aGUgdW5kZWZpbmVkIHZhbHVlIGNoZWNrIHRvCisg
ICAgICAgIGFmdGVyIHRoZSByZXBsYWNlciBmdW5jdGlvbiBpcyBjYWxsZWQuICBUaGlzIG1lYW5z
IHRoYXQgdGhlIHJlcGxhY2VyIGZ1bmN0aW9uCisgICAgICAgIGlzIG5vdyBjYWxsZWQgZm9yIHBy
b3BlcnRpZXMgd2l0aCB0aGUgdmFsdWUgdW5kZWZpbmVkLCBob3dldmVyIGkndmUgY29uZmlybWVk
CisgICAgICAgIHRoYXQgdGhpcyBiZWhhdmlvdXIgaXMgY29ycmVjdC4KKyAgICAgICAgCisgICAg
ICAgIEluIGFkZGl0aW9uIEkndmUgbWFkZSB0aGUgY3ljbGljIG9iamVjdCBleGNlcHRpb24gaGF2
ZSBhIG1vcmUgdXNlZnVsIGVycm9yCisgICAgICAgIG1lc3NhZ2UuCisKKyAgICAgICAgKiBydW50
aW1lL0pTT05PYmplY3QuY3BwOgorICAgICAgICAoSlNDOjpTdHJpbmdpZmllcjo6YXBwZW5kU3Ry
aW5naWZpZWRWYWx1ZSk6CisKIDIwMDktMDgtMDggIE9saXZlciBIdW50ICA8b2xpdmVyQGFwcGxl
LmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRlbCBhbmQgU2FtIFdlaW5pZy4K
ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPTk9iamVjdC5jcHAgYi9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTT05PYmplY3QuY3BwCmluZGV4IDJmMDJiMWQuLjhkZGUyNWUg
MTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNPTk9iamVjdC5jcHAKKysrIGIv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU09OT2JqZWN0LmNwcApAQCAtMzM5LDggKzMzOSw2IEBA
IFN0cmluZ2lmaWVyOjpTdHJpbmdpZnlSZXN1bHQgU3RyaW5naWZpZXI6OmFwcGVuZFN0cmluZ2lm
aWVkVmFsdWUoU3RyaW5nQnVpbGRlciYKICAgICB2YWx1ZSA9IHRvSlNPTih2YWx1ZSwgcHJvcGVy
dHlOYW1lKTsKICAgICBpZiAobV9leGVjLT5oYWRFeGNlcHRpb24oKSkKICAgICAgICAgcmV0dXJu
IFN0cmluZ2lmeUZhaWxlZDsKLSAgICBpZiAodmFsdWUuaXNVbmRlZmluZWQoKSAmJiAhaG9sZGVy
LT5pbmhlcml0cygmSlNBcnJheTo6aW5mbykpCi0gICAgICAgIHJldHVybiBTdHJpbmdpZnlGYWls
ZWREdWVUb1VuZGVmaW5lZFZhbHVlOwogCiAgICAgLy8gQ2FsbCB0aGUgcmVwbGFjZXIgZnVuY3Rp
b24uCiAgICAgaWYgKG1fcmVwbGFjZXJDYWxsVHlwZSAhPSBDYWxsVHlwZU5vbmUpIHsKQEAgLTM1
MSw2ICszNDksOSBAQCBTdHJpbmdpZmllcjo6U3RyaW5naWZ5UmVzdWx0IFN0cmluZ2lmaWVyOjph
cHBlbmRTdHJpbmdpZmllZFZhbHVlKFN0cmluZ0J1aWxkZXImCiAgICAgICAgICAgICByZXR1cm4g
U3RyaW5naWZ5RmFpbGVkOwogICAgIH0KIAorICAgIGlmICh2YWx1ZS5pc1VuZGVmaW5lZCgpICYm
ICFob2xkZXItPmluaGVyaXRzKCZKU0FycmF5OjppbmZvKSkKKyAgICAgICAgcmV0dXJuIFN0cmlu
Z2lmeUZhaWxlZER1ZVRvVW5kZWZpbmVkVmFsdWU7CisKICAgICBpZiAodmFsdWUuaXNOdWxsKCkp
IHsKICAgICAgICAgYnVpbGRlci5hcHBlbmQoIm51bGwiKTsKICAgICAgICAgcmV0dXJuIFN0cmlu
Z2lmeVN1Y2NlZWRlZDsKQEAgLTM4NSw3ICszODYsNyBAQCBTdHJpbmdpZmllcjo6U3RyaW5naWZ5
UmVzdWx0IFN0cmluZ2lmaWVyOjphcHBlbmRTdHJpbmdpZmllZFZhbHVlKFN0cmluZ0J1aWxkZXIm
CiAKICAgICAvLyBIYW5kbGUgY3ljbGUgZGV0ZWN0aW9uLCBhbmQgcHV0IHRoZSBob2xkZXIgb24g
dGhlIHN0YWNrLgogICAgIGlmICghbV9ob2xkZXJDeWNsZURldGVjdG9yLmFkZChvYmplY3QpLnNl
Y29uZCkgewotICAgICAgICB0aHJvd0Vycm9yKG1fZXhlYywgVHlwZUVycm9yKTsKKyAgICAgICAg
dGhyb3dFcnJvcihtX2V4ZWMsIFR5cGVFcnJvciwgIkpTT04uc3RyaW5naWZ5IGNhbm5vdCBzZXJp
YWxpc2UgY3ljbGljIHN0cnVjdHVyZXMuIik7CiAgICAgICAgIHJldHVybiBTdHJpbmdpZnlGYWls
ZWQ7CiAgICAgfQogICAgIGJvb2wgaG9sZGVyU3RhY2tXYXNFbXB0eSA9IG1faG9sZGVyU3RhY2su
aXNFbXB0eSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCmluZGV4IGYyYzIyOGYuLjE2YWIwMzYgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOCBA
QAorMjAwOS0wOC0wOSAgT2xpdmVyIEh1bnQgIDxvbGl2ZXJAYXBwbGUuY29tPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEpTT04uc3RyaW5naWZ5IHJl
cGxhY2VyIHJldHVybmluZyB1bmRlZmluZWQgZG9lcyBub3Qgb21pdCBvYmplY3QgcHJvcGVydGll
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjgxMTgK
KworICAgICAgICBBZGQgdGVzdHMgdGhhdCBjb3ZlciB0aGUgYmVoYXZpb3VyIG9mIEpTT04uc3Ry
aW5naWZ5IHdpdGggYSByZXBsYWNlcgorICAgICAgICBmdW5jdGlvbi4gIEluIGFkZGl0aW9uIHRv
IHRlc3RpbmcgcmVwbGFjZXIgZnVuY3Rpb24gcmV0dXJuaW5nIHVuZGVmaW5lZCwKKyAgICAgICAg
d2UgdGVzdCB0aGUgcmVwbGFjZXIgaW5qZWN0aW5nIGEgY3ljbGUsIGFuZCB0aGF0IHRoZSByZXBs
YWNlciBnZXRzCisgICAgICAgIGNhbGxlZCB3aGVuIGEgcHJvcGVydHkgaGFzIHRoZSB2YWx1ZSB1
bmRlZmluZWQuCisKKyAgICAgICAgKiBmYXN0L2pzL0pTT04tc3RyaW5naWZ5LWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBmYXN0L2pzL0pTT04tc3RyaW5naWZ5LXJlcGxhY2VyLWV4cGVjdGVkLnR4
dDogQWRkZWQuCisgICAgICAgICogZmFzdC9qcy9KU09OLXN0cmluZ2lmeS1yZXBsYWNlci5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2pzL3Jlc291cmNlcy9KU09OLXN0cmluZ2lmeS1yZXBs
YWNlci5qczogQWRkZWQuCisgICAgICAgIChyZXR1cm5VbmRlZmluZWQpOgorICAgICAgICAocmV0
dXJuT2JqZWN0Rm9yMSk6CisgICAgICAgIChyZXR1cm5BcnJheUZvcjEpOgorICAgICAgICAocmV0
dXJuVW5kZWZpbmVkRm9yMSk6CisgICAgICAgIChyZXR1cm5OdWxsRm9yMSk6CisgICAgICAgIChy
ZXR1cm5DeWNsZU9iamVjdEZvcjEpOgorICAgICAgICAocmV0dXJuQ3ljbGVBcnJheUZvcjEpOgor
ICAgICAgICAocmV0dXJuU3RyaW5nRm9yVW5kZWZpbmVkKToKKwogMjAwOS0wOC0wOSAgTmlrb2xh
cyBaaW1tZXJtYW5uICA8bmlrb2xhcy56aW1tZXJtYW5uQHRvcmNobW9iaWxlLmNvbT4KIAogICAg
ICAgICBSZXZpZXdlZCBieSBHZW9yZ2UgU3RhaWtvcy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvanMvSlNPTi1zdHJpbmdpZnktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9q
cy9KU09OLXN0cmluZ2lmeS1leHBlY3RlZC50eHQKaW5kZXggMDMyNDlhYS4uNDRkNzk3YSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9KU09OLXN0cmluZ2lmeS1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9KU09OLXN0cmluZ2lmeS1leHBlY3RlZC50eHQKQEAg
LTI5Niw3ICsyOTYsNyBAQCBmdW5jdGlvbiAoanNvbk9iamVjdCkgewogICAgICAgICBjeWNsZVRy
YWNrZXIgPSAiIjsKICAgICAgICAgcmV0dXJuIGpzb25PYmplY3Quc3RyaW5naWZ5KGN5Y2xpY09i
amVjdCk7CiAgICAgfQotUEFTUyB0ZXN0c1tpXShuYXRpdmVKU09OKSB0aHJldyBleGNlcHRpb24g
VHlwZUVycm9yOiBUeXBlIGVycm9yLgorUEFTUyB0ZXN0c1tpXShuYXRpdmVKU09OKSB0aHJldyBl
eGNlcHRpb24gVHlwZUVycm9yOiBKU09OLnN0cmluZ2lmeSBjYW5ub3Qgc2VyaWFsaXNlIGN5Y2xp
YyBzdHJ1Y3R1cmVzLi4KIGZ1bmN0aW9uIChqc29uT2JqZWN0KSB7CiAgICAgICAgIGN5Y2xlVHJh
Y2tlciA9ICIiOwogICAgICAgICB0cnkgeyBqc29uT2JqZWN0LnN0cmluZ2lmeShjeWNsaWNPYmpl
Y3QpOyB9IGNhdGNoKGUpIHsgY3ljbGVUcmFja2VyICs9ICIgLT4gZXhjZXB0aW9uIiB9CkBAIC0z
MDcsNyArMzA3LDcgQEAgZnVuY3Rpb24gKGpzb25PYmplY3QpIHsKICAgICAgICAgY3ljbGVUcmFj
a2VyID0gIiI7CiAgICAgICAgIHJldHVybiBqc29uT2JqZWN0LnN0cmluZ2lmeShjeWNsaWNBcnJh
eSk7CiAgICAgfQotUEFTUyB0ZXN0c1tpXShuYXRpdmVKU09OKSB0aHJldyBleGNlcHRpb24gVHlw
ZUVycm9yOiBUeXBlIGVycm9yLgorUEFTUyB0ZXN0c1tpXShuYXRpdmVKU09OKSB0aHJldyBleGNl
cHRpb24gVHlwZUVycm9yOiBKU09OLnN0cmluZ2lmeSBjYW5ub3Qgc2VyaWFsaXNlIGN5Y2xpYyBz
dHJ1Y3R1cmVzLi4KIGZ1bmN0aW9uIChqc29uT2JqZWN0KSB7CiAgICAgICAgIGN5Y2xlVHJhY2tl
ciA9ICIiOwogICAgICAgICB0cnkgeyBqc29uT2JqZWN0LnN0cmluZ2lmeShjeWNsaWNBcnJheSk7
IH0gY2F0Y2goZSkgeyBjeWNsZVRyYWNrZXIgKz0gIiAtPiBleGNlcHRpb24iIH0KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvanMvSlNPTi1zdHJpbmdpZnktcmVwbGFjZXItZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9KU09OLXN0cmluZ2lmeS1yZXBsYWNlci1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmFjMGU1MgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvanMvSlNPTi1zdHJpbmdpZnktcmVwbGFjZXIt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjUgQEAKK1Rlc3QgdG8gZW5zdXJlIGNvcnJlY3QgYmVo
YXZpb3VyIG9mIHJlcGxhY2VyIGZ1bmN0aW9ucyBpbiBKU09OLnN0cmluZ2lmeQorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBKU09OLnN0cmluZ2lmeShvYmplY3QsIHJldHVy
blVuZGVmaW5lZCkgaXMgdW5kZWZpbmVkLgorUEFTUyBKU09OLnN0cmluZ2lmeShhcnJheSwgcmV0
dXJuVW5kZWZpbmVkKSBpcyB1bmRlZmluZWQuCitQQVNTIEpTT04uc3RyaW5naWZ5KG9iamVjdCwg
cmV0dXJuT2JqZWN0Rm9yMSkgaXMgJ3siMCI6MCwiMSI6e30sIjIiOjJ9JworUEFTUyBKU09OLnN0
cmluZ2lmeShhcnJheSwgcmV0dXJuT2JqZWN0Rm9yMSkgaXMgJ1swLHt9LDIsbnVsbF0nCitQQVNT
IEpTT04uc3RyaW5naWZ5KG9iamVjdCwgcmV0dXJuQXJyYXlGb3IxKSBpcyAneyIwIjowLCIxIjpb
XSwiMiI6Mn0nCitQQVNTIEpTT04uc3RyaW5naWZ5KGFycmF5LCByZXR1cm5BcnJheUZvcjEpIGlz
ICdbMCxbXSwyLG51bGxdJworUEFTUyBKU09OLnN0cmluZ2lmeShvYmplY3QsIHJldHVyblVuZGVm
aW5lZEZvcjEpIGlzICd7IjAiOjAsIjIiOjJ9JworUEFTUyBKU09OLnN0cmluZ2lmeShhcnJheSwg
cmV0dXJuVW5kZWZpbmVkRm9yMSkgaXMgJ1swLG51bGwsMixudWxsXScKK1BBU1MgSlNPTi5zdHJp
bmdpZnkob2JqZWN0LCByZXR1cm5OdWxsRm9yMSkgaXMgJ3siMCI6MCwiMSI6bnVsbCwiMiI6Mn0n
CitQQVNTIEpTT04uc3RyaW5naWZ5KGFycmF5LCByZXR1cm5OdWxsRm9yMSkgaXMgJ1swLG51bGws
MixudWxsXScKK1BBU1MgSlNPTi5zdHJpbmdpZnkob2JqZWN0LCByZXR1cm5TdHJpbmdGb3JVbmRl
ZmluZWQpIGlzICd7IjAiOjAsIjEiOjEsIjIiOjIsIjMiOiJ1bmRlZmluZWQgdmFsdWUifScKK1BB
U1MgSlNPTi5zdHJpbmdpZnkoYXJyYXksIHJldHVyblN0cmluZ0ZvclVuZGVmaW5lZCkgaXMgJ1sw
LDEsMiwidW5kZWZpbmVkIHZhbHVlIl0nCitQQVNTIEpTT04uc3RyaW5naWZ5KG9iamVjdCwgcmV0
dXJuQ3ljbGVPYmplY3RGb3IxKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBKU09OLnN0cmlu
Z2lmeSBjYW5ub3Qgc2VyaWFsaXNlIGN5Y2xpYyBzdHJ1Y3R1cmVzLi4KK1BBU1MgSlNPTi5zdHJp
bmdpZnkoYXJyYXksIHJldHVybkN5Y2xlT2JqZWN0Rm9yMSkgdGhyZXcgZXhjZXB0aW9uIFR5cGVF
cnJvcjogSlNPTi5zdHJpbmdpZnkgY2Fubm90IHNlcmlhbGlzZSBjeWNsaWMgc3RydWN0dXJlcy4u
CitQQVNTIEpTT04uc3RyaW5naWZ5KG9iamVjdCwgcmV0dXJuQ3ljbGVBcnJheUZvcjEpIHRocmV3
IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEpTT04uc3RyaW5naWZ5IGNhbm5vdCBzZXJpYWxpc2UgY3lj
bGljIHN0cnVjdHVyZXMuLgorUEFTUyBKU09OLnN0cmluZ2lmeShhcnJheSwgcmV0dXJuQ3ljbGVB
cnJheUZvcjEpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IEpTT04uc3RyaW5naWZ5IGNhbm5v
dCBzZXJpYWxpc2UgY3ljbGljIHN0cnVjdHVyZXMuLgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
anMvSlNPTi1zdHJpbmdpZnktcmVwbGFjZXIuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvanMvSlNP
Ti1zdHJpbmdpZnktcmVwbGFjZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwLi5mOTM5MWJiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9qcy9KU09O
LXN0cmluZ2lmeS1yZXBsYWNlci5odG1sCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQRSBIVE1M
IFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8bGluayBy
ZWw9InN0eWxlc2hlZXQiIGhyZWY9InJlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2Ny
aXB0IHNyYz0icmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4K
KzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvSlNPTi1zdHJpbmdpZnktcmVwbGFjZXIuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9qcy9yZXNvdXJj
ZXMvSlNPTi1zdHJpbmdpZnktcmVwbGFjZXIuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2pzL3Jlc291
cmNlcy9KU09OLXN0cmluZ2lmeS1yZXBsYWNlci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwLi4yYjVjODcyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9q
cy9yZXNvdXJjZXMvSlNPTi1zdHJpbmdpZnktcmVwbGFjZXIuanMKQEAgLTAsMCArMSw2NiBAQAor
ZGVzY3JpcHRpb24oIlRlc3QgdG8gZW5zdXJlIGNvcnJlY3QgYmVoYXZpb3VyIG9mIHJlcGxhY2Vy
IGZ1bmN0aW9ucyBpbiBKU09OLnN0cmluZ2lmeSIpOworCit2YXIgb2JqZWN0ID0gezA6MCwgMTox
LCAyOjIsIDM6dW5kZWZpbmVkfTsKK3ZhciBhcnJheSA9IFswLCAxLCAyLCB1bmRlZmluZWRdOwor
ZnVuY3Rpb24gcmV0dXJuVW5kZWZpbmVkKCl7fQorZnVuY3Rpb24gcmV0dXJuT2JqZWN0Rm9yMShr
LCB2KSB7CisgICAgaWYgKGsgPT0gIjEiKQorICAgICAgICByZXR1cm4ge307CisgICAgcmV0dXJu
IHY7Cit9CitmdW5jdGlvbiByZXR1cm5BcnJheUZvcjEoaywgdikgeworICAgIGlmIChrID09ICIx
IikKKyAgICAgICAgcmV0dXJuIFtdOworICAgIHJldHVybiB2OworfQorZnVuY3Rpb24gcmV0dXJu
VW5kZWZpbmVkRm9yMShrLCB2KSB7CisgICAgaWYgKGsgPT0gIjEiKQorICAgICAgICByZXR1cm4g
dW5kZWZpbmVkOworICAgIHJldHVybiB2OworfQorZnVuY3Rpb24gcmV0dXJuTnVsbEZvcjEoaywg
dikgeworICAgIGlmIChrID09ICIxIikKKyAgICAgICAgcmV0dXJuIG51bGw7CisgICAgcmV0dXJu
IHY7Cit9CitmdW5jdGlvbiByZXR1cm5DeWNsZU9iamVjdEZvcjEoaywgdikgeworICAgIGlmIChr
ID09ICIxIikKKyAgICAgICAgcmV0dXJuIG9iamVjdDsKKyAgICByZXR1cm4gdjsKK30KK2Z1bmN0
aW9uIHJldHVybkN5Y2xlQXJyYXlGb3IxKGssIHYpIHsKKyAgICBpZiAoayA9PSAiMSIpCisgICAg
ICAgIHJldHVybiBhcnJheTsKKyAgICByZXR1cm4gdjsKK30KK2Z1bmN0aW9uIHJldHVyblN0cmlu
Z0ZvclVuZGVmaW5lZChrLCB2KSB7CisgICAgaWYgKHYgPT09IHVuZGVmaW5lZCkKKyAgICAgICAg
cmV0dXJuICJ1bmRlZmluZWQgdmFsdWUiOworICAgIHJldHVybiB2OworfQorCitzaG91bGRCZVVu
ZGVmaW5lZCgiSlNPTi5zdHJpbmdpZnkob2JqZWN0LCByZXR1cm5VbmRlZmluZWQpIik7CitzaG91
bGRCZVVuZGVmaW5lZCgiSlNPTi5zdHJpbmdpZnkoYXJyYXksIHJldHVyblVuZGVmaW5lZCkiKTsK
Kworc2hvdWxkQmUoIkpTT04uc3RyaW5naWZ5KG9iamVjdCwgcmV0dXJuT2JqZWN0Rm9yMSkiLCAn
XCd7IjAiOjAsIjEiOnt9LCIyIjoyfVwnJyk7CitzaG91bGRCZSgiSlNPTi5zdHJpbmdpZnkoYXJy
YXksIHJldHVybk9iamVjdEZvcjEpIiwgJ1wnWzAse30sMixudWxsXVwnJyk7CisKK3Nob3VsZEJl
KCJKU09OLnN0cmluZ2lmeShvYmplY3QsIHJldHVybkFycmF5Rm9yMSkiLCAnXCd7IjAiOjAsIjEi
OltdLCIyIjoyfVwnJyk7CitzaG91bGRCZSgiSlNPTi5zdHJpbmdpZnkoYXJyYXksIHJldHVybkFy
cmF5Rm9yMSkiLCAnXCdbMCxbXSwyLG51bGxdXCcnKTsKKworc2hvdWxkQmUoIkpTT04uc3RyaW5n
aWZ5KG9iamVjdCwgcmV0dXJuVW5kZWZpbmVkRm9yMSkiLCAnXCd7IjAiOjAsIjIiOjJ9XCcnKTsK
K3Nob3VsZEJlKCJKU09OLnN0cmluZ2lmeShhcnJheSwgcmV0dXJuVW5kZWZpbmVkRm9yMSkiLCAn
XCdbMCxudWxsLDIsbnVsbF1cJycpOworCitzaG91bGRCZSgiSlNPTi5zdHJpbmdpZnkob2JqZWN0
LCByZXR1cm5OdWxsRm9yMSkiLCAnXCd7IjAiOjAsIjEiOm51bGwsIjIiOjJ9XCcnKTsKK3Nob3Vs
ZEJlKCJKU09OLnN0cmluZ2lmeShhcnJheSwgcmV0dXJuTnVsbEZvcjEpIiwgJ1wnWzAsbnVsbCwy
LG51bGxdXCcnKTsKKworc2hvdWxkQmUoIkpTT04uc3RyaW5naWZ5KG9iamVjdCwgcmV0dXJuU3Ry
aW5nRm9yVW5kZWZpbmVkKSIsICdcJ3siMCI6MCwiMSI6MSwiMiI6MiwiMyI6InVuZGVmaW5lZCB2
YWx1ZSJ9XCcnKTsKK3Nob3VsZEJlKCJKU09OLnN0cmluZ2lmeShhcnJheSwgcmV0dXJuU3RyaW5n
Rm9yVW5kZWZpbmVkKSIsICdcJ1swLDEsMiwidW5kZWZpbmVkIHZhbHVlIl1cJycpOworCitzaG91
bGRUaHJvdygiSlNPTi5zdHJpbmdpZnkob2JqZWN0LCByZXR1cm5DeWNsZU9iamVjdEZvcjEpIik7
CitzaG91bGRUaHJvdygiSlNPTi5zdHJpbmdpZnkoYXJyYXksIHJldHVybkN5Y2xlT2JqZWN0Rm9y
MSkiKTsKKworc2hvdWxkVGhyb3coIkpTT04uc3RyaW5naWZ5KG9iamVjdCwgcmV0dXJuQ3ljbGVB
cnJheUZvcjEpIik7CitzaG91bGRUaHJvdygiSlNPTi5zdHJpbmdpZnkoYXJyYXksIHJldHVybkN5
Y2xlQXJyYXlGb3IxKSIpOworCitzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOw==
</data>
<flag name="review"
          id="18616"
          type_id="1"
          status="+"
          setter="staikos"
    />
          </attachment>
      

    </bug>

</bugzilla>