<?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>139277</bug_id>
          
          <creation_ts>2014-12-04 16:16:33 -0800</creation_ts>
          <short_desc>Removed the concept of ParserArenaRefCounted</short_desc>
          <delta_ts>2014-12-04 16:59:02 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Geoffrey Garen">ggaren</reporter>
          <assigned_to name="Geoffrey Garen">ggaren</assigned_to>
          <cc>kling</cc>
    
    <cc>oliver</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1052610</commentid>
    <comment_count>0</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2014-12-04 16:16:33 -0800</bug_when>
    <thetext>Removed the concept of ParserArenaRefCounted</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1052612</commentid>
    <comment_count>1</comment_count>
      <attachid>242596</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2014-12-04 16:27:59 -0800</bug_when>
    <thetext>Created attachment 242596
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1052621</commentid>
    <comment_count>2</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2014-12-04 16:59:02 -0800</bug_when>
    <thetext>Committed r176825: &lt;http://trac.webkit.org/changeset/176825&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>242596</attachid>
            <date>2014-12-04 16:27:59 -0800</date>
            <delta_ts>2014-12-04 16:56:37 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-139277-20141204162833.patch</filename>
            <type>text/plain</type>
            <size>31106</size>
            <attacher name="Geoffrey Garen">ggaren</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTc2ODIzKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDc2IEBA
CisyMDE0LTEyLTA0ICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CisKKyAgICAg
ICAgUmVtb3ZlZCB0aGUgY29uY2VwdCBvZiBQYXJzZXJBcmVuYVJlZkNvdW50ZWQKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzOTI3NworCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgaXMgYSBzdGVwIHRv
d2FyZCBhIHBhcnNlciBzcGVlZHVwLgorCisgICAgICAgIE5vdyB0aGF0IHdlIGhhdmUgYSBjbGVh
ciByb290IG5vZGUgdHlwZSBmb3IgZWFjaCBwYXJzZSB0cmVlLCB0aGVyZSdzIG5vCisgICAgICAg
IG5lZWQgdG8gaGF2ZSBhIGNvbmNlcHQgZm9yICJJIG1pZ2h0IGJlIHJlZmNvdW50ZWQgb3IgYXJl
bmEgYWxsb2NhdGVkIi4KKyAgICAgICAgSW5zdGVhZCwgd2UgY2FuIGp1c3QgdXNlIHVuaXF1ZV9w
dHIgdG8gbWFuYWdlIHRoZSB0cmVlIGFzIGEgd2hvbGUuCisKKyAgICAgICAgKiBBUEkvSlNTY3Jp
cHRSZWYuY3BwOgorICAgICAgICAocGFyc2VTY3JpcHQpOgorICAgICAgICAqIGJ1aWx0aW5zL0J1
aWx0aW5FeGVjdXRhYmxlcy5jcHA6CisgICAgICAgIChKU0M6OkJ1aWx0aW5FeGVjdXRhYmxlczo6
Y3JlYXRlQnVpbHRpbkV4ZWN1dGFibGUpOiBVcGRhdGVkIGZvciB0eXBlIGNoYW5nZS4KKworICAg
ICAgICAqIGJ5dGVjb2RlL1VubGlua2VkQ29kZUJsb2NrLmNwcDoKKyAgICAgICAgKEpTQzo6Z2Vu
ZXJhdGVGdW5jdGlvbkNvZGVCbG9jayk6IFVzZSB1bmlxdWVfcHRyLiBObyBuZWVkIHRvIGNhbGwK
KyAgICAgICAgZGVzdHJveURhdGEoKSBleHBsaWNpdGx5OiB0aGUgdW5pcXVlX3B0ciBkZXN0cnVj
dG9yIHdpbGwgZG8gZXZlcnl0aGluZworICAgICAgICB3ZSBuZWVkLCBhcyBCamFybmUgaW50ZW5k
ZWQuCisKKyAgICAgICAgKiBwYXJzZXIvTm9kZUNvbnN0cnVjdG9ycy5oOgorICAgICAgICAoSlND
OjpQYXJzZXJBcmVuYVJvb3Q6OlBhcnNlckFyZW5hUm9vdCk6CisgICAgICAgIChKU0M6OlBhcnNl
ckFyZW5hUmVmQ291bnRlZDo6UGFyc2VyQXJlbmFSZWZDb3VudGVkKTogRGVsZXRlZC4KKworICAg
ICAgICAqIHBhcnNlci9Ob2Rlcy5jcHA6CisgICAgICAgIChKU0M6OlNjb3BlTm9kZTo6U2NvcGVO
b2RlKToKKyAgICAgICAgKEpTQzo6UHJvZ3JhbU5vZGU6OlByb2dyYW1Ob2RlKToKKyAgICAgICAg
KEpTQzo6RXZhbE5vZGU6OkV2YWxOb2RlKToKKyAgICAgICAgKEpTQzo6RnVuY3Rpb25Ob2RlOjpG
dW5jdGlvbk5vZGUpOgorICAgICAgICAoSlNDOjpQcm9ncmFtTm9kZTo6Y3JlYXRlKTogRGVsZXRl
ZC4KKyAgICAgICAgKEpTQzo6RXZhbE5vZGU6OmNyZWF0ZSk6IERlbGV0ZWQuCisgICAgICAgIChK
U0M6OkZ1bmN0aW9uTm9kZTo6Y3JlYXRlKTogRGVsZXRlZC4gQWxsIHNwZWNpYWwgY3JlYXRlIHNl
bWFudGljcyBjYW4KKyAgICAgICAganVzdCBnbyBhd2F5IG5vdyB0aGF0IHdlIHBsYXkgYnkgQysr
IGNvbnN0cnVjdG9yIC8gZGVzdHJ1Y3RvciBydWxlcy4KKworICAgICAgICAqIHBhcnNlci9Ob2Rl
cy5oOgorICAgICAgICAoSlNDOjpQYXJzZXJBcmVuYVJvb3Q6OnBhcnNlckFyZW5hKToKKyAgICAg
ICAgKEpTQzo6UGFyc2VyQXJlbmFSb290Ojp+UGFyc2VyQXJlbmFSb290KTogSnVzdCBhIG5vcm1h
bCBjbGFzcyBub3csIHdoaWNoCisgICAgICAgIGhvbGRzIG9udG8gdGhlIHdob2xlIHBhcnNlIHRy
ZWUgYnkgdmlydHVlIG9mIG93bmluZyB0aGUgYXJlbmEgaW4gd2hpY2gKKyAgICAgICAgYWxsIHRo
ZSBwYXJzZWQgbm9kZXMgKGV4Y2VwdCBmb3IgaXRzZWxmKSB3ZXJlIGFsbG9jYXRlZC4KKworICAg
ICAgICAoSlNDOjpQcm9ncmFtTm9kZTo6Y2xvc2VkVmFyaWFibGVzKToKKyAgICAgICAgKEpTQzo6
UGFyc2VyQXJlbmFSZWZDb3VudGVkOjp+UGFyc2VyQXJlbmFSZWZDb3VudGVkKTogRGVsZXRlZC4K
KworICAgICAgICAoSlNDOjpTY29wZU5vZGU6OmRlc3Ryb3lEYXRhKTogRGVsZXRlZC4gTm8gbmVl
ZCB0byBkZXN0cm95IGFueXRoaW5nCisgICAgICAgIGV4cGxpY2l0bHkgYW55bW9yZSAtLSB3ZSBj
YW4ganVzdCByZWx5IG9uIGRlc3RydWN0b3JzLgorCisgICAgICAgIChKU0M6OlNjb3BlTm9kZTo6
cGFyc2VyQXJlbmEpOiBEZWxldGVkLgorCisgICAgICAgICogcGFyc2VyL1BhcnNlci5oOgorICAg
ICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2UpOgorICAgICAgICAoSlNDOjpwYXJz
ZSk6IHVuaXF1ZV9wdHIgYWxsIHRoZSB0aGluZ3MuCisKKyAgICAgICAgKiBwYXJzZXIvUGFyc2Vy
QXJlbmEuY3BwOgorICAgICAgICAoSlNDOjpQYXJzZXJBcmVuYTo6cmVzZXQpOgorICAgICAgICAo
SlNDOjpQYXJzZXJBcmVuYTo6aXNFbXB0eSk6CisgICAgICAgIChKU0M6OlBhcnNlckFyZW5hOjpj
b250YWlucyk6IERlbGV0ZWQuCisgICAgICAgIChKU0M6OlBhcnNlckFyZW5hOjpsYXN0KTogRGVs
ZXRlZC4KKyAgICAgICAgKEpTQzo6UGFyc2VyQXJlbmE6OnJlbW92ZUxhc3QpOiBEZWxldGVkLgor
ICAgICAgICAoSlNDOjpQYXJzZXJBcmVuYTo6ZGVyZWZXaXRoQXJlbmEpOiBEZWxldGVkLgorICAg
ICAgICAqIHBhcnNlci9QYXJzZXJBcmVuYS5oOgorICAgICAgICAoSlNDOjpQYXJzZXJBcmVuYTo6
c3dhcCk6IE11Y2ggZGVsZXRlLiBTdWNoIHdvdy4KKworICAgICAgICAqIHJ1bnRpbWUvQ29kZUNh
Y2hlLmNwcDoKKyAgICAgICAgKEpTQzo6Q29kZUNhY2hlOjpnZXRHbG9iYWxDb2RlQmxvY2spOgor
ICAgICAgICAoSlNDOjpDb2RlQ2FjaGU6OmdldEZ1bmN0aW9uRXhlY3V0YWJsZUZyb21HbG9iYWxD
b2RlKToKKyAgICAgICAgKiBydW50aW1lL0NvbXBsZXRpb24uY3BwOgorICAgICAgICAoSlNDOjpj
aGVja1N5bnRheCk6CisgICAgICAgICogcnVudGltZS9FeGVjdXRhYmxlLmNwcDoKKyAgICAgICAg
KEpTQzo6UHJvZ3JhbUV4ZWN1dGFibGU6OmNoZWNrU3ludGF4KTogdW5pcXVlX3B0ciBhbGwgdGhl
IHRoaW5ncy4KKwogMjAxNC0xMi0wNCAgR2VvZmZyZXkgR2FyZW4gIDxnZ2FyZW5AYXBwbGUuY29t
PgogCiAgICAgICAgIE1hcmtlZCBzb21lIGZpbmFsIHRoaW5ncyBmaW5hbC4KSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNTY3JpcHRSZWYuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNTY3JpcHRSZWYuY3BwCShyZXZpc2lvbiAxNzY4MjEpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTU2NyaXB0UmVmLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNjgsNyArNjgsNyBAQCBwcml2YXRlOgogCiBzdGF0aWMgYm9vbCBwYXJzZVNjcmlwdChW
TSogdm0sIGNvbnN0IFNvdXJjZUNvZGUmIHNvdXJjZSwgUGFyc2VyRXJyb3ImIGVycm9yKQogewot
ICAgIHJldHVybiBKU0M6OnBhcnNlPEpTQzo6UHJvZ3JhbU5vZGU+KHZtLCBzb3VyY2UsIDAsIElk
ZW50aWZpZXIoKSwgSlNQYXJzZU5vcm1hbCwgSlNQYXJzZVByb2dyYW1Db2RlLCBlcnJvcik7Cisg
ICAgcmV0dXJuICEhSlNDOjpwYXJzZTxKU0M6OlByb2dyYW1Ob2RlPih2bSwgc291cmNlLCAwLCBJ
ZGVudGlmaWVyKCksIEpTUGFyc2VOb3JtYWwsIEpTUGFyc2VQcm9ncmFtQ29kZSwgZXJyb3IpOwog
fQogCiBleHRlcm4gIkMiIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9C
dWlsdGluRXhlY3V0YWJsZXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9idWlsdGlucy9CdWlsdGluRXhlY3V0YWJsZXMuY3BwCShyZXZpc2lvbiAxNzY4MjEpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnVpbHRpbnMvQnVpbHRpbkV4ZWN1dGFibGVzLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNDYsNyArNDYsNyBAQCBVbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZSog
QnVpbHRpbkV4ZWN1CiB7CiAgICAgSlNUZXh0UG9zaXRpb24gcG9zaXRpb25CZWZvcmVMYXN0TmV3
bGluZTsKICAgICBQYXJzZXJFcnJvciBlcnJvcjsKLSAgICBSZWZQdHI8UHJvZ3JhbU5vZGU+IHBy
b2dyYW0gPSBwYXJzZTxQcm9ncmFtTm9kZT4oJm1fdm0sIHNvdXJjZSwgMCwgSWRlbnRpZmllcigp
LCBKU1BhcnNlQnVpbHRpbiwgSlNQYXJzZVByb2dyYW1Db2RlLCBlcnJvciwgJnBvc2l0aW9uQmVm
b3JlTGFzdE5ld2xpbmUpOworICAgIHN0ZDo6dW5pcXVlX3B0cjxQcm9ncmFtTm9kZT4gcHJvZ3Jh
bSA9IHBhcnNlPFByb2dyYW1Ob2RlPigmbV92bSwgc291cmNlLCAwLCBJZGVudGlmaWVyKCksIEpT
UGFyc2VCdWlsdGluLCBKU1BhcnNlUHJvZ3JhbUNvZGUsIGVycm9yLCAmcG9zaXRpb25CZWZvcmVM
YXN0TmV3bGluZSk7CiAKICAgICBpZiAoIXByb2dyYW0pIHsKICAgICAgICAgZGF0YUxvZygiRmF0
YWwgZXJyb3IgY29tcGlsaW5nIGJ1aWx0aW4gZnVuY3Rpb24gJyIsIG5hbWUuc3RyaW5nKCksICIn
OiAiLCBlcnJvci5tX21lc3NhZ2UpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL1VubGlua2VkQ29kZUJsb2NrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvVW5saW5rZWRDb2RlQmxvY2suY3BwCShyZXZpc2lvbiAxNzY4MjIpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvVW5saW5rZWRDb2RlQmxvY2suY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC01MSw3ICs1MSw3IEBAIGNvbnN0IENsYXNzSW5mbyBVbmxpbmtlZEZ1
bmN0aW9uQ29kZUJsb2MKIAogc3RhdGljIFVubGlua2VkRnVuY3Rpb25Db2RlQmxvY2sqIGdlbmVy
YXRlRnVuY3Rpb25Db2RlQmxvY2soVk0mIHZtLCBVbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZSog
ZXhlY3V0YWJsZSwgY29uc3QgU291cmNlQ29kZSYgc291cmNlLCBDb2RlU3BlY2lhbGl6YXRpb25L
aW5kIGtpbmQsIERlYnVnZ2VyTW9kZSBkZWJ1Z2dlck1vZGUsIFByb2ZpbGVyTW9kZSBwcm9maWxl
ck1vZGUsIFVubGlua2VkRnVuY3Rpb25LaW5kIGZ1bmN0aW9uS2luZCwgYm9vbCBib2R5SW5jbHVk
ZXNCcmFjZXMsIFBhcnNlckVycm9yJiBlcnJvcikKIHsKLSAgICBSZWZQdHI8RnVuY3Rpb25Ob2Rl
PiBmdW5jdGlvbiA9IHBhcnNlPEZ1bmN0aW9uTm9kZT4oJnZtLCBzb3VyY2UsIGV4ZWN1dGFibGUt
PnBhcmFtZXRlcnMoKSwgZXhlY3V0YWJsZS0+bmFtZSgpLCBleGVjdXRhYmxlLT50b1N0cmljdG5l
c3MoKSwgSlNQYXJzZUZ1bmN0aW9uQ29kZSwgZXJyb3IsIDAsIGJvZHlJbmNsdWRlc0JyYWNlcyk7
CisgICAgc3RkOjp1bmlxdWVfcHRyPEZ1bmN0aW9uTm9kZT4gZnVuY3Rpb24gPSBwYXJzZTxGdW5j
dGlvbk5vZGU+KCZ2bSwgc291cmNlLCBleGVjdXRhYmxlLT5wYXJhbWV0ZXJzKCksIGV4ZWN1dGFi
bGUtPm5hbWUoKSwgZXhlY3V0YWJsZS0+dG9TdHJpY3RuZXNzKCksIEpTUGFyc2VGdW5jdGlvbkNv
ZGUsIGVycm9yLCAwLCBib2R5SW5jbHVkZXNCcmFjZXMpOwogCiAgICAgaWYgKCFmdW5jdGlvbikg
ewogICAgICAgICBBU1NFUlQoZXJyb3IubV90eXBlICE9IFBhcnNlckVycm9yOjpFcnJvck5vbmUp
OwpAQCAtNjQsNyArNjQsNiBAQCBzdGF0aWMgVW5saW5rZWRGdW5jdGlvbkNvZGVCbG9jayogZ2Vu
ZXJhCiAgICAgVW5saW5rZWRGdW5jdGlvbkNvZGVCbG9jayogcmVzdWx0ID0gVW5saW5rZWRGdW5j
dGlvbkNvZGVCbG9jazo6Y3JlYXRlKCZ2bSwgRnVuY3Rpb25Db2RlLCBFeGVjdXRhYmxlSW5mbyhm
dW5jdGlvbi0+bmVlZHNBY3RpdmF0aW9uKCksIGZ1bmN0aW9uLT51c2VzRXZhbCgpLCBmdW5jdGlv
bi0+aXNTdHJpY3RNb2RlKCksIGtpbmQgPT0gQ29kZUZvckNvbnN0cnVjdCwgZnVuY3Rpb25LaW5k
ID09IFVubGlua2VkQnVpbHRpbkZ1bmN0aW9uKSk7CiAgICAgT3duUHRyPEJ5dGVjb2RlR2VuZXJh
dG9yPiBnZW5lcmF0b3IoYWRvcHRQdHIobmV3IEJ5dGVjb2RlR2VuZXJhdG9yKHZtLCBmdW5jdGlv
bi5nZXQoKSwgcmVzdWx0LCBkZWJ1Z2dlck1vZGUsIHByb2ZpbGVyTW9kZSkpKTsKICAgICBlcnJv
ciA9IGdlbmVyYXRvci0+Z2VuZXJhdGUoKTsKLSAgICBmdW5jdGlvbi0+ZGVzdHJveURhdGEoKTsK
ICAgICBpZiAoZXJyb3IubV90eXBlICE9IFBhcnNlckVycm9yOjpFcnJvck5vbmUpCiAgICAgICAg
IHJldHVybiAwOwogICAgIHJldHVybiByZXN1bHQ7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvcGFyc2VyL05vZGVDb25zdHJ1Y3RvcnMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcGFyc2VyL05vZGVDb25zdHJ1Y3RvcnMuaAkocmV2aXNpb24gMTc2ODIxKQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Ob2RlQ29uc3RydWN0b3JzLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTM3LDkgKzM3LDkgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIHJldHVybiBw
YXJzZXJBcmVuYS5hbGxvY2F0ZURlbGV0YWJsZShzaXplKTsKICAgICB9CiAKLSAgICBpbmxpbmUg
UGFyc2VyQXJlbmFSZWZDb3VudGVkOjpQYXJzZXJBcmVuYVJlZkNvdW50ZWQoUGFyc2VyQXJlbmEm
IHBhcnNlckFyZW5hKQorICAgIGlubGluZSBQYXJzZXJBcmVuYVJvb3Q6OlBhcnNlckFyZW5hUm9v
dChQYXJzZXJBcmVuYSYgcGFyc2VyQXJlbmEpCiAgICAgewotICAgICAgICBwYXJzZXJBcmVuYS5k
ZXJlZldpdGhBcmVuYShhZG9wdFJlZih0aGlzKSk7CisgICAgICAgIG1fYXJlbmEuc3dhcChwYXJz
ZXJBcmVuYSk7CiAgICAgfQogCiAgICAgaW5saW5lIE5vZGU6Ok5vZGUoY29uc3QgSlNUb2tlbkxv
Y2F0aW9uJiBsb2NhdGlvbikKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9k
ZXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvTm9kZXMu
Y3BwCShyZXZpc2lvbiAxNzY4MjIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL05v
ZGVzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzgsNyArNzgsNyBAQCBTdGF0ZW1lbnROb2RlKiBT
b3VyY2VFbGVtZW50czo6c2luZ2xlU3RhCiAKIFNjb3BlTm9kZTo6U2NvcGVOb2RlKFBhcnNlckFy
ZW5hJiBwYXJzZXJBcmVuYSwgY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBzdGFydExvY2F0aW9uLCBj
b25zdCBKU1Rva2VuTG9jYXRpb24mIGVuZExvY2F0aW9uLCBib29sIGluU3RyaWN0Q29udGV4dCkK
ICAgICA6IFN0YXRlbWVudE5vZGUoZW5kTG9jYXRpb24pCi0gICAgLCBQYXJzZXJBcmVuYVJlZkNv
dW50ZWQocGFyc2VyQXJlbmEpCisgICAgLCBQYXJzZXJBcmVuYVJvb3QocGFyc2VyQXJlbmEpCiAg
ICAgLCBtX3N0YXJ0TGluZU51bWJlcihzdGFydExvY2F0aW9uLmxpbmUpCiAgICAgLCBtX3N0YXJ0
U3RhcnRPZmZzZXQoc3RhcnRMb2NhdGlvbi5zdGFydE9mZnNldCkKICAgICAsIG1fc3RhcnRMaW5l
U3RhcnRPZmZzZXQoc3RhcnRMb2NhdGlvbi5saW5lU3RhcnRPZmZzZXQpCkBAIC05MCw3ICs5MCw3
IEBAIFNjb3BlTm9kZTo6U2NvcGVOb2RlKFBhcnNlckFyZW5hJiBwYXJzZXIKIAogU2NvcGVOb2Rl
OjpTY29wZU5vZGUoUGFyc2VyQXJlbmEmIHBhcnNlckFyZW5hLCBjb25zdCBKU1Rva2VuTG9jYXRp
b24mIHN0YXJ0TG9jYXRpb24sIGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgZW5kTG9jYXRpb24sIGNv
bnN0IFNvdXJjZUNvZGUmIHNvdXJjZSwgU291cmNlRWxlbWVudHMqIGNoaWxkcmVuLCBWYXJTdGFj
ayogdmFyU3RhY2ssIEZ1bmN0aW9uU3RhY2sqIGZ1bmNTdGFjaywgSWRlbnRpZmllclNldCYgY2Fw
dHVyZWRWYXJpYWJsZXMsIENvZGVGZWF0dXJlcyBmZWF0dXJlcywgaW50IG51bUNvbnN0YW50cykK
ICAgICA6IFN0YXRlbWVudE5vZGUoZW5kTG9jYXRpb24pCi0gICAgLCBQYXJzZXJBcmVuYVJlZkNv
dW50ZWQocGFyc2VyQXJlbmEpCisgICAgLCBQYXJzZXJBcmVuYVJvb3QocGFyc2VyQXJlbmEpCiAg
ICAgLCBtX3N0YXJ0TGluZU51bWJlcihzdGFydExvY2F0aW9uLmxpbmUpCiAgICAgLCBtX3N0YXJ0
U3RhcnRPZmZzZXQoc3RhcnRMb2NhdGlvbi5zdGFydE9mZnNldCkKICAgICAsIG1fc3RhcnRMaW5l
U3RhcnRPZmZzZXQoc3RhcnRMb2NhdGlvbi5saW5lU3RhcnRPZmZzZXQpCkBAIC05OSw3ICs5OSw2
IEBAIFNjb3BlTm9kZTo6U2NvcGVOb2RlKFBhcnNlckFyZW5hJiBwYXJzZXIKICAgICAsIG1fbnVt
Q29uc3RhbnRzKG51bUNvbnN0YW50cykKICAgICAsIG1fc3RhdGVtZW50cyhjaGlsZHJlbikKIHsK
LSAgICBtX2FyZW5hLnN3YXAocGFyc2VyQXJlbmEpOwogICAgIGlmICh2YXJTdGFjaykKICAgICAg
ICAgbV92YXJTdGFjay5zd2FwKCp2YXJTdGFjayk7CiAgICAgaWYgKGZ1bmNTdGFjaykKQEAgLTEx
NCwyNSArMTEzLDEzIEBAIFN0YXRlbWVudE5vZGUqIFNjb3BlTm9kZTo6c2luZ2xlU3RhdGVtZW4K
IAogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFByb2dyYW1Ob2RlIC0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKLWlubGluZSBQcm9ncmFtTm9kZTo6UHJvZ3JhbU5vZGUo
UGFyc2VyQXJlbmEmIHBhcnNlckFyZW5hLCBjb25zdCBKU1Rva2VuTG9jYXRpb24mIHN0YXJ0TG9j
YXRpb24sIGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgZW5kTG9jYXRpb24sIHVuc2lnbmVkIHN0YXJ0
Q29sdW1uLCB1bnNpZ25lZCBlbmRDb2x1bW4sIFNvdXJjZUVsZW1lbnRzKiBjaGlsZHJlbiwgVmFy
U3RhY2sqIHZhclN0YWNrLCBGdW5jdGlvblN0YWNrKiBmdW5jU3RhY2ssIElkZW50aWZpZXJTZXQm
IGNhcHR1cmVkVmFyaWFibGVzLCBjb25zdCBTb3VyY2VDb2RlJiBzb3VyY2UsIENvZGVGZWF0dXJl
cyBmZWF0dXJlcywgaW50IG51bUNvbnN0YW50cykKK1Byb2dyYW1Ob2RlOjpQcm9ncmFtTm9kZShQ
YXJzZXJBcmVuYSYgcGFyc2VyQXJlbmEsIGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgc3RhcnRMb2Nh
dGlvbiwgY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBlbmRMb2NhdGlvbiwgdW5zaWduZWQgc3RhcnRD
b2x1bW4sIHVuc2lnbmVkIGVuZENvbHVtbiwgU291cmNlRWxlbWVudHMqIGNoaWxkcmVuLCBWYXJT
dGFjayogdmFyU3RhY2ssIEZ1bmN0aW9uU3RhY2sqIGZ1bmNTdGFjaywgSWRlbnRpZmllclNldCYg
Y2FwdHVyZWRWYXJpYWJsZXMsIGNvbnN0IFNvdXJjZUNvZGUmIHNvdXJjZSwgQ29kZUZlYXR1cmVz
IGZlYXR1cmVzLCBpbnQgbnVtQ29uc3RhbnRzKQogICAgIDogU2NvcGVOb2RlKHBhcnNlckFyZW5h
LCBzdGFydExvY2F0aW9uLCBlbmRMb2NhdGlvbiwgc291cmNlLCBjaGlsZHJlbiwgdmFyU3RhY2ss
IGZ1bmNTdGFjaywgY2FwdHVyZWRWYXJpYWJsZXMsIGZlYXR1cmVzLCBudW1Db25zdGFudHMpCiAg
ICAgLCBtX3N0YXJ0Q29sdW1uKHN0YXJ0Q29sdW1uKQogICAgICwgbV9lbmRDb2x1bW4oZW5kQ29s
dW1uKQogewogfQogCi1QYXNzUmVmUHRyPFByb2dyYW1Ob2RlPiBQcm9ncmFtTm9kZTo6Y3JlYXRl
KFBhcnNlckFyZW5hJiBwYXJzZXJBcmVuYSwgY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBzdGFydExv
Y2F0aW9uLCBjb25zdCBKU1Rva2VuTG9jYXRpb24mIGVuZExvY2F0aW9uLCB1bnNpZ25lZCBzdGFy
dENvbHVtbiwgdW5zaWduZWQgZW5kQ29sdW1uLCBTb3VyY2VFbGVtZW50cyogY2hpbGRyZW4sIFZh
clN0YWNrKiB2YXJTdGFjaywgRnVuY3Rpb25TdGFjayogZnVuY1N0YWNrLCBJZGVudGlmaWVyU2V0
JiBjYXB0dXJlZFZhcmlhYmxlcywgY29uc3QgU291cmNlQ29kZSYgc291cmNlLCBDb2RlRmVhdHVy
ZXMgZmVhdHVyZXMsIGludCBudW1Db25zdGFudHMpCi17Ci0gICAgUmVmUHRyPFByb2dyYW1Ob2Rl
PiBub2RlID0gbmV3IFByb2dyYW1Ob2RlKHBhcnNlckFyZW5hLCBzdGFydExvY2F0aW9uLCBlbmRM
b2NhdGlvbiwgc3RhcnRDb2x1bW4sIGVuZENvbHVtbiwgY2hpbGRyZW4sIHZhclN0YWNrLCBmdW5j
U3RhY2ssICBjYXB0dXJlZFZhcmlhYmxlcywgc291cmNlLCBmZWF0dXJlcywgbnVtQ29uc3RhbnRz
KTsKLQotICAgIEFTU0VSVChub2RlLT5tX2FyZW5hLmxhc3QoKSA9PSBub2RlKTsKLSAgICBub2Rl
LT5tX2FyZW5hLnJlbW92ZUxhc3QoKTsKLSAgICBBU1NFUlQoIW5vZGUtPm1fYXJlbmEuY29udGFp
bnMobm9kZS5nZXQoKSkpOwotCi0gICAgcmV0dXJuIG5vZGUucmVsZWFzZSgpOwotfQotCi0KIHZv
aWQgUHJvZ3JhbU5vZGU6OnNldENsb3NlZFZhcmlhYmxlcyhWZWN0b3I8UmVmUHRyPFN0cmluZ0lt
cGw+PiYmIGNsb3NlZFZhcmlhYmxlcykKIHsKICAgICBtX2Nsb3NlZFZhcmlhYmxlcyA9IFdURjo6
bW92ZShjbG9zZWRWYXJpYWJsZXMpOwpAQCAtMTQwLDIzICsxMjcsMTIgQEAgdm9pZCBQcm9ncmFt
Tm9kZTo6c2V0Q2xvc2VkVmFyaWFibGVzKFZlYwogCiAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0gRXZhbE5vZGUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAotaW5saW5l
IEV2YWxOb2RlOjpFdmFsTm9kZShQYXJzZXJBcmVuYSYgcGFyc2VyQXJlbmEsIGNvbnN0IEpTVG9r
ZW5Mb2NhdGlvbiYgc3RhcnRMb2NhdGlvbiwgY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBlbmRMb2Nh
dGlvbiwgdW5zaWduZWQgZW5kQ29sdW1uLCBTb3VyY2VFbGVtZW50cyogY2hpbGRyZW4sIFZhclN0
YWNrKiB2YXJTdGFjaywgRnVuY3Rpb25TdGFjayogZnVuY1N0YWNrLCBJZGVudGlmaWVyU2V0JiBj
YXB0dXJlZFZhcmlhYmxlcywgY29uc3QgU291cmNlQ29kZSYgc291cmNlLCBDb2RlRmVhdHVyZXMg
ZmVhdHVyZXMsIGludCBudW1Db25zdGFudHMpCitFdmFsTm9kZTo6RXZhbE5vZGUoUGFyc2VyQXJl
bmEmIHBhcnNlckFyZW5hLCBjb25zdCBKU1Rva2VuTG9jYXRpb24mIHN0YXJ0TG9jYXRpb24sIGNv
bnN0IEpTVG9rZW5Mb2NhdGlvbiYgZW5kTG9jYXRpb24sIHVuc2lnbmVkLCB1bnNpZ25lZCBlbmRD
b2x1bW4sIFNvdXJjZUVsZW1lbnRzKiBjaGlsZHJlbiwgVmFyU3RhY2sqIHZhclN0YWNrLCBGdW5j
dGlvblN0YWNrKiBmdW5jU3RhY2ssIElkZW50aWZpZXJTZXQmIGNhcHR1cmVkVmFyaWFibGVzLCBj
b25zdCBTb3VyY2VDb2RlJiBzb3VyY2UsIENvZGVGZWF0dXJlcyBmZWF0dXJlcywgaW50IG51bUNv
bnN0YW50cykKICAgICA6IFNjb3BlTm9kZShwYXJzZXJBcmVuYSwgc3RhcnRMb2NhdGlvbiwgZW5k
TG9jYXRpb24sIHNvdXJjZSwgY2hpbGRyZW4sIHZhclN0YWNrLCBmdW5jU3RhY2ssIGNhcHR1cmVk
VmFyaWFibGVzLCBmZWF0dXJlcywgbnVtQ29uc3RhbnRzKQogICAgICwgbV9lbmRDb2x1bW4oZW5k
Q29sdW1uKQogewogfQogCi1QYXNzUmVmUHRyPEV2YWxOb2RlPiBFdmFsTm9kZTo6Y3JlYXRlKFBh
cnNlckFyZW5hJiBwYXJzZXJBcmVuYSwgY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBzdGFydExvY2F0
aW9uLCBjb25zdCBKU1Rva2VuTG9jYXRpb24mIGVuZExvY2F0aW9uLCB1bnNpZ25lZCwgdW5zaWdu
ZWQgZW5kQ29sdW1uLCBTb3VyY2VFbGVtZW50cyogY2hpbGRyZW4sIFZhclN0YWNrKiB2YXJTdGFj
aywgRnVuY3Rpb25TdGFjayogZnVuY1N0YWNrLCBJZGVudGlmaWVyU2V0JiBjYXB0dXJlZFZhcmlh
YmxlcywgY29uc3QgU291cmNlQ29kZSYgc291cmNlLCBDb2RlRmVhdHVyZXMgZmVhdHVyZXMsIGlu
dCBudW1Db25zdGFudHMpCi17Ci0gICAgUmVmUHRyPEV2YWxOb2RlPiBub2RlID0gbmV3IEV2YWxO
b2RlKHBhcnNlckFyZW5hLCBzdGFydExvY2F0aW9uLCBlbmRMb2NhdGlvbiwgZW5kQ29sdW1uLCBj
aGlsZHJlbiwgdmFyU3RhY2ssIGZ1bmNTdGFjaywgY2FwdHVyZWRWYXJpYWJsZXMsIHNvdXJjZSwg
ZmVhdHVyZXMsIG51bUNvbnN0YW50cyk7Ci0KLSAgICBBU1NFUlQobm9kZS0+bV9hcmVuYS5sYXN0
KCkgPT0gbm9kZSk7Ci0gICAgbm9kZS0+bV9hcmVuYS5yZW1vdmVMYXN0KCk7Ci0gICAgQVNTRVJU
KCFub2RlLT5tX2FyZW5hLmNvbnRhaW5zKG5vZGUuZ2V0KCkpKTsKLQotICAgIHJldHVybiBub2Rl
LnJlbGVhc2UoKTsKLX0KLQogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIEZ1bmN0
aW9uQm9keU5vZGUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAogUGFzc1JlZlB0cjxG
dW5jdGlvblBhcmFtZXRlcnM+IEZ1bmN0aW9uUGFyYW1ldGVyczo6Y3JlYXRlKFBhcmFtZXRlck5v
ZGUqIGZpcnN0UGFyYW1ldGVyKQpAQCAtMjEwLDI2ICsxODYsMTUgQEAgdm9pZCBGdW5jdGlvbkJv
ZHlOb2RlOjpzZXRFbmRQb3NpdGlvbihKUwogICAgIG1fZW5kQ29sdW1uID0gcG9zaXRpb24ub2Zm
c2V0IC0gcG9zaXRpb24ubGluZVN0YXJ0T2Zmc2V0OwogfQogCi0vLyA9PT09PT09PT09PT09PT09
PT09PT0KKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBGdW5jdGlvbk5vZGUgLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAotaW5saW5lIEZ1bmN0aW9uTm9kZTo6RnVuY3Rp
b25Ob2RlKFBhcnNlckFyZW5hJiBwYXJzZXJBcmVuYSwgY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBz
dGFydExvY2F0aW9uLCBjb25zdCBKU1Rva2VuTG9jYXRpb24mIGVuZExvY2F0aW9uLCB1bnNpZ25l
ZCBzdGFydENvbHVtbiwgdW5zaWduZWQgZW5kQ29sdW1uLCBTb3VyY2VFbGVtZW50cyogY2hpbGRy
ZW4sIFZhclN0YWNrKiB2YXJTdGFjaywgRnVuY3Rpb25TdGFjayogZnVuY1N0YWNrLCBJZGVudGlm
aWVyU2V0JiBjYXB0dXJlZFZhcmlhYmxlcywgY29uc3QgU291cmNlQ29kZSYgc291cmNlQ29kZSwg
Q29kZUZlYXR1cmVzIGZlYXR1cmVzLCBpbnQgbnVtQ29uc3RhbnRzKQorRnVuY3Rpb25Ob2RlOjpG
dW5jdGlvbk5vZGUoUGFyc2VyQXJlbmEmIHBhcnNlckFyZW5hLCBjb25zdCBKU1Rva2VuTG9jYXRp
b24mIHN0YXJ0TG9jYXRpb24sIGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgZW5kTG9jYXRpb24sIHVu
c2lnbmVkIHN0YXJ0Q29sdW1uLCB1bnNpZ25lZCBlbmRDb2x1bW4sIFNvdXJjZUVsZW1lbnRzKiBj
aGlsZHJlbiwgVmFyU3RhY2sqIHZhclN0YWNrLCBGdW5jdGlvblN0YWNrKiBmdW5jU3RhY2ssIElk
ZW50aWZpZXJTZXQmIGNhcHR1cmVkVmFyaWFibGVzLCBjb25zdCBTb3VyY2VDb2RlJiBzb3VyY2VD
b2RlLCBDb2RlRmVhdHVyZXMgZmVhdHVyZXMsIGludCBudW1Db25zdGFudHMpCiAgICAgOiBTY29w
ZU5vZGUocGFyc2VyQXJlbmEsIHN0YXJ0TG9jYXRpb24sIGVuZExvY2F0aW9uLCBzb3VyY2VDb2Rl
LCBjaGlsZHJlbiwgdmFyU3RhY2ssIGZ1bmNTdGFjaywgY2FwdHVyZWRWYXJpYWJsZXMsIGZlYXR1
cmVzLCBudW1Db25zdGFudHMpCiAgICAgLCBtX3N0YXJ0Q29sdW1uKHN0YXJ0Q29sdW1uKQogICAg
ICwgbV9lbmRDb2x1bW4oZW5kQ29sdW1uKQogewogfQogCi1QYXNzUmVmUHRyPEZ1bmN0aW9uTm9k
ZT4gRnVuY3Rpb25Ob2RlOjpjcmVhdGUoUGFyc2VyQXJlbmEmIHBhcnNlckFyZW5hLCBjb25zdCBK
U1Rva2VuTG9jYXRpb24mIHN0YXJ0TG9jYXRpb24sIGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgZW5k
TG9jYXRpb24sIHVuc2lnbmVkIHN0YXJ0Q29sdW1uLCB1bnNpZ25lZCBlbmRDb2x1bW4sIFNvdXJj
ZUVsZW1lbnRzKiBjaGlsZHJlbiwgVmFyU3RhY2sqIHZhclN0YWNrLCBGdW5jdGlvblN0YWNrKiBm
dW5jU3RhY2ssIElkZW50aWZpZXJTZXQmIGNhcHR1cmVkVmFyaWFibGVzLCBjb25zdCBTb3VyY2VD
b2RlJiBzb3VyY2VDb2RlLCBDb2RlRmVhdHVyZXMgZmVhdHVyZXMsIGludCBudW1Db25zdGFudHMp
Ci17Ci0gICAgUmVmUHRyPEZ1bmN0aW9uTm9kZT4gbm9kZSA9IG5ldyBGdW5jdGlvbk5vZGUocGFy
c2VyQXJlbmEsIHN0YXJ0TG9jYXRpb24sIGVuZExvY2F0aW9uLCBzdGFydENvbHVtbiwgZW5kQ29s
dW1uICwgY2hpbGRyZW4sIHZhclN0YWNrLCBmdW5jU3RhY2ssIGNhcHR1cmVkVmFyaWFibGVzLCBz
b3VyY2VDb2RlLCBmZWF0dXJlcywgbnVtQ29uc3RhbnRzKTsKLQotICAgIEFTU0VSVChub2RlLT5t
X2FyZW5hLmxhc3QoKSA9PSBub2RlKTsKLSAgICBub2RlLT5tX2FyZW5hLnJlbW92ZUxhc3QoKTsK
LSAgICBBU1NFUlQoIW5vZGUtPm1fYXJlbmEuY29udGFpbnMobm9kZS5nZXQoKSkpOwotCi0gICAg
cmV0dXJuIG5vZGUucmVsZWFzZSgpOwotfQotCiB2b2lkIEZ1bmN0aW9uTm9kZTo6ZmluaXNoUGFy
c2luZyhQYXNzUmVmUHRyPEZ1bmN0aW9uUGFyYW1ldGVycz4gcGFyYW1ldGVycywgY29uc3QgSWRl
bnRpZmllciYgaWRlbnQsIGVudW0gRnVuY3Rpb25Nb2RlIGZ1bmN0aW9uTW9kZSkKIHsKICAgICBB
U1NFUlQoIXNvdXJjZSgpLmlzTnVsbCgpKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9w
YXJzZXIvTm9kZXMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2Vy
L05vZGVzLmgJKHJldmlzaW9uIDE3NjgyMykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvTm9kZXMuaAkod29ya2luZyBjb3B5KQpAQCAtMTExLDE2ICsxMTEsMTcgQEAgbmFtZXNwYWNl
IEpTQyB7CiAgICAgICAgIFQgZGF0YTsKICAgICB9OwogCi0gICAgY2xhc3MgUGFyc2VyQXJlbmFS
ZWZDb3VudGVkIDogcHVibGljIFJlZkNvdW50ZWQ8UGFyc2VyQXJlbmFSZWZDb3VudGVkPiB7Cisg
ICAgY2xhc3MgUGFyc2VyQXJlbmFSb290IHsKICAgICAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FU
RUQ7CiAgICAgcHJvdGVjdGVkOgotICAgICAgICBQYXJzZXJBcmVuYVJlZkNvdW50ZWQoUGFyc2Vy
QXJlbmEmKTsKKyAgICAgICAgUGFyc2VyQXJlbmFSb290KFBhcnNlckFyZW5hJik7CiAKICAgICBw
dWJsaWM6Ci0gICAgICAgIHZpcnR1YWwgflBhcnNlckFyZW5hUmVmQ291bnRlZCgpCi0gICAgICAg
IHsKLSAgICAgICAgICAgIEFTU0VSVChkZWxldGlvbkhhc0JlZ3VuKCkpOwotICAgICAgICB9Cisg
ICAgICAgIFBhcnNlckFyZW5hJiBwYXJzZXJBcmVuYSgpIHsgcmV0dXJuIG1fYXJlbmE7IH0KKyAg
ICAgICAgdmlydHVhbCB+UGFyc2VyQXJlbmFSb290KCkgeyB9CisKKyAgICBwcm90ZWN0ZWQ6Cisg
ICAgICAgIFBhcnNlckFyZW5hIG1fYXJlbmE7CiAgICAgfTsKIAogICAgIGNsYXNzIE5vZGUgOiBw
dWJsaWMgUGFyc2VyQXJlbmFGcmVlYWJsZSB7CkBAIC0xNDA0LDcgKzE0MDUsNyBAQCBuYW1lc3Bh
Y2UgSlNDIHsKICAgICAgICAgUGFyYW1ldGVyTm9kZSogbV9uZXh0OwogICAgIH07CiAKLSAgICBj
bGFzcyBTY29wZU5vZGUgOiBwdWJsaWMgU3RhdGVtZW50Tm9kZSwgcHVibGljIFBhcnNlckFyZW5h
UmVmQ291bnRlZCB7CisgICAgY2xhc3MgU2NvcGVOb2RlIDogcHVibGljIFN0YXRlbWVudE5vZGUs
IHB1YmxpYyBQYXJzZXJBcmVuYVJvb3QgewogICAgIHB1YmxpYzoKICAgICAgICAgdHlwZWRlZiBE
ZWNsYXJhdGlvblN0YWNrczo6VmFyU3RhY2sgVmFyU3RhY2s7CiAgICAgICAgIHR5cGVkZWYgRGVj
bGFyYXRpb25TdGFja3M6OkZ1bmN0aW9uU3RhY2sgRnVuY3Rpb25TdGFjazsKQEAgLTE0MTIsMTgg
KzE0MTMsOCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgU2NvcGVOb2RlKFBhcnNlckFyZW5h
JiwgY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBzdGFydCwgY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBl
bmQsIGJvb2wgaW5TdHJpY3RDb250ZXh0KTsKICAgICAgICAgU2NvcGVOb2RlKFBhcnNlckFyZW5h
JiwgY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBzdGFydCwgY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBl
bmQsIGNvbnN0IFNvdXJjZUNvZGUmLCBTb3VyY2VFbGVtZW50cyosIFZhclN0YWNrKiwgRnVuY3Rp
b25TdGFjayosIElkZW50aWZpZXJTZXQmLCBDb2RlRmVhdHVyZXMsIGludCBudW1Db25zdGFudHMp
OwogCi0gICAgICAgIHVzaW5nIFBhcnNlckFyZW5hUmVmQ291bnRlZDo6b3BlcmF0b3IgbmV3Owor
ICAgICAgICB1c2luZyBQYXJzZXJBcmVuYVJvb3Q6Om9wZXJhdG9yIG5ldzsKIAotICAgICAgICB2
b2lkIGRlc3Ryb3lEYXRhKCkKLSAgICAgICAgewotICAgICAgICAgICAgbV9hcmVuYS5yZXNldCgp
OwotICAgICAgICAgICAgbV92YXJTdGFjay5jbGVhcigpOwotICAgICAgICAgICAgbV9mdW5jdGlv
blN0YWNrLmNsZWFyKCk7Ci0gICAgICAgICAgICBtX3N0YXRlbWVudHMgPSAwOwotICAgICAgICAg
ICAgbV9jYXB0dXJlZFZhcmlhYmxlcy5jbGVhcigpOwotICAgICAgICB9Ci0KLSAgICAgICAgUGFy
c2VyQXJlbmEmIHBhcnNlckFyZW5hKCkgeyByZXR1cm4gbV9hcmVuYTsgfQogICAgICAgICBjb25z
dCBTb3VyY2VDb2RlJiBzb3VyY2UoKSBjb25zdCB7IHJldHVybiBtX3NvdXJjZTsgfQogICAgICAg
ICBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCgpIGNvbnN0IHsgcmV0dXJuIG1fc291cmNlLnByb3Zp
ZGVyKCktPnVybCgpOyB9CiAgICAgICAgIGludHB0cl90IHNvdXJjZUlEKCkgY29uc3QgeyByZXR1
cm4gbV9zb3VyY2UucHJvdmlkZXJJRCgpOyB9CkBAIC0xNDY2LDggKzE0NTcsNiBAQCBuYW1lc3Bh
Y2UgSlNDIHsKICAgICAgICAgdm9pZCBzZXRDbG9zZWRWYXJpYWJsZXMoVmVjdG9yPFJlZlB0cjxT
dHJpbmdJbXBsPj4mJikgeyB9CiAKICAgICBwcm90ZWN0ZWQ6Ci0gICAgICAgIFBhcnNlckFyZW5h
IG1fYXJlbmE7Ci0KICAgICAgICAgaW50IG1fc3RhcnRMaW5lTnVtYmVyOwogICAgICAgICB1bnNp
Z25lZCBtX3N0YXJ0U3RhcnRPZmZzZXQ7CiAgICAgICAgIHVuc2lnbmVkIG1fc3RhcnRMaW5lU3Rh
cnRPZmZzZXQ7CkBAIC0xNDg0LDcgKzE0NzMsNyBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgIGNs
YXNzIFByb2dyYW1Ob2RlIDogcHVibGljIFNjb3BlTm9kZSB7CiAgICAgcHVibGljOgotICAgICAg
ICBzdGF0aWMgUGFzc1JlZlB0cjxQcm9ncmFtTm9kZT4gY3JlYXRlKFBhcnNlckFyZW5hJiwgY29u
c3QgSlNUb2tlbkxvY2F0aW9uJiBzdGFydCwgY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBlbmQsIHVu
c2lnbmVkIHN0YXJ0Q29sdW1uLCB1bnNpZ25lZCBlbmRDb2x1bW4sIFNvdXJjZUVsZW1lbnRzKiwg
VmFyU3RhY2sqLCBGdW5jdGlvblN0YWNrKiwgSWRlbnRpZmllclNldCYsIGNvbnN0IFNvdXJjZUNv
ZGUmLCBDb2RlRmVhdHVyZXMsIGludCBudW1Db25zdGFudHMpOworICAgICAgICBQcm9ncmFtTm9k
ZShQYXJzZXJBcmVuYSYsIGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgc3RhcnQsIGNvbnN0IEpTVG9r
ZW5Mb2NhdGlvbiYgZW5kLCB1bnNpZ25lZCBzdGFydENvbHVtbiwgdW5zaWduZWQgZW5kQ29sdW1u
LCBTb3VyY2VFbGVtZW50cyosIFZhclN0YWNrKiwgRnVuY3Rpb25TdGFjayosIElkZW50aWZpZXJT
ZXQmLCBjb25zdCBTb3VyY2VDb2RlJiwgQ29kZUZlYXR1cmVzLCBpbnQgbnVtQ29uc3RhbnRzKTsK
IAogICAgICAgICB1bnNpZ25lZCBzdGFydENvbHVtbigpIGNvbnN0IHsgcmV0dXJuIG1fc3RhcnRD
b2x1bW47IH0KICAgICAgICAgdW5zaWduZWQgZW5kQ29sdW1uKCkgY29uc3QgeyByZXR1cm4gbV9l
bmRDb2x1bW47IH0KQEAgLTE0OTMsOSArMTQ4Miw4IEBAIG5hbWVzcGFjZSBKU0MgewogCiAgICAg
ICAgIHZvaWQgc2V0Q2xvc2VkVmFyaWFibGVzKFZlY3RvcjxSZWZQdHI8U3RyaW5nSW1wbD4+JiYp
OwogICAgICAgICBjb25zdCBWZWN0b3I8UmVmUHRyPFN0cmluZ0ltcGw+PiYgY2xvc2VkVmFyaWFi
bGVzKCkgY29uc3QgeyByZXR1cm4gbV9jbG9zZWRWYXJpYWJsZXM7IH0KLSAgICBwcml2YXRlOgot
ICAgICAgICBQcm9ncmFtTm9kZShQYXJzZXJBcmVuYSYsIGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYg
c3RhcnQsIGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgZW5kLCB1bnNpZ25lZCBzdGFydENvbHVtbiwg
dW5zaWduZWQgZW5kQ29sdW1uLCBTb3VyY2VFbGVtZW50cyosIFZhclN0YWNrKiwgRnVuY3Rpb25T
dGFjayosIElkZW50aWZpZXJTZXQmLCBjb25zdCBTb3VyY2VDb2RlJiwgQ29kZUZlYXR1cmVzLCBp
bnQgbnVtQ29uc3RhbnRzKTsKIAorICAgIHByaXZhdGU6CiAgICAgICAgIHZpcnR1YWwgdm9pZCBl
bWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3ImLCBSZWdpc3RlcklEKiA9IDApIG92ZXJyaWRl
OwogICAgICAgICBWZWN0b3I8UmVmUHRyPFN0cmluZ0ltcGw+PiBtX2Nsb3NlZFZhcmlhYmxlczsK
ICAgICAgICAgdW5zaWduZWQgbV9zdGFydENvbHVtbjsKQEAgLTE1MDQsNyArMTQ5Miw3IEBAIG5h
bWVzcGFjZSBKU0MgewogCiAgICAgY2xhc3MgRXZhbE5vZGUgOiBwdWJsaWMgU2NvcGVOb2RlIHsK
ICAgICBwdWJsaWM6Ci0gICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPEV2YWxOb2RlPiBjcmVhdGUo
UGFyc2VyQXJlbmEmLCBjb25zdCBKU1Rva2VuTG9jYXRpb24mIHN0YXJ0LCBjb25zdCBKU1Rva2Vu
TG9jYXRpb24mIGVuZCwgdW5zaWduZWQsIHVuc2lnbmVkIGVuZENvbHVtbiwgU291cmNlRWxlbWVu
dHMqLCBWYXJTdGFjayosIEZ1bmN0aW9uU3RhY2sqLCBJZGVudGlmaWVyU2V0JiwgY29uc3QgU291
cmNlQ29kZSYsIENvZGVGZWF0dXJlcywgaW50IG51bUNvbnN0YW50cyk7CisgICAgICAgIEV2YWxO
b2RlKFBhcnNlckFyZW5hJiwgY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBzdGFydCwgY29uc3QgSlNU
b2tlbkxvY2F0aW9uJiBlbmQsIHVuc2lnbmVkIHN0YXJ0Q29sdW1uLCB1bnNpZ25lZCBlbmRDb2x1
bW4sIFNvdXJjZUVsZW1lbnRzKiwgVmFyU3RhY2sqLCBGdW5jdGlvblN0YWNrKiwgSWRlbnRpZmll
clNldCYsIGNvbnN0IFNvdXJjZUNvZGUmLCBDb2RlRmVhdHVyZXMsIGludCBudW1Db25zdGFudHMp
OwogCiAgICAgICAgIEFMV0FZU19JTkxJTkUgdW5zaWduZWQgc3RhcnRDb2x1bW4oKSBjb25zdCB7
IHJldHVybiAwOyB9CiAgICAgICAgIHVuc2lnbmVkIGVuZENvbHVtbigpIGNvbnN0IHsgcmV0dXJu
IG1fZW5kQ29sdW1uOyB9CkBAIC0xNTEyLDggKzE1MDAsNiBAQCBuYW1lc3BhY2UgSlNDIHsKICAg
ICAgICAgc3RhdGljIGNvbnN0IGJvb2wgc2NvcGVJc0Z1bmN0aW9uID0gZmFsc2U7CiAKICAgICBw
cml2YXRlOgotICAgICAgICBFdmFsTm9kZShQYXJzZXJBcmVuYSYsIGNvbnN0IEpTVG9rZW5Mb2Nh
dGlvbiYgc3RhcnQsIGNvbnN0IEpTVG9rZW5Mb2NhdGlvbiYgZW5kLCB1bnNpZ25lZCBlbmRDb2x1
bW4sIFNvdXJjZUVsZW1lbnRzKiwgVmFyU3RhY2sqLCBGdW5jdGlvblN0YWNrKiwgSWRlbnRpZmll
clNldCYsIGNvbnN0IFNvdXJjZUNvZGUmLCBDb2RlRmVhdHVyZXMsIGludCBudW1Db25zdGFudHMp
OwotCiAgICAgICAgIHZpcnR1YWwgdm9pZCBlbWl0Qnl0ZWNvZGUoQnl0ZWNvZGVHZW5lcmF0b3Im
LCBSZWdpc3RlcklEKiA9IDApIG92ZXJyaWRlOwogCiAgICAgICAgIHVuc2lnbmVkIG1fZW5kQ29s
dW1uOwpAQCAtMTU4NCw3ICsxNTcwLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICBjbGFzcyBG
dW5jdGlvbk5vZGUgZmluYWwgOiBwdWJsaWMgU2NvcGVOb2RlIHsKICAgICBwdWJsaWM6Ci0gICAg
ICAgIHN0YXRpYyBQYXNzUmVmUHRyPEZ1bmN0aW9uTm9kZT4gY3JlYXRlKFBhcnNlckFyZW5hJiwg
Y29uc3QgSlNUb2tlbkxvY2F0aW9uJiBzdGFydCwgY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBlbmQs
IHVuc2lnbmVkIHN0YXJ0Q29sdW1uLCB1bnNpZ25lZCBlbmRDb2x1bW4sIFNvdXJjZUVsZW1lbnRz
KiwgVmFyU3RhY2sqLCBGdW5jdGlvblN0YWNrKiwgSWRlbnRpZmllclNldCYsIGNvbnN0IFNvdXJj
ZUNvZGUmLCBDb2RlRmVhdHVyZXMsIGludCBudW1Db25zdGFudHMpOworICAgICAgICBGdW5jdGlv
bk5vZGUoUGFyc2VyQXJlbmEmLCBjb25zdCBKU1Rva2VuTG9jYXRpb24mIHN0YXJ0LCBjb25zdCBK
U1Rva2VuTG9jYXRpb24mIGVuZCwgdW5zaWduZWQgc3RhcnRDb2x1bW4sIHVuc2lnbmVkIGVuZENv
bHVtbiwgU291cmNlRWxlbWVudHMqLCBWYXJTdGFjayosIEZ1bmN0aW9uU3RhY2sqLCBJZGVudGlm
aWVyU2V0JiwgY29uc3QgU291cmNlQ29kZSYsIENvZGVGZWF0dXJlcywgaW50IG51bUNvbnN0YW50
cyk7CiAKICAgICAgICAgRnVuY3Rpb25QYXJhbWV0ZXJzKiBwYXJhbWV0ZXJzKCkgY29uc3QgeyBy
ZXR1cm4gbV9wYXJhbWV0ZXJzLmdldCgpOyB9CiAKQEAgLTE2MDIsOCArMTU4OCw2IEBAIG5hbWVz
cGFjZSBKU0MgewogICAgICAgICBzdGF0aWMgY29uc3QgYm9vbCBzY29wZUlzRnVuY3Rpb24gPSB0
cnVlOwogCiAgICAgcHJpdmF0ZToKLSAgICAgICAgRnVuY3Rpb25Ob2RlKFBhcnNlckFyZW5hJiwg
Y29uc3QgSlNUb2tlbkxvY2F0aW9uJiBzdGFydCwgY29uc3QgSlNUb2tlbkxvY2F0aW9uJiBlbmQs
IHVuc2lnbmVkIHN0YXJ0Q29sdW1uLCB1bnNpZ25lZCBlbmRDb2x1bW4sIFNvdXJjZUVsZW1lbnRz
KiwgVmFyU3RhY2sqLCBGdW5jdGlvblN0YWNrKiwgSWRlbnRpZmllclNldCYsIGNvbnN0IFNvdXJj
ZUNvZGUmLCBDb2RlRmVhdHVyZXMsIGludCBudW1Db25zdGFudHMpOwotCiAgICAgICAgIElkZW50
aWZpZXIgbV9pZGVudDsKICAgICAgICAgRnVuY3Rpb25Nb2RlIG1fZnVuY3Rpb25Nb2RlOwogICAg
ICAgICBSZWZQdHI8RnVuY3Rpb25QYXJhbWV0ZXJzPiBtX3BhcmFtZXRlcnM7CkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgJKHJldmlzaW9uIDE3NjgyMSkKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgJKHdvcmtpbmcgY29weSkKQEAgLTQwMiw3
ICs0MDIsNyBAQCBwdWJsaWM6CiAgICAgflBhcnNlcigpOwogCiAgICAgdGVtcGxhdGUgPGNsYXNz
IFBhcnNlZE5vZGU+Ci0gICAgUGFzc1JlZlB0cjxQYXJzZWROb2RlPiBwYXJzZShQYXJzZXJFcnJv
ciYsIGJvb2wgbmVlZFJlcGFyc2luZ0FkanVzdG1lbnQpOworICAgIHN0ZDo6dW5pcXVlX3B0cjxQ
YXJzZWROb2RlPiBwYXJzZShQYXJzZXJFcnJvciYsIGJvb2wgbmVlZFJlcGFyc2luZ0FkanVzdG1l
bnQpOwogCiAgICAgSlNUZXh0UG9zaXRpb24gcG9zaXRpb25CZWZvcmVMYXN0TmV3bGluZSgpIGNv
bnN0IHsgcmV0dXJuIG1fbGV4ZXItPnBvc2l0aW9uQmVmb3JlTGFzdE5ld2xpbmUoKTsgfQogICAg
IFZlY3RvcjxSZWZQdHI8U3RyaW5nSW1wbD4+JiYgY2xvc2VkVmFyaWFibGVzKCkgeyByZXR1cm4g
V1RGOjptb3ZlKG1fY2xvc2VkVmFyaWFibGVzKTsgfQpAQCAtODYxLDcgKzg2MSw3IEBAIHByaXZh
dGU6CiAKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8Y2xhc3MgUGFy
c2VkTm9kZT4KLVBhc3NSZWZQdHI8UGFyc2VkTm9kZT4gUGFyc2VyPExleGVyVHlwZT46OnBhcnNl
KFBhcnNlckVycm9yJiBlcnJvciwgYm9vbCBuZWVkUmVwYXJzaW5nQWRqdXN0bWVudCkKK3N0ZDo6
dW5pcXVlX3B0cjxQYXJzZWROb2RlPiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2UoUGFyc2VyRXJy
b3ImIGVycm9yLCBib29sIG5lZWRSZXBhcnNpbmdBZGp1c3RtZW50KQogewogICAgIGludCBlcnJM
aW5lOwogICAgIFN0cmluZyBlcnJNc2c7CkBAIC04OTIsMTQgKzg5MiwxNCBAQCBQYXNzUmVmUHRy
PFBhcnNlZE5vZGU+IFBhcnNlcjxMZXhlclR5cGU+CiAgICAgICAgIG1fc291cmNlRWxlbWVudHMg
PSAwOwogICAgIH0KIAotICAgIFJlZlB0cjxQYXJzZWROb2RlPiByZXN1bHQ7CisgICAgc3RkOjp1
bmlxdWVfcHRyPFBhcnNlZE5vZGU+IHJlc3VsdDsKICAgICBpZiAobV9zb3VyY2VFbGVtZW50cykg
ewogICAgICAgICBKU1Rva2VuTG9jYXRpb24gZW5kTG9jYXRpb247CiAgICAgICAgIGVuZExvY2F0
aW9uLmxpbmUgPSBtX2xleGVyLT5saW5lTnVtYmVyKCk7CiAgICAgICAgIGVuZExvY2F0aW9uLmxp
bmVTdGFydE9mZnNldCA9IG1fbGV4ZXItPmN1cnJlbnRMaW5lU3RhcnRPZmZzZXQoKTsKICAgICAg
ICAgZW5kTG9jYXRpb24uc3RhcnRPZmZzZXQgPSBtX2xleGVyLT5jdXJyZW50T2Zmc2V0KCk7CiAg
ICAgICAgIHVuc2lnbmVkIGVuZENvbHVtbiA9IGVuZExvY2F0aW9uLnN0YXJ0T2Zmc2V0IC0gZW5k
TG9jYXRpb24ubGluZVN0YXJ0T2Zmc2V0OwotICAgICAgICByZXN1bHQgPSBQYXJzZWROb2RlOjpj
cmVhdGUobV9wYXJzZXJBcmVuYSwKKyAgICAgICAgcmVzdWx0ID0gc3RkOjptYWtlX3VuaXF1ZTxQ
YXJzZWROb2RlPihtX3BhcnNlckFyZW5hLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgc3RhcnRMb2NhdGlvbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGVuZExvY2F0aW9uLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnRD
b2x1bW4sCkBAIC05MzYsMTggKzkzNiwxOCBAQCBQYXNzUmVmUHRyPFBhcnNlZE5vZGU+IFBhcnNl
cjxMZXhlclR5cGU+CiAgICAgICAgIH0KICAgICB9CiAKLSAgICByZXR1cm4gcmVzdWx0LnJlbGVh
c2UoKTsKKyAgICByZXR1cm4gcmVzdWx0OwogfQogCiB0ZW1wbGF0ZSA8Y2xhc3MgUGFyc2VkTm9k
ZT4KLVBhc3NSZWZQdHI8UGFyc2VkTm9kZT4gcGFyc2UoVk0qIHZtLCBjb25zdCBTb3VyY2VDb2Rl
JiBzb3VyY2UsIEZ1bmN0aW9uUGFyYW1ldGVycyogcGFyYW1ldGVycywgY29uc3QgSWRlbnRpZmll
ciYgbmFtZSwgSlNQYXJzZXJTdHJpY3RuZXNzIHN0cmljdG5lc3MsIEpTUGFyc2VyTW9kZSBwYXJz
ZXJNb2RlLCBQYXJzZXJFcnJvciYgZXJyb3IsIEpTVGV4dFBvc2l0aW9uKiBwb3NpdGlvbkJlZm9y
ZUxhc3ROZXdsaW5lID0gMCwgYm9vbCBuZWVkUmVwYXJzaW5nQWRqdXN0bWVudCA9IGZhbHNlKQor
c3RkOjp1bmlxdWVfcHRyPFBhcnNlZE5vZGU+IHBhcnNlKFZNKiB2bSwgY29uc3QgU291cmNlQ29k
ZSYgc291cmNlLCBGdW5jdGlvblBhcmFtZXRlcnMqIHBhcmFtZXRlcnMsIGNvbnN0IElkZW50aWZp
ZXImIG5hbWUsIEpTUGFyc2VyU3RyaWN0bmVzcyBzdHJpY3RuZXNzLCBKU1BhcnNlck1vZGUgcGFy
c2VyTW9kZSwgUGFyc2VyRXJyb3ImIGVycm9yLCBKU1RleHRQb3NpdGlvbiogcG9zaXRpb25CZWZv
cmVMYXN0TmV3bGluZSA9IDAsIGJvb2wgbmVlZFJlcGFyc2luZ0FkanVzdG1lbnQgPSBmYWxzZSkK
IHsKICAgICBTYW1wbGluZ1JlZ2lvbiBzYW1wbGluZ1JlZ2lvbigiUGFyc2luZyIpOwogCiAgICAg
QVNTRVJUKCFzb3VyY2UucHJvdmlkZXIoKS0+c291cmNlKCkuaXNOdWxsKCkpOwogICAgIGlmIChz
b3VyY2UucHJvdmlkZXIoKS0+c291cmNlKCkuaXM4Qml0KCkpIHsKICAgICAgICAgUGFyc2VyPExl
eGVyPExDaGFyPj4gcGFyc2VyKHZtLCBzb3VyY2UsIHBhcmFtZXRlcnMsIG5hbWUsIHN0cmljdG5l
c3MsIHBhcnNlck1vZGUpOwotICAgICAgICBSZWZQdHI8UGFyc2VkTm9kZT4gcmVzdWx0ID0gcGFy
c2VyLnBhcnNlPFBhcnNlZE5vZGU+KGVycm9yLCBuZWVkUmVwYXJzaW5nQWRqdXN0bWVudCk7Cisg
ICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxQYXJzZWROb2RlPiByZXN1bHQgPSBwYXJzZXIucGFyc2U8
UGFyc2VkTm9kZT4oZXJyb3IsIG5lZWRSZXBhcnNpbmdBZGp1c3RtZW50KTsKICAgICAgICAgaWYg
KHBvc2l0aW9uQmVmb3JlTGFzdE5ld2xpbmUpCiAgICAgICAgICAgICAqcG9zaXRpb25CZWZvcmVM
YXN0TmV3bGluZSA9IHBhcnNlci5wb3NpdGlvbkJlZm9yZUxhc3ROZXdsaW5lKCk7CiAgICAgICAg
IGlmIChzdHJpY3RuZXNzID09IEpTUGFyc2VCdWlsdGluKSB7CkBAIC05NTYsMTMgKzk1NiwxMyBA
QCBQYXNzUmVmUHRyPFBhcnNlZE5vZGU+IHBhcnNlKFZNKiB2bSwgY29uCiAgICAgICAgICAgICBS
RUxFQVNFX0FTU0VSVChyZXN1bHQpOwogICAgICAgICAgICAgcmVzdWx0LT5zZXRDbG9zZWRWYXJp
YWJsZXMocGFyc2VyLmNsb3NlZFZhcmlhYmxlcygpKTsKICAgICAgICAgfQotICAgICAgICByZXR1
cm4gcmVzdWx0LnJlbGVhc2UoKTsKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9CiAgICAg
UGFyc2VyPExleGVyPFVDaGFyPj4gcGFyc2VyKHZtLCBzb3VyY2UsIHBhcmFtZXRlcnMsIG5hbWUs
IHN0cmljdG5lc3MsIHBhcnNlck1vZGUpOwotICAgIFJlZlB0cjxQYXJzZWROb2RlPiByZXN1bHQg
PSBwYXJzZXIucGFyc2U8UGFyc2VkTm9kZT4oZXJyb3IsIG5lZWRSZXBhcnNpbmdBZGp1c3RtZW50
KTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8UGFyc2VkTm9kZT4gcmVzdWx0ID0gcGFyc2VyLnBhcnNl
PFBhcnNlZE5vZGU+KGVycm9yLCBuZWVkUmVwYXJzaW5nQWRqdXN0bWVudCk7CiAgICAgaWYgKHBv
c2l0aW9uQmVmb3JlTGFzdE5ld2xpbmUpCiAgICAgICAgICpwb3NpdGlvbkJlZm9yZUxhc3ROZXds
aW5lID0gcGFyc2VyLnBvc2l0aW9uQmVmb3JlTGFzdE5ld2xpbmUoKTsKLSAgICByZXR1cm4gcmVz
dWx0LnJlbGVhc2UoKTsKKyAgICByZXR1cm4gcmVzdWx0OwogfQogCiB9IC8vIG5hbWVzcGFjZQpJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJBcmVuYS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJBcmVuYS5jcHAJKHJl
dmlzaW9uIDE3NjgyMSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyQXJl
bmEuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02MywyMSArNjMsNiBAQCBQYXJzZXJBcmVuYTo6flBh
cnNlckFyZW5hKCkKICAgICBkZWFsbG9jYXRlT2JqZWN0cygpOwogfQogCi1ib29sIFBhcnNlckFy
ZW5hOjpjb250YWlucyhQYXJzZXJBcmVuYVJlZkNvdW50ZWQqIG9iamVjdCkgY29uc3QKLXsKLSAg
ICByZXR1cm4gbV9yZWZDb3VudGVkT2JqZWN0cy5maW5kKG9iamVjdCkgIT0gbm90Rm91bmQ7Ci19
Ci0KLVBhcnNlckFyZW5hUmVmQ291bnRlZCogUGFyc2VyQXJlbmE6Omxhc3QoKSBjb25zdAotewot
ICAgIHJldHVybiBtX3JlZkNvdW50ZWRPYmplY3RzLmxhc3QoKS5nZXQoKTsKLX0KLQotdm9pZCBQ
YXJzZXJBcmVuYTo6cmVtb3ZlTGFzdCgpCi17Ci0gICAgbV9yZWZDb3VudGVkT2JqZWN0cy5yZW1v
dmVMYXN0KCk7Ci19Ci0KIHZvaWQgUGFyc2VyQXJlbmE6OnJlc2V0KCkKIHsKICAgICAvLyBTaW5j
ZSB0aGlzIGNvZGUgcGF0aCBpcyB1c2VkIG9ubHkgd2hlbiBwYXJzaW5nIGZhaWxzLCBpdCdzIG5v
dCBib3RoZXJpbmcgdG8gcmV1c2UKQEAgLTkyLDcgKzc3LDYgQEAgdm9pZCBQYXJzZXJBcmVuYTo6
cmVzZXQoKQogICAgICAgICBtX2lkZW50aWZpZXJBcmVuYS0+Y2xlYXIoKTsKICAgICBtX2ZyZWVh
YmxlUG9vbHMuY2xlYXIoKTsKICAgICBtX2RlbGV0YWJsZU9iamVjdHMuY2xlYXIoKTsKLSAgICBt
X3JlZkNvdW50ZWRPYmplY3RzLmNsZWFyKCk7CiB9CiAKIHZvaWQgUGFyc2VyQXJlbmE6OmFsbG9j
YXRlRnJlZWFibGVQb29sKCkKQEAgLTEwNiwxOCArOTAsNCBAQCB2b2lkIFBhcnNlckFyZW5hOjph
bGxvY2F0ZUZyZWVhYmxlUG9vbCgpCiAgICAgQVNTRVJUKGZyZWVhYmxlUG9vbCgpID09IHBvb2wp
OwogfQogCi1ib29sIFBhcnNlckFyZW5hOjppc0VtcHR5KCkgY29uc3QKLXsKLSAgICByZXR1cm4g
IW1fZnJlZWFibGVQb29sRW5kCi0gICAgICAgICYmICghbV9pZGVudGlmaWVyQXJlbmEgfHwgbV9p
ZGVudGlmaWVyQXJlbmEtPmlzRW1wdHkoKSkKLSAgICAgICAgJiYgbV9mcmVlYWJsZVBvb2xzLmlz
RW1wdHkoKQotICAgICAgICAmJiBtX2RlbGV0YWJsZU9iamVjdHMuaXNFbXB0eSgpCi0gICAgICAg
ICYmIG1fcmVmQ291bnRlZE9iamVjdHMuaXNFbXB0eSgpOwotfQotCi12b2lkIFBhcnNlckFyZW5h
OjpkZXJlZldpdGhBcmVuYShQYXNzUmVmUHRyPFBhcnNlckFyZW5hUmVmQ291bnRlZD4gb2JqZWN0
KQotewotICAgIG1fcmVmQ291bnRlZE9iamVjdHMuYXBwZW5kKG9iamVjdCk7Ci19Ci0KIH0KSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyQXJlbmEuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlckFyZW5hLmgJKHJldmlzaW9u
IDE3NjgyMSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyQXJlbmEuaAko
d29ya2luZyBjb3B5KQpAQCAtMzMsNyArMzMsNiBAQAogbmFtZXNwYWNlIEpTQyB7CiAKICAgICBj
bGFzcyBQYXJzZXJBcmVuYURlbGV0YWJsZTsKLSAgICBjbGFzcyBQYXJzZXJBcmVuYVJlZkNvdW50
ZWQ7CiAKICAgICBjbGFzcyBJZGVudGlmaWVyQXJlbmEgewogICAgICAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKQEAgLTQ5LDggKzQ4LDYgQEAgbmFtZXNwYWNlIEpTQyB7CiAKICAgICAgICAg
Y29uc3QgSWRlbnRpZmllciYgbWFrZU51bWVyaWNJZGVudGlmaWVyKFZNKiwgZG91YmxlIG51bWJl
cik7CiAKLSAgICAgICAgYm9vbCBpc0VtcHR5KCkgY29uc3QgeyByZXR1cm4gbV9pZGVudGlmaWVy
cy5pc0VtcHR5KCk7IH0KLQogICAgIHB1YmxpYzoKICAgICAgICAgc3RhdGljIGNvbnN0IGludCBN
YXhpbXVtQ2FjaGFibGVDaGFyYWN0ZXIgPSAxMjg7CiAgICAgICAgIHR5cGVkZWYgU2VnbWVudGVk
VmVjdG9yPElkZW50aWZpZXIsIDY0PiBJZGVudGlmaWVyVmVjdG9yOwpAQCAtMTMxLDcgKzEyOCw2
IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAgICAgbV9pZGVudGlmaWVyQXJlbmEuc3dhcChv
dGhlckFyZW5hLm1faWRlbnRpZmllckFyZW5hKTsKICAgICAgICAgICAgIG1fZnJlZWFibGVQb29s
cy5zd2FwKG90aGVyQXJlbmEubV9mcmVlYWJsZVBvb2xzKTsKICAgICAgICAgICAgIG1fZGVsZXRh
YmxlT2JqZWN0cy5zd2FwKG90aGVyQXJlbmEubV9kZWxldGFibGVPYmplY3RzKTsKLSAgICAgICAg
ICAgIG1fcmVmQ291bnRlZE9iamVjdHMuc3dhcChvdGhlckFyZW5hLm1fcmVmQ291bnRlZE9iamVj
dHMpOwogICAgICAgICB9CiAKICAgICAgICAgdm9pZCogYWxsb2NhdGVGcmVlYWJsZShzaXplX3Qg
c2l6ZSkKQEAgLTE1NCwxMiArMTUwLDYgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgICAgICBy
ZXR1cm4gZGVsZXRhYmxlOwogICAgICAgICB9CiAKLSAgICAgICAgdm9pZCBkZXJlZldpdGhBcmVu
YShQYXNzUmVmUHRyPFBhcnNlckFyZW5hUmVmQ291bnRlZD4pOwotICAgICAgICBib29sIGNvbnRh
aW5zKFBhcnNlckFyZW5hUmVmQ291bnRlZCopIGNvbnN0OwotICAgICAgICBQYXJzZXJBcmVuYVJl
ZkNvdW50ZWQqIGxhc3QoKSBjb25zdDsKLSAgICAgICAgdm9pZCByZW1vdmVMYXN0KCk7Ci0KLSAg
ICAgICAgYm9vbCBpc0VtcHR5KCkgY29uc3Q7CiAgICAgICAgIEpTX0VYUE9SVF9QUklWQVRFIHZv
aWQgcmVzZXQoKTsKIAogICAgICAgICBJZGVudGlmaWVyQXJlbmEmIGlkZW50aWZpZXJBcmVuYSgp
CkBAIC0xODcsNyArMTc3LDYgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIE93blB0cjxJZGVu
dGlmaWVyQXJlbmE+IG1faWRlbnRpZmllckFyZW5hOwogICAgICAgICBWZWN0b3I8dm9pZCo+IG1f
ZnJlZWFibGVQb29sczsKICAgICAgICAgVmVjdG9yPFBhcnNlckFyZW5hRGVsZXRhYmxlKj4gbV9k
ZWxldGFibGVPYmplY3RzOwotICAgICAgICBWZWN0b3I8UmVmUHRyPFBhcnNlckFyZW5hUmVmQ291
bnRlZD4+IG1fcmVmQ291bnRlZE9iamVjdHM7CiAgICAgfTsKIAogfQpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL3J1bnRpbWUvQ29kZUNhY2hlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9Db2RlQ2FjaGUuY3BwCShyZXZpc2lvbiAxNzY4MjEpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9Db2RlQ2FjaGUuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC05Miw3ICs5Miw3IEBAIFVubGlua2VkQ29kZUJsb2NrVHlwZSogQ29kZUNhY2hlOjpn
ZXRHbG8KICAgICB9CiAKICAgICB0eXBlZGVmIHR5cGVuYW1lIENhY2hlVHlwZXM8VW5saW5rZWRD
b2RlQmxvY2tUeXBlPjo6Um9vdE5vZGUgUm9vdE5vZGU7Ci0gICAgUmVmUHRyPFJvb3ROb2RlPiBy
b290Tm9kZSA9IHBhcnNlPFJvb3ROb2RlPigmdm0sIHNvdXJjZSwgMCwgSWRlbnRpZmllcigpLCBz
dHJpY3RuZXNzLCBKU1BhcnNlUHJvZ3JhbUNvZGUsIGVycm9yKTsKKyAgICBzdGQ6OnVuaXF1ZV9w
dHI8Um9vdE5vZGU+IHJvb3ROb2RlID0gcGFyc2U8Um9vdE5vZGU+KCZ2bSwgc291cmNlLCAwLCBJ
ZGVudGlmaWVyKCksIHN0cmljdG5lc3MsIEpTUGFyc2VQcm9ncmFtQ29kZSwgZXJyb3IpOwogICAg
IGlmICghcm9vdE5vZGUpIHsKICAgICAgICAgbV9zb3VyY2VDb2RlLnJlbW92ZShhZGRSZXN1bHQu
aXRlcmF0b3IpOwogICAgICAgICByZXR1cm4gMDsKQEAgLTEwOSw3ICsxMDksNiBAQCBVbmxpbmtl
ZENvZGVCbG9ja1R5cGUqIENvZGVDYWNoZTo6Z2V0R2xvCiAKICAgICBhdXRvIGdlbmVyYXRvciA9
IHN0ZDo6bWFrZV91bmlxdWU8Qnl0ZWNvZGVHZW5lcmF0b3I+KHZtLCByb290Tm9kZS5nZXQoKSwg
dW5saW5rZWRDb2RlQmxvY2ssIGRlYnVnZ2VyTW9kZSwgcHJvZmlsZXJNb2RlKTsKICAgICBlcnJv
ciA9IGdlbmVyYXRvci0+Z2VuZXJhdGUoKTsKLSAgICByb290Tm9kZS0+ZGVzdHJveURhdGEoKTsK
ICAgICBpZiAoZXJyb3IubV90eXBlICE9IFBhcnNlckVycm9yOjpFcnJvck5vbmUpIHsKICAgICAg
ICAgbV9zb3VyY2VDb2RlLnJlbW92ZShhZGRSZXN1bHQuaXRlcmF0b3IpOwogICAgICAgICByZXR1
cm4gMDsKQEAgLTE0Miw3ICsxNDEsNyBAQCBVbmxpbmtlZEZ1bmN0aW9uRXhlY3V0YWJsZSogQ29k
ZUNhY2hlOjpnCiAgICAgICAgIHJldHVybiBqc0Nhc3Q8VW5saW5rZWRGdW5jdGlvbkV4ZWN1dGFi
bGUqPihhZGRSZXN1bHQuaXRlcmF0b3ItPnZhbHVlLmNlbGwuZ2V0KCkpOwogCiAgICAgSlNUZXh0
UG9zaXRpb24gcG9zaXRpb25CZWZvcmVMYXN0TmV3bGluZTsKLSAgICBSZWZQdHI8UHJvZ3JhbU5v
ZGU+IHByb2dyYW0gPSBwYXJzZTxQcm9ncmFtTm9kZT4oJnZtLCBzb3VyY2UsIDAsIElkZW50aWZp
ZXIoKSwgSlNQYXJzZU5vcm1hbCwgSlNQYXJzZVByb2dyYW1Db2RlLCBlcnJvciwgJnBvc2l0aW9u
QmVmb3JlTGFzdE5ld2xpbmUpOworICAgIHN0ZDo6dW5pcXVlX3B0cjxQcm9ncmFtTm9kZT4gcHJv
Z3JhbSA9IHBhcnNlPFByb2dyYW1Ob2RlPigmdm0sIHNvdXJjZSwgMCwgSWRlbnRpZmllcigpLCBK
U1BhcnNlTm9ybWFsLCBKU1BhcnNlUHJvZ3JhbUNvZGUsIGVycm9yLCAmcG9zaXRpb25CZWZvcmVM
YXN0TmV3bGluZSk7CiAgICAgaWYgKCFwcm9ncmFtKSB7CiAgICAgICAgIFJFTEVBU0VfQVNTRVJU
KGVycm9yLm1fdHlwZSAhPSBQYXJzZXJFcnJvcjo6RXJyb3JOb25lKTsKICAgICAgICAgbV9zb3Vy
Y2VDb2RlLnJlbW92ZShhZGRSZXN1bHQuaXRlcmF0b3IpOwpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvQ29tcGxldGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL3J1bnRpbWUvQ29tcGxldGlvbi5jcHAJKHJldmlzaW9uIDE3NjgyMSkKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0NvbXBsZXRpb24uY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC01NSw4ICs1NSw3IEBAIGJvb2wgY2hlY2tTeW50YXgoVk0mIHZtLCBjb25zdCBTb3VyY2VD
b2QKIHsKICAgICBKU0xvY2tIb2xkZXIgbG9jayh2bSk7CiAgICAgUkVMRUFTRV9BU1NFUlQodm0u
YXRvbWljU3RyaW5nVGFibGUoKSA9PSB3dGZUaHJlYWREYXRhKCkuYXRvbWljU3RyaW5nVGFibGUo
KSk7Ci0gICAgUmVmUHRyPFByb2dyYW1Ob2RlPiBwcm9ncmFtTm9kZSA9IHBhcnNlPFByb2dyYW1O
b2RlPigmdm0sIHNvdXJjZSwgMCwgSWRlbnRpZmllcigpLCBKU1BhcnNlTm9ybWFsLCBKU1BhcnNl
UHJvZ3JhbUNvZGUsIGVycm9yKTsKLSAgICByZXR1cm4gcHJvZ3JhbU5vZGU7CisgICAgcmV0dXJu
ICEhcGFyc2U8UHJvZ3JhbU5vZGU+KCZ2bSwgc291cmNlLCAwLCBJZGVudGlmaWVyKCksIEpTUGFy
c2VOb3JtYWwsIEpTUGFyc2VQcm9ncmFtQ29kZSwgZXJyb3IpOwogfQogCiBKU1ZhbHVlIGV2YWx1
YXRlKEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgU291cmNlQ29kZSYgc291cmNlLCBKU1ZhbHVlIHRo
aXNWYWx1ZSwgSlNWYWx1ZSogcmV0dXJuZWRFeGNlcHRpb24pCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9FeGVjdXRhYmxlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9FeGVjdXRhYmxlLmNwcAkocmV2aXNpb24gMTc2ODIyKQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXhlY3V0YWJsZS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTQ2MSw3ICs0NjEsNyBAQCBKU09iamVjdCogUHJvZ3JhbUV4ZWN1dGFibGU6OmNoZWNr
U3ludGF4CiAgICAgUGFyc2VyRXJyb3IgZXJyb3I7CiAgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7
CiAgICAgSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QgPSBleGVjLT5sZXhpY2Fs
R2xvYmFsT2JqZWN0KCk7Ci0gICAgUmVmUHRyPFByb2dyYW1Ob2RlPiBwcm9ncmFtTm9kZSA9IHBh
cnNlPFByb2dyYW1Ob2RlPih2bSwgbV9zb3VyY2UsIDAsIElkZW50aWZpZXIoKSwgSlNQYXJzZU5v
cm1hbCwgSlNQYXJzZVByb2dyYW1Db2RlLCBlcnJvcik7CisgICAgc3RkOjp1bmlxdWVfcHRyPFBy
b2dyYW1Ob2RlPiBwcm9ncmFtTm9kZSA9IHBhcnNlPFByb2dyYW1Ob2RlPih2bSwgbV9zb3VyY2Us
IDAsIElkZW50aWZpZXIoKSwgSlNQYXJzZU5vcm1hbCwgSlNQYXJzZVByb2dyYW1Db2RlLCBlcnJv
cik7CiAgICAgaWYgKHByb2dyYW1Ob2RlKQogICAgICAgICByZXR1cm4gMDsKICAgICBBU1NFUlQo
ZXJyb3IubV90eXBlICE9IFBhcnNlckVycm9yOjpFcnJvck5vbmUpOwo=
</data>
<flag name="review"
          id="267468"
          type_id="1"
          status="+"
          setter="oliver"
    />
          </attachment>
      

    </bug>

</bugzilla>