<?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>220344</bug_id>
          
          <creation_ts>2021-01-05 15:09:37 -0800</creation_ts>
          <short_desc>Use sendWithAsyncReply instead of AttributedStringForCharacterRangeCallback and FontAtSelectionCallback</short_desc>
          <delta_ts>2021-01-05 19:05:14 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          <cc>ggaren</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1717508</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-01-05 15:09:37 -0800</bug_when>
    <thetext>Use sendWithAsyncReply instead of AttributedStringForCharacterRangeCallback and FontAtSelectionCallback</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1717509</commentid>
    <comment_count>1</comment_count>
      <attachid>417040</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-01-05 15:10:13 -0800</bug_when>
    <thetext>Created attachment 417040
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1717525</commentid>
    <comment_count>2</comment_count>
      <attachid>417040</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2021-01-05 15:53:16 -0800</bug_when>
    <thetext>Comment on attachment 417040
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1717569</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-01-05 19:04:29 -0800</bug_when>
    <thetext>Committed r271187: &lt;https://trac.webkit.org/changeset/271187&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 417040.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1717570</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-01-05 19:05:14 -0800</bug_when>
    <thetext>&lt;rdar://problem/72838316&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417040</attachid>
            <date>2021-01-05 15:10:13 -0800</date>
            <delta_ts>2021-01-05 19:04:29 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220344-20210105151012.patch</filename>
            <type>text/plain</type>
            <size>15791</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxMTc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDcwOTJmYzhiNDRjMGMzODhj
NTg2ZjVjZGFhOTExZjdjYjBhMDE3NGQuLmZkMjI4NDVmYjIyNmY1Yjg2ZGI5N2Y3ZTQwZDRhZGE1
N2EwNTVmMGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIwMjEtMDEtMDUgIEFsZXggQ2hy
aXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBVc2Ugc2VuZFdp
dGhBc3luY1JlcGx5IGluc3RlYWQgb2YgQXR0cmlidXRlZFN0cmluZ0ZvckNoYXJhY3RlclJhbmdl
Q2FsbGJhY2sgYW5kIEZvbnRBdFNlbGVjdGlvbkNhbGxiYWNrCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjAzNDQKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1w
bC5tbToKKyAgICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6OnVwZGF0ZUZvbnRNYW5hZ2VySWZO
ZWVkZWQpOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6YXR0cmlidXRlZFN1YnN0cmlu
Z0ZvclByb3Bvc2VkUmFuZ2UpOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoK
KyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAq
IFVJUHJvY2Vzcy9tYWMvV2ViUGFnZVByb3h5TWFjLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
YWdlUHJveHk6OmF0dHJpYnV0ZWRTdWJzdHJpbmdGb3JDaGFyYWN0ZXJSYW5nZUFzeW5jKToKKyAg
ICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5Ojpmb250QXRTZWxlY3Rpb24pOgorICAgICAgICAo
V2ViS2l0OjpXZWJQYWdlUHJveHk6OmF0dHJpYnV0ZWRTdHJpbmdGb3JDaGFyYWN0ZXJSYW5nZUNh
bGxiYWNrKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5Ojpmb250QXRT
ZWxlY3Rpb25DYWxsYmFjayk6IERlbGV0ZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2UuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdl
cy5pbjoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dlYlBhZ2VNYWMubW06Cisg
ICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmF0dHJpYnV0ZWRTdWJzdHJpbmdGb3JDaGFyYWN0ZXJS
YW5nZUFzeW5jKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6Zm9udEF0U2VsZWN0aW9uKToK
KwogMjAyMS0wMS0wNSAgUnlhbiBIYWRkYWQgIDxyeWFuaGFkZGFkQGFwcGxlLmNvbT4KIAogICAg
ICAgICBVbnJldmlld2VkLCByZXZlcnRpbmcgcjI3MTE2OS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwubW0KaW5kZXggMDI5ZjNjMGQ3MDRkMjkyNDg1MDUzZjU5
ODIyYTRhOTcyNzg3NjI2ZC4uM2Q2ODA5YTllYzM0ZTQ2MjQ1ODIyOGY1ODYzZjliODgyNjE2OTIw
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwu
bW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwubW0KQEAg
LTI5NTEsOSArMjk1MSw3IEBAIHZvaWQgV2ViVmlld0ltcGw6OnVwZGF0ZUZvbnRNYW5hZ2VySWZO
ZWVkZWQoKQogICAgIGlmICghZm9udFBhbmVsSXNWaXNpYmxlICYmICFtX3BhZ2UtPmVkaXRvclN0
YXRlKCkuaXNDb250ZW50UmljaGx5RWRpdGFibGUpCiAgICAgICAgIHJldHVybjsKIAotICAgIG1f
cGFnZS0+Zm9udEF0U2VsZWN0aW9uKFtdKGNvbnN0IEZvbnRJbmZvJiBmb250SW5mbywgZG91Ymxl
IGZvbnRTaXplLCBib29sIHNlbGVjdGlvbkhhc011bHRpcGxlRm9udHMsIENhbGxiYWNrQmFzZTo6
RXJyb3IgZXJyb3IpIHsKLSAgICAgICAgaWYgKGVycm9yICE9IENhbGxiYWNrQmFzZTo6RXJyb3I6
Ok5vbmUpCi0gICAgICAgICAgICByZXR1cm47CisgICAgbV9wYWdlLT5mb250QXRTZWxlY3Rpb24o
W10oY29uc3QgRm9udEluZm8mIGZvbnRJbmZvLCBkb3VibGUgZm9udFNpemUsIGJvb2wgc2VsZWN0
aW9uSGFzTXVsdGlwbGVGb250cykgewogCiAgICAgICAgIEJFR0lOX0JMT0NLX09CSkNfRVhDRVBU
SU9OUwogCkBAIC01MDI1LDIwICs1MDIzLDEyIEBAIHZvaWQgV2ViVmlld0ltcGw6Omhhc01hcmtl
ZFRleHRXaXRoQ29tcGxldGlvbkhhbmRsZXIodm9pZCheY29tcGxldGlvbkhhbmRsZXIpKEJPCiAg
ICAgfSk7CiB9CiAKLXZvaWQgV2ViVmlld0ltcGw6OmF0dHJpYnV0ZWRTdWJzdHJpbmdGb3JQcm9w
b3NlZFJhbmdlKE5TUmFuZ2UgcHJvcG9zZWRSYW5nZSwgdm9pZCheY29tcGxldGlvbkhhbmRsZXJQ
dHIpKE5TQXR0cmlidXRlZFN0cmluZyAqYXR0clN0cmluZywgTlNSYW5nZSBhY3R1YWxSYW5nZSkp
Cit2b2lkIFdlYlZpZXdJbXBsOjphdHRyaWJ1dGVkU3Vic3RyaW5nRm9yUHJvcG9zZWRSYW5nZShO
U1JhbmdlIHByb3Bvc2VkUmFuZ2UsIHZvaWQoXmNvbXBsZXRpb25IYW5kbGVyKShOU0F0dHJpYnV0
ZWRTdHJpbmcgKmF0dHJTdHJpbmcsIE5TUmFuZ2UgYWN0dWFsUmFuZ2UpKQogewotICAgIGF1dG8g
Y29tcGxldGlvbkhhbmRsZXIgPSBhZG9wdE5TKFtjb21wbGV0aW9uSGFuZGxlclB0ciBjb3B5XSk7
Ci0KICAgICBMT0coVGV4dElucHV0LCAiYXR0cmlidXRlZFN1YnN0cmluZ0Zyb21SYW5nZTooJXUs
ICV1KSIsIHByb3Bvc2VkUmFuZ2UubG9jYXRpb24sIHByb3Bvc2VkUmFuZ2UubGVuZ3RoKTsKLSAg
ICBtX3BhZ2UtPmF0dHJpYnV0ZWRTdWJzdHJpbmdGb3JDaGFyYWN0ZXJSYW5nZUFzeW5jKHByb3Bv
c2VkUmFuZ2UsIFtjb21wbGV0aW9uSGFuZGxlcl0oY29uc3QgV2ViQ29yZTo6QXR0cmlidXRlZFN0
cmluZyYgc3RyaW5nLCBjb25zdCBFZGl0aW5nUmFuZ2UmIGFjdHVhbFJhbmdlLCBXZWJLaXQ6OkNh
bGxiYWNrQmFzZTo6RXJyb3IgZXJyb3IpIHsKLSAgICAgICAgdm9pZCAoXmNvbXBsZXRpb25IYW5k
bGVyQmxvY2spKE5TQXR0cmlidXRlZFN0cmluZyAqLCBOU1JhbmdlKSA9ICh2b2lkICheKShOU0F0
dHJpYnV0ZWRTdHJpbmcgKiwgTlNSYW5nZSkpY29tcGxldGlvbkhhbmRsZXIuZ2V0KCk7Ci0gICAg
ICAgIGlmIChlcnJvciAhPSBXZWJLaXQ6OkNhbGxiYWNrQmFzZTo6RXJyb3I6Ok5vbmUpIHsKLSAg
ICAgICAgICAgIExPRyhUZXh0SW5wdXQsICIgICAgLi4uYXR0cmlidXRlZFN1YnN0cmluZ0Zyb21S
YW5nZSBmYWlsZWQuIik7Ci0gICAgICAgICAgICBjb21wbGV0aW9uSGFuZGxlckJsb2NrKDAsIE5T
TWFrZVJhbmdlKE5TTm90Rm91bmQsIDApKTsKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAg
fQorICAgIG1fcGFnZS0+YXR0cmlidXRlZFN1YnN0cmluZ0ZvckNoYXJhY3RlclJhbmdlQXN5bmMo
cHJvcG9zZWRSYW5nZSwgW2NvbXBsZXRpb25IYW5kbGVyID0gbWFrZUJsb2NrUHRyKGNvbXBsZXRp
b25IYW5kbGVyKV0oY29uc3QgV2ViQ29yZTo6QXR0cmlidXRlZFN0cmluZyYgc3RyaW5nLCBjb25z
dCBFZGl0aW5nUmFuZ2UmIGFjdHVhbFJhbmdlKSB7CiAgICAgICAgIExPRyhUZXh0SW5wdXQsICIg
ICAgLT4gYXR0cmlidXRlZFN1YnN0cmluZ0Zyb21SYW5nZSByZXR1cm5lZCAlQCIsIHN0cmluZy5z
dHJpbmcuZ2V0KCkpOwotICAgICAgICBjb21wbGV0aW9uSGFuZGxlckJsb2NrKHN0cmluZy5zdHJp
bmcuZ2V0KCksIGFjdHVhbFJhbmdlKTsKKyAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoc3RyaW5n
LnN0cmluZy5nZXQoKSwgYWN0dWFsUmFuZ2UpOwogICAgIH0pOwogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IDIwMmI2OTcwNWRkMTEwNzFhODRmYTgzMGJmYjI4
NGFhNzkxNTcwOGEuLjZhMDU1NjdhM2RhYmVlN2NmZWE0MGE1OGExZjJkMzY3Y2JmMDgxNDEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC0zOTksMTEgKzM5OSw2IEBA
IHN0cnVjdCBRdWV1ZWRUb3VjaEV2ZW50cyB7CiB0eXBlZGVmIEdlbmVyaWNDYWxsYmFjazxjb25z
dCBPcHRpb25hbDxXZWJDb3JlOjpBcHBsaWNhdGlvbk1hbmlmZXN0PiY+IEFwcGxpY2F0aW9uTWFu
aWZlc3RDYWxsYmFjazsKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oTUFDKQotdHlwZWRlZiBHZW5l
cmljQ2FsbGJhY2s8Y29uc3QgV2ViQ29yZTo6QXR0cmlidXRlZFN0cmluZyYsIGNvbnN0IEVkaXRp
bmdSYW5nZSY+IEF0dHJpYnV0ZWRTdHJpbmdGb3JDaGFyYWN0ZXJSYW5nZUNhbGxiYWNrOwotdHlw
ZWRlZiBHZW5lcmljQ2FsbGJhY2s8Y29uc3QgRm9udEluZm8mLCBkb3VibGUsIGJvb2w+IEZvbnRB
dFNlbGVjdGlvbkNhbGxiYWNrOwotI2VuZGlmCi0KICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQog
dHlwZWRlZiBHZW5lcmljQ2FsbGJhY2s8Y29uc3QgV2ViQ29yZTo6SW50UG9pbnQmLCBHZXN0dXJl
VHlwZSwgR2VzdHVyZVJlY29nbml6ZXJTdGF0ZSwgT3B0aW9uU2V0PFNlbGVjdGlvbkZsYWdzPj4g
R2VzdHVyZUNhbGxiYWNrOwogdHlwZWRlZiBHZW5lcmljQ2FsbGJhY2s8Y29uc3QgV2ViQ29yZTo6
SW50UG9pbnQmLCBTZWxlY3Rpb25Ub3VjaCwgT3B0aW9uU2V0PFNlbGVjdGlvbkZsYWdzPj4gVG91
Y2hlc0NhbGxiYWNrOwpAQCAtOTA1LDggKzkwMCw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGNoYW5n
ZUZvbnQoV2ViQ29yZTo6Rm9udENoYW5nZXMmJik7CiAKICNpZiBQTEFURk9STShNQUMpCi0gICAg
dm9pZCBhdHRyaWJ1dGVkU3Vic3RyaW5nRm9yQ2hhcmFjdGVyUmFuZ2VBc3luYyhjb25zdCBFZGl0
aW5nUmFuZ2UmLCBGdW5jdGlvbjx2b2lkKGNvbnN0IFdlYkNvcmU6OkF0dHJpYnV0ZWRTdHJpbmcm
LCBjb25zdCBFZGl0aW5nUmFuZ2UmLCBDYWxsYmFja0Jhc2U6OkVycm9yKT4mJik7Ci0gICAgdm9p
ZCBmb250QXRTZWxlY3Rpb24oRnVuY3Rpb248dm9pZChjb25zdCBGb250SW5mbyYsIGRvdWJsZSwg
Ym9vbCwgQ2FsbGJhY2tCYXNlOjpFcnJvcik+JiYpOworICAgIHZvaWQgYXR0cmlidXRlZFN1YnN0
cmluZ0ZvckNoYXJhY3RlclJhbmdlQXN5bmMoY29uc3QgRWRpdGluZ1JhbmdlJiwgQ29tcGxldGlv
bkhhbmRsZXI8dm9pZChjb25zdCBXZWJDb3JlOjpBdHRyaWJ1dGVkU3RyaW5nJiwgY29uc3QgRWRp
dGluZ1JhbmdlJik+JiYpOworICAgIHZvaWQgZm9udEF0U2VsZWN0aW9uKENvbXBsZXRpb25IYW5k
bGVyPHZvaWQoY29uc3QgRm9udEluZm8mLCBkb3VibGUsIGJvb2wpPiYmKTsKIAogICAgIHZvaWQg
c3RhcnRXaW5kb3dEcmFnKCk7CiAgICAgTlNXaW5kb3cgKnBsYXRmb3JtV2luZG93KCk7CkBAIC0y
MTU4LDcgKzIxNTMsNiBAQCBwcml2YXRlOgogICAgIHZvaWQgYXBwbGljYXRpb25NYW5pZmVzdENh
bGxiYWNrKGNvbnN0IE9wdGlvbmFsPFdlYkNvcmU6OkFwcGxpY2F0aW9uTWFuaWZlc3Q+JiwgQ2Fs
bGJhY2tJRCk7CiAjZW5kaWYKICNpZiBQTEFURk9STShNQUMpCi0gICAgdm9pZCBhdHRyaWJ1dGVk
U3RyaW5nRm9yQ2hhcmFjdGVyUmFuZ2VDYWxsYmFjayhjb25zdCBXZWJDb3JlOjpBdHRyaWJ1dGVk
U3RyaW5nJiwgY29uc3QgRWRpdGluZ1JhbmdlJiwgQ2FsbGJhY2tJRCk7CiAgICAgdm9pZCBmb250
QXRTZWxlY3Rpb25DYWxsYmFjayhjb25zdCBGb250SW5mbyYsIGRvdWJsZSwgYm9vbCwgQ2FsbGJh
Y2tJRCk7CiAjZW5kaWYKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IDkxNjU5NjYwZmVk
YmY0YTM5NmQwMzg5OTZlMjIzYmM4NDVlOGU4NDMuLjJmMmNiNDRmZTg3ZGNmODc4NWM0N2ViNWZi
OTQxZTk0OWQ3ZjdmODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkubWVzc2FnZXMuaW4KQEAgLTE3MywxMCArMTczLDYgQEAgbWVzc2FnZXMgLT4gV2ViUGFn
ZVByb3h5IHsKICNpZiBFTkFCTEUoQVBQTElDQVRJT05fTUFOSUZFU1QpCiAgICAgQXBwbGljYXRp
b25NYW5pZmVzdENhbGxiYWNrKE9wdGlvbmFsPFdlYkNvcmU6OkFwcGxpY2F0aW9uTWFuaWZlc3Q+
IG1hbmlmZXN0LCBXZWJLaXQ6OkNhbGxiYWNrSUQgY2FsbGJhY2tJRCkKICNlbmRpZgotI2lmIFBM
QVRGT1JNKE1BQykKLSAgICBBdHRyaWJ1dGVkU3RyaW5nRm9yQ2hhcmFjdGVyUmFuZ2VDYWxsYmFj
ayhzdHJ1Y3QgV2ViQ29yZTo6QXR0cmlidXRlZFN0cmluZyBzdHJpbmcsIHN0cnVjdCBXZWJLaXQ6
OkVkaXRpbmdSYW5nZSBhY3R1YWxSYW5nZSwgV2ViS2l0OjpDYWxsYmFja0lEIGNhbGxiYWNrSUQp
Ci0gICAgRm9udEF0U2VsZWN0aW9uQ2FsbGJhY2soc3RydWN0IFdlYktpdDo6Rm9udEluZm8gZm9u
dEluZm8sIGRvdWJsZSBmb250U2l6ZSwgYm9vbCBzZWxlY3Rpb25IYXNNdWx0aXBsZUZvbnRzLCBX
ZWJLaXQ6OkNhbGxiYWNrSUQgY2FsbGJhY2tJRCkKLSNlbmRpZgogI2lmIFBMQVRGT1JNKElPU19G
QU1JTFkpCiAgICAgR2VzdHVyZUNhbGxiYWNrKFdlYkNvcmU6OkludFBvaW50IHBvaW50LCBlbnVt
OnVpbnQ4X3QgV2ViS2l0OjpHZXN0dXJlVHlwZSBnZXN0dXJlVHlwZSwgZW51bTp1aW50OF90IFdl
YktpdDo6R2VzdHVyZVJlY29nbml6ZXJTdGF0ZSBnZXN0dXJlU3RhdGUsIE9wdGlvblNldDxXZWJL
aXQ6OlNlbGVjdGlvbkZsYWdzPiBmbGFncywgV2ViS2l0OjpDYWxsYmFja0lEIGNhbGxiYWNrSUQp
CiAgICAgVG91Y2hlc0NhbGxiYWNrKFdlYkNvcmU6OkludFBvaW50IHBvaW50LCBlbnVtOnVpbnQ4
X3QgV2ViS2l0OjpTZWxlY3Rpb25Ub3VjaCB0b3VjaGVzLCBPcHRpb25TZXQ8V2ViS2l0OjpTZWxl
Y3Rpb25GbGFncz4gZmxhZ3MsIFdlYktpdDo6Q2FsbGJhY2tJRCBjYWxsYmFja0lEKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFjL1dlYlBhZ2VQcm94eU1hYy5tbSBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9XZWJQYWdlUHJveHlNYWMubW0KaW5kZXggZmM2MjFl
YWRmZjhiNmFjYmFlMzQ1OGZmYWQwNDEwNWVhZmViN2U0ZS4uMTVkYjBmN2FlN2JmMjJkOWNjMDZk
OTEyZGVjM2QwOGJlYzc5NTY0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
bWFjL1dlYlBhZ2VQcm94eU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMv
V2ViUGFnZVByb3h5TWFjLm1tCkBAIC0xOTIsNTIgKzE5MiwyNCBAQCB2b2lkIFdlYlBhZ2VQcm94
eTo6c2V0TWFpbkZyYW1lSXNTY3JvbGxhYmxlKGJvb2wgaXNTY3JvbGxhYmxlKQogICAgIHNlbmQo
TWVzc2FnZXM6OldlYlBhZ2U6OlNldE1haW5GcmFtZUlzU2Nyb2xsYWJsZShpc1Njcm9sbGFibGUp
KTsKIH0KIAotdm9pZCBXZWJQYWdlUHJveHk6OmF0dHJpYnV0ZWRTdWJzdHJpbmdGb3JDaGFyYWN0
ZXJSYW5nZUFzeW5jKGNvbnN0IEVkaXRpbmdSYW5nZSYgcmFuZ2UsIEZ1bmN0aW9uPHZvaWQoY29u
c3QgV2ViQ29yZTo6QXR0cmlidXRlZFN0cmluZyYsIGNvbnN0IEVkaXRpbmdSYW5nZSYsIENhbGxi
YWNrQmFzZTo6RXJyb3IpPiYmIGNhbGxiYWNrRnVuY3Rpb24pCit2b2lkIFdlYlBhZ2VQcm94eTo6
YXR0cmlidXRlZFN1YnN0cmluZ0ZvckNoYXJhY3RlclJhbmdlQXN5bmMoY29uc3QgRWRpdGluZ1Jh
bmdlJiByYW5nZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChjb25zdCBXZWJDb3JlOjpBdHRyaWJ1
dGVkU3RyaW5nJiwgY29uc3QgRWRpdGluZ1JhbmdlJik+JiYgY2FsbGJhY2tGdW5jdGlvbikKIHsK
ICAgICBpZiAoIWhhc1J1bm5pbmdQcm9jZXNzKCkpIHsKLSAgICAgICAgY2FsbGJhY2tGdW5jdGlv
bih7IH0sIEVkaXRpbmdSYW5nZSgpLCBDYWxsYmFja0Jhc2U6OkVycm9yOjpVbmtub3duKTsKKyAg
ICAgICAgY2FsbGJhY2tGdW5jdGlvbih7IH0sIHsgfSk7CiAgICAgICAgIHJldHVybjsKICAgICB9
CiAKLSAgICBhdXRvIGNhbGxiYWNrSUQgPSBtX2NhbGxiYWNrcy5wdXQoV1RGTW92ZShjYWxsYmFj
a0Z1bmN0aW9uKSwgbV9wcm9jZXNzLT50aHJvdHRsZXIoKS5iYWNrZ3JvdW5kQWN0aXZpdHkoIldl
YlBhZ2VQcm94eTo6YXR0cmlidXRlZFN1YnN0cmluZ0ZvckNoYXJhY3RlclJhbmdlQXN5bmMiX3Mp
KTsKLQotICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2U6OkF0dHJpYnV0ZWRTdWJzdHJpbmdGb3JD
aGFyYWN0ZXJSYW5nZUFzeW5jKHJhbmdlLCBjYWxsYmFja0lEKSk7Ci19Ci0KLXZvaWQgV2ViUGFn
ZVByb3h5OjphdHRyaWJ1dGVkU3RyaW5nRm9yQ2hhcmFjdGVyUmFuZ2VDYWxsYmFjayhjb25zdCBX
ZWJDb3JlOjpBdHRyaWJ1dGVkU3RyaW5nJiBzdHJpbmcsIGNvbnN0IEVkaXRpbmdSYW5nZSYgYWN0
dWFsUmFuZ2UsIENhbGxiYWNrSUQgY2FsbGJhY2tJRCkKLXsKLSAgICBNRVNTQUdFX0NIRUNLKGFj
dHVhbFJhbmdlLmlzVmFsaWQoKSk7Ci0KLSAgICBhdXRvIGNhbGxiYWNrID0gbV9jYWxsYmFja3Mu
dGFrZTxBdHRyaWJ1dGVkU3RyaW5nRm9yQ2hhcmFjdGVyUmFuZ2VDYWxsYmFjaz4oY2FsbGJhY2tJ
RCk7Ci0gICAgaWYgKCFjYWxsYmFjaykgewotICAgICAgICAvLyBGSVhNRTogTG9nIGVycm9yIG9y
IGFzc2VydC4KLSAgICAgICAgLy8gdGhpcyBjYW4gdmFsaWRseSBoYXBwZW4gaWYgYSBsb2FkIGlu
dmFsaWRhdGVkIHRoZSBjYWxsYmFjaywgdGhvdWdoCi0gICAgICAgIHJldHVybjsKLSAgICB9Ci0K
LSAgICBjYWxsYmFjay0+cGVyZm9ybUNhbGxiYWNrV2l0aFJldHVyblZhbHVlKHN0cmluZywgYWN0
dWFsUmFuZ2UpOworICAgIHNlbmRXaXRoQXN5bmNSZXBseShNZXNzYWdlczo6V2ViUGFnZTo6QXR0
cmlidXRlZFN1YnN0cmluZ0ZvckNoYXJhY3RlclJhbmdlQXN5bmMocmFuZ2UpLCBXVEZNb3ZlKGNh
bGxiYWNrRnVuY3Rpb24pKTsKIH0KIAotdm9pZCBXZWJQYWdlUHJveHk6OmZvbnRBdFNlbGVjdGlv
bihGdW5jdGlvbjx2b2lkKGNvbnN0IEZvbnRJbmZvJiwgZG91YmxlLCBib29sLCBDYWxsYmFja0Jh
c2U6OkVycm9yKT4mJiBjYWxsYmFjaykKK3ZvaWQgV2ViUGFnZVByb3h5Ojpmb250QXRTZWxlY3Rp
b24oQ29tcGxldGlvbkhhbmRsZXI8dm9pZChjb25zdCBGb250SW5mbyYsIGRvdWJsZSwgYm9vbCk+
JiYgY2FsbGJhY2spCiB7CiAgICAgaWYgKCFoYXNSdW5uaW5nUHJvY2VzcygpKSB7Ci0gICAgICAg
IGNhbGxiYWNrKHsgfSwgMCwgZmFsc2UsIENhbGxiYWNrQmFzZTo6RXJyb3I6OlVua25vd24pOwot
ICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgYXV0byBjYWxsYmFja0lEID0gbV9jYWxsYmFj
a3MucHV0KFdURk1vdmUoY2FsbGJhY2spLCBtX3Byb2Nlc3MtPnRocm90dGxlcigpLmJhY2tncm91
bmRBY3Rpdml0eSgiV2ViUGFnZVByb3h5Ojpmb250QXRTZWxlY3Rpb24iX3MpKTsKLSAgICBzZW5k
KE1lc3NhZ2VzOjpXZWJQYWdlOjpGb250QXRTZWxlY3Rpb24oY2FsbGJhY2tJRCkpOwotfQotCi12
b2lkIFdlYlBhZ2VQcm94eTo6Zm9udEF0U2VsZWN0aW9uQ2FsbGJhY2soY29uc3QgRm9udEluZm8m
IGZvbnRJbmZvLCBkb3VibGUgZm9udFNpemUsIGJvb2wgc2VsZWN0aW9uSGFzTXVsdGlwbGVGb250
cywgQ2FsbGJhY2tJRCBjYWxsYmFja0lEKQotewotICAgIGF1dG8gY2FsbGJhY2sgPSBtX2NhbGxi
YWNrcy50YWtlPEZvbnRBdFNlbGVjdGlvbkNhbGxiYWNrPihjYWxsYmFja0lEKTsKLSAgICBpZiAo
IWNhbGxiYWNrKSB7Ci0gICAgICAgIC8vIEZJWE1FOiBMb2cgZXJyb3Igb3IgYXNzZXJ0LgorICAg
ICAgICBjYWxsYmFjayh7IH0sIDAsIGZhbHNlKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAot
ICAgIGNhbGxiYWNrLT5wZXJmb3JtQ2FsbGJhY2tXaXRoUmV0dXJuVmFsdWUoZm9udEluZm8sIGZv
bnRTaXplLCBzZWxlY3Rpb25IYXNNdWx0aXBsZUZvbnRzKTsKKyAgICBzZW5kV2l0aEFzeW5jUmVw
bHkoTWVzc2FnZXM6OldlYlBhZ2U6OkZvbnRBdFNlbGVjdGlvbigpLCBXVEZNb3ZlKGNhbGxiYWNr
KSk7CiB9CiAKIFN0cmluZyBXZWJQYWdlUHJveHk6OnN0cmluZ1NlbGVjdGlvbkZvclBhc3RlYm9h
cmQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCmluZGV4IGI2
ZThmZWEwZjk0NDNhMzRlZjhlYjhlMTMwZDM1YjEwZmEwZTdiMjAuLmNmMmI0OTZhYzk1ZGFmMmNh
NWQ5NTA0ZTQzZWI5YjQ0N2YwYTU5MmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmgKQEAgLTkwMyw4ICs5MDMsOCBAQCBwdWJsaWM6CiAjZW5kaWYKIAogI2lm
IFBMQVRGT1JNKE1BQykKLSAgICB2b2lkIGF0dHJpYnV0ZWRTdWJzdHJpbmdGb3JDaGFyYWN0ZXJS
YW5nZUFzeW5jKGNvbnN0IEVkaXRpbmdSYW5nZSYsIENhbGxiYWNrSUQpOwotICAgIHZvaWQgZm9u
dEF0U2VsZWN0aW9uKENhbGxiYWNrSUQpOworICAgIHZvaWQgYXR0cmlidXRlZFN1YnN0cmluZ0Zv
ckNoYXJhY3RlclJhbmdlQXN5bmMoY29uc3QgRWRpdGluZ1JhbmdlJiwgQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZChjb25zdCBXZWJDb3JlOjpBdHRyaWJ1dGVkU3RyaW5nJiwgY29uc3QgRWRpdGluZ1Jh
bmdlJik+JiYpOworICAgIHZvaWQgZm9udEF0U2VsZWN0aW9uKENvbXBsZXRpb25IYW5kbGVyPHZv
aWQoY29uc3QgRm9udEluZm8mLCBkb3VibGUsIGJvb2wpPiYmKTsKICNlbmRpZgogCiAjaWYgUExB
VEZPUk0oQ09DT0EpICYmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbiBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KaW5kZXggMDM3
NmFkNDA3MTI1NTkzOWFlZmI1ZmM0ZDFhNDA3YzdiNTY0ZDRmYi4uZDJlZGY4YTAyNzZhZWNiNmI3
ZDhkZTY3YjM5MTZlOTdkYmNlYzU2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCkBAIC00NTcsOCArNDU3LDggQEAgR2Vu
ZXJhdGVTeW50aGV0aWNFZGl0aW5nQ29tbWFuZChlbnVtOnVpbnQ4X3QgV2ViS2l0OjpTeW50aGV0
aWNFZGl0aW5nQ29tbWFuZFR5cGUKICAgICBDb25maXJtQ29tcG9zaXRpb25Bc3luYygpCiAjZW5k
aWYKICNpZiBQTEFURk9STShNQUMpCi0gICAgQXR0cmlidXRlZFN1YnN0cmluZ0ZvckNoYXJhY3Rl
clJhbmdlQXN5bmMoc3RydWN0IFdlYktpdDo6RWRpdGluZ1JhbmdlIHJhbmdlLCBXZWJLaXQ6OkNh
bGxiYWNrSUQgY2FsbGJhY2tJRCk7Ci0gICAgRm9udEF0U2VsZWN0aW9uKFdlYktpdDo6Q2FsbGJh
Y2tJRCBjYWxsYmFja0lEKQorICAgIEF0dHJpYnV0ZWRTdWJzdHJpbmdGb3JDaGFyYWN0ZXJSYW5n
ZUFzeW5jKHN0cnVjdCBXZWJLaXQ6OkVkaXRpbmdSYW5nZSByYW5nZSkgLT4gKHN0cnVjdCBXZWJD
b3JlOjpBdHRyaWJ1dGVkU3RyaW5nIHN0cmluZywgc3RydWN0IFdlYktpdDo6RWRpdGluZ1Jhbmdl
IHJhbmdlKSBBc3luYworICAgIEZvbnRBdFNlbGVjdGlvbigpIC0+IChzdHJ1Y3QgV2ViS2l0OjpG
b250SW5mbyBmb250SW5mbywgZG91YmxlIGZvbnRTaXplLCBib29sIHNlbGVjdGlvbkhhc011bHRp
cGxlRm9udHMpIEFzeW5jCiAjZW5kaWYKIAogICAgIFNldEFsd2F5c1Nob3dzSG9yaXpvbnRhbFNj
cm9sbGVyKGJvb2wgYWx3YXlzU2hvd3NIb3Jpem9udGFsU2Nyb2xsZXIpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV2ViUGFnZU1hYy5tbSBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XZWJQYWdlTWFjLm1tCmluZGV4IGExNzI5
ZjVjNjIwNWQxNmQ3ZmE5OThhNjUzNmE4NGM4ZmE0ODA0NTQuLjExMTkxMGQwMTZkZGRiNDgyNGZh
MTYzODNmNGRkYjljNDYwZDBkNzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQYWdlL21hYy9XZWJQYWdlTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQYWdlL21hYy9XZWJQYWdlTWFjLm1tCkBAIC0zMjksMTkgKzMyOSwxOSBAQCB2b2lkIFdl
YlBhZ2U6OnNlbmRDb21wbGV4VGV4dElucHV0VG9QbHVnaW4odWludDY0X3QgcGx1Z2luQ29tcGxl
eFRleHRJbnB1dElkZW50aQogICAgIH0KIH0KIAotdm9pZCBXZWJQYWdlOjphdHRyaWJ1dGVkU3Vi
c3RyaW5nRm9yQ2hhcmFjdGVyUmFuZ2VBc3luYyhjb25zdCBFZGl0aW5nUmFuZ2UmIGVkaXRpbmdS
YW5nZSwgQ2FsbGJhY2tJRCBjYWxsYmFja0lEKQordm9pZCBXZWJQYWdlOjphdHRyaWJ1dGVkU3Vi
c3RyaW5nRm9yQ2hhcmFjdGVyUmFuZ2VBc3luYyhjb25zdCBFZGl0aW5nUmFuZ2UmIGVkaXRpbmdS
YW5nZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChjb25zdCBXZWJDb3JlOjpBdHRyaWJ1dGVkU3Ry
aW5nJiwgY29uc3QgRWRpdGluZ1JhbmdlJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCiB7CiAgICAg
RnJhbWUmIGZyYW1lID0gbV9wYWdlLT5mb2N1c0NvbnRyb2xsZXIoKS5mb2N1c2VkT3JNYWluRnJh
bWUoKTsKIAogICAgIGNvbnN0IFZpc2libGVTZWxlY3Rpb24mIHNlbGVjdGlvbiA9IGZyYW1lLnNl
bGVjdGlvbigpLnNlbGVjdGlvbigpOwogICAgIGlmIChzZWxlY3Rpb24uaXNOb25lKCkgfHwgIXNl
bGVjdGlvbi5pc0NvbnRlbnRFZGl0YWJsZSgpIHx8IHNlbGVjdGlvbi5pc0luUGFzc3dvcmRGaWVs
ZCgpKSB7Ci0gICAgICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6QXR0cmlidXRlZFN0
cmluZ0ZvckNoYXJhY3RlclJhbmdlQ2FsbGJhY2soeyB9LCBFZGl0aW5nUmFuZ2UoKSwgY2FsbGJh
Y2tJRCkpOworICAgICAgICBjb21wbGV0aW9uSGFuZGxlcih7IH0sIHsgfSk7CiAgICAgICAgIHJl
dHVybjsKICAgICB9CiAKICAgICBhdXRvIHJhbmdlID0gRWRpdGluZ1JhbmdlOjp0b1JhbmdlKGZy
YW1lLCBlZGl0aW5nUmFuZ2UpOwogICAgIGlmICghcmFuZ2UpIHsKLSAgICAgICAgc2VuZChNZXNz
YWdlczo6V2ViUGFnZVByb3h5OjpBdHRyaWJ1dGVkU3RyaW5nRm9yQ2hhcmFjdGVyUmFuZ2VDYWxs
YmFjayh7IH0sIEVkaXRpbmdSYW5nZSgpLCBjYWxsYmFja0lEKSk7CisgICAgICAgIGNvbXBsZXRp
b25IYW5kbGVyKHsgfSwgeyB9KTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtMzYwLDQy
ICszNjAsNDIgQEAgdm9pZCBXZWJQYWdlOjphdHRyaWJ1dGVkU3Vic3RyaW5nRm9yQ2hhcmFjdGVy
UmFuZ2VBc3luYyhjb25zdCBFZGl0aW5nUmFuZ2UmIGVkaXQKICAgICBBU1NFUlQocmFuZ2VUb1Nl
bmQuaXNWYWxpZCgpKTsKICAgICBpZiAoIXJhbmdlVG9TZW5kLmlzVmFsaWQoKSkgewogICAgICAg
ICAvLyBTZW5kIGFuIGVtcHR5IEVkaXRpbmdSYW5nZSBhcyBhIGxhc3QgcmVzb3J0IGZvciA8cmRh
cjovL3Byb2JsZW0vMjcwNzgwODk+LgotICAgICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJv
eHk6OkF0dHJpYnV0ZWRTdHJpbmdGb3JDaGFyYWN0ZXJSYW5nZUNhbGxiYWNrKHsgV1RGTW92ZShh
dHRyaWJ1dGVkU3RyaW5nKSwgbmlsIH0sIEVkaXRpbmdSYW5nZSgpLCBjYWxsYmFja0lEKSk7Cisg
ICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKHsgV1RGTW92ZShhdHRyaWJ1dGVkU3RyaW5nKSwgbmls
IH0sIEVkaXRpbmdSYW5nZSgpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIHNlbmQo
TWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6QXR0cmlidXRlZFN0cmluZ0ZvckNoYXJhY3RlclJhbmdl
Q2FsbGJhY2soeyBXVEZNb3ZlKGF0dHJpYnV0ZWRTdHJpbmcpLCBuaWwgfSwgcmFuZ2VUb1NlbmQs
IGNhbGxiYWNrSUQpKTsKKyAgICBjb21wbGV0aW9uSGFuZGxlcih7IFdURk1vdmUoYXR0cmlidXRl
ZFN0cmluZyksIG5pbCB9LCByYW5nZVRvU2VuZCk7CiB9CiAKLXZvaWQgV2ViUGFnZTo6Zm9udEF0
U2VsZWN0aW9uKENhbGxiYWNrSUQgY2FsbGJhY2tJRCkKK3ZvaWQgV2ViUGFnZTo6Zm9udEF0U2Vs
ZWN0aW9uKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoY29uc3QgRm9udEluZm8mLCBkb3VibGUsIGJv
b2wpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIGJvb2wgc2VsZWN0aW9uSGFzTXVsdGlw
bGVGb250cyA9IGZhbHNlOwogICAgIGF1dG8mIGZyYW1lID0gbV9wYWdlLT5mb2N1c0NvbnRyb2xs
ZXIoKS5mb2N1c2VkT3JNYWluRnJhbWUoKTsKIAogICAgIGlmIChmcmFtZS5zZWxlY3Rpb24oKS5z
ZWxlY3Rpb24oKS5pc05vbmUoKSkgewotICAgICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJv
eHk6OkZvbnRBdFNlbGVjdGlvbkNhbGxiYWNrKHsgfSwgMCwgZmFsc2UsIGNhbGxiYWNrSUQpKTsK
KyAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoeyB9LCAwLCBmYWxzZSk7CiAgICAgICAgIHJldHVy
bjsKICAgICB9CiAKICAgICBhdXRvKiBmb250ID0gZnJhbWUuZWRpdG9yKCkuZm9udEZvclNlbGVj
dGlvbihzZWxlY3Rpb25IYXNNdWx0aXBsZUZvbnRzKTsKICAgICBpZiAoIWZvbnQpIHsKLSAgICAg
ICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpGb250QXRTZWxlY3Rpb25DYWxsYmFjayh7
IH0sIDAsIGZhbHNlLCBjYWxsYmFja0lEKSk7CisgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKHsg
fSwgMCwgZmFsc2UpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgYXV0byBjdEZvbnQg
PSBmb250LT5nZXRDVEZvbnQoKTsKICAgICBpZiAoIWN0Rm9udCkgewotICAgICAgICBzZW5kKE1l
c3NhZ2VzOjpXZWJQYWdlUHJveHk6OkZvbnRBdFNlbGVjdGlvbkNhbGxiYWNrKHsgfSwgMCwgZmFs
c2UsIGNhbGxiYWNrSUQpKTsKKyAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoeyB9LCAwLCBmYWxz
ZSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBhdXRvIGZvbnREZXNjcmlwdG9yID0g
YWRvcHRDRihDVEZvbnRDb3B5Rm9udERlc2NyaXB0b3IoY3RGb250KSk7CiAgICAgaWYgKCFmb250
RGVzY3JpcHRvcikgewotICAgICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkZvbnRB
dFNlbGVjdGlvbkNhbGxiYWNrKHsgfSwgMCwgZmFsc2UsIGNhbGxiYWNrSUQpKTsKKyAgICAgICAg
Y29tcGxldGlvbkhhbmRsZXIoeyB9LCAwLCBmYWxzZSk7CiAgICAgICAgIHJldHVybjsKICAgICB9
CiAKLSAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkZvbnRBdFNlbGVjdGlvbkNhbGxi
YWNrKHsgYWRvcHRDRihDVEZvbnREZXNjcmlwdG9yQ29weUF0dHJpYnV0ZXMoZm9udERlc2NyaXB0
b3IuZ2V0KCkpKSB9LCBDVEZvbnRHZXRTaXplKGN0Rm9udCksIHNlbGVjdGlvbkhhc011bHRpcGxl
Rm9udHMsIGNhbGxiYWNrSUQpKTsKKyAgICBjb21wbGV0aW9uSGFuZGxlcih7IGFkb3B0Q0YoQ1RG
b250RGVzY3JpcHRvckNvcHlBdHRyaWJ1dGVzKGZvbnREZXNjcmlwdG9yLmdldCgpKSkgfSwgQ1RG
b250R2V0U2l6ZShjdEZvbnQpLCBzZWxlY3Rpb25IYXNNdWx0aXBsZUZvbnRzKTsKIH0KICAgICAK
IAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>