<?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>46408</bug_id>
          
          <creation_ts>2010-09-23 14:40:19 -0700</creation_ts>
          <short_desc>Add C API to WebKit2 for changing the font families</short_desc>
          <delta_ts>2010-09-24 10:59:05 -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>PC</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Qt</keywords>
          <priority>P3</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Kenneth Rohde Christiansen">kenneth</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abecsi</cc>
    
    <cc>darin</cc>
    
    <cc>diegohcg</cc>
    
    <cc>kbalazs</cc>
    
    <cc>luiz</cc>
    
    <cc>ossy</cc>
    
    <cc>sam</cc>
    
    <cc>zoltan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>283970</commentid>
    <comment_count>0</comment_count>
      <attachid>68595</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-09-23 14:40:19 -0700</bug_when>
    <thetext>Created attachment 68595
Patch

Patch coming...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284260</commentid>
    <comment_count>1</comment_count>
      <attachid>68595</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2010-09-23 23:52:39 -0700</bug_when>
    <thetext>Comment on attachment 68595
Patch

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

&gt; WebKit2/UIProcess/API/C/WKPreferences.cpp:160
&gt; +void WKPreferencesSetStandardFontFamily(WKPreferencesRef preferencesRef, WKStringRef family)
&gt; +{
&gt; +    toWK(preferencesRef)-&gt;setStandardFontFamily(toWTFString(family));
&gt; +}
&gt; +
&gt; +WKStringRef WebPreferencesGetStandardFontFamily(WKPreferencesRef preferencesRef)
&gt; +{
&gt; +    return toCopiedRef(toWK(preferencesRef)-&gt;standardFontFamily());
&gt; +}
&gt; +
&gt; +void WKPreferencesSetFixedFontFamily(WKPreferencesRef preferencesRef, WKStringRef family)
&gt; +{
&gt; +    toWK(preferencesRef)-&gt;setFixedFontFamily(toWTFString(family));
&gt; +}
&gt; +
&gt; +WKStringRef WKPreferencesGetFixedFontFamily(WKPreferencesRef preferencesRef)
&gt; +{
&gt; +    return toCopiedRef(toWK(preferencesRef)-&gt;fixedFontFamily());
&gt; +}
&gt; +
&gt; +void WKPreferencesSetSerifFontFamily(WKPreferencesRef preferencesRef, WKStringRef family)
&gt; +{
&gt; +    toWK(preferencesRef)-&gt;setSerifFontFamily(toWTFString(family));
&gt; +}
&gt; +
&gt; +WKStringRef WKPreferencesGetSerifFontFamily(WKPreferencesRef preferencesRef)
&gt; +{
&gt; +    return toCopiedRef(toWK(preferencesRef)-&gt;serifFontFamily());
&gt; +}
&gt; +
&gt; +void WKPreferencesSetSansSerifFontFamily(WKPreferencesRef preferencesRef, WKStringRef family)
&gt; +{
&gt; +    toWK(preferencesRef)-&gt;setSansSerifFontFamily(toWTFString(family));
&gt; +}
&gt; +
&gt; +WKStringRef WKPreferencesGetSansSerifFontFamily(WKPreferencesRef preferencesRef)
&gt; +{
&gt; +    return toCopiedRef(toWK(preferencesRef)-&gt;sansSerifFontFamily());
&gt; +}
&gt; +
&gt; +void WKPreferencesSetCursiveFontFamily(WKPreferencesRef preferencesRef, WKStringRef family)
&gt; +{
&gt; +    toWK(preferencesRef)-&gt;setCursiveFontFamily(toWTFString(family));
&gt; +}
&gt; +
&gt; +WKStringRef WKPreferencesGetCursiveFontFamily(WKPreferencesRef preferencesRef)
&gt; +{
&gt; +    return toCopiedRef(toWK(preferencesRef)-&gt;cursiveFontFamily());
&gt; +}
&gt; +
&gt; +void WKPreferencesSetFantasyFontFamily(WKPreferencesRef preferencesRef, WKStringRef family)
&gt; +{
&gt; +    toWK(preferencesRef)-&gt;setFantasyFontFamily(toWTFString(family));
&gt; +}
&gt; +
&gt; +WKStringRef WKPreferencesGetFantasyFontFamily(WKPreferencesRef preferencesRef)
&gt; +{
&gt; +    return toCopiedRef(toWK(preferencesRef)-&gt;fantasyFontFamily());
&gt; +}

Since all the getters here return copied strings, these need to have the word copy in them instead of get.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284349</commentid>
    <comment_count>2</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-09-24 06:48:35 -0700</bug_when>
    <thetext>
&gt; &gt; +WKStringRef WKPreferencesGetFantasyFontFamily(WKPreferencesRef preferencesRef)
&gt; &gt; +{
&gt; &gt; +    return toCopiedRef(toWK(preferencesRef)-&gt;fantasyFontFamily());
&gt; &gt; +}
&gt; 
&gt; Since all the getters here return copied strings, these need to have the word copy in them instead of get.

Should they be called Copy instead of Get? I see that elsewhere in WebKit2.

Like: WKPreferencesCopyFantasyFontFamily ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284354</commentid>
    <comment_count>3</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-09-24 07:01:06 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; &gt; &gt; +WKStringRef WKPreferencesGetFantasyFontFamily(WKPreferencesRef preferencesRef)
&gt; &gt; &gt; +{
&gt; &gt; &gt; +    return toCopiedRef(toWK(preferencesRef)-&gt;fantasyFontFamily());
&gt; &gt; &gt; +}
&gt; &gt; 
&gt; &gt; Since all the getters here return copied strings, these need to have the word copy in them instead of get.
&gt; 
&gt; Should they be called Copy instead of Get? I see that elsewhere in WebKit2.
&gt; 
&gt; Like: WKPreferencesCopyFantasyFontFamily ?

I should have read your comment better :-) still waking up.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284363</commentid>
    <comment_count>4</comment_count>
      <attachid>68676</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-09-24 07:14:32 -0700</bug_when>
    <thetext>Created attachment 68676
Patch 2

Change Get to Copy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>284541</commentid>
    <comment_count>5</comment_count>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-09-24 10:58:48 -0700</bug_when>
    <thetext>Landed in 68258</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>68595</attachid>
            <date>2010-09-23 14:40:19 -0700</date>
            <delta_ts>2010-09-24 07:14:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>0001-Add-WebKit2-C-API-for-setting-the-font-families.patch</filename>
            <type>text/plain</type>
            <size>11858</size>
            <attacher name="Kenneth Rohde Christiansen">kenneth</attacher>
            
              <data encoding="base64">RnJvbSBhOGZkYzIxZDkwMjIxZDJjODY1Mjc5MTIwODUzZjk5ODIxMjE2ZGRiIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbiA8a2VubmV0aC5j
aHJpc3RpYW5zZW5Ab3BlbmJvc3NhLm9yZz4KRGF0ZTogVGh1LCAyMyBTZXAgMjAxMCAxODozNzow
NCAtMDMwMApTdWJqZWN0OiBbUEFUQ0hdIEFkZCBXZWJLaXQyIEMgQVBJIGZvciBzZXR0aW5nIHRo
ZSBmb250IGZhbWlsaWVzLgoKUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCgoqIFVJUHJvY2Vz
cy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcDoKKFdLUHJlZmVyZW5jZXNTZXRTdGFuZGFyZEZvbnRG
YW1pbHkpOgooV2ViUHJlZmVyZW5jZXNHZXRTdGFuZGFyZEZvbnRGYW1pbHkpOgooV0tQcmVmZXJl
bmNlc1NldEZpeGVkRm9udEZhbWlseSk6CihXS1ByZWZlcmVuY2VzR2V0Rml4ZWRGb250RmFtaWx5
KToKKFdLUHJlZmVyZW5jZXNTZXRTZXJpZkZvbnRGYW1pbHkpOgooV0tQcmVmZXJlbmNlc0dldFNl
cmlmRm9udEZhbWlseSk6CihXS1ByZWZlcmVuY2VzU2V0U2Fuc1NlcmlmRm9udEZhbWlseSk6CihX
S1ByZWZlcmVuY2VzR2V0U2Fuc1NlcmlmRm9udEZhbWlseSk6CihXS1ByZWZlcmVuY2VzU2V0Q3Vy
c2l2ZUZvbnRGYW1pbHkpOgooV0tQcmVmZXJlbmNlc0dldEN1cnNpdmVGb250RmFtaWx5KToKKFdL
UHJlZmVyZW5jZXNTZXRGYW50YXN5Rm9udEZhbWlseSk6CihXS1ByZWZlcmVuY2VzR2V0RmFudGFz
eUZvbnRGYW1pbHkpOgoqIFVJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmg6CiogVUlQcm9j
ZXNzL1dlYlByZWZlcmVuY2VzLmNwcDoKKFdlYktpdDo6V2ViUHJlZmVyZW5jZXM6OnNldFN0YW5k
YXJkRm9udEZhbWlseSk6CihXZWJLaXQ6OldlYlByZWZlcmVuY2VzOjpzdGFuZGFyZEZvbnRGYW1p
bHkpOgooV2ViS2l0OjpXZWJQcmVmZXJlbmNlczo6c2V0Rml4ZWRGb250RmFtaWx5KToKKFdlYktp
dDo6V2ViUHJlZmVyZW5jZXM6OmZpeGVkRm9udEZhbWlseSk6CihXZWJLaXQ6OldlYlByZWZlcmVu
Y2VzOjpzZXRTZXJpZkZvbnRGYW1pbHkpOgooV2ViS2l0OjpXZWJQcmVmZXJlbmNlczo6c2VyaWZG
b250RmFtaWx5KToKKFdlYktpdDo6V2ViUHJlZmVyZW5jZXM6OnNldFNhbnNTZXJpZkZvbnRGYW1p
bHkpOgooV2ViS2l0OjpXZWJQcmVmZXJlbmNlczo6c2Fuc1NlcmlmRm9udEZhbWlseSk6CihXZWJL
aXQ6OldlYlByZWZlcmVuY2VzOjpzZXRDdXJzaXZlRm9udEZhbWlseSk6CihXZWJLaXQ6OldlYlBy
ZWZlcmVuY2VzOjpjdXJzaXZlRm9udEZhbWlseSk6CihXZWJLaXQ6OldlYlByZWZlcmVuY2VzOjpz
ZXRGYW50YXN5Rm9udEZhbWlseSk6CihXZWJLaXQ6OldlYlByZWZlcmVuY2VzOjpmYW50YXN5Rm9u
dEZhbWlseSk6CiogVUlQcm9jZXNzL1dlYlByZWZlcmVuY2VzLmg6CiogV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuY3BwOgooV2ViS2l0OjpXZWJQYWdlOjpwcmVmZXJlbmNlc0RpZENoYW5nZSk6
Ci0tLQogV2ViS2l0Mi9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDM3ICsr
KysrKysrKysrKysrKysKIFdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3Bw
IHwgICA2MCArKysrKysrKysrKysrKysrKysrKysrKysrCiBXZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Qy9XS1ByZWZlcmVuY2VzLmggICB8ICAgMTggKysrKysrKysKIFdlYktpdDIvVUlQcm9jZXNzL1dl
YlByZWZlcmVuY2VzLmNwcCAgICAgIHwgICA2OCArKysrKysrKysrKysrKysrKysrKysrKysrKysr
LQogV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJlZmVyZW5jZXMuaCAgICAgICAgfCAgIDE4ICsrKysr
KysrCiBXZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCAgICB8ICAgIDcgKysr
CiA2IGZpbGVzIGNoYW5nZWQsIDIwNyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9ucygtKQoKZGlm
ZiAtLWdpdCBhL1dlYktpdDIvQ2hhbmdlTG9nIGIvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZDU5
ODAxYi4uMTk0ZmFiMyAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0
Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MCBAQAorMjAxMC0wOS0yMyAgS2VubmV0aCBSb2hkZSBD
aHJpc3RpYW5zZW4gIDxrZW5uZXRoLmNocmlzdGlhbnNlbkBvcGVuYm9zc2Eub3JnPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBXZWJLaXQyIEMg
QVBJIGZvciBzZXR0aW5nIHRoZSBmb250IGZhbWlsaWVzLgorCisgICAgICAgICogVUlQcm9jZXNz
L0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwOgorICAgICAgICAoV0tQcmVmZXJlbmNlc1NldFN0YW5k
YXJkRm9udEZhbWlseSk6CisgICAgICAgIChXZWJQcmVmZXJlbmNlc0dldFN0YW5kYXJkRm9udEZh
bWlseSk6CisgICAgICAgIChXS1ByZWZlcmVuY2VzU2V0Rml4ZWRGb250RmFtaWx5KToKKyAgICAg
ICAgKFdLUHJlZmVyZW5jZXNHZXRGaXhlZEZvbnRGYW1pbHkpOgorICAgICAgICAoV0tQcmVmZXJl
bmNlc1NldFNlcmlmRm9udEZhbWlseSk6CisgICAgICAgIChXS1ByZWZlcmVuY2VzR2V0U2VyaWZG
b250RmFtaWx5KToKKyAgICAgICAgKFdLUHJlZmVyZW5jZXNTZXRTYW5zU2VyaWZGb250RmFtaWx5
KToKKyAgICAgICAgKFdLUHJlZmVyZW5jZXNHZXRTYW5zU2VyaWZGb250RmFtaWx5KToKKyAgICAg
ICAgKFdLUHJlZmVyZW5jZXNTZXRDdXJzaXZlRm9udEZhbWlseSk6CisgICAgICAgIChXS1ByZWZl
cmVuY2VzR2V0Q3Vyc2l2ZUZvbnRGYW1pbHkpOgorICAgICAgICAoV0tQcmVmZXJlbmNlc1NldEZh
bnRhc3lGb250RmFtaWx5KToKKyAgICAgICAgKFdLUHJlZmVyZW5jZXNHZXRGYW50YXN5Rm9udEZh
bWlseSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuaDoKKyAgICAg
ICAgKiBVSVByb2Nlc3MvV2ViUHJlZmVyZW5jZXMuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
cmVmZXJlbmNlczo6c2V0U3RhbmRhcmRGb250RmFtaWx5KToKKyAgICAgICAgKFdlYktpdDo6V2Vi
UHJlZmVyZW5jZXM6OnN0YW5kYXJkRm9udEZhbWlseSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBy
ZWZlcmVuY2VzOjpzZXRGaXhlZEZvbnRGYW1pbHkpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcmVm
ZXJlbmNlczo6Zml4ZWRGb250RmFtaWx5KToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJlZmVyZW5j
ZXM6OnNldFNlcmlmRm9udEZhbWlseSk6CisgICAgICAgIChXZWJLaXQ6OldlYlByZWZlcmVuY2Vz
OjpzZXJpZkZvbnRGYW1pbHkpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcmVmZXJlbmNlczo6c2V0
U2Fuc1NlcmlmRm9udEZhbWlseSk6CisgICAgICAgIChXZWJLaXQ6OldlYlByZWZlcmVuY2VzOjpz
YW5zU2VyaWZGb250RmFtaWx5KToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJlZmVyZW5jZXM6OnNl
dEN1cnNpdmVGb250RmFtaWx5KToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJlZmVyZW5jZXM6OmN1
cnNpdmVGb250RmFtaWx5KToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJlZmVyZW5jZXM6OnNldEZh
bnRhc3lGb250RmFtaWx5KToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJlZmVyZW5jZXM6OmZhbnRh
c3lGb250RmFtaWx5KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJlZmVyZW5jZXMuaDoKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYlBhZ2U6OnByZWZlcmVuY2VzRGlkQ2hhbmdlKToKKwogMjAxMC0wOS0yMyAgSmVzc2llIEJl
cmxpbiAgPGpiZXJsaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFNhbSBXZWlu
aWcuCmRpZmYgLS1naXQgYS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNw
cCBiL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwCmluZGV4IDNmNDAx
NzQuLmVkZTg0MTEgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVy
ZW5jZXMuY3BwCisrKyBiL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3Bw
CkBAIC05OCwzICs5OCw2MyBAQCBib29sIFdLUHJlZmVyZW5jZXNHZXRYU1NBdWRpdG9yRW5hYmxl
ZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmKQogewogICAgIHJldHVybiB0b1dLKHBy
ZWZlcmVuY2VzUmVmKS0+eHNzQXVkaXRvckVuYWJsZWQoKTsKIH0KKwordm9pZCBXS1ByZWZlcmVu
Y2VzU2V0U3RhbmRhcmRGb250RmFtaWx5KFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYs
IFdLU3RyaW5nUmVmIGZhbWlseSkKK3sKKyAgICB0b1dLKHByZWZlcmVuY2VzUmVmKS0+c2V0U3Rh
bmRhcmRGb250RmFtaWx5KHRvV1RGU3RyaW5nKGZhbWlseSkpOworfQorCitXS1N0cmluZ1JlZiBX
ZWJQcmVmZXJlbmNlc0dldFN0YW5kYXJkRm9udEZhbWlseShXS1ByZWZlcmVuY2VzUmVmIHByZWZl
cmVuY2VzUmVmKQoreworICAgIHJldHVybiB0b0NvcGllZFJlZih0b1dLKHByZWZlcmVuY2VzUmVm
KS0+c3RhbmRhcmRGb250RmFtaWx5KCkpOworfQorCit2b2lkIFdLUHJlZmVyZW5jZXNTZXRGaXhl
ZEZvbnRGYW1pbHkoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgV0tTdHJpbmdSZWYg
ZmFtaWx5KQoreworICAgIHRvV0socHJlZmVyZW5jZXNSZWYpLT5zZXRGaXhlZEZvbnRGYW1pbHko
dG9XVEZTdHJpbmcoZmFtaWx5KSk7Cit9CisKK1dLU3RyaW5nUmVmIFdLUHJlZmVyZW5jZXNHZXRG
aXhlZEZvbnRGYW1pbHkoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZikKK3sKKyAgICBy
ZXR1cm4gdG9Db3BpZWRSZWYodG9XSyhwcmVmZXJlbmNlc1JlZiktPmZpeGVkRm9udEZhbWlseSgp
KTsKK30KKwordm9pZCBXS1ByZWZlcmVuY2VzU2V0U2VyaWZGb250RmFtaWx5KFdLUHJlZmVyZW5j
ZXNSZWYgcHJlZmVyZW5jZXNSZWYsIFdLU3RyaW5nUmVmIGZhbWlseSkKK3sKKyAgICB0b1dLKHBy
ZWZlcmVuY2VzUmVmKS0+c2V0U2VyaWZGb250RmFtaWx5KHRvV1RGU3RyaW5nKGZhbWlseSkpOwor
fQorCitXS1N0cmluZ1JlZiBXS1ByZWZlcmVuY2VzR2V0U2VyaWZGb250RmFtaWx5KFdLUHJlZmVy
ZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpCit7CisgICAgcmV0dXJuIHRvQ29waWVkUmVmKHRvV0so
cHJlZmVyZW5jZXNSZWYpLT5zZXJpZkZvbnRGYW1pbHkoKSk7Cit9CisKK3ZvaWQgV0tQcmVmZXJl
bmNlc1NldFNhbnNTZXJpZkZvbnRGYW1pbHkoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1Jl
ZiwgV0tTdHJpbmdSZWYgZmFtaWx5KQoreworICAgIHRvV0socHJlZmVyZW5jZXNSZWYpLT5zZXRT
YW5zU2VyaWZGb250RmFtaWx5KHRvV1RGU3RyaW5nKGZhbWlseSkpOworfQorCitXS1N0cmluZ1Jl
ZiBXS1ByZWZlcmVuY2VzR2V0U2Fuc1NlcmlmRm9udEZhbWlseShXS1ByZWZlcmVuY2VzUmVmIHBy
ZWZlcmVuY2VzUmVmKQoreworICAgIHJldHVybiB0b0NvcGllZFJlZih0b1dLKHByZWZlcmVuY2Vz
UmVmKS0+c2Fuc1NlcmlmRm9udEZhbWlseSgpKTsKK30KKwordm9pZCBXS1ByZWZlcmVuY2VzU2V0
Q3Vyc2l2ZUZvbnRGYW1pbHkoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgV0tTdHJp
bmdSZWYgZmFtaWx5KQoreworICAgIHRvV0socHJlZmVyZW5jZXNSZWYpLT5zZXRDdXJzaXZlRm9u
dEZhbWlseSh0b1dURlN0cmluZyhmYW1pbHkpKTsKK30KKworV0tTdHJpbmdSZWYgV0tQcmVmZXJl
bmNlc0dldEN1cnNpdmVGb250RmFtaWx5KFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYp
Cit7CisgICAgcmV0dXJuIHRvQ29waWVkUmVmKHRvV0socHJlZmVyZW5jZXNSZWYpLT5jdXJzaXZl
Rm9udEZhbWlseSgpKTsKK30KKwordm9pZCBXS1ByZWZlcmVuY2VzU2V0RmFudGFzeUZvbnRGYW1p
bHkoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgV0tTdHJpbmdSZWYgZmFtaWx5KQor
eworICAgIHRvV0socHJlZmVyZW5jZXNSZWYpLT5zZXRGYW50YXN5Rm9udEZhbWlseSh0b1dURlN0
cmluZyhmYW1pbHkpKTsKK30KKworV0tTdHJpbmdSZWYgV0tQcmVmZXJlbmNlc0dldEZhbnRhc3lG
b250RmFtaWx5KFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpCit7CisgICAgcmV0dXJu
IHRvQ29waWVkUmVmKHRvV0socHJlZmVyZW5jZXNSZWYpLT5mYW50YXN5Rm9udEZhbWlseSgpKTsK
K30KZGlmZiAtLWdpdCBhL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuaCBi
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuaAppbmRleCA3ZmM2ODkxLi41
YWZiYTY5IDEwMDY0NAotLS0gYS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2Vz
LmgKKysrIGIvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5oCkBAIC02MSw2
ICs2MSwyNCBAQCBXS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2VzR2V0TG9jYWxTdG9yYWdlRW5h
YmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzKQogV0tfRVhQT1JUIHZvaWQgV0tQcmVm
ZXJlbmNlc1NldFhTU0F1ZGl0b3JFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXMs
IGJvb2wgeHNzQXVkaXRvckVuYWJsZWQpOwogV0tfRVhQT1JUIGJvb2wgV0tQcmVmZXJlbmNlc0dl
dFhTU0F1ZGl0b3JFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXMpOwogCitXS19F
WFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0U3RhbmRhcmRGb250RmFtaWx5KFdLUHJlZmVyZW5j
ZXNSZWYgcHJlZmVyZW5jZXNSZWYsIFdLU3RyaW5nUmVmIGZhbWlseSk7CitXS19FWFBPUlQgV0tT
dHJpbmdSZWYgV2ViUHJlZmVyZW5jZXNHZXRTdGFuZGFyZEZvbnRGYW1pbHkoV0tQcmVmZXJlbmNl
c1JlZiBwcmVmZXJlbmNlc1JlZik7CisKK1dLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRG
aXhlZEZvbnRGYW1pbHkoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgV0tTdHJpbmdS
ZWYgZmFtaWx5KTsKK1dLX0VYUE9SVCBXS1N0cmluZ1JlZiBXS1ByZWZlcmVuY2VzR2V0Rml4ZWRG
b250RmFtaWx5KFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpOworCitXS19FWFBPUlQg
dm9pZCBXS1ByZWZlcmVuY2VzU2V0U2VyaWZGb250RmFtaWx5KFdLUHJlZmVyZW5jZXNSZWYgcHJl
ZmVyZW5jZXNSZWYsIFdLU3RyaW5nUmVmIGZhbWlseSk7CitXS19FWFBPUlQgV0tTdHJpbmdSZWYg
V0tQcmVmZXJlbmNlc0dldFNlcmlmRm9udEZhbWlseShXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVu
Y2VzUmVmKTsKKworV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldFNhbnNTZXJpZkZvbnRG
YW1pbHkoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgV0tTdHJpbmdSZWYgZmFtaWx5
KTsKK1dLX0VYUE9SVCBXS1N0cmluZ1JlZiBXS1ByZWZlcmVuY2VzR2V0U2Fuc1NlcmlmRm9udEZh
bWlseShXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmKTsKKworV0tfRVhQT1JUIHZvaWQg
V0tQcmVmZXJlbmNlc1NldEN1cnNpdmVGb250RmFtaWx5KFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVy
ZW5jZXNSZWYsIFdLU3RyaW5nUmVmIGZhbWlseSk7CitXS19FWFBPUlQgV0tTdHJpbmdSZWYgV0tQ
cmVmZXJlbmNlc0dldEN1cnNpdmVGb250RmFtaWx5KFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5j
ZXNSZWYpOworCitXS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0RmFudGFzeUZvbnRGYW1p
bHkoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgV0tTdHJpbmdSZWYgZmFtaWx5KTsK
K1dLX0VYUE9SVCBXS1N0cmluZ1JlZiBXS1ByZWZlcmVuY2VzR2V0RmFudGFzeUZvbnRGYW1pbHko
V0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZik7CisKICNpZmRlZiBfX2NwbHVzcGx1cwog
fQogI2VuZGlmCmRpZmYgLS1naXQgYS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcmVmZXJlbmNlcy5j
cHAgYi9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcmVmZXJlbmNlcy5jcHAKaW5kZXggNzUyZmJhMC4u
NzQyZjMxNiAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJlZmVyZW5jZXMuY3Bw
CisrKyBiL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByZWZlcmVuY2VzLmNwcApAQCAtOTEsNyArOTEs
NyBAQCB2b2lkIFdlYlByZWZlcmVuY2VzOjpzZXRPZmZsaW5lV2ViQXBwbGljYXRpb25DYWNoZUVu
YWJsZWQoYm9vbCBiKQogICAgIG1fc3RvcmUub2ZmbGluZVdlYkFwcGxpY2F0aW9uQ2FjaGVFbmFi
bGVkID0gYjsKICAgICB1cGRhdGUoKTsKIH0KLSAgICAKKwogYm9vbCBXZWJQcmVmZXJlbmNlczo6
b2ZmbGluZVdlYkFwcGxpY2F0aW9uQ2FjaGVFbmFibGVkKCkgY29uc3QKIHsKICAgICByZXR1cm4g
bV9zdG9yZS5vZmZsaW5lV2ViQXBwbGljYXRpb25DYWNoZUVuYWJsZWQ7CkBAIC0xMzAsNSArMTMw
LDcxIEBAIEZvbnRTbW9vdGhpbmdMZXZlbCBXZWJQcmVmZXJlbmNlczo6Zm9udFNtb290aGluZ0xl
dmVsKCkgY29uc3QKICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Rm9udFNtb290aGluZ0xldmVsPiht
X3N0b3JlLmZvbnRTbW9vdGhpbmdMZXZlbCk7CiB9CiAKK3ZvaWQgV2ViUHJlZmVyZW5jZXM6OnNl
dFN0YW5kYXJkRm9udEZhbWlseShjb25zdCBTdHJpbmcmIGZhbWlseSkKK3sKKyAgICBtX3N0b3Jl
LnN0YW5kYXJkRm9udEZhbWlseSA9IGZhbWlseTsKKyAgICB1cGRhdGUoKTsKK30KKworY29uc3Qg
U3RyaW5nJiBXZWJQcmVmZXJlbmNlczo6c3RhbmRhcmRGb250RmFtaWx5KCkgY29uc3QKK3sKKyAg
ICByZXR1cm4gbV9zdG9yZS5zdGFuZGFyZEZvbnRGYW1pbHk7Cit9CisKK3ZvaWQgV2ViUHJlZmVy
ZW5jZXM6OnNldEZpeGVkRm9udEZhbWlseShjb25zdCBTdHJpbmcmIGZhbWlseSkKK3sKKyAgICBt
X3N0b3JlLmZpeGVkRm9udEZhbWlseSA9IGZhbWlseTsKKyAgICB1cGRhdGUoKTsKK30KKworY29u
c3QgU3RyaW5nJiBXZWJQcmVmZXJlbmNlczo6Zml4ZWRGb250RmFtaWx5KCkgY29uc3QKK3sKKyAg
ICByZXR1cm4gbV9zdG9yZS5maXhlZEZvbnRGYW1pbHk7Cit9CisKK3ZvaWQgV2ViUHJlZmVyZW5j
ZXM6OnNldFNlcmlmRm9udEZhbWlseShjb25zdCBTdHJpbmcmIGZhbWlseSkKK3sKKyAgICBtX3N0
b3JlLnNlcmlmRm9udEZhbWlseSA9IGZhbWlseTsKKyAgICB1cGRhdGUoKTsKK30KKworY29uc3Qg
U3RyaW5nJiBXZWJQcmVmZXJlbmNlczo6c2VyaWZGb250RmFtaWx5KCkgY29uc3QKK3sKKyAgICBy
ZXR1cm4gbV9zdG9yZS5zZXJpZkZvbnRGYW1pbHk7Cit9CisKK3ZvaWQgV2ViUHJlZmVyZW5jZXM6
OnNldFNhbnNTZXJpZkZvbnRGYW1pbHkoY29uc3QgU3RyaW5nJiBmYW1pbHkpCit7CisgICAgbV9z
dG9yZS5zYW5zU2VyaWZGb250RmFtaWx5ID0gZmFtaWx5OworICAgIHVwZGF0ZSgpOworfQorCitj
b25zdCBTdHJpbmcmIFdlYlByZWZlcmVuY2VzOjpzYW5zU2VyaWZGb250RmFtaWx5KCkgY29uc3QK
K3sKKyAgICByZXR1cm4gbV9zdG9yZS5zYW5zU2VyaWZGb250RmFtaWx5OworfQorCit2b2lkIFdl
YlByZWZlcmVuY2VzOjpzZXRDdXJzaXZlRm9udEZhbWlseShjb25zdCBTdHJpbmcmIGZhbWlseSkK
K3sKKyAgICBtX3N0b3JlLmN1cnNpdmVGb250RmFtaWx5ID0gZmFtaWx5OworICAgIHVwZGF0ZSgp
OworfQorCitjb25zdCBTdHJpbmcmIFdlYlByZWZlcmVuY2VzOjpjdXJzaXZlRm9udEZhbWlseSgp
IGNvbnN0Cit7CisgICAgcmV0dXJuIG1fc3RvcmUuY3Vyc2l2ZUZvbnRGYW1pbHk7Cit9CisKK3Zv
aWQgV2ViUHJlZmVyZW5jZXM6OnNldEZhbnRhc3lGb250RmFtaWx5KGNvbnN0IFN0cmluZyYgZmFt
aWx5KQoreworICAgIG1fc3RvcmUuZmFudGFzeUZvbnRGYW1pbHkgPSBmYW1pbHk7CisgICAgdXBk
YXRlKCk7Cit9CisKK2NvbnN0IFN0cmluZyYgV2ViUHJlZmVyZW5jZXM6OmZhbnRhc3lGb250RmFt
aWx5KCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9zdG9yZS5mYW50YXN5Rm9udEZhbWlseTsKK30K
KwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKZGlmZiAtLWdpdCBhL1dlYktpdDIvVUlQcm9jZXNz
L1dlYlByZWZlcmVuY2VzLmggYi9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcmVmZXJlbmNlcy5oCmlu
ZGV4IGJhZWVkMjEuLjI1NjNmMzkgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBy
ZWZlcmVuY2VzLmgKKysrIGIvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJlZmVyZW5jZXMuaApAQCAt
NzYsNiArNzYsMjQgQEAgcHVibGljOgogICAgIHZvaWQgc2V0Rm9udFNtb290aGluZ0xldmVsKEZv
bnRTbW9vdGhpbmdMZXZlbCk7CiAgICAgRm9udFNtb290aGluZ0xldmVsIGZvbnRTbW9vdGhpbmdM
ZXZlbCgpIGNvbnN0OwogCisgICAgdm9pZCBzZXRTdGFuZGFyZEZvbnRGYW1pbHkoY29uc3QgU3Ry
aW5nJik7CisgICAgY29uc3QgU3RyaW5nJiBzdGFuZGFyZEZvbnRGYW1pbHkoKSBjb25zdDsKKwor
ICAgIHZvaWQgc2V0Rml4ZWRGb250RmFtaWx5KGNvbnN0IFN0cmluZyYpOworICAgIGNvbnN0IFN0
cmluZyYgZml4ZWRGb250RmFtaWx5KCkgY29uc3Q7CisKKyAgICB2b2lkIHNldFNlcmlmRm9udEZh
bWlseShjb25zdCBTdHJpbmcmKTsKKyAgICBjb25zdCBTdHJpbmcmIHNlcmlmRm9udEZhbWlseSgp
IGNvbnN0OworCisgICAgdm9pZCBzZXRTYW5zU2VyaWZGb250RmFtaWx5KGNvbnN0IFN0cmluZyYp
OworICAgIGNvbnN0IFN0cmluZyYgc2Fuc1NlcmlmRm9udEZhbWlseSgpIGNvbnN0OworCisgICAg
dm9pZCBzZXRDdXJzaXZlRm9udEZhbWlseShjb25zdCBTdHJpbmcmKTsKKyAgICBjb25zdCBTdHJp
bmcmIGN1cnNpdmVGb250RmFtaWx5KCkgY29uc3Q7CisKKyAgICB2b2lkIHNldEZhbnRhc3lGb250
RmFtaWx5KGNvbnN0IFN0cmluZyYpOworICAgIGNvbnN0IFN0cmluZyYgZmFudGFzeUZvbnRGYW1p
bHkoKSBjb25zdDsKKwogcHJpdmF0ZToKICAgICBXZWJQcmVmZXJlbmNlcygpOwogICAgIFdlYlBy
ZWZlcmVuY2VzKFdlYlByZWZlcmVuY2VzKik7CmRpZmYgLS1naXQgYS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuY3BwCmluZGV4IDhjNjUwNmEuLjM4NWQ1YTkgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2UuY3BwCkBAIC02MjcsNiArNjI3LDEzIEBAIHZvaWQgV2ViUGFnZTo6cHJlZmVyZW5j
ZXNEaWRDaGFuZ2UoY29uc3QgV2ViUHJlZmVyZW5jZXNTdG9yZSYgc3RvcmUpCiAgICAgbV9wYWdl
LT5zZXR0aW5ncygpLT5zZXRMb2NhbFN0b3JhZ2VFbmFibGVkKHN0b3JlLmxvY2FsU3RvcmFnZUVu
YWJsZWQpOwogICAgIG1fcGFnZS0+c2V0dGluZ3MoKS0+c2V0WFNTQXVkaXRvckVuYWJsZWQoc3Rv
cmUueHNzQXVkaXRvckVuYWJsZWQpOwogCisgICAgbV9wYWdlLT5zZXR0aW5ncygpLT5zZXRTdGFu
ZGFyZEZvbnRGYW1pbHkoc3RvcmUuc3RhbmRhcmRGb250RmFtaWx5KTsKKyAgICBtX3BhZ2UtPnNl
dHRpbmdzKCktPnNldEN1cnNpdmVGb250RmFtaWx5KHN0b3JlLmN1cnNpdmVGb250RmFtaWx5KTsK
KyAgICBtX3BhZ2UtPnNldHRpbmdzKCktPnNldEZhbnRhc3lGb250RmFtaWx5KHN0b3JlLmZhbnRh
c3lGb250RmFtaWx5KTsKKyAgICBtX3BhZ2UtPnNldHRpbmdzKCktPnNldEZpeGVkRm9udEZhbWls
eShzdG9yZS5maXhlZEZvbnRGYW1pbHkpOworICAgIG1fcGFnZS0+c2V0dGluZ3MoKS0+c2V0U2Fu
c1NlcmlmRm9udEZhbWlseShzdG9yZS5zYW5zU2VyaWZGb250RmFtaWx5KTsKKyAgICBtX3BhZ2Ut
PnNldHRpbmdzKCktPnNldFNlcmlmRm9udEZhbWlseShzdG9yZS5zZXJpZkZvbnRGYW1pbHkpOwor
CiAgICAgcGxhdGZvcm1QcmVmZXJlbmNlc0RpZENoYW5nZShzdG9yZSk7CiB9CiAKLS0gCjEuNy4x
Cgo=
</data>
<flag name="review"
          id="58147"
          type_id="1"
          status="-"
          setter="sam"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>68676</attachid>
            <date>2010-09-24 07:14:32 -0700</date>
            <delta_ts>2010-09-24 10:59:05 -0700</delta_ts>
            <desc>Patch 2</desc>
            <filename>0001-Add-WebKit2-C-API-for-setting-the-font-families.patch</filename>
            <type>text/plain</type>
            <size>11882</size>
            <attacher name="Kenneth Rohde Christiansen">kenneth</attacher>
            
              <data encoding="base64">RnJvbSA0MDZlNGQ5ZGQxMDVjMGZhMTZlYWI0OTE1Yzk2NDVjOWI1MWQ1M2MzIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbiA8a2VubmV0aC5j
aHJpc3RpYW5zZW5Ab3BlbmJvc3NhLm9yZz4KRGF0ZTogVGh1LCAyMyBTZXAgMjAxMCAxODozNzow
NCAtMDMwMApTdWJqZWN0OiBbUEFUQ0hdIEFkZCBXZWJLaXQyIEMgQVBJIGZvciBzZXR0aW5nIHRo
ZSBmb250IGZhbWlsaWVzLgoKUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCgoqIFVJUHJvY2Vz
cy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcDoKKFdLUHJlZmVyZW5jZXNTZXRTdGFuZGFyZEZvbnRG
YW1pbHkpOgooV2ViUHJlZmVyZW5jZXNDb3B5U3RhbmRhcmRGb250RmFtaWx5KToKKFdLUHJlZmVy
ZW5jZXNTZXRGaXhlZEZvbnRGYW1pbHkpOgooV0tQcmVmZXJlbmNlc0NvcHlGaXhlZEZvbnRGYW1p
bHkpOgooV0tQcmVmZXJlbmNlc1NldFNlcmlmRm9udEZhbWlseSk6CihXS1ByZWZlcmVuY2VzQ29w
eVNlcmlmRm9udEZhbWlseSk6CihXS1ByZWZlcmVuY2VzU2V0U2Fuc1NlcmlmRm9udEZhbWlseSk6
CihXS1ByZWZlcmVuY2VzQ29weVNhbnNTZXJpZkZvbnRGYW1pbHkpOgooV0tQcmVmZXJlbmNlc1Nl
dEN1cnNpdmVGb250RmFtaWx5KToKKFdLUHJlZmVyZW5jZXNDb3B5Q3Vyc2l2ZUZvbnRGYW1pbHkp
OgooV0tQcmVmZXJlbmNlc1NldEZhbnRhc3lGb250RmFtaWx5KToKKFdLUHJlZmVyZW5jZXNDb3B5
RmFudGFzeUZvbnRGYW1pbHkpOgoqIFVJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmg6Ciog
VUlQcm9jZXNzL1dlYlByZWZlcmVuY2VzLmNwcDoKKFdlYktpdDo6V2ViUHJlZmVyZW5jZXM6OnNl
dFN0YW5kYXJkRm9udEZhbWlseSk6CihXZWJLaXQ6OldlYlByZWZlcmVuY2VzOjpzdGFuZGFyZEZv
bnRGYW1pbHkpOgooV2ViS2l0OjpXZWJQcmVmZXJlbmNlczo6c2V0Rml4ZWRGb250RmFtaWx5KToK
KFdlYktpdDo6V2ViUHJlZmVyZW5jZXM6OmZpeGVkRm9udEZhbWlseSk6CihXZWJLaXQ6OldlYlBy
ZWZlcmVuY2VzOjpzZXRTZXJpZkZvbnRGYW1pbHkpOgooV2ViS2l0OjpXZWJQcmVmZXJlbmNlczo6
c2VyaWZGb250RmFtaWx5KToKKFdlYktpdDo6V2ViUHJlZmVyZW5jZXM6OnNldFNhbnNTZXJpZkZv
bnRGYW1pbHkpOgooV2ViS2l0OjpXZWJQcmVmZXJlbmNlczo6c2Fuc1NlcmlmRm9udEZhbWlseSk6
CihXZWJLaXQ6OldlYlByZWZlcmVuY2VzOjpzZXRDdXJzaXZlRm9udEZhbWlseSk6CihXZWJLaXQ6
OldlYlByZWZlcmVuY2VzOjpjdXJzaXZlRm9udEZhbWlseSk6CihXZWJLaXQ6OldlYlByZWZlcmVu
Y2VzOjpzZXRGYW50YXN5Rm9udEZhbWlseSk6CihXZWJLaXQ6OldlYlByZWZlcmVuY2VzOjpmYW50
YXN5Rm9udEZhbWlseSk6CiogVUlQcm9jZXNzL1dlYlByZWZlcmVuY2VzLmg6CiogV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgooV2ViS2l0OjpXZWJQYWdlOjpwcmVmZXJlbmNlc0RpZENo
YW5nZSk6Ci0tLQogV2ViS2l0Mi9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgfCAg
IDM3ICsrKysrKysrKysrKysrKysKIFdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5j
ZXMuY3BwIHwgICA2MCArKysrKysrKysrKysrKysrKysrKysrKysrCiBXZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQy9XS1ByZWZlcmVuY2VzLmggICB8ICAgMTggKysrKysrKysKIFdlYktpdDIvVUlQcm9j
ZXNzL1dlYlByZWZlcmVuY2VzLmNwcCAgICAgIHwgICA2OCArKysrKysrKysrKysrKysrKysrKysr
KysrKysrLQogV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJlZmVyZW5jZXMuaCAgICAgICAgfCAgIDE4
ICsrKysrKysrCiBXZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCAgICB8ICAg
IDcgKysrCiA2IGZpbGVzIGNoYW5nZWQsIDIwNyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9ucygt
KQoKZGlmZiAtLWdpdCBhL1dlYktpdDIvQ2hhbmdlTG9nIGIvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5k
ZXggZDU5ODAxYi4uM2Q2YzRiNyAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIv
V2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSw0MCBAQAorMjAxMC0wOS0yMyAgS2VubmV0aCBS
b2hkZSBDaHJpc3RpYW5zZW4gIDxrZW5uZXRoLmNocmlzdGlhbnNlbkBvcGVuYm9zc2Eub3JnPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBXZWJL
aXQyIEMgQVBJIGZvciBzZXR0aW5nIHRoZSBmb250IGZhbWlsaWVzLgorCisgICAgICAgICogVUlQ
cm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwOgorICAgICAgICAoV0tQcmVmZXJlbmNlc1Nl
dFN0YW5kYXJkRm9udEZhbWlseSk6CisgICAgICAgIChXZWJQcmVmZXJlbmNlc0NvcHlTdGFuZGFy
ZEZvbnRGYW1pbHkpOgorICAgICAgICAoV0tQcmVmZXJlbmNlc1NldEZpeGVkRm9udEZhbWlseSk6
CisgICAgICAgIChXS1ByZWZlcmVuY2VzQ29weUZpeGVkRm9udEZhbWlseSk6CisgICAgICAgIChX
S1ByZWZlcmVuY2VzU2V0U2VyaWZGb250RmFtaWx5KToKKyAgICAgICAgKFdLUHJlZmVyZW5jZXND
b3B5U2VyaWZGb250RmFtaWx5KToKKyAgICAgICAgKFdLUHJlZmVyZW5jZXNTZXRTYW5zU2VyaWZG
b250RmFtaWx5KToKKyAgICAgICAgKFdLUHJlZmVyZW5jZXNDb3B5U2Fuc1NlcmlmRm9udEZhbWls
eSk6CisgICAgICAgIChXS1ByZWZlcmVuY2VzU2V0Q3Vyc2l2ZUZvbnRGYW1pbHkpOgorICAgICAg
ICAoV0tQcmVmZXJlbmNlc0NvcHlDdXJzaXZlRm9udEZhbWlseSk6CisgICAgICAgIChXS1ByZWZl
cmVuY2VzU2V0RmFudGFzeUZvbnRGYW1pbHkpOgorICAgICAgICAoV0tQcmVmZXJlbmNlc0NvcHlG
YW50YXN5Rm9udEZhbWlseSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5j
ZXMuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJlZmVyZW5jZXMuY3BwOgorICAgICAgICAo
V2ViS2l0OjpXZWJQcmVmZXJlbmNlczo6c2V0U3RhbmRhcmRGb250RmFtaWx5KToKKyAgICAgICAg
KFdlYktpdDo6V2ViUHJlZmVyZW5jZXM6OnN0YW5kYXJkRm9udEZhbWlseSk6CisgICAgICAgIChX
ZWJLaXQ6OldlYlByZWZlcmVuY2VzOjpzZXRGaXhlZEZvbnRGYW1pbHkpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQcmVmZXJlbmNlczo6Zml4ZWRGb250RmFtaWx5KToKKyAgICAgICAgKFdlYktpdDo6
V2ViUHJlZmVyZW5jZXM6OnNldFNlcmlmRm9udEZhbWlseSk6CisgICAgICAgIChXZWJLaXQ6Oldl
YlByZWZlcmVuY2VzOjpzZXJpZkZvbnRGYW1pbHkpOgorICAgICAgICAoV2ViS2l0OjpXZWJQcmVm
ZXJlbmNlczo6c2V0U2Fuc1NlcmlmRm9udEZhbWlseSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBy
ZWZlcmVuY2VzOjpzYW5zU2VyaWZGb250RmFtaWx5KToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJl
ZmVyZW5jZXM6OnNldEN1cnNpdmVGb250RmFtaWx5KToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJl
ZmVyZW5jZXM6OmN1cnNpdmVGb250RmFtaWx5KToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJlZmVy
ZW5jZXM6OnNldEZhbnRhc3lGb250RmFtaWx5KToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJlZmVy
ZW5jZXM6OmZhbnRhc3lGb250RmFtaWx5KToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJlZmVy
ZW5jZXMuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYlBhZ2U6OnByZWZlcmVuY2VzRGlkQ2hhbmdlKToKKwogMjAxMC0wOS0y
MyAgSmVzc2llIEJlcmxpbiAgPGpiZXJsaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2Vk
IGJ5IFNhbSBXZWluaWcuCmRpZmYgLS1naXQgYS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1By
ZWZlcmVuY2VzLmNwcCBiL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3Bw
CmluZGV4IDNmNDAxNzQuLjkxYWMzMGYgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9DL1dLUHJlZmVyZW5jZXMuY3BwCisrKyBiL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJl
ZmVyZW5jZXMuY3BwCkBAIC05OCwzICs5OCw2MyBAQCBib29sIFdLUHJlZmVyZW5jZXNHZXRYU1NB
dWRpdG9yRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmKQogewogICAgIHJl
dHVybiB0b1dLKHByZWZlcmVuY2VzUmVmKS0+eHNzQXVkaXRvckVuYWJsZWQoKTsKIH0KKwordm9p
ZCBXS1ByZWZlcmVuY2VzU2V0U3RhbmRhcmRGb250RmFtaWx5KFdLUHJlZmVyZW5jZXNSZWYgcHJl
ZmVyZW5jZXNSZWYsIFdLU3RyaW5nUmVmIGZhbWlseSkKK3sKKyAgICB0b1dLKHByZWZlcmVuY2Vz
UmVmKS0+c2V0U3RhbmRhcmRGb250RmFtaWx5KHRvV1RGU3RyaW5nKGZhbWlseSkpOworfQorCitX
S1N0cmluZ1JlZiBXZWJQcmVmZXJlbmNlc0NvcHlTdGFuZGFyZEZvbnRGYW1pbHkoV0tQcmVmZXJl
bmNlc1JlZiBwcmVmZXJlbmNlc1JlZikKK3sKKyAgICByZXR1cm4gdG9Db3BpZWRSZWYodG9XSyhw
cmVmZXJlbmNlc1JlZiktPnN0YW5kYXJkRm9udEZhbWlseSgpKTsKK30KKwordm9pZCBXS1ByZWZl
cmVuY2VzU2V0Rml4ZWRGb250RmFtaWx5KFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYs
IFdLU3RyaW5nUmVmIGZhbWlseSkKK3sKKyAgICB0b1dLKHByZWZlcmVuY2VzUmVmKS0+c2V0Rml4
ZWRGb250RmFtaWx5KHRvV1RGU3RyaW5nKGZhbWlseSkpOworfQorCitXS1N0cmluZ1JlZiBXS1By
ZWZlcmVuY2VzQ29weUZpeGVkRm9udEZhbWlseShXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2Vz
UmVmKQoreworICAgIHJldHVybiB0b0NvcGllZFJlZih0b1dLKHByZWZlcmVuY2VzUmVmKS0+Zml4
ZWRGb250RmFtaWx5KCkpOworfQorCit2b2lkIFdLUHJlZmVyZW5jZXNTZXRTZXJpZkZvbnRGYW1p
bHkoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgV0tTdHJpbmdSZWYgZmFtaWx5KQor
eworICAgIHRvV0socHJlZmVyZW5jZXNSZWYpLT5zZXRTZXJpZkZvbnRGYW1pbHkodG9XVEZTdHJp
bmcoZmFtaWx5KSk7Cit9CisKK1dLU3RyaW5nUmVmIFdLUHJlZmVyZW5jZXNDb3B5U2VyaWZGb250
RmFtaWx5KFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpCit7CisgICAgcmV0dXJuIHRv
Q29waWVkUmVmKHRvV0socHJlZmVyZW5jZXNSZWYpLT5zZXJpZkZvbnRGYW1pbHkoKSk7Cit9CisK
K3ZvaWQgV0tQcmVmZXJlbmNlc1NldFNhbnNTZXJpZkZvbnRGYW1pbHkoV0tQcmVmZXJlbmNlc1Jl
ZiBwcmVmZXJlbmNlc1JlZiwgV0tTdHJpbmdSZWYgZmFtaWx5KQoreworICAgIHRvV0socHJlZmVy
ZW5jZXNSZWYpLT5zZXRTYW5zU2VyaWZGb250RmFtaWx5KHRvV1RGU3RyaW5nKGZhbWlseSkpOwor
fQorCitXS1N0cmluZ1JlZiBXS1ByZWZlcmVuY2VzQ29weVNhbnNTZXJpZkZvbnRGYW1pbHkoV0tQ
cmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZikKK3sKKyAgICByZXR1cm4gdG9Db3BpZWRSZWYo
dG9XSyhwcmVmZXJlbmNlc1JlZiktPnNhbnNTZXJpZkZvbnRGYW1pbHkoKSk7Cit9CisKK3ZvaWQg
V0tQcmVmZXJlbmNlc1NldEN1cnNpdmVGb250RmFtaWx5KFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVy
ZW5jZXNSZWYsIFdLU3RyaW5nUmVmIGZhbWlseSkKK3sKKyAgICB0b1dLKHByZWZlcmVuY2VzUmVm
KS0+c2V0Q3Vyc2l2ZUZvbnRGYW1pbHkodG9XVEZTdHJpbmcoZmFtaWx5KSk7Cit9CisKK1dLU3Ry
aW5nUmVmIFdLUHJlZmVyZW5jZXNDb3B5Q3Vyc2l2ZUZvbnRGYW1pbHkoV0tQcmVmZXJlbmNlc1Jl
ZiBwcmVmZXJlbmNlc1JlZikKK3sKKyAgICByZXR1cm4gdG9Db3BpZWRSZWYodG9XSyhwcmVmZXJl
bmNlc1JlZiktPmN1cnNpdmVGb250RmFtaWx5KCkpOworfQorCit2b2lkIFdLUHJlZmVyZW5jZXNT
ZXRGYW50YXN5Rm9udEZhbWlseShXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmLCBXS1N0
cmluZ1JlZiBmYW1pbHkpCit7CisgICAgdG9XSyhwcmVmZXJlbmNlc1JlZiktPnNldEZhbnRhc3lG
b250RmFtaWx5KHRvV1RGU3RyaW5nKGZhbWlseSkpOworfQorCitXS1N0cmluZ1JlZiBXS1ByZWZl
cmVuY2VzQ29weUZhbnRhc3lGb250RmFtaWx5KFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNS
ZWYpCit7CisgICAgcmV0dXJuIHRvQ29waWVkUmVmKHRvV0socHJlZmVyZW5jZXNSZWYpLT5mYW50
YXN5Rm9udEZhbWlseSgpKTsKK30KZGlmZiAtLWdpdCBhL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9D
L1dLUHJlZmVyZW5jZXMuaCBiL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMu
aAppbmRleCA3ZmM2ODkxLi5lMTE3ZDUxIDEwMDY0NAotLS0gYS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQy9XS1ByZWZlcmVuY2VzLmgKKysrIGIvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVm
ZXJlbmNlcy5oCkBAIC02MSw2ICs2MSwyNCBAQCBXS19FWFBPUlQgYm9vbCBXS1ByZWZlcmVuY2Vz
R2V0TG9jYWxTdG9yYWdlRW5hYmxlZChXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzKQogV0tf
RVhQT1JUIHZvaWQgV0tQcmVmZXJlbmNlc1NldFhTU0F1ZGl0b3JFbmFibGVkKFdLUHJlZmVyZW5j
ZXNSZWYgcHJlZmVyZW5jZXMsIGJvb2wgeHNzQXVkaXRvckVuYWJsZWQpOwogV0tfRVhQT1JUIGJv
b2wgV0tQcmVmZXJlbmNlc0dldFhTU0F1ZGl0b3JFbmFibGVkKFdLUHJlZmVyZW5jZXNSZWYgcHJl
ZmVyZW5jZXMpOwogCitXS19FWFBPUlQgdm9pZCBXS1ByZWZlcmVuY2VzU2V0U3RhbmRhcmRGb250
RmFtaWx5KFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYsIFdLU3RyaW5nUmVmIGZhbWls
eSk7CitXS19FWFBPUlQgV0tTdHJpbmdSZWYgV2ViUHJlZmVyZW5jZXNDb3B5U3RhbmRhcmRGb250
RmFtaWx5KFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXNSZWYpOworCitXS19FWFBPUlQgdm9p
ZCBXS1ByZWZlcmVuY2VzU2V0Rml4ZWRGb250RmFtaWx5KFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVy
ZW5jZXNSZWYsIFdLU3RyaW5nUmVmIGZhbWlseSk7CitXS19FWFBPUlQgV0tTdHJpbmdSZWYgV0tQ
cmVmZXJlbmNlc0NvcHlGaXhlZEZvbnRGYW1pbHkoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNl
c1JlZik7CisKK1dLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRTZXJpZkZvbnRGYW1pbHko
V0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZiwgV0tTdHJpbmdSZWYgZmFtaWx5KTsKK1dL
X0VYUE9SVCBXS1N0cmluZ1JlZiBXS1ByZWZlcmVuY2VzQ29weVNlcmlmRm9udEZhbWlseShXS1By
ZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmKTsKKworV0tfRVhQT1JUIHZvaWQgV0tQcmVmZXJl
bmNlc1NldFNhbnNTZXJpZkZvbnRGYW1pbHkoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1Jl
ZiwgV0tTdHJpbmdSZWYgZmFtaWx5KTsKK1dLX0VYUE9SVCBXS1N0cmluZ1JlZiBXS1ByZWZlcmVu
Y2VzQ29weVNhbnNTZXJpZkZvbnRGYW1pbHkoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1Jl
Zik7CisKK1dLX0VYUE9SVCB2b2lkIFdLUHJlZmVyZW5jZXNTZXRDdXJzaXZlRm9udEZhbWlseShX
S1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVmLCBXS1N0cmluZ1JlZiBmYW1pbHkpOworV0tf
RVhQT1JUIFdLU3RyaW5nUmVmIFdLUHJlZmVyZW5jZXNDb3B5Q3Vyc2l2ZUZvbnRGYW1pbHkoV0tQ
cmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZik7CisKK1dLX0VYUE9SVCB2b2lkIFdLUHJlZmVy
ZW5jZXNTZXRGYW50YXN5Rm9udEZhbWlseShXS1ByZWZlcmVuY2VzUmVmIHByZWZlcmVuY2VzUmVm
LCBXS1N0cmluZ1JlZiBmYW1pbHkpOworV0tfRVhQT1JUIFdLU3RyaW5nUmVmIFdLUHJlZmVyZW5j
ZXNDb3B5RmFudGFzeUZvbnRGYW1pbHkoV0tQcmVmZXJlbmNlc1JlZiBwcmVmZXJlbmNlc1JlZik7
CisKICNpZmRlZiBfX2NwbHVzcGx1cwogfQogI2VuZGlmCmRpZmYgLS1naXQgYS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJQcmVmZXJlbmNlcy5jcHAgYi9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcmVmZXJl
bmNlcy5jcHAKaW5kZXggNzUyZmJhMC4uNzQyZjMxNiAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViUHJlZmVyZW5jZXMuY3BwCisrKyBiL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByZWZl
cmVuY2VzLmNwcApAQCAtOTEsNyArOTEsNyBAQCB2b2lkIFdlYlByZWZlcmVuY2VzOjpzZXRPZmZs
aW5lV2ViQXBwbGljYXRpb25DYWNoZUVuYWJsZWQoYm9vbCBiKQogICAgIG1fc3RvcmUub2ZmbGlu
ZVdlYkFwcGxpY2F0aW9uQ2FjaGVFbmFibGVkID0gYjsKICAgICB1cGRhdGUoKTsKIH0KLSAgICAK
KwogYm9vbCBXZWJQcmVmZXJlbmNlczo6b2ZmbGluZVdlYkFwcGxpY2F0aW9uQ2FjaGVFbmFibGVk
KCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9zdG9yZS5vZmZsaW5lV2ViQXBwbGljYXRpb25DYWNo
ZUVuYWJsZWQ7CkBAIC0xMzAsNSArMTMwLDcxIEBAIEZvbnRTbW9vdGhpbmdMZXZlbCBXZWJQcmVm
ZXJlbmNlczo6Zm9udFNtb290aGluZ0xldmVsKCkgY29uc3QKICAgICByZXR1cm4gc3RhdGljX2Nh
c3Q8Rm9udFNtb290aGluZ0xldmVsPihtX3N0b3JlLmZvbnRTbW9vdGhpbmdMZXZlbCk7CiB9CiAK
K3ZvaWQgV2ViUHJlZmVyZW5jZXM6OnNldFN0YW5kYXJkRm9udEZhbWlseShjb25zdCBTdHJpbmcm
IGZhbWlseSkKK3sKKyAgICBtX3N0b3JlLnN0YW5kYXJkRm9udEZhbWlseSA9IGZhbWlseTsKKyAg
ICB1cGRhdGUoKTsKK30KKworY29uc3QgU3RyaW5nJiBXZWJQcmVmZXJlbmNlczo6c3RhbmRhcmRG
b250RmFtaWx5KCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9zdG9yZS5zdGFuZGFyZEZvbnRGYW1p
bHk7Cit9CisKK3ZvaWQgV2ViUHJlZmVyZW5jZXM6OnNldEZpeGVkRm9udEZhbWlseShjb25zdCBT
dHJpbmcmIGZhbWlseSkKK3sKKyAgICBtX3N0b3JlLmZpeGVkRm9udEZhbWlseSA9IGZhbWlseTsK
KyAgICB1cGRhdGUoKTsKK30KKworY29uc3QgU3RyaW5nJiBXZWJQcmVmZXJlbmNlczo6Zml4ZWRG
b250RmFtaWx5KCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9zdG9yZS5maXhlZEZvbnRGYW1pbHk7
Cit9CisKK3ZvaWQgV2ViUHJlZmVyZW5jZXM6OnNldFNlcmlmRm9udEZhbWlseShjb25zdCBTdHJp
bmcmIGZhbWlseSkKK3sKKyAgICBtX3N0b3JlLnNlcmlmRm9udEZhbWlseSA9IGZhbWlseTsKKyAg
ICB1cGRhdGUoKTsKK30KKworY29uc3QgU3RyaW5nJiBXZWJQcmVmZXJlbmNlczo6c2VyaWZGb250
RmFtaWx5KCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9zdG9yZS5zZXJpZkZvbnRGYW1pbHk7Cit9
CisKK3ZvaWQgV2ViUHJlZmVyZW5jZXM6OnNldFNhbnNTZXJpZkZvbnRGYW1pbHkoY29uc3QgU3Ry
aW5nJiBmYW1pbHkpCit7CisgICAgbV9zdG9yZS5zYW5zU2VyaWZGb250RmFtaWx5ID0gZmFtaWx5
OworICAgIHVwZGF0ZSgpOworfQorCitjb25zdCBTdHJpbmcmIFdlYlByZWZlcmVuY2VzOjpzYW5z
U2VyaWZGb250RmFtaWx5KCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9zdG9yZS5zYW5zU2VyaWZG
b250RmFtaWx5OworfQorCit2b2lkIFdlYlByZWZlcmVuY2VzOjpzZXRDdXJzaXZlRm9udEZhbWls
eShjb25zdCBTdHJpbmcmIGZhbWlseSkKK3sKKyAgICBtX3N0b3JlLmN1cnNpdmVGb250RmFtaWx5
ID0gZmFtaWx5OworICAgIHVwZGF0ZSgpOworfQorCitjb25zdCBTdHJpbmcmIFdlYlByZWZlcmVu
Y2VzOjpjdXJzaXZlRm9udEZhbWlseSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fc3RvcmUuY3Vy
c2l2ZUZvbnRGYW1pbHk7Cit9CisKK3ZvaWQgV2ViUHJlZmVyZW5jZXM6OnNldEZhbnRhc3lGb250
RmFtaWx5KGNvbnN0IFN0cmluZyYgZmFtaWx5KQoreworICAgIG1fc3RvcmUuZmFudGFzeUZvbnRG
YW1pbHkgPSBmYW1pbHk7CisgICAgdXBkYXRlKCk7Cit9CisKK2NvbnN0IFN0cmluZyYgV2ViUHJl
ZmVyZW5jZXM6OmZhbnRhc3lGb250RmFtaWx5KCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9zdG9y
ZS5mYW50YXN5Rm9udEZhbWlseTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKZGlmZiAt
LWdpdCBhL1dlYktpdDIvVUlQcm9jZXNzL1dlYlByZWZlcmVuY2VzLmggYi9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQcmVmZXJlbmNlcy5oCmluZGV4IGJhZWVkMjEuLjI1NjNmMzkgMTAwNjQ0Ci0tLSBh
L1dlYktpdDIvVUlQcm9jZXNzL1dlYlByZWZlcmVuY2VzLmgKKysrIGIvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViUHJlZmVyZW5jZXMuaApAQCAtNzYsNiArNzYsMjQgQEAgcHVibGljOgogICAgIHZvaWQg
c2V0Rm9udFNtb290aGluZ0xldmVsKEZvbnRTbW9vdGhpbmdMZXZlbCk7CiAgICAgRm9udFNtb290
aGluZ0xldmVsIGZvbnRTbW9vdGhpbmdMZXZlbCgpIGNvbnN0OwogCisgICAgdm9pZCBzZXRTdGFu
ZGFyZEZvbnRGYW1pbHkoY29uc3QgU3RyaW5nJik7CisgICAgY29uc3QgU3RyaW5nJiBzdGFuZGFy
ZEZvbnRGYW1pbHkoKSBjb25zdDsKKworICAgIHZvaWQgc2V0Rml4ZWRGb250RmFtaWx5KGNvbnN0
IFN0cmluZyYpOworICAgIGNvbnN0IFN0cmluZyYgZml4ZWRGb250RmFtaWx5KCkgY29uc3Q7CisK
KyAgICB2b2lkIHNldFNlcmlmRm9udEZhbWlseShjb25zdCBTdHJpbmcmKTsKKyAgICBjb25zdCBT
dHJpbmcmIHNlcmlmRm9udEZhbWlseSgpIGNvbnN0OworCisgICAgdm9pZCBzZXRTYW5zU2VyaWZG
b250RmFtaWx5KGNvbnN0IFN0cmluZyYpOworICAgIGNvbnN0IFN0cmluZyYgc2Fuc1NlcmlmRm9u
dEZhbWlseSgpIGNvbnN0OworCisgICAgdm9pZCBzZXRDdXJzaXZlRm9udEZhbWlseShjb25zdCBT
dHJpbmcmKTsKKyAgICBjb25zdCBTdHJpbmcmIGN1cnNpdmVGb250RmFtaWx5KCkgY29uc3Q7CisK
KyAgICB2b2lkIHNldEZhbnRhc3lGb250RmFtaWx5KGNvbnN0IFN0cmluZyYpOworICAgIGNvbnN0
IFN0cmluZyYgZmFudGFzeUZvbnRGYW1pbHkoKSBjb25zdDsKKwogcHJpdmF0ZToKICAgICBXZWJQ
cmVmZXJlbmNlcygpOwogICAgIFdlYlByZWZlcmVuY2VzKFdlYlByZWZlcmVuY2VzKik7CmRpZmYg
LS1naXQgYS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IDhjNjUwNmEuLjM4NWQ1YTkgMTAw
NjQ0Ci0tLSBhL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC02MjcsNiArNjI3LDEzIEBA
IHZvaWQgV2ViUGFnZTo6cHJlZmVyZW5jZXNEaWRDaGFuZ2UoY29uc3QgV2ViUHJlZmVyZW5jZXNT
dG9yZSYgc3RvcmUpCiAgICAgbV9wYWdlLT5zZXR0aW5ncygpLT5zZXRMb2NhbFN0b3JhZ2VFbmFi
bGVkKHN0b3JlLmxvY2FsU3RvcmFnZUVuYWJsZWQpOwogICAgIG1fcGFnZS0+c2V0dGluZ3MoKS0+
c2V0WFNTQXVkaXRvckVuYWJsZWQoc3RvcmUueHNzQXVkaXRvckVuYWJsZWQpOwogCisgICAgbV9w
YWdlLT5zZXR0aW5ncygpLT5zZXRTdGFuZGFyZEZvbnRGYW1pbHkoc3RvcmUuc3RhbmRhcmRGb250
RmFtaWx5KTsKKyAgICBtX3BhZ2UtPnNldHRpbmdzKCktPnNldEN1cnNpdmVGb250RmFtaWx5KHN0
b3JlLmN1cnNpdmVGb250RmFtaWx5KTsKKyAgICBtX3BhZ2UtPnNldHRpbmdzKCktPnNldEZhbnRh
c3lGb250RmFtaWx5KHN0b3JlLmZhbnRhc3lGb250RmFtaWx5KTsKKyAgICBtX3BhZ2UtPnNldHRp
bmdzKCktPnNldEZpeGVkRm9udEZhbWlseShzdG9yZS5maXhlZEZvbnRGYW1pbHkpOworICAgIG1f
cGFnZS0+c2V0dGluZ3MoKS0+c2V0U2Fuc1NlcmlmRm9udEZhbWlseShzdG9yZS5zYW5zU2VyaWZG
b250RmFtaWx5KTsKKyAgICBtX3BhZ2UtPnNldHRpbmdzKCktPnNldFNlcmlmRm9udEZhbWlseShz
dG9yZS5zZXJpZkZvbnRGYW1pbHkpOworCiAgICAgcGxhdGZvcm1QcmVmZXJlbmNlc0RpZENoYW5n
ZShzdG9yZSk7CiB9CiAKLS0gCjEuNy4xCgo=
</data>
<flag name="review"
          id="58234"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>