<?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>161103</bug_id>
          
          <creation_ts>2016-08-23 14:11:12 -0700</creation_ts>
          <short_desc>Add enum traits and use them in the IPC::Decoder</short_desc>
          <delta_ts>2020-05-22 16:56:30 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>162077</blocked>
    
    <blocked>212290</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>mitz</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1222405</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2016-08-23 14:11:12 -0700</bug_when>
    <thetext>Add enum traits and use them in the IPC::Decoder</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1222410</commentid>
    <comment_count>1</comment_count>
      <attachid>286773</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2016-08-23 14:17:57 -0700</bug_when>
    <thetext>Created attachment 286773
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1222411</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-08-23 14:20:51 -0700</bug_when>
    <thetext>Attachment 286773 did not pass style-queue:


ERROR: Tools/TestWebKitAPI/Tests/WTF/EnumTraits.cpp:31:  enum members should use InterCaps with an initial capital letter or initial &apos;k&apos; for C-style enums.  [readability/enum_casing] [4]
ERROR: Tools/TestWebKitAPI/Tests/WTF/EnumTraits.cpp:32:  enum members should use InterCaps with an initial capital letter or initial &apos;k&apos; for C-style enums.  [readability/enum_casing] [4]
ERROR: Tools/TestWebKitAPI/Tests/WTF/EnumTraits.cpp:33:  enum members should use InterCaps with an initial capital letter or initial &apos;k&apos; for C-style enums.  [readability/enum_casing] [4]
ERROR: Source/WTF/wtf/EnumTraits.h:59:  This { should be at the end of the previous line  [whitespace/braces] [4]
ERROR: Source/WebKit2/Shared/mac/ArgumentCodersMac.mm:58:  enum members should use InterCaps with an initial capital letter or initial &apos;k&apos; for C-style enums.  [readability/enum_casing] [4]
ERROR: Source/WebKit2/Shared/mac/ArgumentCodersMac.mm:546:  preprocessor directives (e.g., #ifdef, #define, #import) should never be indented.  [whitespace/indent] [4]
ERROR: Source/WebKit2/Shared/mac/ArgumentCodersMac.mm:548:  preprocessor directives (e.g., #ifdef, #define, #import) should never be indented.  [whitespace/indent] [4]
ERROR: Source/WebKit2/Shared/mac/ArgumentCodersMac.mm:551:  preprocessor directives (e.g., #ifdef, #define, #import) should never be indented.  [whitespace/indent] [4]
ERROR: Source/WebKit2/Shared/mac/ArgumentCodersMac.mm:553:  preprocessor directives (e.g., #ifdef, #define, #import) should never be indented.  [whitespace/indent] [4]
ERROR: Source/WebKit2/Platform/IPC/Decoder.h:89:  This { should be at the end of the previous line  [whitespace/braces] [4]
Total errors found: 10 in 10 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1222512</commentid>
    <comment_count>3</comment_count>
      <attachid>286773</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2016-08-23 16:49:40 -0700</bug_when>
    <thetext>Comment on attachment 286773
Patch

r=me if you make sure the builds work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1222774</commentid>
    <comment_count>4</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2016-08-24 12:16:15 -0700</bug_when>
    <thetext>Committed r204916: &lt;http://trac.webkit.org/changeset/204916&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1230489</commentid>
    <comment_count>5</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2016-09-16 11:14:21 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Committed r204916: &lt;http://trac.webkit.org/changeset/204916&gt;

It appears that this commented-out code got committed by accident:

diff --git a/Source/WebKit2/UIProcess/WebPageProxy.cpp b/Source/WebKit2/UIProcess/WebPageProxy.cpp
index 7cf79dd..ea472c0 100644
--- a/Source/WebKit2/UIProcess/WebPageProxy.cpp
+++ b/Source/WebKit2/UIProcess/WebPageProxy.cpp
@@ -2348,1 +2348,1 @@ void WebPageProxy::terminateProcess()
-    ASSERT(m_process-&gt;state() != WebProcessProxy::State::Launching);
+//    ASSERT(m_process-&gt;state() != WebProcessProxy::State::Launching);

Should this specific change be reverted?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1230500</commentid>
    <comment_count>6</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2016-09-16 11:25:59 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #4)
&gt; &gt; Committed r204916: &lt;http://trac.webkit.org/changeset/204916&gt;
&gt; 
&gt; It appears that this commented-out code got committed by accident:
&gt; 
&gt; diff --git a/Source/WebKit2/UIProcess/WebPageProxy.cpp
&gt; b/Source/WebKit2/UIProcess/WebPageProxy.cpp
&gt; index 7cf79dd..ea472c0 100644
&gt; --- a/Source/WebKit2/UIProcess/WebPageProxy.cpp
&gt; +++ b/Source/WebKit2/UIProcess/WebPageProxy.cpp
&gt; @@ -2348,1 +2348,1 @@ void WebPageProxy::terminateProcess()
&gt; -    ASSERT(m_process-&gt;state() != WebProcessProxy::State::Launching);
&gt; +//    ASSERT(m_process-&gt;state() != WebProcessProxy::State::Launching);
&gt; 
&gt; Should this specific change be reverted?

I filed:  Bug 162077: ASSERT accidentally commented out in r204916</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>286773</attachid>
            <date>2016-08-23 14:17:57 -0700</date>
            <delta_ts>2016-08-23 16:49:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-161103-20160823141559.patch</filename>
            <type>text/plain</type>
            <size>24931</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA0ODQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDIxZDNiYjZmMjdlMGM4NWY1ZjkzMDhj
MDBmN2ZiMWYzOTBmMjUyZTguLjExMzQwZDNiYTcxZjkxNmY3NTY3NjFmNTIwNWM4ZDljNGUxODJl
ZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTYtMDgtMjMgIEFuZGVycyBDYXJsc3NvbiAgPGFu
ZGVyc2NhQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgZW51bSB0cmFpdHMgYW5kIHVzZSB0aGVt
IGluIHRoZSBJUEM6OkRlY29kZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE2MTEwMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEFkZCBFbnVtVHJhaXRzLmggd2hpY2ggcHJvdmlkZXMgYSBmb3J3YXJkIGRl
Y2xhcmF0aW9uIGZvciBXVEY6OkVudW1UcmFpdHMgYXMgd2VsbCBhcworICAgICAgICB0aGUgV1RG
Ojppc1ZhbGlkRW51bSBmdW5jdGlvbi4KKworICAgICAgICAqIFdURi54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qOgorICAgICAgICAqIHd0Zi9FbnVtVHJhaXRzLmg6IEFkZGVkLgorCiAyMDE2LTA4
LTIyICBLZWl0aCBNaWxsZXIgIDxrZWl0aF9taWxsZXJAYXBwbGUuY29tPgogCiAgICAgICAgIEFj
dHVhbGx5IGVuYWJsZSB0aGUgV0FTTSBidWlsZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBmYmY2YjFlYjA2ODEw
MmFkMWRlZGJhNmVjYjM1MjE0NGZlNDcyZDhkLi42ZmE4YzYwNDExOGI3NTk4ZDBhOGVkNjQ0MGU3
MzFiYTcxYzVhODk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTYtMDgtMjMgIEFu
ZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgZW51bSB0
cmFpdHMgYW5kIHVzZSB0aGVtIGluIHRoZSBJUEM6OkRlY29kZXIKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MTEwMworCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogUGxhdGZvcm0vSVBDL0RlY29kZXIuaDoK
KyAgICAgICAgKiBQbGF0Zm9ybS9JUEMvRW5jb2Rlci5oOgorICAgICAgICBBZGQgbmV3IGVuY29k
ZS9kZWNvZGUgZnVuY3Rpb25zLgorCisgICAgICAgICogU2hhcmVkL21hYy9Bcmd1bWVudENvZGVy
c01hYy5tbToKKyAgICAgICAgQ2hhbmdlIE5TVHlwZSB0byBiZSBhIHN0cm9uZ2x5IHR5cGVkIGVu
dW0uIFVzZSBlbmNvZGUvZGVjb2RlCisgICAgICAgIGluc3RlYWQgb2YgZW5jb2RlRW51bS9kZWNv
ZGVFbnVtIHNpbmNlIHRoZSBsYXR0ZXIgZG9uJ3QgaGF2ZSB0aGUKKyAgICAgICAgZW51bSBjaGVj
ay4KKwogMjAxNi0wOC0yMyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAg
ICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIyMDQyNDMuCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dURi9XVEYueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAzMjUzNmJmM2JkYTliNDM4MDMwYWQ2NWJlMjQ1M2Zh
OGM5NTIwOWRmLi45MWViNzIzMzBlMmRjOGI2MzlkZjVlZWM2NmE0OTg3Y2YxMDYxODYwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV1RGL1dURi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Nv
dXJjZS9XVEYvV1RGLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTg4LDYgKzg4LDcgQEAK
IAkJMUE2RUIxRTAxODdEMEJEMzAwMzAxMjZGIC8qIFN0cmluZ1ZpZXcuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBNkVCMURGMTg3RDBCRDMwMDMwMTI2
RiAvKiBTdHJpbmdWaWV3LmggKi87IH07CiAJCTFBOTQ0RjQ3MUMzRDg4MTQwMDVCRDI4QyAvKiBC
bG9ja1B0ci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MUE5NDRGNDYxQzNEODgxNDAwNUJEMjhDIC8qIEJsb2NrUHRyLmggKi87IH07CiAJCTFBQ0FERDg0
MTg4NDQ4MDEwMEQ4QjcxRCAvKiBEZXByZWNhdGVkU3ltYm9sc1VzZWRCeVNhZmFyaS5tbSBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBQ0FERDgyMTg4NDQ4
MDEwMEQ4QjcxRCAvKiBEZXByZWNhdGVkU3ltYm9sc1VzZWRCeVNhZmFyaS5tbSAqLzsgfTsKKwkJ
MUFFQTg4RTIxRDZCQkNGNDAwRTVBRDY0IC8qIEVudW1UcmFpdHMuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBRUE4OEUxMUQ2QkJDRjQwMEU1QUQ2NCAv
KiBFbnVtVHJhaXRzLmggKi87IH07CiAJCTFBRkRFNjQ4MTk1MjAxQzMwMEM0OEZGQSAvKiBUeXBl
Q2FzdHNDRi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MUFGREU2NDcxOTUyMDFDMzAwQzQ4RkZBIC8qIFR5cGVDYXN0c0NGLmggKi87IH07CiAJCTFBRkRF
NjUzMTk1M0IyM0QwMEM0OEZGQSAvKiBPcHRpb25hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFGREU2NTIxOTUzQjIzRDAwQzQ4RkZBIC8qIE9wdGlv
bmFsLmggKi87IH07CiAJCTFDMTgxQzdGMUQzMDc4REEwMEY1RkExNiAvKiBUZXh0QnJlYWtJdGVy
YXRvci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAx
QzE4MUM3RDFEMzA3OERBMDBGNUZBMTYgLyogVGV4dEJyZWFrSXRlcmF0b3IuY3BwICovOyB9OwpA
QCAtNDI1LDYgKzQyNiw3IEBACiAJCTFBNkVCMURGMTg3RDBCRDMwMDMwMTI2RiAvKiBTdHJpbmdW
aWV3LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN0cmluZ1ZpZXcuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUE5NDRGNDYxQzNEODgxNDAwNUJEMjhDIC8qIEJs
b2NrUHRyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEJsb2NrUHRyLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBQ0FERDgyMTg4NDQ4MDEwMEQ4QjcxRCAvKiBE
ZXByZWNhdGVkU3ltYm9sc1VzZWRCeVNhZmFyaS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
Lm9iamNwcDsgcGF0aCA9IERlcHJlY2F0ZWRTeW1ib2xzVXNlZEJ5U2FmYXJpLm1tOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkxQUVBODhFMTFENkJCQ0Y0MDBFNUFENjQgLyogRW51bVRy
YWl0cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBFbnVtVHJhaXRzLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBRkRFNjQ3MTk1MjAxQzMwMEM0OEZGQSAvKiBU
eXBlQ2FzdHNDRi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBUeXBlQ2FzdHND
Ri5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQUZERTY1MjE5NTNCMjNEMDBDNDhG
RkEgLyogT3B0aW9uYWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gT3B0aW9u
YWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUMxODFDN0QxRDMwNzhEQTAwRjVG
QTE2IC8qIFRleHRCcmVha0l0ZXJhdG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFRleHRCcmVha0l0ZXJhdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKQEAgLTg3Miw2ICs4NzQsNyBAQAogCQkJCUE4QTQ3MjgwMTUxQTgyNUEwMDQxMjNGRiAvKiBE
b3VibHlMaW5rZWRMaXN0LmggKi8sCiAJCQkJQThBNDcyOTcxNTFBODI1QTAwNDEyM0ZGIC8qIGR0
b2EuY3BwICovLAogCQkJCUE4QTQ3Mjk4MTUxQTgyNUEwMDQxMjNGRiAvKiBkdG9hLmggKi8sCisJ
CQkJMUFFQTg4RTExRDZCQkNGNDAwRTVBRDY0IC8qIEVudW1UcmFpdHMuaCAqLywKIAkJCQlBOEE0
NzI5RjE1MUE4MjVBMDA0MTIzRkYgLyogRXhwb3J0TWFjcm9zLmggKi8sCiAJCQkJMEY4ODVFMEUx
ODQ1QUU5RjAwRjFFM0ZBIC8qIEZhc3RCaXRWZWN0b3IuY3BwICovLAogCQkJCTBGRDgxQUM0MTU0
RkIyMkUwMDk4M0U3MiAvKiBGYXN0Qml0VmVjdG9yLmggKi8sCkBAIC0xMjk3LDYgKzEzMDAsNyBA
QAogCQkJCTJDMDUzODU0MTVCQzgxOTAwMEYyMUI5NiAvKiBHcmVnb3JpYW5EYXRlVGltZS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQThBNDczRDMxNTFBODI1QjAwNDEyM0ZGIC8qIEhhc2hDb3VudGVk
U2V0LmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEE0NzQyRDE1MUE4MjVCMDA0MTIzRkYgLyogSGFz
aGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQkxQUVBODhFMjFENkJCQ0Y0MDBFNUFENjQgLyogRW51
bVRyYWl0cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThBNDczRDQxNTFBODI1QjAwNDEyM0ZGIC8q
IEhhc2hGdW5jdGlvbnMuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4QTQ3M0Q1MTUxQTgyNUIwMDQx
MjNGRiAvKiBIYXNoSXRlcmF0b3JzLmggaW4gSGVhZGVycyAqLywKIAkJCQlBOEE0NzNENjE1MUE4
MjVCMDA0MTIzRkYgLyogSGFzaE1hcC5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL3d0Zi9FbnVtVHJhaXRzLmggYi9Tb3VyY2UvV1RGL3d0Zi9FbnVtVHJhaXRzLmgKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMDkyOTVlZWE0ODg1YWY4ZTNkYzg2YjBjZDc3NjRlMzc2ZDEzNGI2MAotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XVEYvd3RmL0VudW1UcmFpdHMuaApAQCAtMCwwICsxLDY3IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDx0eXBlX3RyYWl0cz4KKwor
bmFtZXNwYWNlIFdURiB7CisKK3RlbXBsYXRlPHR5cGVuYW1lPiBzdHJ1Y3QgRW51bVRyYWl0czsK
KwordGVtcGxhdGU8dHlwZW5hbWUgRSwgRS4uLj4gc3RydWN0IEVudW1WYWx1ZXM7CisKK3RlbXBs
YXRlPHR5cGVuYW1lIFQsIHR5cGVuYW1lIEU+IHN0cnVjdCBFbnVtVmFsdWVDaGVja2VyOworCit0
ZW1wbGF0ZTx0eXBlbmFtZSBULCB0eXBlbmFtZSBFLCBFIGUsIEUuLi4gZXM+CitzdHJ1Y3QgRW51
bVZhbHVlQ2hlY2tlcjxULCBFbnVtVmFsdWVzPEUsIGUsIGVzLi4uPj4geworICAgIHN0YXRpYyBj
b25zdGV4cHIgYm9vbCBpc1ZhbGlkRW51bShUIHQpCisgICAgeworICAgICAgICBpZiAoc3RhdGlj
X2Nhc3Q8VD4oZSkgPT0gdCkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworCisgICAgICAgIHJl
dHVybiBFbnVtVmFsdWVDaGVja2VyPFQsIEVudW1WYWx1ZXM8RSwgZXMuLi4+Pjo6aXNWYWxpZEVu
dW0odCk7CisgICAgfQorfTsKKwordGVtcGxhdGU8dHlwZW5hbWUgVCwgdHlwZW5hbWUgRT4KK3N0
cnVjdCBFbnVtVmFsdWVDaGVja2VyPFQsIEVudW1WYWx1ZXM8RT4+IHsKKyAgICBzdGF0aWMgY29u
c3RleHByIGJvb2wgaXNWYWxpZEVudW0oVCB0KQorICAgIHsKKyAgICAgICAgcmV0dXJuIGZhbHNl
OworICAgIH0KK307CisKK3RlbXBsYXRlPHR5cGVuYW1lIEUsIHR5cGVuYW1lIFQ+Citjb25zdGV4
cHIgYXV0byBpc1ZhbGlkRW51bShUIHQpIC0+IHN0ZDo6ZW5hYmxlX2lmX3Q8c3RkOjppc19lbnVt
PEU+Ojp2YWx1ZSwgYm9vbD4KK3sKKyAgICBzdGF0aWNfYXNzZXJ0KHNpemVvZihUKSA+PSBzdGQ6
OnVuZGVybHlpbmdfdHlwZV90PEU+KCksICJJbnRlZ3JhbCB0eXBlIG11c3QgYmUgYXQgbGVhc3Qg
dGhlIHNpemUgb2YgdGhlIHVuZGVybHlpbmcgZW51bSB0eXBlIik7CisKKyAgICByZXR1cm4gRW51
bVZhbHVlQ2hlY2tlcjxULCB0eXBlbmFtZSBFbnVtVHJhaXRzPEU+Ojp2YWx1ZXM+Ojppc1ZhbGlk
RW51bSh0KTsKK30KKworfQorCit1c2luZyBXVEY6OmlzVmFsaWRFbnVtOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL0RlY29kZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1Bs
YXRmb3JtL0lQQy9EZWNvZGVyLmgKaW5kZXggYjA2NjE4ZTUyOWU3MDdkN2M1NTIxNmRlOGExMTQ4
ZDhiNmEwN2NhNC4uNTAzNjcwNmI0OGRkMmFhMzFmZTZmMTZhYzJlNDY1M2Q4YmNjMWY3NyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL0RlY29kZXIuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvRGVjb2Rlci5oCkBAIC0yOCw2ICsyOCw3IEBACiAjaW5j
bHVkZSAiQXJndW1lbnRDb2Rlci5oIgogI2luY2x1ZGUgIkF0dGFjaG1lbnQuaCIKICNpbmNsdWRl
ICJTdHJpbmdSZWZlcmVuY2UuaCIKKyNpbmNsdWRlIDx3dGYvRW51bVRyYWl0cy5oPgogI2luY2x1
ZGUgPHd0Zi9WZWN0b3IuaD4KIAogI2lmIEhBVkUoUU9TX0NMQVNTRVMpCkBAIC04Myw2ICs4NCwx
OCBAQCBwdWJsaWM6CiAgICAgYm9vbCBkZWNvZGUoZmxvYXQmKTsKICAgICBib29sIGRlY29kZShk
b3VibGUmKTsKIAorICAgIHRlbXBsYXRlPHR5cGVuYW1lIEU+CisgICAgYXV0byBkZWNvZGUoRSYg
ZSkgLT4gc3RkOjplbmFibGVfaWZfdDxzdGQ6OmlzX2VudW08RT46OnZhbHVlLCBib29sPgorICAg
IHsKKyAgICAgICAgdWludDY0X3QgdmFsdWU7CisgICAgICAgIGlmICghZGVjb2RlKHZhbHVlKSkK
KyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgaWYgKCFpc1ZhbGlkRW51bTxFPih2
YWx1ZSkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgcmV0dXJuIHRydWU7
CisgICAgfQorCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gYm9vbCBkZWNvZGVFbnVtKFQmIHJl
c3VsdCkKICAgICB7CiAgICAgICAgIHN0YXRpY19hc3NlcnQoc2l6ZW9mKFQpIDw9IDgsICJFbnVt
IHR5cGUgVCBtdXN0IG5vdCBiZSBsYXJnZXIgdGhhbiA2NCBiaXRzISIpOwpAQCAtMTA2LDggKzEx
OSw4IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIGJ1ZmZlcklzTGFyZ2VFbm91Z2hUb0NvbnRh
aW4oYWxpZ25vZihUKSwgbnVtRWxlbWVudHMgKiBzaXplb2YoVCkpOwogICAgIH0KIAotICAgIC8v
IEdlbmVyaWMgdHlwZSBkZWNvZGUgZnVuY3Rpb24uCi0gICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4g
Ym9vbCBkZWNvZGUoVCYgdCkKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgorICAgIGF1dG8gZGVj
b2RlKFQmIHQpIC0+IHN0ZDo6ZW5hYmxlX2lmX3Q8IXN0ZDo6aXNfZW51bTxUPjo6dmFsdWUsIGJv
b2w+CiAgICAgewogICAgICAgICByZXR1cm4gQXJndW1lbnRDb2RlcjxUPjo6ZGVjb2RlKCp0aGlz
LCB0KTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvRW5j
b2Rlci5oIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL0VuY29kZXIuaAppbmRleCAxMmI4
ZWI3NzZkMjFlZWM3MWVjYmVhYTYwMTJmMmQxNzE5YTFjM2JiLi5lNTdkZjM2YWE0OTNmNGYwYjJl
NjExOWQzNzNiMDM4MGQ1YTZlOWM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9y
bS9JUEMvRW5jb2Rlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9FbmNvZGVy
LmgKQEAgLTI4LDExICsyOCwxMSBAQAogI2luY2x1ZGUgIkFyZ3VtZW50Q29kZXIuaCIKICNpbmNs
dWRlICJBdHRhY2htZW50LmgiCiAjaW5jbHVkZSAiU3RyaW5nUmVmZXJlbmNlLmgiCisjaW5jbHVk
ZSA8d3RmL0VudW1UcmFpdHMuaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAKIG5hbWVzcGFj
ZSBJUEMgewogCi1jbGFzcyBFbmNvZGVyOwogY2xhc3MgRGF0YVJlZmVyZW5jZTsKIAogY2xhc3Mg
RW5jb2RlciBmaW5hbCB7CkBAIC02NSw3ICs2NSw4IEBAIHB1YmxpYzoKICAgICAgICAgZW5jb2Rl
KHN0YXRpY19jYXN0PHVpbnQ2NF90Pih0KSk7CiAgICAgfQogCi0gICAgdGVtcGxhdGU8dHlwZW5h
bWUgVD4gdm9pZCBlbmNvZGUoVCYmIHQpCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4KKyAgICBh
dXRvIGVuY29kZShUJiYgdCkgLT4gc3RkOjplbmFibGVfaWZfdDwhc3RkOjppc19lbnVtPHR5cGVu
YW1lIHN0ZDo6cmVtb3ZlX2NvbnN0X3Q8c3RkOjpyZW1vdmVfcmVmZXJlbmNlX3Q8VD4+Pjo6dmFs
dWU+CiAgICAgewogICAgICAgICBBcmd1bWVudENvZGVyPHR5cGVuYW1lIHN0ZDo6cmVtb3ZlX2Nv
bnN0PHR5cGVuYW1lIHN0ZDo6cmVtb3ZlX3JlZmVyZW5jZTxUPjo6dHlwZT46OnR5cGU+OjplbmNv
ZGUoKnRoaXMsIHN0ZDo6Zm9yd2FyZDxUPih0KSk7CiAgICAgfQpAQCAtOTYsNiArOTcsMTUgQEAg
cHJpdmF0ZToKICAgICB2b2lkIGVuY29kZShmbG9hdCk7CiAgICAgdm9pZCBlbmNvZGUoZG91Ymxl
KTsKIAorICAgIHRlbXBsYXRlPHR5cGVuYW1lIEU+CisgICAgYXV0byBlbmNvZGUoRSB2YWx1ZSkg
LT4gc3RkOjplbmFibGVfaWZfdDxzdGQ6OmlzX2VudW08RT46OnZhbHVlPgorICAgIHsKKyAgICAg
ICAgc3RhdGljX2Fzc2VydChzaXplb2YoRSkgPD0gc2l6ZW9mKHVpbnQ2NF90KSwgIkVudW0gdHlw
ZSBtdXN0IG5vdCBiZSBsYXJnZXIgdGhhbiA2NCBiaXRzLiIpOworCisgICAgICAgIEFTU0VSVChp
c1ZhbGlkRW51bTxFPihzdGF0aWNfY2FzdDx1aW50NjRfdD4odmFsdWUpKSk7CisgICAgICAgIGVu
Y29kZShzdGF0aWNfY2FzdDx1aW50NjRfdD4odmFsdWUpKTsKKyAgICB9CisKICAgICB2b2lkIGVu
Y29kZUhlYWRlcigpOwogCiAgICAgU3RyaW5nUmVmZXJlbmNlIG1fbWVzc2FnZVJlY2VpdmVyTmFt
ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvQXJndW1lbnRDb2RlcnNN
YWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL0FyZ3VtZW50Q29kZXJzTWFjLm1tCmlu
ZGV4IDc5ZTllMjE0OTM1MDVlMDAwYzQ0MzNmMGEyNTRjMTIzODZmY2FkZTcuLjAwNmQzNzUyZmE4
NjYxYTI0NTE4ZGI2N2QzMTA2Njk5OGEzNWVjZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9tYWMvQXJndW1lbnRDb2RlcnNNYWMubW0KKysrIGIvU291cmNlL1dlYktpdDIvU2hh
cmVkL21hYy9Bcmd1bWVudENvZGVyc01hYy5tbQpAQCAtNDEsOTggKzQxLDEwMSBAQCB1c2luZyBu
YW1lc3BhY2UgV2ViQ29yZTsKIAogbmFtZXNwYWNlIElQQyB7CiAKLWVudW0gTlNUeXBlIHsKLSAg
ICBOU0F0dHJpYnV0ZWRTdHJpbmdUeXBlLAorZW51bSBjbGFzcyBOU1R5cGUgeworICAgIEF0dHJp
YnV0ZWRTdHJpbmcsCiAjaWYgVVNFKEFQUEtJVCkKLSAgICBOU0NvbG9yVHlwZSwKKyAgICBDb2xv
ciwKICNlbmRpZgotICAgIE5TRGljdGlvbmFyeVR5cGUsCi0gICAgTlNBcnJheVR5cGUsCisgICAg
RGljdGlvbmFyeSwKKyAgICBBcnJheSwKICNpZiBVU0UoQVBQS0lUKQotICAgIE5TRm9udFR5cGUs
CisgICAgRm9udCwKICNlbmRpZgotICAgIE5TTnVtYmVyVHlwZSwKLSAgICBOU1N0cmluZ1R5cGUs
Ci0gICAgTlNEYXRlVHlwZSwKLSAgICBOU0RhdGFUeXBlLAotICAgIE5TVVJMVHlwZSwKKyAgICBO
dW1iZXIsCisgICAgU3RyaW5nLAorICAgIERhdGUsCisgICAgRGF0YSwKKyAgICBVUkwsCiAgICAg
VW5rbm93biwKIH07CiAKK30KKworbmFtZXNwYWNlIElQQyB7CiBzdGF0aWMgTlNUeXBlIHR5cGVG
cm9tT2JqZWN0KGlkIG9iamVjdCkKIHsKICAgICBBU1NFUlQob2JqZWN0KTsKIAogICAgIGlmIChb
b2JqZWN0IGlzS2luZE9mQ2xhc3M6W05TQXR0cmlidXRlZFN0cmluZyBjbGFzc11dKQotICAgICAg
ICByZXR1cm4gTlNBdHRyaWJ1dGVkU3RyaW5nVHlwZTsKKyAgICAgICAgcmV0dXJuIE5TVHlwZTo6
QXR0cmlidXRlZFN0cmluZzsKICNpZiBVU0UoQVBQS0lUKQogICAgIGlmIChbb2JqZWN0IGlzS2lu
ZE9mQ2xhc3M6W05TQ29sb3IgY2xhc3NdXSkKLSAgICAgICAgcmV0dXJuIE5TQ29sb3JUeXBlOwor
ICAgICAgICByZXR1cm4gTlNUeXBlOjpDb2xvcjsKICNlbmRpZgogICAgIGlmIChbb2JqZWN0IGlz
S2luZE9mQ2xhc3M6W05TRGljdGlvbmFyeSBjbGFzc11dKQotICAgICAgICByZXR1cm4gTlNEaWN0
aW9uYXJ5VHlwZTsKKyAgICAgICAgcmV0dXJuIE5TVHlwZTo6RGljdGlvbmFyeTsKICNpZiBVU0Uo
QVBQS0lUKQogICAgIGlmIChbb2JqZWN0IGlzS2luZE9mQ2xhc3M6W05TRm9udCBjbGFzc11dKQot
ICAgICAgICByZXR1cm4gTlNGb250VHlwZTsKKyAgICAgICAgcmV0dXJuIE5TVHlwZTo6Rm9udDsK
ICNlbmRpZgogICAgIGlmIChbb2JqZWN0IGlzS2luZE9mQ2xhc3M6W05TTnVtYmVyIGNsYXNzXV0p
Ci0gICAgICAgIHJldHVybiBOU051bWJlclR5cGU7CisgICAgICAgIHJldHVybiBOU1R5cGU6Ok51
bWJlcjsKICAgICBpZiAoW29iamVjdCBpc0tpbmRPZkNsYXNzOltOU1N0cmluZyBjbGFzc11dKQot
ICAgICAgICByZXR1cm4gTlNTdHJpbmdUeXBlOworICAgICAgICByZXR1cm4gTlNUeXBlOjpTdHJp
bmc7CiAgICAgaWYgKFtvYmplY3QgaXNLaW5kT2ZDbGFzczpbTlNBcnJheSBjbGFzc11dKQotICAg
ICAgICByZXR1cm4gTlNBcnJheVR5cGU7CisgICAgICAgIHJldHVybiBOU1R5cGU6OkFycmF5Owog
ICAgIGlmIChbb2JqZWN0IGlzS2luZE9mQ2xhc3M6W05TRGF0ZSBjbGFzc11dKQotICAgICAgICBy
ZXR1cm4gTlNEYXRlVHlwZTsKKyAgICAgICAgcmV0dXJuIE5TVHlwZTo6RGF0ZTsKICAgICBpZiAo
W29iamVjdCBpc0tpbmRPZkNsYXNzOltOU0RhdGEgY2xhc3NdXSkKLSAgICAgICAgcmV0dXJuIE5T
RGF0YVR5cGU7CisgICAgICAgIHJldHVybiBOU1R5cGU6OkRhdGE7CiAgICAgaWYgKFtvYmplY3Qg
aXNLaW5kT2ZDbGFzczpbTlNVUkwgY2xhc3NdXSkKLSAgICAgICAgcmV0dXJuIE5TVVJMVHlwZTsK
KyAgICAgICAgcmV0dXJuIE5TVHlwZTo6VVJMOwogCiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7
Ci0gICAgcmV0dXJuIFVua25vd247CisgICAgcmV0dXJuIE5TVHlwZTo6VW5rbm93bjsKIH0KIAog
dm9pZCBlbmNvZGUoRW5jb2RlciYgZW5jb2RlciwgaWQgb2JqZWN0KQogewogICAgIE5TVHlwZSB0
eXBlID0gdHlwZUZyb21PYmplY3Qob2JqZWN0KTsKLSAgICBlbmNvZGVyLmVuY29kZUVudW0odHlw
ZSk7CisgICAgZW5jb2RlciA8PCB0eXBlOwogCiAgICAgc3dpdGNoICh0eXBlKSB7Ci0gICAgY2Fz
ZSBOU0F0dHJpYnV0ZWRTdHJpbmdUeXBlOgorICAgIGNhc2UgTlNUeXBlOjpBdHRyaWJ1dGVkU3Ry
aW5nOgogICAgICAgICBlbmNvZGUoZW5jb2Rlciwgc3RhdGljX2Nhc3Q8TlNBdHRyaWJ1dGVkU3Ry
aW5nICo+KG9iamVjdCkpOwogICAgICAgICByZXR1cm47CiAjaWYgVVNFKEFQUEtJVCkKLSAgICBj
YXNlIE5TQ29sb3JUeXBlOgorICAgIGNhc2UgTlNUeXBlOjpDb2xvcjoKICAgICAgICAgZW5jb2Rl
KGVuY29kZXIsIHN0YXRpY19jYXN0PE5TQ29sb3IgKj4ob2JqZWN0KSk7CiAgICAgICAgIHJldHVy
bjsKICNlbmRpZgotICAgIGNhc2UgTlNEaWN0aW9uYXJ5VHlwZToKKyAgICBjYXNlIE5TVHlwZTo6
RGljdGlvbmFyeToKICAgICAgICAgZW5jb2RlKGVuY29kZXIsIHN0YXRpY19jYXN0PE5TRGljdGlv
bmFyeSAqPihvYmplY3QpKTsKICAgICAgICAgcmV0dXJuOwogI2lmIFVTRShBUFBLSVQpCi0gICAg
Y2FzZSBOU0ZvbnRUeXBlOgorICAgIGNhc2UgTlNUeXBlOjpGb250OgogICAgICAgICBlbmNvZGUo
ZW5jb2Rlciwgc3RhdGljX2Nhc3Q8TlNGb250ICo+KG9iamVjdCkpOwogICAgICAgICByZXR1cm47
CiAjZW5kaWYKLSAgICBjYXNlIE5TTnVtYmVyVHlwZToKKyAgICBjYXNlIE5TVHlwZTo6TnVtYmVy
OgogICAgICAgICBlbmNvZGUoZW5jb2Rlciwgc3RhdGljX2Nhc3Q8TlNOdW1iZXIgKj4ob2JqZWN0
KSk7CiAgICAgICAgIHJldHVybjsKLSAgICBjYXNlIE5TU3RyaW5nVHlwZToKKyAgICBjYXNlIE5T
VHlwZTo6U3RyaW5nOgogICAgICAgICBlbmNvZGUoZW5jb2Rlciwgc3RhdGljX2Nhc3Q8TlNTdHJp
bmcgKj4ob2JqZWN0KSk7CiAgICAgICAgIHJldHVybjsKLSAgICBjYXNlIE5TQXJyYXlUeXBlOgor
ICAgIGNhc2UgTlNUeXBlOjpBcnJheToKICAgICAgICAgZW5jb2RlKGVuY29kZXIsIHN0YXRpY19j
YXN0PE5TQXJyYXkgKj4ob2JqZWN0KSk7CiAgICAgICAgIHJldHVybjsKLSAgICBjYXNlIE5TRGF0
ZVR5cGU6CisgICAgY2FzZSBOU1R5cGU6OkRhdGU6CiAgICAgICAgIGVuY29kZShlbmNvZGVyLCBz
dGF0aWNfY2FzdDxOU0RhdGUgKj4ob2JqZWN0KSk7CiAgICAgICAgIHJldHVybjsKLSAgICBjYXNl
IE5TRGF0YVR5cGU6CisgICAgY2FzZSBOU1R5cGU6OkRhdGE6CiAgICAgICAgIGVuY29kZShlbmNv
ZGVyLCBzdGF0aWNfY2FzdDxOU0RhdGEgKj4ob2JqZWN0KSk7CiAgICAgICAgIHJldHVybjsKLSAg
ICBjYXNlIE5TVVJMVHlwZToKKyAgICBjYXNlIE5TVHlwZTo6VVJMOgogICAgICAgICBlbmNvZGUo
ZW5jb2Rlciwgc3RhdGljX2Nhc3Q8TlNVUkwgKj4ob2JqZWN0KSk7CiAgICAgICAgIHJldHVybjsK
LSAgICBjYXNlIFVua25vd246CisgICAgY2FzZSBOU1R5cGU6OlVua25vd246CiAgICAgICAgIGJy
ZWFrOwogICAgIH0KIApAQCAtMTQ2LDcgKzE0OSw3IEBAIGJvb2wgZGVjb2RlKERlY29kZXImIGRl
Y29kZXIsIFJldGFpblB0cjxpZD4mIHJlc3VsdCkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAg
ICAgc3dpdGNoICh0eXBlKSB7Ci0gICAgY2FzZSBOU0F0dHJpYnV0ZWRTdHJpbmdUeXBlOiB7Cisg
ICAgY2FzZSBOU1R5cGU6OkF0dHJpYnV0ZWRTdHJpbmc6IHsKICAgICAgICAgUmV0YWluUHRyPE5T
QXR0cmlidXRlZFN0cmluZz4gc3RyaW5nOwogICAgICAgICBpZiAoIWRlY29kZShkZWNvZGVyLCBz
dHJpbmcpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMTU0LDcgKzE1Nyw3IEBAIGJv
b2wgZGVjb2RlKERlY29kZXImIGRlY29kZXIsIFJldGFpblB0cjxpZD4mIHJlc3VsdCkKICAgICAg
ICAgcmV0dXJuIHRydWU7CiAgICAgfQogI2lmIFVTRShBUFBLSVQpCi0gICAgY2FzZSBOU0NvbG9y
VHlwZTogeworICAgIGNhc2UgTlNUeXBlOjpDb2xvcjogewogICAgICAgICBSZXRhaW5QdHI8TlND
b2xvcj4gY29sb3I7CiAgICAgICAgIGlmICghZGVjb2RlKGRlY29kZXIsIGNvbG9yKSkKICAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTE2Miw3ICsxNjUsNyBAQCBib29sIGRlY29kZShEZWNv
ZGVyJiBkZWNvZGVyLCBSZXRhaW5QdHI8aWQ+JiByZXN1bHQpCiAgICAgICAgIHJldHVybiB0cnVl
OwogICAgIH0KICNlbmRpZgotICAgIGNhc2UgTlNEaWN0aW9uYXJ5VHlwZTogeworICAgIGNhc2Ug
TlNUeXBlOjpEaWN0aW9uYXJ5OiB7CiAgICAgICAgIFJldGFpblB0cjxOU0RpY3Rpb25hcnk+IGRp
Y3Rpb25hcnk7CiAgICAgICAgIGlmICghZGVjb2RlKGRlY29kZXIsIGRpY3Rpb25hcnkpKQogICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMTcwLDcgKzE3Myw3IEBAIGJvb2wgZGVjb2RlKERl
Y29kZXImIGRlY29kZXIsIFJldGFpblB0cjxpZD4mIHJlc3VsdCkKICAgICAgICAgcmV0dXJuIHRy
dWU7CiAgICAgfQogI2lmIFVTRShBUFBLSVQpCi0gICAgY2FzZSBOU0ZvbnRUeXBlOiB7CisgICAg
Y2FzZSBOU1R5cGU6OkZvbnQ6IHsKICAgICAgICAgUmV0YWluUHRyPE5TRm9udD4gZm9udDsKICAg
ICAgICAgaWYgKCFkZWNvZGUoZGVjb2RlciwgZm9udCkpCiAgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CkBAIC0xNzgsNDkgKzE4MSw0OSBAQCBib29sIGRlY29kZShEZWNvZGVyJiBkZWNvZGVyLCBS
ZXRhaW5QdHI8aWQ+JiByZXN1bHQpCiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KICNlbmRp
ZgotICAgIGNhc2UgTlNOdW1iZXJUeXBlOiB7CisgICAgY2FzZSBOU1R5cGU6Ok51bWJlcjogewog
ICAgICAgICBSZXRhaW5QdHI8TlNOdW1iZXI+IG51bWJlcjsKICAgICAgICAgaWYgKCFkZWNvZGUo
ZGVjb2RlciwgbnVtYmVyKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgcmVz
dWx0ID0gbnVtYmVyOwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9Ci0gICAgY2FzZSBOU1N0
cmluZ1R5cGU6IHsKKyAgICBjYXNlIE5TVHlwZTo6U3RyaW5nOiB7CiAgICAgICAgIFJldGFpblB0
cjxOU1N0cmluZz4gc3RyaW5nOwogICAgICAgICBpZiAoIWRlY29kZShkZWNvZGVyLCBzdHJpbmcp
KQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICByZXN1bHQgPSBzdHJpbmc7CiAg
ICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KLSAgICBjYXNlIE5TQXJyYXlUeXBlOiB7CisgICAg
Y2FzZSBOU1R5cGU6OkFycmF5OiB7CiAgICAgICAgIFJldGFpblB0cjxOU0FycmF5PiBhcnJheTsK
ICAgICAgICAgaWYgKCFkZWNvZGUoZGVjb2RlciwgYXJyYXkpKQogICAgICAgICAgICAgcmV0dXJu
IGZhbHNlOwogICAgICAgICByZXN1bHQgPSBhcnJheTsKICAgICAgICAgcmV0dXJuIHRydWU7CiAg
ICAgfQotICAgIGNhc2UgTlNEYXRlVHlwZTogeworICAgIGNhc2UgTlNUeXBlOjpEYXRlOiB7CiAg
ICAgICAgIFJldGFpblB0cjxOU0RhdGU+IGRhdGU7CiAgICAgICAgIGlmICghZGVjb2RlKGRlY29k
ZXIsIGRhdGUpKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICByZXN1bHQgPSBk
YXRlOwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9Ci0gICAgY2FzZSBOU0RhdGFUeXBlOiB7
CisgICAgY2FzZSBOU1R5cGU6OkRhdGE6IHsKICAgICAgICAgUmV0YWluUHRyPE5TRGF0YT4gZGF0
YTsKICAgICAgICAgaWYgKCFkZWNvZGUoZGVjb2RlciwgZGF0YSkpCiAgICAgICAgICAgICByZXR1
cm4gZmFsc2U7CiAgICAgICAgIHJlc3VsdCA9IGRhdGE7CiAgICAgICAgIHJldHVybiB0cnVlOwog
ICAgIH0KLSAgICBjYXNlIE5TVVJMVHlwZTogeworICAgIGNhc2UgTlNUeXBlOjpVUkw6IHsKICAg
ICAgICAgUmV0YWluUHRyPE5TVVJMPiBVUkw7CiAgICAgICAgIGlmICghZGVjb2RlKGRlY29kZXIs
IFVSTCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIHJlc3VsdCA9IFVSTDsK
ICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQotICAgIGNhc2UgVW5rbm93bjoKKyAgICBjYXNl
IE5TVHlwZTo6VW5rbm93bjoKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAg
IHJldHVybiBmYWxzZTsKICAgICB9CkBAIC0zNjksNyArMzcyLDcgQEAgdm9pZCBlbmNvZGUoRW5j
b2RlciYgZW5jb2RlciwgTlNEaWN0aW9uYXJ5ICpkaWN0aW9uYXJ5KQogICAgICAgICBBU1NFUlQo
aXNTZXJpYWxpemFibGVWYWx1ZSh2YWx1ZSkpOwogCiAgICAgICAgIC8vIElnbm9yZSB2YWx1ZXMg
d2UgZG9uJ3QgcmVjb2duaXplLgotICAgICAgICBpZiAodHlwZUZyb21PYmplY3QodmFsdWUpID09
IFVua25vd24pCisgICAgICAgIGlmICh0eXBlRnJvbU9iamVjdCh2YWx1ZSkgPT0gTlNUeXBlOjpV
bmtub3duKQogICAgICAgICAgICAgY29udGludWU7CiAKICAgICAgICAgZW5jb2RlKGVuY29kZXIs
IChOU1N0cmluZyAqKWtleSk7CkBAIC00NjAsNyArNDYzLDcgQEAgdm9pZCBlbmNvZGUoRW5jb2Rl
ciYgZW5jb2RlciwgTlNBcnJheSAqYXJyYXkpCiAgICAgICAgIGlkIHZhbHVlID0gW2FycmF5IG9i
amVjdEF0SW5kZXg6aV07CiAKICAgICAgICAgLy8gSWdub3JlIHZhbHVlcyB3ZSBkb24ndCByZWNv
Z25pemUuCi0gICAgICAgIGlmICh0eXBlRnJvbU9iamVjdCh2YWx1ZSkgPT0gVW5rbm93bikKKyAg
ICAgICAgaWYgKHR5cGVGcm9tT2JqZWN0KHZhbHVlKSA9PSBOU1R5cGU6OlVua25vd24pCiAgICAg
ICAgICAgICBjb250aW51ZTsKIAogICAgICAgICBBU1NFUlQoaXNTZXJpYWxpemFibGVWYWx1ZSh2
YWx1ZSkpOwpAQCAtNTM0LDMgKzUzNywyNiBAQCBib29sIGRlY29kZShEZWNvZGVyJiBkZWNvZGVy
LCBSZXRhaW5QdHI8TlNVUkw+JiByZXN1bHQpCiB9CiAKIH0gLy8gbmFtZXNwYWNlIElQQworCitu
YW1lc3BhY2UgV1RGIHsKK3RlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8SVBDOjpOU1R5cGU+
IHsKKyAgICB1c2luZyB2YWx1ZXMgPSBFbnVtVmFsdWVzPAorICAgICAgICBJUEM6Ok5TVHlwZSwK
KyAgICAgICAgSVBDOjpOU1R5cGU6OkF0dHJpYnV0ZWRTdHJpbmcsCisgICAgI2lmIFVTRShBUFBL
SVQpCisgICAgICAgIElQQzo6TlNUeXBlOjpDb2xvciwKKyAgICAjZW5kaWYKKyAgICAgICAgSVBD
OjpOU1R5cGU6OkRpY3Rpb25hcnksCisgICAgICAgIElQQzo6TlNUeXBlOjpBcnJheSwKKyAgICAj
aWYgVVNFKEFQUEtJVCkKKyAgICAgICAgSVBDOjpOU1R5cGU6OkZvbnQsCisgICAgI2VuZGlmCisg
ICAgICAgIElQQzo6TlNUeXBlOjpOdW1iZXIsCisgICAgICAgIElQQzo6TlNUeXBlOjpTdHJpbmcs
CisgICAgICAgIElQQzo6TlNUeXBlOjpEYXRlLAorICAgICAgICBJUEM6Ok5TVHlwZTo6RGF0YSwK
KyAgICAgICAgSVBDOjpOU1R5cGU6OlVSTCwKKyAgICAgICAgSVBDOjpOU1R5cGU6OlVua25vd24K
KyAgICA+OworfTsKK30KZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5n
ZUxvZwppbmRleCAzNjAxNjhiZTgwMzNhYzhkNzc2ZWZjZGE4M2U2NzUwNDI1ZmM4MTFjLi5kMzI3
ODRkYTg0MzFmMTc0NTBiNmI0ZDc0ZGVhMjJmYTlkNTVlZWI1IDEwMDY0NAotLS0gYS9Ub29scy9D
aGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTYtMDgt
MjMgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQg
ZW51bSB0cmFpdHMgYW5kIHVzZSB0aGVtIGluIHRoZSBJUEM6OkRlY29kZXIKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MTEwMworCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBBUEkgdGVzdC4KKworICAg
ICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdFdlYktpdEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL0VudW1UcmFpdHMuY3BwOiBB
ZGRlZC4KKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorCiAyMDE2LTA4LTIzICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGlu
ZyBvdXQgcjIwNDI0My4KZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdFdlYktp
dEFQSS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYzkzOTdlNWJlNzQ1NTAw
NTJjNzE4MDc5YzQ5MDAzM2VkMTM2NDQ5Mi4uNWVlOWRlYzkxZDNmODllYzQ1NTVlYzQzYzk2NzZl
OGQwZWYxYTA3YSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0V2ViS2l0QVBJ
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
V2ViS2l0QVBJLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTM1LDYgKzM1LDcgQEAKIAkJ
MUE5RTUyQzkxM0U2NUVGNDAwNjkxN0Y1IC8qIDE4LWNoYXJhY3RlcnMuaHRtbCBpbiBDb3B5IFJl
c291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDMDQ1Rjk0NjEzODVD
MkY4MDBDMEYzQ0QgLyogMTgtY2hhcmFjdGVycy5odG1sICovOyB9OwogCQkxQURCRUZFMzEzMEM2
QUExMDBENjFEMTkgLyogc2ltcGxlLWFjY2VsZXJhdGVkLWNvbXBvc2l0aW5nLmh0bWwgaW4gQ29w
eSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFEQkVGQkMx
MzBDNkEwMTAwRDYxRDE5IC8qIHNpbXBsZS1hY2NlbGVyYXRlZC1jb21wb3NpdGluZy5odG1sICov
OyB9OwogCQkxQUVERTIyNjEzRTVFN0U3MDBFNjJGRTggLyogSW5qZWN0ZWRCdW5kbGVDb250cm9s
bGVyTWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MUFFREUyMjQxM0U1RTdBMDAwRTYyRkU4IC8qIEluamVjdGVkQnVuZGxlQ29udHJvbGxlck1hYy5t
bSAqLzsgfTsKKwkJMUFGN0IyMUYxRDZDRDE0RDAwOEMxMjZDIC8qIEVudW1UcmFpdHMuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUFGN0IyMUQxRDZD
RDEyRTAwOEMxMjZDIC8qIEVudW1UcmFpdHMuY3BwICovOyB9OwogCQkxQzJCODE4MDFDODkxRTdD
MDBBNTUyOUYgLyogQ2FuY2VsRm9udFN1YnJlc291cmNlLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUMyQjgxN0UxQzg5MUU0MjAwQTU1MjlGIC8qIENh
bmNlbEZvbnRTdWJyZXNvdXJjZS5tbSAqLzsgfTsKIAkJMUMyQjgxODMxQzg5MUYwOTAwQTU1MjlG
IC8qIENhbmNlbEZvbnRTdWJyZXNvdXJjZVBsdWdJbi5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDMkI4MTgxMUM4OTFFRkEwMEE1NTI5RiAvKiBDYW5j
ZWxGb250U3VicmVzb3VyY2VQbHVnSW4ubW0gKi87IH07CiAJCTFDMkI4MTg2MUM4OTI1OUQwMEE1
NTI5RiAvKiB3ZWJmb250Lmh0bWwgaW4gQ29weSBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMUMyQjgxODQxQzg5MjRBMjAwQTU1MjlGIC8qIHdlYmZvbnQuaHRt
bCAqLzsgfTsKQEAgLTY3Nyw2ICs2NzgsNyBAQAogCQkxQUU3MkY0NzE3M0VCMjE0MDA2MzYyRjAg
LyogVGVybWluYXRlVHdpY2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gVGVybWluYXRlVHdpY2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQUVE
RTIyNDEzRTVFN0EwMDBFNjJGRTggLyogSW5qZWN0ZWRCdW5kbGVDb250cm9sbGVyTWFjLm1tICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gSW5qZWN0ZWRCdW5kbGVDb250
cm9sbGVyTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQUVGOTk0ODE3QTA5
RjUzMDA5OThFRjAgLyogR2V0UElEQWZ0ZXJBYm9ydGVkUHJvY2Vzc0xhdW5jaC5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBHZXRQSURBZnRlckFib3J0ZWRQcm9jZXNz
TGF1bmNoLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMUFGN0IyMUQxRDZDRDEy
RTAwOEMxMjZDIC8qIEVudW1UcmFpdHMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRW51bVRyYWl0
cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBRkRFNjU0MTk1M0IyQzAwMEM0
OEZGQSAvKiBPcHRpb25hbC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBPcHRpb25hbC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDMkI4MTdFMUM4
OTFFNDIwMEE1NTI5RiAvKiBDYW5jZWxGb250U3VicmVzb3VyY2UubW0gKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBDYW5jZWxGb250U3VicmVzb3VyY2UubW07IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDMkI4MTgxMUM4OTFFRkEwMEE1NTI5RiAvKiBDYW5j
ZWxGb250U3VicmVzb3VyY2VQbHVnSW4ubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpj
cHA7IHBhdGggPSBDYW5jZWxGb250U3VicmVzb3VyY2VQbHVnSW4ubW07IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CkBAIC0xNjE4LDYgKzE2MjAsNyBAQAogCQkJCTdBQTAyMUJBMUFCMDlFQTcw
MDUyOTUzRiAvKiBEYXRlTWF0aC5jcHAgKi8sCiAJCQkJMUEzNTI0QTkxRDYyN0JENDAwMzE3MjlC
IC8qIERlbGV0ZWRBZGRyZXNzT2ZPcGVyYXRvci5oICovLAogCQkJCUU0QTc1N0QzMTc4QUVBNUIw
MEI1RDdBNCAvKiBEZXF1ZS5jcHAgKi8sCisJCQkJMUFGN0IyMUQxRDZDRDEyRTAwOEMxMjZDIC8q
IEVudW1UcmFpdHMuY3BwICovLAogCQkJCTdBMzhEN0U1MUM3NTJENUYwMDRGMTU3RCAvKiBIYXNo
Q291bnRlZFNldC5jcHAgKi8sCiAJCQkJMEJDRDgzMzQxNDg1N0NFNDAwRUEyMDAzIC8qIEhhc2hN
YXAuY3BwICovLAogCQkJCTI2QjJERkY4MTVCREU1OTkwMDRGNjkxRCAvKiBIYXNoU2V0LmNwcCAq
LywKQEAgLTIxMTMsNiArMjExNiw3IEBACiAJCQkJN0M4M0RFRTgxRDBBNTkwQzAwRkVCQ0YzIC8q
IExpc3RIYXNoU2V0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdDODNERjFEMUQwQTU5MEMwMEZF
QkNGMyAvKiBMb2NrLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdDODNERUVEMUQwQTU5MEMwMEZF
QkNGMyAvKiBNYXRoRXh0cmFzLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTFBRjdCMjFGMUQ2Q0Qx
NEQwMDhDMTI2QyAvKiBFbnVtVHJhaXRzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdDODNERUVG
MUQwQTU5MEMwMEZFQkNGMyAvKiBNRDUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0M4M0RFRjEx
RDBBNTkwQzAwRkVCQ0YzIC8qIE1lZGlhVGltZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3Qzgz
REVGNjFEMEE1OTBDMDBGRUJDRjMgLyogTWV0YUFsbG9jYXRvci5jcHAgaW4gU291cmNlcyAqLywK
ZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL0VudW1UcmFpdHMuY3Bw
IGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XVEYvRW51bVRyYWl0cy5jcHAKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMDI0NmZkZTI5ZTY2NzhlMmRkZGYyYWRjZGZiNTNlNjgzYmEzNTU1ZQotLS0gL2Rldi9udWxs
CisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV1RGL0VudW1UcmFpdHMuY3BwCkBAIC0w
LDAgKzEsNTUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpbmNsdWRl
IDx3dGYvRW51bVRyYWl0cy5oPgorCitlbnVtIGNsYXNzIFRlc3RFbnVtIHsKKyAgICBBLAorICAg
IEIsCisgICAgQywKK307CisKK25hbWVzcGFjZSBXVEYgewordGVtcGxhdGU8PiBzdHJ1Y3QgRW51
bVRyYWl0czxUZXN0RW51bT4geworICAgIHVzaW5nIHZhbHVlcyA9IEVudW1WYWx1ZXM8VGVzdEVu
dW0sIFRlc3RFbnVtOjpBLCBUZXN0RW51bTo6QiwgVGVzdEVudW06OkM+OworfTsKK30KKworbmFt
ZXNwYWNlIFRlc3RXZWJLaXRBUEkgeworCitzdGF0aWNfYXNzZXJ0KFdURjo6aXNWYWxpZEVudW08
VGVzdEVudW0+KDApLCAiIik7CitzdGF0aWNfYXNzZXJ0KCFXVEY6OmlzVmFsaWRFbnVtPFRlc3RF
bnVtPigtMSksICIiKTsKK3N0YXRpY19hc3NlcnQoIVdURjo6aXNWYWxpZEVudW08VGVzdEVudW0+
KDMpLCAiIik7CisKK1RFU1QoV1RGX0VudW1UcmFpdHMsIElzVmFsaWRFbnVtKQoreworICAgIEVY
UEVDVF9UUlVFKGlzVmFsaWRFbnVtPFRlc3RFbnVtPigwKSk7CisgICAgRVhQRUNUX0ZBTFNFKGlz
VmFsaWRFbnVtPFRlc3RFbnVtPigtMSkpOworICAgIEVYUEVDVF9GQUxTRShpc1ZhbGlkRW51bTxU
ZXN0RW51bT4oMykpOworfQorCit9Cg==
</data>
<flag name="review"
          id="310276"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>