<?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>124265</bug_id>
          
          <creation_ts>2013-11-12 23:15:58 -0800</creation_ts>
          <short_desc>Move MediaConstraintsImpl to MediaConstraintsPrivate in platform/</short_desc>
          <delta_ts>2019-06-10 04:49:11 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>INVALID</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>124288</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Philippe Normand">pnormand</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>agouaillard</cc>
    
    <cc>annle10996</cc>
    
    <cc>annylake</cc>
    
    <cc>ap</cc>
    
    <cc>buildbot</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>fabri.ll</cc>
    
    <cc>glenn</cc>
    
    <cc>gta5hex</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hta</cc>
    
    <cc>jennyhannb</cc>
    
    <cc>jer.noble</cc>
    
    <cc>jet</cc>
    
    <cc>jonlee</cc>
    
    <cc>karishmasingh4097</cc>
    
    <cc>nick.diego</cc>
    
    <cc>pnormand</cc>
    
    <cc>rakuco</cc>
    
    <cc>rniwa</cc>
    
    <cc>thiago.lacerda</cc>
    
    <cc>tommyw</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>950044</commentid>
    <comment_count>0</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2013-11-12 23:15:58 -0800</bug_when>
    <thetext>The Impl class is a remmnant of the Chromium days.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>950063</commentid>
    <comment_count>1</comment_count>
      <attachid>216776</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2013-11-13 00:34:30 -0800</bug_when>
    <thetext>Created attachment 216776
patch

Doesn&apos;t yet include XCode project changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>950071</commentid>
    <comment_count>2</comment_count>
      <attachid>216776</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-11-13 01:04:14 -0800</bug_when>
    <thetext>Comment on attachment 216776
patch

Attachment 216776 did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.appspot.com/results/21249958</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>950079</commentid>
    <comment_count>3</comment_count>
      <attachid>216776</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-11-13 01:31:32 -0800</bug_when>
    <thetext>Comment on attachment 216776
patch

Attachment 216776 did not pass mac-ews (mac):
Output: http://webkit-queues.appspot.com/results/21249959</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>950135</commentid>
    <comment_count>4</comment_count>
    <who name="Thiago de Barros Lacerda">thiago.lacerda</who>
    <bug_when>2013-11-13 06:10:13 -0800</bug_when>
    <thetext>+1 for this change. There is no reason to have an impl class if there will not have platform dependent implementation of that</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>950184</commentid>
    <comment_count>5</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2013-11-13 08:56:41 -0800</bug_when>
    <thetext>It is a layering violation to pass an object defined in Modules/mediastream to code in platform. 

What will we use in platform, for example what gets passed to MediaStreamCenter::validateRequestConstraints?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>950190</commentid>
    <comment_count>6</comment_count>
    <who name="Thiago de Barros Lacerda">thiago.lacerda</who>
    <bug_when>2013-11-13 09:08:18 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; It is a layering violation to pass an object defined in Modules/mediastream to code in platform. 
&gt; 
&gt; What will we use in platform, for example what gets passed to MediaStreamCenter::validateRequestConstraints?

You are right. I don&apos;t know why, but I always thought that the platform implementation was the Impl one, but in this case is MediaConstraints.
But indeed, we have to leave a platform implementation.
We could leave MediaConstraints in Modules/mediastream, and create a MediaConstraintsPrivate that would be in platform.
To summarize, would only be a rename of classes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1031107</commentid>
    <comment_count>7</comment_count>
      <attachid>216776</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2014-08-25 05:06:34 -0700</bug_when>
    <thetext>Comment on attachment 216776
patch

Ok let&apos;s finally do this properly then :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1031385</commentid>
    <comment_count>8</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2014-08-26 09:04:13 -0700</bug_when>
    <thetext>Well, I&apos;m not sure anymore this is a real issue, if we move the Impl class to platform/ and rename it to Private it&apos;s not exactly like other Private implementations we have in platform/mediastream.

MediaConstraintsImpl is the actual implementation of an abstract class whereas other Private classes don&apos;t inherit from the interface they implement, it&apos;s a different pattern...

For bug 123158 I got a PoC that is able to send MediaConstraintsImpl over the wire but I&apos;m not sure if this is a layer violation or not. I&apos;d prefer to handle MediaConstraints directly but being an abstract class I&apos;m having issues for the IPC communication.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1342241</commentid>
    <comment_count>9</comment_count>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2017-08-24 16:36:01 -0700</bug_when>
    <thetext>This has been removed via 172132.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>216776</attachid>
            <date>2013-11-13 00:34:30 -0800</date>
            <delta_ts>2014-08-25 05:06:34 -0700</delta_ts>
            <desc>patch</desc>
            <filename>patch.patch</filename>
            <type>text/plain</type>
            <size>20206</size>
            <attacher name="Philippe Normand">pnormand</attacher>
            
              <data encoding="base64">RnJvbSAwY2ZmYTE4ODBhZmY3YWJmMDc1NmQwZGQ5NGYzNDk4ZmZmMTFiYjcyIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBQaGlsaXBwZSBOb3JtYW5kIDxwbm9ybWFuZEBpZ2FsaWEuY29t
PgpEYXRlOiBXZWQsIDEzIE5vdiAyMDEzIDA5OjMyOjIzICswMTAwClN1YmplY3Q6IFtQQVRDSF0g
cGF0Y2gKCi0tLQogU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgICAgICAgICAgICAgICAg
ICAgICAgfCAgMiArLQogU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAg
ICAgICAgICAgfCAyNiArKysrKysrKwogU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5h
bSAgICAgICAgICAgICAgICAgfCAgNSArLQogLi4uZGlhQ29uc3RyYWludHNJbXBsLmNwcCA9PiBN
ZWRpYUNvbnN0cmFpbnRzLmNwcH0gfCAyNCArKystLS0tLQogLi4uL21lZGlhc3RyZWFtL01lZGlh
Q29uc3RyYWludHMuaCAgICAgICAgICAgICAgICAgfCAyMyArKysrKy0tCiAuLi4vTW9kdWxlcy9t
ZWRpYXN0cmVhbS9NZWRpYUNvbnN0cmFpbnRzSW1wbC5oICAgICB8IDcxIC0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KIC4uLi9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2suY3BwICAg
ICAgIHwgIDIgKy0KIC4uLi9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1U
cmFjay5oIHwgIDQgKy0KIC4uLi9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhVHJhY2tDb25zdHJh
aW50cy5jcHAgIHwgIDQgKy0KIC4uLi9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhVHJhY2tDb25z
dHJhaW50cy5oICAgIHwgIDggKy0tCiAuLi4vTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29u
bmVjdGlvbi5jcHAgICAgICB8IDEyICsrLS0KIC4uLi9Nb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJN
ZWRpYVJlcXVlc3QuY3BwICAgICAgIHwgIDYgKy0KIDEyIGZpbGVzIGNoYW5nZWQsIDc0IGluc2Vy
dGlvbnMoKyksIDExMyBkZWxldGlvbnMoLSkKIHJlbmFtZSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL3tNZWRpYUNvbnN0cmFpbnRzSW1wbC5jcHAgPT4gTWVkaWFDb25zdHJhaW50
cy5jcHB9ICg4NCUpCiByZW5hbWUgU291cmNlL1dlYkNvcmUve3BsYXRmb3JtID0+IE1vZHVsZXN9
L21lZGlhc3RyZWFtL01lZGlhQ29uc3RyYWludHMuaCAoNzQlKQogZGVsZXRlIG1vZGUgMTAwNjQ0
IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFDb25zdHJhaW50c0ltcGwu
aAoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dl
YkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggNTI1YjEwYi4uNTNlNDFlMiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VM
aXN0cy50eHQKQEAgLTgwMiw3ICs4MDIsNyBAQCBzZXQoV2ViQ29yZV9TT1VSQ0VTCiAKICAgICBN
b2R1bGVzL21lZGlhc3RyZWFtL0F1ZGlvU3RyZWFtVHJhY2suY3BwCiAgICAgTW9kdWxlcy9tZWRp
YXN0cmVhbS9DYXBhYmlsaXR5UmFuZ2UuY3BwCi0gICAgTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRp
YUNvbnN0cmFpbnRzSW1wbC5jcHAKKyAgICBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhQ29uc3Ry
YWludHMuY3BwCiAgICAgTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVNvdXJjZVN0YXRlcy5jcHAK
ICAgICBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtLmNwcAogICAgIE1vZHVsZXMvbWVk
aWFzdHJlYW0vTWVkaWFTdHJlYW1DYXBhYmlsaXRpZXMuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDU2NThm
MC4uMTY0ODUzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDEzLTExLTEzICBQaGls
aXBwZSBOb3JtYW5kICA8cG5vcm1hbmRAaWdhbGlhLmNvbT4KKworICAgICAgICBtZXJnZSBNZWRp
YUNvbnN0cmFpbnRzSW1wbCBhbmQgTWVkaWFDb25zdHJhaW50cyBjbGFzc2VzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjQyNjUKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNb3ZlZCB0aGUgTWVkaWFDb25z
dHJhaW50cyBoZWFkZXIgYW5kIGltcGxlbWVudGF0aW9uIHRvCisgICAgICAgIE1vZHVsZXMvbWVk
aWFzdHJlYW0gYW5kIG1lcmdlZCB0aGUgTWVkaWFDb25zdHJhaW50c0ltcGwgaW4gaXRzCisgICAg
ICAgIHBhcmVudCBjbGFzcy4KKworICAgICAgICBObyBuZXcgdGVzdHMsIHRoaXMgaXMgb25seSBh
IHJlZmFjdG9yaW5nLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogR05V
bWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhQ29u
c3RyYWludHMuY3BwOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9NZWRpYUNvbnN0cmFpbnRzSW1wbC5jcHAuCisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0
cmVhbS9NZWRpYUNvbnN0cmFpbnRzLmg6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYUNvbnN0cmFpbnRzLmguCisgICAgICAgICogTW9kdWxlcy9t
ZWRpYXN0cmVhbS9NZWRpYUNvbnN0cmFpbnRzSW1wbC5oOiBSZW1vdmVkLgorICAgICAgICAqIE1v
ZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5jcHA6IFVzZSBNZWRpYUNvbnN0cmFp
bnRzCisgICAgICAgIGluc3RlYWQgb2YgcmVtb3ZlZCBNZWRpYUNvbnN0cmFpbnRzSW1wbC4KKyAg
ICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2suaDogRGl0dG8KKyAg
ICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhVHJhY2tDb25zdHJhaW50cy5jcHA6IERp
dHRvCisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVRyYWNrQ29uc3RyYWludHMu
aDogRGl0dG8KKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9u
LmNwcDogRGl0dG8KKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVl
c3QuY3BwOiBEaXR0bworCiAyMDEzLTExLTEyICBaYW4gRG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdh
bGlhLmNvbT4KIAogICAgICAgICBNYW5hZ2UgWE1MSHR0cFJlcXVlc3RVcGxvYWQsIFhTTEltcG9y
dFJ1bGUsIFhNTEVycm9ycywgWE1MIHBlbmRpbmcgY2FsbGJhY2sgY2xhc3NlcyB0aHJvdWdoIHN0
ZDo6dW5pcXVlX3B0cgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlz
dC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggNTBiMGI0Mi4u
NGMyZjc2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC0xODgzLDggKzE4ODMs
OCBAQCB3ZWJjb3JlX21vZHVsZXNfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXN0cmVhbS9BdWRpb1N0cmVhbVRyYWNrLmggXAogCVNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vQ2FwYWJpbGl0eVJhbmdlLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9DYXBhYmlsaXR5UmFuZ2UuaCBcCi0JU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9NZWRpYUNvbnN0cmFpbnRzSW1wbC5jcHAgXAotCVNvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFDb25zdHJhaW50c0ltcGwuaCBcCisJU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYUNvbnN0cmFpbnRzLmNwcCBcCisJU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYUNvbnN0cmFpbnRzLmggXAogCVNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTb3VyY2VTdGF0ZXMuY3BwIFwK
IAlTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU291cmNlU3RhdGVzLmgg
XAogCVNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW0uY3BwIFwK
QEAgLTUzODksNyArNTM4OSw2IEBAIHdlYmNvcmVfcGxhdGZvcm1fc291cmNlcyArPSBcCiAJU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vTUlNRVR5cGVSZWdpc3RyeS5oIFwKIAlTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9saW51eC9HYW1lcGFkRGV2aWNlTGludXguY3BwIFwKIAlTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9saW51eC9HYW1lcGFkRGV2aWNlTGludXguaCBcCi0JU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFDb25zdHJhaW50cy5oIFwKIAlTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbUNlbnRlci5jcHAgXAogCVNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtQ2VudGVyLmggXAogCVNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtQ29uc3RyYWludHNWYWxp
ZGF0aW9uQ2xpZW50LmggXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXN0cmVhbS9NZWRpYUNvbnN0cmFpbnRzSW1wbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL01lZGlhQ29uc3RyYWludHMuY3BwCnNpbWlsYXJpdHkgaW5kZXggODQlCnJl
bmFtZSBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFDb25zdHJh
aW50c0ltcGwuY3BwCnJlbmFtZSB0byBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L01lZGlhQ29uc3RyYWludHMuY3BwCmluZGV4IDEwZjgxMmIuLmZiMmJhNjc2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhQ29uc3RyYWludHNJbXBs
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhQ29uc3Ry
YWludHMuY3BwCkBAIC0zMiw3ICszMiw3IEBACiAKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQog
Ci0jaW5jbHVkZSAiTWVkaWFDb25zdHJhaW50c0ltcGwuaCIKKyNpbmNsdWRlICJNZWRpYUNvbnN0
cmFpbnRzLmgiCiAKICNpbmNsdWRlICJBcnJheVZhbHVlLmgiCiAjaW5jbHVkZSAiRGljdGlvbmFy
eS5oIgpAQCAtNDEsOSArNDEsOSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVBhc3NSZWZQ
dHI8TWVkaWFDb25zdHJhaW50c0ltcGw+IE1lZGlhQ29uc3RyYWludHNJbXBsOjpjcmVhdGUoY29u
c3QgRGljdGlvbmFyeSYgY29uc3RyYWludHMsIEV4Y2VwdGlvbkNvZGUmIGVjKQorUGFzc1JlZlB0
cjxNZWRpYUNvbnN0cmFpbnRzPiBNZWRpYUNvbnN0cmFpbnRzOjpjcmVhdGUoY29uc3QgRGljdGlv
bmFyeSYgY29uc3RyYWludHMsIEV4Y2VwdGlvbkNvZGUmIGVjKQogewotICAgIFJlZlB0cjxNZWRp
YUNvbnN0cmFpbnRzSW1wbD4gb2JqZWN0ID0gYWRvcHRSZWYobmV3IE1lZGlhQ29uc3RyYWludHNJ
bXBsKCkpOworICAgIFJlZlB0cjxNZWRpYUNvbnN0cmFpbnRzPiBvYmplY3QgPSBhZG9wdFJlZihu
ZXcgTWVkaWFDb25zdHJhaW50cygpKTsKICAgICBpZiAoIW9iamVjdC0+aW5pdGlhbGl6ZShjb25z
dHJhaW50cykpIHsKICAgICAgICAgZWMgPSBUWVBFX01JU01BVENIX0VSUjsKICAgICAgICAgcmV0
dXJuIDA7CkBAIC01MSwxMiArNTEsMTIgQEAgUGFzc1JlZlB0cjxNZWRpYUNvbnN0cmFpbnRzSW1w
bD4gTWVkaWFDb25zdHJhaW50c0ltcGw6OmNyZWF0ZShjb25zdCBEaWN0aW9uYXJ5JgogICAgIHJl
dHVybiBvYmplY3QucmVsZWFzZSgpOwogfQogCi1QYXNzUmVmUHRyPE1lZGlhQ29uc3RyYWludHNJ
bXBsPiBNZWRpYUNvbnN0cmFpbnRzSW1wbDo6Y3JlYXRlKCkKK1Bhc3NSZWZQdHI8TWVkaWFDb25z
dHJhaW50cz4gTWVkaWFDb25zdHJhaW50czo6Y3JlYXRlKCkKIHsKLSAgICByZXR1cm4gYWRvcHRS
ZWYobmV3IE1lZGlhQ29uc3RyYWludHNJbXBsKCkpOworICAgIHJldHVybiBhZG9wdFJlZihuZXcg
TWVkaWFDb25zdHJhaW50cygpKTsKIH0KIAotYm9vbCBNZWRpYUNvbnN0cmFpbnRzSW1wbDo6aW5p
dGlhbGl6ZShjb25zdCBEaWN0aW9uYXJ5JiBjb25zdHJhaW50cykKK2Jvb2wgTWVkaWFDb25zdHJh
aW50czo6aW5pdGlhbGl6ZShjb25zdCBEaWN0aW9uYXJ5JiBjb25zdHJhaW50cykKIHsKICAgICBp
ZiAoY29uc3RyYWludHMuaXNVbmRlZmluZWRPck51bGwoKSkKICAgICAgICAgcmV0dXJuIHRydWU7
CkBAIC0xMTUsMTEgKzExNSw3IEBAIGJvb2wgTWVkaWFDb25zdHJhaW50c0ltcGw6OmluaXRpYWxp
emUoY29uc3QgRGljdGlvbmFyeSYgY29uc3RyYWludHMpCiAgICAgcmV0dXJuIHRydWU7CiB9CiAK
LU1lZGlhQ29uc3RyYWludHNJbXBsOjp+TWVkaWFDb25zdHJhaW50c0ltcGwoKQotewotfQotCi12
b2lkIE1lZGlhQ29uc3RyYWludHNJbXBsOjpnZXRNYW5kYXRvcnlDb25zdHJhaW50cyhWZWN0b3I8
TWVkaWFDb25zdHJhaW50PiYgY29uc3RyYWludHMpIGNvbnN0Cit2b2lkIE1lZGlhQ29uc3RyYWlu
dHM6OmdldE1hbmRhdG9yeUNvbnN0cmFpbnRzKFZlY3RvcjxNZWRpYUNvbnN0cmFpbnQ+JiBjb25z
dHJhaW50cykgY29uc3QKIHsKICAgICBjb25zdHJhaW50cy5jbGVhcigpOwogICAgIEhhc2hNYXA8
U3RyaW5nLCBTdHJpbmc+Ojpjb25zdF9pdGVyYXRvciBpID0gbV9tYW5kYXRvcnlDb25zdHJhaW50
cy5iZWdpbigpOwpAQCAtMTI3LDEzICsxMjMsMTMgQEAgdm9pZCBNZWRpYUNvbnN0cmFpbnRzSW1w
bDo6Z2V0TWFuZGF0b3J5Q29uc3RyYWludHMoVmVjdG9yPE1lZGlhQ29uc3RyYWludD4mIGNvbnMK
ICAgICAgICAgY29uc3RyYWludHMuYXBwZW5kKE1lZGlhQ29uc3RyYWludChpLT5rZXksIGktPnZh
bHVlKSk7CiB9CiAKLXZvaWQgTWVkaWFDb25zdHJhaW50c0ltcGw6OmdldE9wdGlvbmFsQ29uc3Ry
YWludHMoVmVjdG9yPE1lZGlhQ29uc3RyYWludD4mIGNvbnN0cmFpbnRzKSBjb25zdAordm9pZCBN
ZWRpYUNvbnN0cmFpbnRzOjpnZXRPcHRpb25hbENvbnN0cmFpbnRzKFZlY3RvcjxNZWRpYUNvbnN0
cmFpbnQ+JiBjb25zdHJhaW50cykgY29uc3QKIHsKICAgICBjb25zdHJhaW50cy5jbGVhcigpOwog
ICAgIGNvbnN0cmFpbnRzLmFwcGVuZFJhbmdlKG1fb3B0aW9uYWxDb25zdHJhaW50cy5iZWdpbigp
LCBtX29wdGlvbmFsQ29uc3RyYWludHMuZW5kKCkpOwogfQogCi1ib29sIE1lZGlhQ29uc3RyYWlu
dHNJbXBsOjpnZXRNYW5kYXRvcnlDb25zdHJhaW50VmFsdWUoY29uc3QgU3RyaW5nJiBuYW1lLCBT
dHJpbmcmIHZhbHVlKSBjb25zdAorYm9vbCBNZWRpYUNvbnN0cmFpbnRzOjpnZXRNYW5kYXRvcnlD
b25zdHJhaW50VmFsdWUoY29uc3QgU3RyaW5nJiBuYW1lLCBTdHJpbmcmIHZhbHVlKSBjb25zdAog
ewogICAgIEhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+Ojpjb25zdF9pdGVyYXRvciBpID0gbV9tYW5k
YXRvcnlDb25zdHJhaW50cy5maW5kKG5hbWUpOwogICAgIGlmIChpID09IG1fbWFuZGF0b3J5Q29u
c3RyYWludHMuZW5kKCkpCkBAIC0xNDMsNyArMTM5LDcgQEAgYm9vbCBNZWRpYUNvbnN0cmFpbnRz
SW1wbDo6Z2V0TWFuZGF0b3J5Q29uc3RyYWludFZhbHVlKGNvbnN0IFN0cmluZyYgbmFtZSwgU3Ry
aW4KICAgICByZXR1cm4gdHJ1ZTsKIH0KIAotYm9vbCBNZWRpYUNvbnN0cmFpbnRzSW1wbDo6Z2V0
T3B0aW9uYWxDb25zdHJhaW50VmFsdWUoY29uc3QgU3RyaW5nJiBuYW1lLCBTdHJpbmcmIHZhbHVl
KSBjb25zdAorYm9vbCBNZWRpYUNvbnN0cmFpbnRzOjpnZXRPcHRpb25hbENvbnN0cmFpbnRWYWx1
ZShjb25zdCBTdHJpbmcmIG5hbWUsIFN0cmluZyYgdmFsdWUpIGNvbnN0CiB7CiAgICAgVmVjdG9y
PE1lZGlhQ29uc3RyYWludD46OmNvbnN0X2l0ZXJhdG9yIGkgPSBtX29wdGlvbmFsQ29uc3RyYWlu
dHMuYmVnaW4oKTsKICAgICBmb3IgKDsgaSAhPSBtX29wdGlvbmFsQ29uc3RyYWludHMuZW5kKCk7
ICsraSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0v
TWVkaWFDb25zdHJhaW50cy5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9N
ZWRpYUNvbnN0cmFpbnRzLmgKc2ltaWxhcml0eSBpbmRleCA3NCUKcmVuYW1lIGZyb20gU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFDb25zdHJhaW50cy5oCnJlbmFtZSB0
byBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhQ29uc3RyYWludHMuaApp
bmRleCA1MTQxYzIyLi4wMmFjZjdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tZWRpYXN0cmVhbS9NZWRpYUNvbnN0cmFpbnRzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9NZWRpYUNvbnN0cmFpbnRzLmgKQEAgLTEsNSArMSw2IEBACiAvKgog
ICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTMgSWdhbGlhIFMuTC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucwpAQCAtMzMsMTAgKzM0LDE0IEBACiAKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQog
CisjaW5jbHVkZSAiRXhjZXB0aW9uQmFzZS5oIgorI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAj
aW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAjaW5j
bHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKK2NsYXNz
IERpY3Rpb25hcnk7CiAKIHN0cnVjdCBNZWRpYUNvbnN0cmFpbnQgewogICAgIE1lZGlhQ29uc3Ry
YWludChTdHJpbmcgbmFtZSwgU3RyaW5nIHZhbHVlKQpAQCAtNTEsMTYgKzU2LDIyIEBAIHN0cnVj
dCBNZWRpYUNvbnN0cmFpbnQgewogCiBjbGFzcyBNZWRpYUNvbnN0cmFpbnRzIDogcHVibGljIFJl
ZkNvdW50ZWQ8TWVkaWFDb25zdHJhaW50cz4gewogcHVibGljOgotICAgIHZpcnR1YWwgfk1lZGlh
Q29uc3RyYWludHMoKSB7IH0KKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxNZWRpYUNvbnN0cmFpbnRz
PiBjcmVhdGUoKTsKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxNZWRpYUNvbnN0cmFpbnRzPiBjcmVh
dGUoY29uc3QgRGljdGlvbmFyeSYsIEV4Y2VwdGlvbkNvZGUmKTsKIAotICAgIHZpcnR1YWwgdm9p
ZCBnZXRNYW5kYXRvcnlDb25zdHJhaW50cyhWZWN0b3I8TWVkaWFDb25zdHJhaW50PiYpIGNvbnN0
ID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgZ2V0T3B0aW9uYWxDb25zdHJhaW50cyhWZWN0b3I8TWVk
aWFDb25zdHJhaW50PiYpIGNvbnN0ID0gMDsKKyAgICB+TWVkaWFDb25zdHJhaW50cygpIHsgfQor
ICAgIGJvb2wgaW5pdGlhbGl6ZShjb25zdCBEaWN0aW9uYXJ5Jik7CiAKLSAgICB2aXJ0dWFsIGJv
b2wgZ2V0TWFuZGF0b3J5Q29uc3RyYWludFZhbHVlKGNvbnN0IFN0cmluZyYgbmFtZSwgU3RyaW5n
JiB2YWx1ZSkgY29uc3QgPSAwOwotICAgIHZpcnR1YWwgYm9vbCBnZXRPcHRpb25hbENvbnN0cmFp
bnRWYWx1ZShjb25zdCBTdHJpbmcmIG5hbWUsIFN0cmluZyYgdmFsdWUpIGNvbnN0ID0gMDsKKyAg
ICB2b2lkIGdldE1hbmRhdG9yeUNvbnN0cmFpbnRzKFZlY3RvcjxNZWRpYUNvbnN0cmFpbnQ+Jikg
Y29uc3Q7CisgICAgdm9pZCBnZXRPcHRpb25hbENvbnN0cmFpbnRzKFZlY3RvcjxNZWRpYUNvbnN0
cmFpbnQ+JikgY29uc3Q7CiAKLXByb3RlY3RlZDoKKyAgICBib29sIGdldE1hbmRhdG9yeUNvbnN0
cmFpbnRWYWx1ZShjb25zdCBTdHJpbmcmIG5hbWUsIFN0cmluZyYgdmFsdWUpIGNvbnN0OworICAg
IGJvb2wgZ2V0T3B0aW9uYWxDb25zdHJhaW50VmFsdWUoY29uc3QgU3RyaW5nJiBuYW1lLCBTdHJp
bmcmIHZhbHVlKSBjb25zdDsKKworcHJpdmF0ZToKICAgICBNZWRpYUNvbnN0cmFpbnRzKCkgeyB9
CisgICAgSGFzaE1hcDxTdHJpbmcsIFN0cmluZz4gbV9tYW5kYXRvcnlDb25zdHJhaW50czsKKyAg
ICBWZWN0b3I8TWVkaWFDb25zdHJhaW50PiBtX29wdGlvbmFsQ29uc3RyYWludHM7CiB9OwogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL01lZGlhQ29uc3RyYWludHNJbXBsLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL01lZGlhQ29uc3RyYWludHNJbXBsLmgKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDEzNzJhODcuLjAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXN0cmVhbS9NZWRpYUNvbnN0cmFpbnRzSW1wbC5oCisrKyAvZGV2L251bGwKQEAgLTEs
NzEgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0
OgotICoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
Ci0gKiAgICBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlCi0gKiAgICBkaXN0cmlidXRpb24uCi0gKiAzLiBOZWl0aGVyIHRoZSBuYW1l
IG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycwotICogICAg
bWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0
aGlzCi0gKiAgICBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCi0gKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCi0g
KiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVAotICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCi0gKiBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwKLSAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWQotICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgotICovCi0KLSNpZm5kZWYgTWVkaWFDb25zdHJhaW50c0ltcGxfaAotI2RlZmlu
ZSBNZWRpYUNvbnN0cmFpbnRzSW1wbF9oCi0KLSNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQotCi0j
aW5jbHVkZSAiRXhjZXB0aW9uQmFzZS5oIgotI2luY2x1ZGUgIk1lZGlhQ29uc3RyYWludHMuaCIK
LSNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KLQotbmFt
ZXNwYWNlIFdlYkNvcmUgewotY2xhc3MgRGljdGlvbmFyeTsKLQotY2xhc3MgTWVkaWFDb25zdHJh
aW50c0ltcGwgOiBwdWJsaWMgTWVkaWFDb25zdHJhaW50cyB7Ci1wdWJsaWM6Ci0gICAgc3RhdGlj
IFBhc3NSZWZQdHI8TWVkaWFDb25zdHJhaW50c0ltcGw+IGNyZWF0ZSgpOwotICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPE1lZGlhQ29uc3RyYWludHNJbXBsPiBjcmVhdGUoY29uc3QgRGljdGlvbmFyeSYs
IEV4Y2VwdGlvbkNvZGUmKTsKLQotICAgIHZpcnR1YWwgfk1lZGlhQ29uc3RyYWludHNJbXBsKCk7
Ci0gICAgYm9vbCBpbml0aWFsaXplKGNvbnN0IERpY3Rpb25hcnkmKTsKLQotICAgIHZpcnR1YWwg
dm9pZCBnZXRNYW5kYXRvcnlDb25zdHJhaW50cyhWZWN0b3I8TWVkaWFDb25zdHJhaW50PiYpIGNv
bnN0IE9WRVJSSURFOwotICAgIHZpcnR1YWwgdm9pZCBnZXRPcHRpb25hbENvbnN0cmFpbnRzKFZl
Y3RvcjxNZWRpYUNvbnN0cmFpbnQ+JikgY29uc3QgT1ZFUlJJREU7Ci0KLSAgICB2aXJ0dWFsIGJv
b2wgZ2V0TWFuZGF0b3J5Q29uc3RyYWludFZhbHVlKGNvbnN0IFN0cmluZyYgbmFtZSwgU3RyaW5n
JiB2YWx1ZSkgY29uc3QgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCBib29sIGdldE9wdGlvbmFsQ29u
c3RyYWludFZhbHVlKGNvbnN0IFN0cmluZyYgbmFtZSwgU3RyaW5nJiB2YWx1ZSkgY29uc3QgT1ZF
UlJJREU7Ci0KLXByaXZhdGU6Ci0gICAgTWVkaWFDb25zdHJhaW50c0ltcGwoKSB7IH0KLQotICAg
IEhhc2hNYXA8U3RyaW5nLCBTdHJpbmc+IG1fbWFuZGF0b3J5Q29uc3RyYWludHM7Ci0gICAgVmVj
dG9yPE1lZGlhQ29uc3RyYWludD4gbV9vcHRpb25hbENvbnN0cmFpbnRzOwotfTsKLQotfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYgLy8gRU5BQkxFKE1FRElBX1NUUkVBTSkKLQotI2Vu
ZGlmIC8vIE1lZGlhQ29uc3RyYWludHNJbXBsX2gKLQotCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtVHJhY2suY3BwIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmNwcAppbmRleCA0NzZk
ZWMxLi4xYWVmMTliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3Ry
ZWFtL01lZGlhU3RyZWFtVHJhY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vTWVkaWFTdHJlYW1UcmFjay5jcHAKQEAgLTM3LDcgKzM3LDcgQEAKICNpbmNsdWRl
ICJFdmVudC5oIgogI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKICNpbmNsdWRlICJFeGNlcHRp
b25Db2RlUGxhY2Vob2xkZXIuaCIKLSNpbmNsdWRlICJNZWRpYUNvbnN0cmFpbnRzSW1wbC5oIgor
I2luY2x1ZGUgIk1lZGlhQ29uc3RyYWludHMuaCIKICNpbmNsdWRlICJNZWRpYVNvdXJjZVN0YXRl
cy5oIgogI2luY2x1ZGUgIk1lZGlhU3RyZWFtLmgiCiAjaW5jbHVkZSAiTWVkaWFTdHJlYW1DZW50
ZXIuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVk
aWFTdHJlYW1UcmFjay5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRp
YVN0cmVhbVRyYWNrLmgKaW5kZXggODQ4M2RmOS4uMmVkNjFhYSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVN0cmVhbVRyYWNrLmgKQEAgLTQz
LDcgKzQzLDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRGljdGlvbmFyeTsKLWNs
YXNzIE1lZGlhQ29uc3RyYWludHNJbXBsOworY2xhc3MgTWVkaWFDb25zdHJhaW50czsKIGNsYXNz
IE1lZGlhU291cmNlU3RhdGVzOwogY2xhc3MgTWVkaWFTdHJlYW1UcmFja1NvdXJjZXNDYWxsYmFj
azsKIGNsYXNzIE1lZGlhU3RyZWFtQ2FwYWJpbGl0aWVzOwpAQCAtMTMyLDcgKzEzMiw3IEBAIHBy
aXZhdGU6CiAKICAgICBWZWN0b3I8UmVmUHRyPEV2ZW50Pj4gbV9zY2hlZHVsZWRFdmVudHM7CiAK
LSAgICBSZWZQdHI8TWVkaWFDb25zdHJhaW50c0ltcGw+IG1fY29uc3RyYWludHM7CisgICAgUmVm
UHRyPE1lZGlhQ29uc3RyYWludHM+IG1fY29uc3RyYWludHM7CiAgICAgTXV0ZXggbV9tdXRleDsK
IAogICAgIFZlY3RvcjxPYnNlcnZlcio+IG1fb2JzZXJ2ZXJzOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVRyYWNrQ29uc3RyYWludHMuY3BwIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVRyYWNrQ29uc3RyYWludHMu
Y3BwCmluZGV4IDc3YjEwNTQuLmY4MWI2MmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFUcmFja0NvbnN0cmFpbnRzLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhVHJhY2tDb25zdHJhaW50cy5jcHAKQEAg
LTM4LDEyICszOCwxMiBAQCB1c2luZyBuYW1lc3BhY2UgSlNDOwogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKLVJlZlB0cjxNZWRpYVRyYWNrQ29uc3RyYWludHM+IE1lZGlhVHJhY2tDb25zdHJhaW50
czo6Y3JlYXRlKFBhc3NSZWZQdHI8TWVkaWFDb25zdHJhaW50c0ltcGw+IGNvbnN0cmFpbnRzKQor
UmVmUHRyPE1lZGlhVHJhY2tDb25zdHJhaW50cz4gTWVkaWFUcmFja0NvbnN0cmFpbnRzOjpjcmVh
dGUoUGFzc1JlZlB0cjxNZWRpYUNvbnN0cmFpbnRzPiBjb25zdHJhaW50cykKIHsKICAgICByZXR1
cm4gYWRvcHRSZWYobmV3IE1lZGlhVHJhY2tDb25zdHJhaW50cyhjb25zdHJhaW50cykpOwogfQog
Ci1NZWRpYVRyYWNrQ29uc3RyYWludHM6Ok1lZGlhVHJhY2tDb25zdHJhaW50cyhQYXNzUmVmUHRy
PE1lZGlhQ29uc3RyYWludHNJbXBsPiBjb25zdHJhaW50cykKK01lZGlhVHJhY2tDb25zdHJhaW50
czo6TWVkaWFUcmFja0NvbnN0cmFpbnRzKFBhc3NSZWZQdHI8TWVkaWFDb25zdHJhaW50cz4gY29u
c3RyYWludHMpCiAgICAgOiBtX2NvbnN0cmFpbnRzKGNvbnN0cmFpbnRzKQogewogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVRyYWNrQ29uc3Ry
YWludHMuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vTWVkaWFUcmFja0Nv
bnN0cmFpbnRzLmgKaW5kZXggOTVhOGNjYS4uNjkzZDQ5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9NZWRpYVRyYWNrQ29uc3RyYWludHMuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL01lZGlhVHJhY2tDb25zdHJhaW50cy5o
CkBAIC0yOSw3ICsyOSw3IEBACiAKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQogCi0jaW5jbHVk
ZSAiTWVkaWFDb25zdHJhaW50c0ltcGwuaCIKKyNpbmNsdWRlICJNZWRpYUNvbnN0cmFpbnRzLmgi
CiAjaW5jbHVkZSAiU2NyaXB0V3JhcHBhYmxlLmgiCiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQu
aD4KIApAQCAtNDIsMTUgKzQyLDE1IEBAIGNsYXNzIE1lZGlhVHJhY2tDb25zdHJhaW50cyA6IHB1
YmxpYyBSZWZDb3VudGVkPE1lZGlhVHJhY2tDb25zdHJhaW50cz4sIHB1YmxpYyBTCiBwdWJsaWM6
CiAgICAgdmlydHVhbCB+TWVkaWFUcmFja0NvbnN0cmFpbnRzKCkgeyB9CiAKLSAgICBzdGF0aWMg
UmVmUHRyPE1lZGlhVHJhY2tDb25zdHJhaW50cz4gY3JlYXRlKFBhc3NSZWZQdHI8TWVkaWFDb25z
dHJhaW50c0ltcGw+KTsKKyAgICBzdGF0aWMgUmVmUHRyPE1lZGlhVHJhY2tDb25zdHJhaW50cz4g
Y3JlYXRlKFBhc3NSZWZQdHI8TWVkaWFDb25zdHJhaW50cz4pOwogCiAgICAgVmVjdG9yPFBhc3NS
ZWZQdHI8TWVkaWFUcmFja0NvbnN0cmFpbnQ+PiBvcHRpb25hbChib29sKSBjb25zdDsKICAgICBS
ZWZQdHI8TWVkaWFUcmFja0NvbnN0cmFpbnRTZXQ+IG1hbmRhdG9yeShib29sKSBjb25zdDsKIAog
cHJpdmF0ZToKLSAgICBleHBsaWNpdCBNZWRpYVRyYWNrQ29uc3RyYWludHMoUGFzc1JlZlB0cjxN
ZWRpYUNvbnN0cmFpbnRzSW1wbD4pOworICAgIGV4cGxpY2l0IE1lZGlhVHJhY2tDb25zdHJhaW50
cyhQYXNzUmVmUHRyPE1lZGlhQ29uc3RyYWludHM+KTsKICAgICAKLSAgICBSZWZQdHI8TWVkaWFD
b25zdHJhaW50c0ltcGw+IG1fY29uc3RyYWludHM7CisgICAgUmVmUHRyPE1lZGlhQ29uc3RyYWlu
dHM+IG1fY29uc3RyYWludHM7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9u
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rp
b24uY3BwCmluZGV4IDg3MGIxOGMuLjZmYjc5MzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uY3BwCkBAIC00Miw3
ICs0Miw3IEBACiAjaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJGcmFtZUxvYWRlci5oIgog
I2luY2x1ZGUgIkZyYW1lTG9hZGVyQ2xpZW50LmgiCi0jaW5jbHVkZSAiTWVkaWFDb25zdHJhaW50
c0ltcGwuaCIKKyNpbmNsdWRlICJNZWRpYUNvbnN0cmFpbnRzLmgiCiAjaW5jbHVkZSAiTWVkaWFT
dHJlYW1FdmVudC5oIgogI2luY2x1ZGUgIlJUQ0NvbmZpZ3VyYXRpb24uaCIKICNpbmNsdWRlICJS
VENEVE1GU2VuZGVyLmgiCkBAIC0xMjEsNyArMTIxLDcgQEAgUGFzc1JlZlB0cjxSVENQZWVyQ29u
bmVjdGlvbj4gUlRDUGVlckNvbm5lY3Rpb246OmNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0
JgogICAgIGlmIChlYykKICAgICAgICAgcmV0dXJuIDA7CiAKLSAgICBSZWZQdHI8TWVkaWFDb25z
dHJhaW50cz4gY29uc3RyYWludHMgPSBNZWRpYUNvbnN0cmFpbnRzSW1wbDo6Y3JlYXRlKG1lZGlh
Q29uc3RyYWludHMsIGVjKTsKKyAgICBSZWZQdHI8TWVkaWFDb25zdHJhaW50cz4gY29uc3RyYWlu
dHMgPSBNZWRpYUNvbnN0cmFpbnRzOjpjcmVhdGUobWVkaWFDb25zdHJhaW50cywgZWMpOwogICAg
IGlmIChlYykKICAgICAgICAgcmV0dXJuIDA7CiAKQEAgLTE3OSw3ICsxNzksNyBAQCB2b2lkIFJU
Q1BlZXJDb25uZWN0aW9uOjpjcmVhdGVPZmZlcihQYXNzUmVmUHRyPFJUQ1Nlc3Npb25EZXNjcmlw
dGlvbkNhbGxiYWNrPiBzdQogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgUmVmUHRyPE1l
ZGlhQ29uc3RyYWludHM+IGNvbnN0cmFpbnRzID0gTWVkaWFDb25zdHJhaW50c0ltcGw6OmNyZWF0
ZShtZWRpYUNvbnN0cmFpbnRzLCBlYyk7CisgICAgUmVmUHRyPE1lZGlhQ29uc3RyYWludHM+IGNv
bnN0cmFpbnRzID0gTWVkaWFDb25zdHJhaW50czo6Y3JlYXRlKG1lZGlhQ29uc3RyYWludHMsIGVj
KTsKICAgICBpZiAoZWMpCiAgICAgICAgIHJldHVybjsKIApAQCAtMTk5LDcgKzE5OSw3IEBAIHZv
aWQgUlRDUGVlckNvbm5lY3Rpb246OmNyZWF0ZUFuc3dlcihQYXNzUmVmUHRyPFJUQ1Nlc3Npb25E
ZXNjcmlwdGlvbkNhbGxiYWNrPiBzCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBSZWZQ
dHI8TWVkaWFDb25zdHJhaW50cz4gY29uc3RyYWludHMgPSBNZWRpYUNvbnN0cmFpbnRzSW1wbDo6
Y3JlYXRlKG1lZGlhQ29uc3RyYWludHMsIGVjKTsKKyAgICBSZWZQdHI8TWVkaWFDb25zdHJhaW50
cz4gY29uc3RyYWludHMgPSBNZWRpYUNvbnN0cmFpbnRzOjpjcmVhdGUobWVkaWFDb25zdHJhaW50
cywgZWMpOwogICAgIGlmIChlYykKICAgICAgICAgcmV0dXJuOwogCkBAIC0yNzYsNyArMjc2LDcg
QEAgdm9pZCBSVENQZWVyQ29ubmVjdGlvbjo6dXBkYXRlSWNlKGNvbnN0IERpY3Rpb25hcnkmIHJ0
Y0NvbmZpZ3VyYXRpb24sIGNvbnN0IERpY3QKICAgICBpZiAoZWMpCiAgICAgICAgIHJldHVybjsK
IAotICAgIFJlZlB0cjxNZWRpYUNvbnN0cmFpbnRzPiBjb25zdHJhaW50cyA9IE1lZGlhQ29uc3Ry
YWludHNJbXBsOjpjcmVhdGUobWVkaWFDb25zdHJhaW50cywgZWMpOworICAgIFJlZlB0cjxNZWRp
YUNvbnN0cmFpbnRzPiBjb25zdHJhaW50cyA9IE1lZGlhQ29uc3RyYWludHM6OmNyZWF0ZShtZWRp
YUNvbnN0cmFpbnRzLCBlYyk7CiAgICAgaWYgKGVjKQogICAgICAgICByZXR1cm47CiAKQEAgLTM3
OSw3ICszNzksNyBAQCB2b2lkIFJUQ1BlZXJDb25uZWN0aW9uOjphZGRTdHJlYW0oUGFzc1JlZlB0
cjxNZWRpYVN0cmVhbT4gcHJwU3RyZWFtLCBjb25zdCBEaWN0aQogICAgIGlmIChtX2xvY2FsU3Ry
ZWFtcy5jb250YWlucyhzdHJlYW0pKQogICAgICAgICByZXR1cm47CiAKLSAgICBSZWZQdHI8TWVk
aWFDb25zdHJhaW50cz4gY29uc3RyYWludHMgPSBNZWRpYUNvbnN0cmFpbnRzSW1wbDo6Y3JlYXRl
KG1lZGlhQ29uc3RyYWludHMsIGVjKTsKKyAgICBSZWZQdHI8TWVkaWFDb25zdHJhaW50cz4gY29u
c3RyYWludHMgPSBNZWRpYUNvbnN0cmFpbnRzOjpjcmVhdGUobWVkaWFDb25zdHJhaW50cywgZWMp
OwogICAgIGlmIChlYykKICAgICAgICAgcmV0dXJuOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRpYVJlcXVlc3QuY3BwIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFSZXF1ZXN0LmNwcAppbmRleCBlZDQ0
MzgwLi4xNWY5NTFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3Ry
ZWFtL1VzZXJNZWRpYVJlcXVlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vVXNlck1lZGlhUmVxdWVzdC5jcHAKQEAgLTQwLDcgKzQwLDcgQEAKICNpbmNsdWRl
ICJEaWN0aW9uYXJ5LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJFeGNlcHRp
b25Db2RlLmgiCi0jaW5jbHVkZSAiTWVkaWFDb25zdHJhaW50c0ltcGwuaCIKKyNpbmNsdWRlICJN
ZWRpYUNvbnN0cmFpbnRzLmgiCiAjaW5jbHVkZSAiTWVkaWFTdHJlYW0uaCIKICNpbmNsdWRlICJN
ZWRpYVN0cmVhbUNlbnRlci5oIgogI2luY2x1ZGUgIk1lZGlhU3RyZWFtUHJpdmF0ZS5oIgpAQCAt
NTgsMTIgKzU4LDEyIEBAIHN0YXRpYyBQYXNzUmVmUHRyPE1lZGlhQ29uc3RyYWludHM+IHBhcnNl
T3B0aW9ucyhjb25zdCBEaWN0aW9uYXJ5JiBvcHRpb25zLCBjb25zCiAgICAgRGljdGlvbmFyeSBj
b25zdHJhaW50c0RpY3Rpb25hcnk7CiAgICAgYm9vbCBvayA9IG9wdGlvbnMuZ2V0KG1lZGlhVHlw
ZSwgY29uc3RyYWludHNEaWN0aW9uYXJ5KTsKICAgICBpZiAob2sgJiYgIWNvbnN0cmFpbnRzRGlj
dGlvbmFyeS5pc1VuZGVmaW5lZE9yTnVsbCgpKQotICAgICAgICBjb25zdHJhaW50cyA9IE1lZGlh
Q29uc3RyYWludHNJbXBsOjpjcmVhdGUoY29uc3RyYWludHNEaWN0aW9uYXJ5LCBlYyk7CisgICAg
ICAgIGNvbnN0cmFpbnRzID0gTWVkaWFDb25zdHJhaW50czo6Y3JlYXRlKGNvbnN0cmFpbnRzRGlj
dGlvbmFyeSwgZWMpOwogICAgIGVsc2UgewogICAgICAgICBib29sIG1lZGlhUmVxdWVzdGVkID0g
ZmFsc2U7CiAgICAgICAgIG9wdGlvbnMuZ2V0KG1lZGlhVHlwZSwgbWVkaWFSZXF1ZXN0ZWQpOwog
ICAgICAgICBpZiAobWVkaWFSZXF1ZXN0ZWQpCi0gICAgICAgICAgICBjb25zdHJhaW50cyA9IE1l
ZGlhQ29uc3RyYWludHNJbXBsOjpjcmVhdGUoKTsKKyAgICAgICAgICAgIGNvbnN0cmFpbnRzID0g
TWVkaWFDb25zdHJhaW50czo6Y3JlYXRlKCk7CiAgICAgfQogCiAgICAgcmV0dXJuIGNvbnN0cmFp
bnRzLnJlbGVhc2UoKTsKLS0gCjEuOC40LnJjMw==
</data>

          </attachment>
      

    </bug>

</bugzilla>