<?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>89243</bug_id>
          
          <creation_ts>2012-06-15 13:21:38 -0700</creation_ts>
          <short_desc>IndexedDB: Raise exceptions when methods are called on deleted objects</short_desc>
          <delta_ts>2012-06-15 15:49:26 -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>
          
          <blocked>85513</blocked>
    
    <blocked>88467</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Joshua Bell">jsbell</reporter>
          <assigned_to name="Joshua Bell">jsbell</assigned_to>
          <cc>alecflett</cc>
    
    <cc>dgrogan</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>650450</commentid>
    <comment_count>0</comment_count>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-06-15 13:21:38 -0700</bug_when>
    <thetext>IndexedDB: Raise exceptions when methods are called on deleted objects</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>650453</commentid>
    <comment_count>1</comment_count>
      <attachid>147886</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-06-15 13:26:09 -0700</bug_when>
    <thetext>Created attachment 147886
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>650454</commentid>
    <comment_count>2</comment_count>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2012-06-15 13:27:34 -0700</bug_when>
    <thetext>tony@ - r?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>650476</commentid>
    <comment_count>3</comment_count>
      <attachid>147886</attachid>
    <who name="Alec Flett">alecflett</who>
    <bug_when>2012-06-15 13:58:58 -0700</bug_when>
    <thetext>Comment on attachment 147886
Patch

LGTM, FWIW</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>650588</commentid>
    <comment_count>4</comment_count>
      <attachid>147886</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-15 15:49:21 -0700</bug_when>
    <thetext>Comment on attachment 147886
Patch

Clearing flags on attachment: 147886

Committed r120504: &lt;http://trac.webkit.org/changeset/120504&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>650589</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-15 15:49:26 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>147886</attachid>
            <date>2012-06-15 13:26:09 -0700</date>
            <delta_ts>2012-06-15 15:49:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-89243-20120615132609.patch</filename>
            <type>text/plain</type>
            <size>29396</size>
            <attacher name="Joshua Bell">jsbell</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIwNDM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmVlYzZlNTI0MjAwN2Uz
OWY3MTFmZDIwOGUzZjI1MjhiNjE4NTlkMS4uNWE1MjBkOGYyZDA3MWI4NTk2YzE4ZGJlMDU4MGM5
YzdlYTkzODBhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ5IEBACisyMDEyLTA2LTE1ICBKb3No
dWEgQmVsbCAgPGpzYmVsbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSW5kZXhlZERCOiBSYWlz
ZSBleGNlcHRpb25zIHdoZW4gbWV0aG9kcyBhcmUgY2FsbGVkIG9uIGRlbGV0ZWQgb2JqZWN0cwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODkyNDMKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBsZW1lbnQg
dGhlIElEQiBzcGVjIHJlcXVpcmVtZW50IHRoYXQgSW52YWxpZFN0YXRlRXJyb3IgZXhjZXB0aW9u
cyBhcmUgCisgICAgICAgIHRocm93biB3aGVuIG1ldGhvZHMgYXJlIGNhbGxlZCBvbiBvYmplY3Rz
IChpLmUuIG9iamVjdCBzdG9yZXMgYW5kIGluZGV4ZXMpCisgICAgICAgIHRoYXQgaGF2ZSBiZWVu
IGRlbGV0ZWQgd2l0aGluIGEgdmVyc2lvbiBjaGFuZ2UgdHJhbnNhY3Rpb24uCisKKyAgICAgICAg
VGVzdDogc3RvcmFnZS9pbmRleGVkZGIvZGVsZXRlZC1vYmplY3RzLmh0bWwKKworICAgICAgICAq
IE1vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklE
QkRhdGFiYXNlOjpkZWxldGVPYmplY3RTdG9yZSk6IERvbid0IHJlbGF5IHRvIHRyYW5zYWN0aW9u
IGlmIGJhY2stZW5kIGZhaWxlZC4KKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJJbmRl
eC5jcHA6IENoZWNrIGRlbGV0ZWQgc3RhdGUgaW4gbWV0aG9kcywgcmFpc2UgaWYgc2V0LgorICAg
ICAgICAoV2ViQ29yZTo6SURCSW5kZXg6OklEQkluZGV4KToKKyAgICAgICAgKFdlYkNvcmU6OklE
QkluZGV4OjpvcGVuQ3Vyc29yKToKKyAgICAgICAgKFdlYkNvcmU6OklEQkluZGV4Ojpjb3VudCk6
CisgICAgICAgIChXZWJDb3JlOjpJREJJbmRleDo6b3BlbktleUN1cnNvcik6CisgICAgICAgIChX
ZWJDb3JlOjpJREJJbmRleDo6Z2V0KToKKyAgICAgICAgKFdlYkNvcmU6OklEQkluZGV4OjpnZXRL
ZXkpOgorICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQkluZGV4Lmg6IEFkZCBmbGFnIHRv
IHRyYWNrIGRlbGV0ZWQgc3RhdGUsIG1ldGhvZCB0byBtYXJrIGl0LgorICAgICAgICAoV2ViQ29y
ZTo6SURCSW5kZXg6Om1hcmtEZWxldGVkKToKKyAgICAgICAgKElEQkluZGV4KToKKyAgICAgICAg
KiBNb2R1bGVzL2luZGV4ZWRkYi9JREJPYmplY3RTdG9yZS5jcHA6IENoZWNrIGRlbGV0ZWQgc3Rh
dGUgaW4gbWV0aG9kcywgcmFpc2UgaWYgc2V0LgorICAgICAgICAoV2ViQ29yZTo6SURCT2JqZWN0
U3RvcmU6OklEQk9iamVjdFN0b3JlKToKKyAgICAgICAgKFdlYkNvcmU6OklEQk9iamVjdFN0b3Jl
OjpnZXQpOgorICAgICAgICAoV2ViQ29yZTo6SURCT2JqZWN0U3RvcmU6OmFkZCk6CisgICAgICAg
IChXZWJDb3JlOjpJREJPYmplY3RTdG9yZTo6cHV0KToKKyAgICAgICAgKFdlYkNvcmU6OklEQk9i
amVjdFN0b3JlOjpkZWxldGVGdW5jdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpJREJPYmplY3RT
dG9yZTo6Y2xlYXIpOgorICAgICAgICAoV2ViQ29yZTo6SURCT2JqZWN0U3RvcmU6OmNyZWF0ZUlu
ZGV4KToKKyAgICAgICAgKFdlYkNvcmU6OklEQk9iamVjdFN0b3JlOjppbmRleCk6CisgICAgICAg
IChXZWJDb3JlOjpJREJPYmplY3RTdG9yZTo6ZGVsZXRlSW5kZXgpOiBJZiB0aGUgaW5kZXggYmVp
bmcgZGVsZXRlZCBoYXMgYmVlbiBpbnN0YW50aWF0ZWQsCisgICAgICAgIG1hcmsgaXQgYXMgZGVs
ZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OklEQk9iamVjdFN0b3JlOjpvcGVuQ3Vyc29yKToKKyAg
ICAgICAgKFdlYkNvcmU6OklEQk9iamVjdFN0b3JlOjpjb3VudCk6CisgICAgICAgICogTW9kdWxl
cy9pbmRleGVkZGIvSURCT2JqZWN0U3RvcmUuaDogQWRkIGZsYWcgdG8gdHJhY2sgZGVsZXRlZCBz
dGF0ZSwgbWV0aG9kIHRvIG1hcmsgaXQuCisgICAgICAgIChXZWJDb3JlOjpJREJPYmplY3RTdG9y
ZTo6bWFya0RlbGV0ZWQpOgorICAgICAgICAoSURCT2JqZWN0U3RvcmUpOgorICAgICAgICAqIE1v
ZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklE
QlRyYW5zYWN0aW9uOjpvYmplY3RTdG9yZSk6CisgICAgICAgIChXZWJDb3JlOjpJREJUcmFuc2Fj
dGlvbjo6b2JqZWN0U3RvcmVEZWxldGVkKTogSWYgdGhlIHN0b3JlIGJlaW5nIGRlbGV0ZWQgaGFz
IGJlZW4gaW5zdGFudGlhdGVkLAorICAgICAgICBtYXJrIGl0IGFzIGRlbGV0ZWQuCisKIDIwMTIt
MDYtMTUgIEppYW4gTGkgIDxqaWFubGlAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEZpbGVSZWFk
ZXIgaXMgZHlzZnVuY3Rpb25hbCBpbiBkb2N1bWVudHMgd2l0aCAibnVsbCIgb3JpZ2luIHN0cmlu
ZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCRGF0YWJh
c2UuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCRGF0YWJhc2UuY3Bw
CmluZGV4IGYyZDI5N2I4NWRjYTJjNWRhZjY4NTE5ZTM3OGQ2Yjk4YzcxNGEzMzIuLjIwMDhlZDhi
NGZjYmNiYjU3MzM2NGRhOTdlYTgwZDA5YmRkYjE4M2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkRhdGFiYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJEYXRhYmFzZS5jcHAKQEAgLTE0OSw3ICsxNDksOCBAQCB2
b2lkIElEQkRhdGFiYXNlOjpkZWxldGVPYmplY3RTdG9yZShjb25zdCBTdHJpbmcmIG5hbWUsIEV4
Y2VwdGlvbkNvZGUmIGVjKQogICAgIH0KIAogICAgIG1fYmFja2VuZC0+ZGVsZXRlT2JqZWN0U3Rv
cmUobmFtZSwgbV92ZXJzaW9uQ2hhbmdlVHJhbnNhY3Rpb24tPmJhY2tlbmQoKSwgZWMpOwotICAg
IG1fdmVyc2lvbkNoYW5nZVRyYW5zYWN0aW9uLT5vYmplY3RTdG9yZURlbGV0ZWQobmFtZSk7Cisg
ICAgaWYgKCFlYykKKyAgICAgICAgbV92ZXJzaW9uQ2hhbmdlVHJhbnNhY3Rpb24tPm9iamVjdFN0
b3JlRGVsZXRlZChuYW1lKTsKIH0KIAogUGFzc1JlZlB0cjxJREJWZXJzaW9uQ2hhbmdlUmVxdWVz
dD4gSURCRGF0YWJhc2U6OnNldFZlcnNpb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4
dCwgY29uc3QgU3RyaW5nJiB2ZXJzaW9uLCBFeGNlcHRpb25Db2RlJiBlYykKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkluZGV4LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkluZGV4LmNwcAppbmRleCA1N2NkYjEyMTVhNDE1
NzE4NmIzOWM2OWE2ZTcyMzk0NDJmN2QwNGE3Li5kNmQ3NjIyYmIyYTRhOWJkOGU3ZWFkMDg5ZGZi
NTU3NDhiMWJkZWEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRk
Yi9JREJJbmRleC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURC
SW5kZXguY3BwCkBAIC00Niw2ICs0Niw3IEBAIElEQkluZGV4OjpJREJJbmRleChQYXNzUmVmUHRy
PElEQkluZGV4QmFja2VuZEludGVyZmFjZT4gYmFja2VuZCwgSURCT2JqZWN0U3RvcmUqCiAgICAg
OiBtX2JhY2tlbmQoYmFja2VuZCkKICAgICAsIG1fb2JqZWN0U3RvcmUob2JqZWN0U3RvcmUpCiAg
ICAgLCBtX3RyYW5zYWN0aW9uKHRyYW5zYWN0aW9uKQorICAgICwgbV9kZWxldGVkKGZhbHNlKQog
ewogICAgIEFTU0VSVChtX2JhY2tlbmQpOwogICAgIEFTU0VSVChtX29iamVjdFN0b3JlKTsKQEAg
LTU5LDYgKzYwLDEwIEBAIElEQkluZGV4Ojp+SURCSW5kZXgoKQogUGFzc1JlZlB0cjxJREJSZXF1
ZXN0PiBJREJJbmRleDo6b3BlbkN1cnNvcihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0
LCBQYXNzUmVmUHRyPElEQktleVJhbmdlPiBrZXlSYW5nZSwgY29uc3QgU3RyaW5nJiBkaXJlY3Rp
b25TdHJpbmcsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIElEQl9UUkFDRSgiSURCSW5kZXg6
Om9wZW5DdXJzb3IiKTsKKyAgICBpZiAobV9kZWxldGVkKSB7CisgICAgICAgIGVjID0gSURCRGF0
YWJhc2VFeGNlcHRpb246OklEQl9JTlZBTElEX1NUQVRFX0VSUjsKKyAgICAgICAgcmV0dXJuIDA7
CisgICAgfQogICAgIHVuc2lnbmVkIHNob3J0IGRpcmVjdGlvbiA9IElEQkN1cnNvcjo6c3RyaW5n
VG9EaXJlY3Rpb24oZGlyZWN0aW9uU3RyaW5nLCBlYyk7CiAgICAgaWYgKGVjKQogICAgICAgICBy
ZXR1cm4gMDsKQEAgLTEwNSw2ICsxMTAsMTAgQEAgUGFzc1JlZlB0cjxJREJSZXF1ZXN0PiBJREJJ
bmRleDo6b3BlbkN1cnNvcihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBQYXMKIFBh
c3NSZWZQdHI8SURCUmVxdWVzdD4gSURCSW5kZXg6OmNvdW50KFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqIGNvbnRleHQsIFBhc3NSZWZQdHI8SURCS2V5UmFuZ2U+IGtleVJhbmdlLCBFeGNlcHRpb25D
b2RlJiBlYykKIHsKICAgICBJREJfVFJBQ0UoIklEQkluZGV4Ojpjb3VudCIpOworICAgIGlmICht
X2RlbGV0ZWQpIHsKKyAgICAgICAgZWMgPSBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6SURCX0lOVkFM
SURfU1RBVEVfRVJSOworICAgICAgICByZXR1cm4gMDsKKyAgICB9CiAgICAgUmVmUHRyPElEQlJl
cXVlc3Q+IHJlcXVlc3QgPSBJREJSZXF1ZXN0OjpjcmVhdGUoY29udGV4dCwgSURCQW55OjpjcmVh
dGUodGhpcyksIG1fdHJhbnNhY3Rpb24uZ2V0KCkpOwogICAgIG1fYmFja2VuZC0+Y291bnQoa2V5
UmFuZ2UsIHJlcXVlc3QsIG1fdHJhbnNhY3Rpb24tPmJhY2tlbmQoKSwgZWMpOwogICAgIGlmIChl
YykgewpAQCAtMTI2LDYgKzEzNSwxMCBAQCBQYXNzUmVmUHRyPElEQlJlcXVlc3Q+IElEQkluZGV4
Ojpjb3VudChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBQYXNzUmVmUAogUGFzc1Jl
ZlB0cjxJREJSZXF1ZXN0PiBJREJJbmRleDo6b3BlbktleUN1cnNvcihTY3JpcHRFeGVjdXRpb25D
b250ZXh0KiBjb250ZXh0LCBQYXNzUmVmUHRyPElEQktleVJhbmdlPiBrZXlSYW5nZSwgY29uc3Qg
U3RyaW5nJiBkaXJlY3Rpb25TdHJpbmcsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIElEQl9U
UkFDRSgiSURCSW5kZXg6Om9wZW5LZXlDdXJzb3IiKTsKKyAgICBpZiAobV9kZWxldGVkKSB7Cisg
ICAgICAgIGVjID0gSURCRGF0YWJhc2VFeGNlcHRpb246OklEQl9JTlZBTElEX1NUQVRFX0VSUjsK
KyAgICAgICAgcmV0dXJuIDA7CisgICAgfQogCiAgICAgdW5zaWduZWQgc2hvcnQgZGlyZWN0aW9u
ID0gSURCQ3Vyc29yOjpzdHJpbmdUb0RpcmVjdGlvbihkaXJlY3Rpb25TdHJpbmcsIGVjKTsKICAg
ICBpZiAoZWMpCkBAIC0xNzMsNiArMTg2LDEwIEBAIFBhc3NSZWZQdHI8SURCUmVxdWVzdD4gSURC
SW5kZXg6Om9wZW5LZXlDdXJzb3IoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwKIFBh
c3NSZWZQdHI8SURCUmVxdWVzdD4gSURCSW5kZXg6OmdldChTY3JpcHRFeGVjdXRpb25Db250ZXh0
KiBjb250ZXh0LCBQYXNzUmVmUHRyPElEQktleT4ga2V5LCBFeGNlcHRpb25Db2RlJiBlYykKIHsK
ICAgICBJREJfVFJBQ0UoIklEQkluZGV4OjpnZXQiKTsKKyAgICBpZiAobV9kZWxldGVkKSB7Cisg
ICAgICAgIGVjID0gSURCRGF0YWJhc2VFeGNlcHRpb246OklEQl9JTlZBTElEX1NUQVRFX0VSUjsK
KyAgICAgICAgcmV0dXJuIDA7CisgICAgfQogICAgIGlmIChrZXkgJiYgKGtleS0+dHlwZSgpID09
IElEQktleTo6SW52YWxpZFR5cGUpKSB7CiAgICAgICAgIGVjID0gSURCRGF0YWJhc2VFeGNlcHRp
b246OkRBVEFfRVJSOwogICAgICAgICByZXR1cm4gMDsKQEAgLTE4OCw2ICsyMDUsMTAgQEAgUGFz
c1JlZlB0cjxJREJSZXF1ZXN0PiBJREJJbmRleDo6Z2V0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQq
IGNvbnRleHQsIFBhc3NSZWZQdHIKIFBhc3NSZWZQdHI8SURCUmVxdWVzdD4gSURCSW5kZXg6Omdl
dChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBQYXNzUmVmUHRyPElEQktleVJhbmdl
PiBrZXlSYW5nZSwgRXhjZXB0aW9uQ29kZSYgZWMpCiB7CiAgICAgSURCX1RSQUNFKCJJREJJbmRl
eDo6Z2V0Iik7CisgICAgaWYgKG1fZGVsZXRlZCkgeworICAgICAgICBlYyA9IElEQkRhdGFiYXNl
RXhjZXB0aW9uOjpJREJfSU5WQUxJRF9TVEFURV9FUlI7CisgICAgICAgIHJldHVybiAwOworICAg
IH0KICAgICBpZiAoIWtleVJhbmdlKSB7CiAgICAgICAgIGVjID0gSURCRGF0YWJhc2VFeGNlcHRp
b246OkRBVEFfRVJSOwogICAgICAgICByZXR1cm4gMDsKQEAgLTIwNSw2ICsyMjYsMTAgQEAgUGFz
c1JlZlB0cjxJREJSZXF1ZXN0PiBJREJJbmRleDo6Z2V0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQq
IGNvbnRleHQsIFBhc3NSZWZQdHIKIFBhc3NSZWZQdHI8SURCUmVxdWVzdD4gSURCSW5kZXg6Omdl
dEtleShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBQYXNzUmVmUHRyPElEQktleT4g
a2V5LCBFeGNlcHRpb25Db2RlJiBlYykKIHsKICAgICBJREJfVFJBQ0UoIklEQkluZGV4OjpnZXRL
ZXkiKTsKKyAgICBpZiAobV9kZWxldGVkKSB7CisgICAgICAgIGVjID0gSURCRGF0YWJhc2VFeGNl
cHRpb246OklEQl9JTlZBTElEX1NUQVRFX0VSUjsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQog
ICAgIGlmIChrZXkgJiYgKGtleS0+dHlwZSgpID09IElEQktleTo6SW52YWxpZFR5cGUpKSB7CiAg
ICAgICAgIGVjID0gSURCRGF0YWJhc2VFeGNlcHRpb246OkRBVEFfRVJSOwogICAgICAgICByZXR1
cm4gMDsKQEAgLTIyMCw2ICsyNDUsMTAgQEAgUGFzc1JlZlB0cjxJREJSZXF1ZXN0PiBJREJJbmRl
eDo6Z2V0S2V5KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFBhc3NSZWYKIFBhc3NS
ZWZQdHI8SURCUmVxdWVzdD4gSURCSW5kZXg6OmdldEtleShTY3JpcHRFeGVjdXRpb25Db250ZXh0
KiBjb250ZXh0LCBQYXNzUmVmUHRyPElEQktleVJhbmdlPiBrZXlSYW5nZSwgRXhjZXB0aW9uQ29k
ZSYgZWMpCiB7CiAgICAgSURCX1RSQUNFKCJJREJJbmRleDo6Z2V0S2V5Iik7CisgICAgaWYgKG1f
ZGVsZXRlZCkgeworICAgICAgICBlYyA9IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpJREJfSU5WQUxJ
RF9TVEFURV9FUlI7CisgICAgICAgIHJldHVybiAwOworICAgIH0KICAgICBpZiAoIWtleVJhbmdl
KSB7CiAgICAgICAgIGVjID0gSURCRGF0YWJhc2VFeGNlcHRpb246OkRBVEFfRVJSOwogICAgICAg
ICByZXR1cm4gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRi
L0lEQkluZGV4LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJJbmRleC5o
CmluZGV4IGE5MGFjZTAzZGEwOTYzOWE1NzA4OGM0MTYzZGQwN2ZmZTI3ZTAxOGIuLmM3ZTVmNzhj
ZmI1NzYxNjc2ZjYwNjA5Y2UzNjk2ZTQ5MDg0YThmYzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkluZGV4LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvSURCSW5kZXguaApAQCAtODAsMTIgKzgwLDE1IEBAIHB1YmxpYzoKICAg
ICBQYXNzUmVmUHRyPElEQlJlcXVlc3Q+IGdldEtleShTY3JpcHRFeGVjdXRpb25Db250ZXh0Kiwg
UGFzc1JlZlB0cjxJREJLZXlSYW5nZT4sIEV4Y2VwdGlvbkNvZGUmKTsKICAgICBQYXNzUmVmUHRy
PElEQlJlcXVlc3Q+IGdldEtleShTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxJ
REJLZXk+LCBFeGNlcHRpb25Db2RlJik7CiAKKyAgICB2b2lkIG1hcmtEZWxldGVkKCkgeyBtX2Rl
bGV0ZWQgPSB0cnVlOyB9CisKIHByaXZhdGU6CiAgICAgSURCSW5kZXgoUGFzc1JlZlB0cjxJREJJ
bmRleEJhY2tlbmRJbnRlcmZhY2U+LCBJREJPYmplY3RTdG9yZSosIElEQlRyYW5zYWN0aW9uKik7
CiAKICAgICBSZWZQdHI8SURCSW5kZXhCYWNrZW5kSW50ZXJmYWNlPiBtX2JhY2tlbmQ7CiAgICAg
UmVmUHRyPElEQk9iamVjdFN0b3JlPiBtX29iamVjdFN0b3JlOwogICAgIFJlZlB0cjxJREJUcmFu
c2FjdGlvbj4gbV90cmFuc2FjdGlvbjsKKyAgICBib29sIG1fZGVsZXRlZDsKIH07CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5k
ZXhlZGRiL0lEQk9iamVjdFN0b3JlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhl
ZGRiL0lEQk9iamVjdFN0b3JlLmNwcAppbmRleCBlNmI5NGEyYWY1Mzg5NDAxNDE2MDZiMTY3ZmIz
MGFhNjEwYTAzNGM4Li4yYWZjYjMwZTE0ODUwMmQ5MWI3ODc2Y2RjNjEyMmJmMmY1MjU0OGQ4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJPYmplY3RTdG9y
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCT2JqZWN0U3Rv
cmUuY3BwCkBAIC00Nyw2ICs0Nyw3IEBAIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBzaG9ydCBkZWZh
dWx0RGlyZWN0aW9uID0gSURCQ3Vyc29yOjpORVhUOwogSURCT2JqZWN0U3RvcmU6OklEQk9iamVj
dFN0b3JlKFBhc3NSZWZQdHI8SURCT2JqZWN0U3RvcmVCYWNrZW5kSW50ZXJmYWNlPiBpZGJPYmpl
Y3RTdG9yZSwgSURCVHJhbnNhY3Rpb24qIHRyYW5zYWN0aW9uKQogICAgIDogbV9iYWNrZW5kKGlk
Yk9iamVjdFN0b3JlKQogICAgICwgbV90cmFuc2FjdGlvbih0cmFuc2FjdGlvbikKKyAgICAsIG1f
ZGVsZXRlZChmYWxzZSkKIHsKICAgICBBU1NFUlQobV9iYWNrZW5kKTsKICAgICBBU1NFUlQobV90
cmFuc2FjdGlvbik7CkBAIC0xMDQsNiArMTA1LDExIEBAIFBhc3NSZWZQdHI8SURCUmVxdWVzdD4g
SURCT2JqZWN0U3RvcmU6OmdldChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBQYXNz
CiBQYXNzUmVmUHRyPElEQlJlcXVlc3Q+IElEQk9iamVjdFN0b3JlOjpnZXQoU2NyaXB0RXhlY3V0
aW9uQ29udGV4dCogY29udGV4dCwgUGFzc1JlZlB0cjxJREJLZXk+IGtleSwgRXhjZXB0aW9uQ29k
ZSYgZWMpCiB7CiAgICAgSURCX1RSQUNFKCJJREJPYmplY3RTdG9yZTo6Z2V0Iik7CisgICAgaWYg
KG1fZGVsZXRlZCkgeworICAgICAgICBlYyA9IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpJREJfSU5W
QUxJRF9TVEFURV9FUlI7CisgICAgICAgIHJldHVybiAwOworICAgIH0KKwogICAgIGlmICgha2V5
IHx8IChrZXktPnR5cGUoKSA9PSBJREJLZXk6OkludmFsaWRUeXBlKSkgewogICAgICAgICBlYyA9
IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpEQVRBX0VSUjsKICAgICAgICAgcmV0dXJuIDA7CkBAIC0x
MTgsNiArMTI0LDEwIEBAIFBhc3NSZWZQdHI8SURCUmVxdWVzdD4gSURCT2JqZWN0U3RvcmU6Omdl
dChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBQYXNzCiBQYXNzUmVmUHRyPElEQlJl
cXVlc3Q+IElEQk9iamVjdFN0b3JlOjphZGQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4
dCwgUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IHBycFZhbHVlLCBQYXNzUmVmUHRy
PElEQktleT4ga2V5LCBFeGNlcHRpb25Db2RlJiBlYykKIHsKICAgICBJREJfVFJBQ0UoIklEQk9i
amVjdFN0b3JlOjphZGQiKTsKKyAgICBpZiAobV9kZWxldGVkKSB7CisgICAgICAgIGVjID0gSURC
RGF0YWJhc2VFeGNlcHRpb246OklEQl9JTlZBTElEX1NUQVRFX0VSUjsKKyAgICAgICAgcmV0dXJu
IDA7CisgICAgfQogICAgIGlmIChtX3RyYW5zYWN0aW9uLT5pc1JlYWRPbmx5KCkpIHsKICAgICAg
ICAgZWMgPSBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6UkVBRF9PTkxZX0VSUjsKICAgICAgICAgcmV0
dXJuIDA7CkBAIC0xNDcsNiArMTU3LDEwIEBAIFBhc3NSZWZQdHI8SURCUmVxdWVzdD4gSURCT2Jq
ZWN0U3RvcmU6OmFkZChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBQYXNzCiBQYXNz
UmVmUHRyPElEQlJlcXVlc3Q+IElEQk9iamVjdFN0b3JlOjpwdXQoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCogY29udGV4dCwgUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IHBycFZhbHVl
LCBQYXNzUmVmUHRyPElEQktleT4ga2V5LCBFeGNlcHRpb25Db2RlJiBlYykKIHsKICAgICBJREJf
VFJBQ0UoIklEQk9iamVjdFN0b3JlOjpwdXQiKTsKKyAgICBpZiAobV9kZWxldGVkKSB7CisgICAg
ICAgIGVjID0gSURCRGF0YWJhc2VFeGNlcHRpb246OklEQl9JTlZBTElEX1NUQVRFX0VSUjsKKyAg
ICAgICAgcmV0dXJuIDA7CisgICAgfQogICAgIGlmIChtX3RyYW5zYWN0aW9uLT5pc1JlYWRPbmx5
KCkpIHsKICAgICAgICAgZWMgPSBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6UkVBRF9PTkxZX0VSUjsK
ICAgICAgICAgcmV0dXJuIDA7CkBAIC0xNzYsNiArMTkwLDEwIEBAIFBhc3NSZWZQdHI8SURCUmVx
dWVzdD4gSURCT2JqZWN0U3RvcmU6OnB1dChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0
LCBQYXNzCiBQYXNzUmVmUHRyPElEQlJlcXVlc3Q+IElEQk9iamVjdFN0b3JlOjpkZWxldGVGdW5j
dGlvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBQYXNzUmVmUHRyPElEQktleVJh
bmdlPiBrZXlSYW5nZSwgRXhjZXB0aW9uQ29kZSYgZWMpCiB7CiAgICAgSURCX1RSQUNFKCJJREJP
YmplY3RTdG9yZTo6ZGVsZXRlIik7CisgICAgaWYgKG1fZGVsZXRlZCkgeworICAgICAgICBlYyA9
IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpJREJfSU5WQUxJRF9TVEFURV9FUlI7CisgICAgICAgIHJl
dHVybiAwOworICAgIH0KICAgICBpZiAobV90cmFuc2FjdGlvbi0+aXNSZWFkT25seSgpKSB7CiAg
ICAgICAgIGVjID0gSURCRGF0YWJhc2VFeGNlcHRpb246OlJFQURfT05MWV9FUlI7CiAgICAgICAg
IHJldHVybiAwOwpAQCAtMTk4LDYgKzIxNiwxMCBAQCBQYXNzUmVmUHRyPElEQlJlcXVlc3Q+IElE
Qk9iamVjdFN0b3JlOjpkZWxldGVGdW5jdGlvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjbwog
UGFzc1JlZlB0cjxJREJSZXF1ZXN0PiBJREJPYmplY3RTdG9yZTo6ZGVsZXRlRnVuY3Rpb24oU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgUGFzc1JlZlB0cjxJREJLZXk+IGtleSwgRXhj
ZXB0aW9uQ29kZSYgZWMpCiB7CiAgICAgSURCX1RSQUNFKCJJREJPYmplY3RTdG9yZTo6ZGVsZXRl
Iik7CisgICAgaWYgKG1fZGVsZXRlZCkgeworICAgICAgICBlYyA9IElEQkRhdGFiYXNlRXhjZXB0
aW9uOjpJREJfSU5WQUxJRF9TVEFURV9FUlI7CisgICAgICAgIHJldHVybiAwOworICAgIH0KICAg
ICBpZiAobV90cmFuc2FjdGlvbi0+aXNSZWFkT25seSgpKSB7CiAgICAgICAgIGVjID0gSURCRGF0
YWJhc2VFeGNlcHRpb246OlJFQURfT05MWV9FUlI7CiAgICAgICAgIHJldHVybiAwOwpAQCAtMjIw
LDYgKzI0MiwxMCBAQCBQYXNzUmVmUHRyPElEQlJlcXVlc3Q+IElEQk9iamVjdFN0b3JlOjpkZWxl
dGVGdW5jdGlvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjbwogUGFzc1JlZlB0cjxJREJSZXF1
ZXN0PiBJREJPYmplY3RTdG9yZTo6Y2xlYXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4
dCwgRXhjZXB0aW9uQ29kZSYgZWMpCiB7CiAgICAgSURCX1RSQUNFKCJJREJPYmplY3RTdG9yZTo6
Y2xlYXIiKTsKKyAgICBpZiAobV9kZWxldGVkKSB7CisgICAgICAgIGVjID0gSURCRGF0YWJhc2VF
eGNlcHRpb246OklEQl9JTlZBTElEX1NUQVRFX0VSUjsKKyAgICAgICAgcmV0dXJuIDA7CisgICAg
fQogICAgIGlmIChtX3RyYW5zYWN0aW9uLT5pc1JlYWRPbmx5KCkpIHsKICAgICAgICAgZWMgPSBJ
REJEYXRhYmFzZUV4Y2VwdGlvbjo6UkVBRF9PTkxZX0VSUjsKICAgICAgICAgcmV0dXJuIDA7CkBA
IC0yNTEsNiArMjc3LDExIEBAIFBhc3NSZWZQdHI8SURCSW5kZXg+IElEQk9iamVjdFN0b3JlOjpj
cmVhdGVJbmRleChjb25zdCBTdHJpbmcmIG5hbWUsIFBhc3NSZWZQdHI8CiBQYXNzUmVmUHRyPElE
QkluZGV4PiBJREJPYmplY3RTdG9yZTo6Y3JlYXRlSW5kZXgoY29uc3QgU3RyaW5nJiBuYW1lLCBj
b25zdCBJREJLZXlQYXRoJiBrZXlQYXRoLCBjb25zdCBEaWN0aW9uYXJ5JiBvcHRpb25zLCBFeGNl
cHRpb25Db2RlJiBlYykKIHsKICAgICBJREJfVFJBQ0UoIklEQk9iamVjdFN0b3JlOjpjcmVhdGVJ
bmRleCIpOworICAgIGlmICghbV90cmFuc2FjdGlvbi0+aXNWZXJzaW9uQ2hhbmdlKCkgfHwgbV9k
ZWxldGVkKSB7CisgICAgICAgIGVjID0gSURCRGF0YWJhc2VFeGNlcHRpb246OklEQl9JTlZBTElE
X1NUQVRFX0VSUjsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorCiAgICAgaWYgKCFrZXlQYXRo
LmlzVmFsaWQoKSkgewogICAgICAgICBlYyA9IElEQkRhdGFiYXNlRXhjZXB0aW9uOjpJREJfU1lO
VEFYX0VSUjsKICAgICAgICAgcmV0dXJuIDA7CkBAIC0yNjksMTYgKzMwMCwyMiBAQCBQYXNzUmVm
UHRyPElEQkluZGV4PiBJREJPYmplY3RTdG9yZTo6Y3JlYXRlSW5kZXgoY29uc3QgU3RyaW5nJiBu
YW1lLCBjb25zdCBJREJLZQogCiAgICAgUmVmUHRyPElEQkluZGV4QmFja2VuZEludGVyZmFjZT4g
aW5kZXhCYWNrZW5kID0gbV9iYWNrZW5kLT5jcmVhdGVJbmRleChuYW1lLCBrZXlQYXRoLCB1bmlx
dWUsIG11bHRpRW50cnksIG1fdHJhbnNhY3Rpb24tPmJhY2tlbmQoKSwgZWMpOwogICAgIEFTU0VS
VCghaW5kZXhCYWNrZW5kICE9ICFlYyk7IC8vIElmIHdlIGRpZG4ndCBnZXQgYW4gaW5kZXgsIHdl
IHNob3VsZCBoYXZlIGdvdHRlbiBhbiBleGNlcHRpb24gY29kZS4gQW5kIHZpY2UgdmVyc2EuCi0g
ICAgaWYgKCFpbmRleEJhY2tlbmQpCisgICAgaWYgKGVjKQogICAgICAgICByZXR1cm4gMDsKKwog
ICAgIFJlZlB0cjxJREJJbmRleD4gaW5kZXggPSBJREJJbmRleDo6Y3JlYXRlKGluZGV4QmFja2Vu
ZC5yZWxlYXNlKCksIHRoaXMsIG1fdHJhbnNhY3Rpb24uZ2V0KCkpOwogICAgIG1faW5kZXhNYXAu
c2V0KG5hbWUsIGluZGV4KTsKKwogICAgIHJldHVybiBpbmRleC5yZWxlYXNlKCk7CiB9CiAKIFBh
c3NSZWZQdHI8SURCSW5kZXg+IElEQk9iamVjdFN0b3JlOjppbmRleChjb25zdCBTdHJpbmcmIG5h
bWUsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIElEQl9UUkFDRSgiSURCT2JqZWN0U3RvcmU6
OmluZGV4Iik7CisgICAgaWYgKG1fZGVsZXRlZCkgeworICAgICAgICBlYyA9IElEQkRhdGFiYXNl
RXhjZXB0aW9uOjpJREJfSU5WQUxJRF9TVEFURV9FUlI7CisgICAgICAgIHJldHVybiAwOworICAg
IH0KICAgICBpZiAobV90cmFuc2FjdGlvbi0+aXNGaW5pc2hlZCgpKSB7CiAgICAgICAgIGVjID0g
SURCRGF0YWJhc2VFeGNlcHRpb246OklEQl9JTlZBTElEX1NUQVRFX0VSUjsKICAgICAgICAgcmV0
dXJuIDA7CkBAIC0yOTAsNyArMzI3LDcgQEAgUGFzc1JlZlB0cjxJREJJbmRleD4gSURCT2JqZWN0
U3RvcmU6OmluZGV4KGNvbnN0IFN0cmluZyYgbmFtZSwgRXhjZXB0aW9uQ29kZSYgZWMKIAogICAg
IFJlZlB0cjxJREJJbmRleEJhY2tlbmRJbnRlcmZhY2U+IGluZGV4QmFja2VuZCA9IG1fYmFja2Vu
ZC0+aW5kZXgobmFtZSwgZWMpOwogICAgIEFTU0VSVCghaW5kZXhCYWNrZW5kICE9ICFlYyk7IC8v
IElmIHdlIGRpZG4ndCBnZXQgYW4gaW5kZXgsIHdlIHNob3VsZCBoYXZlIGdvdHRlbiBhbiBleGNl
cHRpb24gY29kZS4gQW5kIHZpY2UgdmVyc2EuCi0gICAgaWYgKCFpbmRleEJhY2tlbmQpCisgICAg
aWYgKGVjKQogICAgICAgICByZXR1cm4gMDsKIAogICAgIFJlZlB0cjxJREJJbmRleD4gaW5kZXgg
PSBJREJJbmRleDo6Y3JlYXRlKGluZGV4QmFja2VuZC5yZWxlYXNlKCksIHRoaXMsIG1fdHJhbnNh
Y3Rpb24uZ2V0KCkpOwpAQCAtMzAwLDEyICszMzcsMjggQEAgUGFzc1JlZlB0cjxJREJJbmRleD4g
SURCT2JqZWN0U3RvcmU6OmluZGV4KGNvbnN0IFN0cmluZyYgbmFtZSwgRXhjZXB0aW9uQ29kZSYg
ZWMKIAogdm9pZCBJREJPYmplY3RTdG9yZTo6ZGVsZXRlSW5kZXgoY29uc3QgU3RyaW5nJiBuYW1l
LCBFeGNlcHRpb25Db2RlJiBlYykKIHsKKyAgICBpZiAoIW1fdHJhbnNhY3Rpb24tPmlzVmVyc2lv
bkNoYW5nZSgpIHx8IG1fZGVsZXRlZCkgeworICAgICAgICBlYyA9IElEQkRhdGFiYXNlRXhjZXB0
aW9uOjpJREJfSU5WQUxJRF9TVEFURV9FUlI7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKICAg
ICBtX2JhY2tlbmQtPmRlbGV0ZUluZGV4KG5hbWUsIG1fdHJhbnNhY3Rpb24tPmJhY2tlbmQoKSwg
ZWMpOworICAgIGlmICghZWMpIHsKKyAgICAgICAgSURCSW5kZXhNYXA6Oml0ZXJhdG9yIGl0ID0g
bV9pbmRleE1hcC5maW5kKG5hbWUpOworICAgICAgICBpZiAoaXQgIT0gbV9pbmRleE1hcC5lbmQo
KSkgeworICAgICAgICAgICAgaXQtPnNlY29uZC0+bWFya0RlbGV0ZWQoKTsKKyAgICAgICAgICAg
IG1faW5kZXhNYXAucmVtb3ZlKG5hbWUpOworICAgICAgICB9CisgICAgfQogfQogCiBQYXNzUmVm
UHRyPElEQlJlcXVlc3Q+IElEQk9iamVjdFN0b3JlOjpvcGVuQ3Vyc29yKFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQqIGNvbnRleHQsIFBhc3NSZWZQdHI8SURCS2V5UmFuZ2U+IHJhbmdlLCBjb25zdCBT
dHJpbmcmIGRpcmVjdGlvblN0cmluZywgRXhjZXB0aW9uQ29kZSYgZWMpCiB7CiAgICAgSURCX1RS
QUNFKCJJREJPYmplY3RTdG9yZTo6b3BlbkN1cnNvciIpOworICAgIGlmIChtX2RlbGV0ZWQpIHsK
KyAgICAgICAgZWMgPSBJREJEYXRhYmFzZUV4Y2VwdGlvbjo6SURCX0lOVkFMSURfU1RBVEVfRVJS
OworICAgICAgICByZXR1cm4gMDsKKyAgICB9CiAgICAgdW5zaWduZWQgc2hvcnQgZGlyZWN0aW9u
ID0gSURCQ3Vyc29yOjpzdHJpbmdUb0RpcmVjdGlvbihkaXJlY3Rpb25TdHJpbmcsIGVjKTsKICAg
ICBpZiAoZWMpCiAgICAgICAgIHJldHVybiAwOwpAQCAtMzUyLDYgKzQwNSwxMCBAQCBQYXNzUmVm
UHRyPElEQlJlcXVlc3Q+IElEQk9iamVjdFN0b3JlOjpvcGVuQ3Vyc29yKFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQqIGNvbnRleAogUGFzc1JlZlB0cjxJREJSZXF1ZXN0PiBJREJPYmplY3RTdG9yZTo6
Y291bnQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgUGFzc1JlZlB0cjxJREJLZXlS
YW5nZT4gcmFuZ2UsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIElEQl9UUkFDRSgiSURCT2Jq
ZWN0U3RvcmU6OmNvdW50Iik7CisgICAgaWYgKG1fZGVsZXRlZCkgeworICAgICAgICBlYyA9IElE
QkRhdGFiYXNlRXhjZXB0aW9uOjpJREJfSU5WQUxJRF9TVEFURV9FUlI7CisgICAgICAgIHJldHVy
biAwOworICAgIH0KICAgICBSZWZQdHI8SURCUmVxdWVzdD4gcmVxdWVzdCA9IElEQlJlcXVlc3Q6
OmNyZWF0ZShjb250ZXh0LCBJREJBbnk6OmNyZWF0ZSh0aGlzKSwgbV90cmFuc2FjdGlvbi5nZXQo
KSk7CiAgICAgbV9iYWNrZW5kLT5jb3VudChyYW5nZSwgcmVxdWVzdCwgbV90cmFuc2FjdGlvbi0+
YmFja2VuZCgpLCBlYyk7CiAgICAgaWYgKGVjKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJPYmplY3RTdG9yZS5oIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvSURCT2JqZWN0U3RvcmUuaAppbmRleCBlMTFmYmQwODBkMmJlZDk3NTEz
Yzc4NTc2MTI0OTA4YzAyMDdiZGZiLi44MzRiZDUwZmMwNTMxZGNhN2VkZDc1YTBhYzJlNjhiNGEy
ZjgyMTNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJP
YmplY3RTdG9yZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQk9i
amVjdFN0b3JlLmgKQEAgLTk0LDYgKzk0LDcgQEAgcHVibGljOgogICAgIFBhc3NSZWZQdHI8SURC
UmVxdWVzdD4gY291bnQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIFBhc3NSZWZQdHI8SURCS2V5
UmFuZ2U+LCBFeGNlcHRpb25Db2RlJik7CiAgICAgUGFzc1JlZlB0cjxJREJSZXF1ZXN0PiBjb3Vu
dChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiwgUGFzc1JlZlB0cjxJREJLZXk+LCBFeGNlcHRpb25D
b2RlJik7CiAKKyAgICB2b2lkIG1hcmtEZWxldGVkKCkgeyBtX2RlbGV0ZWQgPSB0cnVlOyB9CiAg
ICAgdm9pZCB0cmFuc2FjdGlvbkZpbmlzaGVkKCk7CiAKIHByaXZhdGU6CkBAIC0xMDIsNiArMTAz
LDcgQEAgcHJpdmF0ZToKIAogICAgIFJlZlB0cjxJREJPYmplY3RTdG9yZUJhY2tlbmRJbnRlcmZh
Y2U+IG1fYmFja2VuZDsKICAgICBSZWZQdHI8SURCVHJhbnNhY3Rpb24+IG1fdHJhbnNhY3Rpb247
CisgICAgYm9vbCBtX2RlbGV0ZWQ7CiAKICAgICB0eXBlZGVmIEhhc2hNYXA8U3RyaW5nLCBSZWZQ
dHI8SURCSW5kZXg+ID4gSURCSW5kZXhNYXA7CiAgICAgSURCSW5kZXhNYXAgbV9pbmRleE1hcDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0
aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQlRyYW5zYWN0aW9u
LmNwcAppbmRleCA4NTJhMDFiYzY3ODNhZDYwYWEwMzExMzdlMjRlMjNlNzg2NWQ4MzZkLi42NDFl
NTc2NDE2ZDY3MTZmMmRmMmJlOWYxMjgyNTZjMDU5NTcyNmJmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJUcmFuc2FjdGlvbi5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCVHJhbnNhY3Rpb24uY3BwCkBAIC0xNTQsMTAg
KzE1NCwxMCBAQCBQYXNzUmVmUHRyPElEQk9iamVjdFN0b3JlPiBJREJUcmFuc2FjdGlvbjo6b2Jq
ZWN0U3RvcmUoY29uc3QgU3RyaW5nJiBuYW1lLCBFeGNlcAogICAgICAgICByZXR1cm4gaXQtPnNl
Y29uZDsKIAogICAgIFJlZlB0cjxJREJPYmplY3RTdG9yZUJhY2tlbmRJbnRlcmZhY2U+IG9iamVj
dFN0b3JlQmFja2VuZCA9IG1fYmFja2VuZC0+b2JqZWN0U3RvcmUobmFtZSwgZWMpOwotICAgIGlm
ICghb2JqZWN0U3RvcmVCYWNrZW5kKSB7Ci0gICAgICAgIEFTU0VSVChlYyk7CisgICAgQVNTRVJU
KCFvYmplY3RTdG9yZUJhY2tlbmQgIT0gIWVjKTsgLy8gSWYgd2UgZGlkbid0IGdldCBhIHN0b3Jl
LCB3ZSBzaG91bGQgaGF2ZSBnb3R0ZW4gYW4gZXhjZXB0aW9uIGNvZGUuIEFuZCB2aWNlIHZlcnNh
LgorICAgIGlmIChlYykKICAgICAgICAgcmV0dXJuIDA7Ci0gICAgfQorCiAgICAgUmVmUHRyPElE
Qk9iamVjdFN0b3JlPiBvYmplY3RTdG9yZSA9IElEQk9iamVjdFN0b3JlOjpjcmVhdGUob2JqZWN0
U3RvcmVCYWNrZW5kLCB0aGlzKTsKICAgICBvYmplY3RTdG9yZUNyZWF0ZWQobmFtZSwgb2JqZWN0
U3RvcmUpOwogICAgIHJldHVybiBvYmplY3RTdG9yZS5yZWxlYXNlKCk7CkBAIC0xNzIsNyArMTcy
LDEyIEBAIHZvaWQgSURCVHJhbnNhY3Rpb246Om9iamVjdFN0b3JlQ3JlYXRlZChjb25zdCBTdHJp
bmcmIG5hbWUsIFBhc3NSZWZQdHI8SURCT2JqZWN0CiB2b2lkIElEQlRyYW5zYWN0aW9uOjpvYmpl
Y3RTdG9yZURlbGV0ZWQoY29uc3QgU3RyaW5nJiBuYW1lKQogewogICAgIEFTU0VSVCghbV90cmFu
c2FjdGlvbkZpbmlzaGVkKTsKLSAgICBtX29iamVjdFN0b3JlTWFwLnJlbW92ZShuYW1lKTsKKyAg
ICBJREJPYmplY3RTdG9yZU1hcDo6aXRlcmF0b3IgaXQgPSBtX29iamVjdFN0b3JlTWFwLmZpbmQo
bmFtZSk7CisgICAgaWYgKGl0ICE9IG1fb2JqZWN0U3RvcmVNYXAuZW5kKCkpIHsKKyAgICAgICAg
UmVmUHRyPElEQk9iamVjdFN0b3JlPiBvYmplY3RTdG9yZSA9IGl0LT5zZWNvbmQ7CisgICAgICAg
IG1fb2JqZWN0U3RvcmVNYXAucmVtb3ZlKG5hbWUpOworICAgICAgICBvYmplY3RTdG9yZS0+bWFy
a0RlbGV0ZWQoKTsKKyAgICB9CiB9CiAKIHZvaWQgSURCVHJhbnNhY3Rpb246OmFib3J0KCkKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpp
bmRleCAxMjFjOWYwMjlmYTNmNGNjOWQ2NjBkMGY4ODhlZDJiNGY0MGU2MzFmLi44MzJkZGY4NTVj
ZmNlYThkYTI1MzU0MWY3YjQyZDI3MTY1OTgyODY0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIw
MTItMDYtMTUgIEpvc2h1YSBCZWxsICA8anNiZWxsQGNocm9taXVtLm9yZz4KKworICAgICAgICBJ
bmRleGVkREI6IFJhaXNlIGV4Y2VwdGlvbnMgd2hlbiBtZXRob2RzIGFyZSBjYWxsZWQgb24gZGVs
ZXRlZCBvYmplY3RzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD04OTI0MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgICogc3RvcmFnZS9pbmRleGVkZGIvZGVsZXRlZC1vYmplY3RzLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvZGVsZXRlZC1vYmplY3RzLmh0bWw6IEFk
ZGVkLgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9kZWxldGVkLW9iamVj
dHMuanM6IEFkZGVkLgorICAgICAgICAodGVzdCk6CisgICAgICAgIChvcGVuRGF0YWJhc2UucmVx
dWVzdC5vbnN1Y2Nlc3MucmVxdWVzdC5vbnN1Y2Nlc3MpOgorICAgICAgICAob3BlbkRhdGFiYXNl
LnJlcXVlc3Qub25zdWNjZXNzKToKKyAgICAgICAgKG9wZW5EYXRhYmFzZSk6CisgICAgICAgICog
c3RvcmFnZS9pbmRleGVkZGIvcmVzb3VyY2VzL3RyYW5zYWN0aW9uLWJhc2ljcy5qczogRml4IHRl
c3QgdGhhdCByZWxpZWQgb24KKyAgICAgICAgbm9uLWNvbXBsaWFudCBiZWhhdmlvci4KKyAgICAg
ICAgKGFkZFJlbW92ZUlEQk9iamVjdHMpOgorICAgICAgICAoYWRkUmVtb3ZlQWRkSURCT2JqZWN0
cyk6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYmFzaWNzLWV4cGVj
dGVkLnR4dDoKKwogMjAxMi0wNi0xNSAgS2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgW0Nocm9taXVtXSBGaXggYSBzeW50YXggZXJyb3Igb2YgVGVzdEV4cGVjdGF0
aW9ucy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2RlbGV0ZWQt
b2JqZWN0cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9kZWxl
dGVkLW9iamVjdHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjlmNjZhZmUzYTA4YWZiNDkxN2Fk
MzM2NDkzNTgzMmNjMWUyMTI1OTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9kZWxldGVkLW9iamVjdHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsODcg
QEAKK1Rlc3QgdGhhdCBJbmRleGVkREIgb2JqZWN0cyB0aGF0IGhhdmUgYmVlbiBkZWxldGVkIHRo
cm93IGV4Y2VwdGlvbnMKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK2luZGV4ZWRE
QiA9IHNlbGYuaW5kZXhlZERCIHx8IHNlbGYud2Via2l0SW5kZXhlZERCIHx8IHNlbGYubW96SW5k
ZXhlZERCIHx8IHNlbGYubXNJbmRleGVkREIgfHwgc2VsZi5PSW5kZXhlZERCOworCitkYm5hbWUg
PSBzZWxmLmxvY2F0aW9uLnBhdGhuYW1lCityZXF1ZXN0ID0gaW5kZXhlZERCLmRlbGV0ZURhdGFi
YXNlKGRibmFtZSkKKworb3BlbkRhdGFiYXNlKCk6CityZXF1ZXN0ID0gaW5kZXhlZERCLm9wZW4o
ZGJuYW1lKQorY29ubmVjdGlvbiA9IHJlcXVlc3QucmVzdWx0CityZXF1ZXN0ID0gY29ubmVjdGlv
bi5zZXRWZXJzaW9uKCcxJykKKworZGVsZXRlZFN0b3JlID0gY29ubmVjdGlvbi5jcmVhdGVPYmpl
Y3RTdG9yZSgnZGVsZXRlZFN0b3JlJykKK3N0b3JlID0gY29ubmVjdGlvbi5jcmVhdGVPYmplY3RT
dG9yZSgnc3RvcmUnKQorZGVsZXRlZEluZGV4ID0gc3RvcmUuY3JlYXRlSW5kZXgoJ2RlbGV0ZWRJ
bmRleCcsICdwYXRoJykKKworY29ubmVjdGlvbi5kZWxldGVPYmplY3RTdG9yZSgnZGVsZXRlZFN0
b3JlJykKK3N0b3JlLmRlbGV0ZUluZGV4KCdkZWxldGVkSW5kZXgnKQorCitFeHBlY3RpbmcgZXhj
ZXB0aW9uIGZyb20gZGVsZXRlZFN0b3JlLnB1dCgwLCAwKQorUEFTUyBFeGNlcHRpb24gd2FzIHRo
cm93bi4KK1BBU1MgY29kZSBpcyBET01FeGNlcHRpb24uSU5WQUxJRF9TVEFURV9FUlIKK1BBU1Mg
ZW5hbWUgaXMgJ0ludmFsaWRTdGF0ZUVycm9yJworRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIGRl
bGV0ZWRTdG9yZS5hZGQoMCwgMCkKK1BBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCitQQVNTIGNv
ZGUgaXMgRE9NRXhjZXB0aW9uLklOVkFMSURfU1RBVEVfRVJSCitQQVNTIGVuYW1lIGlzICdJbnZh
bGlkU3RhdGVFcnJvcicKK0V4cGVjdGluZyBleGNlcHRpb24gZnJvbSBkZWxldGVkU3RvcmUuZGVs
ZXRlKDApCitQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgorUEFTUyBjb2RlIGlzIERPTUV4Y2Vw
dGlvbi5JTlZBTElEX1NUQVRFX0VSUgorUEFTUyBlbmFtZSBpcyAnSW52YWxpZFN0YXRlRXJyb3In
CitFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gZGVsZXRlZFN0b3JlLmdldCgwKQorUEFTUyBFeGNl
cHRpb24gd2FzIHRocm93bi4KK1BBU1MgY29kZSBpcyBET01FeGNlcHRpb24uSU5WQUxJRF9TVEFU
RV9FUlIKK1BBU1MgZW5hbWUgaXMgJ0ludmFsaWRTdGF0ZUVycm9yJworRXhwZWN0aW5nIGV4Y2Vw
dGlvbiBmcm9tIGRlbGV0ZWRTdG9yZS5jbGVhcigpCitQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3du
LgorUEFTUyBjb2RlIGlzIERPTUV4Y2VwdGlvbi5JTlZBTElEX1NUQVRFX0VSUgorUEFTUyBlbmFt
ZSBpcyAnSW52YWxpZFN0YXRlRXJyb3InCitFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gZGVsZXRl
ZFN0b3JlLm9wZW5DdXJzb3IoKQorUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KK1BBU1MgY29k
ZSBpcyBET01FeGNlcHRpb24uSU5WQUxJRF9TVEFURV9FUlIKK1BBU1MgZW5hbWUgaXMgJ0ludmFs
aWRTdGF0ZUVycm9yJworRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIGRlbGV0ZWRTdG9yZS5jcmVh
dGVJbmRleCgnbmFtZScsICdwYXRoJykKK1BBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCitQQVNT
IGNvZGUgaXMgRE9NRXhjZXB0aW9uLklOVkFMSURfU1RBVEVfRVJSCitQQVNTIGVuYW1lIGlzICdJ
bnZhbGlkU3RhdGVFcnJvcicKK0V4cGVjdGluZyBleGNlcHRpb24gZnJvbSBkZWxldGVkU3RvcmUu
aW5kZXgoJ25hbWUnKQorUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KK1BBU1MgY29kZSBpcyBE
T01FeGNlcHRpb24uSU5WQUxJRF9TVEFURV9FUlIKK1BBU1MgZW5hbWUgaXMgJ0ludmFsaWRTdGF0
ZUVycm9yJworRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIGRlbGV0ZWRTdG9yZS5kZWxldGVJbmRl
eCgnbmFtZScpCitQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgorUEFTUyBjb2RlIGlzIERPTUV4
Y2VwdGlvbi5JTlZBTElEX1NUQVRFX0VSUgorUEFTUyBlbmFtZSBpcyAnSW52YWxpZFN0YXRlRXJy
b3InCitFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gZGVsZXRlZFN0b3JlLmNvdW50KCkKK1BBU1Mg
RXhjZXB0aW9uIHdhcyB0aHJvd24uCitQQVNTIGNvZGUgaXMgRE9NRXhjZXB0aW9uLklOVkFMSURf
U1RBVEVfRVJSCitQQVNTIGVuYW1lIGlzICdJbnZhbGlkU3RhdGVFcnJvcicKKworRXhwZWN0aW5n
IGV4Y2VwdGlvbiBmcm9tIGRlbGV0ZWRJbmRleC5vcGVuQ3Vyc29yKCkKK1BBU1MgRXhjZXB0aW9u
IHdhcyB0aHJvd24uCitQQVNTIGNvZGUgaXMgRE9NRXhjZXB0aW9uLklOVkFMSURfU1RBVEVfRVJS
CitQQVNTIGVuYW1lIGlzICdJbnZhbGlkU3RhdGVFcnJvcicKK0V4cGVjdGluZyBleGNlcHRpb24g
ZnJvbSBkZWxldGVkSW5kZXgub3BlbktleUN1cnNvcigpCitQQVNTIEV4Y2VwdGlvbiB3YXMgdGhy
b3duLgorUEFTUyBjb2RlIGlzIERPTUV4Y2VwdGlvbi5JTlZBTElEX1NUQVRFX0VSUgorUEFTUyBl
bmFtZSBpcyAnSW52YWxpZFN0YXRlRXJyb3InCitFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gZGVs
ZXRlZEluZGV4LmdldCgwKQorUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KK1BBU1MgY29kZSBp
cyBET01FeGNlcHRpb24uSU5WQUxJRF9TVEFURV9FUlIKK1BBU1MgZW5hbWUgaXMgJ0ludmFsaWRT
dGF0ZUVycm9yJworRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIGRlbGV0ZWRJbmRleC5nZXRLZXko
MCkKK1BBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCitQQVNTIGNvZGUgaXMgRE9NRXhjZXB0aW9u
LklOVkFMSURfU1RBVEVfRVJSCitQQVNTIGVuYW1lIGlzICdJbnZhbGlkU3RhdGVFcnJvcicKK0V4
cGVjdGluZyBleGNlcHRpb24gZnJvbSBkZWxldGVkSW5kZXguY291bnQoKQorUEFTUyBFeGNlcHRp
b24gd2FzIHRocm93bi4KK1BBU1MgY29kZSBpcyBET01FeGNlcHRpb24uSU5WQUxJRF9TVEFURV9F
UlIKK1BBU1MgZW5hbWUgaXMgJ0ludmFsaWRTdGF0ZUVycm9yJworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL2RlbGV0ZWQtb2JqZWN0cy5odG1sIGIvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvZGVsZXRlZC1vYmplY3RzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzkzZjUyZjUw
OWM1NDBjNGI3MGNiYjQ4YTIxOWIzZmE4ZDFhNzFlOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2RlbGV0ZWQtb2JqZWN0cy5odG1sCkBAIC0wLDAgKzEs
MTAgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9zaGFy
ZWQuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2Vz
L2RlbGV0ZWQtb2JqZWN0cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy9kZWxl
dGVkLW9iamVjdHMuanMgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9yZXNvdXJjZXMv
ZGVsZXRlZC1vYmplY3RzLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc5N2EwNWFiZmNjNDFiNzJkYmVkZGE1YTEy
MzVhMmNjZWQwOTUwMjUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi9yZXNvdXJjZXMvZGVsZXRlZC1vYmplY3RzLmpzCkBAIC0wLDAgKzEsNjQgQEAKK2lm
ICh0aGlzLmltcG9ydFNjcmlwdHMpIHsKKyAgICBpbXBvcnRTY3JpcHRzKCcuLi8uLi8uLi9mYXN0
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcycpOworICAgIGltcG9ydFNjcmlwdHMoJ3NoYXJl
ZC5qcycpOworfQorCitkZXNjcmlwdGlvbigiVGVzdCB0aGF0IEluZGV4ZWREQiBvYmplY3RzIHRo
YXQgaGF2ZSBiZWVuIGRlbGV0ZWQgdGhyb3cgZXhjZXB0aW9ucyIpOworCitmdW5jdGlvbiB0ZXN0
KCkKK3sKKyAgICByZW1vdmVWZW5kb3JQcmVmaXhlcygpOworICAgIGV2YWxBbmRMb2coImRibmFt
ZSA9IHNlbGYubG9jYXRpb24ucGF0aG5hbWUiKTsKKyAgICBldmFsQW5kTG9nKCJyZXF1ZXN0ID0g
aW5kZXhlZERCLmRlbGV0ZURhdGFiYXNlKGRibmFtZSkiKTsKKyAgICByZXF1ZXN0Lm9uZXJyb3Ig
PSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKKyAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IG9wZW5E
YXRhYmFzZTsKK30KKworZnVuY3Rpb24gb3BlbkRhdGFiYXNlKCkKK3sKKyAgICBkZWJ1ZygiIik7
CisgICAgZGVidWcoIm9wZW5EYXRhYmFzZSgpOiIpOworICAgIGV2YWxBbmRMb2coInJlcXVlc3Qg
PSBpbmRleGVkREIub3BlbihkYm5hbWUpIik7CisgICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBl
Y3RlZEVycm9yQ2FsbGJhY2s7CisgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBmdW5jdGlvbigpIHsK
KyAgICAgICAgZXZhbEFuZExvZygiY29ubmVjdGlvbiA9IHJlcXVlc3QucmVzdWx0Iik7CisgICAg
ICAgIGV2YWxBbmRMb2coInJlcXVlc3QgPSBjb25uZWN0aW9uLnNldFZlcnNpb24oJzEnKSIpOwor
ICAgICAgICByZXF1ZXN0Lm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKKyAgICAg
ICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIHRyYW5zID0g
cmVxdWVzdC5yZXN1bHQ7CisKKyAgICAgICAgICAgIGRlYnVnKCIiKTsKKyAgICAgICAgICAgIGV2
YWxBbmRMb2coImRlbGV0ZWRTdG9yZSA9IGNvbm5lY3Rpb24uY3JlYXRlT2JqZWN0U3RvcmUoJ2Rl
bGV0ZWRTdG9yZScpIik7CisgICAgICAgICAgICBldmFsQW5kTG9nKCJzdG9yZSA9IGNvbm5lY3Rp
b24uY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlJykiKTsKKyAgICAgICAgICAgIGV2YWxBbmRMb2co
ImRlbGV0ZWRJbmRleCA9IHN0b3JlLmNyZWF0ZUluZGV4KCdkZWxldGVkSW5kZXgnLCAncGF0aCcp
Iik7CisKKyAgICAgICAgICAgIGRlYnVnKCIiKTsKKyAgICAgICAgICAgIGV2YWxBbmRMb2coImNv
bm5lY3Rpb24uZGVsZXRlT2JqZWN0U3RvcmUoJ2RlbGV0ZWRTdG9yZScpIik7CisgICAgICAgICAg
ICBldmFsQW5kTG9nKCJzdG9yZS5kZWxldGVJbmRleCgnZGVsZXRlZEluZGV4JykiKTsKKworICAg
ICAgICAgICAgZGVidWcoIiIpOworICAgICAgICAgICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigi
ZGVsZXRlZFN0b3JlLnB1dCgwLCAwKSIsICJET01FeGNlcHRpb24uSU5WQUxJRF9TVEFURV9FUlIi
LCAiJ0ludmFsaWRTdGF0ZUVycm9yJyIpOworICAgICAgICAgICAgZXZhbEFuZEV4cGVjdEV4Y2Vw
dGlvbigiZGVsZXRlZFN0b3JlLmFkZCgwLCAwKSIsICJET01FeGNlcHRpb24uSU5WQUxJRF9TVEFU
RV9FUlIiLCAiJ0ludmFsaWRTdGF0ZUVycm9yJyIpOworICAgICAgICAgICAgZXZhbEFuZEV4cGVj
dEV4Y2VwdGlvbigiZGVsZXRlZFN0b3JlLmRlbGV0ZSgwKSIsICJET01FeGNlcHRpb24uSU5WQUxJ
RF9TVEFURV9FUlIiLCAiJ0ludmFsaWRTdGF0ZUVycm9yJyIpOworICAgICAgICAgICAgZXZhbEFu
ZEV4cGVjdEV4Y2VwdGlvbigiZGVsZXRlZFN0b3JlLmdldCgwKSIsICJET01FeGNlcHRpb24uSU5W
QUxJRF9TVEFURV9FUlIiLCAiJ0ludmFsaWRTdGF0ZUVycm9yJyIpOworICAgICAgICAgICAgZXZh
bEFuZEV4cGVjdEV4Y2VwdGlvbigiZGVsZXRlZFN0b3JlLmNsZWFyKCkiLCAiRE9NRXhjZXB0aW9u
LklOVkFMSURfU1RBVEVfRVJSIiwgIidJbnZhbGlkU3RhdGVFcnJvciciKTsKKyAgICAgICAgICAg
IGV2YWxBbmRFeHBlY3RFeGNlcHRpb24oImRlbGV0ZWRTdG9yZS5vcGVuQ3Vyc29yKCkiLCAiRE9N
RXhjZXB0aW9uLklOVkFMSURfU1RBVEVfRVJSIiwgIidJbnZhbGlkU3RhdGVFcnJvciciKTsKKyAg
ICAgICAgICAgIGV2YWxBbmRFeHBlY3RFeGNlcHRpb24oImRlbGV0ZWRTdG9yZS5jcmVhdGVJbmRl
eCgnbmFtZScsICdwYXRoJykiLCAiRE9NRXhjZXB0aW9uLklOVkFMSURfU1RBVEVfRVJSIiwgIidJ
bnZhbGlkU3RhdGVFcnJvciciKTsKKyAgICAgICAgICAgIGV2YWxBbmRFeHBlY3RFeGNlcHRpb24o
ImRlbGV0ZWRTdG9yZS5pbmRleCgnbmFtZScpIiwgIkRPTUV4Y2VwdGlvbi5JTlZBTElEX1NUQVRF
X0VSUiIsICInSW52YWxpZFN0YXRlRXJyb3InIik7CisgICAgICAgICAgICBldmFsQW5kRXhwZWN0
RXhjZXB0aW9uKCJkZWxldGVkU3RvcmUuZGVsZXRlSW5kZXgoJ25hbWUnKSIsICJET01FeGNlcHRp
b24uSU5WQUxJRF9TVEFURV9FUlIiLCAiJ0ludmFsaWRTdGF0ZUVycm9yJyIpOworICAgICAgICAg
ICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigiZGVsZXRlZFN0b3JlLmNvdW50KCkiLCAiRE9NRXhj
ZXB0aW9uLklOVkFMSURfU1RBVEVfRVJSIiwgIidJbnZhbGlkU3RhdGVFcnJvciciKTsKKworICAg
ICAgICAgICAgZGVidWcoIiIpOworICAgICAgICAgICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigi
ZGVsZXRlZEluZGV4Lm9wZW5DdXJzb3IoKSIsICJET01FeGNlcHRpb24uSU5WQUxJRF9TVEFURV9F
UlIiLCAiJ0ludmFsaWRTdGF0ZUVycm9yJyIpOworICAgICAgICAgICAgZXZhbEFuZEV4cGVjdEV4
Y2VwdGlvbigiZGVsZXRlZEluZGV4Lm9wZW5LZXlDdXJzb3IoKSIsICJET01FeGNlcHRpb24uSU5W
QUxJRF9TVEFURV9FUlIiLCAiJ0ludmFsaWRTdGF0ZUVycm9yJyIpOworICAgICAgICAgICAgZXZh
bEFuZEV4cGVjdEV4Y2VwdGlvbigiZGVsZXRlZEluZGV4LmdldCgwKSIsICJET01FeGNlcHRpb24u
SU5WQUxJRF9TVEFURV9FUlIiLCAiJ0ludmFsaWRTdGF0ZUVycm9yJyIpOworICAgICAgICAgICAg
ZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigiZGVsZXRlZEluZGV4LmdldEtleSgwKSIsICJET01FeGNl
cHRpb24uSU5WQUxJRF9TVEFURV9FUlIiLCAiJ0ludmFsaWRTdGF0ZUVycm9yJyIpOworICAgICAg
ICAgICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigiZGVsZXRlZEluZGV4LmNvdW50KCkiLCAiRE9N
RXhjZXB0aW9uLklOVkFMSURfU1RBVEVfRVJSIiwgIidJbnZhbGlkU3RhdGVFcnJvciciKTsKKwor
ICAgICAgICAgICAgdHJhbnMub25hYm9ydCA9IHVuZXhwZWN0ZWRBYm9ydENhbGxiYWNrOworICAg
ICAgICAgICAgdHJhbnMub25jb21wbGV0ZSA9IGZpbmlzaEpTVGVzdDsKKyAgICAgICAgfTsKKyAg
ICB9OworfQorCit0ZXN0KCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi9yZXNvdXJjZXMvdHJhbnNhY3Rpb24tYmFzaWNzLmpzIGIvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvcmVzb3VyY2VzL3RyYW5zYWN0aW9uLWJhc2ljcy5qcwppbmRleCA2MDYxYzdk
Y2Q4YjU3NGM2ZGE1NmE3MTkxNWZlNDZhZjUwNzk4NzQ1Li40ZGE5ZGNlMmMwODE4ZGY4MGRmOGQ5
Y2M5MjM3NjUxOTc2ODA4ZjMyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4
ZWRkYi9yZXNvdXJjZXMvdHJhbnNhY3Rpb24tYmFzaWNzLmpzCisrKyBiL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL3Jlc291cmNlcy90cmFuc2FjdGlvbi1iYXNpY3MuanMKQEAgLTQ4LDcg
KzQ4LDcgQEAgZnVuY3Rpb24gYWRkUmVtb3ZlSURCT2JqZWN0cygpCiAgICAgdmFyIGluZGV4ID0g
ZXZhbEFuZExvZygiaW5kZXggPSBzdG9yZS5jcmVhdGVJbmRleCgnaW5kZXhGYWlsJywgJ3gnKSIp
OwogCiAgICAgZXZhbEFuZExvZygiZGIuZGVsZXRlT2JqZWN0U3RvcmUoJ3N0b3JlRmFpbCcpIik7
Ci0gICAgZXZhbEFuZExvZygic3RvcmUuZGVsZXRlSW5kZXgoJ2luZGV4RmFpbCcpIik7CisgICAg
ZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigic3RvcmUuZGVsZXRlSW5kZXgoJ2luZGV4RmFpbCcpIiwg
IkRPTUV4Y2VwdGlvbi5JTlZBTElEX1NUQVRFX0VSUiIsICInSW52YWxpZFN0YXRlRXJyb3InIik7
CiAKICAgICB0cmFucy5hYm9ydCgpOwogfQpAQCAtNzQsNyArNzQsNyBAQCBmdW5jdGlvbiBhZGRS
ZW1vdmVBZGRJREJPYmplY3RzKCkKICAgICB2YXIgaW5kZXggPSBldmFsQW5kTG9nKCJpbmRleCA9
IHN0b3JlLmNyZWF0ZUluZGV4KCdpbmRleEZhaWwnLCAneCcpIik7CiAKICAgICBldmFsQW5kTG9n
KCJkYi5kZWxldGVPYmplY3RTdG9yZSgnc3RvcmVGYWlsJykiKTsKLSAgICBldmFsQW5kTG9nKCJz
dG9yZS5kZWxldGVJbmRleCgnaW5kZXhGYWlsJykiKTsKKyAgICBldmFsQW5kRXhwZWN0RXhjZXB0
aW9uKCJzdG9yZS5kZWxldGVJbmRleCgnaW5kZXhGYWlsJykiLCAiRE9NRXhjZXB0aW9uLklOVkFM
SURfU1RBVEVfRVJSIiwgIidJbnZhbGlkU3RhdGVFcnJvciciKTsKIAogICAgIHZhciBzdG9yZSA9
IGV2YWxBbmRMb2coInN0b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlRmFpbCcsIG51
bGwpIik7CiAgICAgdmFyIGluZGV4ID0gZXZhbEFuZExvZygiaW5kZXggPSBzdG9yZS5jcmVhdGVJ
bmRleCgnaW5kZXhGYWlsJywgJ3gnKSIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYmFzaWNzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL3RyYW5zYWN0aW9uLWJhc2ljcy1leHBlY3RlZC50eHQKaW5kZXgg
MGRmYzViZGY5ZTRlYzM0NmU0NThmOWNhNmRkMWU0YWFhZmVkOTg5Yi4uMmQ4ZGNlNDAzMGFmOWEy
YWNiNDQzNjc0ZWVkZTM4OWUzNTE4ODJiOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvdHJhbnNhY3Rpb24tYmFzaWNzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi90cmFuc2FjdGlvbi1iYXNpY3MtZXhwZWN0ZWQudHh0CkBA
IC0yMCw3ICsyMCwxMCBAQCBQQVNTIHRyYW5zIGlzIG5vbi1udWxsLgogc3RvcmUgPSBkYi5jcmVh
dGVPYmplY3RTdG9yZSgnc3RvcmVGYWlsJywgbnVsbCkKIGluZGV4ID0gc3RvcmUuY3JlYXRlSW5k
ZXgoJ2luZGV4RmFpbCcsICd4JykKIGRiLmRlbGV0ZU9iamVjdFN0b3JlKCdzdG9yZUZhaWwnKQot
c3RvcmUuZGVsZXRlSW5kZXgoJ2luZGV4RmFpbCcpCitFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20g
c3RvcmUuZGVsZXRlSW5kZXgoJ2luZGV4RmFpbCcpCitQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3du
LgorUEFTUyBjb2RlIGlzIERPTUV4Y2VwdGlvbi5JTlZBTElEX1NUQVRFX0VSUgorUEFTUyBlbmFt
ZSBpcyAnSW52YWxpZFN0YXRlRXJyb3InCiAKIHRlc3RTZXRWZXJzaW9uQWJvcnQyKCk6CiBQQVNT
IHNlbGYuZGIub2JqZWN0U3RvcmVOYW1lcyBpcyBbXQpAQCAtMzMsNyArMzYsMTAgQEAgUEFTUyB0
cmFucyBpcyBub24tbnVsbC4KIHN0b3JlID0gZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlRmFp
bCcsIG51bGwpCiBpbmRleCA9IHN0b3JlLmNyZWF0ZUluZGV4KCdpbmRleEZhaWwnLCAneCcpCiBk
Yi5kZWxldGVPYmplY3RTdG9yZSgnc3RvcmVGYWlsJykKLXN0b3JlLmRlbGV0ZUluZGV4KCdpbmRl
eEZhaWwnKQorRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIHN0b3JlLmRlbGV0ZUluZGV4KCdpbmRl
eEZhaWwnKQorUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KK1BBU1MgY29kZSBpcyBET01FeGNl
cHRpb24uSU5WQUxJRF9TVEFURV9FUlIKK1BBU1MgZW5hbWUgaXMgJ0ludmFsaWRTdGF0ZUVycm9y
Jwogc3RvcmUgPSBkYi5jcmVhdGVPYmplY3RTdG9yZSgnc3RvcmVGYWlsJywgbnVsbCkKIGluZGV4
ID0gc3RvcmUuY3JlYXRlSW5kZXgoJ2luZGV4RmFpbCcsICd4JykKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>