<?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>123773</bug_id>
          
          <creation_ts>2013-11-04 17:39:23 -0800</creation_ts>
          <short_desc>AX: switch DRT AX methods to use nullptr</short_desc>
          <delta_ts>2013-11-05 08:15:13 -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>Accessibility</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="chris fleizach">cfleizach</reporter>
          <assigned_to name="chris fleizach">cfleizach</assigned_to>
          <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>946936</commentid>
    <comment_count>0</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2013-11-04 17:39:23 -0800</bug_when>
    <thetext>We can start making use of nullptr in the DRT related code (this addresses Mac platform)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>946937</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2013-11-04 17:39:31 -0800</bug_when>
    <thetext>&lt;rdar://problem/15389597&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>946948</commentid>
    <comment_count>2</comment_count>
      <attachid>215980</attachid>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2013-11-04 17:47:42 -0800</bug_when>
    <thetext>Created attachment 215980
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>946998</commentid>
    <comment_count>3</comment_count>
      <attachid>215980</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2013-11-04 20:47:44 -0800</bug_when>
    <thetext>Comment on attachment 215980
patch

View in context: https://bugs.webkit.org/attachment.cgi?id=215980&amp;action=review

r=me

&gt; Tools/ChangeLog:185
&gt; +&lt;&lt;&lt;&lt;&lt;&lt;&lt; .mine
&gt; +2013-11-04  Chris Fleizach  &lt;cfleizach@apple.com&gt;

Your ChangeLog got a bit wonked.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>947179</commentid>
    <comment_count>4</comment_count>
    <who name="chris fleizach">cfleizach</who>
    <bug_when>2013-11-05 08:15:13 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/158674</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>215980</attachid>
            <date>2013-11-04 17:47:42 -0800</date>
            <delta_ts>2013-11-04 20:47:44 -0800</delta_ts>
            <desc>patch</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>46713</size>
            <attacher name="chris fleizach">cfleizach</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDE1ODYyOCkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDIxNSBAQAorMjAxMy0xMS0wNCAgQ2hyaXMgRmxlaXphY2ggIDxjZmxlaXphY2hAYXBwbGUu
Y29tPgorCisgICAgICAgIEFYOiBzd2l0Y2ggRFJUIEFYIG1ldGhvZHMgdG8gdXNlIG51bGxwdHIK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMzc3Mwor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFN3aXRjaCBB
WCByZWxhdGVkIGNvZGUgaW4gRFJUIGFuZCBXS1RSIHRvIHVzZSBudWxscHRyLgorCisgICAgICAg
ICogRHVtcFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5jcHA6CisgICAgICAgIChB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzdGFydFRleHRNYXJrZXIpOgorICAgICAgICAoQWNjZXNz
aWJpbGl0eVVJRWxlbWVudDo6ZW5kVGV4dE1hcmtlcik6CisgICAgICAgICogRHVtcFJlbmRlclRy
ZWUvbWFjL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyTWFjLm1tOgorICAgICAgICAoZmluZEFjY2Vz
c2libGVPYmplY3RCeUlkKToKKyAgICAgICAgKEFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjphY2Nl
c3NpYmxlRWxlbWVudEJ5SWQpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL21hYy9BY2Nlc3Np
YmlsaXR5VUlFbGVtZW50TWFjLm1tOgorICAgICAgICAoQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6
Z2V0Q2hpbGRBdEluZGV4KToKKyAgICAgICAgKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Omxpbmtl
ZFVJRWxlbWVudEF0SW5kZXgpOgorICAgICAgICAoQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YXJp
YU93bnNFbGVtZW50QXRJbmRleCk6CisgICAgICAgIChBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojph
cmlhRmxvd1RvRWxlbWVudEF0SW5kZXgpOgorICAgICAgICAoQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dDo6ZGlzY2xvc2VkUm93QXRJbmRleCk6CisgICAgICAgIChBY2Nlc3NpYmlsaXR5VUlFbGVtZW50
OjpzZWxlY3RlZENoaWxkQXRJbmRleCk6CisgICAgICAgIChBY2Nlc3NpYmlsaXR5VUlFbGVtZW50
OjpzZWxlY3RlZFJvd0F0SW5kZXgpOgorICAgICAgICAoQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6
cm93QXRJbmRleCk6CisgICAgICAgIChBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp0aXRsZVVJRWxl
bWVudCk6CisgICAgICAgIChBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpwYXJlbnRFbGVtZW50KToK
KyAgICAgICAgKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmRpc2Nsb3NlZEJ5Um93KToKKyAgICAg
ICAgKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnN0cmluZ0F0dHJpYnV0ZVZhbHVlKToKKyAgICAg
ICAgKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnVpRWxlbWVudEF0dHJpYnV0ZVZhbHVlKToKKyAg
ICAgICAgKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnJvbGUpOgorICAgICAgICAoQWNjZXNzaWJp
bGl0eVVJRWxlbWVudDo6c3Vicm9sZSk6CisgICAgICAgIChBY2Nlc3NpYmlsaXR5VUlFbGVtZW50
Ojpyb2xlRGVzY3JpcHRpb24pOgorICAgICAgICAoQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6dGl0
bGUpOgorICAgICAgICAoQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6ZGVzY3JpcHRpb24pOgorICAg
ICAgICAoQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6b3JpZW50YXRpb24pOgorICAgICAgICAoQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudDo6c3RyaW5nVmFsdWUpOgorICAgICAgICAoQWNjZXNzaWJpbGl0
eVVJRWxlbWVudDo6bGFuZ3VhZ2UpOgorICAgICAgICAoQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6
aGVscFRleHQpOgorICAgICAgICAoQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6dmFsdWVEZXNjcmlw
dGlvbik6CisgICAgICAgIChBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzcGVhayk6CisgICAgICAg
IChBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpjbGFzc0xpc3QpOgorICAgICAgICAoQWNjZXNzaWJp
bGl0eVVJRWxlbWVudDo6YXJpYURyb3BFZmZlY3RzKToKKyAgICAgICAgKEFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ6OnJhbmdlRm9yTGluZSk6CisgICAgICAgIChBY2Nlc3NpYmlsaXR5VUlFbGVtZW50
OjpyYW5nZUZvclBvc2l0aW9uKToKKyAgICAgICAgKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmJv
dW5kc0ZvclJhbmdlKToKKyAgICAgICAgKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnN0cmluZ0Zv
clJhbmdlKToKKyAgICAgICAgKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmF0dHJpYnV0ZWRTdHJp
bmdGb3JSYW5nZSk6CisgICAgICAgIChBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp1aUVsZW1lbnRG
b3JTZWFyY2hQcmVkaWNhdGUpOgorICAgICAgICAoQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YXR0
cmlidXRlc09mQ29sdW1uSGVhZGVycyk6CisgICAgICAgIChBY2Nlc3NpYmlsaXR5VUlFbGVtZW50
OjphdHRyaWJ1dGVzT2ZSb3dIZWFkZXJzKToKKyAgICAgICAgKEFjY2Vzc2liaWxpdHlVSUVsZW1l
bnQ6OmF0dHJpYnV0ZXNPZkNvbHVtbnMpOgorICAgICAgICAoQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dDo6YXR0cmlidXRlc09mUm93cyk6CisgICAgICAgIChBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojph
dHRyaWJ1dGVzT2ZWaXNpYmxlQ2VsbHMpOgorICAgICAgICAoQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dDo6YXR0cmlidXRlc09mSGVhZGVyKToKKyAgICAgICAgKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OnJvd0luZGV4UmFuZ2UpOgorICAgICAgICAoQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Y29sdW1u
SW5kZXhSYW5nZSk6CisgICAgICAgIChBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpjZWxsRm9yQ29s
dW1uQW5kUm93KToKKyAgICAgICAgKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Omhvcml6b250YWxT
Y3JvbGxiYXIpOgorICAgICAgICAoQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6dmVydGljYWxTY3Jv
bGxiYXIpOgorICAgICAgICAoQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cGF0aERlc2NyaXB0aW9u
KToKKyAgICAgICAgKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNlbGVjdGVkVGV4dFJhbmdlKToK
KyAgICAgICAgKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnVybCk6CisgICAgICAgIChBY2Nlc3Np
YmlsaXR5VUlFbGVtZW50Ojp0ZXh0TWFya2VyUmFuZ2VGb3JFbGVtZW50KToKKyAgICAgICAgKEFj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnRleHRNYXJrZXJGb3JJbmRleCk6CisgICAgICAgIChBY2Nl
c3NpYmlsaXR5VUlFbGVtZW50OjpwcmV2aW91c1RleHRNYXJrZXIpOgorICAgICAgICAoQWNjZXNz
aWJpbGl0eVVJRWxlbWVudDo6bmV4dFRleHRNYXJrZXIpOgorICAgICAgICAoQWNjZXNzaWJpbGl0
eVVJRWxlbWVudDo6c3RyaW5nRm9yVGV4dE1hcmtlclJhbmdlKToKKyAgICAgICAgKEFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6OnRleHRNYXJrZXJSYW5nZUZvck1hcmtlcnMpOgorICAgICAgICAoQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudDo6c3RhcnRUZXh0TWFya2VyRm9yVGV4dE1hcmtlclJhbmdlKToK
KyAgICAgICAgKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmVuZFRleHRNYXJrZXJGb3JUZXh0TWFy
a2VyUmFuZ2UpOgorICAgICAgICAoQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6ZW5kVGV4dE1hcmtl
ckZvckJvdW5kcyk6CisgICAgICAgIChBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzdGFydFRleHRN
YXJrZXJGb3JCb3VuZHMpOgorICAgICAgICAoQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6dGV4dE1h
cmtlckZvclBvaW50KToKKyAgICAgICAgKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmFjY2Vzc2li
aWxpdHlFbGVtZW50Rm9yVGV4dE1hcmtlcik6CisgICAgICAgIChBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50OjpzdGFydFRleHRNYXJrZXIpOgorICAgICAgICAoQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6
ZW5kVGV4dE1hcmtlcik6CisgICAgICAgIChBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzdXBwb3J0
ZWRBY3Rpb25zKToKKyAgICAgICAgKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Om1hdGhQb3N0c2Ny
aXB0c0Rlc2NyaXB0aW9uKToKKyAgICAgICAgKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Om1hdGhQ
cmVzY3JpcHRzRGVzY3JpcHRpb24pOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0
ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV1RSOjpBY2Nl
c3NpYmlsaXR5Q29udHJvbGxlcjo6YWNjZXNzaWJsZUVsZW1lbnRCeUlkKToKKyAgICAgICAgKiBX
ZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0ay9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50
QXRrLmNwcDoKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c3RhcnRUZXh0
TWFya2VyKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6ZW5kVGV4dE1h
cmtlcik6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9tYWMvQWNj
ZXNzaWJpbGl0eUNvbnRyb2xsZXJNYWMubW06CisgICAgICAgIChXVFI6OmZpbmRBY2Nlc3NpYmxl
T2JqZWN0QnlJZCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjphY2Nl
c3NpYmxlRWxlbWVudEJ5SWQpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRC
dW5kbGUvbWFjL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRNYWMubW06CisgICAgICAgIChXVFI6OkFj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmNoaWxkQXRJbmRleCk6CisgICAgICAgIChXVFI6OkFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OmxpbmtlZFVJRWxlbWVudEF0SW5kZXgpOgorICAgICAgICAoV1RS
OjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphcmlhT3duc0VsZW1lbnRBdEluZGV4KToKKyAgICAg
ICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YXJpYUZsb3dUb0VsZW1lbnRBdEluZGV4
KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6ZGlzY2xvc2VkUm93QXRJ
bmRleCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnJvd0F0SW5kZXgp
OgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzZWxlY3RlZENoaWxkQXRJ
bmRleCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNlbGVjdGVkUm93
QXRJbmRleCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnRpdGxlVUlF
bGVtZW50KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cGFyZW50RWxl
bWVudCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmRpc2Nsb3NlZEJ5
Um93KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c3RyaW5nQXR0cmli
dXRlVmFsdWUpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp1aUVsZW1l
bnRBdHRyaWJ1dGVWYWx1ZSk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OnJvbGUpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzdWJyb2xlKToK
KyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cm9sZURlc2NyaXB0aW9uKToK
KyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6dGl0bGUpOgorICAgICAgICAo
V1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpkZXNjcmlwdGlvbik6CisgICAgICAgIChXVFI6
OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Om9yaWVudGF0aW9uKToKKyAgICAgICAgKFdUUjo6QWNj
ZXNzaWJpbGl0eVVJRWxlbWVudDo6c3RyaW5nVmFsdWUpOgorICAgICAgICAoV1RSOjpBY2Nlc3Np
YmlsaXR5VUlFbGVtZW50OjpsYW5ndWFnZSk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ6OmhlbHBUZXh0KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVu
dDo6dmFsdWVEZXNjcmlwdGlvbik6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1l
bnQ6OmNsYXNzTGlzdCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNw
ZWFrKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YXJpYURyb3BFZmZl
Y3RzKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cmFuZ2VGb3JMaW5l
KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cmFuZ2VGb3JQb3NpdGlv
bik6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmJvdW5kc0ZvclJhbmdl
KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c3RyaW5nRm9yUmFuZ2Up
OgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphdHRyaWJ1dGVkU3RyaW5n
Rm9yUmFuZ2UpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp1aUVsZW1l
bnRGb3JTZWFyY2hQcmVkaWNhdGUpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50OjphdHRyaWJ1dGVzT2ZDb2x1bW5IZWFkZXJzKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJp
bGl0eVVJRWxlbWVudDo6YXR0cmlidXRlc09mUm93SGVhZGVycyk6CisgICAgICAgIChXVFI6OkFj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmF0dHJpYnV0ZXNPZkNvbHVtbnMpOgorICAgICAgICAoV1RS
OjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphdHRyaWJ1dGVzT2ZSb3dzKToKKyAgICAgICAgKFdU
Ujo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YXR0cmlidXRlc09mVmlzaWJsZUNlbGxzKToKKyAg
ICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YXR0cmlidXRlc09mSGVhZGVyKToK
KyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cm93SW5kZXhSYW5nZSk6Cisg
ICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmNvbHVtbkluZGV4UmFuZ2UpOgor
ICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpjZWxsRm9yQ29sdW1uQW5kUm93
KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aG9yaXpvbnRhbFNjcm9s
bGJhcik6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnZlcnRpY2FsU2Ny
b2xsYmFyKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c2VsZWN0ZWRU
ZXh0UmFuZ2UpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp1cmwpOgor
ICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp0ZXh0TWFya2VyUmFuZ2VGb3JF
bGVtZW50KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cHJldmlvdXNU
ZXh0TWFya2VyKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6bmV4dFRl
eHRNYXJrZXIpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzdHJpbmdG
b3JUZXh0TWFya2VyUmFuZ2UpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50
Ojp0ZXh0TWFya2VyUmFuZ2VGb3JNYXJrZXJzKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0
eVVJRWxlbWVudDo6c3RhcnRUZXh0TWFya2VyRm9yVGV4dE1hcmtlclJhbmdlKToKKyAgICAgICAg
KFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6ZW5kVGV4dE1hcmtlckZvclRleHRNYXJrZXJS
YW5nZSk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmVuZFRleHRNYXJr
ZXJGb3JCb3VuZHMpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzdGFy
dFRleHRNYXJrZXJGb3JCb3VuZHMpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50Ojp0ZXh0TWFya2VyRm9yUG9pbnQpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50OjphY2Nlc3NpYmlsaXR5RWxlbWVudEZvclRleHRNYXJrZXIpOgorICAgICAgICAoV1RS
OjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp0ZXh0TWFya2VyRm9ySW5kZXgpOgorICAgICAgICAo
V1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzdGFydFRleHRNYXJrZXIpOgorICAgICAgICAo
V1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjplbmRUZXh0TWFya2VyKToKKyAgICAgICAgKFdU
Ujo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6bWF0aFBvc3RzY3JpcHRzRGVzY3JpcHRpb24pOgor
ICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjptYXRoUHJlc2NyaXB0c0Rlc2Ny
aXB0aW9uKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cGF0aERlc2Ny
aXB0aW9uKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c3VwcG9ydGVk
QWN0aW9ucyk6CisKKzIwMTMtMDQtMjMgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFwcGxl
LmNvbT4KKworICAgICAgICBBWDogTWF0aE1MIG11bHRpc2NyaXB0cyBub3QgZXhwb3NlZCBpbiBB
Y2Nlc3NpYmlsaXR5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMTUwNjkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBBZGQgbWV0aG9kcyB0byBoZWxwIG91dHB1dCBjb21wb25lbnRzIG9mIG1hdGggbXVsdGlz
Y3JpcHRzIGZvciBhY2Nlc3NpYmlsaXR5LgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudC5jcHA6CisgICAgICAgIChtYXRoUG9zdHNjcmlwdHNEZXNjcmlw
dGlvbkNhbGxiYWNrKToKKyAgICAgICAgKG1hdGhQcmVzY3JpcHRzRGVzY3JpcHRpb25DYWxsYmFj
ayk6CisgICAgICAgIChBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpnZXRKU0NsYXNzKToKKyAgICAg
ICAgKiBEdW1wUmVuZGVyVHJlZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50Lmg6CisgICAgICAgIChB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50KToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMvQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudE1hYy5tbToKKyAgICAgICAgKF9jb252ZXJ0TWF0aE11bHRpc2Ny
aXB0UGFpcnNUb1N0cmluZyk6CisgICAgICAgIChBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjptYXRo
UG9zdHNjcmlwdHNEZXNjcmlwdGlvbik6CisgICAgICAgIChBY2Nlc3NpYmlsaXR5VUlFbGVtZW50
OjptYXRoUHJlc2NyaXB0c0Rlc2NyaXB0aW9uKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVy
L0luamVjdGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuY3BwOgorICAgICAgICAoV1RS
OjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjptYXRoUG9zdHNjcmlwdHNEZXNjcmlwdGlvbik6Cisg
ICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Om1hdGhQcmVzY3JpcHRzRGVzY3Jp
cHRpb24pOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQWNjZXNz
aWJpbGl0eVVJRWxlbWVudC5oOgorICAgICAgICAoQWNjZXNzaWJpbGl0eVVJRWxlbWVudCk6Cisg
ICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9BY2Nlc3Np
YmlsaXR5VUlFbGVtZW50LmlkbDoKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL21hYy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50TWFjLm1tOgorICAgICAgICAoV1RSOjpf
Y29udmVydE1hdGhNdWx0aXNjcmlwdFBhaXJzVG9TdHJpbmcpOgorICAgICAgICAoV1RSKToKKyAg
ICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6bWF0aFBvc3RzY3JpcHRzRGVzY3Jp
cHRpb24pOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjptYXRoUHJlc2Ny
aXB0c0Rlc2NyaXB0aW9uKToKKworPDw8PDw8PCAubWluZQorMjAxMy0xMS0wNCAgQ2hyaXMgRmxl
aXphY2ggIDxjZmxlaXphY2hAYXBwbGUuY29tPgorCisgICAgICAgIEFYOiBNYWlsIGF0dGFjaG1l
bnRzIGF0IHRoZSBzdGFydCBvZiBhbiBlbWFpbCBhcmUgbm90IG91dHB1dCBieSBWb2ljZU92ZXIK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMzY5Nwor
CisgICAgICAgIFJldmlld2VkIGJ5IFJ5b3N1a2UgTml3YS4KKworICAgICAgICBTdXBwb3J0IHRo
ZSBBWFN0YXJ0VGV4dE1hcmtlciBhbmQgQVhFbmRUZXh0TWFya2VyIGNhbGxzLgorCisgICAgICAg
ICogRHVtcFJlbmRlclRyZWUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5jcHA6CisgICAgICAgIChz
dGFydFRleHRNYXJrZXJDYWxsYmFjayk6CisgICAgICAgIChlbmRUZXh0TWFya2VyQ2FsbGJhY2sp
OgorICAgICAgICAoQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c3RhcnRUZXh0TWFya2VyKToKKyAg
ICAgICAgKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmVuZFRleHRNYXJrZXIpOgorICAgICAgICAo
QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Z2V0SlNDbGFzcyk6CisgICAgICAgICogRHVtcFJlbmRl
clRyZWUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5oOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVl
L21hYy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50TWFjLm1tOgorICAgICAgICAoQWNjZXNzaWJpbGl0
eVVJRWxlbWVudDo6c3RhcnRUZXh0TWFya2VyKToKKyAgICAgICAgKEFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6OmVuZFRleHRNYXJrZXIpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0
ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5jcHA6CisgICAgICAgIChXVFI6OkFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OnN0YXJ0VGV4dE1hcmtlcik6CisgICAgICAgIChXVFI6OkFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OmVuZFRleHRNYXJrZXIpOgorICAgICAgICAqIFdlYktpdFRlc3RS
dW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5pZGw6
CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9tYWMvQWNjZXNzaWJp
bGl0eVVJRWxlbWVudE1hYy5tbToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVu
dDo6c3RhcnRUZXh0TWFya2VyKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVu
dDo6ZW5kVGV4dE1hcmtlcik6CisKKz09PT09PT0KIDIwMTMtMTEtMDQgIEFuZGVycyBDYXJsc3Nv
biAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KIAogICAgICAgICBNb3JlIFdLUmVtb3RlT2JqZWN0UmVn
aXN0cnkgd29yawpAQCAtMTUsNiArMjI3LDcgQEAKICAgICAgICAgQWRkIEJ1bmRsZU9iamVjdCBp
bXBsZW1lbnRhdGlvbi4gUmVnaXN0ZXIgdGhlIGJ1bmRsZSBvYmplY3Qgd2l0aAogICAgICAgICB0
aGUgcmVtb3RlIG9iamVjdCByZWdpc3RyeS4gQ2FsbCBfaGFuZGxlTWVzc2FnZVdpdGhOYW1lOmJv
ZHk6IG9uIHRoZSBpbmNvbWluZyBtZXNzYWdlLgogCis+Pj4+Pj4+IC5yMTU4NjE0CiAyMDEzLTEx
LTA0ICBLcnp5c3p0b2YgQ3plY2ggIDxrLmN6ZWNoQHNhbXN1bmcuY29tPgogCiAgICAgICAgIFtF
RkxdIENoYW5nZSBBVEsgdmVyc2lvbiB0byAyLjEwLjAKSW5kZXg6IFRvb2xzL0R1bXBSZW5kZXJU
cmVlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0R1bXBS
ZW5kZXJUcmVlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuY3BwCShyZXZpc2lvbiAxNTg2MTcpCisr
KyBUb29scy9EdW1wUmVuZGVyVHJlZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMTI1NCwxMiArMTI1NCwxMiBAQAogCiBBY2Nlc3NpYmlsaXR5VGV4dE1hcmtl
ciBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzdGFydFRleHRNYXJrZXIoKQogewotICAgIHJldHVy
biAwOworICAgIHJldHVybiBudWxscHRyOwogfQogCiBBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlciBB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50OjplbmRUZXh0TWFya2VyKCkKIHsKLSAgICByZXR1cm4gMDsK
KyAgICByZXR1cm4gbnVsbHB0cjsKIH0KIAogI2VuZGlmCkluZGV4OiBUb29scy9EdW1wUmVuZGVy
VHJlZS9tYWMvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXJNYWMubW0KPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9v
bHMvRHVtcFJlbmRlclRyZWUvbWFjL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyTWFjLm1tCShyZXZp
c2lvbiAxNTg2MTQpCisrKyBUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMvQWNjZXNzaWJpbGl0eUNv
bnRyb2xsZXJNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTg5LDcgKzg5LDcgQEAKICAgICB9CiAg
ICAgRU5EX0FYX09CSkNfRVhDRVBUSU9OUwogCi0gICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIG51
bGxwdHI7CiB9CiAKIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQgQWNjZXNzaWJpbGl0eUNvbnRyb2xs
ZXI6OmFjY2Vzc2libGVFbGVtZW50QnlJZChKU1N0cmluZ1JlZiBpZEF0dHJpYnV0ZVJlZikKQEAg
LTEwMCw3ICsxMDAsNyBAQAogICAgIGlmIChyZXN1bHQpCiAgICAgICAgIHJldHVybiBBY2Nlc3Np
YmlsaXR5VUlFbGVtZW50KHJlc3VsdCk7CiAKLSAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gbnVs
bHB0cjsKIH0KIAogdm9pZCBBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6c2V0TG9nRm9jdXNFdmVu
dHMoYm9vbCkKSW5kZXg6IFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9BY2Nlc3NpYmlsaXR5VUlF
bGVtZW50TWFjLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9BY2Nl
c3NpYmlsaXR5VUlFbGVtZW50TWFjLm1tCShyZXZpc2lvbiAxNTg2MTcpCisrKyBUb29scy9EdW1w
UmVuZGVyVHJlZS9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudE1hYy5tbQkod29ya2luZyBjb3B5
KQpAQCAtMjU2LDcgKzI1Niw3IEBACiAKICAgICBpZiAoY2hpbGRyZW4uc2l6ZSgpID09IDEpCiAg
ICAgICAgIHJldHVybiBjaGlsZHJlblswXTsKLSAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gbnVs
bHB0cjsKIH0KIAogQWNjZXNzaWJpbGl0eVVJRWxlbWVudCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50
OjpsaW5rZWRVSUVsZW1lbnRBdEluZGV4KHVuc2lnbmVkIGluZGV4KQpAQCAtMjY3LDcgKzI2Nyw3
IEBACiAgICAgICAgIHJldHVybiBbb2JqZWN0cyBvYmplY3RBdEluZGV4OmluZGV4XTsKICAgICBF
TkRfQVhfT0JKQ19FWENFUFRJT05TCiAgICAgCi0gICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIG51
bGxwdHI7CiB9CiAKIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQgQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dDo6YXJpYU93bnNFbGVtZW50QXRJbmRleCh1bnNpZ25lZCBpbmRleCkKQEAgLTI3OCw3ICsyNzgs
NyBAQAogICAgICAgICByZXR1cm4gW29iamVjdHMgb2JqZWN0QXRJbmRleDppbmRleF07CiAgICAg
RU5EX0FYX09CSkNfRVhDRVBUSU9OUwogICAgIAotICAgIHJldHVybiAwOworICAgIHJldHVybiBu
dWxscHRyOwogfQogCiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50IEFjY2Vzc2liaWxpdHlVSUVsZW1l
bnQ6OmFyaWFGbG93VG9FbGVtZW50QXRJbmRleCh1bnNpZ25lZCBpbmRleCkKQEAgLTI4OSw3ICsy
ODksNyBAQAogICAgICAgICByZXR1cm4gW29iamVjdHMgb2JqZWN0QXRJbmRleDppbmRleF07CiAg
ICAgRU5EX0FYX09CSkNfRVhDRVBUSU9OUwogICAgIAotICAgIHJldHVybiAwOworICAgIHJldHVy
biBudWxscHRyOwogfQogCiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50IEFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6OmRpc2Nsb3NlZFJvd0F0SW5kZXgodW5zaWduZWQgaW5kZXgpCkBAIC0zMDAsNyArMzAw
LDcgQEAKICAgICAgICAgcmV0dXJuIFtyb3dzIG9iamVjdEF0SW5kZXg6aW5kZXhdOwogICAgIEVO
RF9BWF9PQkpDX0VYQ0VQVElPTlMKIAotICAgIHJldHVybiAwOworICAgIHJldHVybiBudWxscHRy
OwogfQogCiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNl
bGVjdGVkQ2hpbGRBdEluZGV4KHVuc2lnbmVkIGluZGV4KSBjb25zdApAQCAtMzExLDcgKzMxMSw3
IEBACiAgICAgICAgIHJldHVybiBbYXJyYXkgb2JqZWN0QXRJbmRleDppbmRleF07CiAgICAgRU5E
X0FYX09CSkNfRVhDRVBUSU9OUwogICAgIAotICAgIHJldHVybiAwOworICAgIHJldHVybiBudWxs
cHRyOwogfQogCiB1bnNpZ25lZCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzZWxlY3RlZENoaWxk
cmVuQ291bnQoKSBjb25zdApAQCAtMzMxLDcgKzMzMSw3IEBACiAgICAgICAgIHJldHVybiBbcm93
cyBvYmplY3RBdEluZGV4OmluZGV4XTsKICAgICBFTkRfQVhfT0JKQ19FWENFUFRJT05TCiAgICAg
Ci0gICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKIEFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cm93QXRJbmRleCh1bnNpZ25lZCBpbmRl
eCkKQEAgLTM0Miw3ICszNDIsNyBAQAogICAgICAgICByZXR1cm4gW3Jvd3Mgb2JqZWN0QXRJbmRl
eDppbmRleF07CiAgICAgRU5EX0FYX09CSkNfRVhDRVBUSU9OUwogICAgIAotICAgIHJldHVybiAw
OworICAgIHJldHVybiBudWxscHRyOwogfQogCiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50IEFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OnRpdGxlVUlFbGVtZW50KCkKQEAgLTM1Myw3ICszNTMsNyBAQAog
ICAgICAgICByZXR1cm4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudChhY2Nlc3NpYmlsaXR5T2JqZWN0
KTsKICAgICBFTkRfQVhfT0JKQ19FWENFUFRJT05TCiAgICAgCi0gICAgcmV0dXJuIDA7CisgICAg
cmV0dXJuIG51bGxwdHI7CiB9CiAKIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQgQWNjZXNzaWJpbGl0
eVVJRWxlbWVudDo6cGFyZW50RWxlbWVudCgpCkBAIC0zNjQsNyArMzY0LDcgQEAKICAgICAgICAg
cmV0dXJuIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQoYWNjZXNzaWJpbGl0eU9iamVjdCk7CiAgICAg
RU5EX0FYX09CSkNfRVhDRVBUSU9OUwogICAgIAotICAgIHJldHVybiAwOworICAgIHJldHVybiBu
dWxscHRyOwogfQogCiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50IEFjY2Vzc2liaWxpdHlVSUVsZW1l
bnQ6OmRpc2Nsb3NlZEJ5Um93KCkKQEAgLTM3NSw3ICszNzUsNyBAQAogICAgICAgICByZXR1cm4g
QWNjZXNzaWJpbGl0eVVJRWxlbWVudChhY2Nlc3NpYmlsaXR5T2JqZWN0KTsKICAgICBFTkRfQVhf
T0JKQ19FWENFUFRJT05TCiAgICAgCi0gICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIG51bGxwdHI7
CiB9CiAKIEpTU3RyaW5nUmVmIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmF0dHJpYnV0ZXNPZkxp
bmtlZFVJRWxlbWVudHMoKQpAQCAtNDEzLDcgKzQxMyw3IEBACiAgICAgICAgIHJldHVybiBbdmFs
dWUgY3JlYXRlSlNTdHJpbmdSZWZdOwogICAgIEVORF9BWF9PQkpDX0VYQ0VQVElPTlMKIAotICAg
IHJldHVybiAwOworICAgIHJldHVybiBudWxscHRyOwogfQogCiBBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnVpRWxlbWVudEF0dHJpYnV0ZVZhbHVlKEpTU3Ry
aW5nUmVmIGF0dHJpYnV0ZSkgY29uc3QKQEAgLTQyMyw3ICs0MjMsNyBAQAogICAgIHJldHVybiBB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50KHVpRWxlbWVudCk7CiAgICAgRU5EX0FYX09CSkNfRVhDRVBU
SU9OUwogICAgIAotICAgIHJldHVybiAwOworICAgIHJldHVybiBudWxscHRyOwogfQogCiAKQEAg
LTQ4Niw3ICs0ODYsNyBAQAogICAgIHJldHVybiBjb25jYXRlbmF0ZUF0dHJpYnV0ZUFuZFZhbHVl
KEAiQVhSb2xlIiwgcm9sZSk7CiAgICAgRU5EX0FYX09CSkNfRVhDRVBUSU9OUwogICAgIAotICAg
IHJldHVybiAwOworICAgIHJldHVybiBudWxscHRyOwogfQogCiBKU1N0cmluZ1JlZiBBY2Nlc3Np
YmlsaXR5VUlFbGVtZW50OjpzdWJyb2xlKCkKQEAgLTQ5Niw3ICs0OTYsNyBAQAogICAgIHJldHVy
biBjb25jYXRlbmF0ZUF0dHJpYnV0ZUFuZFZhbHVlKEAiQVhTdWJyb2xlIiwgcm9sZSk7CiAgICAg
RU5EX0FYX09CSkNfRVhDRVBUSU9OUwogCi0gICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIG51bGxw
dHI7CiB9CiAKIEpTU3RyaW5nUmVmIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnJvbGVEZXNjcmlw
dGlvbigpCkBAIC01MDYsNyArNTA2LDcgQEAKICAgICByZXR1cm4gY29uY2F0ZW5hdGVBdHRyaWJ1
dGVBbmRWYWx1ZShAIkFYUm9sZURlc2NyaXB0aW9uIiwgcm9sZSk7CiAgICAgRU5EX0FYX09CSkNf
RVhDRVBUSU9OUwogICAgIAotICAgIHJldHVybiAwOworICAgIHJldHVybiBudWxscHRyOwogfQog
CiBKU1N0cmluZ1JlZiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp0aXRsZSgpCkBAIC01MTYsNyAr
NTE2LDcgQEAKICAgICByZXR1cm4gY29uY2F0ZW5hdGVBdHRyaWJ1dGVBbmRWYWx1ZShAIkFYVGl0
bGUiLCB0aXRsZSk7CiAgICAgRU5EX0FYX09CSkNfRVhDRVBUSU9OUwogCi0gICAgcmV0dXJuIDA7
CisgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKIEpTU3RyaW5nUmVmIEFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6OmRlc2NyaXB0aW9uKCkKQEAgLTUyNiw3ICs1MjYsNyBAQAogICAgIHJldHVybiBjb25j
YXRlbmF0ZUF0dHJpYnV0ZUFuZFZhbHVlKEAiQVhEZXNjcmlwdGlvbiIsIGRlc2NyaXB0aW9uKTsK
ICAgICBFTkRfQVhfT0JKQ19FWENFUFRJT05TCiAKLSAgICByZXR1cm4gMDsKKyAgICByZXR1cm4g
bnVsbHB0cjsKIH0KIAogSlNTdHJpbmdSZWYgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6b3JpZW50
YXRpb24oKSBjb25zdApAQCAtNTM2LDcgKzUzNiw3IEBACiAgICAgcmV0dXJuIGNvbmNhdGVuYXRl
QXR0cmlidXRlQW5kVmFsdWUoQCJBWE9yaWVudGF0aW9uIiwgZGVzY3JpcHRpb24pOyAgICAKICAg
ICBFTkRfQVhfT0JKQ19FWENFUFRJT05TCiAKLSAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gbnVs
bHB0cjsKIH0KIAogSlNTdHJpbmdSZWYgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c3RyaW5nVmFs
dWUoKQpAQCAtNTQ2LDcgKzU0Niw3IEBACiAgICAgcmV0dXJuIGNvbmNhdGVuYXRlQXR0cmlidXRl
QW5kVmFsdWUoQCJBWFZhbHVlIiwgZGVzY3JpcHRpb24pOwogICAgIEVORF9BWF9PQkpDX0VYQ0VQ
VElPTlMKIAotICAgIHJldHVybiAwOworICAgIHJldHVybiBudWxscHRyOwogfQogCiBKU1N0cmlu
Z1JlZiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpsYW5ndWFnZSgpCkBAIC01NTYsNyArNTU2LDcg
QEAKICAgICByZXR1cm4gY29uY2F0ZW5hdGVBdHRyaWJ1dGVBbmRWYWx1ZShAIkFYTGFuZ3VhZ2Ui
LCBkZXNjcmlwdGlvbik7CiAgICAgRU5EX0FYX09CSkNfRVhDRVBUSU9OUwogCi0gICAgcmV0dXJu
IDA7CisgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKIEpTU3RyaW5nUmVmIEFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ6OmhlbHBUZXh0KCkgY29uc3QKQEAgLTU2Niw3ICs1NjYsNyBAQAogICAgIHJldHVy
biBjb25jYXRlbmF0ZUF0dHJpYnV0ZUFuZFZhbHVlKEAiQVhIZWxwIiwgZGVzY3JpcHRpb24pOwog
ICAgIEVORF9BWF9PQkpDX0VYQ0VQVElPTlMKICAgICAKLSAgICByZXR1cm4gMDsKKyAgICByZXR1
cm4gbnVsbHB0cjsKIH0KIAogZG91YmxlIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OngoKQpAQCAt
NjcwLDcgKzY3MCw3IEBACiAgICAgICAgIHJldHVybiBjb25jYXRlbmF0ZUF0dHJpYnV0ZUFuZFZh
bHVlKEAiQVhWYWx1ZURlc2NyaXB0aW9uIiwgdmFsdWVEZXNjcmlwdGlvbik7CiAgICAgRU5EX0FY
X09CSkNfRVhDRVBUSU9OUwogICAgIAotICAgIHJldHVybiAwOworICAgIHJldHVybiBudWxscHRy
OwogfQogCiBpbnQgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aW5zZXJ0aW9uUG9pbnRMaW5lTnVt
YmVyKCkKQEAgLTc4OSw3ICs3ODksNyBAQAogICAgICAgICByZXR1cm4gW3ZhbHVlIGNyZWF0ZUpT
U3RyaW5nUmVmXTsKICAgICBFTkRfQVhfT0JKQ19FWENFUFRJT05TCiAgICAgICAgIAotICAgIHJl
dHVybiAwOworICAgIHJldHVybiBudWxscHRyOwogfQogCiBKU1N0cmluZ1JlZiBBY2Nlc3NpYmls
aXR5VUlFbGVtZW50OjpjbGFzc0xpc3QoKSBjb25zdApAQCAtNzk3LDcgKzc5Nyw3IEBACiAgICAg
QkVHSU5fQVhfT0JKQ19FWENFUFRJT05TCiAgICAgaWQgdmFsdWUgPSBbbV9lbGVtZW50IGFjY2Vz
c2liaWxpdHlBdHRyaWJ1dGVWYWx1ZTpAIkFYRE9NQ2xhc3NMaXN0Il07CiAgICAgaWYgKCFbdmFs
dWUgaXNLaW5kT2ZDbGFzczpbTlNBcnJheSBjbGFzc11dKQotICAgICAgICByZXR1cm4gMDsKKyAg
ICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgCiAgICAgTlNNdXRhYmxlU3RyaW5nKiBjbGFzc0xp
c3QgPSBbTlNNdXRhYmxlU3RyaW5nIHN0cmluZ107CiAgICAgTlNJbnRlZ2VyIGxlbmd0aCA9IFt2
YWx1ZSBjb3VudF07CkBAIC04MDksNiArODA5LDggQEAKICAgICAKICAgICByZXR1cm4gW2NsYXNz
TGlzdCBjcmVhdGVKU1N0cmluZ1JlZl07CiAgICAgRU5EX0FYX09CSkNfRVhDRVBUSU9OUworICAg
IAorICAgIHJldHVybiBudWxscHRyOwogfQogCiBib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OmFyaWFJc0dyYWJiZWQoKSBjb25zdApAQCAtODQwLDcgKzg0Miw3IEBACiAgICAgcmV0dXJuIFtk
cm9wRWZmZWN0cyBjcmVhdGVKU1N0cmluZ1JlZl07CiAgICAgRU5EX0FYX09CSkNfRVhDRVBUSU9O
UwogICAgIAotICAgIHJldHVybiAwOworICAgIHJldHVybiBudWxscHRyOwogfQogCiAvLyBwYXJh
bWV0ZXJpemVkIGF0dHJpYnV0ZXMKQEAgLTg2Myw3ICs4NjUsNyBAQAogICAgICAgICByZXR1cm4g
W05TU3RyaW5nRnJvbVJhbmdlKFt2YWx1ZSByYW5nZVZhbHVlXSkgY3JlYXRlSlNTdHJpbmdSZWZd
OwogICAgIEVORF9BWF9PQkpDX0VYQ0VQVElPTlMKICAgICAKLSAgICByZXR1cm4gMDsKKyAgICBy
ZXR1cm4gbnVsbHB0cjsKIH0KIAogSlNTdHJpbmdSZWYgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6
cmFuZ2VGb3JQb3NpdGlvbihpbnQgeCwgaW50IHkpCkBAIC04NzQsNyArODc2LDcgQEAKICAgICAg
ICAgcmV0dXJuIFtOU1N0cmluZ0Zyb21SYW5nZShbdmFsdWUgcmFuZ2VWYWx1ZV0pIGNyZWF0ZUpT
U3RyaW5nUmVmXTsKICAgICBFTkRfQVhfT0JKQ19FWENFUFRJT05TCiAgICAgCi0gICAgcmV0dXJu
IDA7CisgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKIApAQCAtODkyLDcgKzg5NCw3IEBACiAgICAg
cmV0dXJuIFtib3VuZHNEZXNjcmlwdGlvbiBjcmVhdGVKU1N0cmluZ1JlZl07CiAgICAgRU5EX0FY
X09CSkNfRVhDRVBUSU9OUwogICAgIAotICAgIHJldHVybiAwOworICAgIHJldHVybiBudWxscHRy
OwogfQogCiBKU1N0cmluZ1JlZiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzdHJpbmdGb3JSYW5n
ZSh1bnNpZ25lZCBsb2NhdGlvbiwgdW5zaWduZWQgbGVuZ3RoKQpAQCAtOTA2LDcgKzkwOCw3IEBA
CiAgICAgcmV0dXJuIFtzdHJpbmcgY3JlYXRlSlNTdHJpbmdSZWZdOwogICAgIEVORF9BWF9PQkpD
X0VYQ0VQVElPTlMKICAgICAKLSAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gbnVsbHB0cjsKIH0K
IAogSlNTdHJpbmdSZWYgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YXR0cmlidXRlZFN0cmluZ0Zv
clJhbmdlKHVuc2lnbmVkIGxvY2F0aW9uLCB1bnNpZ25lZCBsZW5ndGgpCkBAIC05MjEsNyArOTIz
LDcgQEAKICAgICByZXR1cm4gW3N0cmluZ1dpdGhBdHRycyBjcmVhdGVKU1N0cmluZ1JlZl07CiAg
ICAgRU5EX0FYX09CSkNfRVhDRVBUSU9OUwogICAgIAotICAgIHJldHVybiAwOworICAgIHJldHVy
biBudWxscHRyOwogfQogCiBib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmF0dHJpYnV0ZWRT
dHJpbmdSYW5nZUlzTWlzc3BlbGxlZCh1bnNpZ25lZCBsb2NhdGlvbiwgdW5zaWduZWQgbGVuZ3Ro
KQpAQCAtMTAwMCw3ICsxMDAyLDcgQEAKICAgICByZXR1cm4gQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dCh1aUVsZW1lbnQpOwogICAgIEVORF9BWF9PQkpDX0VYQ0VQVElPTlMKICAgICAKLSAgICByZXR1
cm4gMDsKKyAgICByZXR1cm4gbnVsbHB0cjsKIH0KIAogSlNTdHJpbmdSZWYgQWNjZXNzaWJpbGl0
eVVJRWxlbWVudDo6YXR0cmlidXRlc09mQ29sdW1uSGVhZGVycygpCkBAIC0xMDEzLDcgKzEwMTUs
NyBAQAogICAgIHJldHVybiBkZXNjcmlwdGlvbk9mRWxlbWVudHMoY29sdW1uSGVhZGVyc1ZlY3Rv
cik7CiAgICAgRU5EX0FYX09CSkNfRVhDRVBUSU9OUwogICAgIAotICAgIHJldHVybiAwOworICAg
IHJldHVybiBudWxscHRyOwogfQogCiBKU1N0cmluZ1JlZiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50
OjphdHRyaWJ1dGVzT2ZSb3dIZWFkZXJzKCkKQEAgLTEwMjUsNyArMTAyNyw3IEBACiAgICAgcmV0
dXJuIGRlc2NyaXB0aW9uT2ZFbGVtZW50cyhyb3dIZWFkZXJzVmVjdG9yKTsKICAgICBFTkRfQVhf
T0JKQ19FWENFUFRJT05TCiAgICAgCi0gICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIG51bGxwdHI7
CiB9CiAKIEpTU3RyaW5nUmVmIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmF0dHJpYnV0ZXNPZkNv
bHVtbnMoKQpAQCAtMTAzNyw3ICsxMDM5LDcgQEAKICAgICByZXR1cm4gZGVzY3JpcHRpb25PZkVs
ZW1lbnRzKGNvbHVtbnNWZWN0b3IpOwogICAgIEVORF9BWF9PQkpDX0VYQ0VQVElPTlMKICAgICAK
LSAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gbnVsbHB0cjsKIH0KIAogSlNTdHJpbmdSZWYgQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudDo6YXR0cmlidXRlc09mUm93cygpCkBAIC0xMDQ5LDcgKzEwNTEs
NyBAQAogICAgIHJldHVybiBkZXNjcmlwdGlvbk9mRWxlbWVudHMocm93c1ZlY3Rvcik7CiAgICAg
RU5EX0FYX09CSkNfRVhDRVBUSU9OUwogICAgIAotICAgIHJldHVybiAwOworICAgIHJldHVybiBu
dWxscHRyOwogfQogCiBKU1N0cmluZ1JlZiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphdHRyaWJ1
dGVzT2ZWaXNpYmxlQ2VsbHMoKQpAQCAtMTA2MSw3ICsxMDYzLDcgQEAKICAgICByZXR1cm4gZGVz
Y3JpcHRpb25PZkVsZW1lbnRzKGNlbGxzVmVjdG9yKTsKICAgICBFTkRfQVhfT0JKQ19FWENFUFRJ
T05TCiAgICAgCi0gICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKIEpTU3Ry
aW5nUmVmIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmF0dHJpYnV0ZXNPZkhlYWRlcigpCkBAIC0x
MDc2LDcgKzEwNzgsNyBAQAogICAgIHJldHVybiBkZXNjcmlwdGlvbk9mRWxlbWVudHMoaGVhZGVy
VmVjdG9yKTsKICAgICBFTkRfQVhfT0JKQ19FWENFUFRJT05TCiAgICAgCi0gICAgcmV0dXJuIDA7
CisgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKIGludCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpy
b3dDb3VudCgpCkBAIC0xMTE5LDcgKzExMjEsNyBAQAogICAgIHJldHVybiBbcmFuZ2VEZXNjcmlw
dGlvbiBjcmVhdGVKU1N0cmluZ1JlZl07CiAgICAgRU5EX0FYX09CSkNfRVhDRVBUSU9OUwogICAg
IAotICAgIHJldHVybiAwOworICAgIHJldHVybiBudWxscHRyOwogfQogCiBKU1N0cmluZ1JlZiBB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpjb2x1bW5JbmRleFJhbmdlKCkKQEAgLTExMzMsNyArMTEz
NSw3IEBACiAgICAgcmV0dXJuIFtyYW5nZURlc2NyaXB0aW9uIGNyZWF0ZUpTU3RyaW5nUmVmXTsg
ICAgCiAgICAgRU5EX0FYX09CSkNfRVhDRVBUSU9OUwogICAgIAotICAgIHJldHVybiAwOworICAg
IHJldHVybiBudWxscHRyOwogfQogCiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50IEFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OmNlbGxGb3JDb2x1bW5BbmRSb3codW5zaWduZWQgY29sLCB1bnNpZ25lZCBy
b3cpCkBAIC0xMTQzLDcgKzExNDUsNyBAQAogICAgIHJldHVybiBbbV9lbGVtZW50IGFjY2Vzc2li
aWxpdHlBdHRyaWJ1dGVWYWx1ZTpAIkFYQ2VsbEZvckNvbHVtbkFuZFJvdyIgZm9yUGFyYW1ldGVy
OmNvbFJvd0FycmF5XTsKICAgICBFTkRfQVhfT0JKQ19FWENFUFRJT05TICAgIAogCi0gICAgcmV0
dXJuIDA7CisgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQg
QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aG9yaXpvbnRhbFNjcm9sbGJhcigpIGNvbnN0CkBAIC0x
MTUyLDcgKzExNTQsNyBAQAogICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50KFttX2Vs
ZW1lbnQgYWNjZXNzaWJpbGl0eUF0dHJpYnV0ZVZhbHVlOk5TQWNjZXNzaWJpbGl0eUhvcml6b250
YWxTY3JvbGxCYXJBdHRyaWJ1dGVdKTsKICAgICBFTkRfQVhfT0JKQ19FWENFUFRJT05TICAgIAog
ICAgIAotICAgIHJldHVybiAwOworICAgIHJldHVybiBudWxscHRyOwogfQogCiBBY2Nlc3NpYmls
aXR5VUlFbGVtZW50IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnZlcnRpY2FsU2Nyb2xsYmFyKCkg
Y29uc3QKQEAgLTExNjEsNyArMTE2Myw3IEBACiAgICAgcmV0dXJuIEFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQoW21fZWxlbWVudCBhY2Nlc3NpYmlsaXR5QXR0cmlidXRlVmFsdWU6TlNBY2Nlc3NpYmls
aXR5VmVydGljYWxTY3JvbGxCYXJBdHRyaWJ1dGVdKTsKICAgICBFTkRfQVhfT0JKQ19FWENFUFRJ
T05TICAgICAgICAKIAotICAgIHJldHVybiAwOworICAgIHJldHVybiBudWxscHRyOwogfQogCiBK
U1N0cmluZ1JlZiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpwYXRoRGVzY3JpcHRpb24oKSBjb25z
dApAQCAtMTE5NCw3ICsxMTk2LDcgQEAKICAgICByZXR1cm4gW3Jlc3VsdCBjcmVhdGVKU1N0cmlu
Z1JlZl07CiAgICAgRU5EX0FYX09CSkNfRVhDRVBUSU9OUwogCi0gICAgcmV0dXJuIDA7CisgICAg
cmV0dXJuIG51bGxwdHI7CiB9CiAKIEpTU3RyaW5nUmVmIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OnNlbGVjdGVkVGV4dFJhbmdlKCkKQEAgLTEyMDgsNyArMTIxMCw3IEBACiAgICAgcmV0dXJuIFty
YW5nZURlc2NyaXB0aW9uIGNyZWF0ZUpTU3RyaW5nUmVmXTsgICAgCiAgICAgRU5EX0FYX09CSkNf
RVhDRVBUSU9OUwogICAgIAotICAgIHJldHVybiAwOworICAgIHJldHVybiBudWxscHRyOwogfQog
CiB2b2lkIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNldFNlbGVjdGVkVGV4dFJhbmdlKHVuc2ln
bmVkIGxvY2F0aW9uLCB1bnNpZ25lZCBsZW5ndGgpCkBAIC0xMjc5LDcgKzEyODEsNyBAQAogICAg
IHJldHVybiBbW3VybCBhYnNvbHV0ZVN0cmluZ10gY3JlYXRlSlNTdHJpbmdSZWZdOyAgICAKICAg
ICBFTkRfQVhfT0JKQ19FWENFUFRJT05TCiAgICAgCi0gICAgcmV0dXJuIG5pbDsKKyAgICByZXR1
cm4gbnVsbHB0cjsKIH0KIAogYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphZGROb3RpZmlj
YXRpb25MaXN0ZW5lcihKU09iamVjdFJlZiBmdW5jdGlvbkNhbGxiYWNrKQpAQCAtMTQwNCw3ICsx
NDA2LDcgQEAKICAgICByZXR1cm4gQWNjZXNzaWJpbGl0eVRleHRNYXJrZXJSYW5nZSh0ZXh0TWFy
a2VyUmFuZ2UpOwogICAgIEVORF9BWF9PQkpDX0VYQ0VQVElPTlMKICAgICAKLSAgICByZXR1cm4g
MDsKKyAgICByZXR1cm4gbnVsbHB0cjsKIH0KIAogaW50IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OnRleHRNYXJrZXJSYW5nZUxlbmd0aChBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlclJhbmdlKiByYW5n
ZSkKQEAgLTE0NDksNyArMTQ1MSw3IEBACiAgICAgcmV0dXJuIEFjY2Vzc2liaWxpdHlUZXh0TWFy
a2VyKHRleHRNYXJrZXIpOwogICAgIEVORF9BWF9PQkpDX0VYQ0VQVElPTlMKICAgICAKLSAgICBy
ZXR1cm4gMDsKKyAgICByZXR1cm4gbnVsbHB0cjsKIH0KIAogYm9vbCBBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50Ojppc1RleHRNYXJrZXJWYWxpZChBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlciogdGV4dE1h
cmtlcikKQEAgLTE0NjksNyArMTQ3MSw3IEBACiAgICAgcmV0dXJuIEFjY2Vzc2liaWxpdHlUZXh0
TWFya2VyKHByZXZpb3VzTWFya2VyKTsKICAgICBFTkRfQVhfT0JKQ19FWENFUFRJT05TCiAgICAg
Ci0gICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKIEFjY2Vzc2liaWxpdHlU
ZXh0TWFya2VyIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Om5leHRUZXh0TWFya2VyKEFjY2Vzc2li
aWxpdHlUZXh0TWFya2VyKiB0ZXh0TWFya2VyKQpAQCAtMTQ3OSw3ICsxNDgxLDcgQEAKICAgICBy
ZXR1cm4gQWNjZXNzaWJpbGl0eVRleHRNYXJrZXIobmV4dE1hcmtlcik7CiAgICAgRU5EX0FYX09C
SkNfRVhDRVBUSU9OUwogICAgIAotICAgIHJldHVybiAwOworICAgIHJldHVybiBudWxscHRyOwog
fQogCiBKU1N0cmluZ1JlZiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzdHJpbmdGb3JUZXh0TWFy
a2VyUmFuZ2UoQWNjZXNzaWJpbGl0eVRleHRNYXJrZXJSYW5nZSogbWFya2VyUmFuZ2UpCkBAIC0x
NDg5LDcgKzE0OTEsNyBAQAogICAgIHJldHVybiBbdGV4dFN0cmluZyBjcmVhdGVKU1N0cmluZ1Jl
Zl07CiAgICAgRU5EX0FYX09CSkNfRVhDRVBUSU9OUwogICAgIAotICAgIHJldHVybiAwOworICAg
IHJldHVybiBudWxscHRyOwogfQogCiBBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlclJhbmdlIEFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OnRleHRNYXJrZXJSYW5nZUZvck1hcmtlcnMoQWNjZXNzaWJpbGl0
eVRleHRNYXJrZXIqIHN0YXJ0TWFya2VyLCBBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlciogZW5kTWFy
a2VyKQpAQCAtMTUwMCw3ICsxNTAyLDcgQEAKICAgICByZXR1cm4gQWNjZXNzaWJpbGl0eVRleHRN
YXJrZXJSYW5nZSh0ZXh0TWFya2VyUmFuZ2UpOwogICAgIEVORF9BWF9PQkpDX0VYQ0VQVElPTlMK
ICAgICAKLSAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gbnVsbHB0cjsKIH0KIAogQWNjZXNzaWJp
bGl0eVRleHRNYXJrZXIgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c3RhcnRUZXh0TWFya2VyRm9y
VGV4dE1hcmtlclJhbmdlKEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyUmFuZ2UqIHJhbmdlKQpAQCAt
MTUxMCw3ICsxNTEyLDcgQEAKICAgICByZXR1cm4gQWNjZXNzaWJpbGl0eVRleHRNYXJrZXIodGV4
dE1hcmtlcik7CiAgICAgRU5EX0FYX09CSkNfRVhDRVBUSU9OUwogICAgIAotICAgIHJldHVybiAw
OyAgICAKKyAgICByZXR1cm4gbnVsbHB0cjsKIH0KIAogQWNjZXNzaWJpbGl0eVRleHRNYXJrZXIg
QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6ZW5kVGV4dE1hcmtlckZvclRleHRNYXJrZXJSYW5nZShB
Y2Nlc3NpYmlsaXR5VGV4dE1hcmtlclJhbmdlKiByYW5nZSkKQEAgLTE1MjAsNyArMTUyMiw3IEBA
CiAgICAgcmV0dXJuIEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyKHRleHRNYXJrZXIpOwogICAgIEVO
RF9BWF9PQkpDX0VYQ0VQVElPTlMKICAgICAKLSAgICByZXR1cm4gMDsgICAgCisgICAgcmV0dXJu
IG51bGxwdHI7CiB9CiAKIEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyIEFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6OmVuZFRleHRNYXJrZXJGb3JCb3VuZHMoaW50IHgsIGludCB5LCBpbnQgd2lkdGgsIGlu
dCBoZWlnaHQpCkBAIC0xNTMwLDcgKzE1MzIsNyBAQAogICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5
VGV4dE1hcmtlcih0ZXh0TWFya2VyKTsKICAgICBFTkRfQVhfT0JKQ19FWENFUFRJT05TCiAgICAg
Ci0gICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKIEFjY2Vzc2liaWxpdHlU
ZXh0TWFya2VyIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnN0YXJ0VGV4dE1hcmtlckZvckJvdW5k
cyhpbnQgeCwgaW50IHksIGludCB3aWR0aCwgaW50IGhlaWdodCkKQEAgLTE1NDAsNyArMTU0Miw3
IEBACiAgICAgcmV0dXJuIEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyKHRleHRNYXJrZXIpOwogICAg
IEVORF9BWF9PQkpDX0VYQ0VQVElPTlMKICAgICAKLSAgICByZXR1cm4gMDsKKyAgICByZXR1cm4g
bnVsbHB0cjsKIH0KIAogQWNjZXNzaWJpbGl0eVRleHRNYXJrZXIgQWNjZXNzaWJpbGl0eVVJRWxl
bWVudDo6dGV4dE1hcmtlckZvclBvaW50KGludCB4LCBpbnQgeSkKQEAgLTE1NTAsNyArMTU1Miw3
IEBACiAgICAgcmV0dXJuIEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyKHRleHRNYXJrZXIpOwogICAg
IEVORF9BWF9PQkpDX0VYQ0VQVElPTlMKICAgICAKLSAgICByZXR1cm4gMDsgICAgCisgICAgcmV0
dXJuIG51bGxwdHI7CiB9CiAKIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQgQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudDo6YWNjZXNzaWJpbGl0eUVsZW1lbnRGb3JUZXh0TWFya2VyKEFjY2Vzc2liaWxpdHlU
ZXh0TWFya2VyKiBtYXJrZXIpCkBAIC0xNTYwLDcgKzE1NjIsNyBAQAogICAgIHJldHVybiBBY2Nl
c3NpYmlsaXR5VUlFbGVtZW50KHVpRWxlbWVudCk7CiAgICAgRU5EX0FYX09CSkNfRVhDRVBUSU9O
UwogICAgIAotICAgIHJldHVybiAwOyAgCisgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKIEFjY2Vz
c2liaWxpdHlUZXh0TWFya2VyIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnN0YXJ0VGV4dE1hcmtl
cigpCkBAIC0xNTcwLDcgKzE1NzIsNyBAQAogICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5VGV4dE1h
cmtlcih0ZXh0TWFya2VyKTsKICAgICBFTkRfQVhfT0JKQ19FWENFUFRJT05TCiAgICAgCi0gICAg
cmV0dXJuIDA7CisgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKIEFjY2Vzc2liaWxpdHlUZXh0TWFy
a2VyIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmVuZFRleHRNYXJrZXIoKQpAQCAtMTU4MCw3ICsx
NTgyLDcgQEAKICAgICByZXR1cm4gQWNjZXNzaWJpbGl0eVRleHRNYXJrZXIodGV4dE1hcmtlcik7
CiAgICAgRU5EX0FYX09CSkNfRVhDRVBUSU9OUwogICAgIAotICAgIHJldHVybiAwOworICAgIHJl
dHVybiBudWxscHRyOwogfQogCiAjZW5kaWYgLy8gU1VQUE9SVFNfQVhfVEVYVE1BUktFUlMKQEAg
LTE1OTIsNyArMTU5NCw3IEBACiAgICAgcmV0dXJuIFtbbmFtZXMgY29tcG9uZW50c0pvaW5lZEJ5
U3RyaW5nOkAiLCJdIGNyZWF0ZUpTU3RyaW5nUmVmXTsKICAgICBFTkRfQVhfT0JKQ19FWENFUFRJ
T05TCiAKLSAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gbnVsbHB0cjsKIH0KIAogc3RhdGljIE5T
U3RyaW5nICpjb252ZXJ0TWF0aE11bHRpc2NyaXB0UGFpcnNUb1N0cmluZyhOU0FycmF5ICpwYWly
cykKQEAgLTE2MTMsNyArMTYxNSw3IEBACiAgICAgcmV0dXJuIFtjb252ZXJ0TWF0aE11bHRpc2Ny
aXB0UGFpcnNUb1N0cmluZyhwYWlycykgY3JlYXRlSlNTdHJpbmdSZWZdOwogICAgIEVORF9BWF9P
QkpDX0VYQ0VQVElPTlMKICAgICAKLSAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gbnVsbHB0cjsK
IH0KIAogSlNTdHJpbmdSZWYgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6bWF0aFByZXNjcmlwdHNE
ZXNjcmlwdGlvbigpIGNvbnN0CkBAIC0xNjIzLDcgKzE2MjUsNyBAQAogICAgIHJldHVybiBbY29u
dmVydE1hdGhNdWx0aXNjcmlwdFBhaXJzVG9TdHJpbmcocGFpcnMpIGNyZWF0ZUpTU3RyaW5nUmVm
XTsKICAgICBFTkRfQVhfT0JKQ19FWENFUFRJT05TCiAgICAgCi0gICAgcmV0dXJuIDA7CisgICAg
cmV0dXJuIG51bGxwdHI7CiB9CiAKIApJbmRleDogVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9Jbmpl
Y3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5Q29udHJvbGxl
ci5jcHAJKHJldmlzaW9uIDE1ODYxNCkKKysrIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0
ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05
Myw3ICs5Myw3IEBACiAjZW5kaWYKIAogI2lmICFQTEFURk9STShNQUMpICYmICFQTEFURk9STShH
VEspICYmICFQTEFURk9STShFRkwpCi1QYXNzUmVmUHRyPEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ+
IEFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjphY2Nlc3NpYmxlRWxlbWVudEJ5SWQoSlNTdHJpbmdS
ZWYgYXR0cmlidXRlKSB7IHJldHVybiAwOyB9CitQYXNzUmVmUHRyPEFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ+IEFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjphY2Nlc3NpYmxlRWxlbWVudEJ5SWQoSlNT
dHJpbmdSZWYgYXR0cmlidXRlKSB7IHJldHVybiBudWxscHRyOyB9CiAjZW5kaWYKIAogI2lmICFQ
TEFURk9STShHVEspICYmICFQTEFURk9STShFRkwpICYmICFQTEFURk9STShNQUMpCkluZGV4OiBU
b29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0ay9BY2Nlc3NpYmlsaXR5VUlF
bGVtZW50QXRrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL2F0ay9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50QXRrLmNwcAkocmV2aXNpb24gMTU4
NjE3KQorKysgVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdGsvQWNjZXNz
aWJpbGl0eVVJRWxlbWVudEF0ay5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE0NzIsMTMgKzE0NzIs
MTMgQEAKIFBhc3NSZWZQdHI8QWNjZXNzaWJpbGl0eVRleHRNYXJrZXI+IEFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ6OnN0YXJ0VGV4dE1hcmtlcigpCiB7CiAgICAgLy8gRklYTUU6IGltcGxlbWVudAot
ICAgIHJldHVybiAwOyAgICAKKyAgICByZXR1cm4gbnVsbHB0cjsgICAgCiB9CiAKIFBhc3NSZWZQ
dHI8QWNjZXNzaWJpbGl0eVRleHRNYXJrZXI+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmVuZFRl
eHRNYXJrZXIoKQogewogICAgIC8vIEZJWE1FOiBpbXBsZW1lbnQKLSAgICByZXR1cm4gMDsKKyAg
ICByZXR1cm4gbnVsbHB0cjsKIH0KIAogdm9pZCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzY3Jv
bGxUb01ha2VWaXNpYmxlKCkKSW5kZXg6IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRC
dW5kbGUvbWFjL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyTWFjLm1tCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRv
b2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvbWFjL0FjY2Vzc2liaWxpdHlDb250
cm9sbGVyTWFjLm1tCShyZXZpc2lvbiAxNTg2MTQpCisrKyBUb29scy9XZWJLaXRUZXN0UnVubmVy
L0luamVjdGVkQnVuZGxlL21hYy9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlck1hYy5tbQkod29ya2lu
ZyBjb3B5KQpAQCAtOTQsNyArOTQsNyBAQAogICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKICAg
ICB9CiAKLSAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gbnVsbHB0cjsKIH0KIAogUGFzc1JlZlB0
cjxBY2Nlc3NpYmlsaXR5VUlFbGVtZW50PiBBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6YWNjZXNz
aWJsZUVsZW1lbnRCeUlkKEpTU3RyaW5nUmVmIGlkQXR0cmlidXRlKQpAQCAtMTA2LDcgKzEwNiw3
IEBACiAgICAgaWYgKHJlc3VsdCkKICAgICAgICAgcmV0dXJuIEFjY2Vzc2liaWxpdHlVSUVsZW1l
bnQ6OmNyZWF0ZShyZXN1bHQpOwogCi0gICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIG51bGxwdHI7
CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdUUgpJbmRleDogVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9J
bmplY3RlZEJ1bmRsZS9tYWMvQWNjZXNzaWJpbGl0eVVJRWxlbWVudE1hYy5tbQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL21hYy9BY2Nlc3NpYmls
aXR5VUlFbGVtZW50TWFjLm1tCShyZXZpc2lvbiAxNTg2MTcpCisrKyBUb29scy9XZWJLaXRUZXN0
UnVubmVyL0luamVjdGVkQnVuZGxlL21hYy9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50TWFjLm1tCSh3
b3JraW5nIGNvcHkpCkBAIC0yNjgsNyArMjY4LDcgQEAKIAogICAgIGlmIChjaGlsZHJlbi5zaXpl
KCkgPT0gMSkKICAgICAgICAgcmV0dXJuIGNoaWxkcmVuWzBdOwotICAgIHJldHVybiAwOworICAg
IHJldHVybiBudWxscHRyOwogfQogCiBQYXNzUmVmUHRyPEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ+
IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmxpbmtlZFVJRWxlbWVudEF0SW5kZXgodW5zaWduZWQg
aW5kZXgpCkBAIC0yNzksNyArMjc5LDcgQEAKICAgICAgICAgcmV0dXJuIEFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ6OmNyZWF0ZShbb2JqZWN0cyBvYmplY3RBdEluZGV4OmluZGV4XSk7CiAgICAgRU5E
X0FYX09CSkNfRVhDRVBUSU9OUwogICAgIAotICAgIHJldHVybiAwOworICAgIHJldHVybiBudWxs
cHRyOwogfQogCiBQYXNzUmVmUHRyPEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ+IEFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OmFyaWFPd25zRWxlbWVudEF0SW5kZXgodW5zaWduZWQgaW5kZXgpCkBAIC0y
OTAsNyArMjkwLDcgQEAKICAgICAgICAgcmV0dXJuIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmNy
ZWF0ZShbb2JqZWN0cyBvYmplY3RBdEluZGV4OmluZGV4XSk7CiAgICAgRU5EX0FYX09CSkNfRVhD
RVBUSU9OUwogICAgIAotICAgIHJldHVybiAwOworICAgIHJldHVybiBudWxscHRyOwogfQogCiBQ
YXNzUmVmUHRyPEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OmFyaWFGbG93VG9FbGVtZW50QXRJbmRleCh1bnNpZ25lZCBpbmRleCkKQEAgLTMwMSw3ICszMDEs
NyBAQAogICAgICAgICByZXR1cm4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Y3JlYXRlKFtvYmpl
Y3RzIG9iamVjdEF0SW5kZXg6aW5kZXhdKTsKICAgICBFTkRfQVhfT0JKQ19FWENFUFRJT05TCiAg
ICAgCi0gICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKIFBhc3NSZWZQdHI8
QWNjZXNzaWJpbGl0eVVJRWxlbWVudD4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6ZGlzY2xvc2Vk
Um93QXRJbmRleCh1bnNpZ25lZCBpbmRleCkKQEAgLTMxMiw3ICszMTIsNyBAQAogICAgICAgICBy
ZXR1cm4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Y3JlYXRlKFtyb3dzIG9iamVjdEF0SW5kZXg6
aW5kZXhdKTsKICAgICBFTkRfQVhfT0JKQ19FWENFUFRJT05TCiAKLSAgICByZXR1cm4gMDsKKyAg
ICByZXR1cm4gbnVsbHB0cjsKIH0KICAgICAKIFBhc3NSZWZQdHI8QWNjZXNzaWJpbGl0eVVJRWxl
bWVudD4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cm93QXRJbmRleCh1bnNpZ25lZCBpbmRleCkK
QEAgLTMyMyw3ICszMjMsNyBAQAogICAgICAgICByZXR1cm4gQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dDo6Y3JlYXRlKFtyb3dzIG9iamVjdEF0SW5kZXg6aW5kZXhdKTsKICAgICBFTkRfQVhfT0JKQ19F
WENFUFRJT05TCiAgICAgCi0gICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAK
IFBhc3NSZWZQdHI8QWNjZXNzaWJpbGl0eVVJRWxlbWVudD4gQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dDo6c2VsZWN0ZWRDaGlsZEF0SW5kZXgodW5zaWduZWQgaW5kZXgpIGNvbnN0CkBAIC0zMzQsNyAr
MzM0LDcgQEAKICAgICAgICAgcmV0dXJuIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmNyZWF0ZShb
YXJyYXkgb2JqZWN0QXRJbmRleDppbmRleF0pOwogICAgIEVORF9BWF9PQkpDX0VYQ0VQVElPTlMK
ICAgICAKLSAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gbnVsbHB0cjsKIH0KIAogdW5zaWduZWQg
QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c2VsZWN0ZWRDaGlsZHJlbkNvdW50KCkgY29uc3QKQEAg
LTM1NCw3ICszNTQsNyBAQAogICAgICAgICByZXR1cm4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6
Y3JlYXRlKFtyb3dzIG9iamVjdEF0SW5kZXg6aW5kZXhdKTsKICAgICBFTkRfQVhfT0JKQ19FWENF
UFRJT05TCiAgICAgCi0gICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKIFBh
c3NSZWZQdHI8QWNjZXNzaWJpbGl0eVVJRWxlbWVudD4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6
dGl0bGVVSUVsZW1lbnQoKQpAQCAtMzY1LDcgKzM2NSw3IEBACiAgICAgICAgIHJldHVybiBBY2Nl
c3NpYmlsaXR5VUlFbGVtZW50OjpjcmVhdGUoYWNjZXNzaWJpbGl0eU9iamVjdCk7CiAgICAgRU5E
X0FYX09CSkNfRVhDRVBUSU9OUwogICAgIAotICAgIHJldHVybiAwOworICAgIHJldHVybiBudWxs
cHRyOwogfQogCiBQYXNzUmVmUHRyPEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ+IEFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OnBhcmVudEVsZW1lbnQoKQpAQCAtMzc2LDcgKzM3Niw3IEBACiAgICAgICAg
IHJldHVybiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpjcmVhdGUoYWNjZXNzaWJpbGl0eU9iamVj
dCk7CiAgICAgRU5EX0FYX09CSkNfRVhDRVBUSU9OUwogICAgIAotICAgIHJldHVybiAwOworICAg
IHJldHVybiBudWxscHRyOwogfQogCiBQYXNzUmVmUHRyPEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ+
IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmRpc2Nsb3NlZEJ5Um93KCkKQEAgLTM4Nyw3ICszODcs
NyBAQAogICAgICAgICByZXR1cm4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Y3JlYXRlKGFjY2Vz
c2liaWxpdHlPYmplY3QpOwogICAgIEVORF9BWF9PQkpDX0VYQ0VQVElPTlMKICAgICAKLSAgICBy
ZXR1cm4gMDsKKyAgICByZXR1cm4gbnVsbHB0cjsKIH0KIAogSlNSZXRhaW5QdHI8SlNTdHJpbmdS
ZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmF0dHJpYnV0ZXNPZkxpbmtlZFVJRWxlbWVudHMo
KQpAQCAtNDI1LDcgKzQyNSw3IEBACiAgICAgICAgIHJldHVybiBbdmFsdWUgY3JlYXRlSlNTdHJp
bmdSZWZdOwogICAgIEVORF9BWF9PQkpDX0VYQ0VQVElPTlMKIAotICAgIHJldHVybiAwOworICAg
IHJldHVybiBudWxscHRyOwogfQogCiBkb3VibGUgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6bnVt
YmVyQXR0cmlidXRlVmFsdWUoSlNTdHJpbmdSZWYgYXR0cmlidXRlKQpAQCAtNDQ2LDcgKzQ0Niw3
IEBACiAgICAgcmV0dXJuIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmNyZWF0ZSh1aUVsZW1lbnQp
OwogICAgIEVORF9BWF9PQkpDX0VYQ0VQVElPTlMKICAgICAKLSAgICByZXR1cm4gMDsKKyAgICBy
ZXR1cm4gbnVsbHB0cjsKIH0KICAgICAKIGJvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Ym9v
bEF0dHJpYnV0ZVZhbHVlKEpTU3RyaW5nUmVmIGF0dHJpYnV0ZSkKQEAgLTQ5Nyw3ICs0OTcsNyBA
QAogICAgIHJldHVybiBjb25jYXRlbmF0ZUF0dHJpYnV0ZUFuZFZhbHVlKEAiQVhSb2xlIiwgcm9s
ZSk7CiAgICAgRU5EX0FYX09CSkNfRVhDRVBUSU9OUwogICAgIAotICAgIHJldHVybiAwOworICAg
IHJldHVybiBudWxscHRyOwogfQogCiBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJp
bGl0eVVJRWxlbWVudDo6c3Vicm9sZSgpCkBAIC01MDcsNyArNTA3LDcgQEAKICAgICByZXR1cm4g
Y29uY2F0ZW5hdGVBdHRyaWJ1dGVBbmRWYWx1ZShAIkFYU3Vicm9sZSIsIHJvbGUpOwogICAgIEVO
RF9BWF9PQkpDX0VYQ0VQVElPTlMKIAotICAgIHJldHVybiAwOworICAgIHJldHVybiBudWxscHRy
OwogfQogCiBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6
cm9sZURlc2NyaXB0aW9uKCkKQEAgLTUxNyw3ICs1MTcsNyBAQAogICAgIHJldHVybiBjb25jYXRl
bmF0ZUF0dHJpYnV0ZUFuZFZhbHVlKEAiQVhSb2xlRGVzY3JpcHRpb24iLCByb2xlKTsKICAgICBF
TkRfQVhfT0JKQ19FWENFUFRJT05TCiAgICAgCi0gICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIG51
bGxwdHI7CiB9CiAKIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50Ojp0aXRsZSgpCkBAIC01MjcsNyArNTI3LDcgQEAKICAgICByZXR1cm4gY29uY2F0ZW5hdGVB
dHRyaWJ1dGVBbmRWYWx1ZShAIkFYVGl0bGUiLCB0aXRsZSk7CiAgICAgRU5EX0FYX09CSkNfRVhD
RVBUSU9OUwogCi0gICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKIEpTUmV0
YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpkZXNjcmlwdGlvbigp
CkBAIC01MzcsNyArNTM3LDcgQEAKICAgICByZXR1cm4gY29uY2F0ZW5hdGVBdHRyaWJ1dGVBbmRW
YWx1ZShAIkFYRGVzY3JpcHRpb24iLCBkZXNjcmlwdGlvbik7CiAgICAgRU5EX0FYX09CSkNfRVhD
RVBUSU9OUwogCi0gICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKIEpTUmV0
YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpvcmllbnRhdGlvbigp
IGNvbnN0CkBAIC01NDcsNyArNTQ3LDcgQEAKICAgICByZXR1cm4gY29uY2F0ZW5hdGVBdHRyaWJ1
dGVBbmRWYWx1ZShAIkFYT3JpZW50YXRpb24iLCBkZXNjcmlwdGlvbik7ICAgIAogICAgIEVORF9B
WF9PQkpDX0VYQ0VQVElPTlMKIAotICAgIHJldHVybiAwOworICAgIHJldHVybiBudWxscHRyOwog
fQogCiBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c3Ry
aW5nVmFsdWUoKQpAQCAtNTU3LDcgKzU1Nyw3IEBACiAgICAgcmV0dXJuIGNvbmNhdGVuYXRlQXR0
cmlidXRlQW5kVmFsdWUoQCJBWFZhbHVlIiwgZGVzY3JpcHRpb24pOwogICAgIEVORF9BWF9PQkpD
X0VYQ0VQVElPTlMKIAotICAgIHJldHVybiAwOworICAgIHJldHVybiBudWxscHRyOwogfQogCiBK
U1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6bGFuZ3VhZ2Uo
KQpAQCAtNTY3LDcgKzU2Nyw3IEBACiAgICAgcmV0dXJuIGNvbmNhdGVuYXRlQXR0cmlidXRlQW5k
VmFsdWUoQCJBWExhbmd1YWdlIiwgZGVzY3JpcHRpb24pOwogICAgIEVORF9BWF9PQkpDX0VYQ0VQ
VElPTlMKIAotICAgIHJldHVybiAwOworICAgIHJldHVybiBudWxscHRyOwogfQogCiBKU1JldGFp
blB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aGVscFRleHQoKSBjb25z
dApAQCAtNTc3LDcgKzU3Nyw3IEBACiAgICAgcmV0dXJuIGNvbmNhdGVuYXRlQXR0cmlidXRlQW5k
VmFsdWUoQCJBWEhlbHAiLCBkZXNjcmlwdGlvbik7CiAgICAgRU5EX0FYX09CSkNfRVhDRVBUSU9O
UwogICAgIAotICAgIHJldHVybiAwOworICAgIHJldHVybiBudWxscHRyOwogfQogCiBkb3VibGUg
QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6eCgpCkBAIC02ODEsNyArNjgxLDcgQEAKICAgICAgICAg
cmV0dXJuIGNvbmNhdGVuYXRlQXR0cmlidXRlQW5kVmFsdWUoQCJBWFZhbHVlRGVzY3JpcHRpb24i
LCB2YWx1ZURlc2NyaXB0aW9uKTsKICAgICBFTkRfQVhfT0JKQ19FWENFUFRJT05TCiAgICAgCi0g
ICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKIGludCBBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50OjppbnNlcnRpb25Qb2ludExpbmVOdW1iZXIoKQpAQCAtNzk3LDcgKzc5Nyw3IEBA
CiAgICAgQkVHSU5fQVhfT0JKQ19FWENFUFRJT05TCiAgICAgaWQgdmFsdWUgPSBbbV9lbGVtZW50
IGFjY2Vzc2liaWxpdHlBdHRyaWJ1dGVWYWx1ZTpAIkFYRE9NQ2xhc3NMaXN0Il07CiAgICAgaWYg
KCFbdmFsdWUgaXNLaW5kT2ZDbGFzczpbTlNBcnJheSBjbGFzc11dKQotICAgICAgICByZXR1cm4g
MDsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAgICAgCiAgICAgTlNNdXRhYmxlU3RyaW5nKiBj
bGFzc0xpc3QgPSBbTlNNdXRhYmxlU3RyaW5nIHN0cmluZ107CiAgICAgTlNJbnRlZ2VyIGxlbmd0
aCA9IFt2YWx1ZSBjb3VudF07CkBAIC04MTAsNyArODEwLDcgQEAKICAgICByZXR1cm4gW2NsYXNz
TGlzdCBjcmVhdGVKU1N0cmluZ1JlZl07CiAgICAgRU5EX0FYX09CSkNfRVhDRVBUSU9OUwogICAg
IAotICAgIHJldHVybiAwOworICAgIHJldHVybiBudWxscHRyOwogfQogCiBKU1JldGFpblB0cjxK
U1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c3BlYWsoKQpAQCAtODIxLDcgKzgy
MSw3IEBACiAgICAgICAgIHJldHVybiBbdmFsdWUgY3JlYXRlSlNTdHJpbmdSZWZdOwogICAgIEVO
RF9BWF9PQkpDX0VYQ0VQVElPTlMKICAgICAgICAgCi0gICAgcmV0dXJuIDA7CisgICAgcmV0dXJu
IG51bGxwdHI7CiB9CiAKIGJvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YXJpYUlzR3JhYmJl
ZCgpIGNvbnN0CkBAIC04NDAsNyArODQwLDcgQEAKICAgICBCRUdJTl9BWF9PQkpDX0VYQ0VQVElP
TlMKICAgICBpZCB2YWx1ZSA9IFttX2VsZW1lbnQgYWNjZXNzaWJpbGl0eUF0dHJpYnV0ZVZhbHVl
Ok5TQWNjZXNzaWJpbGl0eURyb3BFZmZlY3RzQXR0cmlidXRlXTsKICAgICBpZiAoIVt2YWx1ZSBp
c0tpbmRPZkNsYXNzOltOU0FycmF5IGNsYXNzXV0pCi0gICAgICAgIHJldHVybiAwOworICAgICAg
ICByZXR1cm4gbnVsbHB0cjsKIAogICAgIE5TTXV0YWJsZVN0cmluZyogZHJvcEVmZmVjdHMgPSBb
TlNNdXRhYmxlU3RyaW5nIHN0cmluZ107CiAgICAgTlNJbnRlZ2VyIGxlbmd0aCA9IFt2YWx1ZSBj
b3VudF07CkBAIC04NTMsNyArODUzLDcgQEAKICAgICByZXR1cm4gW2Ryb3BFZmZlY3RzIGNyZWF0
ZUpTU3RyaW5nUmVmXTsKICAgICBFTkRfQVhfT0JKQ19FWENFUFRJT05TCiAgICAgCi0gICAgcmV0
dXJuIDA7CisgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKIC8vIHBhcmFtZXRlcml6ZWQgYXR0cmli
dXRlcwpAQCAtODc2LDcgKzg3Niw3IEBACiAgICAgICAgIHJldHVybiBbTlNTdHJpbmdGcm9tUmFu
Z2UoW3ZhbHVlIHJhbmdlVmFsdWVdKSBjcmVhdGVKU1N0cmluZ1JlZl07CiAgICAgRU5EX0FYX09C
SkNfRVhDRVBUSU9OUwogICAgIAotICAgIHJldHVybiAwOworICAgIHJldHVybiBudWxscHRyOwog
fQogCiBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cmFu
Z2VGb3JQb3NpdGlvbihpbnQgeCwgaW50IHkpCkBAIC04ODcsNyArODg3LDcgQEAKICAgICAgICAg
cmV0dXJuIFtOU1N0cmluZ0Zyb21SYW5nZShbdmFsdWUgcmFuZ2VWYWx1ZV0pIGNyZWF0ZUpTU3Ry
aW5nUmVmXTsKICAgICBFTkRfQVhfT0JKQ19FWENFUFRJT05TCiAKLSAgICByZXR1cm4gMDsKKyAg
ICByZXR1cm4gbnVsbHB0cjsKIH0KIAogSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6OmJvdW5kc0ZvclJhbmdlKHVuc2lnbmVkIGxvY2F0aW9uLCB1bnNpZ25l
ZCBsZW5ndGgpCkBAIC05MDQsNyArOTA0LDcgQEAKICAgICByZXR1cm4gW2JvdW5kc0Rlc2NyaXB0
aW9uIGNyZWF0ZUpTU3RyaW5nUmVmXTsKICAgICBFTkRfQVhfT0JKQ19FWENFUFRJT05TCiAgICAg
Ci0gICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKIEpTUmV0YWluUHRyPEpT
U3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzdHJpbmdGb3JSYW5nZSh1bnNpZ25l
ZCBsb2NhdGlvbiwgdW5zaWduZWQgbGVuZ3RoKQpAQCAtOTEzLDEyICs5MTMsMTIgQEAKICAgICBC
RUdJTl9BWF9PQkpDX0VYQ0VQVElPTlMKICAgICBpZCBzdHJpbmcgPSBbbV9lbGVtZW50IGFjY2Vz
c2liaWxpdHlBdHRyaWJ1dGVWYWx1ZTpOU0FjY2Vzc2liaWxpdHlTdHJpbmdGb3JSYW5nZVBhcmFt
ZXRlcml6ZWRBdHRyaWJ1dGUgZm9yUGFyYW1ldGVyOltOU1ZhbHVlIHZhbHVlV2l0aFJhbmdlOnJh
bmdlXV07CiAgICAgaWYgKCFbc3RyaW5nIGlzS2luZE9mQ2xhc3M6W05TU3RyaW5nIGNsYXNzXV0p
Ci0gICAgICAgIHJldHVybiAwOworICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICAKICAgICBy
ZXR1cm4gW3N0cmluZyBjcmVhdGVKU1N0cmluZ1JlZl07CiAgICAgRU5EX0FYX09CSkNfRVhDRVBU
SU9OUwogICAgIAotICAgIHJldHVybiAwOworICAgIHJldHVybiBudWxscHRyOwogfQogCiBKU1Jl
dGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YXR0cmlidXRlZFN0
cmluZ0ZvclJhbmdlKHVuc2lnbmVkIGxvY2F0aW9uLCB1bnNpZ25lZCBsZW5ndGgpCkBAIC05Mjcs
MTMgKzkyNywxMyBAQAogICAgIEJFR0lOX0FYX09CSkNfRVhDRVBUSU9OUwogICAgIE5TQXR0cmli
dXRlZFN0cmluZyogc3RyaW5nID0gW21fZWxlbWVudCBhY2Nlc3NpYmlsaXR5QXR0cmlidXRlVmFs
dWU6TlNBY2Nlc3NpYmlsaXR5QXR0cmlidXRlZFN0cmluZ0ZvclJhbmdlUGFyYW1ldGVyaXplZEF0
dHJpYnV0ZSBmb3JQYXJhbWV0ZXI6W05TVmFsdWUgdmFsdWVXaXRoUmFuZ2U6cmFuZ2VdXTsKICAg
ICBpZiAoIVtzdHJpbmcgaXNLaW5kT2ZDbGFzczpbTlNBdHRyaWJ1dGVkU3RyaW5nIGNsYXNzXV0p
Ci0gICAgICAgIHJldHVybiAwOworICAgICAgICByZXR1cm4gbnVsbHB0cjsKICAgICAKICAgICBO
U1N0cmluZyogc3RyaW5nV2l0aEF0dHJzID0gW3N0cmluZyBkZXNjcmlwdGlvbl07CiAgICAgcmV0
dXJuIFtzdHJpbmdXaXRoQXR0cnMgY3JlYXRlSlNTdHJpbmdSZWZdOwogICAgIEVORF9BWF9PQkpD
X0VYQ0VQVElPTlMKICAgICAKLSAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gbnVsbHB0cjsKIH0K
IAogYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphdHRyaWJ1dGVkU3RyaW5nUmFuZ2VJc01p
c3NwZWxsZWQodW5zaWduZWQgbG9jYXRpb24sIHVuc2lnbmVkIGxlbmd0aCkKQEAgLTEwMTIsNyAr
MTAxMiw3IEBACiAgICAgcmV0dXJuIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmNyZWF0ZSh1aUVs
ZW1lbnQpOwogICAgIEVORF9BWF9PQkpDX0VYQ0VQVElPTlMKICAgICAKLSAgICByZXR1cm4gMDsK
KyAgICByZXR1cm4gbnVsbHB0cjsKIH0KIAogSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OmF0dHJpYnV0ZXNPZkNvbHVtbkhlYWRlcnMoKQpAQCAtMTAyNSw3
ICsxMDI1LDcgQEAKICAgICByZXR1cm4gZGVzY3JpcHRpb25PZkVsZW1lbnRzKGNvbHVtbkhlYWRl
cnNWZWN0b3IpOwogICAgIEVORF9BWF9PQkpDX0VYQ0VQVElPTlMKICAgICAKLSAgICByZXR1cm4g
MDsKKyAgICByZXR1cm4gbnVsbHB0cjsKIH0KIAogSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmF0dHJpYnV0ZXNPZlJvd0hlYWRlcnMoKQpAQCAtMTAzNyw3
ICsxMDM3LDcgQEAKICAgICByZXR1cm4gZGVzY3JpcHRpb25PZkVsZW1lbnRzKHJvd0hlYWRlcnNW
ZWN0b3IpOwogICAgIEVORF9BWF9PQkpDX0VYQ0VQVElPTlMKICAgICAKLSAgICByZXR1cm4gMDsK
KyAgICByZXR1cm4gbnVsbHB0cjsKIH0KIAogSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OmF0dHJpYnV0ZXNPZkNvbHVtbnMoKQpAQCAtMTA0OSw3ICsxMDQ5
LDcgQEAKICAgICByZXR1cm4gZGVzY3JpcHRpb25PZkVsZW1lbnRzKGNvbHVtbnNWZWN0b3IpOwog
ICAgIEVORF9BWF9PQkpDX0VYQ0VQVElPTlMKICAgICAKLSAgICByZXR1cm4gMDsKKyAgICByZXR1
cm4gbnVsbHB0cjsKIH0KIAogSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ6OmF0dHJpYnV0ZXNPZlJvd3MoKQpAQCAtMTA2MSw3ICsxMDYxLDcgQEAKICAgICBy
ZXR1cm4gZGVzY3JpcHRpb25PZkVsZW1lbnRzKHJvd3NWZWN0b3IpOwogICAgIEVORF9BWF9PQkpD
X0VYQ0VQVElPTlMKICAgICAKLSAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gbnVsbHB0cjsKIH0K
IAogSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmF0dHJp
YnV0ZXNPZlZpc2libGVDZWxscygpCkBAIC0xMDczLDcgKzEwNzMsNyBAQAogICAgIHJldHVybiBk
ZXNjcmlwdGlvbk9mRWxlbWVudHMoY2VsbHNWZWN0b3IpOwogICAgIEVORF9BWF9PQkpDX0VYQ0VQ
VElPTlMKICAgICAKLSAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gbnVsbHB0cjsKIH0KIAogSlNS
ZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmF0dHJpYnV0ZXNP
ZkhlYWRlcigpCkBAIC0xMDg4LDcgKzEwODgsNyBAQAogICAgIHJldHVybiBkZXNjcmlwdGlvbk9m
RWxlbWVudHMoaGVhZGVyVmVjdG9yKTsKICAgICBFTkRfQVhfT0JKQ19FWENFUFRJT05TCiAgICAg
Ci0gICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKIGludCBBY2Nlc3NpYmls
aXR5VUlFbGVtZW50Ojpyb3dDb3VudCgpCkBAIC0xMTMxLDcgKzExMzEsNyBAQAogICAgIHJldHVy
biBbcmFuZ2VEZXNjcmlwdGlvbiBjcmVhdGVKU1N0cmluZ1JlZl07CiAgICAgRU5EX0FYX09CSkNf
RVhDRVBUSU9OUwogICAgIAotICAgIHJldHVybiAwOworICAgIHJldHVybiBudWxscHRyOwogfQog
CiBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Y29sdW1u
SW5kZXhSYW5nZSgpCkBAIC0xMTQ1LDcgKzExNDUsNyBAQAogICAgIHJldHVybiBbcmFuZ2VEZXNj
cmlwdGlvbiBjcmVhdGVKU1N0cmluZ1JlZl07CiAgICAgRU5EX0FYX09CSkNfRVhDRVBUSU9OUwog
ICAgIAotICAgIHJldHVybiAwOworICAgIHJldHVybiBudWxscHRyOwogfQogCiBQYXNzUmVmUHRy
PEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmNlbGxGb3JD
b2x1bW5BbmRSb3codW5zaWduZWQgY29sLCB1bnNpZ25lZCByb3cpCkBAIC0xMTU1LDcgKzExNTUs
NyBAQAogICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpjcmVhdGUoW21fZWxlbWVu
dCBhY2Nlc3NpYmlsaXR5QXR0cmlidXRlVmFsdWU6QCJBWENlbGxGb3JDb2x1bW5BbmRSb3ciIGZv
clBhcmFtZXRlcjpjb2xSb3dBcnJheV0pOwogICAgIEVORF9BWF9PQkpDX0VYQ0VQVElPTlMgICAg
CiAKLSAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gbnVsbHB0cjsKIH0KIAogUGFzc1JlZlB0cjxB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50PiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpob3Jpem9udGFs
U2Nyb2xsYmFyKCkgY29uc3QKQEAgLTExNjQsNyArMTE2NCw3IEBACiAgICAgcmV0dXJuIEFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OmNyZWF0ZShbbV9lbGVtZW50IGFjY2Vzc2liaWxpdHlBdHRyaWJ1
dGVWYWx1ZTpOU0FjY2Vzc2liaWxpdHlIb3Jpem9udGFsU2Nyb2xsQmFyQXR0cmlidXRlXSk7CiAg
ICAgRU5EX0FYX09CSkNfRVhDRVBUSU9OUyAgICAKICAgICAKLSAgICByZXR1cm4gMDsKKyAgICBy
ZXR1cm4gbnVsbHB0cjsKIH0KIAogUGFzc1JlZlB0cjxBY2Nlc3NpYmlsaXR5VUlFbGVtZW50PiBB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp2ZXJ0aWNhbFNjcm9sbGJhcigpIGNvbnN0CkBAIC0xMTcz
LDcgKzExNzMsNyBAQAogICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpjcmVhdGUo
W21fZWxlbWVudCBhY2Nlc3NpYmlsaXR5QXR0cmlidXRlVmFsdWU6TlNBY2Nlc3NpYmlsaXR5VmVy
dGljYWxTY3JvbGxCYXJBdHRyaWJ1dGVdKTsKICAgICBFTkRfQVhfT0JKQ19FWENFUFRJT05TICAg
ICAgICAKIAotICAgIHJldHVybiAwOworICAgIHJldHVybiBudWxscHRyOwogfQogCiB2b2lkIEFj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNjcm9sbFRvTWFrZVZpc2libGUoKQpAQCAtMTE5NCw3ICsx
MTk0LDcgQEAKICAgICByZXR1cm4gW3JhbmdlRGVzY3JpcHRpb24gY3JlYXRlSlNTdHJpbmdSZWZd
OwogICAgIEVORF9BWF9PQkpDX0VYQ0VQVElPTlMKICAgICAKLSAgICByZXR1cm4gMDsKKyAgICBy
ZXR1cm4gbnVsbHB0cjsKIH0KIAogdm9pZCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzZXRTZWxl
Y3RlZFRleHRSYW5nZSh1bnNpZ25lZCBsb2NhdGlvbiwgdW5zaWduZWQgbGVuZ3RoKQpAQCAtMTI2
NSw3ICsxMjY1LDcgQEAKICAgICByZXR1cm4gW1t1cmwgYWJzb2x1dGVTdHJpbmddIGNyZWF0ZUpT
U3RyaW5nUmVmXTsgICAgCiAgICAgRU5EX0FYX09CSkNfRVhDRVBUSU9OUwogICAgIAotICAgIHJl
dHVybiBuaWw7CisgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKIGJvb2wgQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudDo6YWRkTm90aWZpY2F0aW9uTGlzdGVuZXIoSlNWYWx1ZVJlZiBmdW5jdGlvbkNhbGxi
YWNrKQpAQCAtMTM4NCw3ICsxMzg0LDcgQEAKICAgICByZXR1cm4gQWNjZXNzaWJpbGl0eVRleHRN
YXJrZXJSYW5nZTo6Y3JlYXRlKHRleHRNYXJrZXJSYW5nZSk7CiAgICAgRU5EX0FYX09CSkNfRVhD
RVBUSU9OUwogICAgIAotICAgIHJldHVybiAwOworICAgIHJldHVybiBudWxscHRyOwogfQogCiBp
bnQgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6dGV4dE1hcmtlclJhbmdlTGVuZ3RoKEFjY2Vzc2li
aWxpdHlUZXh0TWFya2VyUmFuZ2UqIHJhbmdlKQpAQCAtMTQwNCw3ICsxNDA0LDcgQEAKICAgICBy
ZXR1cm4gQWNjZXNzaWJpbGl0eVRleHRNYXJrZXI6OmNyZWF0ZShwcmV2aW91c01hcmtlcik7CiAg
ICAgRU5EX0FYX09CSkNfRVhDRVBUSU9OUwogICAgIAotICAgIHJldHVybiAwOworICAgIHJldHVy
biBudWxscHRyOwogfQogCiBQYXNzUmVmUHRyPEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyPiBBY2Nl
c3NpYmlsaXR5VUlFbGVtZW50OjpuZXh0VGV4dE1hcmtlcihBY2Nlc3NpYmlsaXR5VGV4dE1hcmtl
ciogdGV4dE1hcmtlcikKQEAgLTE0MTQsNyArMTQxNCw3IEBACiAgICAgcmV0dXJuIEFjY2Vzc2li
aWxpdHlUZXh0TWFya2VyOjpjcmVhdGUobmV4dE1hcmtlcik7CiAgICAgRU5EX0FYX09CSkNfRVhD
RVBUSU9OUwogICAgIAotICAgIHJldHVybiAwOworICAgIHJldHVybiBudWxscHRyOwogfQogCiBK
U1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c3RyaW5nRm9y
VGV4dE1hcmtlclJhbmdlKEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyUmFuZ2UqIG1hcmtlclJhbmdl
KQpAQCAtMTQyNCw3ICsxNDI0LDcgQEAKICAgICByZXR1cm4gW3RleHRTdHJpbmcgY3JlYXRlSlNT
dHJpbmdSZWZdOwogICAgIEVORF9BWF9PQkpDX0VYQ0VQVElPTlMKICAgICAKLSAgICByZXR1cm4g
MDsKKyAgICByZXR1cm4gbnVsbHB0cjsKIH0KIAogUGFzc1JlZlB0cjxBY2Nlc3NpYmlsaXR5VGV4
dE1hcmtlclJhbmdlPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp0ZXh0TWFya2VyUmFuZ2VGb3JN
YXJrZXJzKEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyKiBzdGFydE1hcmtlciwgQWNjZXNzaWJpbGl0
eVRleHRNYXJrZXIqIGVuZE1hcmtlcikKQEAgLTE0MzUsNyArMTQzNSw3IEBACiAgICAgcmV0dXJu
IEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyUmFuZ2U6OmNyZWF0ZSh0ZXh0TWFya2VyUmFuZ2UpOwog
ICAgIEVORF9BWF9PQkpDX0VYQ0VQVElPTlMKICAgICAKLSAgICByZXR1cm4gMDsKKyAgICByZXR1
cm4gbnVsbHB0cjsKIH0KIAogUGFzc1JlZlB0cjxBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlcj4gQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudDo6c3RhcnRUZXh0TWFya2VyRm9yVGV4dE1hcmtlclJhbmdlKEFj
Y2Vzc2liaWxpdHlUZXh0TWFya2VyUmFuZ2UqIHJhbmdlKQpAQCAtMTQ0NSw3ICsxNDQ1LDcgQEAK
ICAgICByZXR1cm4gQWNjZXNzaWJpbGl0eVRleHRNYXJrZXI6OmNyZWF0ZSh0ZXh0TWFya2VyKTsK
ICAgICBFTkRfQVhfT0JKQ19FWENFUFRJT05TCiAgICAgCi0gICAgcmV0dXJuIDA7ICAgIAorICAg
IHJldHVybiBudWxscHRyOwogfQogCiBQYXNzUmVmUHRyPEFjY2Vzc2liaWxpdHlUZXh0TWFya2Vy
PiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjplbmRUZXh0TWFya2VyRm9yVGV4dE1hcmtlclJhbmdl
KEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyUmFuZ2UqIHJhbmdlKQpAQCAtMTQ1NSw3ICsxNDU1LDcg
QEAKICAgICByZXR1cm4gQWNjZXNzaWJpbGl0eVRleHRNYXJrZXI6OmNyZWF0ZSh0ZXh0TWFya2Vy
KTsKICAgICBFTkRfQVhfT0JKQ19FWENFUFRJT05TCiAgICAgCi0gICAgcmV0dXJuIDA7ICAgIAor
ICAgIHJldHVybiBudWxscHRyOwogfQogCiBQYXNzUmVmUHRyPEFjY2Vzc2liaWxpdHlUZXh0TWFy
a2VyPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjplbmRUZXh0TWFya2VyRm9yQm91bmRzKGludCB4
LCBpbnQgeSwgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KQpAQCAtMTQ2NSw3ICsxNDY1LDcgQEAKICAg
ICByZXR1cm4gQWNjZXNzaWJpbGl0eVRleHRNYXJrZXI6OmNyZWF0ZSh0ZXh0TWFya2VyKTsKICAg
ICBFTkRfQVhfT0JKQ19FWENFUFRJT05TCiAgICAgCi0gICAgcmV0dXJuIDA7CisgICAgcmV0dXJu
IG51bGxwdHI7CiB9CiAKIFBhc3NSZWZQdHI8QWNjZXNzaWJpbGl0eVRleHRNYXJrZXI+IEFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OnN0YXJ0VGV4dE1hcmtlckZvckJvdW5kcyhpbnQgeCwgaW50IHks
IGludCB3aWR0aCwgaW50IGhlaWdodCkKQEAgLTE0NzUsNyArMTQ3NSw3IEBACiAgICAgcmV0dXJu
IEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyOjpjcmVhdGUodGV4dE1hcmtlcik7CiAgICAgRU5EX0FY
X09CSkNfRVhDRVBUSU9OUwogICAgIAotICAgIHJldHVybiAwOworICAgIHJldHVybiBudWxscHRy
OwogfQogCiBQYXNzUmVmUHRyPEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyPiBBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50Ojp0ZXh0TWFya2VyRm9yUG9pbnQoaW50IHgsIGludCB5KQpAQCAtMTQ4NSw3ICsx
NDg1LDcgQEAKICAgICByZXR1cm4gQWNjZXNzaWJpbGl0eVRleHRNYXJrZXI6OmNyZWF0ZSh0ZXh0
TWFya2VyKTsKICAgICBFTkRfQVhfT0JKQ19FWENFUFRJT05TCiAgICAgCi0gICAgcmV0dXJuIDA7
ICAgIAorICAgIHJldHVybiBudWxscHRyOwogfQogCiBQYXNzUmVmUHRyPEFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmFjY2Vzc2liaWxpdHlFbGVtZW50Rm9y
VGV4dE1hcmtlcihBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlciogbWFya2VyKQpAQCAtMTQ5NSw3ICsx
NDk1LDcgQEAKICAgICByZXR1cm4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Y3JlYXRlKHVpRWxl
bWVudCk7CiAgICAgRU5EX0FYX09CSkNfRVhDRVBUSU9OUwogICAgIAotICAgIHJldHVybiAwOyAg
CisgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAgICAgCiBib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1l
bnQ6OmF0dHJpYnV0ZWRTdHJpbmdGb3JUZXh0TWFya2VyUmFuZ2VDb250YWluc0F0dHJpYnV0ZShK
U1N0cmluZ1JlZiBhdHRyaWJ1dGUsIEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyUmFuZ2UqIHJhbmdl
KQpAQCAtMTU0MCw3ICsxNTQwLDcgQEAKICAgICByZXR1cm4gQWNjZXNzaWJpbGl0eVRleHRNYXJr
ZXI6OmNyZWF0ZSh0ZXh0TWFya2VyKTsKICAgICBFTkRfQVhfT0JKQ19FWENFUFRJT05TCiAgICAg
Ci0gICAgcmV0dXJuIDA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICByZXR1cm4gbnVsbHB0cjsKIH0K
ICAgICAKIFBhc3NSZWZQdHI8QWNjZXNzaWJpbGl0eVRleHRNYXJrZXI+IEFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ6OnN0YXJ0VGV4dE1hcmtlcigpCkBAIC0xNTUwLDcgKzE1NTAsNyBAQAogICAgIHJl
dHVybiBBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlcjo6Y3JlYXRlKHRleHRNYXJrZXIpOwogICAgIEVO
RF9BWF9PQkpDX0VYQ0VQVElPTlMKICAgICAKLSAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gbnVs
bHB0cjsKIH0KIAogUGFzc1JlZlB0cjxBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlcj4gQWNjZXNzaWJp
bGl0eVVJRWxlbWVudDo6ZW5kVGV4dE1hcmtlcigpCkBAIC0xNTYwLDcgKzE1NjAsNyBAQAogICAg
IHJldHVybiBBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlcjo6Y3JlYXRlKHRleHRNYXJrZXIpOwogICAg
IEVORF9BWF9PQkpDX0VYQ0VQVElPTlMKICAgICAKLSAgICByZXR1cm4gMDsKKyAgICByZXR1cm4g
bnVsbHB0cjsKIH0KIAogc3RhdGljIE5TU3RyaW5nICpfY29udmVydE1hdGhNdWx0aXNjcmlwdFBh
aXJzVG9TdHJpbmcoTlNBcnJheSAqcGFpcnMpCkBAIC0xNTgxLDcgKzE1ODEsNyBAQAogICAgIHJl
dHVybiBbX2NvbnZlcnRNYXRoTXVsdGlzY3JpcHRQYWlyc1RvU3RyaW5nKHBhaXJzKSBjcmVhdGVK
U1N0cmluZ1JlZl07CiAgICAgRU5EX0FYX09CSkNfRVhDRVBUSU9OUwogICAgIAotICAgIHJldHVy
biAwOworICAgIHJldHVybiBudWxscHRyOwogfQogCiBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4g
QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6bWF0aFByZXNjcmlwdHNEZXNjcmlwdGlvbigpIGNvbnN0
CkBAIC0xNTkxLDcgKzE1OTEsNyBAQAogICAgIHJldHVybiBbX2NvbnZlcnRNYXRoTXVsdGlzY3Jp
cHRQYWlyc1RvU3RyaW5nKHBhaXJzKSBjcmVhdGVKU1N0cmluZ1JlZl07CiAgICAgRU5EX0FYX09C
SkNfRVhDRVBUSU9OUwogICAgIAotICAgIHJldHVybiAwOworICAgIHJldHVybiBudWxscHRyOwog
fQogICAgIAogSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OnBhdGhEZXNjcmlwdGlvbigpIGNvbnN0CkBAIC0xNjI1LDcgKzE2MjUsNyBAQAogICAgIHJldHVy
biBbcmVzdWx0IGNyZWF0ZUpTU3RyaW5nUmVmXTsKICAgICBFTkRfQVhfT0JKQ19FWENFUFRJT05T
CiAgICAgCi0gICAgcmV0dXJuIDA7CisgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAgICAgCiBKU1Jl
dGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c3VwcG9ydGVkQWN0
aW9ucygpIGNvbnN0CkBAIC0xNjM1LDcgKzE2MzUsNyBAQAogICAgIHJldHVybiBbW25hbWVzIGNv
bXBvbmVudHNKb2luZWRCeVN0cmluZzpAIiwiXSBjcmVhdGVKU1N0cmluZ1JlZl07CiAgICAgRU5E
X0FYX09CSkNfRVhDRVBUSU9OUwogICAgIAotICAgIHJldHVybiAwOworICAgIHJldHVybiBudWxs
cHRyOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXVFIK
</data>
<flag name="review"
          id="238853"
          type_id="1"
          status="+"
          setter="kling"
    />
          </attachment>
      

    </bug>

</bugzilla>