<?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>220126</bug_id>
          
          <creation_ts>2020-12-23 11:18:42 -0800</creation_ts>
          <short_desc>[GPU Process]: Don&apos;t call flushDrawingContext() in the middle of recording drawing commands</short_desc>
          <delta_ts>2020-12-23 13:58:04 -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>Layout and Rendering</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Said Abou-Hallawa">sabouhallawa</reporter>
          <assigned_to name="Said Abou-Hallawa">sabouhallawa</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1716485</commentid>
    <comment_count>0</comment_count>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2020-12-23 11:18:42 -0800</bug_when>
    <thetext>Before using a single shared memory buffer for sending the DL items from WebP to GPUP, calling flushDrawingContext() was necessary to synchronize multiple ImageBuffers drawing. The single shared memory buffer guarantees the order of drawing is preserved even when an ImageBuffer is drawn into another ImageBuffer. So flushDrawingContext() should be called only when the drawing is finished and the backend of the ImageBuffer is about to be used.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1716486</commentid>
    <comment_count>1</comment_count>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2020-12-23 11:19:16 -0800</bug_when>
    <thetext>&lt;rdar://problem/72394086&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1716488</commentid>
    <comment_count>2</comment_count>
      <attachid>416720</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2020-12-23 11:29:35 -0800</bug_when>
    <thetext>Created attachment 416720
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1716489</commentid>
    <comment_count>3</comment_count>
      <attachid>416720</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-12-23 11:33:41 -0800</bug_when>
    <thetext>Comment on attachment 416720
Patch

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

&gt; Source/WebCore/ChangeLog:8
&gt; +        Avoid calling lushDrawingContext() except when the drawing is finished

Nit - flushDrawingContext()

&gt; Source/WebCore/platform/graphics/displaylists/DisplayListRecorder.cpp:-185
&gt; -    imageBuffer.flushDrawingContext();

Just to confirm — we don&apos;t need to call CGContextFlush for the previous canvas&apos;s remote image buffer either?

&gt; Source/WebKit/WebProcess/GPU/graphics/RemoteImageBufferProxy.h:-387
&gt; -    size_t m_itemCountInCurrentDisplayList { 0 };

Nice.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1716490</commentid>
    <comment_count>4</comment_count>
      <attachid>416720</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-12-23 11:42:57 -0800</bug_when>
    <thetext>Comment on attachment 416720
Patch

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

&gt;&gt; Source/WebCore/platform/graphics/displaylists/DisplayListRecorder.cpp:-185
&gt;&gt; -    imageBuffer.flushDrawingContext();
&gt; 
&gt; Just to confirm — we don&apos;t need to call CGContextFlush for the previous canvas&apos;s remote image buffer either?

CG should take care of flushing when drawing one IOSurface-based CGContext into another.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1716499</commentid>
    <comment_count>5</comment_count>
      <attachid>416722</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2020-12-23 12:09:15 -0800</bug_when>
    <thetext>Created attachment 416722
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1716501</commentid>
    <comment_count>6</comment_count>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2020-12-23 12:11:59 -0800</bug_when>
    <thetext>*** Bug 219558 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1716510</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-12-23 13:58:03 -0800</bug_when>
    <thetext>Committed r271079: &lt;https://trac.webkit.org/changeset/271079&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 416722.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>416720</attachid>
            <date>2020-12-23 11:29:35 -0800</date>
            <delta_ts>2020-12-23 11:42:57 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220126-20201223112934.patch</filename>
            <type>text/plain</type>
            <size>7353</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxMDYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2Q0NjU5Yjc4ZmQ2MGM2
Zjg0MjYwZjFjMDBiZjZiNjc0MGQwMTUyMC4uMzVjNTlkOTViY2JmNjFjY2ZkZDUyODUxNDMxMjY1
ZDNmZDg2NTQ0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDIwLTEyLTIzICBTYWlk
IEFib3UtSGFsbGF3YSAgPHNhaWRAYXBwbGUuY29tPgorCisgICAgICAgIFtHUFUgUHJvY2Vzc106
IERvbid0IGNhbGwgZmx1c2hEcmF3aW5nQ29udGV4dCgpIGluIHRoZSBtaWRkbGUgb2YgcmVjb3Jk
aW5nIGRyYXdpbmcgY29tbWFuZHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIyMDEyNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEF2b2lkIGNhbGxpbmcgbHVzaERyYXdpbmdDb250ZXh0KCkgZXhjZXB0IHdo
ZW4gdGhlIGRyYXdpbmcgaXMgZmluaXNoZWQKKyAgICAgICAgYW5kIHRoZSBiYWNrZW5kIG9mIHRo
ZSBJbWFnZUJ1ZmZlciBpcyBhYm91dCB0byBiZSB1c2VkLgorCisgICAgICAgIFJlbmFtZSBmbHVz
aERyYXdpbmdDb250ZXh0QW5kQ29tbWl0KCkgdG8gZmx1c2hEcmF3aW5nQ29udGV4dEFzeW5jKCku
IFRoZQorICAgICAgICBkaWZmZXJlbmNlIGJldHdlZW4gZmx1c2hEcmF3aW5nQ29udGV4dCgpIGFu
ZCBmbHVzaERyYXdpbmdDb250ZXh0QXN5bmMoKQorICAgICAgICBpcyB0aGUgZm9ybWVyIHdhaXRz
IGZvciB0aGUgZmx1c2ggcmVwbHkgbWVzc2FnZS4KKworICAgICAgICAqIGh0bWwvY2FudmFzL0Nh
bnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFz
UmVuZGVyaW5nQ29udGV4dDJEQmFzZTo6cHJlcGFyZUZvckRpc3BsYXkpOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL0ltYWdlQnVmZmVyLmg6CisgICAgICAgIChXZWJDb3JlOjpJbWFnZUJ1
ZmZlcjo6Zmx1c2hEcmF3aW5nQ29udGV4dEFzeW5jKToKKyAgICAgICAgKFdlYkNvcmU6OkltYWdl
QnVmZmVyOjpmbHVzaERyYXdpbmdDb250ZXh0QW5kQ29tbWl0KTogRGVsZXRlZC4KKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RSZWNvcmRlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpEaXNwbGF5TGlzdDo6UmVjb3JkZXI6OmRyYXdJbWFnZUJ1ZmZl
cik6CisKIDIwMjAtMTItMjIgIFJvYiBCdWlzICA8cmJ1aXNAaWdhbGlhLmNvbT4KIAogICAgICAg
ICBTdXBwb3J0IGFzcGVjdC1yYXRpbyBvbiBwb3NpdGlvbmVkIGVsZW1lbnRzCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4
IGM0YzY2Y2U2N2U1ODA5YThkNjNmMjdjYTBiZWI1MDk1ZGVhZDJkNWYuLmNiNDczOGM0ZTU1YzQx
ODkzYTJmMTc3MzQ0ZjNiZmViYTZhZjI0N2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIw
MjAtMTItMjMgIFNhaWQgQWJvdS1IYWxsYXdhICA8c2FpZEBhcHBsZS5jb20+CisKKyAgICAgICAg
W0dQVSBQcm9jZXNzXTogRG9uJ3QgY2FsbCBmbHVzaERyYXdpbmdDb250ZXh0KCkgaW4gdGhlIG1p
ZGRsZSBvZiByZWNvcmRpbmcgZHJhd2luZyBjb21tYW5kcworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIwMTI2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlcmUgaXMgbm8gbmVlZCB0byByZXBsYXkgYmFj
ayB0aGUgRHJhd0ltYWdlQnVmZmVyIGltbWVkaWF0ZWx5IGFmdGVyIGl0CisgICAgICAgIHdhcyBy
ZWNvcmRlZC4gVGhlIHdvcnJ5IHdhcyB0aGUgc291cmNlIEltYWdlQnVmZmVyIG1heSBjaGFuZ2Ug
YmVmb3JlIAorICAgICAgICByZXBsYXlpbmcgYmFjayB0aGUgRHJhd0ltYWdlQnVmZmVyIGludG8g
dGhlIGRlc3RpbmF0aW9uIEltYWdlQnVmZmVyLiBCdXQKKyAgICAgICAgdGhpcyBzaG91bGQgbm90
IGhhcHBlbiB3aXRoIHRoZSBzaGFyZWQgbWVtb3J5IGJ1ZmZlciBiZWNhdXNlIHRoZSBvcmRlcgor
ICAgICAgICBvZiBkcmF3aW5nIGFtb25nIG11bHRpcGxlIEltYWdlQnVmZmVyIGlzIHByZXNlcnZl
ZC4KKworICAgICAgICAqIFNoYXJlZC9SZW1vdGVMYXllclRyZWUvUmVtb3RlTGF5ZXJCYWNraW5n
U3RvcmUubW06CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyQmFja2luZ1N0b3JlOjpkaXNw
bGF5KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9SZW1vdGVJbWFnZUJ1ZmZl
clByb3h5Lmg6CisKIDIwMjAtMTItMjIgIEthdGUgQ2hlbmV5ICA8a2F0aGVyaW5lX2NoZW5leUBh
cHBsZS5jb20+CiAKICAgICAgICAgQ2Fubm90IHNlZSAnQWRkIHRvIG15IHN0YXRpb25zJyBidXR0
b24gaW4gQkJDIFdvcmxkIHNlcnZpY2UgUmFkaW8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2UuY3BwIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZS5jcHAKaW5kZXgg
Y2ZmN2U0NzhmZTM2OTNmZGEyZTUwYjVhNmEyN2I2MzJjZjI1YWZiYS4uZTQ4MjZkZmQ1Nzc0YTg4
N2ZhNmU1MTQ2OTdiZmIxMGJjYWNmODQ5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZS5jcHAKQEAgLTIw
NDIsNyArMjA0Miw3IEBAIEdyYXBoaWNzQ29udGV4dCogQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJE
QmFzZTo6ZHJhd2luZ0NvbnRleHQoKSBjb25zdAogdm9pZCBDYW52YXNSZW5kZXJpbmdDb250ZXh0
MkRCYXNlOjpwcmVwYXJlRm9yRGlzcGxheSgpCiB7CiAgICAgaWYgKGF1dG8gYnVmZmVyID0gY2Fu
dmFzQmFzZSgpLmJ1ZmZlcigpKQotICAgICAgICBidWZmZXItPmZsdXNoRHJhd2luZ0NvbnRleHRB
bmRDb21taXQoKTsKKyAgICAgICAgYnVmZmVyLT5mbHVzaERyYXdpbmdDb250ZXh0QXN5bmMoKTsK
IH0KIAogYm9vbCBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlOjpuZWVkc1ByZXBhcmF0aW9u
Rm9yRGlzcGxheSgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9JbWFnZUJ1ZmZlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
SW1hZ2VCdWZmZXIuaAppbmRleCBiYTg0NjI1YTU0NzMzMzQwMGFlOGE5ZDYyZDgyODhmMzBjNzgy
ZTMwLi40MjVhMzJlYTQ0OWMwZWQ1MjI2Y2M1ODk3ZDljYzE2Yjc4NjIwZmRiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZUJ1ZmZlci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlQnVmZmVyLmgKQEAgLTc5LDcgKzc5
LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgRGlzcGxheUxpc3Q6OkRyYXdpbmdDb250ZXh0KiBk
cmF3aW5nQ29udGV4dCgpIHsgcmV0dXJuIG51bGxwdHI7IH0KICAgICB2aXJ0dWFsIGJvb2wgcHJl
ZmVyc1ByZXBhcmF0aW9uRm9yRGlzcGxheSgpIHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVh
bCB2b2lkIGZsdXNoRHJhd2luZ0NvbnRleHQoKSB7IH0KLSAgICB2aXJ0dWFsIHZvaWQgZmx1c2hE
cmF3aW5nQ29udGV4dEFuZENvbW1pdCgpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBmbHVzaERyYXdp
bmdDb250ZXh0QXN5bmMoKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGlkRmx1c2goRGlzcGxheUxp
c3Q6OkZsdXNoSWRlbnRpZmllcikgeyB9CiAKICAgICB2aXJ0dWFsIHZvaWQgY2hhbmdlRGVzdGlu
YXRpb25JbWFnZUJ1ZmZlcihSZW5kZXJpbmdSZXNvdXJjZUlkZW50aWZpZXIpIHsgfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rpc3Bs
YXlMaXN0UmVjb3JkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlz
cGxheWxpc3RzL0Rpc3BsYXlMaXN0UmVjb3JkZXIuY3BwCmluZGV4IGI5NDgzZGY0MmRkOTAxODdi
MWY2OWRkOTFiNWVmYjRkNDkwYjQyZWIuLjJkMzVlZTdlNWZhOTE4YmM3ZGE2ZmE0MTE3NjQxODkz
YjQ0MjA5NmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Rp
c3BsYXlsaXN0cy9EaXNwbGF5TGlzdFJlY29yZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RSZWNvcmRlci5jcHAKQEAg
LTE4Miw3ICsxODIsNiBAQCB2b2lkIFJlY29yZGVyOjphcHBlbmREcmF3R3JhcGhzSXRlbVdpdGhD
YWNoZWRGb250KGNvbnN0IEZvbnQmIGZvbnQsIGNvbnN0IEdseXBoQgogCiB2b2lkIFJlY29yZGVy
OjpkcmF3SW1hZ2VCdWZmZXIoV2ViQ29yZTo6SW1hZ2VCdWZmZXImIGltYWdlQnVmZmVyLCBjb25z
dCBGbG9hdFJlY3QmIGRlc3RSZWN0LCBjb25zdCBGbG9hdFJlY3QmIHNyY1JlY3QsIGNvbnN0IElt
YWdlUGFpbnRpbmdPcHRpb25zJiBvcHRpb25zKQogewotICAgIGltYWdlQnVmZmVyLmZsdXNoRHJh
d2luZ0NvbnRleHQoKTsKICAgICBtX2Rpc3BsYXlMaXN0LmNhY2hlSW1hZ2VCdWZmZXIoaW1hZ2VC
dWZmZXIpOwogICAgIGFwcGVuZDxEcmF3SW1hZ2VCdWZmZXI+KGltYWdlQnVmZmVyLnJlbmRlcmlu
Z1Jlc291cmNlSWRlbnRpZmllcigpLCBkZXN0UmVjdCwgc3JjUmVjdCwgb3B0aW9ucyk7CiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9SZW1vdGVMYXllclRyZWUvUmVtb3RlTGF5
ZXJCYWNraW5nU3RvcmUubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9SZW1vdGVMYXllclRyZWUv
UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUubW0KaW5kZXggNTkzMzk2YTFiYTg2Y2JjOWRmZjlkM2M5
NzdhNzQyZjM5N2RjY2I4Zi4uNDVlNzNiOTVkZjYzNzY2YmI5Y2EwNDg3M2MyNTcwYjNmZDdlNTBj
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvUmVtb3RlTGF5ZXJUcmVlL1JlbW90
ZUxheWVyQmFja2luZ1N0b3JlLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1JlbW90ZUxh
eWVyVHJlZS9SZW1vdGVMYXllckJhY2tpbmdTdG9yZS5tbQpAQCAtMzE1LDggKzMxNSw3IEBAIGJv
b2wgUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmU6OmRpc3BsYXkoKQogCiAgICAgbV9sYXllci0+b3du
ZXIoKS0+cGxhdGZvcm1DQUxheWVyTGF5ZXJEaWREaXNwbGF5KG1fbGF5ZXIpOwogCi0gICAgLy8g
RklYTUU6IFRoaXMgbWV0aG9kIGhhcyBhIHdlaXJkIG5hbWUuIFRoaXMgaXMgInN1Ym1pdCB3b3Jr
Ii4KLSAgICBtX2Zyb250QnVmZmVyLmltYWdlQnVmZmVyLT5mbHVzaERyYXdpbmdDb250ZXh0QW5k
Q29tbWl0KCk7CisgICAgbV9mcm9udEJ1ZmZlci5pbWFnZUJ1ZmZlci0+Zmx1c2hEcmF3aW5nQ29u
dGV4dEFzeW5jKCk7CiAKICAgICBtX2Zyb250QnVmZmVyRmx1c2hlciA9IG1fZnJvbnRCdWZmZXIu
aW1hZ2VCdWZmZXItPmNyZWF0ZUZsdXNoZXIoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL0dQVS9ncmFwaGljcy9SZW1vdGVJbWFnZUJ1ZmZlclByb3h5LmggYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1JlbW90ZUltYWdlQnVmZmVyUHJveHku
aAppbmRleCA2MTc2MTVmMzA3ZWI3MDY0OTNiN2VjM2JlYmM3Y2MwODY1MWQ2MTJjLi5kN2I5MGI1
NzJkYTVmYzEzY2QzYmQwODZiNDc3MTRiMTBjZDM1Y2E5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1JlbW90ZUltYWdlQnVmZmVyUHJveHkuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1JlbW90ZUltYWdlQnVmZmVy
UHJveHkuaApAQCAtMTk1LDExICsxOTUsMTEgQEAgcHJvdGVjdGVkOgogICAgICAgICAgICAgcmV0
dXJuOwogCiAgICAgICAgIFRyYWNlU2NvcGUgdHJhY2luZ1Njb3BlKEZsdXNoUmVtb3RlSW1hZ2VC
dWZmZXJTdGFydCwgRmx1c2hSZW1vdGVJbWFnZUJ1ZmZlckVuZCk7Ci0gICAgICAgIGZsdXNoRHJh
d2luZ0NvbnRleHRBbmRDb21taXQoKTsKKyAgICAgICAgZmx1c2hEcmF3aW5nQ29udGV4dEFzeW5j
KCk7CiAgICAgICAgIHdhaXRGb3JEaWRGbHVzaFdpdGhUaW1lb3V0KCk7CiAgICAgfQogCi0gICAg
dm9pZCBmbHVzaERyYXdpbmdDb250ZXh0QW5kQ29tbWl0KCkgb3ZlcnJpZGUKKyAgICB2b2lkIGZs
dXNoRHJhd2luZ0NvbnRleHRBc3luYygpIG92ZXJyaWRlCiAgICAgewogICAgICAgICBpZiAoVU5M
SUtFTFkoIW1fcmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5KSkKICAgICAgICAgICAgIHJldHVy
bjsKQEAgLTI1OCwxMiArMjU4LDYgQEAgcHJvdGVjdGVkOgogICAgICAgICAgICAgbV9yZW1vdGVS
ZW5kZXJpbmdCYWNrZW5kUHJveHktPmRpZEFwcGVuZERhdGEoaGFuZGxlLCBudW1iZXJPZkJ5dGVz
LCBkaWRDaGFuZ2VJdGVtQnVmZmVyLCBtX3JlbmRlcmluZ1Jlc291cmNlSWRlbnRpZmllcik7CiAg
ICAgfQogCi0gICAgdm9pZCBkaWRBcHBlbmRJdGVtT2ZUeXBlKFdlYkNvcmU6OkRpc3BsYXlMaXN0
OjpJdGVtVHlwZSB0eXBlKSBvdmVycmlkZQotICAgIHsKLSAgICAgICAgaWYgKHR5cGUgPT0gV2Vi
Q29yZTo6RGlzcGxheUxpc3Q6Okl0ZW1UeXBlOjpEcmF3SW1hZ2VCdWZmZXIpCi0gICAgICAgICAg
ICBmbHVzaERyYXdpbmdDb250ZXh0KCk7Ci0gICAgfQotCiAgICAgdm9pZCBjYWNoZUZvbnQoV2Vi
Q29yZTo6Rm9udCYgZm9udCkgb3ZlcnJpZGUKICAgICB7CiAgICAgICAgIGlmIChtX3JlbW90ZVJl
bmRlcmluZ0JhY2tlbmRQcm94eSkKQEAgLTM4NCw3ICszNzgsNiBAQCBwcm90ZWN0ZWQ6CiAgICAg
Q29uZGl0aW9uIG1fcmVjZWl2ZWRGbHVzaElkZW50aWZpZXJDaGFuZ2VkQ29uZGl0aW9uOwogICAg
IFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpGbHVzaElkZW50aWZpZXIgbV9yZWNlaXZlZEZsdXNoSWRl
bnRpZmllcjsKICAgICBXZWFrUHRyPFJlbW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eT4gbV9yZW1v
dGVSZW5kZXJpbmdCYWNrZW5kUHJveHk7Ci0gICAgc2l6ZV90IG1faXRlbUNvdW50SW5DdXJyZW50
RGlzcGxheUxpc3QgeyAwIH07CiB9OwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBCYWNrZW5kVHlwZT4K
</data>
<flag name="review"
          id="434319"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>416722</attachid>
            <date>2020-12-23 12:09:15 -0800</date>
            <delta_ts>2020-12-23 13:58:04 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220126-20201223120914.patch</filename>
            <type>text/plain</type>
            <size>9407</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxMDYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2Q0NjU5Yjc4ZmQ2MGM2
Zjg0MjYwZjFjMDBiZjZiNjc0MGQwMTUyMC4uN2MwMmYzNjczYTMyYWY3YTZiZjUxM2E5OWE4MTY0
ZDZkMjdlOWUwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDIwLTEyLTIzICBTYWlk
IEFib3UtSGFsbGF3YSAgPHNhaWRAYXBwbGUuY29tPgorCisgICAgICAgIFtHUFUgUHJvY2Vzc106
IERvbid0IGNhbGwgZmx1c2hEcmF3aW5nQ29udGV4dCgpIGluIHRoZSBtaWRkbGUgb2YgcmVjb3Jk
aW5nIGRyYXdpbmcgY29tbWFuZHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIyMDEyNgorCisgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEZyYXNlci4K
KworICAgICAgICBBdm9pZCBjYWxsaW5nIGZsdXNoRHJhd2luZ0NvbnRleHQoKSBleGNlcHQgd2hl
biB0aGUgZHJhd2luZyBpcyBmaW5pc2hlZAorICAgICAgICBhbmQgdGhlIGJhY2tlbmQgb2YgdGhl
IEltYWdlQnVmZmVyIGlzIGFib3V0IHRvIGJlIHVzZWQuCisKKyAgICAgICAgUmVuYW1lIGZsdXNo
RHJhd2luZ0NvbnRleHRBbmRDb21taXQoKSB0byBmbHVzaERyYXdpbmdDb250ZXh0QXN5bmMoKS4g
VGhlCisgICAgICAgIGRpZmZlcmVuY2UgYmV0d2VlbiBmbHVzaERyYXdpbmdDb250ZXh0KCkgYW5k
IGZsdXNoRHJhd2luZ0NvbnRleHRBc3luYygpCisgICAgICAgIGlzIHRoZSBmb3JtZXIgd2FpdHMg
Zm9yIHRoZSBmbHVzaCByZXBseSBtZXNzYWdlLgorCisgICAgICAgICogaHRtbC9jYW52YXMvQ2Fu
dmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYW52YXNS
ZW5kZXJpbmdDb250ZXh0MkRCYXNlOjpwcmVwYXJlRm9yRGlzcGxheSk6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OkltYWdlQnVm
ZmVyOjpmbHVzaERyYXdpbmdDb250ZXh0QXN5bmMpOgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VC
dWZmZXI6OmZsdXNoRHJhd2luZ0NvbnRleHRBbmRDb21taXQpOiBEZWxldGVkLgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdFJlY29yZGVyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpSZWNvcmRlcjo6ZHJhd0ltYWdlQnVmZmVy
KToKKyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXlMaXN0OjpSZWNvcmRlcjo6ZGlkQXBwZW5kSXRl
bU9mVHlwZSk6IERlbGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxp
c3RzL0Rpc3BsYXlMaXN0UmVjb3JkZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OkRpc3BsYXlMaXN0
OjpSZWNvcmRlcjo6RGVsZWdhdGU6OndpbGxBcHBlbmRJdGVtT2ZUeXBlKToKKyAgICAgICAgKFdl
YkNvcmU6OkRpc3BsYXlMaXN0OjpSZWNvcmRlcjo6YXBwZW5kKToKKyAgICAgICAgKFdlYkNvcmU6
OkRpc3BsYXlMaXN0OjpSZWNvcmRlcjo6RGVsZWdhdGU6OmRpZEFwcGVuZEl0ZW1PZlR5cGUpOiBE
ZWxldGVkLgorCiAyMDIwLTEyLTIyICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5jb20+CiAKICAg
ICAgICAgU3VwcG9ydCBhc3BlY3QtcmF0aW8gb24gcG9zaXRpb25lZCBlbGVtZW50cwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpp
bmRleCBjNGM2NmNlNjdlNTgwOWE4ZDYzZjI3Y2EwYmViNTA5NWRlYWQyZDVmLi41MGZlMWNmODQz
ZjJkN2U2OGVhYzhhOTZmMjkyZTJmNzJkOWFmNzA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBA
CisyMDIwLTEyLTIzICBTYWlkIEFib3UtSGFsbGF3YSAgPHNhaWRAYXBwbGUuY29tPgorCisgICAg
ICAgIFtHUFUgUHJvY2Vzc106IERvbid0IGNhbGwgZmx1c2hEcmF3aW5nQ29udGV4dCgpIGluIHRo
ZSBtaWRkbGUgb2YgcmVjb3JkaW5nIGRyYXdpbmcgY29tbWFuZHMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMDEyNgorCisgICAgICAgIFJldmlld2Vk
IGJ5IFNpbW9uIEZyYXNlci4KKworICAgICAgICBUaGVyZSBpcyBubyBuZWVkIHRvIHJlcGxheSBi
YWNrIHRoZSBEcmF3SW1hZ2VCdWZmZXIgaW1tZWRpYXRlbHkgYWZ0ZXIgaXQKKyAgICAgICAgd2Fz
IHJlY29yZGVkLiBUaGUgd29ycnkgd2FzIHRoZSBzb3VyY2UgSW1hZ2VCdWZmZXIgbWF5IGNoYW5n
ZSBiZWZvcmUgCisgICAgICAgIHJlcGxheWluZyBiYWNrIHRoZSBEcmF3SW1hZ2VCdWZmZXIgaW50
byB0aGUgZGVzdGluYXRpb24gSW1hZ2VCdWZmZXIuIEJ1dAorICAgICAgICB0aGlzIHNob3VsZCBu
b3QgaGFwcGVuIHdpdGggdGhlIHNoYXJlZCBtZW1vcnkgYnVmZmVyIGJlY2F1c2UgdGhlIG9yZGVy
CisgICAgICAgIG9mIGRyYXdpbmcgYW1vbmcgbXVsdGlwbGUgSW1hZ2VCdWZmZXIgaXMgcHJlc2Vy
dmVkLgorCisgICAgICAgICogU2hhcmVkL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVMYXllckJhY2tp
bmdTdG9yZS5tbToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmU6OmRp
c3BsYXkpOgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1JlbW90ZUltYWdlQnVm
ZmVyUHJveHkuaDoKKwogMjAyMC0xMi0yMiAgS2F0ZSBDaGVuZXkgIDxrYXRoZXJpbmVfY2hlbmV5
QGFwcGxlLmNvbT4KIAogICAgICAgICBDYW5ub3Qgc2VlICdBZGQgdG8gbXkgc3RhdGlvbnMnIGJ1
dHRvbiBpbiBCQkMgV29ybGQgc2VydmljZSBSYWRpbwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEQmFzZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlLmNwcAppbmRl
eCBjZmY3ZTQ3OGZlMzY5M2ZkYTJlNTBiNWE2YTI3YjYzMmNmMjVhZmJhLi5lNDgyNmRmZDU3NzRh
ODg3ZmE2ZTUxNDY5N2JmYjEwYmNhY2Y4NDk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkRCYXNlLmNwcApAQCAt
MjA0Miw3ICsyMDQyLDcgQEAgR3JhcGhpY3NDb250ZXh0KiBDYW52YXNSZW5kZXJpbmdDb250ZXh0
MkRCYXNlOjpkcmF3aW5nQ29udGV4dCgpIGNvbnN0CiB2b2lkIENhbnZhc1JlbmRlcmluZ0NvbnRl
eHQyREJhc2U6OnByZXBhcmVGb3JEaXNwbGF5KCkKIHsKICAgICBpZiAoYXV0byBidWZmZXIgPSBj
YW52YXNCYXNlKCkuYnVmZmVyKCkpCi0gICAgICAgIGJ1ZmZlci0+Zmx1c2hEcmF3aW5nQ29udGV4
dEFuZENvbW1pdCgpOworICAgICAgICBidWZmZXItPmZsdXNoRHJhd2luZ0NvbnRleHRBc3luYygp
OwogfQogCiBib29sIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyREJhc2U6Om5lZWRzUHJlcGFyYXRp
b25Gb3JEaXNwbGF5KCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0ltYWdlQnVmZmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9JbWFnZUJ1ZmZlci5oCmluZGV4IGJhODQ2MjVhNTQ3MzMzNDAwYWU4YTlkNjJkODI4OGYzMGM3
ODJlMzAuLjQyNWEzMmVhNDQ5YzBlZDUyMjZjYzU4OTdkOWNjMTZiNzg2MjBmZGIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlQnVmZmVyLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2VCdWZmZXIuaApAQCAtNzksNyAr
NzksNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBEaXNwbGF5TGlzdDo6RHJhd2luZ0NvbnRleHQq
IGRyYXdpbmdDb250ZXh0KCkgeyByZXR1cm4gbnVsbHB0cjsgfQogICAgIHZpcnR1YWwgYm9vbCBw
cmVmZXJzUHJlcGFyYXRpb25Gb3JEaXNwbGF5KCkgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0
dWFsIHZvaWQgZmx1c2hEcmF3aW5nQ29udGV4dCgpIHsgfQotICAgIHZpcnR1YWwgdm9pZCBmbHVz
aERyYXdpbmdDb250ZXh0QW5kQ29tbWl0KCkgeyB9CisgICAgdmlydHVhbCB2b2lkIGZsdXNoRHJh
d2luZ0NvbnRleHRBc3luYygpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBkaWRGbHVzaChEaXNwbGF5
TGlzdDo6Rmx1c2hJZGVudGlmaWVyKSB7IH0KIAogICAgIHZpcnR1YWwgdm9pZCBjaGFuZ2VEZXN0
aW5hdGlvbkltYWdlQnVmZmVyKFJlbmRlcmluZ1Jlc291cmNlSWRlbnRpZmllcikgeyB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlz
cGxheUxpc3RSZWNvcmRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9k
aXNwbGF5bGlzdHMvRGlzcGxheUxpc3RSZWNvcmRlci5jcHAKaW5kZXggYjk0ODNkZjQyZGQ5MDE4
N2IxZjY5ZGQ5MWI1ZWZiNGQ0OTBiNDJlYi4uZDNhNjNjZDJjNWI5NWE0ZjdiZjQyMjE4ZGEzZGE5
N2U5YWY4MTdlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
ZGlzcGxheWxpc3RzL0Rpc3BsYXlMaXN0UmVjb3JkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdFJlY29yZGVyLmNwcApA
QCAtMTI2LDEyICsxMjYsNiBAQCB2b2lkIFJlY29yZGVyOjp3aWxsQXBwZW5kSXRlbU9mVHlwZShJ
dGVtVHlwZSB0eXBlKQogICAgIH0KIH0KIAotdm9pZCBSZWNvcmRlcjo6ZGlkQXBwZW5kSXRlbU9m
VHlwZShJdGVtVHlwZSB0eXBlKQotewotICAgIGlmIChtX2RlbGVnYXRlKQotICAgICAgICBtX2Rl
bGVnYXRlLT5kaWRBcHBlbmRJdGVtT2ZUeXBlKHR5cGUpOwotfQotCiB2b2lkIFJlY29yZGVyOjp1
cGRhdGVTdGF0ZShjb25zdCBHcmFwaGljc0NvbnRleHRTdGF0ZSYgc3RhdGUsIEdyYXBoaWNzQ29u
dGV4dFN0YXRlOjpTdGF0ZUNoYW5nZUZsYWdzIGZsYWdzKQogewogICAgIGN1cnJlbnRTdGF0ZSgp
LnN0YXRlQ2hhbmdlLmFjY3VtdWxhdGUoc3RhdGUsIGZsYWdzKTsKQEAgLTE4Miw3ICsxNzYsNiBA
QCB2b2lkIFJlY29yZGVyOjphcHBlbmREcmF3R3JhcGhzSXRlbVdpdGhDYWNoZWRGb250KGNvbnN0
IEZvbnQmIGZvbnQsIGNvbnN0IEdseXBoQgogCiB2b2lkIFJlY29yZGVyOjpkcmF3SW1hZ2VCdWZm
ZXIoV2ViQ29yZTo6SW1hZ2VCdWZmZXImIGltYWdlQnVmZmVyLCBjb25zdCBGbG9hdFJlY3QmIGRl
c3RSZWN0LCBjb25zdCBGbG9hdFJlY3QmIHNyY1JlY3QsIGNvbnN0IEltYWdlUGFpbnRpbmdPcHRp
b25zJiBvcHRpb25zKQogewotICAgIGltYWdlQnVmZmVyLmZsdXNoRHJhd2luZ0NvbnRleHQoKTsK
ICAgICBtX2Rpc3BsYXlMaXN0LmNhY2hlSW1hZ2VCdWZmZXIoaW1hZ2VCdWZmZXIpOwogICAgIGFw
cGVuZDxEcmF3SW1hZ2VCdWZmZXI+KGltYWdlQnVmZmVyLnJlbmRlcmluZ1Jlc291cmNlSWRlbnRp
ZmllcigpLCBkZXN0UmVjdCwgc3JjUmVjdCwgb3B0aW9ucyk7CiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlzcGxheUxpc3RSZWNv
cmRlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZGlzcGxheWxpc3RzL0Rp
c3BsYXlMaXN0UmVjb3JkZXIuaAppbmRleCBiNDAzYWVhNGZiYmEzYzI1MjIyMGRlOGMwYWUyZjRj
YWFjYzVlMzkyLi41ZjQ0MzAyM2I0NzNlNmEyOTY2ZDgxNmVmMmI1NzM3NzdkNjgzMzIyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9kaXNwbGF5bGlzdHMvRGlz
cGxheUxpc3RSZWNvcmRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Rpc3BsYXlsaXN0cy9EaXNwbGF5TGlzdFJlY29yZGVyLmgKQEAgLTY1LDcgKzY1LDYgQEAgcHVi
bGljOgogICAgIHB1YmxpYzoKICAgICAgICAgdmlydHVhbCB+RGVsZWdhdGUoKSB7IH0KICAgICAg
ICAgdmlydHVhbCB2b2lkIHdpbGxBcHBlbmRJdGVtT2ZUeXBlKEl0ZW1UeXBlKSB7IH0KLSAgICAg
ICAgdmlydHVhbCB2b2lkIGRpZEFwcGVuZEl0ZW1PZlR5cGUoSXRlbVR5cGUpIHsgfQogICAgICAg
ICB2aXJ0dWFsIHZvaWQgY2FjaGVOYXRpdmVJbWFnZShOYXRpdmVJbWFnZSYpIHsgfQogICAgICAg
ICB2aXJ0dWFsIGJvb2wgaXNDYWNoZWRJbWFnZUJ1ZmZlcihjb25zdCBJbWFnZUJ1ZmZlciYpIGNv
bnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgICAgIHZpcnR1YWwgdm9pZCBjYWNoZUZvbnQoRm9u
dCYpIHsgfQpAQCAtMTU1LDcgKzE1NCw2IEBAIHByaXZhdGU6CiAgICAgewogICAgICAgICB3aWxs
QXBwZW5kSXRlbU9mVHlwZShUOjppdGVtVHlwZSk7CiAgICAgICAgIG1fZGlzcGxheUxpc3QuYXBw
ZW5kPFQ+KHN0ZDo6Zm9yd2FyZDxBcmdzPihhcmdzKS4uLik7Ci0gICAgICAgIGRpZEFwcGVuZEl0
ZW1PZlR5cGUoVDo6aXRlbVR5cGUpOwogCiAgICAgICAgIGlmIGNvbnN0ZXhwciAoVDo6aXNEcmF3
aW5nSXRlbSkgewogICAgICAgICAgICAgaWYgKExJS0VMWSghbV9kaXNwbGF5TGlzdC50cmFja3NE
cmF3aW5nSXRlbUV4dGVudHMoKSkpCkBAIC0xNzIsNyArMTcwLDYgQEAgcHJpdmF0ZToKICAgICB9
CiAKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHdpbGxBcHBlbmRJdGVtT2ZUeXBlKEl0ZW1UeXBl
KTsKLSAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGRpZEFwcGVuZEl0ZW1PZlR5cGUoSXRlbVR5cGUp
OwogCiAgICAgdm9pZCBhcHBlbmRTdGF0ZUNoYW5nZUl0ZW0oY29uc3QgR3JhcGhpY3NDb250ZXh0
U3RhdGVDaGFuZ2UmLCBHcmFwaGljc0NvbnRleHRTdGF0ZTo6U3RhdGVDaGFuZ2VGbGFncyk7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVM
YXllckJhY2tpbmdTdG9yZS5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1JlbW90ZUxheWVyVHJl
ZS9SZW1vdGVMYXllckJhY2tpbmdTdG9yZS5tbQppbmRleCA1OTMzOTZhMWJhODZjYmM5ZGZmOWQz
Yzk3N2E3NDJmMzk3ZGNjYjhmLi40NWU3M2I5NWRmNjM3NjZiYjljYTA0ODczYzI1NzBiM2ZkN2U1
MGNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9SZW1vdGVMYXllclRyZWUvUmVt
b3RlTGF5ZXJCYWNraW5nU3RvcmUubW0KKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvUmVtb3Rl
TGF5ZXJUcmVlL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlLm1tCkBAIC0zMTUsOCArMzE1LDcgQEAg
Ym9vbCBSZW1vdGVMYXllckJhY2tpbmdTdG9yZTo6ZGlzcGxheSgpCiAKICAgICBtX2xheWVyLT5v
d25lcigpLT5wbGF0Zm9ybUNBTGF5ZXJMYXllckRpZERpc3BsYXkobV9sYXllcik7CiAKLSAgICAv
LyBGSVhNRTogVGhpcyBtZXRob2QgaGFzIGEgd2VpcmQgbmFtZS4gVGhpcyBpcyAic3VibWl0IHdv
cmsiLgotICAgIG1fZnJvbnRCdWZmZXIuaW1hZ2VCdWZmZXItPmZsdXNoRHJhd2luZ0NvbnRleHRB
bmRDb21taXQoKTsKKyAgICBtX2Zyb250QnVmZmVyLmltYWdlQnVmZmVyLT5mbHVzaERyYXdpbmdD
b250ZXh0QXN5bmMoKTsKIAogICAgIG1fZnJvbnRCdWZmZXJGbHVzaGVyID0gbV9mcm9udEJ1ZmZl
ci5pbWFnZUJ1ZmZlci0+Y3JlYXRlRmx1c2hlcigpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvR1BVL2dyYXBoaWNzL1JlbW90ZUltYWdlQnVmZmVyUHJveHkuaCBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVtb3RlSW1hZ2VCdWZmZXJQcm94
eS5oCmluZGV4IDYxNzYxNWYzMDdlYjcwNjQ5M2I3ZWMzYmViYzdjYzA4NjUxZDYxMmMuLmQ3Yjkw
YjU3MmRhNWZjMTNjZDNiZDA4NmI0NzcxNGIxMGNkMzVjYTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVtb3RlSW1hZ2VCdWZmZXJQcm94eS5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvZ3JhcGhpY3MvUmVtb3RlSW1hZ2VCdWZm
ZXJQcm94eS5oCkBAIC0xOTUsMTEgKzE5NSwxMSBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgICAgICBy
ZXR1cm47CiAKICAgICAgICAgVHJhY2VTY29wZSB0cmFjaW5nU2NvcGUoRmx1c2hSZW1vdGVJbWFn
ZUJ1ZmZlclN0YXJ0LCBGbHVzaFJlbW90ZUltYWdlQnVmZmVyRW5kKTsKLSAgICAgICAgZmx1c2hE
cmF3aW5nQ29udGV4dEFuZENvbW1pdCgpOworICAgICAgICBmbHVzaERyYXdpbmdDb250ZXh0QXN5
bmMoKTsKICAgICAgICAgd2FpdEZvckRpZEZsdXNoV2l0aFRpbWVvdXQoKTsKICAgICB9CiAKLSAg
ICB2b2lkIGZsdXNoRHJhd2luZ0NvbnRleHRBbmRDb21taXQoKSBvdmVycmlkZQorICAgIHZvaWQg
Zmx1c2hEcmF3aW5nQ29udGV4dEFzeW5jKCkgb3ZlcnJpZGUKICAgICB7CiAgICAgICAgIGlmIChV
TkxJS0VMWSghbV9yZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHkpKQogICAgICAgICAgICAgcmV0
dXJuOwpAQCAtMjU4LDEyICsyNTgsNiBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgICAgICBtX3JlbW90
ZVJlbmRlcmluZ0JhY2tlbmRQcm94eS0+ZGlkQXBwZW5kRGF0YShoYW5kbGUsIG51bWJlck9mQnl0
ZXMsIGRpZENoYW5nZUl0ZW1CdWZmZXIsIG1fcmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyKTsK
ICAgICB9CiAKLSAgICB2b2lkIGRpZEFwcGVuZEl0ZW1PZlR5cGUoV2ViQ29yZTo6RGlzcGxheUxp
c3Q6Okl0ZW1UeXBlIHR5cGUpIG92ZXJyaWRlCi0gICAgewotICAgICAgICBpZiAodHlwZSA9PSBX
ZWJDb3JlOjpEaXNwbGF5TGlzdDo6SXRlbVR5cGU6OkRyYXdJbWFnZUJ1ZmZlcikKLSAgICAgICAg
ICAgIGZsdXNoRHJhd2luZ0NvbnRleHQoKTsKLSAgICB9Ci0KICAgICB2b2lkIGNhY2hlRm9udChX
ZWJDb3JlOjpGb250JiBmb250KSBvdmVycmlkZQogICAgIHsKICAgICAgICAgaWYgKG1fcmVtb3Rl
UmVuZGVyaW5nQmFja2VuZFByb3h5KQpAQCAtMzg0LDcgKzM3OCw2IEBAIHByb3RlY3RlZDoKICAg
ICBDb25kaXRpb24gbV9yZWNlaXZlZEZsdXNoSWRlbnRpZmllckNoYW5nZWRDb25kaXRpb247CiAg
ICAgV2ViQ29yZTo6RGlzcGxheUxpc3Q6OkZsdXNoSWRlbnRpZmllciBtX3JlY2VpdmVkRmx1c2hJ
ZGVudGlmaWVyOwogICAgIFdlYWtQdHI8UmVtb3RlUmVuZGVyaW5nQmFja2VuZFByb3h5PiBtX3Jl
bW90ZVJlbmRlcmluZ0JhY2tlbmRQcm94eTsKLSAgICBzaXplX3QgbV9pdGVtQ291bnRJbkN1cnJl
bnREaXNwbGF5TGlzdCB7IDAgfTsKIH07CiAKIHRlbXBsYXRlPHR5cGVuYW1lIEJhY2tlbmRUeXBl
Pgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>