<?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>65543</bug_id>
          
          <creation_ts>2011-08-02 08:25:09 -0700</creation_ts>
          <short_desc>[Chromium] Fix OOP font loading to work on 10.6.6 and above.</short_desc>
          <delta_ts>2011-08-03 03:48:42 -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>WebKit Misc.</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="Jeremy Moskovich">playmobil</reporter>
          <assigned_to name="Jeremy Moskovich">playmobil</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>eric</cc>
    
    <cc>jamesr</cc>
    
    <cc>kbr</cc>
    
    <cc>leviw</cc>
    
    <cc>rniwa</cc>
    
    <cc>thakis</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>445280</commentid>
    <comment_count>0</comment_count>
    <who name="Jeremy Moskovich">playmobil</who>
    <bug_when>2011-08-02 08:25:09 -0700</bug_when>
    <thetext>In 10.6.6 the function used to get the unique ID from the font in the  renderer was changed so it fails in the sandbox (it now tries to access the on-disk font file).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>445285</commentid>
    <comment_count>1</comment_count>
      <attachid>102656</attachid>
    <who name="Jeremy Moskovich">playmobil</who>
    <bug_when>2011-08-02 08:31:47 -0700</bug_when>
    <thetext>Created attachment 102656
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>445299</commentid>
    <comment_count>2</comment_count>
      <attachid>102656</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-08-02 08:58:23 -0700</bug_when>
    <thetext>Comment on attachment 102656
Patch

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

&gt; Source/WebCore/ChangeLog:6
&gt; +        In 10.6.6 the function used to get the unique ID for an NSFont in the 

I don&apos;t feel qualified to review the patch&apos;s functional parts, so I&apos;ll nitpick style and spirit.

&gt; Source/WebCore/platform/graphics/chromium/CrossProcessFontLoading.mm:148
&gt; +        // TODO: PlatformBridge::loadFont() should consult the id cache

TODO -&gt; FIXME, file a bug and reference here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>445310</commentid>
    <comment_count>3</comment_count>
      <attachid>102656</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-08-02 09:17:15 -0700</bug_when>
    <thetext>Comment on attachment 102656
Patch

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

I don&apos;t know enough about Cocoa to review this patch either :(

&gt; Source/WebCore/ChangeLog:8
&gt; +        the on-disk font file).  In order to work around this, we get the font

We don&apos;t double-space sentences.

&gt; Source/WebCore/ChangeLog:11
&gt; +        To speed things up, we introduce 2 levels of caching in WebKit.  A font

Ditto about double-spacing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>445411</commentid>
    <comment_count>4</comment_count>
      <attachid>102656</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2011-08-02 12:13:58 -0700</bug_when>
    <thetext>Comment on attachment 102656
Patch

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

The code looks good to me overall. (If this started failing in 10.6.6 why wasn&apos;t it found until now?) Please fix the nits upon landing. r=me

&gt; Source/WebCore/platform/graphics/chromium/CrossProcessFontLoading.mm:132
&gt; +    if (font.get())

You should be able to just write &quot;if (font) ...&quot;.

&gt; Source/WebCore/platform/graphics/chromium/CrossProcessFontLoading.mm:138
&gt; +    if (!PlatformBridge::loadFont(nsFont, &amp;container, &amp;fontID)) {

No braces on single-line if statements.

&gt; Source/WebKit/chromium/public/mac/WebSandboxSupport.h:59
&gt; +    virtual bool loadFont(NSFont* srcFont, ATSFontContainerRef*, uint32_t* fontID) = 0;

I see you&apos;ve already landed the downstream override of the new signature -- great.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>445766</commentid>
    <comment_count>5</comment_count>
      <attachid>102754</attachid>
    <who name="Jeremy Moskovich">playmobil</who>
    <bug_when>2011-08-03 02:05:39 -0700</bug_when>
    <thetext>Created attachment 102754
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>445787</commentid>
    <comment_count>6</comment_count>
      <attachid>102754</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-03 03:13:13 -0700</bug_when>
    <thetext>Comment on attachment 102754
Patch

Rejecting attachment 102754 from commit-queue.

Failed to run &quot;[&apos;./Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;--bot-id=ec2-cq-02&apos;, &apos;--port...&quot; exit_code: 1

Last 500 characters of output:
hangeLog does not appear to be a valid reviewer according to committers.py.
ERROR: /mnt/git/webkit-commit-queue/Source/WebCore/ChangeLog neither lists a valid reviewer nor contains the string &quot;Unreviewed&quot; or &quot;Rubber stamp&quot; (case insensitive).
Updating OpenSource
Current branch master is up to date.
Updating chromium port dependencies using gclient...

________ running &apos;/usr/bin/python gyp_webkit&apos; in &apos;/mnt/git/webkit-commit-queue/Source/WebKit/chromium&apos;
Updating webkit projects from gyp files...

Full output: http://queues.webkit.org/results/9284990</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>445792</commentid>
    <comment_count>7</comment_count>
      <attachid>102762</attachid>
    <who name="Jeremy Moskovich">playmobil</who>
    <bug_when>2011-08-03 03:18:25 -0700</bug_when>
    <thetext>Created attachment 102762
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>445797</commentid>
    <comment_count>8</comment_count>
      <attachid>102762</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-03 03:48:36 -0700</bug_when>
    <thetext>Comment on attachment 102762
Patch for landing

Clearing flags on attachment: 102762

Committed r92269: &lt;http://trac.webkit.org/changeset/92269&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>445798</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-03 03:48:42 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>102656</attachid>
            <date>2011-08-02 08:31:47 -0700</date>
            <delta_ts>2011-08-03 02:05:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-65543-20110802183144.patch</filename>
            <type>text/plain</type>
            <size>14908</size>
            <attacher name="Jeremy Moskovich">playmobil</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTIxODgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBkZDRlYWExN2Y4MTYwZTVh
MDQ5NWQyNjU3OWI4NDYwOGZkNmY4MTRkLi4wYWI5ZWNlMWE0MWZhMDgyODg0NDNiMWI1ZGM5ODY3
NTc2YTVmNDIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkgQEAKKzIwMTEtMDgtMDIgIEplcmVt
eSBNb3Nrb3ZpY2ggIDxqZXJlbXlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtDaHJvbWl1bV0g
Rml4IE9PUCBmb250IGxvYWRpbmcgdG8gd29yayBvbiAxMC42LjYgYW5kIGFib3ZlLgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU1NDMKKworICAgICAg
ICBJbiAxMC42LjYgdGhlIGZ1bmN0aW9uIHVzZWQgdG8gZ2V0IHRoZSB1bmlxdWUgSUQgZm9yIGFu
IE5TRm9udCBpbiB0aGUgCisgICAgICAgIHJlbmRlcmVyIHdhcyBjaGFuZ2VkIHNvIGl0IGZhaWxz
IGluIHRoZSBzYW5kYm94IChpdCBub3cgdHJpZXMgdG8gYWNjZXNzCisgICAgICAgIHRoZSBvbi1k
aXNrIGZvbnQgZmlsZSkuICBJbiBvcmRlciB0byB3b3JrIGFyb3VuZCB0aGlzLCB3ZSBnZXQgdGhl
IGZvbnQKKyAgICAgICAgSUQgZnJvbSB0aGUgYnJvd3NlciBwcm9jZXNzLgorCisgICAgICAgIFRv
IHNwZWVkIHRoaW5ncyB1cCwgd2UgaW50cm9kdWNlIDIgbGV2ZWxzIG9mIGNhY2hpbmcgaW4gV2Vi
S2l0LiAgQSBmb250CisgICAgICAgIG5hbWUgY2FjaGUgd2hlcmUgd2UgY2FuIHBlcmZvcm0gYSBx
dWljayBsb29rdXAgd2l0aG91dCB0aGUgbmVlZCBmb3IgdGhlCisgICAgICAgIGZvbnQgaWQgYW5k
IGEgZm9udCBpZCBjYWNoZSB3aGljaCB3ZSBjYW4gb25seSBsb29rdXAgaW4gYWZ0ZXIgZ2V0dGlu
ZworICAgICAgICB0aGUgdW5pcXVlIElEIGZyb20gdGhlIGJyb3dzZXIgcHJvY2Vzcy4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMg
c2luY2UgdGhpcyBpcyBub3QgcmVhZGlseSB0ZXN0YWJsZS4KKworICAgICAgICAqIHBsYXRmb3Jt
L2Nocm9taXVtL1BsYXRmb3JtQnJpZGdlLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vQ3Jvc3NQcm9jZXNzRm9udExvYWRpbmcuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9Dcm9zc1Byb2Nlc3NGb250TG9hZGluZy5tbToKKyAgICAgICAgKFdl
YkNvcmU6Ok1lbW9yeUFjdGl2YXRlZEZvbnQ6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpN
ZW1vcnlBY3RpdmF0ZWRGb250OjpNZW1vcnlBY3RpdmF0ZWRGb250KToKKyAgICAgICAgKFdlYkNv
cmU6Ok1lbW9yeUFjdGl2YXRlZEZvbnQ6On5NZW1vcnlBY3RpdmF0ZWRGb250KToKKwogMjAxMS0w
OC0wMSAgQW5kcmV5IEtvc3lha292ICA8Y2FzZXFAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdl
YiBJbnNwZWN0b3I6IFtFeHRlbnNpb25zIEFQSV0gd2ViSW5zcGVjdG9yLmluc3BlY3RlZFBhZ2Uu
cmVsb2FkKCkgaXMgYnJva2VuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9j
aHJvbWl1bS9QbGF0Zm9ybUJyaWRnZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21p
dW0vUGxhdGZvcm1CcmlkZ2UuaAppbmRleCBlMDFhZTI2NjI2ZWE5ZDEyOTA1Mzg0MTRmYzYzZWE4
NzZjN2U4OGZkLi45NTIxMmI2MmMwM2E1ODg4MGI2MDdjMmIyNmNjOWJlNjE1NWJlOWI3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9QbGF0Zm9ybUJyaWRnZS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BsYXRmb3JtQnJpZGdlLmgK
QEAgLTE1MSw3ICsxNTEsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIGJvb2wgZW5zdXJlRm9udExv
YWRlZChIRk9OVCk7CiAjZW5kaWYKICNpZiBPUyhEQVJXSU4pCi0gICAgc3RhdGljIGJvb2wgbG9h
ZEZvbnQoTlNGb250KiBzcmNGb250LCBBVFNGb250Q29udGFpbmVyUmVmKiBvdXQpOworICAgIHN0
YXRpYyBib29sIGxvYWRGb250KE5TRm9udCogc3JjRm9udCwgQVRTRm9udENvbnRhaW5lclJlZios
IHVpbnQzMl90KiBmb250SUQpOwogI2VsaWYgT1MoVU5JWCkKICAgICBzdGF0aWMgdm9pZCBnZXRS
ZW5kZXJTdHlsZUZvclN0cmlrZShjb25zdCBjaGFyKiBmYW1pbHksIGludCBzaXplQW5kU3R5bGUs
IEZvbnRSZW5kZXJTdHlsZSogcmVzdWx0KTsKICAgICBzdGF0aWMgU3RyaW5nIGdldEZvbnRGYW1p
bHlGb3JDaGFyYWN0ZXJzKGNvbnN0IFVDaGFyKiwgc2l6ZV90IG51bUNoYXJhY3RlcnMsIGNvbnN0
IGNoYXIqIHByZWZlcnJlZExvY2FsZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Dcm9zc1Byb2Nlc3NGb250TG9hZGluZy5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vQ3Jvc3NQcm9jZXNzRm9udExvYWRp
bmcuaAppbmRleCBlMWZiNzQwMGQwNWY5YjAxYmNlNTJiNTA5YzA5MWI0YTg0NTQwM2ZkLi5kMmMx
NTY1ZDc4NmRhODU4YTdiMGI1ZDVjMWU2ODU2YTJmZGJhMWVkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Dcm9zc1Byb2Nlc3NGb250TG9hZGlu
Zy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0Nyb3Nz
UHJvY2Vzc0ZvbnRMb2FkaW5nLmgKQEAgLTMzLDYgKzMzLDcgQEAKIAogI2ltcG9ydCA8d3RmL1Jl
ZkNvdW50ZWQuaD4KICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KKyNpbXBvcnQgPHd0Zi90ZXh0
L1dURlN0cmluZy5oPgogCiB0eXBlZGVmIHN0cnVjdCBDR0ZvbnQqIENHRm9udFJlZjsKIHR5cGVk
ZWYgVUludDMyIEFUU0ZvbnRDb250YWluZXJSZWY7CkBAIC03Myw3ICs3NCw3IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIGNsYXNzIE1lbW9yeUFjdGl2YXRlZEZvbnQgOiBwdWJsaWMgUmVmQ291bnRl
ZDxNZW1vcnlBY3RpdmF0ZWRGb250PiB7CiBwdWJsaWM6CiAgICAgLy8gVXNlIHRvIGNyZWF0ZSBh
IG5ldyBvYmplY3QsIHNlZSBkb2NzIG9uIGNvbnN0cnVjdG9yIGJlbG93LgotICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPE1lbW9yeUFjdGl2YXRlZEZvbnQ+IGNyZWF0ZShBVFNGb250Q29udGFpbmVyUmVm
IHNyY0ZvbnRDb250YWluZXJSZWYsIEFUU0ZvbnRDb250YWluZXJSZWYgY29udGFpbmVyKTsKKyAg
ICBzdGF0aWMgUGFzc1JlZlB0cjxNZW1vcnlBY3RpdmF0ZWRGb250PiBjcmVhdGUodWludDMyX3Qg
Zm9udElELCBOU0ZvbnQqLCBBVFNGb250Q29udGFpbmVyUmVmKTsKICAgICB+TWVtb3J5QWN0aXZh
dGVkRm9udCgpOwogICAgIAogICAgIC8vIEdldCBjYWNoZWQgQ0dGb250UmVmIGNvcnJlc3BvbmRp
bmcgdG8gdGhlIGluLW1lbW9yeSBmb250LgpAQCAtODcsMTIgKzg4LDEzIEBAIHByaXZhdGU6CiAg
ICAgLy8gbG9hZCBpbi1wcm9jZXNzLgogICAgIC8vIGNvbnRhaW5lciAtIGEgZm9udCBjb250YWlu
ZXIgY29ycmVzcG9uZGluZyB0byBhbiBpZGVudGljYWwgZm9udCB0aGF0CiAgICAgLy8gd2UgbG9h
ZGVkIGNyb3NzLXByb2Nlc3MuCi0gICAgTWVtb3J5QWN0aXZhdGVkRm9udChBVFNGb250Q29udGFp
bmVyUmVmIHNyY0ZvbnRDb250YWluZXJSZWYsIEFUU0ZvbnRDb250YWluZXJSZWYgY29udGFpbmVy
KTsKKyAgICBNZW1vcnlBY3RpdmF0ZWRGb250KHVpbnQzMl90IGZvbnRJRCwgTlNGb250KiwgQVRT
Rm9udENvbnRhaW5lclJlZik7CiAKICAgICBBVFNGb250Q29udGFpbmVyUmVmIG1fZm9udENvbnRh
aW5lcjsKICAgICBXVEY6OlJldGFpblB0cjxDR0ZvbnRSZWY+IG1fY2dGb250OwogICAgIEFUU0Zv
bnRSZWYgbV9hdHNGb250UmVmOwotICAgIEFUU0ZvbnRDb250YWluZXJSZWYgbV9zcmNGb250Q29u
dGFpbmVyUmVmOworICAgIHVpbnQzMl90IG1fZm9udElEOworICAgIFdURjo6U3RyaW5nIG1faW5T
YW5kYm94SGFzaEtleTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0Nyb3NzUHJvY2Vzc0Zv
bnRMb2FkaW5nLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
Q3Jvc3NQcm9jZXNzRm9udExvYWRpbmcubW0KaW5kZXggYjQ0MmQ1MzA3MjEzODIzZmE2ODU0Yzk1
MWNhNmI1ZDVjNGRjZDBlZC4uNjcxOWQwNzM1OGMyYzlmZDA5OGE0OWYyZDc4ZGM0OGMzMTI3Zjgy
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
Q3Jvc3NQcm9jZXNzRm9udExvYWRpbmcubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vQ3Jvc3NQcm9jZXNzRm9udExvYWRpbmcubW0KQEAgLTM4LDcgKzM4
LDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBuYW1lc3BhY2UgewogCi10eXBlZGVmIEhhc2hN
YXA8QVRTRm9udENvbnRhaW5lclJlZiwgTWVtb3J5QWN0aXZhdGVkRm9udCo+IEZvbnRDb250YWlu
ZXJSZWZNZW1vcnlGb250SGFzaDsKK3R5cGVkZWYgSGFzaE1hcDx1aW50MzIsIE1lbW9yeUFjdGl2
YXRlZEZvbnQqPiBGb250Q29udGFpbmVyUmVmTWVtb3J5Rm9udEhhc2g7Cit0eXBlZGVmIEhhc2hN
YXA8V1RGOjpTdHJpbmcsIE1lbW9yeUFjdGl2YXRlZEZvbnQqPiBGb250TmFtZU1lbW9yeUZvbnRI
YXNoOwogCiAvLyBPbiAxMC41LCBmb250IGxvYWRpbmcgaXMgbm90IGJsb2NrZWQgYnkgdGhlIHNh
bmRib3ggYW5kIHRodXMgdGhlcmUgaXMgbm8KIC8vIG5lZWQgZm9yIHRoZSBjcm9zcy1wcm9jZXNz
IGZvbnQgbG9hZGluZyBtZWNoYW5pbS4KQEAgLTU0LDEwICs1NSw1MCBAQCBib29sIE91dE9mUHJv
Y2Vzc0ZvbnRMb2FkaW5nRW5hYmxlZCgpCiAgICAgcmV0dXJuIHN5c3RlbVZlcnNpb24gPj0gMHgx
MDYwOwogfQogCi1Gb250Q29udGFpbmVyUmVmTWVtb3J5Rm9udEhhc2gmIGZvbnRDYWNoZUJ5U3Jj
Rm9udENvbnRhaW5lclJlZigpCisvLyBDYWNoaW5nOgorLy8KKy8vIFJlcXVlc3RpbmcgYSBmb250
IGZyb20gdGhlIGJyb3dzZXIgcHJvY2VzcyBpcyBleHBlbnNpdmUgYW5kIHNvIGlzCisvLyAiYWN0
aXZhdGluZyIgc2FpZCBmb250LiAgQ2FjaGluZyBvZiBsb2FkZWQgZm9udHMgaXMgY29tcGxpY2F0
ZWQgYnkgdGhlIGZhY3QKKy8vIHRoYXQgaXQncyBpbXBvc3NpYmxlIHRvIGdldCBhIHVuaXF1ZSBp
ZGVudGlmaWVyIGZvciB0aGUgb24tZGlzayBmb250IGZpbGUKKy8vIGZyb20gaW5zaWRlIHRoZSBz
YW5kYm94ZWQgcmVuZGVyZXIgcHJvY2Vzcy4KKy8vIFRoaXMgbWVhbnMgdGhhdCB3aGVuIGxvYWRp
bmcgYSBmb250IHdlIG5lZWQgdG8gcm91bmQtdHJpcCB0aHJvdWdoIHRoZSBicm93c2VyCisvLyBw
cm9jZXNzIGluIG9yZGVyIHRvIGdldCB0aGUgdW5pcXVlIGZvbnQgZmlsZSBpZGVudGlmZXIgd2hp
Y2ggd2UgbWlnaHQgYWxyZWFkeQorLy8gaGF2ZSBhY3RpdmF0ZWQgYW5kIGNhY2hlZC4KKy8vCisv
LyBJbiBvcmRlciB0byBzYXZlIGFzIG11Y2ggd29yayBhcyB3ZSBjYW4sIHdlIG1haW50YWluIDIg
bGV2ZWxzIG9mIGNhY2hpbmcKKy8vIGZvciB0aGUgZm9udCBkYXRhOgorLy8gMS4gQSBkdW1iIGNh
Y2hlIGtleWVkIGJ5IHRoZSBmb250IG5hbWUvc3R5bGUgKGluZm9ybWF0aW9uIHdlIGNhbiBkZXRl
cm1pbmUKKy8vIGZyb20gaW5zaWRlIHRoZSBzYW5kYm94KS4KKy8vIDIuIEEgc21hcnRlciBjYWNo
ZSBrZXllZCBieSB0aGUgcmVhbCAidW5pcXVlIGZvbnQgaWQiLgorLy8KKy8vIEluIG9yZGVyIHRv
IHBlcmZvcm0gYSBsb29rdXAgaW4gIzIgd2UgbmVlZCB0byBjb25zdWx0IHdpdGggdGhlIGJyb3dz
ZXIgdG8gZ2V0CisvLyB1cyB0aGUgbG9va3VwIGtleS4gIFdoaWxlIHRoaXMgZG9lc24ndCBzYXZl
IHVzIHRoZSBmb250IGxvYWQsIGl0IGRvZXMgc2F2ZQorLy8gdXMgZm9udCBhY3RpdmF0aW9uLgor
Ly8KKy8vIEl0J3MgaW1wb3J0YW50IHRvIHJlbWVtYmVyIHRoYXQgZXhpc3RpbmcgRm9udFBsYXRm
b3JtRGF0YSBvYmplY3RzIGFyZSBhbHJlYWR5CisvLyBjYWNoZWQsIHNvIGEgY2FjaGUgbWlzcyBp
biB0aGUgY29kZSBpbiB0aGlzIGZpbGUgaXNuJ3QgbmVjZXNzYXJpbHkgc28gYmFkLgorCitGb250
Q29udGFpbmVyUmVmTWVtb3J5Rm9udEhhc2gmIGZvbnRDYWNoZUJ5Rm9udElEKCkKK3sKKyAgICBE
RUZJTkVfU1RBVElDX0xPQ0FMKEZvbnRDb250YWluZXJSZWZNZW1vcnlGb250SGFzaCwgc3JjRm9u
dElEQ2FjaGUsICgpKTsKKyAgICByZXR1cm4gc3JjRm9udElEQ2FjaGU7Cit9CisKKworRm9udE5h
bWVNZW1vcnlGb250SGFzaCYgZm9udENhY2hlQnlGb250TmFtZSgpCit7CisgICAgREVGSU5FX1NU
QVRJQ19MT0NBTChGb250TmFtZU1lbW9yeUZvbnRIYXNoLCBzcmNGb250TmFtZUNhY2hlLCAoKSk7
CisgICAgcmV0dXJuIHNyY0ZvbnROYW1lQ2FjaGU7Cit9CisKKy8vIEdpdmVuIGEgZm9udCBzcGVj
aWZpZWQgYnkgfHNyY0ZvbnR8LCB1c2UgdGhlIGluZm9ybWF0aW9uIHdlIGNhbiBxdWVyeSBpbgor
Ly8gdGhlIHNhbmRib3ggdG8gY29uc3RydWN0IGEga2V5IHdoaWNoIHdlIGhvcGUgd2lsbCBiZSBh
cyB1bmlxdWUgYXMgcG9zc2libGUKKy8vIHRvIHRoZSBjb250YWluaW5nIGZvbnQgZmlsZS4KK1dU
Rjo6U3RyaW5nIGhhc2hLZXlGcm9tTlNGb250KE5TRm9udCogc3JjRm9udCkKIHsKLSAgICBERUZJ
TkVfU1RBVElDX0xPQ0FMKEZvbnRDb250YWluZXJSZWZNZW1vcnlGb250SGFzaCwgc3JjRm9udFJl
ZkNhY2hlLCAoKSk7Ci0gICAgcmV0dXJuIHNyY0ZvbnRSZWZDYWNoZTsKKyAgICBOU0ZvbnREZXNj
cmlwdG9yKiBkZXNjID0gW3NyY0ZvbnQgZm9udERlc2NyaXB0b3JdOworICAgIE5TRm9udFN5bWJv
bGljVHJhaXRzIHRyYWl0cyA9IFtkZXNjIHN5bWJvbGljVHJhaXRzXTsKKyAgICByZXR1cm4gV1RG
OjpTdHJpbmc6OmZvcm1hdCgiJXMgJXgiLCBbW3NyY0ZvbnQgZm9udE5hbWVdIFVURjhTdHJpbmdd
LCB0cmFpdHMpOwogfQogCiBBVFNGb250Q29udGFpbmVyUmVmIGZvbnRDb250YWluZXJSZWZGcm9t
TlNGb250KE5TRm9udCogc3JjRm9udCkKQEAgLTg1LDI5ICsxMjYsNDAgQEAgYm9vbCBpc0xhc3RS
ZXNvcnRGb250KENHRm9udFJlZiBjZ0ZvbnQpCiAvLyBPbiBmYWlsdXJlIHRoaXMgZnVuY3Rpb24g
cmV0dXJucyBhIFBhc3NSZWZQdHIgcG9pbnRpbmcgdG8gMC4KIFBhc3NSZWZQdHI8TWVtb3J5QWN0
aXZhdGVkRm9udD4gbG9hZEZvbnRGcm9tQnJvd3NlclByb2Nlc3MoTlNGb250KiBuc0ZvbnQpCiB7
CisgICAgLy8gRmlyc3QgdHJ5IHRvIGxvb2t1cCBpbiBvdXIgY2FjaGUgd2l0aCB0aGUgbGltaXRl
ZCBpbmZvcm1hdGlvbiB3ZSBoYXZlLgorICAgIFdURjo6U3RyaW5nIGhhc2hLZXkgPSBoYXNoS2V5
RnJvbU5TRm9udChuc0ZvbnQpOworICAgIFJlZlB0cjxNZW1vcnlBY3RpdmF0ZWRGb250PiBmb250
KGZvbnRDYWNoZUJ5Rm9udE5hbWUoKS5nZXQoaGFzaEtleSkpOworICAgIGlmIChmb250LmdldCgp
KQorICAgICAgICByZXR1cm4gZm9udDsKKwogICAgIEFUU0ZvbnRDb250YWluZXJSZWYgY29udGFp
bmVyOworICAgIHVpbnQzMl90IGZvbnRJRDsKICAgICAvLyBTZW5kIGNyb3NzLXByb2Nlc3MgcmVx
dWVzdCB0byBsb2FkIGZvbnQuCi0gICAgaWYgKCFQbGF0Zm9ybUJyaWRnZTo6bG9hZEZvbnQobnNG
b250LCAmY29udGFpbmVyKSkKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgCi0gICAgQVRTRm9udENv
bnRhaW5lclJlZiBzcmNGb250Q29udGFpbmVyUmVmID0gZm9udENvbnRhaW5lclJlZkZyb21OU0Zv
bnQobnNGb250KTsKLSAgICBpZiAoIXNyY0ZvbnRDb250YWluZXJSZWYpIHsKLSAgICAgICAgQVRT
Rm9udERlYWN0aXZhdGUoY29udGFpbmVyLCAwLCBrQVRTT3B0aW9uRmxhZ3NEZWZhdWx0KTsKKyAg
ICBpZiAoIVBsYXRmb3JtQnJpZGdlOjpsb2FkRm9udChuc0ZvbnQsICZjb250YWluZXIsICZmb250
SUQpKSB7CiAgICAgICAgIHJldHVybiAwOwogICAgIH0KLSAgICAKLSAgICBQYXNzUmVmUHRyPE1l
bW9yeUFjdGl2YXRlZEZvbnQ+IGZvbnQgPSBhZG9wdFJlZihmb250Q2FjaGVCeVNyY0ZvbnRDb250
YWluZXJSZWYoKS5nZXQoc3JjRm9udENvbnRhaW5lclJlZikpOwotICAgIGlmIChmb250LmdldCgp
KQorCisgICAgLy8gTm93IHRoYXQgd2UgaGF2ZSB0aGUgZm9udElEIGZyb20gdGhlIGJyb3dzZXIg
cHJvY2Vzcywgd2UgY2FuIGNvbnN1bHQKKyAgICAvLyB0aGUgSUQgY2FjaGUuCisgICAgZm9udCA9
IGZvbnRDYWNoZUJ5Rm9udElEKCkuZ2V0KGZvbnRJRCk7CisgICAgaWYgKGZvbnQuZ2V0KCkpIHsK
KyAgICAgICAgLy8gV2UgY2FuIHNhZmVseSBkaXNjYXJkIHRoZSBuZXcgY29udGFpbmVyIHNpbmNl
IHdlIGFscmVhZHkgaGF2ZSB0aGUKKyAgICAgICAgLy8gZm9udCBpbiBvdXIgY2FjaGUuCisgICAg
ICAgIC8vIFRPRE86IFBsYXRmb3JtQnJpZGdlOjpsb2FkRm9udCgpIHNob3VsZCBjb25zdWx0IHRo
ZSBpZCBjYWNoZQorICAgICAgICAvLyBiZWZvcmUgYWN0aXZhdGluZyB0aGUgZm9udC4gIFRoZW4g
d2UgY2FuIHNhdmUgdGhpcyBhY3RpdmF0ZS9kZWFjdGl2ZQorICAgICAgICAvLyBkYW5jZSBhbHRv
Z2V0aGVyLgorICAgICAgICBBVFNGb250RGVhY3RpdmF0ZShjb250YWluZXIsIDAsIGtBVFNPcHRp
b25GbGFnc0RlZmF1bHQpOwogICAgICAgICByZXR1cm4gZm9udDsKKyAgICB9CiAKLSAgICByZXR1
cm4gTWVtb3J5QWN0aXZhdGVkRm9udDo6Y3JlYXRlKHNyY0ZvbnRDb250YWluZXJSZWYsIGNvbnRh
aW5lcik7CisgICAgcmV0dXJuIE1lbW9yeUFjdGl2YXRlZEZvbnQ6OmNyZWF0ZShmb250SUQsIG5z
Rm9udCwgY29udGFpbmVyKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UKIAotUGFzc1JlZlB0cjxNZW1v
cnlBY3RpdmF0ZWRGb250PiBNZW1vcnlBY3RpdmF0ZWRGb250OjpjcmVhdGUoQVRTRm9udENvbnRh
aW5lclJlZiBzcmNGb250Q29udGFpbmVyUmVmLCBBVFNGb250Q29udGFpbmVyUmVmIGNvbnRhaW5l
cikKK1Bhc3NSZWZQdHI8TWVtb3J5QWN0aXZhdGVkRm9udD4gTWVtb3J5QWN0aXZhdGVkRm9udDo6
Y3JlYXRlKHVpbnQzMl90IGZvbnRJRCwgTlNGb250KiBuc0ZvbnQsIEFUU0ZvbnRDb250YWluZXJS
ZWYgY29udGFpbmVyKQogewotICBNZW1vcnlBY3RpdmF0ZWRGb250KiBmb250ID0gbmV3IE1lbW9y
eUFjdGl2YXRlZEZvbnQoc3JjRm9udENvbnRhaW5lclJlZiwgY29udGFpbmVyKTsKKyAgTWVtb3J5
QWN0aXZhdGVkRm9udCogZm9udCA9IG5ldyBNZW1vcnlBY3RpdmF0ZWRGb250KGZvbnRJRCwgbnNG
b250LCBjb250YWluZXIpOwogICBpZiAoIWZvbnQtPmNnRm9udCgpKSAgLy8gT2JqZWN0IGNvbnN0
cnVjdGlvbiBmYWlsZWQuCiAgIHsKICAgICAgIGRlbGV0ZSBmb250OwpAQCAtMTE2LDEwICsxNjgs
MTEgQEAgUGFzc1JlZlB0cjxNZW1vcnlBY3RpdmF0ZWRGb250PiBNZW1vcnlBY3RpdmF0ZWRGb250
OjpjcmVhdGUoQVRTRm9udENvbnRhaW5lclJlZgogICByZXR1cm4gYWRvcHRSZWYoZm9udCk7CiB9
CiAKLU1lbW9yeUFjdGl2YXRlZEZvbnQ6Ok1lbW9yeUFjdGl2YXRlZEZvbnQoQVRTRm9udENvbnRh
aW5lclJlZiBzcmNGb250Q29udGFpbmVyUmVmLCBBVFNGb250Q29udGFpbmVyUmVmIGNvbnRhaW5l
cikKK01lbW9yeUFjdGl2YXRlZEZvbnQ6Ok1lbW9yeUFjdGl2YXRlZEZvbnQodWludDMyX3QgZm9u
dElELCBOU0ZvbnQqIG5zRm9udCwgQVRTRm9udENvbnRhaW5lclJlZiBjb250YWluZXIpCiAgICAg
OiBtX2ZvbnRDb250YWluZXIoY29udGFpbmVyKQogICAgICwgbV9hdHNGb250UmVmKGtBVFNGb250
UmVmVW5zcGVjaWZpZWQpCi0gICAgLCBtX3NyY0ZvbnRDb250YWluZXJSZWYoc3JjRm9udENvbnRh
aW5lclJlZikKKyAgICAsIG1fZm9udElEKGZvbnRJRCkKKyAgICAsIG1faW5TYW5kYm94SGFzaEtl
eShoYXNoS2V5RnJvbU5TRm9udChuc0ZvbnQpKQogewogICAgIGlmICghY29udGFpbmVyKQogICAg
ICAgICByZXR1cm47CkBAIC0xNDIsOCArMTk1LDkgQEAgTWVtb3J5QWN0aXZhdGVkRm9udDo6TWVt
b3J5QWN0aXZhdGVkRm9udChBVFNGb250Q29udGFpbmVyUmVmIHNyY0ZvbnRDb250YWluZXJSZWYK
ICAgICBpZiAoIW1fY2dGb250LmdldCgpKQogICAgICAgICByZXR1cm47CiAgICAgCi0gICAgLy8g
QWRkIG91cnNlbHZlcyB0byBjYWNoZS4KLSAgICBmb250Q2FjaGVCeVNyY0ZvbnRDb250YWluZXJS
ZWYoKS5hZGQobV9zcmNGb250Q29udGFpbmVyUmVmLCB0aGlzKTsKKyAgICAvLyBBZGQgb3Vyc2Vs
dmVzIHRvIGNhY2hlcy4KKyAgICBmb250Q2FjaGVCeUZvbnRJRCgpLmFkZChmb250SUQsIHRoaXMp
OworICAgIGZvbnRDYWNoZUJ5Rm9udE5hbWUoKS5hZGQobV9pblNhbmRib3hIYXNoS2V5LCB0aGlz
KTsKIH0KIAogLy8gRGVzdHJ1Y3RvciAtIFVubG9hZCBmb250IGNvbnRhaW5lciBmcm9tIG1lbW9y
eSBhbmQgcmVtb3ZlIG91cnNlbHZlcwpAQCAtMTUyLDkgKzIwNiwxMSBAQCBNZW1vcnlBY3RpdmF0
ZWRGb250Ojp+TWVtb3J5QWN0aXZhdGVkRm9udCgpCiB7CiAgICAgaWYgKG1fY2dGb250LmdldCgp
KSB7CiAgICAgICAgIC8vIEZpcnN0IHJlbW92ZSBvdXJzZWx2ZXMgZnJvbSB0aGUgY2FjaGVzLgot
ICAgICAgICBBU1NFUlQoZm9udENhY2hlQnlTcmNGb250Q29udGFpbmVyUmVmKCkuY29udGFpbnMo
bV9zcmNGb250Q29udGFpbmVyUmVmKSk7CisgICAgICAgIEFTU0VSVChmb250Q2FjaGVCeUZvbnRJ
RCgpLmNvbnRhaW5zKG1fZm9udElEKSk7CisgICAgICAgIEFTU0VSVChmb250Q2FjaGVCeUZvbnRO
YW1lKCkuY29udGFpbnMobV9pblNhbmRib3hIYXNoS2V5KSk7CiAgICAgICAgIAotICAgICAgICBm
b250Q2FjaGVCeVNyY0ZvbnRDb250YWluZXJSZWYoKS5yZW1vdmUobV9zcmNGb250Q29udGFpbmVy
UmVmKTsKKyAgICAgICAgZm9udENhY2hlQnlGb250SUQoKS5yZW1vdmUobV9mb250SUQpOworICAg
ICAgICBmb250Q2FjaGVCeUZvbnROYW1lKCkucmVtb3ZlKG1faW5TYW5kYm94SGFzaEtleSk7CiAg
ICAgICAgIAogICAgICAgICAvLyBNYWtlIHN1cmUgdGhlIENHRm9udCBpcyBkZXN0cm95ZWQgYmVm
b3JlIGl0cyBmb250IGNvbnRhaW5lci4KICAgICAgICAgbV9jZ0ZvbnQucmVsZWFzZVJlZigpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCA2MTVlN2Q1OGU3Mjc0NTAyZTFiNjM3MTcwYWE3
MzNkNGMyMGZiYjFjLi5jNWQ5MTBlMmNiOGE0MjViZjI4ZmZhMTM0YjhmYjU5OTUwODZmOWZlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDExLTA4LTAyICBK
ZXJlbXkgTW9za292aWNoICA8amVyZW15QGNocm9taXVtLm9yZz4KKworICAgICAgICBbQ2hyb21p
dW1dIEZpeCBPT1AgZm9udCBsb2FkaW5nIHRvIHdvcmsgb24gMTAuNi42IGFuZCBhYm92ZS4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY1NTQzCisKKyAg
ICAgICAgSW4gMTAuNi42IHRoZSBmdW5jdGlvbiB1c2VkIHRvIGdldCB0aGUgdW5pcXVlIElEIGZv
ciBhbiBOU0ZvbnQgaW4gdGhlIAorICAgICAgICByZW5kZXJlciB3YXMgY2hhbmdlZCBzbyBpdCBm
YWlscyBpbiB0aGUgc2FuZGJveCAoaXQgbm93IHRyaWVzIHRvIGFjY2VzcworICAgICAgICB0aGUg
b24tZGlzayBmb250IGZpbGUpLiAgSW4gb3JkZXIgdG8gd29yayBhcm91bmQgdGhpcywgd2UgZ2V0
IHRoZSBmb250CisgICAgICAgIElEIGZyb20gdGhlIGJyb3dzZXIgcHJvY2Vzcy4KKworICAgICAg
ICBUbyBzcGVlZCB0aGluZ3MgdXAsIHdlIGludHJvZHVjZSAyIGxldmVscyBvZiBjYWNoaW5nIGlu
IFdlYktpdC4gIEEgZm9udAorICAgICAgICBuYW1lIGNhY2hlIHdoZXJlIHdlIGNhbiBwZXJmb3Jt
IGEgcXVpY2sgbG9va3VwIHdpdGhvdXQgdGhlIG5lZWQgZm9yIHRoZQorICAgICAgICBmb250IGlk
IGFuZCBhIGZvbnQgaWQgY2FjaGUgd2hpY2ggd2UgY2FuIG9ubHkgbG9va3VwIGluIGFmdGVyIGdl
dHRpbmcKKyAgICAgICAgdGhlIHVuaXF1ZSBJRCBmcm9tIHRoZSBicm93c2VyIHByb2Nlc3MuCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRl
c3RzIHNpbmNlIHRoaXMgaXMgbm90IHJlYWRpbHkgdGVzdGFibGUuCisKKyAgICAgICAgKiBwdWJs
aWMvbWFjL1dlYlNhbmRib3hTdXBwb3J0Lmg6IFBsdW1iIGZvbnQgSUQgcGFyYW1ldGVyIHRocm91
Z2guCisgICAgICAgICogc3JjL1BsYXRmb3JtQnJpZGdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlBsYXRmb3JtQnJpZGdlOjpsb2FkRm9udCk6IGRpdHRvLgorCiAyMDExLTA4LTAxICBKZWFuLWx1
YyBCcm91aWxsZXQgIDxqZWFubHVjQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZW1vdmluZyBv
bGQgc291cmNlIGZpbGVzIGluIGd5cCBmaWxlcyB0aGF0IHNsb3cgYnVpbGQKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL21hYy9XZWJTYW5kYm94U3VwcG9ydC5oIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvbWFjL1dlYlNhbmRib3hTdXBwb3J0LmgKaW5k
ZXggNTdkNDhhYTk0NjE2YTU2ZjU2YjQ0ZWZlZGZiMmViMDZjNmM4OThmNS4uMDg5OWE5NTY4ZGRl
N2I4NjZiOWJkZmZkMmI4MGE4MWRhOGUzMmFhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9wdWJsaWMvbWFjL1dlYlNhbmRib3hTdXBwb3J0LmgKKysrIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9wdWJsaWMvbWFjL1dlYlNhbmRib3hTdXBwb3J0LmgKQEAgLTQ2LDcgKzQ2LDgg
QEAgY2xhc3MgV2ViU2FuZGJveFN1cHBvcnQgewogcHVibGljOgogICAgIC8vIEdpdmVuIGFuIGlu
cHV0IGZvbnQgLSB8c3JjRm9udHwgW3doaWNoIGNhbid0IGJlIGxvYWRlZCBkdWUgdG8gc2FuZGJv
eAogICAgIC8vIHJlc3RyaWN0aW9uc10uICBSZXR1cm4gYSBmb250IGNvbnRhaW5lciBiZWxvbmdp
bmcgdG8gYW4gZXF1aXZhbGVudAotICAgIC8vIGZvbnQgZmlsZSB0aGF0IGNhbiBiZSB1c2VkIHRv
IGFjY2VzcyB0aGUgZm9udC4KKyAgICAvLyBmb250IGZpbGUgdGhhdCBjYW4gYmUgdXNlZCB0byBh
Y2Nlc3MgdGhlIGZvbnQgYW5kIGEgdW5pcXVlIGlkZW50aWZpZXIKKyAgICAvLyBjb3JyZXNwb25k
aW5nIHRvIHRoZSBvbi1kaXNrIGZvbnQgZmlsZS4KICAgICAvLwogICAgIC8vIE5vdGUgdGhhdCBh
IGZvbnQgY29udGFpbmVyIG1heSBjb250YWluIG11bHRpcGxlIGZvbnRzLCB0aGUgY2FsbGVyIGlz
CiAgICAgLy8gcmVzcG9uc2libGUgZm9yIHJldHJlaXZpbmcgdGhlIGFwcHJvcHJpYXRlIGZvbnQg
ZnJvbSB0aGUgY29udGFpbmVyLgpAQCAtNTUsNyArNTYsNyBAQCBwdWJsaWM6CiAgICAgLy8gcGFy
YW1ldGVyIGFuZCBtdXN0IGNhbGwgQVRTRm9udERlYWN0aXZhdGUoKSB0byB1bmxvYWQgaXQgd2hl
biBkb25lLgogICAgIC8vCiAgICAgLy8gUmV0dXJuczogdHJ1ZSBvbiBzdWNjZXNzLCBmYWxzZSBv
biBlcnJvci4KLSAgICB2aXJ0dWFsIGJvb2wgbG9hZEZvbnQoTlNGb250KiBzcmNGb250LCBBVFNG
b250Q29udGFpbmVyUmVmKiBvdXQpID0gMDsKKyAgICB2aXJ0dWFsIGJvb2wgbG9hZEZvbnQoTlNG
b250KiBzcmNGb250LCBBVFNGb250Q29udGFpbmVyUmVmKiwgdWludDMyX3QqIGZvbnRJRCkgPSAw
OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9QbGF0Zm9ybUJyaWRnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9QbGF0Zm9ybUJyaWRnZS5jcHAKaW5kZXggMTFkOWJjYmFmYjZkM2YzYzI1OGNhZjJlMDcx
YzhiZDBjMDgxNTM3Ny4uN2QyMTg0MjA0NjQxNWEwYTM5MjdhMDE5ZjViMzljM2Q3ZWRiNzA5NyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvUGxhdGZvcm1CcmlkZ2UuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1BsYXRmb3JtQnJpZGdlLmNwcApAQCAt
NDQ0LDE3ICs0NDQsMTggQEAgYm9vbCBQbGF0Zm9ybUJyaWRnZTo6ZW5zdXJlRm9udExvYWRlZChI
Rk9OVCBmb250KQogI2VuZGlmCiAKICNpZiBPUyhEQVJXSU4pCi1ib29sIFBsYXRmb3JtQnJpZGdl
Ojpsb2FkRm9udChOU0ZvbnQqIHNyY0ZvbnQsIEFUU0ZvbnRDb250YWluZXJSZWYqIG91dCkKK2Jv
b2wgUGxhdGZvcm1CcmlkZ2U6OmxvYWRGb250KE5TRm9udCogc3JjRm9udCwgQVRTRm9udENvbnRh
aW5lclJlZiogY29udGFpbmVyLCB1aW50MzJfdCogZm9udElEKQogewogICAgIFdlYlNhbmRib3hT
dXBwb3J0KiBzcyA9IHdlYktpdENsaWVudCgpLT5zYW5kYm94U3VwcG9ydCgpOwogICAgIGlmIChz
cykKLSAgICAgICAgcmV0dXJuIHNzLT5sb2FkRm9udChzcmNGb250LCBvdXQpOworICAgICAgICBy
ZXR1cm4gc3MtPmxvYWRGb250KHNyY0ZvbnQsIGNvbnRhaW5lciwgZm9udElEKTsKIAogICAgIC8v
IFRoaXMgZnVuY3Rpb24gc2hvdWxkIG9ubHkgYmUgY2FsbGVkIGluIHJlc3BvbnNlIHRvIGFuIGVy
cm9yIGxvYWRpbmcgYQogICAgIC8vIGZvbnQgZHVlIHRvIGJlaW5nIGJsb2NrZWQgYnkgdGhlIHNh
bmRib3guCiAgICAgLy8gVGhpcyBieSBkZWZpbml0aW9uIHNob3VsZG4ndCBoYXBwZW4gaWYgdGhl
cmUgaXMgbm8gc2FuZGJveCBzdXBwb3J0LgogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAg
ICpvdXQgPSAwOworICAgICpjb250YWluZXIgPSAwOworICAgICpmb250SUQgPSAwOwogICAgIHJl
dHVybiBmYWxzZTsKIH0KICNlbGlmIE9TKFVOSVgpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>102754</attachid>
            <date>2011-08-03 02:05:39 -0700</date>
            <delta_ts>2011-08-03 03:18:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-65543-20110803120536.patch</filename>
            <type>text/plain</type>
            <size>15431</size>
            <attacher name="Jeremy Moskovich">playmobil</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTIyNjUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA2ZDcyNzkxODczNDA3MDcx
ODk3MmJiNGQxMDU1ZjZmM2Y1MDgwNjMxLi4wZDg5OWFkY2QzOGMyZDdkYjc3N2JiMzQxOGZjYThh
Y2U4NWU0ZTUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkgQEAKKzIwMTEtMDgtMDIgIEplcmVt
eSBNb3Nrb3ZpY2ggIDxqZXJlbXlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtDaHJvbWl1bV0g
Rml4IE9PUCBmb250IGxvYWRpbmcgdG8gd29yayBvbiAxMC42LjYgYW5kIGFib3ZlLgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU1NDMKKworICAgICAg
ICBJbiAxMC42LjYgdGhlIGZ1bmN0aW9uIHVzZWQgdG8gZ2V0IHRoZSB1bmlxdWUgSUQgZm9yIGFu
IE5TRm9udCBpbiB0aGUgCisgICAgICAgIHJlbmRlcmVyIHdhcyBjaGFuZ2VkIHNvIGl0IGZhaWxz
IGluIHRoZSBzYW5kYm94IChpdCBub3cgdHJpZXMgdG8gYWNjZXNzCisgICAgICAgIHRoZSBvbi1k
aXNrIGZvbnQgZmlsZSkuIEluIG9yZGVyIHRvIHdvcmsgYXJvdW5kIHRoaXMsIHdlIGdldCB0aGUg
Zm9udAorICAgICAgICBJRCBmcm9tIHRoZSBicm93c2VyIHByb2Nlc3MuCisKKyAgICAgICAgVG8g
c3BlZWQgdGhpbmdzIHVwLCB3ZSBpbnRyb2R1Y2UgMiBsZXZlbHMgb2YgY2FjaGluZyBpbiBXZWJL
aXQuIEEgZm9udAorICAgICAgICBuYW1lIGNhY2hlIHdoZXJlIHdlIGNhbiBwZXJmb3JtIGEgcXVp
Y2sgbG9va3VwIHdpdGhvdXQgdGhlIG5lZWQgZm9yIHRoZQorICAgICAgICBmb250IGlkIGFuZCBh
IGZvbnQgaWQgY2FjaGUgd2hpY2ggd2UgY2FuIG9ubHkgbG9va3VwIGluIGFmdGVyIGdldHRpbmcK
KyAgICAgICAgdGhlIHVuaXF1ZSBJRCBmcm9tIHRoZSBicm93c2VyIHByb2Nlc3MuCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgS2VuIFJ1c3NlbGwuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIHNpbmNl
IHRoaXMgaXMgbm90IHJlYWRpbHkgdGVzdGFibGUuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJv
bWl1bS9QbGF0Zm9ybUJyaWRnZS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL0Nyb3NzUHJvY2Vzc0ZvbnRMb2FkaW5nLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vQ3Jvc3NQcm9jZXNzRm9udExvYWRpbmcubW06CisgICAgICAgIChXZWJDb3Jl
OjpNZW1vcnlBY3RpdmF0ZWRGb250OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6TWVtb3J5
QWN0aXZhdGVkRm9udDo6TWVtb3J5QWN0aXZhdGVkRm9udCk6CisgICAgICAgIChXZWJDb3JlOjpN
ZW1vcnlBY3RpdmF0ZWRGb250Ojp+TWVtb3J5QWN0aXZhdGVkRm9udCk6CisKIDIwMTEtMDgtMDMg
IFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIElu
c3BlY3RvcjogcmVtb3ZlIE5vZGUgcGFyYW1ldGVyIGZyb20gdGhlIEluc3BlY3RvckNsaWVudDo6
aGlnaGxpZ2h0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9Q
bGF0Zm9ybUJyaWRnZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUGxhdGZv
cm1CcmlkZ2UuaAppbmRleCBlMDFhZTI2NjI2ZWE5ZDEyOTA1Mzg0MTRmYzYzZWE4NzZjN2U4OGZk
Li45NTIxMmI2MmMwM2E1ODg4MGI2MDdjMmIyNmNjOWJlNjE1NWJlOWI3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9QbGF0Zm9ybUJyaWRnZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BsYXRmb3JtQnJpZGdlLmgKQEAgLTE1MSw3
ICsxNTEsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIGJvb2wgZW5zdXJlRm9udExvYWRlZChIRk9O
VCk7CiAjZW5kaWYKICNpZiBPUyhEQVJXSU4pCi0gICAgc3RhdGljIGJvb2wgbG9hZEZvbnQoTlNG
b250KiBzcmNGb250LCBBVFNGb250Q29udGFpbmVyUmVmKiBvdXQpOworICAgIHN0YXRpYyBib29s
IGxvYWRGb250KE5TRm9udCogc3JjRm9udCwgQVRTRm9udENvbnRhaW5lclJlZiosIHVpbnQzMl90
KiBmb250SUQpOwogI2VsaWYgT1MoVU5JWCkKICAgICBzdGF0aWMgdm9pZCBnZXRSZW5kZXJTdHls
ZUZvclN0cmlrZShjb25zdCBjaGFyKiBmYW1pbHksIGludCBzaXplQW5kU3R5bGUsIEZvbnRSZW5k
ZXJTdHlsZSogcmVzdWx0KTsKICAgICBzdGF0aWMgU3RyaW5nIGdldEZvbnRGYW1pbHlGb3JDaGFy
YWN0ZXJzKGNvbnN0IFVDaGFyKiwgc2l6ZV90IG51bUNoYXJhY3RlcnMsIGNvbnN0IGNoYXIqIHBy
ZWZlcnJlZExvY2FsZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9Dcm9zc1Byb2Nlc3NGb250TG9hZGluZy5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vQ3Jvc3NQcm9jZXNzRm9udExvYWRpbmcuaAppbmRl
eCBlMWZiNzQwMGQwNWY5YjAxYmNlNTJiNTA5YzA5MWI0YTg0NTQwM2ZkLi5kMmMxNTY1ZDc4NmRh
ODU4YTdiMGI1ZDVjMWU2ODU2YTJmZGJhMWVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Dcm9zc1Byb2Nlc3NGb250TG9hZGluZy5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0Nyb3NzUHJvY2Vzc0Zv
bnRMb2FkaW5nLmgKQEAgLTMzLDYgKzMzLDcgQEAKIAogI2ltcG9ydCA8d3RmL1JlZkNvdW50ZWQu
aD4KICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KKyNpbXBvcnQgPHd0Zi90ZXh0L1dURlN0cmlu
Zy5oPgogCiB0eXBlZGVmIHN0cnVjdCBDR0ZvbnQqIENHRm9udFJlZjsKIHR5cGVkZWYgVUludDMy
IEFUU0ZvbnRDb250YWluZXJSZWY7CkBAIC03Myw3ICs3NCw3IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIGNsYXNzIE1lbW9yeUFjdGl2YXRlZEZvbnQgOiBwdWJsaWMgUmVmQ291bnRlZDxNZW1vcnlB
Y3RpdmF0ZWRGb250PiB7CiBwdWJsaWM6CiAgICAgLy8gVXNlIHRvIGNyZWF0ZSBhIG5ldyBvYmpl
Y3QsIHNlZSBkb2NzIG9uIGNvbnN0cnVjdG9yIGJlbG93LgotICAgIHN0YXRpYyBQYXNzUmVmUHRy
PE1lbW9yeUFjdGl2YXRlZEZvbnQ+IGNyZWF0ZShBVFNGb250Q29udGFpbmVyUmVmIHNyY0ZvbnRD
b250YWluZXJSZWYsIEFUU0ZvbnRDb250YWluZXJSZWYgY29udGFpbmVyKTsKKyAgICBzdGF0aWMg
UGFzc1JlZlB0cjxNZW1vcnlBY3RpdmF0ZWRGb250PiBjcmVhdGUodWludDMyX3QgZm9udElELCBO
U0ZvbnQqLCBBVFNGb250Q29udGFpbmVyUmVmKTsKICAgICB+TWVtb3J5QWN0aXZhdGVkRm9udCgp
OwogICAgIAogICAgIC8vIEdldCBjYWNoZWQgQ0dGb250UmVmIGNvcnJlc3BvbmRpbmcgdG8gdGhl
IGluLW1lbW9yeSBmb250LgpAQCAtODcsMTIgKzg4LDEzIEBAIHByaXZhdGU6CiAgICAgLy8gbG9h
ZCBpbi1wcm9jZXNzLgogICAgIC8vIGNvbnRhaW5lciAtIGEgZm9udCBjb250YWluZXIgY29ycmVz
cG9uZGluZyB0byBhbiBpZGVudGljYWwgZm9udCB0aGF0CiAgICAgLy8gd2UgbG9hZGVkIGNyb3Nz
LXByb2Nlc3MuCi0gICAgTWVtb3J5QWN0aXZhdGVkRm9udChBVFNGb250Q29udGFpbmVyUmVmIHNy
Y0ZvbnRDb250YWluZXJSZWYsIEFUU0ZvbnRDb250YWluZXJSZWYgY29udGFpbmVyKTsKKyAgICBN
ZW1vcnlBY3RpdmF0ZWRGb250KHVpbnQzMl90IGZvbnRJRCwgTlNGb250KiwgQVRTRm9udENvbnRh
aW5lclJlZik7CiAKICAgICBBVFNGb250Q29udGFpbmVyUmVmIG1fZm9udENvbnRhaW5lcjsKICAg
ICBXVEY6OlJldGFpblB0cjxDR0ZvbnRSZWY+IG1fY2dGb250OwogICAgIEFUU0ZvbnRSZWYgbV9h
dHNGb250UmVmOwotICAgIEFUU0ZvbnRDb250YWluZXJSZWYgbV9zcmNGb250Q29udGFpbmVyUmVm
OworICAgIHVpbnQzMl90IG1fZm9udElEOworICAgIFdURjo6U3RyaW5nIG1faW5TYW5kYm94SGFz
aEtleTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0Nyb3NzUHJvY2Vzc0ZvbnRMb2FkaW5n
Lm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vQ3Jvc3NQcm9j
ZXNzRm9udExvYWRpbmcubW0KaW5kZXggYjQ0MmQ1MzA3MjEzODIzZmE2ODU0Yzk1MWNhNmI1ZDVj
NGRjZDBlZC4uZjEwYWQ5YWMzZjJkYmM0NjU1MGUyNTFkZTE3OGFkM2EwZmVkMWFjMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vQ3Jvc3NQcm9j
ZXNzRm9udExvYWRpbmcubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vQ3Jvc3NQcm9jZXNzRm9udExvYWRpbmcubW0KQEAgLTM4LDcgKzM4LDggQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBuYW1lc3BhY2UgewogCi10eXBlZGVmIEhhc2hNYXA8QVRTRm9u
dENvbnRhaW5lclJlZiwgTWVtb3J5QWN0aXZhdGVkRm9udCo+IEZvbnRDb250YWluZXJSZWZNZW1v
cnlGb250SGFzaDsKK3R5cGVkZWYgSGFzaE1hcDx1aW50MzIsIE1lbW9yeUFjdGl2YXRlZEZvbnQq
PiBGb250Q29udGFpbmVyUmVmTWVtb3J5Rm9udEhhc2g7Cit0eXBlZGVmIEhhc2hNYXA8V1RGOjpT
dHJpbmcsIE1lbW9yeUFjdGl2YXRlZEZvbnQqPiBGb250TmFtZU1lbW9yeUZvbnRIYXNoOwogCiAv
LyBPbiAxMC41LCBmb250IGxvYWRpbmcgaXMgbm90IGJsb2NrZWQgYnkgdGhlIHNhbmRib3ggYW5k
IHRodXMgdGhlcmUgaXMgbm8KIC8vIG5lZWQgZm9yIHRoZSBjcm9zcy1wcm9jZXNzIGZvbnQgbG9h
ZGluZyBtZWNoYW5pbS4KQEAgLTU0LDEwICs1NSw1MCBAQCBib29sIE91dE9mUHJvY2Vzc0ZvbnRM
b2FkaW5nRW5hYmxlZCgpCiAgICAgcmV0dXJuIHN5c3RlbVZlcnNpb24gPj0gMHgxMDYwOwogfQog
Ci1Gb250Q29udGFpbmVyUmVmTWVtb3J5Rm9udEhhc2gmIGZvbnRDYWNoZUJ5U3JjRm9udENvbnRh
aW5lclJlZigpCisvLyBDYWNoaW5nOgorLy8KKy8vIFJlcXVlc3RpbmcgYSBmb250IGZyb20gdGhl
IGJyb3dzZXIgcHJvY2VzcyBpcyBleHBlbnNpdmUgYW5kIHNvIGlzCisvLyAiYWN0aXZhdGluZyIg
c2FpZCBmb250LiAgQ2FjaGluZyBvZiBsb2FkZWQgZm9udHMgaXMgY29tcGxpY2F0ZWQgYnkgdGhl
IGZhY3QKKy8vIHRoYXQgaXQncyBpbXBvc3NpYmxlIHRvIGdldCBhIHVuaXF1ZSBpZGVudGlmaWVy
IGZvciB0aGUgb24tZGlzayBmb250IGZpbGUKKy8vIGZyb20gaW5zaWRlIHRoZSBzYW5kYm94ZWQg
cmVuZGVyZXIgcHJvY2Vzcy4KKy8vIFRoaXMgbWVhbnMgdGhhdCB3aGVuIGxvYWRpbmcgYSBmb250
IHdlIG5lZWQgdG8gcm91bmQtdHJpcCB0aHJvdWdoIHRoZSBicm93c2VyCisvLyBwcm9jZXNzIGlu
IG9yZGVyIHRvIGdldCB0aGUgdW5pcXVlIGZvbnQgZmlsZSBpZGVudGlmZXIgd2hpY2ggd2UgbWln
aHQgYWxyZWFkeQorLy8gaGF2ZSBhY3RpdmF0ZWQgYW5kIGNhY2hlZC4KKy8vCisvLyBJbiBvcmRl
ciB0byBzYXZlIGFzIG11Y2ggd29yayBhcyB3ZSBjYW4sIHdlIG1haW50YWluIDIgbGV2ZWxzIG9m
IGNhY2hpbmcKKy8vIGZvciB0aGUgZm9udCBkYXRhOgorLy8gMS4gQSBkdW1iIGNhY2hlIGtleWVk
IGJ5IHRoZSBmb250IG5hbWUvc3R5bGUgKGluZm9ybWF0aW9uIHdlIGNhbiBkZXRlcm1pbmUKKy8v
IGZyb20gaW5zaWRlIHRoZSBzYW5kYm94KS4KKy8vIDIuIEEgc21hcnRlciBjYWNoZSBrZXllZCBi
eSB0aGUgcmVhbCAidW5pcXVlIGZvbnQgaWQiLgorLy8KKy8vIEluIG9yZGVyIHRvIHBlcmZvcm0g
YSBsb29rdXAgaW4gIzIgd2UgbmVlZCB0byBjb25zdWx0IHdpdGggdGhlIGJyb3dzZXIgdG8gZ2V0
CisvLyB1cyB0aGUgbG9va3VwIGtleS4gIFdoaWxlIHRoaXMgZG9lc24ndCBzYXZlIHVzIHRoZSBm
b250IGxvYWQsIGl0IGRvZXMgc2F2ZQorLy8gdXMgZm9udCBhY3RpdmF0aW9uLgorLy8KKy8vIEl0
J3MgaW1wb3J0YW50IHRvIHJlbWVtYmVyIHRoYXQgZXhpc3RpbmcgRm9udFBsYXRmb3JtRGF0YSBv
YmplY3RzIGFyZSBhbHJlYWR5CisvLyBjYWNoZWQsIHNvIGEgY2FjaGUgbWlzcyBpbiB0aGUgY29k
ZSBpbiB0aGlzIGZpbGUgaXNuJ3QgbmVjZXNzYXJpbHkgc28gYmFkLgorCitGb250Q29udGFpbmVy
UmVmTWVtb3J5Rm9udEhhc2gmIGZvbnRDYWNoZUJ5Rm9udElEKCkKK3sKKyAgICBERUZJTkVfU1RB
VElDX0xPQ0FMKEZvbnRDb250YWluZXJSZWZNZW1vcnlGb250SGFzaCwgc3JjRm9udElEQ2FjaGUs
ICgpKTsKKyAgICByZXR1cm4gc3JjRm9udElEQ2FjaGU7Cit9CisKKworRm9udE5hbWVNZW1vcnlG
b250SGFzaCYgZm9udENhY2hlQnlGb250TmFtZSgpCit7CisgICAgREVGSU5FX1NUQVRJQ19MT0NB
TChGb250TmFtZU1lbW9yeUZvbnRIYXNoLCBzcmNGb250TmFtZUNhY2hlLCAoKSk7CisgICAgcmV0
dXJuIHNyY0ZvbnROYW1lQ2FjaGU7Cit9CisKKy8vIEdpdmVuIGEgZm9udCBzcGVjaWZpZWQgYnkg
fHNyY0ZvbnR8LCB1c2UgdGhlIGluZm9ybWF0aW9uIHdlIGNhbiBxdWVyeSBpbgorLy8gdGhlIHNh
bmRib3ggdG8gY29uc3RydWN0IGEga2V5IHdoaWNoIHdlIGhvcGUgd2lsbCBiZSBhcyB1bmlxdWUg
YXMgcG9zc2libGUKKy8vIHRvIHRoZSBjb250YWluaW5nIGZvbnQgZmlsZS4KK1dURjo6U3RyaW5n
IGhhc2hLZXlGcm9tTlNGb250KE5TRm9udCogc3JjRm9udCkKIHsKLSAgICBERUZJTkVfU1RBVElD
X0xPQ0FMKEZvbnRDb250YWluZXJSZWZNZW1vcnlGb250SGFzaCwgc3JjRm9udFJlZkNhY2hlLCAo
KSk7Ci0gICAgcmV0dXJuIHNyY0ZvbnRSZWZDYWNoZTsKKyAgICBOU0ZvbnREZXNjcmlwdG9yKiBk
ZXNjID0gW3NyY0ZvbnQgZm9udERlc2NyaXB0b3JdOworICAgIE5TRm9udFN5bWJvbGljVHJhaXRz
IHRyYWl0cyA9IFtkZXNjIHN5bWJvbGljVHJhaXRzXTsKKyAgICByZXR1cm4gV1RGOjpTdHJpbmc6
OmZvcm1hdCgiJXMgJXgiLCBbW3NyY0ZvbnQgZm9udE5hbWVdIFVURjhTdHJpbmddLCB0cmFpdHMp
OwogfQogCiBBVFNGb250Q29udGFpbmVyUmVmIGZvbnRDb250YWluZXJSZWZGcm9tTlNGb250KE5T
Rm9udCogc3JjRm9udCkKQEAgLTg1LDI5ICsxMjYsMzkgQEAgYm9vbCBpc0xhc3RSZXNvcnRGb250
KENHRm9udFJlZiBjZ0ZvbnQpCiAvLyBPbiBmYWlsdXJlIHRoaXMgZnVuY3Rpb24gcmV0dXJucyBh
IFBhc3NSZWZQdHIgcG9pbnRpbmcgdG8gMC4KIFBhc3NSZWZQdHI8TWVtb3J5QWN0aXZhdGVkRm9u
dD4gbG9hZEZvbnRGcm9tQnJvd3NlclByb2Nlc3MoTlNGb250KiBuc0ZvbnQpCiB7CisgICAgLy8g
Rmlyc3QgdHJ5IHRvIGxvb2t1cCBpbiBvdXIgY2FjaGUgd2l0aCB0aGUgbGltaXRlZCBpbmZvcm1h
dGlvbiB3ZSBoYXZlLgorICAgIFdURjo6U3RyaW5nIGhhc2hLZXkgPSBoYXNoS2V5RnJvbU5TRm9u
dChuc0ZvbnQpOworICAgIFJlZlB0cjxNZW1vcnlBY3RpdmF0ZWRGb250PiBmb250KGZvbnRDYWNo
ZUJ5Rm9udE5hbWUoKS5nZXQoaGFzaEtleSkpOworICAgIGlmIChmb250KQorICAgICAgICByZXR1
cm4gZm9udDsKKwogICAgIEFUU0ZvbnRDb250YWluZXJSZWYgY29udGFpbmVyOworICAgIHVpbnQz
Ml90IGZvbnRJRDsKICAgICAvLyBTZW5kIGNyb3NzLXByb2Nlc3MgcmVxdWVzdCB0byBsb2FkIGZv
bnQuCi0gICAgaWYgKCFQbGF0Zm9ybUJyaWRnZTo6bG9hZEZvbnQobnNGb250LCAmY29udGFpbmVy
KSkKKyAgICBpZiAoIVBsYXRmb3JtQnJpZGdlOjpsb2FkRm9udChuc0ZvbnQsICZjb250YWluZXIs
ICZmb250SUQpKQogICAgICAgICByZXR1cm4gMDsKLSAgICAKLSAgICBBVFNGb250Q29udGFpbmVy
UmVmIHNyY0ZvbnRDb250YWluZXJSZWYgPSBmb250Q29udGFpbmVyUmVmRnJvbU5TRm9udChuc0Zv
bnQpOwotICAgIGlmICghc3JjRm9udENvbnRhaW5lclJlZikgeworCisgICAgLy8gTm93IHRoYXQg
d2UgaGF2ZSB0aGUgZm9udElEIGZyb20gdGhlIGJyb3dzZXIgcHJvY2Vzcywgd2UgY2FuIGNvbnN1
bHQKKyAgICAvLyB0aGUgSUQgY2FjaGUuCisgICAgZm9udCA9IGZvbnRDYWNoZUJ5Rm9udElEKCku
Z2V0KGZvbnRJRCk7CisgICAgaWYgKGZvbnQpIHsKKyAgICAgICAgLy8gV2UgY2FuIHNhZmVseSBk
aXNjYXJkIHRoZSBuZXcgY29udGFpbmVyIHNpbmNlIHdlIGFscmVhZHkgaGF2ZSB0aGUKKyAgICAg
ICAgLy8gZm9udCBpbiBvdXIgY2FjaGUuCisgICAgICAgIC8vIEZJWE1FOiBQbGF0Zm9ybUJyaWRn
ZTo6bG9hZEZvbnQoKSBzaG91bGQgY29uc3VsdCB0aGUgaWQgY2FjaGUKKyAgICAgICAgLy8gYmVm
b3JlIGFjdGl2YXRpbmcgdGhlIGZvbnQuICBUaGVuIHdlIGNhbiBzYXZlIHRoaXMgYWN0aXZhdGUv
ZGVhY3RpdmUKKyAgICAgICAgLy8gZGFuY2UgYWx0b2dldGhlci4KICAgICAgICAgQVRTRm9udERl
YWN0aXZhdGUoY29udGFpbmVyLCAwLCBrQVRTT3B0aW9uRmxhZ3NEZWZhdWx0KTsKLSAgICAgICAg
cmV0dXJuIDA7Ci0gICAgfQotICAgIAotICAgIFBhc3NSZWZQdHI8TWVtb3J5QWN0aXZhdGVkRm9u
dD4gZm9udCA9IGFkb3B0UmVmKGZvbnRDYWNoZUJ5U3JjRm9udENvbnRhaW5lclJlZigpLmdldChz
cmNGb250Q29udGFpbmVyUmVmKSk7Ci0gICAgaWYgKGZvbnQuZ2V0KCkpCiAgICAgICAgIHJldHVy
biBmb250OworICAgIH0KIAotICAgIHJldHVybiBNZW1vcnlBY3RpdmF0ZWRGb250OjpjcmVhdGUo
c3JjRm9udENvbnRhaW5lclJlZiwgY29udGFpbmVyKTsKKyAgICByZXR1cm4gTWVtb3J5QWN0aXZh
dGVkRm9udDo6Y3JlYXRlKGZvbnRJRCwgbnNGb250LCBjb250YWluZXIpOwogfQogCiB9IC8vIG5h
bWVzcGFjZQogCi1QYXNzUmVmUHRyPE1lbW9yeUFjdGl2YXRlZEZvbnQ+IE1lbW9yeUFjdGl2YXRl
ZEZvbnQ6OmNyZWF0ZShBVFNGb250Q29udGFpbmVyUmVmIHNyY0ZvbnRDb250YWluZXJSZWYsIEFU
U0ZvbnRDb250YWluZXJSZWYgY29udGFpbmVyKQorUGFzc1JlZlB0cjxNZW1vcnlBY3RpdmF0ZWRG
b250PiBNZW1vcnlBY3RpdmF0ZWRGb250OjpjcmVhdGUodWludDMyX3QgZm9udElELCBOU0ZvbnQq
IG5zRm9udCwgQVRTRm9udENvbnRhaW5lclJlZiBjb250YWluZXIpCiB7Ci0gIE1lbW9yeUFjdGl2
YXRlZEZvbnQqIGZvbnQgPSBuZXcgTWVtb3J5QWN0aXZhdGVkRm9udChzcmNGb250Q29udGFpbmVy
UmVmLCBjb250YWluZXIpOworICBNZW1vcnlBY3RpdmF0ZWRGb250KiBmb250ID0gbmV3IE1lbW9y
eUFjdGl2YXRlZEZvbnQoZm9udElELCBuc0ZvbnQsIGNvbnRhaW5lcik7CiAgIGlmICghZm9udC0+
Y2dGb250KCkpICAvLyBPYmplY3QgY29uc3RydWN0aW9uIGZhaWxlZC4KICAgewogICAgICAgZGVs
ZXRlIGZvbnQ7CkBAIC0xMTYsMTAgKzE2NywxMSBAQCBQYXNzUmVmUHRyPE1lbW9yeUFjdGl2YXRl
ZEZvbnQ+IE1lbW9yeUFjdGl2YXRlZEZvbnQ6OmNyZWF0ZShBVFNGb250Q29udGFpbmVyUmVmCiAg
IHJldHVybiBhZG9wdFJlZihmb250KTsKIH0KIAotTWVtb3J5QWN0aXZhdGVkRm9udDo6TWVtb3J5
QWN0aXZhdGVkRm9udChBVFNGb250Q29udGFpbmVyUmVmIHNyY0ZvbnRDb250YWluZXJSZWYsIEFU
U0ZvbnRDb250YWluZXJSZWYgY29udGFpbmVyKQorTWVtb3J5QWN0aXZhdGVkRm9udDo6TWVtb3J5
QWN0aXZhdGVkRm9udCh1aW50MzJfdCBmb250SUQsIE5TRm9udCogbnNGb250LCBBVFNGb250Q29u
dGFpbmVyUmVmIGNvbnRhaW5lcikKICAgICA6IG1fZm9udENvbnRhaW5lcihjb250YWluZXIpCiAg
ICAgLCBtX2F0c0ZvbnRSZWYoa0FUU0ZvbnRSZWZVbnNwZWNpZmllZCkKLSAgICAsIG1fc3JjRm9u
dENvbnRhaW5lclJlZihzcmNGb250Q29udGFpbmVyUmVmKQorICAgICwgbV9mb250SUQoZm9udElE
KQorICAgICwgbV9pblNhbmRib3hIYXNoS2V5KGhhc2hLZXlGcm9tTlNGb250KG5zRm9udCkpCiB7
CiAgICAgaWYgKCFjb250YWluZXIpCiAgICAgICAgIHJldHVybjsKQEAgLTEzOSwyMiArMTkxLDI1
IEBAIE1lbW9yeUFjdGl2YXRlZEZvbnQ6Ok1lbW9yeUFjdGl2YXRlZEZvbnQoQVRTRm9udENvbnRh
aW5lclJlZiBzcmNGb250Q29udGFpbmVyUmVmCiAgICAgLy8gQ2FjaGUgQ0dGb250IHJlcHJlc2Vu
dGF0aW9uIG9mIHRoZSBmb250LgogICAgIG1fY2dGb250LmFkb3B0Q0YoQ0dGb250Q3JlYXRlV2l0
aFBsYXRmb3JtRm9udCgmbV9hdHNGb250UmVmKSk7CiAgICAgCi0gICAgaWYgKCFtX2NnRm9udC5n
ZXQoKSkKKyAgICBpZiAoIW1fY2dGb250KQogICAgICAgICByZXR1cm47CiAgICAgCi0gICAgLy8g
QWRkIG91cnNlbHZlcyB0byBjYWNoZS4KLSAgICBmb250Q2FjaGVCeVNyY0ZvbnRDb250YWluZXJS
ZWYoKS5hZGQobV9zcmNGb250Q29udGFpbmVyUmVmLCB0aGlzKTsKKyAgICAvLyBBZGQgb3Vyc2Vs
dmVzIHRvIGNhY2hlcy4KKyAgICBmb250Q2FjaGVCeUZvbnRJRCgpLmFkZChmb250SUQsIHRoaXMp
OworICAgIGZvbnRDYWNoZUJ5Rm9udE5hbWUoKS5hZGQobV9pblNhbmRib3hIYXNoS2V5LCB0aGlz
KTsKIH0KIAogLy8gRGVzdHJ1Y3RvciAtIFVubG9hZCBmb250IGNvbnRhaW5lciBmcm9tIG1lbW9y
eSBhbmQgcmVtb3ZlIG91cnNlbHZlcwogLy8gZnJvbSBjYWNoZS4KIE1lbW9yeUFjdGl2YXRlZEZv
bnQ6On5NZW1vcnlBY3RpdmF0ZWRGb250KCkKIHsKLSAgICBpZiAobV9jZ0ZvbnQuZ2V0KCkpIHsK
KyAgICBpZiAobV9jZ0ZvbnQpIHsKICAgICAgICAgLy8gRmlyc3QgcmVtb3ZlIG91cnNlbHZlcyBm
cm9tIHRoZSBjYWNoZXMuCi0gICAgICAgIEFTU0VSVChmb250Q2FjaGVCeVNyY0ZvbnRDb250YWlu
ZXJSZWYoKS5jb250YWlucyhtX3NyY0ZvbnRDb250YWluZXJSZWYpKTsKKyAgICAgICAgQVNTRVJU
KGZvbnRDYWNoZUJ5Rm9udElEKCkuY29udGFpbnMobV9mb250SUQpKTsKKyAgICAgICAgQVNTRVJU
KGZvbnRDYWNoZUJ5Rm9udE5hbWUoKS5jb250YWlucyhtX2luU2FuZGJveEhhc2hLZXkpKTsKICAg
ICAgICAgCi0gICAgICAgIGZvbnRDYWNoZUJ5U3JjRm9udENvbnRhaW5lclJlZigpLnJlbW92ZSht
X3NyY0ZvbnRDb250YWluZXJSZWYpOworICAgICAgICBmb250Q2FjaGVCeUZvbnRJRCgpLnJlbW92
ZShtX2ZvbnRJRCk7CisgICAgICAgIGZvbnRDYWNoZUJ5Rm9udE5hbWUoKS5yZW1vdmUobV9pblNh
bmRib3hIYXNoS2V5KTsKICAgICAgICAgCiAgICAgICAgIC8vIE1ha2Ugc3VyZSB0aGUgQ0dGb250
IGlzIGRlc3Ryb3llZCBiZWZvcmUgaXRzIGZvbnQgY29udGFpbmVyLgogICAgICAgICBtX2NnRm9u
dC5yZWxlYXNlUmVmKCk7CkBAIC0xOTIsNyArMjQ3LDcgQEAgdm9pZCBGb250UGxhdGZvcm1EYXRh
Ojpsb2FkRm9udChOU0ZvbnQqIG5zRm9udCwgZmxvYXQgZm9udFNpemUsIE5TRm9udComIG91dE5T
Rm8KICAgICAgICAgCiAgICAgICAgIC8vIEZvbnQgbG9hZGluZyB3YXMgYmxvY2tlZCBieSB0aGUg
U2FuZGJveC4KICAgICAgICAgbV9pbk1lbW9yeUZvbnQgPSBsb2FkRm9udEZyb21Ccm93c2VyUHJv
Y2VzcyhvdXROU0ZvbnQpOwotICAgICAgICBpZiAobV9pbk1lbW9yeUZvbnQuZ2V0KCkpIHsKKyAg
ICAgICAgaWYgKG1faW5NZW1vcnlGb250KSB7CiAgICAgICAgICAgICBjZ0ZvbnQgPSBtX2luTWVt
b3J5Rm9udC0+Y2dGb250KCk7CiAgICAgICAgICAgICAKICAgICAgICAgICAgIC8vIE5lZWQgdG8g
YWRkIGFuIGV4dHJhIHJldGFpbiBzbyBvdXRwdXQgc2VtYW50aWNzIG9mIHRoaXMgZnVuY3Rpb24K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggMmI5Mzk1ZTg4MDJhYzgyYmIzZjBkM2Y1ODFk
MTIwMDA2Yjc5MzM3Yi4uOWU2MWY4YjEyZjdjN2MxMTA2MmQzYzdjYjY3OTExNzE5NTg1NzE2YSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAorMjAxMS0wOC0wMiAg
SmVyZW15IE1vc2tvdmljaCAgPGplcmVteUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW0Nocm9t
aXVtXSBGaXggT09QIGZvbnQgbG9hZGluZyB0byB3b3JrIG9uIDEwLjYuNiBhbmQgYWJvdmUuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NTU0MworCisg
ICAgICAgIEluIDEwLjYuNiB0aGUgZnVuY3Rpb24gdXNlZCB0byBnZXQgdGhlIHVuaXF1ZSBJRCBm
b3IgYW4gTlNGb250IGluIHRoZSAKKyAgICAgICAgcmVuZGVyZXIgd2FzIGNoYW5nZWQgc28gaXQg
ZmFpbHMgaW4gdGhlIHNhbmRib3ggKGl0IG5vdyB0cmllcyB0byBhY2Nlc3MKKyAgICAgICAgdGhl
IG9uLWRpc2sgZm9udCBmaWxlKS4gSW4gb3JkZXIgdG8gd29yayBhcm91bmQgdGhpcywgd2UgZ2V0
IHRoZSBmb250CisgICAgICAgIElEIGZyb20gdGhlIGJyb3dzZXIgcHJvY2Vzcy4KKworICAgICAg
ICBUbyBzcGVlZCB0aGluZ3MgdXAsIHdlIGludHJvZHVjZSAyIGxldmVscyBvZiBjYWNoaW5nIGlu
IFdlYktpdC4gQSBmb250CisgICAgICAgIG5hbWUgY2FjaGUgd2hlcmUgd2UgY2FuIHBlcmZvcm0g
YSBxdWljayBsb29rdXAgd2l0aG91dCB0aGUgbmVlZCBmb3IgdGhlCisgICAgICAgIGZvbnQgaWQg
YW5kIGEgZm9udCBpZCBjYWNoZSB3aGljaCB3ZSBjYW4gb25seSBsb29rdXAgaW4gYWZ0ZXIgZ2V0
dGluZworICAgICAgICB0aGUgdW5pcXVlIElEIGZyb20gdGhlIGJyb3dzZXIgcHJvY2Vzcy4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBLZW4gUnVzc2VsbC4KKworICAgICAgICBObyBuZXcgdGVzdHMg
c2luY2UgdGhpcyBpcyBub3QgcmVhZGlseSB0ZXN0YWJsZS4KKworICAgICAgICAqIHB1YmxpYy9t
YWMvV2ViU2FuZGJveFN1cHBvcnQuaDogUGx1bWIgZm9udCBJRCBwYXJhbWV0ZXIgdGhyb3VnaC4K
KyAgICAgICAgKiBzcmMvUGxhdGZvcm1CcmlkZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGxh
dGZvcm1CcmlkZ2U6OmxvYWRGb250KTogZGl0dG8uCisKIDIwMTEtMDgtMDMgIFBhdmVsIEZlbGRt
YW4gIDxwZmVsZG1hbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogcmVt
b3ZlIE5vZGUgcGFyYW1ldGVyIGZyb20gdGhlIEluc3BlY3RvckNsaWVudDo6aGlnaGxpZ2h0CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9tYWMvV2ViU2FuZGJveFN1
cHBvcnQuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL21hYy9XZWJTYW5kYm94U3Vw
cG9ydC5oCmluZGV4IDU3ZDQ4YWE5NDYxNmE1NmY1NmI0NGVmZWRmYjJlYjA2YzZjODk4ZjUuLjA4
OTlhOTU2OGRkZTdiODY2YjliZGZmZDJiODBhODFkYThlMzJhYTcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL21hYy9XZWJTYW5kYm94U3VwcG9ydC5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL21hYy9XZWJTYW5kYm94U3VwcG9ydC5oCkBAIC00
Niw3ICs0Niw4IEBAIGNsYXNzIFdlYlNhbmRib3hTdXBwb3J0IHsKIHB1YmxpYzoKICAgICAvLyBH
aXZlbiBhbiBpbnB1dCBmb250IC0gfHNyY0ZvbnR8IFt3aGljaCBjYW4ndCBiZSBsb2FkZWQgZHVl
IHRvIHNhbmRib3gKICAgICAvLyByZXN0cmljdGlvbnNdLiAgUmV0dXJuIGEgZm9udCBjb250YWlu
ZXIgYmVsb25naW5nIHRvIGFuIGVxdWl2YWxlbnQKLSAgICAvLyBmb250IGZpbGUgdGhhdCBjYW4g
YmUgdXNlZCB0byBhY2Nlc3MgdGhlIGZvbnQuCisgICAgLy8gZm9udCBmaWxlIHRoYXQgY2FuIGJl
IHVzZWQgdG8gYWNjZXNzIHRoZSBmb250IGFuZCBhIHVuaXF1ZSBpZGVudGlmaWVyCisgICAgLy8g
Y29ycmVzcG9uZGluZyB0byB0aGUgb24tZGlzayBmb250IGZpbGUuCiAgICAgLy8KICAgICAvLyBO
b3RlIHRoYXQgYSBmb250IGNvbnRhaW5lciBtYXkgY29udGFpbiBtdWx0aXBsZSBmb250cywgdGhl
IGNhbGxlciBpcwogICAgIC8vIHJlc3BvbnNpYmxlIGZvciByZXRyZWl2aW5nIHRoZSBhcHByb3By
aWF0ZSBmb250IGZyb20gdGhlIGNvbnRhaW5lci4KQEAgLTU1LDcgKzU2LDcgQEAgcHVibGljOgog
ICAgIC8vIHBhcmFtZXRlciBhbmQgbXVzdCBjYWxsIEFUU0ZvbnREZWFjdGl2YXRlKCkgdG8gdW5s
b2FkIGl0IHdoZW4gZG9uZS4KICAgICAvLwogICAgIC8vIFJldHVybnM6IHRydWUgb24gc3VjY2Vz
cywgZmFsc2Ugb24gZXJyb3IuCi0gICAgdmlydHVhbCBib29sIGxvYWRGb250KE5TRm9udCogc3Jj
Rm9udCwgQVRTRm9udENvbnRhaW5lclJlZiogb3V0KSA9IDA7CisgICAgdmlydHVhbCBib29sIGxv
YWRGb250KE5TRm9udCogc3JjRm9udCwgQVRTRm9udENvbnRhaW5lclJlZiosIHVpbnQzMl90KiBm
b250SUQpID0gMDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvUGxhdGZvcm1CcmlkZ2UuY3BwIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvUGxhdGZvcm1CcmlkZ2UuY3BwCmluZGV4IDExZDliY2JhZmI2ZDNmM2My
NThjYWYyZTA3MWM4YmQwYzA4MTUzNzcuLjdkMjE4NDIwNDY0MTVhMGEzOTI3YTAxOWY1YjM5YzNk
N2VkYjcwOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1BsYXRmb3Jt
QnJpZGdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9QbGF0Zm9ybUJyaWRn
ZS5jcHAKQEAgLTQ0NCwxNyArNDQ0LDE4IEBAIGJvb2wgUGxhdGZvcm1CcmlkZ2U6OmVuc3VyZUZv
bnRMb2FkZWQoSEZPTlQgZm9udCkKICNlbmRpZgogCiAjaWYgT1MoREFSV0lOKQotYm9vbCBQbGF0
Zm9ybUJyaWRnZTo6bG9hZEZvbnQoTlNGb250KiBzcmNGb250LCBBVFNGb250Q29udGFpbmVyUmVm
KiBvdXQpCitib29sIFBsYXRmb3JtQnJpZGdlOjpsb2FkRm9udChOU0ZvbnQqIHNyY0ZvbnQsIEFU
U0ZvbnRDb250YWluZXJSZWYqIGNvbnRhaW5lciwgdWludDMyX3QqIGZvbnRJRCkKIHsKICAgICBX
ZWJTYW5kYm94U3VwcG9ydCogc3MgPSB3ZWJLaXRDbGllbnQoKS0+c2FuZGJveFN1cHBvcnQoKTsK
ICAgICBpZiAoc3MpCi0gICAgICAgIHJldHVybiBzcy0+bG9hZEZvbnQoc3JjRm9udCwgb3V0KTsK
KyAgICAgICAgcmV0dXJuIHNzLT5sb2FkRm9udChzcmNGb250LCBjb250YWluZXIsIGZvbnRJRCk7
CiAKICAgICAvLyBUaGlzIGZ1bmN0aW9uIHNob3VsZCBvbmx5IGJlIGNhbGxlZCBpbiByZXNwb25z
ZSB0byBhbiBlcnJvciBsb2FkaW5nIGEKICAgICAvLyBmb250IGR1ZSB0byBiZWluZyBibG9ja2Vk
IGJ5IHRoZSBzYW5kYm94LgogICAgIC8vIFRoaXMgYnkgZGVmaW5pdGlvbiBzaG91bGRuJ3QgaGFw
cGVuIGlmIHRoZXJlIGlzIG5vIHNhbmRib3ggc3VwcG9ydC4KICAgICBBU1NFUlRfTk9UX1JFQUNI
RUQoKTsKLSAgICAqb3V0ID0gMDsKKyAgICAqY29udGFpbmVyID0gMDsKKyAgICAqZm9udElEID0g
MDsKICAgICByZXR1cm4gZmFsc2U7CiB9CiAjZWxpZiBPUyhVTklYKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>102762</attachid>
            <date>2011-08-03 03:18:25 -0700</date>
            <delta_ts>2011-08-03 03:48:36 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-65543-20110803131822.patch</filename>
            <type>text/plain</type>
            <size>15439</size>
            <attacher name="Jeremy Moskovich">playmobil</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTIyNjUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA2ZDcyNzkxODczNDA3MDcx
ODk3MmJiNGQxMDU1ZjZmM2Y1MDgwNjMxLi4wYzQ1ZDZlYmJjYzVkNGIzNDI0OWEwMDQ4Yjg1NDQ5
OTMwMTQyMjMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkgQEAKKzIwMTEtMDgtMDIgIEplcmVt
eSBNb3Nrb3ZpY2ggIDxqZXJlbXlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtDaHJvbWl1bV0g
Rml4IE9PUCBmb250IGxvYWRpbmcgdG8gd29yayBvbiAxMC42LjYgYW5kIGFib3ZlLgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU1NDMKKworICAgICAg
ICBJbiAxMC42LjYgdGhlIGZ1bmN0aW9uIHVzZWQgdG8gZ2V0IHRoZSB1bmlxdWUgSUQgZm9yIGFu
IE5TRm9udCBpbiB0aGUgCisgICAgICAgIHJlbmRlcmVyIHdhcyBjaGFuZ2VkIHNvIGl0IGZhaWxz
IGluIHRoZSBzYW5kYm94IChpdCBub3cgdHJpZXMgdG8gYWNjZXNzCisgICAgICAgIHRoZSBvbi1k
aXNrIGZvbnQgZmlsZSkuIEluIG9yZGVyIHRvIHdvcmsgYXJvdW5kIHRoaXMsIHdlIGdldCB0aGUg
Zm9udAorICAgICAgICBJRCBmcm9tIHRoZSBicm93c2VyIHByb2Nlc3MuCisKKyAgICAgICAgVG8g
c3BlZWQgdGhpbmdzIHVwLCB3ZSBpbnRyb2R1Y2UgMiBsZXZlbHMgb2YgY2FjaGluZyBpbiBXZWJL
aXQuIEEgZm9udAorICAgICAgICBuYW1lIGNhY2hlIHdoZXJlIHdlIGNhbiBwZXJmb3JtIGEgcXVp
Y2sgbG9va3VwIHdpdGhvdXQgdGhlIG5lZWQgZm9yIHRoZQorICAgICAgICBmb250IGlkIGFuZCBh
IGZvbnQgaWQgY2FjaGUgd2hpY2ggd2UgY2FuIG9ubHkgbG9va3VwIGluIGFmdGVyIGdldHRpbmcK
KyAgICAgICAgdGhlIHVuaXF1ZSBJRCBmcm9tIHRoZSBicm93c2VyIHByb2Nlc3MuCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSdXNzZWxsLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBz
aW5jZSB0aGlzIGlzIG5vdCByZWFkaWx5IHRlc3RhYmxlLgorCisgICAgICAgICogcGxhdGZvcm0v
Y2hyb21pdW0vUGxhdGZvcm1CcmlkZ2UuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9Dcm9zc1Byb2Nlc3NGb250TG9hZGluZy5oOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL0Nyb3NzUHJvY2Vzc0ZvbnRMb2FkaW5nLm1tOgorICAgICAgICAoV2Vi
Q29yZTo6TWVtb3J5QWN0aXZhdGVkRm9udDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1l
bW9yeUFjdGl2YXRlZEZvbnQ6Ok1lbW9yeUFjdGl2YXRlZEZvbnQpOgorICAgICAgICAoV2ViQ29y
ZTo6TWVtb3J5QWN0aXZhdGVkRm9udDo6fk1lbW9yeUFjdGl2YXRlZEZvbnQpOgorCiAyMDExLTA4
LTAzICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdl
YiBJbnNwZWN0b3I6IHJlbW92ZSBOb2RlIHBhcmFtZXRlciBmcm9tIHRoZSBJbnNwZWN0b3JDbGll
bnQ6OmhpZ2hsaWdodApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21p
dW0vUGxhdGZvcm1CcmlkZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1Bs
YXRmb3JtQnJpZGdlLmgKaW5kZXggZTAxYWUyNjYyNmVhOWQxMjkwNTM4NDE0ZmM2M2VhODc2Yzdl
ODhmZC4uOTUyMTJiNjJjMDNhNTg4ODBiNjA3YzJiMjZjYzliZTYxNTViZTliNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUGxhdGZvcm1CcmlkZ2UuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9QbGF0Zm9ybUJyaWRnZS5oCkBAIC0x
NTEsNyArMTUxLDcgQEAgcHVibGljOgogICAgIHN0YXRpYyBib29sIGVuc3VyZUZvbnRMb2FkZWQo
SEZPTlQpOwogI2VuZGlmCiAjaWYgT1MoREFSV0lOKQotICAgIHN0YXRpYyBib29sIGxvYWRGb250
KE5TRm9udCogc3JjRm9udCwgQVRTRm9udENvbnRhaW5lclJlZiogb3V0KTsKKyAgICBzdGF0aWMg
Ym9vbCBsb2FkRm9udChOU0ZvbnQqIHNyY0ZvbnQsIEFUU0ZvbnRDb250YWluZXJSZWYqLCB1aW50
MzJfdCogZm9udElEKTsKICNlbGlmIE9TKFVOSVgpCiAgICAgc3RhdGljIHZvaWQgZ2V0UmVuZGVy
U3R5bGVGb3JTdHJpa2UoY29uc3QgY2hhciogZmFtaWx5LCBpbnQgc2l6ZUFuZFN0eWxlLCBGb250
UmVuZGVyU3R5bGUqIHJlc3VsdCk7CiAgICAgc3RhdGljIFN0cmluZyBnZXRGb250RmFtaWx5Rm9y
Q2hhcmFjdGVycyhjb25zdCBVQ2hhciosIHNpemVfdCBudW1DaGFyYWN0ZXJzLCBjb25zdCBjaGFy
KiBwcmVmZXJyZWRMb2NhbGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vQ3Jvc3NQcm9jZXNzRm9udExvYWRpbmcuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0Nyb3NzUHJvY2Vzc0ZvbnRMb2FkaW5nLmgK
aW5kZXggZTFmYjc0MDBkMDVmOWIwMWJjZTUyYjUwOWMwOTFiNGE4NDU0MDNmZC4uZDJjMTU2NWQ3
ODZkYTg1OGE3YjBiNWQ1YzFlNjg1NmEyZmRiYTFlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vQ3Jvc3NQcm9jZXNzRm9udExvYWRpbmcuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Dcm9zc1Byb2Nl
c3NGb250TG9hZGluZy5oCkBAIC0zMyw2ICszMyw3IEBACiAKICNpbXBvcnQgPHd0Zi9SZWZDb3Vu
dGVkLmg+CiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CisjaW1wb3J0IDx3dGYvdGV4dC9XVEZT
dHJpbmcuaD4KIAogdHlwZWRlZiBzdHJ1Y3QgQ0dGb250KiBDR0ZvbnRSZWY7CiB0eXBlZGVmIFVJ
bnQzMiBBVFNGb250Q29udGFpbmVyUmVmOwpAQCAtNzMsNyArNzQsNyBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiBjbGFzcyBNZW1vcnlBY3RpdmF0ZWRGb250IDogcHVibGljIFJlZkNvdW50ZWQ8TWVt
b3J5QWN0aXZhdGVkRm9udD4gewogcHVibGljOgogICAgIC8vIFVzZSB0byBjcmVhdGUgYSBuZXcg
b2JqZWN0LCBzZWUgZG9jcyBvbiBjb25zdHJ1Y3RvciBiZWxvdy4KLSAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxNZW1vcnlBY3RpdmF0ZWRGb250PiBjcmVhdGUoQVRTRm9udENvbnRhaW5lclJlZiBzcmNG
b250Q29udGFpbmVyUmVmLCBBVFNGb250Q29udGFpbmVyUmVmIGNvbnRhaW5lcik7CisgICAgc3Rh
dGljIFBhc3NSZWZQdHI8TWVtb3J5QWN0aXZhdGVkRm9udD4gY3JlYXRlKHVpbnQzMl90IGZvbnRJ
RCwgTlNGb250KiwgQVRTRm9udENvbnRhaW5lclJlZik7CiAgICAgfk1lbW9yeUFjdGl2YXRlZEZv
bnQoKTsKICAgICAKICAgICAvLyBHZXQgY2FjaGVkIENHRm9udFJlZiBjb3JyZXNwb25kaW5nIHRv
IHRoZSBpbi1tZW1vcnkgZm9udC4KQEAgLTg3LDEyICs4OCwxMyBAQCBwcml2YXRlOgogICAgIC8v
IGxvYWQgaW4tcHJvY2Vzcy4KICAgICAvLyBjb250YWluZXIgLSBhIGZvbnQgY29udGFpbmVyIGNv
cnJlc3BvbmRpbmcgdG8gYW4gaWRlbnRpY2FsIGZvbnQgdGhhdAogICAgIC8vIHdlIGxvYWRlZCBj
cm9zcy1wcm9jZXNzLgotICAgIE1lbW9yeUFjdGl2YXRlZEZvbnQoQVRTRm9udENvbnRhaW5lclJl
ZiBzcmNGb250Q29udGFpbmVyUmVmLCBBVFNGb250Q29udGFpbmVyUmVmIGNvbnRhaW5lcik7Cisg
ICAgTWVtb3J5QWN0aXZhdGVkRm9udCh1aW50MzJfdCBmb250SUQsIE5TRm9udCosIEFUU0ZvbnRD
b250YWluZXJSZWYpOwogCiAgICAgQVRTRm9udENvbnRhaW5lclJlZiBtX2ZvbnRDb250YWluZXI7
CiAgICAgV1RGOjpSZXRhaW5QdHI8Q0dGb250UmVmPiBtX2NnRm9udDsKICAgICBBVFNGb250UmVm
IG1fYXRzRm9udFJlZjsKLSAgICBBVFNGb250Q29udGFpbmVyUmVmIG1fc3JjRm9udENvbnRhaW5l
clJlZjsKKyAgICB1aW50MzJfdCBtX2ZvbnRJRDsKKyAgICBXVEY6OlN0cmluZyBtX2luU2FuZGJv
eEhhc2hLZXk7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9Dcm9zc1Byb2Nlc3NGb250TG9h
ZGluZy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0Nyb3Nz
UHJvY2Vzc0ZvbnRMb2FkaW5nLm1tCmluZGV4IGI0NDJkNTMwNzIxMzgyM2ZhNjg1NGM5NTFjYTZi
NWQ1YzRkY2QwZWQuLmYxMGFkOWFjM2YyZGJjNDY1NTBlMjUxZGUxNzhhZDNhMGZlZDFhYzAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0Nyb3Nz
UHJvY2Vzc0ZvbnRMb2FkaW5nLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL0Nyb3NzUHJvY2Vzc0ZvbnRMb2FkaW5nLm1tCkBAIC0zOCw3ICszOCw4IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogbmFtZXNwYWNlIHsKIAotdHlwZWRlZiBIYXNoTWFwPEFU
U0ZvbnRDb250YWluZXJSZWYsIE1lbW9yeUFjdGl2YXRlZEZvbnQqPiBGb250Q29udGFpbmVyUmVm
TWVtb3J5Rm9udEhhc2g7Cit0eXBlZGVmIEhhc2hNYXA8dWludDMyLCBNZW1vcnlBY3RpdmF0ZWRG
b250Kj4gRm9udENvbnRhaW5lclJlZk1lbW9yeUZvbnRIYXNoOwordHlwZWRlZiBIYXNoTWFwPFdU
Rjo6U3RyaW5nLCBNZW1vcnlBY3RpdmF0ZWRGb250Kj4gRm9udE5hbWVNZW1vcnlGb250SGFzaDsK
IAogLy8gT24gMTAuNSwgZm9udCBsb2FkaW5nIGlzIG5vdCBibG9ja2VkIGJ5IHRoZSBzYW5kYm94
IGFuZCB0aHVzIHRoZXJlIGlzIG5vCiAvLyBuZWVkIGZvciB0aGUgY3Jvc3MtcHJvY2VzcyBmb250
IGxvYWRpbmcgbWVjaGFuaW0uCkBAIC01NCwxMCArNTUsNTAgQEAgYm9vbCBPdXRPZlByb2Nlc3NG
b250TG9hZGluZ0VuYWJsZWQoKQogICAgIHJldHVybiBzeXN0ZW1WZXJzaW9uID49IDB4MTA2MDsK
IH0KIAotRm9udENvbnRhaW5lclJlZk1lbW9yeUZvbnRIYXNoJiBmb250Q2FjaGVCeVNyY0ZvbnRD
b250YWluZXJSZWYoKQorLy8gQ2FjaGluZzoKKy8vCisvLyBSZXF1ZXN0aW5nIGEgZm9udCBmcm9t
IHRoZSBicm93c2VyIHByb2Nlc3MgaXMgZXhwZW5zaXZlIGFuZCBzbyBpcworLy8gImFjdGl2YXRp
bmciIHNhaWQgZm9udC4gIENhY2hpbmcgb2YgbG9hZGVkIGZvbnRzIGlzIGNvbXBsaWNhdGVkIGJ5
IHRoZSBmYWN0CisvLyB0aGF0IGl0J3MgaW1wb3NzaWJsZSB0byBnZXQgYSB1bmlxdWUgaWRlbnRp
ZmllciBmb3IgdGhlIG9uLWRpc2sgZm9udCBmaWxlCisvLyBmcm9tIGluc2lkZSB0aGUgc2FuZGJv
eGVkIHJlbmRlcmVyIHByb2Nlc3MuCisvLyBUaGlzIG1lYW5zIHRoYXQgd2hlbiBsb2FkaW5nIGEg
Zm9udCB3ZSBuZWVkIHRvIHJvdW5kLXRyaXAgdGhyb3VnaCB0aGUgYnJvd3NlcgorLy8gcHJvY2Vz
cyBpbiBvcmRlciB0byBnZXQgdGhlIHVuaXF1ZSBmb250IGZpbGUgaWRlbnRpZmVyIHdoaWNoIHdl
IG1pZ2h0IGFscmVhZHkKKy8vIGhhdmUgYWN0aXZhdGVkIGFuZCBjYWNoZWQuCisvLworLy8gSW4g
b3JkZXIgdG8gc2F2ZSBhcyBtdWNoIHdvcmsgYXMgd2UgY2FuLCB3ZSBtYWludGFpbiAyIGxldmVs
cyBvZiBjYWNoaW5nCisvLyBmb3IgdGhlIGZvbnQgZGF0YToKKy8vIDEuIEEgZHVtYiBjYWNoZSBr
ZXllZCBieSB0aGUgZm9udCBuYW1lL3N0eWxlIChpbmZvcm1hdGlvbiB3ZSBjYW4gZGV0ZXJtaW5l
CisvLyBmcm9tIGluc2lkZSB0aGUgc2FuZGJveCkuCisvLyAyLiBBIHNtYXJ0ZXIgY2FjaGUga2V5
ZWQgYnkgdGhlIHJlYWwgInVuaXF1ZSBmb250IGlkIi4KKy8vCisvLyBJbiBvcmRlciB0byBwZXJm
b3JtIGEgbG9va3VwIGluICMyIHdlIG5lZWQgdG8gY29uc3VsdCB3aXRoIHRoZSBicm93c2VyIHRv
IGdldAorLy8gdXMgdGhlIGxvb2t1cCBrZXkuICBXaGlsZSB0aGlzIGRvZXNuJ3Qgc2F2ZSB1cyB0
aGUgZm9udCBsb2FkLCBpdCBkb2VzIHNhdmUKKy8vIHVzIGZvbnQgYWN0aXZhdGlvbi4KKy8vCisv
LyBJdCdzIGltcG9ydGFudCB0byByZW1lbWJlciB0aGF0IGV4aXN0aW5nIEZvbnRQbGF0Zm9ybURh
dGEgb2JqZWN0cyBhcmUgYWxyZWFkeQorLy8gY2FjaGVkLCBzbyBhIGNhY2hlIG1pc3MgaW4gdGhl
IGNvZGUgaW4gdGhpcyBmaWxlIGlzbid0IG5lY2Vzc2FyaWx5IHNvIGJhZC4KKworRm9udENvbnRh
aW5lclJlZk1lbW9yeUZvbnRIYXNoJiBmb250Q2FjaGVCeUZvbnRJRCgpCit7CisgICAgREVGSU5F
X1NUQVRJQ19MT0NBTChGb250Q29udGFpbmVyUmVmTWVtb3J5Rm9udEhhc2gsIHNyY0ZvbnRJRENh
Y2hlLCAoKSk7CisgICAgcmV0dXJuIHNyY0ZvbnRJRENhY2hlOworfQorCisKK0ZvbnROYW1lTWVt
b3J5Rm9udEhhc2gmIGZvbnRDYWNoZUJ5Rm9udE5hbWUoKQoreworICAgIERFRklORV9TVEFUSUNf
TE9DQUwoRm9udE5hbWVNZW1vcnlGb250SGFzaCwgc3JjRm9udE5hbWVDYWNoZSwgKCkpOworICAg
IHJldHVybiBzcmNGb250TmFtZUNhY2hlOworfQorCisvLyBHaXZlbiBhIGZvbnQgc3BlY2lmaWVk
IGJ5IHxzcmNGb250fCwgdXNlIHRoZSBpbmZvcm1hdGlvbiB3ZSBjYW4gcXVlcnkgaW4KKy8vIHRo
ZSBzYW5kYm94IHRvIGNvbnN0cnVjdCBhIGtleSB3aGljaCB3ZSBob3BlIHdpbGwgYmUgYXMgdW5p
cXVlIGFzIHBvc3NpYmxlCisvLyB0byB0aGUgY29udGFpbmluZyBmb250IGZpbGUuCitXVEY6OlN0
cmluZyBoYXNoS2V5RnJvbU5TRm9udChOU0ZvbnQqIHNyY0ZvbnQpCiB7Ci0gICAgREVGSU5FX1NU
QVRJQ19MT0NBTChGb250Q29udGFpbmVyUmVmTWVtb3J5Rm9udEhhc2gsIHNyY0ZvbnRSZWZDYWNo
ZSwgKCkpOwotICAgIHJldHVybiBzcmNGb250UmVmQ2FjaGU7CisgICAgTlNGb250RGVzY3JpcHRv
ciogZGVzYyA9IFtzcmNGb250IGZvbnREZXNjcmlwdG9yXTsKKyAgICBOU0ZvbnRTeW1ib2xpY1Ry
YWl0cyB0cmFpdHMgPSBbZGVzYyBzeW1ib2xpY1RyYWl0c107CisgICAgcmV0dXJuIFdURjo6U3Ry
aW5nOjpmb3JtYXQoIiVzICV4IiwgW1tzcmNGb250IGZvbnROYW1lXSBVVEY4U3RyaW5nXSwgdHJh
aXRzKTsKIH0KIAogQVRTRm9udENvbnRhaW5lclJlZiBmb250Q29udGFpbmVyUmVmRnJvbU5TRm9u
dChOU0ZvbnQqIHNyY0ZvbnQpCkBAIC04NSwyOSArMTI2LDM5IEBAIGJvb2wgaXNMYXN0UmVzb3J0
Rm9udChDR0ZvbnRSZWYgY2dGb250KQogLy8gT24gZmFpbHVyZSB0aGlzIGZ1bmN0aW9uIHJldHVy
bnMgYSBQYXNzUmVmUHRyIHBvaW50aW5nIHRvIDAuCiBQYXNzUmVmUHRyPE1lbW9yeUFjdGl2YXRl
ZEZvbnQ+IGxvYWRGb250RnJvbUJyb3dzZXJQcm9jZXNzKE5TRm9udCogbnNGb250KQogeworICAg
IC8vIEZpcnN0IHRyeSB0byBsb29rdXAgaW4gb3VyIGNhY2hlIHdpdGggdGhlIGxpbWl0ZWQgaW5m
b3JtYXRpb24gd2UgaGF2ZS4KKyAgICBXVEY6OlN0cmluZyBoYXNoS2V5ID0gaGFzaEtleUZyb21O
U0ZvbnQobnNGb250KTsKKyAgICBSZWZQdHI8TWVtb3J5QWN0aXZhdGVkRm9udD4gZm9udChmb250
Q2FjaGVCeUZvbnROYW1lKCkuZ2V0KGhhc2hLZXkpKTsKKyAgICBpZiAoZm9udCkKKyAgICAgICAg
cmV0dXJuIGZvbnQ7CisKICAgICBBVFNGb250Q29udGFpbmVyUmVmIGNvbnRhaW5lcjsKKyAgICB1
aW50MzJfdCBmb250SUQ7CiAgICAgLy8gU2VuZCBjcm9zcy1wcm9jZXNzIHJlcXVlc3QgdG8gbG9h
ZCBmb250LgotICAgIGlmICghUGxhdGZvcm1CcmlkZ2U6OmxvYWRGb250KG5zRm9udCwgJmNvbnRh
aW5lcikpCisgICAgaWYgKCFQbGF0Zm9ybUJyaWRnZTo6bG9hZEZvbnQobnNGb250LCAmY29udGFp
bmVyLCAmZm9udElEKSkKICAgICAgICAgcmV0dXJuIDA7Ci0gICAgCi0gICAgQVRTRm9udENvbnRh
aW5lclJlZiBzcmNGb250Q29udGFpbmVyUmVmID0gZm9udENvbnRhaW5lclJlZkZyb21OU0ZvbnQo
bnNGb250KTsKLSAgICBpZiAoIXNyY0ZvbnRDb250YWluZXJSZWYpIHsKKworICAgIC8vIE5vdyB0
aGF0IHdlIGhhdmUgdGhlIGZvbnRJRCBmcm9tIHRoZSBicm93c2VyIHByb2Nlc3MsIHdlIGNhbiBj
b25zdWx0CisgICAgLy8gdGhlIElEIGNhY2hlLgorICAgIGZvbnQgPSBmb250Q2FjaGVCeUZvbnRJ
RCgpLmdldChmb250SUQpOworICAgIGlmIChmb250KSB7CisgICAgICAgIC8vIFdlIGNhbiBzYWZl
bHkgZGlzY2FyZCB0aGUgbmV3IGNvbnRhaW5lciBzaW5jZSB3ZSBhbHJlYWR5IGhhdmUgdGhlCisg
ICAgICAgIC8vIGZvbnQgaW4gb3VyIGNhY2hlLgorICAgICAgICAvLyBGSVhNRTogUGxhdGZvcm1C
cmlkZ2U6OmxvYWRGb250KCkgc2hvdWxkIGNvbnN1bHQgdGhlIGlkIGNhY2hlCisgICAgICAgIC8v
IGJlZm9yZSBhY3RpdmF0aW5nIHRoZSBmb250LiAgVGhlbiB3ZSBjYW4gc2F2ZSB0aGlzIGFjdGl2
YXRlL2RlYWN0aXZlCisgICAgICAgIC8vIGRhbmNlIGFsdG9nZXRoZXIuCiAgICAgICAgIEFUU0Zv
bnREZWFjdGl2YXRlKGNvbnRhaW5lciwgMCwga0FUU09wdGlvbkZsYWdzRGVmYXVsdCk7Ci0gICAg
ICAgIHJldHVybiAwOwotICAgIH0KLSAgICAKLSAgICBQYXNzUmVmUHRyPE1lbW9yeUFjdGl2YXRl
ZEZvbnQ+IGZvbnQgPSBhZG9wdFJlZihmb250Q2FjaGVCeVNyY0ZvbnRDb250YWluZXJSZWYoKS5n
ZXQoc3JjRm9udENvbnRhaW5lclJlZikpOwotICAgIGlmIChmb250LmdldCgpKQogICAgICAgICBy
ZXR1cm4gZm9udDsKKyAgICB9CiAKLSAgICByZXR1cm4gTWVtb3J5QWN0aXZhdGVkRm9udDo6Y3Jl
YXRlKHNyY0ZvbnRDb250YWluZXJSZWYsIGNvbnRhaW5lcik7CisgICAgcmV0dXJuIE1lbW9yeUFj
dGl2YXRlZEZvbnQ6OmNyZWF0ZShmb250SUQsIG5zRm9udCwgY29udGFpbmVyKTsKIH0KIAogfSAv
LyBuYW1lc3BhY2UKIAotUGFzc1JlZlB0cjxNZW1vcnlBY3RpdmF0ZWRGb250PiBNZW1vcnlBY3Rp
dmF0ZWRGb250OjpjcmVhdGUoQVRTRm9udENvbnRhaW5lclJlZiBzcmNGb250Q29udGFpbmVyUmVm
LCBBVFNGb250Q29udGFpbmVyUmVmIGNvbnRhaW5lcikKK1Bhc3NSZWZQdHI8TWVtb3J5QWN0aXZh
dGVkRm9udD4gTWVtb3J5QWN0aXZhdGVkRm9udDo6Y3JlYXRlKHVpbnQzMl90IGZvbnRJRCwgTlNG
b250KiBuc0ZvbnQsIEFUU0ZvbnRDb250YWluZXJSZWYgY29udGFpbmVyKQogewotICBNZW1vcnlB
Y3RpdmF0ZWRGb250KiBmb250ID0gbmV3IE1lbW9yeUFjdGl2YXRlZEZvbnQoc3JjRm9udENvbnRh
aW5lclJlZiwgY29udGFpbmVyKTsKKyAgTWVtb3J5QWN0aXZhdGVkRm9udCogZm9udCA9IG5ldyBN
ZW1vcnlBY3RpdmF0ZWRGb250KGZvbnRJRCwgbnNGb250LCBjb250YWluZXIpOwogICBpZiAoIWZv
bnQtPmNnRm9udCgpKSAgLy8gT2JqZWN0IGNvbnN0cnVjdGlvbiBmYWlsZWQuCiAgIHsKICAgICAg
IGRlbGV0ZSBmb250OwpAQCAtMTE2LDEwICsxNjcsMTEgQEAgUGFzc1JlZlB0cjxNZW1vcnlBY3Rp
dmF0ZWRGb250PiBNZW1vcnlBY3RpdmF0ZWRGb250OjpjcmVhdGUoQVRTRm9udENvbnRhaW5lclJl
ZgogICByZXR1cm4gYWRvcHRSZWYoZm9udCk7CiB9CiAKLU1lbW9yeUFjdGl2YXRlZEZvbnQ6Ok1l
bW9yeUFjdGl2YXRlZEZvbnQoQVRTRm9udENvbnRhaW5lclJlZiBzcmNGb250Q29udGFpbmVyUmVm
LCBBVFNGb250Q29udGFpbmVyUmVmIGNvbnRhaW5lcikKK01lbW9yeUFjdGl2YXRlZEZvbnQ6Ok1l
bW9yeUFjdGl2YXRlZEZvbnQodWludDMyX3QgZm9udElELCBOU0ZvbnQqIG5zRm9udCwgQVRTRm9u
dENvbnRhaW5lclJlZiBjb250YWluZXIpCiAgICAgOiBtX2ZvbnRDb250YWluZXIoY29udGFpbmVy
KQogICAgICwgbV9hdHNGb250UmVmKGtBVFNGb250UmVmVW5zcGVjaWZpZWQpCi0gICAgLCBtX3Ny
Y0ZvbnRDb250YWluZXJSZWYoc3JjRm9udENvbnRhaW5lclJlZikKKyAgICAsIG1fZm9udElEKGZv
bnRJRCkKKyAgICAsIG1faW5TYW5kYm94SGFzaEtleShoYXNoS2V5RnJvbU5TRm9udChuc0ZvbnQp
KQogewogICAgIGlmICghY29udGFpbmVyKQogICAgICAgICByZXR1cm47CkBAIC0xMzksMjIgKzE5
MSwyNSBAQCBNZW1vcnlBY3RpdmF0ZWRGb250OjpNZW1vcnlBY3RpdmF0ZWRGb250KEFUU0ZvbnRD
b250YWluZXJSZWYgc3JjRm9udENvbnRhaW5lclJlZgogICAgIC8vIENhY2hlIENHRm9udCByZXBy
ZXNlbnRhdGlvbiBvZiB0aGUgZm9udC4KICAgICBtX2NnRm9udC5hZG9wdENGKENHRm9udENyZWF0
ZVdpdGhQbGF0Zm9ybUZvbnQoJm1fYXRzRm9udFJlZikpOwogICAgIAotICAgIGlmICghbV9jZ0Zv
bnQuZ2V0KCkpCisgICAgaWYgKCFtX2NnRm9udCkKICAgICAgICAgcmV0dXJuOwogICAgIAotICAg
IC8vIEFkZCBvdXJzZWx2ZXMgdG8gY2FjaGUuCi0gICAgZm9udENhY2hlQnlTcmNGb250Q29udGFp
bmVyUmVmKCkuYWRkKG1fc3JjRm9udENvbnRhaW5lclJlZiwgdGhpcyk7CisgICAgLy8gQWRkIG91
cnNlbHZlcyB0byBjYWNoZXMuCisgICAgZm9udENhY2hlQnlGb250SUQoKS5hZGQoZm9udElELCB0
aGlzKTsKKyAgICBmb250Q2FjaGVCeUZvbnROYW1lKCkuYWRkKG1faW5TYW5kYm94SGFzaEtleSwg
dGhpcyk7CiB9CiAKIC8vIERlc3RydWN0b3IgLSBVbmxvYWQgZm9udCBjb250YWluZXIgZnJvbSBt
ZW1vcnkgYW5kIHJlbW92ZSBvdXJzZWx2ZXMKIC8vIGZyb20gY2FjaGUuCiBNZW1vcnlBY3RpdmF0
ZWRGb250Ojp+TWVtb3J5QWN0aXZhdGVkRm9udCgpCiB7Ci0gICAgaWYgKG1fY2dGb250LmdldCgp
KSB7CisgICAgaWYgKG1fY2dGb250KSB7CiAgICAgICAgIC8vIEZpcnN0IHJlbW92ZSBvdXJzZWx2
ZXMgZnJvbSB0aGUgY2FjaGVzLgotICAgICAgICBBU1NFUlQoZm9udENhY2hlQnlTcmNGb250Q29u
dGFpbmVyUmVmKCkuY29udGFpbnMobV9zcmNGb250Q29udGFpbmVyUmVmKSk7CisgICAgICAgIEFT
U0VSVChmb250Q2FjaGVCeUZvbnRJRCgpLmNvbnRhaW5zKG1fZm9udElEKSk7CisgICAgICAgIEFT
U0VSVChmb250Q2FjaGVCeUZvbnROYW1lKCkuY29udGFpbnMobV9pblNhbmRib3hIYXNoS2V5KSk7
CiAgICAgICAgIAotICAgICAgICBmb250Q2FjaGVCeVNyY0ZvbnRDb250YWluZXJSZWYoKS5yZW1v
dmUobV9zcmNGb250Q29udGFpbmVyUmVmKTsKKyAgICAgICAgZm9udENhY2hlQnlGb250SUQoKS5y
ZW1vdmUobV9mb250SUQpOworICAgICAgICBmb250Q2FjaGVCeUZvbnROYW1lKCkucmVtb3ZlKG1f
aW5TYW5kYm94SGFzaEtleSk7CiAgICAgICAgIAogICAgICAgICAvLyBNYWtlIHN1cmUgdGhlIENH
Rm9udCBpcyBkZXN0cm95ZWQgYmVmb3JlIGl0cyBmb250IGNvbnRhaW5lci4KICAgICAgICAgbV9j
Z0ZvbnQucmVsZWFzZVJlZigpOwpAQCAtMTkyLDcgKzI0Nyw3IEBAIHZvaWQgRm9udFBsYXRmb3Jt
RGF0YTo6bG9hZEZvbnQoTlNGb250KiBuc0ZvbnQsIGZsb2F0IGZvbnRTaXplLCBOU0ZvbnQqJiBv
dXROU0ZvCiAgICAgICAgIAogICAgICAgICAvLyBGb250IGxvYWRpbmcgd2FzIGJsb2NrZWQgYnkg
dGhlIFNhbmRib3guCiAgICAgICAgIG1faW5NZW1vcnlGb250ID0gbG9hZEZvbnRGcm9tQnJvd3Nl
clByb2Nlc3Mob3V0TlNGb250KTsKLSAgICAgICAgaWYgKG1faW5NZW1vcnlGb250LmdldCgpKSB7
CisgICAgICAgIGlmIChtX2luTWVtb3J5Rm9udCkgewogICAgICAgICAgICAgY2dGb250ID0gbV9p
bk1lbW9yeUZvbnQtPmNnRm9udCgpOwogICAgICAgICAgICAgCiAgICAgICAgICAgICAvLyBOZWVk
IHRvIGFkZCBhbiBleHRyYSByZXRhaW4gc28gb3V0cHV0IHNlbWFudGljcyBvZiB0aGlzIGZ1bmN0
aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDJiOTM5NWU4ODAyYWM4MmJiM2YwZDNm
NTgxZDEyMDAwNmI3OTMzN2IuLmVkNTRkOWMyZDExM2MwODllNDlmNjYxOGY0Mzg4ZWUyNzI4NzBm
MWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIwMTEtMDgt
MDIgIEplcmVteSBNb3Nrb3ZpY2ggIDxqZXJlbXlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtD
aHJvbWl1bV0gRml4IE9PUCBmb250IGxvYWRpbmcgdG8gd29yayBvbiAxMC42LjYgYW5kIGFib3Zl
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU1NDMK
KworICAgICAgICBJbiAxMC42LjYgdGhlIGZ1bmN0aW9uIHVzZWQgdG8gZ2V0IHRoZSB1bmlxdWUg
SUQgZm9yIGFuIE5TRm9udCBpbiB0aGUgCisgICAgICAgIHJlbmRlcmVyIHdhcyBjaGFuZ2VkIHNv
IGl0IGZhaWxzIGluIHRoZSBzYW5kYm94IChpdCBub3cgdHJpZXMgdG8gYWNjZXNzCisgICAgICAg
IHRoZSBvbi1kaXNrIGZvbnQgZmlsZSkuIEluIG9yZGVyIHRvIHdvcmsgYXJvdW5kIHRoaXMsIHdl
IGdldCB0aGUgZm9udAorICAgICAgICBJRCBmcm9tIHRoZSBicm93c2VyIHByb2Nlc3MuCisKKyAg
ICAgICAgVG8gc3BlZWQgdGhpbmdzIHVwLCB3ZSBpbnRyb2R1Y2UgMiBsZXZlbHMgb2YgY2FjaGlu
ZyBpbiBXZWJLaXQuIEEgZm9udAorICAgICAgICBuYW1lIGNhY2hlIHdoZXJlIHdlIGNhbiBwZXJm
b3JtIGEgcXVpY2sgbG9va3VwIHdpdGhvdXQgdGhlIG5lZWQgZm9yIHRoZQorICAgICAgICBmb250
IGlkIGFuZCBhIGZvbnQgaWQgY2FjaGUgd2hpY2ggd2UgY2FuIG9ubHkgbG9va3VwIGluIGFmdGVy
IGdldHRpbmcKKyAgICAgICAgdGhlIHVuaXF1ZSBJRCBmcm9tIHRoZSBicm93c2VyIHByb2Nlc3Mu
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSdXNzZWxsLgorCisgICAgICAgIE5vIG5l
dyB0ZXN0cyBzaW5jZSB0aGlzIGlzIG5vdCByZWFkaWx5IHRlc3RhYmxlLgorCisgICAgICAgICog
cHVibGljL21hYy9XZWJTYW5kYm94U3VwcG9ydC5oOiBQbHVtYiBmb250IElEIHBhcmFtZXRlciB0
aHJvdWdoLgorICAgICAgICAqIHNyYy9QbGF0Zm9ybUJyaWRnZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpQbGF0Zm9ybUJyaWRnZTo6bG9hZEZvbnQpOiBkaXR0by4KKwogMjAxMS0wOC0wMyAgUGF2
ZWwgRmVsZG1hbiAgPHBmZWxkbWFuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVj
dG9yOiByZW1vdmUgTm9kZSBwYXJhbWV0ZXIgZnJvbSB0aGUgSW5zcGVjdG9yQ2xpZW50OjpoaWdo
bGlnaHQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL21hYy9XZWJT
YW5kYm94U3VwcG9ydC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvbWFjL1dlYlNh
bmRib3hTdXBwb3J0LmgKaW5kZXggNTdkNDhhYTk0NjE2YTU2ZjU2YjQ0ZWZlZGZiMmViMDZjNmM4
OThmNS4uMDg5OWE5NTY4ZGRlN2I4NjZiOWJkZmZkMmI4MGE4MWRhOGUzMmFhNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvbWFjL1dlYlNhbmRib3hTdXBwb3J0LmgK
KysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvbWFjL1dlYlNhbmRib3hTdXBwb3J0
LmgKQEAgLTQ2LDcgKzQ2LDggQEAgY2xhc3MgV2ViU2FuZGJveFN1cHBvcnQgewogcHVibGljOgog
ICAgIC8vIEdpdmVuIGFuIGlucHV0IGZvbnQgLSB8c3JjRm9udHwgW3doaWNoIGNhbid0IGJlIGxv
YWRlZCBkdWUgdG8gc2FuZGJveAogICAgIC8vIHJlc3RyaWN0aW9uc10uICBSZXR1cm4gYSBmb250
IGNvbnRhaW5lciBiZWxvbmdpbmcgdG8gYW4gZXF1aXZhbGVudAotICAgIC8vIGZvbnQgZmlsZSB0
aGF0IGNhbiBiZSB1c2VkIHRvIGFjY2VzcyB0aGUgZm9udC4KKyAgICAvLyBmb250IGZpbGUgdGhh
dCBjYW4gYmUgdXNlZCB0byBhY2Nlc3MgdGhlIGZvbnQgYW5kIGEgdW5pcXVlIGlkZW50aWZpZXIK
KyAgICAvLyBjb3JyZXNwb25kaW5nIHRvIHRoZSBvbi1kaXNrIGZvbnQgZmlsZS4KICAgICAvLwog
ICAgIC8vIE5vdGUgdGhhdCBhIGZvbnQgY29udGFpbmVyIG1heSBjb250YWluIG11bHRpcGxlIGZv
bnRzLCB0aGUgY2FsbGVyIGlzCiAgICAgLy8gcmVzcG9uc2libGUgZm9yIHJldHJlaXZpbmcgdGhl
IGFwcHJvcHJpYXRlIGZvbnQgZnJvbSB0aGUgY29udGFpbmVyLgpAQCAtNTUsNyArNTYsNyBAQCBw
dWJsaWM6CiAgICAgLy8gcGFyYW1ldGVyIGFuZCBtdXN0IGNhbGwgQVRTRm9udERlYWN0aXZhdGUo
KSB0byB1bmxvYWQgaXQgd2hlbiBkb25lLgogICAgIC8vCiAgICAgLy8gUmV0dXJuczogdHJ1ZSBv
biBzdWNjZXNzLCBmYWxzZSBvbiBlcnJvci4KLSAgICB2aXJ0dWFsIGJvb2wgbG9hZEZvbnQoTlNG
b250KiBzcmNGb250LCBBVFNGb250Q29udGFpbmVyUmVmKiBvdXQpID0gMDsKKyAgICB2aXJ0dWFs
IGJvb2wgbG9hZEZvbnQoTlNGb250KiBzcmNGb250LCBBVFNGb250Q29udGFpbmVyUmVmKiwgdWlu
dDMyX3QqIGZvbnRJRCkgPSAwOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9QbGF0Zm9ybUJyaWRnZS5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9QbGF0Zm9ybUJyaWRnZS5jcHAKaW5kZXggMTFkOWJjYmFm
YjZkM2YzYzI1OGNhZjJlMDcxYzhiZDBjMDgxNTM3Ny4uN2QyMTg0MjA0NjQxNWEwYTM5MjdhMDE5
ZjViMzljM2Q3ZWRiNzA5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
UGxhdGZvcm1CcmlkZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1BsYXRm
b3JtQnJpZGdlLmNwcApAQCAtNDQ0LDE3ICs0NDQsMTggQEAgYm9vbCBQbGF0Zm9ybUJyaWRnZTo6
ZW5zdXJlRm9udExvYWRlZChIRk9OVCBmb250KQogI2VuZGlmCiAKICNpZiBPUyhEQVJXSU4pCi1i
b29sIFBsYXRmb3JtQnJpZGdlOjpsb2FkRm9udChOU0ZvbnQqIHNyY0ZvbnQsIEFUU0ZvbnRDb250
YWluZXJSZWYqIG91dCkKK2Jvb2wgUGxhdGZvcm1CcmlkZ2U6OmxvYWRGb250KE5TRm9udCogc3Jj
Rm9udCwgQVRTRm9udENvbnRhaW5lclJlZiogY29udGFpbmVyLCB1aW50MzJfdCogZm9udElEKQog
ewogICAgIFdlYlNhbmRib3hTdXBwb3J0KiBzcyA9IHdlYktpdENsaWVudCgpLT5zYW5kYm94U3Vw
cG9ydCgpOwogICAgIGlmIChzcykKLSAgICAgICAgcmV0dXJuIHNzLT5sb2FkRm9udChzcmNGb250
LCBvdXQpOworICAgICAgICByZXR1cm4gc3MtPmxvYWRGb250KHNyY0ZvbnQsIGNvbnRhaW5lciwg
Zm9udElEKTsKIAogICAgIC8vIFRoaXMgZnVuY3Rpb24gc2hvdWxkIG9ubHkgYmUgY2FsbGVkIGlu
IHJlc3BvbnNlIHRvIGFuIGVycm9yIGxvYWRpbmcgYQogICAgIC8vIGZvbnQgZHVlIHRvIGJlaW5n
IGJsb2NrZWQgYnkgdGhlIHNhbmRib3guCiAgICAgLy8gVGhpcyBieSBkZWZpbml0aW9uIHNob3Vs
ZG4ndCBoYXBwZW4gaWYgdGhlcmUgaXMgbm8gc2FuZGJveCBzdXBwb3J0LgogICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOwotICAgICpvdXQgPSAwOworICAgICpjb250YWluZXIgPSAwOworICAgICpm
b250SUQgPSAwOwogICAgIHJldHVybiBmYWxzZTsKIH0KICNlbGlmIE9TKFVOSVgpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>