<?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>62009</bug_id>
          
          <creation_ts>2011-06-03 05:43:04 -0700</creation_ts>
          <short_desc>IndexedDB: Clean-up use of INT64_MAX in LevelDB back-end</short_desc>
          <delta_ts>2011-06-03 08:03:10 -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="Hans Wennborg">hans</reporter>
          <assigned_to name="Hans Wennborg">hans</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>dgrogan</cc>
    
    <cc>steveblock</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>414813</commentid>
    <comment_count>0</comment_count>
    <who name="Hans Wennborg">hans</who>
    <bug_when>2011-06-03 05:43:04 -0700</bug_when>
    <thetext>IndexedDB: Clean-up use of INT64_MAX in LevelDB back-end</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>414816</commentid>
    <comment_count>1</comment_count>
      <attachid>95901</attachid>
    <who name="Hans Wennborg">hans</who>
    <bug_when>2011-06-03 05:45:24 -0700</bug_when>
    <thetext>Created attachment 95901
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>414817</commentid>
    <comment_count>2</comment_count>
    <who name="Hans Wennborg">hans</who>
    <bug_when>2011-06-03 05:46:33 -0700</bug_when>
    <thetext>Some clean-up that&apos;s been asked for in previous reviews.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>414826</commentid>
    <comment_count>3</comment_count>
      <attachid>95901</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2011-06-03 06:03:52 -0700</bug_when>
    <thetext>Comment on attachment 95901
Patch

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

&gt; Source/WebCore/storage/IDBLevelDBCoding.cpp:755
&gt; +    return encode(INT64_MAX);

Should the FIXME for INT64_MAX in this file be removed?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>414830</commentid>
    <comment_count>4</comment_count>
      <attachid>95901</attachid>
    <who name="Hans Wennborg">hans</who>
    <bug_when>2011-06-03 06:09:11 -0700</bug_when>
    <thetext>Comment on attachment 95901
Patch

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

&gt;&gt; Source/WebCore/storage/IDBLevelDBCoding.cpp:755
&gt;&gt; +    return encode(INT64_MAX);
&gt; 
&gt; Should the FIXME for INT64_MAX in this file be removed?

Yes, I&apos;ll do that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>414890</commentid>
    <comment_count>5</comment_count>
      <attachid>95911</attachid>
    <who name="Hans Wennborg">hans</who>
    <bug_when>2011-06-03 07:45:05 -0700</bug_when>
    <thetext>Created attachment 95911
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>414893</commentid>
    <comment_count>6</comment_count>
      <attachid>95911</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2011-06-03 07:47:24 -0700</bug_when>
    <thetext>Comment on attachment 95911
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>414903</commentid>
    <comment_count>7</comment_count>
      <attachid>95911</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-06-03 07:55:19 -0700</bug_when>
    <thetext>Comment on attachment 95911
Patch

Rejecting attachment 95911 from commit-queue.

Failed to run &quot;[&apos;./Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;--bot-id=cr-jail-7&apos;, &apos;apply-...&quot; exit_code: 1

Last 500 characters of output:
autoinstalled/mechanize/_urllib2_fork.py&quot;, line 332, in _call_chain
    result = func(*args)
  File &quot;/mnt/git/webkit-commit-queue/Tools/Scripts/webkitpy/thirdparty/autoinstalled/mechanize/_urllib2_fork.py&quot;, line 1170, in https_open
    return self.do_open(conn_factory, req)
  File &quot;/mnt/git/webkit-commit-queue/Tools/Scripts/webkitpy/thirdparty/autoinstalled/mechanize/_urllib2_fork.py&quot;, line 1118, in do_open
    raise URLError(err)
urllib2.URLError: &lt;urlopen error [Errno 60] Operation timed out&gt;

Full output: http://queues.webkit.org/results/8764126</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>414906</commentid>
    <comment_count>8</comment_count>
    <who name="Hans Wennborg">hans</who>
    <bug_when>2011-06-03 08:03:10 -0700</bug_when>
    <thetext>Committed r88019: &lt;http://trac.webkit.org/changeset/88019&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>95901</attachid>
            <date>2011-06-03 05:45:24 -0700</date>
            <delta_ts>2011-06-03 07:44:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-62009-20110603134522.patch</filename>
            <type>text/plain</type>
            <size>14767</size>
            <attacher name="Hans Wennborg">hans</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODc5OTcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAzNTczN2Y5N2MxYzExOWRh
YTRmNTNkYjQ2NzYyOWM1NGY1YWM0YTAwLi4xNTlmY2JiZDg4Yzc4YTg1MjUzYzU2MjJhNzU2Mzlk
NzBjZjc5MGE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjggQEAKKzIwMTEtMDYtMDMgIEhhbnMg
V2VubmJvcmcgIDxoYW5zQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBJbmRleGVkREI6IENsZWFuLXVwIHVzZSBvZiBJTlQ2NF9N
QVggaW4gTGV2ZWxEQiBiYWNrLWVuZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NjIwMDkKKworICAgICAgICBUaGlzIGNvbnN0YW50IHNob3VsZCBvbmx5
IGJlIG5lZWRlZCBpbnNpZGUgSURCTGV2ZWxEQkNvZGluZy5jcHAuCisKKyAgICAgICAgTm8gbmV3
IGZ1bmN0aW9uYWxpdHksIG5vIG5ldyB0ZXN0cy4KKworICAgICAgICAqIHN0b3JhZ2UvSURCTGV2
ZWxEQkJhY2tpbmdTdG9yZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpnZXROZXdEYXRhYmFzZUlk
KToKKyAgICAgICAgKFdlYkNvcmU6OklEQkxldmVsREJCYWNraW5nU3RvcmU6OmdldE9iamVjdFN0
b3Jlcyk6CisgICAgICAgIChXZWJDb3JlOjpnZXROZXdPYmplY3RTdG9yZUlkKToKKyAgICAgICAg
KFdlYkNvcmU6OklEQkxldmVsREJCYWNraW5nU3RvcmU6OmRlbGV0ZU9iamVjdFN0b3JlKToKKyAg
ICAgICAgKFdlYkNvcmU6OmdldE5ld0luZGV4SWQpOgorICAgICAgICAqIHN0b3JhZ2UvSURCTGV2
ZWxEQkNvZGluZy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJMZXZlbERCQ29kaW5nOjpEYXRh
YmFzZUZyZWVMaXN0S2V5OjplbmNvZGVNYXhLZXkpOgorICAgICAgICAoV2ViQ29yZTo6SURCTGV2
ZWxEQkNvZGluZzo6T2JqZWN0U3RvcmVNZXRhRGF0YUtleTo6ZW5jb2RlTWF4S2V5KToKKyAgICAg
ICAgKFdlYkNvcmU6OklEQkxldmVsREJDb2Rpbmc6OkluZGV4TWV0YURhdGFLZXk6OmVuY29kZU1h
eEtleSk6CisgICAgICAgIChXZWJDb3JlOjpJREJMZXZlbERCQ29kaW5nOjpPYmplY3RTdG9yZUZy
ZWVMaXN0S2V5OjplbmNvZGVNYXhLZXkpOgorICAgICAgICAoV2ViQ29yZTo6SURCTGV2ZWxEQkNv
ZGluZzo6SW5kZXhGcmVlTGlzdEtleTo6ZW5jb2RlTWF4S2V5KToKKyAgICAgICAgKiBzdG9yYWdl
L0lEQkxldmVsREJDb2RpbmcuaDoKKwogMjAxMS0wNi0wMyAgUGV0ZXIgVmFyZ2EgIDxwdmFyZ2FA
d2Via2l0Lm9yZz4KIAogICAgICAgICBSdWJiZXItc3RhbXBlZCBieSBDc2FiYSBPc3p0cm9nb27h
Yy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCTGV2ZWxEQkJhY2tpbmdT
dG9yZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQkxldmVsREJCYWNraW5nU3RvcmUu
Y3BwCmluZGV4IDgzNWY1NTI4MTNiMDE4MjMzNzdlMTg2NWZjYjZmN2M4YzE4NTc0YTcuLmNjZmUx
ZjExMzNmMTQ0NWRkMGY0ZDk1NmIyZjBiZWExODkwZDdmMTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3N0b3JhZ2UvSURCTGV2ZWxEQkJhY2tpbmdTdG9yZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvc3RvcmFnZS9JREJMZXZlbERCQmFja2luZ1N0b3JlLmNwcApAQCAtNDEsMTEgKzQxLDYg
QEAKICNpbmNsdWRlICJMZXZlbERCVHJhbnNhY3Rpb24uaCIKICNpbmNsdWRlICJTZWN1cml0eU9y
aWdpbi5oIgogCi0jaWZuZGVmIElOVDY0X01BWAotLy8gRklYTUU6IFdlIHNob3VsZG4ndCBuZWVk
IHRvIHJlbHkgb24gdGhlc2UgbWFjcm9zLgotI2RlZmluZSBJTlQ2NF9NQVggMHg3ZmZmZmZmZmZm
ZmZmZmZmTEwKLSNlbmRpZgotCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHVzaW5nIG5hbWVzcGFj
ZSBJREJMZXZlbERCQ29kaW5nOwpAQCAtMTgzLDcgKzE3OCw3IEBAIGJvb2wgSURCTGV2ZWxEQkJh
Y2tpbmdTdG9yZTo6ZXh0cmFjdElEQkRhdGFiYXNlTWV0YURhdGEoY29uc3QgU3RyaW5nJiBuYW1l
LCBTdHJpCiBzdGF0aWMgaW50NjRfdCBnZXROZXdEYXRhYmFzZUlkKExldmVsREJEYXRhYmFzZSog
ZGIpCiB7CiAgICAgY29uc3QgVmVjdG9yPGNoYXI+IGZyZWVMaXN0U3RhcnRLZXkgPSBEYXRhYmFz
ZUZyZWVMaXN0S2V5OjplbmNvZGUoMCk7Ci0gICAgY29uc3QgVmVjdG9yPGNoYXI+IGZyZWVMaXN0
U3RvcEtleSA9IERhdGFiYXNlRnJlZUxpc3RLZXk6OmVuY29kZShJTlQ2NF9NQVgpOworICAgIGNv
bnN0IFZlY3RvcjxjaGFyPiBmcmVlTGlzdFN0b3BLZXkgPSBEYXRhYmFzZUZyZWVMaXN0S2V5Ojpl
bmNvZGVNYXhLZXkoKTsKIAogICAgIE93blB0cjxMZXZlbERCSXRlcmF0b3I+IGl0ID0gZGItPmNy
ZWF0ZUl0ZXJhdG9yKCk7CiAgICAgZm9yIChpdC0+c2VlayhmcmVlTGlzdFN0YXJ0S2V5KTsgaXQt
PmlzVmFsaWQoKSAmJiBjb21wYXJlS2V5cyhpdC0+a2V5KCksIGZyZWVMaXN0U3RvcEtleSkgPCAw
OyBpdC0+bmV4dCgpKSB7CkBAIC0yMzQsNyArMjI5LDcgQEAgYm9vbCBJREJMZXZlbERCQmFja2lu
Z1N0b3JlOjpzZXRJREJEYXRhYmFzZU1ldGFEYXRhKGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3Qg
U3QKIHZvaWQgSURCTGV2ZWxEQkJhY2tpbmdTdG9yZTo6Z2V0T2JqZWN0U3RvcmVzKGludDY0X3Qg
ZGF0YWJhc2VJZCwgVmVjdG9yPGludDY0X3Q+JiBmb3VuZElkcywgVmVjdG9yPFN0cmluZz4mIGZv
dW5kTmFtZXMsIFZlY3RvcjxTdHJpbmc+JiBmb3VuZEtleVBhdGhzLCBWZWN0b3I8Ym9vbD4mIGZv
dW5kQXV0b0luY3JlbWVudEZsYWdzKQogewogICAgIGNvbnN0IFZlY3RvcjxjaGFyPiBzdGFydEtl
eSA9IE9iamVjdFN0b3JlTWV0YURhdGFLZXk6OmVuY29kZShkYXRhYmFzZUlkLCAxLCAwKTsKLSAg
ICBjb25zdCBWZWN0b3I8Y2hhcj4gc3RvcEtleSA9IE9iamVjdFN0b3JlTWV0YURhdGFLZXk6OmVu
Y29kZShkYXRhYmFzZUlkLCBJTlQ2NF9NQVgsIDApOworICAgIGNvbnN0IFZlY3RvcjxjaGFyPiBz
dG9wS2V5ID0gT2JqZWN0U3RvcmVNZXRhRGF0YUtleTo6ZW5jb2RlTWF4S2V5KGRhdGFiYXNlSWQp
OwogCiAgICAgT3duUHRyPExldmVsREJJdGVyYXRvcj4gaXQgPSBtX2RiLT5jcmVhdGVJdGVyYXRv
cigpOwogICAgIGZvciAoaXQtPnNlZWsoc3RhcnRLZXkpOyBpdC0+aXNWYWxpZCgpICYmIGNvbXBh
cmVLZXlzKGl0LT5rZXkoKSwgc3RvcEtleSkgPCAwOyBpdC0+bmV4dCgpKSB7CkBAIC0yOTEsNyAr
Mjg2LDcgQEAgdm9pZCBJREJMZXZlbERCQmFja2luZ1N0b3JlOjpnZXRPYmplY3RTdG9yZXMoaW50
NjRfdCBkYXRhYmFzZUlkLCBWZWN0b3I8aW50NjRfdD4KIHN0YXRpYyBpbnQ2NF90IGdldE5ld09i
amVjdFN0b3JlSWQoTGV2ZWxEQlRyYW5zYWN0aW9uKiB0cmFuc2FjdGlvbiwgaW50NjRfdCBkYXRh
YmFzZUlkKQogewogICAgIGNvbnN0IFZlY3RvcjxjaGFyPiBmcmVlTGlzdFN0YXJ0S2V5ID0gT2Jq
ZWN0U3RvcmVGcmVlTGlzdEtleTo6ZW5jb2RlKGRhdGFiYXNlSWQsIDApOwotICAgIGNvbnN0IFZl
Y3RvcjxjaGFyPiBmcmVlTGlzdFN0b3BLZXkgPSBPYmplY3RTdG9yZUZyZWVMaXN0S2V5OjplbmNv
ZGUoZGF0YWJhc2VJZCwgSU5UNjRfTUFYKTsKKyAgICBjb25zdCBWZWN0b3I8Y2hhcj4gZnJlZUxp
c3RTdG9wS2V5ID0gT2JqZWN0U3RvcmVGcmVlTGlzdEtleTo6ZW5jb2RlTWF4S2V5KGRhdGFiYXNl
SWQpOwogCiAgICAgT3duUHRyPExldmVsREJJdGVyYXRvcj4gaXQgPSB0cmFuc2FjdGlvbi0+Y3Jl
YXRlSXRlcmF0b3IoKTsKICAgICBmb3IgKGl0LT5zZWVrKGZyZWVMaXN0U3RhcnRLZXkpOyBpdC0+
aXNWYWxpZCgpICYmIGNvbXBhcmVLZXlzKGl0LT5rZXkoKSwgZnJlZUxpc3RTdG9wS2V5KSA8IDA7
IGl0LT5uZXh0KCkpIHsKQEAgLTQwNiw5ICs0MDEsOSBAQCB2b2lkIElEQkxldmVsREJCYWNraW5n
U3RvcmU6OmRlbGV0ZU9iamVjdFN0b3JlKGludDY0X3QgZGF0YWJhc2VJZCwgaW50NjRfdCBvYmpl
YwogICAgIHB1dFN0cmluZyhtX2N1cnJlbnRUcmFuc2FjdGlvbi5nZXQoKSwgT2JqZWN0U3RvcmVG
cmVlTGlzdEtleTo6ZW5jb2RlKGRhdGFiYXNlSWQsIG9iamVjdFN0b3JlSWQpLCAiIik7CiAgICAg
bV9jdXJyZW50VHJhbnNhY3Rpb24tPnJlbW92ZShPYmplY3RTdG9yZU5hbWVzS2V5OjplbmNvZGUo
ZGF0YWJhc2VJZCwgb2JqZWN0U3RvcmVOYW1lKSk7CiAKLSAgICBpZiAoIWRlbGV0ZVJhbmdlKG1f
Y3VycmVudFRyYW5zYWN0aW9uLmdldCgpLCBJbmRleEZyZWVMaXN0S2V5OjplbmNvZGUoZGF0YWJh
c2VJZCwgb2JqZWN0U3RvcmVJZCwgMCksIEluZGV4RnJlZUxpc3RLZXk6OmVuY29kZShkYXRhYmFz
ZUlkLCBvYmplY3RTdG9yZUlkLCBJTlQ2NF9NQVgpKSkKKyAgICBpZiAoIWRlbGV0ZVJhbmdlKG1f
Y3VycmVudFRyYW5zYWN0aW9uLmdldCgpLCBJbmRleEZyZWVMaXN0S2V5OjplbmNvZGUoZGF0YWJh
c2VJZCwgb2JqZWN0U3RvcmVJZCwgMCksIEluZGV4RnJlZUxpc3RLZXk6OmVuY29kZU1heEtleShk
YXRhYmFzZUlkLCBvYmplY3RTdG9yZUlkKSkpCiAgICAgICAgIHJldHVybjsgLy8gRklYTUU6IFJl
cG9ydCBlcnJvci4KLSAgICBpZiAoIWRlbGV0ZVJhbmdlKG1fY3VycmVudFRyYW5zYWN0aW9uLmdl
dCgpLCBJbmRleE1ldGFEYXRhS2V5OjplbmNvZGUoZGF0YWJhc2VJZCwgb2JqZWN0U3RvcmVJZCwg
MCwgMCksIEluZGV4TWV0YURhdGFLZXk6OmVuY29kZShkYXRhYmFzZUlkLCBvYmplY3RTdG9yZUlk
LCBJTlQ2NF9NQVgsIDApKSkKKyAgICBpZiAoIWRlbGV0ZVJhbmdlKG1fY3VycmVudFRyYW5zYWN0
aW9uLmdldCgpLCBJbmRleE1ldGFEYXRhS2V5OjplbmNvZGUoZGF0YWJhc2VJZCwgb2JqZWN0U3Rv
cmVJZCwgMCwgMCksIEluZGV4TWV0YURhdGFLZXk6OmVuY29kZU1heEtleShkYXRhYmFzZUlkLCBv
YmplY3RTdG9yZUlkKSkpCiAgICAgICAgIHJldHVybjsgLy8gRklYTUU6IFJlcG9ydCBlcnJvci4K
IAogICAgIGNsZWFyT2JqZWN0U3RvcmUoZGF0YWJhc2VJZCwgb2JqZWN0U3RvcmVJZCk7CkBAIC02
MzksNyArNjM0LDcgQEAgdm9pZCBJREJMZXZlbERCQmFja2luZ1N0b3JlOjpnZXRJbmRleGVzKGlu
dDY0X3QgZGF0YWJhc2VJZCwgaW50NjRfdCBvYmplY3RTdG9yZUkKIHN0YXRpYyBpbnQ2NF90IGdl
dE5ld0luZGV4SWQoTGV2ZWxEQlRyYW5zYWN0aW9uKiB0cmFuc2FjdGlvbiwgaW50NjRfdCBkYXRh
YmFzZUlkLCBpbnQ2NF90IG9iamVjdFN0b3JlSWQpCiB7CiAgICAgY29uc3QgVmVjdG9yPGNoYXI+
IHN0YXJ0S2V5ID0gSW5kZXhGcmVlTGlzdEtleTo6ZW5jb2RlKGRhdGFiYXNlSWQsIG9iamVjdFN0
b3JlSWQsIDApOwotICAgIGNvbnN0IFZlY3RvcjxjaGFyPiBzdG9wS2V5ID0gSW5kZXhGcmVlTGlz
dEtleTo6ZW5jb2RlKGRhdGFiYXNlSWQsIG9iamVjdFN0b3JlSWQsIElOVDY0X01BWCk7CisgICAg
Y29uc3QgVmVjdG9yPGNoYXI+IHN0b3BLZXkgPSBJbmRleEZyZWVMaXN0S2V5OjplbmNvZGVNYXhL
ZXkoZGF0YWJhc2VJZCwgb2JqZWN0U3RvcmVJZCk7CiAKICAgICBPd25QdHI8TGV2ZWxEQkl0ZXJh
dG9yPiBpdCA9IHRyYW5zYWN0aW9uLT5jcmVhdGVJdGVyYXRvcigpOwogICAgIGZvciAoaXQtPnNl
ZWsoc3RhcnRLZXkpOyBpdC0+aXNWYWxpZCgpICYmIGNvbXBhcmVLZXlzKGl0LT5rZXkoKSwgc3Rv
cEtleSkgPCAwOyBpdC0+bmV4dCgpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdG9y
YWdlL0lEQkxldmVsREJDb2RpbmcuY3BwIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJMZXZl
bERCQ29kaW5nLmNwcAppbmRleCBmNzcyMWYyZmZmZmMyZDEyZmRjY2QxYzJlYWMyNjE5MzgzMjU1
Y2RlLi5iMzkyMzcwZTZjOTY2M2UzY2Y1MGFiYzA4MzM3MzZhYzJlMmMwMmMyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQkxldmVsREJDb2RpbmcuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3N0b3JhZ2UvSURCTGV2ZWxEQkNvZGluZy5jcHAKQEAgLTc1MCw2ICs3NTAsMTEg
QEAgVmVjdG9yPGNoYXI+IERhdGFiYXNlRnJlZUxpc3RLZXk6OmVuY29kZShpbnQ2NF90IGRhdGFi
YXNlSWQpCiAgICAgcmV0dXJuIHJldDsKIH0KIAorVmVjdG9yPGNoYXI+IERhdGFiYXNlRnJlZUxp
c3RLZXk6OmVuY29kZU1heEtleSgpCit7CisgICAgcmV0dXJuIGVuY29kZShJTlQ2NF9NQVgpOwor
fQorCiBpbnQ2NF90IERhdGFiYXNlRnJlZUxpc3RLZXk6OmRhdGFiYXNlSWQoKSBjb25zdAogewog
ICAgIEFTU0VSVChtX2RhdGFiYXNlSWQgPj0gMCk7CkBAIC04NDgsNiArODUzLDExIEBAIFZlY3Rv
cjxjaGFyPiBPYmplY3RTdG9yZU1ldGFEYXRhS2V5OjplbmNvZGUoaW50NjRfdCBkYXRhYmFzZUlk
LCBpbnQ2NF90IG9iamVjdFN0CiAgICAgcmV0dXJuIHJldDsKIH0KIAorVmVjdG9yPGNoYXI+IE9i
amVjdFN0b3JlTWV0YURhdGFLZXk6OmVuY29kZU1heEtleShpbnQ2NF90IGRhdGFiYXNlSWQpCit7
CisgICAgcmV0dXJuIGVuY29kZShkYXRhYmFzZUlkLCBJTlQ2NF9NQVgsIElOVDY0X01BWCk7Cit9
CisKIGludDY0X3QgT2JqZWN0U3RvcmVNZXRhRGF0YUtleTo6b2JqZWN0U3RvcmVJZCgpIGNvbnN0
CiB7CiAgICAgQVNTRVJUKG1fb2JqZWN0U3RvcmVJZCA+PSAwKTsKQEAgLTkxMyw2ICs5MjMsMTEg
QEAgVmVjdG9yPGNoYXI+IEluZGV4TWV0YURhdGFLZXk6OmVuY29kZShpbnQ2NF90IGRhdGFiYXNl
SWQsIGludDY0X3Qgb2JqZWN0U3RvcmVJZCwKICAgICByZXR1cm4gcmV0OwogfQogCitWZWN0b3I8
Y2hhcj4gSW5kZXhNZXRhRGF0YUtleTo6ZW5jb2RlTWF4S2V5KGludDY0X3QgZGF0YWJhc2VJZCwg
aW50NjRfdCBvYmplY3RTdG9yZUlkKQoreworICAgIHJldHVybiBlbmNvZGUoZGF0YWJhc2VJZCwg
b2JqZWN0U3RvcmVJZCwgSU5UNjRfTUFYLCAyNTUpOworfQorCiBpbnQgSW5kZXhNZXRhRGF0YUtl
eTo6Y29tcGFyZShjb25zdCBJbmRleE1ldGFEYXRhS2V5JiBvdGhlcikKIHsKICAgICBBU1NFUlQo
bV9vYmplY3RTdG9yZUlkID49IDApOwpAQCAtOTYzLDYgKzk3OCwxMSBAQCBWZWN0b3I8Y2hhcj4g
T2JqZWN0U3RvcmVGcmVlTGlzdEtleTo6ZW5jb2RlKGludDY0X3QgZGF0YWJhc2VJZCwgaW50NjRf
dCBvYmplY3RTdAogICAgIHJldHVybiByZXQ7CiB9CiAKK1ZlY3RvcjxjaGFyPiBPYmplY3RTdG9y
ZUZyZWVMaXN0S2V5OjplbmNvZGVNYXhLZXkoaW50NjRfdCBkYXRhYmFzZUlkKQoreworICAgIHJl
dHVybiBlbmNvZGUoZGF0YWJhc2VJZCwgSU5UNjRfTUFYKTsKK30KKwogaW50NjRfdCBPYmplY3RT
dG9yZUZyZWVMaXN0S2V5OjpvYmplY3RTdG9yZUlkKCkgY29uc3QKIHsKICAgICBBU1NFUlQobV9v
YmplY3RTdG9yZUlkID49IDApOwpAQCAtMTAxNSw2ICsxMDM1LDExIEBAIFZlY3RvcjxjaGFyPiBJ
bmRleEZyZWVMaXN0S2V5OjplbmNvZGUoaW50NjRfdCBkYXRhYmFzZUlkLCBpbnQ2NF90IG9iamVj
dFN0b3JlSWQsCiAgICAgcmV0dXJuIHJldDsKIH0KIAorVmVjdG9yPGNoYXI+IEluZGV4RnJlZUxp
c3RLZXk6OmVuY29kZU1heEtleShpbnQ2NF90IGRhdGFiYXNlSWQsIGludDY0X3Qgb2JqZWN0U3Rv
cmVJZCkKK3sKKyAgICByZXR1cm4gZW5jb2RlKGRhdGFiYXNlSWQsIG9iamVjdFN0b3JlSWQsIElO
VDY0X01BWCk7Cit9CisKIGludCBJbmRleEZyZWVMaXN0S2V5Ojpjb21wYXJlKGNvbnN0IEluZGV4
RnJlZUxpc3RLZXkmIG90aGVyKQogewogICAgIEFTU0VSVChtX29iamVjdFN0b3JlSWQgPj0gMCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQkxldmVsREJDb2RpbmcuaCBi
L1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCTGV2ZWxEQkNvZGluZy5oCmluZGV4IDJmY2Y2NzYx
MzkwN2ZlMjdiNDFjYjExZDk4ZjcwYTNhODFiNzZjZmIuLjg4NDU2MjkyOTA1NmUxMDRlNDlkOWYx
M2RiNWVlMmVlMDdhZTM4M2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURC
TGV2ZWxEQkNvZGluZy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCTGV2ZWxEQkNv
ZGluZy5oCkBAIC0xMDQsNiArMTA0LDcgQEAgcHVibGljOgogICAgIERhdGFiYXNlRnJlZUxpc3RL
ZXkoKTsKICAgICBzdGF0aWMgY29uc3QgY2hhciogZGVjb2RlKGNvbnN0IGNoYXIqIHN0YXJ0LCBj
b25zdCBjaGFyKiBsaW1pdCwgRGF0YWJhc2VGcmVlTGlzdEtleSogcmVzdWx0KTsKICAgICBzdGF0
aWMgVmVjdG9yPGNoYXI+IGVuY29kZShpbnQ2NF90IGRhdGFiYXNlSWQpOworICAgIHN0YXRpYyBW
ZWN0b3I8Y2hhcj4gZW5jb2RlTWF4S2V5KCk7CiAgICAgaW50NjRfdCBkYXRhYmFzZUlkKCkgY29u
c3Q7CiAgICAgaW50IGNvbXBhcmUoY29uc3QgRGF0YWJhc2VGcmVlTGlzdEtleSYgb3RoZXIpIGNv
bnN0OwogCkBAIC0xNDEsNiArMTQyLDcgQEAgcHVibGljOgogICAgIE9iamVjdFN0b3JlTWV0YURh
dGFLZXkoKTsKICAgICBzdGF0aWMgY29uc3QgY2hhciogZGVjb2RlKGNvbnN0IGNoYXIqIHN0YXJ0
LCBjb25zdCBjaGFyKiBsaW1pdCwgT2JqZWN0U3RvcmVNZXRhRGF0YUtleSogcmVzdWx0KTsKICAg
ICBzdGF0aWMgVmVjdG9yPGNoYXI+IGVuY29kZShpbnQ2NF90IGRhdGFiYXNlSWQsIGludDY0X3Qg
b2JqZWN0U3RvcmVJZCwgaW50NjRfdCBtZXRhRGF0YVR5cGUpOworICAgIHN0YXRpYyBWZWN0b3I8
Y2hhcj4gZW5jb2RlTWF4S2V5KGludDY0X3QgZGF0YWJhc2VJZCk7CiAgICAgaW50NjRfdCBvYmpl
Y3RTdG9yZUlkKCkgY29uc3Q7CiAgICAgaW50NjRfdCBtZXRhRGF0YVR5cGUoKSBjb25zdDsKICAg
ICBpbnQgY29tcGFyZShjb25zdCBPYmplY3RTdG9yZU1ldGFEYXRhS2V5JiBvdGhlcik7CkBAIC0x
NTUsNiArMTU3LDcgQEAgcHVibGljOgogICAgIEluZGV4TWV0YURhdGFLZXkoKTsKICAgICBzdGF0
aWMgY29uc3QgY2hhciogZGVjb2RlKGNvbnN0IGNoYXIqIHN0YXJ0LCBjb25zdCBjaGFyKiBsaW1p
dCwgSW5kZXhNZXRhRGF0YUtleSogcmVzdWx0KTsKICAgICBzdGF0aWMgVmVjdG9yPGNoYXI+IGVu
Y29kZShpbnQ2NF90IGRhdGFiYXNlSWQsIGludDY0X3Qgb2JqZWN0U3RvcmVJZCwgaW50NjRfdCBp
bmRleElkLCB1bnNpZ25lZCBjaGFyIG1ldGFEYXRhVHlwZSk7CisgICAgc3RhdGljIFZlY3Rvcjxj
aGFyPiBlbmNvZGVNYXhLZXkoaW50NjRfdCBkYXRhYmFzZUlkLCBpbnQ2NF90IG9iamVjdFN0b3Jl
SWQpOwogICAgIGludCBjb21wYXJlKGNvbnN0IEluZGV4TWV0YURhdGFLZXkmIG90aGVyKTsKICAg
ICBpbnQ2NF90IGluZGV4SWQoKSBjb25zdDsKICAgICB1bnNpZ25lZCBjaGFyIG1ldGFEYXRhVHlw
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fbWV0YURhdGFUeXBlOyB9CkBAIC0xNzAsNiArMTczLDcgQEAg
cHVibGljOgogICAgIE9iamVjdFN0b3JlRnJlZUxpc3RLZXkoKTsKICAgICBzdGF0aWMgY29uc3Qg
Y2hhciogZGVjb2RlKGNvbnN0IGNoYXIqIHN0YXJ0LCBjb25zdCBjaGFyKiBsaW1pdCwgT2JqZWN0
U3RvcmVGcmVlTGlzdEtleSogcmVzdWx0KTsKICAgICBzdGF0aWMgVmVjdG9yPGNoYXI+IGVuY29k
ZShpbnQ2NF90IGRhdGFiYXNlSWQsIGludDY0X3Qgb2JqZWN0U3RvcmVJZCk7CisgICAgc3RhdGlj
IFZlY3RvcjxjaGFyPiBlbmNvZGVNYXhLZXkoaW50NjRfdCBkYXRhYmFzZUlkKTsKICAgICBpbnQ2
NF90IG9iamVjdFN0b3JlSWQoKSBjb25zdDsKICAgICBpbnQgY29tcGFyZShjb25zdCBPYmplY3RT
dG9yZUZyZWVMaXN0S2V5JiBvdGhlcik7CiAKQEAgLTE4Miw2ICsxODYsNyBAQCBwdWJsaWM6CiAg
ICAgSW5kZXhGcmVlTGlzdEtleSgpOwogICAgIHN0YXRpYyBjb25zdCBjaGFyKiBkZWNvZGUoY29u
c3QgY2hhciogc3RhcnQsIGNvbnN0IGNoYXIqIGxpbWl0LCBJbmRleEZyZWVMaXN0S2V5KiByZXN1
bHQpOwogICAgIHN0YXRpYyBWZWN0b3I8Y2hhcj4gZW5jb2RlKGludDY0X3QgZGF0YWJhc2VJZCwg
aW50NjRfdCBvYmplY3RTdG9yZUlkLCBpbnQ2NF90IGluZGV4SWQpOworICAgIHN0YXRpYyBWZWN0
b3I8Y2hhcj4gZW5jb2RlTWF4S2V5KGludDY0X3QgZGF0YWJhc2VJZCwgaW50NjRfdCBvYmplY3RT
dG9yZUlkKTsKICAgICBpbnQgY29tcGFyZShjb25zdCBJbmRleEZyZWVMaXN0S2V5JiBvdGhlcik7
CiAgICAgaW50NjRfdCBvYmplY3RTdG9yZUlkKCkgY29uc3Q7CiAgICAgaW50NjRfdCBpbmRleElk
KCkgY29uc3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDAzYjYxYjZhNDQ5YWUxMzVi
NWExNjIwN2QxMzg4NTEwMjg2NzEzYjcuLjk5NGZhODBjYTRiMWVkOGYwNDRmMThmMDg4ZDk0ZGE4
NGRiNjU1NTQgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIw
MTEtMDYtMDMgIEhhbnMgV2VubmJvcmcgIDxoYW5zQGNocm9taXVtLm9yZz4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbmRleGVkREI6IENsZWFuLXVw
IHVzZSBvZiBJTlQ2NF9NQVggaW4gTGV2ZWxEQiBiYWNrLWVuZAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIwMDkKKworICAgICAgICBEb24ndCB1c2Ug
SU5UNjRfTUFYLCB1c2UgdGhlIHZhcmlvdXMgZW5jb2RlTWF4S2V5KCkgZnVuY3Rpb25zIGluc3Rl
YWQuCisKKyAgICAgICAgKiB0ZXN0cy9JREJMZXZlbERCQ29kaW5nVGVzdC5jcHA6CisgICAgICAg
IChJREJMZXZlbERCQ29kaW5nOjpURVNUKToKKwogMjAxMS0wNi0wMiAgWXVyeSBTZW1pa2hhdHNr
eSAgPHl1cnlzQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBQYXZlbCBGZWxk
bWFuLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9JREJMZXZlbERC
Q29kaW5nVGVzdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0lEQkxldmVsREJD
b2RpbmdUZXN0LmNwcAppbmRleCBhZjc5MzhhYzM3N2Y4ZTdkODE1YTU4NzNkODc2ZWEwMzU2ODM0
NTA0Li44MTI5NzZjZjA2MzM3NjAxOGI5YjI5NzRmY2IyNzkxZjIyY2YxY2MzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0lEQkxldmVsREJDb2RpbmdUZXN0LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0lEQkxldmVsREJDb2RpbmdUZXN0LmNw
cApAQCAtMzQsMTEgKzM0LDYgQEAKICNpbmNsdWRlIDxndGVzdC9ndGVzdC5oPgogI2luY2x1ZGUg
PHd0Zi9WZWN0b3IuaD4KIAotI2lmbmRlZiBJTlQ2NF9NQVgKLS8vIEZJWE1FOiBXZSBzaG91bGRu
J3QgbmVlZCB0byByZWx5IG9uIHRoZXNlIG1hY3Jvcy4KLSNkZWZpbmUgSU5UNjRfTUFYIDB4N2Zm
ZmZmZmZmZmZmZmZmZkxMCi0jZW5kaWYKLQogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiB1c2lu
ZyBuYW1lc3BhY2UgSURCTGV2ZWxEQkNvZGluZzsKIApAQCAtMzQ1LDQyICszNDAsMzggQEAgVEVT
VChJREJMZXZlbERCQ29kaW5nVGVzdCwgQ29tcGFyaXNvblRlc3QpCiAgICAga2V5cy5hcHBlbmQo
U2NoZW1hVmVyc2lvbktleTo6ZW5jb2RlKCkpOwogICAgIGtleXMuYXBwZW5kKE1heERhdGFiYXNl
SWRLZXk6OmVuY29kZSgpKTsKICAgICBrZXlzLmFwcGVuZChEYXRhYmFzZUZyZWVMaXN0S2V5Ojpl
bmNvZGUoMCkpOwotICAgIGtleXMuYXBwZW5kKERhdGFiYXNlRnJlZUxpc3RLZXk6OmVuY29kZShJ
TlQ2NF9NQVgpKTsKKyAgICBrZXlzLmFwcGVuZChEYXRhYmFzZUZyZWVMaXN0S2V5OjplbmNvZGVN
YXhLZXkoKSk7CiAgICAga2V5cy5hcHBlbmQoRGF0YWJhc2VOYW1lS2V5OjplbmNvZGUoIiIsICIi
KSk7CiAgICAga2V5cy5hcHBlbmQoRGF0YWJhc2VOYW1lS2V5OjplbmNvZGUoIiIsICJhIikpOwog
ICAgIGtleXMuYXBwZW5kKERhdGFiYXNlTmFtZUtleTo6ZW5jb2RlKCJhIiwgImEiKSk7CiAgICAg
a2V5cy5hcHBlbmQoRGF0YWJhc2VNZXRhRGF0YUtleTo6ZW5jb2RlKDEsIERhdGFiYXNlTWV0YURh
dGFLZXk6OmtPcmlnaW5OYW1lKSk7CiAgICAga2V5cy5hcHBlbmQoT2JqZWN0U3RvcmVNZXRhRGF0
YUtleTo6ZW5jb2RlKDEsIDEsIDApKTsKLSAgICBrZXlzLmFwcGVuZChPYmplY3RTdG9yZU1ldGFE
YXRhS2V5OjplbmNvZGUoMSwgSU5UNjRfTUFYLCAwKSk7CisgICAga2V5cy5hcHBlbmQoT2JqZWN0
U3RvcmVNZXRhRGF0YUtleTo6ZW5jb2RlTWF4S2V5KDEpKTsKICAgICBrZXlzLmFwcGVuZChJbmRl
eE1ldGFEYXRhS2V5OjplbmNvZGUoMSwgMSwgMzAsIDApKTsKLSAgICBrZXlzLmFwcGVuZChJbmRl
eE1ldGFEYXRhS2V5OjplbmNvZGUoMSwgMSwgSU5UNjRfTUFYLCAwKSk7CisgICAga2V5cy5hcHBl
bmQoSW5kZXhNZXRhRGF0YUtleTo6ZW5jb2RlKDEsIDEsIDMxLCAwKSk7CisgICAga2V5cy5hcHBl
bmQoSW5kZXhNZXRhRGF0YUtleTo6ZW5jb2RlKDEsIDEsIDMxLCAxKSk7CiAgICAga2V5cy5hcHBl
bmQoT2JqZWN0U3RvcmVGcmVlTGlzdEtleTo6ZW5jb2RlKDEsIDEpKTsKLSAgICBrZXlzLmFwcGVu
ZChPYmplY3RTdG9yZUZyZWVMaXN0S2V5OjplbmNvZGUoMSwgSU5UNjRfTUFYKSk7Ci0gICAga2V5
cy5hcHBlbmQoSW5kZXhGcmVlTGlzdEtleTo6ZW5jb2RlKDEsIDEsIDMwKSk7Ci0gICAga2V5cy5h
cHBlbmQoSW5kZXhGcmVlTGlzdEtleTo6ZW5jb2RlKDEsIDEsIElOVDY0X01BWCkpOwotICAgIGtl
eXMuYXBwZW5kKEluZGV4RnJlZUxpc3RLZXk6OmVuY29kZSgxLCBJTlQ2NF9NQVgsIDMwKSk7Ci0g
ICAga2V5cy5hcHBlbmQoSW5kZXhGcmVlTGlzdEtleTo6ZW5jb2RlKDEsIElOVDY0X01BWCwgSU5U
NjRfTUFYKSk7CisgICAga2V5cy5hcHBlbmQoT2JqZWN0U3RvcmVGcmVlTGlzdEtleTo6ZW5jb2Rl
TWF4S2V5KDEpKTsKKyAgICBrZXlzLmFwcGVuZChJbmRleEZyZWVMaXN0S2V5OjplbmNvZGUoMSwg
MSwga01pbmltdW1JbmRleElkKSk7CisgICAga2V5cy5hcHBlbmQoSW5kZXhGcmVlTGlzdEtleTo6
ZW5jb2RlTWF4S2V5KDEsIDEpKTsKKyAgICBrZXlzLmFwcGVuZChJbmRleEZyZWVMaXN0S2V5Ojpl
bmNvZGUoMSwgMiwga01pbmltdW1JbmRleElkKSk7CisgICAga2V5cy5hcHBlbmQoSW5kZXhGcmVl
TGlzdEtleTo6ZW5jb2RlTWF4S2V5KDEsIDIpKTsKICAgICBrZXlzLmFwcGVuZChPYmplY3RTdG9y
ZU5hbWVzS2V5OjplbmNvZGUoMSwgIiIpKTsKICAgICBrZXlzLmFwcGVuZChPYmplY3RTdG9yZU5h
bWVzS2V5OjplbmNvZGUoMSwgImEiKSk7CiAgICAga2V5cy5hcHBlbmQoSW5kZXhOYW1lc0tleTo6
ZW5jb2RlKDEsIDEsICIiKSk7CiAgICAga2V5cy5hcHBlbmQoSW5kZXhOYW1lc0tleTo6ZW5jb2Rl
KDEsIDEsICJhIikpOwotICAgIGtleXMuYXBwZW5kKEluZGV4TmFtZXNLZXk6OmVuY29kZSgxLCBJ
TlQ2NF9NQVgsICJhIikpOworICAgIGtleXMuYXBwZW5kKEluZGV4TmFtZXNLZXk6OmVuY29kZSgx
LCAyLCAiYSIpKTsKICAgICBrZXlzLmFwcGVuZChPYmplY3RTdG9yZURhdGFLZXk6OmVuY29kZSgx
LCAxLCBtaW5JREJLZXkoKSkpOwogICAgIGtleXMuYXBwZW5kKE9iamVjdFN0b3JlRGF0YUtleTo6
ZW5jb2RlKDEsIDEsIG1heElEQktleSgpKSk7CiAgICAga2V5cy5hcHBlbmQoRXhpc3RzRW50cnlL
ZXk6OmVuY29kZSgxLCAxLCBtaW5JREJLZXkoKSkpOwogICAgIGtleXMuYXBwZW5kKEV4aXN0c0Vu
dHJ5S2V5OjplbmNvZGUoMSwgMSwgbWF4SURCS2V5KCkpKTsKICAgICBrZXlzLmFwcGVuZChJbmRl
eERhdGFLZXk6OmVuY29kZSgxLCAxLCAzMCwgbWluSURCS2V5KCksIDApKTsKLSAgICBrZXlzLmFw
cGVuZChJbmRleERhdGFLZXk6OmVuY29kZSgxLCAxLCAzMCwgbWluSURCS2V5KCksIElOVDY0X01B
WCkpOworICAgIGtleXMuYXBwZW5kKEluZGV4RGF0YUtleTo6ZW5jb2RlKDEsIDEsIDMwLCBtaW5J
REJLZXkoKSwgMSkpOwogICAgIGtleXMuYXBwZW5kKEluZGV4RGF0YUtleTo6ZW5jb2RlKDEsIDEs
IDMwLCBtYXhJREJLZXkoKSwgMCkpOwotICAgIGtleXMuYXBwZW5kKEluZGV4RGF0YUtleTo6ZW5j
b2RlKDEsIDEsIDMwLCBtYXhJREJLZXkoKSwgSU5UNjRfTUFYKSk7CisgICAga2V5cy5hcHBlbmQo
SW5kZXhEYXRhS2V5OjplbmNvZGUoMSwgMSwgMzAsIG1heElEQktleSgpLCAxKSk7CiAgICAga2V5
cy5hcHBlbmQoSW5kZXhEYXRhS2V5OjplbmNvZGUoMSwgMSwgMzEsIG1pbklEQktleSgpLCAwKSk7
CiAgICAga2V5cy5hcHBlbmQoSW5kZXhEYXRhS2V5OjplbmNvZGUoMSwgMiwgMzAsIG1pbklEQktl
eSgpLCAwKSk7CiAgICAga2V5cy5hcHBlbmQoSW5kZXhEYXRhS2V5OjplbmNvZGVNYXhLZXkoMSwg
MikpOwotICAgIGtleXMuYXBwZW5kKE9iamVjdFN0b3JlRGF0YUtleTo6ZW5jb2RlKDEsIElOVDY0
X01BWCwgbWluSURCS2V5KCkpKTsKLSAgICBrZXlzLmFwcGVuZChFeGlzdHNFbnRyeUtleTo6ZW5j
b2RlKDEsIElOVDY0X01BWCwgbWF4SURCS2V5KCkpKTsKLSAgICBrZXlzLmFwcGVuZChJbmRleERh
dGFLZXk6OmVuY29kZU1heEtleSgxLCBJTlQ2NF9NQVgpKTsKLSAgICBrZXlzLmFwcGVuZChEYXRh
YmFzZU1ldGFEYXRhS2V5OjplbmNvZGUoSU5UNjRfTUFYLCBEYXRhYmFzZU1ldGFEYXRhS2V5Ojpr
T3JpZ2luTmFtZSkpOwotICAgIGtleXMuYXBwZW5kKEluZGV4RGF0YUtleTo6ZW5jb2RlTWF4S2V5
KElOVDY0X01BWCwgSU5UNjRfTUFYKSk7CiAKICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGtl
eXMuc2l6ZSgpOyArK2kpIHsKICAgICAgICAgY29uc3QgTGV2ZWxEQlNsaWNlIGtleUEoa2V5c1tp
XSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>95911</attachid>
            <date>2011-06-03 07:45:05 -0700</date>
            <delta_ts>2011-06-03 07:55:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-62009-20110603154502.patch</filename>
            <type>text/plain</type>
            <size>15047</size>
            <attacher name="Hans Wennborg">hans</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODc5OTcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAzNTczN2Y5N2MxYzExOWRh
YTRmNTNkYjQ2NzYyOWM1NGY1YWM0YTAwLi4xNTlmY2JiZDg4Yzc4YTg1MjUzYzU2MjJhNzU2Mzlk
NzBjZjc5MGE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjggQEAKKzIwMTEtMDYtMDMgIEhhbnMg
V2VubmJvcmcgIDxoYW5zQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBJbmRleGVkREI6IENsZWFuLXVwIHVzZSBvZiBJTlQ2NF9N
QVggaW4gTGV2ZWxEQiBiYWNrLWVuZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NjIwMDkKKworICAgICAgICBUaGlzIGNvbnN0YW50IHNob3VsZCBvbmx5
IGJlIG5lZWRlZCBpbnNpZGUgSURCTGV2ZWxEQkNvZGluZy5jcHAuCisKKyAgICAgICAgTm8gbmV3
IGZ1bmN0aW9uYWxpdHksIG5vIG5ldyB0ZXN0cy4KKworICAgICAgICAqIHN0b3JhZ2UvSURCTGV2
ZWxEQkJhY2tpbmdTdG9yZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpnZXROZXdEYXRhYmFzZUlk
KToKKyAgICAgICAgKFdlYkNvcmU6OklEQkxldmVsREJCYWNraW5nU3RvcmU6OmdldE9iamVjdFN0
b3Jlcyk6CisgICAgICAgIChXZWJDb3JlOjpnZXROZXdPYmplY3RTdG9yZUlkKToKKyAgICAgICAg
KFdlYkNvcmU6OklEQkxldmVsREJCYWNraW5nU3RvcmU6OmRlbGV0ZU9iamVjdFN0b3JlKToKKyAg
ICAgICAgKFdlYkNvcmU6OmdldE5ld0luZGV4SWQpOgorICAgICAgICAqIHN0b3JhZ2UvSURCTGV2
ZWxEQkNvZGluZy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJMZXZlbERCQ29kaW5nOjpEYXRh
YmFzZUZyZWVMaXN0S2V5OjplbmNvZGVNYXhLZXkpOgorICAgICAgICAoV2ViQ29yZTo6SURCTGV2
ZWxEQkNvZGluZzo6T2JqZWN0U3RvcmVNZXRhRGF0YUtleTo6ZW5jb2RlTWF4S2V5KToKKyAgICAg
ICAgKFdlYkNvcmU6OklEQkxldmVsREJDb2Rpbmc6OkluZGV4TWV0YURhdGFLZXk6OmVuY29kZU1h
eEtleSk6CisgICAgICAgIChXZWJDb3JlOjpJREJMZXZlbERCQ29kaW5nOjpPYmplY3RTdG9yZUZy
ZWVMaXN0S2V5OjplbmNvZGVNYXhLZXkpOgorICAgICAgICAoV2ViQ29yZTo6SURCTGV2ZWxEQkNv
ZGluZzo6SW5kZXhGcmVlTGlzdEtleTo6ZW5jb2RlTWF4S2V5KToKKyAgICAgICAgKiBzdG9yYWdl
L0lEQkxldmVsREJDb2RpbmcuaDoKKwogMjAxMS0wNi0wMyAgUGV0ZXIgVmFyZ2EgIDxwdmFyZ2FA
d2Via2l0Lm9yZz4KIAogICAgICAgICBSdWJiZXItc3RhbXBlZCBieSBDc2FiYSBPc3p0cm9nb27h
Yy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCTGV2ZWxEQkJhY2tpbmdT
dG9yZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQkxldmVsREJCYWNraW5nU3RvcmUu
Y3BwCmluZGV4IDgzNWY1NTI4MTNiMDE4MjMzNzdlMTg2NWZjYjZmN2M4YzE4NTc0YTcuLmNjZmUx
ZjExMzNmMTQ0NWRkMGY0ZDk1NmIyZjBiZWExODkwZDdmMTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3N0b3JhZ2UvSURCTGV2ZWxEQkJhY2tpbmdTdG9yZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvc3RvcmFnZS9JREJMZXZlbERCQmFja2luZ1N0b3JlLmNwcApAQCAtNDEsMTEgKzQxLDYg
QEAKICNpbmNsdWRlICJMZXZlbERCVHJhbnNhY3Rpb24uaCIKICNpbmNsdWRlICJTZWN1cml0eU9y
aWdpbi5oIgogCi0jaWZuZGVmIElOVDY0X01BWAotLy8gRklYTUU6IFdlIHNob3VsZG4ndCBuZWVk
IHRvIHJlbHkgb24gdGhlc2UgbWFjcm9zLgotI2RlZmluZSBJTlQ2NF9NQVggMHg3ZmZmZmZmZmZm
ZmZmZmZmTEwKLSNlbmRpZgotCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHVzaW5nIG5hbWVzcGFj
ZSBJREJMZXZlbERCQ29kaW5nOwpAQCAtMTgzLDcgKzE3OCw3IEBAIGJvb2wgSURCTGV2ZWxEQkJh
Y2tpbmdTdG9yZTo6ZXh0cmFjdElEQkRhdGFiYXNlTWV0YURhdGEoY29uc3QgU3RyaW5nJiBuYW1l
LCBTdHJpCiBzdGF0aWMgaW50NjRfdCBnZXROZXdEYXRhYmFzZUlkKExldmVsREJEYXRhYmFzZSog
ZGIpCiB7CiAgICAgY29uc3QgVmVjdG9yPGNoYXI+IGZyZWVMaXN0U3RhcnRLZXkgPSBEYXRhYmFz
ZUZyZWVMaXN0S2V5OjplbmNvZGUoMCk7Ci0gICAgY29uc3QgVmVjdG9yPGNoYXI+IGZyZWVMaXN0
U3RvcEtleSA9IERhdGFiYXNlRnJlZUxpc3RLZXk6OmVuY29kZShJTlQ2NF9NQVgpOworICAgIGNv
bnN0IFZlY3RvcjxjaGFyPiBmcmVlTGlzdFN0b3BLZXkgPSBEYXRhYmFzZUZyZWVMaXN0S2V5Ojpl
bmNvZGVNYXhLZXkoKTsKIAogICAgIE93blB0cjxMZXZlbERCSXRlcmF0b3I+IGl0ID0gZGItPmNy
ZWF0ZUl0ZXJhdG9yKCk7CiAgICAgZm9yIChpdC0+c2VlayhmcmVlTGlzdFN0YXJ0S2V5KTsgaXQt
PmlzVmFsaWQoKSAmJiBjb21wYXJlS2V5cyhpdC0+a2V5KCksIGZyZWVMaXN0U3RvcEtleSkgPCAw
OyBpdC0+bmV4dCgpKSB7CkBAIC0yMzQsNyArMjI5LDcgQEAgYm9vbCBJREJMZXZlbERCQmFja2lu
Z1N0b3JlOjpzZXRJREJEYXRhYmFzZU1ldGFEYXRhKGNvbnN0IFN0cmluZyYgbmFtZSwgY29uc3Qg
U3QKIHZvaWQgSURCTGV2ZWxEQkJhY2tpbmdTdG9yZTo6Z2V0T2JqZWN0U3RvcmVzKGludDY0X3Qg
ZGF0YWJhc2VJZCwgVmVjdG9yPGludDY0X3Q+JiBmb3VuZElkcywgVmVjdG9yPFN0cmluZz4mIGZv
dW5kTmFtZXMsIFZlY3RvcjxTdHJpbmc+JiBmb3VuZEtleVBhdGhzLCBWZWN0b3I8Ym9vbD4mIGZv
dW5kQXV0b0luY3JlbWVudEZsYWdzKQogewogICAgIGNvbnN0IFZlY3RvcjxjaGFyPiBzdGFydEtl
eSA9IE9iamVjdFN0b3JlTWV0YURhdGFLZXk6OmVuY29kZShkYXRhYmFzZUlkLCAxLCAwKTsKLSAg
ICBjb25zdCBWZWN0b3I8Y2hhcj4gc3RvcEtleSA9IE9iamVjdFN0b3JlTWV0YURhdGFLZXk6OmVu
Y29kZShkYXRhYmFzZUlkLCBJTlQ2NF9NQVgsIDApOworICAgIGNvbnN0IFZlY3RvcjxjaGFyPiBz
dG9wS2V5ID0gT2JqZWN0U3RvcmVNZXRhRGF0YUtleTo6ZW5jb2RlTWF4S2V5KGRhdGFiYXNlSWQp
OwogCiAgICAgT3duUHRyPExldmVsREJJdGVyYXRvcj4gaXQgPSBtX2RiLT5jcmVhdGVJdGVyYXRv
cigpOwogICAgIGZvciAoaXQtPnNlZWsoc3RhcnRLZXkpOyBpdC0+aXNWYWxpZCgpICYmIGNvbXBh
cmVLZXlzKGl0LT5rZXkoKSwgc3RvcEtleSkgPCAwOyBpdC0+bmV4dCgpKSB7CkBAIC0yOTEsNyAr
Mjg2LDcgQEAgdm9pZCBJREJMZXZlbERCQmFja2luZ1N0b3JlOjpnZXRPYmplY3RTdG9yZXMoaW50
NjRfdCBkYXRhYmFzZUlkLCBWZWN0b3I8aW50NjRfdD4KIHN0YXRpYyBpbnQ2NF90IGdldE5ld09i
amVjdFN0b3JlSWQoTGV2ZWxEQlRyYW5zYWN0aW9uKiB0cmFuc2FjdGlvbiwgaW50NjRfdCBkYXRh
YmFzZUlkKQogewogICAgIGNvbnN0IFZlY3RvcjxjaGFyPiBmcmVlTGlzdFN0YXJ0S2V5ID0gT2Jq
ZWN0U3RvcmVGcmVlTGlzdEtleTo6ZW5jb2RlKGRhdGFiYXNlSWQsIDApOwotICAgIGNvbnN0IFZl
Y3RvcjxjaGFyPiBmcmVlTGlzdFN0b3BLZXkgPSBPYmplY3RTdG9yZUZyZWVMaXN0S2V5OjplbmNv
ZGUoZGF0YWJhc2VJZCwgSU5UNjRfTUFYKTsKKyAgICBjb25zdCBWZWN0b3I8Y2hhcj4gZnJlZUxp
c3RTdG9wS2V5ID0gT2JqZWN0U3RvcmVGcmVlTGlzdEtleTo6ZW5jb2RlTWF4S2V5KGRhdGFiYXNl
SWQpOwogCiAgICAgT3duUHRyPExldmVsREJJdGVyYXRvcj4gaXQgPSB0cmFuc2FjdGlvbi0+Y3Jl
YXRlSXRlcmF0b3IoKTsKICAgICBmb3IgKGl0LT5zZWVrKGZyZWVMaXN0U3RhcnRLZXkpOyBpdC0+
aXNWYWxpZCgpICYmIGNvbXBhcmVLZXlzKGl0LT5rZXkoKSwgZnJlZUxpc3RTdG9wS2V5KSA8IDA7
IGl0LT5uZXh0KCkpIHsKQEAgLTQwNiw5ICs0MDEsOSBAQCB2b2lkIElEQkxldmVsREJCYWNraW5n
U3RvcmU6OmRlbGV0ZU9iamVjdFN0b3JlKGludDY0X3QgZGF0YWJhc2VJZCwgaW50NjRfdCBvYmpl
YwogICAgIHB1dFN0cmluZyhtX2N1cnJlbnRUcmFuc2FjdGlvbi5nZXQoKSwgT2JqZWN0U3RvcmVG
cmVlTGlzdEtleTo6ZW5jb2RlKGRhdGFiYXNlSWQsIG9iamVjdFN0b3JlSWQpLCAiIik7CiAgICAg
bV9jdXJyZW50VHJhbnNhY3Rpb24tPnJlbW92ZShPYmplY3RTdG9yZU5hbWVzS2V5OjplbmNvZGUo
ZGF0YWJhc2VJZCwgb2JqZWN0U3RvcmVOYW1lKSk7CiAKLSAgICBpZiAoIWRlbGV0ZVJhbmdlKG1f
Y3VycmVudFRyYW5zYWN0aW9uLmdldCgpLCBJbmRleEZyZWVMaXN0S2V5OjplbmNvZGUoZGF0YWJh
c2VJZCwgb2JqZWN0U3RvcmVJZCwgMCksIEluZGV4RnJlZUxpc3RLZXk6OmVuY29kZShkYXRhYmFz
ZUlkLCBvYmplY3RTdG9yZUlkLCBJTlQ2NF9NQVgpKSkKKyAgICBpZiAoIWRlbGV0ZVJhbmdlKG1f
Y3VycmVudFRyYW5zYWN0aW9uLmdldCgpLCBJbmRleEZyZWVMaXN0S2V5OjplbmNvZGUoZGF0YWJh
c2VJZCwgb2JqZWN0U3RvcmVJZCwgMCksIEluZGV4RnJlZUxpc3RLZXk6OmVuY29kZU1heEtleShk
YXRhYmFzZUlkLCBvYmplY3RTdG9yZUlkKSkpCiAgICAgICAgIHJldHVybjsgLy8gRklYTUU6IFJl
cG9ydCBlcnJvci4KLSAgICBpZiAoIWRlbGV0ZVJhbmdlKG1fY3VycmVudFRyYW5zYWN0aW9uLmdl
dCgpLCBJbmRleE1ldGFEYXRhS2V5OjplbmNvZGUoZGF0YWJhc2VJZCwgb2JqZWN0U3RvcmVJZCwg
MCwgMCksIEluZGV4TWV0YURhdGFLZXk6OmVuY29kZShkYXRhYmFzZUlkLCBvYmplY3RTdG9yZUlk
LCBJTlQ2NF9NQVgsIDApKSkKKyAgICBpZiAoIWRlbGV0ZVJhbmdlKG1fY3VycmVudFRyYW5zYWN0
aW9uLmdldCgpLCBJbmRleE1ldGFEYXRhS2V5OjplbmNvZGUoZGF0YWJhc2VJZCwgb2JqZWN0U3Rv
cmVJZCwgMCwgMCksIEluZGV4TWV0YURhdGFLZXk6OmVuY29kZU1heEtleShkYXRhYmFzZUlkLCBv
YmplY3RTdG9yZUlkKSkpCiAgICAgICAgIHJldHVybjsgLy8gRklYTUU6IFJlcG9ydCBlcnJvci4K
IAogICAgIGNsZWFyT2JqZWN0U3RvcmUoZGF0YWJhc2VJZCwgb2JqZWN0U3RvcmVJZCk7CkBAIC02
MzksNyArNjM0LDcgQEAgdm9pZCBJREJMZXZlbERCQmFja2luZ1N0b3JlOjpnZXRJbmRleGVzKGlu
dDY0X3QgZGF0YWJhc2VJZCwgaW50NjRfdCBvYmplY3RTdG9yZUkKIHN0YXRpYyBpbnQ2NF90IGdl
dE5ld0luZGV4SWQoTGV2ZWxEQlRyYW5zYWN0aW9uKiB0cmFuc2FjdGlvbiwgaW50NjRfdCBkYXRh
YmFzZUlkLCBpbnQ2NF90IG9iamVjdFN0b3JlSWQpCiB7CiAgICAgY29uc3QgVmVjdG9yPGNoYXI+
IHN0YXJ0S2V5ID0gSW5kZXhGcmVlTGlzdEtleTo6ZW5jb2RlKGRhdGFiYXNlSWQsIG9iamVjdFN0
b3JlSWQsIDApOwotICAgIGNvbnN0IFZlY3RvcjxjaGFyPiBzdG9wS2V5ID0gSW5kZXhGcmVlTGlz
dEtleTo6ZW5jb2RlKGRhdGFiYXNlSWQsIG9iamVjdFN0b3JlSWQsIElOVDY0X01BWCk7CisgICAg
Y29uc3QgVmVjdG9yPGNoYXI+IHN0b3BLZXkgPSBJbmRleEZyZWVMaXN0S2V5OjplbmNvZGVNYXhL
ZXkoZGF0YWJhc2VJZCwgb2JqZWN0U3RvcmVJZCk7CiAKICAgICBPd25QdHI8TGV2ZWxEQkl0ZXJh
dG9yPiBpdCA9IHRyYW5zYWN0aW9uLT5jcmVhdGVJdGVyYXRvcigpOwogICAgIGZvciAoaXQtPnNl
ZWsoc3RhcnRLZXkpOyBpdC0+aXNWYWxpZCgpICYmIGNvbXBhcmVLZXlzKGl0LT5rZXkoKSwgc3Rv
cEtleSkgPCAwOyBpdC0+bmV4dCgpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdG9y
YWdlL0lEQkxldmVsREJDb2RpbmcuY3BwIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJMZXZl
bERCQ29kaW5nLmNwcAppbmRleCBmNzcyMWYyZmZmZmMyZDEyZmRjY2QxYzJlYWMyNjE5MzgzMjU1
Y2RlLi40MTM0NzFlNTFkYTAxMWMyMTc2YjUzMGIwODMyMGUyNDAyN2RhOTM4IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQkxldmVsREJDb2RpbmcuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3N0b3JhZ2UvSURCTGV2ZWxEQkNvZGluZy5jcHAKQEAgLTE0NSw3ICsxNDUsNiBA
QCBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBrT2JqZWN0U3RvcmVOYW1lc1R5cGVCeXRlID0g
MjAwOwogc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIga0luZGV4TmFtZXNLZXlUeXBlQnl0ZSA9
IDIwMTsKIAogI2lmbmRlZiBJTlQ2NF9NQVgKLS8vIEZJWE1FOiBXZSBzaG91bGRuJ3QgbmVlZCB0
byByZWx5IG9uIHRoZXNlIG1hY3Jvcy4KICNkZWZpbmUgSU5UNjRfTUFYIDB4N2ZmZmZmZmZmZmZm
ZmZmZkxMCiAjZW5kaWYKICNpZm5kZWYgSU5UMzJfTUFYCkBAIC03NTAsNiArNzQ5LDExIEBAIFZl
Y3RvcjxjaGFyPiBEYXRhYmFzZUZyZWVMaXN0S2V5OjplbmNvZGUoaW50NjRfdCBkYXRhYmFzZUlk
KQogICAgIHJldHVybiByZXQ7CiB9CiAKK1ZlY3RvcjxjaGFyPiBEYXRhYmFzZUZyZWVMaXN0S2V5
OjplbmNvZGVNYXhLZXkoKQoreworICAgIHJldHVybiBlbmNvZGUoSU5UNjRfTUFYKTsKK30KKwog
aW50NjRfdCBEYXRhYmFzZUZyZWVMaXN0S2V5OjpkYXRhYmFzZUlkKCkgY29uc3QKIHsKICAgICBB
U1NFUlQobV9kYXRhYmFzZUlkID49IDApOwpAQCAtODQ4LDYgKzg1MiwxMSBAQCBWZWN0b3I8Y2hh
cj4gT2JqZWN0U3RvcmVNZXRhRGF0YUtleTo6ZW5jb2RlKGludDY0X3QgZGF0YWJhc2VJZCwgaW50
NjRfdCBvYmplY3RTdAogICAgIHJldHVybiByZXQ7CiB9CiAKK1ZlY3RvcjxjaGFyPiBPYmplY3RT
dG9yZU1ldGFEYXRhS2V5OjplbmNvZGVNYXhLZXkoaW50NjRfdCBkYXRhYmFzZUlkKQoreworICAg
IHJldHVybiBlbmNvZGUoZGF0YWJhc2VJZCwgSU5UNjRfTUFYLCBJTlQ2NF9NQVgpOworfQorCiBp
bnQ2NF90IE9iamVjdFN0b3JlTWV0YURhdGFLZXk6Om9iamVjdFN0b3JlSWQoKSBjb25zdAogewog
ICAgIEFTU0VSVChtX29iamVjdFN0b3JlSWQgPj0gMCk7CkBAIC05MTMsNiArOTIyLDExIEBAIFZl
Y3RvcjxjaGFyPiBJbmRleE1ldGFEYXRhS2V5OjplbmNvZGUoaW50NjRfdCBkYXRhYmFzZUlkLCBp
bnQ2NF90IG9iamVjdFN0b3JlSWQsCiAgICAgcmV0dXJuIHJldDsKIH0KIAorVmVjdG9yPGNoYXI+
IEluZGV4TWV0YURhdGFLZXk6OmVuY29kZU1heEtleShpbnQ2NF90IGRhdGFiYXNlSWQsIGludDY0
X3Qgb2JqZWN0U3RvcmVJZCkKK3sKKyAgICByZXR1cm4gZW5jb2RlKGRhdGFiYXNlSWQsIG9iamVj
dFN0b3JlSWQsIElOVDY0X01BWCwgMjU1KTsKK30KKwogaW50IEluZGV4TWV0YURhdGFLZXk6OmNv
bXBhcmUoY29uc3QgSW5kZXhNZXRhRGF0YUtleSYgb3RoZXIpCiB7CiAgICAgQVNTRVJUKG1fb2Jq
ZWN0U3RvcmVJZCA+PSAwKTsKQEAgLTk2Myw2ICs5NzcsMTEgQEAgVmVjdG9yPGNoYXI+IE9iamVj
dFN0b3JlRnJlZUxpc3RLZXk6OmVuY29kZShpbnQ2NF90IGRhdGFiYXNlSWQsIGludDY0X3Qgb2Jq
ZWN0U3QKICAgICByZXR1cm4gcmV0OwogfQogCitWZWN0b3I8Y2hhcj4gT2JqZWN0U3RvcmVGcmVl
TGlzdEtleTo6ZW5jb2RlTWF4S2V5KGludDY0X3QgZGF0YWJhc2VJZCkKK3sKKyAgICByZXR1cm4g
ZW5jb2RlKGRhdGFiYXNlSWQsIElOVDY0X01BWCk7Cit9CisKIGludDY0X3QgT2JqZWN0U3RvcmVG
cmVlTGlzdEtleTo6b2JqZWN0U3RvcmVJZCgpIGNvbnN0CiB7CiAgICAgQVNTRVJUKG1fb2JqZWN0
U3RvcmVJZCA+PSAwKTsKQEAgLTEwMTUsNiArMTAzNCwxMSBAQCBWZWN0b3I8Y2hhcj4gSW5kZXhG
cmVlTGlzdEtleTo6ZW5jb2RlKGludDY0X3QgZGF0YWJhc2VJZCwgaW50NjRfdCBvYmplY3RTdG9y
ZUlkLAogICAgIHJldHVybiByZXQ7CiB9CiAKK1ZlY3RvcjxjaGFyPiBJbmRleEZyZWVMaXN0S2V5
OjplbmNvZGVNYXhLZXkoaW50NjRfdCBkYXRhYmFzZUlkLCBpbnQ2NF90IG9iamVjdFN0b3JlSWQp
Cit7CisgICAgcmV0dXJuIGVuY29kZShkYXRhYmFzZUlkLCBvYmplY3RTdG9yZUlkLCBJTlQ2NF9N
QVgpOworfQorCiBpbnQgSW5kZXhGcmVlTGlzdEtleTo6Y29tcGFyZShjb25zdCBJbmRleEZyZWVM
aXN0S2V5JiBvdGhlcikKIHsKICAgICBBU1NFUlQobV9vYmplY3RTdG9yZUlkID49IDApOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJMZXZlbERCQ29kaW5nLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9zdG9yYWdlL0lEQkxldmVsREJDb2RpbmcuaAppbmRleCAyZmNmNjc2MTM5MDdm
ZTI3YjQxY2IxMWQ5OGY3MGEzYTgxYjc2Y2ZiLi44ODQ1NjI5MjkwNTZlMTA0ZTQ5ZDlmMTNkYjVl
ZTJlZTA3YWUzODNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQkxldmVs
REJDb2RpbmcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQkxldmVsREJDb2Rpbmcu
aApAQCAtMTA0LDYgKzEwNCw3IEBAIHB1YmxpYzoKICAgICBEYXRhYmFzZUZyZWVMaXN0S2V5KCk7
CiAgICAgc3RhdGljIGNvbnN0IGNoYXIqIGRlY29kZShjb25zdCBjaGFyKiBzdGFydCwgY29uc3Qg
Y2hhciogbGltaXQsIERhdGFiYXNlRnJlZUxpc3RLZXkqIHJlc3VsdCk7CiAgICAgc3RhdGljIFZl
Y3RvcjxjaGFyPiBlbmNvZGUoaW50NjRfdCBkYXRhYmFzZUlkKTsKKyAgICBzdGF0aWMgVmVjdG9y
PGNoYXI+IGVuY29kZU1heEtleSgpOwogICAgIGludDY0X3QgZGF0YWJhc2VJZCgpIGNvbnN0Owog
ICAgIGludCBjb21wYXJlKGNvbnN0IERhdGFiYXNlRnJlZUxpc3RLZXkmIG90aGVyKSBjb25zdDsK
IApAQCAtMTQxLDYgKzE0Miw3IEBAIHB1YmxpYzoKICAgICBPYmplY3RTdG9yZU1ldGFEYXRhS2V5
KCk7CiAgICAgc3RhdGljIGNvbnN0IGNoYXIqIGRlY29kZShjb25zdCBjaGFyKiBzdGFydCwgY29u
c3QgY2hhciogbGltaXQsIE9iamVjdFN0b3JlTWV0YURhdGFLZXkqIHJlc3VsdCk7CiAgICAgc3Rh
dGljIFZlY3RvcjxjaGFyPiBlbmNvZGUoaW50NjRfdCBkYXRhYmFzZUlkLCBpbnQ2NF90IG9iamVj
dFN0b3JlSWQsIGludDY0X3QgbWV0YURhdGFUeXBlKTsKKyAgICBzdGF0aWMgVmVjdG9yPGNoYXI+
IGVuY29kZU1heEtleShpbnQ2NF90IGRhdGFiYXNlSWQpOwogICAgIGludDY0X3Qgb2JqZWN0U3Rv
cmVJZCgpIGNvbnN0OwogICAgIGludDY0X3QgbWV0YURhdGFUeXBlKCkgY29uc3Q7CiAgICAgaW50
IGNvbXBhcmUoY29uc3QgT2JqZWN0U3RvcmVNZXRhRGF0YUtleSYgb3RoZXIpOwpAQCAtMTU1LDYg
KzE1Nyw3IEBAIHB1YmxpYzoKICAgICBJbmRleE1ldGFEYXRhS2V5KCk7CiAgICAgc3RhdGljIGNv
bnN0IGNoYXIqIGRlY29kZShjb25zdCBjaGFyKiBzdGFydCwgY29uc3QgY2hhciogbGltaXQsIElu
ZGV4TWV0YURhdGFLZXkqIHJlc3VsdCk7CiAgICAgc3RhdGljIFZlY3RvcjxjaGFyPiBlbmNvZGUo
aW50NjRfdCBkYXRhYmFzZUlkLCBpbnQ2NF90IG9iamVjdFN0b3JlSWQsIGludDY0X3QgaW5kZXhJ
ZCwgdW5zaWduZWQgY2hhciBtZXRhRGF0YVR5cGUpOworICAgIHN0YXRpYyBWZWN0b3I8Y2hhcj4g
ZW5jb2RlTWF4S2V5KGludDY0X3QgZGF0YWJhc2VJZCwgaW50NjRfdCBvYmplY3RTdG9yZUlkKTsK
ICAgICBpbnQgY29tcGFyZShjb25zdCBJbmRleE1ldGFEYXRhS2V5JiBvdGhlcik7CiAgICAgaW50
NjRfdCBpbmRleElkKCkgY29uc3Q7CiAgICAgdW5zaWduZWQgY2hhciBtZXRhRGF0YVR5cGUoKSBj
b25zdCB7IHJldHVybiBtX21ldGFEYXRhVHlwZTsgfQpAQCAtMTcwLDYgKzE3Myw3IEBAIHB1Ymxp
YzoKICAgICBPYmplY3RTdG9yZUZyZWVMaXN0S2V5KCk7CiAgICAgc3RhdGljIGNvbnN0IGNoYXIq
IGRlY29kZShjb25zdCBjaGFyKiBzdGFydCwgY29uc3QgY2hhciogbGltaXQsIE9iamVjdFN0b3Jl
RnJlZUxpc3RLZXkqIHJlc3VsdCk7CiAgICAgc3RhdGljIFZlY3RvcjxjaGFyPiBlbmNvZGUoaW50
NjRfdCBkYXRhYmFzZUlkLCBpbnQ2NF90IG9iamVjdFN0b3JlSWQpOworICAgIHN0YXRpYyBWZWN0
b3I8Y2hhcj4gZW5jb2RlTWF4S2V5KGludDY0X3QgZGF0YWJhc2VJZCk7CiAgICAgaW50NjRfdCBv
YmplY3RTdG9yZUlkKCkgY29uc3Q7CiAgICAgaW50IGNvbXBhcmUoY29uc3QgT2JqZWN0U3RvcmVG
cmVlTGlzdEtleSYgb3RoZXIpOwogCkBAIC0xODIsNiArMTg2LDcgQEAgcHVibGljOgogICAgIElu
ZGV4RnJlZUxpc3RLZXkoKTsKICAgICBzdGF0aWMgY29uc3QgY2hhciogZGVjb2RlKGNvbnN0IGNo
YXIqIHN0YXJ0LCBjb25zdCBjaGFyKiBsaW1pdCwgSW5kZXhGcmVlTGlzdEtleSogcmVzdWx0KTsK
ICAgICBzdGF0aWMgVmVjdG9yPGNoYXI+IGVuY29kZShpbnQ2NF90IGRhdGFiYXNlSWQsIGludDY0
X3Qgb2JqZWN0U3RvcmVJZCwgaW50NjRfdCBpbmRleElkKTsKKyAgICBzdGF0aWMgVmVjdG9yPGNo
YXI+IGVuY29kZU1heEtleShpbnQ2NF90IGRhdGFiYXNlSWQsIGludDY0X3Qgb2JqZWN0U3RvcmVJ
ZCk7CiAgICAgaW50IGNvbXBhcmUoY29uc3QgSW5kZXhGcmVlTGlzdEtleSYgb3RoZXIpOwogICAg
IGludDY0X3Qgb2JqZWN0U3RvcmVJZCgpIGNvbnN0OwogICAgIGludDY0X3QgaW5kZXhJZCgpIGNv
bnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCAwM2I2MWI2YTQ0OWFlMTM1YjVhMTYy
MDdkMTM4ODUxMDI4NjcxM2I3Li45OTRmYTgwY2E0YjFlZDhmMDQ0ZjE4ZjA4OGQ5NGRhODRkYjY1
NTU0IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDExLTA2
LTAzICBIYW5zIFdlbm5ib3JnICA8aGFuc0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW5kZXhlZERCOiBDbGVhbi11cCB1c2Ug
b2YgSU5UNjRfTUFYIGluIExldmVsREIgYmFjay1lbmQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYyMDA5CisKKyAgICAgICAgRG9uJ3QgdXNlIElOVDY0
X01BWCwgdXNlIHRoZSB2YXJpb3VzIGVuY29kZU1heEtleSgpIGZ1bmN0aW9ucyBpbnN0ZWFkLgor
CisgICAgICAgICogdGVzdHMvSURCTGV2ZWxEQkNvZGluZ1Rlc3QuY3BwOgorICAgICAgICAoSURC
TGV2ZWxEQkNvZGluZzo6VEVTVCk6CisKIDIwMTEtMDYtMDIgIFl1cnkgU2VtaWtoYXRza3kgIDx5
dXJ5c0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgUGF2ZWwgRmVsZG1hbi4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvSURCTGV2ZWxEQkNvZGlu
Z1Rlc3QuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9JREJMZXZlbERCQ29kaW5n
VGVzdC5jcHAKaW5kZXggYWY3OTM4YWMzNzdmOGU3ZDgxNWE1ODczZDg3NmVhMDM1NjgzNDUwNC4u
ODEyOTc2Y2YwNjMzNzYwMThiOWIyOTc0ZmNiMjc5MWYyMmNmMWNjMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9JREJMZXZlbERCQ29kaW5nVGVzdC5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9JREJMZXZlbERCQ29kaW5nVGVzdC5jcHAKQEAg
LTM0LDExICszNCw2IEBACiAjaW5jbHVkZSA8Z3Rlc3QvZ3Rlc3QuaD4KICNpbmNsdWRlIDx3dGYv
VmVjdG9yLmg+CiAKLSNpZm5kZWYgSU5UNjRfTUFYCi0vLyBGSVhNRTogV2Ugc2hvdWxkbid0IG5l
ZWQgdG8gcmVseSBvbiB0aGVzZSBtYWNyb3MuCi0jZGVmaW5lIElOVDY0X01BWCAweDdmZmZmZmZm
ZmZmZmZmZmZMTAotI2VuZGlmCi0KIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogdXNpbmcgbmFt
ZXNwYWNlIElEQkxldmVsREJDb2Rpbmc7CiAKQEAgLTM0NSw0MiArMzQwLDM4IEBAIFRFU1QoSURC
TGV2ZWxEQkNvZGluZ1Rlc3QsIENvbXBhcmlzb25UZXN0KQogICAgIGtleXMuYXBwZW5kKFNjaGVt
YVZlcnNpb25LZXk6OmVuY29kZSgpKTsKICAgICBrZXlzLmFwcGVuZChNYXhEYXRhYmFzZUlkS2V5
OjplbmNvZGUoKSk7CiAgICAga2V5cy5hcHBlbmQoRGF0YWJhc2VGcmVlTGlzdEtleTo6ZW5jb2Rl
KDApKTsKLSAgICBrZXlzLmFwcGVuZChEYXRhYmFzZUZyZWVMaXN0S2V5OjplbmNvZGUoSU5UNjRf
TUFYKSk7CisgICAga2V5cy5hcHBlbmQoRGF0YWJhc2VGcmVlTGlzdEtleTo6ZW5jb2RlTWF4S2V5
KCkpOwogICAgIGtleXMuYXBwZW5kKERhdGFiYXNlTmFtZUtleTo6ZW5jb2RlKCIiLCAiIikpOwog
ICAgIGtleXMuYXBwZW5kKERhdGFiYXNlTmFtZUtleTo6ZW5jb2RlKCIiLCAiYSIpKTsKICAgICBr
ZXlzLmFwcGVuZChEYXRhYmFzZU5hbWVLZXk6OmVuY29kZSgiYSIsICJhIikpOwogICAgIGtleXMu
YXBwZW5kKERhdGFiYXNlTWV0YURhdGFLZXk6OmVuY29kZSgxLCBEYXRhYmFzZU1ldGFEYXRhS2V5
OjprT3JpZ2luTmFtZSkpOwogICAgIGtleXMuYXBwZW5kKE9iamVjdFN0b3JlTWV0YURhdGFLZXk6
OmVuY29kZSgxLCAxLCAwKSk7Ci0gICAga2V5cy5hcHBlbmQoT2JqZWN0U3RvcmVNZXRhRGF0YUtl
eTo6ZW5jb2RlKDEsIElOVDY0X01BWCwgMCkpOworICAgIGtleXMuYXBwZW5kKE9iamVjdFN0b3Jl
TWV0YURhdGFLZXk6OmVuY29kZU1heEtleSgxKSk7CiAgICAga2V5cy5hcHBlbmQoSW5kZXhNZXRh
RGF0YUtleTo6ZW5jb2RlKDEsIDEsIDMwLCAwKSk7Ci0gICAga2V5cy5hcHBlbmQoSW5kZXhNZXRh
RGF0YUtleTo6ZW5jb2RlKDEsIDEsIElOVDY0X01BWCwgMCkpOworICAgIGtleXMuYXBwZW5kKElu
ZGV4TWV0YURhdGFLZXk6OmVuY29kZSgxLCAxLCAzMSwgMCkpOworICAgIGtleXMuYXBwZW5kKElu
ZGV4TWV0YURhdGFLZXk6OmVuY29kZSgxLCAxLCAzMSwgMSkpOwogICAgIGtleXMuYXBwZW5kKE9i
amVjdFN0b3JlRnJlZUxpc3RLZXk6OmVuY29kZSgxLCAxKSk7Ci0gICAga2V5cy5hcHBlbmQoT2Jq
ZWN0U3RvcmVGcmVlTGlzdEtleTo6ZW5jb2RlKDEsIElOVDY0X01BWCkpOwotICAgIGtleXMuYXBw
ZW5kKEluZGV4RnJlZUxpc3RLZXk6OmVuY29kZSgxLCAxLCAzMCkpOwotICAgIGtleXMuYXBwZW5k
KEluZGV4RnJlZUxpc3RLZXk6OmVuY29kZSgxLCAxLCBJTlQ2NF9NQVgpKTsKLSAgICBrZXlzLmFw
cGVuZChJbmRleEZyZWVMaXN0S2V5OjplbmNvZGUoMSwgSU5UNjRfTUFYLCAzMCkpOwotICAgIGtl
eXMuYXBwZW5kKEluZGV4RnJlZUxpc3RLZXk6OmVuY29kZSgxLCBJTlQ2NF9NQVgsIElOVDY0X01B
WCkpOworICAgIGtleXMuYXBwZW5kKE9iamVjdFN0b3JlRnJlZUxpc3RLZXk6OmVuY29kZU1heEtl
eSgxKSk7CisgICAga2V5cy5hcHBlbmQoSW5kZXhGcmVlTGlzdEtleTo6ZW5jb2RlKDEsIDEsIGtN
aW5pbXVtSW5kZXhJZCkpOworICAgIGtleXMuYXBwZW5kKEluZGV4RnJlZUxpc3RLZXk6OmVuY29k
ZU1heEtleSgxLCAxKSk7CisgICAga2V5cy5hcHBlbmQoSW5kZXhGcmVlTGlzdEtleTo6ZW5jb2Rl
KDEsIDIsIGtNaW5pbXVtSW5kZXhJZCkpOworICAgIGtleXMuYXBwZW5kKEluZGV4RnJlZUxpc3RL
ZXk6OmVuY29kZU1heEtleSgxLCAyKSk7CiAgICAga2V5cy5hcHBlbmQoT2JqZWN0U3RvcmVOYW1l
c0tleTo6ZW5jb2RlKDEsICIiKSk7CiAgICAga2V5cy5hcHBlbmQoT2JqZWN0U3RvcmVOYW1lc0tl
eTo6ZW5jb2RlKDEsICJhIikpOwogICAgIGtleXMuYXBwZW5kKEluZGV4TmFtZXNLZXk6OmVuY29k
ZSgxLCAxLCAiIikpOwogICAgIGtleXMuYXBwZW5kKEluZGV4TmFtZXNLZXk6OmVuY29kZSgxLCAx
LCAiYSIpKTsKLSAgICBrZXlzLmFwcGVuZChJbmRleE5hbWVzS2V5OjplbmNvZGUoMSwgSU5UNjRf
TUFYLCAiYSIpKTsKKyAgICBrZXlzLmFwcGVuZChJbmRleE5hbWVzS2V5OjplbmNvZGUoMSwgMiwg
ImEiKSk7CiAgICAga2V5cy5hcHBlbmQoT2JqZWN0U3RvcmVEYXRhS2V5OjplbmNvZGUoMSwgMSwg
bWluSURCS2V5KCkpKTsKICAgICBrZXlzLmFwcGVuZChPYmplY3RTdG9yZURhdGFLZXk6OmVuY29k
ZSgxLCAxLCBtYXhJREJLZXkoKSkpOwogICAgIGtleXMuYXBwZW5kKEV4aXN0c0VudHJ5S2V5Ojpl
bmNvZGUoMSwgMSwgbWluSURCS2V5KCkpKTsKICAgICBrZXlzLmFwcGVuZChFeGlzdHNFbnRyeUtl
eTo6ZW5jb2RlKDEsIDEsIG1heElEQktleSgpKSk7CiAgICAga2V5cy5hcHBlbmQoSW5kZXhEYXRh
S2V5OjplbmNvZGUoMSwgMSwgMzAsIG1pbklEQktleSgpLCAwKSk7Ci0gICAga2V5cy5hcHBlbmQo
SW5kZXhEYXRhS2V5OjplbmNvZGUoMSwgMSwgMzAsIG1pbklEQktleSgpLCBJTlQ2NF9NQVgpKTsK
KyAgICBrZXlzLmFwcGVuZChJbmRleERhdGFLZXk6OmVuY29kZSgxLCAxLCAzMCwgbWluSURCS2V5
KCksIDEpKTsKICAgICBrZXlzLmFwcGVuZChJbmRleERhdGFLZXk6OmVuY29kZSgxLCAxLCAzMCwg
bWF4SURCS2V5KCksIDApKTsKLSAgICBrZXlzLmFwcGVuZChJbmRleERhdGFLZXk6OmVuY29kZSgx
LCAxLCAzMCwgbWF4SURCS2V5KCksIElOVDY0X01BWCkpOworICAgIGtleXMuYXBwZW5kKEluZGV4
RGF0YUtleTo6ZW5jb2RlKDEsIDEsIDMwLCBtYXhJREJLZXkoKSwgMSkpOwogICAgIGtleXMuYXBw
ZW5kKEluZGV4RGF0YUtleTo6ZW5jb2RlKDEsIDEsIDMxLCBtaW5JREJLZXkoKSwgMCkpOwogICAg
IGtleXMuYXBwZW5kKEluZGV4RGF0YUtleTo6ZW5jb2RlKDEsIDIsIDMwLCBtaW5JREJLZXkoKSwg
MCkpOwogICAgIGtleXMuYXBwZW5kKEluZGV4RGF0YUtleTo6ZW5jb2RlTWF4S2V5KDEsIDIpKTsK
LSAgICBrZXlzLmFwcGVuZChPYmplY3RTdG9yZURhdGFLZXk6OmVuY29kZSgxLCBJTlQ2NF9NQVgs
IG1pbklEQktleSgpKSk7Ci0gICAga2V5cy5hcHBlbmQoRXhpc3RzRW50cnlLZXk6OmVuY29kZSgx
LCBJTlQ2NF9NQVgsIG1heElEQktleSgpKSk7Ci0gICAga2V5cy5hcHBlbmQoSW5kZXhEYXRhS2V5
OjplbmNvZGVNYXhLZXkoMSwgSU5UNjRfTUFYKSk7Ci0gICAga2V5cy5hcHBlbmQoRGF0YWJhc2VN
ZXRhRGF0YUtleTo6ZW5jb2RlKElOVDY0X01BWCwgRGF0YWJhc2VNZXRhRGF0YUtleTo6a09yaWdp
bk5hbWUpKTsKLSAgICBrZXlzLmFwcGVuZChJbmRleERhdGFLZXk6OmVuY29kZU1heEtleShJTlQ2
NF9NQVgsIElOVDY0X01BWCkpOwogCiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBrZXlzLnNp
emUoKTsgKytpKSB7CiAgICAgICAgIGNvbnN0IExldmVsREJTbGljZSBrZXlBKGtleXNbaV0pOwo=
</data>
<flag name="review"
          id="89502"
          type_id="1"
          status="+"
          setter="steveblock"
    />
    <flag name="commit-queue"
          id="89504"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
      

    </bug>

</bugzilla>