<?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>130971</bug_id>
          <alias>CVE-2016-4586</alias>
          <creation_ts>2014-03-31 09:39:18 -0700</creation_ts>
          <short_desc>media/track/track-remove-track.html is flaky, crashing and failing</short_desc>
          <delta_ts>2016-07-19 17:23:46 -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>Media</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=142484</see_also>
          <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="Alexey Proskuryakov">ap</reporter>
          <assigned_to name="Eric Carlson">eric.carlson</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>clopez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ggaren</cc>
    
    <cc>jer.noble</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>995889</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-03-31 09:39:18 -0700</bug_when>
    <thetext>media/track/track-remove-track.html is flaky. It was this way since the test was added last week.

http://webkit-test-results.appspot.com/dashboards/flakiness_dashboard.html#showAllRuns=true&amp;tests=media%2Ftrack%2Ftrack-remove-track.html

Crash:

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   com.apple.WebCore             	0x00000001126cf84c WebCore::createWrapperInline(JSC::ExecState*, WebCore::JSDOMGlobalObject*, WebCore::Node*) + 156 (JSNodeCustom.cpp:202)
1   com.apple.WebCore             	0x00000001126cf795 WebCore::createWrapper(JSC::ExecState*, WebCore::JSDOMGlobalObject*, WebCore::Node*) + 37 (JSNodeCustom.cpp:253)
2   com.apple.WebCore             	0x0000000111bc0b55 WebCore::toJS(JSC::ExecState*, WebCore::JSDOMGlobalObject*, WebCore::Node*) + 133 (JSNodeCustom.h:47)
3   com.apple.WebCore             	0x0000000111fcdeef WebCore::HTMLMediaElement::didAddUserAgentShadowRoot(WebCore::ShadowRoot*) + 447 (HTMLMediaElement.cpp:5963)

Fail:

@@ -1,4 +1,2 @@
 
-PASS Tests that the &apos;removetrack&apos; event is fired when an out-of-band TextTrack is removed. 
-PASS Tests that the &apos;removetrack&apos; event is NOT fired for inband TextTrack on a failed load. 
-
+Harness Error. harness_status.status = 2 , harness_status.message = null</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>995892</commentid>
    <comment_count>1</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-03-31 09:41:36 -0700</bug_when>
    <thetext>Marked as flaky in &lt;http://trac.webkit.org/r166508&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>999960</commentid>
    <comment_count>2</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2014-04-11 11:50:56 -0700</bug_when>
    <thetext>On GTK this test times out, but if you run it with a high enough timeout it gives this very same failure.

I&apos;ll update the GTK test expectations for this test to point here also.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1177470</commentid>
    <comment_count>3</comment_count>
      <attachid>274777</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2016-03-23 14:30:31 -0700</bug_when>
    <thetext>Created attachment 274777
Proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1177473</commentid>
    <comment_count>4</comment_count>
      <attachid>274777</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2016-03-23 14:36:39 -0700</bug_when>
    <thetext>Comment on attachment 274777
Proposed patch.

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

&gt; Source/WebCore/html/HTMLMediaElement.cpp:3890
&gt; +    Ref&lt;HTMLMediaElement&gt; protect(*this); // Loading and running script can trigger GC.
&gt; +    ensureUserAgentShadowRoot();

This is not our usual idiom for protect. 

It&apos;s better to add a Ref[Ptr] to a function that needs to use a pointer after an operation that could destroy it. ensureMediaControlsShadowRoot is clearly not such a function, because it doesn&apos;t do anything after calling ensureUserAgentShadowRoot().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1177474</commentid>
    <comment_count>5</comment_count>
      <attachid>274777</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2016-03-23 14:37:11 -0700</bug_when>
    <thetext>Comment on attachment 274777
Proposed patch.

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

&gt; Source/WebCore/ChangeLog:9
&gt; +        No new tests, this fixes an existing test.

Is the test still marked as flaky or failing in TestExpectations?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1178533</commentid>
    <comment_count>6</comment_count>
      <attachid>275050</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2016-03-28 14:15:50 -0700</bug_when>
    <thetext>Created attachment 275050
Proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1178534</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-03-28 14:18:06 -0700</bug_when>
    <thetext>Attachment 275050 did not pass style-queue:


ERROR: Source/WebCore/html/HTMLMediaElement.cpp:192:  preprocessor directives (e.g., #ifdef, #define, #import) should never be indented.  [whitespace/indent] [4]
ERROR: Source/WebCore/html/HTMLMediaElement.cpp:193:  Multi line control clauses should use braces.  [whitespace/braces] [4]
Total errors found: 2 in 4 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>1178541</commentid>
    <comment_count>8</comment_count>
      <attachid>275050</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2016-03-28 14:33:13 -0700</bug_when>
    <thetext>Comment on attachment 275050
Proposed patch.

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

&gt; Source/WebCore/html/HTMLMediaElement.cpp:192
&gt; +    #define CASE(actionType) \

Please #undef this at the end.

&gt; Source/WebCore/html/HTMLMediaElement.cpp:199
&gt; +    CASE(HTMLMediaElementEnums::LoadMediaResource);

It&apos;s probably better to log without the prefix.

&gt; Source/WebCore/html/HTMLMediaElement.cpp:409
&gt; +    , m_haveSetupCaptionContainer(false)

I think that WebKit style for this is m_haveSetUpCaptionContainer.

&gt; Source/WebCore/html/HTMLMediaElement.cpp:3911
&gt; +    m_creatingControls = true;

Should we ASSERT(!m_creatingControls) here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1178658</commentid>
    <comment_count>9</comment_count>
      <attachid>275091</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2016-03-29 07:40:27 -0700</bug_when>
    <thetext>Created attachment 275091
Patch for landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1178661</commentid>
    <comment_count>10</comment_count>
      <attachid>275091</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-03-29 08:40:33 -0700</bug_when>
    <thetext>Comment on attachment 275091
Patch for landing.

Clearing flags on attachment: 275091

Committed r198780: &lt;http://trac.webkit.org/changeset/198780&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1178662</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-03-29 08:40:38 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>274777</attachid>
            <date>2016-03-23 14:30:31 -0700</date>
            <delta_ts>2016-03-28 14:15:50 -0700</delta_ts>
            <desc>Proposed patch.</desc>
            <filename>shadow_root_patch_5.txt</filename>
            <type>text/plain</type>
            <size>3950</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE5ODU5NSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI0IEBACisyMDE2LTAzLTIzICBFcmljIENh
cmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIG1lZGlhL3RyYWNrL3Ry
YWNrLXJlbW92ZS10cmFjay5odG1sIGlzIGZsYWt5LCBjcmFzaGluZyBhbmQgZmFpbGluZworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMwOTcxCisgICAg
ICAgIDxyZGFyOi8vcHJvYmxlbS8yMzkxNzk3Mz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMsIHRoaXMgZml4ZXMgYW4gZXhpc3Rp
bmcgdGVzdC4KKworICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpjb250cm9sbGVySlNWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVk
aWFFbGVtZW50OjplbnN1cmVNZWRpYUNvbnRyb2xzU2hhZG93Um9vdCk6IFByb3RlY3QgdGhpcyBi
ZWZvcmUgY2FsbGluZyAKKyAgICAgICAgICBlbnN1cmVVc2VyQWdlbnRTaGFkb3dSb290IGJlY2F1
c2UgaXQgY2FuIGxvYWQgdGhlIGNvbnRyb2xzIHNjcmlwdHMsIHdoaWNoIGNhbiB0cmlnZ2VyIEdD
LgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6dXBkYXRlQ2FwdGlvbkNvbnRh
aW5lcik6IENhbGwgZW5zdXJlTWVkaWFDb250cm9sc1NoYWRvd1Jvb3QuCisgICAgICAgIChXZWJD
b3JlOjpIVE1MTWVkaWFFbGVtZW50Ojp1cGRhdGVUZXh0VHJhY2tEaXNwbGF5KTogRGl0dG8uCisg
ICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpjcmVhdGVNZWRpYUNvbnRyb2xzKTog
RGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50Ojpjb25maWd1cmVNZWRp
YUNvbnRyb2xzKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50Ojpj
b25maWd1cmVUZXh0VHJhY2tEaXNwbGF5KTogRGl0dG8uCisgICAgICAgICogaHRtbC9IVE1MTWVk
aWFFbGVtZW50Lmg6CisKIDIwMTYtMDMtMjMgIERlYW4gSmFja3NvbiAgPGRpbm9AYXBwbGUuY29t
PgogCiAgICAgICAgIFNjcmVlbiBxdWVyaWVzIHNob3VsZCBxdWVyeSB0aGUgZXhhY3Qgc2NyZWVu
LCBub3QgYSBkZWZhdWx0CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1l
bnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVu
dC5jcHAJKHJldmlzaW9uIDE5ODQ5NikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlh
RWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM4ODMsNyArMzg4MywxMyBAQCBzdGF0aWMg
SlNDOjpKU1ZhbHVlIGNvbnRyb2xsZXJKU1ZhbHVlKEpTCiAKICAgICByZXR1cm4gY29udHJvbGxl
ckpTV3JhcHBlcjsKIH0KLSAgICAKKwordm9pZCBIVE1MTWVkaWFFbGVtZW50OjplbnN1cmVNZWRp
YUNvbnRyb2xzU2hhZG93Um9vdCgpCit7CisgICAgUmVmPEhUTUxNZWRpYUVsZW1lbnQ+IHByb3Rl
Y3QoKnRoaXMpOyAvLyBMb2FkaW5nIGFuZCBydW5uaW5nIHNjcmlwdCBjYW4gdHJpZ2dlciBHQy4K
KyAgICBlbnN1cmVVc2VyQWdlbnRTaGFkb3dSb290KCk7Cit9CisKIHZvaWQgSFRNTE1lZGlhRWxl
bWVudDo6dXBkYXRlQ2FwdGlvbkNvbnRhaW5lcigpCiB7CiAgICAgTE9HKE1lZGlhLCAiSFRNTE1l
ZGlhRWxlbWVudDo6dXBkYXRlQ2FwdGlvbkNvbnRhaW5lciglcCkiLCB0aGlzKTsKQEAgLTM4OTcs
NyArMzkwMyw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6dXBkYXRlQ2FwdGlvbkNvbnQKICAg
ICBpZiAoIWVuc3VyZU1lZGlhQ29udHJvbHNJbmplY3RlZFNjcmlwdCgpKQogICAgICAgICByZXR1
cm47CiAKLSAgICBlbnN1cmVVc2VyQWdlbnRTaGFkb3dSb290KCk7CisgICAgZW5zdXJlTWVkaWFD
b250cm9sc1NoYWRvd1Jvb3QoKTsKIAogICAgIGlmICghbV9tZWRpYUNvbnRyb2xzSG9zdCkKICAg
ICAgICAgbV9tZWRpYUNvbnRyb2xzSG9zdCA9IE1lZGlhQ29udHJvbHNIb3N0OjpjcmVhdGUodGhp
cyk7CkBAIC01NDU1LDcgKzU0NjEsNyBAQCBib29sIEhUTUxNZWRpYUVsZW1lbnQ6OmNsb3NlZENh
cHRpb25zVmlzCiB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnVwZGF0ZVRleHRUcmFja0Rpc3BsYXko
KQogewogI2lmIEVOQUJMRShNRURJQV9DT05UUk9MU19TQ1JJUFQpCi0gICAgZW5zdXJlVXNlckFn
ZW50U2hhZG93Um9vdCgpOworICAgIGVuc3VyZU1lZGlhQ29udHJvbHNTaGFkb3dSb290KCk7CiAg
ICAgQVNTRVJUKG1fbWVkaWFDb250cm9sc0hvc3QpOwogICAgIG1fbWVkaWFDb250cm9sc0hvc3Qt
PnVwZGF0ZVRleHRUcmFja0NvbnRhaW5lcigpOwogI2Vsc2UKQEAgLTU2MTUsNyArNTYyMSw3IEBA
IGJvb2wgSFRNTE1lZGlhRWxlbWVudDo6aGFzTWVkaWFDb250cm9scygKIGJvb2wgSFRNTE1lZGlh
RWxlbWVudDo6Y3JlYXRlTWVkaWFDb250cm9scygpCiB7CiAjaWYgRU5BQkxFKE1FRElBX0NPTlRS
T0xTX1NDUklQVCkKLSAgICBlbnN1cmVVc2VyQWdlbnRTaGFkb3dSb290KCk7CisgICAgZW5zdXJl
TWVkaWFDb250cm9sc1NoYWRvd1Jvb3QoKTsKICAgICByZXR1cm4gZmFsc2U7CiAjZWxzZQogICAg
IGlmIChoYXNNZWRpYUNvbnRyb2xzKCkpCkBAIC01NjYwLDcgKzU2NjYsNyBAQCB2b2lkIEhUTUxN
ZWRpYUVsZW1lbnQ6OmNvbmZpZ3VyZU1lZGlhQ29uCiAgICAgaWYgKCFyZXF1aXJlQ29udHJvbHMg
fHwgIWluRG9jdW1lbnQoKSB8fCAhaW5BY3RpdmVEb2N1bWVudCgpKQogICAgICAgICByZXR1cm47
CiAKLSAgICBlbnN1cmVVc2VyQWdlbnRTaGFkb3dSb290KCk7CisgICAgZW5zdXJlTWVkaWFDb250
cm9sc1NoYWRvd1Jvb3QoKTsKICNlbHNlCiAgICAgaWYgKCFyZXF1aXJlQ29udHJvbHMgfHwgIWlu
RG9jdW1lbnQoKSB8fCAhaW5BY3RpdmVEb2N1bWVudCgpKSB7CiAgICAgICAgIGlmIChoYXNNZWRp
YUNvbnRyb2xzKCkpCkBAIC01NzA2LDcgKzU3MTIsNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6
OmNvbmZpZ3VyZVRleHRUcmFjCiAgICAgaWYgKCFtX2hhdmVWaXNpYmxlVGV4dFRyYWNrKQogICAg
ICAgICByZXR1cm47CiAKLSAgICBlbnN1cmVVc2VyQWdlbnRTaGFkb3dSb290KCk7CisgICAgZW5z
dXJlTWVkaWFDb250cm9sc1NoYWRvd1Jvb3QoKTsKICNlbHNlCiAgICAgaWYgKCFtX2hhdmVWaXNp
YmxlVGV4dFRyYWNrICYmICFoYXNNZWRpYUNvbnRyb2xzKCkpCiAgICAgICAgIHJldHVybjsKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCShyZXZpc2lvbiAxOTg0OTYp
CisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAkod29ya2luZyBjb3B5
KQpAQCAtNzU0LDYgKzc1NCw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCB1bnJlZ2lzdGVyV2l0aERv
Y3VtZW50KERvY3VtZW50Jik7CiAKICAgICB2b2lkIHVwZGF0ZUNhcHRpb25Db250YWluZXIoKTsK
KyAgICB2b2lkIGVuc3VyZU1lZGlhQ29udHJvbHNTaGFkb3dSb290KCk7CiAKICNpZiBFTkFCTEUo
V0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKQogICAgIHZvaWQgcHJlcGFyZUZvckRvY3VtZW50U3Vz
cGVuc2lvbigpIGZpbmFsOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>275050</attachid>
            <date>2016-03-28 14:15:50 -0700</date>
            <delta_ts>2016-03-29 07:40:27 -0700</delta_ts>
            <desc>Proposed patch.</desc>
            <filename>track-remove-track-crash-patch-1.txt</filename>
            <type>text/plain</type>
            <size>11686</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE5ODc1MCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQxIEBACisyMDE2LTAzLTI4ICBFcmljIENh
cmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIG1lZGlhL3RyYWNrL3Ry
YWNrLXJlbW92ZS10cmFjay5odG1sIGlzIGZsYWt5LCBjcmFzaGluZyBhbmQgZmFpbGluZworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMwOTcxCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIAorICAgICAgICBQcmV2
ZW50IEhUTUxNZWRpYUVsZW1lbnQgZnJvbSBiZWluZyBjb2xsZWN0ZWQgd2hpbGUgaXQgaXMgY3Jl
YXRpbmcgbWVkaWEgY29udHJvbHMuCisgICAgICAgIFRoZXNlIGNoYW5nZXMgcHJldmVudCB0aGUg
dGVzdCBmcm9tIGNyYXNoaW5nIGJ1dCB0aGV5IGRvIG5vdCBmaXggdGhlIGZsYWtpbmVzcywKKyAg
ICAgICAgd2hpY2ggaXMgY2F1c2VkIGJ5IGFub3RoZXIgYnVnLiBGaXhpbmcgdGhhdCBpcyB0cmFj
a2VkIGJ5IAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTU1OTU2LgorCisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OmFjdGlvbk5hbWUpOiBOZXcsIGRlYnVnZ2luZy1vbmx5IGhlbHBlciBmdW5jdGlv
bi4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OkhUTUxNZWRpYUVsZW1lbnQp
OiBJbml0aWFsaXplIG5ldyB2YXJpYWJsZXMuCisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFF
bGVtZW50OjpzY2hlZHVsZURlbGF5ZWRBY3Rpb24pOiBMb2cgdGhlIGZsYWcgbmFtZXMgdG8gbWFr
ZSBkZWJ1Z2dpbmcgZWFzaWVyLgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6
c2NoZWR1bGVOZXh0U291cmNlQ2hpbGQpOiBBZGQgbG9nZ2luZy4KKyAgICAgICAgKFdlYkNvcmU6
OkhUTUxNZWRpYUVsZW1lbnQ6OnVwZGF0ZUFjdGl2ZVRleHRUcmFja0N1ZXMpOiBVcGRhdGUgbG9n
Z2luZy4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmNvbmZpZ3VyZVRleHRU
cmFja0dyb3VwKTogRHJpdmUtYnkgb3B0aW1pemF0aW9uOiBkb24ndCBjYWxsIAorICAgICAgICAg
IHVwZGF0ZUNhcHRpb25Db250YWluZXIgaGVyZSwgY2FsbCBpdCBiZWZvcmUgZXhpdGluZyBjb25m
aWd1cmVUZXh0VHJhY2tzIHNvIHdlIG9ubHkgY2FsbAorICAgICAgICAgIGl0IG9uY2UgaW5zdGVh
ZCBvZiBvbmNlIHBlciB0cmFjayBncm91cC4KKyAgICAgICAgKFdlYkNvcmU6OmNvbnRyb2xsZXJK
U1ZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmVuc3VyZU1lZGlh
Q29udHJvbHNTaGFkb3dSb290KTogTmV3LCB3cmFwcGVyIGFyb3VuZCBjYWxsaW5nCisgICAgICAg
ICAgZW5zdXJlVXNlckFnZW50U2hhZG93Um9vdCBzbyBtX2NyZWF0aW5nQ29udHJvbHMgY2FuIGJl
IHNldCBhbmQgY2xlYXJlZCBhcHByb3ByaWF0ZWx5LgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1l
ZGlhRWxlbWVudDo6dXBkYXRlQ2FwdGlvbkNvbnRhaW5lcik6IGVuc3VyZVVzZXJBZ2VudFNoYWRv
d1Jvb3QgLT4gCisgICAgICAgICAgZW5zdXJlTWVkaWFDb250cm9sc1NoYWRvd1Jvb3QuIERyaXZl
IGJ5IG9wdGltaXphdGlvbjogc2V0L3Rlc3QgbV9oYXZlU2V0dXBDYXB0aW9uQ29udGFpbmVyCisg
ICAgICAgICAgc28gd2Ugb25seSBkbyB0aGlzIHNldHVwIG9uY2UuCisgICAgICAgIChXZWJDb3Jl
OjpIVE1MTWVkaWFFbGVtZW50Ojpjb25maWd1cmVUZXh0VHJhY2tzKTogQ2FsbCB1cGRhdGVDYXB0
aW9uQ29udGFpbmVyLgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6Y2xlYXJN
ZWRpYVBsYXllcik6IExvZyBmbGFnIG5hbWVzLgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlh
RWxlbWVudDo6aGFzUGVuZGluZ0FjdGl2aXR5KTogUmV0dXJuIHRydWUgd2hlbiBjcmVhdGluZyBj
b250cm9scyBzbyBHQworICAgICAgICAgIHdvbid0IGhhcHBlbiBkdXJpbmcgY29udHJvbHMgc2V0
dXAuCisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50Ojp1cGRhdGVUZXh0VHJhY2tE
aXNwbGF5KTogZW5zdXJlVXNlckFnZW50U2hhZG93Um9vdCAtPiAKKyAgICAgICAgICBlbnN1cmVN
ZWRpYUNvbnRyb2xzU2hhZG93Um9vdC4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1l
bnQ6OmNyZWF0ZU1lZGlhQ29udHJvbHMpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxN
ZWRpYUVsZW1lbnQ6OmNvbmZpZ3VyZU1lZGlhQ29udHJvbHMpOiBEaXR0by4KKyAgICAgICAgKFdl
YkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmNvbmZpZ3VyZVRleHRUcmFja0Rpc3BsYXkpOiBEaXR0
by4KKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuaDoKKwogMjAxNi0wMy0yNSAgU2lt
b24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBJbnNwZWN0b3Ig
TWVtb3J5IFRpbWVsaW5lIHNvbWV0aW1lcyBlbmNvdW50ZXJzIHVuc3RvcHBhYmxlIHJBRiBkcmF3
aW5nCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAJKHJldmlz
aW9uIDE5ODQ5NikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTE4NSw2ICsxODUsMjcgQEAgc3RhdGljIGNvbnN0IGNoYXIqIGJv
b2xTdHJpbmcoYm9vbCB2YWwpCiB7CiAgICAgcmV0dXJuIHZhbCA/ICJ0cnVlIiA6ICJmYWxzZSI7
CiB9CisKK3N0YXRpYyBTdHJpbmcgYWN0aW9uTmFtZShIVE1MTWVkaWFFbGVtZW50RW51bXM6OkRl
bGF5ZWRBY3Rpb25UeXBlIGFjdGlvbikKK3sKKyAgICBTdHJpbmdCdWlsZGVyIGFjdGlvbkJ1aWxk
ZXI7CisgICAgI2RlZmluZSBDQVNFKGFjdGlvblR5cGUpIFwKKyAgICBpZiAoYWN0aW9uICYgYWN0
aW9uVHlwZSkgeyBcCisgICAgICAgIGlmICghYWN0aW9uQnVpbGRlci5pc0VtcHR5KCkpIFwKKyAg
ICAgICAgICAgIGFjdGlvbkJ1aWxkZXIuYXBwZW5kKCIsICIpOyBcCisgICAgICAgIGFjdGlvbkJ1
aWxkZXIuYXBwZW5kKCNhY3Rpb25UeXBlKTsgXAorICAgIH0gXAorCisgICAgQ0FTRShIVE1MTWVk
aWFFbGVtZW50RW51bXM6OkxvYWRNZWRpYVJlc291cmNlKTsKKyAgICBDQVNFKEhUTUxNZWRpYUVs
ZW1lbnRFbnVtczo6Q29uZmlndXJlVGV4dFRyYWNrcyk7CisgICAgQ0FTRShIVE1MTWVkaWFFbGVt
ZW50RW51bXM6OlRleHRUcmFja0NoYW5nZXNOb3RpZmljYXRpb24pOworICAgIENBU0UoSFRNTE1l
ZGlhRWxlbWVudEVudW1zOjpDb25maWd1cmVUZXh0VHJhY2tEaXNwbGF5KTsKKyAgICBDQVNFKEhU
TUxNZWRpYUVsZW1lbnRFbnVtczo6Q2hlY2tQbGF5YmFja1RhcmdldENvbXBhdGFibGl0eSk7Cisg
ICAgQ0FTRShIVE1MTWVkaWFFbGVtZW50RW51bXM6OkNoZWNrTWVkaWFTdGF0ZSk7CisKKyAgICBy
ZXR1cm4gYWN0aW9uQnVpbGRlci50b1N0cmluZygpOworfQorCiAjZW5kaWYKIAogI2lmbmRlZiBM
T0dfTUVESUFfRVZFTlRTCkBAIC0zODIsOCArNDAzLDEwIEBAIEhUTUxNZWRpYUVsZW1lbnQ6OkhU
TUxNZWRpYUVsZW1lbnQoY29uc3QKICAgICAsIG1faGF2ZVByZXBhcmVkVG9QbGF5KGZhbHNlKQog
ICAgICwgbV9wYXJzaW5nSW5Qcm9ncmVzcyhjcmVhdGVkQnlQYXJzZXIpCiAgICAgLCBtX2VsZW1l
bnRJc0hpZGRlbihkb2N1bWVudC5oaWRkZW4oKSkKKyAgICAsIG1fY3JlYXRpbmdDb250cm9scyhm
YWxzZSkKICNpZiBFTkFCTEUoTUVESUFfQ09OVFJPTFNfU0NSSVBUKQogICAgICwgbV9tZWRpYUNv
bnRyb2xzRGVwZW5kT25QYWdlU2NhbGVGYWN0b3IoZmFsc2UpCisgICAgLCBtX2hhdmVTZXR1cENh
cHRpb25Db250YWluZXIoZmFsc2UpCiAjZW5kaWYKICNpZiBFTkFCTEUoVklERU9fVFJBQ0spCiAg
ICAgLCBtX3RyYWNrc0FyZVJlYWR5KHRydWUpCkBAIC04MjIsNyArODQ1LDcgQEAgdm9pZCBIVE1M
TWVkaWFFbGVtZW50OjpkaWRSZWNhbGNTdHlsZShTdAogCiB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6
OnNjaGVkdWxlRGVsYXllZEFjdGlvbihEZWxheWVkQWN0aW9uVHlwZSBhY3Rpb25UeXBlKQogewot
ICAgIExPRyhNZWRpYSwgIkhUTUxNZWRpYUVsZW1lbnQ6OnNjaGVkdWxlTG9hZCglcCkiLCB0aGlz
KTsKKyAgICBMT0coTWVkaWEsICJIVE1MTWVkaWFFbGVtZW50OjpzY2hlZHVsZURlbGF5ZWRBY3Rp
b24oJXApIC0gc2V0dGluZyAlcyBmbGFnIiwgdGhpcywgYWN0aW9uTmFtZShhY3Rpb25UeXBlKS51
dGY4KCkuZGF0YSgpKTsKIAogICAgIGlmICgoYWN0aW9uVHlwZSAmIExvYWRNZWRpYVJlc291cmNl
KSAmJiAhKG1fcGVuZGluZ0FjdGlvbkZsYWdzICYgTG9hZE1lZGlhUmVzb3VyY2UpKSB7CiAgICAg
ICAgIHByZXBhcmVGb3JMb2FkKCk7CkBAIC04NDgsNiArODcxLDcgQEAgdm9pZCBIVE1MTWVkaWFF
bGVtZW50OjpzY2hlZHVsZURlbGF5ZWRBYwogdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzY2hlZHVs
ZU5leHRTb3VyY2VDaGlsZCgpCiB7CiAgICAgLy8gU2NoZWR1bGUgdGhlIHRpbWVyIHRvIHRyeSB0
aGUgbmV4dCA8c291cmNlPiBlbGVtZW50IFdJVEhPVVQgcmVzZXR0aW5nIHN0YXRlIGFsYSBwcmVw
YXJlRm9yTG9hZC4KKyAgICBMT0coTWVkaWEsICJIVE1MTWVkaWFFbGVtZW50OjpzY2hlZHVsZU5l
eHRTb3VyY2VDaGlsZCglcCkgLSBzZXR0aW5nICVzIGZsYWciLCB0aGlzLCBhY3Rpb25OYW1lKExv
YWRNZWRpYVJlc291cmNlKS51dGY4KCkuZGF0YSgpKTsKICAgICBzZXRGbGFncyhtX3BlbmRpbmdB
Y3Rpb25GbGFncywgTG9hZE1lZGlhUmVzb3VyY2UpOwogICAgIG1fcGVuZGluZ0FjdGlvblRpbWVy
LnN0YXJ0T25lU2hvdCgwKTsKIH0KQEAgLTE0MDUsNyArMTQyOSw3IEBAIHZvaWQgSFRNTE1lZGlh
RWxlbWVudDo6dXBkYXRlQWN0aXZlVGV4dFQKICAgICBpZiAoaWdub3JlVHJhY2tEaXNwbGF5VXBk
YXRlUmVxdWVzdHMoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgTE9HKE1lZGlhLCAiSFRNTE1l
ZGlhRWxlbWVudDo6dXBkYXRlQWN0aXZlVGV4dFRyYWNrcyglcCkiLCB0aGlzKTsKKyAgICBMT0co
TWVkaWEsICJIVE1MTWVkaWFFbGVtZW50Ojp1cGRhdGVBY3RpdmVUZXh0VHJhY2tDdWVzKCVwKSIs
IHRoaXMpOwogCiAgICAgLy8gMSAtIExldCBjdXJyZW50IGN1ZXMgYmUgYSBsaXN0IG9mIGN1ZXMs
IGluaXRpYWxpemVkIHRvIGNvbnRhaW4gYWxsIHRoZQogICAgIC8vIGN1ZXMgb2YgYWxsIHRoZSBo
aWRkZW4sIHNob3dpbmcsIG9yIHNob3dpbmcgYnkgZGVmYXVsdCB0ZXh0IHRyYWNrcyBvZiB0aGUK
QEAgLTM4NTMsOCArMzg3Nyw2IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6Y29uZmlndXJlVGV4
dFRyYWMKICAgICAgICAgICAgIG1fd2Via2l0TGVnYWN5Q2xvc2VkQ2FwdGlvbk92ZXJyaWRlID0g
dHJ1ZTsKICAgICB9CiAKLSAgICB1cGRhdGVDYXB0aW9uQ29udGFpbmVyKCk7Ci0KICAgICBtX3By
b2Nlc3NpbmdQcmVmZXJlbmNlQ2hhbmdlID0gZmFsc2U7CiB9CiAKQEAgLTM4ODMsMTEgKzM5MDUs
MjEgQEAgc3RhdGljIEpTQzo6SlNWYWx1ZSBjb250cm9sbGVySlNWYWx1ZShKUwogCiAgICAgcmV0
dXJuIGNvbnRyb2xsZXJKU1dyYXBwZXI7CiB9Ci0gICAgCisKK3ZvaWQgSFRNTE1lZGlhRWxlbWVu
dDo6ZW5zdXJlTWVkaWFDb250cm9sc1NoYWRvd1Jvb3QoKQoreworICAgIG1fY3JlYXRpbmdDb250
cm9scyA9IHRydWU7CisgICAgZW5zdXJlVXNlckFnZW50U2hhZG93Um9vdCgpOworICAgIG1fY3Jl
YXRpbmdDb250cm9scyA9IGZhbHNlOworfQorCiB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnVwZGF0
ZUNhcHRpb25Db250YWluZXIoKQogewogICAgIExPRyhNZWRpYSwgIkhUTUxNZWRpYUVsZW1lbnQ6
OnVwZGF0ZUNhcHRpb25Db250YWluZXIoJXApIiwgdGhpcyk7CiAjaWYgRU5BQkxFKE1FRElBX0NP
TlRST0xTX1NDUklQVCkKKyAgICBpZiAobV9oYXZlU2V0dXBDYXB0aW9uQ29udGFpbmVyKQorICAg
ICAgICByZXR1cm47CisKICAgICBQYWdlKiBwYWdlID0gZG9jdW1lbnQoKS5wYWdlKCk7CiAgICAg
aWYgKCFwYWdlKQogICAgICAgICByZXR1cm47CkBAIC0zODk3LDcgKzM5MjksNyBAQCB2b2lkIEhU
TUxNZWRpYUVsZW1lbnQ6OnVwZGF0ZUNhcHRpb25Db250CiAgICAgaWYgKCFlbnN1cmVNZWRpYUNv
bnRyb2xzSW5qZWN0ZWRTY3JpcHQoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgZW5zdXJlVXNl
ckFnZW50U2hhZG93Um9vdCgpOworICAgIGVuc3VyZU1lZGlhQ29udHJvbHNTaGFkb3dSb290KCk7
CiAKICAgICBpZiAoIW1fbWVkaWFDb250cm9sc0hvc3QpCiAgICAgICAgIG1fbWVkaWFDb250cm9s
c0hvc3QgPSBNZWRpYUNvbnRyb2xzSG9zdDo6Y3JlYXRlKHRoaXMpOwpAQCAtMzkzMSw2ICszOTYz
LDggQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50Ojp1cGRhdGVDYXB0aW9uQ29udAogICAgIEpTQzo6
TWFya2VkQXJndW1lbnRCdWZmZXIgbm9Bcmd1bWVudHM7CiAgICAgSlNDOjpjYWxsKGV4ZWMsIG1l
dGhvZE9iamVjdCwgY2FsbFR5cGUsIGNhbGxEYXRhLCBjb250cm9sbGVyT2JqZWN0LCBub0FyZ3Vt
ZW50cyk7CiAgICAgZXhlYy0+Y2xlYXJFeGNlcHRpb24oKTsKKworICAgIG1faGF2ZVNldHVwQ2Fw
dGlvbkNvbnRhaW5lciA9IHRydWU7CiAjZW5kaWYKIH0KIApAQCAtNDA1MCw2ICs0MDg0LDcgQEAg
dm9pZCBIVE1MTWVkaWFFbGVtZW50Ojpjb25maWd1cmVUZXh0VHJhYwogICAgIGlmIChvdGhlclRy
YWNrcy50cmFja3Muc2l6ZSgpKQogICAgICAgICBjb25maWd1cmVUZXh0VHJhY2tHcm91cChvdGhl
clRyYWNrcyk7CiAKKyAgICB1cGRhdGVDYXB0aW9uQ29udGFpbmVyKCk7CiAgICAgY29uZmlndXJl
VGV4dFRyYWNrRGlzcGxheSgpOwogICAgIGlmIChoYXNNZWRpYUNvbnRyb2xzKCkpCiAgICAgICAg
IG1lZGlhQ29udHJvbHMoKS0+Y2xvc2VkQ2FwdGlvblRyYWNrc0NoYW5nZWQoKTsKQEAgLTQ5MTYs
OSArNDk1MSw5IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6dXNlckNhbmNlbGxlZExvYWQKICNl
bmRpZgogfQogCi12b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OmNsZWFyTWVkaWFQbGF5ZXIoaW50IGZs
YWdzKQordm9pZCBIVE1MTWVkaWFFbGVtZW50OjpjbGVhck1lZGlhUGxheWVyKERlbGF5ZWRBY3Rp
b25UeXBlIGZsYWdzKQogewotICAgIExPRyhNZWRpYSwgIkhUTUxNZWRpYUVsZW1lbnQ6OmNsZWFy
TWVkaWFQbGF5ZXIoJXApIC0gZmxhZ3MgPSAleCIsIHRoaXMsICh1bnNpZ25lZClmbGFncyk7Cisg
ICAgTE9HKE1lZGlhLCAiSFRNTE1lZGlhRWxlbWVudDo6Y2xlYXJNZWRpYVBsYXllciglcCkgLSBm
bGFncyA9ICVzIiwgdGhpcywgYWN0aW9uTmFtZShmbGFncykudXRmOCgpLmRhdGEoKSk7CiAKICNp
ZiBFTkFCTEUoVklERU9fVFJBQ0spCiAgICAgZm9yZ2V0UmVzb3VyY2VTcGVjaWZpY1RyYWNrcygp
OwpAQCAtNTA2Nyw3ICs1MTAyLDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpyZXN1bWUoKQog
CiBib29sIEhUTUxNZWRpYUVsZW1lbnQ6Omhhc1BlbmRpbmdBY3Rpdml0eSgpIGNvbnN0CiB7Ci0g
ICAgcmV0dXJuIChoYXNBdWRpbygpICYmIGlzUGxheWluZygpKSB8fCBtX2FzeW5jRXZlbnRRdWV1
ZS5oYXNQZW5kaW5nRXZlbnRzKCk7CisgICAgcmV0dXJuIChoYXNBdWRpbygpICYmIGlzUGxheWlu
ZygpKSB8fCBtX2FzeW5jRXZlbnRRdWV1ZS5oYXNQZW5kaW5nRXZlbnRzKCkgfHwgbV9jcmVhdGlu
Z0NvbnRyb2xzOwogfQogCiB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhVm9sdW1lRGlkQ2hh
bmdlKCkKQEAgLTU0NTUsNyArNTQ5MCw3IEBAIGJvb2wgSFRNTE1lZGlhRWxlbWVudDo6Y2xvc2Vk
Q2FwdGlvbnNWaXMKIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6dXBkYXRlVGV4dFRyYWNrRGlzcGxh
eSgpCiB7CiAjaWYgRU5BQkxFKE1FRElBX0NPTlRST0xTX1NDUklQVCkKLSAgICBlbnN1cmVVc2Vy
QWdlbnRTaGFkb3dSb290KCk7CisgICAgZW5zdXJlTWVkaWFDb250cm9sc1NoYWRvd1Jvb3QoKTsK
ICAgICBBU1NFUlQobV9tZWRpYUNvbnRyb2xzSG9zdCk7CiAgICAgbV9tZWRpYUNvbnRyb2xzSG9z
dC0+dXBkYXRlVGV4dFRyYWNrQ29udGFpbmVyKCk7CiAjZWxzZQpAQCAtNTYxNSw3ICs1NjUwLDcg
QEAgYm9vbCBIVE1MTWVkaWFFbGVtZW50OjpoYXNNZWRpYUNvbnRyb2xzKAogYm9vbCBIVE1MTWVk
aWFFbGVtZW50OjpjcmVhdGVNZWRpYUNvbnRyb2xzKCkKIHsKICNpZiBFTkFCTEUoTUVESUFfQ09O
VFJPTFNfU0NSSVBUKQotICAgIGVuc3VyZVVzZXJBZ2VudFNoYWRvd1Jvb3QoKTsKKyAgICBlbnN1
cmVNZWRpYUNvbnRyb2xzU2hhZG93Um9vdCgpOwogICAgIHJldHVybiBmYWxzZTsKICNlbHNlCiAg
ICAgaWYgKGhhc01lZGlhQ29udHJvbHMoKSkKQEAgLTU2NjAsNyArNTY5NSw3IEBAIHZvaWQgSFRN
TE1lZGlhRWxlbWVudDo6Y29uZmlndXJlTWVkaWFDb24KICAgICBpZiAoIXJlcXVpcmVDb250cm9s
cyB8fCAhaW5Eb2N1bWVudCgpIHx8ICFpbkFjdGl2ZURvY3VtZW50KCkpCiAgICAgICAgIHJldHVy
bjsKIAotICAgIGVuc3VyZVVzZXJBZ2VudFNoYWRvd1Jvb3QoKTsKKyAgICBlbnN1cmVNZWRpYUNv
bnRyb2xzU2hhZG93Um9vdCgpOwogI2Vsc2UKICAgICBpZiAoIXJlcXVpcmVDb250cm9scyB8fCAh
aW5Eb2N1bWVudCgpIHx8ICFpbkFjdGl2ZURvY3VtZW50KCkpIHsKICAgICAgICAgaWYgKGhhc01l
ZGlhQ29udHJvbHMoKSkKQEAgLTU3MDYsNyArNTc0MSw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVu
dDo6Y29uZmlndXJlVGV4dFRyYWMKICAgICBpZiAoIW1faGF2ZVZpc2libGVUZXh0VHJhY2spCiAg
ICAgICAgIHJldHVybjsKIAotICAgIGVuc3VyZVVzZXJBZ2VudFNoYWRvd1Jvb3QoKTsKKyAgICBl
bnN1cmVNZWRpYUNvbnRyb2xzU2hhZG93Um9vdCgpOwogI2Vsc2UKICAgICBpZiAoIW1faGF2ZVZp
c2libGVUZXh0VHJhY2sgJiYgIWhhc01lZGlhQ29udHJvbHMoKSkKICAgICAgICAgcmV0dXJuOwpJ
bmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgJKHJldmlzaW9uIDE5ODQ5
NikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCSh3b3JraW5nIGNv
cHkpCkBAIC02NDksNyArNjQ5LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIHNjaGVkdWxlTmV4dFNv
dXJjZUNoaWxkKCk7CiAgICAgdm9pZCBsb2FkTmV4dFNvdXJjZUNoaWxkKCk7CiAgICAgdm9pZCB1
c2VyQ2FuY2VsbGVkTG9hZCgpOwotICAgIHZvaWQgY2xlYXJNZWRpYVBsYXllcihpbnQgZmxhZ3Mp
OworICAgIHZvaWQgY2xlYXJNZWRpYVBsYXllcihEZWxheWVkQWN0aW9uVHlwZSBmbGFncyk7CiAg
ICAgYm9vbCBoYXZlUG90ZW50aWFsU291cmNlQ2hpbGQoKTsKICAgICB2b2lkIG5vbmVTdXBwb3J0
ZWQoKTsKICAgICB2b2lkIGNhbmNlbFBlbmRpbmdFdmVudHNBbmRDYWxsYmFja3MoKTsKQEAgLTc1
NCw2ICs3NTQsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgdW5yZWdpc3RlcldpdGhEb2N1bWVudChE
b2N1bWVudCYpOwogCiAgICAgdm9pZCB1cGRhdGVDYXB0aW9uQ29udGFpbmVyKCk7CisgICAgdm9p
ZCBlbnN1cmVNZWRpYUNvbnRyb2xzU2hhZG93Um9vdCgpOwogCiAjaWYgRU5BQkxFKFdJUkVMRVNT
X1BMQVlCQUNLX1RBUkdFVCkKICAgICB2b2lkIHByZXBhcmVGb3JEb2N1bWVudFN1c3BlbnNpb24o
KSBmaW5hbDsKQEAgLTkwNCw5ICs5MDUsMTEgQEAgcHJpdmF0ZToKICAgICBib29sIG1faGF2ZVBy
ZXBhcmVkVG9QbGF5IDogMTsKICAgICBib29sIG1fcGFyc2luZ0luUHJvZ3Jlc3MgOiAxOwogICAg
IGJvb2wgbV9lbGVtZW50SXNIaWRkZW4gOiAxOworICAgIGJvb2wgbV9jcmVhdGluZ0NvbnRyb2xz
IDogMTsKIAogI2lmIEVOQUJMRShNRURJQV9DT05UUk9MU19TQ1JJUFQpCiAgICAgYm9vbCBtX21l
ZGlhQ29udHJvbHNEZXBlbmRPblBhZ2VTY2FsZUZhY3RvciA6IDE7CisgICAgYm9vbCBtX2hhdmVT
ZXR1cENhcHRpb25Db250YWluZXIgOiAxOwogI2VuZGlmCiAKICNpZiBFTkFCTEUoVklERU9fVFJB
Q0spCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwkocmV2
aXNpb24gMTk4NTk4KQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlv
bnMJKHdvcmtpbmcgY29weSkKQEAgLTkwOSw3ICs5MDksNiBAQCB3ZWJraXQub3JnL2IvMTIzMDEw
IG1lZGlhL1czQy9hdWRpby9uZXR3CiB3ZWJraXQub3JnL2IvMTIzMDk5IG1lZGlhL21lZGlhLWNv
bnRyb2xsZXItdGltZS1jbGFtcC5odG1sIFsgUGFzcyBUaW1lb3V0IF0KIHdlYmtpdC5vcmcvYi8x
MjM1MjIgbWVkaWEvdHJhY2svdHJhY2staW4tYmFuZC1sZWdhY3ktYXBpLmh0bWwgWyBQYXNzIEZh
aWx1cmUgQ3Jhc2ggXQogd2Via2l0Lm9yZy9iLzEzMDQ5MCBtZWRpYS92aWRlby1yZW1vdGUtY29u
dHJvbC1wbGF5cGF1c2UuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCi13ZWJraXQub3JnL2IvMTMwOTcx
IG1lZGlhL3RyYWNrL3RyYWNrLXJlbW92ZS10cmFjay5odG1sIFsgUGFzcyBDcmFzaCBGYWlsdXJl
IFRpbWVvdXQgXQogd2Via2l0Lm9yZy9iLzEzMTg1NSBtZWRpYS9ldmVudC1hdHRyaWJ1dGVzLmh0
bWwgWyBQYXNzIEZhaWx1cmUgVGltZW91dCBdCiB3ZWJraXQub3JnL2IvMTMzMzYzIG1lZGlhL3Zp
ZGVvLXJ0bC5odG1sIFsgUGFzcyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8xMzM2
ODYgbWVkaWEvdHJhY2svdzNjL2ludGVyZmFjZXMvVGV4dFRyYWNrQ3VlL2FsaWduLmh0bWwgWyBQ
YXNzIEZhaWx1cmUgXQpAQCAtOTMwLDYgKzkyOSw3IEBAIHdlYmtpdC5vcmcvYi8xNDIxNTIgbWVk
aWEvdHJhY2svdHJhY2staW4KIHdlYmtpdC5vcmcvYi8xNDc5NDQgbWVkaWEvdmlkZW8tc2Vlay10
by1jdXJyZW50LXRpbWUuaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTE0MTc3
IG1lZGlhL2V2ZW50LXF1ZXVlLWNyYXNoLmh0bWwgWyBQYXNzIEZhaWx1cmUgXQogd2Via2l0Lm9y
Zy9iLzE1MDQwOCBodHRwL3Rlc3RzL21lZGlhL3ZpZGVvLWxvYWQtc3VzcGVuZC5odG1sIFsgUGFz
cyBUaW1lb3V0IF0KK3dlYmtpdC5vcmcvYi8xNTU5NTYgbWVkaWEvdHJhY2svdHJhY2stcmVtb3Zl
LXRyYWNrLmh0bWwgWyBQYXNzIEZhaWx1cmUgVGltZW91dCBdCiAjIyAtLS0gRW5kIGZsYWt5IG1l
ZGlhIHRlc3RzCiAKICMgU2tpcHBlZCB3aGlsZSBFcmljIENhcmxzb24gd29ya3Mgb24gYSBmaXgu
Cg==
</data>
<flag name="review"
          id="299441"
          type_id="1"
          status="+"
          setter="ap"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>275091</attachid>
            <date>2016-03-29 07:40:27 -0700</date>
            <delta_ts>2016-03-29 08:40:33 -0700</delta_ts>
            <desc>Patch for landing.</desc>
            <filename>track-remove-track-crash-patch-2.txt</filename>
            <type>text/plain</type>
            <size>12207</size>
            <attacher name="Eric Carlson">eric.carlson</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE5ODc3OSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQxIEBACisyMDE2LTAzLTI5ICBFcmljIENh
cmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgorCisgICAgICAgIG1lZGlhL3RyYWNrL3Ry
YWNrLXJlbW92ZS10cmFjay5odG1sIGlzIGZsYWt5LCBjcmFzaGluZyBhbmQgZmFpbGluZworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMwOTcxCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgQWxleGV5IFByb3NrdXJ5YWtvdi4KKyAgICAgICAgCisgICAgICAg
IFByZXZlbnQgSFRNTE1lZGlhRWxlbWVudCBmcm9tIGJlaW5nIGNvbGxlY3RlZCB3aGlsZSBpdCBp
cyBjcmVhdGluZyBtZWRpYSBjb250cm9scy4KKyAgICAgICAgVGhlc2UgY2hhbmdlcyBwcmV2ZW50
IHRoZSB0ZXN0IGZyb20gY3Jhc2hpbmcgYnV0IHRoZXkgZG8gbm90IGZpeCB0aGUgZmxha2luZXNz
LAorICAgICAgICB3aGljaCBpcyBjYXVzZWQgYnkgYW5vdGhlciBidWcuIEZpeGluZyB0aGF0IGlz
IHRyYWNrZWQgYnkgCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNTU5NTYuCisKKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6YWN0aW9uTmFtZSk6IE5ldywgZGVidWdnaW5nLW9ubHkgaGVscGVyIGZ1
bmN0aW9uLgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6SFRNTE1lZGlhRWxl
bWVudCk6IEluaXRpYWxpemUgbmV3IHZhcmlhYmxlcy4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxN
ZWRpYUVsZW1lbnQ6OnNjaGVkdWxlRGVsYXllZEFjdGlvbik6IExvZyB0aGUgZmxhZyBuYW1lcyB0
byBtYWtlIGRlYnVnZ2luZyBlYXNpZXIuCisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVt
ZW50OjpzY2hlZHVsZU5leHRTb3VyY2VDaGlsZCk6IEFkZCBsb2dnaW5nLgorICAgICAgICAoV2Vi
Q29yZTo6SFRNTE1lZGlhRWxlbWVudDo6dXBkYXRlQWN0aXZlVGV4dFRyYWNrQ3Vlcyk6IFVwZGF0
ZSBsb2dnaW5nLgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6Y29uZmlndXJl
VGV4dFRyYWNrR3JvdXApOiBEcml2ZS1ieSBvcHRpbWl6YXRpb246IGRvbid0IGNhbGwgCisgICAg
ICAgICAgdXBkYXRlQ2FwdGlvbkNvbnRhaW5lciBoZXJlLCBjYWxsIGl0IGJlZm9yZSBleGl0aW5n
IGNvbmZpZ3VyZVRleHRUcmFja3Mgc28gd2Ugb25seSBjYWxsCisgICAgICAgICAgaXQgb25jZSBp
bnN0ZWFkIG9mIG9uY2UgcGVyIHRyYWNrIGdyb3VwLgorICAgICAgICAoV2ViQ29yZTo6Y29udHJv
bGxlckpTVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6ZW5zdXJl
TWVkaWFDb250cm9sc1NoYWRvd1Jvb3QpOiBOZXcsIHdyYXBwZXIgYXJvdW5kIGNhbGxpbmcKKyAg
ICAgICAgICBlbnN1cmVVc2VyQWdlbnRTaGFkb3dSb290IHNvIG1fY3JlYXRpbmdDb250cm9scyBj
YW4gYmUgc2V0IGFuZCBjbGVhcmVkIGFwcHJvcHJpYXRlbHkuCisgICAgICAgIChXZWJDb3JlOjpI
VE1MTWVkaWFFbGVtZW50Ojp1cGRhdGVDYXB0aW9uQ29udGFpbmVyKTogZW5zdXJlVXNlckFnZW50
U2hhZG93Um9vdCAtPiAKKyAgICAgICAgICBlbnN1cmVNZWRpYUNvbnRyb2xzU2hhZG93Um9vdC4g
RHJpdmUgYnkgb3B0aW1pemF0aW9uOiBzZXQvdGVzdCBtX2hhdmVTZXR1cENhcHRpb25Db250YWlu
ZXIKKyAgICAgICAgICBzbyB3ZSBvbmx5IGRvIHRoaXMgc2V0dXAgb25jZS4KKyAgICAgICAgKFdl
YkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OmNvbmZpZ3VyZVRleHRUcmFja3MpOiBDYWxsIHVwZGF0
ZUNhcHRpb25Db250YWluZXIuCisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50Ojpj
bGVhck1lZGlhUGxheWVyKTogTG9nIGZsYWcgbmFtZXMuCisgICAgICAgIChXZWJDb3JlOjpIVE1M
TWVkaWFFbGVtZW50OjpoYXNQZW5kaW5nQWN0aXZpdHkpOiBSZXR1cm4gdHJ1ZSB3aGVuIGNyZWF0
aW5nIGNvbnRyb2xzIHNvIEdDCisgICAgICAgICAgd29uJ3QgaGFwcGVuIGR1cmluZyBjb250cm9s
cyBzZXR1cC4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnVwZGF0ZVRleHRU
cmFja0Rpc3BsYXkpOiBlbnN1cmVVc2VyQWdlbnRTaGFkb3dSb290IC0+IAorICAgICAgICAgIGVu
c3VyZU1lZGlhQ29udHJvbHNTaGFkb3dSb290LgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlh
RWxlbWVudDo6Y3JlYXRlTWVkaWFDb250cm9scyk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6
SFRNTE1lZGlhRWxlbWVudDo6Y29uZmlndXJlTWVkaWFDb250cm9scyk6IERpdHRvLgorICAgICAg
ICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6Y29uZmlndXJlVGV4dFRyYWNrRGlzcGxheSk6
IERpdHRvLgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5oOgorCiAyMDE2LTAzLTI5
ICBHeXV5b3VuZyBLaW0gIDxneXV5b3VuZy5raW1Ad2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJl
dmlld2VkIEVGTCBidWlsZCBmaXggY2F1c2VkIGJ5IHIxOTg3NzMKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAkocmV2aXNpb24gMTk4NDk2KQorKysgU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTg1
LDYgKzE4NSwzMCBAQCBzdGF0aWMgY29uc3QgY2hhciogYm9vbFN0cmluZyhib29sIHZhbCkKIHsK
ICAgICByZXR1cm4gdmFsID8gInRydWUiIDogImZhbHNlIjsKIH0KKworc3RhdGljIFN0cmluZyBh
Y3Rpb25OYW1lKEhUTUxNZWRpYUVsZW1lbnRFbnVtczo6RGVsYXllZEFjdGlvblR5cGUgYWN0aW9u
KQoreworICAgIFN0cmluZ0J1aWxkZXIgYWN0aW9uQnVpbGRlcjsKKworI2RlZmluZSBDQVNFKF9h
Y3Rpb25UeXBlKSBcCisgICAgaWYgKGFjdGlvbiAmIChIVE1MTWVkaWFFbGVtZW50RW51bXM6Ol9h
Y3Rpb25UeXBlKSkgeyBcCisgICAgICAgIGlmICghYWN0aW9uQnVpbGRlci5pc0VtcHR5KCkpIFwK
KyAgICAgICAgYWN0aW9uQnVpbGRlci5hcHBlbmQoIiwgIik7IFwKKyAgICAgICAgYWN0aW9uQnVp
bGRlci5hcHBlbmQoI19hY3Rpb25UeXBlKTsgXAorICAgIH0gXAorCisgICAgQ0FTRShMb2FkTWVk
aWFSZXNvdXJjZSk7CisgICAgQ0FTRShDb25maWd1cmVUZXh0VHJhY2tzKTsKKyAgICBDQVNFKFRl
eHRUcmFja0NoYW5nZXNOb3RpZmljYXRpb24pOworICAgIENBU0UoQ29uZmlndXJlVGV4dFRyYWNr
RGlzcGxheSk7CisgICAgQ0FTRShDaGVja1BsYXliYWNrVGFyZ2V0Q29tcGF0YWJsaXR5KTsKKyAg
ICBDQVNFKENoZWNrTWVkaWFTdGF0ZSk7CisKKyAgICByZXR1cm4gYWN0aW9uQnVpbGRlci50b1N0
cmluZygpOworCisjdW5kZWYgQ0FTRQorfQorCiAjZW5kaWYKIAogI2lmbmRlZiBMT0dfTUVESUFf
RVZFTlRTCkBAIC0zODIsOCArNDA2LDEwIEBAIEhUTUxNZWRpYUVsZW1lbnQ6OkhUTUxNZWRpYUVs
ZW1lbnQoY29uc3QKICAgICAsIG1faGF2ZVByZXBhcmVkVG9QbGF5KGZhbHNlKQogICAgICwgbV9w
YXJzaW5nSW5Qcm9ncmVzcyhjcmVhdGVkQnlQYXJzZXIpCiAgICAgLCBtX2VsZW1lbnRJc0hpZGRl
bihkb2N1bWVudC5oaWRkZW4oKSkKKyAgICAsIG1fY3JlYXRpbmdDb250cm9scyhmYWxzZSkKICNp
ZiBFTkFCTEUoTUVESUFfQ09OVFJPTFNfU0NSSVBUKQogICAgICwgbV9tZWRpYUNvbnRyb2xzRGVw
ZW5kT25QYWdlU2NhbGVGYWN0b3IoZmFsc2UpCisgICAgLCBtX2hhdmVTZXRVcENhcHRpb25Db250
YWluZXIoZmFsc2UpCiAjZW5kaWYKICNpZiBFTkFCTEUoVklERU9fVFJBQ0spCiAgICAgLCBtX3Ry
YWNrc0FyZVJlYWR5KHRydWUpCkBAIC04MjIsNyArODQ4LDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVt
ZW50OjpkaWRSZWNhbGNTdHlsZShTdAogCiB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNjaGVkdWxl
RGVsYXllZEFjdGlvbihEZWxheWVkQWN0aW9uVHlwZSBhY3Rpb25UeXBlKQogewotICAgIExPRyhN
ZWRpYSwgIkhUTUxNZWRpYUVsZW1lbnQ6OnNjaGVkdWxlTG9hZCglcCkiLCB0aGlzKTsKKyAgICBM
T0coTWVkaWEsICJIVE1MTWVkaWFFbGVtZW50OjpzY2hlZHVsZURlbGF5ZWRBY3Rpb24oJXApIC0g
c2V0dGluZyAlcyBmbGFnIiwgdGhpcywgYWN0aW9uTmFtZShhY3Rpb25UeXBlKS51dGY4KCkuZGF0
YSgpKTsKIAogICAgIGlmICgoYWN0aW9uVHlwZSAmIExvYWRNZWRpYVJlc291cmNlKSAmJiAhKG1f
cGVuZGluZ0FjdGlvbkZsYWdzICYgTG9hZE1lZGlhUmVzb3VyY2UpKSB7CiAgICAgICAgIHByZXBh
cmVGb3JMb2FkKCk7CkBAIC04NDgsNiArODc0LDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50Ojpz
Y2hlZHVsZURlbGF5ZWRBYwogdm9pZCBIVE1MTWVkaWFFbGVtZW50OjpzY2hlZHVsZU5leHRTb3Vy
Y2VDaGlsZCgpCiB7CiAgICAgLy8gU2NoZWR1bGUgdGhlIHRpbWVyIHRvIHRyeSB0aGUgbmV4dCA8
c291cmNlPiBlbGVtZW50IFdJVEhPVVQgcmVzZXR0aW5nIHN0YXRlIGFsYSBwcmVwYXJlRm9yTG9h
ZC4KKyAgICBMT0coTWVkaWEsICJIVE1MTWVkaWFFbGVtZW50OjpzY2hlZHVsZU5leHRTb3VyY2VD
aGlsZCglcCkgLSBzZXR0aW5nICVzIGZsYWciLCB0aGlzLCBhY3Rpb25OYW1lKExvYWRNZWRpYVJl
c291cmNlKS51dGY4KCkuZGF0YSgpKTsKICAgICBzZXRGbGFncyhtX3BlbmRpbmdBY3Rpb25GbGFn
cywgTG9hZE1lZGlhUmVzb3VyY2UpOwogICAgIG1fcGVuZGluZ0FjdGlvblRpbWVyLnN0YXJ0T25l
U2hvdCgwKTsKIH0KQEAgLTE0MDUsNyArMTQzMiw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6
dXBkYXRlQWN0aXZlVGV4dFQKICAgICBpZiAoaWdub3JlVHJhY2tEaXNwbGF5VXBkYXRlUmVxdWVz
dHMoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgTE9HKE1lZGlhLCAiSFRNTE1lZGlhRWxlbWVu
dDo6dXBkYXRlQWN0aXZlVGV4dFRyYWNrcyglcCkiLCB0aGlzKTsKKyAgICBMT0coTWVkaWEsICJI
VE1MTWVkaWFFbGVtZW50Ojp1cGRhdGVBY3RpdmVUZXh0VHJhY2tDdWVzKCVwKSIsIHRoaXMpOwog
CiAgICAgLy8gMSAtIExldCBjdXJyZW50IGN1ZXMgYmUgYSBsaXN0IG9mIGN1ZXMsIGluaXRpYWxp
emVkIHRvIGNvbnRhaW4gYWxsIHRoZQogICAgIC8vIGN1ZXMgb2YgYWxsIHRoZSBoaWRkZW4sIHNo
b3dpbmcsIG9yIHNob3dpbmcgYnkgZGVmYXVsdCB0ZXh0IHRyYWNrcyBvZiB0aGUKQEAgLTM4NTMs
OCArMzg4MCw2IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6Y29uZmlndXJlVGV4dFRyYWMKICAg
ICAgICAgICAgIG1fd2Via2l0TGVnYWN5Q2xvc2VkQ2FwdGlvbk92ZXJyaWRlID0gdHJ1ZTsKICAg
ICB9CiAKLSAgICB1cGRhdGVDYXB0aW9uQ29udGFpbmVyKCk7Ci0KICAgICBtX3Byb2Nlc3NpbmdQ
cmVmZXJlbmNlQ2hhbmdlID0gZmFsc2U7CiB9CiAKQEAgLTM4ODMsMTEgKzM5MDgsMjIgQEAgc3Rh
dGljIEpTQzo6SlNWYWx1ZSBjb250cm9sbGVySlNWYWx1ZShKUwogCiAgICAgcmV0dXJuIGNvbnRy
b2xsZXJKU1dyYXBwZXI7CiB9Ci0gICAgCisKK3ZvaWQgSFRNTE1lZGlhRWxlbWVudDo6ZW5zdXJl
TWVkaWFDb250cm9sc1NoYWRvd1Jvb3QoKQoreworICAgIEFTU0VSVCghbV9jcmVhdGluZ0NvbnRy
b2xzKTsKKyAgICBtX2NyZWF0aW5nQ29udHJvbHMgPSB0cnVlOworICAgIGVuc3VyZVVzZXJBZ2Vu
dFNoYWRvd1Jvb3QoKTsKKyAgICBtX2NyZWF0aW5nQ29udHJvbHMgPSBmYWxzZTsKK30KKwogdm9p
ZCBIVE1MTWVkaWFFbGVtZW50Ojp1cGRhdGVDYXB0aW9uQ29udGFpbmVyKCkKIHsKICAgICBMT0co
TWVkaWEsICJIVE1MTWVkaWFFbGVtZW50Ojp1cGRhdGVDYXB0aW9uQ29udGFpbmVyKCVwKSIsIHRo
aXMpOwogI2lmIEVOQUJMRShNRURJQV9DT05UUk9MU19TQ1JJUFQpCisgICAgaWYgKG1faGF2ZVNl
dFVwQ2FwdGlvbkNvbnRhaW5lcikKKyAgICAgICAgcmV0dXJuOworCiAgICAgUGFnZSogcGFnZSA9
IGRvY3VtZW50KCkucGFnZSgpOwogICAgIGlmICghcGFnZSkKICAgICAgICAgcmV0dXJuOwpAQCAt
Mzg5Nyw3ICszOTMzLDcgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50Ojp1cGRhdGVDYXB0aW9uQ29u
dAogICAgIGlmICghZW5zdXJlTWVkaWFDb250cm9sc0luamVjdGVkU2NyaXB0KCkpCiAgICAgICAg
IHJldHVybjsKIAotICAgIGVuc3VyZVVzZXJBZ2VudFNoYWRvd1Jvb3QoKTsKKyAgICBlbnN1cmVN
ZWRpYUNvbnRyb2xzU2hhZG93Um9vdCgpOwogCiAgICAgaWYgKCFtX21lZGlhQ29udHJvbHNIb3N0
KQogICAgICAgICBtX21lZGlhQ29udHJvbHNIb3N0ID0gTWVkaWFDb250cm9sc0hvc3Q6OmNyZWF0
ZSh0aGlzKTsKQEAgLTM5MzEsNiArMzk2Nyw4IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6dXBk
YXRlQ2FwdGlvbkNvbnQKICAgICBKU0M6Ok1hcmtlZEFyZ3VtZW50QnVmZmVyIG5vQXJndW1lbnRz
OwogICAgIEpTQzo6Y2FsbChleGVjLCBtZXRob2RPYmplY3QsIGNhbGxUeXBlLCBjYWxsRGF0YSwg
Y29udHJvbGxlck9iamVjdCwgbm9Bcmd1bWVudHMpOwogICAgIGV4ZWMtPmNsZWFyRXhjZXB0aW9u
KCk7CisKKyAgICBtX2hhdmVTZXRVcENhcHRpb25Db250YWluZXIgPSB0cnVlOwogI2VuZGlmCiB9
CiAKQEAgLTQwNTAsNiArNDA4OCw3IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6Y29uZmlndXJl
VGV4dFRyYWMKICAgICBpZiAob3RoZXJUcmFja3MudHJhY2tzLnNpemUoKSkKICAgICAgICAgY29u
ZmlndXJlVGV4dFRyYWNrR3JvdXAob3RoZXJUcmFja3MpOwogCisgICAgdXBkYXRlQ2FwdGlvbkNv
bnRhaW5lcigpOwogICAgIGNvbmZpZ3VyZVRleHRUcmFja0Rpc3BsYXkoKTsKICAgICBpZiAoaGFz
TWVkaWFDb250cm9scygpKQogICAgICAgICBtZWRpYUNvbnRyb2xzKCktPmNsb3NlZENhcHRpb25U
cmFja3NDaGFuZ2VkKCk7CkBAIC00OTE2LDkgKzQ5NTUsOSBAQCB2b2lkIEhUTUxNZWRpYUVsZW1l
bnQ6OnVzZXJDYW5jZWxsZWRMb2FkCiAjZW5kaWYKIH0KIAotdm9pZCBIVE1MTWVkaWFFbGVtZW50
OjpjbGVhck1lZGlhUGxheWVyKGludCBmbGFncykKK3ZvaWQgSFRNTE1lZGlhRWxlbWVudDo6Y2xl
YXJNZWRpYVBsYXllcihEZWxheWVkQWN0aW9uVHlwZSBmbGFncykKIHsKLSAgICBMT0coTWVkaWEs
ICJIVE1MTWVkaWFFbGVtZW50OjpjbGVhck1lZGlhUGxheWVyKCVwKSAtIGZsYWdzID0gJXgiLCB0
aGlzLCAodW5zaWduZWQpZmxhZ3MpOworICAgIExPRyhNZWRpYSwgIkhUTUxNZWRpYUVsZW1lbnQ6
OmNsZWFyTWVkaWFQbGF5ZXIoJXApIC0gZmxhZ3MgPSAlcyIsIHRoaXMsIGFjdGlvbk5hbWUoZmxh
Z3MpLnV0ZjgoKS5kYXRhKCkpOwogCiAjaWYgRU5BQkxFKFZJREVPX1RSQUNLKQogICAgIGZvcmdl
dFJlc291cmNlU3BlY2lmaWNUcmFja3MoKTsKQEAgLTUwNjcsNyArNTEwNiw3IEBAIHZvaWQgSFRN
TE1lZGlhRWxlbWVudDo6cmVzdW1lKCkKIAogYm9vbCBIVE1MTWVkaWFFbGVtZW50OjpoYXNQZW5k
aW5nQWN0aXZpdHkoKSBjb25zdAogewotICAgIHJldHVybiAoaGFzQXVkaW8oKSAmJiBpc1BsYXlp
bmcoKSkgfHwgbV9hc3luY0V2ZW50UXVldWUuaGFzUGVuZGluZ0V2ZW50cygpOworICAgIHJldHVy
biAoaGFzQXVkaW8oKSAmJiBpc1BsYXlpbmcoKSkgfHwgbV9hc3luY0V2ZW50UXVldWUuaGFzUGVu
ZGluZ0V2ZW50cygpIHx8IG1fY3JlYXRpbmdDb250cm9sczsKIH0KIAogdm9pZCBIVE1MTWVkaWFF
bGVtZW50OjptZWRpYVZvbHVtZURpZENoYW5nZSgpCkBAIC01NDU1LDcgKzU0OTQsNyBAQCBib29s
IEhUTUxNZWRpYUVsZW1lbnQ6OmNsb3NlZENhcHRpb25zVmlzCiB2b2lkIEhUTUxNZWRpYUVsZW1l
bnQ6OnVwZGF0ZVRleHRUcmFja0Rpc3BsYXkoKQogewogI2lmIEVOQUJMRShNRURJQV9DT05UUk9M
U19TQ1JJUFQpCi0gICAgZW5zdXJlVXNlckFnZW50U2hhZG93Um9vdCgpOworICAgIGVuc3VyZU1l
ZGlhQ29udHJvbHNTaGFkb3dSb290KCk7CiAgICAgQVNTRVJUKG1fbWVkaWFDb250cm9sc0hvc3Qp
OwogICAgIG1fbWVkaWFDb250cm9sc0hvc3QtPnVwZGF0ZVRleHRUcmFja0NvbnRhaW5lcigpOwog
I2Vsc2UKQEAgLTU2MTUsNyArNTY1NCw3IEBAIGJvb2wgSFRNTE1lZGlhRWxlbWVudDo6aGFzTWVk
aWFDb250cm9scygKIGJvb2wgSFRNTE1lZGlhRWxlbWVudDo6Y3JlYXRlTWVkaWFDb250cm9scygp
CiB7CiAjaWYgRU5BQkxFKE1FRElBX0NPTlRST0xTX1NDUklQVCkKLSAgICBlbnN1cmVVc2VyQWdl
bnRTaGFkb3dSb290KCk7CisgICAgZW5zdXJlTWVkaWFDb250cm9sc1NoYWRvd1Jvb3QoKTsKICAg
ICByZXR1cm4gZmFsc2U7CiAjZWxzZQogICAgIGlmIChoYXNNZWRpYUNvbnRyb2xzKCkpCkBAIC01
NjYwLDcgKzU2OTksNyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OmNvbmZpZ3VyZU1lZGlhQ29u
CiAgICAgaWYgKCFyZXF1aXJlQ29udHJvbHMgfHwgIWluRG9jdW1lbnQoKSB8fCAhaW5BY3RpdmVE
b2N1bWVudCgpKQogICAgICAgICByZXR1cm47CiAKLSAgICBlbnN1cmVVc2VyQWdlbnRTaGFkb3dS
b290KCk7CisgICAgZW5zdXJlTWVkaWFDb250cm9sc1NoYWRvd1Jvb3QoKTsKICNlbHNlCiAgICAg
aWYgKCFyZXF1aXJlQ29udHJvbHMgfHwgIWluRG9jdW1lbnQoKSB8fCAhaW5BY3RpdmVEb2N1bWVu
dCgpKSB7CiAgICAgICAgIGlmIChoYXNNZWRpYUNvbnRyb2xzKCkpCkBAIC01NzA2LDcgKzU3NDUs
NyBAQCB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OmNvbmZpZ3VyZVRleHRUcmFjCiAgICAgaWYgKCFt
X2hhdmVWaXNpYmxlVGV4dFRyYWNrKQogICAgICAgICByZXR1cm47CiAKLSAgICBlbnN1cmVVc2Vy
QWdlbnRTaGFkb3dSb290KCk7CisgICAgZW5zdXJlTWVkaWFDb250cm9sc1NoYWRvd1Jvb3QoKTsK
ICNlbHNlCiAgICAgaWYgKCFtX2hhdmVWaXNpYmxlVGV4dFRyYWNrICYmICFoYXNNZWRpYUNvbnRy
b2xzKCkpCiAgICAgICAgIHJldHVybjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1l
ZGlhRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlh
RWxlbWVudC5oCShyZXZpc2lvbiAxOTg0OTYpCisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxN
ZWRpYUVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNjQ5LDcgKzY0OSw3IEBAIHByaXZhdGU6
CiAgICAgdm9pZCBzY2hlZHVsZU5leHRTb3VyY2VDaGlsZCgpOwogICAgIHZvaWQgbG9hZE5leHRT
b3VyY2VDaGlsZCgpOwogICAgIHZvaWQgdXNlckNhbmNlbGxlZExvYWQoKTsKLSAgICB2b2lkIGNs
ZWFyTWVkaWFQbGF5ZXIoaW50IGZsYWdzKTsKKyAgICB2b2lkIGNsZWFyTWVkaWFQbGF5ZXIoRGVs
YXllZEFjdGlvblR5cGUgZmxhZ3MpOwogICAgIGJvb2wgaGF2ZVBvdGVudGlhbFNvdXJjZUNoaWxk
KCk7CiAgICAgdm9pZCBub25lU3VwcG9ydGVkKCk7CiAgICAgdm9pZCBjYW5jZWxQZW5kaW5nRXZl
bnRzQW5kQ2FsbGJhY2tzKCk7CkBAIC03NTQsNiArNzU0LDcgQEAgcHJpdmF0ZToKICAgICB2b2lk
IHVucmVnaXN0ZXJXaXRoRG9jdW1lbnQoRG9jdW1lbnQmKTsKIAogICAgIHZvaWQgdXBkYXRlQ2Fw
dGlvbkNvbnRhaW5lcigpOworICAgIHZvaWQgZW5zdXJlTWVkaWFDb250cm9sc1NoYWRvd1Jvb3Qo
KTsKIAogI2lmIEVOQUJMRShXSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpCiAgICAgdm9pZCBwcmVw
YXJlRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkgZmluYWw7CkBAIC05MDQsOSArOTA1LDExIEBAIHBy
aXZhdGU6CiAgICAgYm9vbCBtX2hhdmVQcmVwYXJlZFRvUGxheSA6IDE7CiAgICAgYm9vbCBtX3Bh
cnNpbmdJblByb2dyZXNzIDogMTsKICAgICBib29sIG1fZWxlbWVudElzSGlkZGVuIDogMTsKKyAg
ICBib29sIG1fY3JlYXRpbmdDb250cm9scyA6IDE7CiAKICNpZiBFTkFCTEUoTUVESUFfQ09OVFJP
TFNfU0NSSVBUKQogICAgIGJvb2wgbV9tZWRpYUNvbnRyb2xzRGVwZW5kT25QYWdlU2NhbGVGYWN0
b3IgOiAxOworICAgIGJvb2wgbV9oYXZlU2V0VXBDYXB0aW9uQ29udGFpbmVyIDogMTsKICNlbmRp
ZgogCiAjaWYgRU5BQkxFKFZJREVPX1RSQUNLKQpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMTk4Nzc5KQor
KysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTIgQEAK
KzIwMTYtMDMtMjkgIEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CisKKyAg
ICAgICAgbWVkaWEvdHJhY2svdHJhY2stcmVtb3ZlLXRyYWNrLmh0bWwgaXMgZmxha3ksIGNyYXNo
aW5nIGFuZCBmYWlsaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMzA5NzEKKworICAgICAgICBSZXZpZXdlZCBieSBBbGV4ZXkgUHJvc2t1cnlha292
LgorCisgICAgICAgICogcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnM6IE1hcmsgY3Jhc2gg
YXMgZmxha3kgb25seS4KKwogMjAxNi0wMy0yOSAgR3l1eW91bmcgS2ltICA8Z3l1eW91bmcua2lt
QHdlYmtpdC5vcmc+CiAKICAgICAgICAgW0VGTF0gU2tpcCB0byB0ZXN0IGN1c3RvbSBlbGVtZW50
IHRlc3QgY2FzZXMKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRp
b25zCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRp
b25zCShyZXZpc2lvbiAxOTg1OTgpCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4
cGVjdGF0aW9ucwkod29ya2luZyBjb3B5KQpAQCAtOTA5LDcgKzkwOSw2IEBAIHdlYmtpdC5vcmcv
Yi8xMjMwMTAgbWVkaWEvVzNDL2F1ZGlvL25ldHcKIHdlYmtpdC5vcmcvYi8xMjMwOTkgbWVkaWEv
bWVkaWEtY29udHJvbGxlci10aW1lLWNsYW1wLmh0bWwgWyBQYXNzIFRpbWVvdXQgXQogd2Via2l0
Lm9yZy9iLzEyMzUyMiBtZWRpYS90cmFjay90cmFjay1pbi1iYW5kLWxlZ2FjeS1hcGkuaHRtbCBb
IFBhc3MgRmFpbHVyZSBDcmFzaCBdCiB3ZWJraXQub3JnL2IvMTMwNDkwIG1lZGlhL3ZpZGVvLXJl
bW90ZS1jb250cm9sLXBsYXlwYXVzZS5odG1sIFsgUGFzcyBGYWlsdXJlIF0KLXdlYmtpdC5vcmcv
Yi8xMzA5NzEgbWVkaWEvdHJhY2svdHJhY2stcmVtb3ZlLXRyYWNrLmh0bWwgWyBQYXNzIENyYXNo
IEZhaWx1cmUgVGltZW91dCBdCiB3ZWJraXQub3JnL2IvMTMxODU1IG1lZGlhL2V2ZW50LWF0dHJp
YnV0ZXMuaHRtbCBbIFBhc3MgRmFpbHVyZSBUaW1lb3V0IF0KIHdlYmtpdC5vcmcvYi8xMzMzNjMg
bWVkaWEvdmlkZW8tcnRsLmh0bWwgWyBQYXNzIEltYWdlT25seUZhaWx1cmUgXQogd2Via2l0Lm9y
Zy9iLzEzMzY4NiBtZWRpYS90cmFjay93M2MvaW50ZXJmYWNlcy9UZXh0VHJhY2tDdWUvYWxpZ24u
aHRtbCBbIFBhc3MgRmFpbHVyZSBdCkBAIC05MzAsNiArOTI5LDcgQEAgd2Via2l0Lm9yZy9iLzE0
MjE1MiBtZWRpYS90cmFjay90cmFjay1pbgogd2Via2l0Lm9yZy9iLzE0Nzk0NCBtZWRpYS92aWRl
by1zZWVrLXRvLWN1cnJlbnQtdGltZS5odG1sIFsgUGFzcyBGYWlsdXJlIF0KIHdlYmtpdC5vcmcv
Yi8xMTQxNzcgbWVkaWEvZXZlbnQtcXVldWUtY3Jhc2guaHRtbCBbIFBhc3MgRmFpbHVyZSBdCiB3
ZWJraXQub3JnL2IvMTUwNDA4IGh0dHAvdGVzdHMvbWVkaWEvdmlkZW8tbG9hZC1zdXNwZW5kLmh0
bWwgWyBQYXNzIFRpbWVvdXQgXQord2Via2l0Lm9yZy9iLzE1NTk1NiBtZWRpYS90cmFjay90cmFj
ay1yZW1vdmUtdHJhY2suaHRtbCBbIFBhc3MgRmFpbHVyZSBUaW1lb3V0IF0KICMjIC0tLSBFbmQg
Zmxha3kgbWVkaWEgdGVzdHMKIAogIyBTa2lwcGVkIHdoaWxlIEVyaWMgQ2FybHNvbiB3b3JrcyBv
biBhIGZpeC4K
</data>

          </attachment>
      

    </bug>

</bugzilla>