<?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>127888</bug_id>
          
          <creation_ts>2014-01-29 23:18:26 -0800</creation_ts>
          <short_desc>IDB: Implement IDBObjectStore.count()</short_desc>
          <delta_ts>2014-01-30 15:54:51 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>124521</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Jon Lee">jonlee</reporter>
          <assigned_to name="Brady Eidson">beidson</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>973603</commentid>
    <comment_count>0</comment_count>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2014-01-29 23:18:26 -0800</bug_when>
    <thetext>IDB: Implement IDBObjectStore.count()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>973605</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2014-01-29 23:18:40 -0800</bug_when>
    <thetext>&lt;rdar://problem/15944359&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>973608</commentid>
    <comment_count>2</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2014-01-29 23:27:27 -0800</bug_when>
    <thetext>This will be done in two patches.

First is the normal &quot;new message plumbing&quot; patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>973609</commentid>
    <comment_count>3</comment_count>
      <attachid>222631</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2014-01-29 23:29:27 -0800</bug_when>
    <thetext>Created attachment 222631
Plumbing Patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>973611</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-01-29 23:31:20 -0800</bug_when>
    <thetext>Attachment 222631 did not pass style-queue:


ERROR: Source/WebKit2/DatabaseProcess/IndexedDB/UniqueIDBDatabase.cpp:629:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
Total errors found: 1 in 10 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>973623</commentid>
    <comment_count>5</comment_count>
      <attachid>222631</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-01-30 00:12:18 -0800</bug_when>
    <thetext>Comment on attachment 222631
Plumbing Patch v1

Clearing flags on attachment: 222631

Committed r163075: &lt;http://trac.webkit.org/changeset/163075&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>973624</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-01-30 00:12:20 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>973722</commentid>
    <comment_count>7</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2014-01-30 07:36:02 -0800</bug_when>
    <thetext>1 more patch to go here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>974069</commentid>
    <comment_count>8</comment_count>
      <attachid>222752</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2014-01-30 15:46:11 -0800</bug_when>
    <thetext>Created attachment 222752
Actual patch, v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>974075</commentid>
    <comment_count>9</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2014-01-30 15:54:45 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/163131</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>222631</attachid>
            <date>2014-01-29 23:29:27 -0800</date>
            <delta_ts>2014-01-30 00:12:18 -0800</delta_ts>
            <desc>Plumbing Patch v1</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>16639</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA5MzE3MmNlLi42Yzc4OWJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMzUg
QEAKIDIwMTQtMDEtMjkgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgogCisgICAg
ICAgIElEQjogSW1wbGVtZW50IElEQk9iamVjdFN0b3JlLmNvdW50KCkKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNzg4OAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZvcndhcmQgcmVxdWVzdCB0byB0aGUg
RGF0YWJhc2VQcm9jZXNzLCBhbmQgaGFuZGxlIGl0cyBjb21wbGV0aW9uOgorICAgICAgICAqIFdl
YlByb2Nlc3MvRGF0YWJhc2VzL0luZGV4ZWREQi9XZWJJREJTZXJ2ZXJDb25uZWN0aW9uLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6V2ViSURCU2VydmVyQ29ubmVjdGlvbjo6Y291bnQpOgorICAgICAg
ICAoV2ViS2l0OjpXZWJJREJTZXJ2ZXJDb25uZWN0aW9uOjpkaWRDb3VudCk6CisgICAgICAgICog
V2ViUHJvY2Vzcy9EYXRhYmFzZXMvSW5kZXhlZERCL1dlYklEQlNlcnZlckNvbm5lY3Rpb24uaDoK
KyAgICAgICAgKiBXZWJQcm9jZXNzL0RhdGFiYXNlcy9JbmRleGVkREIvV2ViSURCU2VydmVyQ29u
bmVjdGlvbi5tZXNzYWdlcy5pbjoKKworICAgICAgICBQYXNzIHJlcXVlc3QgYWxvbmcgdG8gdGhl
IGFwcHJvcHJpYXRlIFVuaXF1ZUlEQkRhdGFiYXNlOgorICAgICAgICAqIERhdGFiYXNlUHJvY2Vz
cy9JbmRleGVkREIvRGF0YWJhc2VQcm9jZXNzSURCQ29ubmVjdGlvbi5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OkRhdGFiYXNlUHJvY2Vzc0lEQkNvbm5lY3Rpb246OmNvdW50KToKKyAgICAgICAgKiBE
YXRhYmFzZVByb2Nlc3MvSW5kZXhlZERCL0RhdGFiYXNlUHJvY2Vzc0lEQkNvbm5lY3Rpb24uaDoK
KyAgICAgICAgKiBEYXRhYmFzZVByb2Nlc3MvSW5kZXhlZERCL0RhdGFiYXNlUHJvY2Vzc0lEQkNv
bm5lY3Rpb24ubWVzc2FnZXMuaW46CisKKyAgICAgICAgUGFzcyByZXF1ZXN0IHRvIGJhY2tpbmcg
c3RvcmUgdGhyZWFkLCB0aGVuIHBhc3MgaXQgYmFjayB0byB0aGUgV2ViUHJvY2VzczoKKyAgICAg
ICAgKiBEYXRhYmFzZVByb2Nlc3MvSW5kZXhlZERCL1VuaXF1ZUlEQkRhdGFiYXNlLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6VW5pcXVlSURCRGF0YWJhc2U6OmNvdW50KToKKyAgICAgICAgKFdlYktp
dDo6VW5pcXVlSURCRGF0YWJhc2U6OmNvdW50SW5CYWNraW5nU3RvcmUpOgorICAgICAgICAoV2Vi
S2l0OjpVbmlxdWVJREJEYXRhYmFzZTo6ZGlkQ291bnRJbkJhY2tpbmdTdG9yZSk6CisgICAgICAg
ICogRGF0YWJhc2VQcm9jZXNzL0luZGV4ZWREQi9VbmlxdWVJREJEYXRhYmFzZS5oOgorCisgICAg
ICAgICogU2hhcmVkL0FzeW5jVGFzay5oOgorICAgICAgICAoV2ViS2l0OjpjcmVhdGVBc3luY1Rh
c2spOgorCisyMDE0LTAxLTI5ICBCcmFkeSBFaWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KKwog
ICAgICAgICBJREI6IEZ1bGx5IGltcGxlbWVudCBJREJLZXlEYXRhIGVuY29kaW5nL2RlY29kaW5n
CiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjc4NjMK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvRGF0YWJhc2VQcm9jZXNzL0luZGV4ZWREQi9E
YXRhYmFzZVByb2Nlc3NJREJDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQyL0RhdGFiYXNl
UHJvY2Vzcy9JbmRleGVkREIvRGF0YWJhc2VQcm9jZXNzSURCQ29ubmVjdGlvbi5jcHAKaW5kZXgg
YWIyZGI3Ni4uYzBkZWY1OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvRGF0YWJhc2VQcm9j
ZXNzL0luZGV4ZWREQi9EYXRhYmFzZVByb2Nlc3NJREJDb25uZWN0aW9uLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9EYXRhYmFzZVByb2Nlc3MvSW5kZXhlZERCL0RhdGFiYXNlUHJvY2Vzc0lEQkNv
bm5lY3Rpb24uY3BwCkBAIC0yMzQsNiArMjM0LDE4IEBAIHZvaWQgRGF0YWJhc2VQcm9jZXNzSURC
Q29ubmVjdGlvbjo6Z2V0UmVjb3JkKHVpbnQ2NF90IHJlcXVlc3RJRCwgaW50NjRfdCB0cmFuc2Fj
CiAgICAgfSk7CiB9CiAKK3ZvaWQgRGF0YWJhc2VQcm9jZXNzSURCQ29ubmVjdGlvbjo6Y291bnQo
dWludDY0X3QgcmVxdWVzdElELCBpbnQ2NF90IHRyYW5zYWN0aW9uSUQsIGludDY0X3Qgb2JqZWN0
U3RvcmVJRCwgaW50NjRfdCBpbmRleElELCBjb25zdCBJREJLZXlSYW5nZURhdGEmIGtleVJhbmdl
RGF0YSkKK3sKKyAgICBBU1NFUlQobV91bmlxdWVJREJEYXRhYmFzZSk7CisKKyAgICBMT0coSURC
LCAiRGF0YWJhc2VQcm9jZXNzIGNvdW50IHJlcXVlc3QgSUQgJWxsdSwgb2JqZWN0IHN0b3JlIGlk
ICVsbGkiLCByZXF1ZXN0SUQsIG9iamVjdFN0b3JlSUQpOworCisgICAgUmVmUHRyPERhdGFiYXNl
UHJvY2Vzc0lEQkNvbm5lY3Rpb24+IGNvbm5lY3Rpb24odGhpcyk7CisgICAgbV91bmlxdWVJREJE
YXRhYmFzZS0+Y291bnQoSURCSWRlbnRpZmllcigqdGhpcywgdHJhbnNhY3Rpb25JRCksIG9iamVj
dFN0b3JlSUQsIGluZGV4SUQsIGtleVJhbmdlRGF0YSwgW2Nvbm5lY3Rpb24sIHJlcXVlc3RJRF0o
aW50NjRfdCBjb3VudCwgdWludDMyX3QgZXJyb3JDb2RlLCBjb25zdCBTdHJpbmcmIGVycm9yTWVz
c2FnZSkgeworICAgICAgICBjb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpXZWJJREJTZXJ2ZXJD
b25uZWN0aW9uOjpEaWRDb3VudChyZXF1ZXN0SUQsIGNvdW50LCBlcnJvckNvZGUsIGVycm9yTWVz
c2FnZSkpOworICAgIH0pOworfQorCiB2b2lkIERhdGFiYXNlUHJvY2Vzc0lEQkNvbm5lY3Rpb246
Om9wZW5DdXJzb3IodWludDY0X3QgcmVxdWVzdElELCBpbnQ2NF90IHRyYW5zYWN0aW9uSUQsIGlu
dDY0X3Qgb2JqZWN0U3RvcmVJRCwgaW50NjRfdCBpbmRleElELCBpbnQ2NF90IGN1cnNvckRpcmVj
dGlvbiwgaW50NjRfdCBjdXJzb3JUeXBlLCBpbnQ2NF90IHRhc2tUeXBlLCBjb25zdCBXZWJDb3Jl
OjpJREJLZXlSYW5nZURhdGEmIGtleVJhbmdlRGF0YSkKIHsKICAgICBBU1NFUlQobV91bmlxdWVJ
REJEYXRhYmFzZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9EYXRhYmFzZVByb2Nlc3Mv
SW5kZXhlZERCL0RhdGFiYXNlUHJvY2Vzc0lEQkNvbm5lY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQy
L0RhdGFiYXNlUHJvY2Vzcy9JbmRleGVkREIvRGF0YWJhc2VQcm9jZXNzSURCQ29ubmVjdGlvbi5o
CmluZGV4IGViNzI0NjAuLjUxOWI4ZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0RhdGFi
YXNlUHJvY2Vzcy9JbmRleGVkREIvRGF0YWJhc2VQcm9jZXNzSURCQ29ubmVjdGlvbi5oCisrKyBi
L1NvdXJjZS9XZWJLaXQyL0RhdGFiYXNlUHJvY2Vzcy9JbmRleGVkREIvRGF0YWJhc2VQcm9jZXNz
SURCQ29ubmVjdGlvbi5oCkBAIC04Niw2ICs4Niw4IEBAIHByaXZhdGU6CiAgICAgdm9pZCBjdXJz
b3JBZHZhbmNlKHVpbnQ2NF90IHJlcXVlc3RJRCwgaW50NjRfdCBjdXJzb3JJRCwgdWludDY0X3Qg
Y291bnQpOwogICAgIHZvaWQgY3Vyc29ySXRlcmF0ZSh1aW50NjRfdCByZXF1ZXN0SUQsIGludDY0
X3QgY3Vyc29ySUQsIGNvbnN0IFdlYkNvcmU6OklEQktleURhdGEmKTsKIAorICAgIHZvaWQgY291
bnQodWludDY0X3QgcmVxdWVzdElELCBpbnQ2NF90IHRyYW5zYWN0aW9uSUQsIGludDY0X3Qgb2Jq
ZWN0U3RvcmVJRCwgaW50NjRfdCBpbmRleElELCBjb25zdCBXZWJDb3JlOjpJREJLZXlSYW5nZURh
dGEmKTsKKwogICAgIFJlZjxEYXRhYmFzZVRvV2ViUHJvY2Vzc0Nvbm5lY3Rpb24+IG1fY29ubmVj
dGlvbjsKICAgICB1aW50NjRfdCBtX3NlcnZlckNvbm5lY3Rpb25JZGVudGlmaWVyOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9EYXRhYmFzZVByb2Nlc3MvSW5kZXhlZERCL0RhdGFiYXNl
UHJvY2Vzc0lEQkNvbm5lY3Rpb24ubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9EYXRhYmFz
ZVByb2Nlc3MvSW5kZXhlZERCL0RhdGFiYXNlUHJvY2Vzc0lEQkNvbm5lY3Rpb24ubWVzc2FnZXMu
aW4KaW5kZXggMTg5MDNhNC4uYzUyNzlhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvRGF0
YWJhc2VQcm9jZXNzL0luZGV4ZWREQi9EYXRhYmFzZVByb2Nlc3NJREJDb25uZWN0aW9uLm1lc3Nh
Z2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL0RhdGFiYXNlUHJvY2Vzcy9JbmRleGVkREIvRGF0
YWJhc2VQcm9jZXNzSURCQ29ubmVjdGlvbi5tZXNzYWdlcy5pbgpAQCAtNDUsNiArNDUsOCBAQCBt
ZXNzYWdlcyAtPiBEYXRhYmFzZVByb2Nlc3NJREJDb25uZWN0aW9uIExlZ2FjeVJlY2VpdmVyIHsK
ICAgICBPcGVuQ3Vyc29yKHVpbnQ2NF90IHJlcXVlc3RJRCwgaW50NjRfdCB0cmFuc2FjdGlvbklE
LCBpbnQ2NF90IG9iamVjdFN0b3JlSUQsIGludDY0X3QgaW5kZXhJRCwgaW50NjRfdCBjdXJzb3JE
aXJlY3Rpb24sIGludDY0X3QgY3Vyc29yVHlwZSwgaW50NjRfdCB0YXNrVHlwZSwgV2ViQ29yZTo6
SURCS2V5UmFuZ2VEYXRhIGtleVJhbmdlKQogICAgIEN1cnNvckFkdmFuY2UodWludDY0X3QgcmVx
dWVzdElELCBpbnQ2NF90IGN1cnNvcklELCB1aW50NjRfdCBjb3VudCkKICAgICBDdXJzb3JJdGVy
YXRlKHVpbnQ2NF90IHJlcXVlc3RJRCwgaW50NjRfdCBjdXJzb3JJRCwgV2ViQ29yZTo6SURCS2V5
RGF0YSBrZXkpCisgICAgCisgICAgQ291bnQodWludDY0X3QgcmVxdWVzdElELCBpbnQ2NF90IHRy
YW5zYWN0aW9uSUQsIGludDY0X3Qgb2JqZWN0U3RvcmVJRCwgaW50NjRfdCBpbmRleElELCBXZWJD
b3JlOjpJREJLZXlSYW5nZURhdGEga2V5UmFuZ2UpCiB9CiAKICNlbmRpZiAvLyBFTkFCTEUoSU5E
RVhFRF9EQVRBQkFTRSkgJiYgRU5BQkxFKERBVEFCQVNFX1BST0NFU1MpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9EYXRhYmFzZVByb2Nlc3MvSW5kZXhlZERCL1VuaXF1ZUlEQkRhdGFiYXNl
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL0RhdGFiYXNlUHJvY2Vzcy9JbmRleGVkREIvVW5pcXVlSURC
RGF0YWJhc2UuY3BwCmluZGV4IDcxMGNkNTguLjM4YWMzNmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL0RhdGFiYXNlUHJvY2Vzcy9JbmRleGVkREIvVW5pcXVlSURCRGF0YWJhc2UuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL0RhdGFiYXNlUHJvY2Vzcy9JbmRleGVkREIvVW5pcXVlSURCRGF0
YWJhc2UuY3BwCkBAIC02MTUsNiArNjE1LDI3IEBAIHZvaWQgVW5pcXVlSURCRGF0YWJhc2U6OmN1
cnNvckl0ZXJhdGUoY29uc3QgSURCSWRlbnRpZmllciYgY3Vyc29ySWRlbnRpZmllciwgY29uCiAg
ICAgcG9zdERhdGFiYXNlVGFzayhjcmVhdGVBc3luY1Rhc2soKnRoaXMsICZVbmlxdWVJREJEYXRh
YmFzZTo6aXRlcmF0ZUN1cnNvckluQmFja2luZ1N0b3JlLCByZXF1ZXN0SUQsIGN1cnNvcklkZW50
aWZpZXIsIGtleSkpOwogfQogCit2b2lkIFVuaXF1ZUlEQkRhdGFiYXNlOjpjb3VudChjb25zdCBJ
REJJZGVudGlmaWVyJiB0cmFuc2FjdGlvbklkZW50aWZpZXIsIGludDY0X3Qgb2JqZWN0U3RvcmVJ
RCwgaW50NjRfdCBpbmRleElELCBjb25zdCBJREJLZXlSYW5nZURhdGEmIGtleVJhbmdlRGF0YSwg
c3RkOjpmdW5jdGlvbjx2b2lkKGludDY0X3QsIHVpbnQzMl90LCBjb25zdCBTdHJpbmcmKT4gY2Fs
bGJhY2spCit7CisgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKKworICAgIGlmICghbV9hY2Nl
cHRpbmdOZXdSZXF1ZXN0cykgeworICAgICAgICBjYWxsYmFjaygwLCBJTlZBTElEX1NUQVRFX0VS
UiwgIlVuYWJsZSB0byBnZXQgY291bnQgZnJvbSBkYXRhYmFzZSBiZWNhdXNlIGl0IGhhcyBzaHV0
IGRvd24iKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIFJlZlB0cjxBc3luY1JlcXVl
c3Q+IHJlcXVlc3QgPSBBc3luY1JlcXVlc3RJbXBsPGludDY0X3QsIHVpbnQzMl90LCBjb25zdCBT
dHJpbmcmPjo6Y3JlYXRlKFt0aGlzLCBjYWxsYmFja10oaW50NjRfdCBjb3VudCwgdWludDMyX3Qg
ZXJyb3JDb2RlLCBjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSkgeworICAgICAgICBjYWxsYmFj
ayhjb3VudCwgZXJyb3JDb2RlLCBlcnJvck1lc3NhZ2UpOworICAgIH0sIFt0aGlzLCBjYWxsYmFj
a10oKSB7CisgICAgICAgIGNhbGxiYWNrKDAsIElOVkFMSURfU1RBVEVfRVJSLCAiVW5hYmxlIHRv
IGdldCBjb3VudCBmcm9tIGRhdGFiYXNlIik7CisgICAgfSk7CisKKyAgICB1aW50NjRfdCByZXF1
ZXN0SUQgPSByZXF1ZXN0LT5yZXF1ZXN0SUQoKTsKKyAgICBtX3BlbmRpbmdEYXRhYmFzZVRhc2tz
LmFkZChyZXF1ZXN0SUQsIHJlcXVlc3QucmVsZWFzZSgpKTsKKworICAgIHBvc3REYXRhYmFzZVRh
c2soY3JlYXRlQXN5bmNUYXNrKCp0aGlzLCAmVW5pcXVlSURCRGF0YWJhc2U6OmNvdW50SW5CYWNr
aW5nU3RvcmUsIHJlcXVlc3RJRCwgdHJhbnNhY3Rpb25JZGVudGlmaWVyLCBvYmplY3RTdG9yZUlE
LCBpbmRleElELCBrZXlSYW5nZURhdGEpKTsKK30KKwogdm9pZCBVbmlxdWVJREJEYXRhYmFzZTo6
b3BlbkJhY2tpbmdTdG9yZVRyYW5zYWN0aW9uKGNvbnN0IElEQklkZW50aWZpZXImIHRyYW5zYWN0
aW9uSWRlbnRpZmllciwgY29uc3QgVmVjdG9yPGludDY0X3Q+JiBvYmplY3RTdG9yZUlEcywgSW5k
ZXhlZERCOjpUcmFuc2FjdGlvbk1vZGUgbW9kZSkKIHsKICAgICBBU1NFUlQoIWlzTWFpblRocmVh
ZCgpKTsKQEAgLTg3NSw2ICs4OTYsMjEgQEAgdm9pZCBVbmlxdWVJREJEYXRhYmFzZTo6ZGlkSXRl
cmF0ZUN1cnNvckluQmFja2luZ1N0b3JlKHVpbnQ2NF90IHJlcXVlc3RJRCwgY29uc3QKICAgICBy
ZXF1ZXN0LT5jb21wbGV0ZVJlcXVlc3Qoa2V5LCBwcmltYXJ5S2V5LCBTaGFyZWRCdWZmZXI6OmNy
ZWF0ZSh2YWx1ZS5kYXRhKCksIHZhbHVlLnNpemUoKSksIGVycm9yQ29kZSwgZXJyb3JNZXNzYWdl
KTsKIH0KIAordm9pZCBVbmlxdWVJREJEYXRhYmFzZTo6Y291bnRJbkJhY2tpbmdTdG9yZSh1aW50
NjRfdCByZXF1ZXN0SUQsIGNvbnN0IElEQklkZW50aWZpZXImIHRyYW5zYWN0aW9uSWRlbnRpZmll
ciwgaW50NjRfdCBvYmplY3RTdG9yZUlELCBpbnQ2NF90IGluZGV4SUQsIGNvbnN0IElEQktleVJh
bmdlRGF0YSYpCit7CisgICAgLy8gRklYTUU6IEltcGxlbWVudAorCisgICAgcG9zdE1haW5UaHJl
YWRUYXNrKGNyZWF0ZUFzeW5jVGFzaygqdGhpcywgJlVuaXF1ZUlEQkRhdGFiYXNlOjpkaWRDb3Vu
dEluQmFja2luZ1N0b3JlLCByZXF1ZXN0SUQsIDAsIElEQkRhdGFiYXNlRXhjZXB0aW9uOjpVbmtu
b3duRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiY291bnRpbmcgaW4gYmFja2luZyBzdG9yZSBub3Qgc3Vw
cG9ydGVkIHlldCIpKSk7Cit9CisKK3ZvaWQgVW5pcXVlSURCRGF0YWJhc2U6OmRpZENvdW50SW5C
YWNraW5nU3RvcmUodWludDY0X3QgcmVxdWVzdElELCBpbnQ2NF90IGNvdW50LCB1aW50MzJfdCBl
cnJvckNvZGUsIGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlKQoreworICAgIFJlZlB0cjxBc3lu
Y1JlcXVlc3Q+IHJlcXVlc3QgPSBtX3BlbmRpbmdEYXRhYmFzZVRhc2tzLnRha2UocmVxdWVzdElE
KTsKKyAgICBBU1NFUlQocmVxdWVzdCk7CisKKyAgICByZXF1ZXN0LT5jb21wbGV0ZVJlcXVlc3Qo
Y291bnQsIGVycm9yQ29kZSwgZXJyb3JNZXNzYWdlKTsKK30KKwogU3RyaW5nIFVuaXF1ZUlEQkRh
dGFiYXNlOjphYnNvbHV0ZURhdGFiYXNlRGlyZWN0b3J5KCkgY29uc3QKIHsKICAgICBBU1NFUlQo
aXNNYWluVGhyZWFkKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvRGF0YWJhc2VQcm9j
ZXNzL0luZGV4ZWREQi9VbmlxdWVJREJEYXRhYmFzZS5oIGIvU291cmNlL1dlYktpdDIvRGF0YWJh
c2VQcm9jZXNzL0luZGV4ZWREQi9VbmlxdWVJREJEYXRhYmFzZS5oCmluZGV4IDU4Yjk3YjYuLjdk
Yjk5NWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0RhdGFiYXNlUHJvY2Vzcy9JbmRleGVk
REIvVW5pcXVlSURCRGF0YWJhc2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9EYXRhYmFzZVByb2Nl
c3MvSW5kZXhlZERCL1VuaXF1ZUlEQkRhdGFiYXNlLmgKQEAgLTkxLDYgKzkxLDggQEAgcHVibGlj
OgogICAgIHZvaWQgY3Vyc29yQWR2YW5jZShjb25zdCBJREJJZGVudGlmaWVyJiBjdXJzb3JJZGVu
dGlmaWVyLCB1aW50NjRfdCBjb3VudCwgc3RkOjpmdW5jdGlvbjx2b2lkKFdlYkNvcmU6OklEQktl
eURhdGEsIFdlYkNvcmU6OklEQktleURhdGEsIFBhc3NSZWZQdHI8V2ViQ29yZTo6U2hhcmVkQnVm
ZmVyPiwgdWludDMyX3QsIGNvbnN0IFN0cmluZyYpPiBjYWxsYmFjayk7CiAgICAgdm9pZCBjdXJz
b3JJdGVyYXRlKGNvbnN0IElEQklkZW50aWZpZXImIGN1cnNvcklkZW50aWZpZXIsIGNvbnN0IFdl
YkNvcmU6OklEQktleURhdGEmLCBzdGQ6OmZ1bmN0aW9uPHZvaWQoV2ViQ29yZTo6SURCS2V5RGF0
YSwgV2ViQ29yZTo6SURCS2V5RGF0YSwgUGFzc1JlZlB0cjxXZWJDb3JlOjpTaGFyZWRCdWZmZXI+
LCB1aW50MzJfdCwgY29uc3QgU3RyaW5nJik+IGNhbGxiYWNrKTsKIAorICAgIHZvaWQgY291bnQo
Y29uc3QgSURCSWRlbnRpZmllciYgdHJhbnNhY3Rpb25JZGVudGlmaWVyLCBpbnQ2NF90IG9iamVj
dFN0b3JlSUQsIGludDY0X3QgaW5kZXhJRCwgY29uc3QgV2ViQ29yZTo6SURCS2V5UmFuZ2VEYXRh
Jiwgc3RkOjpmdW5jdGlvbjx2b2lkKGludDY0X3QsIHVpbnQzMl90LCBjb25zdCBTdHJpbmcmKT4g
Y2FsbGJhY2spOworCiBwcml2YXRlOgogICAgIFVuaXF1ZUlEQkRhdGFiYXNlKGNvbnN0IFVuaXF1
ZUlEQkRhdGFiYXNlSWRlbnRpZmllciYpOwogCkBAIC0xMzksNiArMTQxLDcgQEAgcHJpdmF0ZToK
ICAgICB2b2lkIG9wZW5DdXJzb3JJbkJhY2tpbmdTdG9yZSh1aW50NjRfdCByZXF1ZXN0SUQsIGNv
bnN0IElEQklkZW50aWZpZXImIHRyYW5zYWN0aW9uSWRlbnRpZmllciwgaW50NjRfdCBvYmplY3RT
dG9yZUlELCBpbnQ2NF90IGluZGV4SUQsIFdlYkNvcmU6OkluZGV4ZWREQjo6Q3Vyc29yRGlyZWN0
aW9uLCBXZWJDb3JlOjpJbmRleGVkREI6OkN1cnNvclR5cGUsIFdlYkNvcmU6OklEQkRhdGFiYXNl
QmFja2VuZDo6VGFza1R5cGUsIGNvbnN0IFdlYkNvcmU6OklEQktleVJhbmdlRGF0YSYpOwogICAg
IHZvaWQgYWR2YW5jZUN1cnNvckluQmFja2luZ1N0b3JlKHVpbnQ2NF90IHJlcXVlc3RJRCwgY29u
c3QgSURCSWRlbnRpZmllciYgY3Vyc29ySWRlbnRpZmllciwgdWludDY0X3QgY291bnQpOwogICAg
IHZvaWQgaXRlcmF0ZUN1cnNvckluQmFja2luZ1N0b3JlKHVpbnQ2NF90IHJlcXVlc3RJRCwgY29u
c3QgSURCSWRlbnRpZmllciYgY3Vyc29ySWRlbnRpZmllciwgY29uc3QgV2ViQ29yZTo6SURCS2V5
RGF0YSYpOworICAgIHZvaWQgY291bnRJbkJhY2tpbmdTdG9yZSh1aW50NjRfdCByZXF1ZXN0SUQs
IGNvbnN0IElEQklkZW50aWZpZXImIHRyYW5zYWN0aW9uSWRlbnRpZmllciwgaW50NjRfdCBvYmpl
Y3RTdG9yZUlELCBpbnQ2NF90IGluZGV4SUQsIGNvbnN0IFdlYkNvcmU6OklEQktleVJhbmdlRGF0
YSYpOwogCiAgICAgdm9pZCBzaHV0ZG93bkJhY2tpbmdTdG9yZSgpOwogCkBAIC0xNTcsNiArMTYw
LDggQEAgcHJpdmF0ZToKICAgICB2b2lkIGRpZE9wZW5DdXJzb3JJbkJhY2tpbmdTdG9yZSh1aW50
NjRfdCByZXF1ZXN0SUQsIGludDY0X3QgY3Vyc29ySUQsIHVpbnQzMl90IGVycm9yQ29kZSwgY29u
c3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UpOwogICAgIHZvaWQgZGlkQWR2YW5jZUN1cnNvckluQmFj
a2luZ1N0b3JlKHVpbnQ2NF90IHJlcXVlc3RJRCwgY29uc3QgV2ViQ29yZTo6SURCS2V5RGF0YSYs
IGNvbnN0IFdlYkNvcmU6OklEQktleURhdGEmLCBjb25zdCBWZWN0b3I8Y2hhcj4mLCB1aW50MzJf
dCBlcnJvckNvZGUsIGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlKTsKICAgICB2b2lkIGRpZEl0
ZXJhdGVDdXJzb3JJbkJhY2tpbmdTdG9yZSh1aW50NjRfdCByZXF1ZXN0SUQsIGNvbnN0IFdlYkNv
cmU6OklEQktleURhdGEmLCBjb25zdCBXZWJDb3JlOjpJREJLZXlEYXRhJiwgY29uc3QgVmVjdG9y
PGNoYXI+JiwgdWludDMyX3QgZXJyb3JDb2RlLCBjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSk7
CisgICAgdm9pZCBkaWRDb3VudEluQmFja2luZ1N0b3JlKHVpbnQ2NF90IHJlcXVlc3RJRCwgaW50
NjRfdCBjb3VudCwgdWludDMyX3QgZXJyb3JDb2RlLCBjb25zdCBTdHJpbmcmIGVycm9yTWVzc2Fn
ZSk7CisKICAgICB2b2lkIGRpZFNodXRkb3duQmFja2luZ1N0b3JlKCk7CiAgICAgdm9pZCBkaWRD
b21wbGV0ZUJvb2xSZXF1ZXN0KHVpbnQ2NF90IHJlcXVlc3RJRCwgYm9vbCBzdWNjZXNzKTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0FzeW5jVGFzay5oIGIvU291cmNlL1dl
YktpdDIvU2hhcmVkL0FzeW5jVGFzay5oCmluZGV4IGI4OTRlNmYuLjE0NDljZWQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Bc3luY1Rhc2suaAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvQXN5bmNUYXNrLmgKQEAgLTEzNCw2ICsxMzQsMjYgQEAgc3RkOjp1bmlxdWVfcHRy
PEFzeW5jVGFzaz4gY3JlYXRlQXN5bmNUYXNrKAogICAgICAgICBXZWJDb3JlOjpDcm9zc1RocmVh
ZENvcGllcjxQND46OmNvcHkocGFyYW1ldGVyNCkpOwogfQogCit0ZW1wbGF0ZTx0eXBlbmFtZSBU
LCB0eXBlbmFtZSBQMSwgdHlwZW5hbWUgTVAxLCB0eXBlbmFtZSBQMiwgdHlwZW5hbWUgTVAyLCB0
eXBlbmFtZSBQMywgdHlwZW5hbWUgTVAzLCB0eXBlbmFtZSBQNCwgdHlwZW5hbWUgTVA0LCB0eXBl
bmFtZSBQNSwgdHlwZW5hbWUgTVA1Pgorc3RkOjp1bmlxdWVfcHRyPEFzeW5jVGFzaz4gY3JlYXRl
QXN5bmNUYXNrKAorICAgIFQmIGNhbGxlZSwKKyAgICB2b2lkIChUOjoqbWV0aG9kKShNUDEsIE1Q
MiwgTVAzLCBNUDQsIE1QNSksCisgICAgY29uc3QgUDEmIHBhcmFtZXRlcjEsCisgICAgY29uc3Qg
UDImIHBhcmFtZXRlcjIsCisgICAgY29uc3QgUDMmIHBhcmFtZXRlcjMsCisgICAgY29uc3QgUDQm
IHBhcmFtZXRlcjQsCisgICAgY29uc3QgUDUmIHBhcmFtZXRlcjUpCit7CisgICAgcmV0dXJuIHN0
ZDo6bWFrZV91bmlxdWU8QXN5bmNUYXNrSW1wbDxULCBNUDEsIE1QMiwgTVAzLCBNUDQsIE1QNT4+
KAorICAgICAgICAmY2FsbGVlLAorICAgICAgICBtZXRob2QsCisgICAgICAgIFdlYkNvcmU6OkNy
b3NzVGhyZWFkQ29waWVyPFAxPjo6Y29weShwYXJhbWV0ZXIxKSwKKyAgICAgICAgV2ViQ29yZTo6
Q3Jvc3NUaHJlYWRDb3BpZXI8UDI+Ojpjb3B5KHBhcmFtZXRlcjIpLAorICAgICAgICBXZWJDb3Jl
OjpDcm9zc1RocmVhZENvcGllcjxQMz46OmNvcHkocGFyYW1ldGVyMyksCisgICAgICAgIFdlYkNv
cmU6OkNyb3NzVGhyZWFkQ29waWVyPFA0Pjo6Y29weShwYXJhbWV0ZXI0KSwKKyAgICAgICAgV2Vi
Q29yZTo6Q3Jvc3NUaHJlYWRDb3BpZXI8UDU+Ojpjb3B5KHBhcmFtZXRlcjUpKTsKK30KKwogdGVt
cGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgUDEsIHR5cGVuYW1lIE1QMSwgdHlwZW5hbWUgUDIs
IHR5cGVuYW1lIE1QMiwgdHlwZW5hbWUgUDMsIHR5cGVuYW1lIE1QMywgdHlwZW5hbWUgUDQsIHR5
cGVuYW1lIE1QNCwgdHlwZW5hbWUgUDUsIHR5cGVuYW1lIE1QNSwgdHlwZW5hbWUgUDYsIHR5cGVu
YW1lIE1QNj4KIHN0ZDo6dW5pcXVlX3B0cjxBc3luY1Rhc2s+IGNyZWF0ZUFzeW5jVGFzaygKICAg
ICBUJiBjYWxsZWUsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0RhdGFi
YXNlcy9JbmRleGVkREIvV2ViSURCU2VydmVyQ29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL0RhdGFiYXNlcy9JbmRleGVkREIvV2ViSURCU2VydmVyQ29ubmVjdGlvbi5j
cHAKaW5kZXggZDAwNmNlNS4uZTBlZmRjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9EYXRhYmFzZXMvSW5kZXhlZERCL1dlYklEQlNlcnZlckNvbm5lY3Rpb24uY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvRGF0YWJhc2VzL0luZGV4ZWREQi9XZWJJREJT
ZXJ2ZXJDb25uZWN0aW9uLmNwcApAQCAtNDU4LDggKzQ1OCwzMyBAQCB2b2lkIFdlYklEQlNlcnZl
ckNvbm5lY3Rpb246OmRpZEl0ZXJhdGVDdXJzb3IodWludDY0X3QgcmVxdWVzdElELCBXZWJDb3Jl
OjpJREJLZQogICAgIHNlcnZlclJlcXVlc3QtPmNvbXBsZXRlUmVxdWVzdChrZXkubWF5YmVDcmVh
dGVJREJLZXkoKSwgcHJpbWFyeUtleS5tYXliZUNyZWF0ZUlEQktleSgpLCB2YWx1ZS5yZWxlYXNl
KCksIGVycm9yQ29kZSA/IElEQkRhdGFiYXNlRXJyb3I6OmNyZWF0ZShlcnJvckNvZGUsIGVycm9y
TWVzc2FnZSkgOiBudWxscHRyKTsKIH0KIAotdm9pZCBXZWJJREJTZXJ2ZXJDb25uZWN0aW9uOjpj
b3VudChJREJUcmFuc2FjdGlvbkJhY2tlbmQmLCBjb25zdCBDb3VudE9wZXJhdGlvbiYsIHN0ZDo6
ZnVuY3Rpb248dm9pZChpbnQ2NF90LCBQYXNzUmVmUHRyPElEQkRhdGFiYXNlRXJyb3I+KT4gY29t
cGxldGlvbkNhbGxiYWNrKQordm9pZCBXZWJJREJTZXJ2ZXJDb25uZWN0aW9uOjpjb3VudChJREJU
cmFuc2FjdGlvbkJhY2tlbmQmIHRyYW5zYWN0aW9uLCBjb25zdCBDb3VudE9wZXJhdGlvbiYgb3Bl
cmF0aW9uLCBzdGQ6OmZ1bmN0aW9uPHZvaWQoaW50NjRfdCwgUGFzc1JlZlB0cjxJREJEYXRhYmFz
ZUVycm9yPik+IGNvbXBsZXRpb25DYWxsYmFjaykKIHsKKyAgICBSZWZQdHI8QXN5bmNSZXF1ZXN0
PiBzZXJ2ZXJSZXF1ZXN0ID0gQXN5bmNSZXF1ZXN0SW1wbDxpbnQ2NF90LCBQYXNzUmVmUHRyPElE
QkRhdGFiYXNlRXJyb3I+Pjo6Y3JlYXRlKGNvbXBsZXRpb25DYWxsYmFjayk7CisKKyAgICBzZXJ2
ZXJSZXF1ZXN0LT5zZXRBYm9ydEhhbmRsZXIoW2NvbXBsZXRpb25DYWxsYmFja10oKSB7CisgICAg
ICAgIGNvbXBsZXRpb25DYWxsYmFjaygwLCBJREJEYXRhYmFzZUVycm9yOjpjcmVhdGUoSURCRGF0
YWJhc2VFeGNlcHRpb246OlVua25vd25FcnJvciwgIlVua25vd24gZXJyb3Igb2NjdXJlZCBnZXR0
aW5nIGNvdW50IikpOworICAgIH0pOworCisgICAgdWludDY0X3QgcmVxdWVzdElEID0gc2VydmVy
UmVxdWVzdC0+cmVxdWVzdElEKCk7CisgICAgQVNTRVJUKCFtX3NlcnZlclJlcXVlc3RzLmNvbnRh
aW5zKHJlcXVlc3RJRCkpOworICAgIG1fc2VydmVyUmVxdWVzdHMuYWRkKHJlcXVlc3RJRCwgc2Vy
dmVyUmVxdWVzdC5yZWxlYXNlKCkpOworCisgICAgTE9HKElEQiwgIldlYlByb2Nlc3MgY291bnQg
cmVxdWVzdCBJRCAlbGx1IiwgcmVxdWVzdElEKTsKKworICAgIHNlbmQoTWVzc2FnZXM6OkRhdGFi
YXNlUHJvY2Vzc0lEQkNvbm5lY3Rpb246OkNvdW50KHJlcXVlc3RJRCwgdHJhbnNhY3Rpb24uaWQo
KSwgb3BlcmF0aW9uLm9iamVjdFN0b3JlSUQoKSwgb3BlcmF0aW9uLmluZGV4SUQoKSwgSURCS2V5
UmFuZ2VEYXRhKG9wZXJhdGlvbi5rZXlSYW5nZSgpKSkpOworfQorCit2b2lkIFdlYklEQlNlcnZl
ckNvbm5lY3Rpb246OmRpZENvdW50KHVpbnQ2NF90IHJlcXVlc3RJRCwgaW50NjRfdCBjb3VudCwg
dWludDMyX3QgZXJyb3JDb2RlLCBjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSkKK3sKKyAgICBM
T0coSURCLCAiV2ViUHJvY2VzcyBkaWRDb3VudCByZXF1ZXN0IElEICVsbHUgKGVycm9yIC0gJXMp
IiwgcmVxdWVzdElELCBlcnJvck1lc3NhZ2UudXRmOCgpLmRhdGEoKSk7CisKKyAgICBSZWZQdHI8
QXN5bmNSZXF1ZXN0PiBzZXJ2ZXJSZXF1ZXN0ID0gbV9zZXJ2ZXJSZXF1ZXN0cy50YWtlKHJlcXVl
c3RJRCk7CisKKyAgICBpZiAoIXNlcnZlclJlcXVlc3QpCisgICAgICAgIHJldHVybjsKKworICAg
IHNlcnZlclJlcXVlc3QtPmNvbXBsZXRlUmVxdWVzdChjb3VudCwgZXJyb3JDb2RlID8gSURCRGF0
YWJhc2VFcnJvcjo6Y3JlYXRlKGVycm9yQ29kZSwgZXJyb3JNZXNzYWdlKSA6IG51bGxwdHIpOwog
fQogCiB2b2lkIFdlYklEQlNlcnZlckNvbm5lY3Rpb246OmRlbGV0ZVJhbmdlKElEQlRyYW5zYWN0
aW9uQmFja2VuZCYsIGNvbnN0IERlbGV0ZVJhbmdlT3BlcmF0aW9uJiwgc3RkOjpmdW5jdGlvbjx2
b2lkKFBhc3NSZWZQdHI8SURCRGF0YWJhc2VFcnJvcj4pPiBjb21wbGV0aW9uQ2FsbGJhY2spCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0RhdGFiYXNlcy9JbmRleGVkREIv
V2ViSURCU2VydmVyQ29ubmVjdGlvbi5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9EYXRh
YmFzZXMvSW5kZXhlZERCL1dlYklEQlNlcnZlckNvbm5lY3Rpb24uaAppbmRleCAzYjI3YTJiLi42
YmZhZGZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0RhdGFiYXNlcy9J
bmRleGVkREIvV2ViSURCU2VydmVyQ29ubmVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvRGF0YWJhc2VzL0luZGV4ZWREQi9XZWJJREJTZXJ2ZXJDb25uZWN0aW9uLmgKQEAg
LTExMiw2ICsxMTIsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgZGlkT3BlbkN1cnNvcih1aW50NjRf
dCByZXF1ZXN0SUQsIGludDY0X3QgY3Vyc29ySUQsIHVpbnQzMl90IGVycm9yQ29kZSwgY29uc3Qg
U3RyaW5nJiBlcnJvck1lc3NhZ2UpOwogICAgIHZvaWQgZGlkQWR2YW5jZUN1cnNvcih1aW50NjRf
dCByZXF1ZXN0SUQsIFdlYkNvcmU6OklEQktleURhdGEmLCBXZWJDb3JlOjpJREJLZXlEYXRhJiwg
Y29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJiwgdWludDMyX3QgZXJyb3JDb2RlLCBjb25zdCBTdHJp
bmcmIGVycm9yTWVzc2FnZSk7CiAgICAgdm9pZCBkaWRJdGVyYXRlQ3Vyc29yKHVpbnQ2NF90IHJl
cXVlc3RJRCwgV2ViQ29yZTo6SURCS2V5RGF0YSYsIFdlYkNvcmU6OklEQktleURhdGEmLCBjb25z
dCBJUEM6OkRhdGFSZWZlcmVuY2UmLCB1aW50MzJfdCBlcnJvckNvZGUsIGNvbnN0IFN0cmluZyYg
ZXJyb3JNZXNzYWdlKTsKKyAgICB2b2lkIGRpZENvdW50KHVpbnQ2NF90IHJlcXVlc3RJRCwgaW50
NjRfdCBjb3VudCwgdWludDMyX3QgZXJyb3JDb2RlLCBjb25zdCBTdHJpbmcmIGVycm9yTWVzc2Fn
ZSk7CiAKICAgICB1aW50NjRfdCBtX3NlcnZlckNvbm5lY3Rpb25JZGVudGlmaWVyOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0RhdGFiYXNlcy9JbmRleGVkREIvV2Vi
SURCU2VydmVyQ29ubmVjdGlvbi5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvRGF0YWJhc2VzL0luZGV4ZWREQi9XZWJJREJTZXJ2ZXJDb25uZWN0aW9uLm1lc3NhZ2VzLmlu
CmluZGV4IDgzN2U2YjguLjEwYTY0NmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvRGF0YWJhc2VzL0luZGV4ZWREQi9XZWJJREJTZXJ2ZXJDb25uZWN0aW9uLm1lc3NhZ2Vz
LmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvRGF0YWJhc2VzL0luZGV4ZWREQi9X
ZWJJREJTZXJ2ZXJDb25uZWN0aW9uLm1lc3NhZ2VzLmluCkBAIC00MCw4ICs0MCw5IEBAIG1lc3Nh
Z2VzIC0+IFdlYklEQlNlcnZlckNvbm5lY3Rpb24gTGVnYWN5UmVjZWl2ZXIgewogICAgIERpZFB1
dFJlY29yZCh1aW50NjRfdCByZXF1ZXN0SUQsIFdlYkNvcmU6OklEQktleURhdGEgcmVzdWx0S2V5
LCB1aW50MzJfdCBlcnJvckNvZGUsIFN0cmluZyBlcnJvck1lc3NhZ2UpCiAgICAgRGlkR2V0UmVj
b3JkKHVpbnQ2NF90IHJlcXVlc3RJRCwgV2ViQ29yZTo6SURCR2V0UmVzdWx0IGdldFJlc3VsdCwg
dWludDMyX3QgZXJyb3JDb2RlLCBTdHJpbmcgZXJyb3JNZXNzYWdlKQogICAgIERpZE9wZW5DdXJz
b3IodWludDY0X3QgcmVxdWVzdElELCBpbnQ2NF90IGN1cnNvcklELCB1aW50MzJfdCBlcnJvckNv
ZGUsIFN0cmluZyBlcnJvck1lc3NhZ2UpCi0gICAgRGlkQWR2YW5jZUN1cnNvcih1aW50NjRfdCBy
ZXF1ZXN0SUQsIFdlYkNvcmU6OklEQktleURhdGEga2V5LCBXZWJDb3JlOjpJREJLZXlEYXRhIHBy
aW1hcnlLZXksIElQQzo6RGF0YVJlZmVyZW5jZSB2YWx1ZSwgdWludDMyX3QgZXJyb3JDb2RlLCBT
dHJpbmcgZXJyb3JNZXNzYWdlKTsKLSAgICBEaWRJdGVyYXRlQ3Vyc29yKHVpbnQ2NF90IHJlcXVl
c3RJRCwgV2ViQ29yZTo6SURCS2V5RGF0YSBrZXksIFdlYkNvcmU6OklEQktleURhdGEgcHJpbWFy
eUtleSwgSVBDOjpEYXRhUmVmZXJlbmNlIHZhbHVlLCB1aW50MzJfdCBlcnJvckNvZGUsIFN0cmlu
ZyBlcnJvck1lc3NhZ2UpOworICAgIERpZEFkdmFuY2VDdXJzb3IodWludDY0X3QgcmVxdWVzdElE
LCBXZWJDb3JlOjpJREJLZXlEYXRhIGtleSwgV2ViQ29yZTo6SURCS2V5RGF0YSBwcmltYXJ5S2V5
LCBJUEM6OkRhdGFSZWZlcmVuY2UgdmFsdWUsIHVpbnQzMl90IGVycm9yQ29kZSwgU3RyaW5nIGVy
cm9yTWVzc2FnZSkKKyAgICBEaWRJdGVyYXRlQ3Vyc29yKHVpbnQ2NF90IHJlcXVlc3RJRCwgV2Vi
Q29yZTo6SURCS2V5RGF0YSBrZXksIFdlYkNvcmU6OklEQktleURhdGEgcHJpbWFyeUtleSwgSVBD
OjpEYXRhUmVmZXJlbmNlIHZhbHVlLCB1aW50MzJfdCBlcnJvckNvZGUsIFN0cmluZyBlcnJvck1l
c3NhZ2UpCisgICAgRGlkQ291bnQodWludDY0X3QgcmVxdWVzdElELCBpbnQ2NF90IGNvdW50LCB1
aW50MzJfdCBlcnJvckNvZGUsIFN0cmluZyBlcnJvck1lc3NhZ2UpCiB9CiAKICNlbmRpZiAvLyBF
TkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkgJiYgRU5BQkxFKERBVEFCQVNFX1BST0NFU1MpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>222752</attachid>
            <date>2014-01-30 15:46:11 -0800</date>
            <delta_ts>2014-01-30 15:47:35 -0800</delta_ts>
            <desc>Actual patch, v1</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>10662</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCAzNzgxYTg0Li4xYTNlODJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMzMg
QEAKIDIwMTQtMDEtMzAgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgogCisgICAg
ICAgIElEQjogSW1wbGVtZW50IElEQk9iamVjdFN0b3JlLmNvdW50KCkKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNzg4OAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vdyBjb3VudCgpIGFjdHVhbGx5IHdv
cmtzLgorCisgICAgICAgIEZvcndhcmQgdGhlIGNvdW50KCkgcmVxdWVzdCB0byB0aGUgYmFja2lu
ZyBzdG9yZeKAnQorICAgICAgICAqIERhdGFiYXNlUHJvY2Vzcy9JbmRleGVkREIvVW5pcXVlSURC
RGF0YWJhc2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpVbmlxdWVJREJEYXRhYmFzZTo6Y291bnRJ
bkJhY2tpbmdTdG9yZSk6CisKKyAgICAgICAgVXNpbmcgYSBjdXJzb3IsIGdldCBhIGNvdW50Ogor
ICAgICAgICAqIERhdGFiYXNlUHJvY2Vzcy9JbmRleGVkREIvVW5pcXVlSURCRGF0YWJhc2VCYWNr
aW5nU3RvcmUuaDoKKyAgICAgICAgKiBEYXRhYmFzZVByb2Nlc3MvSW5kZXhlZERCL3NxbGl0ZS9V
bmlxdWVJREJEYXRhYmFzZUJhY2tpbmdTdG9yZVNRTGl0ZS5jcHA6CisgICAgICAgIChXZWJLaXQ6
OlVuaXF1ZUlEQkRhdGFiYXNlQmFja2luZ1N0b3JlU1FMaXRlOjpjb3VudCk6CisgICAgICAgICog
RGF0YWJhc2VQcm9jZXNzL0luZGV4ZWREQi9zcWxpdGUvVW5pcXVlSURCRGF0YWJhc2VCYWNraW5n
U3RvcmVTUUxpdGUuaDoKKworICAgICAgICBHaXZlIGEgZGlyZWN0IGFjY2Vzc29yIHRvIGFsbG93
IHRoZSBiYWNraW5nIHN0b3JlIHRvIGNsb3NlIGEgY3Vyc29yIGl0IG9wZW5lZAorICAgICAgICBm
b3IgaXRzIG93biB1c2U6CisgICAgICAgICogRGF0YWJhc2VQcm9jZXNzL0luZGV4ZWREQi9zcWxp
dGUvU1FMaXRlSURCVHJhbnNhY3Rpb24uY3BwOgorICAgICAgICAoV2ViS2l0OjpTUUxpdGVJREJU
cmFuc2FjdGlvbjo6Y2xvc2VDdXJzb3IpOgorICAgICAgICAqIERhdGFiYXNlUHJvY2Vzcy9JbmRl
eGVkREIvc3FsaXRlL1NRTGl0ZUlEQlRyYW5zYWN0aW9uLmg6CisKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL0RhdGFiYXNlcy9JbmRleGVkREIvV2ViSURCU2VydmVyQ29ubmVjdGlvbi5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYklEQlNlcnZlckNvbm5lY3Rpb246OmRpZENvdW50KTogVXBkYXRlIHRo
ZSBsb2dnaW5nIHRvIHNob3cgdGhlIGNvdW50LgorCisyMDE0LTAxLTMwICBCcmFkeSBFaWRzb24g
IDxiZWlkc29uQGFwcGxlLmNvbT4KKwogICAgICAgICBJREI6IE9iamVjdFN0b3JlIGN1cnNvciBp
dGVyYXRlKCkgc3VwcG9ydAogICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTU5NDE5MTQ+IGFuZCBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI3ODY3CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL0RhdGFiYXNlUHJvY2Vzcy9JbmRleGVkREIvVW5pcXVlSURCRGF0
YWJhc2UuY3BwIGIvU291cmNlL1dlYktpdDIvRGF0YWJhc2VQcm9jZXNzL0luZGV4ZWREQi9Vbmlx
dWVJREJEYXRhYmFzZS5jcHAKaW5kZXggOGYzN2EyZi4uM2Y5MTA5NCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvRGF0YWJhc2VQcm9jZXNzL0luZGV4ZWREQi9VbmlxdWVJREJEYXRhYmFzZS5j
cHAKKysrIGIvU291cmNlL1dlYktpdDIvRGF0YWJhc2VQcm9jZXNzL0luZGV4ZWREQi9VbmlxdWVJ
REJEYXRhYmFzZS5jcHAKQEAgLTk1MiwxMSArOTUyLDE2IEBAIHZvaWQgVW5pcXVlSURCRGF0YWJh
c2U6OmRpZEl0ZXJhdGVDdXJzb3JJbkJhY2tpbmdTdG9yZSh1aW50NjRfdCByZXF1ZXN0SUQsIGNv
bnN0CiAgICAgcmVxdWVzdC0+Y29tcGxldGVSZXF1ZXN0KGtleSwgcHJpbWFyeUtleSwgU2hhcmVk
QnVmZmVyOjpjcmVhdGUodmFsdWUuZGF0YSgpLCB2YWx1ZS5zaXplKCkpLCBlcnJvckNvZGUsIGVy
cm9yTWVzc2FnZSk7CiB9CiAKLXZvaWQgVW5pcXVlSURCRGF0YWJhc2U6OmNvdW50SW5CYWNraW5n
U3RvcmUodWludDY0X3QgcmVxdWVzdElELCBjb25zdCBJREJJZGVudGlmaWVyJiB0cmFuc2FjdGlv
bklkZW50aWZpZXIsIGludDY0X3Qgb2JqZWN0U3RvcmVJRCwgaW50NjRfdCBpbmRleElELCBjb25z
dCBJREJLZXlSYW5nZURhdGEmKQordm9pZCBVbmlxdWVJREJEYXRhYmFzZTo6Y291bnRJbkJhY2tp
bmdTdG9yZSh1aW50NjRfdCByZXF1ZXN0SUQsIGNvbnN0IElEQklkZW50aWZpZXImIHRyYW5zYWN0
aW9uSWRlbnRpZmllciwgaW50NjRfdCBvYmplY3RTdG9yZUlELCBpbnQ2NF90IGluZGV4SUQsIGNv
bnN0IElEQktleVJhbmdlRGF0YSYga2V5UmFuZ2VEYXRhKQogewotICAgIC8vIEZJWE1FOiBJbXBs
ZW1lbnQKKyAgICBpbnQ2NF90IGNvdW50OworCisgICAgaWYgKCFtX2JhY2tpbmdTdG9yZS0+Y291
bnQodHJhbnNhY3Rpb25JZGVudGlmaWVyLCBvYmplY3RTdG9yZUlELCBpbmRleElELCBrZXlSYW5n
ZURhdGEsIGNvdW50KSkgeworICAgICAgICBMT0dfRVJST1IoIkZhaWxlZCB0byBnZXQgY291bnQg
ZnJvbSBiYWNraW5nIHN0b3JlLiIpOworICAgICAgICBwb3N0TWFpblRocmVhZFRhc2soY3JlYXRl
QXN5bmNUYXNrKCp0aGlzLCAmVW5pcXVlSURCRGF0YWJhc2U6OmRpZENvdW50SW5CYWNraW5nU3Rv
cmUsIHJlcXVlc3RJRCwgMCwgSURCRGF0YWJhc2VFeGNlcHRpb246OlVua25vd25FcnJvciwgQVND
SUlMaXRlcmFsKCJGYWlsZWQgdG8gZ2V0IGNvdW50IGZyb20gYmFja2luZyBzdG9yZSIpKSk7Cisg
ICAgfQogCi0gICAgcG9zdE1haW5UaHJlYWRUYXNrKGNyZWF0ZUFzeW5jVGFzaygqdGhpcywgJlVu
aXF1ZUlEQkRhdGFiYXNlOjpkaWRDb3VudEluQmFja2luZ1N0b3JlLCByZXF1ZXN0SUQsIDAsIElE
QkRhdGFiYXNlRXhjZXB0aW9uOjpVbmtub3duRXJyb3IsIEFTQ0lJTGl0ZXJhbCgiY291bnRpbmcg
aW4gYmFja2luZyBzdG9yZSBub3Qgc3VwcG9ydGVkIHlldCIpKSk7CisgICAgcG9zdE1haW5UaHJl
YWRUYXNrKGNyZWF0ZUFzeW5jVGFzaygqdGhpcywgJlVuaXF1ZUlEQkRhdGFiYXNlOjpkaWRDb3Vu
dEluQmFja2luZ1N0b3JlLCByZXF1ZXN0SUQsIGNvdW50LCAwLCBTdHJpbmcoU3RyaW5nSW1wbDo6
ZW1wdHkoKSkpKTsKIH0KIAogdm9pZCBVbmlxdWVJREJEYXRhYmFzZTo6ZGlkQ291bnRJbkJhY2tp
bmdTdG9yZSh1aW50NjRfdCByZXF1ZXN0SUQsIGludDY0X3QgY291bnQsIHVpbnQzMl90IGVycm9y
Q29kZSwgY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9EYXRhYmFzZVByb2Nlc3MvSW5kZXhlZERCL1VuaXF1ZUlEQkRhdGFiYXNlQmFja2luZ1N0
b3JlLmggYi9Tb3VyY2UvV2ViS2l0Mi9EYXRhYmFzZVByb2Nlc3MvSW5kZXhlZERCL1VuaXF1ZUlE
QkRhdGFiYXNlQmFja2luZ1N0b3JlLmgKaW5kZXggMDg0YWQ4Ni4uNjMxZTFhOCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvRGF0YWJhc2VQcm9jZXNzL0luZGV4ZWREQi9VbmlxdWVJREJEYXRh
YmFzZUJhY2tpbmdTdG9yZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL0RhdGFiYXNlUHJvY2Vzcy9J
bmRleGVkREIvVW5pcXVlSURCRGF0YWJhc2VCYWNraW5nU3RvcmUuaApAQCAtNzEsNiArNzEsNyBA
QCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIGJvb2wgZ2V0S2V5UmVjb3JkRnJvbU9iamVjdFN0b3Jl
KGNvbnN0IElEQklkZW50aWZpZXImIHRyYW5zYWN0aW9uSWRlbnRpZmllciwgaW50NjRfdCBvYmpl
Y3RTdG9yZUlELCBjb25zdCBXZWJDb3JlOjpJREJLZXkmLCBSZWZQdHI8V2ViQ29yZTo6U2hhcmVk
QnVmZmVyPiYgcmVzdWx0KSA9IDA7CiAgICAgdmlydHVhbCBib29sIGdldEtleVJhbmdlUmVjb3Jk
RnJvbU9iamVjdFN0b3JlKGNvbnN0IElEQklkZW50aWZpZXImIHRyYW5zYWN0aW9uSWRlbnRpZmll
ciwgaW50NjRfdCBvYmplY3RTdG9yZUlELCBjb25zdCBXZWJDb3JlOjpJREJLZXlSYW5nZSYsIFJl
ZlB0cjxXZWJDb3JlOjpTaGFyZWRCdWZmZXI+JiByZXN1bHQsIFJlZlB0cjxXZWJDb3JlOjpJREJL
ZXk+JiByZXN1bHRLZXkpID0gMDsKKyAgICB2aXJ0dWFsIGJvb2wgY291bnQoY29uc3QgSURCSWRl
bnRpZmllciYgdHJhbnNhY3Rpb25JZGVudGlmaWVyLCBpbnQ2NF90IG9iamVjdFN0b3JlSUQsIGlu
dDY0X3QgaW5kZXhJRCwgY29uc3QgV2ViQ29yZTo6SURCS2V5UmFuZ2VEYXRhJiwgaW50NjRfdCYg
Y291bnQpID0gMDsKIAogICAgIHZpcnR1YWwgYm9vbCBvcGVuQ3Vyc29yKGNvbnN0IElEQklkZW50
aWZpZXImIHRyYW5zYWN0aW9uSWRlbnRpZmllciwgaW50NjRfdCBvYmplY3RTdG9yZUlELCBpbnQ2
NF90IGluZGV4SUQsIFdlYkNvcmU6OkluZGV4ZWREQjo6Q3Vyc29yRGlyZWN0aW9uLCBXZWJDb3Jl
OjpJbmRleGVkREI6OkN1cnNvclR5cGUsIFdlYkNvcmU6OklEQkRhdGFiYXNlQmFja2VuZDo6VGFz
a1R5cGUsIGNvbnN0IFdlYkNvcmU6OklEQktleVJhbmdlRGF0YSYsIGludDY0X3QmIGN1cnNvcklE
KSA9IDA7CiAgICAgdmlydHVhbCBib29sIGFkdmFuY2VDdXJzb3IoY29uc3QgSURCSWRlbnRpZmll
ciYgY3Vyc29ySWRlbnRpZmllciwgdWludDY0X3QgY291bnQsIFdlYkNvcmU6OklEQktleURhdGEm
LCBXZWJDb3JlOjpJREJLZXlEYXRhJiwgVmVjdG9yPGNoYXI+JikgPSAwOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvRGF0YWJhc2VQcm9jZXNzL0luZGV4ZWREQi9zcWxpdGUvU1FMaXRlSURC
VHJhbnNhY3Rpb24uY3BwIGIvU291cmNlL1dlYktpdDIvRGF0YWJhc2VQcm9jZXNzL0luZGV4ZWRE
Qi9zcWxpdGUvU1FMaXRlSURCVHJhbnNhY3Rpb24uY3BwCmluZGV4IGQ5ZGExOTYuLjEzYjg0ZjMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0RhdGFiYXNlUHJvY2Vzcy9JbmRleGVkREIvc3Fs
aXRlL1NRTGl0ZUlEQlRyYW5zYWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9EYXRhYmFz
ZVByb2Nlc3MvSW5kZXhlZERCL3NxbGl0ZS9TUUxpdGVJREJUcmFuc2FjdGlvbi5jcHAKQEAgLTEx
NCw2ICsxMTQsMTQgQEAgU1FMaXRlSURCQ3Vyc29yKiBTUUxpdGVJREJUcmFuc2FjdGlvbjo6b3Bl
bkN1cnNvcihpbnQ2NF90IG9iamVjdFN0b3JlSUQsIGludDY0X3QKICAgICByZXR1cm4gYWRkUmVz
dWx0Lml0ZXJhdG9yLT52YWx1ZS5nZXQoKTsKIH0KIAordm9pZCBTUUxpdGVJREJUcmFuc2FjdGlv
bjo6Y2xvc2VDdXJzb3IoU1FMaXRlSURCQ3Vyc29yJiBjdXJzb3IpCit7CisgICAgQVNTRVJUKG1f
Y3Vyc29ycy5jb250YWlucyhjdXJzb3IuaWRlbnRpZmllcigpKSk7CisKKyAgICBtX2JhY2tpbmdT
dG9yZS51bnJlZ2lzdGVyQ3Vyc29yKCZjdXJzb3IpOworICAgIG1fY3Vyc29ycy5yZW1vdmUoY3Vy
c29yLmlkZW50aWZpZXIoKSk7Cit9CisKIHZvaWQgU1FMaXRlSURCVHJhbnNhY3Rpb246OmNsZWFy
Q3Vyc29ycygpCiB7CiAgICAgLy8gSXRlcmF0ZSBvdmVyIHRoZSBrZXlzIGluc3RlYWQgb2YgZWFj
aCBrZXkvdmFsdWUgcGFpciBiZWNhdXNlIHN0ZDo6dW5pcXVlX3B0cjw+IGNhbid0IGJlIGl0ZXJh
dGVkIG92ZXIgZGlyZWN0bHkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9EYXRhYmFzZVBy
b2Nlc3MvSW5kZXhlZERCL3NxbGl0ZS9TUUxpdGVJREJUcmFuc2FjdGlvbi5oIGIvU291cmNlL1dl
YktpdDIvRGF0YWJhc2VQcm9jZXNzL0luZGV4ZWREQi9zcWxpdGUvU1FMaXRlSURCVHJhbnNhY3Rp
b24uaAppbmRleCBkZjFiZjE2Li42NTM4NDQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9E
YXRhYmFzZVByb2Nlc3MvSW5kZXhlZERCL3NxbGl0ZS9TUUxpdGVJREJUcmFuc2FjdGlvbi5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL0RhdGFiYXNlUHJvY2Vzcy9JbmRleGVkREIvc3FsaXRlL1NRTGl0
ZUlEQlRyYW5zYWN0aW9uLmgKQEAgLTcyLDYgKzcyLDggQEAgcHVibGljOgogCiAgICAgU1FMaXRl
SURCQ3Vyc29yKiBvcGVuQ3Vyc29yKGludDY0X3Qgb2JqZWN0U3RvcmVJRCwgaW50NjRfdCBpbmRl
eElELCBXZWJDb3JlOjpJbmRleGVkREI6OkN1cnNvckRpcmVjdGlvbiwgV2ViQ29yZTo6SW5kZXhl
ZERCOjpDdXJzb3JUeXBlLCBXZWJDb3JlOjpJREJEYXRhYmFzZUJhY2tlbmQ6OlRhc2tUeXBlLCBj
b25zdCBXZWJDb3JlOjpJREJLZXlSYW5nZURhdGEmKTsKIAorICAgIHZvaWQgY2xvc2VDdXJzb3Io
U1FMaXRlSURCQ3Vyc29yJik7CisKICAgICBXZWJDb3JlOjpJbmRleGVkREI6OlRyYW5zYWN0aW9u
TW9kZSBtb2RlKCkgY29uc3QgeyByZXR1cm4gbV9tb2RlOyB9CiAgICAgYm9vbCBpblByb2dyZXNz
KCkgY29uc3Q7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0RhdGFiYXNlUHJvY2Vzcy9J
bmRleGVkREIvc3FsaXRlL1VuaXF1ZUlEQkRhdGFiYXNlQmFja2luZ1N0b3JlU1FMaXRlLmNwcCBi
L1NvdXJjZS9XZWJLaXQyL0RhdGFiYXNlUHJvY2Vzcy9JbmRleGVkREIvc3FsaXRlL1VuaXF1ZUlE
QkRhdGFiYXNlQmFja2luZ1N0b3JlU1FMaXRlLmNwcAppbmRleCA3OWM1YzJmLi42NzNmOWIyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9EYXRhYmFzZVByb2Nlc3MvSW5kZXhlZERCL3NxbGl0
ZS9VbmlxdWVJREJEYXRhYmFzZUJhY2tpbmdTdG9yZVNRTGl0ZS5jcHAKKysrIGIvU291cmNlL1dl
YktpdDIvRGF0YWJhc2VQcm9jZXNzL0luZGV4ZWREQi9zcWxpdGUvVW5pcXVlSURCRGF0YWJhc2VC
YWNraW5nU3RvcmVTUUxpdGUuY3BwCkBAIC03OTgsNiArNzk4LDM2IEBAIGJvb2wgVW5pcXVlSURC
RGF0YWJhc2VCYWNraW5nU3RvcmVTUUxpdGU6OmdldEtleVJhbmdlUmVjb3JkRnJvbU9iamVjdFN0
b3JlKGNvbnN0CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKK2Jvb2wgVW5pcXVlSURCRGF0YWJhc2VC
YWNraW5nU3RvcmVTUUxpdGU6OmNvdW50KGNvbnN0IElEQklkZW50aWZpZXImIHRyYW5zYWN0aW9u
SWRlbnRpZmllciwgaW50NjRfdCBvYmplY3RTdG9yZUlELCBpbnQ2NF90IGluZGV4SUQsIGNvbnN0
IElEQktleVJhbmdlRGF0YSYga2V5UmFuZ2VEYXRhLCBpbnQ2NF90JiBjb3VudCkKK3sKKyAgICBB
U1NFUlQoIWlzTWFpblRocmVhZCgpKTsKKyAgICBBU1NFUlQobV9zcWxpdGVEQik7CisgICAgQVNT
RVJUKG1fc3FsaXRlREItPmlzT3BlbigpKTsKKworICAgIFNRTGl0ZUlEQlRyYW5zYWN0aW9uKiB0
cmFuc2FjdGlvbiA9IG1fdHJhbnNhY3Rpb25zLmdldCh0cmFuc2FjdGlvbklkZW50aWZpZXIpOwor
ICAgIGlmICghdHJhbnNhY3Rpb24gfHwgIXRyYW5zYWN0aW9uLT5pblByb2dyZXNzKCkpIHsKKyAg
ICAgICAgTE9HX0VSUk9SKCJBdHRlbXB0IHRvIGdldCBjb3VudCBmcm9tIGRhdGFiYXNlIHdpdGhv
dXQgYW4gZXN0YWJsaXNoZWQsIGluLXByb2dyZXNzIHRyYW5zYWN0aW9uIik7CisgICAgICAgIHJl
dHVybiBmYWxzZTsKKyAgICB9CisKKyAgICBTUUxpdGVJREJDdXJzb3IqIGN1cnNvciA9IHRyYW5z
YWN0aW9uLT5vcGVuQ3Vyc29yKG9iamVjdFN0b3JlSUQsIGluZGV4SUQsIEluZGV4ZWREQjo6Q3Vy
c29yRGlyZWN0aW9uOjpOZXh0LCBJbmRleGVkREI6OkN1cnNvclR5cGU6OktleU9ubHksIElEQkRh
dGFiYXNlQmFja2VuZDo6Tm9ybWFsVGFzaywga2V5UmFuZ2VEYXRhKTsKKworICAgIGlmICghY3Vy
c29yKSB7CisgICAgICAgIExPR19FUlJPUigiQ2Fubm90IG9wZW4gY3Vyc29yIHRvIGdldCBjb3Vu
dCBpbiBkYXRhYmFzZSIpOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAgbV9j
dXJzb3JzLnNldChjdXJzb3ItPmlkZW50aWZpZXIoKSwgY3Vyc29yKTsKKworICAgIGNvdW50ID0g
MDsKKyAgICB3aGlsZSAoY3Vyc29yLT5hZHZhbmNlKDEpKQorICAgICAgICArK2NvdW50OworCisg
ICAgdHJhbnNhY3Rpb24tPmNsb3NlQ3Vyc29yKCpjdXJzb3IpOworCisgICAgcmV0dXJuIHRydWU7
Cit9CisKIGJvb2wgVW5pcXVlSURCRGF0YWJhc2VCYWNraW5nU3RvcmVTUUxpdGU6Om9wZW5DdXJz
b3IoY29uc3QgSURCSWRlbnRpZmllciYgdHJhbnNhY3Rpb25JZGVudGlmaWVyLCBpbnQ2NF90IG9i
amVjdFN0b3JlSUQsIGludDY0X3QgaW5kZXhJRCwgSW5kZXhlZERCOjpDdXJzb3JEaXJlY3Rpb24g
Y3Vyc29yRGlyZWN0aW9uLCBJbmRleGVkREI6OkN1cnNvclR5cGUgY3Vyc29yVHlwZSwgSURCRGF0
YWJhc2VCYWNrZW5kOjpUYXNrVHlwZSB0YXNrVHlwZSwgY29uc3QgSURCS2V5UmFuZ2VEYXRhJiBr
ZXlSYW5nZSwgaW50NjRfdCYgY3Vyc29ySUQpCiB7CiAgICAgQVNTRVJUKCFpc01haW5UaHJlYWQo
KSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9EYXRhYmFzZVByb2Nlc3MvSW5kZXhlZERC
L3NxbGl0ZS9VbmlxdWVJREJEYXRhYmFzZUJhY2tpbmdTdG9yZVNRTGl0ZS5oIGIvU291cmNlL1dl
YktpdDIvRGF0YWJhc2VQcm9jZXNzL0luZGV4ZWREQi9zcWxpdGUvVW5pcXVlSURCRGF0YWJhc2VC
YWNraW5nU3RvcmVTUUxpdGUuaAppbmRleCAxM2UwNDEzLi4yZmZiZTQ4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9EYXRhYmFzZVByb2Nlc3MvSW5kZXhlZERCL3NxbGl0ZS9VbmlxdWVJREJE
YXRhYmFzZUJhY2tpbmdTdG9yZVNRTGl0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL0RhdGFiYXNl
UHJvY2Vzcy9JbmRleGVkREIvc3FsaXRlL1VuaXF1ZUlEQkRhdGFiYXNlQmFja2luZ1N0b3JlU1FM
aXRlLmgKQEAgLTc2LDYgKzc2LDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBib29sIGdldEtl
eVJlY29yZEZyb21PYmplY3RTdG9yZShjb25zdCBJREJJZGVudGlmaWVyJiB0cmFuc2FjdGlvbklk
ZW50aWZpZXIsIGludDY0X3Qgb2JqZWN0U3RvcmVJRCwgY29uc3QgV2ViQ29yZTo6SURCS2V5Jiwg
UmVmUHRyPFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcj4mIHJlc3VsdCkgb3ZlcnJpZGU7CiAgICAgdmly
dHVhbCBib29sIGdldEtleVJhbmdlUmVjb3JkRnJvbU9iamVjdFN0b3JlKGNvbnN0IElEQklkZW50
aWZpZXImIHRyYW5zYWN0aW9uSWRlbnRpZmllciwgaW50NjRfdCBvYmplY3RTdG9yZUlELCBjb25z
dCBXZWJDb3JlOjpJREJLZXlSYW5nZSYsIFJlZlB0cjxXZWJDb3JlOjpTaGFyZWRCdWZmZXI+JiBy
ZXN1bHQsIFJlZlB0cjxXZWJDb3JlOjpJREJLZXk+JiByZXN1bHRLZXkpIG92ZXJyaWRlOworICAg
IHZpcnR1YWwgYm9vbCBjb3VudChjb25zdCBJREJJZGVudGlmaWVyJiB0cmFuc2FjdGlvbklkZW50
aWZpZXIsIGludDY0X3Qgb2JqZWN0U3RvcmVJRCwgaW50NjRfdCBpbmRleElELCBjb25zdCBXZWJD
b3JlOjpJREJLZXlSYW5nZURhdGEmLCBpbnQ2NF90JiBjb3VudCkgb3ZlcnJpZGU7CiAKICAgICB2
aXJ0dWFsIGJvb2wgb3BlbkN1cnNvcihjb25zdCBJREJJZGVudGlmaWVyJiB0cmFuc2FjdGlvbklk
ZW50aWZpZXIsIGludDY0X3Qgb2JqZWN0U3RvcmVJRCwgaW50NjRfdCBpbmRleElELCBXZWJDb3Jl
OjpJbmRleGVkREI6OkN1cnNvckRpcmVjdGlvbiwgV2ViQ29yZTo6SW5kZXhlZERCOjpDdXJzb3JU
eXBlLCBXZWJDb3JlOjpJREJEYXRhYmFzZUJhY2tlbmQ6OlRhc2tUeXBlLCBjb25zdCBXZWJDb3Jl
OjpJREJLZXlSYW5nZURhdGEmLCBpbnQ2NF90JiBjdXJzb3JJRCkgb3ZlcnJpZGU7CiAgICAgdmly
dHVhbCBib29sIGFkdmFuY2VDdXJzb3IoY29uc3QgSURCSWRlbnRpZmllciYgY3Vyc29ySWRlbnRp
ZmllciwgdWludDY0X3QgY291bnQsIFdlYkNvcmU6OklEQktleURhdGEmLCBXZWJDb3JlOjpJREJL
ZXlEYXRhJiwgVmVjdG9yPGNoYXI+Jikgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL0RhdGFiYXNlcy9JbmRleGVkREIvV2ViSURCU2VydmVyQ29ubmVjdGlv
bi5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0RhdGFiYXNlcy9JbmRleGVkREIvV2Vi
SURCU2VydmVyQ29ubmVjdGlvbi5jcHAKaW5kZXggODljNTQ2NS4uYWVkZDY5MCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9EYXRhYmFzZXMvSW5kZXhlZERCL1dlYklEQlNl
cnZlckNvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvRGF0YWJh
c2VzL0luZGV4ZWREQi9XZWJJREJTZXJ2ZXJDb25uZWN0aW9uLmNwcApAQCAtNTAxLDcgKzUwMSw3
IEBAIHZvaWQgV2ViSURCU2VydmVyQ29ubmVjdGlvbjo6Y291bnQoSURCVHJhbnNhY3Rpb25CYWNr
ZW5kJiB0cmFuc2FjdGlvbiwgY29uc3QgQ291CiAKIHZvaWQgV2ViSURCU2VydmVyQ29ubmVjdGlv
bjo6ZGlkQ291bnQodWludDY0X3QgcmVxdWVzdElELCBpbnQ2NF90IGNvdW50LCB1aW50MzJfdCBl
cnJvckNvZGUsIGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlKQogewotICAgIExPRyhJREIsICJX
ZWJQcm9jZXNzIGRpZENvdW50IHJlcXVlc3QgSUQgJWxsdSAoZXJyb3IgLSAlcykiLCByZXF1ZXN0
SUQsIGVycm9yTWVzc2FnZS51dGY4KCkuZGF0YSgpKTsKKyAgICBMT0coSURCLCAiV2ViUHJvY2Vz
cyBkaWRDb3VudCAlbGxpIHJlcXVlc3QgSUQgJWxsdSAoZXJyb3IgLSAlcykiLCBjb3VudCwgcmVx
dWVzdElELCBlcnJvck1lc3NhZ2UudXRmOCgpLmRhdGEoKSk7CiAKICAgICBSZWZQdHI8QXN5bmNS
ZXF1ZXN0PiBzZXJ2ZXJSZXF1ZXN0ID0gbV9zZXJ2ZXJSZXF1ZXN0cy50YWtlKHJlcXVlc3RJRCk7
CiAK
</data>
<flag name="review"
          id="246766"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>