<?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>131773</bug_id>
          
          <creation_ts>2014-04-16 16:30:32 -0700</creation_ts>
          <short_desc>Deduplicate LayerTreeContext</short_desc>
          <delta_ts>2014-04-16 16:41:39 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</component>
          <version>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Tim Horton">thorton</reporter>
          <assigned_to name="Tim Horton">thorton</assigned_to>
          <cc>bunhere</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>luiz</cc>
    
    <cc>noam</cc>
    
    <cc>rakuco</cc>
    
    <cc>sergio</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>zeno</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1001384</commentid>
    <comment_count>0</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2014-04-16 16:30:32 -0700</bug_when>
    <thetext>There are three identical implementations.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1001386</commentid>
    <comment_count>1</comment_count>
      <attachid>229495</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2014-04-16 16:32:28 -0700</bug_when>
    <thetext>Created attachment 229495
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1001389</commentid>
    <comment_count>2</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2014-04-16 16:41:39 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/167398</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>229495</attachid>
            <date>2014-04-16 16:32:28 -0700</date>
            <delta_ts>2014-04-16 16:35:38 -0700</delta_ts>
            <desc>patch</desc>
            <filename>layertreecontext.diff</filename>
            <type>text/plain</type>
            <size>19283</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYktp
dDIvQ01ha2VMaXN0cy50eHQKaW5kZXggMWNjM2E5My4uYjExOTA1NiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYktpdDIvQ01ha2VMaXN0
cy50eHQKQEAgLTE5NSw2ICsxOTUsNyBAQCBzZXQoV2ViS2l0Ml9TT1VSQ0VTCiAgICAgU2hhcmVk
L0VkaXRvclN0YXRlLmNwcAogICAgIFNoYXJlZC9Gb250SW5mby5jcHAKICAgICBTaGFyZWQvSW1t
dXRhYmxlRGljdGlvbmFyeS5jcHAKKyAgICBTaGFyZWQvTGF5ZXJUcmVlQ29udGV4dC5jcHAKICAg
ICBTaGFyZWQvTXV0YWJsZURpY3Rpb25hcnkuY3BwCiAgICAgU2hhcmVkL05hdmlnYXRpb25BY3Rp
b25EYXRhLmNwcAogICAgIFNoYXJlZC9PcmlnaW5BbmREYXRhYmFzZXMuY3BwCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5k
ZXggOGUxMmQyZC4uOGEwZGNhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDM0IEBACiAyMDE0LTA0
LTE2ICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgogCisgICAgICAgIERl
ZHVwbGljYXRlIExheWVyVHJlZUNvbnRleHQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTEzMTc3MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFRoZXJlIGFyZSB0aHJlZSBpZGVudGljYWwgaW1wbGVtZW50YXRp
b25zLCBvbmUgZm9yIGVhY2ggcGxhdGZvcm0sIGZvciBubyByZWFzb24uCisKKyAgICAgICAgKiBD
TWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBQbGF0Zm9ybUVmbC5jbWFrZToKKyAgICAgICAgKiBQ
bGF0Zm9ybUdUSy5jbWFrZToKKyAgICAgICAgKiBTaGFyZWQvTGF5ZXJUcmVlQ29udGV4dC5jcHA6
IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL0xheWVyVHJlZUNvbnRleHRN
YWMubW0uCisgICAgICAgIChXZWJLaXQ6OkxheWVyVHJlZUNvbnRleHQ6OkxheWVyVHJlZUNvbnRl
eHQpOgorICAgICAgICAoV2ViS2l0OjpMYXllclRyZWVDb250ZXh0Ojp+TGF5ZXJUcmVlQ29udGV4
dCk6CisgICAgICAgIChXZWJLaXQ6OkxheWVyVHJlZUNvbnRleHQ6OmVuY29kZSk6CisgICAgICAg
IChXZWJLaXQ6OkxheWVyVHJlZUNvbnRleHQ6OmRlY29kZSk6CisgICAgICAgIChXZWJLaXQ6Okxh
eWVyVHJlZUNvbnRleHQ6OmlzRW1wdHkpOgorICAgICAgICAoV2ViS2l0OjpvcGVyYXRvcj09KToK
KyAgICAgICAgKiBTaGFyZWQvTGF5ZXJUcmVlQ29udGV4dC5oOgorICAgICAgICAoV2ViS2l0Ojpv
cGVyYXRvciE9KTogRGVsZXRlZC4KKyAgICAgICAgKiBTaGFyZWQvZWZsL0xheWVyVHJlZUNvbnRl
eHRFZmwuY3BwOiBSZW1vdmVkLgorICAgICAgICAqIFNoYXJlZC9ndGsvTGF5ZXJUcmVlQ29udGV4
dEd0ay5jcHA6IFJlbW92ZWQuCisgICAgICAgICogV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNz
L0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkNvb3JkaW5h
dGVkTGF5ZXJUcmVlSG9zdDo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0KToKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1dlYlBhZ2UvZ3RrL0xheWVyVHJlZUhvc3RHdGsuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpMYXllclRyZWVIb3N0R3RrOjppbml0aWFsaXplKToKKworMjAxNC0wNC0xNiAgVGltIEhv
cnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KKwogICAgICAgICBEb24ndCBidWlsZCBM
YXllclRyZWVIb3N0IG9uIE1hYyAoYW5kIGNsZWFuIGl0IHVwKQogICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMxNzY5CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1BsYXRmb3JtRWZsLmNtYWtlIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm1FZmwu
Y21ha2UKaW5kZXggZjBkZTliYi4uODE0MmE2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
UGxhdGZvcm1FZmwuY21ha2UKKysrIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm1FZmwuY21ha2UK
QEAgLTM0LDcgKzM0LDYgQEAgbGlzdChBUFBFTkQgV2ViS2l0Ml9TT1VSQ0VTCiAKICAgICBTaGFy
ZWQvY2Fpcm8vU2hhcmVhYmxlQml0bWFwQ2Fpcm8uY3BwCiAKLSAgICBTaGFyZWQvZWZsL0xheWVy
VHJlZUNvbnRleHRFZmwuY3BwCiAgICAgU2hhcmVkL2VmbC9OYXRpdmVXZWJLZXlib2FyZEV2ZW50
RWZsLmNwcAogICAgIFNoYXJlZC9lZmwvTmF0aXZlV2ViVG91Y2hFdmVudEVmbC5jcHAKICAgICBT
aGFyZWQvZWZsL05hdGl2ZVdlYldoZWVsRXZlbnRFZmwuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9QbGF0Zm9ybUdUSy5jbWFrZSBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtR1RLLmNt
YWtlCmluZGV4IDg4YmU4OTkuLjkwYzJjZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1Bs
YXRmb3JtR1RLLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtR1RLLmNtYWtlCkBA
IC01NCw3ICs1NCw2IEBAIGxpc3QoQVBQRU5EIFdlYktpdDJfU09VUkNFUwogICAgIFNoYXJlZC9j
YWlyby9TaGFyZWFibGVCaXRtYXBDYWlyby5jcHAKIAogICAgIFNoYXJlZC9ndGsvQXJndW1lbnRD
b2RlcnNHdGsuY3BwCi0gICAgU2hhcmVkL2d0ay9MYXllclRyZWVDb250ZXh0R3RrLmNwcAogICAg
IFNoYXJlZC9ndGsvTmF0aXZlV2ViS2V5Ym9hcmRFdmVudEd0ay5jcHAKICAgICBTaGFyZWQvZ3Rr
L05hdGl2ZVdlYk1vdXNlRXZlbnRHdGsuY3BwCiAgICAgU2hhcmVkL2d0ay9OYXRpdmVXZWJUb3Vj
aEV2ZW50R3RrLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0xheWVyVHJl
ZUNvbnRleHQuY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0xheWVyVHJlZUNvbnRleHQuY3Bw
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVlYzhjNjIKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvTGF5ZXJUcmVlQ29udGV4dC5jcHAKQEAgLTAs
MCArMSw2NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJM
YXllclRyZWVDb250ZXh0LmgiCisKKyNpbmNsdWRlICJBcmd1bWVudERlY29kZXIuaCIKKyNpbmNs
dWRlICJBcmd1bWVudEVuY29kZXIuaCIKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK0xheWVyVHJl
ZUNvbnRleHQ6OkxheWVyVHJlZUNvbnRleHQoKQorICAgIDogY29udGV4dElEKDApCit7Cit9CisK
K0xheWVyVHJlZUNvbnRleHQ6On5MYXllclRyZWVDb250ZXh0KCkKK3sKK30KKwordm9pZCBMYXll
clRyZWVDb250ZXh0OjplbmNvZGUoSVBDOjpBcmd1bWVudEVuY29kZXImIGVuY29kZXIpIGNvbnN0
Cit7CisgICAgZW5jb2RlciA8PCBjb250ZXh0SUQ7Cit9CisKK2Jvb2wgTGF5ZXJUcmVlQ29udGV4
dDo6ZGVjb2RlKElQQzo6QXJndW1lbnREZWNvZGVyJiBkZWNvZGVyLCBMYXllclRyZWVDb250ZXh0
JiByZXN1bHQpCit7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQuY29udGV4dElEKSkK
KyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgcmV0dXJuIHRydWU7Cit9CisKK2Jvb2wgTGF5
ZXJUcmVlQ29udGV4dDo6aXNFbXB0eSgpIGNvbnN0Cit7CisgICAgcmV0dXJuICFjb250ZXh0SUQ7
Cit9CisKK2Jvb2wgb3BlcmF0b3I9PShjb25zdCBMYXllclRyZWVDb250ZXh0JiBhLCBjb25zdCBM
YXllclRyZWVDb250ZXh0JiBiKQoreworICAgIHJldHVybiBhLmNvbnRleHRJRCA9PSBiLmNvbnRl
eHRJRDsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvTGF5ZXJUcmVlQ29udGV4dC5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0xh
eWVyVHJlZUNvbnRleHQuaAppbmRleCA3ZjAzM2Q0Li40MzMxNGMyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvTGF5ZXJUcmVlQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9MYXllclRyZWVDb250ZXh0LmgKQEAgLTUyLDEzICs1Miw3IEBAIHB1YmxpYzoKIAog
ICAgIGJvb2wgaXNFbXB0eSgpIGNvbnN0OwogCi0jaWYgUExBVEZPUk0oQ09DT0EpCi0gICAgdWlu
dDMyX3QgY29udGV4dElEOwotI2VsaWYgUExBVEZPUk0oR1RLKQotICAgIHVpbnQ2NF90IHdpbmRv
d0hhbmRsZTsKLSNlbGlmIFBMQVRGT1JNKEVGTCkKLSAgICB1aW50MzJfdCBjb29yZGluYXRlZExh
eWVySUQ7Ci0jZW5kaWYKKyAgICB1aW50NjRfdCBjb250ZXh0SUQ7CiB9OwogCiBib29sIG9wZXJh
dG9yPT0oY29uc3QgTGF5ZXJUcmVlQ29udGV4dCYsIGNvbnN0IExheWVyVHJlZUNvbnRleHQmKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9lZmwvTGF5ZXJUcmVlQ29udGV4dEVm
bC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvZWZsL0xheWVyVHJlZUNvbnRleHRFZmwuY3Bw
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMjcyNDIwLi4wMDAwMDAwCi0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9lZmwvTGF5ZXJUcmVlQ29udGV4dEVmbC5jcHAKKysrIC9kZXYv
bnVsbApAQCAtMSw2MyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEyIFNhbXN1bmcg
RWxlY3Ryb25pY3MuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJj
b25maWcuaCIKLSNpbmNsdWRlICJMYXllclRyZWVDb250ZXh0LmgiCi0KLSNpbmNsdWRlICJBcmd1
bWVudERlY29kZXIuaCIKLSNpbmNsdWRlICJBcmd1bWVudEVuY29kZXIuaCIKLQotbmFtZXNwYWNl
IFdlYktpdCB7Ci0KLUxheWVyVHJlZUNvbnRleHQ6OkxheWVyVHJlZUNvbnRleHQoKQotICAgIDog
Y29vcmRpbmF0ZWRMYXllcklEKDApCi17Ci19Ci0KLUxheWVyVHJlZUNvbnRleHQ6On5MYXllclRy
ZWVDb250ZXh0KCkKLXsKLX0KLQotdm9pZCBMYXllclRyZWVDb250ZXh0OjplbmNvZGUoSVBDOjpB
cmd1bWVudEVuY29kZXImIGVuY29kZXIpIGNvbnN0Ci17Ci0gICAgZW5jb2RlciA8PCBjb29yZGlu
YXRlZExheWVySUQ7Ci19Ci0KLWJvb2wgTGF5ZXJUcmVlQ29udGV4dDo6ZGVjb2RlKElQQzo6QXJn
dW1lbnREZWNvZGVyJiBkZWNvZGVyLCBMYXllclRyZWVDb250ZXh0JiBjb250ZXh0KQotewotICAg
IHJldHVybiBkZWNvZGVyLmRlY29kZShjb250ZXh0LmNvb3JkaW5hdGVkTGF5ZXJJRCk7Ci19Ci0K
LWJvb2wgTGF5ZXJUcmVlQ29udGV4dDo6aXNFbXB0eSgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuICFj
b29yZGluYXRlZExheWVySUQ7Ci19Ci0KLWJvb2wgb3BlcmF0b3I9PShjb25zdCBMYXllclRyZWVD
b250ZXh0JiBhLCBjb25zdCBMYXllclRyZWVDb250ZXh0JiBiKQotewotICAgIHJldHVybiBhLmNv
b3JkaW5hdGVkTGF5ZXJJRCA9PSBiLmNvb3JkaW5hdGVkTGF5ZXJJRDsKLX0KLQotfSAvLyBuYW1l
c3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvZ3RrL0xheWVy
VHJlZUNvbnRleHRHdGsuY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL2d0ay9MYXllclRyZWVD
b250ZXh0R3RrLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWJhNzlkMy4uMDAw
MDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvZ3RrL0xheWVyVHJlZUNvbnRleHRHdGsu
Y3BwCisrKyAvZGV2L251bGwKQEAgLTEsNjQgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykg
MjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0g
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRl
ICJjb25maWcuaCIKLSNpbmNsdWRlICJMYXllclRyZWVDb250ZXh0LmgiCi0KLSNpbmNsdWRlICJB
cmd1bWVudERlY29kZXIuaCIKLSNpbmNsdWRlICJBcmd1bWVudEVuY29kZXIuaCIKLQotbmFtZXNw
YWNlIFdlYktpdCB7Ci0KLUxheWVyVHJlZUNvbnRleHQ6OkxheWVyVHJlZUNvbnRleHQoKQotICAg
IDogd2luZG93SGFuZGxlKDApCi17Ci19Ci0KLUxheWVyVHJlZUNvbnRleHQ6On5MYXllclRyZWVD
b250ZXh0KCkKLXsKLX0KLQotdm9pZCBMYXllclRyZWVDb250ZXh0OjplbmNvZGUoSVBDOjpBcmd1
bWVudEVuY29kZXImIGVuY29kZXIpIGNvbnN0Ci17Ci0gICAgZW5jb2RlciA8PCB3aW5kb3dIYW5k
bGU7Ci19Ci0KLWJvb2wgTGF5ZXJUcmVlQ29udGV4dDo6ZGVjb2RlKElQQzo6QXJndW1lbnREZWNv
ZGVyJiBkZWNvZGVyLCBMYXllclRyZWVDb250ZXh0JiBjb250ZXh0KQotewotICAgIHJldHVybiBk
ZWNvZGVyLmRlY29kZShjb250ZXh0LndpbmRvd0hhbmRsZSk7Ci19Ci0KLWJvb2wgTGF5ZXJUcmVl
Q29udGV4dDo6aXNFbXB0eSgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuICF3aW5kb3dIYW5kbGU7Ci19
Ci0KLWJvb2wgb3BlcmF0b3I9PShjb25zdCBMYXllclRyZWVDb250ZXh0JiBhLCBjb25zdCBMYXll
clRyZWVDb250ZXh0JiBiKQotewotICAgIHJldHVybiBhLndpbmRvd0hhbmRsZSA9PSBiLndpbmRv
d0hhbmRsZTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViS2l0Ci0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9tYWMvTGF5ZXJUcmVlQ29udGV4dE1hYy5tbSBiL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9tYWMvTGF5ZXJUcmVlQ29udGV4dE1hYy5tbQpkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggNWVjOGM2Mi4uMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
bWFjL0xheWVyVHJlZUNvbnRleHRNYWMubW0KKysrIC9kZXYvbnVsbApAQCAtMSw2NiArMCwwIEBA
Ci0vKgotICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIkxheWVyVHJlZUNv
bnRleHQuaCIKLQotI2luY2x1ZGUgIkFyZ3VtZW50RGVjb2Rlci5oIgotI2luY2x1ZGUgIkFyZ3Vt
ZW50RW5jb2Rlci5oIgotCi1uYW1lc3BhY2UgV2ViS2l0IHsKLQotTGF5ZXJUcmVlQ29udGV4dDo6
TGF5ZXJUcmVlQ29udGV4dCgpCi0gICAgOiBjb250ZXh0SUQoMCkKLXsKLX0KLQotTGF5ZXJUcmVl
Q29udGV4dDo6fkxheWVyVHJlZUNvbnRleHQoKQotewotfQotCi12b2lkIExheWVyVHJlZUNvbnRl
eHQ6OmVuY29kZShJUEM6OkFyZ3VtZW50RW5jb2RlciYgZW5jb2RlcikgY29uc3QKLXsKLSAgICBl
bmNvZGVyIDw8IGNvbnRleHRJRDsKLX0KLQotYm9vbCBMYXllclRyZWVDb250ZXh0OjpkZWNvZGUo
SVBDOjpBcmd1bWVudERlY29kZXImIGRlY29kZXIsIExheWVyVHJlZUNvbnRleHQmIHJlc3VsdCkK
LXsKLSAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5jb250ZXh0SUQpKQotICAgICAgICBy
ZXR1cm4gZmFsc2U7Ci0KLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQotYm9vbCBMYXllclRyZWVDb250
ZXh0Ojppc0VtcHR5KCkgY29uc3QKLXsKLSAgICByZXR1cm4gIWNvbnRleHRJRDsKLX0KLQotYm9v
bCBvcGVyYXRvcj09KGNvbnN0IExheWVyVHJlZUNvbnRleHQmIGEsIGNvbnN0IExheWVyVHJlZUNv
bnRleHQmIGIpCi17Ci0gICAgcmV0dXJuIGEuY29udGV4dElEID09IGIuY29udGV4dElEOwotfQot
Ci19IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYktp
dDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBiMmZkYmRhLi5lNGMzZjRiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIv
U291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yODIs
NyArMjgyLDcgQEAKIAkJMUE5MTAwNzExMjY2NzVDNDAwMTg0MkY1IC8qIEZpbmRJbmRpY2F0b3Iu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBOTEwMDZG
MTI2Njc1QzMwMDE4NDJGNSAvKiBGaW5kSW5kaWNhdG9yLmggKi87IH07CiAJCTFBOTEwMDcyMTI2
Njc1QzQwMDE4NDJGNSAvKiBGaW5kSW5kaWNhdG9yLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBOTEwMDcwMTI2Njc1QzQwMDE4NDJGNSAvKiBGaW5k
SW5kaWNhdG9yLmNwcCAqLzsgfTsKIAkJMUE5MkRDMTExMkY4QkE0NjAwMTdBRjY1IC8qIExheWVy
VHJlZUNvbnRleHQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDFBOTJEQzEwMTJGOEJBNDYwMDE3QUY2NSAvKiBMYXllclRyZWVDb250ZXh0LmggKi87IH07
Ci0JCTFBOTJEQzEzMTJGOEJBQjkwMDE3QUY2NSAvKiBMYXllclRyZWVDb250ZXh0TWFjLm1tIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE5MkRDMTIxMkY4
QkFCOTAwMTdBRjY1IC8qIExheWVyVHJlZUNvbnRleHRNYWMubW0gKi87IH07CisJCTFBOTJEQzEz
MTJGOEJBQjkwMDE3QUY2NSAvKiBMYXllclRyZWVDb250ZXh0LmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBOTJEQzEyMTJGOEJBQjkwMDE3QUY2NSAv
KiBMYXllclRyZWVDb250ZXh0LmNwcCAqLzsgfTsKIAkJMUE5RTMyODkxODIxNjM2OTAwRjVEMDRD
IC8qIF9XS1JlbW90ZU9iamVjdFJlZ2lzdHJ5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAxQTlFMzI4NzE4MjE2MzY5MDBGNUQwNEMgLyogX1dLUmVtb3Rl
T2JqZWN0UmVnaXN0cnkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQkxQTlFMzI4QTE4MjE2MzY5MDBGNUQwNEMgLyogX1dLUmVtb3RlT2JqZWN0UmVn
aXN0cnkubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAx
QTlFMzI4ODE4MjE2MzY5MDBGNUQwNEMgLyogX1dLUmVtb3RlT2JqZWN0UmVnaXN0cnkubW0gKi87
IH07CiAJCTFBOUUzMjhEMTgyMTY1QTkwMEY1RDA0QyAvKiBfV0tSZW1vdGVPYmplY3RJbnRlcmZh
Y2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBOUUz
MjhCMTgyMTY1QTkwMEY1RDA0QyAvKiBfV0tSZW1vdGVPYmplY3RJbnRlcmZhY2UuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMjA2Niw3ICsyMDY2
LDcgQEAKIAkJMUE5MTAwNkYxMjY2NzVDMzAwMTg0MkY1IC8qIEZpbmRJbmRpY2F0b3IuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRmluZEluZGljYXRvci5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQkxQTkxMDA3MDEyNjY3NUM0MDAxODQyRjUgLyogRmluZEluZGlj
YXRvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBGaW5kSW5kaWNh
dG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUE5MkRDMTAxMkY4QkE0NjAw
MTdBRjY1IC8qIExheWVyVHJlZUNvbnRleHQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gTGF5ZXJUcmVlQ29udGV4dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkx
QTkyREMxMjEyRjhCQUI5MDAxN0FGNjUgLyogTGF5ZXJUcmVlQ29udGV4dE1hYy5tbSAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IExheWVyVHJlZUNvbnRleHRNYWMubW07
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTFBOTJEQzEyMTJGOEJBQjkwMDE3QUY2NSAv
KiBMYXllclRyZWVDb250ZXh0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IExheWVyVHJlZUNvbnRleHQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkx
QTlFMzI4NzE4MjE2MzY5MDBGNUQwNEMgLyogX1dLUmVtb3RlT2JqZWN0UmVnaXN0cnkuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gX1dLUmVtb3RlT2JqZWN0UmVnaXN0cnkuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUE5RTMyODgxODIxNjM2OTAwRjVEMDRDIC8q
IF9XS1JlbW90ZU9iamVjdFJlZ2lzdHJ5Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2Jq
Y3BwOyBwYXRoID0gX1dLUmVtb3RlT2JqZWN0UmVnaXN0cnkubW07IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTFBOUUzMjhCMTgyMTY1QTkwMEY1RDA0QyAvKiBfV0tSZW1vdGVPYmplY3RJ
bnRlcmZhY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gX1dLUmVtb3RlT2Jq
ZWN0SW50ZXJmYWNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC00MTE1LDYgKzQx
MTUsNyBAQAogCQkJCUJDQkNCMENBMTIxNUUzMjEwMERFNTlDQSAvKiBJbW11dGFibGVEaWN0aW9u
YXJ5LmggKi8sCiAJCQkJQzU4Q0RGMkIxODg3NjA5RjAwODcxNTM2IC8qIEludGVyYWN0aW9uSW5m
b3JtYXRpb25BdFBvc2l0aW9uLmNwcCAqLywKIAkJCQlDNThDREYyQzE4ODc2MDlGMDA4NzE1MzYg
LyogSW50ZXJhY3Rpb25JbmZvcm1hdGlvbkF0UG9zaXRpb24uaCAqLywKKwkJCQkxQTkyREMxMjEy
RjhCQUI5MDAxN0FGNjUgLyogTGF5ZXJUcmVlQ29udGV4dC5jcHAgKi8sCiAJCQkJMUE5MkRDMTAx
MkY4QkE0NjAwMTdBRjY1IC8qIExheWVyVHJlZUNvbnRleHQuaCAqLywKIAkJCQlCQ0IwQUVFODEy
MkY1M0UzMDBCMTM0MUUgLyogTXV0YWJsZURpY3Rpb25hcnkuY3BwICovLAogCQkJCUJDQjBBRUU3
MTIyRjUzRTMwMEIxMzQxRSAvKiBNdXRhYmxlRGljdGlvbmFyeS5oICovLApAQCAtNTcyMyw3ICs1
NzI0LDYgQEAKIAkJCQlDREMzODMwRTE3MjEyNDJEMDA4QTJGQzMgLyogQ29va2llU3RvcmFnZVNo
aW0uaCAqLywKIAkJCQlDREMzODJGOTE3MjExNkQzMDA4QTJGQzMgLyogQ29va2llU3RvcmFnZVNo
aW1MaWJyYXJ5LmNwcCAqLywKIAkJCQlDREMzODMwQjE3MjEyMUNFMDA4QTJGQzMgLyogQ29va2ll
U3RvcmFnZVNoaW1MaWJyYXJ5LmggKi8sCi0JCQkJMUE5MkRDMTIxMkY4QkFCOTAwMTdBRjY1IC8q
IExheWVyVHJlZUNvbnRleHRNYWMubW0gKi8sCiAJCQkJQzAyQkZGMUQxMjUxNTAyRTAwOUNDQkVB
IC8qIE5hdGl2ZVdlYktleWJvYXJkRXZlbnRNYWMubW0gKi8sCiAJCQkJMzFFQTI1RDAxMzRGNzhC
MjAwNUIxNDUyIC8qIE5hdGl2ZVdlYk1vdXNlRXZlbnRNYWMubW0gKi8sCiAJCQkJREY1OEM2MzUx
MzcxQUNBMDAwRjlBMzdDIC8qIE5hdGl2ZVdlYldoZWVsRXZlbnRNYWMubW0gKi8sCkBAIC04MjM1
LDcgKzgyMzUsNyBAQAogCQkJCTFBRTQ5QTRBMTFGRkE4Q0UwMDQ4QjQ2NCAvKiBKU05QTWV0aG9k
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBRTQ5ODc5MTFGRjdGQUEwMDQ4QjQ2NCAvKiBKU05Q
T2JqZWN0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDRTA5Mzc3MTRGQjEyOEMwMDExMzhEOSAv
KiBMYXllckhvc3RpbmdDb250ZXh0Lm1tIGluIFNvdXJjZXMgKi8sCi0JCQkJMUE5MkRDMTMxMkY4
QkFCOTAwMTdBRjY1IC8qIExheWVyVHJlZUNvbnRleHRNYWMubW0gaW4gU291cmNlcyAqLywKKwkJ
CQkxQTkyREMxMzEyRjhCQUI5MDAxN0FGNjUgLyogTGF5ZXJUcmVlQ29udGV4dC5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQkxQTFEOEJBMTE3MzFBMzYzMDAxNDFEQTQgLyogTG9jYWxTdG9yYWdlRGF0
YWJhc2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUE4QzcyOEMxNzM4NDc3QzAwMEE2NTU0IC8q
IExvY2FsU3RvcmFnZURhdGFiYXNlVHJhY2tlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MUE3
RjJGNTEyNUJGOEQ0MDA4QUVCMUQgLyogTG9nZ2luZy5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBo
aWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3Qu
Y3BwCmluZGV4IGMzMTU5YWUuLmRiNzUwYTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVl
SG9zdC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5h
dGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0LmNwcApAQCAtNjksNyArNjksNyBA
QCBDb29yZGluYXRlZExheWVyVHJlZUhvc3Q6OkNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdChXZWJQ
YWdlKiB3ZWJQYWdlKQogICAgIG1fY29vcmRpbmF0b3IgPSBzdGQ6Om1ha2VfdW5pcXVlPENvbXBv
c2l0aW5nQ29vcmRpbmF0b3I+KHdlYlBhZ2UtPmNvcmVQYWdlKCksIHRoaXMpOwogCiAgICAgbV9j
b29yZGluYXRvci0+Y3JlYXRlUm9vdExheWVyKHdlYlBhZ2UtPnNpemUoKSk7Ci0gICAgbV9sYXll
clRyZWVDb250ZXh0LmNvb3JkaW5hdGVkTGF5ZXJJRCA9IHRvQ29vcmRpbmF0ZWRHcmFwaGljc0xh
eWVyKG1fY29vcmRpbmF0b3ItPnJvb3RMYXllcigpKS0+aWQoKTsKKyAgICBtX2xheWVyVHJlZUNv
bnRleHQuY29udGV4dElEID0gdG9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIobV9jb29yZGluYXRv
ci0+cm9vdExheWVyKCkpLT5pZCgpOwogCiAgICAgQ29vcmRpbmF0ZWRTdXJmYWNlOjpzZXRGYWN0
b3J5KGNyZWF0ZUNvb3JkaW5hdGVkU3VyZmFjZSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9ndGsvTGF5ZXJUcmVlSG9zdEd0ay5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvZ3RrL0xheWVyVHJlZUhvc3RHdGsuY3BwCmluZGV4
IDQ4ODAxNTQuLjA1MjljNDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9ndGsvTGF5ZXJUcmVlSG9zdEd0ay5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL2d0ay9MYXllclRyZWVIb3N0R3RrLmNwcApAQCAtMTEzLDcgKzExMyw3
IEBAIHZvaWQgTGF5ZXJUcmVlSG9zdEd0azo6aW5pdGlhbGl6ZSgpCiAgICAgbV9yb290TGF5ZXIt
PmFkZENoaWxkKG1fbm9uQ29tcG9zaXRlZENvbnRlbnRMYXllci5nZXQoKSk7CiAgICAgbV9ub25D
b21wb3NpdGVkQ29udGVudExheWVyLT5zZXROZWVkc0Rpc3BsYXkoKTsKIAotICAgIG1fbGF5ZXJU
cmVlQ29udGV4dC53aW5kb3dIYW5kbGUgPSBtX3dlYlBhZ2UtPm5hdGl2ZVdpbmRvd0hhbmRsZSgp
OworICAgIG1fbGF5ZXJUcmVlQ29udGV4dC5jb250ZXh0SUQgPSBtX3dlYlBhZ2UtPm5hdGl2ZVdp
bmRvd0hhbmRsZSgpOwogCiAgICAgR0xDb250ZXh0KiBjb250ZXh0ID0gZ2xDb250ZXh0KCk7CiAg
ICAgaWYgKCFjb250ZXh0KQo=
</data>
<flag name="review"
          id="253868"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>