<?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>81975</bug_id>
          
          <creation_ts>2012-03-22 15:05:42 -0700</creation_ts>
          <short_desc>DFG NodeFlags has some duplicate code and naming issues</short_desc>
          <delta_ts>2012-03-22 16:25:46 -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>JavaScriptCore</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>585750</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-03-22 15:05:42 -0700</bug_when>
    <thetext>The notion that some flags are &quot;ArithNodeFlags&quot; is mostly antiquated.

The renaming from NodeUse to Edge messed up some node flags names (NodeUsedAsNum become EdgedAsNum ... ooops).

It appears that we have a method called setArithNodeFlag() which is never called.

It appears that we have both mergeArithNodeFlags and mergeFlags.  The former has some assertions, which may be useful - but it&apos;s sad that we have two methods that really do the same thing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>585792</commentid>
    <comment_count>1</comment_count>
      <attachid>133368</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-03-22 15:35:22 -0700</bug_when>
    <thetext>Created attachment 133368
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>585850</commentid>
    <comment_count>2</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-03-22 16:25:46 -0700</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/111781</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>133368</attachid>
            <date>2012-03-22 15:35:22 -0700</date>
            <delta_ts>2012-03-22 15:39:14 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>fixflags_patch_1.diff</filename>
            <type>text/plain</type>
            <size>18334</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTExNzcyKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM0IEBA
CisyMDEyLTAzLTIyICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
TmVlZCBhIHNob3J0IGRlc2NyaXB0aW9uIGFuZCBidWcgVVJMIChPT1BTISkKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgxOTc1CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIAorICAgICAgICBSZW1vdmVkIG1vc3Qg
cmVmZXJlbmNlcyB0byAiQXJpdGhOb2RlRmxhZ3MiIHNpbmNlIHRob3NlIGFyZSBub3cganVzdCBw
YXJ0CisgICAgICAgIG9mIHRoZSBub2RlIGZsYWdzLiBGaXhlZCBzb21lIHJlbmFtaW5nIGdvb2Zz
IChFZGdlZEFzTnVtIGlzIG9uY2UgYWdhaW4KKyAgICAgICAgTm9kZVVzZWRBc051bSkuIEdvdCBy
aWQgb2Ygc2V0QXJpdGhOb2RlRmxhZ3MoKSBhbmQgbWVyZ2VBcml0aE5vZGVGbGFncygpCisgICAg
ICAgIGJlY2F1c2UgdGhlIGZvcm1lciB3YXMgbmV2ZXIgY2FsbGVkIGFuZCB0aGUgbGF0dGVyIGRp
ZCB0aGUgc2FtZSB0aGluZ3MgYXMKKyAgICAgICAgbWVyZ2VGbGFncygpLgorCisgICAgICAgICog
ZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpCeXRlQ29kZVBh
cnNlcjo6bWFrZVNhZmUpOgorICAgICAgICAoSlNDOjpERkc6OkJ5dGVDb2RlUGFyc2VyOjptYWtl
RGl2U2FmZSk6CisgICAgICAgIChKU0M6OkRGRzo6Qnl0ZUNvZGVQYXJzZXI6OmhhbmRsZUludHJp
bnNpYyk6CisgICAgICAgICogZGZnL0RGR0dyYXBoLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpH
cmFwaDo6ZHVtcCk6CisgICAgICAgICogZGZnL0RGR05vZGUuaDoKKyAgICAgICAgKEpTQzo6REZH
OjpOb2RlOjphcml0aE5vZGVGbGFncyk6CisgICAgICAgIChOb2RlKToKKyAgICAgICAgKiBkZmcv
REZHTm9kZUZsYWdzLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpub2RlRmxhZ3NBc1N0cmluZyk6
CisgICAgICAgICogZGZnL0RGR05vZGVGbGFncy5oOgorICAgICAgICAoREZHKToKKyAgICAgICAg
KEpTQzo6REZHOjpub2RlVXNlZEFzTnVtYmVyKToKKyAgICAgICAgKiBkZmcvREZHUHJlZGljdGlv
blByb3BhZ2F0aW9uUGhhc2UuY3BwOgorICAgICAgICAoSlNDOjpERkc6OlByZWRpY3Rpb25Qcm9w
YWdhdGlvblBoYXNlOjpwcm9wYWdhdGUpOgorICAgICAgICAoSlNDOjpERkc6OlByZWRpY3Rpb25Q
cm9wYWdhdGlvblBoYXNlOjptZXJnZURlZmF1bHRBcml0aEZsYWdzKToKKwogMjAxMi0wMy0yMiAg
S2V2aW4gT2xsaXZpZXIgIDxrZXZpbm9AdGhlb2xsaXZpZXJzLmNvbT4KIAogICAgICAgICBbd3hd
IFVucmV2aWV3ZWQuIEFkZGluZyBTb3VyY2UvV1RGIHRvIHRoZSBidWlsZC4KSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCShyZXZpc2lv
biAxMTE3NDgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2Vy
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzA5LDcgKzcwOSw3IEBAIHByaXZhdGU6CiAgICAgICAg
IGNhc2UgQXJpdGhOZWdhdGU6CiAgICAgICAgIGNhc2UgVmFsdWVBZGQ6CiAgICAgICAgIGNhc2Ug
QXJpdGhNb2Q6IC8vIGZvciBBcml0aE1vZGUgIk1heU92ZXJmbG93IiBtZWFucyB3ZSB0cmllZCB0
byBkaXZpZGUgYnkgemVybywgb3Igd2Ugc2F3IGRvdWJsZS4KLSAgICAgICAgICAgIG1fZ3JhcGhb
bm9kZUluZGV4XS5tZXJnZUFyaXRoTm9kZUZsYWdzKE5vZGVNYXlPdmVyZmxvdyk7CisgICAgICAg
ICAgICBtX2dyYXBoW25vZGVJbmRleF0ubWVyZ2VGbGFncyhOb2RlTWF5T3ZlcmZsb3cpOwogICAg
ICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAKICAgICAgICAgY2FzZSBBcml0aE11bDoKQEAg
LTcxOCwxMyArNzE4LDEzIEBAIHByaXZhdGU6CiAjaWYgREZHX0VOQUJMRShERUJVR19WRVJCT1NF
KQogICAgICAgICAgICAgICAgIGRhdGFMb2coIk1ha2luZyBBcml0aE11bCBAJXUgdGFrZSBkZWVw
ZXN0IHNsb3cgY2FzZS5cbiIsIG5vZGVJbmRleCk7CiAjZW5kaWYKLSAgICAgICAgICAgICAgICBt
X2dyYXBoW25vZGVJbmRleF0ubWVyZ2VBcml0aE5vZGVGbGFncyhOb2RlTWF5T3ZlcmZsb3cgfCBO
b2RlTWF5TmVnWmVybyk7CisgICAgICAgICAgICAgICAgbV9ncmFwaFtub2RlSW5kZXhdLm1lcmdl
RmxhZ3MoTm9kZU1heU92ZXJmbG93IHwgTm9kZU1heU5lZ1plcm8pOwogICAgICAgICAgICAgfSBl
bHNlIGlmIChtX2lubGluZVN0YWNrVG9wLT5tX3Byb2ZpbGVkQmxvY2stPmxpa2VseVRvVGFrZVNs
b3dDYXNlKG1fY3VycmVudEluZGV4KQogICAgICAgICAgICAgICAgICAgICAgICB8fCBtX2lubGlu
ZVN0YWNrVG9wLT5tX2V4aXRQcm9maWxlLmhhc0V4aXRTaXRlKG1fY3VycmVudEluZGV4LCBOZWdh
dGl2ZVplcm8pKSB7CiAjaWYgREZHX0VOQUJMRShERUJVR19WRVJCT1NFKQogICAgICAgICAgICAg
ICAgIGRhdGFMb2coIk1ha2luZyBBcml0aE11bCBAJXUgdGFrZSBmYXN0ZXIgc2xvdyBjYXNlLlxu
Iiwgbm9kZUluZGV4KTsKICNlbmRpZgotICAgICAgICAgICAgICAgIG1fZ3JhcGhbbm9kZUluZGV4
XS5tZXJnZUFyaXRoTm9kZUZsYWdzKE5vZGVNYXlOZWdaZXJvKTsKKyAgICAgICAgICAgICAgICBt
X2dyYXBoW25vZGVJbmRleF0ubWVyZ2VGbGFncyhOb2RlTWF5TmVnWmVybyk7CiAgICAgICAgICAg
ICB9CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIApAQCAtNzU3LDcgKzc1Nyw3IEBA
IHByaXZhdGU6CiAgICAgICAgIAogICAgICAgICAvLyBGSVhNRTogSXQgbWlnaHQgYmUgcG9zc2li
bGUgdG8gbWFrZSB0aGlzIG1vcmUgZ3JhbnVsYXIuIFRoZSBERkcgY2VydGFpbmx5IGNhbgogICAg
ICAgICAvLyBkaXN0aW5ndWlzaCBiZXR3ZWVuIG5lZ2F0aXZlIHplcm8gYW5kIG92ZXJmbG93IGlu
IGl0cyBleGl0IHByb2ZpbGVzLgotICAgICAgICBtX2dyYXBoW25vZGVJbmRleF0ubWVyZ2VBcml0
aE5vZGVGbGFncyhOb2RlTWF5T3ZlcmZsb3cgfCBOb2RlTWF5TmVnWmVybyk7CisgICAgICAgIG1f
Z3JhcGhbbm9kZUluZGV4XS5tZXJnZUZsYWdzKE5vZGVNYXlPdmVyZmxvdyB8IE5vZGVNYXlOZWda
ZXJvKTsKICAgICAgICAgCiAgICAgICAgIHJldHVybiBub2RlSW5kZXg7CiAgICAgfQpAQCAtMTI5
Nyw3ICsxMjk3LDcgQEAgYm9vbCBCeXRlQ29kZVBhcnNlcjo6aGFuZGxlSW50cmluc2ljKGJvbwog
CiAgICAgICAgIE5vZGVJbmRleCBub2RlSW5kZXggPSBhZGRUb0dyYXBoKEFyaXRoQWJzLCBnZXQo
cmVnaXN0ZXJPZmZzZXQgKyBhcmd1bWVudFRvT3BlcmFuZCgxKSkpOwogICAgICAgICBpZiAobV9p
bmxpbmVTdGFja1RvcC0+bV9leGl0UHJvZmlsZS5oYXNFeGl0U2l0ZShtX2N1cnJlbnRJbmRleCwg
T3ZlcmZsb3cpKQotICAgICAgICAgICAgbV9ncmFwaFtub2RlSW5kZXhdLm1lcmdlQXJpdGhOb2Rl
RmxhZ3MoTm9kZU1heU92ZXJmbG93KTsKKyAgICAgICAgICAgIG1fZ3JhcGhbbm9kZUluZGV4XS5t
ZXJnZUZsYWdzKE5vZGVNYXlPdmVyZmxvdyk7CiAgICAgICAgIHNldChyZXN1bHRPcGVyYW5kLCBu
b2RlSW5kZXgpOwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR0dyYXBoLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR0dyYXBoLmNwcAkocmV2aXNpb24gMTExNzQ4KQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdHcmFwaC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE3Niw4ICsx
NzYsOCBAQCB2b2lkIEdyYXBoOjpkdW1wKE5vZGVJbmRleCBub2RlSW5kZXgpCiAgICAgICAgIGhh
c1ByaW50ZWQgPSAhIW5vZGUuY2hpbGQxKCk7CiAgICAgfQogCi0gICAgaWYgKG5vZGUuYXJpdGhO
b2RlRmxhZ3MoKSkgewotICAgICAgICBkYXRhTG9nKCIlcyVzIiwgaGFzUHJpbnRlZCA/ICIsICIg
OiAiIiwgYXJpdGhOb2RlRmxhZ3NBc1N0cmluZyhub2RlLmFyaXRoTm9kZUZsYWdzKCkpKTsKKyAg
ICBpZiAobm9kZS5mbGFncygpKSB7CisgICAgICAgIGRhdGFMb2coIiVzJXMiLCBoYXNQcmludGVk
ID8gIiwgIiA6ICIiLCBub2RlRmxhZ3NBc1N0cmluZyhub2RlLmZsYWdzKCkpKTsKICAgICAgICAg
aGFzUHJpbnRlZCA9IHRydWU7CiAgICAgfQogICAgIGlmIChub2RlLmhhc1Zhck51bWJlcigpKSB7
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGUuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGUuaAkocmV2aXNpb24gMTExNzQ4KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdOb2RlLmgJKHdvcmtpbmcgY29weSkKQEAg
LTMxNywzMCArMzE3LDEyIEBAIHN0cnVjdCBOb2RlIHsKICAgICAvLyB0byBrbm93IGlmIGl0IGNh
biBzcGVjdWxhdGUgb24gbmVnYXRpdmUgemVyby4KICAgICBOb2RlRmxhZ3MgYXJpdGhOb2RlRmxh
Z3MoKQogICAgIHsKLSAgICAgICAgTm9kZUZsYWdzIHJlc3VsdCA9IG1fZmxhZ3MgJiBOb2RlQXJp
dGhNYXNrOwotICAgICAgICBpZiAob3AoKSA9PSBBcml0aE11bCkKKyAgICAgICAgTm9kZUZsYWdz
IHJlc3VsdCA9IG1fZmxhZ3M7CisgICAgICAgIGlmIChvcCgpID09IEFyaXRoTXVsIHx8IG9wKCkg
PT0gQXJpdGhEaXYgfHwgb3AoKSA9PSBBcml0aE1vZCkKICAgICAgICAgICAgIHJldHVybiByZXN1
bHQ7CiAgICAgICAgIHJldHVybiByZXN1bHQgJiB+Tm9kZU5lZWRzTmVnWmVybzsKICAgICB9CiAg
ICAgCi0gICAgdm9pZCBzZXRBcml0aE5vZGVGbGFnKE5vZGVGbGFncyBuZXdGbGFncykKLSAgICB7
Ci0gICAgICAgIEFTU0VSVCghKG5ld0ZsYWdzICYgfk5vZGVBcml0aE1hc2spKTsKLSAgICAgICAg
Ci0gICAgICAgIG1fZmxhZ3MgJj0gfk5vZGVBcml0aE1hc2s7Ci0gICAgICAgIG1fZmxhZ3MgfD0g
bmV3RmxhZ3M7Ci0gICAgfQotICAgIAotICAgIGJvb2wgbWVyZ2VBcml0aE5vZGVGbGFncyhOb2Rl
RmxhZ3MgbmV3RmxhZ3MpCi0gICAgewotICAgICAgICBBU1NFUlQoIShuZXdGbGFncyAmIH5Ob2Rl
QXJpdGhNYXNrKSk7Ci0gICAgICAgIG5ld0ZsYWdzID0gbV9mbGFncyB8IG5ld0ZsYWdzOwotICAg
ICAgICBpZiAobmV3RmxhZ3MgPT0gbV9mbGFncykKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsK
LSAgICAgICAgbV9mbGFncyA9IG5ld0ZsYWdzOwotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9
Ci0gICAgCiAgICAgYm9vbCBoYXNDb25zdGFudEJ1ZmZlcigpCiAgICAgewogICAgICAgICByZXR1
cm4gb3AoKSA9PSBOZXdBcnJheUJ1ZmZlcjsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHTm9kZUZsYWdzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR05vZGVGbGFncy5jcHAJKHJldmlzaW9uIDExMTc0OCkKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHTm9kZUZsYWdzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzIsMjAgKzMy
LDcyIEBACiAKIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgREZHIHsKIAotY29uc3QgY2hhciog
YXJpdGhOb2RlRmxhZ3NBc1N0cmluZyhOb2RlRmxhZ3MgZmxhZ3MpCitjb25zdCBjaGFyKiBub2Rl
RmxhZ3NBc1N0cmluZyhOb2RlRmxhZ3MgZmxhZ3MpCiB7Ci0gICAgZmxhZ3MgJj0gTm9kZUFyaXRo
TWFzazsKLSAgICAKICAgICBpZiAoIWZsYWdzKQogICAgICAgICByZXR1cm4gIjxlbXB0eT4iOwog
Ci0gICAgc3RhdGljIGNvbnN0IGludCBzaXplID0gNjQ7CisgICAgc3RhdGljIGNvbnN0IGludCBz
aXplID0gMTI4OwogICAgIHN0YXRpYyBjaGFyIGRlc2NyaXB0aW9uW3NpemVdOwogICAgIEJvdW5k
c0NoZWNrZWRQb2ludGVyPGNoYXI+IHB0cihkZXNjcmlwdGlvbiwgc2l6ZSk7CiAgICAgCiAgICAg
Ym9vbCBoYXNQcmludGVkID0gZmFsc2U7CiAgICAgCi0gICAgaWYgKGZsYWdzICYgRWRnZWRBc051
bWJlcikgeworICAgIGlmIChmbGFncyAmIE5vZGVSZXN1bHRNYXNrKSB7CisgICAgICAgIHN3aXRj
aCAoZmxhZ3MgJiBOb2RlUmVzdWx0TWFzaykgeworICAgICAgICBjYXNlIE5vZGVSZXN1bHRKUzoK
KyAgICAgICAgICAgIHB0ci5zdHJjYXQoIlJlc3VsdEpTIik7CisgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgY2FzZSBOb2RlUmVzdWx0TnVtYmVyOgorICAgICAgICAgICAgcHRyLnN0cmNhdCgi
UmVzdWx0TnVtYmVyIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBOb2RlUmVz
dWx0SW50MzI6CisgICAgICAgICAgICBwdHIuc3RyY2F0KCJSZXN1bHRJbnQzMiIpOworICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgTm9kZVJlc3VsdEJvb2xlYW46CisgICAgICAgICAg
ICBwdHIuc3RyY2F0KCJSZXN1bHRCb29sZWFuIik7CisgICAgICAgICAgICBicmVhazsKKyAgICAg
ICAgY2FzZSBOb2RlUmVzdWx0U3RvcmFnZToKKyAgICAgICAgICAgIHB0ci5zdHJjYXQoIlJlc3Vs
dFN0b3JhZ2UiKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBkZWZhdWx0OgorICAgICAg
ICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAg
fQorICAgICAgICBoYXNQcmludGVkID0gdHJ1ZTsKKyAgICB9CisgICAgCisgICAgaWYgKGZsYWdz
ICYgTm9kZU11c3RHZW5lcmF0ZSkgeworICAgICAgICBpZiAoaGFzUHJpbnRlZCkKKyAgICAgICAg
ICAgIHB0ci5zdHJjYXQoInwiKTsKKyAgICAgICAgcHRyLnN0cmNhdCgiTXVzdEdlbmVyYXRlIik7
CisgICAgICAgIGhhc1ByaW50ZWQgPSB0cnVlOworICAgIH0KKyAgICAKKyAgICBpZiAoZmxhZ3Mg
JiBOb2RlSGFzVmFyQXJncykgeworICAgICAgICBpZiAoaGFzUHJpbnRlZCkKKyAgICAgICAgICAg
IHB0ci5zdHJjYXQoInwiKTsKKyAgICAgICAgcHRyLnN0cmNhdCgiSGFzVmFyQXJncyIpOworICAg
ICAgICBoYXNQcmludGVkID0gdHJ1ZTsKKyAgICB9CisgICAgCisgICAgaWYgKGZsYWdzICYgTm9k
ZUNsb2JiZXJzV29ybGQpIHsKKyAgICAgICAgaWYgKGhhc1ByaW50ZWQpCisgICAgICAgICAgICBw
dHIuc3RyY2F0KCJ8Iik7CisgICAgICAgIHB0ci5zdHJjYXQoIkNsb2JiZXJzV29ybGQiKTsKKyAg
ICAgICAgaGFzUHJpbnRlZCA9IHRydWU7CisgICAgfQorICAgIAorICAgIGlmIChmbGFncyAmIE5v
ZGVNaWdodENsb2JiZXIpIHsKKyAgICAgICAgaWYgKGhhc1ByaW50ZWQpCisgICAgICAgICAgICBw
dHIuc3RyY2F0KCJ8Iik7CisgICAgICAgIHB0ci5zdHJjYXQoIk1pZ2h0Q2xvYmJlciIpOworICAg
ICAgICBoYXNQcmludGVkID0gdHJ1ZTsKKyAgICB9CisgICAgCisgICAgaWYgKGZsYWdzICYgTm9k
ZVVzZWRBc051bWJlcikgeworICAgICAgICBpZiAoaGFzUHJpbnRlZCkKKyAgICAgICAgICAgIHB0
ci5zdHJjYXQoInwiKTsKICAgICAgICAgcHRyLnN0cmNhdCgiVXNlZEFzTnVtIik7CiAgICAgICAg
IGhhc1ByaW50ZWQgPSB0cnVlOwogICAgIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHTm9kZUZsYWdzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdOb2RlRmxhZ3MuaAkocmV2aXNpb24gMTExNzQ4KQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdOb2RlRmxhZ3MuaAkod29ya2luZyBjb3B5KQpAQCAtMzYsMzAgKzM2LDI5IEBA
IG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgREZHIHsKIAogLy8gRW50cmllcyBpbiB0aGUgTm9k
ZVR5cGUgZW51bSAoYmVsb3cpIGFyZSBjb21wb3NlZCBvZiBhbiBpZCwgYSByZXN1bHQgdHlwZSAo
cG9zc2libHkgbm9uZSkKIC8vIGFuZCBzb21lIGFkZGl0aW9uYWwgaW5mb3JtYXRpdmUgZmxhZ3Mg
KG11c3QgZ2VuZXJhdGUsIGlzIGNvbnN0YW50LCBldGMpLgotI2RlZmluZSBOb2RlUmVzdWx0TWFz
ayAgICAgICAweEYKLSNkZWZpbmUgTm9kZVJlc3VsdEpTICAgICAgICAgMHgxCi0jZGVmaW5lIE5v
ZGVSZXN1bHROdW1iZXIgICAgIDB4MgotI2RlZmluZSBOb2RlUmVzdWx0SW50MzIgICAgICAweDMK
LSNkZWZpbmUgTm9kZVJlc3VsdEJvb2xlYW4gICAgMHg0Ci0jZGVmaW5lIE5vZGVSZXN1bHRTdG9y
YWdlICAgIDB4NQotI2RlZmluZSBOb2RlTXVzdEdlbmVyYXRlICAgIDB4MTAgLy8gc2V0IG9uIG5v
ZGVzIHRoYXQgaGF2ZSBzaWRlIGVmZmVjdHMsIGFuZCBtYXkgbm90IHRyaXZpYWxseSBiZSByZW1v
dmVkIGJ5IERDRS4KLSNkZWZpbmUgTm9kZUhhc1ZhckFyZ3MgICAgICAweDIwCi0jZGVmaW5lIE5v
ZGVDbG9iYmVyc1dvcmxkICAgMHg0MAotI2RlZmluZSBOb2RlTWlnaHRDbG9iYmVyICAgIDB4ODAK
LSNkZWZpbmUgTm9kZUFyaXRoTWFzayAgICAgIDB4RjAwCi0jZGVmaW5lIEVkZ2VCb3R0b20gICAg
ICAweDAwMAotI2RlZmluZSBFZGdlZEFzTnVtYmVyICAgMHgxMDAKLSNkZWZpbmUgTm9kZU5lZWRz
TmVnWmVybyAgIDB4MjAwCi0jZGVmaW5lIEVkZ2VkQXNNYXNrICAgICAweDMwMAotI2RlZmluZSBO
b2RlTWF5T3ZlcmZsb3cgICAgMHg0MDAKLSNkZWZpbmUgTm9kZU1heU5lZ1plcm8gICAgIDB4ODAw
Ci0jZGVmaW5lIE5vZGVCZWhhdmlvck1hc2sgICAweGMwMAorI2RlZmluZSBOb2RlUmVzdWx0TWFz
ayAgICAgICAgICAgICAweEYKKyNkZWZpbmUgTm9kZVJlc3VsdEpTICAgICAgICAgICAgICAgMHgx
CisjZGVmaW5lIE5vZGVSZXN1bHROdW1iZXIgICAgICAgICAgIDB4MgorI2RlZmluZSBOb2RlUmVz
dWx0SW50MzIgICAgICAgICAgICAweDMKKyNkZWZpbmUgTm9kZVJlc3VsdEJvb2xlYW4gICAgICAg
ICAgMHg0CisjZGVmaW5lIE5vZGVSZXN1bHRTdG9yYWdlICAgICAgICAgIDB4NQorI2RlZmluZSBO
b2RlTXVzdEdlbmVyYXRlICAgICAgICAgIDB4MTAgLy8gc2V0IG9uIG5vZGVzIHRoYXQgaGF2ZSBz
aWRlIGVmZmVjdHMsIGFuZCBtYXkgbm90IHRyaXZpYWxseSBiZSByZW1vdmVkIGJ5IERDRS4KKyNk
ZWZpbmUgTm9kZUhhc1ZhckFyZ3MgICAgICAgICAgICAweDIwCisjZGVmaW5lIE5vZGVDbG9iYmVy
c1dvcmxkICAgICAgICAgMHg0MAorI2RlZmluZSBOb2RlTWlnaHRDbG9iYmVyICAgICAgICAgIDB4
ODAKKyNkZWZpbmUgTm9kZUJhY2tQcm9wTWFzayAgICAgICAgIDB4MzAwCisjZGVmaW5lIE5vZGVV
c2VCb3R0b20gICAgICAgICAgICAweDAwMAorI2RlZmluZSBOb2RlVXNlZEFzTnVtYmVyICAgICAg
ICAgMHgxMDAKKyNkZWZpbmUgTm9kZU5lZWRzTmVnWmVybyAgICAgICAgIDB4MjAwCisjZGVmaW5l
IE5vZGVCZWhhdmlvck1hc2sgICAgICAgICAweEMwMAorI2RlZmluZSBOb2RlTWF5T3ZlcmZsb3cg
ICAgICAgICAgMHg0MDAKKyNkZWZpbmUgTm9kZU1heU5lZ1plcm8gICAgICAgICAgIDB4ODAwCiAK
IHR5cGVkZWYgdWludDE2X3QgTm9kZUZsYWdzOwogCiBzdGF0aWMgaW5saW5lIGJvb2wgbm9kZVVz
ZWRBc051bWJlcihOb2RlRmxhZ3MgZmxhZ3MpCiB7Ci0gICAgcmV0dXJuICEhKGZsYWdzICYgRWRn
ZWRBc051bWJlcik7CisgICAgcmV0dXJuICEhKGZsYWdzICYgTm9kZVVzZWRBc051bWJlcik7CiB9
CiAKIHN0YXRpYyBpbmxpbmUgYm9vbCBub2RlQ2FuVHJ1bmNhdGVJbnRlZ2VyKE5vZGVGbGFncyBm
bGFncykKQEAgLTg4LDcgKzg3LDcgQEAgc3RhdGljIGlubGluZSBib29sIG5vZGVDYW5TcGVjdWxh
dGVJbnRlZwogICAgIHJldHVybiB0cnVlOwogfQogCi1jb25zdCBjaGFyKiBhcml0aE5vZGVGbGFn
c0FzU3RyaW5nKE5vZGVGbGFncyk7Citjb25zdCBjaGFyKiBub2RlRmxhZ3NBc1N0cmluZyhOb2Rl
RmxhZ3MpOwogCiB9IH0gLy8gbmFtZXNwYWNlIEpTQzo6REZHCiAKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHUHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2UuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUHJlZGljdGlvblByb3BhZ2F0aW9u
UGhhc2UuY3BwCShyZXZpc2lvbiAxMTE3NDgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTI0
LDEwICsxMjQsMTAgQEAgcHJpdmF0ZToKICAgICAgICAgTm9kZUZsYWdzIGZsYWdzID0gbm9kZS5m
bGFncygpOwogCiAjaWYgREZHX0VOQUJMRShERUJVR19QUk9QQUdBVElPTl9WRVJCT1NFKQotICAg
ICAgICBkYXRhTG9nKCIgICAlcyBAJXU6ICVzICIsIEdyYXBoOjpvcE5hbWUob3ApLCBtX2NvbXBp
bGVJbmRleCwgYXJpdGhOb2RlRmxhZ3NBc1N0cmluZyhmbGFncykpOworICAgICAgICBkYXRhTG9n
KCIgICAlcyBAJXU6ICVzICIsIEdyYXBoOjpvcE5hbWUob3ApLCBtX2NvbXBpbGVJbmRleCwgbm9k
ZUZsYWdzQXNTdHJpbmcoZmxhZ3MpKTsKICNlbmRpZgogICAgICAgICAKLSAgICAgICAgZmxhZ3Mg
Jj0gRWRnZWRBc01hc2s7CisgICAgICAgIGZsYWdzICY9IE5vZGVCYWNrUHJvcE1hc2s7CiAgICAg
ICAgIAogICAgICAgICBib29sIGNoYW5nZWQgPSBmYWxzZTsKICAgICAgICAgCkBAIC0xNTEsMTQg
KzE1MSwxNCBAQCBwcml2YXRlOgogICAgICAgICBjYXNlIFNldExvY2FsOiB7CiAgICAgICAgICAg
ICBWYXJpYWJsZUFjY2Vzc0RhdGEqIHZhcmlhYmxlQWNjZXNzRGF0YSA9IG5vZGUudmFyaWFibGVB
Y2Nlc3NEYXRhKCk7CiAgICAgICAgICAgICBjaGFuZ2VkIHw9IHZhcmlhYmxlQWNjZXNzRGF0YS0+
cHJlZGljdChtX2dyYXBoW25vZGUuY2hpbGQxKCldLnByZWRpY3Rpb24oKSk7Ci0gICAgICAgICAg
ICBjaGFuZ2VkIHw9IG1fZ3JhcGhbbm9kZS5jaGlsZDEoKV0ubWVyZ2VBcml0aE5vZGVGbGFncyh2
YXJpYWJsZUFjY2Vzc0RhdGEtPmZsYWdzKCkpOworICAgICAgICAgICAgY2hhbmdlZCB8PSBtX2dy
YXBoW25vZGUuY2hpbGQxKCldLm1lcmdlRmxhZ3ModmFyaWFibGVBY2Nlc3NEYXRhLT5mbGFncygp
KTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgICAgICAgICAKICAgICAgICAg
Y2FzZSBGbHVzaDogewogICAgICAgICAgICAgLy8gTWFrZSBzdXJlIHRoYXQgdGhlIGFuYWx5c2lz
IGtub3dzIHRoYXQgZmx1c2hlZCBsb2NhbHMgZXNjYXBlLgogICAgICAgICAgICAgVmFyaWFibGVB
Y2Nlc3NEYXRhKiB2YXJpYWJsZUFjY2Vzc0RhdGEgPSBub2RlLnZhcmlhYmxlQWNjZXNzRGF0YSgp
OwotICAgICAgICAgICAgdmFyaWFibGVBY2Nlc3NEYXRhLT5tZXJnZUZsYWdzKEVkZ2VkQXNOdW1i
ZXIgfCBOb2RlTmVlZHNOZWdaZXJvKTsKKyAgICAgICAgICAgIHZhcmlhYmxlQWNjZXNzRGF0YS0+
bWVyZ2VGbGFncyhOb2RlVXNlZEFzTnVtYmVyIHwgTm9kZU5lZWRzTmVnWmVybyk7CiAgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgfQogICAgICAgICAgICAgCkBAIC0yMjEsNyArMjIxLDcgQEAg
cHJpdmF0ZToKICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICBjaGFuZ2VkIHw9IG1l
cmdlUHJlZGljdGlvbihQcmVkaWN0TnVtYmVyKTsKICAgICAgICAgICAgIAotICAgICAgICAgICAg
Y2hhbmdlZCB8PSBtX2dyYXBoW25vZGUuY2hpbGQxKCldLm1lcmdlQXJpdGhOb2RlRmxhZ3MoZmxh
Z3MpOworICAgICAgICAgICAgY2hhbmdlZCB8PSBtX2dyYXBoW25vZGUuY2hpbGQxKCldLm1lcmdl
RmxhZ3MoZmxhZ3MpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KIApAQCAtMjQ1LDgg
KzI0NSw4IEBAIHByaXZhdGU6CiAgICAgICAgICAgICBpZiAoaXNOb3ROZWdaZXJvKG5vZGUuY2hp
bGQxKCkuaW5kZXgoKSkgfHwgaXNOb3ROZWdaZXJvKG5vZGUuY2hpbGQyKCkuaW5kZXgoKSkpCiAg
ICAgICAgICAgICAgICAgZmxhZ3MgJj0gfk5vZGVOZWVkc05lZ1plcm87CiAgICAgICAgICAgICAK
LSAgICAgICAgICAgIGNoYW5nZWQgfD0gbV9ncmFwaFtub2RlLmNoaWxkMSgpXS5tZXJnZUFyaXRo
Tm9kZUZsYWdzKGZsYWdzKTsKLSAgICAgICAgICAgIGNoYW5nZWQgfD0gbV9ncmFwaFtub2RlLmNo
aWxkMigpXS5tZXJnZUFyaXRoTm9kZUZsYWdzKGZsYWdzKTsKKyAgICAgICAgICAgIGNoYW5nZWQg
fD0gbV9ncmFwaFtub2RlLmNoaWxkMSgpXS5tZXJnZUZsYWdzKGZsYWdzKTsKKyAgICAgICAgICAg
IGNoYW5nZWQgfD0gbV9ncmFwaFtub2RlLmNoaWxkMigpXS5tZXJnZUZsYWdzKGZsYWdzKTsKICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgICAgICAgICAKQEAgLTI2NCw4ICsyNjQs
OCBAQCBwcml2YXRlOgogICAgICAgICAgICAgaWYgKGlzTm90TmVnWmVybyhub2RlLmNoaWxkMSgp
LmluZGV4KCkpIHx8IGlzTm90TmVnWmVybyhub2RlLmNoaWxkMigpLmluZGV4KCkpKQogICAgICAg
ICAgICAgICAgIGZsYWdzICY9IH5Ob2RlTmVlZHNOZWdaZXJvOwogICAgICAgICAgICAgCi0gICAg
ICAgICAgICBjaGFuZ2VkIHw9IG1fZ3JhcGhbbm9kZS5jaGlsZDEoKV0ubWVyZ2VBcml0aE5vZGVG
bGFncyhmbGFncyk7Ci0gICAgICAgICAgICBjaGFuZ2VkIHw9IG1fZ3JhcGhbbm9kZS5jaGlsZDIo
KV0ubWVyZ2VBcml0aE5vZGVGbGFncyhmbGFncyk7CisgICAgICAgICAgICBjaGFuZ2VkIHw9IG1f
Z3JhcGhbbm9kZS5jaGlsZDEoKV0ubWVyZ2VGbGFncyhmbGFncyk7CisgICAgICAgICAgICBjaGFu
Z2VkIHw9IG1fZ3JhcGhbbm9kZS5jaGlsZDIoKV0ubWVyZ2VGbGFncyhmbGFncyk7CiAgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgfQogICAgICAgICAgICAgCkBAIC0yODMsOCArMjgzLDggQEAg
cHJpdmF0ZToKICAgICAgICAgICAgIGlmIChpc05vdFplcm8obm9kZS5jaGlsZDEoKS5pbmRleCgp
KSB8fCBpc05vdFplcm8obm9kZS5jaGlsZDIoKS5pbmRleCgpKSkKICAgICAgICAgICAgICAgICBm
bGFncyAmPSB+Tm9kZU5lZWRzTmVnWmVybzsKICAgICAgICAgICAgIAotICAgICAgICAgICAgY2hh
bmdlZCB8PSBtX2dyYXBoW25vZGUuY2hpbGQxKCldLm1lcmdlQXJpdGhOb2RlRmxhZ3MoZmxhZ3Mp
OwotICAgICAgICAgICAgY2hhbmdlZCB8PSBtX2dyYXBoW25vZGUuY2hpbGQyKCldLm1lcmdlQXJp
dGhOb2RlRmxhZ3MoZmxhZ3MpOworICAgICAgICAgICAgY2hhbmdlZCB8PSBtX2dyYXBoW25vZGUu
Y2hpbGQxKCldLm1lcmdlRmxhZ3MoZmxhZ3MpOworICAgICAgICAgICAgY2hhbmdlZCB8PSBtX2dy
YXBoW25vZGUuY2hpbGQyKCldLm1lcmdlRmxhZ3MoZmxhZ3MpOwogICAgICAgICAgICAgYnJlYWs7
CiAgICAgICAgIH0KICAgICAgICAgICAgIApAQCAtMjk2LDcgKzI5Niw3IEBAIHByaXZhdGU6CiAg
ICAgICAgICAgICAgICAgICAgIGNoYW5nZWQgfD0gbWVyZ2VQcmVkaWN0aW9uKFByZWRpY3REb3Vi
bGUpOwogICAgICAgICAgICAgfQogCi0gICAgICAgICAgICBjaGFuZ2VkIHw9IG1fZ3JhcGhbbm9k
ZS5jaGlsZDEoKV0ubWVyZ2VBcml0aE5vZGVGbGFncyhmbGFncyk7CisgICAgICAgICAgICBjaGFu
Z2VkIHw9IG1fZ3JhcGhbbm9kZS5jaGlsZDEoKV0ubWVyZ2VGbGFncyhmbGFncyk7CiAgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgICAgIAogICAgICAgICBjYXNlIEFyaXRoTWluOgpAQCAtMzEx
LDkgKzMxMSw5IEBAIHByaXZhdGU6CiAgICAgICAgICAgICAgICAgICAgIGNoYW5nZWQgfD0gbWVy
Z2VQcmVkaWN0aW9uKFByZWRpY3REb3VibGUpOwogICAgICAgICAgICAgfQogCi0gICAgICAgICAg
ICBmbGFncyB8PSBFZGdlZEFzTnVtYmVyOwotICAgICAgICAgICAgY2hhbmdlZCB8PSBtX2dyYXBo
W25vZGUuY2hpbGQxKCldLm1lcmdlQXJpdGhOb2RlRmxhZ3MoZmxhZ3MpOwotICAgICAgICAgICAg
Y2hhbmdlZCB8PSBtX2dyYXBoW25vZGUuY2hpbGQyKCldLm1lcmdlQXJpdGhOb2RlRmxhZ3MoZmxh
Z3MpOworICAgICAgICAgICAgZmxhZ3MgfD0gTm9kZVVzZWRBc051bWJlcjsKKyAgICAgICAgICAg
IGNoYW5nZWQgfD0gbV9ncmFwaFtub2RlLmNoaWxkMSgpXS5tZXJnZUZsYWdzKGZsYWdzKTsKKyAg
ICAgICAgICAgIGNoYW5nZWQgfD0gbV9ncmFwaFtub2RlLmNoaWxkMigpXS5tZXJnZUZsYWdzKGZs
YWdzKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgICAgICAgICAKQEAgLTMz
NCw5ICszMzQsOSBAQCBwcml2YXRlOgogICAgICAgICAgICAgLy8gY2FuIGNoYW5nZSB0aGUgb3V0
Y29tZS4gU28sIEFyaXRoTXVsIGFsd2F5cyBjaGVja3MgZm9yIG92ZXJmbG93CiAgICAgICAgICAg
ICAvLyBubyBtYXR0ZXIgd2hhdCwgYW5kIGFsd2F5cyBmb3JjZXMgaXRzIGlucHV0cyB0byBjaGVj
ayBhcyB3ZWxsLgogICAgICAgICAgICAgCi0gICAgICAgICAgICBmbGFncyB8PSBFZGdlZEFzTnVt
YmVyIHwgTm9kZU5lZWRzTmVnWmVybzsKLSAgICAgICAgICAgIGNoYW5nZWQgfD0gbV9ncmFwaFtu
b2RlLmNoaWxkMSgpXS5tZXJnZUFyaXRoTm9kZUZsYWdzKGZsYWdzKTsKLSAgICAgICAgICAgIGNo
YW5nZWQgfD0gbV9ncmFwaFtub2RlLmNoaWxkMigpXS5tZXJnZUFyaXRoTm9kZUZsYWdzKGZsYWdz
KTsKKyAgICAgICAgICAgIGZsYWdzIHw9IE5vZGVVc2VkQXNOdW1iZXIgfCBOb2RlTmVlZHNOZWda
ZXJvOworICAgICAgICAgICAgY2hhbmdlZCB8PSBtX2dyYXBoW25vZGUuY2hpbGQxKCldLm1lcmdl
RmxhZ3MoZmxhZ3MpOworICAgICAgICAgICAgY2hhbmdlZCB8PSBtX2dyYXBoW25vZGUuY2hpbGQy
KCldLm1lcmdlRmxhZ3MoZmxhZ3MpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAg
ICAgICAgICAgIApAQCAtMzU2LDcgKzM1Niw3IEBAIHByaXZhdGU6CiAgICAgICAgICAgICB9CiAK
ICAgICAgICAgICAgIGZsYWdzICY9IH5Ob2RlTmVlZHNOZWdaZXJvOwotICAgICAgICAgICAgY2hh
bmdlZCB8PSBtX2dyYXBoW25vZGUuY2hpbGQxKCldLm1lcmdlQXJpdGhOb2RlRmxhZ3MoZmxhZ3Mp
OworICAgICAgICAgICAgY2hhbmdlZCB8PSBtX2dyYXBoW25vZGUuY2hpbGQxKCldLm1lcmdlRmxh
Z3MoZmxhZ3MpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgICAgIApA
QCAtNDEwLDggKzQxMCw4IEBAIHByaXZhdGU6CiAgICAgICAgICAgICBlbHNlIGlmIChub2RlLmdl
dEhlYXBQcmVkaWN0aW9uKCkpCiAgICAgICAgICAgICAgICAgY2hhbmdlZCB8PSBtZXJnZVByZWRp
Y3Rpb24obm9kZS5nZXRIZWFwUHJlZGljdGlvbigpKTsKIAotICAgICAgICAgICAgY2hhbmdlZCB8
PSBtX2dyYXBoW25vZGUuY2hpbGQxKCldLm1lcmdlQXJpdGhOb2RlRmxhZ3MoZmxhZ3MgfCBFZGdl
ZEFzTnVtYmVyIHwgTm9kZU5lZWRzTmVnWmVybyk7Ci0gICAgICAgICAgICBjaGFuZ2VkIHw9IG1f
Z3JhcGhbbm9kZS5jaGlsZDIoKV0ubWVyZ2VBcml0aE5vZGVGbGFncyhmbGFncyB8IEVkZ2VkQXNO
dW1iZXIpOworICAgICAgICAgICAgY2hhbmdlZCB8PSBtX2dyYXBoW25vZGUuY2hpbGQxKCldLm1l
cmdlRmxhZ3MoZmxhZ3MgfCBOb2RlVXNlZEFzTnVtYmVyIHwgTm9kZU5lZWRzTmVnWmVybyk7Cisg
ICAgICAgICAgICBjaGFuZ2VkIHw9IG1fZ3JhcGhbbm9kZS5jaGlsZDIoKV0ubWVyZ2VGbGFncyhm
bGFncyB8IE5vZGVVc2VkQXNOdW1iZXIpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0K
ICAgICAgICAgICAgIApAQCAtNTI3LDcgKzUyNyw3IEBAIHByaXZhdGU6CiAgICAgICAgICAgICAg
ICAgfSBlbHNlCiAgICAgICAgICAgICAgICAgICAgIGNoYW5nZWQgfD0gbWVyZ2VQcmVkaWN0aW9u
KGNoaWxkKTsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGNoYW5nZWQgfD0gbV9ncmFwaFtu
b2RlLmNoaWxkMSgpXS5tZXJnZUFyaXRoTm9kZUZsYWdzKGZsYWdzKTsKKyAgICAgICAgICAgIGNo
YW5nZWQgfD0gbV9ncmFwaFtub2RlLmNoaWxkMSgpXS5tZXJnZUZsYWdzKGZsYWdzKTsKICAgICAg
ICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgICAgICAgICAKQEAgLTU2Miw5ICs1NjIsOSBA
QCBwcml2YXRlOgogICAgICAgICB9CiAgICAgICAgIAogICAgICAgICBjYXNlIFB1dEJ5VmFsOgot
ICAgICAgICAgICAgY2hhbmdlZCB8PSBtX2dyYXBoW25vZGUuY2hpbGQxKCldLm1lcmdlQXJpdGhO
b2RlRmxhZ3MoZmxhZ3MgfCBFZGdlZEFzTnVtYmVyIHwgTm9kZU5lZWRzTmVnWmVybyk7Ci0gICAg
ICAgICAgICBjaGFuZ2VkIHw9IG1fZ3JhcGhbbm9kZS5jaGlsZDIoKV0ubWVyZ2VBcml0aE5vZGVG
bGFncyhmbGFncyB8IEVkZ2VkQXNOdW1iZXIpOwotICAgICAgICAgICAgY2hhbmdlZCB8PSBtX2dy
YXBoW25vZGUuY2hpbGQzKCldLm1lcmdlQXJpdGhOb2RlRmxhZ3MoZmxhZ3MgfCBFZGdlZEFzTnVt
YmVyIHwgTm9kZU5lZWRzTmVnWmVybyk7CisgICAgICAgICAgICBjaGFuZ2VkIHw9IG1fZ3JhcGhb
bm9kZS5jaGlsZDEoKV0ubWVyZ2VGbGFncyhmbGFncyB8IE5vZGVVc2VkQXNOdW1iZXIgfCBOb2Rl
TmVlZHNOZWdaZXJvKTsKKyAgICAgICAgICAgIGNoYW5nZWQgfD0gbV9ncmFwaFtub2RlLmNoaWxk
MigpXS5tZXJnZUZsYWdzKGZsYWdzIHwgTm9kZVVzZWRBc051bWJlcik7CisgICAgICAgICAgICBj
aGFuZ2VkIHw9IG1fZ3JhcGhbbm9kZS5jaGlsZDMoKV0ubWVyZ2VGbGFncyhmbGFncyB8IE5vZGVV
c2VkQXNOdW1iZXIgfCBOb2RlTmVlZHNOZWdaZXJvKTsKICAgICAgICAgICAgIGJyZWFrOwogCiAj
aWZuZGVmIE5ERUJVRwpAQCAtNjE3LDIwICs2MTcsMjAgQEAgcHJpdmF0ZToKICAgICBib29sIG1l
cmdlRGVmYXVsdEFyaXRoRmxhZ3MoTm9kZSYgbm9kZSwgTm9kZUZsYWdzIGZsYWdzKQogICAgIHsK
ICAgICAgICAgYm9vbCBjaGFuZ2VkID0gZmFsc2U7Ci0gICAgICAgIGZsYWdzIHw9IEVkZ2VkQXNO
dW1iZXIgfCBOb2RlTmVlZHNOZWdaZXJvOworICAgICAgICBmbGFncyB8PSBOb2RlVXNlZEFzTnVt
YmVyIHwgTm9kZU5lZWRzTmVnWmVybzsKICAgICAgICAgaWYgKG5vZGUuZmxhZ3MoKSAmIE5vZGVI
YXNWYXJBcmdzKSB7CiAgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGNoaWxkSWR4ID0gbm9kZS5m
aXJzdENoaWxkKCk7IGNoaWxkSWR4IDwgbm9kZS5maXJzdENoaWxkKCkgKyBub2RlLm51bUNoaWxk
cmVuKCk7IGNoaWxkSWR4KyspCi0gICAgICAgICAgICAgICAgY2hhbmdlZCB8PSBtX2dyYXBoW21f
Z3JhcGgubV92YXJBcmdDaGlsZHJlbltjaGlsZElkeF1dLm1lcmdlQXJpdGhOb2RlRmxhZ3MoZmxh
Z3MpOworICAgICAgICAgICAgICAgIGNoYW5nZWQgfD0gbV9ncmFwaFttX2dyYXBoLm1fdmFyQXJn
Q2hpbGRyZW5bY2hpbGRJZHhdXS5tZXJnZUZsYWdzKGZsYWdzKTsKICAgICAgICAgfSBlbHNlIHsK
ICAgICAgICAgICAgIGlmICghbm9kZS5jaGlsZDEoKSkKICAgICAgICAgICAgICAgICByZXR1cm4g
Y2hhbmdlZDsKLSAgICAgICAgICAgIGNoYW5nZWQgfD0gbV9ncmFwaFtub2RlLmNoaWxkMSgpXS5t
ZXJnZUFyaXRoTm9kZUZsYWdzKGZsYWdzKTsKKyAgICAgICAgICAgIGNoYW5nZWQgfD0gbV9ncmFw
aFtub2RlLmNoaWxkMSgpXS5tZXJnZUZsYWdzKGZsYWdzKTsKICAgICAgICAgICAgIGlmICghbm9k
ZS5jaGlsZDIoKSkKICAgICAgICAgICAgICAgICByZXR1cm4gY2hhbmdlZDsKLSAgICAgICAgICAg
IGNoYW5nZWQgfD0gbV9ncmFwaFtub2RlLmNoaWxkMigpXS5tZXJnZUFyaXRoTm9kZUZsYWdzKGZs
YWdzKTsKKyAgICAgICAgICAgIGNoYW5nZWQgfD0gbV9ncmFwaFtub2RlLmNoaWxkMigpXS5tZXJn
ZUZsYWdzKGZsYWdzKTsKICAgICAgICAgICAgIGlmICghbm9kZS5jaGlsZDMoKSkKICAgICAgICAg
ICAgICAgICByZXR1cm4gY2hhbmdlZDsKLSAgICAgICAgICAgIGNoYW5nZWQgfD0gbV9ncmFwaFtu
b2RlLmNoaWxkMygpXS5tZXJnZUFyaXRoTm9kZUZsYWdzKGZsYWdzKTsKKyAgICAgICAgICAgIGNo
YW5nZWQgfD0gbV9ncmFwaFtub2RlLmNoaWxkMygpXS5tZXJnZUZsYWdzKGZsYWdzKTsKICAgICAg
ICAgfQogICAgICAgICByZXR1cm4gY2hhbmdlZDsKICAgICB9Cg==
</data>
<flag name="review"
          id="137334"
          type_id="1"
          status="+"
          setter="barraclough"
    />
          </attachment>
      

    </bug>

</bugzilla>