<?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>237749</bug_id>
          
          <creation_ts>2022-03-10 17:53:16 -0800</creation_ts>
          <short_desc>Some minor refactoring in RemoteLayerBackingStore</short_desc>
          <delta_ts>2022-03-11 10:44:25 -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>WebKit Process Model</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>
          
          <blocked>237752</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <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>1850338</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2022-03-10 17:53:16 -0800</bug_when>
    <thetext>Some minor refactoring in RemoteLayerBackingStore</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1850340</commentid>
    <comment_count>1</comment_count>
      <attachid>454433</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2022-03-10 17:56:33 -0800</bug_when>
    <thetext>Created attachment 454433
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1850565</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-03-11 10:43:18 -0800</bug_when>
    <thetext>Committed r291178 (248338@main): &lt;https://commits.webkit.org/248338@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 454433.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1850566</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-03-11 10:44:25 -0800</bug_when>
    <thetext>&lt;rdar://problem/90169507&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>454433</attachid>
            <date>2022-03-10 17:56:33 -0800</date>
            <delta_ts>2022-03-11 10:43:19 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-237749-20220310175632.patch</filename>
            <type>text/plain</type>
            <size>22480</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkxMDUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGM0NTc1NDM2M2Y0NGMyNzYx
NWFlZmZhZGI0YmVjZTZjMGEyMGM2YjEuLmJiYWYwNjcxOTg1NzNmYzNhYWIxNzYxMWUwODZjNjM1
YjhiYTI0MDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDUgQEAKKzIwMjItMDMtMTAgIFNpbW9uIEZy
YXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgU29tZSBtaW5vciByZWZh
Y3RvcmluZyBpbiBSZW1vdGVMYXllckJhY2tpbmdTdG9yZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM3NzQ5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU2ltcGxpZnkgUmVtb3RlTGF5ZXJCYWNraW5nU3Rv
cmUgYSBsaXR0bGUsIHByaW1hcmlseSB0byBwdXNoIHRoZSBzZXROZWVkc0Rpc3BsYXkoKSBjYWxs
cworICAgICAgICB3aGVuIHN3YXBUb1ZhbGlkRnJvbnRCdWZmZXIoKSByZXR1cm5zIFdlYkNvcmU6
OlNldE5vblZvbGF0aWxlUmVzdWx0OjpFbXB0eSBvdXQgdG8gdGhlCisgICAgICAgIGNhbGxlcnMs
IHNvIGl0J3MgY2xlYXJlciB3aGVuIG1fZGlydHlSZWdpb24gZ2V0cyBtdXRhdGVkLgorCisgICAg
ICAgIEluIG9yZGVyIHRvIHBhc3MgU2V0Tm9uVm9sYXRpbGVSZXN1bHQgYXJvdW5kIG1vcmUsIGNo
YW5nZSBzZXRCdWZmZXJWb2xhdGlsaXR5KGJvb2wpIGludG8KKyAgICAgICAgc2V0QnVmZmVyVm9s
YXRpbGUoKSBhbmQgc2V0RnJvbnRCdWZmZXJOb25Wb2xhdGlsZSgpLCB3aGljaCBtYWtlcyBpdCBj
bGVhciB0aGF0IHdlIG9ubHkgZXZlcgorICAgICAgICBzZXQgdGhlIGZyb250IGJ1ZmZlciB0byBu
b24tdm9sYXRpbGUuCisKKyAgICAgICAgQWxzbyBtb3ZlIHRoZSBjYWxsIHRvIGNsZWFyQmFja2Vu
ZEhhbmRsZSgpIGludG8KKyAgICAgICAgUmVtb3RlTGF5ZXJXaXRoUmVtb3RlUmVuZGVyaW5nQmFj
a2luZ1N0b3JlQ29sbGVjdGlvbiwgc2luY2UgaXQncyBhYm91dCBHUFUgcHJvY2Vzcy4KKworICAg
ICAgICAqIFNoYXJlZC9SZW1vdGVMYXllclRyZWUvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUuaDoK
KyAgICAgICAgKiBTaGFyZWQvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyQmFja2luZ1N0b3Jl
Lm1tOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVMYXllckJhY2tpbmdTdG9yZTo6c3dhcFRvVmFs
aWRGcm9udEJ1ZmZlcik6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyQmFja2luZ1N0b3Jl
OjphcHBseVN3YXBwZWRCdWZmZXJzKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJCYWNr
aW5nU3RvcmU6OnN3YXBCdWZmZXJzKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJCYWNr
aW5nU3RvcmU6OnNldENvbnRlbnRzKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJCYWNr
aW5nU3RvcmU6OmRpc3BsYXkpOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVMYXllckJhY2tpbmdT
dG9yZTo6cGFpbnRDb250ZW50cyk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyQmFja2lu
Z1N0b3JlOjpzZXRCdWZmZXJWb2xhdGlsZSk6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVy
QmFja2luZ1N0b3JlOjpzZXRGcm9udEJ1ZmZlck5vblZvbGF0aWxlKToKKyAgICAgICAgKFdlYktp
dDo6UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmU6OndpbGxNYWtlQnVmZmVyVm9sYXRpbGUpOiBEZWxl
dGVkLgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVMYXllckJhY2tpbmdTdG9yZTo6ZGlkTWFrZUZy
b250QnVmZmVyTm9uVm9sYXRpbGUpOiBEZWxldGVkLgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVM
YXllckJhY2tpbmdTdG9yZTo6c2V0QnVmZmVyVm9sYXRpbGl0eSk6IERlbGV0ZWQuCisgICAgICAg
ICogU2hhcmVkL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rp
b24uaDoKKyAgICAgICAgKiBTaGFyZWQvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyQmFja2lu
Z1N0b3JlQ29sbGVjdGlvbi5tbToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJCYWNraW5n
U3RvcmVDb2xsZWN0aW9uOjptYWtlRnJvbnRCdWZmZXJOb25Wb2xhdGlsZSk6CisgICAgICAgIChX
ZWJLaXQ6OlJlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbjo6c3dhcFRvVmFsaWRGcm9u
dEJ1ZmZlcik6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVj
dGlvbjo6bWFya0JhY2tpbmdTdG9yZVZvbGF0aWxlKToKKyAgICAgICAgKiBTaGFyZWQvUmVtb3Rl
TGF5ZXJUcmVlL1JlbW90ZUxheWVyV2l0aFJlbW90ZVJlbmRlcmluZ0JhY2tpbmdTdG9yZUNvbGxl
Y3Rpb24uaDoKKyAgICAgICAgKiBTaGFyZWQvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyV2l0
aFJlbW90ZVJlbmRlcmluZ0JhY2tpbmdTdG9yZUNvbGxlY3Rpb24ubW06CisgICAgICAgIChXZWJL
aXQ6OlJlbW90ZUxheWVyV2l0aFJlbW90ZVJlbmRlcmluZ0JhY2tpbmdTdG9yZUNvbGxlY3Rpb246
Om1ha2VGcm9udEJ1ZmZlck5vblZvbGF0aWxlKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5
ZXJXaXRoUmVtb3RlUmVuZGVyaW5nQmFja2luZ1N0b3JlQ29sbGVjdGlvbjo6c3dhcFRvVmFsaWRG
cm9udEJ1ZmZlcik6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUxheWVyV2l0aFJlbW90ZVJlbmRl
cmluZ0JhY2tpbmdTdG9yZUNvbGxlY3Rpb246OmNvbGxlY3RCYWNraW5nU3RvcmVCdWZmZXJJZGVu
dGlmaWVyc1RvTWFya1ZvbGF0aWxlKToKKwogMjAyMi0wMy0wOSAgU2ltb24gRnJhc2VyICA8c2lt
b24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBNb3ZlIFJlbW90ZUxheWVyQmFja2luZ1N0
b3JlOjpCdWZmZXIuaXNWb2xhdGlsZSBpbnRvIEltYWdlQnVmZmVyQmFja2VuZApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9TaGFyZWQvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyQmFja2lu
Z1N0b3JlLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9SZW1vdGVMYXllclRyZWUvUmVtb3RlTGF5
ZXJCYWNraW5nU3RvcmUuaAppbmRleCAzNjYwZWM0ODAxNjBlOThmMTkwYzVjNjVkMDBiYjRmNjI5
NDEwNDIwLi5iZTI2YjQ4MWI0ODE5Yzk0MDBkZGE1Nzc2MTc5NDk4OTU2NmQ5YWY5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9SZW1vdGVMYXllclRyZWUvUmVtb3RlTGF5ZXJCYWNr
aW5nU3RvcmUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9SZW1vdGVMYXllclRyZWUvUmVt
b3RlTGF5ZXJCYWNraW5nU3RvcmUuaApAQCAtNjcsNiArNjcsNyBAQCBwdWJsaWM6CiAgICAgdm9p
ZCBzZXRDb250ZW50cyhXVEY6Ok1hY2hTZW5kUmlnaHQmJiBzdXJmYWNlSGFuZGxlKTsKICAgICAv
LyBSZXR1cm5zIHRydWUgaWYgdGhlIGJhY2tpbmcgc3RvcmUgY2hhbmdlZC4KICAgICBib29sIGRp
c3BsYXkoKTsKKyAgICB2b2lkIHBhaW50Q29udGVudHMoKTsKIAogICAgIFdlYkNvcmU6OkZsb2F0
U2l6ZSBzaXplKCkgY29uc3QgeyByZXR1cm4gbV9zaXplOyB9CiAgICAgZmxvYXQgc2NhbGUoKSBj
b25zdCB7IHJldHVybiBtX3NjYWxlOyB9CkBAIC05MSw4ICs5Miw4IEBAIHB1YmxpYzoKICAgICB9
CiAKICAgICAvLyBKdXN0IGZvciBSZW1vdGVCYWNraW5nU3RvcmVDb2xsZWN0aW9uLgotICAgIHZv
aWQgYXBwbHlTd2FwcGVkQnVmZmVycyhSZWZQdHI8V2ViQ29yZTo6SW1hZ2VCdWZmZXI+JiYgZnJv
bnQsIFJlZlB0cjxXZWJDb3JlOjpJbWFnZUJ1ZmZlcj4mJiBiYWNrLCBSZWZQdHI8V2ViQ29yZTo6
SW1hZ2VCdWZmZXI+JiYgc2Vjb25kYXJ5QmFjaywgYm9vbCBmcm9udEJ1ZmZlck5lZWRzRGlzcGxh
eSk7Ci0gICAgdm9pZCBzd2FwVG9WYWxpZEZyb250QnVmZmVyKCk7CisgICAgdm9pZCBhcHBseVN3
YXBwZWRCdWZmZXJzKFJlZlB0cjxXZWJDb3JlOjpJbWFnZUJ1ZmZlcj4mJiBmcm9udCwgUmVmUHRy
PFdlYkNvcmU6OkltYWdlQnVmZmVyPiYmIGJhY2ssIFJlZlB0cjxXZWJDb3JlOjpJbWFnZUJ1ZmZl
cj4mJiBzZWNvbmRhcnlCYWNrKTsKKyAgICBXZWJDb3JlOjpTZXROb25Wb2xhdGlsZVJlc3VsdCBz
d2FwVG9WYWxpZEZyb250QnVmZmVyKCk7CiAKICAgICBWZWN0b3I8c3RkOjp1bmlxdWVfcHRyPFdl
YkNvcmU6OlRocmVhZFNhZmVJbWFnZUJ1ZmZlckZsdXNoZXI+PiB0YWtlUGVuZGluZ0ZsdXNoZXJz
KCk7CiAKQEAgLTEwMiwxMyArMTAzLDExIEBAIHB1YmxpYzoKICAgICAgICAgU2Vjb25kYXJ5QmFj
awogICAgIH07CiAKLSAgICB2b2lkIHdpbGxNYWtlQnVmZmVyVm9sYXRpbGUoQnVmZmVyVHlwZSk7
Ci0gICAgdm9pZCBkaWRNYWtlRnJvbnRCdWZmZXJOb25Wb2xhdGlsZShXZWJDb3JlOjpTZXROb25W
b2xhdGlsZVJlc3VsdCk7Ci0KICAgICBSZWZQdHI8V2ViQ29yZTo6SW1hZ2VCdWZmZXI+IGJ1ZmZl
ckZvclR5cGUoQnVmZmVyVHlwZSkgY29uc3Q7CiAKICAgICAvLyBSZXR1cm5zIHRydWUgaWYgaXQg
d2FzIGFibGUgdG8gZnVsZmlsbCB0aGUgcmVxdWVzdC4gVGhpcyBjYW4gZmFpbCB3aGVuIHRyeWlu
ZyB0byBtYXJrIGFuIGluLXVzZSBzdXJmYWNlIGFzIHZvbGF0aWxlLgotICAgIGJvb2wgc2V0QnVm
ZmVyVm9sYXRpbGl0eShCdWZmZXJUeXBlLCBib29sIGlzVm9sYXRpbGUpOworICAgIGJvb2wgc2V0
QnVmZmVyVm9sYXRpbGUoQnVmZmVyVHlwZSk7CisgICAgV2ViQ29yZTo6U2V0Tm9uVm9sYXRpbGVS
ZXN1bHQgc2V0RnJvbnRCdWZmZXJOb25Wb2xhdGlsZSgpOwogCiAgICAgTW9ub3RvbmljVGltZSBs
YXN0RGlzcGxheVRpbWUoKSBjb25zdCB7IHJldHVybiBtX2xhc3REaXNwbGF5VGltZTsgfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9SZW1vdGVMYXllclRyZWUvUmVtb3RlTGF5
ZXJCYWNraW5nU3RvcmUubW0gYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9SZW1vdGVMYXllclRyZWUv
UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUubW0KaW5kZXggMWNhNjlkNzVlYzlmZWJmOTliMDk3NGU4
ZDg2ZjJmMzZjNTdjNjJmYi4uNzJhMTc2YTQ3MWUyM2Y0Y2VmOTE4ZmExYWQxYmM1MjJjNTYzYzA0
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvUmVtb3RlTGF5ZXJUcmVlL1JlbW90
ZUxheWVyQmFja2luZ1N0b3JlLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1JlbW90ZUxh
eWVyVHJlZS9SZW1vdGVMYXllckJhY2tpbmdTdG9yZS5tbQpAQCAtMjEyLDcgKzIxMiw3IEBAIHVu
c2lnbmVkIFJlbW90ZUxheWVyQmFja2luZ1N0b3JlOjpieXRlc1BlclBpeGVsKCkgY29uc3QKICAg
ICByZXR1cm4gNDsKIH0KIAotdm9pZCBSZW1vdGVMYXllckJhY2tpbmdTdG9yZTo6c3dhcFRvVmFs
aWRGcm9udEJ1ZmZlcigpCitXZWJDb3JlOjpTZXROb25Wb2xhdGlsZVJlc3VsdCBSZW1vdGVMYXll
ckJhY2tpbmdTdG9yZTo6c3dhcFRvVmFsaWRGcm9udEJ1ZmZlcigpCiB7CiAgICAgQVNTRVJUKCFX
ZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5zaG91bGRVc2VSZW1vdGVSZW5kZXJpbmdGb3IoV2ViQ29y
ZTo6UmVuZGVyaW5nUHVycG9zZTo6RE9NKSk7CiAKQEAgLTIzMywyMSArMjMzLDE3IEBAIHZvaWQg
UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmU6OnN3YXBUb1ZhbGlkRnJvbnRCdWZmZXIoKQogCiAgICAg
bV9jb250ZW50c0J1ZmZlckhhbmRsZSA9IHN0ZDo6bnVsbG9wdDsKICAgICBzdGQ6OnN3YXAobV9m
cm9udEJ1ZmZlciwgbV9iYWNrQnVmZmVyKTsKLSAgICBhdXRvIHJlc3VsdCA9IHNldEJ1ZmZlck5v
blZvbGF0aWxlKG1fZnJvbnRCdWZmZXIpOwotICAgIGRpZE1ha2VGcm9udEJ1ZmZlck5vblZvbGF0
aWxlKHJlc3VsdCk7CisgICAgcmV0dXJuIHNldEJ1ZmZlck5vblZvbGF0aWxlKG1fZnJvbnRCdWZm
ZXIpOwogfQogCiAvLyBDYWxsZWQgYWZ0ZXIgYnVmZmVyIHN3YXBwaW5nIGluIHRoZSBHUFUgcHJv
Y2Vzcy4KLXZvaWQgUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmU6OmFwcGx5U3dhcHBlZEJ1ZmZlcnMo
UmVmUHRyPFdlYkNvcmU6OkltYWdlQnVmZmVyPiYmIGZyb250LCBSZWZQdHI8V2ViQ29yZTo6SW1h
Z2VCdWZmZXI+JiYgYmFjaywgUmVmUHRyPFdlYkNvcmU6OkltYWdlQnVmZmVyPiYmIHNlY29uZGFy
eUJhY2ssIGJvb2wgZnJvbnRCdWZmZXJOZWVkc0Rpc3BsYXkpCit2b2lkIFJlbW90ZUxheWVyQmFj
a2luZ1N0b3JlOjphcHBseVN3YXBwZWRCdWZmZXJzKFJlZlB0cjxXZWJDb3JlOjpJbWFnZUJ1ZmZl
cj4mJiBmcm9udCwgUmVmUHRyPFdlYkNvcmU6OkltYWdlQnVmZmVyPiYmIGJhY2ssIFJlZlB0cjxX
ZWJDb3JlOjpJbWFnZUJ1ZmZlcj4mJiBzZWNvbmRhcnlCYWNrKQogewogICAgIEFTU0VSVChXZWJQ
cm9jZXNzOjpzaW5nbGV0b24oKS5zaG91bGRVc2VSZW1vdGVSZW5kZXJpbmdGb3IoV2ViQ29yZTo6
UmVuZGVyaW5nUHVycG9zZTo6RE9NKSk7CiAKICAgICBtX2Zyb250QnVmZmVyLmltYWdlQnVmZmVy
ID0gV1RGTW92ZShmcm9udCk7CiAgICAgbV9iYWNrQnVmZmVyLmltYWdlQnVmZmVyID0gV1RGTW92
ZShiYWNrKTsKICAgICBtX3NlY29uZGFyeUJhY2tCdWZmZXIuaW1hZ2VCdWZmZXIgPSBXVEZNb3Zl
KHNlY29uZGFyeUJhY2spOwotCi0gICAgaWYgKGZyb250QnVmZmVyTmVlZHNEaXNwbGF5KQotICAg
ICAgICBzZXROZWVkc0Rpc3BsYXkoKTsKIH0KIAogdm9pZCBSZW1vdGVMYXllckJhY2tpbmdTdG9y
ZTo6c3dhcEJ1ZmZlcnMoKQpAQCAtMjU4LDcgKzI1NCwxMCBAQCB2b2lkIFJlbW90ZUxheWVyQmFj
a2luZ1N0b3JlOjpzd2FwQnVmZmVycygpCiAgICAgaWYgKCFjb2xsZWN0aW9uKQogICAgICAgICBy
ZXR1cm47CiAKLSAgICBjb2xsZWN0aW9uLT5zd2FwVG9WYWxpZEZyb250QnVmZmVyKCp0aGlzKTsK
KyAgICBhdXRvIHJlc3VsdCA9IGNvbGxlY3Rpb24tPnN3YXBUb1ZhbGlkRnJvbnRCdWZmZXIoKnRo
aXMpOworICAgIGlmIChyZXN1bHQgPT0gV2ViQ29yZTo6U2V0Tm9uVm9sYXRpbGVSZXN1bHQ6OkVt
cHR5KQorICAgICAgICBzZXROZWVkc0Rpc3BsYXkoKTsKKyAgICAKICAgICBpZiAobV9mcm9udEJ1
ZmZlci5pbWFnZUJ1ZmZlcikKICAgICAgICAgcmV0dXJuOwogCkBAIC0yODAsNyArMjc5LDcgQEAg
Ym9vbCBSZW1vdGVMYXllckJhY2tpbmdTdG9yZTo6c3VwcG9ydHNQYXJ0aWFsUmVwYWludCgpIGNv
bnN0CiB2b2lkIFJlbW90ZUxheWVyQmFja2luZ1N0b3JlOjpzZXRDb250ZW50cyhXVEY6Ok1hY2hT
ZW5kUmlnaHQmJiBjb250ZW50cykKIHsKICAgICBtX2NvbnRlbnRzQnVmZmVySGFuZGxlID0gV1RG
TW92ZShjb250ZW50cyk7Ci0gICAgbV9kaXJ0eVJlZ2lvbiA9IFdlYkNvcmU6OlJlZ2lvbigpOwor
ICAgIG1fZGlydHlSZWdpb24gPSB7IH07CiAgICAgbV9wYWludGluZ1JlY3RzLmNsZWFyKCk7CiB9
CiAKQEAgLTI5OCwzNCArMjk3LDQ4IEBAIGJvb2wgUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmU6OmRp
c3BsYXkoKQogCiAgICAgYm9vbCBuZWVkVG9FbmNvZGVCYWNraW5nU3RvcmUgPSBjb2xsZWN0aW9u
LT5iYWNraW5nU3RvcmVXaWxsQmVEaXNwbGF5ZWQoKnRoaXMpOwogCi0gICAgaWYgKG1fbGF5ZXIt
Pm93bmVyKCktPnBsYXRmb3JtQ0FMYXllckRlbGVnYXRlc0Rpc3BsYXkobV9sYXllcikpIHsKLSAg
ICAgICAgbV9sYXllci0+b3duZXIoKS0+cGxhdGZvcm1DQUxheWVyTGF5ZXJEaXNwbGF5KG1fbGF5
ZXIpOwotICAgICAgICBtX2xheWVyLT5vd25lcigpLT5wbGF0Zm9ybUNBTGF5ZXJMYXllckRpZERp
c3BsYXkobV9sYXllcik7CisgICAgYXV0byYgbGF5ZXJPd25lciA9ICptX2xheWVyLT5vd25lcigp
OworICAgIGlmIChsYXllck93bmVyLnBsYXRmb3JtQ0FMYXllckRlbGVnYXRlc0Rpc3BsYXkobV9s
YXllcikpIHsKKyAgICAgICAgLy8gVGhpcyBjYW4gY2FsbCBiYWNrIHRvIHNldENvbnRlbnRzKCks
IHNldHRpbmcgbV9jb250ZW50c0J1ZmZlckhhbmRsZS4KKyAgICAgICAgbGF5ZXJPd25lci5wbGF0
Zm9ybUNBTGF5ZXJMYXllckRpc3BsYXkobV9sYXllcik7CisgICAgICAgIGxheWVyT3duZXIucGxh
dGZvcm1DQUxheWVyTGF5ZXJEaWREaXNwbGF5KG1fbGF5ZXIpOwogICAgICAgICByZXR1cm4gdHJ1
ZTsKICAgICB9CiAKICAgICBMT0dfV0lUSF9TVFJFQU0oUmVtb3RlUmVuZGVyaW5nQnVmZmVyVm9s
YXRpbGl0eSwgc3RyZWFtIDw8ICJSZW1vdGVMYXllckJhY2tpbmdTdG9yZTo6ZGlzcGxheSgpIik7
CiAKICAgICAvLyBNYWtlIHRoZSBwcmV2aW91cyBmcm9udCBidWZmZXIgbm9uLXZvbGF0aWxlIGVh
cmx5LCBzbyB0aGF0IHdlIGNhbiBkaXJ0eSB0aGUgd2hvbGUgbGF5ZXIgaWYgaXQgY29tZXMgYmFj
ayBlbXB0eS4KLSAgICBjb2xsZWN0aW9uLT5tYWtlRnJvbnRCdWZmZXJOb25Wb2xhdGlsZSgqdGhp
cyk7CisgICAgaWYgKGNvbGxlY3Rpb24tPm1ha2VGcm9udEJ1ZmZlck5vblZvbGF0aWxlKCp0aGlz
KSA9PSBXZWJDb3JlOjpTZXROb25Wb2xhdGlsZVJlc3VsdDo6RW1wdHkpCisgICAgICAgIHNldE5l
ZWRzRGlzcGxheSgpOwogCiAgICAgaWYgKG1fZGlydHlSZWdpb24uaXNFbXB0eSgpIHx8IG1fc2l6
ZS5pc0VtcHR5KCkpIHsKICAgICAgICAgTE9HX1dJVEhfU1RSRUFNKFJlbW90ZVJlbmRlcmluZ0J1
ZmZlclZvbGF0aWxpdHksIHN0cmVhbSA8PCAiIG5vIGRpcnR5IHJlZ2lvbiIpOwogICAgICAgICBy
ZXR1cm4gbmVlZFRvRW5jb2RlQmFja2luZ1N0b3JlOwogICAgIH0KIAotICAgIFdlYkNvcmU6Oklu
dFJlY3QgbGF5ZXJCb3VuZHMoV2ViQ29yZTo6SW50UG9pbnQoKSwgV2ViQ29yZTo6ZXhwYW5kZWRJ
bnRTaXplKG1fc2l6ZSkpOwogICAgIGlmICghaGFzRnJvbnRCdWZmZXIoKSB8fCAhc3VwcG9ydHNQ
YXJ0aWFsUmVwYWludCgpKQotICAgICAgICBtX2RpcnR5UmVnaW9uLnVuaXRlKGxheWVyQm91bmRz
KTsKKyAgICAgICAgc2V0TmVlZHNEaXNwbGF5KCk7CiAKLSAgICBpZiAobV9sYXllci0+b3duZXIo
KS0+cGxhdGZvcm1DQUxheWVyU2hvd1JlcGFpbnRDb3VudGVyKG1fbGF5ZXIpKSB7CisgICAgaWYg
KGxheWVyT3duZXIucGxhdGZvcm1DQUxheWVyU2hvd1JlcGFpbnRDb3VudGVyKG1fbGF5ZXIpKSB7
CiAgICAgICAgIFdlYkNvcmU6OkludFJlY3QgaW5kaWNhdG9yUmVjdCgwLCAwLCA1MiwgMjcpOwog
ICAgICAgICBtX2RpcnR5UmVnaW9uLnVuaXRlKGluZGljYXRvclJlY3QpOwogICAgIH0KIAogICAg
IHN3YXBCdWZmZXJzKCk7Ci0gICAgaWYgKCFtX2Zyb250QnVmZmVyLmltYWdlQnVmZmVyKQotICAg
ICAgICByZXR1cm4gdHJ1ZTsKKworICAgIHBhaW50Q29udGVudHMoKTsKKyAgICByZXR1cm4gdHJ1
ZTsKK30KKwordm9pZCBSZW1vdGVMYXllckJhY2tpbmdTdG9yZTo6cGFpbnRDb250ZW50cygpCit7
CisgICAgaWYgKCFtX2Zyb250QnVmZmVyLmltYWdlQnVmZmVyKSB7CisgICAgICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYgKG1fZGlydHlS
ZWdpb24uaXNFbXB0eSgpIHx8IG1fc2l6ZS5pc0VtcHR5KCkpCisgICAgICAgIHJldHVybjsKIAog
ICAgIGlmIChtX2luY2x1ZGVEaXNwbGF5TGlzdCA9PSBJbmNsdWRlRGlzcGxheUxpc3Q6Olllcykg
ewogI2lmIEVOQUJMRShDR19ESVNQTEFZX0xJU1RfQkFDS0VEX0lNQUdFX0JVRkZFUikKQEAgLTM1
NCw3ICszNjcsNyBAQCBib29sIFJlbW90ZUxheWVyQmFja2luZ1N0b3JlOjpkaXNwbGF5KCkKICAg
ICAgICAgZHJhd0luQ29udGV4dChjb250ZXh0KTsgICAgCiAgICAgfQogCi0gICAgbV9kaXJ0eVJl
Z2lvbiA9IFdlYkNvcmU6OlJlZ2lvbigpOworICAgIG1fZGlydHlSZWdpb24gPSB7IH07CiAgICAg
bV9wYWludGluZ1JlY3RzLmNsZWFyKCk7CiAKICAgICBtX2xheWVyLT5vd25lcigpLT5wbGF0Zm9y
bUNBTGF5ZXJMYXllckRpZERpc3BsYXkobV9sYXllcik7CkBAIC0zNjYsOCArMzc5LDYgQEAgYm9v
bCBSZW1vdGVMYXllckJhY2tpbmdTdG9yZTo6ZGlzcGxheSgpCiAgICAgaWYgKG1faW5jbHVkZURp
c3BsYXlMaXN0ID09IEluY2x1ZGVEaXNwbGF5TGlzdDo6WWVzKQogICAgICAgICBtX2Zyb250QnVm
ZmVyRmx1c2hlcnMuYXBwZW5kKG1fZnJvbnRCdWZmZXIuZGlzcGxheUxpc3RJbWFnZUJ1ZmZlci0+
Y3JlYXRlRmx1c2hlcigpKTsKICNlbmRpZgotCi0gICAgcmV0dXJuIHRydWU7CiB9CiAKIHZvaWQg
UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmU6OmRyYXdJbkNvbnRleHQoV2ViQ29yZTo6R3JhcGhpY3ND
b250ZXh0JiBjb250ZXh0KQpAQCAtNTQ5LDU5ICs1NjAsMzEgQEAgV2ViQ29yZTo6U2V0Tm9uVm9s
YXRpbGVSZXN1bHQgUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmU6OnNldEJ1ZmZlck5vblZvbGF0aWxl
KEJ1ZmYKICAgICByZXR1cm4gYnVmZmVyLmltYWdlQnVmZmVyLT5zZXROb25Wb2xhdGlsZSgpOwog
fQogCi12b2lkIFJlbW90ZUxheWVyQmFja2luZ1N0b3JlOjp3aWxsTWFrZUJ1ZmZlclZvbGF0aWxl
KEJ1ZmZlclR5cGUgYnVmZmVyVHlwZSkKK2Jvb2wgUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmU6OnNl
dEJ1ZmZlclZvbGF0aWxlKEJ1ZmZlclR5cGUgYnVmZmVyVHlwZSkKIHsKLSAgICBBU1NFUlQoV2Vi
UHJvY2Vzczo6c2luZ2xldG9uKCkuc2hvdWxkVXNlUmVtb3RlUmVuZGVyaW5nRm9yKFdlYkNvcmU6
OlJlbmRlcmluZ1B1cnBvc2U6OkRPTSkpOworICAgIGlmIChtX3R5cGUgIT0gVHlwZTo6SU9TdXJm
YWNlKQorICAgICAgICByZXR1cm4gdHJ1ZTsKIAotICAgIGF1dG8gYnVmZmVyID0gYnVmZmVyRm9y
VHlwZShidWZmZXJUeXBlKTsKLSAgICBpZiAoIWJ1ZmZlcikKLSAgICAgICAgcmV0dXJuOworICAg
IHN3aXRjaCAoYnVmZmVyVHlwZSkgeworICAgIGNhc2UgQnVmZmVyVHlwZTo6RnJvbnQ6CisgICAg
ICAgIHJldHVybiBzZXRCdWZmZXJWb2xhdGlsZShtX2Zyb250QnVmZmVyKTsKIAotICAgIGF1dG8q
IGJhY2tlbmQgPSBidWZmZXItPmVuc3VyZUJhY2tlbmRDcmVhdGVkKCk7Ci0gICAgaWYgKCFiYWNr
ZW5kKQotICAgICAgICByZXR1cm47CisgICAgY2FzZSBCdWZmZXJUeXBlOjpCYWNrOgorICAgICAg
ICByZXR1cm4gc2V0QnVmZmVyVm9sYXRpbGUobV9iYWNrQnVmZmVyKTsKIAotICAgIC8vIENsZWFy
aW5nIHRoZSBiYWNrZW5kIGhhbmRsZSBpbiB0aGUgd2ViY29udGVudCBwcm9jZXNzIGlzIG5lY2Vz
c2FyeSB0byBoYXZlIHRoZSBzdXJmYWNlIGluLXVzZSBjb3VudCBkcm9wIHRvIHplcm8uCi0gICAg
YXV0byogc2hhcmluZyA9IGJhY2tlbmQtPnRvQmFja2VuZFNoYXJpbmcoKTsKLSAgICBpZiAoaXM8
SW1hZ2VCdWZmZXJCYWNrZW5kSGFuZGxlU2hhcmluZz4oc2hhcmluZykpCi0gICAgICAgIGRvd25j
YXN0PEltYWdlQnVmZmVyQmFja2VuZEhhbmRsZVNoYXJpbmc+KCpzaGFyaW5nKS5jbGVhckJhY2tl
bmRIYW5kbGUoKTsKLX0KKyAgICBjYXNlIEJ1ZmZlclR5cGU6OlNlY29uZGFyeUJhY2s6CisgICAg
ICAgIHJldHVybiBzZXRCdWZmZXJWb2xhdGlsZShtX3NlY29uZGFyeUJhY2tCdWZmZXIpOworICAg
IH0KIAotdm9pZCBSZW1vdGVMYXllckJhY2tpbmdTdG9yZTo6ZGlkTWFrZUZyb250QnVmZmVyTm9u
Vm9sYXRpbGUoV2ViQ29yZTo6U2V0Tm9uVm9sYXRpbGVSZXN1bHQgcmVzdWx0KQotewotICAgIGlm
IChyZXN1bHQgPT0gV2ViQ29yZTo6U2V0Tm9uVm9sYXRpbGVSZXN1bHQ6OkVtcHR5KQotICAgICAg
ICBzZXROZWVkc0Rpc3BsYXkoKTsKKyAgICByZXR1cm4gdHJ1ZTsKIH0KIAotYm9vbCBSZW1vdGVM
YXllckJhY2tpbmdTdG9yZTo6c2V0QnVmZmVyVm9sYXRpbGl0eShCdWZmZXJUeXBlIGJ1ZmZlclR5
cGUsIGJvb2wgaXNWb2xhdGlsZSkKK1dlYkNvcmU6OlNldE5vblZvbGF0aWxlUmVzdWx0IFJlbW90
ZUxheWVyQmFja2luZ1N0b3JlOjpzZXRGcm9udEJ1ZmZlck5vblZvbGF0aWxlKCkKIHsKICAgICBp
ZiAobV90eXBlICE9IFR5cGU6OklPU3VyZmFjZSkKLSAgICAgICAgcmV0dXJuIHRydWU7CisgICAg
ICAgIHJldHVybiBXZWJDb3JlOjpTZXROb25Wb2xhdGlsZVJlc3VsdDo6VmFsaWQ7CiAKLSAgICBz
d2l0Y2ggKGJ1ZmZlclR5cGUpIHsKLSAgICBjYXNlIEJ1ZmZlclR5cGU6OkZyb250OiB7Ci0gICAg
ICAgIGlmIChpc1ZvbGF0aWxlKQotICAgICAgICAgICAgcmV0dXJuIHNldEJ1ZmZlclZvbGF0aWxl
KG1fZnJvbnRCdWZmZXIpOwotICAgICAgICAKLSAgICAgICAgLy8gQmVjb21pbmcgbm9uLXZvbGF0
aWxlIGFuZCB0aGUgZnJvbnQgYnVmZmVyIHdhcyBwdXJnZWQsIHNvIHdlIG5lZWQgdG8gcmVwYWlu
dC4KLSAgICAgICAgYXV0byByZXN1bHQgPSBzZXRCdWZmZXJOb25Wb2xhdGlsZShtX2Zyb250QnVm
ZmVyKTsKLSAgICAgICAgZGlkTWFrZUZyb250QnVmZmVyTm9uVm9sYXRpbGUocmVzdWx0KTsKLSAg
ICAgICAgYnJlYWs7Ci0gICAgfQotICAgIGNhc2UgQnVmZmVyVHlwZTo6QmFjazoKLSAgICAgICAg
aWYgKGlzVm9sYXRpbGUpCi0gICAgICAgICAgICByZXR1cm4gc2V0QnVmZmVyVm9sYXRpbGUobV9i
YWNrQnVmZmVyKTsKLSAgICAKLSAgICAgICAgc2V0QnVmZmVyTm9uVm9sYXRpbGUobV9iYWNrQnVm
ZmVyKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBCdWZmZXJUeXBlOjpTZWNvbmRhcnlCYWNr
OgotICAgICAgICBpZiAoaXNWb2xhdGlsZSkKLSAgICAgICAgICAgIHJldHVybiBzZXRCdWZmZXJW
b2xhdGlsZShtX3NlY29uZGFyeUJhY2tCdWZmZXIpOwotICAgIAotICAgICAgICBzZXRCdWZmZXJO
b25Wb2xhdGlsZShtX3NlY29uZGFyeUJhY2tCdWZmZXIpOwotICAgICAgICBicmVhazsKLSAgICB9
Ci0gICAgcmV0dXJuIHRydWU7CisgICAgcmV0dXJuIHNldEJ1ZmZlck5vblZvbGF0aWxlKG1fZnJv
bnRCdWZmZXIpOwogfQogCiBSZWZQdHI8V2ViQ29yZTo6SW1hZ2VCdWZmZXI+IFJlbW90ZUxheWVy
QmFja2luZ1N0b3JlOjpidWZmZXJGb3JUeXBlKEJ1ZmZlclR5cGUgYnVmZmVyVHlwZSkgY29uc3QK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVM
YXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1JlbW90
ZUxheWVyVHJlZS9SZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb24uaAppbmRleCBkMjZl
YTQ5OTBkMDYyYTRlZTM2YzVjYTQ1ODE3MjQ0MGYwMzdkODFjLi5jYmZhZWIyZjk3NmFhYmMxNDMy
OWJhYzFlMzI1NzUxZjQ2YzI4MThhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9S
ZW1vdGVMYXllclRyZWUvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uLmgKKysrIGIv
U291cmNlL1dlYktpdC9TaGFyZWQvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyQmFja2luZ1N0
b3JlQ29sbGVjdGlvbi5oCkBAIC0zMyw2ICszMyw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IGNsYXNzIEltYWdlQnVmZmVyOworZW51bSBjbGFzcyBTZXROb25Wb2xhdGlsZVJlc3VsdCA6IHVp
bnQ4X3Q7CiB9CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpAQCAtNTUsOCArNTYsOCBAQCBwdWJsaWM6
CiAgICAgYm9vbCBiYWNraW5nU3RvcmVXaWxsQmVEaXNwbGF5ZWQoUmVtb3RlTGF5ZXJCYWNraW5n
U3RvcmUmKTsKICAgICB2b2lkIGJhY2tpbmdTdG9yZUJlY2FtZVVucmVhY2hhYmxlKFJlbW90ZUxh
eWVyQmFja2luZ1N0b3JlJik7CiAgICAgCi0gICAgdmlydHVhbCB2b2lkIG1ha2VGcm9udEJ1ZmZl
ck5vblZvbGF0aWxlKFJlbW90ZUxheWVyQmFja2luZ1N0b3JlJik7Ci0gICAgdmlydHVhbCB2b2lk
IHN3YXBUb1ZhbGlkRnJvbnRCdWZmZXIoUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUmKTsKKyAgICB2
aXJ0dWFsIFdlYkNvcmU6OlNldE5vblZvbGF0aWxlUmVzdWx0IG1ha2VGcm9udEJ1ZmZlck5vblZv
bGF0aWxlKFJlbW90ZUxheWVyQmFja2luZ1N0b3JlJik7CisgICAgdmlydHVhbCBXZWJDb3JlOjpT
ZXROb25Wb2xhdGlsZVJlc3VsdCBzd2FwVG9WYWxpZEZyb250QnVmZmVyKFJlbW90ZUxheWVyQmFj
a2luZ1N0b3JlJik7CiAKICAgICB2b2lkIHdpbGxGbHVzaExheWVycygpOwogICAgIHZvaWQgd2ls
bENvbW1pdExheWVyVHJlZShSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbiYpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9TaGFyZWQvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyQmFja2lu
Z1N0b3JlQ29sbGVjdGlvbi5tbSBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1JlbW90ZUxheWVyVHJl
ZS9SZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb24ubW0KaW5kZXggZjgyODM1NmQ1MmNj
YjEzMDZkYjkyNWNjMWI2Mzg0ZjM0ZDYzMTE4OC4uYzJhMzQxOGM3ZTNjM2Q5ZDViMDY2NjJiNzY4
MDYzZTNkMzJlOTVhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvUmVtb3RlTGF5
ZXJUcmVlL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbi5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9SZW1vdGVMYXllclRyZWUvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xs
ZWN0aW9uLm1tCkBAIC0xMDYsMTQgKzEwNiwxNCBAQCBib29sIFJlbW90ZUxheWVyQmFja2luZ1N0
b3JlQ29sbGVjdGlvbjo6YmFja2luZ1N0b3JlV2lsbEJlRGlzcGxheWVkKFJlbW90ZUxheWVyQgog
ICAgIHJldHVybiB0cnVlOwogfQogCi12b2lkIFJlbW90ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVj
dGlvbjo6bWFrZUZyb250QnVmZmVyTm9uVm9sYXRpbGUoUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUm
IGJhY2tpbmdTdG9yZSkKK1dlYkNvcmU6OlNldE5vblZvbGF0aWxlUmVzdWx0IFJlbW90ZUxheWVy
QmFja2luZ1N0b3JlQ29sbGVjdGlvbjo6bWFrZUZyb250QnVmZmVyTm9uVm9sYXRpbGUoUmVtb3Rl
TGF5ZXJCYWNraW5nU3RvcmUmIGJhY2tpbmdTdG9yZSkKIHsKLSAgICBiYWNraW5nU3RvcmUuc2V0
QnVmZmVyVm9sYXRpbGl0eShSZW1vdGVMYXllckJhY2tpbmdTdG9yZTo6QnVmZmVyVHlwZTo6RnJv
bnQsIGZhbHNlKTsKKyAgICByZXR1cm4gYmFja2luZ1N0b3JlLnNldEZyb250QnVmZmVyTm9uVm9s
YXRpbGUoKTsKIH0KIAotdm9pZCBSZW1vdGVMYXllckJhY2tpbmdTdG9yZUNvbGxlY3Rpb246OnN3
YXBUb1ZhbGlkRnJvbnRCdWZmZXIoUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUmIGJhY2tpbmdTdG9y
ZSkKK1dlYkNvcmU6OlNldE5vblZvbGF0aWxlUmVzdWx0IFJlbW90ZUxheWVyQmFja2luZ1N0b3Jl
Q29sbGVjdGlvbjo6c3dhcFRvVmFsaWRGcm9udEJ1ZmZlcihSZW1vdGVMYXllckJhY2tpbmdTdG9y
ZSYgYmFja2luZ1N0b3JlKQogewotICAgIGJhY2tpbmdTdG9yZS5zd2FwVG9WYWxpZEZyb250QnVm
ZmVyKCk7CisgICAgcmV0dXJuIGJhY2tpbmdTdG9yZS5zd2FwVG9WYWxpZEZyb250QnVmZmVyKCk7
CiB9CiAKIGJvb2wgUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmVDb2xsZWN0aW9uOjptYXJrQmFja2lu
Z1N0b3JlVm9sYXRpbGUoUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUmIGJhY2tpbmdTdG9yZSwgT3B0
aW9uU2V0PFZvbGF0aWxpdHlNYXJraW5nQmVoYXZpb3I+IG1hcmtpbmdCZWhhdmlvciwgTW9ub3Rv
bmljVGltZSBub3cpCkBAIC0xMjQsNyArMTI0LDcgQEAgYm9vbCBSZW1vdGVMYXllckJhY2tpbmdT
dG9yZUNvbGxlY3Rpb246Om1hcmtCYWNraW5nU3RvcmVWb2xhdGlsZShSZW1vdGVMYXllckJhY2sK
ICAgICAgICAgYXV0byB0aW1lU2luY2VMYXN0RGlzcGxheSA9IG5vdyAtIGJhY2tpbmdTdG9yZS5s
YXN0RGlzcGxheVRpbWUoKTsKICAgICAgICAgaWYgKHRpbWVTaW5jZUxhc3REaXNwbGF5IDwgdm9s
YXRpbGVCYWNraW5nU3RvcmVBZ2VUaHJlc2hvbGQpIHsKICAgICAgICAgICAgIGlmICh0aW1lU2lu
Y2VMYXN0RGlzcGxheSA+PSB2b2xhdGlsZVNlY29uZGFyeUJhY2tpbmdTdG9yZUFnZVRocmVzaG9s
ZCkKLSAgICAgICAgICAgICAgICBiYWNraW5nU3RvcmUuc2V0QnVmZmVyVm9sYXRpbGl0eShSZW1v
dGVMYXllckJhY2tpbmdTdG9yZTo6QnVmZmVyVHlwZTo6U2Vjb25kYXJ5QmFjaywgdHJ1ZSk7Cisg
ICAgICAgICAgICAgICAgYmFja2luZ1N0b3JlLnNldEJ1ZmZlclZvbGF0aWxlKFJlbW90ZUxheWVy
QmFja2luZ1N0b3JlOjpCdWZmZXJUeXBlOjpTZWNvbmRhcnlCYWNrKTsKIAogICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOwogICAgICAgICB9CkBAIC0xMzIsMTQgKzEzMiwxNCBAQCBib29sIFJlbW90
ZUxheWVyQmFja2luZ1N0b3JlQ29sbGVjdGlvbjo6bWFya0JhY2tpbmdTdG9yZVZvbGF0aWxlKFJl
bW90ZUxheWVyQmFjawogICAgIAogICAgIGJvb2wgc3VjY2Vzc2Z1bGx5TWFkZUJhY2tpbmdTdG9y
ZVZvbGF0aWxlID0gdHJ1ZTsKIAotICAgIGlmICghYmFja2luZ1N0b3JlLnNldEJ1ZmZlclZvbGF0
aWxpdHkoUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmU6OkJ1ZmZlclR5cGU6OlNlY29uZGFyeUJhY2ss
IHRydWUpKQorICAgIGlmICghYmFja2luZ1N0b3JlLnNldEJ1ZmZlclZvbGF0aWxlKFJlbW90ZUxh
eWVyQmFja2luZ1N0b3JlOjpCdWZmZXJUeXBlOjpTZWNvbmRhcnlCYWNrKSkKICAgICAgICAgc3Vj
Y2Vzc2Z1bGx5TWFkZUJhY2tpbmdTdG9yZVZvbGF0aWxlID0gZmFsc2U7CiAKLSAgICBpZiAoIWJh
Y2tpbmdTdG9yZS5zZXRCdWZmZXJWb2xhdGlsaXR5KFJlbW90ZUxheWVyQmFja2luZ1N0b3JlOjpC
dWZmZXJUeXBlOjpCYWNrLCB0cnVlKSkKKyAgICBpZiAoIWJhY2tpbmdTdG9yZS5zZXRCdWZmZXJW
b2xhdGlsZShSZW1vdGVMYXllckJhY2tpbmdTdG9yZTo6QnVmZmVyVHlwZTo6QmFjaykpCiAgICAg
ICAgIHN1Y2Nlc3NmdWxseU1hZGVCYWNraW5nU3RvcmVWb2xhdGlsZSA9IGZhbHNlOwogCiAgICAg
aWYgKCFtX3JlYWNoYWJsZUJhY2tpbmdTdG9yZUluTGF0ZXN0Rmx1c2guY29udGFpbnMoJmJhY2tp
bmdTdG9yZSkgfHwgbWFya2luZ0JlaGF2aW9yLmNvbnRhaW5zKFZvbGF0aWxpdHlNYXJraW5nQmVo
YXZpb3I6Oklnbm9yZVJlYWNoYWJpbGl0eSkpIHsKLSAgICAgICAgaWYgKCFiYWNraW5nU3RvcmUu
c2V0QnVmZmVyVm9sYXRpbGl0eShSZW1vdGVMYXllckJhY2tpbmdTdG9yZTo6QnVmZmVyVHlwZTo6
RnJvbnQsIHRydWUpKQorICAgICAgICBpZiAoIWJhY2tpbmdTdG9yZS5zZXRCdWZmZXJWb2xhdGls
ZShSZW1vdGVMYXllckJhY2tpbmdTdG9yZTo6QnVmZmVyVHlwZTo6RnJvbnQpKQogICAgICAgICAg
ICAgc3VjY2Vzc2Z1bGx5TWFkZUJhY2tpbmdTdG9yZVZvbGF0aWxlID0gZmFsc2U7CiAgICAgfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9SZW1vdGVMYXllclRyZWUvUmVtb3Rl
TGF5ZXJXaXRoUmVtb3RlUmVuZGVyaW5nQmFja2luZ1N0b3JlQ29sbGVjdGlvbi5oIGIvU291cmNl
L1dlYktpdC9TaGFyZWQvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyV2l0aFJlbW90ZVJlbmRl
cmluZ0JhY2tpbmdTdG9yZUNvbGxlY3Rpb24uaAppbmRleCBmZjAxMmFiMmE1N2I1ZjU1OTYyYThi
NThiNDEzNjJhMTJkNTdlNmM2Li4zMWJiN2ZlMjE0Yjc1Y2YwYWI3NDYyOWJhZTk1YmM4ZDhmYWM2
ZGU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9SZW1vdGVMYXllclRyZWUvUmVt
b3RlTGF5ZXJXaXRoUmVtb3RlUmVuZGVyaW5nQmFja2luZ1N0b3JlQ29sbGVjdGlvbi5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVMYXllcldpdGhSZW1v
dGVSZW5kZXJpbmdCYWNraW5nU3RvcmVDb2xsZWN0aW9uLmgKQEAgLTQzLDggKzQzLDggQEAgcHJp
dmF0ZToKICAgICAKICAgICBSZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHkmIHJlbW90ZVJlbmRl
cmluZ0JhY2tlbmRQcm94eSgpOwogCi0gICAgdm9pZCBtYWtlRnJvbnRCdWZmZXJOb25Wb2xhdGls
ZShSZW1vdGVMYXllckJhY2tpbmdTdG9yZSYpIGZpbmFsOwotICAgIHZvaWQgc3dhcFRvVmFsaWRG
cm9udEJ1ZmZlcihSZW1vdGVMYXllckJhY2tpbmdTdG9yZSYpIGZpbmFsOworICAgIFdlYkNvcmU6
OlNldE5vblZvbGF0aWxlUmVzdWx0IG1ha2VGcm9udEJ1ZmZlck5vblZvbGF0aWxlKFJlbW90ZUxh
eWVyQmFja2luZ1N0b3JlJikgZmluYWw7CisgICAgV2ViQ29yZTo6U2V0Tm9uVm9sYXRpbGVSZXN1
bHQgc3dhcFRvVmFsaWRGcm9udEJ1ZmZlcihSZW1vdGVMYXllckJhY2tpbmdTdG9yZSYpIGZpbmFs
OwogCiAgICAgYm9vbCBjb2xsZWN0QmFja2luZ1N0b3JlQnVmZmVySWRlbnRpZmllcnNUb01hcmtW
b2xhdGlsZShSZW1vdGVMYXllckJhY2tpbmdTdG9yZSYsIE9wdGlvblNldDxWb2xhdGlsaXR5TWFy
a2luZ0JlaGF2aW9yPiwgTW9ub3RvbmljVGltZSBub3csIFZlY3RvcjxXZWJDb3JlOjpSZW5kZXJp
bmdSZXNvdXJjZUlkZW50aWZpZXI+Jik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL1JlbW90ZUxheWVyVHJlZS9SZW1vdGVMYXllcldpdGhSZW1vdGVSZW5kZXJpbmdCYWNraW5n
U3RvcmVDb2xsZWN0aW9uLm1tIGIvU291cmNlL1dlYktpdC9TaGFyZWQvUmVtb3RlTGF5ZXJUcmVl
L1JlbW90ZUxheWVyV2l0aFJlbW90ZVJlbmRlcmluZ0JhY2tpbmdTdG9yZUNvbGxlY3Rpb24ubW0K
aW5kZXggYTI4ZTNhMzU3NzU0OTk0OGFkMmE2NGY5OGIwZmM2MTkzYWQ5ZjFhOS4uMTExYTU3ZjFm
ODQzYjg4MDk1MGRjN2RjZDVkYTAwZDZkMGZmZGI4NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9TaGFyZWQvUmVtb3RlTGF5ZXJUcmVlL1JlbW90ZUxheWVyV2l0aFJlbW90ZVJlbmRlcmluZ0Jh
Y2tpbmdTdG9yZUNvbGxlY3Rpb24ubW0KKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvUmVtb3Rl
TGF5ZXJUcmVlL1JlbW90ZUxheWVyV2l0aFJlbW90ZVJlbmRlcmluZ0JhY2tpbmdTdG9yZUNvbGxl
Y3Rpb24ubW0KQEAgLTQzLDExICs0MywxMSBAQCBSZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHkm
IFJlbW90ZUxheWVyV2l0aFJlbW90ZVJlbmRlcmluZ0JhY2tpbmdTdG9yZUNvbGxlY3RpbwogICAg
IHJldHVybiBsYXllclRyZWVDb250ZXh0KCkuZW5zdXJlUmVtb3RlUmVuZGVyaW5nQmFja2VuZFBy
b3h5KCk7CiB9CiAKLXZvaWQgUmVtb3RlTGF5ZXJXaXRoUmVtb3RlUmVuZGVyaW5nQmFja2luZ1N0
b3JlQ29sbGVjdGlvbjo6bWFrZUZyb250QnVmZmVyTm9uVm9sYXRpbGUoUmVtb3RlTGF5ZXJCYWNr
aW5nU3RvcmUmIGJhY2tpbmdTdG9yZSkKK1dlYkNvcmU6OlNldE5vblZvbGF0aWxlUmVzdWx0IFJl
bW90ZUxheWVyV2l0aFJlbW90ZVJlbmRlcmluZ0JhY2tpbmdTdG9yZUNvbGxlY3Rpb246Om1ha2VG
cm9udEJ1ZmZlck5vblZvbGF0aWxlKFJlbW90ZUxheWVyQmFja2luZ1N0b3JlJiBiYWNraW5nU3Rv
cmUpCiB7CiAgICAgYXV0byBmcm9udEJ1ZmZlciA9IGJhY2tpbmdTdG9yZS5idWZmZXJGb3JUeXBl
KFJlbW90ZUxheWVyQmFja2luZ1N0b3JlOjpCdWZmZXJUeXBlOjpGcm9udCk7CiAgICAgaWYgKCFm
cm9udEJ1ZmZlcikKLSAgICAgICAgcmV0dXJuOworICAgICAgICByZXR1cm4gV2ViQ29yZTo6U2V0
Tm9uVm9sYXRpbGVSZXN1bHQ6OkVtcHR5OwogCiAgICAgYXV0byBoYXNCYWNrZW5kSGFuZGxlID0g
W10oY29uc3QgV2ViQ29yZTo6SW1hZ2VCdWZmZXImIGJ1ZmZlcikgewogICAgICAgICBpZiAoYXV0
byogYmFja2VuZCA9IGJ1ZmZlci5lbnN1cmVCYWNrZW5kQ3JlYXRlZCgpKSB7CkBAIC02MSwxNCAr
NjEsMTMgQEAgdm9pZCBSZW1vdGVMYXllcldpdGhSZW1vdGVSZW5kZXJpbmdCYWNraW5nU3RvcmVD
b2xsZWN0aW9uOjptYWtlRnJvbnRCdWZmZXJOb25Wb2wKICAgICBMT0dfV0lUSF9TVFJFQU0oUmVt
b3RlUmVuZGVyaW5nQnVmZmVyVm9sYXRpbGl0eSwgc3RyZWFtIDw8ICJSZW1vdGVMYXllcldpdGhS
ZW1vdGVSZW5kZXJpbmdCYWNraW5nU3RvcmVDb2xsZWN0aW9uOjptYWtlRnJvbnRCdWZmZXJOb25W
b2xhdGlsZSAtIGZyb250IGJ1ZmZlciAiIDw8IGZyb250QnVmZmVyLT5yZW5kZXJpbmdSZXNvdXJj
ZUlkZW50aWZpZXIoKSA8PCAiIGlzIG5vbiB2b2xhdGlsZSAiIDw8IChmcm9udEJ1ZmZlci0+dm9s
YXRpbGl0eVN0YXRlKCkgPT0gV2ViQ29yZTo6Vm9sYXRpbGl0eVN0YXRlOjpOb25Wb2xhdGlsZSkp
OwogCiAgICAgaWYgKGZyb250QnVmZmVyLT52b2xhdGlsaXR5U3RhdGUoKSA9PSBXZWJDb3JlOjpW
b2xhdGlsaXR5U3RhdGU6Ok5vblZvbGF0aWxlICYmIGhhc0JhY2tlbmRIYW5kbGUoKmZyb250QnVm
ZmVyKSkKLSAgICAgICAgcmV0dXJuOworICAgICAgICByZXR1cm4gV2ViQ29yZTo6U2V0Tm9uVm9s
YXRpbGVSZXN1bHQ6OlZhbGlkOwogCiAgICAgYXV0byYgcmVtb3RlUmVuZGVyaW5nQmFja2VuZCA9
IGxheWVyVHJlZUNvbnRleHQoKS5lbnN1cmVSZW1vdGVSZW5kZXJpbmdCYWNrZW5kUHJveHkoKTsK
LSAgICBhdXRvIHJlc3VsdCA9IHJlbW90ZVJlbmRlcmluZ0JhY2tlbmQubWFya1N1cmZhY2VOb25W
b2xhdGlsZShmcm9udEJ1ZmZlci0+cmVuZGVyaW5nUmVzb3VyY2VJZGVudGlmaWVyKCkpOwotICAg
IGJhY2tpbmdTdG9yZS5kaWRNYWtlRnJvbnRCdWZmZXJOb25Wb2xhdGlsZShyZXN1bHQpOworICAg
IHJldHVybiByZW1vdGVSZW5kZXJpbmdCYWNrZW5kLm1hcmtTdXJmYWNlTm9uVm9sYXRpbGUoZnJv
bnRCdWZmZXItPnJlbmRlcmluZ1Jlc291cmNlSWRlbnRpZmllcigpKTsKIH0KIAotdm9pZCBSZW1v
dGVMYXllcldpdGhSZW1vdGVSZW5kZXJpbmdCYWNraW5nU3RvcmVDb2xsZWN0aW9uOjpzd2FwVG9W
YWxpZEZyb250QnVmZmVyKFJlbW90ZUxheWVyQmFja2luZ1N0b3JlJiBiYWNraW5nU3RvcmUpCitX
ZWJDb3JlOjpTZXROb25Wb2xhdGlsZVJlc3VsdCBSZW1vdGVMYXllcldpdGhSZW1vdGVSZW5kZXJp
bmdCYWNraW5nU3RvcmVDb2xsZWN0aW9uOjpzd2FwVG9WYWxpZEZyb250QnVmZmVyKFJlbW90ZUxh
eWVyQmFja2luZ1N0b3JlJiBiYWNraW5nU3RvcmUpCiB7CiAgICAgYXV0byYgcmVtb3RlUmVuZGVy
aW5nQmFja2VuZCA9IGxheWVyVHJlZUNvbnRleHQoKS5lbnN1cmVSZW1vdGVSZW5kZXJpbmdCYWNr
ZW5kUHJveHkoKTsKIApAQCAtNzgsNyArNzcsOCBAQCB2b2lkIFJlbW90ZUxheWVyV2l0aFJlbW90
ZVJlbmRlcmluZ0JhY2tpbmdTdG9yZUNvbGxlY3Rpb246OnN3YXBUb1ZhbGlkRnJvbnRCdWZmZQog
ICAgICAgICBiYWNraW5nU3RvcmUuYnVmZmVyRm9yVHlwZShSZW1vdGVMYXllckJhY2tpbmdTdG9y
ZTo6QnVmZmVyVHlwZTo6U2Vjb25kYXJ5QmFjaykKICAgICB9OwogICAgIGF1dG8gc3dhcFJlc3Vs
dCA9IHJlbW90ZVJlbmRlcmluZ0JhY2tlbmQuc3dhcFRvVmFsaWRGcm9udEJ1ZmZlcihXVEZNb3Zl
KGlkZW50aWZpZXJzKSk7Ci0gICAgYmFja2luZ1N0b3JlLmFwcGx5U3dhcHBlZEJ1ZmZlcnMoV1RG
TW92ZShzd2FwUmVzdWx0LmJ1ZmZlcnMuZnJvbnQpLCBXVEZNb3ZlKHN3YXBSZXN1bHQuYnVmZmVy
cy5iYWNrKSwgV1RGTW92ZShzd2FwUmVzdWx0LmJ1ZmZlcnMuc2Vjb25kYXJ5QmFjayksIHN3YXBS
ZXN1bHQuZnJvbnRCdWZmZXJXYXNFbXB0eSk7CisgICAgYmFja2luZ1N0b3JlLmFwcGx5U3dhcHBl
ZEJ1ZmZlcnMoV1RGTW92ZShzd2FwUmVzdWx0LmJ1ZmZlcnMuZnJvbnQpLCBXVEZNb3ZlKHN3YXBS
ZXN1bHQuYnVmZmVycy5iYWNrKSwgV1RGTW92ZShzd2FwUmVzdWx0LmJ1ZmZlcnMuc2Vjb25kYXJ5
QmFjaykpOworICAgIHJldHVybiBzd2FwUmVzdWx0LmZyb250QnVmZmVyV2FzRW1wdHkgPyBXZWJD
b3JlOjpTZXROb25Wb2xhdGlsZVJlc3VsdDo6RW1wdHkgOiBXZWJDb3JlOjpTZXROb25Wb2xhdGls
ZVJlc3VsdDo6VmFsaWQ7CiB9CiAKIFJlZlB0cjxXZWJDb3JlOjpJbWFnZUJ1ZmZlcj4gUmVtb3Rl
TGF5ZXJXaXRoUmVtb3RlUmVuZGVyaW5nQmFja2luZ1N0b3JlQ29sbGVjdGlvbjo6YWxsb2NhdGVC
dWZmZXJGb3JCYWNraW5nU3RvcmUoY29uc3QgUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUmIGJhY2tp
bmdTdG9yZSkKQEAgLTk5LDcgKzk5LDEzIEBAIGJvb2wgUmVtb3RlTGF5ZXJXaXRoUmVtb3RlUmVu
ZGVyaW5nQmFja2luZ1N0b3JlQ29sbGVjdGlvbjo6Y29sbGVjdEJhY2tpbmdTdG9yZUJ1CiAgICAg
ICAgIGlmIChidWZmZXItPnZvbGF0aWxpdHlTdGF0ZSgpICE9IFdlYkNvcmU6OlZvbGF0aWxpdHlT
dGF0ZTo6Tm9uVm9sYXRpbGUpCiAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgYmFja2lu
Z1N0b3JlLndpbGxNYWtlQnVmZmVyVm9sYXRpbGUoYnVmZmVyVHlwZSk7CisgICAgICAgIC8vIENs
ZWFyaW5nIHRoZSBiYWNrZW5kIGhhbmRsZSBpbiB0aGUgd2ViY29udGVudCBwcm9jZXNzIGlzIG5l
Y2Vzc2FyeSB0byBoYXZlIHRoZSBzdXJmYWNlIGluLXVzZSBjb3VudCBkcm9wIHRvIHplcm8uCisg
ICAgICAgIGlmIChhdXRvKiBiYWNrZW5kID0gYnVmZmVyLT5lbnN1cmVCYWNrZW5kQ3JlYXRlZCgp
KSB7CisgICAgICAgICAgICBhdXRvKiBzaGFyaW5nID0gYmFja2VuZC0+dG9CYWNrZW5kU2hhcmlu
ZygpOworICAgICAgICAgICAgaWYgKGlzPEltYWdlQnVmZmVyQmFja2VuZEhhbmRsZVNoYXJpbmc+
KHNoYXJpbmcpKQorICAgICAgICAgICAgICAgIGRvd25jYXN0PEltYWdlQnVmZmVyQmFja2VuZEhh
bmRsZVNoYXJpbmc+KCpzaGFyaW5nKS5jbGVhckJhY2tlbmRIYW5kbGUoKTsKKyAgICAgICAgfQor
CiAgICAgICAgIGlkZW50aWZpZXJzLmFwcGVuZChidWZmZXItPnJlbmRlcmluZ1Jlc291cmNlSWRl
bnRpZmllcigpKTsKICAgICB9OwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>