<?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>62325</bug_id>
          
          <creation_ts>2011-06-08 14:17:27 -0700</creation_ts>
          <short_desc>Took some responsibilities away from NewSpace</short_desc>
          <delta_ts>2011-06-08 14:39:32 -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>oliver</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>417518</commentid>
    <comment_count>0</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-06-08 14:17:27 -0700</bug_when>
    <thetext>Took some responsibilities away from NewSpace</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>417526</commentid>
    <comment_count>1</comment_count>
      <attachid>96480</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-06-08 14:21:32 -0700</bug_when>
    <thetext>Created attachment 96480
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>417547</commentid>
    <comment_count>2</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-06-08 14:39:32 -0700</bug_when>
    <thetext>Committed r88389: &lt;http://trac.webkit.org/changeset/88389&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>96480</attachid>
            <date>2011-06-08 14:21:32 -0700</date>
            <delta_ts>2011-06-08 14:36:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-62325-20110608142131.patch</filename>
            <type>text/plain</type>
            <size>16918</size>
            <attacher name="Geoffrey Garen">ggaren</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gODgzODYpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNTAgQEAK
KzIwMTEtMDYtMDggIEdlb2ZmcmV5IEdhcmVuICA8Z2dhcmVuQGFwcGxlLmNvbT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUb29rIHNvbWUgcmVzcG9u
c2liaWxpdGllcyBhd2F5IGZyb20gTmV3U3BhY2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTYyMzI1CisgICAgICAgIAorICAgICAgICBOZXdTcGFjZSBp
cyBiYXNpY2FsbHkganVzdCBhbiBhbGxvY2F0b3Igbm93LgorICAgICAgICAKKyAgICAgICAgSGVh
cCBhY3RzIGFzIGEgY29udHJvbGxlciwgcmVzcG9uc2libGUgZm9yIG1hbmFnaW5nIHRoZSBzZXQg
b2YgYWxsCisgICAgICAgIE1hcmtlZEJsb2Nrcy4KKyAgICAgICAgCisgICAgICAgIFRoaXMgaXMg
aW4gcHJlcGFyYXRpb24gZm9yIG1vdmluZyBwYXJ0cyBvZiB0aGUgY29udHJvbGxlciBsb2dpYyBp
bnRvCisgICAgICAgIHNlcGFyYXRlIGhlbHBlciBjbGFzc2VzIHRoYXQgY2FuIGFjdCBvbiBhcmJp
dHJhcnkgc2V0cyBvZiBNYXJrZWRCbG9ja3MKKyAgICAgICAgdGhhdCBtYXkgb3IgbWF5IG5vdCBi
ZSBpbiBOZXdTcGFjZS4KKworICAgICAgICAqIGhlYXAvSGVhcC5jcHA6CisgICAgICAgIChKU0M6
OkhlYXA6OkhlYXApOgorICAgICAgICAoSlNDOjpIZWFwOjpkZXN0cm95KToKKyAgICAgICAgKEpT
Qzo6SGVhcDo6YWxsb2NhdGUpOgorICAgICAgICAoSlNDOjpIZWFwOjptYXJrUm9vdHMpOgorICAg
ICAgICAoSlNDOjpIZWFwOjpjbGVhck1hcmtzKToKKyAgICAgICAgKEpTQzo6SGVhcDo6c3dlZXAp
OgorICAgICAgICAoSlNDOjpIZWFwOjpvYmplY3RDb3VudCk6CisgICAgICAgIChKU0M6OkhlYXA6
OnNpemUpOgorICAgICAgICAoSlNDOjpIZWFwOjpjYXBhY2l0eSk6CisgICAgICAgIChKU0M6Okhl
YXA6OmNvbGxlY3QpOgorICAgICAgICAoSlNDOjpIZWFwOjpyZXNldEFsbG9jYXRvcik6CisgICAg
ICAgIChKU0M6OkhlYXA6OmFsbG9jYXRlQmxvY2spOgorICAgICAgICAoSlNDOjpIZWFwOjpmcmVl
QmxvY2tzKToKKyAgICAgICAgKEpTQzo6SGVhcDo6c2hyaW5rKTogTW92ZWQgdGhlIHNldCBvZiBN
YXJrZWRCbG9ja3MgZnJvbSBOZXdTcGFjZSB0byBIZWFwLAorICAgICAgICBhbG9uZyB3aXRoIGFs
bCBmdW5jdGlvbnMgdGhhdCBvcGVyYXRlIG9uIHRoZSBzZXQgb2YgTWFya2VkQmxvY2tzLiBBbHNv
CisgICAgICAgIG1vdmVkIHJlc3BvbnNpYmlsaXR5IGZvciBkZWNpZGluZyB3aGV0aGVyIHRvIGFs
bG9jYXRlIGEgbmV3IE1hcmtlZEJsb2NrLAorICAgICAgICBhbmQgZm9yIGFsbG9jYXRpbmcgaXQu
CisKKyAgICAgICAgKiBoZWFwL0hlYXAuaDoKKyAgICAgICAgKEpTQzo6SGVhcDo6Y29udGFpbnMp
OgorICAgICAgICAoSlNDOjpIZWFwOjpmb3JFYWNoKTogRGl0dG8uCisKKyAgICAgICAgKiBoZWFw
L05ld1NwYWNlLmNwcDoKKyAgICAgICAgKEpTQzo6TmV3U3BhY2U6OmFkZEJsb2NrKToKKyAgICAg
ICAgKEpTQzo6TmV3U3BhY2U6OnJlbW92ZUJsb2NrKToKKyAgICAgICAgKEpTQzo6TmV3U3BhY2U6
OnJlc2V0QWxsb2NhdG9yKToKKyAgICAgICAgKiBoZWFwL05ld1NwYWNlLmg6CisgICAgICAgIChK
U0M6Ok5ld1NwYWNlOjp3YXRlck1hcmspOgorICAgICAgICAoSlNDOjpOZXdTcGFjZTo6YWxsb2Nh
dGUpOiBEaXR0by4KKwogMjAxMS0wNi0wOCAgR2VvZmZyZXkgR2FyZW4gIDxnZ2FyZW5AYXBwbGUu
Y29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE9saXZlciBIdW50LgpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL2hlYXAvSGVhcC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2hlYXAvSGVhcC5jcHAJKHJldmlzaW9uIDg4Mzc5KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL2hlYXAvSGVhcC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY2LDEzICs2NiwxMyBAQCBz
dGF0aWMgaW5saW5lIGJvb2wgaXNWYWxpZFRocmVhZFN0YXRlKEpTCiBIZWFwOjpIZWFwKEpTR2xv
YmFsRGF0YSogZ2xvYmFsRGF0YSkKICAgICA6IG1fb3BlcmF0aW9uSW5Qcm9ncmVzcyhOb09wZXJh
dGlvbikKICAgICAsIG1fbmV3U3BhY2UodGhpcykKKyAgICAsIG1fZXh0cmFDb3N0KDApCiAgICAg
LCBtX21hcmtMaXN0U2V0KDApCiAgICAgLCBtX2FjdGl2aXR5Q2FsbGJhY2soRGVmYXVsdEdDQWN0
aXZpdHlDYWxsYmFjazo6Y3JlYXRlKHRoaXMpKQotICAgICwgbV9nbG9iYWxEYXRhKGdsb2JhbERh
dGEpCiAgICAgLCBtX21hY2hpbmVUaHJlYWRzKHRoaXMpCiAgICAgLCBtX21hcmtTdGFjayhnbG9i
YWxEYXRhLT5qc0FycmF5VlB0cikKICAgICAsIG1faGFuZGxlSGVhcChnbG9iYWxEYXRhKQotICAg
ICwgbV9leHRyYUNvc3QoMCkKKyAgICAsIG1fZ2xvYmFsRGF0YShnbG9iYWxEYXRhKQogewogICAg
IG1fbmV3U3BhY2Uuc2V0SGlnaFdhdGVyTWFyayhtaW5CeXRlc1BlckN5Y2xlKTsKICAgICAoKm1f
YWN0aXZpdHlDYWxsYmFjaykoKTsKQEAgLTEwNCwxMCArMTA0LDE1IEBAIHZvaWQgSGVhcDo6ZGVz
dHJveSgpCiAKICAgICBkZWxldGUgbV9tYXJrTGlzdFNldDsKICAgICBtX21hcmtMaXN0U2V0ID0g
MDsKLSAgICBtX25ld1NwYWNlLmNsZWFyTWFya3MoKTsKKworICAgIGNsZWFyTWFya3MoKTsKICAg
ICBtX2hhbmRsZUhlYXAuZmluYWxpemVXZWFrSGFuZGxlcygpOwogICAgIG1fZ2xvYmFsRGF0YS0+
c21hbGxTdHJpbmdzLmZpbmFsaXplU21hbGxTdHJpbmdzKCk7Ci0gICAgbV9uZXdTcGFjZS5kZXN0
cm95KCk7CisKKyNpZiAhRU5BQkxFKEpTQ19aT01CSUVTKQorICAgIHNocmluaygpOworICAgIEFT
U0VSVCghc2l6ZSgpKTsKKyNlbmRpZgogCiAgICAgbV9nbG9iYWxEYXRhID0gMDsKIH0KQEAgLTEz
NywxOCArMTQyLDIwIEBAIHZvaWQqIEhlYXA6OmFsbG9jYXRlKE5ld1NwYWNlOjpTaXplQ2xhc3MK
ICAgICBBU1NFUlQobV9vcGVyYXRpb25JblByb2dyZXNzID09IE5vT3BlcmF0aW9uKTsKICNlbmRp
ZgogCisgICAgbV9vcGVyYXRpb25JblByb2dyZXNzID0gQWxsb2NhdGlvbjsKICAgICB2b2lkKiBy
ZXN1bHQgPSBtX25ld1NwYWNlLmFsbG9jYXRlKHNpemVDbGFzcyk7CisgICAgbV9vcGVyYXRpb25J
blByb2dyZXNzID0gTm9PcGVyYXRpb247CisKICAgICBpZiAocmVzdWx0KQogICAgICAgICByZXR1
cm4gcmVzdWx0OwogCi0gICAgY29sbGVjdChEb05vdFN3ZWVwKTsKLQotICAgIG1fb3BlcmF0aW9u
SW5Qcm9ncmVzcyA9IEFsbG9jYXRpb247Ci0gICAgcmVzdWx0ID0gbV9uZXdTcGFjZS5hbGxvY2F0
ZShzaXplQ2xhc3MpOwotICAgIG1fb3BlcmF0aW9uSW5Qcm9ncmVzcyA9IE5vT3BlcmF0aW9uOwor
ICAgIGlmIChtX25ld1NwYWNlLndhdGVyTWFyaygpIDwgbV9uZXdTcGFjZS5oaWdoV2F0ZXJNYXJr
KCkpIHsKKyAgICAgICAgbV9uZXdTcGFjZS5hZGRCbG9jayhzaXplQ2xhc3MsIGFsbG9jYXRlQmxv
Y2soc2l6ZUNsYXNzLmNlbGxTaXplKSk7CisgICAgICAgIHJldHVybiBhbGxvY2F0ZShzaXplQ2xh
c3MpOworICAgIH0KIAotICAgIEFTU0VSVChyZXN1bHQpOwotICAgIHJldHVybiByZXN1bHQ7Cisg
ICAgY29sbGVjdChEb05vdFN3ZWVwKTsKKyAgICByZXR1cm4gYWxsb2NhdGUoc2l6ZUNsYXNzKTsK
IH0KIAogdm9pZCBIZWFwOjpwcm90ZWN0KEpTVmFsdWUgaykKQEAgLTIzMiw3ICsyMzksNyBAQCB2
b2lkIEhlYXA6Om1hcmtSb290cygpCiAgICAgQ29uc2VydmF0aXZlUm9vdHMgcmVnaXN0ZXJGaWxl
Um9vdHModGhpcyk7CiAgICAgcmVnaXN0ZXJGaWxlKCkuZ2F0aGVyQ29uc2VydmF0aXZlUm9vdHMo
cmVnaXN0ZXJGaWxlUm9vdHMpOwogCi0gICAgbV9uZXdTcGFjZS5jbGVhck1hcmtzKCk7CisgICAg
Y2xlYXJNYXJrcygpOwogCiAgICAgdmlzaXRvci5hcHBlbmQobWFjaGluZVRocmVhZFJvb3RzKTsK
ICAgICB2aXNpdG9yLmRyYWluKCk7CkBAIC0yNzMsMTkgKzI4MCw0NSBAQCB2b2lkIEhlYXA6Om1h
cmtSb290cygpCiAgICAgbV9vcGVyYXRpb25JblByb2dyZXNzID0gTm9PcGVyYXRpb247CiB9CiAK
K3ZvaWQgSGVhcDo6Y2xlYXJNYXJrcygpCit7CisgICAgQmxvY2tJdGVyYXRvciBlbmQgPSBtX2Js
b2Nrcy5lbmQoKTsKKyAgICBmb3IgKEJsb2NrSXRlcmF0b3IgaXQgPSBtX2Jsb2Nrcy5iZWdpbigp
OyBpdCAhPSBlbmQ7ICsraXQpCisgICAgICAgICgqaXQpLT5jbGVhck1hcmtzKCk7Cit9CisKK3Zv
aWQgSGVhcDo6c3dlZXAoKQoreworICAgIEJsb2NrSXRlcmF0b3IgZW5kID0gbV9ibG9ja3MuZW5k
KCk7CisgICAgZm9yIChCbG9ja0l0ZXJhdG9yIGl0ID0gbV9ibG9ja3MuYmVnaW4oKTsgaXQgIT0g
ZW5kOyArK2l0KQorICAgICAgICAoKml0KS0+c3dlZXAoKTsKK30KKwogc2l6ZV90IEhlYXA6Om9i
amVjdENvdW50KCkgY29uc3QKIHsKLSAgICByZXR1cm4gbV9uZXdTcGFjZS5vYmplY3RDb3VudCgp
OworICAgIHNpemVfdCByZXN1bHQgPSAwOworICAgIEJsb2NrSXRlcmF0b3IgZW5kID0gbV9ibG9j
a3MuZW5kKCk7CisgICAgZm9yIChCbG9ja0l0ZXJhdG9yIGl0ID0gbV9ibG9ja3MuYmVnaW4oKTsg
aXQgIT0gZW5kOyArK2l0KQorICAgICAgICByZXN1bHQgKz0gKCppdCktPm1hcmtDb3VudCgpOwor
ICAgIHJldHVybiByZXN1bHQ7CiB9CiAKIHNpemVfdCBIZWFwOjpzaXplKCkgY29uc3QKIHsKLSAg
ICByZXR1cm4gbV9uZXdTcGFjZS5zaXplKCk7CisgICAgc2l6ZV90IHJlc3VsdCA9IDA7CisgICAg
QmxvY2tJdGVyYXRvciBlbmQgPSBtX2Jsb2Nrcy5lbmQoKTsKKyAgICBmb3IgKEJsb2NrSXRlcmF0
b3IgaXQgPSBtX2Jsb2Nrcy5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpCisgICAgICAgIHJlc3Vs
dCArPSAoKml0KS0+c2l6ZSgpOworICAgIHJldHVybiByZXN1bHQ7CiB9CiAKIHNpemVfdCBIZWFw
OjpjYXBhY2l0eSgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIG1fbmV3U3BhY2UuY2FwYWNpdHkoKTsK
KyAgICBzaXplX3QgcmVzdWx0ID0gMDsKKyAgICBCbG9ja0l0ZXJhdG9yIGVuZCA9IG1fYmxvY2tz
LmVuZCgpOworICAgIGZvciAoQmxvY2tJdGVyYXRvciBpdCA9IG1fYmxvY2tzLmJlZ2luKCk7IGl0
ICE9IGVuZDsgKytpdCkKKyAgICAgICAgcmVzdWx0ICs9ICgqaXQpLT5jYXBhY2l0eSgpOworICAg
IHJldHVybiByZXN1bHQ7CiB9CiAKIHNpemVfdCBIZWFwOjpnbG9iYWxPYmplY3RDb3VudCgpCkBA
IC00MDQsMjQgKzQzNywyMyBAQCB2b2lkIEhlYXA6OmNvbGxlY3QoU3dlZXBUb2dnbGUgc3dlZXBU
b2dnCiAgICAgbV9nbG9iYWxEYXRhLT5zbWFsbFN0cmluZ3MuZmluYWxpemVTbWFsbFN0cmluZ3Mo
KTsKIAogICAgIEpBVkFTQ1JJUFRDT1JFX0dDX01BUktFRCgpOwotCi0gICAgbV9uZXdTcGFjZS5y
ZXNldEFsbG9jYXRvcigpOwotICAgIG1fZXh0cmFDb3N0ID0gMDsKKyAgICAKKyAgICByZXNldEFs
bG9jYXRvcigpOwogCiAjaWYgRU5BQkxFKEpTQ19aT01CSUVTKQogICAgIHN3ZWVwVG9nZ2xlID0g
RG9Td2VlcDsKICNlbmRpZgogCiAgICAgaWYgKHN3ZWVwVG9nZ2xlID09IERvU3dlZXApIHsKLSAg
ICAgICAgbV9uZXdTcGFjZS5zd2VlcCgpOwotICAgICAgICBtX25ld1NwYWNlLnNocmluaygpOwor
ICAgICAgICBzd2VlcCgpOworICAgICAgICBzaHJpbmsoKTsKICAgICB9CiAKICAgICAvLyBUbyBh
dm9pZCBwYXRob2xvZ2ljYWwgR0MgY2h1cm4gaW4gbGFyZ2UgaGVhcHMsIHdlIHNldCB0aGUgYWxs
b2NhdGlvbiBoaWdoCiAgICAgLy8gd2F0ZXIgbWFyayB0byBiZSBwcm9wb3J0aW9uYWwgdG8gdGhl
IGN1cnJlbnQgc2l6ZSBvZiB0aGUgaGVhcC4gVGhlIGV4YWN0CiAgICAgLy8gcHJvcG9ydGlvbiBp
cyBhIGJpdCBhcmJpdHJhcnkuIEEgMlggbXVsdGlwbGllciBnaXZlcyBhIDE6MSAoaGVhcCBzaXpl
IDoKICAgICAvLyBuZXcgYnl0ZXMgYWxsb2NhdGVkKSBwcm9wb3J0aW9uLCBhbmQgc2VlbXMgdG8g
d29yayB3ZWxsIGluIGJlbmNobWFya3MuCi0gICAgc2l6ZV90IHByb3BvcnRpb25hbEJ5dGVzID0g
MiAqIG1fbmV3U3BhY2Uuc2l6ZSgpOworICAgIHNpemVfdCBwcm9wb3J0aW9uYWxCeXRlcyA9IDIg
KiBzaXplKCk7CiAgICAgbV9uZXdTcGFjZS5zZXRIaWdoV2F0ZXJNYXJrKG1heChwcm9wb3J0aW9u
YWxCeXRlcywgbWluQnl0ZXNQZXJDeWNsZSkpOwogCiAgICAgSkFWQVNDUklQVENPUkVfR0NfRU5E
KCk7CkBAIC00MjksNiArNDYxLDE3IEBAIHZvaWQgSGVhcDo6Y29sbGVjdChTd2VlcFRvZ2dsZSBz
d2VlcFRvZ2cKICAgICAoKm1fYWN0aXZpdHlDYWxsYmFjaykoKTsKIH0KIAordm9pZCBIZWFwOjpy
ZXNldEFsbG9jYXRvcigpCit7CisgICAgbV9uZXdTcGFjZS5yZXNldEFsbG9jYXRvcigpOworCisg
ICAgQmxvY2tJdGVyYXRvciBlbmQgPSBtX2Jsb2Nrcy5lbmQoKTsKKyAgICBmb3IgKEJsb2NrSXRl
cmF0b3IgaXQgPSBtX2Jsb2Nrcy5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpCisgICAgICAgICgq
aXQpLT5yZXNldEFsbG9jYXRvcigpOworCisgICAgbV9leHRyYUNvc3QgPSAwOworfQorCiB2b2lk
IEhlYXA6OnNldEFjdGl2aXR5Q2FsbGJhY2soUGFzc093blB0cjxHQ0FjdGl2aXR5Q2FsbGJhY2s+
IGFjdGl2aXR5Q2FsbGJhY2spCiB7CiAgICAgbV9hY3Rpdml0eUNhbGxiYWNrID0gYWN0aXZpdHlD
YWxsYmFjazsKQEAgLTQ1Myw0ICs0OTYsNDEgQEAgYm9vbCBIZWFwOjppc1ZhbGlkQWxsb2NhdGlv
bihzaXplX3QgYnl0ZQogICAgIHJldHVybiB0cnVlOwogfQogCitNYXJrZWRCbG9jayogSGVhcDo6
YWxsb2NhdGVCbG9jayhzaXplX3QgY2VsbFNpemUpCit7CisgICAgTWFya2VkQmxvY2sqIGJsb2Nr
ID0gTWFya2VkQmxvY2s6OmNyZWF0ZSh0aGlzLCBjZWxsU2l6ZSk7CisgICAgbV9ibG9ja3MuYWRk
KGJsb2NrKTsKKworICAgIHJldHVybiBibG9jazsKK30KKwordm9pZCBIZWFwOjpmcmVlQmxvY2tz
KERvdWJseUxpbmtlZExpc3Q8TWFya2VkQmxvY2s+JiBibG9ja3MpCit7CisgICAgTWFya2VkQmxv
Y2sqIG5leHQ7CisgICAgZm9yIChNYXJrZWRCbG9jayogYmxvY2sgPSBibG9ja3MuaGVhZCgpOyBi
bG9jazsgYmxvY2sgPSBuZXh0KSB7CisgICAgICAgIG5leHQgPSBibG9jay0+bmV4dCgpOworCisg
ICAgICAgIG1fYmxvY2tzLnJlbW92ZShibG9jayk7CisgICAgICAgIE1hcmtlZEJsb2NrOjpkZXN0
cm95KGJsb2NrKTsKKyAgICB9Cit9CisKK3ZvaWQgSGVhcDo6c2hyaW5rKCkKK3sKKyAgICAvLyBX
ZSByZWNvcmQgYSB0ZW1wb3JhcnkgbGlzdCBvZiBlbXB0aWVzIHRvIGF2b2lkIG1vZGlmeWluZyBt
X2Jsb2NrcyB3aGlsZSBpdGVyYXRpbmcgaXQuCisgICAgRG91Ymx5TGlua2VkTGlzdDxNYXJrZWRC
bG9jaz4gZW1wdGllczsKKworICAgIEJsb2NrSXRlcmF0b3IgZW5kID0gbV9ibG9ja3MuZW5kKCk7
CisgICAgZm9yIChCbG9ja0l0ZXJhdG9yIGl0ID0gbV9ibG9ja3MuYmVnaW4oKTsgaXQgIT0gZW5k
OyArK2l0KSB7CisgICAgICAgIE1hcmtlZEJsb2NrKiBibG9jayA9ICppdDsKKyAgICAgICAgaWYg
KCFibG9jay0+aXNFbXB0eSgpKQorICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgbV9u
ZXdTcGFjZS5yZW1vdmVCbG9jayhibG9jayk7CisgICAgICAgIGVtcHRpZXMuYXBwZW5kKGJsb2Nr
KTsKKyAgICB9CisgICAgCisgICAgZnJlZUJsb2NrcyhlbXB0aWVzKTsKK30KKwogfSAvLyBuYW1l
c3BhY2UgSlNDCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9IZWFwLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvSGVhcC5oCShyZXZpc2lvbiA4ODM3
OSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL0hlYXAuaAkod29ya2luZyBjb3B5KQpA
QCAtODksNyArODksNyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgdm9pZCBwcm90ZWN0KEpT
VmFsdWUpOwogICAgICAgICBib29sIHVucHJvdGVjdChKU1ZhbHVlKTsgLy8gVHJ1ZSB3aGVuIHRo
ZSBwcm90ZWN0IGNvdW50IGRyb3BzIHRvIDAuCiAKLSAgICAgICAgYm9vbCBjb250YWlucyh2b2lk
Kik7CisgICAgICAgIGJvb2wgY29udGFpbnMoY29uc3Qgdm9pZCopOwogCiAgICAgICAgIHNpemVf
dCBzaXplKCkgY29uc3Q7CiAgICAgICAgIHNpemVfdCBjYXBhY2l0eSgpIGNvbnN0OwpAQCAtMTEz
LDQwICsxMTMsNDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIEhhbmRsZVN0YWNrKiBoYW5k
bGVTdGFjaygpIHsgcmV0dXJuICZtX2hhbmRsZVN0YWNrOyB9CiAKICAgICBwcml2YXRlOgorICAg
ICAgICB0eXBlZGVmIEhhc2hTZXQ8TWFya2VkQmxvY2sqPjo6aXRlcmF0b3IgQmxvY2tJdGVyYXRv
cjsKKwogICAgICAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IG1pbkV4dHJhQ29zdCA9IDI1NjsKICAg
ICAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBtYXhFeHRyYUNvc3QgPSAxMDI0ICogMTAyNDsKIAog
ICAgICAgICBib29sIGlzVmFsaWRBbGxvY2F0aW9uKHNpemVfdCk7CiAgICAgICAgIHZvaWQqIGFs
bG9jYXRlU2xvd0Nhc2Uoc2l6ZV90KTsKICAgICAgICAgdm9pZCByZXBvcnRFeHRyYU1lbW9yeUNv
c3RTbG93Q2FzZShzaXplX3QpOworICAgICAgICB2b2lkIHJlc2V0QWxsb2NhdG9yKCk7CisKKyAg
ICAgICAgTWFya2VkQmxvY2sqIGFsbG9jYXRlQmxvY2soc2l6ZV90IGNlbGxTaXplKTsKKyAgICAg
ICAgdm9pZCBmcmVlQmxvY2tzKERvdWJseUxpbmtlZExpc3Q8TWFya2VkQmxvY2s+Jik7CiAKKyAg
ICAgICAgdm9pZCBjbGVhck1hcmtzKCk7CiAgICAgICAgIHZvaWQgbWFya1Jvb3RzKCk7CiAgICAg
ICAgIHZvaWQgbWFya1Byb3RlY3RlZE9iamVjdHMoSGVhcFJvb3RWaXNpdG9yJik7CiAgICAgICAg
IHZvaWQgbWFya1RlbXBTb3J0VmVjdG9ycyhIZWFwUm9vdFZpc2l0b3ImKTsKIAogICAgICAgICBl
bnVtIFN3ZWVwVG9nZ2xlIHsgRG9Ob3RTd2VlcCwgRG9Td2VlcCB9OwogICAgICAgICB2b2lkIGNv
bGxlY3QoU3dlZXBUb2dnbGUpOworICAgICAgICB2b2lkIHNocmluaygpOworICAgICAgICB2b2lk
IHN3ZWVwKCk7CiAKICAgICAgICAgUmVnaXN0ZXJGaWxlJiByZWdpc3RlckZpbGUoKTsKIAogICAg
ICAgICBPcGVyYXRpb25JblByb2dyZXNzIG1fb3BlcmF0aW9uSW5Qcm9ncmVzczsKICAgICAgICAg
TmV3U3BhY2UgbV9uZXdTcGFjZTsKKyAgICAgICAgSGFzaFNldDxNYXJrZWRCbG9jayo+IG1fYmxv
Y2tzOworCisgICAgICAgIHNpemVfdCBtX2V4dHJhQ29zdDsKIAogICAgICAgICBQcm90ZWN0Q291
bnRTZXQgbV9wcm90ZWN0ZWRWYWx1ZXM7CiAgICAgICAgIFZlY3RvcjxWZWN0b3I8VmFsdWVTdHJp
bmdQYWlyPiogPiBtX3RlbXBTb3J0aW5nVmVjdG9yczsKLQogICAgICAgICBIYXNoU2V0PE1hcmtl
ZEFyZ3VtZW50QnVmZmVyKj4qIG1fbWFya0xpc3RTZXQ7CiAKICAgICAgICAgT3duUHRyPEdDQWN0
aXZpdHlDYWxsYmFjaz4gbV9hY3Rpdml0eUNhbGxiYWNrOwotCi0gICAgICAgIEpTR2xvYmFsRGF0
YSogbV9nbG9iYWxEYXRhOwogICAgICAgICAKICAgICAgICAgTWFjaGluZVRocmVhZHMgbV9tYWNo
aW5lVGhyZWFkczsKICAgICAgICAgTWFya1N0YWNrIG1fbWFya1N0YWNrOwogICAgICAgICBIYW5k
bGVIZWFwIG1faGFuZGxlSGVhcDsKICAgICAgICAgSGFuZGxlU3RhY2sgbV9oYW5kbGVTdGFjazsK
IAotICAgICAgICBzaXplX3QgbV9leHRyYUNvc3Q7CisgICAgICAgIEpTR2xvYmFsRGF0YSogbV9n
bG9iYWxEYXRhOwogICAgIH07CiAKICAgICBib29sIEhlYXA6OmlzQnVzeSgpCkBAIC0xOTQsOSAr
MjAzLDE2IEBAIG5hbWVzcGFjZSBKU0MgewogICAgIHsKICAgICB9CiAKLSAgICBpbmxpbmUgYm9v
bCBIZWFwOjpjb250YWlucyh2b2lkKiBwKQorICAgIGlubGluZSBib29sIEhlYXA6OmNvbnRhaW5z
KGNvbnN0IHZvaWQqIHgpCiAgICAgewotICAgICAgICByZXR1cm4gbV9uZXdTcGFjZS5jb250YWlu
cyhwKTsKKyAgICAgICAgaWYgKCFNYXJrZWRCbG9jazo6aXNBdG9tQWxpZ25lZCh4KSkKKyAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICBNYXJrZWRCbG9jayogYmxvY2sgPSBNYXJr
ZWRCbG9jazo6YmxvY2tGb3IoeCk7CisgICAgICAgIGlmICghYmxvY2sgfHwgIW1fYmxvY2tzLmNv
bnRhaW5zKGJsb2NrKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgICAgIAor
ICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAKICAgICBpbmxpbmUgdm9pZCBIZWFwOjpyZXBv
cnRFeHRyYU1lbW9yeUNvc3Qoc2l6ZV90IGNvc3QpCkBAIC0yMDcsNyArMjIzLDkgQEAgbmFtZXNw
YWNlIEpTQyB7CiAKICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgRnVuY3Rvcj4gaW5saW5lIHZvaWQg
SGVhcDo6Zm9yRWFjaChGdW5jdG9yJiBmdW5jdG9yKQogICAgIHsKLSAgICAgICAgbV9uZXdTcGFj
ZS5mb3JFYWNoKGZ1bmN0b3IpOworICAgICAgICBCbG9ja0l0ZXJhdG9yIGVuZCA9IG1fYmxvY2tz
LmVuZCgpOworICAgICAgICBmb3IgKEJsb2NrSXRlcmF0b3IgaXQgPSBtX2Jsb2Nrcy5iZWdpbigp
OyBpdCAhPSBlbmQ7ICsraXQpCisgICAgICAgICAgICAoKml0KS0+Zm9yRWFjaChmdW5jdG9yKTsK
ICAgICB9CiAKICAgICBpbmxpbmUgdm9pZCogSGVhcDo6YWxsb2NhdGUoc2l6ZV90IGJ5dGVzKQpJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvTmV3U3BhY2UuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL05ld1NwYWNlLmNwcAkocmV2aXNpb24gODgz
NzkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9OZXdTcGFjZS5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTQzLDk3ICs0MywxNyBAQCBOZXdTcGFjZTo6TmV3U3BhY2UoSGVhcCogaGVhcCkK
ICAgICAgICAgc2l6ZUNsYXNzRm9yKGNlbGxTaXplKS5jZWxsU2l6ZSA9IGNlbGxTaXplOwogfQog
Ci12b2lkIE5ld1NwYWNlOjpkZXN0cm95KCkKK3ZvaWQgTmV3U3BhY2U6OmFkZEJsb2NrKFNpemVD
bGFzcyYgc2l6ZUNsYXNzLCBNYXJrZWRCbG9jayogYmxvY2spCiB7Ci0gICAgLyogS2VlcCBvdXIg
cHJlY2lvdXMgem9tYmllcyEgKi8KLSNpZiAhRU5BQkxFKEpTQ19aT01CSUVTKQotICAgIGNsZWFy
TWFya3MoKTsKLSAgICBzaHJpbmsoKTsKLSAgICBBU1NFUlQoIXNpemUoKSk7Ci0jZW5kaWYKLX0K
LQotTWFya2VkQmxvY2sqIE5ld1NwYWNlOjphbGxvY2F0ZUJsb2NrKFNpemVDbGFzcyYgc2l6ZUNs
YXNzKQotewotICAgIE1hcmtlZEJsb2NrKiBibG9jayA9IE1hcmtlZEJsb2NrOjpjcmVhdGUobV9o
ZWFwLCBzaXplQ2xhc3MuY2VsbFNpemUpOwotICAgIHNpemVDbGFzcy5ibG9ja0xpc3QuYXBwZW5k
KGJsb2NrKTsKICAgICBzaXplQ2xhc3MubmV4dEJsb2NrID0gYmxvY2s7Ci0gICAgbV9ibG9ja3Mu
YWRkKGJsb2NrKTsKLQotICAgIHJldHVybiBibG9jazsKLX0KLQotdm9pZCBOZXdTcGFjZTo6ZnJl
ZUJsb2NrcyhEb3VibHlMaW5rZWRMaXN0PE1hcmtlZEJsb2NrPiYgYmxvY2tzKQotewotICAgIE1h
cmtlZEJsb2NrKiBuZXh0OwotICAgIGZvciAoTWFya2VkQmxvY2sqIGJsb2NrID0gYmxvY2tzLmhl
YWQoKTsgYmxvY2s7IGJsb2NrID0gbmV4dCkgewotICAgICAgICBuZXh0ID0gYmxvY2stPm5leHQo
KTsKLQotICAgICAgICBibG9ja3MucmVtb3ZlKGJsb2NrKTsKLSAgICAgICAgbV9ibG9ja3MucmVt
b3ZlKGJsb2NrKTsKLSAgICAgICAgTWFya2VkQmxvY2s6OmRlc3Ryb3koYmxvY2spOwotICAgIH0K
LX0KLQotdm9pZCBOZXdTcGFjZTo6c2hyaW5rKCkKLXsKLSAgICAvLyBXZSByZWNvcmQgYSB0ZW1w
b3JhcnkgbGlzdCBvZiBlbXB0aWVzIHRvIGF2b2lkIG1vZGlmeWluZyBtX2Jsb2NrcyB3aGlsZSBp
dGVyYXRpbmcgaXQuCi0gICAgRG91Ymx5TGlua2VkTGlzdDxNYXJrZWRCbG9jaz4gZW1wdGllczsK
LQotICAgIEJsb2NrSXRlcmF0b3IgZW5kID0gbV9ibG9ja3MuZW5kKCk7Ci0gICAgZm9yIChCbG9j
a0l0ZXJhdG9yIGl0ID0gbV9ibG9ja3MuYmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KSB7Ci0gICAg
ICAgIE1hcmtlZEJsb2NrKiBibG9jayA9ICppdDsKLSAgICAgICAgaWYgKGJsb2NrLT5pc0VtcHR5
KCkpIHsKLSAgICAgICAgICAgIFNpemVDbGFzcyYgc2l6ZUNsYXNzID0gc2l6ZUNsYXNzRm9yKGJs
b2NrLT5jZWxsU2l6ZSgpKTsKLSAgICAgICAgICAgIHNpemVDbGFzcy5ibG9ja0xpc3QucmVtb3Zl
KGJsb2NrKTsKLSAgICAgICAgICAgIHNpemVDbGFzcy5uZXh0QmxvY2sgPSBzaXplQ2xhc3MuYmxv
Y2tMaXN0LmhlYWQoKTsKLSAgICAgICAgICAgIGVtcHRpZXMuYXBwZW5kKGJsb2NrKTsKLSAgICAg
ICAgfQotICAgIH0KLSAgICAKLSAgICBmcmVlQmxvY2tzKGVtcHRpZXMpOwotICAgIEFTU0VSVChl
bXB0aWVzLmlzRW1wdHkoKSk7Ci19Ci0KLXZvaWQgTmV3U3BhY2U6OmNsZWFyTWFya3MoKQotewot
ICAgIEJsb2NrSXRlcmF0b3IgZW5kID0gbV9ibG9ja3MuZW5kKCk7Ci0gICAgZm9yIChCbG9ja0l0
ZXJhdG9yIGl0ID0gbV9ibG9ja3MuYmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KQotICAgICAgICAo
Kml0KS0+Y2xlYXJNYXJrcygpOwotfQotCi12b2lkIE5ld1NwYWNlOjpzd2VlcCgpCi17Ci0gICAg
QmxvY2tJdGVyYXRvciBlbmQgPSBtX2Jsb2Nrcy5lbmQoKTsKLSAgICBmb3IgKEJsb2NrSXRlcmF0
b3IgaXQgPSBtX2Jsb2Nrcy5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpCi0gICAgICAgICgqaXQp
LT5zd2VlcCgpOwotfQotCi1zaXplX3QgTmV3U3BhY2U6Om9iamVjdENvdW50KCkgY29uc3QKLXsK
LSAgICBzaXplX3QgcmVzdWx0ID0gMDsKLSAgICBCbG9ja0l0ZXJhdG9yIGVuZCA9IG1fYmxvY2tz
LmVuZCgpOwotICAgIGZvciAoQmxvY2tJdGVyYXRvciBpdCA9IG1fYmxvY2tzLmJlZ2luKCk7IGl0
ICE9IGVuZDsgKytpdCkKLSAgICAgICAgcmVzdWx0ICs9ICgqaXQpLT5tYXJrQ291bnQoKTsKLSAg
ICByZXR1cm4gcmVzdWx0OwotfQotCi1zaXplX3QgTmV3U3BhY2U6OnNpemUoKSBjb25zdAotewot
ICAgIHNpemVfdCByZXN1bHQgPSAwOwotICAgIEJsb2NrSXRlcmF0b3IgZW5kID0gbV9ibG9ja3Mu
ZW5kKCk7Ci0gICAgZm9yIChCbG9ja0l0ZXJhdG9yIGl0ID0gbV9ibG9ja3MuYmVnaW4oKTsgaXQg
IT0gZW5kOyArK2l0KQotICAgICAgICByZXN1bHQgKz0gKCppdCktPnNpemUoKTsKLSAgICByZXR1
cm4gcmVzdWx0OworICAgIHNpemVDbGFzcy5ibG9ja0xpc3QuYXBwZW5kKGJsb2NrKTsKIH0KIAot
c2l6ZV90IE5ld1NwYWNlOjpjYXBhY2l0eSgpIGNvbnN0Cit2b2lkIE5ld1NwYWNlOjpyZW1vdmVC
bG9jayhNYXJrZWRCbG9jayogYmxvY2spCiB7Ci0gICAgc2l6ZV90IHJlc3VsdCA9IDA7Ci0gICAg
QmxvY2tJdGVyYXRvciBlbmQgPSBtX2Jsb2Nrcy5lbmQoKTsKLSAgICBmb3IgKEJsb2NrSXRlcmF0
b3IgaXQgPSBtX2Jsb2Nrcy5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpCi0gICAgICAgIHJlc3Vs
dCArPSAoKml0KS0+Y2FwYWNpdHkoKTsKLSAgICByZXR1cm4gcmVzdWx0OworICAgIFNpemVDbGFz
cyYgc2l6ZUNsYXNzID0gc2l6ZUNsYXNzRm9yKGJsb2NrLT5jZWxsU2l6ZSgpKTsKKyAgICBzaXpl
Q2xhc3MubmV4dEJsb2NrID0gYmxvY2stPm5leHQoKTsKKyAgICBzaXplQ2xhc3MuYmxvY2tMaXN0
LnJlbW92ZShibG9jayk7CiB9CiAKIHZvaWQgTmV3U3BhY2U6OnJlc2V0QWxsb2NhdG9yKCkKQEAg
LTE0NSwxMCArNjUsNiBAQCB2b2lkIE5ld1NwYWNlOjpyZXNldEFsbG9jYXRvcigpCiAKICAgICBm
b3IgKHNpemVfdCBjZWxsU2l6ZSA9IGltcHJlY2lzZVN0ZXA7IGNlbGxTaXplIDwgaW1wcmVjaXNl
Q3V0b2ZmOyBjZWxsU2l6ZSArPSBpbXByZWNpc2VTdGVwKQogICAgICAgICBzaXplQ2xhc3NGb3Io
Y2VsbFNpemUpLnJlc2V0QWxsb2NhdG9yKCk7Ci0KLSAgICBCbG9ja0l0ZXJhdG9yIGVuZCA9IG1f
YmxvY2tzLmVuZCgpOwotICAgIGZvciAoQmxvY2tJdGVyYXRvciBpdCA9IG1fYmxvY2tzLmJlZ2lu
KCk7IGl0ICE9IGVuZDsgKytpdCkKLSAgICAgICAgKCppdCktPnJlc2V0QWxsb2NhdG9yKCk7CiB9
CiAKIH0gLy8gbmFtZXNwYWNlIEpTQwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAv
TmV3U3BhY2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9OZXdT
cGFjZS5oCShyZXZpc2lvbiA4ODM3OSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9oZWFwL05l
d1NwYWNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTU4LDI3ICs1OCwxOCBAQCBuYW1lc3BhY2UgSlND
IHsKICAgICAgICAgfTsKIAogICAgICAgICBOZXdTcGFjZShIZWFwKik7Ci0gICAgICAgIHZvaWQg
ZGVzdHJveSgpOwotCi0gICAgICAgIHNpemVfdCBoaWdoV2F0ZXJNYXJrKCk7Ci0gICAgICAgIHZv
aWQgc2V0SGlnaFdhdGVyTWFyayhzaXplX3QpOwogCiAgICAgICAgIFNpemVDbGFzcyYgc2l6ZUNs
YXNzRm9yKHNpemVfdCk7CiAgICAgICAgIHZvaWQqIGFsbG9jYXRlKFNpemVDbGFzcyYpOwogCi0g
ICAgICAgIHZvaWQgY2xlYXJNYXJrcygpOwotICAgICAgICB2b2lkIG1hcmtSb290cygpOwotICAg
ICAgICB2b2lkIHJlc2V0QWxsb2NhdG9yKCk7Ci0gICAgICAgIHZvaWQgc3dlZXAoKTsKLSAgICAg
ICAgdm9pZCBzaHJpbmsoKTsKLQotICAgICAgICBzaXplX3Qgc2l6ZSgpIGNvbnN0OwotICAgICAg
ICBzaXplX3QgY2FwYWNpdHkoKSBjb25zdDsKLSAgICAgICAgc2l6ZV90IG9iamVjdENvdW50KCkg
Y29uc3Q7CisgICAgICAgIHZvaWQgYWRkQmxvY2soU2l6ZUNsYXNzJiwgTWFya2VkQmxvY2sqKTsK
KyAgICAgICAgdm9pZCByZW1vdmVCbG9jayhNYXJrZWRCbG9jayopOwogCi0gICAgICAgIGJvb2wg
Y29udGFpbnMoY29uc3Qgdm9pZCopOworICAgICAgICBzaXplX3Qgd2F0ZXJNYXJrKCk7CisgICAg
ICAgIHNpemVfdCBoaWdoV2F0ZXJNYXJrKCk7CisgICAgICAgIHZvaWQgc2V0SGlnaFdhdGVyTWFy
ayhzaXplX3QpOwogCi0gICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIEZ1bmN0b3I+IHZvaWQgZm9y
RWFjaChGdW5jdG9yJik7CisgICAgICAgIHZvaWQgcmVzZXRBbGxvY2F0b3IoKTsKIAogICAgIHBy
aXZhdGU6CiAgICAgICAgIC8vIFsgOCwgMTYuLi4gMTI4ICkKQEAgLTkxLDM4ICs4MiwxNiBAQCBu
YW1lc3BhY2UgSlNDIHsKICAgICAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBpbXByZWNpc2VDdXRv
ZmYgPSBtYXhDZWxsU2l6ZTsKICAgICAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBpbXByZWNpc2VD
b3VudCA9IGltcHJlY2lzZUN1dG9mZiAvIGltcHJlY2lzZVN0ZXAgLSAxOwogCi0gICAgICAgIHR5
cGVkZWYgSGFzaFNldDxNYXJrZWRCbG9jayo+OjppdGVyYXRvciBCbG9ja0l0ZXJhdG9yOwotCi0g
ICAgICAgIE1hcmtlZEJsb2NrKiBhbGxvY2F0ZUJsb2NrKFNpemVDbGFzcyYpOwotICAgICAgICB2
b2lkIGZyZWVCbG9ja3MoRG91Ymx5TGlua2VkTGlzdDxNYXJrZWRCbG9jaz4mKTsKLQotICAgICAg
ICB2b2lkIGNsZWFyTWFya3MoTWFya2VkQmxvY2sqKTsKLQogICAgICAgICBTaXplQ2xhc3MgbV9w
cmVjaXNlU2l6ZUNsYXNzZXNbcHJlY2lzZUNvdW50XTsKICAgICAgICAgU2l6ZUNsYXNzIG1faW1w
cmVjaXNlU2l6ZUNsYXNzZXNbaW1wcmVjaXNlQ291bnRdOwotICAgICAgICBIYXNoU2V0PE1hcmtl
ZEJsb2NrKj4gbV9ibG9ja3M7CiAgICAgICAgIHNpemVfdCBtX3dhdGVyTWFyazsKICAgICAgICAg
c2l6ZV90IG1faGlnaFdhdGVyTWFyazsKICAgICAgICAgSGVhcCogbV9oZWFwOwogICAgIH07CiAK
LSAgICBpbmxpbmUgYm9vbCBOZXdTcGFjZTo6Y29udGFpbnMoY29uc3Qgdm9pZCogeCkKLSAgICB7
Ci0gICAgICAgIGlmICghTWFya2VkQmxvY2s6OmlzQXRvbUFsaWduZWQoeCkpCi0gICAgICAgICAg
ICByZXR1cm4gZmFsc2U7Ci0KLSAgICAgICAgTWFya2VkQmxvY2sqIGJsb2NrID0gTWFya2VkQmxv
Y2s6OmJsb2NrRm9yKHgpOwotICAgICAgICBpZiAoIWJsb2NrIHx8ICFtX2Jsb2Nrcy5jb250YWlu
cyhibG9jaykpCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgICAKLSAgICAg
ICAgcmV0dXJuIHRydWU7Ci0gICAgfQotCi0gICAgdGVtcGxhdGUgPHR5cGVuYW1lIEZ1bmN0b3I+
IGlubGluZSB2b2lkIE5ld1NwYWNlOjpmb3JFYWNoKEZ1bmN0b3ImIGZ1bmN0b3IpCisgICAgaW5s
aW5lIHNpemVfdCBOZXdTcGFjZTo6d2F0ZXJNYXJrKCkKICAgICB7Ci0gICAgICAgIEJsb2NrSXRl
cmF0b3IgZW5kID0gbV9ibG9ja3MuZW5kKCk7Ci0gICAgICAgIGZvciAoQmxvY2tJdGVyYXRvciBp
dCA9IG1fYmxvY2tzLmJlZ2luKCk7IGl0ICE9IGVuZDsgKytpdCkKLSAgICAgICAgICAgICgqaXQp
LT5mb3JFYWNoKGZ1bmN0b3IpOworICAgICAgICByZXR1cm4gbV93YXRlck1hcms7CiAgICAgfQog
CiAgICAgaW5saW5lIHNpemVfdCBOZXdTcGFjZTo6aGlnaFdhdGVyTWFyaygpCkBAIC0xNTIsOSAr
MTIxLDYgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgICAgICBtX3dhdGVyTWFyayArPSBibG9j
ay0+Y2FwYWNpdHkoKTsKICAgICAgICAgfQogCi0gICAgICAgIGlmIChtX3dhdGVyTWFyayA8IG1f
aGlnaFdhdGVyTWFyaykKLSAgICAgICAgICAgIHJldHVybiBhbGxvY2F0ZUJsb2NrKHNpemVDbGFz
cyktPmFsbG9jYXRlKCk7Ci0KICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQogCg==
</data>
<flag name="review"
          id="90179"
          type_id="1"
          status="+"
          setter="oliver"
    />
          </attachment>
      

    </bug>

</bugzilla>