<?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>218689</bug_id>
          
          <creation_ts>2020-11-07 11:52:12 -0800</creation_ts>
          <short_desc>Clean up some logic in RemoteImageBuffer and RemoteRenderingBackend</short_desc>
          <delta_ts>2020-11-07 14:13:38 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>DoNotImportToRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>218426</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>sam</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1705555</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-11-07 11:52:12 -0800</bug_when>
    <thetext>Namely: make RemoteRenderingBackend the ItemBufferReadingClient, so that we don&apos;t need to static_cast image buffers to their concrete classes in RemoteRenderingBackend.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1705556</commentid>
    <comment_count>1</comment_count>
      <attachid>413532</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-11-07 12:10:36 -0800</bug_when>
    <thetext>Created attachment 413532
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1705562</commentid>
    <comment_count>2</comment_count>
      <attachid>413532</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-11-07 14:03:48 -0800</bug_when>
    <thetext>Comment on attachment 413532
Patch

Thanks for the review!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1705563</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-11-07 14:13:37 -0800</bug_when>
    <thetext>Committed r269564: &lt;https://trac.webkit.org/changeset/269564&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 413532.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>413532</attachid>
            <date>2020-11-07 12:10:36 -0800</date>
            <delta_ts>2020-11-07 14:13:37 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218689-20201107121035.patch</filename>
            <type>text/plain</type>
            <size>19718</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5NTYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGU2M2RjZjg2NTgxZmIzNTFm
ZjE4OTU5Y2ViMGY0NWU5OTczODM3YjkuLmYzYWI0NTFhMTQ3N2JlMjM1ODEwYTk2YjdmMjYyNDE4
YmQ1Mzg3NWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzIgQEAKKzIwMjAtMTEtMDcgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgQ2xlYW4gdXAgc29tZSBs
b2dpYyBpbiBSZW1vdGVJbWFnZUJ1ZmZlciBhbmQgUmVtb3RlUmVuZGVyaW5nQmFja2VuZAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4Njg5CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTW92ZSB0aGUgaW1w
bGVtZW50YXRpb24gb2YgYGRlY29kZUl0ZW1gIG91dCBvZiBgUmVtb3RlSW1hZ2VCdWZmZXJgLCBh
bmQgaW50byBgUmVtb3RlUmVuZGVyaW5nQmFja2VuZGAuIFRoaXMKKyAgICAgICAgYWxsb3dzIHVz
IHRvIGF2b2lkIGBzdGF0aWNfY2FzdGAtaW5nIGltYWdlIGJ1ZmZlcnMgdG8gdGhlaXIgdW5hY2Nl
bGVyYXRlZCBvciBhY2NlbGVyYXRlZCB2ZXJzaW9ucyB3aGVuIHNldHRpbmcKKyAgICAgICAgdGhl
IGRpc3BsYXkgbGlzdCdzIGl0ZW0gYnVmZmVyIGNsaWVudCBpbiB0aGUgR1BVIHByb2Nlc3MuCisK
KyAgICAgICAgTm8gY2hhbmdlIGluIGJlaGF2aW9yLgorCisgICAgICAgICogR1BVUHJvY2Vzcy9n
cmFwaGljcy9SZW1vdGVJbWFnZUJ1ZmZlci5oOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVJbWFn
ZUJ1ZmZlcjo6ZGVjb2RlQW5kQ3JlYXRlKTogRGVsZXRlZC4KKyAgICAgICAgKiBHUFVQcm9jZXNz
L2dyYXBoaWNzL1JlbW90ZVJlbmRlcmluZ0JhY2tlbmQuY3BwOgorICAgICAgICAoV2ViS2l0OjpS
ZW1vdGVSZW5kZXJpbmdCYWNrZW5kOjpjcmVhdGVJbWFnZUJ1ZmZlcik6CisgICAgICAgIChXZWJL
aXQ6OlJlbW90ZVJlbmRlcmluZ0JhY2tlbmQ6OmFwcGx5RGlzcGxheUxpc3QpOgorCisgICAgICAg
IEFsc28sIHJlbW92ZSBhIGNvdXBsZSBvZiB1bm5lY2Vzc2FyeSBgV2ViQ29yZTo6YCBuYW1lc3Bh
Y2UgcHJlZml4ZXMgd2hpbGUgd2UncmUgaGVyZS4KKworICAgICAgICAoV2ViS2l0OjpSZW1vdGVS
ZW5kZXJpbmdCYWNrZW5kOjpkZWNvZGVJdGVtKToKKworICAgICAgICBNb3ZlIGBkZWNvZGVJdGVt
YCBpbnRvIHRoZSByZW5kZXJpbmcgYmFja2VuZC4gVGhpcyBhbHNvIGhhcyB0aGUgYWRkZWQgYm9u
dXMgb2YgbGV0dGluZyB1cyBwdXQgdGhlIG1ldGhvZAorICAgICAgICBkZWZpbml0aW9uIGluIHRo
ZSBpbXBsZW1lbnRhdGlvbiBmaWxlIGluc3RlYWQgb2YgYSBoZWFkZXIgKGkuZS4gYFJlbW90ZVJl
bmRlcmluZ0JhY2tlbmQuY3BwYCkuCisKKyAgICAgICAgKiBHUFVQcm9jZXNzL2dyYXBoaWNzL1Jl
bW90ZVJlbmRlcmluZ0JhY2tlbmQuaDoKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlUmVuZGVyaW5n
QmFja2VuZDo6ZGVjb2RlQW5kQ3JlYXRlKToKKwogMjAyMC0xMS0wNiAgUGVuZyBMaXUgIDxwZW5n
LmxpdTZAYXBwbGUuY29tPgogCiAgICAgICAgIFBpUCByZXR1cm4gdG8gZWxlbWVudCBmdWxsIHNj
cmVlbiBpcyBub3Qgc21vb3RoIG9uIHNvbWUgd2Vic2l0ZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVJbWFnZUJ1ZmZlci5oIGIvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90ZUltYWdlQnVmZmVyLmgKaW5kZXggZGE5OTU4
MjQ2ZDUwYTg2MTdmODg3ZGZlNDBiNDY1MTFlNDc1MzkwMS4uNWQzM2Q4OGFlMzE0NGY2MGM1MWQ4
NjA2MzY2MGI0NDRjN2I2YmFhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNz
L2dyYXBoaWNzL1JlbW90ZUltYWdlQnVmZmVyLmgKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9j
ZXNzL2dyYXBoaWNzL1JlbW90ZUltYWdlQnVmZmVyLmgKQEAgLTM3LDcgKzM3LDcgQEAKIG5hbWVz
cGFjZSBXZWJLaXQgewogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBCYWNrZW5kVHlwZT4KLWNsYXNzIFJl
bW90ZUltYWdlQnVmZmVyIDogcHVibGljIFdlYkNvcmU6OkNvbmNyZXRlSW1hZ2VCdWZmZXI8QmFj
a2VuZFR5cGU+LCBwdWJsaWMgV2ViQ29yZTo6RGlzcGxheUxpc3Q6OlJlcGxheWVyOjpEZWxlZ2F0
ZSwgcHVibGljIFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpJdGVtQnVmZmVyUmVhZGluZ0NsaWVudCB7
CitjbGFzcyBSZW1vdGVJbWFnZUJ1ZmZlciA6IHB1YmxpYyBXZWJDb3JlOjpDb25jcmV0ZUltYWdl
QnVmZmVyPEJhY2tlbmRUeXBlPiwgcHVibGljIFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpSZXBsYXll
cjo6RGVsZWdhdGUgewogICAgIHVzaW5nIEJhc2VDb25jcmV0ZUltYWdlQnVmZmVyID0gV2ViQ29y
ZTo6Q29uY3JldGVJbWFnZUJ1ZmZlcjxCYWNrZW5kVHlwZT47CiAgICAgdXNpbmcgQmFzZUNvbmNy
ZXRlSW1hZ2VCdWZmZXI6OmNvbnRleHQ7CiAgICAgdXNpbmcgQmFzZUNvbmNyZXRlSW1hZ2VCdWZm
ZXI6Om1fYmFja2VuZDsKQEAgLTk1LDExNyArOTUsNiBAQCBwcml2YXRlOgogICAgICAgICByZXR1
cm4gbV9yZW1vdGVSZW5kZXJpbmdCYWNrZW5kLmFwcGx5TWVkaWFJdGVtKGl0ZW0sIGNvbnRleHQp
OwogICAgIH0KIAotICAgIE9wdGlvbmFsPFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpJdGVtSGFuZGxl
PiBXQVJOX1VOVVNFRF9SRVRVUk4gZGVjb2RlSXRlbShjb25zdCB1aW50OF90KiBkYXRhLCBzaXpl
X3QgbGVuZ3RoLCBXZWJDb3JlOjpEaXNwbGF5TGlzdDo6SXRlbVR5cGUgdHlwZSwgdWludDhfdCog
aGFuZGxlTG9jYXRpb24pIG92ZXJyaWRlCi0gICAgewotICAgICAgICBzd2l0Y2ggKHR5cGUpIHsK
LSAgICAgICAgY2FzZSBXZWJDb3JlOjpEaXNwbGF5TGlzdDo6SXRlbVR5cGU6OkNsaXBPdXRUb1Bh
dGg6Ci0gICAgICAgICAgICByZXR1cm4gZGVjb2RlQW5kQ3JlYXRlPFdlYkNvcmU6OkRpc3BsYXlM
aXN0OjpDbGlwT3V0VG9QYXRoPihkYXRhLCBsZW5ndGgsIGhhbmRsZUxvY2F0aW9uKTsKLSAgICAg
ICAgY2FzZSBXZWJDb3JlOjpEaXNwbGF5TGlzdDo6SXRlbVR5cGU6OkNsaXBQYXRoOgotICAgICAg
ICAgICAgcmV0dXJuIGRlY29kZUFuZENyZWF0ZTxXZWJDb3JlOjpEaXNwbGF5TGlzdDo6Q2xpcFBh
dGg+KGRhdGEsIGxlbmd0aCwgaGFuZGxlTG9jYXRpb24pOwotICAgICAgICBjYXNlIFdlYkNvcmU6
OkRpc3BsYXlMaXN0OjpJdGVtVHlwZTo6Q2xpcFRvRHJhd2luZ0NvbW1hbmRzOgotICAgICAgICAg
ICAgcmV0dXJuIGRlY29kZUFuZENyZWF0ZTxXZWJDb3JlOjpEaXNwbGF5TGlzdDo6Q2xpcFRvRHJh
d2luZ0NvbW1hbmRzPihkYXRhLCBsZW5ndGgsIGhhbmRsZUxvY2F0aW9uKTsKLSAgICAgICAgY2Fz
ZSBXZWJDb3JlOjpEaXNwbGF5TGlzdDo6SXRlbVR5cGU6OkRyYXdGb2N1c1JpbmdQYXRoOgotICAg
ICAgICAgICAgcmV0dXJuIGRlY29kZUFuZENyZWF0ZTxXZWJDb3JlOjpEaXNwbGF5TGlzdDo6RHJh
d0ZvY3VzUmluZ1BhdGg+KGRhdGEsIGxlbmd0aCwgaGFuZGxlTG9jYXRpb24pOwotICAgICAgICBj
YXNlIFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpJdGVtVHlwZTo6RHJhd0ZvY3VzUmluZ1JlY3RzOgot
ICAgICAgICAgICAgcmV0dXJuIGRlY29kZUFuZENyZWF0ZTxXZWJDb3JlOjpEaXNwbGF5TGlzdDo6
RHJhd0ZvY3VzUmluZ1JlY3RzPihkYXRhLCBsZW5ndGgsIGhhbmRsZUxvY2F0aW9uKTsKLSAgICAg
ICAgY2FzZSBXZWJDb3JlOjpEaXNwbGF5TGlzdDo6SXRlbVR5cGU6OkRyYXdHbHlwaHM6Ci0gICAg
ICAgICAgICByZXR1cm4gZGVjb2RlQW5kQ3JlYXRlPFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpEcmF3
R2x5cGhzPihkYXRhLCBsZW5ndGgsIGhhbmRsZUxvY2F0aW9uKTsKLSAgICAgICAgY2FzZSBXZWJD
b3JlOjpEaXNwbGF5TGlzdDo6SXRlbVR5cGU6OkRyYXdJbWFnZToKLSAgICAgICAgICAgIHJldHVy
biBkZWNvZGVBbmRDcmVhdGU8V2ViQ29yZTo6RGlzcGxheUxpc3Q6OkRyYXdJbWFnZT4oZGF0YSwg
bGVuZ3RoLCBoYW5kbGVMb2NhdGlvbik7Ci0gICAgICAgIGNhc2UgV2ViQ29yZTo6RGlzcGxheUxp
c3Q6Okl0ZW1UeXBlOjpEcmF3TGluZXNGb3JUZXh0OgotICAgICAgICAgICAgcmV0dXJuIGRlY29k
ZUFuZENyZWF0ZTxXZWJDb3JlOjpEaXNwbGF5TGlzdDo6RHJhd0xpbmVzRm9yVGV4dD4oZGF0YSwg
bGVuZ3RoLCBoYW5kbGVMb2NhdGlvbik7Ci0gICAgICAgIGNhc2UgV2ViQ29yZTo6RGlzcGxheUxp
c3Q6Okl0ZW1UeXBlOjpEcmF3TmF0aXZlSW1hZ2U6Ci0gICAgICAgICAgICByZXR1cm4gZGVjb2Rl
QW5kQ3JlYXRlPFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpEcmF3TmF0aXZlSW1hZ2U+KGRhdGEsIGxl
bmd0aCwgaGFuZGxlTG9jYXRpb24pOwotICAgICAgICBjYXNlIFdlYkNvcmU6OkRpc3BsYXlMaXN0
OjpJdGVtVHlwZTo6RHJhd1BhdGg6Ci0gICAgICAgICAgICByZXR1cm4gZGVjb2RlQW5kQ3JlYXRl
PFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpEcmF3UGF0aD4oZGF0YSwgbGVuZ3RoLCBoYW5kbGVMb2Nh
dGlvbik7Ci0gICAgICAgIGNhc2UgV2ViQ29yZTo6RGlzcGxheUxpc3Q6Okl0ZW1UeXBlOjpEcmF3
UGF0dGVybjoKLSAgICAgICAgICAgIHJldHVybiBkZWNvZGVBbmRDcmVhdGU8V2ViQ29yZTo6RGlz
cGxheUxpc3Q6OkRyYXdQYXR0ZXJuPihkYXRhLCBsZW5ndGgsIGhhbmRsZUxvY2F0aW9uKTsKLSAg
ICAgICAgY2FzZSBXZWJDb3JlOjpEaXNwbGF5TGlzdDo6SXRlbVR5cGU6OkRyYXdUaWxlZEltYWdl
OgotICAgICAgICAgICAgcmV0dXJuIGRlY29kZUFuZENyZWF0ZTxXZWJDb3JlOjpEaXNwbGF5TGlz
dDo6RHJhd1RpbGVkSW1hZ2U+KGRhdGEsIGxlbmd0aCwgaGFuZGxlTG9jYXRpb24pOwotICAgICAg
ICBjYXNlIFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpJdGVtVHlwZTo6RHJhd1RpbGVkU2NhbGVkSW1h
Z2U6Ci0gICAgICAgICAgICByZXR1cm4gZGVjb2RlQW5kQ3JlYXRlPFdlYkNvcmU6OkRpc3BsYXlM
aXN0OjpEcmF3VGlsZWRTY2FsZWRJbWFnZT4oZGF0YSwgbGVuZ3RoLCBoYW5kbGVMb2NhdGlvbik7
Ci0gICAgICAgIGNhc2UgV2ViQ29yZTo6RGlzcGxheUxpc3Q6Okl0ZW1UeXBlOjpGaWxsQ29tcG9z
aXRlZFJlY3Q6Ci0gICAgICAgICAgICByZXR1cm4gZGVjb2RlQW5kQ3JlYXRlPFdlYkNvcmU6OkRp
c3BsYXlMaXN0OjpGaWxsQ29tcG9zaXRlZFJlY3Q+KGRhdGEsIGxlbmd0aCwgaGFuZGxlTG9jYXRp
b24pOwotICAgICAgICBjYXNlIFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpJdGVtVHlwZTo6RmlsbFBh
dGg6Ci0gICAgICAgICAgICByZXR1cm4gZGVjb2RlQW5kQ3JlYXRlPFdlYkNvcmU6OkRpc3BsYXlM
aXN0OjpGaWxsUGF0aD4oZGF0YSwgbGVuZ3RoLCBoYW5kbGVMb2NhdGlvbik7Ci0gICAgICAgIGNh
c2UgV2ViQ29yZTo6RGlzcGxheUxpc3Q6Okl0ZW1UeXBlOjpGaWxsUmVjdFdpdGhDb2xvcjoKLSAg
ICAgICAgICAgIHJldHVybiBkZWNvZGVBbmRDcmVhdGU8V2ViQ29yZTo6RGlzcGxheUxpc3Q6OkZp
bGxSZWN0V2l0aENvbG9yPihkYXRhLCBsZW5ndGgsIGhhbmRsZUxvY2F0aW9uKTsKLSAgICAgICAg
Y2FzZSBXZWJDb3JlOjpEaXNwbGF5TGlzdDo6SXRlbVR5cGU6OkZpbGxSZWN0V2l0aEdyYWRpZW50
OgotICAgICAgICAgICAgcmV0dXJuIGRlY29kZUFuZENyZWF0ZTxXZWJDb3JlOjpEaXNwbGF5TGlz
dDo6RmlsbFJlY3RXaXRoR3JhZGllbnQ+KGRhdGEsIGxlbmd0aCwgaGFuZGxlTG9jYXRpb24pOwot
ICAgICAgICBjYXNlIFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpJdGVtVHlwZTo6RmlsbFJlY3RXaXRo
Um91bmRlZEhvbGU6Ci0gICAgICAgICAgICByZXR1cm4gZGVjb2RlQW5kQ3JlYXRlPFdlYkNvcmU6
OkRpc3BsYXlMaXN0OjpGaWxsUmVjdFdpdGhSb3VuZGVkSG9sZT4oZGF0YSwgbGVuZ3RoLCBoYW5k
bGVMb2NhdGlvbik7Ci0gICAgICAgIGNhc2UgV2ViQ29yZTo6RGlzcGxheUxpc3Q6Okl0ZW1UeXBl
OjpGaWxsUm91bmRlZFJlY3Q6Ci0gICAgICAgICAgICByZXR1cm4gZGVjb2RlQW5kQ3JlYXRlPFdl
YkNvcmU6OkRpc3BsYXlMaXN0OjpGaWxsUm91bmRlZFJlY3Q+KGRhdGEsIGxlbmd0aCwgaGFuZGxl
TG9jYXRpb24pOwotICAgICAgICBjYXNlIFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpJdGVtVHlwZTo6
UHV0SW1hZ2VEYXRhOgotICAgICAgICAgICAgcmV0dXJuIGRlY29kZUFuZENyZWF0ZTxXZWJDb3Jl
OjpEaXNwbGF5TGlzdDo6UHV0SW1hZ2VEYXRhPihkYXRhLCBsZW5ndGgsIGhhbmRsZUxvY2F0aW9u
KTsKLSAgICAgICAgY2FzZSBXZWJDb3JlOjpEaXNwbGF5TGlzdDo6SXRlbVR5cGU6OlNldExpbmVE
YXNoOgotICAgICAgICAgICAgcmV0dXJuIGRlY29kZUFuZENyZWF0ZTxXZWJDb3JlOjpEaXNwbGF5
TGlzdDo6U2V0TGluZURhc2g+KGRhdGEsIGxlbmd0aCwgaGFuZGxlTG9jYXRpb24pOwotICAgICAg
ICBjYXNlIFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpJdGVtVHlwZTo6U2V0U3RhdGU6Ci0gICAgICAg
ICAgICByZXR1cm4gZGVjb2RlQW5kQ3JlYXRlPFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpTZXRTdGF0
ZT4oZGF0YSwgbGVuZ3RoLCBoYW5kbGVMb2NhdGlvbik7Ci0gICAgICAgIGNhc2UgV2ViQ29yZTo6
RGlzcGxheUxpc3Q6Okl0ZW1UeXBlOjpTdHJva2VQYXRoOgotICAgICAgICAgICAgcmV0dXJuIGRl
Y29kZUFuZENyZWF0ZTxXZWJDb3JlOjpEaXNwbGF5TGlzdDo6U3Ryb2tlUGF0aD4oZGF0YSwgbGVu
Z3RoLCBoYW5kbGVMb2NhdGlvbik7Ci0gICAgICAgIGNhc2UgV2ViQ29yZTo6RGlzcGxheUxpc3Q6
Okl0ZW1UeXBlOjpBcHBseURldmljZVNjYWxlRmFjdG9yOgotI2lmIFVTRShDRykKLSAgICAgICAg
Y2FzZSBXZWJDb3JlOjpEaXNwbGF5TGlzdDo6SXRlbVR5cGU6OkFwcGx5RmlsbFBhdHRlcm46Ci0g
ICAgICAgIGNhc2UgV2ViQ29yZTo6RGlzcGxheUxpc3Q6Okl0ZW1UeXBlOjpBcHBseVN0cm9rZVBh
dHRlcm46Ci0jZW5kaWYKLSAgICAgICAgY2FzZSBXZWJDb3JlOjpEaXNwbGF5TGlzdDo6SXRlbVR5
cGU6OkJlZ2luVHJhbnNwYXJlbmN5TGF5ZXI6Ci0gICAgICAgIGNhc2UgV2ViQ29yZTo6RGlzcGxh
eUxpc3Q6Okl0ZW1UeXBlOjpDbGVhclJlY3Q6Ci0gICAgICAgIGNhc2UgV2ViQ29yZTo6RGlzcGxh
eUxpc3Q6Okl0ZW1UeXBlOjpDbGVhclNoYWRvdzoKLSAgICAgICAgY2FzZSBXZWJDb3JlOjpEaXNw
bGF5TGlzdDo6SXRlbVR5cGU6OkNsaXA6Ci0gICAgICAgIGNhc2UgV2ViQ29yZTo6RGlzcGxheUxp
c3Q6Okl0ZW1UeXBlOjpDbGlwT3V0OgotICAgICAgICBjYXNlIFdlYkNvcmU6OkRpc3BsYXlMaXN0
OjpJdGVtVHlwZTo6Q29uY2F0ZW5hdGVDVE06Ci0gICAgICAgIGNhc2UgV2ViQ29yZTo6RGlzcGxh
eUxpc3Q6Okl0ZW1UeXBlOjpEcmF3RG90c0ZvckRvY3VtZW50TWFya2VyOgotICAgICAgICBjYXNl
IFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpJdGVtVHlwZTo6RHJhd0VsbGlwc2U6Ci0gICAgICAgIGNh
c2UgV2ViQ29yZTo6RGlzcGxheUxpc3Q6Okl0ZW1UeXBlOjpEcmF3SW1hZ2VCdWZmZXI6Ci0gICAg
ICAgIGNhc2UgV2ViQ29yZTo6RGlzcGxheUxpc3Q6Okl0ZW1UeXBlOjpEcmF3TGluZToKLSAgICAg
ICAgY2FzZSBXZWJDb3JlOjpEaXNwbGF5TGlzdDo6SXRlbVR5cGU6OkRyYXdSZWN0OgotICAgICAg
ICBjYXNlIFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpJdGVtVHlwZTo6RW5kVHJhbnNwYXJlbmN5TGF5
ZXI6Ci0gICAgICAgIGNhc2UgV2ViQ29yZTo6RGlzcGxheUxpc3Q6Okl0ZW1UeXBlOjpGaWxsRWxs
aXBzZToKLSNpZiBFTkFCTEUoSU5MSU5FX1BBVEhfREFUQSkKLSAgICAgICAgY2FzZSBXZWJDb3Jl
OjpEaXNwbGF5TGlzdDo6SXRlbVR5cGU6OkZpbGxJbmxpbmVQYXRoOgotI2VuZGlmCi0gICAgICAg
IGNhc2UgV2ViQ29yZTo6RGlzcGxheUxpc3Q6Okl0ZW1UeXBlOjpGaWxsUmVjdDoKLSAgICAgICAg
Y2FzZSBXZWJDb3JlOjpEaXNwbGF5TGlzdDo6SXRlbVR5cGU6OkZsdXNoQ29udGV4dDoKLSAgICAg
ICAgY2FzZSBXZWJDb3JlOjpEaXNwbGF5TGlzdDo6SXRlbVR5cGU6Ok1ldGFDb21tYW5kU3dpdGNo
VG86Ci0gICAgICAgIGNhc2UgV2ViQ29yZTo6RGlzcGxheUxpc3Q6Okl0ZW1UeXBlOjpQYWludEZy
YW1lRm9yTWVkaWE6Ci0gICAgICAgIGNhc2UgV2ViQ29yZTo6RGlzcGxheUxpc3Q6Okl0ZW1UeXBl
OjpSZXN0b3JlOgotICAgICAgICBjYXNlIFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpJdGVtVHlwZTo6
Um90YXRlOgotICAgICAgICBjYXNlIFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpJdGVtVHlwZTo6U2F2
ZToKLSAgICAgICAgY2FzZSBXZWJDb3JlOjpEaXNwbGF5TGlzdDo6SXRlbVR5cGU6OlNjYWxlOgot
ICAgICAgICBjYXNlIFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpJdGVtVHlwZTo6U2V0Q1RNOgotICAg
ICAgICBjYXNlIFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpJdGVtVHlwZTo6U2V0SW5saW5lRmlsbENv
bG9yOgotICAgICAgICBjYXNlIFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpJdGVtVHlwZTo6U2V0SW5s
aW5lRmlsbEdyYWRpZW50OgotICAgICAgICBjYXNlIFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpJdGVt
VHlwZTo6U2V0SW5saW5lU3Ryb2tlQ29sb3I6Ci0gICAgICAgIGNhc2UgV2ViQ29yZTo6RGlzcGxh
eUxpc3Q6Okl0ZW1UeXBlOjpTZXRMaW5lQ2FwOgotICAgICAgICBjYXNlIFdlYkNvcmU6OkRpc3Bs
YXlMaXN0OjpJdGVtVHlwZTo6U2V0TGluZUpvaW46Ci0gICAgICAgIGNhc2UgV2ViQ29yZTo6RGlz
cGxheUxpc3Q6Okl0ZW1UeXBlOjpTZXRNaXRlckxpbWl0OgotICAgICAgICBjYXNlIFdlYkNvcmU6
OkRpc3BsYXlMaXN0OjpJdGVtVHlwZTo6U2V0U3Ryb2tlVGhpY2tuZXNzOgotICAgICAgICBjYXNl
IFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpJdGVtVHlwZTo6U3Ryb2tlRWxsaXBzZToKLSNpZiBFTkFC
TEUoSU5MSU5FX1BBVEhfREFUQSkKLSAgICAgICAgY2FzZSBXZWJDb3JlOjpEaXNwbGF5TGlzdDo6
SXRlbVR5cGU6OlN0cm9rZUlubGluZVBhdGg6Ci0jZW5kaWYKLSAgICAgICAgY2FzZSBXZWJDb3Jl
OjpEaXNwbGF5TGlzdDo6SXRlbVR5cGU6OlN0cm9rZVJlY3Q6Ci0gICAgICAgIGNhc2UgV2ViQ29y
ZTo6RGlzcGxheUxpc3Q6Okl0ZW1UeXBlOjpTdHJva2VMaW5lOgotICAgICAgICBjYXNlIFdlYkNv
cmU6OkRpc3BsYXlMaXN0OjpJdGVtVHlwZTo6VHJhbnNsYXRlOiB7Ci0gICAgICAgICAgICBBU1NF
UlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICAg
IH0KLSAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAgIHJldHVybiBXVEY6Om51
bGxvcHQ7Ci0gICAgfQotCi0gICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4KLSAgICBPcHRpb25hbDxX
ZWJDb3JlOjpEaXNwbGF5TGlzdDo6SXRlbUhhbmRsZT4gV0FSTl9VTlVTRURfUkVUVVJOIGRlY29k
ZUFuZENyZWF0ZShjb25zdCB1aW50OF90KiBkYXRhLCBzaXplX3QgbGVuZ3RoLCB1aW50OF90KiBo
YW5kbGVMb2NhdGlvbikKLSAgICB7Ci0gICAgICAgIGlmIChhdXRvIGl0ZW0gPSBJUEM6OkRlY29k
ZXI6OmRlY29kZVNpbmdsZU9iamVjdDxUPihkYXRhLCBsZW5ndGgpKSB7Ci0gICAgICAgICAgICBu
ZXcgKGhhbmRsZUxvY2F0aW9uICsgc2l6ZW9mKFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpJdGVtVHlw
ZSkpIFQoV1RGTW92ZSgqaXRlbSkpOwotICAgICAgICAgICAgcmV0dXJuIHt7IGhhbmRsZUxvY2F0
aW9uIH19OwotICAgICAgICB9Ci0gICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7Ci0gICAgfQot
CiAgICAgUmVtb3RlUmVuZGVyaW5nQmFja2VuZCYgbV9yZW1vdGVSZW5kZXJpbmdCYWNrZW5kOwog
fTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNzL1JlbW90
ZVJlbmRlcmluZ0JhY2tlbmQuY3BwIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNz
L1JlbW90ZVJlbmRlcmluZ0JhY2tlbmQuY3BwCmluZGV4IDFhYTc1NDg4MmNlMGU4Yzk5MjY0N2Nj
Zjg3NTBiOTM0MWNjODQwYTIuLjZlMWQ1Y2M5NTFhYmQxOGQ3ZTcxMGU2Yjk4MDhiMWRlYzcyODZk
N2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVS
ZW5kZXJpbmdCYWNrZW5kLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhp
Y3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZC5jcHAKQEAgLTEwNCw3ICsxMDQsNyBAQCB2b2lkIFJl
bW90ZVJlbmRlcmluZ0JhY2tlbmQ6OmZsdXNoRGlzcGxheUxpc3RXYXNDb21taXR0ZWQoRGlzcGxh
eUxpc3Q6OkZsdXNoSWRlbgogICAgIHNlbmQoTWVzc2FnZXM6OlJlbW90ZVJlbmRlcmluZ0JhY2tl
bmRQcm94eTo6Rmx1c2hEaXNwbGF5TGlzdFdhc0NvbW1pdHRlZChmbHVzaElkZW50aWZpZXIsIHJl
bmRlcmluZ1Jlc291cmNlSWRlbnRpZmllciksIG1fcmVuZGVyaW5nQmFja2VuZElkZW50aWZpZXIp
OwogfQogCi12b2lkIFJlbW90ZVJlbmRlcmluZ0JhY2tlbmQ6OmNyZWF0ZUltYWdlQnVmZmVyKGNv
bnN0IEZsb2F0U2l6ZSYgbG9naWNhbFNpemUsIFJlbmRlcmluZ01vZGUgcmVuZGVyaW5nTW9kZSwg
ZmxvYXQgcmVzb2x1dGlvblNjYWxlLCBDb2xvclNwYWNlIGNvbG9yU3BhY2UsIFdlYkNvcmU6OlJl
bmRlcmluZ1Jlc291cmNlSWRlbnRpZmllciByZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZpZXIpCit2
b2lkIFJlbW90ZVJlbmRlcmluZ0JhY2tlbmQ6OmNyZWF0ZUltYWdlQnVmZmVyKGNvbnN0IEZsb2F0
U2l6ZSYgbG9naWNhbFNpemUsIFJlbmRlcmluZ01vZGUgcmVuZGVyaW5nTW9kZSwgZmxvYXQgcmVz
b2x1dGlvblNjYWxlLCBDb2xvclNwYWNlIGNvbG9yU3BhY2UsIFJlbmRlcmluZ1Jlc291cmNlSWRl
bnRpZmllciByZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZpZXIpCiB7CiAgICAgQVNTRVJUKHJlbmRl
cmluZ01vZGUgPT0gUmVuZGVyaW5nTW9kZTo6QWNjZWxlcmF0ZWQgfHwgcmVuZGVyaW5nTW9kZSA9
PSBSZW5kZXJpbmdNb2RlOjpVbmFjY2VsZXJhdGVkKTsKIApAQCAtMTI2LDcgKzEyNiw3IEBAIHZv
aWQgUmVtb3RlUmVuZGVyaW5nQmFja2VuZDo6Y3JlYXRlSW1hZ2VCdWZmZXIoY29uc3QgRmxvYXRT
aXplJiBsb2dpY2FsU2l6ZSwgUmVuCiAKIHZvaWQgUmVtb3RlUmVuZGVyaW5nQmFja2VuZDo6YXBw
bHlEaXNwbGF5TGlzdChjb25zdCBTaGFyZWREaXNwbGF5TGlzdEhhbmRsZSYgaGFuZGxlLCBSZW5k
ZXJpbmdSZXNvdXJjZUlkZW50aWZpZXIgcmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyLCBTaG91
bGRGbHVzaENvbnRleHQgZmx1c2hDb250ZXh0KQogewotICAgIGF1dG8gZGlzcGxheUxpc3QgPSBo
YW5kbGUuY3JlYXRlRGlzcGxheUxpc3QoWyZdIChXZWJDb3JlOjpEaXNwbGF5TGlzdDo6SXRlbUJ1
ZmZlcklkZW50aWZpZXIgaWRlbnRpZmllcikgLT4gdWludDhfdCogeworICAgIGF1dG8gZGlzcGxh
eUxpc3QgPSBoYW5kbGUuY3JlYXRlRGlzcGxheUxpc3QoWyZdIChEaXNwbGF5TGlzdDo6SXRlbUJ1
ZmZlcklkZW50aWZpZXIgaWRlbnRpZmllcikgLT4gdWludDhfdCogewogICAgICAgICBpZiAoYXV0
byBzaGFyZWRNZW1vcnkgPSBtX3NoYXJlZEl0ZW1CdWZmZXJzLnRha2UoaWRlbnRpZmllcikpCiAg
ICAgICAgICAgICByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDx1aW50OF90Kj4oc2hhcmVkTWVtb3J5
LT5kYXRhKCkpOwogICAgICAgICByZXR1cm4gbnVsbHB0cjsKQEAgLTE0MywxMSArMTQzLDcgQEAg
dm9pZCBSZW1vdGVSZW5kZXJpbmdCYWNrZW5kOjphcHBseURpc3BsYXlMaXN0KGNvbnN0IFNoYXJl
ZERpc3BsYXlMaXN0SGFuZGxlJiBoYW4KICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIGlm
IChpbWFnZUJ1ZmZlci0+aXNBY2NlbGVyYXRlZCgpKQotICAgICAgICBkaXNwbGF5TGlzdC0+c2V0
SXRlbUJ1ZmZlckNsaWVudChzdGF0aWNfY2FzdDxBY2NlbGVyYXRlZFJlbW90ZUltYWdlQnVmZmVy
Kj4oaW1hZ2VCdWZmZXIpKTsKLSAgICBlbHNlCi0gICAgICAgIGRpc3BsYXlMaXN0LT5zZXRJdGVt
QnVmZmVyQ2xpZW50KHN0YXRpY19jYXN0PFVuYWNjZWxlcmF0ZWRSZW1vdGVJbWFnZUJ1ZmZlcio+
KGltYWdlQnVmZmVyKSk7Ci0KKyAgICBkaXNwbGF5TGlzdC0+c2V0SXRlbUJ1ZmZlckNsaWVudCh0
aGlzKTsKICAgICBpbWFnZUJ1ZmZlci0+Zmx1c2hEaXNwbGF5TGlzdCgqZGlzcGxheUxpc3QpOwog
CiAgICAgaWYgKGZsdXNoQ29udGV4dCA9PSBTaG91bGRGbHVzaENvbnRleHQ6OlllcykKQEAgLTE4
NCw2ICsxODAsMTA3IEBAIHZvaWQgUmVtb3RlUmVuZGVyaW5nQmFja2VuZDo6ZGlkQ3JlYXRlU2hh
cmVkSXRlbURhdGEoRGlzcGxheUxpc3Q6Okl0ZW1CdWZmZXJJZGVuCiAgICAgICAgIG1fc2hhcmVk
SXRlbUJ1ZmZlcnMuc2V0KGlkZW50aWZpZXIsIFdURk1vdmUoc2hhcmVkTWVtb3J5KSk7CiB9CiAK
K09wdGlvbmFsPERpc3BsYXlMaXN0OjpJdGVtSGFuZGxlPiBXQVJOX1VOVVNFRF9SRVRVUk4gUmVt
b3RlUmVuZGVyaW5nQmFja2VuZDo6ZGVjb2RlSXRlbShjb25zdCB1aW50OF90KiBkYXRhLCBzaXpl
X3QgbGVuZ3RoLCBEaXNwbGF5TGlzdDo6SXRlbVR5cGUgdHlwZSwgdWludDhfdCogaGFuZGxlTG9j
YXRpb24pCit7CisgICAgc3dpdGNoICh0eXBlKSB7CisgICAgY2FzZSBEaXNwbGF5TGlzdDo6SXRl
bVR5cGU6OkNsaXBPdXRUb1BhdGg6CisgICAgICAgIHJldHVybiBkZWNvZGVBbmRDcmVhdGU8RGlz
cGxheUxpc3Q6OkNsaXBPdXRUb1BhdGg+KGRhdGEsIGxlbmd0aCwgaGFuZGxlTG9jYXRpb24pOwor
ICAgIGNhc2UgRGlzcGxheUxpc3Q6Okl0ZW1UeXBlOjpDbGlwUGF0aDoKKyAgICAgICAgcmV0dXJu
IGRlY29kZUFuZENyZWF0ZTxEaXNwbGF5TGlzdDo6Q2xpcFBhdGg+KGRhdGEsIGxlbmd0aCwgaGFu
ZGxlTG9jYXRpb24pOworICAgIGNhc2UgRGlzcGxheUxpc3Q6Okl0ZW1UeXBlOjpDbGlwVG9EcmF3
aW5nQ29tbWFuZHM6CisgICAgICAgIHJldHVybiBkZWNvZGVBbmRDcmVhdGU8RGlzcGxheUxpc3Q6
OkNsaXBUb0RyYXdpbmdDb21tYW5kcz4oZGF0YSwgbGVuZ3RoLCBoYW5kbGVMb2NhdGlvbik7Cisg
ICAgY2FzZSBEaXNwbGF5TGlzdDo6SXRlbVR5cGU6OkRyYXdGb2N1c1JpbmdQYXRoOgorICAgICAg
ICByZXR1cm4gZGVjb2RlQW5kQ3JlYXRlPERpc3BsYXlMaXN0OjpEcmF3Rm9jdXNSaW5nUGF0aD4o
ZGF0YSwgbGVuZ3RoLCBoYW5kbGVMb2NhdGlvbik7CisgICAgY2FzZSBEaXNwbGF5TGlzdDo6SXRl
bVR5cGU6OkRyYXdGb2N1c1JpbmdSZWN0czoKKyAgICAgICAgcmV0dXJuIGRlY29kZUFuZENyZWF0
ZTxEaXNwbGF5TGlzdDo6RHJhd0ZvY3VzUmluZ1JlY3RzPihkYXRhLCBsZW5ndGgsIGhhbmRsZUxv
Y2F0aW9uKTsKKyAgICBjYXNlIERpc3BsYXlMaXN0OjpJdGVtVHlwZTo6RHJhd0dseXBoczoKKyAg
ICAgICAgcmV0dXJuIGRlY29kZUFuZENyZWF0ZTxEaXNwbGF5TGlzdDo6RHJhd0dseXBocz4oZGF0
YSwgbGVuZ3RoLCBoYW5kbGVMb2NhdGlvbik7CisgICAgY2FzZSBEaXNwbGF5TGlzdDo6SXRlbVR5
cGU6OkRyYXdJbWFnZToKKyAgICAgICAgcmV0dXJuIGRlY29kZUFuZENyZWF0ZTxEaXNwbGF5TGlz
dDo6RHJhd0ltYWdlPihkYXRhLCBsZW5ndGgsIGhhbmRsZUxvY2F0aW9uKTsKKyAgICBjYXNlIERp
c3BsYXlMaXN0OjpJdGVtVHlwZTo6RHJhd0xpbmVzRm9yVGV4dDoKKyAgICAgICAgcmV0dXJuIGRl
Y29kZUFuZENyZWF0ZTxEaXNwbGF5TGlzdDo6RHJhd0xpbmVzRm9yVGV4dD4oZGF0YSwgbGVuZ3Ro
LCBoYW5kbGVMb2NhdGlvbik7CisgICAgY2FzZSBEaXNwbGF5TGlzdDo6SXRlbVR5cGU6OkRyYXdO
YXRpdmVJbWFnZToKKyAgICAgICAgcmV0dXJuIGRlY29kZUFuZENyZWF0ZTxEaXNwbGF5TGlzdDo6
RHJhd05hdGl2ZUltYWdlPihkYXRhLCBsZW5ndGgsIGhhbmRsZUxvY2F0aW9uKTsKKyAgICBjYXNl
IERpc3BsYXlMaXN0OjpJdGVtVHlwZTo6RHJhd1BhdGg6CisgICAgICAgIHJldHVybiBkZWNvZGVB
bmRDcmVhdGU8RGlzcGxheUxpc3Q6OkRyYXdQYXRoPihkYXRhLCBsZW5ndGgsIGhhbmRsZUxvY2F0
aW9uKTsKKyAgICBjYXNlIERpc3BsYXlMaXN0OjpJdGVtVHlwZTo6RHJhd1BhdHRlcm46CisgICAg
ICAgIHJldHVybiBkZWNvZGVBbmRDcmVhdGU8RGlzcGxheUxpc3Q6OkRyYXdQYXR0ZXJuPihkYXRh
LCBsZW5ndGgsIGhhbmRsZUxvY2F0aW9uKTsKKyAgICBjYXNlIERpc3BsYXlMaXN0OjpJdGVtVHlw
ZTo6RHJhd1RpbGVkSW1hZ2U6CisgICAgICAgIHJldHVybiBkZWNvZGVBbmRDcmVhdGU8RGlzcGxh
eUxpc3Q6OkRyYXdUaWxlZEltYWdlPihkYXRhLCBsZW5ndGgsIGhhbmRsZUxvY2F0aW9uKTsKKyAg
ICBjYXNlIERpc3BsYXlMaXN0OjpJdGVtVHlwZTo6RHJhd1RpbGVkU2NhbGVkSW1hZ2U6CisgICAg
ICAgIHJldHVybiBkZWNvZGVBbmRDcmVhdGU8RGlzcGxheUxpc3Q6OkRyYXdUaWxlZFNjYWxlZElt
YWdlPihkYXRhLCBsZW5ndGgsIGhhbmRsZUxvY2F0aW9uKTsKKyAgICBjYXNlIERpc3BsYXlMaXN0
OjpJdGVtVHlwZTo6RmlsbENvbXBvc2l0ZWRSZWN0OgorICAgICAgICByZXR1cm4gZGVjb2RlQW5k
Q3JlYXRlPERpc3BsYXlMaXN0OjpGaWxsQ29tcG9zaXRlZFJlY3Q+KGRhdGEsIGxlbmd0aCwgaGFu
ZGxlTG9jYXRpb24pOworICAgIGNhc2UgRGlzcGxheUxpc3Q6Okl0ZW1UeXBlOjpGaWxsUGF0aDoK
KyAgICAgICAgcmV0dXJuIGRlY29kZUFuZENyZWF0ZTxEaXNwbGF5TGlzdDo6RmlsbFBhdGg+KGRh
dGEsIGxlbmd0aCwgaGFuZGxlTG9jYXRpb24pOworICAgIGNhc2UgRGlzcGxheUxpc3Q6Okl0ZW1U
eXBlOjpGaWxsUmVjdFdpdGhDb2xvcjoKKyAgICAgICAgcmV0dXJuIGRlY29kZUFuZENyZWF0ZTxE
aXNwbGF5TGlzdDo6RmlsbFJlY3RXaXRoQ29sb3I+KGRhdGEsIGxlbmd0aCwgaGFuZGxlTG9jYXRp
b24pOworICAgIGNhc2UgRGlzcGxheUxpc3Q6Okl0ZW1UeXBlOjpGaWxsUmVjdFdpdGhHcmFkaWVu
dDoKKyAgICAgICAgcmV0dXJuIGRlY29kZUFuZENyZWF0ZTxEaXNwbGF5TGlzdDo6RmlsbFJlY3RX
aXRoR3JhZGllbnQ+KGRhdGEsIGxlbmd0aCwgaGFuZGxlTG9jYXRpb24pOworICAgIGNhc2UgRGlz
cGxheUxpc3Q6Okl0ZW1UeXBlOjpGaWxsUmVjdFdpdGhSb3VuZGVkSG9sZToKKyAgICAgICAgcmV0
dXJuIGRlY29kZUFuZENyZWF0ZTxEaXNwbGF5TGlzdDo6RmlsbFJlY3RXaXRoUm91bmRlZEhvbGU+
KGRhdGEsIGxlbmd0aCwgaGFuZGxlTG9jYXRpb24pOworICAgIGNhc2UgRGlzcGxheUxpc3Q6Okl0
ZW1UeXBlOjpGaWxsUm91bmRlZFJlY3Q6CisgICAgICAgIHJldHVybiBkZWNvZGVBbmRDcmVhdGU8
RGlzcGxheUxpc3Q6OkZpbGxSb3VuZGVkUmVjdD4oZGF0YSwgbGVuZ3RoLCBoYW5kbGVMb2NhdGlv
bik7CisgICAgY2FzZSBEaXNwbGF5TGlzdDo6SXRlbVR5cGU6OlB1dEltYWdlRGF0YToKKyAgICAg
ICAgcmV0dXJuIGRlY29kZUFuZENyZWF0ZTxEaXNwbGF5TGlzdDo6UHV0SW1hZ2VEYXRhPihkYXRh
LCBsZW5ndGgsIGhhbmRsZUxvY2F0aW9uKTsKKyAgICBjYXNlIERpc3BsYXlMaXN0OjpJdGVtVHlw
ZTo6U2V0TGluZURhc2g6CisgICAgICAgIHJldHVybiBkZWNvZGVBbmRDcmVhdGU8RGlzcGxheUxp
c3Q6OlNldExpbmVEYXNoPihkYXRhLCBsZW5ndGgsIGhhbmRsZUxvY2F0aW9uKTsKKyAgICBjYXNl
IERpc3BsYXlMaXN0OjpJdGVtVHlwZTo6U2V0U3RhdGU6CisgICAgICAgIHJldHVybiBkZWNvZGVB
bmRDcmVhdGU8RGlzcGxheUxpc3Q6OlNldFN0YXRlPihkYXRhLCBsZW5ndGgsIGhhbmRsZUxvY2F0
aW9uKTsKKyAgICBjYXNlIERpc3BsYXlMaXN0OjpJdGVtVHlwZTo6U3Ryb2tlUGF0aDoKKyAgICAg
ICAgcmV0dXJuIGRlY29kZUFuZENyZWF0ZTxEaXNwbGF5TGlzdDo6U3Ryb2tlUGF0aD4oZGF0YSwg
bGVuZ3RoLCBoYW5kbGVMb2NhdGlvbik7CisgICAgY2FzZSBEaXNwbGF5TGlzdDo6SXRlbVR5cGU6
OkFwcGx5RGV2aWNlU2NhbGVGYWN0b3I6CisjaWYgVVNFKENHKQorICAgIGNhc2UgRGlzcGxheUxp
c3Q6Okl0ZW1UeXBlOjpBcHBseUZpbGxQYXR0ZXJuOgorICAgIGNhc2UgRGlzcGxheUxpc3Q6Okl0
ZW1UeXBlOjpBcHBseVN0cm9rZVBhdHRlcm46CisjZW5kaWYKKyAgICBjYXNlIERpc3BsYXlMaXN0
OjpJdGVtVHlwZTo6QmVnaW5UcmFuc3BhcmVuY3lMYXllcjoKKyAgICBjYXNlIERpc3BsYXlMaXN0
OjpJdGVtVHlwZTo6Q2xlYXJSZWN0OgorICAgIGNhc2UgRGlzcGxheUxpc3Q6Okl0ZW1UeXBlOjpD
bGVhclNoYWRvdzoKKyAgICBjYXNlIERpc3BsYXlMaXN0OjpJdGVtVHlwZTo6Q2xpcDoKKyAgICBj
YXNlIERpc3BsYXlMaXN0OjpJdGVtVHlwZTo6Q2xpcE91dDoKKyAgICBjYXNlIERpc3BsYXlMaXN0
OjpJdGVtVHlwZTo6Q29uY2F0ZW5hdGVDVE06CisgICAgY2FzZSBEaXNwbGF5TGlzdDo6SXRlbVR5
cGU6OkRyYXdEb3RzRm9yRG9jdW1lbnRNYXJrZXI6CisgICAgY2FzZSBEaXNwbGF5TGlzdDo6SXRl
bVR5cGU6OkRyYXdFbGxpcHNlOgorICAgIGNhc2UgRGlzcGxheUxpc3Q6Okl0ZW1UeXBlOjpEcmF3
SW1hZ2VCdWZmZXI6CisgICAgY2FzZSBEaXNwbGF5TGlzdDo6SXRlbVR5cGU6OkRyYXdMaW5lOgor
ICAgIGNhc2UgRGlzcGxheUxpc3Q6Okl0ZW1UeXBlOjpEcmF3UmVjdDoKKyAgICBjYXNlIERpc3Bs
YXlMaXN0OjpJdGVtVHlwZTo6RW5kVHJhbnNwYXJlbmN5TGF5ZXI6CisgICAgY2FzZSBEaXNwbGF5
TGlzdDo6SXRlbVR5cGU6OkZpbGxFbGxpcHNlOgorI2lmIEVOQUJMRShJTkxJTkVfUEFUSF9EQVRB
KQorICAgIGNhc2UgRGlzcGxheUxpc3Q6Okl0ZW1UeXBlOjpGaWxsSW5saW5lUGF0aDoKKyNlbmRp
ZgorICAgIGNhc2UgRGlzcGxheUxpc3Q6Okl0ZW1UeXBlOjpGaWxsUmVjdDoKKyAgICBjYXNlIERp
c3BsYXlMaXN0OjpJdGVtVHlwZTo6Rmx1c2hDb250ZXh0OgorICAgIGNhc2UgRGlzcGxheUxpc3Q6
Okl0ZW1UeXBlOjpNZXRhQ29tbWFuZFN3aXRjaFRvOgorICAgIGNhc2UgRGlzcGxheUxpc3Q6Okl0
ZW1UeXBlOjpQYWludEZyYW1lRm9yTWVkaWE6CisgICAgY2FzZSBEaXNwbGF5TGlzdDo6SXRlbVR5
cGU6OlJlc3RvcmU6CisgICAgY2FzZSBEaXNwbGF5TGlzdDo6SXRlbVR5cGU6OlJvdGF0ZToKKyAg
ICBjYXNlIERpc3BsYXlMaXN0OjpJdGVtVHlwZTo6U2F2ZToKKyAgICBjYXNlIERpc3BsYXlMaXN0
OjpJdGVtVHlwZTo6U2NhbGU6CisgICAgY2FzZSBEaXNwbGF5TGlzdDo6SXRlbVR5cGU6OlNldENU
TToKKyAgICBjYXNlIERpc3BsYXlMaXN0OjpJdGVtVHlwZTo6U2V0SW5saW5lRmlsbENvbG9yOgor
ICAgIGNhc2UgRGlzcGxheUxpc3Q6Okl0ZW1UeXBlOjpTZXRJbmxpbmVGaWxsR3JhZGllbnQ6Cisg
ICAgY2FzZSBEaXNwbGF5TGlzdDo6SXRlbVR5cGU6OlNldElubGluZVN0cm9rZUNvbG9yOgorICAg
IGNhc2UgRGlzcGxheUxpc3Q6Okl0ZW1UeXBlOjpTZXRMaW5lQ2FwOgorICAgIGNhc2UgRGlzcGxh
eUxpc3Q6Okl0ZW1UeXBlOjpTZXRMaW5lSm9pbjoKKyAgICBjYXNlIERpc3BsYXlMaXN0OjpJdGVt
VHlwZTo6U2V0TWl0ZXJMaW1pdDoKKyAgICBjYXNlIERpc3BsYXlMaXN0OjpJdGVtVHlwZTo6U2V0
U3Ryb2tlVGhpY2tuZXNzOgorICAgIGNhc2UgRGlzcGxheUxpc3Q6Okl0ZW1UeXBlOjpTdHJva2VF
bGxpcHNlOgorI2lmIEVOQUJMRShJTkxJTkVfUEFUSF9EQVRBKQorICAgIGNhc2UgRGlzcGxheUxp
c3Q6Okl0ZW1UeXBlOjpTdHJva2VJbmxpbmVQYXRoOgorI2VuZGlmCisgICAgY2FzZSBEaXNwbGF5
TGlzdDo6SXRlbVR5cGU6OlN0cm9rZVJlY3Q6CisgICAgY2FzZSBEaXNwbGF5TGlzdDo6SXRlbVR5
cGU6OlN0cm9rZUxpbmU6CisgICAgY2FzZSBEaXNwbGF5TGlzdDo6SXRlbVR5cGU6OlRyYW5zbGF0
ZTogeworICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgYnJlYWs7CisgICAg
fQorICAgIH0KKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gV1RGOjpudWxs
b3B0OworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI2VuZGlmIC8vIEVOQUJMRShHUFVf
UFJPQ0VTUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9S
ZW1vdGVSZW5kZXJpbmdCYWNrZW5kLmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvZ3JhcGhp
Y3MvUmVtb3RlUmVuZGVyaW5nQmFja2VuZC5oCmluZGV4IGZlZjQ2OWZjMzI2ODMzODJiNTRkNzc4
NGFlYWI2OWVjZTg2ZTk5MDguLjMxOWY0ZTg3MzcwYmJmZmE4OTE1ZmE0ZGE4ZjMyYTE3M2I0ZTcx
ZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9ncmFwaGljcy9SZW1vdGVS
ZW5kZXJpbmdCYWNrZW5kLmgKKysrIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL2dyYXBoaWNz
L1JlbW90ZVJlbmRlcmluZ0JhY2tlbmQuaApAQCAtNTYsNyArNTYsOCBAQCBjbGFzcyBHUFVDb25u
ZWN0aW9uVG9XZWJQcm9jZXNzOwogCiBjbGFzcyBSZW1vdGVSZW5kZXJpbmdCYWNrZW5kCiAgICAg
OiBwdWJsaWMgSVBDOjpNZXNzYWdlU2VuZGVyCi0gICAgLCBwcml2YXRlIElQQzo6TWVzc2FnZVJl
Y2VpdmVyIHsKKyAgICAsIHByaXZhdGUgSVBDOjpNZXNzYWdlUmVjZWl2ZXIKKyAgICAsIHB1Ymxp
YyBXZWJDb3JlOjpEaXNwbGF5TGlzdDo6SXRlbUJ1ZmZlclJlYWRpbmdDbGllbnQgewogcHVibGlj
OgogICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8UmVtb3RlUmVuZGVyaW5nQmFja2VuZD4gY3Jl
YXRlKEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MmLCBSZW5kZXJpbmdCYWNrZW5kSWRlbnRpZmll
cik7CiAgICAgdmlydHVhbCB+UmVtb3RlUmVuZGVyaW5nQmFja2VuZCgpOwpAQCAtNzcsNiArNzgs
MTggQEAgcHJpdmF0ZToKICAgICBlbnVtIGNsYXNzIFNob3VsZEZsdXNoQ29udGV4dCA6IGJvb2wg
eyBObywgWWVzIH07CiAgICAgdm9pZCBhcHBseURpc3BsYXlMaXN0KGNvbnN0IFNoYXJlZERpc3Bs
YXlMaXN0SGFuZGxlJiwgV2ViQ29yZTo6UmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyLCBTaG91
bGRGbHVzaENvbnRleHQpOwogCisgICAgT3B0aW9uYWw8V2ViQ29yZTo6RGlzcGxheUxpc3Q6Okl0
ZW1IYW5kbGU+IFdBUk5fVU5VU0VEX1JFVFVSTiBkZWNvZGVJdGVtKGNvbnN0IHVpbnQ4X3QqIGRh
dGEsIHNpemVfdCBsZW5ndGgsIFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpJdGVtVHlwZSwgdWludDhf
dCogaGFuZGxlTG9jYXRpb24pIG92ZXJyaWRlOworCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4K
KyAgICBPcHRpb25hbDxXZWJDb3JlOjpEaXNwbGF5TGlzdDo6SXRlbUhhbmRsZT4gV0FSTl9VTlVT
RURfUkVUVVJOIGRlY29kZUFuZENyZWF0ZShjb25zdCB1aW50OF90KiBkYXRhLCBzaXplX3QgbGVu
Z3RoLCB1aW50OF90KiBoYW5kbGVMb2NhdGlvbikKKyAgICB7CisgICAgICAgIGlmIChhdXRvIGl0
ZW0gPSBJUEM6OkRlY29kZXI6OmRlY29kZVNpbmdsZU9iamVjdDxUPihkYXRhLCBsZW5ndGgpKSB7
CisgICAgICAgICAgICBuZXcgKGhhbmRsZUxvY2F0aW9uICsgc2l6ZW9mKFdlYkNvcmU6OkRpc3Bs
YXlMaXN0OjpJdGVtVHlwZSkpIFQoV1RGTW92ZSgqaXRlbSkpOworICAgICAgICAgICAgcmV0dXJu
IHt7IGhhbmRsZUxvY2F0aW9uIH19OworICAgICAgICB9CisgICAgICAgIHJldHVybiBXVEY6Om51
bGxvcHQ7CisgICAgfQorCiAgICAgLy8gSVBDOjpNZXNzYWdlU2VuZGVyLgogICAgIElQQzo6Q29u
bmVjdGlvbiogbWVzc2FnZVNlbmRlckNvbm5lY3Rpb24oKSBjb25zdCBvdmVycmlkZTsKICAgICB1
aW50NjRfdCBtZXNzYWdlU2VuZGVyRGVzdGluYXRpb25JRCgpIGNvbnN0IG92ZXJyaWRlOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>