<?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>124445</bug_id>
          
          <creation_ts>2013-11-15 17:02:53 -0800</creation_ts>
          <short_desc>No way for policy client to determine if a the response’s MIME type can be shown</short_desc>
          <delta_ts>2013-11-17 12:28:35 -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>WebKit2</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>mitz</reporter>
          <assigned_to>mitz</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>eflews.bot</cc>
    
    <cc>gyuyoung.kim</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>951285</commentid>
    <comment_count>0</comment_count>
    <who name="">mitz</who>
    <bug_when>2013-11-15 17:02:53 -0800</bug_when>
    <thetext>[Cocoa] Add -[WKBrowsingContextController canShowMIMEType:]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>951288</commentid>
    <comment_count>1</comment_count>
      <attachid>217105</attachid>
    <who name="">mitz</who>
    <bug_when>2013-11-15 17:04:25 -0800</bug_when>
    <thetext>Created attachment 217105
Add -[WKBrowsingContextController canShowMIMEType:]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>951294</commentid>
    <comment_count>2</comment_count>
      <attachid>217105</attachid>
    <who name="">mitz</who>
    <bug_when>2013-11-15 17:09:43 -0800</bug_when>
    <thetext>Comment on attachment 217105
Add -[WKBrowsingContextController canShowMIMEType:]

Going to do something different to address the need for this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>951379</commentid>
    <comment_count>3</comment_count>
      <attachid>217132</attachid>
    <who name="">mitz</who>
    <bug_when>2013-11-16 12:54:05 -0800</bug_when>
    <thetext>Created attachment 217132
Add canShowMIMEType to DecidePolicyForResponseSync and expose it via the UI process API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>951380</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-11-16 12:56:30 -0800</bug_when>
    <thetext>Attachment 217132 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebKit2/ChangeLog&apos;, u&apos;Source/WebKit2/Platform/CoreIPC/HandleMessage.h&apos;, u&apos;Source/WebKit2/UIProcess/API/C/WKPage.h&apos;, u&apos;Source/WebKit2/UIProcess/API/mac/WKBrowsingContextController.mm&apos;, u&apos;Source/WebKit2/UIProcess/API/mac/WKBrowsingContextPolicyDelegate.h&apos;, u&apos;Source/WebKit2/UIProcess/WebInspectorProxy.cpp&apos;, u&apos;Source/WebKit2/UIProcess/WebPageProxy.cpp&apos;, u&apos;Source/WebKit2/UIProcess/WebPageProxy.h&apos;, u&apos;Source/WebKit2/UIProcess/WebPageProxy.messages.in&apos;, u&apos;Source/WebKit2/UIProcess/WebPolicyClient.cpp&apos;, u&apos;Source/WebKit2/UIProcess/WebPolicyClient.h&apos;, u&apos;Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp&apos;, u&apos;Tools/ChangeLog&apos;, u&apos;Tools/MiniBrowser/mac/WK2BrowserWindowController.m&apos;, u&apos;Tools/TestWebKitAPI/Tests/WebKit2/PageLoadBasic.cpp&apos;, u&apos;Tools/WebKitTestRunner/TestController.cpp&apos;, u&apos;Tools/WebKitTestRunner/TestController.h&apos;]&quot; exit_code: 1
Source/WebKit2/UIProcess/API/mac/WKBrowsingContextPolicyDelegate.h:39:  One space before end of line comments  [whitespace/comments] [5]
Total errors found: 1 in 17 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>951381</commentid>
    <comment_count>5</comment_count>
      <attachid>217132</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-11-16 13:05:17 -0800</bug_when>
    <thetext>Comment on attachment 217132
Add canShowMIMEType to DecidePolicyForResponseSync and expose it via the UI process API

Attachment 217132 did not pass efl-wk2-ews (efl-wk2):
Output: http://webkit-queues.appspot.com/results/25278002</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>951432</commentid>
    <comment_count>6</comment_count>
    <who name="">mitz</who>
    <bug_when>2013-11-17 12:28:35 -0800</bug_when>
    <thetext>Fixed in &lt;http://trac.webkit.org/r159387&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>217105</attachid>
            <date>2013-11-15 17:04:25 -0800</date>
            <delta_ts>2013-11-15 17:10:04 -0800</delta_ts>
            <desc>Add -[WKBrowsingContextController canShowMIMEType:]</desc>
            <filename>bug-124445-20131115170424.patch</filename>
            <type>text/plain</type>
            <size>1882</size>
            <attacher>mitz</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1OTM3MSkKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDEzLTExLTE1ICBEYW4gQmVy
bnN0ZWluICA8bWl0ekBhcHBsZS5jb20+CisKKyAgICAgICAgW0NvY29hXSBBZGQgLVtXS0Jyb3dz
aW5nQ29udGV4dENvbnRyb2xsZXIgY2FuU2hvd01JTUVUeXBlOl0KKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNDQ0NQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9tYWMvV0tCcm93
c2luZ0NvbnRleHRDb250cm9sbGVyLmg6IERlY2xhcmVkIC1jYW5TaG93TUlNRVR5cGU6LgorICAg
ICAgICAqIFVJUHJvY2Vzcy9BUEkvbWFjL1dLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxlci5tbToK
KyAgICAgICAgKC1bV0tCcm93c2luZ0NvbnRleHRDb250cm9sbGVyIGNhblNob3dNSU1FVHlwZTpd
KTogQWRkZWQuIENhbGxzCisgICAgICAgIFdlYlBhZ2VQcm94eTo6Y2FuU2hvd01JTUVUeXBlLgor
CiAyMDEzLTExLTE1ICBSeXVhbiBDaG9pICA8cnl1YW4uY2hvaUBzYW1zdW5nLmNvbT4KIAogICAg
ICAgICBVbnJldmlld2VkIEVGTCBidWlsZCBmaXggYWZ0ZXIgcjE1OTM1OC4KSW5kZXg6IFNvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1dLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxlci5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1dLQnJvd3Np
bmdDb250ZXh0Q29udHJvbGxlci5oCShyZXZpc2lvbiAxNTkzNTEpCisrKyBTb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL21hYy9XS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXIuaAkod29ya2lu
ZyBjb3B5KQpAQCAtODQsNiArODQsNyBAQCBAaW50ZXJmYWNlIFdLQnJvd3NpbmdDb250ZXh0Q29u
dHJvbGxlciA6CiAvKiBSZWxvYWQgdGhlIGN1cnJlbnRseSBhY3RpdmUgVVJMLCBieXBhc3Npbmcg
Y2FjaGVzLiAqLwogLSAodm9pZClyZWxvYWRGcm9tT3JpZ2luOwogCistIChCT09MKWNhblNob3dN
SU1FVHlwZTooTlNTdHJpbmcgKilNSU1FVHlwZTsKIAogI3ByYWdtYSBtYXJrIEJhY2svRm9yd2Fy
ZAogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9XS0Jyb3dzaW5nQ29u
dGV4dENvbnRyb2xsZXIubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9tYWMvV0tCcm93c2luZ0NvbnRleHRDb250cm9sbGVyLm1tCShyZXZpc2lvbiAxNTkzNTgp
CisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9XS0Jyb3dzaW5nQ29udGV4dENv
bnRyb2xsZXIubW0JKHdvcmtpbmcgY29weSkKQEAgLTI3Nyw2ICsyNzcsMTEgQEAgLSAodm9pZCly
ZWxvYWRGcm9tT3JpZ2luCiAgICAgV0tQYWdlUmVsb2FkRnJvbU9yaWdpbihzZWxmLl9wYWdlUmVm
KTsKIH0KIAorLSAoQk9PTCljYW5TaG93TUlNRVR5cGU6KE5TU3RyaW5nICopTUlNRVR5cGUKK3sK
KyAgICByZXR1cm4gdG9JbXBsKHNlbGYuX3BhZ2VSZWYpLT5jYW5TaG93TUlNRVR5cGUoTUlNRVR5
cGUpOworfQorCiAjcHJhZ21hIG1hcmsgQmFjay9Gb3J3YXJkCiAKIC0gKHZvaWQpZ29Gb3J3YXJk
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>217132</attachid>
            <date>2013-11-16 12:54:05 -0800</date>
            <delta_ts>2013-11-17 12:21:22 -0800</delta_ts>
            <desc>Add canShowMIMEType to DecidePolicyForResponseSync and expose it via the UI process API</desc>
            <filename>bug-124445-20131116125414.patch</filename>
            <type>text/plain</type>
            <size>27680</size>
            <attacher>mitz</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1OTM4MCkKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQzIEBACisyMDEzLTExLTE2ICBEYW4gQmVy
bnN0ZWluICA8bWl0ekBhcHBsZS5jb20+CisKKyAgICAgICAgTm8gd2F5IGZvciBwb2xpY3kgY2xp
ZW50IHRvIGRldGVybWluZSBpZiBhIHRoZSByZXNwb25zZeKAmXMgTUlNRSB0eXBlIGNhbiBiZSBz
aG93bgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI0
NDQ1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBQ
bGF0Zm9ybS9Db3JlSVBDL0hhbmRsZU1lc3NhZ2UuaDoKKyAgICAgICAgKENvcmVJUEM6OmNhbGxN
ZW1iZXJGdW5jdGlvbik6IEFkZGVkIGEgZmlmdGggbWVzc2FnZSBwYXJhbWV0ZXIgdG8gdGhpcyB0
ZW1wbGF0ZS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuaDogQWRkZWQgYSBj
YW5TaG93TUlNRVR5cGUgcGFyYW1ldGVyIHRvCisgICAgICAgIFdLUGFnZURlY2lkZVBvbGljeUZv
clJlc3BvbnNlQ2FsbGJhY2sgYW5kIGRlcHJlY2F0ZWQgdGhlIG9sZCB2ZXJzaW9uLgorCisgICAg
ICAgICogVUlQcm9jZXNzL0FQSS9tYWMvV0tCcm93c2luZ0NvbnRleHRDb250cm9sbGVyLm1tOgor
ICAgICAgICAoc2V0VXBQYWdlUG9saWN5Q2xpZW50KTogSW5jbHVkZSB3aGV0aGVyIHRoZSByZXNw
b25zZSBNSU1FIHR5cGUgY2FuIGJlIHNob3duIHVuZGVyIGEgbmV3IGtleQorICAgICAgICBpbiB0
aGUgYWN0aW9uIGluZm9ybWF0aW9uIGRpY3Rpb25hcnkuCisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9tYWMvV0tCcm93c2luZ0NvbnRleHRQb2xpY3lEZWxlZ2F0ZS5oOiBEZWNsYXJlZAorICAgICAg
ICBXS0FjdGlvbkNhblNob3dNSU1FVHlwZUtleS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJJ
bnNwZWN0b3JQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkluc3BlY3RvclByb3h5Ojpj
cmVhdGVJbnNwZWN0b3JQYWdlKTogVXBkYXRlZCBmb3IgY2hhbmdlcyBpbiB0aGUgcG9saWN5IGNs
aWVudC4KKworICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAo
V2ViS2l0OjpXZWJQYWdlUHJveHk6OmRlY2lkZVBvbGljeUZvclJlc3BvbnNlKTogQWRkZWQgY2Fu
U2hvd01JTUVUeXBlIHBhcmFtZXRlciwgd2hpY2ggaXMKKyAgICAgICAgcGFzc2VkIHRvIHRoZSBw
b2xpY3kgY2xpZW50LgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmRlY2lkZVBvbGlj
eUZvclJlc3BvbnNlU3luYyk6IEFkZGVkIGNhblNob3dNSU1FVHlwZSBwYXJhbWV0ZXIsIHdoaWNo
CisgICAgICAgIGlzIHBhc3NlZCB0byB0aGUgYWJvdmUgZnVuY3Rpb24uCisgICAgICAgICogVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHku
bWVzc2FnZXMuaW46IEFkZGVkIGNhblNob3dNSU1FVHlwZSBwYXJhbXRlciB0bworICAgICAgICBE
ZWNpZGVQb2xpY3lGb3JSZXNwb25zZVN5bmMuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUG9s
aWN5Q2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUG9saWN5Q2xpZW50OjpkZWNpZGVQ
b2xpY3lGb3JSZXNwb25zZSk6IEFkZGVkIGNhblNob3dNSU1FVHlwZSBwYXJhbWV0ZXIsIHdoaWNo
CisgICAgICAgIGlzIHBhc3NlZCB0byB0aGUgY2xpZW50IGNhbGxiYWNrLgorICAgICAgICAqIFVJ
UHJvY2Vzcy9XZWJQb2xpY3lDbGllbnQuaDoKKworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJG
cmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hEZWNpZGVQb2xpY3lGb3JSZXNwb25zZSk6IERldGVy
bWluZSBpZiB0aGUgcmVzcG9uc2UKKyAgICAgICAgTUlNRSB0eXBlIGNhbiBiZSBzaG93biBhbmQg
cGFzcyB0aGlzIGluZm9ybWF0aW9uIGFsb25nIGluIHRoZSBtZXNzYWdlIHRvIHRoZSBVSSBwcm9j
ZXNzLgorCiAyMDEzLTExLTE1ICBSeXVhbiBDaG9pICA8cnl1YW4uY2hvaUBzYW1zdW5nLmNvbT4K
IAogICAgICAgICBVbnJldmlld2VkIEVGTCBidWlsZCBmaXggYWZ0ZXIgcjE1OTM1OC4KQEAgLTQ2
LDcgKzg2LDcgQEAKICAgICAgICAgcG9saWN5IGNsaWVudCB2ZXJzaW9uIHRvIDEuCiAKICAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL21hYy9XS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXIubW06Ci0g
ICAgICAgIChzZXRVcFBhZ2VQb2xpY3lDbGllbnQpOiBJbmNsdWRlIHRoZSBvcmlnaW5hdGluZyBm
cmFtZeKAmXMgVVJMIHVuZGVyIHRoZSBhIG5ldyBrZXkgaW4gdGhlCisgICAgICAgIChzZXRVcFBh
Z2VQb2xpY3lDbGllbnQpOiBJbmNsdWRlIHRoZSBvcmlnaW5hdGluZyBmcmFtZeKAmXMgVVJMIHVu
ZGVyIGEgbmV3IGtleSBpbiB0aGUKICAgICAgICAgYWN0aW9uIGluZm9ybWF0aW9uIGRpY3Rpb25h
cnkuCiAgICAgICAgICogVUlQcm9jZXNzL0FQSS9tYWMvV0tCcm93c2luZ0NvbnRleHRQb2xpY3lE
ZWxlZ2F0ZS5oOiBEZWNsYXJlZAogICAgICAgICBXS0FjdGlvbk9yaWdpbmF0aW5nRnJhbWVVUkxL
ZXkuCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0hhbmRsZU1lc3NhZ2Uu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0hhbmRsZU1l
c3NhZ2UuaAkocmV2aXNpb24gMTU5MzgwKQorKysgU291cmNlL1dlYktpdDIvUGxhdGZvcm0vQ29y
ZUlQQy9IYW5kbGVNZXNzYWdlLmgJKHdvcmtpbmcgY29weSkKQEAgLTM0NiwxMCArMzQ2LDEwIEBA
IHZvaWQgY2FsbE1lbWJlckZ1bmN0aW9uKHN0ZDo6dHVwbGU8UDEsIFAKIAogLy8gVmFyaWFkaWMg
ZGlzcGF0Y2ggZnVuY3Rpb25zIHdpdGggbm9uLXZhcmlhZGljIHJlcGx5IGFyZ3VtZW50cy4KIAot
dGVtcGxhdGU8dHlwZW5hbWUgQywgdHlwZW5hbWUgTUYsIHR5cGVuYW1lIFAxLCB0eXBlbmFtZSBQ
MiwgdHlwZW5hbWUgUDMsIHR5cGVuYW1lIFA0LCB0eXBlbmFtZSBSMSwgdHlwZW5hbWUgUjIsIHR5
cGVuYW1lIFIzPgotdm9pZCBjYWxsTWVtYmVyRnVuY3Rpb24oc3RkOjp0dXBsZTxQMSwgUDIsIFAz
LCBQND4mJiBhcmdzLCBNZXNzYWdlRGVjb2RlciYgZGVjb2Rlciwgc3RkOjp0dXBsZTxSMSwgUjIs
IFIzPiYgcmVwbHlBcmdzLCBDKiBvYmplY3QsIE1GIGZ1bmN0aW9uKQordGVtcGxhdGU8dHlwZW5h
bWUgQywgdHlwZW5hbWUgTUYsIHR5cGVuYW1lIFAxLCB0eXBlbmFtZSBQMiwgdHlwZW5hbWUgUDMs
IHR5cGVuYW1lIFA0LCB0eXBlbmFtZSBQNSwgdHlwZW5hbWUgUjEsIHR5cGVuYW1lIFIyLCB0eXBl
bmFtZSBSMz4KK3ZvaWQgY2FsbE1lbWJlckZ1bmN0aW9uKHN0ZDo6dHVwbGU8UDEsIFAyLCBQMywg
UDQsIFA1PiYmIGFyZ3MsIE1lc3NhZ2VEZWNvZGVyJiBkZWNvZGVyLCBzdGQ6OnR1cGxlPFIxLCBS
MiwgUjM+JiByZXBseUFyZ3MsIEMqIG9iamVjdCwgTUYgZnVuY3Rpb24pCiB7Ci0gICAgKG9iamVj
dC0+KmZ1bmN0aW9uKShzdGQ6OmdldDwwPihhcmdzKSwgc3RkOjpnZXQ8MT4oYXJncyksIHN0ZDo6
Z2V0PDI+KGFyZ3MpLCBzdGQ6OmdldDwzPihhcmdzKSwgZGVjb2Rlciwgc3RkOjpnZXQ8MD4ocmVw
bHlBcmdzKSwgc3RkOjpnZXQ8MT4ocmVwbHlBcmdzKSwgc3RkOjpnZXQ8Mj4ocmVwbHlBcmdzKSk7
CisgICAgKG9iamVjdC0+KmZ1bmN0aW9uKShzdGQ6OmdldDwwPihhcmdzKSwgc3RkOjpnZXQ8MT4o
YXJncyksIHN0ZDo6Z2V0PDI+KGFyZ3MpLCBzdGQ6OmdldDwzPihhcmdzKSwgc3RkOjpnZXQ8ND4o
YXJncyksIGRlY29kZXIsIHN0ZDo6Z2V0PDA+KHJlcGx5QXJncyksIHN0ZDo6Z2V0PDE+KHJlcGx5
QXJncyksIHN0ZDo6Z2V0PDI+KHJlcGx5QXJncykpOwogfQogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBD
LCB0eXBlbmFtZSBNRiwgdHlwZW5hbWUgUDEsIHR5cGVuYW1lIFAyLCB0eXBlbmFtZSBQMywgdHlw
ZW5hbWUgUDQsIHR5cGVuYW1lIFA1LCB0eXBlbmFtZSBQNiwgdHlwZW5hbWUgUjEsIHR5cGVuYW1l
IFIyPgpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkluc3BlY3RvclByb3h5LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViSW5zcGVjdG9yUHJv
eHkuY3BwCShyZXZpc2lvbiAxNTkzODApCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
SW5zcGVjdG9yUHJveHkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NDMsOSArNDQzLDEwIEBAIHZv
aWQgV2ViSW5zcGVjdG9yUHJveHk6OmNyZWF0ZUluc3BlY3RvclAKICAgICAgICAgdGhpcywgLyog
Y2xpZW50SW5mbyAqLwogICAgICAgICAwLCAvKiBkZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0
aW9uX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjAgKi8KICAgICAgICAgMCwgLyogZGVjaWRlUG9saWN5
Rm9yTmV3V2luZG93QWN0aW9uICovCi0gICAgICAgIDAsIC8qIGRlY2lkZVBvbGljeUZvclJlc3Bv
bnNlICovCisgICAgICAgIDAsIC8qIGRlY2lkZVBvbGljeUZvclJlc3BvbnNlX2RlcHJlY2F0ZWRG
b3JVc2VXaXRoVjAgKi8KICAgICAgICAgMCwgLyogdW5hYmxlVG9JbXBsZW1lbnRQb2xpY3kgKi8K
LSAgICAgICAgZGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbgorICAgICAgICBkZWNpZGVQ
b2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uLAorICAgICAgICAwLCAvKiBkZWNpZGVQb2xpY3lGb3JS
ZXNwb25zZSAqLwogICAgIH07CiAKICAgICBpbnNwZWN0b3JQYWdlLT5pbml0aWFsaXplUG9saWN5
Q2xpZW50KCZwb2xpY3lDbGllbnQpOwpJbmRleDogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5jcHAJKHJldmlzaW9uIDE1OTM4MCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNDYyLDcgKzI0NjIsNyBA
QCB2b2lkIFdlYlBhZ2VQcm94eTo6ZGVjaWRlUG9saWN5Rm9yTmV3V2luCiAgICAgICAgIGxpc3Rl
bmVyLT51c2UoKTsKIH0KIAotdm9pZCBXZWJQYWdlUHJveHk6OmRlY2lkZVBvbGljeUZvclJlc3Bv
bnNlKHVpbnQ2NF90IGZyYW1lSUQsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlLCBj
b25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIHVpbnQ2NF90IGxpc3RlbmVySUQsIENvcmVJ
UEM6Ok1lc3NhZ2VEZWNvZGVyJiBkZWNvZGVyKQordm9pZCBXZWJQYWdlUHJveHk6OmRlY2lkZVBv
bGljeUZvclJlc3BvbnNlKHVpbnQ2NF90IGZyYW1lSUQsIGNvbnN0IFJlc291cmNlUmVzcG9uc2Um
IHJlc3BvbnNlLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QsIGJvb2wgY2FuU2hvd01J
TUVUeXBlLCB1aW50NjRfdCBsaXN0ZW5lcklELCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYgZGVj
b2RlcikKIHsKICAgICBSZWZQdHI8QVBJOjpPYmplY3Q+IHVzZXJEYXRhOwogICAgIFdlYkNvbnRl
eHRVc2VyTWVzc2FnZURlY29kZXIgbWVzc2FnZURlY29kZXIodXNlckRhdGEsIG1fcHJvY2Vzcy5n
ZXQoKSk7CkBAIC0yNDc2LDExICsyNDc2LDExIEBAIHZvaWQgV2ViUGFnZVByb3h5OjpkZWNpZGVQ
b2xpY3lGb3JSZXNwb24KIAogICAgIFJlZlB0cjxXZWJGcmFtZVBvbGljeUxpc3RlbmVyUHJveHk+
IGxpc3RlbmVyID0gZnJhbWUtPnNldFVwUG9saWN5TGlzdGVuZXJQcm94eShsaXN0ZW5lcklEKTsK
IAotICAgIGlmICghbV9wb2xpY3lDbGllbnQuZGVjaWRlUG9saWN5Rm9yUmVzcG9uc2UodGhpcywg
ZnJhbWUsIHJlc3BvbnNlLCByZXF1ZXN0LCBsaXN0ZW5lci5nZXQoKSwgdXNlckRhdGEuZ2V0KCkp
KQorICAgIGlmICghbV9wb2xpY3lDbGllbnQuZGVjaWRlUG9saWN5Rm9yUmVzcG9uc2UodGhpcywg
ZnJhbWUsIHJlc3BvbnNlLCByZXF1ZXN0LCBjYW5TaG93TUlNRVR5cGUsIGxpc3RlbmVyLmdldCgp
LCB1c2VyRGF0YS5nZXQoKSkpCiAgICAgICAgIGxpc3RlbmVyLT51c2UoKTsKIH0KIAotdm9pZCBX
ZWJQYWdlUHJveHk6OmRlY2lkZVBvbGljeUZvclJlc3BvbnNlU3luYyh1aW50NjRfdCBmcmFtZUlE
LCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0
JiByZXF1ZXN0LCB1aW50NjRfdCBsaXN0ZW5lcklELCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYg
ZGVjb2RlciwgYm9vbCYgcmVjZWl2ZWRQb2xpY3lBY3Rpb24sIHVpbnQ2NF90JiBwb2xpY3lBY3Rp
b24sIHVpbnQ2NF90JiBkb3dubG9hZElEKQordm9pZCBXZWJQYWdlUHJveHk6OmRlY2lkZVBvbGlj
eUZvclJlc3BvbnNlU3luYyh1aW50NjRfdCBmcmFtZUlELCBjb25zdCBSZXNvdXJjZVJlc3BvbnNl
JiByZXNwb25zZSwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBib29sIGNhblNob3dN
SU1FVHlwZSwgdWludDY0X3QgbGlzdGVuZXJJRCwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImIGRl
Y29kZXIsIGJvb2wmIHJlY2VpdmVkUG9saWN5QWN0aW9uLCB1aW50NjRfdCYgcG9saWN5QWN0aW9u
LCB1aW50NjRfdCYgZG93bmxvYWRJRCkKIHsKICAgICBBU1NFUlQoIW1faW5EZWNpZGVQb2xpY3lG
b3JSZXNwb25zZVN5bmMpOwogCkBAIC0yNDg4LDcgKzI0ODgsNyBAQCB2b2lkIFdlYlBhZ2VQcm94
eTo6ZGVjaWRlUG9saWN5Rm9yUmVzcG9uCiAgICAgbV9kZWNpZGVQb2xpY3lGb3JSZXNwb25zZVJl
cXVlc3QgPSAmcmVxdWVzdDsKICAgICBtX3N5bmNNaW1lVHlwZVBvbGljeUFjdGlvbklzVmFsaWQg
PSBmYWxzZTsKIAotICAgIGRlY2lkZVBvbGljeUZvclJlc3BvbnNlKGZyYW1lSUQsIHJlc3BvbnNl
LCByZXF1ZXN0LCBsaXN0ZW5lcklELCBkZWNvZGVyKTsKKyAgICBkZWNpZGVQb2xpY3lGb3JSZXNw
b25zZShmcmFtZUlELCByZXNwb25zZSwgcmVxdWVzdCwgY2FuU2hvd01JTUVUeXBlLCBsaXN0ZW5l
cklELCBkZWNvZGVyKTsKIAogICAgIG1faW5EZWNpZGVQb2xpY3lGb3JSZXNwb25zZVN5bmMgPSBm
YWxzZTsKICAgICBtX2RlY2lkZVBvbGljeUZvclJlc3BvbnNlUmVxdWVzdCA9IDA7CkluZGV4OiBT
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCShyZXZpc2lvbiAxNTkzODApCisr
KyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgJKHdvcmtpbmcgY29weSkK
QEAgLTc5MSw4ICs3OTEsOCBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBkZWNpZGVQb2xpY3lGb3JO
YXZpZ2F0aW9uQWN0aW9uKHVpbnQ2NF90IGZyYW1lSUQsIHVpbnQzMl90IG5hdmlnYXRpb25UeXBl
LCB1aW50MzJfdCBtb2RpZmllcnMsIGludDMyX3QgbW91c2VCdXR0b24sIHVpbnQ2NF90IG9yaWdp
bmF0aW5nRnJhbWVJRCwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiwgdWludDY0X3Qg
bGlzdGVuZXJJRCwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImLCBib29sJiByZWNlaXZlZFBvbGlj
eUFjdGlvbiwgdWludDY0X3QmIHBvbGljeUFjdGlvbiwgdWludDY0X3QmIGRvd25sb2FkSUQpOwog
ICAgIHZvaWQgZGVjaWRlUG9saWN5Rm9yTmV3V2luZG93QWN0aW9uKHVpbnQ2NF90IGZyYW1lSUQs
IHVpbnQzMl90IG5hdmlnYXRpb25UeXBlLCB1aW50MzJfdCBtb2RpZmllcnMsIGludDMyX3QgbW91
c2VCdXR0b24sIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFN0cmluZyYg
ZnJhbWVOYW1lLCB1aW50NjRfdCBsaXN0ZW5lcklELCBDb3JlSVBDOjpNZXNzYWdlRGVjb2RlciYp
OwotICAgIHZvaWQgZGVjaWRlUG9saWN5Rm9yUmVzcG9uc2UodWludDY0X3QgZnJhbWVJRCwgY29u
c3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVx
dWVzdCYsIHVpbnQ2NF90IGxpc3RlbmVySUQsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7Ci0g
ICAgdm9pZCBkZWNpZGVQb2xpY3lGb3JSZXNwb25zZVN5bmModWludDY0X3QgZnJhbWVJRCwgY29u
c3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVx
dWVzdCYsIHVpbnQ2NF90IGxpc3RlbmVySUQsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJiwgYm9v
bCYgcmVjZWl2ZWRQb2xpY3lBY3Rpb24sIHVpbnQ2NF90JiBwb2xpY3lBY3Rpb24sIHVpbnQ2NF90
JiBkb3dubG9hZElEKTsKKyAgICB2b2lkIGRlY2lkZVBvbGljeUZvclJlc3BvbnNlKHVpbnQ2NF90
IGZyYW1lSUQsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmLCBjb25zdCBXZWJDb3Jl
OjpSZXNvdXJjZVJlcXVlc3QmLCBib29sIGNhblNob3dNSU1FVHlwZSwgdWludDY0X3QgbGlzdGVu
ZXJJRCwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsKKyAgICB2b2lkIGRlY2lkZVBvbGljeUZv
clJlc3BvbnNlU3luYyh1aW50NjRfdCBmcmFtZUlELCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJl
c3BvbnNlJiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiwgYm9vbCBjYW5TaG93TUlN
RVR5cGUsIHVpbnQ2NF90IGxpc3RlbmVySUQsIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJiwgYm9v
bCYgcmVjZWl2ZWRQb2xpY3lBY3Rpb24sIHVpbnQ2NF90JiBwb2xpY3lBY3Rpb24sIHVpbnQ2NF90
JiBkb3dubG9hZElEKTsKICAgICB2b2lkIHVuYWJsZVRvSW1wbGVtZW50UG9saWN5KHVpbnQ2NF90
IGZyYW1lSUQsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlRXJyb3ImLCBDb3JlSVBDOjpNZXNzYWdl
RGVjb2RlciYpOwogCiAgICAgdm9pZCB3aWxsU3VibWl0Rm9ybSh1aW50NjRfdCBmcmFtZUlELCB1
aW50NjRfdCBzb3VyY2VGcmFtZUlELCBjb25zdCBWZWN0b3I8c3RkOjpwYWlyPFN0cmluZywgU3Ry
aW5nPj4mIHRleHRGaWVsZFZhbHVlcywgdWludDY0X3QgbGlzdGVuZXJJRCwgQ29yZUlQQzo6TWVz
c2FnZURlY29kZXImKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkubWVzc2FnZXMuaW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5tZXNzYWdlcy5pbgkocmV2aXNpb24gMTU5MzgwKQorKysgU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgkod29ya2luZyBjb3B5KQpAQCAt
OTYsNyArOTYsNyBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlUHJveHkgewogI2VuZGlmCiAKICAgICAj
IFBvbGljeSBtZXNzYWdlcwotICAgIERlY2lkZVBvbGljeUZvclJlc3BvbnNlU3luYyh1aW50NjRf
dCBmcmFtZUlELCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlIHJlc3BvbnNlLCBXZWJDb3JlOjpS
ZXNvdXJjZVJlcXVlc3QgcmVxdWVzdCwgdWludDY0X3QgbGlzdGVuZXJJRCwgV2ViS2l0OjpJbmpl
Y3RlZEJ1bmRsZVVzZXJNZXNzYWdlRW5jb2RlciB1c2VyRGF0YSkgLT4gKGJvb2wgcmVjZWl2ZWRQ
b2xpY3lBY3Rpb24sIHVpbnQ2NF90IHBvbGljeUFjdGlvbiwgdWludDY0X3QgZG93bmxvYWRJRCkg
VmFyaWFkaWMKKyAgICBEZWNpZGVQb2xpY3lGb3JSZXNwb25zZVN5bmModWludDY0X3QgZnJhbWVJ
RCwgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSByZXNwb25zZSwgV2ViQ29yZTo6UmVzb3VyY2VS
ZXF1ZXN0IHJlcXVlc3QsIGJvb2wgY2FuU2hvd01JTUVUeXBlLCB1aW50NjRfdCBsaXN0ZW5lcklE
LCBXZWJLaXQ6OkluamVjdGVkQnVuZGxlVXNlck1lc3NhZ2VFbmNvZGVyIHVzZXJEYXRhKSAtPiAo
Ym9vbCByZWNlaXZlZFBvbGljeUFjdGlvbiwgdWludDY0X3QgcG9saWN5QWN0aW9uLCB1aW50NjRf
dCBkb3dubG9hZElEKSBWYXJpYWRpYwogICAgIERlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rp
b24odWludDY0X3QgZnJhbWVJRCwgdWludDMyX3QgbmF2aWdhdGlvblR5cGUsIHVpbnQzMl90IG1v
ZGlmaWVycywgaW50MzJfdCBtb3VzZUJ1dHRvbiwgdWludDY0X3Qgb3JpZ2luYXRpbmdGcmFtZUlE
LCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdCwgdWludDY0X3QgbGlzdGVuZXJJRCwg
V2ViS2l0OjpJbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlRW5jb2RlciB1c2VyRGF0YSkgLT4gKGJv
b2wgcmVjZWl2ZWRQb2xpY3lBY3Rpb24sIHVpbnQ2NF90IHBvbGljeUFjdGlvbiwgdWludDY0X3Qg
ZG93bmxvYWRJRCkgVmFyaWFkaWMKICAgICBEZWNpZGVQb2xpY3lGb3JOZXdXaW5kb3dBY3Rpb24o
dWludDY0X3QgZnJhbWVJRCwgdWludDMyX3QgbmF2aWdhdGlvblR5cGUsIHVpbnQzMl90IG1vZGlm
aWVycywgaW50MzJfdCBtb3VzZUJ1dHRvbiwgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0IHJlcXVl
c3QsIFdURjo6U3RyaW5nIGZyYW1lTmFtZSwgdWludDY0X3QgbGlzdGVuZXJJRCwgV2ViS2l0OjpJ
bmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlRW5jb2RlciB1c2VyRGF0YSkgVmFyaWFkaWMKICAgICBV
bmFibGVUb0ltcGxlbWVudFBvbGljeSh1aW50NjRfdCBmcmFtZUlELCBXZWJDb3JlOjpSZXNvdXJj
ZUVycm9yIGVycm9yLCBXZWJLaXQ6OkluamVjdGVkQnVuZGxlVXNlck1lc3NhZ2VFbmNvZGVyIHVz
ZXJEYXRhKSAgVmFyaWFkaWMKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQb2xp
Y3lDbGllbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQ
b2xpY3lDbGllbnQuY3BwCShyZXZpc2lvbiAxNTkzODApCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViUG9saWN5Q2xpZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjAsMTUgKzYwLDE5
IEBAIGJvb2wgV2ViUG9saWN5Q2xpZW50OjpkZWNpZGVQb2xpY3lGb3JOZXcKICAgICByZXR1cm4g
dHJ1ZTsKIH0KIAotYm9vbCBXZWJQb2xpY3lDbGllbnQ6OmRlY2lkZVBvbGljeUZvclJlc3BvbnNl
KFdlYlBhZ2VQcm94eSogcGFnZSwgV2ViRnJhbWVQcm94eSogZnJhbWUsIGNvbnN0IFJlc291cmNl
UmVzcG9uc2UmIHJlc291cmNlUmVzcG9uc2UsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVzb3Vy
Y2VSZXF1ZXN0LCBXZWJGcmFtZVBvbGljeUxpc3RlbmVyUHJveHkqIGxpc3RlbmVyLCBBUEk6Ok9i
amVjdCogdXNlckRhdGEpCitib29sIFdlYlBvbGljeUNsaWVudDo6ZGVjaWRlUG9saWN5Rm9yUmVz
cG9uc2UoV2ViUGFnZVByb3h5KiBwYWdlLCBXZWJGcmFtZVByb3h5KiBmcmFtZSwgY29uc3QgUmVz
b3VyY2VSZXNwb25zZSYgcmVzb3VyY2VSZXNwb25zZSwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBy
ZXNvdXJjZVJlcXVlc3QsIGJvb2wgY2FuU2hvd01JTUVUeXBlLCBXZWJGcmFtZVBvbGljeUxpc3Rl
bmVyUHJveHkqIGxpc3RlbmVyLCBBUEk6Ok9iamVjdCogdXNlckRhdGEpCiB7Ci0gICAgaWYgKCFt
X2NsaWVudC5kZWNpZGVQb2xpY3lGb3JSZXNwb25zZSkKKyAgICBpZiAoIW1fY2xpZW50LmRlY2lk
ZVBvbGljeUZvclJlc3BvbnNlX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjAgJiYgIW1fY2xpZW50LmRl
Y2lkZVBvbGljeUZvclJlc3BvbnNlKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBSZWZQ
dHI8V2ViVVJMUmVzcG9uc2U+IHJlc3BvbnNlID0gV2ViVVJMUmVzcG9uc2U6OmNyZWF0ZShyZXNv
dXJjZVJlc3BvbnNlKTsKICAgICBSZWZQdHI8V2ViVVJMUmVxdWVzdD4gcmVxdWVzdCA9IFdlYlVS
TFJlcXVlc3Q6OmNyZWF0ZShyZXNvdXJjZVJlcXVlc3QpOwogCi0gICAgbV9jbGllbnQuZGVjaWRl
UG9saWN5Rm9yUmVzcG9uc2UodG9BUEkocGFnZSksIHRvQVBJKGZyYW1lKSwgdG9BUEkocmVzcG9u
c2UuZ2V0KCkpLCB0b0FQSShyZXF1ZXN0LmdldCgpKSwgdG9BUEkobGlzdGVuZXIpLCB0b0FQSSh1
c2VyRGF0YSksIG1fY2xpZW50LmNsaWVudEluZm8pOworICAgIGlmIChtX2NsaWVudC5kZWNpZGVQ
b2xpY3lGb3JSZXNwb25zZV9kZXByZWNhdGVkRm9yVXNlV2l0aFYwKQorICAgICAgICBtX2NsaWVu
dC5kZWNpZGVQb2xpY3lGb3JSZXNwb25zZV9kZXByZWNhdGVkRm9yVXNlV2l0aFYwKHRvQVBJKHBh
Z2UpLCB0b0FQSShmcmFtZSksIHRvQVBJKHJlc3BvbnNlLmdldCgpKSwgdG9BUEkocmVxdWVzdC5n
ZXQoKSksIHRvQVBJKGxpc3RlbmVyKSwgdG9BUEkodXNlckRhdGEpLCBtX2NsaWVudC5jbGllbnRJ
bmZvKTsKKyAgICBlbHNlCisgICAgICAgIG1fY2xpZW50LmRlY2lkZVBvbGljeUZvclJlc3BvbnNl
KHRvQVBJKHBhZ2UpLCB0b0FQSShmcmFtZSksIHRvQVBJKHJlc3BvbnNlLmdldCgpKSwgdG9BUEko
cmVxdWVzdC5nZXQoKSksIGNhblNob3dNSU1FVHlwZSwgdG9BUEkobGlzdGVuZXIpLCB0b0FQSSh1
c2VyRGF0YSksIG1fY2xpZW50LmNsaWVudEluZm8pOworCiAgICAgcmV0dXJuIHRydWU7CiB9CiAK
SW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQb2xpY3lDbGllbnQuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUG9saWN5Q2xpZW50LmgJKHJldmlz
aW9uIDE1OTM4MCkKKysrIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQb2xpY3lDbGllbnQu
aAkod29ya2luZyBjb3B5KQpAQCAtNTIsNyArNTIsNyBAQCBjbGFzcyBXZWJQb2xpY3lDbGllbnQg
OiBwdWJsaWMgQVBJQ2xpZW50CiBwdWJsaWM6CiAgICAgYm9vbCBkZWNpZGVQb2xpY3lGb3JOYXZp
Z2F0aW9uQWN0aW9uKFdlYlBhZ2VQcm94eSosIFdlYkZyYW1lUHJveHkqLCBXZWJDb3JlOjpOYXZp
Z2F0aW9uVHlwZSwgV2ViRXZlbnQ6Ok1vZGlmaWVycywgV2ViTW91c2VFdmVudDo6QnV0dG9uLCBX
ZWJGcmFtZVByb3h5KiBvcmlnaW5hdGluZ0ZyYW1lLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJl
cXVlc3QmLCBXZWJGcmFtZVBvbGljeUxpc3RlbmVyUHJveHkqLCBBUEk6Ok9iamVjdCogdXNlckRh
dGEpOwogICAgIGJvb2wgZGVjaWRlUG9saWN5Rm9yTmV3V2luZG93QWN0aW9uKFdlYlBhZ2VQcm94
eSosIFdlYkZyYW1lUHJveHkqLCBXZWJDb3JlOjpOYXZpZ2F0aW9uVHlwZSwgV2ViRXZlbnQ6Ok1v
ZGlmaWVycywgV2ViTW91c2VFdmVudDo6QnV0dG9uLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJl
cXVlc3QmLCBjb25zdCBTdHJpbmcmIGZyYW1lTmFtZSwgV2ViRnJhbWVQb2xpY3lMaXN0ZW5lclBy
b3h5KiwgQVBJOjpPYmplY3QqIHVzZXJEYXRhKTsKLSAgICBib29sIGRlY2lkZVBvbGljeUZvclJl
c3BvbnNlKFdlYlBhZ2VQcm94eSosIFdlYkZyYW1lUHJveHkqLCBjb25zdCBXZWJDb3JlOjpSZXNv
dXJjZVJlc3BvbnNlJiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiwgV2ViRnJhbWVQ
b2xpY3lMaXN0ZW5lclByb3h5KiwgQVBJOjpPYmplY3QqIHVzZXJEYXRhKTsKKyAgICBib29sIGRl
Y2lkZVBvbGljeUZvclJlc3BvbnNlKFdlYlBhZ2VQcm94eSosIFdlYkZyYW1lUHJveHkqLCBjb25z
dCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1
ZXN0JiwgYm9vbCBjYW5TaG93TUlNRVR5cGUsIFdlYkZyYW1lUG9saWN5TGlzdGVuZXJQcm94eSos
IEFQSTo6T2JqZWN0KiB1c2VyRGF0YSk7CiAgICAgdm9pZCB1bmFibGVUb0ltcGxlbWVudFBvbGlj
eShXZWJQYWdlUHJveHkqLCBXZWJGcmFtZVByb3h5KiwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VF
cnJvciYsIEFQSTo6T2JqZWN0KiB1c2VyRGF0YSk7CiB9OwogCkluZGV4OiBTb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5oCShyZXZpc2lvbiAxNTkzODApCisrKyBTb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmgJKHdvcmtpbmcgY29weSkKQEAgLTE1MCwyMiAr
MTUwLDI0IEBAIGVudW0geyBrV0tQYWdlTG9hZGVyQ2xpZW50Q3VycmVudFZlcnNpb24KIC8vIFBv
bGljeSBDbGllbnQuCiB0eXBlZGVmIHZvaWQgKCpXS1BhZ2VEZWNpZGVQb2xpY3lGb3JOYXZpZ2F0
aW9uQWN0aW9uQ2FsbGJhY2spKFdLUGFnZVJlZiBwYWdlLCBXS0ZyYW1lUmVmIGZyYW1lLCBXS0Zy
YW1lTmF2aWdhdGlvblR5cGUgbmF2aWdhdGlvblR5cGUsIFdLRXZlbnRNb2RpZmllcnMgbW9kaWZp
ZXJzLCBXS0V2ZW50TW91c2VCdXR0b24gbW91c2VCdXR0b24sIFdLRnJhbWVSZWYgb3JpZ2luYXRp
bmdGcmFtZSwgV0tVUkxSZXF1ZXN0UmVmIHJlcXVlc3QsIFdLRnJhbWVQb2xpY3lMaXN0ZW5lclJl
ZiBsaXN0ZW5lciwgV0tUeXBlUmVmIHVzZXJEYXRhLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsK
IHR5cGVkZWYgdm9pZCAoKldLUGFnZURlY2lkZVBvbGljeUZvck5ld1dpbmRvd0FjdGlvbkNhbGxi
YWNrKShXS1BhZ2VSZWYgcGFnZSwgV0tGcmFtZVJlZiBmcmFtZSwgV0tGcmFtZU5hdmlnYXRpb25U
eXBlIG5hdmlnYXRpb25UeXBlLCBXS0V2ZW50TW9kaWZpZXJzIG1vZGlmaWVycywgV0tFdmVudE1v
dXNlQnV0dG9uIG1vdXNlQnV0dG9uLCBXS1VSTFJlcXVlc3RSZWYgcmVxdWVzdCwgV0tTdHJpbmdS
ZWYgZnJhbWVOYW1lLCBXS0ZyYW1lUG9saWN5TGlzdGVuZXJSZWYgbGlzdGVuZXIsIFdLVHlwZVJl
ZiB1c2VyRGF0YSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7Ci10eXBlZGVmIHZvaWQgKCpXS1Bh
Z2VEZWNpZGVQb2xpY3lGb3JSZXNwb25zZUNhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgV0tGcmFt
ZVJlZiBmcmFtZSwgV0tVUkxSZXNwb25zZVJlZiByZXNwb25zZSwgV0tVUkxSZXF1ZXN0UmVmIHJl
cXVlc3QsIFdLRnJhbWVQb2xpY3lMaXN0ZW5lclJlZiBsaXN0ZW5lciwgV0tUeXBlUmVmIHVzZXJE
YXRhLCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKK3R5cGVkZWYgdm9pZCAoKldLUGFnZURlY2lk
ZVBvbGljeUZvclJlc3BvbnNlQ2FsbGJhY2tfZGVwcmVjYXRlZEZvclVzZVdpdGhWMCkoV0tQYWdl
UmVmIHBhZ2UsIFdLRnJhbWVSZWYgZnJhbWUsIFdLVVJMUmVzcG9uc2VSZWYgcmVzcG9uc2UsIFdL
VVJMUmVxdWVzdFJlZiByZXF1ZXN0LCBXS0ZyYW1lUG9saWN5TGlzdGVuZXJSZWYgbGlzdGVuZXIs
IFdLVHlwZVJlZiB1c2VyRGF0YSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CiB0eXBlZGVmIHZv
aWQgKCpXS1BhZ2VVbmFibGVUb0ltcGxlbWVudFBvbGljeUNhbGxiYWNrKShXS1BhZ2VSZWYgcGFn
ZSwgV0tGcmFtZVJlZiBmcmFtZSwgV0tFcnJvclJlZiBlcnJvciwgV0tUeXBlUmVmIHVzZXJEYXRh
LCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKTsKIAogLy8gRGVwcmVjYXRlZAogdHlwZWRlZiB2b2lk
ICgqV0tQYWdlRGVjaWRlUG9saWN5Rm9yTmF2aWdhdGlvbkFjdGlvbkNhbGxiYWNrX2RlcHJlY2F0
ZWRGb3JVc2VXaXRoVjApKFdLUGFnZVJlZiBwYWdlLCBXS0ZyYW1lUmVmIGZyYW1lLCBXS0ZyYW1l
TmF2aWdhdGlvblR5cGUgbmF2aWdhdGlvblR5cGUsIFdLRXZlbnRNb2RpZmllcnMgbW9kaWZpZXJz
LCBXS0V2ZW50TW91c2VCdXR0b24gbW91c2VCdXR0b24sIFdLVVJMUmVxdWVzdFJlZiByZXF1ZXN0
LCBXS0ZyYW1lUG9saWN5TGlzdGVuZXJSZWYgbGlzdGVuZXIsIFdLVHlwZVJlZiB1c2VyRGF0YSwg
Y29uc3Qgdm9pZCogY2xpZW50SW5mbyk7Cit0eXBlZGVmIHZvaWQgKCpXS1BhZ2VEZWNpZGVQb2xp
Y3lGb3JSZXNwb25zZUNhbGxiYWNrKShXS1BhZ2VSZWYgcGFnZSwgV0tGcmFtZVJlZiBmcmFtZSwg
V0tVUkxSZXNwb25zZVJlZiByZXNwb25zZSwgV0tVUkxSZXF1ZXN0UmVmIHJlcXVlc3QsIGJvb2wg
Y2FuU2hvd01JTUVUeXBlLCBXS0ZyYW1lUG9saWN5TGlzdGVuZXJSZWYgbGlzdGVuZXIsIFdLVHlw
ZVJlZiB1c2VyRGF0YSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbyk7CiAKIHN0cnVjdCBXS1BhZ2VQ
b2xpY3lDbGllbnQgewogICAgIGludCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZlcnNpb247CiAgICAgY29uc3Qgdm9pZCAq
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y2xpZW50SW5mbzsKICAgICBXS1BhZ2VEZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uQ2Fs
bGJhY2tfZGVwcmVjYXRlZEZvclVzZVdpdGhWMCBkZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0
aW9uX2RlcHJlY2F0ZWRGb3JVc2VXaXRoVjA7CiAgICAgV0tQYWdlRGVjaWRlUG9saWN5Rm9yTmV3
V2luZG93QWN0aW9uQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgZGVjaWRlUG9saWN5
Rm9yTmV3V2luZG93QWN0aW9uOwotICAgIFdLUGFnZURlY2lkZVBvbGljeUZvclJlc3BvbnNlQ2Fs
bGJhY2sgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlY2lkZVBvbGljeUZvclJlc3Bv
bnNlOworICAgIFdLUGFnZURlY2lkZVBvbGljeUZvclJlc3BvbnNlQ2FsbGJhY2tfZGVwcmVjYXRl
ZEZvclVzZVdpdGhWMCAgICAgICAgIGRlY2lkZVBvbGljeUZvclJlc3BvbnNlX2RlcHJlY2F0ZWRG
b3JVc2VXaXRoVjA7CiAgICAgV0tQYWdlVW5hYmxlVG9JbXBsZW1lbnRQb2xpY3lDYWxsYmFjayAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5hYmxlVG9JbXBsZW1lbnRQb2xpY3k7CiAK
ICAgICAvLyBWZXJzaW9uIDEKICAgICBXS1BhZ2VEZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0
aW9uQ2FsbGJhY2sgICAgICAgICAgICAgICAgICAgICAgICBkZWNpZGVQb2xpY3lGb3JOYXZpZ2F0
aW9uQWN0aW9uOworICAgIFdLUGFnZURlY2lkZVBvbGljeUZvclJlc3BvbnNlQ2FsbGJhY2sgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlY2lkZVBvbGljeUZvclJlc3BvbnNlOwogfTsK
IHR5cGVkZWYgc3RydWN0IFdLUGFnZVBvbGljeUNsaWVudCBXS1BhZ2VQb2xpY3lDbGllbnQ7CiAK
SW5kZXg6IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1dLQnJvd3NpbmdDb250ZXh0
Q29udHJvbGxlci5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L21hYy9XS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXIubW0JKHJldmlzaW9uIDE1OTM4MCkKKysr
IFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1dLQnJvd3NpbmdDb250ZXh0Q29udHJv
bGxlci5tbQkod29ya2luZyBjb3B5KQpAQCAtODIsNiArODIsNyBAQCBOU1N0cmluZyAqIGNvbnN0
IFdLQWN0aW9uVVJMUmVxdWVzdEtleSA9CiBOU1N0cmluZyAqIGNvbnN0IFdLQWN0aW9uVVJMUmVz
cG9uc2VLZXkgPSBAIldLQWN0aW9uVVJMUmVzcG9uc2VLZXkiOwogTlNTdHJpbmcgKiBjb25zdCBX
S0FjdGlvbkZyYW1lTmFtZUtleSA9IEAiV0tBY3Rpb25GcmFtZU5hbWVLZXkiOwogTlNTdHJpbmcg
KiBjb25zdCBXS0FjdGlvbk9yaWdpbmF0aW5nRnJhbWVVUkxLZXkgPSBAIldLQWN0aW9uT3JpZ2lu
YXRpbmdGcmFtZVVSTEtleSI7CitOU1N0cmluZyAqIGNvbnN0IFdLQWN0aW9uQ2FuU2hvd01JTUVU
eXBlS2V5ID0gQCJXS0FjdGlvbkNhblNob3dNSU1FVHlwZUtleSI7CiAKIEBpbnRlcmZhY2UgV0tC
cm93c2luZ0NvbnRleHRDb250cm9sbGVyRGF0YSA6IE5TT2JqZWN0IHsKIEBwdWJsaWMKQEAgLTY2
MywxNCArNjY0LDE1IEBAIHN0YXRpYyB2b2lkIHNldFVwUGFnZVBvbGljeUNsaWVudChXS0Jyb3cK
ICAgICAgICAgICAgIFdLRnJhbWVQb2xpY3lMaXN0ZW5lclVzZShsaXN0ZW5lcik7CiAgICAgfTsK
IAotICAgIHBvbGljeUNsaWVudC5kZWNpZGVQb2xpY3lGb3JSZXNwb25zZSA9IFtdKFdLUGFnZVJl
ZiBwYWdlLCBXS0ZyYW1lUmVmIGZyYW1lLCBXS1VSTFJlc3BvbnNlUmVmIHJlc3BvbnNlLCBXS1VS
TFJlcXVlc3RSZWYgcmVxdWVzdCwgV0tGcmFtZVBvbGljeUxpc3RlbmVyUmVmIGxpc3RlbmVyLCBX
S1R5cGVSZWYgdXNlckRhdGEsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCisgICAgcG9saWN5Q2xp
ZW50LmRlY2lkZVBvbGljeUZvclJlc3BvbnNlID0gW10oV0tQYWdlUmVmIHBhZ2UsIFdLRnJhbWVS
ZWYgZnJhbWUsIFdLVVJMUmVzcG9uc2VSZWYgcmVzcG9uc2UsIFdLVVJMUmVxdWVzdFJlZiByZXF1
ZXN0LCBib29sIGNhblNob3dNSU1FVHlwZSwgV0tGcmFtZVBvbGljeUxpc3RlbmVyUmVmIGxpc3Rl
bmVyLCBXS1R5cGVSZWYgdXNlckRhdGEsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCiAgICAgewog
ICAgICAgICBXS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXIgKmJyb3dzaW5nQ29udGV4dCA9IChX
S0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXIgKiljbGllbnRJbmZvOwogICAgICAgICBpZiAoW2Jy
b3dzaW5nQ29udGV4dC5wb2xpY3lEZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9y
KGJyb3dzaW5nQ29udGV4dENvbnRyb2xsZXI6ZGVjaWRlUG9saWN5Rm9yUmVzcG9uc2VBY3Rpb246
ZGVjaXNpb25IYW5kbGVyOildKSB7CiAgICAgICAgICAgICBOU0RpY3Rpb25hcnkgKmFjdGlvbkRp
Y3Rpb25hcnkgPSBAewogICAgICAgICAgICAgICAgIFdLQWN0aW9uSXNNYWluRnJhbWVLZXk6IEAo
V0tGcmFtZUlzTWFpbkZyYW1lKGZyYW1lKSksCiAgICAgICAgICAgICAgICAgV0tBY3Rpb25VUkxS
ZXF1ZXN0S2V5OiBhZG9wdE5TKFdLVVJMUmVxdWVzdENvcHlOU1VSTFJlcXVlc3QocmVxdWVzdCkp
LmdldCgpLAotICAgICAgICAgICAgICAgIFdLQWN0aW9uVVJMUmVzcG9uc2VLZXk6IGFkb3B0TlMo
V0tVUkxSZXNwb25zZUNvcHlOU1VSTFJlc3BvbnNlKHJlc3BvbnNlKSkuZ2V0KCkKKyAgICAgICAg
ICAgICAgICBXS0FjdGlvblVSTFJlc3BvbnNlS2V5OiBhZG9wdE5TKFdLVVJMUmVzcG9uc2VDb3B5
TlNVUkxSZXNwb25zZShyZXNwb25zZSkpLmdldCgpLAorICAgICAgICAgICAgICAgIFdLQWN0aW9u
Q2FuU2hvd01JTUVUeXBlS2V5OiBAKGNhblNob3dNSU1FVHlwZSksCiAgICAgICAgICAgICB9Owog
CiAgICAgICAgICAgICBbYnJvd3NpbmdDb250ZXh0LnBvbGljeURlbGVnYXRlIGJyb3dzaW5nQ29u
dGV4dENvbnRyb2xsZXI6YnJvd3NpbmdDb250ZXh0IGRlY2lkZVBvbGljeUZvclJlc3BvbnNlQWN0
aW9uOmFjdGlvbkRpY3Rpb25hcnkgZGVjaXNpb25IYW5kbGVyOm1ha2VQb2xpY3lEZWNpc2lvbkJs
b2NrKGxpc3RlbmVyKV07CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9X
S0Jyb3dzaW5nQ29udGV4dFBvbGljeURlbGVnYXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvV0tCcm93c2luZ0NvbnRleHRQb2xpY3lEZWxlZ2F0ZS5o
CShyZXZpc2lvbiAxNTkzODApCisrKyBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9X
S0Jyb3dzaW5nQ29udGV4dFBvbGljeURlbGVnYXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTM2LDYg
KzM2LDcgQEAgV0tfRVhQT1JUIGV4dGVybiBOU1N0cmluZyAqIGNvbnN0IFdLQWN0aQogV0tfRVhQ
T1JUIGV4dGVybiBOU1N0cmluZyAqIGNvbnN0IFdLQWN0aW9uVVJMUmVzcG9uc2VLZXk7ICAgICAg
ICAgLy8gTlNVUkxSZXNwb25zZQogV0tfRVhQT1JUIGV4dGVybiBOU1N0cmluZyAqIGNvbnN0IFdL
QWN0aW9uRnJhbWVOYW1lS2V5OyAgICAgICAgICAgLy8gTlNTdHJpbmcKIFdLX0VYUE9SVCBleHRl
cm4gTlNTdHJpbmcgKiBjb25zdCBXS0FjdGlvbk9yaWdpbmF0aW5nRnJhbWVVUkxLZXk7IC8vIE5T
VVJMCitXS19FWFBPUlQgZXh0ZXJuIE5TU3RyaW5nICogY29uc3QgV0tBY3Rpb25DYW5TaG93TUlN
RVR5cGVLZXk7ICAgICAvLyBOU051bWJlciAoQk9PTCkKIAogdHlwZWRlZiBOU19FTlVNKE5TVUlu
dGVnZXIsIFdLTmF2aWdhdGlvblR5cGUpIHsKICAgICBXS05hdmlnYXRpb25UeXBlTGlua0NsaWNr
ZWQsCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZy
YW1lTG9hZGVyQ2xpZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcAkocmV2aXNpb24gMTU5
MzgwKQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFt
ZUxvYWRlckNsaWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTYzOCwxMyArNjM4LDE1IEBAIHZv
aWQgV2ViRnJhbWVMb2FkZXJDbGllbnQ6OmRpc3BhdGNoRGVjaWQKICAgICAgICAgcmV0dXJuOwog
ICAgIH0KIAorICAgIGJvb2wgY2FuU2hvd01JTUVUeXBlID0gd2ViUGFnZS0+Y2FuU2hvd01JTUVU
eXBlKHJlc3BvbnNlLm1pbWVUeXBlKCkpOworCiAgICAgdWludDY0X3QgbGlzdGVuZXJJRCA9IG1f
ZnJhbWUtPnNldFVwUG9saWN5TGlzdGVuZXIoc3RkOjptb3ZlKGZ1bmN0aW9uKSk7CiAgICAgYm9v
bCByZWNlaXZlZFBvbGljeUFjdGlvbjsKICAgICB1aW50NjRfdCBwb2xpY3lBY3Rpb247CiAgICAg
dWludDY0X3QgZG93bmxvYWRJRDsKIAogICAgIC8vIE5vdGlmeSB0aGUgVUlQcm9jZXNzLgotICAg
IGlmICghd2ViUGFnZS0+c2VuZFN5bmMoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RGVjaWRlUG9s
aWN5Rm9yUmVzcG9uc2VTeW5jKG1fZnJhbWUtPmZyYW1lSUQoKSwgcmVzcG9uc2UsIHJlcXVlc3Qs
IGxpc3RlbmVySUQsIEluamVjdGVkQnVuZGxlVXNlck1lc3NhZ2VFbmNvZGVyKHVzZXJEYXRhLmdl
dCgpKSksIE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRlY2lkZVBvbGljeUZvclJlc3BvbnNlU3lu
Yzo6UmVwbHkocmVjZWl2ZWRQb2xpY3lBY3Rpb24sIHBvbGljeUFjdGlvbiwgZG93bmxvYWRJRCkp
KQorICAgIGlmICghd2ViUGFnZS0+c2VuZFN5bmMoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RGVj
aWRlUG9saWN5Rm9yUmVzcG9uc2VTeW5jKG1fZnJhbWUtPmZyYW1lSUQoKSwgcmVzcG9uc2UsIHJl
cXVlc3QsIGNhblNob3dNSU1FVHlwZSwgbGlzdGVuZXJJRCwgSW5qZWN0ZWRCdW5kbGVVc2VyTWVz
c2FnZUVuY29kZXIodXNlckRhdGEuZ2V0KCkpKSwgTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RGVj
aWRlUG9saWN5Rm9yUmVzcG9uc2VTeW5jOjpSZXBseShyZWNlaXZlZFBvbGljeUFjdGlvbiwgcG9s
aWN5QWN0aW9uLCBkb3dubG9hZElEKSkpCiAgICAgICAgIHJldHVybjsKIAogICAgIC8vIFdlIGNh
bGwgdGhpcyBzeW5jaHJvbm91c2x5IGJlY2F1c2UgQ0ZOZXR3b3JrIGNhbiBvbmx5IGNvbnZlcnQg
YSBsb2FkaW5nIGNvbm5lY3Rpb24gdG8gYSBkb3dubG9hZCBmcm9tIGl0cyBkaWRSZWNlaXZlUmVz
cG9uc2UgY2FsbGJhY2suCkluZGV4OiBUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9v
bHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxNTkzODApCisrKyBUb29scy9DaGFuZ2VMb2cJKHdvcmtp
bmcgY29weSkKQEAgLTEsMyArMSwyMiBAQAorMjAxMy0xMS0xNiAgRGFuIEJlcm5zdGVpbiAgPG1p
dHpAYXBwbGUuY29tPgorCisgICAgICAgIE5vIHdheSBmb3IgcG9saWN5IGNsaWVudCB0byBkZXRl
cm1pbmUgaWYgYSB0aGUgcmVzcG9uc2XigJlzIE1JTUUgdHlwZSBjYW4gYmUgc2hvd24KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNDQ0NQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogTWluaUJyb3dzZXIv
bWFjL1dLMkJyb3dzZXJXaW5kb3dDb250cm9sbGVyLm06CisgICAgICAgIChkZWNpZGVQb2xpY3lG
b3JSZXNwb25zZSk6IEFkZGVkIGNhblNob3dNSU1FVHlwZSBwYXJhbWV0ZXIuCisgICAgICAgICgt
W1dLMkJyb3dzZXJXaW5kb3dDb250cm9sbGVyIGF3YWtlRnJvbU5pYl0pOiBVcGRhdGVkIGZvciBj
aGFuZ2VzIGluIHRoZSBwb2xpY3kgY2xpZW50LgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJLaXQyL1BhZ2VMb2FkQmFzaWMuY3BwOgorICAgICAgICAoVGVzdFdlYktpdEFQSTo6
ZGVjaWRlUG9saWN5Rm9yUmVzcG9uc2UpOiBBZGRlZCBjYW5TaG93TUlNRVR5cGUgcGFyYW1ldGVy
LgorCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHA6CisgICAg
ICAgIChXVFI6OlRlc3RDb250cm9sbGVyOjpjcmVhdGVXZWJWaWV3V2l0aE9wdGlvbnMpOiBVcGRh
dGVkIGZvciBjaGFuZ2VzIGluIHRoZSBwb2xpY3kgY2xpZW50LgorICAgICAgICAoV1RSOjpUZXN0
Q29udHJvbGxlcjo6ZGVjaWRlUG9saWN5Rm9yUmVzcG9uc2UpOiBBZGRlZCBjYW5TaG93TUlNRVR5
cGUgcGFyYW1ldGVyLgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIu
aDoKKwogMjAxMy0xMS0xNSAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4K
IAogICAgICAgICBPY2Nhc2lvbmFsbHksIGh1bmRyZWRzIG9mIHRlc3RzIGZhaWwgd2l0aCBzbWFs
bCB0ZXh0IGRpZmZzIG9uIE1hdmVyaWNrcwpJbmRleDogVG9vbHMvTWluaUJyb3dzZXIvbWFjL1dL
MkJyb3dzZXJXaW5kb3dDb250cm9sbGVyLm0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvTWluaUJyb3dz
ZXIvbWFjL1dLMkJyb3dzZXJXaW5kb3dDb250cm9sbGVyLm0JKHJldmlzaW9uIDE1OTM4MCkKKysr
IFRvb2xzL01pbmlCcm93c2VyL21hYy9XSzJCcm93c2VyV2luZG93Q29udHJvbGxlci5tCSh3b3Jr
aW5nIGNvcHkpCkBAIC00MjYsNyArNDI2LDcgQEAgc3RhdGljIHZvaWQgZGVjaWRlUG9saWN5Rm9y
TmV3V2luZG93QWN0aQogICAgIFdLRnJhbWVQb2xpY3lMaXN0ZW5lclVzZShsaXN0ZW5lcik7CiB9
CiAKLXN0YXRpYyB2b2lkIGRlY2lkZVBvbGljeUZvclJlc3BvbnNlKFdLUGFnZVJlZiBwYWdlLCBX
S0ZyYW1lUmVmIGZyYW1lLCBXS1VSTFJlc3BvbnNlUmVmIHJlc3BvbnNlLCBXS1VSTFJlcXVlc3RS
ZWYgcmVxdWVzdCwgV0tGcmFtZVBvbGljeUxpc3RlbmVyUmVmIGxpc3RlbmVyLCBXS1R5cGVSZWYg
dXNlckRhdGEsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8pCitzdGF0aWMgdm9pZCBkZWNpZGVQb2xp
Y3lGb3JSZXNwb25zZShXS1BhZ2VSZWYgcGFnZSwgV0tGcmFtZVJlZiBmcmFtZSwgV0tVUkxSZXNw
b25zZVJlZiByZXNwb25zZSwgV0tVUkxSZXF1ZXN0UmVmIHJlcXVlc3QsIGJvb2wgY2FuU2hvd01J
TUVUeXBlLCBXS0ZyYW1lUG9saWN5TGlzdGVuZXJSZWYgbGlzdGVuZXIsIFdLVHlwZVJlZiB1c2Vy
RGF0YSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbykKIHsKICAgICBXS0ZyYW1lUG9saWN5TGlzdGVu
ZXJVc2UobGlzdGVuZXIpOwogfQpAQCAtNjcyLDkgKzY3MiwxMCBAQCAtICh2b2lkKWF3YWtlRnJv
bU5pYgogICAgICAgICBzZWxmLCAgICAgICAvKiBjbGllbnRJbmZvICovCiAgICAgICAgIDAsICAg
ICAgICAgIC8qIGRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb25fZGVwcmVjYXRlZEZvclVz
ZVdpdGhWMCAqLwogICAgICAgICBkZWNpZGVQb2xpY3lGb3JOZXdXaW5kb3dBY3Rpb24sCi0gICAg
ICAgIGRlY2lkZVBvbGljeUZvclJlc3BvbnNlLAorICAgICAgICAwLCAgICAgICAgICAvKiBkZWNp
ZGVQb2xpY3lGb3JSZXNwb25zZV9kZXByZWNhdGVkRm9yVXNlV2l0aFYgKi8KICAgICAgICAgMCwg
ICAgICAgICAgLyogdW5hYmxlVG9JbXBsZW1lbnRQb2xpY3kgKi8KICAgICAgICAgZGVjaWRlUG9s
aWN5Rm9yTmF2aWdhdGlvbkFjdGlvbiwKKyAgICAgICAgZGVjaWRlUG9saWN5Rm9yUmVzcG9uc2Us
CiAgICAgfTsKICAgICBXS1BhZ2VTZXRQYWdlUG9saWN5Q2xpZW50KF93ZWJWaWV3LnBhZ2VSZWYs
ICZwb2xpY3lDbGllbnQpOwogCkluZGV4OiBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktp
dDIvUGFnZUxvYWRCYXNpYy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJLaXQyL1BhZ2VMb2FkQmFzaWMuY3BwCShyZXZpc2lvbiAxNTkzODApCisrKyBUb29s
cy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYktpdDIvUGFnZUxvYWRCYXNpYy5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTEwMyw3ICsxMDMsNyBAQCBzdGF0aWMgdm9pZCBkZWNpZGVQb2xpY3lGb3JOZXdX
aW5kb3dBY3RpCiAgICAgV0tGcmFtZVBvbGljeUxpc3RlbmVyVXNlKGxpc3RlbmVyKTsKIH0KIAot
c3RhdGljIHZvaWQgZGVjaWRlUG9saWN5Rm9yUmVzcG9uc2UoV0tQYWdlUmVmIHBhZ2UsIFdLRnJh
bWVSZWYgZnJhbWUsIFdLVVJMUmVzcG9uc2VSZWYgcmVzcG9uc2UsIFdLVVJMUmVxdWVzdFJlZiBy
ZXF1ZXN0LCBXS0ZyYW1lUG9saWN5TGlzdGVuZXJSZWYgbGlzdGVuZXIsIFdLVHlwZVJlZiB1c2Vy
RGF0YSwgY29uc3Qgdm9pZCogY2xpZW50SW5mbykKK3N0YXRpYyB2b2lkIGRlY2lkZVBvbGljeUZv
clJlc3BvbnNlKFdLUGFnZVJlZiBwYWdlLCBXS0ZyYW1lUmVmIGZyYW1lLCBXS1VSTFJlc3BvbnNl
UmVmIHJlc3BvbnNlLCBXS1VSTFJlcXVlc3RSZWYgcmVxdWVzdCwgYm9vbCBjYW5TaG93TUlNRVR5
cGUsIFdLRnJhbWVQb2xpY3lMaXN0ZW5lclJlZiBsaXN0ZW5lciwgV0tUeXBlUmVmIHVzZXJEYXRh
LCBjb25zdCB2b2lkKiBjbGllbnRJbmZvKQogewogICAgIFdLRnJhbWVQb2xpY3lMaXN0ZW5lclVz
ZShsaXN0ZW5lcik7CiB9CkluZGV4OiBUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9s
bGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9s
bGVyLmNwcAkocmV2aXNpb24gMTU5MzgwKQorKysgVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0
Q29udHJvbGxlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ5MCw5ICs0OTAsMTAgQEAgdm9pZCBU
ZXN0Q29udHJvbGxlcjo6Y3JlYXRlV2ViVmlld1dpdGhPcAogICAgICAgICB0aGlzLAogICAgICAg
ICAwLCAvLyBkZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uX2RlcHJlY2F0ZWRGb3JVc2VX
aXRoVjAKICAgICAgICAgMCwgLy8gZGVjaWRlUG9saWN5Rm9yTmV3V2luZG93QWN0aW9uCi0gICAg
ICAgIGRlY2lkZVBvbGljeUZvclJlc3BvbnNlLAorICAgICAgICAwLCAvLyBkZWNpZGVQb2xpY3lG
b3JSZXNwb25zZV9kZXByZWNhdGVkRm9yVXNlV2l0aFYwCiAgICAgICAgIDAsIC8vIHVuYWJsZVRv
SW1wbGVtZW50UG9saWN5CiAgICAgICAgIGRlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb24s
CisgICAgICAgIGRlY2lkZVBvbGljeUZvclJlc3BvbnNlLAogICAgIH07CiAgICAgV0tQYWdlU2V0
UGFnZVBvbGljeUNsaWVudChtX21haW5XZWJWaWV3LT5wYWdlKCksICZwYWdlUG9saWN5Q2xpZW50
KTsKIApAQCAtMTIzMiw3ICsxMjMzLDcgQEAgdm9pZCBUZXN0Q29udHJvbGxlcjo6ZGVjaWRlUG9s
aWN5Rm9yTmF2aQogICAgIFdLRnJhbWVQb2xpY3lMaXN0ZW5lclVzZShsaXN0ZW5lcik7CiB9CiAK
LXZvaWQgVGVzdENvbnRyb2xsZXI6OmRlY2lkZVBvbGljeUZvclJlc3BvbnNlKFdLUGFnZVJlZiwg
V0tGcmFtZVJlZiBmcmFtZSwgV0tVUkxSZXNwb25zZVJlZiByZXNwb25zZSwgV0tVUkxSZXF1ZXN0
UmVmLCBXS0ZyYW1lUG9saWN5TGlzdGVuZXJSZWYgbGlzdGVuZXIsIFdLVHlwZVJlZiwgY29uc3Qg
dm9pZCogY2xpZW50SW5mbykKK3ZvaWQgVGVzdENvbnRyb2xsZXI6OmRlY2lkZVBvbGljeUZvclJl
c3BvbnNlKFdLUGFnZVJlZiwgV0tGcmFtZVJlZiBmcmFtZSwgV0tVUkxSZXNwb25zZVJlZiByZXNw
b25zZSwgV0tVUkxSZXF1ZXN0UmVmLCBib29sIGNhblNob3dNSU1FVHlwZSwgV0tGcmFtZVBvbGlj
eUxpc3RlbmVyUmVmIGxpc3RlbmVyLCBXS1R5cGVSZWYsIGNvbnN0IHZvaWQqIGNsaWVudEluZm8p
CiB7CiAgICAgc3RhdGljX2Nhc3Q8VGVzdENvbnRyb2xsZXIqPihjb25zdF9jYXN0PHZvaWQqPihj
bGllbnRJbmZvKSktPmRlY2lkZVBvbGljeUZvclJlc3BvbnNlKGZyYW1lLCByZXNwb25zZSwgbGlz
dGVuZXIpOwogfQpJbmRleDogVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuaAko
cmV2aXNpb24gMTU5MzgwKQorKysgVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxl
ci5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNTUsNyArMTU1LDcgQEAgcHJpdmF0ZToKICAgICBzdGF0
aWMgdm9pZCBkZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uKFdLUGFnZVJlZiwgV0tGcmFt
ZVJlZiwgV0tGcmFtZU5hdmlnYXRpb25UeXBlLCBXS0V2ZW50TW9kaWZpZXJzLCBXS0V2ZW50TW91
c2VCdXR0b24sIFdLRnJhbWVSZWYsIFdLVVJMUmVxdWVzdFJlZiwgV0tGcmFtZVBvbGljeUxpc3Rl
bmVyUmVmLCBXS1R5cGVSZWYsIGNvbnN0IHZvaWQqKTsKICAgICB2b2lkIGRlY2lkZVBvbGljeUZv
ck5hdmlnYXRpb25BY3Rpb24oV0tGcmFtZVBvbGljeUxpc3RlbmVyUmVmKTsKIAotICAgIHN0YXRp
YyB2b2lkIGRlY2lkZVBvbGljeUZvclJlc3BvbnNlKFdLUGFnZVJlZiwgV0tGcmFtZVJlZiwgV0tV
UkxSZXNwb25zZVJlZiwgV0tVUkxSZXF1ZXN0UmVmLCBXS0ZyYW1lUG9saWN5TGlzdGVuZXJSZWYs
IFdLVHlwZVJlZiwgY29uc3Qgdm9pZCopOworICAgIHN0YXRpYyB2b2lkIGRlY2lkZVBvbGljeUZv
clJlc3BvbnNlKFdLUGFnZVJlZiwgV0tGcmFtZVJlZiwgV0tVUkxSZXNwb25zZVJlZiwgV0tVUkxS
ZXF1ZXN0UmVmLCBib29sIGNhblNob3dNSU1FVHlwZSwgV0tGcmFtZVBvbGljeUxpc3RlbmVyUmVm
LCBXS1R5cGVSZWYsIGNvbnN0IHZvaWQqKTsKICAgICB2b2lkIGRlY2lkZVBvbGljeUZvclJlc3Bv
bnNlKFdLRnJhbWVSZWYsIFdLVVJMUmVzcG9uc2VSZWYsIFdLRnJhbWVQb2xpY3lMaXN0ZW5lclJl
Zik7CiAKICAgICBzdGF0aWMgV0tQYWdlUmVmIGNyZWF0ZU90aGVyUGFnZShXS1BhZ2VSZWYgb2xk
UGFnZSwgV0tVUkxSZXF1ZXN0UmVmLCBXS0RpY3Rpb25hcnlSZWYsIFdLRXZlbnRNb2RpZmllcnMs
IFdLRXZlbnRNb3VzZUJ1dHRvbiwgY29uc3Qgdm9pZCopOwo=
</data>
<flag name="review"
          id="240221"
          type_id="1"
          status="+"
          setter="sam"
    />
    <flag name="commit-queue"
          id="240222"
          type_id="3"
          status="-"
          setter="eflews.bot"
    />
          </attachment>
      

    </bug>

</bugzilla>