<?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>184588</bug_id>
          
          <creation_ts>2018-04-13 07:38:17 -0700</creation_ts>
          <short_desc>[GStreamer] Fix the way GstStreamCollection is handled</short_desc>
          <delta_ts>2018-06-07 02:36:07 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>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>
          
          <blocked>185787</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Thibault Saunier">tsaunier</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>pnormand</cc>
    
    <cc>tsaunier</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1414394</commentid>
    <comment_count>0</comment_count>
    <who name="Thibault Saunier">tsaunier</who>
    <bug_when>2018-04-13 07:38:17 -0700</bug_when>
    <thetext>See commit message.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1414395</commentid>
    <comment_count>1</comment_count>
      <attachid>337886</attachid>
    <who name="Thibault Saunier">tsaunier</who>
    <bug_when>2018-04-13 07:38:22 -0700</bug_when>
    <thetext>Created attachment 337886
[GStreamer] Fix the way GstStreamCollection is handled

The stream collection message replaces the collection of stream previously
advertised, this means that we should rebuild our set of Track from scratch
and not update previously exposed tracks.

In the end, this simplifies the code as we do not care about what
tracks existed previously, we just need to expose what GStreamer tells
us, deleting any previous state.

Handle the STREAM_COLLECTION message from the sync handler so that tracks
are updated before we mark the pipeline as READY for the live case (everything
happen synchronously with the call to the `load()` method in that case),
still the update happens on the main thread.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1414396</commentid>
    <comment_count>2</comment_count>
      <attachid>337887</attachid>
    <who name="Thibault Saunier">tsaunier</who>
    <bug_when>2018-04-13 07:48:04 -0700</bug_when>
    <thetext>Created attachment 337887
[GStreamer] Fix the way GstStreamCollection is handled

The stream collection message replaces the collection of stream previously
advertised, this means that we should rebuild our set of Track from scratch
and not update previously exposed tracks.

In the end, this simplifies the code as we do not care about what
tracks existed previously, we just need to expose what GStreamer tells
us, deleting any previous state.

Handle the STREAM_COLLECTION message from the sync handler so that tracks
are updated before we mark the pipeline as READY for the live case (everything
happen synchronously with the call to the `load()` method in that case),
still the update happens on the main thread.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1414410</commentid>
    <comment_count>3</comment_count>
    <who name="Thibault Saunier">tsaunier</who>
    <bug_when>2018-04-13 08:57:36 -0700</bug_when>
    <thetext>I found an issue with that patch, I will update as soon as I get it fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1414470</commentid>
    <comment_count>4</comment_count>
      <attachid>337887</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2018-04-13 10:43:06 -0700</bug_when>
    <thetext>Comment on attachment 337887
[GStreamer] Fix the way GstStreamCollection is handled

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

&gt; Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:-693
&gt; -    m_hasAudio = !validAudioStreams.isEmpty();
&gt; -    m_hasVideo = !validVideoStreams.isEmpty();

These are not set anymore, it seems.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1414484</commentid>
    <comment_count>5</comment_count>
    <who name="Thibault Saunier">tsaunier</who>
    <bug_when>2018-04-13 11:19:01 -0700</bug_when>
    <thetext>(In reply to Philippe Normand from comment #4)
&gt; Comment on attachment 337887 [details]
&gt; [GStreamer] Fix the way GstStreamCollection is handled
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=337887&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:-693
&gt; &gt; -    m_hasAudio = !validAudioStreams.isEmpty();
&gt; &gt; -    m_hasVideo = !validVideoStreams.isEmpty();
&gt; 
&gt; These are not set anymore, it seems.

Oops, that was supposed to be done in the macro.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1416859</commentid>
    <comment_count>6</comment_count>
      <attachid>338581</attachid>
    <who name="Thibault Saunier">tsaunier</who>
    <bug_when>2018-04-23 06:11:00 -0700</bug_when>
    <thetext>Created attachment 338581
[GStreamer] Fix the way GstStreamCollection is handled

The stream collection message replaces the collection of stream previously
advertised, this means that we should rebuild our set of Track from scratch
and not update previously exposed tracks.

In the end, this simplifies the code as we do not care about what
tracks existed previously, we just need to expose what GStreamer tells
us, deleting any previous state.

Handle the STREAM_COLLECTION message from the sync handler so that tracks
are updated before we mark the pipeline as READY for the live case (everything
happen synchronously with the call to the `load()` method in that case),
still the update happens on the main thread.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1416863</commentid>
    <comment_count>7</comment_count>
      <attachid>338581</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2018-04-23 06:24:28 -0700</bug_when>
    <thetext>Comment on attachment 338581
[GStreamer] Fix the way GstStreamCollection is handled

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

&gt; Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:-646
&gt; -                unsigned localIndex = i - validVideoStreams.size() - validTextStreams.size();
&gt; -                if (localIndex &lt; m_audioTracks.size()) {
&gt; -                    if (m_audioTracks.contains(streamId))
&gt; -                        continue;

Hum, the reason for this was to avoid adding a track that exists already... Removing this code might lead to unintended track-added (or something) &lt;video&gt; events. Are you sure this patch doesn&apos;t break any test?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1416866</commentid>
    <comment_count>8</comment_count>
    <who name="Thibault Saunier">tsaunier</who>
    <bug_when>2018-04-23 06:32:03 -0700</bug_when>
    <thetext>(In reply to Philippe Normand from comment #7)
&gt; Comment on attachment 338581 [details]
&gt; [GStreamer] Fix the way GstStreamCollection is handled
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=338581&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:-646
&gt; &gt; -                unsigned localIndex = i - validVideoStreams.size() - validTextStreams.size();
&gt; &gt; -                if (localIndex &lt; m_audioTracks.size()) {
&gt; &gt; -                    if (m_audioTracks.contains(streamId))
&gt; &gt; -                        continue;
&gt; 
&gt; Hum, the reason for this was to avoid adding a track that exists already...
&gt; Removing this code might lead to unintended track-added (or something)
&gt; &lt;video&gt; events. Are you sure this patch doesn&apos;t break any test?

Right, thing is that now my first step is to remove all tracks previously configure tracks, those track are being obseleted by the new StreamCollection, so they should not be taken in consideration.

I will re run the tests again, do not merge yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1422366</commentid>
    <comment_count>9</comment_count>
      <attachid>339991</attachid>
    <who name="Thibault Saunier">tsaunier</who>
    <bug_when>2018-05-09 11:21:05 -0700</bug_when>
    <thetext>Created attachment 339991
[GStreamer] Fix the way GstStreamCollection is handled

The stream collection message replaces the collection of stream previously
advertised, this means that we should rebuild our set of Track from scratch
and not update previously exposed tracks.

In the end, this simplifies the code as we do not care about what
tracks existed previously, we just need to expose what GStreamer tells
us, deleting any previous state.

Handle the STREAM_COLLECTION message from the sync handler so that tracks
are updated before we mark the pipeline as READY for the live case (everything
happen synchronously with the call to the `load()` method in that case),
still the update happens on the main thread.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1422409</commentid>
    <comment_count>10</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2018-05-09 12:37:50 -0700</bug_when>
    <thetext>What changed since the previous iteration?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1422411</commentid>
    <comment_count>11</comment_count>
    <who name="Thibault Saunier">tsaunier</who>
    <bug_when>2018-05-09 12:41:04 -0700</bug_when>
    <thetext>(In reply to Philippe Normand from comment #10)
&gt; What changed since the previous iteration?

Supposedly a rebase after the patch from #185479 - I am still working on that one though I think it is correct already. I will let you know when I am fully happy with it. (Sorry for the noise.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1429210</commentid>
    <comment_count>12</comment_count>
      <attachid>341757</attachid>
    <who name="Thibault Saunier">tsaunier</who>
    <bug_when>2018-06-01 06:50:49 -0700</bug_when>
    <thetext>Created attachment 341757
Rebased version of the patch taking into account previous comments and fixing little details

while using it (especially in the MediaStream use case).

This new patch should be good to review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1429781</commentid>
    <comment_count>13</comment_count>
      <attachid>341757</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2018-06-04 00:30:33 -0700</bug_when>
    <thetext>Comment on attachment 341757
Rebased version of the patch taking into account previous comments and fixing little details

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

&gt; Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:700
&gt; +#undef CLEAR_TRACKS

This looks like a duplicate.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1430588</commentid>
    <comment_count>14</comment_count>
      <attachid>342084</attachid>
    <who name="Thibault Saunier">tsaunier</who>
    <bug_when>2018-06-06 15:22:00 -0700</bug_when>
    <thetext>Created attachment 342084
Patch.

(In reply to Philippe Normand from comment #13)
&gt; Comment on attachment 341757 [details]
&gt; Rebased version of the patch taking into account previous comments and
&gt; fixing little details
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=341757&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:700
&gt; &gt; +#undef CLEAR_TRACKS
&gt; 
&gt; This looks like a duplicate.

Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1430783</commentid>
    <comment_count>15</comment_count>
      <attachid>342084</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-06-07 02:36:05 -0700</bug_when>
    <thetext>Comment on attachment 342084
Patch.

Clearing flags on attachment: 342084

Committed r232579: &lt;https://trac.webkit.org/changeset/232579&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1430784</commentid>
    <comment_count>16</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-06-07 02:36:07 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>337886</attachid>
            <date>2018-04-13 07:38:22 -0700</date>
            <delta_ts>2018-04-13 07:48:04 -0700</delta_ts>
            <desc>[GStreamer] Fix the way GstStreamCollection is handled</desc>
            <filename>GStreamer-Fix-the-way-GstStreamCollection-is-handl.patch</filename>
            <type>text/plain</type>
            <size>11134</size>
            <attacher name="Thibault Saunier">tsaunier</attacher>
            
              <data encoding="base64">RnJvbSA2YjllY2YxNmU0YTEzMzU0ZGQwN2IzOTI1NDA3NjllYTU1ZmU3NTAyIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBpZ2FsaWEuY29t
PgpEYXRlOiBUaHUsIDEyIEFwciAyMDE4IDEwOjI0OjI4IC0wMzAwClN1YmplY3Q6IFtQQVRDSCB4
c2VydmVyXSBbR1N0cmVhbWVyXSBGaXggdGhlIHdheSBHc3RTdHJlYW1Db2xsZWN0aW9uIGlzCiBo
YW5kbGVkCgpUaGUgc3RyZWFtIGNvbGxlY3Rpb24gbWVzc2FnZSByZXBsYWNlcyB0aGUgY29sbGVj
dGlvbiBvZiBzdHJlYW0gcHJldmlvdXNseQphZHZlcnRpc2VkLCB0aGlzIG1lYW5zIHRoYXQgd2Ug
c2hvdWxkIHJlYnVpbGQgb3VyIHNldCBvZiBUcmFjayBmcm9tIHNjcmF0Y2gKYW5kIG5vdCB1cGRh
dGUgcHJldmlvdXNseSBleHBvc2VkIHRyYWNrcy4KCkluIHRoZSBlbmQsIHRoaXMgc2ltcGxpZmll
cyB0aGUgY29kZSBhcyB3ZSBkbyBub3QgY2FyZSBhYm91dCB3aGF0CnRyYWNrcyBleGlzdGVkIHBy
ZXZpb3VzbHksIHdlIGp1c3QgbmVlZCB0byBleHBvc2Ugd2hhdCBHU3RyZWFtZXIgdGVsbHMKdXMs
IGRlbGV0aW5nIGFueSBwcmV2aW91cyBzdGF0ZS4KCkhhbmRsZSB0aGUgU1RSRUFNX0NPTExFQ1RJ
T04gbWVzc2FnZSBmcm9tIHRoZSBzeW5jIGhhbmRsZXIgc28gdGhhdCB0cmFja3MKYXJlIHVwZGF0
ZWQgYmVmb3JlIHdlIG1hcmsgdGhlIHBpcGVsaW5lIGFzIFJFQURZIGZvciB0aGUgbGl2ZSBjYXNl
IChldmVyeXRoaW5nCmhhcHBlbiBzeW5jaHJvbm91c2x5IHdpdGggdGhlIGNhbGwgdG8gdGhlIGBs
b2FkKClgIG1ldGhvZCBpbiB0aGF0IGNhc2UpLApzdGlsbCB0aGUgdXBkYXRlIGhhcHBlbnMgb24g
dGhlIG1haW4gdGhyZWFkLgoKaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE4NDU4OAotLS0KIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAg
ICB8ICAzMSArKysrKwogLi4uL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIu
Y3BwIHwgMTI2ICsrKysrKysrLS0tLS0tLS0tLQogLi4uL2dzdHJlYW1lci9NZWRpYVBsYXllclBy
aXZhdGVHU3RyZWFtZXIuaCAgIHwgICAzICsKIDMgZmlsZXMgY2hhbmdlZCwgOTIgaW5zZXJ0aW9u
cygrKSwgNjggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDk3NWVjMmE5YzY3Li41NDVlNjM1
ODhjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDE4LTA0LTEzICBUaGliYXVsdCBT
YXVuaWVyICA8dHNhdW5pZXJAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1N0cmVhbWVyXSBGaXgg
dGhlIHdheSBHc3RTdHJlYW1Db2xsZWN0aW9uIGlzIGhhbmRsZWQKKyAgICAgICAgTmVlZCB0aGUg
YnVnIFVSTCAoT09QUyEpLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFRoZSBzdHJlYW0gY29sbGVjdGlvbiBtZXNzYWdlIHJlcGxhY2VzIHRoZSBjb2xs
ZWN0aW9uIG9mIHN0cmVhbSBwcmV2aW91c2x5CisgICAgICAgIGFkdmVydGlzZWQsIHRoaXMgbWVh
bnMgdGhhdCB3ZSBzaG91bGQgcmVidWlsZCBvdXIgc2V0IG9mIFRyYWNrIGZyb20gc2NyYXRjaAor
ICAgICAgICBhbmQgbm90IHVwZGF0ZSBwcmV2aW91c2x5IGV4cG9zZWQgdHJhY2tzLgorCisgICAg
ICAgIEluIHRoZSBlbmQsIHRoaXMgc2ltcGxpZmllcyB0aGUgY29kZSBhcyB3ZSBkbyBub3QgY2Fy
ZSBhYm91dCB3aGF0CisgICAgICAgIHRyYWNrcyBleGlzdGVkIHByZXZpb3VzbHksIHdlIGp1c3Qg
bmVlZCB0byBleHBvc2Ugd2hhdCBHU3RyZWFtZXIgdGVsbHMKKyAgICAgICAgdXMsIGRlbGV0aW5n
IGFueSBwcmV2aW91cyBzdGF0ZS4KKworICAgICAgICBIYW5kbGUgdGhlIFNUUkVBTV9DT0xMRUNU
SU9OIG1lc3NhZ2UgZnJvbSB0aGUgc3luYyBoYW5kbGVyIHNvIHRoYXQgdHJhY2tzCisgICAgICAg
IGFyZSB1cGRhdGVkIGJlZm9yZSB3ZSBtYXJrIHRoZSBwaXBlbGluZSBhcyBSRUFEWSBmb3IgdGhl
IGxpdmUgY2FzZSAoZXZlcnl0aGluZworICAgICAgICBoYXBwZW4gc3luY2hyb25vdXNseSB3aXRo
IHRoZSBjYWxsIHRvIHRoZSBgbG9hZCgpYCBtZXRob2QgaW4gdGhhdCBjYXNlKSwKKyAgICAgICAg
c3RpbGwgdGhlIHVwZGF0ZSBoYXBwZW5zIG9uIHRoZSBtYWluIHRocmVhZC4KKworICAgICAgICBO
byBuZXcgdGVzdHMgaXMgYWRkZWQgYXMgdGhpcyBpcyBtb3N0bHkgcmVmYWN0b3JpbmcsIGl0IGlz
IGFscmVhZHkgdGVzdGVkIGFuZCBpdAorICAgICAgICB3aWxsIGZpeCBNZWRpYVN0cmVhbSB0ZXN0
cyB0aGF0IGFyZSBjdXJyZW50bHkgZGlzYWJsZWQgYXMgdGhlIHN1cHBvcnQgaXMgYmVpbmcKKyAg
ICAgICAgaW1wbGVtZW50ZWQuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFt
ZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6Y2xlYXJUcmFja3MpOgorICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjp1cGRhdGVUcmFja3MpOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpoYW5kbGVNZXNzYWdlKToKKyAg
ICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6aGFuZGxlU3luY01l
c3NhZ2UpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXll
clByaXZhdGVHU3RyZWFtZXIuaDoKKwogMjAxOC0wNC0xMSAgVGhpYmF1bHQgU2F1bmllciAgPHRz
YXVuaWVyQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dTdHJlYW1lcl0gVXNlIG9mIHBsYXliaW4z
IHdoZW4gVVNFX1BMQVlCSU4zIGVudmlyb25tZW50IHZhcmlhYmxlIGlzIHNldApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVy
UHJpdmF0ZUdTdHJlYW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
c3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAppbmRleCAzNDE1NTQzZjg0
Ni4uOTEyYmVhYWNjYjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVH
U3RyZWFtZXIuY3BwCkBAIC02MjIsNzUgKzYyMiw2MyBAQCBib29sIE1lZGlhUGxheWVyUHJpdmF0
ZUdTdHJlYW1lcjo6c2Vla2luZygpIGNvbnN0CiB9CiAKICNpZiBHU1RfQ0hFQ0tfVkVSU0lPTigx
LCAxMCwgMCkKKworI2RlZmluZSBDTEVBUl9UUkFDS1ModHJhY2tzLCBtZXRob2QpIFwKKyAgICBm
b3IgKGF1dG8mIHRyYWNrIDogdHJhY2tzLnZhbHVlcygpKVwKKyAgICAgICAgbWV0aG9kKCp0cmFj
ayk7XAorICAgIHRyYWNrcy5jbGVhcigpOworCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJl
YW1lcjo6Y2xlYXJUcmFja3MoKQoreworI2lmIEVOQUJMRShWSURFT19UUkFDSykKKyAgICBDTEVB
Ul9UUkFDS1MobV9hdWRpb1RyYWNrcywgbV9wbGF5ZXItPnJlbW92ZUF1ZGlvVHJhY2spOworICAg
IENMRUFSX1RSQUNLUyhtX3ZpZGVvVHJhY2tzLCBtX3BsYXllci0+cmVtb3ZlVmlkZW9UcmFjayk7
CisgICAgQ0xFQVJfVFJBQ0tTKG1fdGV4dFRyYWNrcywgbV9wbGF5ZXItPnJlbW92ZVRleHRUcmFj
ayk7CisjZW5kaWYKK30KKyN1bmRlZiBDTEVBUl9UUkFDS1MKKworI2lmIEVOQUJMRShWSURFT19U
UkFDSykKKyNkZWZpbmUgQ1JFQVRFX1RSQUNLKHR5cGUsIFR5cGUpIFwKKyAgICBpZiAoIXVzZU1l
ZGlhU291cmNlKSB7IFwKKyAgICAgICAgUmVmUHRyPFR5cGUjI1RyYWNrUHJpdmF0ZUdTdHJlYW1l
cj4gdHJhY2sgPSBUeXBlIyNUcmFja1ByaXZhdGVHU3RyZWFtZXI6OmNyZWF0ZShjcmVhdGVXZWFr
UHRyKCksIGksIHN0cmVhbSk7XAorICAgICAgICBtXyMjdHlwZSMjIFRyYWNrcy5hZGQodHJhY2st
PmlkKCksIHRyYWNrKTtcCisgICAgICAgIG1fcGxheWVyLT5hZGQjI1R5cGUjI1RyYWNrKCp0cmFj
ayk7XAorICAgIH0KKyNlbHNlCisjZGVmaW5lIENSRUFURV9UUkFDSyh0eXBlLCBfaWQsIHRyYWNr
cywgbWV0aG9kLCBzdHJlYW0pIG1faGFzIyNUeXBlIyMgPSB0cnVlOworI2VuZGlmCisKIHZvaWQg
TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjp1cGRhdGVUcmFja3MoKQogewogICAgIEFTU0VS
VCghbV9pc0xlZ2FjeVBsYXliaW4pOwotCiAgICAgYm9vbCB1c2VNZWRpYVNvdXJjZSA9IGlzTWVk
aWFTb3VyY2UoKTsKICAgICB1bnNpZ25lZCBsZW5ndGggPSBnc3Rfc3RyZWFtX2NvbGxlY3Rpb25f
Z2V0X3NpemUobV9zdHJlYW1Db2xsZWN0aW9uLmdldCgpKTsKLSAgICBWZWN0b3I8U3RyaW5nPiB2
YWxpZEF1ZGlvU3RyZWFtczsKLSAgICBWZWN0b3I8U3RyaW5nPiB2YWxpZFZpZGVvU3RyZWFtczsK
LSAgICBWZWN0b3I8U3RyaW5nPiB2YWxpZFRleHRTdHJlYW1zOworCisgICAgYm9vbCBvbGRIYXNB
dWRpbyA9IG1faGFzQXVkaW87CisgICAgYm9vbCBvbGRIYXNWaWRlbyA9IG1faGFzVmlkZW87Cisg
ICAgLy8gTmV3IHN0cmVhbSBjb2xsZWN0aW9ucyBvdmVycmlkZSBwcmV2aW91cyBvbmVzLgorICAg
IGNsZWFyVHJhY2tzKCk7CiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGxlbmd0aDsgaSsr
KSB7CiAgICAgICAgIEdSZWZQdHI8R3N0U3RyZWFtPiBzdHJlYW0gPSBnc3Rfc3RyZWFtX2NvbGxl
Y3Rpb25fZ2V0X3N0cmVhbShtX3N0cmVhbUNvbGxlY3Rpb24uZ2V0KCksIGkpOwogICAgICAgICBT
dHJpbmcgc3RyZWFtSWQoZ3N0X3N0cmVhbV9nZXRfc3RyZWFtX2lkKHN0cmVhbS5nZXQoKSkpOwog
ICAgICAgICBHc3RTdHJlYW1UeXBlIHR5cGUgPSBnc3Rfc3RyZWFtX2dldF9zdHJlYW1fdHlwZShz
dHJlYW0uZ2V0KCkpOwotICAgICAgICBHU1RfREVCVUcoIkluc3BlY3RpbmcgJXMgdHJhY2sgd2l0
aCBJRCAlcyIsIGdzdF9zdHJlYW1fdHlwZV9nZXRfbmFtZSh0eXBlKSwgc3RyZWFtSWQudXRmOCgp
LmRhdGEoKSk7Ci0gICAgICAgIGlmICh0eXBlICYgR1NUX1NUUkVBTV9UWVBFX0FVRElPKSB7Ci0g
ICAgICAgICAgICB2YWxpZEF1ZGlvU3RyZWFtcy5hcHBlbmQoc3RyZWFtSWQpOwotI2lmIEVOQUJM
RShWSURFT19UUkFDSykKLSAgICAgICAgICAgIGlmICghdXNlTWVkaWFTb3VyY2UpIHsKLSAgICAg
ICAgICAgICAgICB1bnNpZ25lZCBsb2NhbEluZGV4ID0gaSAtIHZhbGlkVmlkZW9TdHJlYW1zLnNp
emUoKSAtIHZhbGlkVGV4dFN0cmVhbXMuc2l6ZSgpOwotICAgICAgICAgICAgICAgIGlmIChsb2Nh
bEluZGV4IDwgbV9hdWRpb1RyYWNrcy5zaXplKCkpIHsKLSAgICAgICAgICAgICAgICAgICAgaWYg
KG1fYXVkaW9UcmFja3MuY29udGFpbnMoc3RyZWFtSWQpKQotICAgICAgICAgICAgICAgICAgICAg
ICAgY29udGludWU7Ci0gICAgICAgICAgICAgICAgfQogCi0gICAgICAgICAgICAgICAgUmVmUHRy
PEF1ZGlvVHJhY2tQcml2YXRlR1N0cmVhbWVyPiB0cmFjayA9IEF1ZGlvVHJhY2tQcml2YXRlR1N0
cmVhbWVyOjpjcmVhdGUoY3JlYXRlV2Vha1B0cigpLCBpLCBzdHJlYW0pOwotICAgICAgICAgICAg
ICAgIG1fYXVkaW9UcmFja3MuYWRkKHRyYWNrLT5pZCgpLCB0cmFjayk7Ci0gICAgICAgICAgICAg
ICAgbV9wbGF5ZXItPmFkZEF1ZGlvVHJhY2soKnRyYWNrKTsKLSAgICAgICAgICAgIH0KLSNlbmRp
ZgorICAgICAgICBHU1RfREVCVUdfT0JKRUNUKHBpcGVsaW5lKCksICJJbnNwZWN0aW5nICVzIHRy
YWNrIHdpdGggSUQgJXMiLCBnc3Rfc3RyZWFtX3R5cGVfZ2V0X25hbWUodHlwZSksIHN0cmVhbUlk
LnV0ZjgoKS5kYXRhKCkpOworICAgICAgICBpZiAodHlwZSAmIEdTVF9TVFJFQU1fVFlQRV9BVURJ
TykgeworICAgICAgICAgICAgQ1JFQVRFX1RSQUNLKGF1ZGlvLCBBdWRpbykKICAgICAgICAgfSBl
bHNlIGlmICh0eXBlICYgR1NUX1NUUkVBTV9UWVBFX1ZJREVPKSB7Ci0gICAgICAgICAgICB2YWxp
ZFZpZGVvU3RyZWFtcy5hcHBlbmQoc3RyZWFtSWQpOworICAgICAgICAgICAgQ1JFQVRFX1RSQUNL
KHZpZGVvLCBWaWRlbykKKyAgICAgICAgfSBlbHNlIGlmICh0eXBlICYgR1NUX1NUUkVBTV9UWVBF
X1RFWFQgJiYgIXVzZU1lZGlhU291cmNlKSB7CiAjaWYgRU5BQkxFKFZJREVPX1RSQUNLKQotICAg
ICAgICAgICAgaWYgKCF1c2VNZWRpYVNvdXJjZSkgewotICAgICAgICAgICAgICAgIHVuc2lnbmVk
IGxvY2FsSW5kZXggPSBpIC0gdmFsaWRBdWRpb1N0cmVhbXMuc2l6ZSgpIC0gdmFsaWRUZXh0U3Ry
ZWFtcy5zaXplKCk7Ci0gICAgICAgICAgICAgICAgaWYgKGxvY2FsSW5kZXggPCBtX3ZpZGVvVHJh
Y2tzLnNpemUoKSkgewotICAgICAgICAgICAgICAgICAgICBpZiAobV92aWRlb1RyYWNrcy5jb250
YWlucyhzdHJlYW1JZCkpCi0gICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAg
ICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgICAgICBSZWZQdHI8VmlkZW9UcmFja1ByaXZhdGVH
U3RyZWFtZXI+IHRyYWNrID0gVmlkZW9UcmFja1ByaXZhdGVHU3RyZWFtZXI6OmNyZWF0ZShjcmVh
dGVXZWFrUHRyKCksIGksIHN0cmVhbSk7Ci0gICAgICAgICAgICAgICAgbV92aWRlb1RyYWNrcy5h
ZGQodHJhY2stPmlkKCksIHRyYWNrKTsKLSAgICAgICAgICAgICAgICBtX3BsYXllci0+YWRkVmlk
ZW9UcmFjaygqdHJhY2spOwotICAgICAgICAgICAgfQotI2VuZGlmCi0gICAgICAgIH0gZWxzZSBp
ZiAodHlwZSAmIEdTVF9TVFJFQU1fVFlQRV9URVhUKSB7Ci0gICAgICAgICAgICB2YWxpZFRleHRT
dHJlYW1zLmFwcGVuZChzdHJlYW1JZCk7Ci0jaWYgRU5BQkxFKFZJREVPX1RSQUNLKQotICAgICAg
ICAgICAgaWYgKCF1c2VNZWRpYVNvdXJjZSkgewotICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxv
Y2FsSW5kZXggPSBpIC0gdmFsaWRWaWRlb1N0cmVhbXMuc2l6ZSgpIC0gdmFsaWRBdWRpb1N0cmVh
bXMuc2l6ZSgpOwotICAgICAgICAgICAgICAgIGlmIChsb2NhbEluZGV4IDwgbV90ZXh0VHJhY2tz
LnNpemUoKSkgewotICAgICAgICAgICAgICAgICAgICBpZiAobV90ZXh0VHJhY2tzLmNvbnRhaW5z
KHN0cmVhbUlkKSkKLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAg
ICAgICAgIH0KLQotICAgICAgICAgICAgICAgIFJlZlB0cjxJbmJhbmRUZXh0VHJhY2tQcml2YXRl
R1N0cmVhbWVyPiB0cmFjayA9IEluYmFuZFRleHRUcmFja1ByaXZhdGVHU3RyZWFtZXI6OmNyZWF0
ZShsb2NhbEluZGV4LCBzdHJlYW0pOworICAgICAgICAgICAgICAgIFJlZlB0cjxJbmJhbmRUZXh0
VHJhY2tQcml2YXRlR1N0cmVhbWVyPiB0cmFjayA9IEluYmFuZFRleHRUcmFja1ByaXZhdGVHU3Ry
ZWFtZXI6OmNyZWF0ZShpLCBzdHJlYW0pOwogICAgICAgICAgICAgICAgIG1fdGV4dFRyYWNrcy5h
ZGQoc3RyZWFtSWQsIHRyYWNrKTsKICAgICAgICAgICAgICAgICBtX3BsYXllci0+YWRkVGV4dFRy
YWNrKCp0cmFjayk7Ci0gICAgICAgICAgICB9CiAjZW5kaWYKICAgICAgICAgfSBlbHNlCiAgICAg
ICAgICAgICBHU1RfV0FSTklORygiVW5rbm93biB0cmFjayB0eXBlIGZvdW5kIGZvciBzdHJlYW0g
JXMiLCBzdHJlYW1JZC51dGY4KCkuZGF0YSgpKTsKICAgICB9CiAKLSAgICBHU1RfSU5GTygiTWVk
aWEgaGFzICV1IHZpZGVvIHRyYWNrcywgJXUgYXVkaW8gdHJhY2tzIGFuZCAldSB0ZXh0IHRyYWNr
cyIsIHZhbGlkVmlkZW9TdHJlYW1zLnNpemUoKSwgdmFsaWRBdWRpb1N0cmVhbXMuc2l6ZSgpLCB2
YWxpZFRleHRTdHJlYW1zLnNpemUoKSk7Ci0KLSAgICBib29sIG9sZEhhc0F1ZGlvID0gbV9oYXNB
dWRpbzsKLSAgICBib29sIG9sZEhhc1ZpZGVvID0gbV9oYXNWaWRlbzsKLSAgICBtX2hhc0F1ZGlv
ID0gIXZhbGlkQXVkaW9TdHJlYW1zLmlzRW1wdHkoKTsKLSAgICBtX2hhc1ZpZGVvID0gIXZhbGlk
VmlkZW9TdHJlYW1zLmlzRW1wdHkoKTsKICAgICBpZiAoKG9sZEhhc1ZpZGVvICE9IG1faGFzVmlk
ZW8pIHx8IChvbGRIYXNBdWRpbyAhPSBtX2hhc0F1ZGlvKSkKICAgICAgICAgbV9wbGF5ZXItPmNo
YXJhY3RlcmlzdGljQ2hhbmdlZCgpOwogCkBAIC03MDMsMTQgKzY5MSw5IEBAIHZvaWQgTWVkaWFQ
bGF5ZXJQcml2YXRlR1N0cmVhbWVyOjp1cGRhdGVUcmFja3MoKQogICAgICAgICByZXR1cm47CiAg
ICAgfQogCi0jaWYgRU5BQkxFKFZJREVPX1RSQUNLKQotICAgIHB1cmdlSW52YWxpZEF1ZGlvVHJh
Y2tzKHZhbGlkQXVkaW9TdHJlYW1zKTsKLSAgICBwdXJnZUludmFsaWRWaWRlb1RyYWNrcyh2YWxp
ZFZpZGVvU3RyZWFtcyk7Ci0gICAgcHVyZ2VJbnZhbGlkVGV4dFRyYWNrcyh2YWxpZFRleHRTdHJl
YW1zKTsKLSNlbmRpZgotCiAgICAgbV9wbGF5ZXItPmNsaWVudCgpLm1lZGlhUGxheWVyRW5naW5l
VXBkYXRlZChtX3BsYXllcik7CiB9CisjdW5kZWYgQ0xFQVJfVFJBQ0tTCiAjZW5kaWYKIAogdm9p
ZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OmVuYWJsZVRyYWNrKFRyYWNrUHJpdmF0ZUJh
c2VHU3RyZWFtZXI6OlRyYWNrVHlwZSB0cmFja1R5cGUsIHVuc2lnbmVkIGluZGV4KQpAQCAtMTI4
MSwxOCArMTI2NCw2IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpoYW5kbGVN
ZXNzYWdlKEdzdE1lc3NhZ2UqIG1lc3NhZ2UpCiAgICAgICAgIGJyZWFrOwogICAgIH0KICNpZiBH
U1RfQ0hFQ0tfVkVSU0lPTigxLCAxMCwgMCkKLSAgICBjYXNlIEdTVF9NRVNTQUdFX1NUUkVBTV9D
T0xMRUNUSU9OOiB7Ci0gICAgICAgIEdSZWZQdHI8R3N0U3RyZWFtQ29sbGVjdGlvbj4gY29sbGVj
dGlvbjsKLSAgICAgICAgZ3N0X21lc3NhZ2VfcGFyc2Vfc3RyZWFtX2NvbGxlY3Rpb24obWVzc2Fn
ZSwgJmNvbGxlY3Rpb24ub3V0UHRyKCkpOwotCi0gICAgICAgIGlmIChjb2xsZWN0aW9uKSB7Ci0g
ICAgICAgICAgICBtX3N0cmVhbUNvbGxlY3Rpb24uc3dhcChjb2xsZWN0aW9uKTsKLSAgICAgICAg
ICAgIG1fbm90aWZpZXItPm5vdGlmeShNYWluVGhyZWFkTm90aWZpY2F0aW9uOjpTdHJlYW1Db2xs
ZWN0aW9uQ2hhbmdlZCwgW3RoaXNdIHsKLSAgICAgICAgICAgICAgICB0aGlzLT51cGRhdGVUcmFj
a3MoKTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9Ci0gICAgICAgIGJyZWFrOwotICAgIH0K
ICAgICBjYXNlIEdTVF9NRVNTQUdFX1NUUkVBTVNfU0VMRUNURUQ6IHsKICAgICAgICAgR1JlZlB0
cjxHc3RTdHJlYW1Db2xsZWN0aW9uPiBjb2xsZWN0aW9uOwogICAgICAgICBnc3RfbWVzc2FnZV9w
YXJzZV9zdHJlYW1zX3NlbGVjdGVkKG1lc3NhZ2UsICZjb2xsZWN0aW9uLm91dFB0cigpKTsKQEAg
LTE5NjAsNiArMTkzMSwyNSBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6dXBk
YXRlU3RhdGVzKCkKICAgICB9CiB9CiAKK2Jvb2wgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVy
OjpoYW5kbGVTeW5jTWVzc2FnZShHc3RNZXNzYWdlKiBtZXNzYWdlKQoreworI2lmIEdTVF9DSEVD
S19WRVJTSU9OKDEsIDEwLCAwKQorICAgIGlmIChHU1RfTUVTU0FHRV9UWVBFKG1lc3NhZ2UpID09
IEdTVF9NRVNTQUdFX1NUUkVBTV9DT0xMRUNUSU9OKSB7CisgICAgICAgIEdSZWZQdHI8R3N0U3Ry
ZWFtQ29sbGVjdGlvbj4gY29sbGVjdGlvbjsKKyAgICAgICAgZ3N0X21lc3NhZ2VfcGFyc2Vfc3Ry
ZWFtX2NvbGxlY3Rpb24obWVzc2FnZSwgJmNvbGxlY3Rpb24ub3V0UHRyKCkpOworCisgICAgICAg
IGlmIChjb2xsZWN0aW9uKSB7CisgICAgICAgICAgICBtX3N0cmVhbUNvbGxlY3Rpb24uc3dhcChj
b2xsZWN0aW9uKTsKKyAgICAgICAgICAgIG1fbm90aWZpZXItPm5vdGlmeShNYWluVGhyZWFkTm90
aWZpY2F0aW9uOjpTdHJlYW1Db2xsZWN0aW9uQ2hhbmdlZCwgW3RoaXNdIHsKKyAgICAgICAgICAg
ICAgICB0aGlzLT51cGRhdGVUcmFja3MoKTsKKyAgICAgICAgICAgIH0pOworICAgICAgICB9Cisg
ICAgfQorI2VuZGlmCisKKyAgICByZXR1cm4gTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFz
ZTo6aGFuZGxlU3luY01lc3NhZ2UobWVzc2FnZSk7Cit9CisKIHZvaWQgTWVkaWFQbGF5ZXJQcml2
YXRlR1N0cmVhbWVyOjptZWRpYUxvY2F0aW9uQ2hhbmdlZChHc3RNZXNzYWdlKiBtZXNzYWdlKQog
ewogICAgIGlmIChtX21lZGlhTG9jYXRpb25zKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVy
UHJpdmF0ZUdTdHJlYW1lci5oCmluZGV4IGI3OWQ0M2NkYWVlLi45Njk3NzE0OTk4MiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxh
eWVyUHJpdmF0ZUdTdHJlYW1lci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuaApAQCAtMTMzLDYgKzEz
Myw4IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgZW5hYmxlVHJhY2soVHJhY2tQcml2YXRlQmFzZUdT
dHJlYW1lcjo6VHJhY2tUeXBlLCB1bnNpZ25lZCBpbmRleCk7CiAKKyAgICBib29sIGhhbmRsZVN5
bmNNZXNzYWdlKEdzdE1lc3NhZ2UqKSBvdmVycmlkZTsKKwogcHJpdmF0ZToKICAgICBzdGF0aWMg
dm9pZCBnZXRTdXBwb3J0ZWRUeXBlcyhIYXNoU2V0PFN0cmluZywgQVNDSUlDYXNlSW5zZW5zaXRp
dmVIYXNoPiYpOwogICAgIHN0YXRpYyBNZWRpYVBsYXllcjo6U3VwcG9ydHNUeXBlIHN1cHBvcnRz
VHlwZShjb25zdCBNZWRpYUVuZ2luZVN1cHBvcnRQYXJhbWV0ZXJzJik7CkBAIC0xODAsNiArMTgy
LDcgQEAgcHJpdmF0ZToKIAogI2lmIEdTVF9DSEVDS19WRVJTSU9OKDEsIDEwLCAwKQogICAgIHZv
aWQgdXBkYXRlVHJhY2tzKCk7CisgICAgdm9pZCBjbGVhclRyYWNrcygpOwogI2VuZGlmCiAKIHBy
b3RlY3RlZDoKLS0gCjIuMTcuMA==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>337887</attachid>
            <date>2018-04-13 07:48:04 -0700</date>
            <delta_ts>2018-04-23 06:11:00 -0700</delta_ts>
            <desc>[GStreamer] Fix the way GstStreamCollection is handled</desc>
            <filename>GStreamer-Fix-the-way-GstStreamCollection-is-handl.patch</filename>
            <type>text/plain</type>
            <size>11155</size>
            <attacher name="Thibault Saunier">tsaunier</attacher>
            
              <data encoding="base64">RnJvbSBlMmQzMmRiMTE1YjYwZWMxNDU3Yzc0MTNmYWRjN2QxNmFkMzExZTRiIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBpZ2FsaWEuY29t
PgpEYXRlOiBUaHUsIDEyIEFwciAyMDE4IDEwOjI0OjI4IC0wMzAwClN1YmplY3Q6IFtQQVRDSCB4
c2VydmVyXSBbR1N0cmVhbWVyXSBGaXggdGhlIHdheSBHc3RTdHJlYW1Db2xsZWN0aW9uIGlzCiBo
YW5kbGVkCgpUaGUgc3RyZWFtIGNvbGxlY3Rpb24gbWVzc2FnZSByZXBsYWNlcyB0aGUgY29sbGVj
dGlvbiBvZiBzdHJlYW0gcHJldmlvdXNseQphZHZlcnRpc2VkLCB0aGlzIG1lYW5zIHRoYXQgd2Ug
c2hvdWxkIHJlYnVpbGQgb3VyIHNldCBvZiBUcmFjayBmcm9tIHNjcmF0Y2gKYW5kIG5vdCB1cGRh
dGUgcHJldmlvdXNseSBleHBvc2VkIHRyYWNrcy4KCkluIHRoZSBlbmQsIHRoaXMgc2ltcGxpZmll
cyB0aGUgY29kZSBhcyB3ZSBkbyBub3QgY2FyZSBhYm91dCB3aGF0CnRyYWNrcyBleGlzdGVkIHBy
ZXZpb3VzbHksIHdlIGp1c3QgbmVlZCB0byBleHBvc2Ugd2hhdCBHU3RyZWFtZXIgdGVsbHMKdXMs
IGRlbGV0aW5nIGFueSBwcmV2aW91cyBzdGF0ZS4KCkhhbmRsZSB0aGUgU1RSRUFNX0NPTExFQ1RJ
T04gbWVzc2FnZSBmcm9tIHRoZSBzeW5jIGhhbmRsZXIgc28gdGhhdCB0cmFja3MKYXJlIHVwZGF0
ZWQgYmVmb3JlIHdlIG1hcmsgdGhlIHBpcGVsaW5lIGFzIFJFQURZIGZvciB0aGUgbGl2ZSBjYXNl
IChldmVyeXRoaW5nCmhhcHBlbiBzeW5jaHJvbm91c2x5IHdpdGggdGhlIGNhbGwgdG8gdGhlIGBs
b2FkKClgIG1ldGhvZCBpbiB0aGF0IGNhc2UpLApzdGlsbCB0aGUgdXBkYXRlIGhhcHBlbnMgb24g
dGhlIG1haW4gdGhyZWFkLgoKaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE4NDU4OAotLS0KIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAg
ICB8ICAzMSArKysrKwogLi4uL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIu
Y3BwIHwgMTI2ICsrKysrKysrLS0tLS0tLS0tLQogLi4uL2dzdHJlYW1lci9NZWRpYVBsYXllclBy
aXZhdGVHU3RyZWFtZXIuaCAgIHwgICAzICsKIDMgZmlsZXMgY2hhbmdlZCwgOTIgaW5zZXJ0aW9u
cygrKSwgNjggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDk3NWVjMmE5YzY3Li4zNjVmM2U0
Yzg1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDE4LTA0LTEzICBUaGliYXVsdCBT
YXVuaWVyICA8dHNhdW5pZXJAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1N0cmVhbWVyXSBGaXgg
dGhlIHdheSBHc3RTdHJlYW1Db2xsZWN0aW9uIGlzIGhhbmRsZWQKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NDU4OAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBzdHJlYW0gY29sbGVjdGlvbiBtZXNz
YWdlIHJlcGxhY2VzIHRoZSBjb2xsZWN0aW9uIG9mIHN0cmVhbSBwcmV2aW91c2x5CisgICAgICAg
IGFkdmVydGlzZWQsIHRoaXMgbWVhbnMgdGhhdCB3ZSBzaG91bGQgcmVidWlsZCBvdXIgc2V0IG9m
IFRyYWNrIGZyb20gc2NyYXRjaAorICAgICAgICBhbmQgbm90IHVwZGF0ZSBwcmV2aW91c2x5IGV4
cG9zZWQgdHJhY2tzLgorCisgICAgICAgIEluIHRoZSBlbmQsIHRoaXMgc2ltcGxpZmllcyB0aGUg
Y29kZSBhcyB3ZSBkbyBub3QgY2FyZSBhYm91dCB3aGF0CisgICAgICAgIHRyYWNrcyBleGlzdGVk
IHByZXZpb3VzbHksIHdlIGp1c3QgbmVlZCB0byBleHBvc2Ugd2hhdCBHU3RyZWFtZXIgdGVsbHMK
KyAgICAgICAgdXMsIGRlbGV0aW5nIGFueSBwcmV2aW91cyBzdGF0ZS4KKworICAgICAgICBIYW5k
bGUgdGhlIFNUUkVBTV9DT0xMRUNUSU9OIG1lc3NhZ2UgZnJvbSB0aGUgc3luYyBoYW5kbGVyIHNv
IHRoYXQgdHJhY2tzCisgICAgICAgIGFyZSB1cGRhdGVkIGJlZm9yZSB3ZSBtYXJrIHRoZSBwaXBl
bGluZSBhcyBSRUFEWSBmb3IgdGhlIGxpdmUgY2FzZSAoZXZlcnl0aGluZworICAgICAgICBoYXBw
ZW4gc3luY2hyb25vdXNseSB3aXRoIHRoZSBjYWxsIHRvIHRoZSBgbG9hZCgpYCBtZXRob2QgaW4g
dGhhdCBjYXNlKSwKKyAgICAgICAgc3RpbGwgdGhlIHVwZGF0ZSBoYXBwZW5zIG9uIHRoZSBtYWlu
IHRocmVhZC4KKworICAgICAgICBObyBuZXcgdGVzdHMgaXMgYWRkZWQgYXMgdGhpcyBpcyBtb3N0
bHkgcmVmYWN0b3JpbmcsIGl0IGlzIGFscmVhZHkgdGVzdGVkIGFuZCBpdAorICAgICAgICB3aWxs
IGZpeCBNZWRpYVN0cmVhbSB0ZXN0cyB0aGF0IGFyZSBjdXJyZW50bHkgZGlzYWJsZWQgYXMgdGhl
IHN1cHBvcnQgaXMgYmVpbmcKKyAgICAgICAgaW1wbGVtZW50ZWQuCisKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6Y2xlYXJUcmFj
a3MpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjp1cGRh
dGVUcmFja3MpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVy
OjpoYW5kbGVNZXNzYWdlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdT
dHJlYW1lcjo6aGFuZGxlU3luY01lc3NhZ2UpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuaDoKKwogMjAxOC0wNC0xMSAg
VGhpYmF1bHQgU2F1bmllciAgPHRzYXVuaWVyQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dTdHJl
YW1lcl0gVXNlIG9mIHBsYXliaW4zIHdoZW4gVVNFX1BMQVlCSU4zIGVudmlyb25tZW50IHZhcmlh
YmxlIGlzIHNldApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVy
LmNwcAppbmRleCAzNDE1NTQzZjg0Ni4uOTEyYmVhYWNjYjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3Ry
ZWFtZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1l
ci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwCkBAIC02MjIsNzUgKzYyMiw2MyBAQCBi
b29sIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6c2Vla2luZygpIGNvbnN0CiB9CiAKICNp
ZiBHU1RfQ0hFQ0tfVkVSU0lPTigxLCAxMCwgMCkKKworI2RlZmluZSBDTEVBUl9UUkFDS1ModHJh
Y2tzLCBtZXRob2QpIFwKKyAgICBmb3IgKGF1dG8mIHRyYWNrIDogdHJhY2tzLnZhbHVlcygpKVwK
KyAgICAgICAgbWV0aG9kKCp0cmFjayk7XAorICAgIHRyYWNrcy5jbGVhcigpOworCit2b2lkIE1l
ZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6Y2xlYXJUcmFja3MoKQoreworI2lmIEVOQUJMRShW
SURFT19UUkFDSykKKyAgICBDTEVBUl9UUkFDS1MobV9hdWRpb1RyYWNrcywgbV9wbGF5ZXItPnJl
bW92ZUF1ZGlvVHJhY2spOworICAgIENMRUFSX1RSQUNLUyhtX3ZpZGVvVHJhY2tzLCBtX3BsYXll
ci0+cmVtb3ZlVmlkZW9UcmFjayk7CisgICAgQ0xFQVJfVFJBQ0tTKG1fdGV4dFRyYWNrcywgbV9w
bGF5ZXItPnJlbW92ZVRleHRUcmFjayk7CisjZW5kaWYKK30KKyN1bmRlZiBDTEVBUl9UUkFDS1MK
KworI2lmIEVOQUJMRShWSURFT19UUkFDSykKKyNkZWZpbmUgQ1JFQVRFX1RSQUNLKHR5cGUsIFR5
cGUpIFwKKyAgICBpZiAoIXVzZU1lZGlhU291cmNlKSB7IFwKKyAgICAgICAgUmVmUHRyPFR5cGUj
I1RyYWNrUHJpdmF0ZUdTdHJlYW1lcj4gdHJhY2sgPSBUeXBlIyNUcmFja1ByaXZhdGVHU3RyZWFt
ZXI6OmNyZWF0ZShjcmVhdGVXZWFrUHRyKCksIGksIHN0cmVhbSk7XAorICAgICAgICBtXyMjdHlw
ZSMjIFRyYWNrcy5hZGQodHJhY2stPmlkKCksIHRyYWNrKTtcCisgICAgICAgIG1fcGxheWVyLT5h
ZGQjI1R5cGUjI1RyYWNrKCp0cmFjayk7XAorICAgIH0KKyNlbHNlCisjZGVmaW5lIENSRUFURV9U
UkFDSyh0eXBlLCBfaWQsIHRyYWNrcywgbWV0aG9kLCBzdHJlYW0pIG1faGFzIyNUeXBlIyMgPSB0
cnVlOworI2VuZGlmCisKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjp1cGRhdGVU
cmFja3MoKQogewogICAgIEFTU0VSVCghbV9pc0xlZ2FjeVBsYXliaW4pOwotCiAgICAgYm9vbCB1
c2VNZWRpYVNvdXJjZSA9IGlzTWVkaWFTb3VyY2UoKTsKICAgICB1bnNpZ25lZCBsZW5ndGggPSBn
c3Rfc3RyZWFtX2NvbGxlY3Rpb25fZ2V0X3NpemUobV9zdHJlYW1Db2xsZWN0aW9uLmdldCgpKTsK
LSAgICBWZWN0b3I8U3RyaW5nPiB2YWxpZEF1ZGlvU3RyZWFtczsKLSAgICBWZWN0b3I8U3RyaW5n
PiB2YWxpZFZpZGVvU3RyZWFtczsKLSAgICBWZWN0b3I8U3RyaW5nPiB2YWxpZFRleHRTdHJlYW1z
OworCisgICAgYm9vbCBvbGRIYXNBdWRpbyA9IG1faGFzQXVkaW87CisgICAgYm9vbCBvbGRIYXNW
aWRlbyA9IG1faGFzVmlkZW87CisgICAgLy8gTmV3IHN0cmVhbSBjb2xsZWN0aW9ucyBvdmVycmlk
ZSBwcmV2aW91cyBvbmVzLgorICAgIGNsZWFyVHJhY2tzKCk7CiAgICAgZm9yICh1bnNpZ25lZCBp
ID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7CiAgICAgICAgIEdSZWZQdHI8R3N0U3RyZWFtPiBzdHJl
YW0gPSBnc3Rfc3RyZWFtX2NvbGxlY3Rpb25fZ2V0X3N0cmVhbShtX3N0cmVhbUNvbGxlY3Rpb24u
Z2V0KCksIGkpOwogICAgICAgICBTdHJpbmcgc3RyZWFtSWQoZ3N0X3N0cmVhbV9nZXRfc3RyZWFt
X2lkKHN0cmVhbS5nZXQoKSkpOwogICAgICAgICBHc3RTdHJlYW1UeXBlIHR5cGUgPSBnc3Rfc3Ry
ZWFtX2dldF9zdHJlYW1fdHlwZShzdHJlYW0uZ2V0KCkpOwotICAgICAgICBHU1RfREVCVUcoIklu
c3BlY3RpbmcgJXMgdHJhY2sgd2l0aCBJRCAlcyIsIGdzdF9zdHJlYW1fdHlwZV9nZXRfbmFtZSh0
eXBlKSwgc3RyZWFtSWQudXRmOCgpLmRhdGEoKSk7Ci0gICAgICAgIGlmICh0eXBlICYgR1NUX1NU
UkVBTV9UWVBFX0FVRElPKSB7Ci0gICAgICAgICAgICB2YWxpZEF1ZGlvU3RyZWFtcy5hcHBlbmQo
c3RyZWFtSWQpOwotI2lmIEVOQUJMRShWSURFT19UUkFDSykKLSAgICAgICAgICAgIGlmICghdXNl
TWVkaWFTb3VyY2UpIHsKLSAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb2NhbEluZGV4ID0gaSAt
IHZhbGlkVmlkZW9TdHJlYW1zLnNpemUoKSAtIHZhbGlkVGV4dFN0cmVhbXMuc2l6ZSgpOwotICAg
ICAgICAgICAgICAgIGlmIChsb2NhbEluZGV4IDwgbV9hdWRpb1RyYWNrcy5zaXplKCkpIHsKLSAg
ICAgICAgICAgICAgICAgICAgaWYgKG1fYXVkaW9UcmFja3MuY29udGFpbnMoc3RyZWFtSWQpKQot
ICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICAgICAgfQogCi0g
ICAgICAgICAgICAgICAgUmVmUHRyPEF1ZGlvVHJhY2tQcml2YXRlR1N0cmVhbWVyPiB0cmFjayA9
IEF1ZGlvVHJhY2tQcml2YXRlR1N0cmVhbWVyOjpjcmVhdGUoY3JlYXRlV2Vha1B0cigpLCBpLCBz
dHJlYW0pOwotICAgICAgICAgICAgICAgIG1fYXVkaW9UcmFja3MuYWRkKHRyYWNrLT5pZCgpLCB0
cmFjayk7Ci0gICAgICAgICAgICAgICAgbV9wbGF5ZXItPmFkZEF1ZGlvVHJhY2soKnRyYWNrKTsK
LSAgICAgICAgICAgIH0KLSNlbmRpZgorICAgICAgICBHU1RfREVCVUdfT0JKRUNUKHBpcGVsaW5l
KCksICJJbnNwZWN0aW5nICVzIHRyYWNrIHdpdGggSUQgJXMiLCBnc3Rfc3RyZWFtX3R5cGVfZ2V0
X25hbWUodHlwZSksIHN0cmVhbUlkLnV0ZjgoKS5kYXRhKCkpOworICAgICAgICBpZiAodHlwZSAm
IEdTVF9TVFJFQU1fVFlQRV9BVURJTykgeworICAgICAgICAgICAgQ1JFQVRFX1RSQUNLKGF1ZGlv
LCBBdWRpbykKICAgICAgICAgfSBlbHNlIGlmICh0eXBlICYgR1NUX1NUUkVBTV9UWVBFX1ZJREVP
KSB7Ci0gICAgICAgICAgICB2YWxpZFZpZGVvU3RyZWFtcy5hcHBlbmQoc3RyZWFtSWQpOworICAg
ICAgICAgICAgQ1JFQVRFX1RSQUNLKHZpZGVvLCBWaWRlbykKKyAgICAgICAgfSBlbHNlIGlmICh0
eXBlICYgR1NUX1NUUkVBTV9UWVBFX1RFWFQgJiYgIXVzZU1lZGlhU291cmNlKSB7CiAjaWYgRU5B
QkxFKFZJREVPX1RSQUNLKQotICAgICAgICAgICAgaWYgKCF1c2VNZWRpYVNvdXJjZSkgewotICAg
ICAgICAgICAgICAgIHVuc2lnbmVkIGxvY2FsSW5kZXggPSBpIC0gdmFsaWRBdWRpb1N0cmVhbXMu
c2l6ZSgpIC0gdmFsaWRUZXh0U3RyZWFtcy5zaXplKCk7Ci0gICAgICAgICAgICAgICAgaWYgKGxv
Y2FsSW5kZXggPCBtX3ZpZGVvVHJhY2tzLnNpemUoKSkgewotICAgICAgICAgICAgICAgICAgICBp
ZiAobV92aWRlb1RyYWNrcy5jb250YWlucyhzdHJlYW1JZCkpCi0gICAgICAgICAgICAgICAgICAg
ICAgICBjb250aW51ZTsKLSAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgICAgICBSZWZQ
dHI8VmlkZW9UcmFja1ByaXZhdGVHU3RyZWFtZXI+IHRyYWNrID0gVmlkZW9UcmFja1ByaXZhdGVH
U3RyZWFtZXI6OmNyZWF0ZShjcmVhdGVXZWFrUHRyKCksIGksIHN0cmVhbSk7Ci0gICAgICAgICAg
ICAgICAgbV92aWRlb1RyYWNrcy5hZGQodHJhY2stPmlkKCksIHRyYWNrKTsKLSAgICAgICAgICAg
ICAgICBtX3BsYXllci0+YWRkVmlkZW9UcmFjaygqdHJhY2spOwotICAgICAgICAgICAgfQotI2Vu
ZGlmCi0gICAgICAgIH0gZWxzZSBpZiAodHlwZSAmIEdTVF9TVFJFQU1fVFlQRV9URVhUKSB7Ci0g
ICAgICAgICAgICB2YWxpZFRleHRTdHJlYW1zLmFwcGVuZChzdHJlYW1JZCk7Ci0jaWYgRU5BQkxF
KFZJREVPX1RSQUNLKQotICAgICAgICAgICAgaWYgKCF1c2VNZWRpYVNvdXJjZSkgewotICAgICAg
ICAgICAgICAgIHVuc2lnbmVkIGxvY2FsSW5kZXggPSBpIC0gdmFsaWRWaWRlb1N0cmVhbXMuc2l6
ZSgpIC0gdmFsaWRBdWRpb1N0cmVhbXMuc2l6ZSgpOwotICAgICAgICAgICAgICAgIGlmIChsb2Nh
bEluZGV4IDwgbV90ZXh0VHJhY2tzLnNpemUoKSkgewotICAgICAgICAgICAgICAgICAgICBpZiAo
bV90ZXh0VHJhY2tzLmNvbnRhaW5zKHN0cmVhbUlkKSkKLSAgICAgICAgICAgICAgICAgICAgICAg
IGNvbnRpbnVlOwotICAgICAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgICAgIFJlZlB0cjxJ
bmJhbmRUZXh0VHJhY2tQcml2YXRlR1N0cmVhbWVyPiB0cmFjayA9IEluYmFuZFRleHRUcmFja1By
aXZhdGVHU3RyZWFtZXI6OmNyZWF0ZShsb2NhbEluZGV4LCBzdHJlYW0pOworICAgICAgICAgICAg
ICAgIFJlZlB0cjxJbmJhbmRUZXh0VHJhY2tQcml2YXRlR1N0cmVhbWVyPiB0cmFjayA9IEluYmFu
ZFRleHRUcmFja1ByaXZhdGVHU3RyZWFtZXI6OmNyZWF0ZShpLCBzdHJlYW0pOwogICAgICAgICAg
ICAgICAgIG1fdGV4dFRyYWNrcy5hZGQoc3RyZWFtSWQsIHRyYWNrKTsKICAgICAgICAgICAgICAg
ICBtX3BsYXllci0+YWRkVGV4dFRyYWNrKCp0cmFjayk7Ci0gICAgICAgICAgICB9CiAjZW5kaWYK
ICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICBHU1RfV0FSTklORygiVW5rbm93biB0cmFjayB0
eXBlIGZvdW5kIGZvciBzdHJlYW0gJXMiLCBzdHJlYW1JZC51dGY4KCkuZGF0YSgpKTsKICAgICB9
CiAKLSAgICBHU1RfSU5GTygiTWVkaWEgaGFzICV1IHZpZGVvIHRyYWNrcywgJXUgYXVkaW8gdHJh
Y2tzIGFuZCAldSB0ZXh0IHRyYWNrcyIsIHZhbGlkVmlkZW9TdHJlYW1zLnNpemUoKSwgdmFsaWRB
dWRpb1N0cmVhbXMuc2l6ZSgpLCB2YWxpZFRleHRTdHJlYW1zLnNpemUoKSk7Ci0KLSAgICBib29s
IG9sZEhhc0F1ZGlvID0gbV9oYXNBdWRpbzsKLSAgICBib29sIG9sZEhhc1ZpZGVvID0gbV9oYXNW
aWRlbzsKLSAgICBtX2hhc0F1ZGlvID0gIXZhbGlkQXVkaW9TdHJlYW1zLmlzRW1wdHkoKTsKLSAg
ICBtX2hhc1ZpZGVvID0gIXZhbGlkVmlkZW9TdHJlYW1zLmlzRW1wdHkoKTsKICAgICBpZiAoKG9s
ZEhhc1ZpZGVvICE9IG1faGFzVmlkZW8pIHx8IChvbGRIYXNBdWRpbyAhPSBtX2hhc0F1ZGlvKSkK
ICAgICAgICAgbV9wbGF5ZXItPmNoYXJhY3RlcmlzdGljQ2hhbmdlZCgpOwogCkBAIC03MDMsMTQg
KzY5MSw5IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjp1cGRhdGVUcmFja3Mo
KQogICAgICAgICByZXR1cm47CiAgICAgfQogCi0jaWYgRU5BQkxFKFZJREVPX1RSQUNLKQotICAg
IHB1cmdlSW52YWxpZEF1ZGlvVHJhY2tzKHZhbGlkQXVkaW9TdHJlYW1zKTsKLSAgICBwdXJnZUlu
dmFsaWRWaWRlb1RyYWNrcyh2YWxpZFZpZGVvU3RyZWFtcyk7Ci0gICAgcHVyZ2VJbnZhbGlkVGV4
dFRyYWNrcyh2YWxpZFRleHRTdHJlYW1zKTsKLSNlbmRpZgotCiAgICAgbV9wbGF5ZXItPmNsaWVu
dCgpLm1lZGlhUGxheWVyRW5naW5lVXBkYXRlZChtX3BsYXllcik7CiB9CisjdW5kZWYgQ0xFQVJf
VFJBQ0tTCiAjZW5kaWYKIAogdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OmVuYWJs
ZVRyYWNrKFRyYWNrUHJpdmF0ZUJhc2VHU3RyZWFtZXI6OlRyYWNrVHlwZSB0cmFja1R5cGUsIHVu
c2lnbmVkIGluZGV4KQpAQCAtMTI4MSwxOCArMTI2NCw2IEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2
YXRlR1N0cmVhbWVyOjpoYW5kbGVNZXNzYWdlKEdzdE1lc3NhZ2UqIG1lc3NhZ2UpCiAgICAgICAg
IGJyZWFrOwogICAgIH0KICNpZiBHU1RfQ0hFQ0tfVkVSU0lPTigxLCAxMCwgMCkKLSAgICBjYXNl
IEdTVF9NRVNTQUdFX1NUUkVBTV9DT0xMRUNUSU9OOiB7Ci0gICAgICAgIEdSZWZQdHI8R3N0U3Ry
ZWFtQ29sbGVjdGlvbj4gY29sbGVjdGlvbjsKLSAgICAgICAgZ3N0X21lc3NhZ2VfcGFyc2Vfc3Ry
ZWFtX2NvbGxlY3Rpb24obWVzc2FnZSwgJmNvbGxlY3Rpb24ub3V0UHRyKCkpOwotCi0gICAgICAg
IGlmIChjb2xsZWN0aW9uKSB7Ci0gICAgICAgICAgICBtX3N0cmVhbUNvbGxlY3Rpb24uc3dhcChj
b2xsZWN0aW9uKTsKLSAgICAgICAgICAgIG1fbm90aWZpZXItPm5vdGlmeShNYWluVGhyZWFkTm90
aWZpY2F0aW9uOjpTdHJlYW1Db2xsZWN0aW9uQ2hhbmdlZCwgW3RoaXNdIHsKLSAgICAgICAgICAg
ICAgICB0aGlzLT51cGRhdGVUcmFja3MoKTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9Ci0g
ICAgICAgIGJyZWFrOwotICAgIH0KICAgICBjYXNlIEdTVF9NRVNTQUdFX1NUUkVBTVNfU0VMRUNU
RUQ6IHsKICAgICAgICAgR1JlZlB0cjxHc3RTdHJlYW1Db2xsZWN0aW9uPiBjb2xsZWN0aW9uOwog
ICAgICAgICBnc3RfbWVzc2FnZV9wYXJzZV9zdHJlYW1zX3NlbGVjdGVkKG1lc3NhZ2UsICZjb2xs
ZWN0aW9uLm91dFB0cigpKTsKQEAgLTE5NjAsNiArMTkzMSwyNSBAQCB2b2lkIE1lZGlhUGxheWVy
UHJpdmF0ZUdTdHJlYW1lcjo6dXBkYXRlU3RhdGVzKCkKICAgICB9CiB9CiAKK2Jvb2wgTWVkaWFQ
bGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpoYW5kbGVTeW5jTWVzc2FnZShHc3RNZXNzYWdlKiBtZXNz
YWdlKQoreworI2lmIEdTVF9DSEVDS19WRVJTSU9OKDEsIDEwLCAwKQorICAgIGlmIChHU1RfTUVT
U0FHRV9UWVBFKG1lc3NhZ2UpID09IEdTVF9NRVNTQUdFX1NUUkVBTV9DT0xMRUNUSU9OKSB7Cisg
ICAgICAgIEdSZWZQdHI8R3N0U3RyZWFtQ29sbGVjdGlvbj4gY29sbGVjdGlvbjsKKyAgICAgICAg
Z3N0X21lc3NhZ2VfcGFyc2Vfc3RyZWFtX2NvbGxlY3Rpb24obWVzc2FnZSwgJmNvbGxlY3Rpb24u
b3V0UHRyKCkpOworCisgICAgICAgIGlmIChjb2xsZWN0aW9uKSB7CisgICAgICAgICAgICBtX3N0
cmVhbUNvbGxlY3Rpb24uc3dhcChjb2xsZWN0aW9uKTsKKyAgICAgICAgICAgIG1fbm90aWZpZXIt
Pm5vdGlmeShNYWluVGhyZWFkTm90aWZpY2F0aW9uOjpTdHJlYW1Db2xsZWN0aW9uQ2hhbmdlZCwg
W3RoaXNdIHsKKyAgICAgICAgICAgICAgICB0aGlzLT51cGRhdGVUcmFja3MoKTsKKyAgICAgICAg
ICAgIH0pOworICAgICAgICB9CisgICAgfQorI2VuZGlmCisKKyAgICByZXR1cm4gTWVkaWFQbGF5
ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6aGFuZGxlU3luY01lc3NhZ2UobWVzc2FnZSk7Cit9CisK
IHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjptZWRpYUxvY2F0aW9uQ2hhbmdlZChH
c3RNZXNzYWdlKiBtZXNzYWdlKQogewogICAgIGlmIChtX21lZGlhTG9jYXRpb25zKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxh
eWVyUHJpdmF0ZUdTdHJlYW1lci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5oCmluZGV4IGI3OWQ0M2NkYWVl
Li45Njk3NzE0OTk4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3Ry
ZWFtZXIuaApAQCAtMTMzLDYgKzEzMyw4IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgZW5hYmxlVHJh
Y2soVHJhY2tQcml2YXRlQmFzZUdTdHJlYW1lcjo6VHJhY2tUeXBlLCB1bnNpZ25lZCBpbmRleCk7
CiAKKyAgICBib29sIGhhbmRsZVN5bmNNZXNzYWdlKEdzdE1lc3NhZ2UqKSBvdmVycmlkZTsKKwog
cHJpdmF0ZToKICAgICBzdGF0aWMgdm9pZCBnZXRTdXBwb3J0ZWRUeXBlcyhIYXNoU2V0PFN0cmlu
ZywgQVNDSUlDYXNlSW5zZW5zaXRpdmVIYXNoPiYpOwogICAgIHN0YXRpYyBNZWRpYVBsYXllcjo6
U3VwcG9ydHNUeXBlIHN1cHBvcnRzVHlwZShjb25zdCBNZWRpYUVuZ2luZVN1cHBvcnRQYXJhbWV0
ZXJzJik7CkBAIC0xODAsNiArMTgyLDcgQEAgcHJpdmF0ZToKIAogI2lmIEdTVF9DSEVDS19WRVJT
SU9OKDEsIDEwLCAwKQogICAgIHZvaWQgdXBkYXRlVHJhY2tzKCk7CisgICAgdm9pZCBjbGVhclRy
YWNrcygpOwogI2VuZGlmCiAKIHByb3RlY3RlZDoKLS0gCjIuMTcuMA==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>338581</attachid>
            <date>2018-04-23 06:11:00 -0700</date>
            <delta_ts>2018-05-09 11:21:05 -0700</delta_ts>
            <desc>[GStreamer] Fix the way GstStreamCollection is handled</desc>
            <filename>GStreamer-Fix-the-way-GstStreamCollection-is-handl.patch</filename>
            <type>text/plain</type>
            <size>11272</size>
            <attacher name="Thibault Saunier">tsaunier</attacher>
            
              <data encoding="base64">RnJvbSA5MjhhMjQ2ZWYxNDlmZjgxNzI0ZDIxMjlkMmM0NjFkZjNkZDBiNDk3IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBpZ2FsaWEuY29t
PgpEYXRlOiBUaHUsIDEyIEFwciAyMDE4IDEwOjI0OjI4IC0wMzAwClN1YmplY3Q6IFtQQVRDSCB4
c2VydmVyXSBbR1N0cmVhbWVyXSBGaXggdGhlIHdheSBHc3RTdHJlYW1Db2xsZWN0aW9uIGlzCiBo
YW5kbGVkCgpUaGUgc3RyZWFtIGNvbGxlY3Rpb24gbWVzc2FnZSByZXBsYWNlcyB0aGUgY29sbGVj
dGlvbiBvZiBzdHJlYW0gcHJldmlvdXNseQphZHZlcnRpc2VkLCB0aGlzIG1lYW5zIHRoYXQgd2Ug
c2hvdWxkIHJlYnVpbGQgb3VyIHNldCBvZiBUcmFjayBmcm9tIHNjcmF0Y2gKYW5kIG5vdCB1cGRh
dGUgcHJldmlvdXNseSBleHBvc2VkIHRyYWNrcy4KCkluIHRoZSBlbmQsIHRoaXMgc2ltcGxpZmll
cyB0aGUgY29kZSBhcyB3ZSBkbyBub3QgY2FyZSBhYm91dCB3aGF0CnRyYWNrcyBleGlzdGVkIHBy
ZXZpb3VzbHksIHdlIGp1c3QgbmVlZCB0byBleHBvc2Ugd2hhdCBHU3RyZWFtZXIgdGVsbHMKdXMs
IGRlbGV0aW5nIGFueSBwcmV2aW91cyBzdGF0ZS4KCkhhbmRsZSB0aGUgU1RSRUFNX0NPTExFQ1RJ
T04gbWVzc2FnZSBmcm9tIHRoZSBzeW5jIGhhbmRsZXIgc28gdGhhdCB0cmFja3MKYXJlIHVwZGF0
ZWQgYmVmb3JlIHdlIG1hcmsgdGhlIHBpcGVsaW5lIGFzIFJFQURZIGZvciB0aGUgbGl2ZSBjYXNl
IChldmVyeXRoaW5nCmhhcHBlbiBzeW5jaHJvbm91c2x5IHdpdGggdGhlIGNhbGwgdG8gdGhlIGBs
b2FkKClgIG1ldGhvZCBpbiB0aGF0IGNhc2UpLApzdGlsbCB0aGUgdXBkYXRlIGhhcHBlbnMgb24g
dGhlIG1haW4gdGhyZWFkLgoKaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE4NDU4OAotLS0KIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAg
ICB8ICAzMSArKysrKwogLi4uL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIu
Y3BwIHwgMTI4ICsrKysrKysrLS0tLS0tLS0tLQogLi4uL2dzdHJlYW1lci9NZWRpYVBsYXllclBy
aXZhdGVHU3RyZWFtZXIuaCAgIHwgICAzICsKIDMgZmlsZXMgY2hhbmdlZCwgOTMgaW5zZXJ0aW9u
cygrKSwgNjkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDhlM2YxZWE5ODJhLi5lMjFlM2M1
NTgyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDE4LTA0LTEzICBUaGliYXVsdCBT
YXVuaWVyICA8dHNhdW5pZXJAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1N0cmVhbWVyXSBGaXgg
dGhlIHdheSBHc3RTdHJlYW1Db2xsZWN0aW9uIGlzIGhhbmRsZWQKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NDU4OAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBzdHJlYW0gY29sbGVjdGlvbiBtZXNz
YWdlIHJlcGxhY2VzIHRoZSBjb2xsZWN0aW9uIG9mIHN0cmVhbSBwcmV2aW91c2x5CisgICAgICAg
IGFkdmVydGlzZWQsIHRoaXMgbWVhbnMgdGhhdCB3ZSBzaG91bGQgcmVidWlsZCBvdXIgc2V0IG9m
IFRyYWNrIGZyb20gc2NyYXRjaAorICAgICAgICBhbmQgbm90IHVwZGF0ZSBwcmV2aW91c2x5IGV4
cG9zZWQgdHJhY2tzLgorCisgICAgICAgIEluIHRoZSBlbmQsIHRoaXMgc2ltcGxpZmllcyB0aGUg
Y29kZSBhcyB3ZSBkbyBub3QgY2FyZSBhYm91dCB3aGF0CisgICAgICAgIHRyYWNrcyBleGlzdGVk
IHByZXZpb3VzbHksIHdlIGp1c3QgbmVlZCB0byBleHBvc2Ugd2hhdCBHU3RyZWFtZXIgdGVsbHMK
KyAgICAgICAgdXMsIGRlbGV0aW5nIGFueSBwcmV2aW91cyBzdGF0ZS4KKworICAgICAgICBIYW5k
bGUgdGhlIFNUUkVBTV9DT0xMRUNUSU9OIG1lc3NhZ2UgZnJvbSB0aGUgc3luYyBoYW5kbGVyIHNv
IHRoYXQgdHJhY2tzCisgICAgICAgIGFyZSB1cGRhdGVkIGJlZm9yZSB3ZSBtYXJrIHRoZSBwaXBl
bGluZSBhcyBSRUFEWSBmb3IgdGhlIGxpdmUgY2FzZSAoZXZlcnl0aGluZworICAgICAgICBoYXBw
ZW4gc3luY2hyb25vdXNseSB3aXRoIHRoZSBjYWxsIHRvIHRoZSBgbG9hZCgpYCBtZXRob2QgaW4g
dGhhdCBjYXNlKSwKKyAgICAgICAgc3RpbGwgdGhlIHVwZGF0ZSBoYXBwZW5zIG9uIHRoZSBtYWlu
IHRocmVhZC4KKworICAgICAgICBObyBuZXcgdGVzdHMgaXMgYWRkZWQgYXMgdGhpcyBpcyBtb3N0
bHkgcmVmYWN0b3JpbmcsIGl0IGlzIGFscmVhZHkgdGVzdGVkIGFuZCBpdAorICAgICAgICB3aWxs
IGZpeCBNZWRpYVN0cmVhbSB0ZXN0cyB0aGF0IGFyZSBjdXJyZW50bHkgZGlzYWJsZWQgYXMgdGhl
IHN1cHBvcnQgaXMgYmVpbmcKKyAgICAgICAgaW1wbGVtZW50ZWQuCisKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6Y2xlYXJUcmFj
a3MpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjp1cGRh
dGVUcmFja3MpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVy
OjpoYW5kbGVNZXNzYWdlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdT
dHJlYW1lcjo6aGFuZGxlU3luY01lc3NhZ2UpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuaDoKKwogMjAxOC0wNC0xNiAg
VGhpYmF1bHQgU2F1bmllciAgPHRzYXVuaWVyQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dTdHJl
YW1lcl0gU3RhcnQgaW1wbGVtZW50aW5nIEF1ZGlvL1ZpZGVvVHJhY2tQcml2YXRlR1NUcmVhbWVy
OjpraW5kIG1ldGhvZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVh
bWVyLmNwcAppbmRleCA3ODRjOTYxN2RiMy4uMWNjNjNiOWU2N2IgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVH
U3RyZWFtZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJl
YW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwCkBAIC02MjIsNzUgKzYyMiw2MyBA
QCBib29sIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6c2Vla2luZygpIGNvbnN0CiB9CiAK
ICNpZiBHU1RfQ0hFQ0tfVkVSU0lPTigxLCAxMCwgMCkKKyNkZWZpbmUgQ0xFQVJfVFJBQ0tTKHRy
YWNrcywgbWV0aG9kKSBcCisgICAgZm9yIChhdXRvJiB0cmFjayA6IHRyYWNrcy52YWx1ZXMoKSlc
CisgICAgICAgIG1ldGhvZCgqdHJhY2spO1wKKyAgICB0cmFja3MuY2xlYXIoKTsKKwordm9pZCBN
ZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OmNsZWFyVHJhY2tzKCkKK3sKKyNpZiBFTkFCTEUo
VklERU9fVFJBQ0spCisgICAgQ0xFQVJfVFJBQ0tTKG1fYXVkaW9UcmFja3MsIG1fcGxheWVyLT5y
ZW1vdmVBdWRpb1RyYWNrKTsKKyAgICBDTEVBUl9UUkFDS1MobV92aWRlb1RyYWNrcywgbV9wbGF5
ZXItPnJlbW92ZVZpZGVvVHJhY2spOworICAgIENMRUFSX1RSQUNLUyhtX3RleHRUcmFja3MsIG1f
cGxheWVyLT5yZW1vdmVUZXh0VHJhY2spOworI2VuZGlmIC8vIEVOQUJMRShWSURFT19UUkFDSykK
K30KKyN1bmRlZiBDTEVBUl9UUkFDS1MKKworI2lmIEVOQUJMRShWSURFT19UUkFDSykKKyNkZWZp
bmUgQ1JFQVRFX1RSQUNLKHR5cGUsIFR5cGUpIFwKKyAgICBtX2hhcyMjVHlwZSA9IHRydWU7IFwK
KyAgICBpZiAoIXVzZU1lZGlhU291cmNlKSB7XAorICAgICAgICBSZWZQdHI8VHlwZSMjVHJhY2tQ
cml2YXRlR1N0cmVhbWVyPiB0cmFjayA9IFR5cGUjI1RyYWNrUHJpdmF0ZUdTdHJlYW1lcjo6Y3Jl
YXRlKGNyZWF0ZVdlYWtQdHIoKSwgaSwgc3RyZWFtKTsgXAorICAgICAgICBtXyMjdHlwZSMjVHJh
Y2tzLmFkZCh0cmFjay0+aWQoKSwgdHJhY2spOyBcCisgICAgICAgIG1fcGxheWVyLT5hZGQjI1R5
cGUjI1RyYWNrKCp0cmFjayk7XAorICAgIH0KKyNlbHNlCisjZGVmaW5lIENSRUFURV9UUkFDSyh0
eXBlLCBfaWQsIHRyYWNrcywgbWV0aG9kLCBzdHJlYW0pIG1faGFzIyNUeXBlIyMgPSB0cnVlOwor
I2VuZGlmIC8vIEVOQUJMRShWSURFT19UUkFDSykKKwogdm9pZCBNZWRpYVBsYXllclByaXZhdGVH
U3RyZWFtZXI6OnVwZGF0ZVRyYWNrcygpCiB7CiAgICAgQVNTRVJUKCFtX2lzTGVnYWN5UGxheWJp
bik7Ci0KICAgICBib29sIHVzZU1lZGlhU291cmNlID0gaXNNZWRpYVNvdXJjZSgpOwogICAgIHVu
c2lnbmVkIGxlbmd0aCA9IGdzdF9zdHJlYW1fY29sbGVjdGlvbl9nZXRfc2l6ZShtX3N0cmVhbUNv
bGxlY3Rpb24uZ2V0KCkpOwotICAgIFZlY3RvcjxTdHJpbmc+IHZhbGlkQXVkaW9TdHJlYW1zOwot
ICAgIFZlY3RvcjxTdHJpbmc+IHZhbGlkVmlkZW9TdHJlYW1zOwotICAgIFZlY3RvcjxTdHJpbmc+
IHZhbGlkVGV4dFN0cmVhbXM7CisKKyAgICBib29sIG9sZEhhc0F1ZGlvID0gbV9oYXNBdWRpbzsK
KyAgICBib29sIG9sZEhhc1ZpZGVvID0gbV9oYXNWaWRlbzsKKyAgICAvLyBOZXcgc3RyZWFtIGNv
bGxlY3Rpb25zIG92ZXJyaWRlIHByZXZpb3VzIG9uZXMuCisgICAgY2xlYXJUcmFja3MoKTsKICAg
ICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHsKICAgICAgICAgR1JlZlB0
cjxHc3RTdHJlYW0+IHN0cmVhbSA9IGdzdF9zdHJlYW1fY29sbGVjdGlvbl9nZXRfc3RyZWFtKG1f
c3RyZWFtQ29sbGVjdGlvbi5nZXQoKSwgaSk7CiAgICAgICAgIFN0cmluZyBzdHJlYW1JZChnc3Rf
c3RyZWFtX2dldF9zdHJlYW1faWQoc3RyZWFtLmdldCgpKSk7CiAgICAgICAgIEdzdFN0cmVhbVR5
cGUgdHlwZSA9IGdzdF9zdHJlYW1fZ2V0X3N0cmVhbV90eXBlKHN0cmVhbS5nZXQoKSk7Ci0gICAg
ICAgIEdTVF9ERUJVRygiSW5zcGVjdGluZyAlcyB0cmFjayB3aXRoIElEICVzIiwgZ3N0X3N0cmVh
bV90eXBlX2dldF9uYW1lKHR5cGUpLCBzdHJlYW1JZC51dGY4KCkuZGF0YSgpKTsKLSAgICAgICAg
aWYgKHR5cGUgJiBHU1RfU1RSRUFNX1RZUEVfQVVESU8pIHsKLSAgICAgICAgICAgIHZhbGlkQXVk
aW9TdHJlYW1zLmFwcGVuZChzdHJlYW1JZCk7Ci0jaWYgRU5BQkxFKFZJREVPX1RSQUNLKQotICAg
ICAgICAgICAgaWYgKCF1c2VNZWRpYVNvdXJjZSkgewotICAgICAgICAgICAgICAgIHVuc2lnbmVk
IGxvY2FsSW5kZXggPSBpIC0gdmFsaWRWaWRlb1N0cmVhbXMuc2l6ZSgpIC0gdmFsaWRUZXh0U3Ry
ZWFtcy5zaXplKCk7Ci0gICAgICAgICAgICAgICAgaWYgKGxvY2FsSW5kZXggPCBtX2F1ZGlvVHJh
Y2tzLnNpemUoKSkgewotICAgICAgICAgICAgICAgICAgICBpZiAobV9hdWRpb1RyYWNrcy5jb250
YWlucyhzdHJlYW1JZCkpCi0gICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAg
ICAgICAgICAgICB9CiAKLSAgICAgICAgICAgICAgICBSZWZQdHI8QXVkaW9UcmFja1ByaXZhdGVH
U3RyZWFtZXI+IHRyYWNrID0gQXVkaW9UcmFja1ByaXZhdGVHU3RyZWFtZXI6OmNyZWF0ZShjcmVh
dGVXZWFrUHRyKCksIGksIHN0cmVhbSk7Ci0gICAgICAgICAgICAgICAgbV9hdWRpb1RyYWNrcy5h
ZGQodHJhY2stPmlkKCksIHRyYWNrKTsKLSAgICAgICAgICAgICAgICBtX3BsYXllci0+YWRkQXVk
aW9UcmFjaygqdHJhY2spOwotICAgICAgICAgICAgfQotI2VuZGlmCisgICAgICAgIEdTVF9ERUJV
R19PQkpFQ1QocGlwZWxpbmUoKSwgIkluc3BlY3RpbmcgJXMgdHJhY2sgd2l0aCBJRCAlcyIsIGdz
dF9zdHJlYW1fdHlwZV9nZXRfbmFtZSh0eXBlKSwgc3RyZWFtSWQudXRmOCgpLmRhdGEoKSk7Cisg
ICAgICAgIGlmICh0eXBlICYgR1NUX1NUUkVBTV9UWVBFX0FVRElPKSB7CisgICAgICAgICAgICBD
UkVBVEVfVFJBQ0soYXVkaW8sIEF1ZGlvKQogICAgICAgICB9IGVsc2UgaWYgKHR5cGUgJiBHU1Rf
U1RSRUFNX1RZUEVfVklERU8pIHsKLSAgICAgICAgICAgIHZhbGlkVmlkZW9TdHJlYW1zLmFwcGVu
ZChzdHJlYW1JZCk7CisgICAgICAgICAgICBDUkVBVEVfVFJBQ0sodmlkZW8sIFZpZGVvKQorICAg
ICAgICB9IGVsc2UgaWYgKHR5cGUgJiBHU1RfU1RSRUFNX1RZUEVfVEVYVCAmJiAhdXNlTWVkaWFT
b3VyY2UpIHsKICNpZiBFTkFCTEUoVklERU9fVFJBQ0spCi0gICAgICAgICAgICBpZiAoIXVzZU1l
ZGlhU291cmNlKSB7Ci0gICAgICAgICAgICAgICAgdW5zaWduZWQgbG9jYWxJbmRleCA9IGkgLSB2
YWxpZEF1ZGlvU3RyZWFtcy5zaXplKCkgLSB2YWxpZFRleHRTdHJlYW1zLnNpemUoKTsKLSAgICAg
ICAgICAgICAgICBpZiAobG9jYWxJbmRleCA8IG1fdmlkZW9UcmFja3Muc2l6ZSgpKSB7Ci0gICAg
ICAgICAgICAgICAgICAgIGlmIChtX3ZpZGVvVHJhY2tzLmNvbnRhaW5zKHN0cmVhbUlkKSkKLSAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgICAgIH0KLQotICAg
ICAgICAgICAgICAgIFJlZlB0cjxWaWRlb1RyYWNrUHJpdmF0ZUdTdHJlYW1lcj4gdHJhY2sgPSBW
aWRlb1RyYWNrUHJpdmF0ZUdTdHJlYW1lcjo6Y3JlYXRlKGNyZWF0ZVdlYWtQdHIoKSwgaSwgc3Ry
ZWFtKTsKLSAgICAgICAgICAgICAgICBtX3ZpZGVvVHJhY2tzLmFkZCh0cmFjay0+aWQoKSwgdHJh
Y2spOwotICAgICAgICAgICAgICAgIG1fcGxheWVyLT5hZGRWaWRlb1RyYWNrKCp0cmFjayk7Ci0g
ICAgICAgICAgICB9Ci0jZW5kaWYKLSAgICAgICAgfSBlbHNlIGlmICh0eXBlICYgR1NUX1NUUkVB
TV9UWVBFX1RFWFQpIHsKLSAgICAgICAgICAgIHZhbGlkVGV4dFN0cmVhbXMuYXBwZW5kKHN0cmVh
bUlkKTsKLSNpZiBFTkFCTEUoVklERU9fVFJBQ0spCi0gICAgICAgICAgICBpZiAoIXVzZU1lZGlh
U291cmNlKSB7Ci0gICAgICAgICAgICAgICAgdW5zaWduZWQgbG9jYWxJbmRleCA9IGkgLSB2YWxp
ZFZpZGVvU3RyZWFtcy5zaXplKCkgLSB2YWxpZEF1ZGlvU3RyZWFtcy5zaXplKCk7Ci0gICAgICAg
ICAgICAgICAgaWYgKGxvY2FsSW5kZXggPCBtX3RleHRUcmFja3Muc2l6ZSgpKSB7Ci0gICAgICAg
ICAgICAgICAgICAgIGlmIChtX3RleHRUcmFja3MuY29udGFpbnMoc3RyZWFtSWQpKQotICAgICAg
ICAgICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICAgICAgfQotCi0gICAgICAg
ICAgICAgICAgUmVmUHRyPEluYmFuZFRleHRUcmFja1ByaXZhdGVHU3RyZWFtZXI+IHRyYWNrID0g
SW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUdTdHJlYW1lcjo6Y3JlYXRlKGxvY2FsSW5kZXgsIHN0cmVh
bSk7CisgICAgICAgICAgICAgICAgUmVmUHRyPEluYmFuZFRleHRUcmFja1ByaXZhdGVHU3RyZWFt
ZXI+IHRyYWNrID0gSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUdTdHJlYW1lcjo6Y3JlYXRlKGksIHN0
cmVhbSk7CiAgICAgICAgICAgICAgICAgbV90ZXh0VHJhY2tzLmFkZChzdHJlYW1JZCwgdHJhY2sp
OwogICAgICAgICAgICAgICAgIG1fcGxheWVyLT5hZGRUZXh0VHJhY2soKnRyYWNrKTsKLSAgICAg
ICAgICAgIH0KICNlbmRpZgogICAgICAgICB9IGVsc2UKICAgICAgICAgICAgIEdTVF9XQVJOSU5H
KCJVbmtub3duIHRyYWNrIHR5cGUgZm91bmQgZm9yIHN0cmVhbSAlcyIsIHN0cmVhbUlkLnV0Zjgo
KS5kYXRhKCkpOwogICAgIH0KIAotICAgIEdTVF9JTkZPKCJNZWRpYSBoYXMgJXUgdmlkZW8gdHJh
Y2tzLCAldSBhdWRpbyB0cmFja3MgYW5kICV1IHRleHQgdHJhY2tzIiwgdmFsaWRWaWRlb1N0cmVh
bXMuc2l6ZSgpLCB2YWxpZEF1ZGlvU3RyZWFtcy5zaXplKCksIHZhbGlkVGV4dFN0cmVhbXMuc2l6
ZSgpKTsKLQotICAgIGJvb2wgb2xkSGFzQXVkaW8gPSBtX2hhc0F1ZGlvOwotICAgIGJvb2wgb2xk
SGFzVmlkZW8gPSBtX2hhc1ZpZGVvOwotICAgIG1faGFzQXVkaW8gPSAhdmFsaWRBdWRpb1N0cmVh
bXMuaXNFbXB0eSgpOwotICAgIG1faGFzVmlkZW8gPSAhdmFsaWRWaWRlb1N0cmVhbXMuaXNFbXB0
eSgpOwogICAgIGlmICgob2xkSGFzVmlkZW8gIT0gbV9oYXNWaWRlbykgfHwgKG9sZEhhc0F1ZGlv
ICE9IG1faGFzQXVkaW8pKQogICAgICAgICBtX3BsYXllci0+Y2hhcmFjdGVyaXN0aWNDaGFuZ2Vk
KCk7CiAKQEAgLTcwMywxNSArNjkxLDEwIEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVh
bWVyOjp1cGRhdGVUcmFja3MoKQogICAgICAgICByZXR1cm47CiAgICAgfQogCi0jaWYgRU5BQkxF
KFZJREVPX1RSQUNLKQotICAgIHB1cmdlSW52YWxpZEF1ZGlvVHJhY2tzKHZhbGlkQXVkaW9TdHJl
YW1zKTsKLSAgICBwdXJnZUludmFsaWRWaWRlb1RyYWNrcyh2YWxpZFZpZGVvU3RyZWFtcyk7Ci0g
ICAgcHVyZ2VJbnZhbGlkVGV4dFRyYWNrcyh2YWxpZFRleHRTdHJlYW1zKTsKLSNlbmRpZgotCiAg
ICAgbV9wbGF5ZXItPmNsaWVudCgpLm1lZGlhUGxheWVyRW5naW5lVXBkYXRlZChtX3BsYXllcik7
CiB9Ci0jZW5kaWYKKyN1bmRlZiBDTEVBUl9UUkFDS1MKKyNlbmRpZiAvLyBHU1RfQ0hFQ0tfVkVS
U0lPTigxLCAxMCwgMCkKIAogdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OmVuYWJs
ZVRyYWNrKFRyYWNrUHJpdmF0ZUJhc2VHU3RyZWFtZXI6OlRyYWNrVHlwZSB0cmFja1R5cGUsIHVu
c2lnbmVkIGluZGV4KQogewpAQCAtMTI4MSwxOCArMTI2NCw2IEBAIHZvaWQgTWVkaWFQbGF5ZXJQ
cml2YXRlR1N0cmVhbWVyOjpoYW5kbGVNZXNzYWdlKEdzdE1lc3NhZ2UqIG1lc3NhZ2UpCiAgICAg
ICAgIGJyZWFrOwogICAgIH0KICNpZiBHU1RfQ0hFQ0tfVkVSU0lPTigxLCAxMCwgMCkKLSAgICBj
YXNlIEdTVF9NRVNTQUdFX1NUUkVBTV9DT0xMRUNUSU9OOiB7Ci0gICAgICAgIEdSZWZQdHI8R3N0
U3RyZWFtQ29sbGVjdGlvbj4gY29sbGVjdGlvbjsKLSAgICAgICAgZ3N0X21lc3NhZ2VfcGFyc2Vf
c3RyZWFtX2NvbGxlY3Rpb24obWVzc2FnZSwgJmNvbGxlY3Rpb24ub3V0UHRyKCkpOwotCi0gICAg
ICAgIGlmIChjb2xsZWN0aW9uKSB7Ci0gICAgICAgICAgICBtX3N0cmVhbUNvbGxlY3Rpb24uc3dh
cChjb2xsZWN0aW9uKTsKLSAgICAgICAgICAgIG1fbm90aWZpZXItPm5vdGlmeShNYWluVGhyZWFk
Tm90aWZpY2F0aW9uOjpTdHJlYW1Db2xsZWN0aW9uQ2hhbmdlZCwgW3RoaXNdIHsKLSAgICAgICAg
ICAgICAgICB0aGlzLT51cGRhdGVUcmFja3MoKTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9
Ci0gICAgICAgIGJyZWFrOwotICAgIH0KICAgICBjYXNlIEdTVF9NRVNTQUdFX1NUUkVBTVNfU0VM
RUNURUQ6IHsKICAgICAgICAgR1JlZlB0cjxHc3RTdHJlYW1Db2xsZWN0aW9uPiBjb2xsZWN0aW9u
OwogICAgICAgICBnc3RfbWVzc2FnZV9wYXJzZV9zdHJlYW1zX3NlbGVjdGVkKG1lc3NhZ2UsICZj
b2xsZWN0aW9uLm91dFB0cigpKTsKQEAgLTE5NjAsNiArMTkzMSwyNSBAQCB2b2lkIE1lZGlhUGxh
eWVyUHJpdmF0ZUdTdHJlYW1lcjo6dXBkYXRlU3RhdGVzKCkKICAgICB9CiB9CiAKK2Jvb2wgTWVk
aWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpoYW5kbGVTeW5jTWVzc2FnZShHc3RNZXNzYWdlKiBt
ZXNzYWdlKQoreworI2lmIEdTVF9DSEVDS19WRVJTSU9OKDEsIDEwLCAwKQorICAgIGlmIChHU1Rf
TUVTU0FHRV9UWVBFKG1lc3NhZ2UpID09IEdTVF9NRVNTQUdFX1NUUkVBTV9DT0xMRUNUSU9OKSB7
CisgICAgICAgIEdSZWZQdHI8R3N0U3RyZWFtQ29sbGVjdGlvbj4gY29sbGVjdGlvbjsKKyAgICAg
ICAgZ3N0X21lc3NhZ2VfcGFyc2Vfc3RyZWFtX2NvbGxlY3Rpb24obWVzc2FnZSwgJmNvbGxlY3Rp
b24ub3V0UHRyKCkpOworCisgICAgICAgIGlmIChjb2xsZWN0aW9uKSB7CisgICAgICAgICAgICBt
X3N0cmVhbUNvbGxlY3Rpb24uc3dhcChjb2xsZWN0aW9uKTsKKyAgICAgICAgICAgIG1fbm90aWZp
ZXItPm5vdGlmeShNYWluVGhyZWFkTm90aWZpY2F0aW9uOjpTdHJlYW1Db2xsZWN0aW9uQ2hhbmdl
ZCwgW3RoaXNdIHsKKyAgICAgICAgICAgICAgICB0aGlzLT51cGRhdGVUcmFja3MoKTsKKyAgICAg
ICAgICAgIH0pOworICAgICAgICB9CisgICAgfQorI2VuZGlmCisKKyAgICByZXR1cm4gTWVkaWFQ
bGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6aGFuZGxlU3luY01lc3NhZ2UobWVzc2FnZSk7Cit9
CisKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjptZWRpYUxvY2F0aW9uQ2hhbmdl
ZChHc3RNZXNzYWdlKiBtZXNzYWdlKQogewogICAgIGlmIChtX21lZGlhTG9jYXRpb25zKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlh
UGxheWVyUHJpdmF0ZUdTdHJlYW1lci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5oCmluZGV4IGI3ODA0NjE0
OGQ5Li4xYWU0YTU0YmFlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVH
U3RyZWFtZXIuaApAQCAtMTMzLDYgKzEzMyw4IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgZW5hYmxl
VHJhY2soVHJhY2tQcml2YXRlQmFzZUdTdHJlYW1lcjo6VHJhY2tUeXBlLCB1bnNpZ25lZCBpbmRl
eCk7CiAKKyAgICBib29sIGhhbmRsZVN5bmNNZXNzYWdlKEdzdE1lc3NhZ2UqKSBvdmVycmlkZTsK
KwogcHJpdmF0ZToKICAgICBzdGF0aWMgdm9pZCBnZXRTdXBwb3J0ZWRUeXBlcyhIYXNoU2V0PFN0
cmluZywgQVNDSUlDYXNlSW5zZW5zaXRpdmVIYXNoPiYpOwogICAgIHN0YXRpYyBNZWRpYVBsYXll
cjo6U3VwcG9ydHNUeXBlIHN1cHBvcnRzVHlwZShjb25zdCBNZWRpYUVuZ2luZVN1cHBvcnRQYXJh
bWV0ZXJzJik7CkBAIC0xODAsNiArMTgyLDcgQEAgcHJpdmF0ZToKIAogI2lmIEdTVF9DSEVDS19W
RVJTSU9OKDEsIDEwLCAwKQogICAgIHZvaWQgdXBkYXRlVHJhY2tzKCk7CisgICAgdm9pZCBjbGVh
clRyYWNrcygpOwogI2VuZGlmCiAKIHByb3RlY3RlZDoKLS0gCjIuMTcuMA==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>339991</attachid>
            <date>2018-05-09 11:21:05 -0700</date>
            <delta_ts>2018-06-01 06:50:49 -0700</delta_ts>
            <desc>[GStreamer] Fix the way GstStreamCollection is handled</desc>
            <filename>GStreamer-Fix-the-way-GstStreamCollection-is-handl.patch</filename>
            <type>text/plain</type>
            <size>11614</size>
            <attacher name="Thibault Saunier">tsaunier</attacher>
            
              <data encoding="base64">RnJvbSAyMzA2ZTg0N2Y0MWUyMjRlNmUxZjc3ZTUwYTJmN2I3MmY1NGE2MGVjIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBpZ2FsaWEuY29t
PgpEYXRlOiBUaHUsIDEyIEFwciAyMDE4IDEwOjI0OjI4IC0wMzAwClN1YmplY3Q6IFtQQVRDSCB4
c2VydmVyXSBbR1N0cmVhbWVyXSBGaXggdGhlIHdheSBHc3RTdHJlYW1Db2xsZWN0aW9uIGlzCiBo
YW5kbGVkCgpUaGUgc3RyZWFtIGNvbGxlY3Rpb24gbWVzc2FnZSByZXBsYWNlcyB0aGUgY29sbGVj
dGlvbiBvZiBzdHJlYW0gcHJldmlvdXNseQphZHZlcnRpc2VkLCB0aGlzIG1lYW5zIHRoYXQgd2Ug
c2hvdWxkIHJlYnVpbGQgb3VyIHNldCBvZiBUcmFjayBmcm9tIHNjcmF0Y2gKYW5kIG5vdCB1cGRh
dGUgcHJldmlvdXNseSBleHBvc2VkIHRyYWNrcy4KCkluIHRoZSBlbmQsIHRoaXMgc2ltcGxpZmll
cyB0aGUgY29kZSBhcyB3ZSBkbyBub3QgY2FyZSBhYm91dCB3aGF0CnRyYWNrcyBleGlzdGVkIHBy
ZXZpb3VzbHksIHdlIGp1c3QgbmVlZCB0byBleHBvc2Ugd2hhdCBHU3RyZWFtZXIgdGVsbHMKdXMs
IGRlbGV0aW5nIGFueSBwcmV2aW91cyBzdGF0ZS4KCkhhbmRsZSB0aGUgU1RSRUFNX0NPTExFQ1RJ
T04gbWVzc2FnZSBmcm9tIHRoZSBzeW5jIGhhbmRsZXIgc28gdGhhdCB0cmFja3MKYXJlIHVwZGF0
ZWQgYmVmb3JlIHdlIG1hcmsgdGhlIHBpcGVsaW5lIGFzIFJFQURZIGZvciB0aGUgbGl2ZSBjYXNl
IChldmVyeXRoaW5nCmhhcHBlbiBzeW5jaHJvbm91c2x5IHdpdGggdGhlIGNhbGwgdG8gdGhlIGBs
b2FkKClgIG1ldGhvZCBpbiB0aGF0IGNhc2UpLApzdGlsbCB0aGUgdXBkYXRlIGhhcHBlbnMgb24g
dGhlIG1haW4gdGhyZWFkLgoKaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE4NDU4OAotLS0KIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAg
ICB8ICAzMSArKysrKwogLi4uL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIu
Y3BwIHwgMTMxICsrKysrKysrKy0tLS0tLS0tLQogLi4uL2dzdHJlYW1lci9NZWRpYVBsYXllclBy
aXZhdGVHU3RyZWFtZXIuaCAgIHwgICAzICsKIDMgZmlsZXMgY2hhbmdlZCwgOTYgaW5zZXJ0aW9u
cygrKSwgNjkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDVhZWEyZGQzMjk2Li5hNmQ4YjMw
ODc5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDE4LTA0LTEzICBUaGliYXVsdCBT
YXVuaWVyICA8dHNhdW5pZXJAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1N0cmVhbWVyXSBGaXgg
dGhlIHdheSBHc3RTdHJlYW1Db2xsZWN0aW9uIGlzIGhhbmRsZWQKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NDU4OAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBzdHJlYW0gY29sbGVjdGlvbiBtZXNz
YWdlIHJlcGxhY2VzIHRoZSBjb2xsZWN0aW9uIG9mIHN0cmVhbSBwcmV2aW91c2x5CisgICAgICAg
IGFkdmVydGlzZWQsIHRoaXMgbWVhbnMgdGhhdCB3ZSBzaG91bGQgcmVidWlsZCBvdXIgc2V0IG9m
IFRyYWNrIGZyb20gc2NyYXRjaAorICAgICAgICBhbmQgbm90IHVwZGF0ZSBwcmV2aW91c2x5IGV4
cG9zZWQgdHJhY2tzLgorCisgICAgICAgIEluIHRoZSBlbmQsIHRoaXMgc2ltcGxpZmllcyB0aGUg
Y29kZSBhcyB3ZSBkbyBub3QgY2FyZSBhYm91dCB3aGF0CisgICAgICAgIHRyYWNrcyBleGlzdGVk
IHByZXZpb3VzbHksIHdlIGp1c3QgbmVlZCB0byBleHBvc2Ugd2hhdCBHU3RyZWFtZXIgdGVsbHMK
KyAgICAgICAgdXMsIGRlbGV0aW5nIGFueSBwcmV2aW91cyBzdGF0ZS4KKworICAgICAgICBIYW5k
bGUgdGhlIFNUUkVBTV9DT0xMRUNUSU9OIG1lc3NhZ2UgZnJvbSB0aGUgc3luYyBoYW5kbGVyIHNv
IHRoYXQgdHJhY2tzCisgICAgICAgIGFyZSB1cGRhdGVkIGJlZm9yZSB3ZSBtYXJrIHRoZSBwaXBl
bGluZSBhcyBSRUFEWSBmb3IgdGhlIGxpdmUgY2FzZSAoZXZlcnl0aGluZworICAgICAgICBoYXBw
ZW4gc3luY2hyb25vdXNseSB3aXRoIHRoZSBjYWxsIHRvIHRoZSBgbG9hZCgpYCBtZXRob2QgaW4g
dGhhdCBjYXNlKSwKKyAgICAgICAgc3RpbGwgdGhlIHVwZGF0ZSBoYXBwZW5zIG9uIHRoZSBtYWlu
IHRocmVhZC4KKworICAgICAgICBObyBuZXcgdGVzdHMgaXMgYWRkZWQgYXMgdGhpcyBpcyBtb3N0
bHkgcmVmYWN0b3JpbmcsIGl0IGlzIGFscmVhZHkgdGVzdGVkIGFuZCBpdAorICAgICAgICB3aWxs
IGZpeCBNZWRpYVN0cmVhbSB0ZXN0cyB0aGF0IGFyZSBjdXJyZW50bHkgZGlzYWJsZWQgYXMgdGhl
IHN1cHBvcnQgaXMgYmVpbmcKKyAgICAgICAgaW1wbGVtZW50ZWQuCisKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6Y2xlYXJUcmFj
a3MpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjp1cGRh
dGVUcmFja3MpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVy
OjpoYW5kbGVNZXNzYWdlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdT
dHJlYW1lcjo6aGFuZGxlU3luY01lc3NhZ2UpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuaDoKKwogMjAxOC0wNS0wOSAg
VGhpYmF1bHQgU2F1bmllciAgPHRzYXVuaWVyQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dTdHJl
YW1lcl0gRml4IHN0eWxlIGlzc3VlIGluIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlh
UGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAppbmRleCAyZDE5
OWI4ZWRhOC4uMTU1ZWY2NGUwNTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclBy
aXZhdGVHU3RyZWFtZXIuY3BwCkBAIC02MjIsNzUgKzYyMiw2NiBAQCBib29sIE1lZGlhUGxheWVy
UHJpdmF0ZUdTdHJlYW1lcjo6c2Vla2luZygpIGNvbnN0CiB9CiAKICNpZiBHU1RfQ0hFQ0tfVkVS
U0lPTigxLCAxMCwgMCkKKyNkZWZpbmUgQ0xFQVJfVFJBQ0tTKHRyYWNrcywgbWV0aG9kKSBcCisg
ICAgZm9yIChhdXRvJiB0cmFjayA6IHRyYWNrcy52YWx1ZXMoKSlcCisgICAgICAgIG1ldGhvZCgq
dHJhY2spO1wKKyAgICB0cmFja3MuY2xlYXIoKTsKKwordm9pZCBNZWRpYVBsYXllclByaXZhdGVH
U3RyZWFtZXI6OmNsZWFyVHJhY2tzKCkKK3sKKyNpZiBFTkFCTEUoVklERU9fVFJBQ0spCisgICAg
Q0xFQVJfVFJBQ0tTKG1fYXVkaW9UcmFja3MsIG1fcGxheWVyLT5yZW1vdmVBdWRpb1RyYWNrKTsK
KyAgICBDTEVBUl9UUkFDS1MobV92aWRlb1RyYWNrcywgbV9wbGF5ZXItPnJlbW92ZVZpZGVvVHJh
Y2spOworICAgIENMRUFSX1RSQUNLUyhtX3RleHRUcmFja3MsIG1fcGxheWVyLT5yZW1vdmVUZXh0
VHJhY2spOworI2VuZGlmIC8vIEVOQUJMRShWSURFT19UUkFDSykKK30KKyN1bmRlZiBDTEVBUl9U
UkFDS1MKKworI2lmIEVOQUJMRShWSURFT19UUkFDSykKKyNkZWZpbmUgQ1JFQVRFX1RSQUNLKHR5
cGUsIFR5cGUpIFwKKyAgICBtX2hhcyMjVHlwZSA9IHRydWU7IFwKKyAgICBpZiAoIXVzZU1lZGlh
U291cmNlKSB7XAorICAgICAgICBSZWZQdHI8VHlwZSMjVHJhY2tQcml2YXRlR1N0cmVhbWVyPiB0
cmFjayA9IFR5cGUjI1RyYWNrUHJpdmF0ZUdTdHJlYW1lcjo6Y3JlYXRlKGNyZWF0ZVdlYWtQdHIo
KSwgaSwgc3RyZWFtKTsgXAorICAgICAgICBtXyMjdHlwZSMjVHJhY2tzLmFkZCh0cmFjay0+aWQo
KSwgdHJhY2spOyBcCisgICAgICAgIG1fcGxheWVyLT5hZGQjI1R5cGUjI1RyYWNrKCp0cmFjayk7
XAorICAgICAgICBpZiAoZ3N0X3N0cmVhbV9nZXRfc3RyZWFtX2ZsYWdzKHN0cmVhbS5nZXQoKSkg
JiBHU1RfU1RSRUFNX0ZMQUdfU0VMRUNUKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgXAorICAgICAgICAgICAgbV9jdXJyZW50IyNUeXBlIyNTdHJlYW1JZCA9IFN0cmluZyhn
c3Rfc3RyZWFtX2dldF9zdHJlYW1faWQoc3RyZWFtLmdldCgpKSk7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgXAorICAgICAgICB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXAorICAgIH0KKyNlbHNlCisjZGVmaW5lIENSRUFURV9UUkFDSyh0
eXBlLCBfaWQsIHRyYWNrcywgbWV0aG9kLCBzdHJlYW0pIG1faGFzIyNUeXBlIyMgPSB0cnVlOwor
I2VuZGlmIC8vIEVOQUJMRShWSURFT19UUkFDSykKKwogdm9pZCBNZWRpYVBsYXllclByaXZhdGVH
U3RyZWFtZXI6OnVwZGF0ZVRyYWNrcygpCiB7CiAgICAgQVNTRVJUKCFtX2lzTGVnYWN5UGxheWJp
bik7Ci0KICAgICBib29sIHVzZU1lZGlhU291cmNlID0gaXNNZWRpYVNvdXJjZSgpOwogICAgIHVu
c2lnbmVkIGxlbmd0aCA9IGdzdF9zdHJlYW1fY29sbGVjdGlvbl9nZXRfc2l6ZShtX3N0cmVhbUNv
bGxlY3Rpb24uZ2V0KCkpOwotICAgIFZlY3RvcjxTdHJpbmc+IHZhbGlkQXVkaW9TdHJlYW1zOwot
ICAgIFZlY3RvcjxTdHJpbmc+IHZhbGlkVmlkZW9TdHJlYW1zOwotICAgIFZlY3RvcjxTdHJpbmc+
IHZhbGlkVGV4dFN0cmVhbXM7CisKKyAgICBib29sIG9sZEhhc0F1ZGlvID0gbV9oYXNBdWRpbzsK
KyAgICBib29sIG9sZEhhc1ZpZGVvID0gbV9oYXNWaWRlbzsKKyAgICAvLyBOZXcgc3RyZWFtIGNv
bGxlY3Rpb25zIG92ZXJyaWRlIHByZXZpb3VzIG9uZXMuCisgICAgY2xlYXJUcmFja3MoKTsKICAg
ICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHsKICAgICAgICAgR1JlZlB0
cjxHc3RTdHJlYW0+IHN0cmVhbSA9IGdzdF9zdHJlYW1fY29sbGVjdGlvbl9nZXRfc3RyZWFtKG1f
c3RyZWFtQ29sbGVjdGlvbi5nZXQoKSwgaSk7CiAgICAgICAgIFN0cmluZyBzdHJlYW1JZChnc3Rf
c3RyZWFtX2dldF9zdHJlYW1faWQoc3RyZWFtLmdldCgpKSk7CiAgICAgICAgIEdzdFN0cmVhbVR5
cGUgdHlwZSA9IGdzdF9zdHJlYW1fZ2V0X3N0cmVhbV90eXBlKHN0cmVhbS5nZXQoKSk7Ci0gICAg
ICAgIEdTVF9ERUJVRygiSW5zcGVjdGluZyAlcyB0cmFjayB3aXRoIElEICVzIiwgZ3N0X3N0cmVh
bV90eXBlX2dldF9uYW1lKHR5cGUpLCBzdHJlYW1JZC51dGY4KCkuZGF0YSgpKTsKLSAgICAgICAg
aWYgKHR5cGUgJiBHU1RfU1RSRUFNX1RZUEVfQVVESU8pIHsKLSAgICAgICAgICAgIHZhbGlkQXVk
aW9TdHJlYW1zLmFwcGVuZChzdHJlYW1JZCk7Ci0jaWYgRU5BQkxFKFZJREVPX1RSQUNLKQotICAg
ICAgICAgICAgaWYgKCF1c2VNZWRpYVNvdXJjZSkgewotICAgICAgICAgICAgICAgIHVuc2lnbmVk
IGxvY2FsSW5kZXggPSBpIC0gdmFsaWRWaWRlb1N0cmVhbXMuc2l6ZSgpIC0gdmFsaWRUZXh0U3Ry
ZWFtcy5zaXplKCk7Ci0gICAgICAgICAgICAgICAgaWYgKGxvY2FsSW5kZXggPCBtX2F1ZGlvVHJh
Y2tzLnNpemUoKSkgewotICAgICAgICAgICAgICAgICAgICBpZiAobV9hdWRpb1RyYWNrcy5jb250
YWlucyhzdHJlYW1JZCkpCi0gICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAg
ICAgICAgICAgICB9CiAKLSAgICAgICAgICAgICAgICBSZWZQdHI8QXVkaW9UcmFja1ByaXZhdGVH
U3RyZWFtZXI+IHRyYWNrID0gQXVkaW9UcmFja1ByaXZhdGVHU3RyZWFtZXI6OmNyZWF0ZShjcmVh
dGVXZWFrUHRyKCksIGksIHN0cmVhbSk7Ci0gICAgICAgICAgICAgICAgbV9hdWRpb1RyYWNrcy5h
ZGQodHJhY2stPmlkKCksIHRyYWNrKTsKLSAgICAgICAgICAgICAgICBtX3BsYXllci0+YWRkQXVk
aW9UcmFjaygqdHJhY2spOwotICAgICAgICAgICAgfQotI2VuZGlmCisgICAgICAgIEdTVF9ERUJV
R19PQkpFQ1QocGlwZWxpbmUoKSwgIkluc3BlY3RpbmcgJXMgdHJhY2sgd2l0aCBJRCAlcyIsIGdz
dF9zdHJlYW1fdHlwZV9nZXRfbmFtZSh0eXBlKSwgc3RyZWFtSWQudXRmOCgpLmRhdGEoKSk7Cisg
ICAgICAgIGlmICh0eXBlICYgR1NUX1NUUkVBTV9UWVBFX0FVRElPKSB7CisgICAgICAgICAgICBD
UkVBVEVfVFJBQ0soYXVkaW8sIEF1ZGlvKQogICAgICAgICB9IGVsc2UgaWYgKHR5cGUgJiBHU1Rf
U1RSRUFNX1RZUEVfVklERU8pIHsKLSAgICAgICAgICAgIHZhbGlkVmlkZW9TdHJlYW1zLmFwcGVu
ZChzdHJlYW1JZCk7CisgICAgICAgICAgICBDUkVBVEVfVFJBQ0sodmlkZW8sIFZpZGVvKQorICAg
ICAgICB9IGVsc2UgaWYgKHR5cGUgJiBHU1RfU1RSRUFNX1RZUEVfVEVYVCAmJiAhdXNlTWVkaWFT
b3VyY2UpIHsKICNpZiBFTkFCTEUoVklERU9fVFJBQ0spCi0gICAgICAgICAgICBpZiAoIXVzZU1l
ZGlhU291cmNlKSB7Ci0gICAgICAgICAgICAgICAgdW5zaWduZWQgbG9jYWxJbmRleCA9IGkgLSB2
YWxpZEF1ZGlvU3RyZWFtcy5zaXplKCkgLSB2YWxpZFRleHRTdHJlYW1zLnNpemUoKTsKLSAgICAg
ICAgICAgICAgICBpZiAobG9jYWxJbmRleCA8IG1fdmlkZW9UcmFja3Muc2l6ZSgpKSB7Ci0gICAg
ICAgICAgICAgICAgICAgIGlmIChtX3ZpZGVvVHJhY2tzLmNvbnRhaW5zKHN0cmVhbUlkKSkKLSAg
ICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgICAgIH0KLQotICAg
ICAgICAgICAgICAgIFJlZlB0cjxWaWRlb1RyYWNrUHJpdmF0ZUdTdHJlYW1lcj4gdHJhY2sgPSBW
aWRlb1RyYWNrUHJpdmF0ZUdTdHJlYW1lcjo6Y3JlYXRlKGNyZWF0ZVdlYWtQdHIoKSwgaSwgc3Ry
ZWFtKTsKLSAgICAgICAgICAgICAgICBtX3ZpZGVvVHJhY2tzLmFkZCh0cmFjay0+aWQoKSwgdHJh
Y2spOwotICAgICAgICAgICAgICAgIG1fcGxheWVyLT5hZGRWaWRlb1RyYWNrKCp0cmFjayk7Ci0g
ICAgICAgICAgICB9Ci0jZW5kaWYKLSAgICAgICAgfSBlbHNlIGlmICh0eXBlICYgR1NUX1NUUkVB
TV9UWVBFX1RFWFQpIHsKLSAgICAgICAgICAgIHZhbGlkVGV4dFN0cmVhbXMuYXBwZW5kKHN0cmVh
bUlkKTsKLSNpZiBFTkFCTEUoVklERU9fVFJBQ0spCi0gICAgICAgICAgICBpZiAoIXVzZU1lZGlh
U291cmNlKSB7Ci0gICAgICAgICAgICAgICAgdW5zaWduZWQgbG9jYWxJbmRleCA9IGkgLSB2YWxp
ZFZpZGVvU3RyZWFtcy5zaXplKCkgLSB2YWxpZEF1ZGlvU3RyZWFtcy5zaXplKCk7Ci0gICAgICAg
ICAgICAgICAgaWYgKGxvY2FsSW5kZXggPCBtX3RleHRUcmFja3Muc2l6ZSgpKSB7Ci0gICAgICAg
ICAgICAgICAgICAgIGlmIChtX3RleHRUcmFja3MuY29udGFpbnMoc3RyZWFtSWQpKQotICAgICAg
ICAgICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICAgICAgfQotCi0gICAgICAg
ICAgICAgICAgUmVmUHRyPEluYmFuZFRleHRUcmFja1ByaXZhdGVHU3RyZWFtZXI+IHRyYWNrID0g
SW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUdTdHJlYW1lcjo6Y3JlYXRlKGxvY2FsSW5kZXgsIHN0cmVh
bSk7CisgICAgICAgICAgICAgICAgUmVmUHRyPEluYmFuZFRleHRUcmFja1ByaXZhdGVHU3RyZWFt
ZXI+IHRyYWNrID0gSW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUdTdHJlYW1lcjo6Y3JlYXRlKGksIHN0
cmVhbSk7CiAgICAgICAgICAgICAgICAgbV90ZXh0VHJhY2tzLmFkZChzdHJlYW1JZCwgdHJhY2sp
OwogICAgICAgICAgICAgICAgIG1fcGxheWVyLT5hZGRUZXh0VHJhY2soKnRyYWNrKTsKLSAgICAg
ICAgICAgIH0KICNlbmRpZgogICAgICAgICB9IGVsc2UKICAgICAgICAgICAgIEdTVF9XQVJOSU5H
KCJVbmtub3duIHRyYWNrIHR5cGUgZm91bmQgZm9yIHN0cmVhbSAlcyIsIHN0cmVhbUlkLnV0Zjgo
KS5kYXRhKCkpOwogICAgIH0KIAotICAgIEdTVF9JTkZPKCJNZWRpYSBoYXMgJXUgdmlkZW8gdHJh
Y2tzLCAldSBhdWRpbyB0cmFja3MgYW5kICV1IHRleHQgdHJhY2tzIiwgdmFsaWRWaWRlb1N0cmVh
bXMuc2l6ZSgpLCB2YWxpZEF1ZGlvU3RyZWFtcy5zaXplKCksIHZhbGlkVGV4dFN0cmVhbXMuc2l6
ZSgpKTsKLQotICAgIGJvb2wgb2xkSGFzQXVkaW8gPSBtX2hhc0F1ZGlvOwotICAgIGJvb2wgb2xk
SGFzVmlkZW8gPSBtX2hhc1ZpZGVvOwotICAgIG1faGFzQXVkaW8gPSAhdmFsaWRBdWRpb1N0cmVh
bXMuaXNFbXB0eSgpOwotICAgIG1faGFzVmlkZW8gPSAhdmFsaWRWaWRlb1N0cmVhbXMuaXNFbXB0
eSgpOwogICAgIGlmICgob2xkSGFzVmlkZW8gIT0gbV9oYXNWaWRlbykgfHwgKG9sZEhhc0F1ZGlv
ICE9IG1faGFzQXVkaW8pKQogICAgICAgICBtX3BsYXllci0+Y2hhcmFjdGVyaXN0aWNDaGFuZ2Vk
KCk7CiAKQEAgLTcwMywxNSArNjk0LDEwIEBAIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVh
bWVyOjp1cGRhdGVUcmFja3MoKQogICAgICAgICByZXR1cm47CiAgICAgfQogCi0jaWYgRU5BQkxF
KFZJREVPX1RSQUNLKQotICAgIHB1cmdlSW52YWxpZEF1ZGlvVHJhY2tzKHZhbGlkQXVkaW9TdHJl
YW1zKTsKLSAgICBwdXJnZUludmFsaWRWaWRlb1RyYWNrcyh2YWxpZFZpZGVvU3RyZWFtcyk7Ci0g
ICAgcHVyZ2VJbnZhbGlkVGV4dFRyYWNrcyh2YWxpZFRleHRTdHJlYW1zKTsKLSNlbmRpZgotCiAg
ICAgbV9wbGF5ZXItPmNsaWVudCgpLm1lZGlhUGxheWVyRW5naW5lVXBkYXRlZChtX3BsYXllcik7
CiB9Ci0jZW5kaWYKKyN1bmRlZiBDTEVBUl9UUkFDS1MKKyNlbmRpZiAvLyBHU1RfQ0hFQ0tfVkVS
U0lPTigxLCAxMCwgMCkKIAogdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OmVuYWJs
ZVRyYWNrKFRyYWNrUHJpdmF0ZUJhc2VHU3RyZWFtZXI6OlRyYWNrVHlwZSB0cmFja1R5cGUsIHVu
c2lnbmVkIGluZGV4KQogewpAQCAtMTI5NCwxOCArMTI4MCw2IEBAIHZvaWQgTWVkaWFQbGF5ZXJQ
cml2YXRlR1N0cmVhbWVyOjpoYW5kbGVNZXNzYWdlKEdzdE1lc3NhZ2UqIG1lc3NhZ2UpCiAgICAg
ICAgIGJyZWFrOwogICAgIH0KICNpZiBHU1RfQ0hFQ0tfVkVSU0lPTigxLCAxMCwgMCkKLSAgICBj
YXNlIEdTVF9NRVNTQUdFX1NUUkVBTV9DT0xMRUNUSU9OOiB7Ci0gICAgICAgIEdSZWZQdHI8R3N0
U3RyZWFtQ29sbGVjdGlvbj4gY29sbGVjdGlvbjsKLSAgICAgICAgZ3N0X21lc3NhZ2VfcGFyc2Vf
c3RyZWFtX2NvbGxlY3Rpb24obWVzc2FnZSwgJmNvbGxlY3Rpb24ub3V0UHRyKCkpOwotCi0gICAg
ICAgIGlmIChjb2xsZWN0aW9uKSB7Ci0gICAgICAgICAgICBtX3N0cmVhbUNvbGxlY3Rpb24uc3dh
cChjb2xsZWN0aW9uKTsKLSAgICAgICAgICAgIG1fbm90aWZpZXItPm5vdGlmeShNYWluVGhyZWFk
Tm90aWZpY2F0aW9uOjpTdHJlYW1Db2xsZWN0aW9uQ2hhbmdlZCwgW3RoaXNdIHsKLSAgICAgICAg
ICAgICAgICB0aGlzLT51cGRhdGVUcmFja3MoKTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9
Ci0gICAgICAgIGJyZWFrOwotICAgIH0KICAgICBjYXNlIEdTVF9NRVNTQUdFX1NUUkVBTVNfU0VM
RUNURUQ6IHsKICAgICAgICAgR1JlZlB0cjxHc3RTdHJlYW1Db2xsZWN0aW9uPiBjb2xsZWN0aW9u
OwogICAgICAgICBnc3RfbWVzc2FnZV9wYXJzZV9zdHJlYW1zX3NlbGVjdGVkKG1lc3NhZ2UsICZj
b2xsZWN0aW9uLm91dFB0cigpKTsKQEAgLTE5NzMsNiArMTk0NywyNSBAQCB2b2lkIE1lZGlhUGxh
eWVyUHJpdmF0ZUdTdHJlYW1lcjo6dXBkYXRlU3RhdGVzKCkKICAgICB9CiB9CiAKK2Jvb2wgTWVk
aWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpoYW5kbGVTeW5jTWVzc2FnZShHc3RNZXNzYWdlKiBt
ZXNzYWdlKQoreworI2lmIEdTVF9DSEVDS19WRVJTSU9OKDEsIDEwLCAwKQorICAgIGlmIChHU1Rf
TUVTU0FHRV9UWVBFKG1lc3NhZ2UpID09IEdTVF9NRVNTQUdFX1NUUkVBTV9DT0xMRUNUSU9OKSB7
CisgICAgICAgIEdSZWZQdHI8R3N0U3RyZWFtQ29sbGVjdGlvbj4gY29sbGVjdGlvbjsKKyAgICAg
ICAgZ3N0X21lc3NhZ2VfcGFyc2Vfc3RyZWFtX2NvbGxlY3Rpb24obWVzc2FnZSwgJmNvbGxlY3Rp
b24ub3V0UHRyKCkpOworCisgICAgICAgIGlmIChjb2xsZWN0aW9uKSB7CisgICAgICAgICAgICBt
X3N0cmVhbUNvbGxlY3Rpb24uc3dhcChjb2xsZWN0aW9uKTsKKyAgICAgICAgICAgIG1fbm90aWZp
ZXItPm5vdGlmeShNYWluVGhyZWFkTm90aWZpY2F0aW9uOjpTdHJlYW1Db2xsZWN0aW9uQ2hhbmdl
ZCwgW3RoaXNdIHsKKyAgICAgICAgICAgICAgICB0aGlzLT51cGRhdGVUcmFja3MoKTsKKyAgICAg
ICAgICAgIH0pOworICAgICAgICB9CisgICAgfQorI2VuZGlmCisKKyAgICByZXR1cm4gTWVkaWFQ
bGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6aGFuZGxlU3luY01lc3NhZ2UobWVzc2FnZSk7Cit9
CisKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjptZWRpYUxvY2F0aW9uQ2hhbmdl
ZChHc3RNZXNzYWdlKiBtZXNzYWdlKQogewogICAgIGlmIChtX21lZGlhTG9jYXRpb25zKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlh
UGxheWVyUHJpdmF0ZUdTdHJlYW1lci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5oCmluZGV4IGI3ODA0NjE0
OGQ5Li4xYWU0YTU0YmFlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVH
U3RyZWFtZXIuaApAQCAtMTMzLDYgKzEzMyw4IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgZW5hYmxl
VHJhY2soVHJhY2tQcml2YXRlQmFzZUdTdHJlYW1lcjo6VHJhY2tUeXBlLCB1bnNpZ25lZCBpbmRl
eCk7CiAKKyAgICBib29sIGhhbmRsZVN5bmNNZXNzYWdlKEdzdE1lc3NhZ2UqKSBvdmVycmlkZTsK
KwogcHJpdmF0ZToKICAgICBzdGF0aWMgdm9pZCBnZXRTdXBwb3J0ZWRUeXBlcyhIYXNoU2V0PFN0
cmluZywgQVNDSUlDYXNlSW5zZW5zaXRpdmVIYXNoPiYpOwogICAgIHN0YXRpYyBNZWRpYVBsYXll
cjo6U3VwcG9ydHNUeXBlIHN1cHBvcnRzVHlwZShjb25zdCBNZWRpYUVuZ2luZVN1cHBvcnRQYXJh
bWV0ZXJzJik7CkBAIC0xODAsNiArMTgyLDcgQEAgcHJpdmF0ZToKIAogI2lmIEdTVF9DSEVDS19W
RVJTSU9OKDEsIDEwLCAwKQogICAgIHZvaWQgdXBkYXRlVHJhY2tzKCk7CisgICAgdm9pZCBjbGVh
clRyYWNrcygpOwogI2VuZGlmCiAKIHByb3RlY3RlZDoKLS0gCjIuMTcuMA==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>341757</attachid>
            <date>2018-06-01 06:50:49 -0700</date>
            <delta_ts>2018-06-07 02:07:51 -0700</delta_ts>
            <desc>Rebased version of the patch taking into account previous comments and fixing little details</desc>
            <filename>GStreamer-Fix-the-way-GstStreamCollection-is-handl.patch</filename>
            <type>text/plain</type>
            <size>11997</size>
            <attacher name="Thibault Saunier">tsaunier</attacher>
            
              <data encoding="base64">RnJvbSBkMDlmYmZjNTc5MDk4MDgyNWZjMDRjM2E4MDFkNzUzMjgzZWE4NDMzIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBpZ2FsaWEuY29t
PgpEYXRlOiBUaHUsIDEyIEFwciAyMDE4IDEwOjI0OjI4IC0wMzAwClN1YmplY3Q6IFtQQVRDSCB4
c2VydmVyXSBbR1N0cmVhbWVyXSBGaXggdGhlIHdheSBHc3RTdHJlYW1Db2xsZWN0aW9uIGlzCiBo
YW5kbGVkCgpUaGUgc3RyZWFtIGNvbGxlY3Rpb24gbWVzc2FnZSByZXBsYWNlcyB0aGUgY29sbGVj
dGlvbiBvZiBzdHJlYW0gcHJldmlvdXNseQphZHZlcnRpc2VkLCB0aGlzIG1lYW5zIHRoYXQgd2Ug
c2hvdWxkIHJlYnVpbGQgb3VyIHNldCBvZiBUcmFjayBmcm9tIHNjcmF0Y2gKYW5kIG5vdCB1cGRh
dGUgcHJldmlvdXNseSBleHBvc2VkIHRyYWNrcy4KCkluIHRoZSBlbmQsIHRoaXMgc2ltcGxpZmll
cyB0aGUgY29kZSBhcyB3ZSBkbyBub3QgY2FyZSBhYm91dCB3aGF0CnRyYWNrcyBleGlzdGVkIHBy
ZXZpb3VzbHksIHdlIGp1c3QgbmVlZCB0byBleHBvc2Ugd2hhdCBHU3RyZWFtZXIgdGVsbHMKdXMs
IGRlbGV0aW5nIGFueSBwcmV2aW91cyBzdGF0ZS4KCkhhbmRsZSB0aGUgU1RSRUFNX0NPTExFQ1RJ
T04gbWVzc2FnZSBmcm9tIHRoZSBzeW5jIGhhbmRsZXIgc28gdGhhdCB0cmFja3MKYXJlIHVwZGF0
ZWQgYmVmb3JlIHdlIG1hcmsgdGhlIHBpcGVsaW5lIGFzIFJFQURZIGZvciB0aGUgbGl2ZSBjYXNl
IChldmVyeXRoaW5nCmhhcHBlbiBzeW5jaHJvbm91c2x5IHdpdGggdGhlIGNhbGwgdG8gdGhlIGBs
b2FkKClgIG1ldGhvZCBpbiB0aGF0IGNhc2UpLApzdGlsbCB0aGUgdXBkYXRlIGhhcHBlbnMgb24g
dGhlIG1haW4gdGhyZWFkLgoKaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE4NDU4OAotLS0KIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAg
ICB8ICAzMSArKysrCiAuLi4vZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5j
cHAgfCAxMzcgKysrKysrKystLS0tLS0tLS0tCiAuLi4vZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJp
dmF0ZUdTdHJlYW1lci5oICAgfCAgIDMgKwogMyBmaWxlcyBjaGFuZ2VkLCA5OCBpbnNlcnRpb25z
KCspLCA3MyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWZhMGQwMzQyNjAuLjM3YTdjM2Ni
Nzg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzQgQEAKKzIwMTgtMDQtMTMgIFRoaWJhdWx0IFNh
dW5pZXIgIDx0c2F1bmllckBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHU3RyZWFtZXJdIEZpeCB0
aGUgd2F5IEdzdFN0cmVhbUNvbGxlY3Rpb24gaXMgaGFuZGxlZAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg0NTg4CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIHN0cmVhbSBjb2xsZWN0aW9uIG1lc3Nh
Z2UgcmVwbGFjZXMgdGhlIGNvbGxlY3Rpb24gb2Ygc3RyZWFtIHByZXZpb3VzbHkKKyAgICAgICAg
YWR2ZXJ0aXNlZCwgdGhpcyBtZWFucyB0aGF0IHdlIHNob3VsZCByZWJ1aWxkIG91ciBzZXQgb2Yg
VHJhY2sgZnJvbSBzY3JhdGNoCisgICAgICAgIGFuZCBub3QgdXBkYXRlIHByZXZpb3VzbHkgZXhw
b3NlZCB0cmFja3MuCisKKyAgICAgICAgSW4gdGhlIGVuZCwgdGhpcyBzaW1wbGlmaWVzIHRoZSBj
b2RlIGFzIHdlIGRvIG5vdCBjYXJlIGFib3V0IHdoYXQKKyAgICAgICAgdHJhY2tzIGV4aXN0ZWQg
cHJldmlvdXNseSwgd2UganVzdCBuZWVkIHRvIGV4cG9zZSB3aGF0IEdTdHJlYW1lciB0ZWxscwor
ICAgICAgICB1cywgZGVsZXRpbmcgYW55IHByZXZpb3VzIHN0YXRlLgorCisgICAgICAgIEhhbmRs
ZSB0aGUgU1RSRUFNX0NPTExFQ1RJT04gbWVzc2FnZSBmcm9tIHRoZSBzeW5jIGhhbmRsZXIgc28g
dGhhdCB0cmFja3MKKyAgICAgICAgYXJlIHVwZGF0ZWQgYmVmb3JlIHdlIG1hcmsgdGhlIHBpcGVs
aW5lIGFzIFJFQURZIGZvciB0aGUgbGl2ZSBjYXNlIChldmVyeXRoaW5nCisgICAgICAgIGhhcHBl
biBzeW5jaHJvbm91c2x5IHdpdGggdGhlIGNhbGwgdG8gdGhlIGBsb2FkKClgIG1ldGhvZCBpbiB0
aGF0IGNhc2UpLAorICAgICAgICB0aGUgdXBkYXRlIHN0aWxsIGFsd2F5cyBoYXBwZW5zIG9uIHRo
ZSBtYWluIHRocmVhZC4KKworICAgICAgICBObyBuZXcgdGVzdHMgaXMgYWRkZWQgYXMgdGhpcyBp
cyBtb3N0bHkgcmVmYWN0b3JpbmcsIGl0IGlzIGFscmVhZHkgdGVzdGVkIGFuZCBpdAorICAgICAg
ICB3aWxsIGZpeCBNZWRpYVN0cmVhbSB0ZXN0cyB0aGF0IGFyZSBjdXJyZW50bHkgZGlzYWJsZWQg
YXMgdGhlIHN1cHBvcnQgaXMgYmVpbmcKKyAgICAgICAgaW1wbGVtZW50ZWQgaW4gIzE4NTc4Ny4K
KworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZh
dGVHU3RyZWFtZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0
cmVhbWVyOjpjbGVhclRyYWNrcyk6IFJlbW92ZXMgYWxsIHRyYWNrcy4KKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6dXBkYXRlVHJhY2tzKTogVXBkYXRlcyBj
b25maWd1cmVkIHRyYWNrcyBmcm9tIHRoZSBuZXcgR3N0U3RyZWFtQ29sZWN0aW9uIHRyYWNrLgor
ICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpoYW5kbGVNZXNz
YWdlKTogU3RvcCBoYW5kbGluZyBHU1RfU1RSRUFNX0NPTExFQ1RJT04gZXZlbnQuCisgICAgICAg
IChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OmhhbmRsZVN5bmNNZXNzYWdl
KTogSGFuZGxlIHN0cmVhbSBjb2xsZWN0aW9uIGV2ZW50IHN5bmNocm9ub3VzbHkuCisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1l
ci5oOiBBZGQgaGFuZGxlU3luY01lc3NhZ2UKKwogMjAxOC0wNi0wMSAgQ2FybG9zIEVkdWFyZG8g
UmFtYWxobyAgPGNhZHViZW50emVuQGdtYWlsLmNvbT4KIAogICAgICAgICBbR1RLXSBEaWZmaWN1
bHQgdG8gcmVhZCBjb21ibyBib3ggdGV4dCBpbiBkYXJrIHRoZW1lCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRl
R1N0cmVhbWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1l
ci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwCmluZGV4IDMyNzk2ZWRmMGUwLi4wZWI3
Y2U3MzJiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0
cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1l
ci5jcHAKQEAgLTYyMiw3NSArNjIyLDY3IEBAIGJvb2wgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVh
bWVyOjpzZWVraW5nKCkgY29uc3QKIH0KIAogI2lmIEdTVF9DSEVDS19WRVJTSU9OKDEsIDEwLCAw
KQorI2RlZmluZSBDTEVBUl9UUkFDS1ModHJhY2tzLCBtZXRob2QpIFwKKyAgICBmb3IgKGF1dG8m
IHRyYWNrIDogdHJhY2tzLnZhbHVlcygpKVwKKyAgICAgICAgbWV0aG9kKCp0cmFjayk7XAorICAg
IHRyYWNrcy5jbGVhcigpOworCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6Y2xl
YXJUcmFja3MoKQoreworI2lmIEVOQUJMRShWSURFT19UUkFDSykKKyAgICBDTEVBUl9UUkFDS1Mo
bV9hdWRpb1RyYWNrcywgbV9wbGF5ZXItPnJlbW92ZUF1ZGlvVHJhY2spOworICAgIENMRUFSX1RS
QUNLUyhtX3ZpZGVvVHJhY2tzLCBtX3BsYXllci0+cmVtb3ZlVmlkZW9UcmFjayk7CisgICAgQ0xF
QVJfVFJBQ0tTKG1fdGV4dFRyYWNrcywgbV9wbGF5ZXItPnJlbW92ZVRleHRUcmFjayk7CisjZW5k
aWYgLy8gRU5BQkxFKFZJREVPX1RSQUNLKQorfQorI3VuZGVmIENMRUFSX1RSQUNLUworCisjaWYg
RU5BQkxFKFZJREVPX1RSQUNLKQorI2RlZmluZSBDUkVBVEVfVFJBQ0sodHlwZSwgVHlwZSkgXAor
ICAgIG1faGFzIyNUeXBlID0gdHJ1ZTsgXAorICAgIGlmICghdXNlTWVkaWFTb3VyY2UpIHtcCisg
ICAgICAgIFJlZlB0cjxUeXBlIyNUcmFja1ByaXZhdGVHU3RyZWFtZXI+IHRyYWNrID0gVHlwZSMj
VHJhY2tQcml2YXRlR1N0cmVhbWVyOjpjcmVhdGUoY3JlYXRlV2Vha1B0cigpLCBpLCBzdHJlYW0p
OyBcCisgICAgICAgIG1fIyN0eXBlIyNUcmFja3MuYWRkKHRyYWNrLT5pZCgpLCB0cmFjayk7IFwK
KyAgICAgICAgbV9wbGF5ZXItPmFkZCMjVHlwZSMjVHJhY2soKnRyYWNrKTtcCisgICAgICAgIGlm
IChnc3Rfc3RyZWFtX2dldF9zdHJlYW1fZmxhZ3Moc3RyZWFtLmdldCgpKSAmIEdTVF9TVFJFQU1f
RkxBR19TRUxFQ1QpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAg
ICAgICAgICBtX2N1cnJlbnQjI1R5cGUjI1N0cmVhbUlkID0gU3RyaW5nKGdzdF9zdHJlYW1fZ2V0
X3N0cmVhbV9pZChzdHJlYW0uZ2V0KCkpKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
CisgICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCisgICAgfQorI2Vsc2UKKyNkZWZpbmUgQ1JFQVRFX1RSQUNLKHR5cGUsIF9pZCwgdHJh
Y2tzLCBtZXRob2QsIHN0cmVhbSkgbV9oYXMjI1R5cGUjIyA9IHRydWU7CisjZW5kaWYgLy8gRU5B
QkxFKFZJREVPX1RSQUNLKQorCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6dXBk
YXRlVHJhY2tzKCkKIHsKICAgICBBU1NFUlQoIW1faXNMZWdhY3lQbGF5YmluKTsKIAogICAgIGJv
b2wgdXNlTWVkaWFTb3VyY2UgPSBpc01lZGlhU291cmNlKCk7CiAgICAgdW5zaWduZWQgbGVuZ3Ro
ID0gZ3N0X3N0cmVhbV9jb2xsZWN0aW9uX2dldF9zaXplKG1fc3RyZWFtQ29sbGVjdGlvbi5nZXQo
KSk7Ci0gICAgVmVjdG9yPFN0cmluZz4gdmFsaWRBdWRpb1N0cmVhbXM7Ci0gICAgVmVjdG9yPFN0
cmluZz4gdmFsaWRWaWRlb1N0cmVhbXM7Ci0gICAgVmVjdG9yPFN0cmluZz4gdmFsaWRUZXh0U3Ry
ZWFtczsKKworICAgIGJvb2wgb2xkSGFzQXVkaW8gPSBtX2hhc0F1ZGlvOworICAgIGJvb2wgb2xk
SGFzVmlkZW8gPSBtX2hhc1ZpZGVvOworICAgIC8vIE5ldyBzdHJlYW0gY29sbGVjdGlvbnMgb3Zl
cnJpZGUgcHJldmlvdXMgb25lcy4KKyAgICBjbGVhclRyYWNrcygpOwogICAgIGZvciAodW5zaWdu
ZWQgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykgewogICAgICAgICBHUmVmUHRyPEdzdFN0cmVhbT4g
c3RyZWFtID0gZ3N0X3N0cmVhbV9jb2xsZWN0aW9uX2dldF9zdHJlYW0obV9zdHJlYW1Db2xsZWN0
aW9uLmdldCgpLCBpKTsKICAgICAgICAgU3RyaW5nIHN0cmVhbUlkKGdzdF9zdHJlYW1fZ2V0X3N0
cmVhbV9pZChzdHJlYW0uZ2V0KCkpKTsKICAgICAgICAgR3N0U3RyZWFtVHlwZSB0eXBlID0gZ3N0
X3N0cmVhbV9nZXRfc3RyZWFtX3R5cGUoc3RyZWFtLmdldCgpKTsKLSAgICAgICAgR1NUX0RFQlVH
KCJJbnNwZWN0aW5nICVzIHRyYWNrIHdpdGggSUQgJXMiLCBnc3Rfc3RyZWFtX3R5cGVfZ2V0X25h
bWUodHlwZSksIHN0cmVhbUlkLnV0ZjgoKS5kYXRhKCkpOwotICAgICAgICBpZiAodHlwZSAmIEdT
VF9TVFJFQU1fVFlQRV9BVURJTykgewotICAgICAgICAgICAgdmFsaWRBdWRpb1N0cmVhbXMuYXBw
ZW5kKHN0cmVhbUlkKTsKLSNpZiBFTkFCTEUoVklERU9fVFJBQ0spCi0gICAgICAgICAgICBpZiAo
IXVzZU1lZGlhU291cmNlKSB7Ci0gICAgICAgICAgICAgICAgdW5zaWduZWQgbG9jYWxJbmRleCA9
IGkgLSB2YWxpZFZpZGVvU3RyZWFtcy5zaXplKCkgLSB2YWxpZFRleHRTdHJlYW1zLnNpemUoKTsK
LSAgICAgICAgICAgICAgICBpZiAobG9jYWxJbmRleCA8IG1fYXVkaW9UcmFja3Muc2l6ZSgpKSB7
Ci0gICAgICAgICAgICAgICAgICAgIGlmIChtX2F1ZGlvVHJhY2tzLmNvbnRhaW5zKHN0cmVhbUlk
KSkKLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgICAgIH0K
IAotICAgICAgICAgICAgICAgIFJlZlB0cjxBdWRpb1RyYWNrUHJpdmF0ZUdTdHJlYW1lcj4gdHJh
Y2sgPSBBdWRpb1RyYWNrUHJpdmF0ZUdTdHJlYW1lcjo6Y3JlYXRlKGNyZWF0ZVdlYWtQdHIoKSwg
aSwgc3RyZWFtKTsKLSAgICAgICAgICAgICAgICBtX2F1ZGlvVHJhY2tzLmFkZCh0cmFjay0+aWQo
KSwgdHJhY2spOwotICAgICAgICAgICAgICAgIG1fcGxheWVyLT5hZGRBdWRpb1RyYWNrKCp0cmFj
ayk7Ci0gICAgICAgICAgICB9Ci0jZW5kaWYKKyAgICAgICAgR1NUX0RFQlVHX09CSkVDVChwaXBl
bGluZSgpLCAiSW5zcGVjdGluZyAlcyB0cmFjayB3aXRoIElEICVzIiwgZ3N0X3N0cmVhbV90eXBl
X2dldF9uYW1lKHR5cGUpLCBzdHJlYW1JZC51dGY4KCkuZGF0YSgpKTsKKyAgICAgICAgaWYgKHR5
cGUgJiBHU1RfU1RSRUFNX1RZUEVfQVVESU8pIHsKKyAgICAgICAgICAgIENSRUFURV9UUkFDSyhh
dWRpbywgQXVkaW8pCiAgICAgICAgIH0gZWxzZSBpZiAodHlwZSAmIEdTVF9TVFJFQU1fVFlQRV9W
SURFTykgewotICAgICAgICAgICAgdmFsaWRWaWRlb1N0cmVhbXMuYXBwZW5kKHN0cmVhbUlkKTsK
KyAgICAgICAgICAgIENSRUFURV9UUkFDSyh2aWRlbywgVmlkZW8pCisgICAgICAgIH0gZWxzZSBp
ZiAodHlwZSAmIEdTVF9TVFJFQU1fVFlQRV9URVhUICYmICF1c2VNZWRpYVNvdXJjZSkgewogI2lm
IEVOQUJMRShWSURFT19UUkFDSykKLSAgICAgICAgICAgIGlmICghdXNlTWVkaWFTb3VyY2UpIHsK
LSAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb2NhbEluZGV4ID0gaSAtIHZhbGlkQXVkaW9TdHJl
YW1zLnNpemUoKSAtIHZhbGlkVGV4dFN0cmVhbXMuc2l6ZSgpOwotICAgICAgICAgICAgICAgIGlm
IChsb2NhbEluZGV4IDwgbV92aWRlb1RyYWNrcy5zaXplKCkpIHsKLSAgICAgICAgICAgICAgICAg
ICAgaWYgKG1fdmlkZW9UcmFja3MuY29udGFpbnMoc3RyZWFtSWQpKQotICAgICAgICAgICAgICAg
ICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICAgICAgfQotCi0gICAgICAgICAgICAgICAg
UmVmUHRyPFZpZGVvVHJhY2tQcml2YXRlR1N0cmVhbWVyPiB0cmFjayA9IFZpZGVvVHJhY2tQcml2
YXRlR1N0cmVhbWVyOjpjcmVhdGUoY3JlYXRlV2Vha1B0cigpLCBpLCBzdHJlYW0pOwotICAgICAg
ICAgICAgICAgIG1fdmlkZW9UcmFja3MuYWRkKHRyYWNrLT5pZCgpLCB0cmFjayk7Ci0gICAgICAg
ICAgICAgICAgbV9wbGF5ZXItPmFkZFZpZGVvVHJhY2soKnRyYWNrKTsKLSAgICAgICAgICAgIH0K
LSNlbmRpZgotICAgICAgICB9IGVsc2UgaWYgKHR5cGUgJiBHU1RfU1RSRUFNX1RZUEVfVEVYVCkg
ewotICAgICAgICAgICAgdmFsaWRUZXh0U3RyZWFtcy5hcHBlbmQoc3RyZWFtSWQpOwotI2lmIEVO
QUJMRShWSURFT19UUkFDSykKLSAgICAgICAgICAgIGlmICghdXNlTWVkaWFTb3VyY2UpIHsKLSAg
ICAgICAgICAgICAgICB1bnNpZ25lZCBsb2NhbEluZGV4ID0gaSAtIHZhbGlkVmlkZW9TdHJlYW1z
LnNpemUoKSAtIHZhbGlkQXVkaW9TdHJlYW1zLnNpemUoKTsKLSAgICAgICAgICAgICAgICBpZiAo
bG9jYWxJbmRleCA8IG1fdGV4dFRyYWNrcy5zaXplKCkpIHsKLSAgICAgICAgICAgICAgICAgICAg
aWYgKG1fdGV4dFRyYWNrcy5jb250YWlucyhzdHJlYW1JZCkpCi0gICAgICAgICAgICAgICAgICAg
ICAgICBjb250aW51ZTsKLSAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgICAgICBSZWZQ
dHI8SW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUdTdHJlYW1lcj4gdHJhY2sgPSBJbmJhbmRUZXh0VHJh
Y2tQcml2YXRlR1N0cmVhbWVyOjpjcmVhdGUobG9jYWxJbmRleCwgc3RyZWFtKTsKLSAgICAgICAg
ICAgICAgICBtX3RleHRUcmFja3MuYWRkKHN0cmVhbUlkLCB0cmFjayk7Ci0gICAgICAgICAgICAg
ICAgbV9wbGF5ZXItPmFkZFRleHRUcmFjaygqdHJhY2spOwotICAgICAgICAgICAgfQorICAgICAg
ICAgICAgUmVmUHRyPEluYmFuZFRleHRUcmFja1ByaXZhdGVHU3RyZWFtZXI+IHRyYWNrID0gSW5i
YW5kVGV4dFRyYWNrUHJpdmF0ZUdTdHJlYW1lcjo6Y3JlYXRlKGksIHN0cmVhbSk7CisgICAgICAg
ICAgICBtX3RleHRUcmFja3MuYWRkKHN0cmVhbUlkLCB0cmFjayk7CisgICAgICAgICAgICBtX3Bs
YXllci0+YWRkVGV4dFRyYWNrKCp0cmFjayk7CiAjZW5kaWYKICAgICAgICAgfSBlbHNlCiAgICAg
ICAgICAgICBHU1RfV0FSTklORygiVW5rbm93biB0cmFjayB0eXBlIGZvdW5kIGZvciBzdHJlYW0g
JXMiLCBzdHJlYW1JZC51dGY4KCkuZGF0YSgpKTsKICAgICB9CiAKLSAgICBHU1RfSU5GTygiTWVk
aWEgaGFzICV6dSB2aWRlbyB0cmFja3MsICV6dSBhdWRpbyB0cmFja3MgYW5kICV6dSB0ZXh0IHRy
YWNrcyIsIHZhbGlkVmlkZW9TdHJlYW1zLnNpemUoKSwgdmFsaWRBdWRpb1N0cmVhbXMuc2l6ZSgp
LCB2YWxpZFRleHRTdHJlYW1zLnNpemUoKSk7Ci0KLSAgICBib29sIG9sZEhhc0F1ZGlvID0gbV9o
YXNBdWRpbzsKLSAgICBib29sIG9sZEhhc1ZpZGVvID0gbV9oYXNWaWRlbzsKLSAgICBtX2hhc0F1
ZGlvID0gIXZhbGlkQXVkaW9TdHJlYW1zLmlzRW1wdHkoKTsKLSAgICBtX2hhc1ZpZGVvID0gIXZh
bGlkVmlkZW9TdHJlYW1zLmlzRW1wdHkoKTsKICAgICBpZiAoKG9sZEhhc1ZpZGVvICE9IG1faGFz
VmlkZW8pIHx8IChvbGRIYXNBdWRpbyAhPSBtX2hhc0F1ZGlvKSkKICAgICAgICAgbV9wbGF5ZXIt
PmNoYXJhY3RlcmlzdGljQ2hhbmdlZCgpOwogCkBAIC03MDMsMTUgKzY5NSwxMCBAQCB2b2lkIE1l
ZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6dXBkYXRlVHJhY2tzKCkKICAgICAgICAgcmV0dXJu
OwogICAgIH0KIAotI2lmIEVOQUJMRShWSURFT19UUkFDSykKLSAgICBwdXJnZUludmFsaWRBdWRp
b1RyYWNrcyh2YWxpZEF1ZGlvU3RyZWFtcyk7Ci0gICAgcHVyZ2VJbnZhbGlkVmlkZW9UcmFja3Mo
dmFsaWRWaWRlb1N0cmVhbXMpOwotICAgIHB1cmdlSW52YWxpZFRleHRUcmFja3ModmFsaWRUZXh0
U3RyZWFtcyk7Ci0jZW5kaWYKLQogICAgIG1fcGxheWVyLT5jbGllbnQoKS5tZWRpYVBsYXllckVu
Z2luZVVwZGF0ZWQobV9wbGF5ZXIpOwogfQotI2VuZGlmCisjdW5kZWYgQ0xFQVJfVFJBQ0tTCisj
ZW5kaWYgLy8gR1NUX0NIRUNLX1ZFUlNJT04oMSwgMTAsIDApCiAKIHZvaWQgTWVkaWFQbGF5ZXJQ
cml2YXRlR1N0cmVhbWVyOjplbmFibGVUcmFjayhUcmFja1ByaXZhdGVCYXNlR1N0cmVhbWVyOjpU
cmFja1R5cGUgdHJhY2tUeXBlLCB1bnNpZ25lZCBpbmRleCkKIHsKQEAgLTEyOTksMjEgKzEyODYs
NiBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6aGFuZGxlTWVzc2FnZShHc3RN
ZXNzYWdlKiBtZXNzYWdlKQogICAgICAgICBicmVhazsKICAgICB9CiAjaWYgR1NUX0NIRUNLX1ZF
UlNJT04oMSwgMTAsIDApCi0gICAgY2FzZSBHU1RfTUVTU0FHRV9TVFJFQU1fQ09MTEVDVElPTjog
ewotICAgICAgICBpZiAobV9pc0xlZ2FjeVBsYXliaW4pCi0gICAgICAgICAgICBicmVhazsKLQot
ICAgICAgICBHUmVmUHRyPEdzdFN0cmVhbUNvbGxlY3Rpb24+IGNvbGxlY3Rpb247Ci0gICAgICAg
IGdzdF9tZXNzYWdlX3BhcnNlX3N0cmVhbV9jb2xsZWN0aW9uKG1lc3NhZ2UsICZjb2xsZWN0aW9u
Lm91dFB0cigpKTsKLQotICAgICAgICBpZiAoY29sbGVjdGlvbikgewotICAgICAgICAgICAgbV9z
dHJlYW1Db2xsZWN0aW9uLnN3YXAoY29sbGVjdGlvbik7Ci0gICAgICAgICAgICBtX25vdGlmaWVy
LT5ub3RpZnkoTWFpblRocmVhZE5vdGlmaWNhdGlvbjo6U3RyZWFtQ29sbGVjdGlvbkNoYW5nZWQs
IFt0aGlzXSB7Ci0gICAgICAgICAgICAgICAgdGhpcy0+dXBkYXRlVHJhY2tzKCk7Ci0gICAgICAg
ICAgICB9KTsKLSAgICAgICAgfQotICAgICAgICBicmVhazsKLSAgICB9CiAgICAgY2FzZSBHU1Rf
TUVTU0FHRV9TVFJFQU1TX1NFTEVDVEVEOiB7CiAgICAgICAgIEdSZWZQdHI8R3N0U3RyZWFtQ29s
bGVjdGlvbj4gY29sbGVjdGlvbjsKICAgICAgICAgZ3N0X21lc3NhZ2VfcGFyc2Vfc3RyZWFtc19z
ZWxlY3RlZChtZXNzYWdlLCAmY29sbGVjdGlvbi5vdXRQdHIoKSk7CkBAIC0xOTgzLDYgKzE5NTUs
MjUgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OnVwZGF0ZVN0YXRlcygpCiAg
ICAgfQogfQogCitib29sIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6aGFuZGxlU3luY01l
c3NhZ2UoR3N0TWVzc2FnZSogbWVzc2FnZSkKK3sKKyNpZiBHU1RfQ0hFQ0tfVkVSU0lPTigxLCAx
MCwgMCkKKyAgICBpZiAoR1NUX01FU1NBR0VfVFlQRShtZXNzYWdlKSA9PSBHU1RfTUVTU0FHRV9T
VFJFQU1fQ09MTEVDVElPTiAmJiAhbV9pc0xlZ2FjeVBsYXliaW4pIHsKKyAgICAgICAgR1JlZlB0
cjxHc3RTdHJlYW1Db2xsZWN0aW9uPiBjb2xsZWN0aW9uOworICAgICAgICBnc3RfbWVzc2FnZV9w
YXJzZV9zdHJlYW1fY29sbGVjdGlvbihtZXNzYWdlLCAmY29sbGVjdGlvbi5vdXRQdHIoKSk7CisK
KyAgICAgICAgaWYgKGNvbGxlY3Rpb24pIHsKKyAgICAgICAgICAgIG1fc3RyZWFtQ29sbGVjdGlv
bi5zd2FwKGNvbGxlY3Rpb24pOworICAgICAgICAgICAgbV9ub3RpZmllci0+bm90aWZ5KE1haW5U
aHJlYWROb3RpZmljYXRpb246OlN0cmVhbUNvbGxlY3Rpb25DaGFuZ2VkLCBbdGhpc10geworICAg
ICAgICAgICAgICAgIHRoaXMtPnVwZGF0ZVRyYWNrcygpOworICAgICAgICAgICAgfSk7CisgICAg
ICAgIH0KKyAgICB9CisjZW5kaWYKKworICAgIHJldHVybiBNZWRpYVBsYXllclByaXZhdGVHU3Ry
ZWFtZXJCYXNlOjpoYW5kbGVTeW5jTWVzc2FnZShtZXNzYWdlKTsKK30KKwogdm9pZCBNZWRpYVBs
YXllclByaXZhdGVHU3RyZWFtZXI6Om1lZGlhTG9jYXRpb25DaGFuZ2VkKEdzdE1lc3NhZ2UqIG1l
c3NhZ2UpCiB7CiAgICAgaWYgKG1fbWVkaWFMb2NhdGlvbnMpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0
cmVhbWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVk
aWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmgKaW5kZXggYjc4MDQ2MTQ4ZDkuLjFhZTRhNTRiYWUw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIv
TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5oCkBAIC0x
MzMsNiArMTMzLDggQEAgcHVibGljOgogCiAgICAgdm9pZCBlbmFibGVUcmFjayhUcmFja1ByaXZh
dGVCYXNlR1N0cmVhbWVyOjpUcmFja1R5cGUsIHVuc2lnbmVkIGluZGV4KTsKIAorICAgIGJvb2wg
aGFuZGxlU3luY01lc3NhZ2UoR3N0TWVzc2FnZSopIG92ZXJyaWRlOworCiBwcml2YXRlOgogICAg
IHN0YXRpYyB2b2lkIGdldFN1cHBvcnRlZFR5cGVzKEhhc2hTZXQ8U3RyaW5nLCBBU0NJSUNhc2VJ
bnNlbnNpdGl2ZUhhc2g+Jik7CiAgICAgc3RhdGljIE1lZGlhUGxheWVyOjpTdXBwb3J0c1R5cGUg
c3VwcG9ydHNUeXBlKGNvbnN0IE1lZGlhRW5naW5lU3VwcG9ydFBhcmFtZXRlcnMmKTsKQEAgLTE4
MCw2ICsxODIsNyBAQCBwcml2YXRlOgogCiAjaWYgR1NUX0NIRUNLX1ZFUlNJT04oMSwgMTAsIDAp
CiAgICAgdm9pZCB1cGRhdGVUcmFja3MoKTsKKyAgICB2b2lkIGNsZWFyVHJhY2tzKCk7CiAjZW5k
aWYKIAogcHJvdGVjdGVkOgotLSAKMi4xNy4x
</data>
<flag name="commit-queue"
          id="359919"
          type_id="3"
          status="-"
          setter="pnormand"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>342084</attachid>
            <date>2018-06-06 15:22:00 -0700</date>
            <delta_ts>2018-06-07 02:36:05 -0700</delta_ts>
            <desc>Patch.</desc>
            <filename>GStreamer-Fix-the-way-GstStreamCollection-is-handl.patch</filename>
            <type>text/plain</type>
            <size>11975</size>
            <attacher name="Thibault Saunier">tsaunier</attacher>
            
              <data encoding="base64">RnJvbSAyZjg2OTliZWRmNDRmMDJjM2Q3YmYyZmIwZWUxMTY4ZTAwNWE1Y2ZhIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBpZ2FsaWEuY29t
PgpEYXRlOiBUaHUsIDEyIEFwciAyMDE4IDEwOjI0OjI4IC0wMzAwClN1YmplY3Q6IFtQQVRDSCB4
c2VydmVyXSBbR1N0cmVhbWVyXSBGaXggdGhlIHdheSBHc3RTdHJlYW1Db2xsZWN0aW9uIGlzCiBo
YW5kbGVkCgpUaGUgc3RyZWFtIGNvbGxlY3Rpb24gbWVzc2FnZSByZXBsYWNlcyB0aGUgY29sbGVj
dGlvbiBvZiBzdHJlYW0gcHJldmlvdXNseQphZHZlcnRpc2VkLCB0aGlzIG1lYW5zIHRoYXQgd2Ug
c2hvdWxkIHJlYnVpbGQgb3VyIHNldCBvZiBUcmFjayBmcm9tIHNjcmF0Y2gKYW5kIG5vdCB1cGRh
dGUgcHJldmlvdXNseSBleHBvc2VkIHRyYWNrcy4KCkluIHRoZSBlbmQsIHRoaXMgc2ltcGxpZmll
cyB0aGUgY29kZSBhcyB3ZSBkbyBub3QgY2FyZSBhYm91dCB3aGF0CnRyYWNrcyBleGlzdGVkIHBy
ZXZpb3VzbHksIHdlIGp1c3QgbmVlZCB0byBleHBvc2Ugd2hhdCBHU3RyZWFtZXIgdGVsbHMKdXMs
IGRlbGV0aW5nIGFueSBwcmV2aW91cyBzdGF0ZS4KCkhhbmRsZSB0aGUgU1RSRUFNX0NPTExFQ1RJ
T04gbWVzc2FnZSBmcm9tIHRoZSBzeW5jIGhhbmRsZXIgc28gdGhhdCB0cmFja3MKYXJlIHVwZGF0
ZWQgYmVmb3JlIHdlIG1hcmsgdGhlIHBpcGVsaW5lIGFzIFJFQURZIGZvciB0aGUgbGl2ZSBjYXNl
IChldmVyeXRoaW5nCmhhcHBlbiBzeW5jaHJvbm91c2x5IHdpdGggdGhlIGNhbGwgdG8gdGhlIGBs
b2FkKClgIG1ldGhvZCBpbiB0aGF0IGNhc2UpLApzdGlsbCB0aGUgdXBkYXRlIGhhcHBlbnMgb24g
dGhlIG1haW4gdGhyZWFkLgoKaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE4NDU4OAotLS0KIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAg
ICB8ICAzMSArKysrCiAuLi4vZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5j
cHAgfCAxMzYgKysrKysrKystLS0tLS0tLS0tCiAuLi4vZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJp
dmF0ZUdTdHJlYW1lci5oICAgfCAgIDMgKwogMyBmaWxlcyBjaGFuZ2VkLCA5NyBpbnNlcnRpb25z
KCspLCA3MyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWZhMGQwMzQyNjAuLjM3YTdjM2Ni
Nzg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzQgQEAKKzIwMTgtMDQtMTMgIFRoaWJhdWx0IFNh
dW5pZXIgIDx0c2F1bmllckBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHU3RyZWFtZXJdIEZpeCB0
aGUgd2F5IEdzdFN0cmVhbUNvbGxlY3Rpb24gaXMgaGFuZGxlZAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg0NTg4CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIHN0cmVhbSBjb2xsZWN0aW9uIG1lc3Nh
Z2UgcmVwbGFjZXMgdGhlIGNvbGxlY3Rpb24gb2Ygc3RyZWFtIHByZXZpb3VzbHkKKyAgICAgICAg
YWR2ZXJ0aXNlZCwgdGhpcyBtZWFucyB0aGF0IHdlIHNob3VsZCByZWJ1aWxkIG91ciBzZXQgb2Yg
VHJhY2sgZnJvbSBzY3JhdGNoCisgICAgICAgIGFuZCBub3QgdXBkYXRlIHByZXZpb3VzbHkgZXhw
b3NlZCB0cmFja3MuCisKKyAgICAgICAgSW4gdGhlIGVuZCwgdGhpcyBzaW1wbGlmaWVzIHRoZSBj
b2RlIGFzIHdlIGRvIG5vdCBjYXJlIGFib3V0IHdoYXQKKyAgICAgICAgdHJhY2tzIGV4aXN0ZWQg
cHJldmlvdXNseSwgd2UganVzdCBuZWVkIHRvIGV4cG9zZSB3aGF0IEdTdHJlYW1lciB0ZWxscwor
ICAgICAgICB1cywgZGVsZXRpbmcgYW55IHByZXZpb3VzIHN0YXRlLgorCisgICAgICAgIEhhbmRs
ZSB0aGUgU1RSRUFNX0NPTExFQ1RJT04gbWVzc2FnZSBmcm9tIHRoZSBzeW5jIGhhbmRsZXIgc28g
dGhhdCB0cmFja3MKKyAgICAgICAgYXJlIHVwZGF0ZWQgYmVmb3JlIHdlIG1hcmsgdGhlIHBpcGVs
aW5lIGFzIFJFQURZIGZvciB0aGUgbGl2ZSBjYXNlIChldmVyeXRoaW5nCisgICAgICAgIGhhcHBl
biBzeW5jaHJvbm91c2x5IHdpdGggdGhlIGNhbGwgdG8gdGhlIGBsb2FkKClgIG1ldGhvZCBpbiB0
aGF0IGNhc2UpLAorICAgICAgICB0aGUgdXBkYXRlIHN0aWxsIGFsd2F5cyBoYXBwZW5zIG9uIHRo
ZSBtYWluIHRocmVhZC4KKworICAgICAgICBObyBuZXcgdGVzdHMgaXMgYWRkZWQgYXMgdGhpcyBp
cyBtb3N0bHkgcmVmYWN0b3JpbmcsIGl0IGlzIGFscmVhZHkgdGVzdGVkIGFuZCBpdAorICAgICAg
ICB3aWxsIGZpeCBNZWRpYVN0cmVhbSB0ZXN0cyB0aGF0IGFyZSBjdXJyZW50bHkgZGlzYWJsZWQg
YXMgdGhlIHN1cHBvcnQgaXMgYmVpbmcKKyAgICAgICAgaW1wbGVtZW50ZWQgaW4gIzE4NTc4Ny4K
KworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZh
dGVHU3RyZWFtZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0
cmVhbWVyOjpjbGVhclRyYWNrcyk6IFJlbW92ZXMgYWxsIHRyYWNrcy4KKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6dXBkYXRlVHJhY2tzKTogVXBkYXRlcyBj
b25maWd1cmVkIHRyYWNrcyBmcm9tIHRoZSBuZXcgR3N0U3RyZWFtQ29sZWN0aW9uIHRyYWNrLgor
ICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpoYW5kbGVNZXNz
YWdlKTogU3RvcCBoYW5kbGluZyBHU1RfU1RSRUFNX0NPTExFQ1RJT04gZXZlbnQuCisgICAgICAg
IChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OmhhbmRsZVN5bmNNZXNzYWdl
KTogSGFuZGxlIHN0cmVhbSBjb2xsZWN0aW9uIGV2ZW50IHN5bmNocm9ub3VzbHkuCisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1l
ci5oOiBBZGQgaGFuZGxlU3luY01lc3NhZ2UKKwogMjAxOC0wNi0wMSAgQ2FybG9zIEVkdWFyZG8g
UmFtYWxobyAgPGNhZHViZW50emVuQGdtYWlsLmNvbT4KIAogICAgICAgICBbR1RLXSBEaWZmaWN1
bHQgdG8gcmVhZCBjb21ibyBib3ggdGV4dCBpbiBkYXJrIHRoZW1lCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRl
R1N0cmVhbWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1l
ci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwCmluZGV4IDMyNzk2ZWRmMGUwLi43ZDg0
N2YxOGQ3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0
cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1l
ci5jcHAKQEAgLTYyMiw3NSArNjIyLDY3IEBAIGJvb2wgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVh
bWVyOjpzZWVraW5nKCkgY29uc3QKIH0KIAogI2lmIEdTVF9DSEVDS19WRVJTSU9OKDEsIDEwLCAw
KQorI2RlZmluZSBDTEVBUl9UUkFDS1ModHJhY2tzLCBtZXRob2QpIFwKKyAgICBmb3IgKGF1dG8m
IHRyYWNrIDogdHJhY2tzLnZhbHVlcygpKVwKKyAgICAgICAgbWV0aG9kKCp0cmFjayk7XAorICAg
IHRyYWNrcy5jbGVhcigpOworCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6Y2xl
YXJUcmFja3MoKQoreworI2lmIEVOQUJMRShWSURFT19UUkFDSykKKyAgICBDTEVBUl9UUkFDS1Mo
bV9hdWRpb1RyYWNrcywgbV9wbGF5ZXItPnJlbW92ZUF1ZGlvVHJhY2spOworICAgIENMRUFSX1RS
QUNLUyhtX3ZpZGVvVHJhY2tzLCBtX3BsYXllci0+cmVtb3ZlVmlkZW9UcmFjayk7CisgICAgQ0xF
QVJfVFJBQ0tTKG1fdGV4dFRyYWNrcywgbV9wbGF5ZXItPnJlbW92ZVRleHRUcmFjayk7CisjZW5k
aWYgLy8gRU5BQkxFKFZJREVPX1RSQUNLKQorfQorI3VuZGVmIENMRUFSX1RSQUNLUworCisjaWYg
RU5BQkxFKFZJREVPX1RSQUNLKQorI2RlZmluZSBDUkVBVEVfVFJBQ0sodHlwZSwgVHlwZSkgXAor
ICAgIG1faGFzIyNUeXBlID0gdHJ1ZTsgXAorICAgIGlmICghdXNlTWVkaWFTb3VyY2UpIHtcCisg
ICAgICAgIFJlZlB0cjxUeXBlIyNUcmFja1ByaXZhdGVHU3RyZWFtZXI+IHRyYWNrID0gVHlwZSMj
VHJhY2tQcml2YXRlR1N0cmVhbWVyOjpjcmVhdGUoY3JlYXRlV2Vha1B0cigpLCBpLCBzdHJlYW0p
OyBcCisgICAgICAgIG1fIyN0eXBlIyNUcmFja3MuYWRkKHRyYWNrLT5pZCgpLCB0cmFjayk7IFwK
KyAgICAgICAgbV9wbGF5ZXItPmFkZCMjVHlwZSMjVHJhY2soKnRyYWNrKTtcCisgICAgICAgIGlm
IChnc3Rfc3RyZWFtX2dldF9zdHJlYW1fZmxhZ3Moc3RyZWFtLmdldCgpKSAmIEdTVF9TVFJFQU1f
RkxBR19TRUxFQ1QpIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAg
ICAgICAgICBtX2N1cnJlbnQjI1R5cGUjI1N0cmVhbUlkID0gU3RyaW5nKGdzdF9zdHJlYW1fZ2V0
X3N0cmVhbV9pZChzdHJlYW0uZ2V0KCkpKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
CisgICAgICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBcCisgICAgfQorI2Vsc2UKKyNkZWZpbmUgQ1JFQVRFX1RSQUNLKHR5cGUsIF9pZCwgdHJh
Y2tzLCBtZXRob2QsIHN0cmVhbSkgbV9oYXMjI1R5cGUjIyA9IHRydWU7CisjZW5kaWYgLy8gRU5B
QkxFKFZJREVPX1RSQUNLKQorCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6dXBk
YXRlVHJhY2tzKCkKIHsKICAgICBBU1NFUlQoIW1faXNMZWdhY3lQbGF5YmluKTsKIAogICAgIGJv
b2wgdXNlTWVkaWFTb3VyY2UgPSBpc01lZGlhU291cmNlKCk7CiAgICAgdW5zaWduZWQgbGVuZ3Ro
ID0gZ3N0X3N0cmVhbV9jb2xsZWN0aW9uX2dldF9zaXplKG1fc3RyZWFtQ29sbGVjdGlvbi5nZXQo
KSk7Ci0gICAgVmVjdG9yPFN0cmluZz4gdmFsaWRBdWRpb1N0cmVhbXM7Ci0gICAgVmVjdG9yPFN0
cmluZz4gdmFsaWRWaWRlb1N0cmVhbXM7Ci0gICAgVmVjdG9yPFN0cmluZz4gdmFsaWRUZXh0U3Ry
ZWFtczsKKworICAgIGJvb2wgb2xkSGFzQXVkaW8gPSBtX2hhc0F1ZGlvOworICAgIGJvb2wgb2xk
SGFzVmlkZW8gPSBtX2hhc1ZpZGVvOworICAgIC8vIE5ldyBzdHJlYW0gY29sbGVjdGlvbnMgb3Zl
cnJpZGUgcHJldmlvdXMgb25lcy4KKyAgICBjbGVhclRyYWNrcygpOwogICAgIGZvciAodW5zaWdu
ZWQgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykgewogICAgICAgICBHUmVmUHRyPEdzdFN0cmVhbT4g
c3RyZWFtID0gZ3N0X3N0cmVhbV9jb2xsZWN0aW9uX2dldF9zdHJlYW0obV9zdHJlYW1Db2xsZWN0
aW9uLmdldCgpLCBpKTsKICAgICAgICAgU3RyaW5nIHN0cmVhbUlkKGdzdF9zdHJlYW1fZ2V0X3N0
cmVhbV9pZChzdHJlYW0uZ2V0KCkpKTsKICAgICAgICAgR3N0U3RyZWFtVHlwZSB0eXBlID0gZ3N0
X3N0cmVhbV9nZXRfc3RyZWFtX3R5cGUoc3RyZWFtLmdldCgpKTsKLSAgICAgICAgR1NUX0RFQlVH
KCJJbnNwZWN0aW5nICVzIHRyYWNrIHdpdGggSUQgJXMiLCBnc3Rfc3RyZWFtX3R5cGVfZ2V0X25h
bWUodHlwZSksIHN0cmVhbUlkLnV0ZjgoKS5kYXRhKCkpOwotICAgICAgICBpZiAodHlwZSAmIEdT
VF9TVFJFQU1fVFlQRV9BVURJTykgewotICAgICAgICAgICAgdmFsaWRBdWRpb1N0cmVhbXMuYXBw
ZW5kKHN0cmVhbUlkKTsKLSNpZiBFTkFCTEUoVklERU9fVFJBQ0spCi0gICAgICAgICAgICBpZiAo
IXVzZU1lZGlhU291cmNlKSB7Ci0gICAgICAgICAgICAgICAgdW5zaWduZWQgbG9jYWxJbmRleCA9
IGkgLSB2YWxpZFZpZGVvU3RyZWFtcy5zaXplKCkgLSB2YWxpZFRleHRTdHJlYW1zLnNpemUoKTsK
LSAgICAgICAgICAgICAgICBpZiAobG9jYWxJbmRleCA8IG1fYXVkaW9UcmFja3Muc2l6ZSgpKSB7
Ci0gICAgICAgICAgICAgICAgICAgIGlmIChtX2F1ZGlvVHJhY2tzLmNvbnRhaW5zKHN0cmVhbUlk
KSkKLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgICAgIH0K
IAotICAgICAgICAgICAgICAgIFJlZlB0cjxBdWRpb1RyYWNrUHJpdmF0ZUdTdHJlYW1lcj4gdHJh
Y2sgPSBBdWRpb1RyYWNrUHJpdmF0ZUdTdHJlYW1lcjo6Y3JlYXRlKGNyZWF0ZVdlYWtQdHIoKSwg
aSwgc3RyZWFtKTsKLSAgICAgICAgICAgICAgICBtX2F1ZGlvVHJhY2tzLmFkZCh0cmFjay0+aWQo
KSwgdHJhY2spOwotICAgICAgICAgICAgICAgIG1fcGxheWVyLT5hZGRBdWRpb1RyYWNrKCp0cmFj
ayk7Ci0gICAgICAgICAgICB9Ci0jZW5kaWYKKyAgICAgICAgR1NUX0RFQlVHX09CSkVDVChwaXBl
bGluZSgpLCAiSW5zcGVjdGluZyAlcyB0cmFjayB3aXRoIElEICVzIiwgZ3N0X3N0cmVhbV90eXBl
X2dldF9uYW1lKHR5cGUpLCBzdHJlYW1JZC51dGY4KCkuZGF0YSgpKTsKKyAgICAgICAgaWYgKHR5
cGUgJiBHU1RfU1RSRUFNX1RZUEVfQVVESU8pIHsKKyAgICAgICAgICAgIENSRUFURV9UUkFDSyhh
dWRpbywgQXVkaW8pCiAgICAgICAgIH0gZWxzZSBpZiAodHlwZSAmIEdTVF9TVFJFQU1fVFlQRV9W
SURFTykgewotICAgICAgICAgICAgdmFsaWRWaWRlb1N0cmVhbXMuYXBwZW5kKHN0cmVhbUlkKTsK
KyAgICAgICAgICAgIENSRUFURV9UUkFDSyh2aWRlbywgVmlkZW8pCisgICAgICAgIH0gZWxzZSBp
ZiAodHlwZSAmIEdTVF9TVFJFQU1fVFlQRV9URVhUICYmICF1c2VNZWRpYVNvdXJjZSkgewogI2lm
IEVOQUJMRShWSURFT19UUkFDSykKLSAgICAgICAgICAgIGlmICghdXNlTWVkaWFTb3VyY2UpIHsK
LSAgICAgICAgICAgICAgICB1bnNpZ25lZCBsb2NhbEluZGV4ID0gaSAtIHZhbGlkQXVkaW9TdHJl
YW1zLnNpemUoKSAtIHZhbGlkVGV4dFN0cmVhbXMuc2l6ZSgpOwotICAgICAgICAgICAgICAgIGlm
IChsb2NhbEluZGV4IDwgbV92aWRlb1RyYWNrcy5zaXplKCkpIHsKLSAgICAgICAgICAgICAgICAg
ICAgaWYgKG1fdmlkZW9UcmFja3MuY29udGFpbnMoc3RyZWFtSWQpKQotICAgICAgICAgICAgICAg
ICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICAgICAgfQotCi0gICAgICAgICAgICAgICAg
UmVmUHRyPFZpZGVvVHJhY2tQcml2YXRlR1N0cmVhbWVyPiB0cmFjayA9IFZpZGVvVHJhY2tQcml2
YXRlR1N0cmVhbWVyOjpjcmVhdGUoY3JlYXRlV2Vha1B0cigpLCBpLCBzdHJlYW0pOwotICAgICAg
ICAgICAgICAgIG1fdmlkZW9UcmFja3MuYWRkKHRyYWNrLT5pZCgpLCB0cmFjayk7Ci0gICAgICAg
ICAgICAgICAgbV9wbGF5ZXItPmFkZFZpZGVvVHJhY2soKnRyYWNrKTsKLSAgICAgICAgICAgIH0K
LSNlbmRpZgotICAgICAgICB9IGVsc2UgaWYgKHR5cGUgJiBHU1RfU1RSRUFNX1RZUEVfVEVYVCkg
ewotICAgICAgICAgICAgdmFsaWRUZXh0U3RyZWFtcy5hcHBlbmQoc3RyZWFtSWQpOwotI2lmIEVO
QUJMRShWSURFT19UUkFDSykKLSAgICAgICAgICAgIGlmICghdXNlTWVkaWFTb3VyY2UpIHsKLSAg
ICAgICAgICAgICAgICB1bnNpZ25lZCBsb2NhbEluZGV4ID0gaSAtIHZhbGlkVmlkZW9TdHJlYW1z
LnNpemUoKSAtIHZhbGlkQXVkaW9TdHJlYW1zLnNpemUoKTsKLSAgICAgICAgICAgICAgICBpZiAo
bG9jYWxJbmRleCA8IG1fdGV4dFRyYWNrcy5zaXplKCkpIHsKLSAgICAgICAgICAgICAgICAgICAg
aWYgKG1fdGV4dFRyYWNrcy5jb250YWlucyhzdHJlYW1JZCkpCi0gICAgICAgICAgICAgICAgICAg
ICAgICBjb250aW51ZTsKLSAgICAgICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgICAgICBSZWZQ
dHI8SW5iYW5kVGV4dFRyYWNrUHJpdmF0ZUdTdHJlYW1lcj4gdHJhY2sgPSBJbmJhbmRUZXh0VHJh
Y2tQcml2YXRlR1N0cmVhbWVyOjpjcmVhdGUobG9jYWxJbmRleCwgc3RyZWFtKTsKLSAgICAgICAg
ICAgICAgICBtX3RleHRUcmFja3MuYWRkKHN0cmVhbUlkLCB0cmFjayk7Ci0gICAgICAgICAgICAg
ICAgbV9wbGF5ZXItPmFkZFRleHRUcmFjaygqdHJhY2spOwotICAgICAgICAgICAgfQorICAgICAg
ICAgICAgUmVmUHRyPEluYmFuZFRleHRUcmFja1ByaXZhdGVHU3RyZWFtZXI+IHRyYWNrID0gSW5i
YW5kVGV4dFRyYWNrUHJpdmF0ZUdTdHJlYW1lcjo6Y3JlYXRlKGksIHN0cmVhbSk7CisgICAgICAg
ICAgICBtX3RleHRUcmFja3MuYWRkKHN0cmVhbUlkLCB0cmFjayk7CisgICAgICAgICAgICBtX3Bs
YXllci0+YWRkVGV4dFRyYWNrKCp0cmFjayk7CiAjZW5kaWYKICAgICAgICAgfSBlbHNlCiAgICAg
ICAgICAgICBHU1RfV0FSTklORygiVW5rbm93biB0cmFjayB0eXBlIGZvdW5kIGZvciBzdHJlYW0g
JXMiLCBzdHJlYW1JZC51dGY4KCkuZGF0YSgpKTsKICAgICB9CiAKLSAgICBHU1RfSU5GTygiTWVk
aWEgaGFzICV6dSB2aWRlbyB0cmFja3MsICV6dSBhdWRpbyB0cmFja3MgYW5kICV6dSB0ZXh0IHRy
YWNrcyIsIHZhbGlkVmlkZW9TdHJlYW1zLnNpemUoKSwgdmFsaWRBdWRpb1N0cmVhbXMuc2l6ZSgp
LCB2YWxpZFRleHRTdHJlYW1zLnNpemUoKSk7Ci0KLSAgICBib29sIG9sZEhhc0F1ZGlvID0gbV9o
YXNBdWRpbzsKLSAgICBib29sIG9sZEhhc1ZpZGVvID0gbV9oYXNWaWRlbzsKLSAgICBtX2hhc0F1
ZGlvID0gIXZhbGlkQXVkaW9TdHJlYW1zLmlzRW1wdHkoKTsKLSAgICBtX2hhc1ZpZGVvID0gIXZh
bGlkVmlkZW9TdHJlYW1zLmlzRW1wdHkoKTsKICAgICBpZiAoKG9sZEhhc1ZpZGVvICE9IG1faGFz
VmlkZW8pIHx8IChvbGRIYXNBdWRpbyAhPSBtX2hhc0F1ZGlvKSkKICAgICAgICAgbV9wbGF5ZXIt
PmNoYXJhY3RlcmlzdGljQ2hhbmdlZCgpOwogCkBAIC03MDMsMTUgKzY5NSw5IEBAIHZvaWQgTWVk
aWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjp1cGRhdGVUcmFja3MoKQogICAgICAgICByZXR1cm47
CiAgICAgfQogCi0jaWYgRU5BQkxFKFZJREVPX1RSQUNLKQotICAgIHB1cmdlSW52YWxpZEF1ZGlv
VHJhY2tzKHZhbGlkQXVkaW9TdHJlYW1zKTsKLSAgICBwdXJnZUludmFsaWRWaWRlb1RyYWNrcyh2
YWxpZFZpZGVvU3RyZWFtcyk7Ci0gICAgcHVyZ2VJbnZhbGlkVGV4dFRyYWNrcyh2YWxpZFRleHRT
dHJlYW1zKTsKLSNlbmRpZgotCiAgICAgbV9wbGF5ZXItPmNsaWVudCgpLm1lZGlhUGxheWVyRW5n
aW5lVXBkYXRlZChtX3BsYXllcik7CiB9Ci0jZW5kaWYKKyNlbmRpZiAvLyBHU1RfQ0hFQ0tfVkVS
U0lPTigxLCAxMCwgMCkKIAogdm9pZCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6OmVuYWJs
ZVRyYWNrKFRyYWNrUHJpdmF0ZUJhc2VHU3RyZWFtZXI6OlRyYWNrVHlwZSB0cmFja1R5cGUsIHVu
c2lnbmVkIGluZGV4KQogewpAQCAtMTI5OSwyMSArMTI4NSw2IEBAIHZvaWQgTWVkaWFQbGF5ZXJQ
cml2YXRlR1N0cmVhbWVyOjpoYW5kbGVNZXNzYWdlKEdzdE1lc3NhZ2UqIG1lc3NhZ2UpCiAgICAg
ICAgIGJyZWFrOwogICAgIH0KICNpZiBHU1RfQ0hFQ0tfVkVSU0lPTigxLCAxMCwgMCkKLSAgICBj
YXNlIEdTVF9NRVNTQUdFX1NUUkVBTV9DT0xMRUNUSU9OOiB7Ci0gICAgICAgIGlmIChtX2lzTGVn
YWN5UGxheWJpbikKLSAgICAgICAgICAgIGJyZWFrOwotCi0gICAgICAgIEdSZWZQdHI8R3N0U3Ry
ZWFtQ29sbGVjdGlvbj4gY29sbGVjdGlvbjsKLSAgICAgICAgZ3N0X21lc3NhZ2VfcGFyc2Vfc3Ry
ZWFtX2NvbGxlY3Rpb24obWVzc2FnZSwgJmNvbGxlY3Rpb24ub3V0UHRyKCkpOwotCi0gICAgICAg
IGlmIChjb2xsZWN0aW9uKSB7Ci0gICAgICAgICAgICBtX3N0cmVhbUNvbGxlY3Rpb24uc3dhcChj
b2xsZWN0aW9uKTsKLSAgICAgICAgICAgIG1fbm90aWZpZXItPm5vdGlmeShNYWluVGhyZWFkTm90
aWZpY2F0aW9uOjpTdHJlYW1Db2xsZWN0aW9uQ2hhbmdlZCwgW3RoaXNdIHsKLSAgICAgICAgICAg
ICAgICB0aGlzLT51cGRhdGVUcmFja3MoKTsKLSAgICAgICAgICAgIH0pOwotICAgICAgICB9Ci0g
ICAgICAgIGJyZWFrOwotICAgIH0KICAgICBjYXNlIEdTVF9NRVNTQUdFX1NUUkVBTVNfU0VMRUNU
RUQ6IHsKICAgICAgICAgR1JlZlB0cjxHc3RTdHJlYW1Db2xsZWN0aW9uPiBjb2xsZWN0aW9uOwog
ICAgICAgICBnc3RfbWVzc2FnZV9wYXJzZV9zdHJlYW1zX3NlbGVjdGVkKG1lc3NhZ2UsICZjb2xs
ZWN0aW9uLm91dFB0cigpKTsKQEAgLTE5ODMsNiArMTk1NCwyNSBAQCB2b2lkIE1lZGlhUGxheWVy
UHJpdmF0ZUdTdHJlYW1lcjo6dXBkYXRlU3RhdGVzKCkKICAgICB9CiB9CiAKK2Jvb2wgTWVkaWFQ
bGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpoYW5kbGVTeW5jTWVzc2FnZShHc3RNZXNzYWdlKiBtZXNz
YWdlKQoreworI2lmIEdTVF9DSEVDS19WRVJTSU9OKDEsIDEwLCAwKQorICAgIGlmIChHU1RfTUVT
U0FHRV9UWVBFKG1lc3NhZ2UpID09IEdTVF9NRVNTQUdFX1NUUkVBTV9DT0xMRUNUSU9OICYmICFt
X2lzTGVnYWN5UGxheWJpbikgeworICAgICAgICBHUmVmUHRyPEdzdFN0cmVhbUNvbGxlY3Rpb24+
IGNvbGxlY3Rpb247CisgICAgICAgIGdzdF9tZXNzYWdlX3BhcnNlX3N0cmVhbV9jb2xsZWN0aW9u
KG1lc3NhZ2UsICZjb2xsZWN0aW9uLm91dFB0cigpKTsKKworICAgICAgICBpZiAoY29sbGVjdGlv
bikgeworICAgICAgICAgICAgbV9zdHJlYW1Db2xsZWN0aW9uLnN3YXAoY29sbGVjdGlvbik7Cisg
ICAgICAgICAgICBtX25vdGlmaWVyLT5ub3RpZnkoTWFpblRocmVhZE5vdGlmaWNhdGlvbjo6U3Ry
ZWFtQ29sbGVjdGlvbkNoYW5nZWQsIFt0aGlzXSB7CisgICAgICAgICAgICAgICAgdGhpcy0+dXBk
YXRlVHJhY2tzKCk7CisgICAgICAgICAgICB9KTsKKyAgICAgICAgfQorICAgIH0KKyNlbmRpZgor
CisgICAgcmV0dXJuIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6OmhhbmRsZVN5bmNN
ZXNzYWdlKG1lc3NhZ2UpOworfQorCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6
bWVkaWFMb2NhdGlvbkNoYW5nZWQoR3N0TWVzc2FnZSogbWVzc2FnZSkKIHsKICAgICBpZiAobV9t
ZWRpYUxvY2F0aW9ucykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFt
ZXIuaAppbmRleCBiNzgwNDYxNDhkOS4uMWFlNGE1NGJhZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3Ry
ZWFtZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIv
TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmgKQEAgLTEzMyw2ICsxMzMsOCBAQCBwdWJsaWM6
CiAKICAgICB2b2lkIGVuYWJsZVRyYWNrKFRyYWNrUHJpdmF0ZUJhc2VHU3RyZWFtZXI6OlRyYWNr
VHlwZSwgdW5zaWduZWQgaW5kZXgpOwogCisgICAgYm9vbCBoYW5kbGVTeW5jTWVzc2FnZShHc3RN
ZXNzYWdlKikgb3ZlcnJpZGU7CisKIHByaXZhdGU6CiAgICAgc3RhdGljIHZvaWQgZ2V0U3VwcG9y
dGVkVHlwZXMoSGFzaFNldDxTdHJpbmcsIEFTQ0lJQ2FzZUluc2Vuc2l0aXZlSGFzaD4mKTsKICAg
ICBzdGF0aWMgTWVkaWFQbGF5ZXI6OlN1cHBvcnRzVHlwZSBzdXBwb3J0c1R5cGUoY29uc3QgTWVk
aWFFbmdpbmVTdXBwb3J0UGFyYW1ldGVycyYpOwpAQCAtMTgwLDYgKzE4Miw3IEBAIHByaXZhdGU6
CiAKICNpZiBHU1RfQ0hFQ0tfVkVSU0lPTigxLCAxMCwgMCkKICAgICB2b2lkIHVwZGF0ZVRyYWNr
cygpOworICAgIHZvaWQgY2xlYXJUcmFja3MoKTsKICNlbmRpZgogCiBwcm90ZWN0ZWQ6Ci0tIAoy
LjE3LjE=
</data>

          </attachment>
      

    </bug>

</bugzilla>