<?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>109989</bug_id>
          
          <creation_ts>2013-02-15 17:08:29 -0800</creation_ts>
          <short_desc>Autogenerate Settings that call setNeedsRecalcStyleInAllFrames when set</short_desc>
          <delta_ts>2013-02-21 14:23:06 -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>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="Tony Chang">tony</reporter>
          <assigned_to name="Tony Chang">tony</assigned_to>
          <cc>buildbot</cc>
    
    <cc>philn</cc>
    
    <cc>rego+ews</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>834516</commentid>
    <comment_count>0</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2013-02-15 17:08:29 -0800</bug_when>
    <thetext>Autogenerate Settings that call setNeedsRecalcStyleInAllFrames when set</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>834525</commentid>
    <comment_count>1</comment_count>
      <attachid>188672</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2013-02-15 17:16:00 -0800</bug_when>
    <thetext>Created attachment 188672
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>834995</commentid>
    <comment_count>2</comment_count>
      <attachid>188672</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-02-17 08:52:50 -0800</bug_when>
    <thetext>Comment on attachment 188672
Patch

Attachment 188672 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/16593871

New failing tests:
inspector/styles/stylesheet-tracking.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>835672</commentid>
    <comment_count>3</comment_count>
      <attachid>188672</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-02-18 12:04:53 -0800</bug_when>
    <thetext>Comment on attachment 188672
Patch

Attachment 188672 did not pass win-ews (win):
Output: http://queues.webkit.org/results/16611345</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>837781</commentid>
    <comment_count>4</comment_count>
      <attachid>189384</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2013-02-20 14:49:40 -0800</bug_when>
    <thetext>Created attachment 189384
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>837782</commentid>
    <comment_count>5</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2013-02-20 14:50:11 -0800</bug_when>
    <thetext>rebase and run against the try bots again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>837956</commentid>
    <comment_count>6</comment_count>
      <attachid>189419</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2013-02-20 17:06:30 -0800</bug_when>
    <thetext>Created attachment 189419
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>838102</commentid>
    <comment_count>7</comment_count>
      <attachid>189419</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-02-20 19:34:21 -0800</bug_when>
    <thetext>Comment on attachment 189419
Patch

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

&gt; Source/WebCore/page/Settings.in:36
&gt; +minimumFontSize type=int, initial=0, setNeedsStyleRecalcWhenSetting=1

It&apos;s kind of redundant to say &quot;WhenSetting&quot; since this is Settings.in. I would have preferred to communicate the fact we&apos;re going to do that in all frames instead.
i.e. setNeedsStyleRecalcInAllFrames.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>838140</commentid>
    <comment_count>8</comment_count>
      <attachid>189419</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-02-20 21:48:57 -0800</bug_when>
    <thetext>Comment on attachment 189419
Patch

r=me with the comment above.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>838679</commentid>
    <comment_count>9</comment_count>
      <attachid>189419</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-02-21 12:13:09 -0800</bug_when>
    <thetext>Comment on attachment 189419
Patch

Attachment 189419 did not pass win-ews (win):
Output: http://queues.webkit.org/results/16693233</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>838789</commentid>
    <comment_count>10</comment_count>
      <attachid>189593</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2013-02-21 13:44:50 -0800</bug_when>
    <thetext>Created attachment 189593
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>838790</commentid>
    <comment_count>11</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2013-02-21 13:45:09 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; (From update of attachment 189419 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=189419&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/page/Settings.in:36
&gt; &gt; +minimumFontSize type=int, initial=0, setNeedsStyleRecalcWhenSetting=1
&gt; 
&gt; It&apos;s kind of redundant to say &quot;WhenSetting&quot; since this is Settings.in. I would have preferred to communicate the fact we&apos;re going to do that in all frames instead.
&gt; i.e. setNeedsStyleRecalcInAllFrames.

Thanks! I renamed to setNeedsStyleRecalcInAllFrames and added the exports for Win.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>838845</commentid>
    <comment_count>12</comment_count>
      <attachid>189593</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-21 14:23:02 -0800</bug_when>
    <thetext>Comment on attachment 189593
Patch for landing

Clearing flags on attachment: 189593

Committed r143652: &lt;http://trac.webkit.org/changeset/143652&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>838846</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-21 14:23:06 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>188672</attachid>
            <date>2013-02-15 17:16:00 -0800</date>
            <delta_ts>2013-02-20 14:49:38 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-109989-20130215171226.patch</filename>
            <type>text/plain</type>
            <size>20960</size>
            <attacher name="Tony Chang">tony</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQzMDIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTE0N2JlZGVhOGRlZTRm
ZmQ3ZjlhNTgzZWYzN2Y2MTUzZjY1YTY5OS4uZTUyMzAwZDVhODIyZTA2ZWM5OWI0MDcwNTQ5NzJk
YjI5ZDQ2YzY4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEzLTAyLTE1ICBUb255
IENoYW5nICA8dG9ueUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQXV0b2dlbmVyYXRlIFNldHRp
bmdzIHRoYXQgY2FsbCBzZXROZWVkc1JlY2FsY1N0eWxlSW5BbGxGcmFtZXMgd2hlbiBzZXQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwOTk4OQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFN0YXJ0IGdlbmVy
YXRpbmcgdGhlIGNvZGUgZm9yIHNldHRpbmdzIHRoYXQgY2FsbCBtX3BhZ2UtPnNldE5lZWRzUmVj
YWxjU3R5bGVJbkFsbEZyYW1lcygpCisgICAgICAgIHdoZW4gdGhlIHZhbHVlIGlzIGNoYW5nZWQu
IFRoaXMgYWxsb3dzIHVzIHRvIGdlbmVyYXRlIDExIG1vcmUgc2V0dGluZ3MgYW5kIGZpeCBzb21l
IG1pbm9yCisgICAgICAgIGJ1Z3MgbGlrZSBUZXh0QXV0b3NpemluZ0ZvbnRTY2FsZUZhY3RvciBh
bHdheXMgcmVjYWxjaW5nIHN0eWxlIHdoZW4gdGhlIHZhbHVlIGRvZXNuJ3QgY2hhbmdlLgorCisg
ICAgICAgIE5vIG5ldyB0ZXN0cywgdGhpcyBpcyBhIGJ1aWxkIHJlZmFjdG9yIGFuZCBzaG91bGQg
bm90IGltcGFjdCBhbnkgdGVzdCByZXN1bHRzLgorCisgICAgICAgICogcGFnZS9TZXR0aW5ncy5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpTZXR0aW5nczo6U2V0dGluZ3MpOiBSZW1vdmUgbWVtYmVy
IHZhcmlhYmxlcy4gQWRkIFNFVFRJTkdTX1NFVFRFUl9CT0RJRVMgbWFjcm8gdGhhdAorICAgICAg
ICBoYXMgdGhlIGdlbmVyYXRlZCBzZXR0ZXIgYm9kaWVzLgorICAgICAgICAqIHBhZ2UvU2V0dGlu
Z3MuaDoKKyAgICAgICAgKFNldHRpbmdzKTogUmVtb3ZlIGNvZGUgdGhhdCBpcyBub3cgZ2VuZXJh
dGVkLgorICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuaW46IEFkZCBuZXcgZW50cmllcyB3aXRoIHNl
dE5lZWRzU3R5bGVSZWNhbGNXaGVuU2V0dGluZz0xCisgICAgICAgICogcGFnZS9tYWtlX3NldHRp
bmdzLnBsOgorICAgICAgICAoZGVmYXVsdEl0ZW1GYWN0b3J5KTogQWRkIHNldE5lZWRzU3R5bGVS
ZWNhbGNXaGVuU2V0dGluZyBmbGFnLgorICAgICAgICAoZ2VuZXJhdGVTZXR0aW5nc01hY3Jvc0hl
YWRlcik6IFByaW50IG1hY3JvIGZvciBzZXR0ZXIgYm9kaWVzLgorICAgICAgICAocHJpbnRDb25k
aXRpb25hbE1hY3Jvcyk6IEFkZCBzZXR0ZXIgYm9keSBjb2RlLgorICAgICAgICAocHJpbnRHZXR0
ZXJzQW5kU2V0dGVycyk6IFBhc3MgaW4gc2V0TmVlZHNTdHlsZVJlY2FsY1doZW5TZXR0aW5nIHNv
IHdlIGtub3cgd2hldGhlciB0byBpbmxpbmUgdGhlCisgICAgICAgIHNldHRlciBpbiB0aGUgaGVh
ZGVyIG9yIG5vdC4KKyAgICAgICAgKHByaW50R2V0dGVyQW5kU2V0dGVyKTogRGl0dG8uCisgICAg
ICAgIChwcmludFNldHRlckJvZGllcyk6IFByaW50IG1hY3JvIGZvciBzZXR0ZXIgYm9kaWVzLgor
ICAgICAgICAocHJpbnRTZXR0ZXJCb2R5KTogUHJpbnQgc2V0dGVyIGJvZHkgZm9yIGEgc2luZ2xl
IHNldHRpbmcuCisKIDIwMTMtMDItMTUgIEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBhcHBs
ZS5jb20+CiAKICAgICAgICAgQ3Jhc2ggb2NjdXJzIGF0IFdlYkNvcmU6OlRleHRUcmFja0xpc3Q6
Omxlbmd0aCgpIHdoZW4gZW5hYmxpbmcgY2xvc2VkIGNhcHRpb25zIGluIG1vdmllCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvU2V0dGluZ3MuY3BwCmluZGV4IGZmY2RhMzQ1ZTZlNDVkOGUwOTE2OTM0YTQyNGVkNjQ4YTgw
Y2RkZjIuLmJlOGM2MGRjMTdlMTdiNmYyOTNiYzg5MjIzOTNhZjU3NjVhYmE0ODQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvU2V0dGluZ3MuY3BwCkBAIC0xNDQsMTQgKzE0NCw4IEBAIHN0YXRpYyBjb25zdCBkb3Vi
bGUgZGVmYXVsdFVuaWZpZWRUZXh0Q2hlY2tlckVuYWJsZWQgPSBmYWxzZTsKIFNldHRpbmdzOjpT
ZXR0aW5ncyhQYWdlKiBwYWdlKQogICAgIDogbV9wYWdlKDApCiAgICAgLCBtX21lZGlhVHlwZU92
ZXJyaWRlKCJzY3JlZW4iKQotICAgICwgbV9taW5pbXVtRm9udFNpemUoMCkKLSAgICAsIG1fbWlu
aW11bUxvZ2ljYWxGb250U2l6ZSgwKQotICAgICwgbV9kZWZhdWx0Rm9udFNpemUoMCkKLSAgICAs
IG1fZGVmYXVsdEZpeGVkRm9udFNpemUoMCkKLSAgICAsIG1fc2NyZWVuRm9udFN1YnN0aXR1dGlv
bkVuYWJsZWQodHJ1ZSkKICAgICAsIG1fc3RvcmFnZUJsb2NraW5nUG9saWN5KFNlY3VyaXR5T3Jp
Z2luOjpBbGxvd0FsbFN0b3JhZ2UpCiAjaWYgRU5BQkxFKFRFWFRfQVVUT1NJWklORykKLSAgICAs
IG1fdGV4dEF1dG9zaXppbmdGb250U2NhbGVGYWN0b3IoMSkKICNpZiBIQUNLX0ZPUkNFX1RFWFRf
QVVUT1NJWklOR19PTl9ERVNLVE9QCiAgICAgLCBtX3RleHRBdXRvc2l6aW5nV2luZG93U2l6ZU92
ZXJyaWRlKDMyMCwgNDgwKQogICAgICwgbV90ZXh0QXV0b3NpemluZ0VuYWJsZWQodHJ1ZSkKQEAg
LTE2OCwxMSArMTYyLDkgQEAgU2V0dGluZ3M6OlNldHRpbmdzKFBhZ2UqIHBhZ2UpCiAgICAgLCBt
X2lzTWVkaWFFbmFibGVkKHRydWUpCiAgICAgLCBtX2FyZVBsdWdpbnNFbmFibGVkKGZhbHNlKQog
ICAgICwgbV9pc1NjcmlwdEVuYWJsZWQoZmFsc2UpCi0gICAgLCBtX3RleHRBcmVhc0FyZVJlc2l6
YWJsZShmYWxzZSkKICAgICAsIG1fbmVlZHNBZG9iZUZyYW1lUmVsb2FkaW5nUXVpcmsoZmFsc2Up
CiAgICAgLCBtX2lzRE9NUGFzdGVBbGxvd2VkKGZhbHNlKQogICAgICwgbV91c2VzUGFnZUNhY2hl
KGZhbHNlKQotICAgICwgbV9hdXRob3JBbmRVc2VyU3R5bGVzRW5hYmxlZCh0cnVlKQogICAgICwg
bV9mb250UmVuZGVyaW5nTW9kZSgwKQogICAgICwgbV9pbkFwcGxpY2F0aW9uQ2hyb21lTW9kZShm
YWxzZSkKICAgICAsIG1faXNDU1NDdXN0b21GaWx0ZXJFbmFibGVkKGZhbHNlKQpAQCAtMTgyLDkg
KzE3NCw2IEBAIFNldHRpbmdzOjpTZXR0aW5ncyhQYWdlKiBwYWdlKQogI2lmIEVOQUJMRShDU1Nf
VkFSSUFCTEVTKQogICAgICwgbV9jc3NWYXJpYWJsZXNFbmFibGVkKGZhbHNlKQogI2VuZGlmCi0g
ICAgLCBtX2FjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkKHRydWUpCi0gICAgLCBtX3Nob3dE
ZWJ1Z0JvcmRlcnMoZmFsc2UpCi0gICAgLCBtX3Nob3dSZXBhaW50Q291bnRlcihmYWxzZSkKICAg
ICAsIG1fc2hvd1RpbGVkU2Nyb2xsaW5nSW5kaWNhdG9yKGZhbHNlKQogICAgICwgbV90aWxlZEJh
Y2tpbmdTdG9yZUVuYWJsZWQoZmFsc2UpCiAgICAgLCBtX2Ruc1ByZWZldGNoaW5nRW5hYmxlZChm
YWxzZSkKQEAgLTIxMCw2ICsxOTksOCBAQCBQYXNzT3duUHRyPFNldHRpbmdzPiBTZXR0aW5nczo6
Y3JlYXRlKFBhZ2UqIHBhZ2UpCiAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBTZXR0aW5ncyhwYWdl
KSk7CiB9IAogCitTRVRUSU5HU19TRVRURVJfQk9ESUVTCisKIHZvaWQgU2V0dGluZ3M6OnNldEhp
ZGRlblBhZ2VET01UaW1lckFsaWdubWVudEludGVydmFsKGRvdWJsZSBoaWRkZW5QYWdlRE9NVGlt
ZXJBbGlnbm1lbnRpbnRlcnZhbCkKIHsKICAgICBnSGlkZGVuUGFnZURPTVRpbWVyQWxpZ25tZW50
SW50ZXJ2YWwgPSBoaWRkZW5QYWdlRE9NVGltZXJBbGlnbm1lbnRpbnRlcnZhbDsKQEAgLTI5Nyw1
MSArMjg4LDYgQEAgdm9pZCBTZXR0aW5nczo6c2V0UGljdG9ncmFwaEZvbnRGYW1pbHkoY29uc3Qg
QXRvbWljU3RyaW5nJiBmYW1pbHksIFVTY3JpcHRDb2RlIHMKICAgICBzZXRHZW5lcmljRm9udEZh
bWlseU1hcChtX3BpY3RvZ3JhcGhGb250RmFtaWx5TWFwLCBmYW1pbHksIHNjcmlwdCwgbV9wYWdl
KTsKIH0KIAotdm9pZCBTZXR0aW5nczo6c2V0TWluaW11bUZvbnRTaXplKGludCBtaW5pbXVtRm9u
dFNpemUpCi17Ci0gICAgaWYgKG1fbWluaW11bUZvbnRTaXplID09IG1pbmltdW1Gb250U2l6ZSkK
LSAgICAgICAgcmV0dXJuOwotCi0gICAgbV9taW5pbXVtRm9udFNpemUgPSBtaW5pbXVtRm9udFNp
emU7Ci0gICAgbV9wYWdlLT5zZXROZWVkc1JlY2FsY1N0eWxlSW5BbGxGcmFtZXMoKTsKLX0KLQot
dm9pZCBTZXR0aW5nczo6c2V0TWluaW11bUxvZ2ljYWxGb250U2l6ZShpbnQgbWluaW11bUxvZ2lj
YWxGb250U2l6ZSkKLXsKLSAgICBpZiAobV9taW5pbXVtTG9naWNhbEZvbnRTaXplID09IG1pbmlt
dW1Mb2dpY2FsRm9udFNpemUpCi0gICAgICAgIHJldHVybjsKLQotICAgIG1fbWluaW11bUxvZ2lj
YWxGb250U2l6ZSA9IG1pbmltdW1Mb2dpY2FsRm9udFNpemU7Ci0gICAgbV9wYWdlLT5zZXROZWVk
c1JlY2FsY1N0eWxlSW5BbGxGcmFtZXMoKTsKLX0KLQotdm9pZCBTZXR0aW5nczo6c2V0RGVmYXVs
dEZvbnRTaXplKGludCBkZWZhdWx0Rm9udFNpemUpCi17Ci0gICAgaWYgKG1fZGVmYXVsdEZvbnRT
aXplID09IGRlZmF1bHRGb250U2l6ZSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgbV9kZWZhdWx0
Rm9udFNpemUgPSBkZWZhdWx0Rm9udFNpemU7Ci0gICAgbV9wYWdlLT5zZXROZWVkc1JlY2FsY1N0
eWxlSW5BbGxGcmFtZXMoKTsKLX0KLQotdm9pZCBTZXR0aW5nczo6c2V0RGVmYXVsdEZpeGVkRm9u
dFNpemUoaW50IGRlZmF1bHRGb250U2l6ZSkKLXsKLSAgICBpZiAobV9kZWZhdWx0Rml4ZWRGb250
U2l6ZSA9PSBkZWZhdWx0Rm9udFNpemUpCi0gICAgICAgIHJldHVybjsKLQotICAgIG1fZGVmYXVs
dEZpeGVkRm9udFNpemUgPSBkZWZhdWx0Rm9udFNpemU7Ci0gICAgbV9wYWdlLT5zZXROZWVkc1Jl
Y2FsY1N0eWxlSW5BbGxGcmFtZXMoKTsKLX0KLQotdm9pZCBTZXR0aW5nczo6c2V0U2NyZWVuRm9u
dFN1YnN0aXR1dGlvbkVuYWJsZWQoYm9vbCBzY3JlZW5Gb250U3Vic3RpdHV0aW9uRW5hYmxlZCkK
LXsKLSAgICBpZiAobV9zY3JlZW5Gb250U3Vic3RpdHV0aW9uRW5hYmxlZCA9PSBzY3JlZW5Gb250
U3Vic3RpdHV0aW9uRW5hYmxlZCkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgbV9zY3JlZW5Gb250
U3Vic3RpdHV0aW9uRW5hYmxlZCA9IHNjcmVlbkZvbnRTdWJzdGl0dXRpb25FbmFibGVkOwotICAg
IG1fcGFnZS0+c2V0TmVlZHNSZWNhbGNTdHlsZUluQWxsRnJhbWVzKCk7Ci19Ci0KICNpZiBFTkFC
TEUoVEVYVF9BVVRPU0laSU5HKQogdm9pZCBTZXR0aW5nczo6c2V0VGV4dEF1dG9zaXppbmdFbmFi
bGVkKGJvb2wgdGV4dEF1dG9zaXppbmdFbmFibGVkKQogewpAQCAtMzYwLDEzICszMDYsNiBAQCB2
b2lkIFNldHRpbmdzOjpzZXRUZXh0QXV0b3NpemluZ1dpbmRvd1NpemVPdmVycmlkZShjb25zdCBJ
bnRTaXplJiB0ZXh0QXV0b3NpemluZwogICAgIG1fdGV4dEF1dG9zaXppbmdXaW5kb3dTaXplT3Zl
cnJpZGUgPSB0ZXh0QXV0b3NpemluZ1dpbmRvd1NpemVPdmVycmlkZTsKICAgICBtX3BhZ2UtPnNl
dE5lZWRzUmVjYWxjU3R5bGVJbkFsbEZyYW1lcygpOwogfQotCi12b2lkIFNldHRpbmdzOjpzZXRU
ZXh0QXV0b3NpemluZ0ZvbnRTY2FsZUZhY3RvcihmbG9hdCBmb250U2NhbGVGYWN0b3IpCi17Ci0g
ICAgbV90ZXh0QXV0b3NpemluZ0ZvbnRTY2FsZUZhY3RvciA9IGZvbnRTY2FsZUZhY3RvcjsKLSAg
ICBtX3BhZ2UtPnNldE5lZWRzUmVjYWxjU3R5bGVJbkFsbEZyYW1lcygpOwotfQotCiAjZW5kaWYK
IAogdm9pZCBTZXR0aW5nczo6c2V0UmVzb2x1dGlvbk92ZXJyaWRlKGNvbnN0IEludFNpemUmIGRl
bnNpdHlQZXJJbmNoT3ZlcnJpZGUpCkBAIC00NjYsMTUgKzQwNSw2IEBAIHZvaWQgU2V0dGluZ3M6
OnNldFVzZXJTdHlsZVNoZWV0TG9jYXRpb24oY29uc3QgS1VSTCYgdXNlclN0eWxlU2hlZXRMb2Nh
dGlvbikKICAgICBtX3BhZ2UtPnVzZXJTdHlsZVNoZWV0TG9jYXRpb25DaGFuZ2VkKCk7CiB9CiAK
LXZvaWQgU2V0dGluZ3M6OnNldFRleHRBcmVhc0FyZVJlc2l6YWJsZShib29sIHRleHRBcmVhc0Fy
ZVJlc2l6YWJsZSkKLXsKLSAgICBpZiAobV90ZXh0QXJlYXNBcmVSZXNpemFibGUgPT0gdGV4dEFy
ZWFzQXJlUmVzaXphYmxlKQotICAgICAgICByZXR1cm47Ci0KLSAgICBtX3RleHRBcmVhc0FyZVJl
c2l6YWJsZSA9IHRleHRBcmVhc0FyZVJlc2l6YWJsZTsKLSAgICBtX3BhZ2UtPnNldE5lZWRzUmVj
YWxjU3R5bGVJbkFsbEZyYW1lcygpOwotfQotCiAvLyBGSVhNRTogVGhpcyBxdWlyayBpcyBuZWVk
ZWQgYmVjYXVzZSBvZiBSYWRhciA0Njc0NTM3IGFuZCA1MjExMjcxLiBXZSBuZWVkIHRvIHBoYXNl
IGl0IG91dCBvbmNlIEFkb2JlCiAvLyBjYW4gZml4IHRoZSBidWcgZnJvbSB0aGVpciBlbmQuCiB2
b2lkIFNldHRpbmdzOjpzZXROZWVkc0Fkb2JlRnJhbWVSZWxvYWRpbmdRdWlyayhib29sIHNob3Vs
ZE5vdFJlbG9hZElGcmFtZXNGb3JVbmNoYW5nZWRTUkMpCkBAIC01NDIsMTUgKzQ3Miw2IEBAIHZv
aWQgU2V0dGluZ3M6OnNldFVzZXNQYWdlQ2FjaGUoYm9vbCB1c2VzUGFnZUNhY2hlKQogICAgIH0K
IH0KIAotdm9pZCBTZXR0aW5nczo6c2V0QXV0aG9yQW5kVXNlclN0eWxlc0VuYWJsZWQoYm9vbCBh
dXRob3JBbmRVc2VyU3R5bGVzRW5hYmxlZCkKLXsKLSAgICBpZiAobV9hdXRob3JBbmRVc2VyU3R5
bGVzRW5hYmxlZCA9PSBhdXRob3JBbmRVc2VyU3R5bGVzRW5hYmxlZCkKLSAgICAgICAgcmV0dXJu
OwotCi0gICAgbV9hdXRob3JBbmRVc2VyU3R5bGVzRW5hYmxlZCA9IGF1dGhvckFuZFVzZXJTdHls
ZXNFbmFibGVkOwotICAgIG1fcGFnZS0+c2V0TmVlZHNSZWNhbGNTdHlsZUluQWxsRnJhbWVzKCk7
Ci19Ci0KIHZvaWQgU2V0dGluZ3M6OnNldEZvbnRSZW5kZXJpbmdNb2RlKEZvbnRSZW5kZXJpbmdN
b2RlIG1vZGUpCiB7CiAgICAgaWYgKGZvbnRSZW5kZXJpbmdNb2RlKCkgPT0gbW9kZSkKQEAgLTU4
NSwzMyArNTA2LDYgQEAgdm9pZCBTZXR0aW5nczo6c2V0RE5TUHJlZmV0Y2hpbmdFbmFibGVkKGJv
b2wgZG5zUHJlZmV0Y2hpbmdFbmFibGVkKQogICAgIG1fcGFnZS0+ZG5zUHJlZmV0Y2hpbmdTdGF0
ZUNoYW5nZWQoKTsKIH0KIAotdm9pZCBTZXR0aW5nczo6c2V0QWNjZWxlcmF0ZWRDb21wb3NpdGlu
Z0VuYWJsZWQoYm9vbCBlbmFibGVkKQotewotICAgIGlmIChtX2FjY2VsZXJhdGVkQ29tcG9zaXRp
bmdFbmFibGVkID09IGVuYWJsZWQpCi0gICAgICAgIHJldHVybjsKLSAgICAgICAgCi0gICAgbV9h
Y2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZCA9IGVuYWJsZWQ7Ci0gICAgbV9wYWdlLT5zZXRO
ZWVkc1JlY2FsY1N0eWxlSW5BbGxGcmFtZXMoKTsKLX0KLQotdm9pZCBTZXR0aW5nczo6c2V0U2hv
d0RlYnVnQm9yZGVycyhib29sIGVuYWJsZWQpCi17Ci0gICAgaWYgKG1fc2hvd0RlYnVnQm9yZGVy
cyA9PSBlbmFibGVkKQotICAgICAgICByZXR1cm47Ci0gICAgICAgIAotICAgIG1fc2hvd0RlYnVn
Qm9yZGVycyA9IGVuYWJsZWQ7Ci0gICAgbV9wYWdlLT5zZXROZWVkc1JlY2FsY1N0eWxlSW5BbGxG
cmFtZXMoKTsKLX0KLQotdm9pZCBTZXR0aW5nczo6c2V0U2hvd1JlcGFpbnRDb3VudGVyKGJvb2wg
ZW5hYmxlZCkKLXsKLSAgICBpZiAobV9zaG93UmVwYWludENvdW50ZXIgPT0gZW5hYmxlZCkKLSAg
ICAgICAgcmV0dXJuOwotICAgICAgICAKLSAgICBtX3Nob3dSZXBhaW50Q291bnRlciA9IGVuYWJs
ZWQ7Ci0gICAgbV9wYWdlLT5zZXROZWVkc1JlY2FsY1N0eWxlSW5BbGxGcmFtZXMoKTsKLX0KLQog
dm9pZCBTZXR0aW5nczo6c2V0U2hvd1RpbGVkU2Nyb2xsaW5nSW5kaWNhdG9yKGJvb2wgZW5hYmxl
ZCkKIHsKICAgICBpZiAobV9zaG93VGlsZWRTY3JvbGxpbmdJbmRpY2F0b3IgPT0gZW5hYmxlZCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvU2V0dGluZ3MuaAppbmRleCAxYWFhMjg2YTllMzAyOTJjMThmZTExOWUyOGI3ZjAw
Mzc5MmIyYTczLi41ZWViNGU1N2Y1N2YwOWZmNjRlYjY0MmEwOGU1MTRjNDhhYjQwNjEyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9TZXR0aW5ncy5oCkBAIC05NCwyOCArOTQsMTAgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgICAgICB2b2lkIHNldFBpY3RvZ3JhcGhGb250RmFtaWx5KGNvbnN0IEF0b21pY1N0cmlu
ZyYsIFVTY3JpcHRDb2RlID0gVVNDUklQVF9DT01NT04pOwogICAgICAgICBjb25zdCBBdG9taWNT
dHJpbmcmIHBpY3RvZ3JhcGhGb250RmFtaWx5KFVTY3JpcHRDb2RlID0gVVNDUklQVF9DT01NT04p
IGNvbnN0OwogCi0gICAgICAgIHZvaWQgc2V0TWluaW11bUZvbnRTaXplKGludCk7Ci0gICAgICAg
IGludCBtaW5pbXVtRm9udFNpemUoKSBjb25zdCB7IHJldHVybiBtX21pbmltdW1Gb250U2l6ZTsg
fQotCi0gICAgICAgIHZvaWQgc2V0TWluaW11bUxvZ2ljYWxGb250U2l6ZShpbnQpOwotICAgICAg
ICBpbnQgbWluaW11bUxvZ2ljYWxGb250U2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fbWluaW11bUxv
Z2ljYWxGb250U2l6ZTsgfQotCi0gICAgICAgIHZvaWQgc2V0RGVmYXVsdEZvbnRTaXplKGludCk7
Ci0gICAgICAgIGludCBkZWZhdWx0Rm9udFNpemUoKSBjb25zdCB7IHJldHVybiBtX2RlZmF1bHRG
b250U2l6ZTsgfQotCi0gICAgICAgIHZvaWQgc2V0RGVmYXVsdEZpeGVkRm9udFNpemUoaW50KTsK
LSAgICAgICAgaW50IGRlZmF1bHRGaXhlZEZvbnRTaXplKCkgY29uc3QgeyByZXR1cm4gbV9kZWZh
dWx0Rml4ZWRGb250U2l6ZTsgfQotCi0gICAgICAgIHZvaWQgc2V0U2NyZWVuRm9udFN1YnN0aXR1
dGlvbkVuYWJsZWQoYm9vbCk7Ci0gICAgICAgIGJvb2wgc2NyZWVuRm9udFN1YnN0aXR1dGlvbkVu
YWJsZWQoKSBjb25zdCB7IHJldHVybiBtX3NjcmVlbkZvbnRTdWJzdGl0dXRpb25FbmFibGVkOyB9
Ci0KICNpZiBFTkFCTEUoVEVYVF9BVVRPU0laSU5HKQogICAgICAgICB2b2lkIHNldFRleHRBdXRv
c2l6aW5nRW5hYmxlZChib29sKTsKICAgICAgICAgYm9vbCB0ZXh0QXV0b3NpemluZ0VuYWJsZWQo
KSBjb25zdCB7IHJldHVybiBtX3RleHRBdXRvc2l6aW5nRW5hYmxlZDsgfQogCi0gICAgICAgIHZv
aWQgc2V0VGV4dEF1dG9zaXppbmdGb250U2NhbGVGYWN0b3IoZmxvYXQpOwotICAgICAgICBmbG9h
dCB0ZXh0QXV0b3NpemluZ0ZvbnRTY2FsZUZhY3RvcigpIGNvbnN0IHsgcmV0dXJuIG1fdGV4dEF1
dG9zaXppbmdGb250U2NhbGVGYWN0b3I7IH0KLQogICAgICAgICAvLyBPbmx5IHNldCBieSBMYXlv
dXQgVGVzdHMsIGFuZCBvbmx5IHVzZWQgaWYgdGV4dEF1dG9zaXppbmdFbmFibGVkKCkgcmV0dXJu
cyB0cnVlLgogICAgICAgICB2b2lkIHNldFRleHRBdXRvc2l6aW5nV2luZG93U2l6ZU92ZXJyaWRl
KGNvbnN0IEludFNpemUmKTsKICAgICAgICAgY29uc3QgSW50U2l6ZSYgdGV4dEF1dG9zaXppbmdX
aW5kb3dTaXplT3ZlcnJpZGUoKSBjb25zdCB7IHJldHVybiBtX3RleHRBdXRvc2l6aW5nV2luZG93
U2l6ZU92ZXJyaWRlOyB9CkBAIC0xODAsOSArMTYyLDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgICAgICB2b2lkIHNldFVzZXJTdHlsZVNoZWV0TG9jYXRpb24oY29uc3QgS1VSTCYpOwogICAg
ICAgICBjb25zdCBLVVJMJiB1c2VyU3R5bGVTaGVldExvY2F0aW9uKCkgY29uc3QgeyByZXR1cm4g
bV91c2VyU3R5bGVTaGVldExvY2F0aW9uOyB9CiAKLSAgICAgICAgdm9pZCBzZXRUZXh0QXJlYXNB
cmVSZXNpemFibGUoYm9vbCk7Ci0gICAgICAgIGJvb2wgdGV4dEFyZWFzQXJlUmVzaXphYmxlKCkg
Y29uc3QgeyByZXR1cm4gbV90ZXh0QXJlYXNBcmVSZXNpemFibGU7IH0KLQogICAgICAgICB2b2lk
IHNldE5lZWRzQWRvYmVGcmFtZVJlbG9hZGluZ1F1aXJrKGJvb2wpOwogICAgICAgICBib29sIG5l
ZWRzQWNyb2JhdEZyYW1lUmVsb2FkaW5nUXVpcmsoKSBjb25zdCB7IHJldHVybiBtX25lZWRzQWRv
YmVGcmFtZVJlbG9hZGluZ1F1aXJrOyB9CiAKQEAgLTIwNyw5ICsxODYsNiBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAgICAgICAgIHZvaWQgc2V0VXNlc1BhZ2VDYWNoZShib29sKTsKICAgICAgICAg
Ym9vbCB1c2VzUGFnZUNhY2hlKCkgY29uc3QgeyByZXR1cm4gbV91c2VzUGFnZUNhY2hlOyB9CiAg
ICAgICAgIAotICAgICAgICB2b2lkIHNldEF1dGhvckFuZFVzZXJTdHlsZXNFbmFibGVkKGJvb2wp
OwotICAgICAgICBib29sIGF1dGhvckFuZFVzZXJTdHlsZXNFbmFibGVkKCkgY29uc3QgeyByZXR1
cm4gbV9hdXRob3JBbmRVc2VyU3R5bGVzRW5hYmxlZDsgfQotICAgICAgICAKICAgICAgICAgdm9p
ZCBzZXRGb250UmVuZGVyaW5nTW9kZShGb250UmVuZGVyaW5nTW9kZSBtb2RlKTsKICAgICAgICAg
Rm9udFJlbmRlcmluZ01vZGUgZm9udFJlbmRlcmluZ01vZGUoKSBjb25zdDsKIApAQCAtMjM1LDE1
ICsyMTEsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIGJvb2wgY3NzVmFyaWFibGVz
RW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAjZW5kaWYKIAotICAgICAgICB2b2lk
IHNldEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkKGJvb2wpOwotICAgICAgICBib29sIGFj
Y2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9hY2NlbGVyYXRl
ZENvbXBvc2l0aW5nRW5hYmxlZDsgfQotCi0gICAgICAgIHZvaWQgc2V0U2hvd0RlYnVnQm9yZGVy
cyhib29sKTsKLSAgICAgICAgYm9vbCBzaG93RGVidWdCb3JkZXJzKCkgY29uc3QgeyByZXR1cm4g
bV9zaG93RGVidWdCb3JkZXJzOyB9Ci0KLSAgICAgICAgdm9pZCBzZXRTaG93UmVwYWludENvdW50
ZXIoYm9vbCk7Ci0gICAgICAgIGJvb2wgc2hvd1JlcGFpbnRDb3VudGVyKCkgY29uc3QgeyByZXR1
cm4gbV9zaG93UmVwYWludENvdW50ZXI7IH0KLQogICAgICAgICB2b2lkIHNldFNob3dUaWxlZFNj
cm9sbGluZ0luZGljYXRvcihib29sKTsKICAgICAgICAgYm9vbCBzaG93VGlsZWRTY3JvbGxpbmdJ
bmRpY2F0b3IoKSBjb25zdCB7IHJldHVybiBtX3Nob3dUaWxlZFNjcm9sbGluZ0luZGljYXRvcjsg
fQogCkBAIC0zMTksMTQgKzI4Niw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgU2Ny
aXB0Rm9udEZhbWlseU1hcCBtX2N1cnNpdmVGb250RmFtaWx5TWFwOwogICAgICAgICBTY3JpcHRG
b250RmFtaWx5TWFwIG1fZmFudGFzeUZvbnRGYW1pbHlNYXA7CiAgICAgICAgIFNjcmlwdEZvbnRG
YW1pbHlNYXAgbV9waWN0b2dyYXBoRm9udEZhbWlseU1hcDsKLSAgICAgICAgaW50IG1fbWluaW11
bUZvbnRTaXplOwotICAgICAgICBpbnQgbV9taW5pbXVtTG9naWNhbEZvbnRTaXplOwotICAgICAg
ICBpbnQgbV9kZWZhdWx0Rm9udFNpemU7Ci0gICAgICAgIGludCBtX2RlZmF1bHRGaXhlZEZvbnRT
aXplOwotICAgICAgICBib29sIG1fc2NyZWVuRm9udFN1YnN0aXR1dGlvbkVuYWJsZWQ7CiAgICAg
ICAgIFNlY3VyaXR5T3JpZ2luOjpTdG9yYWdlQmxvY2tpbmdQb2xpY3kgbV9zdG9yYWdlQmxvY2tp
bmdQb2xpY3k7CiAjaWYgRU5BQkxFKFRFWFRfQVVUT1NJWklORykKLSAgICAgICAgZmxvYXQgbV90
ZXh0QXV0b3NpemluZ0ZvbnRTY2FsZUZhY3RvcjsKICAgICAgICAgSW50U2l6ZSBtX3RleHRBdXRv
c2l6aW5nV2luZG93U2l6ZU92ZXJyaWRlOwogICAgICAgICBib29sIG1fdGV4dEF1dG9zaXppbmdF
bmFibGVkIDogMTsKICNlbmRpZgpAQCAtMzQyLDExICszMDMsOSBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAgICAgICAgIGJvb2wgbV9pc01lZGlhRW5hYmxlZCA6IDE7CiAgICAgICAgIGJvb2wgbV9h
cmVQbHVnaW5zRW5hYmxlZCA6IDE7CiAgICAgICAgIGJvb2wgbV9pc1NjcmlwdEVuYWJsZWQgOiAx
OwotICAgICAgICBib29sIG1fdGV4dEFyZWFzQXJlUmVzaXphYmxlIDogMTsKICAgICAgICAgYm9v
bCBtX25lZWRzQWRvYmVGcmFtZVJlbG9hZGluZ1F1aXJrIDogMTsKICAgICAgICAgYm9vbCBtX2lz
RE9NUGFzdGVBbGxvd2VkIDogMTsKICAgICAgICAgYm9vbCBtX3VzZXNQYWdlQ2FjaGUgOiAxOwot
ICAgICAgICBib29sIG1fYXV0aG9yQW5kVXNlclN0eWxlc0VuYWJsZWQgOiAxOwogICAgICAgICB1
bnNpZ25lZCBtX2ZvbnRSZW5kZXJpbmdNb2RlIDogMTsKICAgICAgICAgYm9vbCBtX2luQXBwbGlj
YXRpb25DaHJvbWVNb2RlIDogMTsKICAgICAgICAgYm9vbCBtX2lzQ1NTQ3VzdG9tRmlsdGVyRW5h
YmxlZCA6IDE7CkBAIC0zNTYsOSArMzE1LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogI2lmIEVO
QUJMRShDU1NfVkFSSUFCTEVTKQogICAgICAgICBib29sIG1fY3NzVmFyaWFibGVzRW5hYmxlZCA6
IDE7CiAjZW5kaWYKLSAgICAgICAgYm9vbCBtX2FjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVk
IDogMTsKLSAgICAgICAgYm9vbCBtX3Nob3dEZWJ1Z0JvcmRlcnMgOiAxOwotICAgICAgICBib29s
IG1fc2hvd1JlcGFpbnRDb3VudGVyIDogMTsKICAgICAgICAgYm9vbCBtX3Nob3dUaWxlZFNjcm9s
bGluZ0luZGljYXRvciA6IDE7CiAgICAgICAgIGJvb2wgbV90aWxlZEJhY2tpbmdTdG9yZUVuYWJs
ZWQgOiAxOwogICAgICAgICBib29sIG1fZG5zUHJlZmV0Y2hpbmdFbmFibGVkIDogMTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaW4gYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1NldHRpbmdzLmluCmluZGV4IGQyOTA0ZDBmODJmOTg4ZWFjMzZkNDIxOWNiMWU3ZjhhYTVk
YjA2MDYuLjVkNjk5ZTI5ODcyNzNiZTI1MDk0YmI1NTEzNjVhODA1MGUzMjhiMzMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaW4KKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9TZXR0aW5ncy5pbgpAQCAtMzMsNiArMzMsMTEgQEAgZGV2aWNlSGVpZ2h0IHR5cGU9aW50
LCBpbml0aWFsPTAKICMgc2luY2UgdGhlIG1lbW9yeSB1c2VkIHdvbid0IGJlIHJlbGVhc2VkIHVu
dGlsIHRoZSBQYWdlIGlzIGRlc3Ryb3llZC4KIHNlc3Npb25TdG9yYWdlUXVvdGEgdHlwZT11bnNp
Z25lZCwgaW5pdGlhbD1TdG9yYWdlTWFwOjpub1F1b3RhCiAKK21pbmltdW1Gb250U2l6ZSB0eXBl
PWludCwgaW5pdGlhbD0wLCBzZXROZWVkc1N0eWxlUmVjYWxjV2hlblNldHRpbmc9MQorbWluaW11
bUxvZ2ljYWxGb250U2l6ZSB0eXBlPWludCwgaW5pdGlhbD0wLCBzZXROZWVkc1N0eWxlUmVjYWxj
V2hlblNldHRpbmc9MQorZGVmYXVsdEZvbnRTaXplIHR5cGU9aW50LCBpbml0aWFsPTAsIHNldE5l
ZWRzU3R5bGVSZWNhbGNXaGVuU2V0dGluZz0xCitkZWZhdWx0Rml4ZWRGb250U2l6ZSB0eXBlPWlu
dCwgaW5pdGlhbD0wLCBzZXROZWVkc1N0eWxlUmVjYWxjV2hlblNldHRpbmc9MQorCiBlZGl0aW5n
QmVoYXZpb3JUeXBlIHR5cGU9RWRpdGluZ0JlaGF2aW9yVHlwZSwgaW5pdGlhbD1lZGl0aW5nQmVo
YXZpb3JUeXBlRm9yUGxhdGZvcm0oKQogbWF4aW11bUhUTUxQYXJzZXJET01UcmVlRGVwdGggdHlw
ZT11bnNpZ25lZCwgaW5pdGlhbD1kZWZhdWx0TWF4aW11bUhUTUxQYXJzZXJET01UcmVlRGVwdGgK
IApAQCAtNTAsNiArNTUsMTQgQEAgamF2YVNjcmlwdENhbkFjY2Vzc0NsaXBib2FyZCBpbml0aWFs
PWZhbHNlCiBzaG91bGRQcmludEJhY2tncm91bmRzIGluaXRpYWw9ZmFsc2UKIHVzZXNEYXNoYm9h
cmRCYWNrd2FyZENvbXBhdGliaWxpdHlNb2RlIGluaXRpYWw9ZmFsc2UsIGNvbmRpdGlvbmFsPURB
U0hCT0FSRF9TVVBQT1JUCiAKK3NjcmVlbkZvbnRTdWJzdGl0dXRpb25FbmFibGVkIGluaXRpYWw9
dHJ1ZSwgc2V0TmVlZHNTdHlsZVJlY2FsY1doZW5TZXR0aW5nPTEKK3RleHRBdXRvc2l6aW5nRm9u
dFNjYWxlRmFjdG9yIHR5cGU9ZmxvYXQsIGluaXRpYWw9MSwgc2V0TmVlZHNTdHlsZVJlY2FsY1do
ZW5TZXR0aW5nPTEsIGNvbmRpdGlvbmFsPVRFWFRfQVVUT1NJWklORwordGV4dEFyZWFzQXJlUmVz
aXphYmxlIGluaXRpYWw9ZmFsc2UsIHNldE5lZWRzU3R5bGVSZWNhbGNXaGVuU2V0dGluZz0xCith
dXRob3JBbmRVc2VyU3R5bGVzRW5hYmxlZCBpbml0aWFsPXRydWUsIHNldE5lZWRzU3R5bGVSZWNh
bGNXaGVuU2V0dGluZz0xCithY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZCBpbml0aWFsPXRy
dWUsIHNldE5lZWRzU3R5bGVSZWNhbGNXaGVuU2V0dGluZz0xCitzaG93RGVidWdCb3JkZXJzIGlu
aXRpYWw9ZmFsc2UsIHNldE5lZWRzU3R5bGVSZWNhbGNXaGVuU2V0dGluZz0xCitzaG93UmVwYWlu
dENvdW50ZXIgaW5pdGlhbD1mYWxzZSwgc2V0TmVlZHNTdHlsZVJlY2FsY1doZW5TZXR0aW5nPTEK
KwogIyBUaGlzIGlzIGEgcXVpcmsgd2UgYXJlIHByby1hY3RpdmVseSBhcHBseWluZyB0byBvbGQg
YXBwbGljYXRpb25zLiBJdCBjaGFuZ2VzIGtleWJvYXJkIGV2ZW50IGRpc3BhdGNoaW5nLAogIyBt
YWtpbmcga2V5SWRlbnRpZmllciBhdmFpbGFibGUgb24ga2V5cHJlc3MgZXZlbnRzLCBtYWtpbmcg
Y2hhckNvZGUgYXZhaWxhYmxlIG9uIGtleWRvd24va2V5dXAgZXZlbnRzLAogIyBhbmQgZ2V0dGlu
ZyBrZXlwcmVzcyBkaXNwYXRjaGVkIGluIG1vcmUgY2FzZXMuCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL21ha2Vfc2V0dGluZ3MucGwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21ha2Vf
c2V0dGluZ3MucGwKaW5kZXggYzhkYjI2NzZlZmEwMDA5MzkxODJiZGEzNDk5OTk5ZTliOGIzMmVi
Mi4uOTkwNDAzODUwMjg2NTQ4ODVhZTdjMDgxNjRhYjgxMWZhZTkwMDcxMyAxMDA3NTUKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9tYWtlX3NldHRpbmdzLnBsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvbWFrZV9zZXR0aW5ncy5wbApAQCAtNDUsNyArNDUsOCBAQCBzdWIgZGVmYXVsdEl0ZW1G
YWN0b3J5CiAgICAgcmV0dXJuICgKICAgICAgICAgJ2NvbmRpdGlvbmFsJyA9PiAwLAogICAgICAg
ICAnaW5pdGlhbCcgPT4gJycsCi0gICAgICAgICd0eXBlJyA9PiAnYm9vbCcKKyAgICAgICAgJ3R5
cGUnID0+ICdib29sJywKKyAgICAgICAgJ3NldE5lZWRzU3R5bGVSZWNhbGNXaGVuU2V0dGluZycg
PT4gMCwKICAgICApOwogfQogCkBAIC0xMDIsNiArMTAzLDcgQEAgc3ViIGdlbmVyYXRlU2V0dGlu
Z3NNYWNyb3NIZWFkZXIoJCkKICAgICBwcmludEdldHRlcnNBbmRTZXR0ZXJzKCRmaWxlLCBcJXVu
Y29uZGl0aW9uYWxTZXR0aW5ncywgXCVzZXR0aW5nc0J5Q29uZGl0aW9uYWwsICRwYXJzZWRJdGVt
c1JlZik7CiAgICAgcHJpbnRNZW1iZXJWYXJpYWJsZXMoJGZpbGUsIFwldW5jb25kaXRpb25hbFNl
dHRpbmdzLCBcJXNldHRpbmdzQnlDb25kaXRpb25hbCwgJHBhcnNlZEl0ZW1zUmVmKTsKICAgICBw
cmludEluaXRpYWxpemVyTGlzdCgkZmlsZSwgXCV1bmNvbmRpdGlvbmFsU2V0dGluZ3MsIFwlc2V0
dGluZ3NCeUNvbmRpdGlvbmFsLCAkcGFyc2VkSXRlbXNSZWYpOworICAgIHByaW50U2V0dGVyQm9k
aWVzKCRmaWxlLCBcJXVuY29uZGl0aW9uYWxTZXR0aW5ncywgXCVzZXR0aW5nc0J5Q29uZGl0aW9u
YWwsICRwYXJzZWRJdGVtc1JlZik7CiAKICAgICBwcmludCAkZmlsZSAiI2VuZGlmIC8vIFNldHRp
bmdzTWFjcm9zX2hcbiI7CiAKQEAgLTEyMCw3ICsxMjIsNyBAQCBzdWIgcHJpbnRDb25kaXRpb25h
bE1hY3JvcygkJCQpCiAKICAgICAgICAgcHJpbnQgJGZpbGUgIiNkZWZpbmUgJHtwcmVmZXJyZWRD
b25kaXRpb25hbH1fU0VUVElOR1NfR0VUVEVSX0FORF9TRVRURVJTIFxcXG4iOwogICAgICAgICBm
b3IgbXkgJHNldHRpbmdOYW1lIChzb3J0IGtleXMgJXsgJHNldHRpbmdzQnlDb25kaXRpb25hbHsk
Y29uZGl0aW9uYWx9IH0pIHsKLSAgICAgICAgICAgIHByaW50R2V0dGVyQW5kU2V0dGVyKCRmaWxl
LCAkc2V0dGluZ05hbWUsICRwYXJzZWRJdGVtc3skc2V0dGluZ05hbWV9eyJ0eXBlIn0pOworICAg
ICAgICAgICAgcHJpbnRHZXR0ZXJBbmRTZXR0ZXIoJGZpbGUsICRzZXR0aW5nTmFtZSwgJHBhcnNl
ZEl0ZW1zeyRzZXR0aW5nTmFtZX17InR5cGUifSwgJHBhcnNlZEl0ZW1zeyRzZXR0aW5nTmFtZX17
InNldE5lZWRzU3R5bGVSZWNhbGNXaGVuU2V0dGluZyJ9KTsKICAgICAgICAgfQogICAgICAgICBw
cmludCAkZmlsZSAiLy8gRW5kIG9mICR7cHJlZmVycmVkQ29uZGl0aW9uYWx9X1NFVFRJTkdTX0dF
VFRFUl9BTkRfU0VUVEVSU1xuIjsKIApAQCAtMTUzLDEyICsxNTUsMTkgQEAgc3ViIHByaW50Q29u
ZGl0aW9uYWxNYWNyb3MoJCQkKQogICAgICAgICB9CiAgICAgICAgIHByaW50ICRmaWxlICIvLyBF
bmQgb2YgJHtwcmVmZXJyZWRDb25kaXRpb25hbH1fU0VUVElOR1NfQk9PTF9JTklUSUFMSVpFUlNc
biI7CiAKKyAgICAgICAgcHJpbnQgJGZpbGUgIiNkZWZpbmUgJHtwcmVmZXJyZWRDb25kaXRpb25h
bH1fU0VUVElOR1NfU0VUVEVSX0JPRElFUyBcXFxuIjsKKyAgICAgICAgZm9yIG15ICRzZXR0aW5n
TmFtZSAoc29ydCBrZXlzICV7ICRzZXR0aW5nc0J5Q29uZGl0aW9uYWx7JGNvbmRpdGlvbmFsfSB9
KSB7CisgICAgICAgICAgICBwcmludFNldHRlckJvZHkoJGZpbGUsICRzZXR0aW5nTmFtZSwgJHBh
cnNlZEl0ZW1zeyRzZXR0aW5nTmFtZX17InR5cGUifSwgJHBhcnNlZEl0ZW1zeyRzZXR0aW5nTmFt
ZX17InNldE5lZWRzU3R5bGVSZWNhbGNXaGVuU2V0dGluZyJ9KTsKKyAgICAgICAgfQorICAgICAg
ICBwcmludCAkZmlsZSAiLy8gRW5kIG9mICR7cHJlZmVycmVkQ29uZGl0aW9uYWx9X1NFVFRJTkdT
X1NFVFRFUl9CT0RJRVNcbiI7CisKICAgICAgICAgcHJpbnQgJGZpbGUgIiNlbHNlXG4iOwogICAg
ICAgICBwcmludCAkZmlsZSAiI2RlZmluZSAke3ByZWZlcnJlZENvbmRpdGlvbmFsfV9TRVRUSU5H
U19HRVRURVJfQU5EX1NFVFRFUlNcbiI7CiAgICAgICAgIHByaW50ICRmaWxlICIjZGVmaW5lICR7
cHJlZmVycmVkQ29uZGl0aW9uYWx9X1NFVFRJTkdTX05PTl9CT09MX01FTUJFUl9WQVJJQUJMRVNc
biI7CiAgICAgICAgIHByaW50ICRmaWxlICIjZGVmaW5lICR7cHJlZmVycmVkQ29uZGl0aW9uYWx9
X1NFVFRJTkdTX0JPT0xfTUVNQkVSX1ZBUklBQkxFU1xuIjsKICAgICAgICAgcHJpbnQgJGZpbGUg
IiNkZWZpbmUgJHtwcmVmZXJyZWRDb25kaXRpb25hbH1fU0VUVElOR1NfTk9OX0JPT0xfSU5JVElB
TElaRVJTXG4iOwogICAgICAgICBwcmludCAkZmlsZSAiI2RlZmluZSAke3ByZWZlcnJlZENvbmRp
dGlvbmFsfV9TRVRUSU5HU19CT09MX0lOSVRJQUxJWkVSU1xuIjsKKyAgICAgICAgcHJpbnQgJGZp
bGUgIiNkZWZpbmUgJHtwcmVmZXJyZWRDb25kaXRpb25hbH1fU0VUVElOR1NfU0VUVEVSX0JPRElF
U1xuIjsKICAgICAgICAgcHJpbnQgJGZpbGUgIiNlbmRpZlxuIjsKICAgICAgICAgcHJpbnQgJGZp
bGUgIlxuIjsKICAgICB9CkBAIC0xNzMsNyArMTgyLDcgQEAgc3ViIHByaW50R2V0dGVyc0FuZFNl
dHRlcnMoJCQkJCkKIAogICAgIHByaW50ICRmaWxlICIjZGVmaW5lIFNFVFRJTkdTX0dFVFRFUlNf
QU5EX1NFVFRFUlMgXFxcbiI7CiAgICAgZm9yIG15ICRzZXR0aW5nTmFtZSAoc29ydCBrZXlzICV1
bmNvbmRpdGlvbmFsU2V0dGluZ3MpIHsKLSAgICAgICAgcHJpbnRHZXR0ZXJBbmRTZXR0ZXIoJGZp
bGUsICRzZXR0aW5nTmFtZSwgJHBhcnNlZEl0ZW1zeyRzZXR0aW5nTmFtZX17InR5cGUifSk7Cisg
ICAgICAgIHByaW50R2V0dGVyQW5kU2V0dGVyKCRmaWxlLCAkc2V0dGluZ05hbWUsICRwYXJzZWRJ
dGVtc3skc2V0dGluZ05hbWV9eyJ0eXBlIn0sICRwYXJzZWRJdGVtc3skc2V0dGluZ05hbWV9eyJz
ZXROZWVkc1N0eWxlUmVjYWxjV2hlblNldHRpbmcifSk7CiAgICAgfQogICAgIGZvciBteSAkY29u
ZGl0aW9uYWwgKHNvcnQga2V5cyAlc2V0dGluZ3NCeUNvbmRpdGlvbmFsKSB7CiAgICAgICAgIG15
ICRwcmVmZXJyZWRDb25kaXRpb25hbCA9ICRJbkNvbXBpbGVyLT5wcmVmZXJyZWRDb25kaXRpb25h
bCgkY29uZGl0aW9uYWwpOwpAQCAtMjIyLDE2ICsyMzEsMjEgQEAgc3ViIHNldHRlckZ1bmN0aW9u
TmFtZSgkKQogICAgIHJldHVybiAkc2V0dGVyRnVuY3Rpb25OYW1lOwogfQogCi1zdWIgcHJpbnRH
ZXR0ZXJBbmRTZXR0ZXIoJCQkKQorc3ViIHByaW50R2V0dGVyQW5kU2V0dGVyKCQkJCQpCiB7Ci0g
ICAgbXkgKCRmaWxlLCAkc2V0dGluZ05hbWUsICR0eXBlKSA9IEBfOworICAgIG15ICgkZmlsZSwg
JHNldHRpbmdOYW1lLCAkdHlwZSwgJHNldE5lZWRzU3R5bGVSZWNhbGNXaGVuU2V0dGluZykgPSBA
XzsKICAgICBteSAkc2V0dGVyRnVuY3Rpb25OYW1lID0gc2V0dGVyRnVuY3Rpb25OYW1lKCRzZXR0
aW5nTmFtZSk7CiAgICAgaWYgKGxjKHN1YnN0cigkdHlwZSwgMCwgMSkpIGVxIHN1YnN0cigkdHlw
ZSwgMCwgMSkpIHsKICAgICAgICAgcHJpbnQgJGZpbGUgIiAgICAkdHlwZSAkc2V0dGluZ05hbWUo
KSBjb25zdCB7IHJldHVybiBtXyRzZXR0aW5nTmFtZTsgfSBcXFxuIjsKLSAgICAgICAgcHJpbnQg
JGZpbGUgIiAgICB2b2lkICRzZXR0ZXJGdW5jdGlvbk5hbWUoJHR5cGUgJHNldHRpbmdOYW1lKSB7
IG1fJHNldHRpbmdOYW1lID0gJHNldHRpbmdOYW1lOyB9IFxcXG4iOworICAgICAgICBwcmludCAk
ZmlsZSAiICAgIHZvaWQgJHNldHRlckZ1bmN0aW9uTmFtZSgkdHlwZSAkc2V0dGluZ05hbWUpIjsK
ICAgICB9IGVsc2UgewogICAgICAgICBwcmludCAkZmlsZSAiICAgIGNvbnN0ICR0eXBlJiAkc2V0
dGluZ05hbWUoKSB7IHJldHVybiBtXyRzZXR0aW5nTmFtZTsgfSBcXFxuIjsKLSAgICAgICAgcHJp
bnQgJGZpbGUgIiAgICB2b2lkICRzZXR0ZXJGdW5jdGlvbk5hbWUoY29uc3QgJHR5cGUmICRzZXR0
aW5nTmFtZSkgeyBtXyRzZXR0aW5nTmFtZSA9ICRzZXR0aW5nTmFtZTsgfSBcXFxuIjsKKyAgICAg
ICAgcHJpbnQgJGZpbGUgIiAgICB2b2lkICRzZXR0ZXJGdW5jdGlvbk5hbWUoY29uc3QgJHR5cGUm
ICRzZXR0aW5nTmFtZSkiOworICAgIH0KKyAgICBpZiAoJHNldE5lZWRzU3R5bGVSZWNhbGNXaGVu
U2V0dGluZykgeworICAgICAgICBwcmludCAkZmlsZSAiOyBcXFxuIjsKKyAgICB9IGVsc2Ugewor
ICAgICAgICBwcmludCAkZmlsZSAiIHsgbV8kc2V0dGluZ05hbWUgPSAkc2V0dGluZ05hbWU7IH0g
XFxcbiI7CiAgICAgfQogfQogCkBAIC0yNzQsNiArMjg4LDQzIEBAIHN1YiBwcmludEluaXRpYWxp
emVyKCQkJCkKICAgICBwcmludCAkZmlsZSAiICAgICwgbV8kc2V0dGluZ05hbWUoJGluaXRpYWxW
YWx1ZSkgXFxcbiIKIH0KIAorc3ViIHByaW50U2V0dGVyQm9kaWVzKCQkJCQpCit7CisgICAgbXkg
KCRmaWxlLCAkdW5jb25kaXRpb25hbFNldHRpbmdzUmVmLCAkc2V0dGluZ3NCeUNvbmRpdGlvbmFs
UmVmLCAkcGFyc2VkSXRlbXNSZWYpID0gQF87CisgICAgbXkgJXBhcnNlZEl0ZW1zID0gJXsgJHBh
cnNlZEl0ZW1zUmVmIH07CisgICAgbXkgJXVuY29uZGl0aW9uYWxTZXR0aW5ncyA9ICV7ICR1bmNv
bmRpdGlvbmFsU2V0dGluZ3NSZWYgfTsKKyAgICBteSAlc2V0dGluZ3NCeUNvbmRpdGlvbmFsID0g
JXsgJHNldHRpbmdzQnlDb25kaXRpb25hbFJlZiB9OworCisgICAgcHJpbnQgJGZpbGUgIiNkZWZp
bmUgU0VUVElOR1NfU0VUVEVSX0JPRElFUyBcXFxuIjsKKyAgICBmb3IgbXkgJHNldHRpbmdOYW1l
IChzb3J0IGtleXMgJXVuY29uZGl0aW9uYWxTZXR0aW5ncykgeworICAgICAgICBwcmludFNldHRl
ckJvZHkoJGZpbGUsICRzZXR0aW5nTmFtZSwgJHBhcnNlZEl0ZW1zeyRzZXR0aW5nTmFtZX17InR5
cGUifSwgJHBhcnNlZEl0ZW1zeyRzZXR0aW5nTmFtZX17InNldE5lZWRzU3R5bGVSZWNhbGNXaGVu
U2V0dGluZyJ9KTsKKyAgICB9CisgICAgZm9yIG15ICRjb25kaXRpb25hbCAoc29ydCBrZXlzICVz
ZXR0aW5nc0J5Q29uZGl0aW9uYWwpIHsKKyAgICAgICAgbXkgJHByZWZlcnJlZENvbmRpdGlvbmFs
ID0gJEluQ29tcGlsZXItPnByZWZlcnJlZENvbmRpdGlvbmFsKCRjb25kaXRpb25hbCk7CisgICAg
ICAgIHByaW50ICRmaWxlICIgICAgJHtwcmVmZXJyZWRDb25kaXRpb25hbH1fU0VUVElOR1NfU0VU
VEVSX0JPRElFUyBcXFxuIjsKKyAgICB9CisgICAgcHJpbnQgJGZpbGUgIi8vIEVuZCBvZiBTRVRU
SU5HU19TRVRURVJfQk9ESUVTLlxuXG4iOworfQorCitzdWIgcHJpbnRTZXR0ZXJCb2R5KCQkJCQp
Cit7CisgICAgbXkgKCRmaWxlLCAkc2V0dGluZ05hbWUsICR0eXBlLCAkc2V0TmVlZHNTdHlsZVJl
Y2FsY1doZW5TZXR0aW5nKSA9IEBfOworICAgIHJldHVybiBpZiAoISRzZXROZWVkc1N0eWxlUmVj
YWxjV2hlblNldHRpbmcpOworCisgICAgbXkgJHNldHRlckZ1bmN0aW9uTmFtZSA9IHNldHRlckZ1
bmN0aW9uTmFtZSgkc2V0dGluZ05hbWUpOworICAgIGlmIChsYyhzdWJzdHIoJHR5cGUsIDAsIDEp
KSBlcSBzdWJzdHIoJHR5cGUsIDAsIDEpKSB7CisgICAgICAgIHByaW50ICRmaWxlICJ2b2lkIFNl
dHRpbmdzOjokc2V0dGVyRnVuY3Rpb25OYW1lKCR0eXBlICRzZXR0aW5nTmFtZSkgXFxcbiI7Cisg
ICAgfSBlbHNlIHsKKyAgICAgICAgcHJpbnQgJGZpbGUgInZvaWQgU2V0dGluZ3M6OiRzZXR0ZXJG
dW5jdGlvbk5hbWUoY29uc3QgJHR5cGUmICRzZXR0aW5nTmFtZSkgXFxcbiI7CisgICAgfQorICAg
IHByaW50ICRmaWxlICJ7IFxcXG4iOworICAgIHByaW50ICRmaWxlICIgICAgaWYgKG1fJHNldHRp
bmdOYW1lID09ICRzZXR0aW5nTmFtZSkgXFxcbiI7CisgICAgcHJpbnQgJGZpbGUgIiAgICAgICAg
cmV0dXJuOyBcXFxuIjsKKyAgICBwcmludCAkZmlsZSAiICAgIG1fJHNldHRpbmdOYW1lID0gJHNl
dHRpbmdOYW1lOyBcXFxuIjsKKyAgICBwcmludCAkZmlsZSAiICAgIG1fcGFnZS0+c2V0TmVlZHNS
ZWNhbGNTdHlsZUluQWxsRnJhbWVzKCk7IFxcXG4iOworICAgIHByaW50ICRmaWxlICJ9IFxcXG4i
OworfQorCiBzdWIgZW51bWVyYXRlUGFyc2VkSXRlbXMoJCQkKQogewogICAgIG15ICgkZmlsZSwg
JHBhcnNlZEl0ZW1zUmVmLCAkdmlzaXRvckZ1bmN0aW9uKSA9IEBfOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>189384</attachid>
            <date>2013-02-20 14:49:40 -0800</date>
            <delta_ts>2013-02-20 17:06:28 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-109989-20130220144601.patch</filename>
            <type>text/plain</type>
            <size>19495</size>
            <attacher name="Tony Chang">tony</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQzNDgwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTgzNTExNjkxYTMyMjJk
Y2RiODQ3NDdkNDRhYTZkNjNmMTgwZjI3ZS4uZGE3ZTQ3NmUxYmQxYzQwNjcxNGNlN2FkNDhjZjQx
NDcxNGRjNzVjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEzLTAyLTIwICBUb255
IENoYW5nICA8dG9ueUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQXV0b2dlbmVyYXRlIFNldHRp
bmdzIHRoYXQgY2FsbCBzZXROZWVkc1JlY2FsY1N0eWxlSW5BbGxGcmFtZXMgd2hlbiBzZXQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwOTk4OQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFN0YXJ0IGdlbmVy
YXRpbmcgdGhlIGNvZGUgZm9yIHNldHRpbmdzIHRoYXQgY2FsbCBtX3BhZ2UtPnNldE5lZWRzUmVj
YWxjU3R5bGVJbkFsbEZyYW1lcygpCisgICAgICAgIHdoZW4gdGhlIHZhbHVlIGlzIGNoYW5nZWQu
IFRoaXMgYWxsb3dzIHVzIHRvIGdlbmVyYXRlIDEwIG1vcmUgc2V0dGluZ3MuIEFzIGEgZm9sbG93
IHVwLCB3ZQorICAgICAgICBjYW4gcmVtb3ZlIHNvbWUgbWV0aG9kcyBmcm9tIERSVC9XVFIgYWZ0
ZXIgdGhpcy4KKworICAgICAgICBObyBuZXcgdGVzdHMsIHRoaXMgaXMgYSBidWlsZCByZWZhY3Rv
ciBhbmQgc2hvdWxkIG5vdCBpbXBhY3QgYW55IHRlc3QgcmVzdWx0cy4KKworICAgICAgICAqIHBh
Z2UvU2V0dGluZ3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OlNldHRpbmdzKTog
UmVtb3ZlIG1lbWJlciB2YXJpYWJsZXMuIEFkZCBTRVRUSU5HU19TRVRURVJfQk9ESUVTIG1hY3Jv
IHRoYXQKKyAgICAgICAgaGFzIHRoZSBnZW5lcmF0ZWQgc2V0dGVyIGJvZGllcy4KKyAgICAgICAg
KiBwYWdlL1NldHRpbmdzLmg6CisgICAgICAgIChTZXR0aW5ncyk6IFJlbW92ZSBjb2RlIHRoYXQg
aXMgbm93IGdlbmVyYXRlZC4KKyAgICAgICAgKiBwYWdlL1NldHRpbmdzLmluOiBBZGQgbmV3IGVu
dHJpZXMgd2l0aCBzZXROZWVkc1N0eWxlUmVjYWxjV2hlblNldHRpbmc9MQorICAgICAgICAqIHBh
Z2UvbWFrZV9zZXR0aW5ncy5wbDoKKyAgICAgICAgKGRlZmF1bHRJdGVtRmFjdG9yeSk6IEFkZCBz
ZXROZWVkc1N0eWxlUmVjYWxjV2hlblNldHRpbmcgZmxhZy4KKyAgICAgICAgKGdlbmVyYXRlU2V0
dGluZ3NNYWNyb3NIZWFkZXIpOiBQcmludCBtYWNybyBmb3Igc2V0dGVyIGJvZGllcy4KKyAgICAg
ICAgKHByaW50Q29uZGl0aW9uYWxNYWNyb3MpOiBBZGQgc2V0dGVyIGJvZHkgY29kZS4KKyAgICAg
ICAgKHByaW50R2V0dGVyc0FuZFNldHRlcnMpOiBQYXNzIGluIHNldE5lZWRzU3R5bGVSZWNhbGNX
aGVuU2V0dGluZyBzbyB3ZSBrbm93IHdoZXRoZXIgdG8gaW5saW5lIHRoZQorICAgICAgICBzZXR0
ZXIgaW4gdGhlIGhlYWRlciBvciBub3QuCisgICAgICAgIChwcmludEdldHRlckFuZFNldHRlcik6
IERpdHRvLgorICAgICAgICAocHJpbnRTZXR0ZXJCb2RpZXMpOiBQcmludCBtYWNybyBmb3Igc2V0
dGVyIGJvZGllcy4KKyAgICAgICAgKHByaW50U2V0dGVyQm9keSk6IFByaW50IHNldHRlciBib2R5
IGZvciBhIHNpbmdsZSBzZXR0aW5nLgorCiAyMDEzLTAyLTIwICBPamFuIFZhZmFpICA8b2phbkBj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmVtb3ZlIHN0cmV0Y2hlc1RvTWluSW50cmluc2ljTG9n
aWNhbFdpZHRoCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCmluZGV4IDQwNzJjNGE1MWU0YjRlMjQ5
MjllMjk2ODZiNDhjNDM4Njc3N2YxM2QuLmE4NmIwYmY5YzQzYTY5ZGE4NzhlODYyM2RmYTNkYTEz
NGM4ZmQ3ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCkBAIC0xNDUsMTEgKzE0NSw2IEBA
IHN0YXRpYyBjb25zdCBkb3VibGUgZGVmYXVsdFVuaWZpZWRUZXh0Q2hlY2tlckVuYWJsZWQgPSBm
YWxzZTsKIFNldHRpbmdzOjpTZXR0aW5ncyhQYWdlKiBwYWdlKQogICAgIDogbV9wYWdlKDApCiAg
ICAgLCBtX21lZGlhVHlwZU92ZXJyaWRlKCJzY3JlZW4iKQotICAgICwgbV9taW5pbXVtRm9udFNp
emUoMCkKLSAgICAsIG1fbWluaW11bUxvZ2ljYWxGb250U2l6ZSgwKQotICAgICwgbV9kZWZhdWx0
Rm9udFNpemUoMCkKLSAgICAsIG1fZGVmYXVsdEZpeGVkRm9udFNpemUoMCkKLSAgICAsIG1fc2Ny
ZWVuRm9udFN1YnN0aXR1dGlvbkVuYWJsZWQodHJ1ZSkKICAgICAsIG1fc3RvcmFnZUJsb2NraW5n
UG9saWN5KFNlY3VyaXR5T3JpZ2luOjpBbGxvd0FsbFN0b3JhZ2UpCiAjaWYgRU5BQkxFKFRFWFRf
QVVUT1NJWklORykKICAgICAsIG1fdGV4dEF1dG9zaXppbmdGb250U2NhbGVGYWN0b3IoMSkKQEAg
LTE2OCwxMCArMTYzLDggQEAgU2V0dGluZ3M6OlNldHRpbmdzKFBhZ2UqIHBhZ2UpCiAgICAgLCBt
X2FyZUltYWdlc0VuYWJsZWQodHJ1ZSkKICAgICAsIG1fYXJlUGx1Z2luc0VuYWJsZWQoZmFsc2Up
CiAgICAgLCBtX2lzU2NyaXB0RW5hYmxlZChmYWxzZSkKLSAgICAsIG1fdGV4dEFyZWFzQXJlUmVz
aXphYmxlKGZhbHNlKQogICAgICwgbV9uZWVkc0Fkb2JlRnJhbWVSZWxvYWRpbmdRdWlyayhmYWxz
ZSkKICAgICAsIG1fdXNlc1BhZ2VDYWNoZShmYWxzZSkKLSAgICAsIG1fYXV0aG9yQW5kVXNlclN0
eWxlc0VuYWJsZWQodHJ1ZSkKICAgICAsIG1fZm9udFJlbmRlcmluZ01vZGUoMCkKICAgICAsIG1f
aXNDU1NDdXN0b21GaWx0ZXJFbmFibGVkKGZhbHNlKQogI2lmIEVOQUJMRShDU1NfU1RJQ0tZX1BP
U0lUSU9OKQpAQCAtMTgwLDkgKzE3Myw2IEBAIFNldHRpbmdzOjpTZXR0aW5ncyhQYWdlKiBwYWdl
KQogI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQogICAgICwgbV9jc3NWYXJpYWJsZXNFbmFibGVk
KGZhbHNlKQogI2VuZGlmCi0gICAgLCBtX2FjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkKHRy
dWUpCi0gICAgLCBtX3Nob3dEZWJ1Z0JvcmRlcnMoZmFsc2UpCi0gICAgLCBtX3Nob3dSZXBhaW50
Q291bnRlcihmYWxzZSkKICAgICAsIG1fc2hvd1RpbGVkU2Nyb2xsaW5nSW5kaWNhdG9yKGZhbHNl
KQogICAgICwgbV90aWxlZEJhY2tpbmdTdG9yZUVuYWJsZWQoZmFsc2UpCiAgICAgLCBtX2Ruc1By
ZWZldGNoaW5nRW5hYmxlZChmYWxzZSkKQEAgLTIwOCw2ICsxOTgsOCBAQCBQYXNzT3duUHRyPFNl
dHRpbmdzPiBTZXR0aW5nczo6Y3JlYXRlKFBhZ2UqIHBhZ2UpCiAgICAgcmV0dXJuIGFkb3B0UHRy
KG5ldyBTZXR0aW5ncyhwYWdlKSk7CiB9IAogCitTRVRUSU5HU19TRVRURVJfQk9ESUVTCisKIHZv
aWQgU2V0dGluZ3M6OnNldEhpZGRlblBhZ2VET01UaW1lckFsaWdubWVudEludGVydmFsKGRvdWJs
ZSBoaWRkZW5QYWdlRE9NVGltZXJBbGlnbm1lbnRpbnRlcnZhbCkKIHsKICAgICBnSGlkZGVuUGFn
ZURPTVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwgPSBoaWRkZW5QYWdlRE9NVGltZXJBbGlnbm1lbnRp
bnRlcnZhbDsKQEAgLTI5NSw1MSArMjg3LDYgQEAgdm9pZCBTZXR0aW5nczo6c2V0UGljdG9ncmFw
aEZvbnRGYW1pbHkoY29uc3QgQXRvbWljU3RyaW5nJiBmYW1pbHksIFVTY3JpcHRDb2RlIHMKICAg
ICBzZXRHZW5lcmljRm9udEZhbWlseU1hcChtX3BpY3RvZ3JhcGhGb250RmFtaWx5TWFwLCBmYW1p
bHksIHNjcmlwdCwgbV9wYWdlKTsKIH0KIAotdm9pZCBTZXR0aW5nczo6c2V0TWluaW11bUZvbnRT
aXplKGludCBtaW5pbXVtRm9udFNpemUpCi17Ci0gICAgaWYgKG1fbWluaW11bUZvbnRTaXplID09
IG1pbmltdW1Gb250U2l6ZSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgbV9taW5pbXVtRm9udFNp
emUgPSBtaW5pbXVtRm9udFNpemU7Ci0gICAgbV9wYWdlLT5zZXROZWVkc1JlY2FsY1N0eWxlSW5B
bGxGcmFtZXMoKTsKLX0KLQotdm9pZCBTZXR0aW5nczo6c2V0TWluaW11bUxvZ2ljYWxGb250U2l6
ZShpbnQgbWluaW11bUxvZ2ljYWxGb250U2l6ZSkKLXsKLSAgICBpZiAobV9taW5pbXVtTG9naWNh
bEZvbnRTaXplID09IG1pbmltdW1Mb2dpY2FsRm9udFNpemUpCi0gICAgICAgIHJldHVybjsKLQot
ICAgIG1fbWluaW11bUxvZ2ljYWxGb250U2l6ZSA9IG1pbmltdW1Mb2dpY2FsRm9udFNpemU7Ci0g
ICAgbV9wYWdlLT5zZXROZWVkc1JlY2FsY1N0eWxlSW5BbGxGcmFtZXMoKTsKLX0KLQotdm9pZCBT
ZXR0aW5nczo6c2V0RGVmYXVsdEZvbnRTaXplKGludCBkZWZhdWx0Rm9udFNpemUpCi17Ci0gICAg
aWYgKG1fZGVmYXVsdEZvbnRTaXplID09IGRlZmF1bHRGb250U2l6ZSkKLSAgICAgICAgcmV0dXJu
OwotCi0gICAgbV9kZWZhdWx0Rm9udFNpemUgPSBkZWZhdWx0Rm9udFNpemU7Ci0gICAgbV9wYWdl
LT5zZXROZWVkc1JlY2FsY1N0eWxlSW5BbGxGcmFtZXMoKTsKLX0KLQotdm9pZCBTZXR0aW5nczo6
c2V0RGVmYXVsdEZpeGVkRm9udFNpemUoaW50IGRlZmF1bHRGb250U2l6ZSkKLXsKLSAgICBpZiAo
bV9kZWZhdWx0Rml4ZWRGb250U2l6ZSA9PSBkZWZhdWx0Rm9udFNpemUpCi0gICAgICAgIHJldHVy
bjsKLQotICAgIG1fZGVmYXVsdEZpeGVkRm9udFNpemUgPSBkZWZhdWx0Rm9udFNpemU7Ci0gICAg
bV9wYWdlLT5zZXROZWVkc1JlY2FsY1N0eWxlSW5BbGxGcmFtZXMoKTsKLX0KLQotdm9pZCBTZXR0
aW5nczo6c2V0U2NyZWVuRm9udFN1YnN0aXR1dGlvbkVuYWJsZWQoYm9vbCBzY3JlZW5Gb250U3Vi
c3RpdHV0aW9uRW5hYmxlZCkKLXsKLSAgICBpZiAobV9zY3JlZW5Gb250U3Vic3RpdHV0aW9uRW5h
YmxlZCA9PSBzY3JlZW5Gb250U3Vic3RpdHV0aW9uRW5hYmxlZCkKLSAgICAgICAgcmV0dXJuOwot
Ci0gICAgbV9zY3JlZW5Gb250U3Vic3RpdHV0aW9uRW5hYmxlZCA9IHNjcmVlbkZvbnRTdWJzdGl0
dXRpb25FbmFibGVkOwotICAgIG1fcGFnZS0+c2V0TmVlZHNSZWNhbGNTdHlsZUluQWxsRnJhbWVz
KCk7Ci19Ci0KICNpZiBFTkFCTEUoVEVYVF9BVVRPU0laSU5HKQogdm9pZCBTZXR0aW5nczo6c2V0
VGV4dEF1dG9zaXppbmdFbmFibGVkKGJvb2wgdGV4dEF1dG9zaXppbmdFbmFibGVkKQogewpAQCAt
NDY0LDE1ICs0MTEsNiBAQCB2b2lkIFNldHRpbmdzOjpzZXRVc2VyU3R5bGVTaGVldExvY2F0aW9u
KGNvbnN0IEtVUkwmIHVzZXJTdHlsZVNoZWV0TG9jYXRpb24pCiAgICAgbV9wYWdlLT51c2VyU3R5
bGVTaGVldExvY2F0aW9uQ2hhbmdlZCgpOwogfQogCi12b2lkIFNldHRpbmdzOjpzZXRUZXh0QXJl
YXNBcmVSZXNpemFibGUoYm9vbCB0ZXh0QXJlYXNBcmVSZXNpemFibGUpCi17Ci0gICAgaWYgKG1f
dGV4dEFyZWFzQXJlUmVzaXphYmxlID09IHRleHRBcmVhc0FyZVJlc2l6YWJsZSkKLSAgICAgICAg
cmV0dXJuOwotCi0gICAgbV90ZXh0QXJlYXNBcmVSZXNpemFibGUgPSB0ZXh0QXJlYXNBcmVSZXNp
emFibGU7Ci0gICAgbV9wYWdlLT5zZXROZWVkc1JlY2FsY1N0eWxlSW5BbGxGcmFtZXMoKTsKLX0K
LQogLy8gRklYTUU6IFRoaXMgcXVpcmsgaXMgbmVlZGVkIGJlY2F1c2Ugb2YgUmFkYXIgNDY3NDUz
NyBhbmQgNTIxMTI3MS4gV2UgbmVlZCB0byBwaGFzZSBpdCBvdXQgb25jZSBBZG9iZQogLy8gY2Fu
IGZpeCB0aGUgYnVnIGZyb20gdGhlaXIgZW5kLgogdm9pZCBTZXR0aW5nczo6c2V0TmVlZHNBZG9i
ZUZyYW1lUmVsb2FkaW5nUXVpcmsoYm9vbCBzaG91bGROb3RSZWxvYWRJRnJhbWVzRm9yVW5jaGFu
Z2VkU1JDKQpAQCAtNTM1LDE1ICs0NzMsNiBAQCB2b2lkIFNldHRpbmdzOjpzZXRVc2VzUGFnZUNh
Y2hlKGJvb2wgdXNlc1BhZ2VDYWNoZSkKICAgICB9CiB9CiAKLXZvaWQgU2V0dGluZ3M6OnNldEF1
dGhvckFuZFVzZXJTdHlsZXNFbmFibGVkKGJvb2wgYXV0aG9yQW5kVXNlclN0eWxlc0VuYWJsZWQp
Ci17Ci0gICAgaWYgKG1fYXV0aG9yQW5kVXNlclN0eWxlc0VuYWJsZWQgPT0gYXV0aG9yQW5kVXNl
clN0eWxlc0VuYWJsZWQpCi0gICAgICAgIHJldHVybjsKLQotICAgIG1fYXV0aG9yQW5kVXNlclN0
eWxlc0VuYWJsZWQgPSBhdXRob3JBbmRVc2VyU3R5bGVzRW5hYmxlZDsKLSAgICBtX3BhZ2UtPnNl
dE5lZWRzUmVjYWxjU3R5bGVJbkFsbEZyYW1lcygpOwotfQotCiB2b2lkIFNldHRpbmdzOjpzZXRG
b250UmVuZGVyaW5nTW9kZShGb250UmVuZGVyaW5nTW9kZSBtb2RlKQogewogICAgIGlmIChmb250
UmVuZGVyaW5nTW9kZSgpID09IG1vZGUpCkBAIC01NzMsMzMgKzUwMiw2IEBAIHZvaWQgU2V0dGlu
Z3M6OnNldEROU1ByZWZldGNoaW5nRW5hYmxlZChib29sIGRuc1ByZWZldGNoaW5nRW5hYmxlZCkK
ICAgICBtX3BhZ2UtPmRuc1ByZWZldGNoaW5nU3RhdGVDaGFuZ2VkKCk7CiB9CiAKLXZvaWQgU2V0
dGluZ3M6OnNldEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkKGJvb2wgZW5hYmxlZCkKLXsK
LSAgICBpZiAobV9hY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZCA9PSBlbmFibGVkKQotICAg
ICAgICByZXR1cm47Ci0gICAgICAgIAotICAgIG1fYWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJs
ZWQgPSBlbmFibGVkOwotICAgIG1fcGFnZS0+c2V0TmVlZHNSZWNhbGNTdHlsZUluQWxsRnJhbWVz
KCk7Ci19Ci0KLXZvaWQgU2V0dGluZ3M6OnNldFNob3dEZWJ1Z0JvcmRlcnMoYm9vbCBlbmFibGVk
KQotewotICAgIGlmIChtX3Nob3dEZWJ1Z0JvcmRlcnMgPT0gZW5hYmxlZCkKLSAgICAgICAgcmV0
dXJuOwotICAgICAgICAKLSAgICBtX3Nob3dEZWJ1Z0JvcmRlcnMgPSBlbmFibGVkOwotICAgIG1f
cGFnZS0+c2V0TmVlZHNSZWNhbGNTdHlsZUluQWxsRnJhbWVzKCk7Ci19Ci0KLXZvaWQgU2V0dGlu
Z3M6OnNldFNob3dSZXBhaW50Q291bnRlcihib29sIGVuYWJsZWQpCi17Ci0gICAgaWYgKG1fc2hv
d1JlcGFpbnRDb3VudGVyID09IGVuYWJsZWQpCi0gICAgICAgIHJldHVybjsKLSAgICAgICAgCi0g
ICAgbV9zaG93UmVwYWludENvdW50ZXIgPSBlbmFibGVkOwotICAgIG1fcGFnZS0+c2V0TmVlZHNS
ZWNhbGNTdHlsZUluQWxsRnJhbWVzKCk7Ci19Ci0KIHZvaWQgU2V0dGluZ3M6OnNldFNob3dUaWxl
ZFNjcm9sbGluZ0luZGljYXRvcihib29sIGVuYWJsZWQpCiB7CiAgICAgaWYgKG1fc2hvd1RpbGVk
U2Nyb2xsaW5nSW5kaWNhdG9yID09IGVuYWJsZWQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1NldHRpbmdzLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKaW5kZXgg
M2E1ODE1YTk1MzhmNzRhYjM0YzM3ZTM2NGRhYTgwNmY0MzFhNzYyNC4uMjVhZDhkOGQ4YjEzMTdh
OGJjYzlhYzcwMTljMDllMzVkZTlhNGFiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9TZXR0aW5ncy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaApAQCAtOTQs
MjEgKzk0LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2b2lkIHNldFBpY3RvZ3Jh
cGhGb250RmFtaWx5KGNvbnN0IEF0b21pY1N0cmluZyYsIFVTY3JpcHRDb2RlID0gVVNDUklQVF9D
T01NT04pOwogICAgICAgICBjb25zdCBBdG9taWNTdHJpbmcmIHBpY3RvZ3JhcGhGb250RmFtaWx5
KFVTY3JpcHRDb2RlID0gVVNDUklQVF9DT01NT04pIGNvbnN0OwogCi0gICAgICAgIHZvaWQgc2V0
TWluaW11bUZvbnRTaXplKGludCk7Ci0gICAgICAgIGludCBtaW5pbXVtRm9udFNpemUoKSBjb25z
dCB7IHJldHVybiBtX21pbmltdW1Gb250U2l6ZTsgfQotCi0gICAgICAgIHZvaWQgc2V0TWluaW11
bUxvZ2ljYWxGb250U2l6ZShpbnQpOwotICAgICAgICBpbnQgbWluaW11bUxvZ2ljYWxGb250U2l6
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fbWluaW11bUxvZ2ljYWxGb250U2l6ZTsgfQotCi0gICAgICAg
IHZvaWQgc2V0RGVmYXVsdEZvbnRTaXplKGludCk7Ci0gICAgICAgIGludCBkZWZhdWx0Rm9udFNp
emUoKSBjb25zdCB7IHJldHVybiBtX2RlZmF1bHRGb250U2l6ZTsgfQotCi0gICAgICAgIHZvaWQg
c2V0RGVmYXVsdEZpeGVkRm9udFNpemUoaW50KTsKLSAgICAgICAgaW50IGRlZmF1bHRGaXhlZEZv
bnRTaXplKCkgY29uc3QgeyByZXR1cm4gbV9kZWZhdWx0Rml4ZWRGb250U2l6ZTsgfQotCi0gICAg
ICAgIHZvaWQgc2V0U2NyZWVuRm9udFN1YnN0aXR1dGlvbkVuYWJsZWQoYm9vbCk7Ci0gICAgICAg
IGJvb2wgc2NyZWVuRm9udFN1YnN0aXR1dGlvbkVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX3Nj
cmVlbkZvbnRTdWJzdGl0dXRpb25FbmFibGVkOyB9Ci0KICNpZiBFTkFCTEUoVEVYVF9BVVRPU0la
SU5HKQogICAgICAgICB2b2lkIHNldFRleHRBdXRvc2l6aW5nRW5hYmxlZChib29sKTsKICAgICAg
ICAgYm9vbCB0ZXh0QXV0b3NpemluZ0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX3RleHRBdXRv
c2l6aW5nRW5hYmxlZDsgfQpAQCAtMTc3LDkgKzE2Miw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICAgICAgdm9pZCBzZXRVc2VyU3R5bGVTaGVldExvY2F0aW9uKGNvbnN0IEtVUkwmKTsKICAg
ICAgICAgY29uc3QgS1VSTCYgdXNlclN0eWxlU2hlZXRMb2NhdGlvbigpIGNvbnN0IHsgcmV0dXJu
IG1fdXNlclN0eWxlU2hlZXRMb2NhdGlvbjsgfQogCi0gICAgICAgIHZvaWQgc2V0VGV4dEFyZWFz
QXJlUmVzaXphYmxlKGJvb2wpOwotICAgICAgICBib29sIHRleHRBcmVhc0FyZVJlc2l6YWJsZSgp
IGNvbnN0IHsgcmV0dXJuIG1fdGV4dEFyZWFzQXJlUmVzaXphYmxlOyB9Ci0KICAgICAgICAgdm9p
ZCBzZXROZWVkc0Fkb2JlRnJhbWVSZWxvYWRpbmdRdWlyayhib29sKTsKICAgICAgICAgYm9vbCBu
ZWVkc0Fjcm9iYXRGcmFtZVJlbG9hZGluZ1F1aXJrKCkgY29uc3QgeyByZXR1cm4gbV9uZWVkc0Fk
b2JlRnJhbWVSZWxvYWRpbmdRdWlyazsgfQogCkBAIC0yMDEsOSArMTgzLDYgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgICAgICB2b2lkIHNldFVzZXNQYWdlQ2FjaGUoYm9vbCk7CiAgICAgICAg
IGJvb2wgdXNlc1BhZ2VDYWNoZSgpIGNvbnN0IHsgcmV0dXJuIG1fdXNlc1BhZ2VDYWNoZTsgfQog
ICAgICAgICAKLSAgICAgICAgdm9pZCBzZXRBdXRob3JBbmRVc2VyU3R5bGVzRW5hYmxlZChib29s
KTsKLSAgICAgICAgYm9vbCBhdXRob3JBbmRVc2VyU3R5bGVzRW5hYmxlZCgpIGNvbnN0IHsgcmV0
dXJuIG1fYXV0aG9yQW5kVXNlclN0eWxlc0VuYWJsZWQ7IH0KLSAgICAgICAgCiAgICAgICAgIHZv
aWQgc2V0Rm9udFJlbmRlcmluZ01vZGUoRm9udFJlbmRlcmluZ01vZGUgbW9kZSk7CiAgICAgICAg
IEZvbnRSZW5kZXJpbmdNb2RlIGZvbnRSZW5kZXJpbmdNb2RlKCkgY29uc3Q7CiAKQEAgLTIyNiwx
NSArMjA1LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBib29sIGNzc1ZhcmlhYmxl
c0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogI2VuZGlmCiAKLSAgICAgICAgdm9p
ZCBzZXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZChib29sKTsKLSAgICAgICAgYm9vbCBh
Y2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fYWNjZWxlcmF0
ZWRDb21wb3NpdGluZ0VuYWJsZWQ7IH0KLQotICAgICAgICB2b2lkIHNldFNob3dEZWJ1Z0JvcmRl
cnMoYm9vbCk7Ci0gICAgICAgIGJvb2wgc2hvd0RlYnVnQm9yZGVycygpIGNvbnN0IHsgcmV0dXJu
IG1fc2hvd0RlYnVnQm9yZGVyczsgfQotCi0gICAgICAgIHZvaWQgc2V0U2hvd1JlcGFpbnRDb3Vu
dGVyKGJvb2wpOwotICAgICAgICBib29sIHNob3dSZXBhaW50Q291bnRlcigpIGNvbnN0IHsgcmV0
dXJuIG1fc2hvd1JlcGFpbnRDb3VudGVyOyB9Ci0KICAgICAgICAgdm9pZCBzZXRTaG93VGlsZWRT
Y3JvbGxpbmdJbmRpY2F0b3IoYm9vbCk7CiAgICAgICAgIGJvb2wgc2hvd1RpbGVkU2Nyb2xsaW5n
SW5kaWNhdG9yKCkgY29uc3QgeyByZXR1cm4gbV9zaG93VGlsZWRTY3JvbGxpbmdJbmRpY2F0b3I7
IH0KIApAQCAtMzEwLDExICsyODAsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIFNj
cmlwdEZvbnRGYW1pbHlNYXAgbV9jdXJzaXZlRm9udEZhbWlseU1hcDsKICAgICAgICAgU2NyaXB0
Rm9udEZhbWlseU1hcCBtX2ZhbnRhc3lGb250RmFtaWx5TWFwOwogICAgICAgICBTY3JpcHRGb250
RmFtaWx5TWFwIG1fcGljdG9ncmFwaEZvbnRGYW1pbHlNYXA7Ci0gICAgICAgIGludCBtX21pbmlt
dW1Gb250U2l6ZTsKLSAgICAgICAgaW50IG1fbWluaW11bUxvZ2ljYWxGb250U2l6ZTsKLSAgICAg
ICAgaW50IG1fZGVmYXVsdEZvbnRTaXplOwotICAgICAgICBpbnQgbV9kZWZhdWx0Rml4ZWRGb250
U2l6ZTsKLSAgICAgICAgYm9vbCBtX3NjcmVlbkZvbnRTdWJzdGl0dXRpb25FbmFibGVkOwogICAg
ICAgICBTZWN1cml0eU9yaWdpbjo6U3RvcmFnZUJsb2NraW5nUG9saWN5IG1fc3RvcmFnZUJsb2Nr
aW5nUG9saWN5OwogI2lmIEVOQUJMRShURVhUX0FVVE9TSVpJTkcpCiAgICAgICAgIGZsb2F0IG1f
dGV4dEF1dG9zaXppbmdGb250U2NhbGVGYWN0b3I7CkBAIC0zMzIsMTAgKzI5Nyw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICAgICAgYm9vbCBtX2FyZUltYWdlc0VuYWJsZWQgOiAxOwogICAg
ICAgICBib29sIG1fYXJlUGx1Z2luc0VuYWJsZWQgOiAxOwogICAgICAgICBib29sIG1faXNTY3Jp
cHRFbmFibGVkIDogMTsKLSAgICAgICAgYm9vbCBtX3RleHRBcmVhc0FyZVJlc2l6YWJsZSA6IDE7
CiAgICAgICAgIGJvb2wgbV9uZWVkc0Fkb2JlRnJhbWVSZWxvYWRpbmdRdWlyayA6IDE7CiAgICAg
ICAgIGJvb2wgbV91c2VzUGFnZUNhY2hlIDogMTsKLSAgICAgICAgYm9vbCBtX2F1dGhvckFuZFVz
ZXJTdHlsZXNFbmFibGVkIDogMTsKICAgICAgICAgdW5zaWduZWQgbV9mb250UmVuZGVyaW5nTW9k
ZSA6IDE7CiAgICAgICAgIGJvb2wgbV9pc0NTU0N1c3RvbUZpbHRlckVuYWJsZWQgOiAxOwogI2lm
IEVOQUJMRShDU1NfU1RJQ0tZX1BPU0lUSU9OKQpAQCAtMzQ0LDkgKzMwNyw2IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKICAgICAgICAgYm9vbCBtX2Nz
c1ZhcmlhYmxlc0VuYWJsZWQgOiAxOwogI2VuZGlmCi0gICAgICAgIGJvb2wgbV9hY2NlbGVyYXRl
ZENvbXBvc2l0aW5nRW5hYmxlZCA6IDE7Ci0gICAgICAgIGJvb2wgbV9zaG93RGVidWdCb3JkZXJz
IDogMTsKLSAgICAgICAgYm9vbCBtX3Nob3dSZXBhaW50Q291bnRlciA6IDE7CiAgICAgICAgIGJv
b2wgbV9zaG93VGlsZWRTY3JvbGxpbmdJbmRpY2F0b3IgOiAxOwogICAgICAgICBib29sIG1fdGls
ZWRCYWNraW5nU3RvcmVFbmFibGVkIDogMTsKICAgICAgICAgYm9vbCBtX2Ruc1ByZWZldGNoaW5n
RW5hYmxlZCA6IDE7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmlu
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5pbgppbmRleCA2ZTcxNWEyNmU4YzZhZDU4
Zjc3NDZiYjI0YjBmZWY4MjA2ODJlZjhhLi5lYjA3NDQ3OTIyMWM0MGZlY2VlNGVkNDI5YTFiOWQw
YWYwYjFmOTYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmluCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaW4KQEAgLTMzLDYgKzMzLDExIEBAIGRl
dmljZUhlaWdodCB0eXBlPWludCwgaW5pdGlhbD0wCiAjIHNpbmNlIHRoZSBtZW1vcnkgdXNlZCB3
b24ndCBiZSByZWxlYXNlZCB1bnRpbCB0aGUgUGFnZSBpcyBkZXN0cm95ZWQuCiBzZXNzaW9uU3Rv
cmFnZVF1b3RhIHR5cGU9dW5zaWduZWQsIGluaXRpYWw9U3RvcmFnZU1hcDo6bm9RdW90YQogCitt
aW5pbXVtRm9udFNpemUgdHlwZT1pbnQsIGluaXRpYWw9MCwgc2V0TmVlZHNTdHlsZVJlY2FsY1do
ZW5TZXR0aW5nPTEKK21pbmltdW1Mb2dpY2FsRm9udFNpemUgdHlwZT1pbnQsIGluaXRpYWw9MCwg
c2V0TmVlZHNTdHlsZVJlY2FsY1doZW5TZXR0aW5nPTEKK2RlZmF1bHRGb250U2l6ZSB0eXBlPWlu
dCwgaW5pdGlhbD0wLCBzZXROZWVkc1N0eWxlUmVjYWxjV2hlblNldHRpbmc9MQorZGVmYXVsdEZp
eGVkRm9udFNpemUgdHlwZT1pbnQsIGluaXRpYWw9MCwgc2V0TmVlZHNTdHlsZVJlY2FsY1doZW5T
ZXR0aW5nPTEKKwogZWRpdGluZ0JlaGF2aW9yVHlwZSB0eXBlPUVkaXRpbmdCZWhhdmlvclR5cGUs
IGluaXRpYWw9ZWRpdGluZ0JlaGF2aW9yVHlwZUZvclBsYXRmb3JtKCkKIG1heGltdW1IVE1MUGFy
c2VyRE9NVHJlZURlcHRoIHR5cGU9dW5zaWduZWQsIGluaXRpYWw9ZGVmYXVsdE1heGltdW1IVE1M
UGFyc2VyRE9NVHJlZURlcHRoCiAKQEAgLTUwLDYgKzU1LDEzIEBAIGphdmFTY3JpcHRDYW5BY2Nl
c3NDbGlwYm9hcmQgaW5pdGlhbD1mYWxzZQogc2hvdWxkUHJpbnRCYWNrZ3JvdW5kcyBpbml0aWFs
PWZhbHNlCiB1c2VzRGFzaGJvYXJkQmFja3dhcmRDb21wYXRpYmlsaXR5TW9kZSBpbml0aWFsPWZh
bHNlLCBjb25kaXRpb25hbD1EQVNIQk9BUkRfU1VQUE9SVAogCitzY3JlZW5Gb250U3Vic3RpdHV0
aW9uRW5hYmxlZCBpbml0aWFsPXRydWUsIHNldE5lZWRzU3R5bGVSZWNhbGNXaGVuU2V0dGluZz0x
Cit0ZXh0QXJlYXNBcmVSZXNpemFibGUgaW5pdGlhbD1mYWxzZSwgc2V0TmVlZHNTdHlsZVJlY2Fs
Y1doZW5TZXR0aW5nPTEKK2F1dGhvckFuZFVzZXJTdHlsZXNFbmFibGVkIGluaXRpYWw9dHJ1ZSwg
c2V0TmVlZHNTdHlsZVJlY2FsY1doZW5TZXR0aW5nPTEKK2FjY2VsZXJhdGVkQ29tcG9zaXRpbmdF
bmFibGVkIGluaXRpYWw9dHJ1ZSwgc2V0TmVlZHNTdHlsZVJlY2FsY1doZW5TZXR0aW5nPTEKK3No
b3dEZWJ1Z0JvcmRlcnMgaW5pdGlhbD1mYWxzZSwgc2V0TmVlZHNTdHlsZVJlY2FsY1doZW5TZXR0
aW5nPTEKK3Nob3dSZXBhaW50Q291bnRlciBpbml0aWFsPWZhbHNlLCBzZXROZWVkc1N0eWxlUmVj
YWxjV2hlblNldHRpbmc9MQorCiAjIFRoaXMgaXMgYSBxdWlyayB3ZSBhcmUgcHJvLWFjdGl2ZWx5
IGFwcGx5aW5nIHRvIG9sZCBhcHBsaWNhdGlvbnMuIEl0IGNoYW5nZXMga2V5Ym9hcmQgZXZlbnQg
ZGlzcGF0Y2hpbmcsCiAjIG1ha2luZyBrZXlJZGVudGlmaWVyIGF2YWlsYWJsZSBvbiBrZXlwcmVz
cyBldmVudHMsIG1ha2luZyBjaGFyQ29kZSBhdmFpbGFibGUgb24ga2V5ZG93bi9rZXl1cCBldmVu
dHMsCiAjIGFuZCBnZXR0aW5nIGtleXByZXNzIGRpc3BhdGNoZWQgaW4gbW9yZSBjYXNlcy4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFrZV9zZXR0aW5ncy5wbCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvbWFrZV9zZXR0aW5ncy5wbAppbmRleCAxMzMxOGI1NzI0M2FhNjNkZTM5YzU4
MmU3ODU1MmM3OTU0MzU4YjUwLi5jYWRmYzcyZGViMmZmMzYxM2Q2MzRkMTM4MzAwYTIyZmQxYjRl
MTFiIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL21ha2Vfc2V0dGluZ3MucGwKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9tYWtlX3NldHRpbmdzLnBsCkBAIC00NSw3ICs0NSw4IEBA
IHN1YiBkZWZhdWx0SXRlbUZhY3RvcnkKICAgICByZXR1cm4gKAogICAgICAgICAnY29uZGl0aW9u
YWwnID0+IDAsCiAgICAgICAgICdpbml0aWFsJyA9PiAnJywKLSAgICAgICAgJ3R5cGUnID0+ICdi
b29sJworICAgICAgICAndHlwZScgPT4gJ2Jvb2wnLAorICAgICAgICAnc2V0TmVlZHNTdHlsZVJl
Y2FsY1doZW5TZXR0aW5nJyA9PiAwLAogICAgICk7CiB9CiAKQEAgLTEwMiw2ICsxMDMsNyBAQCBz
dWIgZ2VuZXJhdGVTZXR0aW5nc01hY3Jvc0hlYWRlcigkKQogICAgIHByaW50R2V0dGVyc0FuZFNl
dHRlcnMoJGZpbGUsIFwldW5jb25kaXRpb25hbFNldHRpbmdzLCBcJXNldHRpbmdzQnlDb25kaXRp
b25hbCwgJHBhcnNlZEl0ZW1zUmVmKTsKICAgICBwcmludE1lbWJlclZhcmlhYmxlcygkZmlsZSwg
XCV1bmNvbmRpdGlvbmFsU2V0dGluZ3MsIFwlc2V0dGluZ3NCeUNvbmRpdGlvbmFsLCAkcGFyc2Vk
SXRlbXNSZWYpOwogICAgIHByaW50SW5pdGlhbGl6ZXJMaXN0KCRmaWxlLCBcJXVuY29uZGl0aW9u
YWxTZXR0aW5ncywgXCVzZXR0aW5nc0J5Q29uZGl0aW9uYWwsICRwYXJzZWRJdGVtc1JlZik7Cisg
ICAgcHJpbnRTZXR0ZXJCb2RpZXMoJGZpbGUsIFwldW5jb25kaXRpb25hbFNldHRpbmdzLCBcJXNl
dHRpbmdzQnlDb25kaXRpb25hbCwgJHBhcnNlZEl0ZW1zUmVmKTsKIAogICAgIHByaW50ICRmaWxl
ICIjZW5kaWYgLy8gU2V0dGluZ3NNYWNyb3NfaFxuIjsKIApAQCAtMTIwLDcgKzEyMiw3IEBAIHN1
YiBwcmludENvbmRpdGlvbmFsTWFjcm9zKCQkJCkKIAogICAgICAgICBwcmludCAkZmlsZSAiI2Rl
ZmluZSAke3ByZWZlcnJlZENvbmRpdGlvbmFsfV9TRVRUSU5HU19HRVRURVJfQU5EX1NFVFRFUlMg
XFxcbiI7CiAgICAgICAgIGZvciBteSAkc2V0dGluZ05hbWUgKHNvcnQga2V5cyAleyAkc2V0dGlu
Z3NCeUNvbmRpdGlvbmFseyRjb25kaXRpb25hbH0gfSkgewotICAgICAgICAgICAgcHJpbnRHZXR0
ZXJBbmRTZXR0ZXIoJGZpbGUsICRzZXR0aW5nTmFtZSwgJHBhcnNlZEl0ZW1zeyRzZXR0aW5nTmFt
ZX17InR5cGUifSk7CisgICAgICAgICAgICBwcmludEdldHRlckFuZFNldHRlcigkZmlsZSwgJHNl
dHRpbmdOYW1lLCAkcGFyc2VkSXRlbXN7JHNldHRpbmdOYW1lfXsidHlwZSJ9LCAkcGFyc2VkSXRl
bXN7JHNldHRpbmdOYW1lfXsic2V0TmVlZHNTdHlsZVJlY2FsY1doZW5TZXR0aW5nIn0pOwogICAg
ICAgICB9CiAgICAgICAgIHByaW50ICRmaWxlICIvLyBFbmQgb2YgJHtwcmVmZXJyZWRDb25kaXRp
b25hbH1fU0VUVElOR1NfR0VUVEVSX0FORF9TRVRURVJTXG4iOwogCkBAIC0xNTMsMTIgKzE1NSwx
OSBAQCBzdWIgcHJpbnRDb25kaXRpb25hbE1hY3JvcygkJCQpCiAgICAgICAgIH0KICAgICAgICAg
cHJpbnQgJGZpbGUgIi8vIEVuZCBvZiAke3ByZWZlcnJlZENvbmRpdGlvbmFsfV9TRVRUSU5HU19C
T09MX0lOSVRJQUxJWkVSU1xuIjsKIAorICAgICAgICBwcmludCAkZmlsZSAiI2RlZmluZSAke3By
ZWZlcnJlZENvbmRpdGlvbmFsfV9TRVRUSU5HU19TRVRURVJfQk9ESUVTIFxcXG4iOworICAgICAg
ICBmb3IgbXkgJHNldHRpbmdOYW1lIChzb3J0IGtleXMgJXsgJHNldHRpbmdzQnlDb25kaXRpb25h
bHskY29uZGl0aW9uYWx9IH0pIHsKKyAgICAgICAgICAgIHByaW50U2V0dGVyQm9keSgkZmlsZSwg
JHNldHRpbmdOYW1lLCAkcGFyc2VkSXRlbXN7JHNldHRpbmdOYW1lfXsidHlwZSJ9LCAkcGFyc2Vk
SXRlbXN7JHNldHRpbmdOYW1lfXsic2V0TmVlZHNTdHlsZVJlY2FsY1doZW5TZXR0aW5nIn0pOwor
ICAgICAgICB9CisgICAgICAgIHByaW50ICRmaWxlICIvLyBFbmQgb2YgJHtwcmVmZXJyZWRDb25k
aXRpb25hbH1fU0VUVElOR1NfU0VUVEVSX0JPRElFU1xuIjsKKwogICAgICAgICBwcmludCAkZmls
ZSAiI2Vsc2VcbiI7CiAgICAgICAgIHByaW50ICRmaWxlICIjZGVmaW5lICR7cHJlZmVycmVkQ29u
ZGl0aW9uYWx9X1NFVFRJTkdTX0dFVFRFUl9BTkRfU0VUVEVSU1xuIjsKICAgICAgICAgcHJpbnQg
JGZpbGUgIiNkZWZpbmUgJHtwcmVmZXJyZWRDb25kaXRpb25hbH1fU0VUVElOR1NfTk9OX0JPT0xf
TUVNQkVSX1ZBUklBQkxFU1xuIjsKICAgICAgICAgcHJpbnQgJGZpbGUgIiNkZWZpbmUgJHtwcmVm
ZXJyZWRDb25kaXRpb25hbH1fU0VUVElOR1NfQk9PTF9NRU1CRVJfVkFSSUFCTEVTXG4iOwogICAg
ICAgICBwcmludCAkZmlsZSAiI2RlZmluZSAke3ByZWZlcnJlZENvbmRpdGlvbmFsfV9TRVRUSU5H
U19OT05fQk9PTF9JTklUSUFMSVpFUlNcbiI7CiAgICAgICAgIHByaW50ICRmaWxlICIjZGVmaW5l
ICR7cHJlZmVycmVkQ29uZGl0aW9uYWx9X1NFVFRJTkdTX0JPT0xfSU5JVElBTElaRVJTXG4iOwor
ICAgICAgICBwcmludCAkZmlsZSAiI2RlZmluZSAke3ByZWZlcnJlZENvbmRpdGlvbmFsfV9TRVRU
SU5HU19TRVRURVJfQk9ESUVTXG4iOwogICAgICAgICBwcmludCAkZmlsZSAiI2VuZGlmXG4iOwog
ICAgICAgICBwcmludCAkZmlsZSAiXG4iOwogICAgIH0KQEAgLTE3Myw3ICsxODIsNyBAQCBzdWIg
cHJpbnRHZXR0ZXJzQW5kU2V0dGVycygkJCQkKQogCiAgICAgcHJpbnQgJGZpbGUgIiNkZWZpbmUg
U0VUVElOR1NfR0VUVEVSU19BTkRfU0VUVEVSUyBcXFxuIjsKICAgICBmb3IgbXkgJHNldHRpbmdO
YW1lIChzb3J0IGtleXMgJXVuY29uZGl0aW9uYWxTZXR0aW5ncykgewotICAgICAgICBwcmludEdl
dHRlckFuZFNldHRlcigkZmlsZSwgJHNldHRpbmdOYW1lLCAkcGFyc2VkSXRlbXN7JHNldHRpbmdO
YW1lfXsidHlwZSJ9KTsKKyAgICAgICAgcHJpbnRHZXR0ZXJBbmRTZXR0ZXIoJGZpbGUsICRzZXR0
aW5nTmFtZSwgJHBhcnNlZEl0ZW1zeyRzZXR0aW5nTmFtZX17InR5cGUifSwgJHBhcnNlZEl0ZW1z
eyRzZXR0aW5nTmFtZX17InNldE5lZWRzU3R5bGVSZWNhbGNXaGVuU2V0dGluZyJ9KTsKICAgICB9
CiAgICAgZm9yIG15ICRjb25kaXRpb25hbCAoc29ydCBrZXlzICVzZXR0aW5nc0J5Q29uZGl0aW9u
YWwpIHsKICAgICAgICAgbXkgJHByZWZlcnJlZENvbmRpdGlvbmFsID0gJEluQ29tcGlsZXItPnBy
ZWZlcnJlZENvbmRpdGlvbmFsKCRjb25kaXRpb25hbCk7CkBAIC0yMjYsMTYgKzIzNSwyMSBAQCBz
dWIgc2V0dGVyRnVuY3Rpb25OYW1lKCQpCiAgICAgcmV0dXJuICRzZXR0ZXJGdW5jdGlvbk5hbWU7
CiB9CiAKLXN1YiBwcmludEdldHRlckFuZFNldHRlcigkJCQpCitzdWIgcHJpbnRHZXR0ZXJBbmRT
ZXR0ZXIoJCQkJCkKIHsKLSAgICBteSAoJGZpbGUsICRzZXR0aW5nTmFtZSwgJHR5cGUpID0gQF87
CisgICAgbXkgKCRmaWxlLCAkc2V0dGluZ05hbWUsICR0eXBlLCAkc2V0TmVlZHNTdHlsZVJlY2Fs
Y1doZW5TZXR0aW5nKSA9IEBfOwogICAgIG15ICRzZXR0ZXJGdW5jdGlvbk5hbWUgPSBzZXR0ZXJG
dW5jdGlvbk5hbWUoJHNldHRpbmdOYW1lKTsKICAgICBpZiAobGMoc3Vic3RyKCR0eXBlLCAwLCAx
KSkgZXEgc3Vic3RyKCR0eXBlLCAwLCAxKSkgewogICAgICAgICBwcmludCAkZmlsZSAiICAgICR0
eXBlICRzZXR0aW5nTmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fJHNldHRpbmdOYW1lOyB9IFxcXG4i
OwotICAgICAgICBwcmludCAkZmlsZSAiICAgIHZvaWQgJHNldHRlckZ1bmN0aW9uTmFtZSgkdHlw
ZSAkc2V0dGluZ05hbWUpIHsgbV8kc2V0dGluZ05hbWUgPSAkc2V0dGluZ05hbWU7IH0gXFxcbiI7
CisgICAgICAgIHByaW50ICRmaWxlICIgICAgdm9pZCAkc2V0dGVyRnVuY3Rpb25OYW1lKCR0eXBl
ICRzZXR0aW5nTmFtZSkiOwogICAgIH0gZWxzZSB7CiAgICAgICAgIHByaW50ICRmaWxlICIgICAg
Y29uc3QgJHR5cGUmICRzZXR0aW5nTmFtZSgpIHsgcmV0dXJuIG1fJHNldHRpbmdOYW1lOyB9IFxc
XG4iOwotICAgICAgICBwcmludCAkZmlsZSAiICAgIHZvaWQgJHNldHRlckZ1bmN0aW9uTmFtZShj
b25zdCAkdHlwZSYgJHNldHRpbmdOYW1lKSB7IG1fJHNldHRpbmdOYW1lID0gJHNldHRpbmdOYW1l
OyB9IFxcXG4iOworICAgICAgICBwcmludCAkZmlsZSAiICAgIHZvaWQgJHNldHRlckZ1bmN0aW9u
TmFtZShjb25zdCAkdHlwZSYgJHNldHRpbmdOYW1lKSI7CisgICAgfQorICAgIGlmICgkc2V0TmVl
ZHNTdHlsZVJlY2FsY1doZW5TZXR0aW5nKSB7CisgICAgICAgIHByaW50ICRmaWxlICI7IFxcXG4i
OworICAgIH0gZWxzZSB7CisgICAgICAgIHByaW50ICRmaWxlICIgeyBtXyRzZXR0aW5nTmFtZSA9
ICRzZXR0aW5nTmFtZTsgfSBcXFxuIjsKICAgICB9CiB9CiAKQEAgLTI3OCw2ICsyOTIsNDMgQEAg
c3ViIHByaW50SW5pdGlhbGl6ZXIoJCQkKQogICAgIHByaW50ICRmaWxlICIgICAgLCBtXyRzZXR0
aW5nTmFtZSgkaW5pdGlhbFZhbHVlKSBcXFxuIgogfQogCitzdWIgcHJpbnRTZXR0ZXJCb2RpZXMo
JCQkJCkKK3sKKyAgICBteSAoJGZpbGUsICR1bmNvbmRpdGlvbmFsU2V0dGluZ3NSZWYsICRzZXR0
aW5nc0J5Q29uZGl0aW9uYWxSZWYsICRwYXJzZWRJdGVtc1JlZikgPSBAXzsKKyAgICBteSAlcGFy
c2VkSXRlbXMgPSAleyAkcGFyc2VkSXRlbXNSZWYgfTsKKyAgICBteSAldW5jb25kaXRpb25hbFNl
dHRpbmdzID0gJXsgJHVuY29uZGl0aW9uYWxTZXR0aW5nc1JlZiB9OworICAgIG15ICVzZXR0aW5n
c0J5Q29uZGl0aW9uYWwgPSAleyAkc2V0dGluZ3NCeUNvbmRpdGlvbmFsUmVmIH07CisKKyAgICBw
cmludCAkZmlsZSAiI2RlZmluZSBTRVRUSU5HU19TRVRURVJfQk9ESUVTIFxcXG4iOworICAgIGZv
ciBteSAkc2V0dGluZ05hbWUgKHNvcnQga2V5cyAldW5jb25kaXRpb25hbFNldHRpbmdzKSB7Cisg
ICAgICAgIHByaW50U2V0dGVyQm9keSgkZmlsZSwgJHNldHRpbmdOYW1lLCAkcGFyc2VkSXRlbXN7
JHNldHRpbmdOYW1lfXsidHlwZSJ9LCAkcGFyc2VkSXRlbXN7JHNldHRpbmdOYW1lfXsic2V0TmVl
ZHNTdHlsZVJlY2FsY1doZW5TZXR0aW5nIn0pOworICAgIH0KKyAgICBmb3IgbXkgJGNvbmRpdGlv
bmFsIChzb3J0IGtleXMgJXNldHRpbmdzQnlDb25kaXRpb25hbCkgeworICAgICAgICBteSAkcHJl
ZmVycmVkQ29uZGl0aW9uYWwgPSAkSW5Db21waWxlci0+cHJlZmVycmVkQ29uZGl0aW9uYWwoJGNv
bmRpdGlvbmFsKTsKKyAgICAgICAgcHJpbnQgJGZpbGUgIiAgICAke3ByZWZlcnJlZENvbmRpdGlv
bmFsfV9TRVRUSU5HU19TRVRURVJfQk9ESUVTIFxcXG4iOworICAgIH0KKyAgICBwcmludCAkZmls
ZSAiLy8gRW5kIG9mIFNFVFRJTkdTX1NFVFRFUl9CT0RJRVMuXG5cbiI7Cit9CisKK3N1YiBwcmlu
dFNldHRlckJvZHkoJCQkJCkKK3sKKyAgICBteSAoJGZpbGUsICRzZXR0aW5nTmFtZSwgJHR5cGUs
ICRzZXROZWVkc1N0eWxlUmVjYWxjV2hlblNldHRpbmcpID0gQF87CisgICAgcmV0dXJuIGlmICgh
JHNldE5lZWRzU3R5bGVSZWNhbGNXaGVuU2V0dGluZyk7CisKKyAgICBteSAkc2V0dGVyRnVuY3Rp
b25OYW1lID0gc2V0dGVyRnVuY3Rpb25OYW1lKCRzZXR0aW5nTmFtZSk7CisgICAgaWYgKGxjKHN1
YnN0cigkdHlwZSwgMCwgMSkpIGVxIHN1YnN0cigkdHlwZSwgMCwgMSkpIHsKKyAgICAgICAgcHJp
bnQgJGZpbGUgInZvaWQgU2V0dGluZ3M6OiRzZXR0ZXJGdW5jdGlvbk5hbWUoJHR5cGUgJHNldHRp
bmdOYW1lKSBcXFxuIjsKKyAgICB9IGVsc2UgeworICAgICAgICBwcmludCAkZmlsZSAidm9pZCBT
ZXR0aW5nczo6JHNldHRlckZ1bmN0aW9uTmFtZShjb25zdCAkdHlwZSYgJHNldHRpbmdOYW1lKSBc
XFxuIjsKKyAgICB9CisgICAgcHJpbnQgJGZpbGUgInsgXFxcbiI7CisgICAgcHJpbnQgJGZpbGUg
IiAgICBpZiAobV8kc2V0dGluZ05hbWUgPT0gJHNldHRpbmdOYW1lKSBcXFxuIjsKKyAgICBwcmlu
dCAkZmlsZSAiICAgICAgICByZXR1cm47IFxcXG4iOworICAgIHByaW50ICRmaWxlICIgICAgbV8k
c2V0dGluZ05hbWUgPSAkc2V0dGluZ05hbWU7IFxcXG4iOworICAgIHByaW50ICRmaWxlICIgICAg
bV9wYWdlLT5zZXROZWVkc1JlY2FsY1N0eWxlSW5BbGxGcmFtZXMoKTsgXFxcbiI7CisgICAgcHJp
bnQgJGZpbGUgIn0gXFxcbiI7Cit9CisKIHN1YiBlbnVtZXJhdGVQYXJzZWRJdGVtcygkJCQpCiB7
CiAgICAgbXkgKCRmaWxlLCAkcGFyc2VkSXRlbXNSZWYsICR2aXNpdG9yRnVuY3Rpb24pID0gQF87
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>189419</attachid>
            <date>2013-02-20 17:06:30 -0800</date>
            <delta_ts>2013-02-21 13:44:47 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-109989-20130220170252.patch</filename>
            <type>text/plain</type>
            <size>22353</size>
            <attacher name="Tony Chang">tony</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQzNDgwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTgzNTExNjkxYTMyMjJk
Y2RiODQ3NDdkNDRhYTZkNjNmMTgwZjI3ZS4uZGE3ZTQ3NmUxYmQxYzQwNjcxNGNlN2FkNDhjZjQx
NDcxNGRjNzVjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEzLTAyLTIwICBUb255
IENoYW5nICA8dG9ueUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQXV0b2dlbmVyYXRlIFNldHRp
bmdzIHRoYXQgY2FsbCBzZXROZWVkc1JlY2FsY1N0eWxlSW5BbGxGcmFtZXMgd2hlbiBzZXQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwOTk4OQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFN0YXJ0IGdlbmVy
YXRpbmcgdGhlIGNvZGUgZm9yIHNldHRpbmdzIHRoYXQgY2FsbCBtX3BhZ2UtPnNldE5lZWRzUmVj
YWxjU3R5bGVJbkFsbEZyYW1lcygpCisgICAgICAgIHdoZW4gdGhlIHZhbHVlIGlzIGNoYW5nZWQu
IFRoaXMgYWxsb3dzIHVzIHRvIGdlbmVyYXRlIDEwIG1vcmUgc2V0dGluZ3MuIEFzIGEgZm9sbG93
IHVwLCB3ZQorICAgICAgICBjYW4gcmVtb3ZlIHNvbWUgbWV0aG9kcyBmcm9tIERSVC9XVFIgYWZ0
ZXIgdGhpcy4KKworICAgICAgICBObyBuZXcgdGVzdHMsIHRoaXMgaXMgYSBidWlsZCByZWZhY3Rv
ciBhbmQgc2hvdWxkIG5vdCBpbXBhY3QgYW55IHRlc3QgcmVzdWx0cy4KKworICAgICAgICAqIHBh
Z2UvU2V0dGluZ3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2V0dGluZ3M6OlNldHRpbmdzKTog
UmVtb3ZlIG1lbWJlciB2YXJpYWJsZXMuIEFkZCBTRVRUSU5HU19TRVRURVJfQk9ESUVTIG1hY3Jv
IHRoYXQKKyAgICAgICAgaGFzIHRoZSBnZW5lcmF0ZWQgc2V0dGVyIGJvZGllcy4KKyAgICAgICAg
KiBwYWdlL1NldHRpbmdzLmg6CisgICAgICAgIChTZXR0aW5ncyk6IFJlbW92ZSBjb2RlIHRoYXQg
aXMgbm93IGdlbmVyYXRlZC4KKyAgICAgICAgKiBwYWdlL1NldHRpbmdzLmluOiBBZGQgbmV3IGVu
dHJpZXMgd2l0aCBzZXROZWVkc1N0eWxlUmVjYWxjV2hlblNldHRpbmc9MQorICAgICAgICAqIHBh
Z2UvbWFrZV9zZXR0aW5ncy5wbDoKKyAgICAgICAgKGRlZmF1bHRJdGVtRmFjdG9yeSk6IEFkZCBz
ZXROZWVkc1N0eWxlUmVjYWxjV2hlblNldHRpbmcgZmxhZy4KKyAgICAgICAgKGdlbmVyYXRlU2V0
dGluZ3NNYWNyb3NIZWFkZXIpOiBQcmludCBtYWNybyBmb3Igc2V0dGVyIGJvZGllcy4KKyAgICAg
ICAgKHByaW50Q29uZGl0aW9uYWxNYWNyb3MpOiBBZGQgc2V0dGVyIGJvZHkgY29kZS4KKyAgICAg
ICAgKHByaW50R2V0dGVyc0FuZFNldHRlcnMpOiBQYXNzIGluIHNldE5lZWRzU3R5bGVSZWNhbGNX
aGVuU2V0dGluZyBzbyB3ZSBrbm93IHdoZXRoZXIgdG8gaW5saW5lIHRoZQorICAgICAgICBzZXR0
ZXIgaW4gdGhlIGhlYWRlciBvciBub3QuCisgICAgICAgIChwcmludEdldHRlckFuZFNldHRlcik6
IERpdHRvLgorICAgICAgICAocHJpbnRTZXR0ZXJCb2RpZXMpOiBQcmludCBtYWNybyBmb3Igc2V0
dGVyIGJvZGllcy4KKyAgICAgICAgKHByaW50U2V0dGVyQm9keSk6IFByaW50IHNldHRlciBib2R5
IGZvciBhIHNpbmdsZSBzZXR0aW5nLgorCiAyMDEzLTAyLTIwICBPamFuIFZhZmFpICA8b2phbkBj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmVtb3ZlIHN0cmV0Y2hlc1RvTWluSW50cmluc2ljTG9n
aWNhbFdpZHRoCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCmluZGV4IDQwNzJjNGE1MWU0YjRlMjQ5
MjllMjk2ODZiNDhjNDM4Njc3N2YxM2QuLmE4NmIwYmY5YzQzYTY5ZGE4NzhlODYyM2RmYTNkYTEz
NGM4ZmQ3ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCkBAIC0xNDUsMTEgKzE0NSw2IEBA
IHN0YXRpYyBjb25zdCBkb3VibGUgZGVmYXVsdFVuaWZpZWRUZXh0Q2hlY2tlckVuYWJsZWQgPSBm
YWxzZTsKIFNldHRpbmdzOjpTZXR0aW5ncyhQYWdlKiBwYWdlKQogICAgIDogbV9wYWdlKDApCiAg
ICAgLCBtX21lZGlhVHlwZU92ZXJyaWRlKCJzY3JlZW4iKQotICAgICwgbV9taW5pbXVtRm9udFNp
emUoMCkKLSAgICAsIG1fbWluaW11bUxvZ2ljYWxGb250U2l6ZSgwKQotICAgICwgbV9kZWZhdWx0
Rm9udFNpemUoMCkKLSAgICAsIG1fZGVmYXVsdEZpeGVkRm9udFNpemUoMCkKLSAgICAsIG1fc2Ny
ZWVuRm9udFN1YnN0aXR1dGlvbkVuYWJsZWQodHJ1ZSkKICAgICAsIG1fc3RvcmFnZUJsb2NraW5n
UG9saWN5KFNlY3VyaXR5T3JpZ2luOjpBbGxvd0FsbFN0b3JhZ2UpCiAjaWYgRU5BQkxFKFRFWFRf
QVVUT1NJWklORykKICAgICAsIG1fdGV4dEF1dG9zaXppbmdGb250U2NhbGVGYWN0b3IoMSkKQEAg
LTE2OCwxMCArMTYzLDggQEAgU2V0dGluZ3M6OlNldHRpbmdzKFBhZ2UqIHBhZ2UpCiAgICAgLCBt
X2FyZUltYWdlc0VuYWJsZWQodHJ1ZSkKICAgICAsIG1fYXJlUGx1Z2luc0VuYWJsZWQoZmFsc2Up
CiAgICAgLCBtX2lzU2NyaXB0RW5hYmxlZChmYWxzZSkKLSAgICAsIG1fdGV4dEFyZWFzQXJlUmVz
aXphYmxlKGZhbHNlKQogICAgICwgbV9uZWVkc0Fkb2JlRnJhbWVSZWxvYWRpbmdRdWlyayhmYWxz
ZSkKICAgICAsIG1fdXNlc1BhZ2VDYWNoZShmYWxzZSkKLSAgICAsIG1fYXV0aG9yQW5kVXNlclN0
eWxlc0VuYWJsZWQodHJ1ZSkKICAgICAsIG1fZm9udFJlbmRlcmluZ01vZGUoMCkKICAgICAsIG1f
aXNDU1NDdXN0b21GaWx0ZXJFbmFibGVkKGZhbHNlKQogI2lmIEVOQUJMRShDU1NfU1RJQ0tZX1BP
U0lUSU9OKQpAQCAtMTgwLDkgKzE3Myw2IEBAIFNldHRpbmdzOjpTZXR0aW5ncyhQYWdlKiBwYWdl
KQogI2lmIEVOQUJMRShDU1NfVkFSSUFCTEVTKQogICAgICwgbV9jc3NWYXJpYWJsZXNFbmFibGVk
KGZhbHNlKQogI2VuZGlmCi0gICAgLCBtX2FjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkKHRy
dWUpCi0gICAgLCBtX3Nob3dEZWJ1Z0JvcmRlcnMoZmFsc2UpCi0gICAgLCBtX3Nob3dSZXBhaW50
Q291bnRlcihmYWxzZSkKICAgICAsIG1fc2hvd1RpbGVkU2Nyb2xsaW5nSW5kaWNhdG9yKGZhbHNl
KQogICAgICwgbV90aWxlZEJhY2tpbmdTdG9yZUVuYWJsZWQoZmFsc2UpCiAgICAgLCBtX2Ruc1By
ZWZldGNoaW5nRW5hYmxlZChmYWxzZSkKQEAgLTIwOCw2ICsxOTgsOCBAQCBQYXNzT3duUHRyPFNl
dHRpbmdzPiBTZXR0aW5nczo6Y3JlYXRlKFBhZ2UqIHBhZ2UpCiAgICAgcmV0dXJuIGFkb3B0UHRy
KG5ldyBTZXR0aW5ncyhwYWdlKSk7CiB9IAogCitTRVRUSU5HU19TRVRURVJfQk9ESUVTCisKIHZv
aWQgU2V0dGluZ3M6OnNldEhpZGRlblBhZ2VET01UaW1lckFsaWdubWVudEludGVydmFsKGRvdWJs
ZSBoaWRkZW5QYWdlRE9NVGltZXJBbGlnbm1lbnRpbnRlcnZhbCkKIHsKICAgICBnSGlkZGVuUGFn
ZURPTVRpbWVyQWxpZ25tZW50SW50ZXJ2YWwgPSBoaWRkZW5QYWdlRE9NVGltZXJBbGlnbm1lbnRp
bnRlcnZhbDsKQEAgLTI5NSw1MSArMjg3LDYgQEAgdm9pZCBTZXR0aW5nczo6c2V0UGljdG9ncmFw
aEZvbnRGYW1pbHkoY29uc3QgQXRvbWljU3RyaW5nJiBmYW1pbHksIFVTY3JpcHRDb2RlIHMKICAg
ICBzZXRHZW5lcmljRm9udEZhbWlseU1hcChtX3BpY3RvZ3JhcGhGb250RmFtaWx5TWFwLCBmYW1p
bHksIHNjcmlwdCwgbV9wYWdlKTsKIH0KIAotdm9pZCBTZXR0aW5nczo6c2V0TWluaW11bUZvbnRT
aXplKGludCBtaW5pbXVtRm9udFNpemUpCi17Ci0gICAgaWYgKG1fbWluaW11bUZvbnRTaXplID09
IG1pbmltdW1Gb250U2l6ZSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgbV9taW5pbXVtRm9udFNp
emUgPSBtaW5pbXVtRm9udFNpemU7Ci0gICAgbV9wYWdlLT5zZXROZWVkc1JlY2FsY1N0eWxlSW5B
bGxGcmFtZXMoKTsKLX0KLQotdm9pZCBTZXR0aW5nczo6c2V0TWluaW11bUxvZ2ljYWxGb250U2l6
ZShpbnQgbWluaW11bUxvZ2ljYWxGb250U2l6ZSkKLXsKLSAgICBpZiAobV9taW5pbXVtTG9naWNh
bEZvbnRTaXplID09IG1pbmltdW1Mb2dpY2FsRm9udFNpemUpCi0gICAgICAgIHJldHVybjsKLQot
ICAgIG1fbWluaW11bUxvZ2ljYWxGb250U2l6ZSA9IG1pbmltdW1Mb2dpY2FsRm9udFNpemU7Ci0g
ICAgbV9wYWdlLT5zZXROZWVkc1JlY2FsY1N0eWxlSW5BbGxGcmFtZXMoKTsKLX0KLQotdm9pZCBT
ZXR0aW5nczo6c2V0RGVmYXVsdEZvbnRTaXplKGludCBkZWZhdWx0Rm9udFNpemUpCi17Ci0gICAg
aWYgKG1fZGVmYXVsdEZvbnRTaXplID09IGRlZmF1bHRGb250U2l6ZSkKLSAgICAgICAgcmV0dXJu
OwotCi0gICAgbV9kZWZhdWx0Rm9udFNpemUgPSBkZWZhdWx0Rm9udFNpemU7Ci0gICAgbV9wYWdl
LT5zZXROZWVkc1JlY2FsY1N0eWxlSW5BbGxGcmFtZXMoKTsKLX0KLQotdm9pZCBTZXR0aW5nczo6
c2V0RGVmYXVsdEZpeGVkRm9udFNpemUoaW50IGRlZmF1bHRGb250U2l6ZSkKLXsKLSAgICBpZiAo
bV9kZWZhdWx0Rml4ZWRGb250U2l6ZSA9PSBkZWZhdWx0Rm9udFNpemUpCi0gICAgICAgIHJldHVy
bjsKLQotICAgIG1fZGVmYXVsdEZpeGVkRm9udFNpemUgPSBkZWZhdWx0Rm9udFNpemU7Ci0gICAg
bV9wYWdlLT5zZXROZWVkc1JlY2FsY1N0eWxlSW5BbGxGcmFtZXMoKTsKLX0KLQotdm9pZCBTZXR0
aW5nczo6c2V0U2NyZWVuRm9udFN1YnN0aXR1dGlvbkVuYWJsZWQoYm9vbCBzY3JlZW5Gb250U3Vi
c3RpdHV0aW9uRW5hYmxlZCkKLXsKLSAgICBpZiAobV9zY3JlZW5Gb250U3Vic3RpdHV0aW9uRW5h
YmxlZCA9PSBzY3JlZW5Gb250U3Vic3RpdHV0aW9uRW5hYmxlZCkKLSAgICAgICAgcmV0dXJuOwot
Ci0gICAgbV9zY3JlZW5Gb250U3Vic3RpdHV0aW9uRW5hYmxlZCA9IHNjcmVlbkZvbnRTdWJzdGl0
dXRpb25FbmFibGVkOwotICAgIG1fcGFnZS0+c2V0TmVlZHNSZWNhbGNTdHlsZUluQWxsRnJhbWVz
KCk7Ci19Ci0KICNpZiBFTkFCTEUoVEVYVF9BVVRPU0laSU5HKQogdm9pZCBTZXR0aW5nczo6c2V0
VGV4dEF1dG9zaXppbmdFbmFibGVkKGJvb2wgdGV4dEF1dG9zaXppbmdFbmFibGVkKQogewpAQCAt
NDY0LDE1ICs0MTEsNiBAQCB2b2lkIFNldHRpbmdzOjpzZXRVc2VyU3R5bGVTaGVldExvY2F0aW9u
KGNvbnN0IEtVUkwmIHVzZXJTdHlsZVNoZWV0TG9jYXRpb24pCiAgICAgbV9wYWdlLT51c2VyU3R5
bGVTaGVldExvY2F0aW9uQ2hhbmdlZCgpOwogfQogCi12b2lkIFNldHRpbmdzOjpzZXRUZXh0QXJl
YXNBcmVSZXNpemFibGUoYm9vbCB0ZXh0QXJlYXNBcmVSZXNpemFibGUpCi17Ci0gICAgaWYgKG1f
dGV4dEFyZWFzQXJlUmVzaXphYmxlID09IHRleHRBcmVhc0FyZVJlc2l6YWJsZSkKLSAgICAgICAg
cmV0dXJuOwotCi0gICAgbV90ZXh0QXJlYXNBcmVSZXNpemFibGUgPSB0ZXh0QXJlYXNBcmVSZXNp
emFibGU7Ci0gICAgbV9wYWdlLT5zZXROZWVkc1JlY2FsY1N0eWxlSW5BbGxGcmFtZXMoKTsKLX0K
LQogLy8gRklYTUU6IFRoaXMgcXVpcmsgaXMgbmVlZGVkIGJlY2F1c2Ugb2YgUmFkYXIgNDY3NDUz
NyBhbmQgNTIxMTI3MS4gV2UgbmVlZCB0byBwaGFzZSBpdCBvdXQgb25jZSBBZG9iZQogLy8gY2Fu
IGZpeCB0aGUgYnVnIGZyb20gdGhlaXIgZW5kLgogdm9pZCBTZXR0aW5nczo6c2V0TmVlZHNBZG9i
ZUZyYW1lUmVsb2FkaW5nUXVpcmsoYm9vbCBzaG91bGROb3RSZWxvYWRJRnJhbWVzRm9yVW5jaGFu
Z2VkU1JDKQpAQCAtNTM1LDE1ICs0NzMsNiBAQCB2b2lkIFNldHRpbmdzOjpzZXRVc2VzUGFnZUNh
Y2hlKGJvb2wgdXNlc1BhZ2VDYWNoZSkKICAgICB9CiB9CiAKLXZvaWQgU2V0dGluZ3M6OnNldEF1
dGhvckFuZFVzZXJTdHlsZXNFbmFibGVkKGJvb2wgYXV0aG9yQW5kVXNlclN0eWxlc0VuYWJsZWQp
Ci17Ci0gICAgaWYgKG1fYXV0aG9yQW5kVXNlclN0eWxlc0VuYWJsZWQgPT0gYXV0aG9yQW5kVXNl
clN0eWxlc0VuYWJsZWQpCi0gICAgICAgIHJldHVybjsKLQotICAgIG1fYXV0aG9yQW5kVXNlclN0
eWxlc0VuYWJsZWQgPSBhdXRob3JBbmRVc2VyU3R5bGVzRW5hYmxlZDsKLSAgICBtX3BhZ2UtPnNl
dE5lZWRzUmVjYWxjU3R5bGVJbkFsbEZyYW1lcygpOwotfQotCiB2b2lkIFNldHRpbmdzOjpzZXRG
b250UmVuZGVyaW5nTW9kZShGb250UmVuZGVyaW5nTW9kZSBtb2RlKQogewogICAgIGlmIChmb250
UmVuZGVyaW5nTW9kZSgpID09IG1vZGUpCkBAIC01NzMsMzMgKzUwMiw2IEBAIHZvaWQgU2V0dGlu
Z3M6OnNldEROU1ByZWZldGNoaW5nRW5hYmxlZChib29sIGRuc1ByZWZldGNoaW5nRW5hYmxlZCkK
ICAgICBtX3BhZ2UtPmRuc1ByZWZldGNoaW5nU3RhdGVDaGFuZ2VkKCk7CiB9CiAKLXZvaWQgU2V0
dGluZ3M6OnNldEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkKGJvb2wgZW5hYmxlZCkKLXsK
LSAgICBpZiAobV9hY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZCA9PSBlbmFibGVkKQotICAg
ICAgICByZXR1cm47Ci0gICAgICAgIAotICAgIG1fYWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJs
ZWQgPSBlbmFibGVkOwotICAgIG1fcGFnZS0+c2V0TmVlZHNSZWNhbGNTdHlsZUluQWxsRnJhbWVz
KCk7Ci19Ci0KLXZvaWQgU2V0dGluZ3M6OnNldFNob3dEZWJ1Z0JvcmRlcnMoYm9vbCBlbmFibGVk
KQotewotICAgIGlmIChtX3Nob3dEZWJ1Z0JvcmRlcnMgPT0gZW5hYmxlZCkKLSAgICAgICAgcmV0
dXJuOwotICAgICAgICAKLSAgICBtX3Nob3dEZWJ1Z0JvcmRlcnMgPSBlbmFibGVkOwotICAgIG1f
cGFnZS0+c2V0TmVlZHNSZWNhbGNTdHlsZUluQWxsRnJhbWVzKCk7Ci19Ci0KLXZvaWQgU2V0dGlu
Z3M6OnNldFNob3dSZXBhaW50Q291bnRlcihib29sIGVuYWJsZWQpCi17Ci0gICAgaWYgKG1fc2hv
d1JlcGFpbnRDb3VudGVyID09IGVuYWJsZWQpCi0gICAgICAgIHJldHVybjsKLSAgICAgICAgCi0g
ICAgbV9zaG93UmVwYWludENvdW50ZXIgPSBlbmFibGVkOwotICAgIG1fcGFnZS0+c2V0TmVlZHNS
ZWNhbGNTdHlsZUluQWxsRnJhbWVzKCk7Ci19Ci0KIHZvaWQgU2V0dGluZ3M6OnNldFNob3dUaWxl
ZFNjcm9sbGluZ0luZGljYXRvcihib29sIGVuYWJsZWQpCiB7CiAgICAgaWYgKG1fc2hvd1RpbGVk
U2Nyb2xsaW5nSW5kaWNhdG9yID09IGVuYWJsZWQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1NldHRpbmdzLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKaW5kZXgg
M2E1ODE1YTk1MzhmNzRhYjM0YzM3ZTM2NGRhYTgwNmY0MzFhNzYyNC4uMjVhZDhkOGQ4YjEzMTdh
OGJjYzlhYzcwMTljMDllMzVkZTlhNGFiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9TZXR0aW5ncy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaApAQCAtOTQs
MjEgKzk0LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2b2lkIHNldFBpY3RvZ3Jh
cGhGb250RmFtaWx5KGNvbnN0IEF0b21pY1N0cmluZyYsIFVTY3JpcHRDb2RlID0gVVNDUklQVF9D
T01NT04pOwogICAgICAgICBjb25zdCBBdG9taWNTdHJpbmcmIHBpY3RvZ3JhcGhGb250RmFtaWx5
KFVTY3JpcHRDb2RlID0gVVNDUklQVF9DT01NT04pIGNvbnN0OwogCi0gICAgICAgIHZvaWQgc2V0
TWluaW11bUZvbnRTaXplKGludCk7Ci0gICAgICAgIGludCBtaW5pbXVtRm9udFNpemUoKSBjb25z
dCB7IHJldHVybiBtX21pbmltdW1Gb250U2l6ZTsgfQotCi0gICAgICAgIHZvaWQgc2V0TWluaW11
bUxvZ2ljYWxGb250U2l6ZShpbnQpOwotICAgICAgICBpbnQgbWluaW11bUxvZ2ljYWxGb250U2l6
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fbWluaW11bUxvZ2ljYWxGb250U2l6ZTsgfQotCi0gICAgICAg
IHZvaWQgc2V0RGVmYXVsdEZvbnRTaXplKGludCk7Ci0gICAgICAgIGludCBkZWZhdWx0Rm9udFNp
emUoKSBjb25zdCB7IHJldHVybiBtX2RlZmF1bHRGb250U2l6ZTsgfQotCi0gICAgICAgIHZvaWQg
c2V0RGVmYXVsdEZpeGVkRm9udFNpemUoaW50KTsKLSAgICAgICAgaW50IGRlZmF1bHRGaXhlZEZv
bnRTaXplKCkgY29uc3QgeyByZXR1cm4gbV9kZWZhdWx0Rml4ZWRGb250U2l6ZTsgfQotCi0gICAg
ICAgIHZvaWQgc2V0U2NyZWVuRm9udFN1YnN0aXR1dGlvbkVuYWJsZWQoYm9vbCk7Ci0gICAgICAg
IGJvb2wgc2NyZWVuRm9udFN1YnN0aXR1dGlvbkVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX3Nj
cmVlbkZvbnRTdWJzdGl0dXRpb25FbmFibGVkOyB9Ci0KICNpZiBFTkFCTEUoVEVYVF9BVVRPU0la
SU5HKQogICAgICAgICB2b2lkIHNldFRleHRBdXRvc2l6aW5nRW5hYmxlZChib29sKTsKICAgICAg
ICAgYm9vbCB0ZXh0QXV0b3NpemluZ0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX3RleHRBdXRv
c2l6aW5nRW5hYmxlZDsgfQpAQCAtMTc3LDkgKzE2Miw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICAgICAgdm9pZCBzZXRVc2VyU3R5bGVTaGVldExvY2F0aW9uKGNvbnN0IEtVUkwmKTsKICAg
ICAgICAgY29uc3QgS1VSTCYgdXNlclN0eWxlU2hlZXRMb2NhdGlvbigpIGNvbnN0IHsgcmV0dXJu
IG1fdXNlclN0eWxlU2hlZXRMb2NhdGlvbjsgfQogCi0gICAgICAgIHZvaWQgc2V0VGV4dEFyZWFz
QXJlUmVzaXphYmxlKGJvb2wpOwotICAgICAgICBib29sIHRleHRBcmVhc0FyZVJlc2l6YWJsZSgp
IGNvbnN0IHsgcmV0dXJuIG1fdGV4dEFyZWFzQXJlUmVzaXphYmxlOyB9Ci0KICAgICAgICAgdm9p
ZCBzZXROZWVkc0Fkb2JlRnJhbWVSZWxvYWRpbmdRdWlyayhib29sKTsKICAgICAgICAgYm9vbCBu
ZWVkc0Fjcm9iYXRGcmFtZVJlbG9hZGluZ1F1aXJrKCkgY29uc3QgeyByZXR1cm4gbV9uZWVkc0Fk
b2JlRnJhbWVSZWxvYWRpbmdRdWlyazsgfQogCkBAIC0yMDEsOSArMTgzLDYgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogICAgICAgICB2b2lkIHNldFVzZXNQYWdlQ2FjaGUoYm9vbCk7CiAgICAgICAg
IGJvb2wgdXNlc1BhZ2VDYWNoZSgpIGNvbnN0IHsgcmV0dXJuIG1fdXNlc1BhZ2VDYWNoZTsgfQog
ICAgICAgICAKLSAgICAgICAgdm9pZCBzZXRBdXRob3JBbmRVc2VyU3R5bGVzRW5hYmxlZChib29s
KTsKLSAgICAgICAgYm9vbCBhdXRob3JBbmRVc2VyU3R5bGVzRW5hYmxlZCgpIGNvbnN0IHsgcmV0
dXJuIG1fYXV0aG9yQW5kVXNlclN0eWxlc0VuYWJsZWQ7IH0KLSAgICAgICAgCiAgICAgICAgIHZv
aWQgc2V0Rm9udFJlbmRlcmluZ01vZGUoRm9udFJlbmRlcmluZ01vZGUgbW9kZSk7CiAgICAgICAg
IEZvbnRSZW5kZXJpbmdNb2RlIGZvbnRSZW5kZXJpbmdNb2RlKCkgY29uc3Q7CiAKQEAgLTIyNiwx
NSArMjA1LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBib29sIGNzc1ZhcmlhYmxl
c0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogI2VuZGlmCiAKLSAgICAgICAgdm9p
ZCBzZXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZChib29sKTsKLSAgICAgICAgYm9vbCBh
Y2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fYWNjZWxlcmF0
ZWRDb21wb3NpdGluZ0VuYWJsZWQ7IH0KLQotICAgICAgICB2b2lkIHNldFNob3dEZWJ1Z0JvcmRl
cnMoYm9vbCk7Ci0gICAgICAgIGJvb2wgc2hvd0RlYnVnQm9yZGVycygpIGNvbnN0IHsgcmV0dXJu
IG1fc2hvd0RlYnVnQm9yZGVyczsgfQotCi0gICAgICAgIHZvaWQgc2V0U2hvd1JlcGFpbnRDb3Vu
dGVyKGJvb2wpOwotICAgICAgICBib29sIHNob3dSZXBhaW50Q291bnRlcigpIGNvbnN0IHsgcmV0
dXJuIG1fc2hvd1JlcGFpbnRDb3VudGVyOyB9Ci0KICAgICAgICAgdm9pZCBzZXRTaG93VGlsZWRT
Y3JvbGxpbmdJbmRpY2F0b3IoYm9vbCk7CiAgICAgICAgIGJvb2wgc2hvd1RpbGVkU2Nyb2xsaW5n
SW5kaWNhdG9yKCkgY29uc3QgeyByZXR1cm4gbV9zaG93VGlsZWRTY3JvbGxpbmdJbmRpY2F0b3I7
IH0KIApAQCAtMzEwLDExICsyODAsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIFNj
cmlwdEZvbnRGYW1pbHlNYXAgbV9jdXJzaXZlRm9udEZhbWlseU1hcDsKICAgICAgICAgU2NyaXB0
Rm9udEZhbWlseU1hcCBtX2ZhbnRhc3lGb250RmFtaWx5TWFwOwogICAgICAgICBTY3JpcHRGb250
RmFtaWx5TWFwIG1fcGljdG9ncmFwaEZvbnRGYW1pbHlNYXA7Ci0gICAgICAgIGludCBtX21pbmlt
dW1Gb250U2l6ZTsKLSAgICAgICAgaW50IG1fbWluaW11bUxvZ2ljYWxGb250U2l6ZTsKLSAgICAg
ICAgaW50IG1fZGVmYXVsdEZvbnRTaXplOwotICAgICAgICBpbnQgbV9kZWZhdWx0Rml4ZWRGb250
U2l6ZTsKLSAgICAgICAgYm9vbCBtX3NjcmVlbkZvbnRTdWJzdGl0dXRpb25FbmFibGVkOwogICAg
ICAgICBTZWN1cml0eU9yaWdpbjo6U3RvcmFnZUJsb2NraW5nUG9saWN5IG1fc3RvcmFnZUJsb2Nr
aW5nUG9saWN5OwogI2lmIEVOQUJMRShURVhUX0FVVE9TSVpJTkcpCiAgICAgICAgIGZsb2F0IG1f
dGV4dEF1dG9zaXppbmdGb250U2NhbGVGYWN0b3I7CkBAIC0zMzIsMTAgKzI5Nyw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICAgICAgYm9vbCBtX2FyZUltYWdlc0VuYWJsZWQgOiAxOwogICAg
ICAgICBib29sIG1fYXJlUGx1Z2luc0VuYWJsZWQgOiAxOwogICAgICAgICBib29sIG1faXNTY3Jp
cHRFbmFibGVkIDogMTsKLSAgICAgICAgYm9vbCBtX3RleHRBcmVhc0FyZVJlc2l6YWJsZSA6IDE7
CiAgICAgICAgIGJvb2wgbV9uZWVkc0Fkb2JlRnJhbWVSZWxvYWRpbmdRdWlyayA6IDE7CiAgICAg
ICAgIGJvb2wgbV91c2VzUGFnZUNhY2hlIDogMTsKLSAgICAgICAgYm9vbCBtX2F1dGhvckFuZFVz
ZXJTdHlsZXNFbmFibGVkIDogMTsKICAgICAgICAgdW5zaWduZWQgbV9mb250UmVuZGVyaW5nTW9k
ZSA6IDE7CiAgICAgICAgIGJvb2wgbV9pc0NTU0N1c3RvbUZpbHRlckVuYWJsZWQgOiAxOwogI2lm
IEVOQUJMRShDU1NfU1RJQ0tZX1BPU0lUSU9OKQpAQCAtMzQ0LDkgKzMwNyw2IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKICAgICAgICAgYm9vbCBtX2Nz
c1ZhcmlhYmxlc0VuYWJsZWQgOiAxOwogI2VuZGlmCi0gICAgICAgIGJvb2wgbV9hY2NlbGVyYXRl
ZENvbXBvc2l0aW5nRW5hYmxlZCA6IDE7Ci0gICAgICAgIGJvb2wgbV9zaG93RGVidWdCb3JkZXJz
IDogMTsKLSAgICAgICAgYm9vbCBtX3Nob3dSZXBhaW50Q291bnRlciA6IDE7CiAgICAgICAgIGJv
b2wgbV9zaG93VGlsZWRTY3JvbGxpbmdJbmRpY2F0b3IgOiAxOwogICAgICAgICBib29sIG1fdGls
ZWRCYWNraW5nU3RvcmVFbmFibGVkIDogMTsKICAgICAgICAgYm9vbCBtX2Ruc1ByZWZldGNoaW5n
RW5hYmxlZCA6IDE7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmlu
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5pbgppbmRleCA2ZTcxNWEyNmU4YzZhZDU4
Zjc3NDZiYjI0YjBmZWY4MjA2ODJlZjhhLi5lYjA3NDQ3OTIyMWM0MGZlY2VlNGVkNDI5YTFiOWQw
YWYwYjFmOTYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmluCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaW4KQEAgLTMzLDYgKzMzLDExIEBAIGRl
dmljZUhlaWdodCB0eXBlPWludCwgaW5pdGlhbD0wCiAjIHNpbmNlIHRoZSBtZW1vcnkgdXNlZCB3
b24ndCBiZSByZWxlYXNlZCB1bnRpbCB0aGUgUGFnZSBpcyBkZXN0cm95ZWQuCiBzZXNzaW9uU3Rv
cmFnZVF1b3RhIHR5cGU9dW5zaWduZWQsIGluaXRpYWw9U3RvcmFnZU1hcDo6bm9RdW90YQogCitt
aW5pbXVtRm9udFNpemUgdHlwZT1pbnQsIGluaXRpYWw9MCwgc2V0TmVlZHNTdHlsZVJlY2FsY1do
ZW5TZXR0aW5nPTEKK21pbmltdW1Mb2dpY2FsRm9udFNpemUgdHlwZT1pbnQsIGluaXRpYWw9MCwg
c2V0TmVlZHNTdHlsZVJlY2FsY1doZW5TZXR0aW5nPTEKK2RlZmF1bHRGb250U2l6ZSB0eXBlPWlu
dCwgaW5pdGlhbD0wLCBzZXROZWVkc1N0eWxlUmVjYWxjV2hlblNldHRpbmc9MQorZGVmYXVsdEZp
eGVkRm9udFNpemUgdHlwZT1pbnQsIGluaXRpYWw9MCwgc2V0TmVlZHNTdHlsZVJlY2FsY1doZW5T
ZXR0aW5nPTEKKwogZWRpdGluZ0JlaGF2aW9yVHlwZSB0eXBlPUVkaXRpbmdCZWhhdmlvclR5cGUs
IGluaXRpYWw9ZWRpdGluZ0JlaGF2aW9yVHlwZUZvclBsYXRmb3JtKCkKIG1heGltdW1IVE1MUGFy
c2VyRE9NVHJlZURlcHRoIHR5cGU9dW5zaWduZWQsIGluaXRpYWw9ZGVmYXVsdE1heGltdW1IVE1M
UGFyc2VyRE9NVHJlZURlcHRoCiAKQEAgLTUwLDYgKzU1LDEzIEBAIGphdmFTY3JpcHRDYW5BY2Nl
c3NDbGlwYm9hcmQgaW5pdGlhbD1mYWxzZQogc2hvdWxkUHJpbnRCYWNrZ3JvdW5kcyBpbml0aWFs
PWZhbHNlCiB1c2VzRGFzaGJvYXJkQmFja3dhcmRDb21wYXRpYmlsaXR5TW9kZSBpbml0aWFsPWZh
bHNlLCBjb25kaXRpb25hbD1EQVNIQk9BUkRfU1VQUE9SVAogCitzY3JlZW5Gb250U3Vic3RpdHV0
aW9uRW5hYmxlZCBpbml0aWFsPXRydWUsIHNldE5lZWRzU3R5bGVSZWNhbGNXaGVuU2V0dGluZz0x
Cit0ZXh0QXJlYXNBcmVSZXNpemFibGUgaW5pdGlhbD1mYWxzZSwgc2V0TmVlZHNTdHlsZVJlY2Fs
Y1doZW5TZXR0aW5nPTEKK2F1dGhvckFuZFVzZXJTdHlsZXNFbmFibGVkIGluaXRpYWw9dHJ1ZSwg
c2V0TmVlZHNTdHlsZVJlY2FsY1doZW5TZXR0aW5nPTEKK2FjY2VsZXJhdGVkQ29tcG9zaXRpbmdF
bmFibGVkIGluaXRpYWw9dHJ1ZSwgc2V0TmVlZHNTdHlsZVJlY2FsY1doZW5TZXR0aW5nPTEKK3No
b3dEZWJ1Z0JvcmRlcnMgaW5pdGlhbD1mYWxzZSwgc2V0TmVlZHNTdHlsZVJlY2FsY1doZW5TZXR0
aW5nPTEKK3Nob3dSZXBhaW50Q291bnRlciBpbml0aWFsPWZhbHNlLCBzZXROZWVkc1N0eWxlUmVj
YWxjV2hlblNldHRpbmc9MQorCiAjIFRoaXMgaXMgYSBxdWlyayB3ZSBhcmUgcHJvLWFjdGl2ZWx5
IGFwcGx5aW5nIHRvIG9sZCBhcHBsaWNhdGlvbnMuIEl0IGNoYW5nZXMga2V5Ym9hcmQgZXZlbnQg
ZGlzcGF0Y2hpbmcsCiAjIG1ha2luZyBrZXlJZGVudGlmaWVyIGF2YWlsYWJsZSBvbiBrZXlwcmVz
cyBldmVudHMsIG1ha2luZyBjaGFyQ29kZSBhdmFpbGFibGUgb24ga2V5ZG93bi9rZXl1cCBldmVu
dHMsCiAjIGFuZCBnZXR0aW5nIGtleXByZXNzIGRpc3BhdGNoZWQgaW4gbW9yZSBjYXNlcy4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFrZV9zZXR0aW5ncy5wbCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvbWFrZV9zZXR0aW5ncy5wbAppbmRleCAxMzMxOGI1NzI0M2FhNjNkZTM5YzU4
MmU3ODU1MmM3OTU0MzU4YjUwLi5jYWRmYzcyZGViMmZmMzYxM2Q2MzRkMTM4MzAwYTIyZmQxYjRl
MTFiIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL21ha2Vfc2V0dGluZ3MucGwKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9tYWtlX3NldHRpbmdzLnBsCkBAIC00NSw3ICs0NSw4IEBA
IHN1YiBkZWZhdWx0SXRlbUZhY3RvcnkKICAgICByZXR1cm4gKAogICAgICAgICAnY29uZGl0aW9u
YWwnID0+IDAsCiAgICAgICAgICdpbml0aWFsJyA9PiAnJywKLSAgICAgICAgJ3R5cGUnID0+ICdi
b29sJworICAgICAgICAndHlwZScgPT4gJ2Jvb2wnLAorICAgICAgICAnc2V0TmVlZHNTdHlsZVJl
Y2FsY1doZW5TZXR0aW5nJyA9PiAwLAogICAgICk7CiB9CiAKQEAgLTEwMiw2ICsxMDMsNyBAQCBz
dWIgZ2VuZXJhdGVTZXR0aW5nc01hY3Jvc0hlYWRlcigkKQogICAgIHByaW50R2V0dGVyc0FuZFNl
dHRlcnMoJGZpbGUsIFwldW5jb25kaXRpb25hbFNldHRpbmdzLCBcJXNldHRpbmdzQnlDb25kaXRp
b25hbCwgJHBhcnNlZEl0ZW1zUmVmKTsKICAgICBwcmludE1lbWJlclZhcmlhYmxlcygkZmlsZSwg
XCV1bmNvbmRpdGlvbmFsU2V0dGluZ3MsIFwlc2V0dGluZ3NCeUNvbmRpdGlvbmFsLCAkcGFyc2Vk
SXRlbXNSZWYpOwogICAgIHByaW50SW5pdGlhbGl6ZXJMaXN0KCRmaWxlLCBcJXVuY29uZGl0aW9u
YWxTZXR0aW5ncywgXCVzZXR0aW5nc0J5Q29uZGl0aW9uYWwsICRwYXJzZWRJdGVtc1JlZik7Cisg
ICAgcHJpbnRTZXR0ZXJCb2RpZXMoJGZpbGUsIFwldW5jb25kaXRpb25hbFNldHRpbmdzLCBcJXNl
dHRpbmdzQnlDb25kaXRpb25hbCwgJHBhcnNlZEl0ZW1zUmVmKTsKIAogICAgIHByaW50ICRmaWxl
ICIjZW5kaWYgLy8gU2V0dGluZ3NNYWNyb3NfaFxuIjsKIApAQCAtMTIwLDcgKzEyMiw3IEBAIHN1
YiBwcmludENvbmRpdGlvbmFsTWFjcm9zKCQkJCkKIAogICAgICAgICBwcmludCAkZmlsZSAiI2Rl
ZmluZSAke3ByZWZlcnJlZENvbmRpdGlvbmFsfV9TRVRUSU5HU19HRVRURVJfQU5EX1NFVFRFUlMg
XFxcbiI7CiAgICAgICAgIGZvciBteSAkc2V0dGluZ05hbWUgKHNvcnQga2V5cyAleyAkc2V0dGlu
Z3NCeUNvbmRpdGlvbmFseyRjb25kaXRpb25hbH0gfSkgewotICAgICAgICAgICAgcHJpbnRHZXR0
ZXJBbmRTZXR0ZXIoJGZpbGUsICRzZXR0aW5nTmFtZSwgJHBhcnNlZEl0ZW1zeyRzZXR0aW5nTmFt
ZX17InR5cGUifSk7CisgICAgICAgICAgICBwcmludEdldHRlckFuZFNldHRlcigkZmlsZSwgJHNl
dHRpbmdOYW1lLCAkcGFyc2VkSXRlbXN7JHNldHRpbmdOYW1lfXsidHlwZSJ9LCAkcGFyc2VkSXRl
bXN7JHNldHRpbmdOYW1lfXsic2V0TmVlZHNTdHlsZVJlY2FsY1doZW5TZXR0aW5nIn0pOwogICAg
ICAgICB9CiAgICAgICAgIHByaW50ICRmaWxlICIvLyBFbmQgb2YgJHtwcmVmZXJyZWRDb25kaXRp
b25hbH1fU0VUVElOR1NfR0VUVEVSX0FORF9TRVRURVJTXG4iOwogCkBAIC0xNTMsMTIgKzE1NSwx
OSBAQCBzdWIgcHJpbnRDb25kaXRpb25hbE1hY3JvcygkJCQpCiAgICAgICAgIH0KICAgICAgICAg
cHJpbnQgJGZpbGUgIi8vIEVuZCBvZiAke3ByZWZlcnJlZENvbmRpdGlvbmFsfV9TRVRUSU5HU19C
T09MX0lOSVRJQUxJWkVSU1xuIjsKIAorICAgICAgICBwcmludCAkZmlsZSAiI2RlZmluZSAke3By
ZWZlcnJlZENvbmRpdGlvbmFsfV9TRVRUSU5HU19TRVRURVJfQk9ESUVTIFxcXG4iOworICAgICAg
ICBmb3IgbXkgJHNldHRpbmdOYW1lIChzb3J0IGtleXMgJXsgJHNldHRpbmdzQnlDb25kaXRpb25h
bHskY29uZGl0aW9uYWx9IH0pIHsKKyAgICAgICAgICAgIHByaW50U2V0dGVyQm9keSgkZmlsZSwg
JHNldHRpbmdOYW1lLCAkcGFyc2VkSXRlbXN7JHNldHRpbmdOYW1lfXsidHlwZSJ9LCAkcGFyc2Vk
SXRlbXN7JHNldHRpbmdOYW1lfXsic2V0TmVlZHNTdHlsZVJlY2FsY1doZW5TZXR0aW5nIn0pOwor
ICAgICAgICB9CisgICAgICAgIHByaW50ICRmaWxlICIvLyBFbmQgb2YgJHtwcmVmZXJyZWRDb25k
aXRpb25hbH1fU0VUVElOR1NfU0VUVEVSX0JPRElFU1xuIjsKKwogICAgICAgICBwcmludCAkZmls
ZSAiI2Vsc2VcbiI7CiAgICAgICAgIHByaW50ICRmaWxlICIjZGVmaW5lICR7cHJlZmVycmVkQ29u
ZGl0aW9uYWx9X1NFVFRJTkdTX0dFVFRFUl9BTkRfU0VUVEVSU1xuIjsKICAgICAgICAgcHJpbnQg
JGZpbGUgIiNkZWZpbmUgJHtwcmVmZXJyZWRDb25kaXRpb25hbH1fU0VUVElOR1NfTk9OX0JPT0xf
TUVNQkVSX1ZBUklBQkxFU1xuIjsKICAgICAgICAgcHJpbnQgJGZpbGUgIiNkZWZpbmUgJHtwcmVm
ZXJyZWRDb25kaXRpb25hbH1fU0VUVElOR1NfQk9PTF9NRU1CRVJfVkFSSUFCTEVTXG4iOwogICAg
ICAgICBwcmludCAkZmlsZSAiI2RlZmluZSAke3ByZWZlcnJlZENvbmRpdGlvbmFsfV9TRVRUSU5H
U19OT05fQk9PTF9JTklUSUFMSVpFUlNcbiI7CiAgICAgICAgIHByaW50ICRmaWxlICIjZGVmaW5l
ICR7cHJlZmVycmVkQ29uZGl0aW9uYWx9X1NFVFRJTkdTX0JPT0xfSU5JVElBTElaRVJTXG4iOwor
ICAgICAgICBwcmludCAkZmlsZSAiI2RlZmluZSAke3ByZWZlcnJlZENvbmRpdGlvbmFsfV9TRVRU
SU5HU19TRVRURVJfQk9ESUVTXG4iOwogICAgICAgICBwcmludCAkZmlsZSAiI2VuZGlmXG4iOwog
ICAgICAgICBwcmludCAkZmlsZSAiXG4iOwogICAgIH0KQEAgLTE3Myw3ICsxODIsNyBAQCBzdWIg
cHJpbnRHZXR0ZXJzQW5kU2V0dGVycygkJCQkKQogCiAgICAgcHJpbnQgJGZpbGUgIiNkZWZpbmUg
U0VUVElOR1NfR0VUVEVSU19BTkRfU0VUVEVSUyBcXFxuIjsKICAgICBmb3IgbXkgJHNldHRpbmdO
YW1lIChzb3J0IGtleXMgJXVuY29uZGl0aW9uYWxTZXR0aW5ncykgewotICAgICAgICBwcmludEdl
dHRlckFuZFNldHRlcigkZmlsZSwgJHNldHRpbmdOYW1lLCAkcGFyc2VkSXRlbXN7JHNldHRpbmdO
YW1lfXsidHlwZSJ9KTsKKyAgICAgICAgcHJpbnRHZXR0ZXJBbmRTZXR0ZXIoJGZpbGUsICRzZXR0
aW5nTmFtZSwgJHBhcnNlZEl0ZW1zeyRzZXR0aW5nTmFtZX17InR5cGUifSwgJHBhcnNlZEl0ZW1z
eyRzZXR0aW5nTmFtZX17InNldE5lZWRzU3R5bGVSZWNhbGNXaGVuU2V0dGluZyJ9KTsKICAgICB9
CiAgICAgZm9yIG15ICRjb25kaXRpb25hbCAoc29ydCBrZXlzICVzZXR0aW5nc0J5Q29uZGl0aW9u
YWwpIHsKICAgICAgICAgbXkgJHByZWZlcnJlZENvbmRpdGlvbmFsID0gJEluQ29tcGlsZXItPnBy
ZWZlcnJlZENvbmRpdGlvbmFsKCRjb25kaXRpb25hbCk7CkBAIC0yMjYsMTYgKzIzNSwyMSBAQCBz
dWIgc2V0dGVyRnVuY3Rpb25OYW1lKCQpCiAgICAgcmV0dXJuICRzZXR0ZXJGdW5jdGlvbk5hbWU7
CiB9CiAKLXN1YiBwcmludEdldHRlckFuZFNldHRlcigkJCQpCitzdWIgcHJpbnRHZXR0ZXJBbmRT
ZXR0ZXIoJCQkJCkKIHsKLSAgICBteSAoJGZpbGUsICRzZXR0aW5nTmFtZSwgJHR5cGUpID0gQF87
CisgICAgbXkgKCRmaWxlLCAkc2V0dGluZ05hbWUsICR0eXBlLCAkc2V0TmVlZHNTdHlsZVJlY2Fs
Y1doZW5TZXR0aW5nKSA9IEBfOwogICAgIG15ICRzZXR0ZXJGdW5jdGlvbk5hbWUgPSBzZXR0ZXJG
dW5jdGlvbk5hbWUoJHNldHRpbmdOYW1lKTsKICAgICBpZiAobGMoc3Vic3RyKCR0eXBlLCAwLCAx
KSkgZXEgc3Vic3RyKCR0eXBlLCAwLCAxKSkgewogICAgICAgICBwcmludCAkZmlsZSAiICAgICR0
eXBlICRzZXR0aW5nTmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fJHNldHRpbmdOYW1lOyB9IFxcXG4i
OwotICAgICAgICBwcmludCAkZmlsZSAiICAgIHZvaWQgJHNldHRlckZ1bmN0aW9uTmFtZSgkdHlw
ZSAkc2V0dGluZ05hbWUpIHsgbV8kc2V0dGluZ05hbWUgPSAkc2V0dGluZ05hbWU7IH0gXFxcbiI7
CisgICAgICAgIHByaW50ICRmaWxlICIgICAgdm9pZCAkc2V0dGVyRnVuY3Rpb25OYW1lKCR0eXBl
ICRzZXR0aW5nTmFtZSkiOwogICAgIH0gZWxzZSB7CiAgICAgICAgIHByaW50ICRmaWxlICIgICAg
Y29uc3QgJHR5cGUmICRzZXR0aW5nTmFtZSgpIHsgcmV0dXJuIG1fJHNldHRpbmdOYW1lOyB9IFxc
XG4iOwotICAgICAgICBwcmludCAkZmlsZSAiICAgIHZvaWQgJHNldHRlckZ1bmN0aW9uTmFtZShj
b25zdCAkdHlwZSYgJHNldHRpbmdOYW1lKSB7IG1fJHNldHRpbmdOYW1lID0gJHNldHRpbmdOYW1l
OyB9IFxcXG4iOworICAgICAgICBwcmludCAkZmlsZSAiICAgIHZvaWQgJHNldHRlckZ1bmN0aW9u
TmFtZShjb25zdCAkdHlwZSYgJHNldHRpbmdOYW1lKSI7CisgICAgfQorICAgIGlmICgkc2V0TmVl
ZHNTdHlsZVJlY2FsY1doZW5TZXR0aW5nKSB7CisgICAgICAgIHByaW50ICRmaWxlICI7IFxcXG4i
OworICAgIH0gZWxzZSB7CisgICAgICAgIHByaW50ICRmaWxlICIgeyBtXyRzZXR0aW5nTmFtZSA9
ICRzZXR0aW5nTmFtZTsgfSBcXFxuIjsKICAgICB9CiB9CiAKQEAgLTI3OCw2ICsyOTIsNDMgQEAg
c3ViIHByaW50SW5pdGlhbGl6ZXIoJCQkKQogICAgIHByaW50ICRmaWxlICIgICAgLCBtXyRzZXR0
aW5nTmFtZSgkaW5pdGlhbFZhbHVlKSBcXFxuIgogfQogCitzdWIgcHJpbnRTZXR0ZXJCb2RpZXMo
JCQkJCkKK3sKKyAgICBteSAoJGZpbGUsICR1bmNvbmRpdGlvbmFsU2V0dGluZ3NSZWYsICRzZXR0
aW5nc0J5Q29uZGl0aW9uYWxSZWYsICRwYXJzZWRJdGVtc1JlZikgPSBAXzsKKyAgICBteSAlcGFy
c2VkSXRlbXMgPSAleyAkcGFyc2VkSXRlbXNSZWYgfTsKKyAgICBteSAldW5jb25kaXRpb25hbFNl
dHRpbmdzID0gJXsgJHVuY29uZGl0aW9uYWxTZXR0aW5nc1JlZiB9OworICAgIG15ICVzZXR0aW5n
c0J5Q29uZGl0aW9uYWwgPSAleyAkc2V0dGluZ3NCeUNvbmRpdGlvbmFsUmVmIH07CisKKyAgICBw
cmludCAkZmlsZSAiI2RlZmluZSBTRVRUSU5HU19TRVRURVJfQk9ESUVTIFxcXG4iOworICAgIGZv
ciBteSAkc2V0dGluZ05hbWUgKHNvcnQga2V5cyAldW5jb25kaXRpb25hbFNldHRpbmdzKSB7Cisg
ICAgICAgIHByaW50U2V0dGVyQm9keSgkZmlsZSwgJHNldHRpbmdOYW1lLCAkcGFyc2VkSXRlbXN7
JHNldHRpbmdOYW1lfXsidHlwZSJ9LCAkcGFyc2VkSXRlbXN7JHNldHRpbmdOYW1lfXsic2V0TmVl
ZHNTdHlsZVJlY2FsY1doZW5TZXR0aW5nIn0pOworICAgIH0KKyAgICBmb3IgbXkgJGNvbmRpdGlv
bmFsIChzb3J0IGtleXMgJXNldHRpbmdzQnlDb25kaXRpb25hbCkgeworICAgICAgICBteSAkcHJl
ZmVycmVkQ29uZGl0aW9uYWwgPSAkSW5Db21waWxlci0+cHJlZmVycmVkQ29uZGl0aW9uYWwoJGNv
bmRpdGlvbmFsKTsKKyAgICAgICAgcHJpbnQgJGZpbGUgIiAgICAke3ByZWZlcnJlZENvbmRpdGlv
bmFsfV9TRVRUSU5HU19TRVRURVJfQk9ESUVTIFxcXG4iOworICAgIH0KKyAgICBwcmludCAkZmls
ZSAiLy8gRW5kIG9mIFNFVFRJTkdTX1NFVFRFUl9CT0RJRVMuXG5cbiI7Cit9CisKK3N1YiBwcmlu
dFNldHRlckJvZHkoJCQkJCkKK3sKKyAgICBteSAoJGZpbGUsICRzZXR0aW5nTmFtZSwgJHR5cGUs
ICRzZXROZWVkc1N0eWxlUmVjYWxjV2hlblNldHRpbmcpID0gQF87CisgICAgcmV0dXJuIGlmICgh
JHNldE5lZWRzU3R5bGVSZWNhbGNXaGVuU2V0dGluZyk7CisKKyAgICBteSAkc2V0dGVyRnVuY3Rp
b25OYW1lID0gc2V0dGVyRnVuY3Rpb25OYW1lKCRzZXR0aW5nTmFtZSk7CisgICAgaWYgKGxjKHN1
YnN0cigkdHlwZSwgMCwgMSkpIGVxIHN1YnN0cigkdHlwZSwgMCwgMSkpIHsKKyAgICAgICAgcHJp
bnQgJGZpbGUgInZvaWQgU2V0dGluZ3M6OiRzZXR0ZXJGdW5jdGlvbk5hbWUoJHR5cGUgJHNldHRp
bmdOYW1lKSBcXFxuIjsKKyAgICB9IGVsc2UgeworICAgICAgICBwcmludCAkZmlsZSAidm9pZCBT
ZXR0aW5nczo6JHNldHRlckZ1bmN0aW9uTmFtZShjb25zdCAkdHlwZSYgJHNldHRpbmdOYW1lKSBc
XFxuIjsKKyAgICB9CisgICAgcHJpbnQgJGZpbGUgInsgXFxcbiI7CisgICAgcHJpbnQgJGZpbGUg
IiAgICBpZiAobV8kc2V0dGluZ05hbWUgPT0gJHNldHRpbmdOYW1lKSBcXFxuIjsKKyAgICBwcmlu
dCAkZmlsZSAiICAgICAgICByZXR1cm47IFxcXG4iOworICAgIHByaW50ICRmaWxlICIgICAgbV8k
c2V0dGluZ05hbWUgPSAkc2V0dGluZ05hbWU7IFxcXG4iOworICAgIHByaW50ICRmaWxlICIgICAg
bV9wYWdlLT5zZXROZWVkc1JlY2FsY1N0eWxlSW5BbGxGcmFtZXMoKTsgXFxcbiI7CisgICAgcHJp
bnQgJGZpbGUgIn0gXFxcbiI7Cit9CisKIHN1YiBlbnVtZXJhdGVQYXJzZWRJdGVtcygkJCQpCiB7
CiAgICAgbXkgKCRmaWxlLCAkcGFyc2VkSXRlbXNSZWYsICR2aXNpdG9yRnVuY3Rpb24pID0gQF87
CmRpZmYgLS1naXQgYS9Tb3VyY2UvYXV0b3Rvb2xzL3N5bWJvbHMuZmlsdGVyIGIvU291cmNlL2F1
dG90b29scy9zeW1ib2xzLmZpbHRlcgppbmRleCAxZWE3ZTBkNzFkNjU2YTgxM2E0YzMxYTdiZGE5
YjE3NDk2ZDRiYjYyLi40OWY0YjZlNzIxYWYyYmQxNWNlZmVmYjljZDlkYWUwOTg4YTEyNjk0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvYXV0b3Rvb2xzL3N5bWJvbHMuZmlsdGVyCisrKyBiL1NvdXJjZS9h
dXRvdG9vbHMvc3ltYm9scy5maWx0ZXIKQEAgLTE5NywyMCArMTk3LDMwIEBAIF9aTjdXZWJDb3Jl
NE5vZGUxNHJlbW92ZWRMYXN0UmVmRXY7CiBfWk43V2ViQ29yZTZDdXJzb3JDMUVSS1MwXzsKIF9a
TjdXZWJDb3JlNkN1cnNvckQxRXY7CiBfWk43V2ViQ29yZThTZXR0aW5nczE2c2V0SW1hZ2VzRW5h
YmxlZEViOworX1pON1dlYkNvcmU4U2V0dGluZ3MxOHNldERlZmF1bHRGb250U2l6ZUVpOwogX1pO
N1dlYkNvcmU4U2V0dGluZ3MxOHNldEZpeGVkRm9udEZhbWlseUVSS04zV1RGMTJBdG9taWNTdHJp
bmdFMTFVU2NyaXB0Q29kZTsKK19aTjdXZWJDb3JlOFNldHRpbmdzMThzZXRNaW5pbXVtRm9udFNp
emVFaTsKIF9aTjdXZWJDb3JlOFNldHRpbmdzMThzZXRTZXJpZkZvbnRGYW1pbHlFUktOM1dURjEy
QXRvbWljU3RyaW5nRTExVVNjcmlwdENvZGU7CitfWk43V2ViQ29yZThTZXR0aW5nczE5c2V0U2hv
d0RlYnVnQm9yZGVyc0ViOwogX1pON1dlYkNvcmU4U2V0dGluZ3MyMHNldEN1cnNpdmVGb250RmFt
aWx5RVJLTjNXVEYxMkF0b21pY1N0cmluZ0UxMVVTY3JpcHRDb2RlOwogX1pON1dlYkNvcmU4U2V0
dGluZ3MyMHNldEZhbnRhc3lGb250RmFtaWx5RVJLTjNXVEYxMkF0b21pY1N0cmluZ0UxMVVTY3Jp
cHRDb2RlOworX1pON1dlYkNvcmU4U2V0dGluZ3MyMHNldE1lZGlhVHlwZU92ZXJyaWRlRVJLTjNX
VEY2U3RyaW5nRTsKIF9aTjdXZWJDb3JlOFNldHRpbmdzMjFtb2NrU2Nyb2xsYmFyc0VuYWJsZWRF
djsKK19aTjdXZWJDb3JlOFNldHRpbmdzMjFzZXRSZXNvbHV0aW9uT3ZlcnJpZGVFUktOU183SW50
U2l6ZUU7CitfWk43V2ViQ29yZThTZXR0aW5nczIxc2V0U2hvd1JlcGFpbnRDb3VudGVyRWI7CiBf
Wk43V2ViQ29yZThTZXR0aW5nczIxc2V0U3RhbmRhcmRGb250RmFtaWx5RVJLTjNXVEYxMkF0b21p
Y1N0cmluZ0UxMVVTY3JpcHRDb2RlOwogX1pON1dlYkNvcmU4U2V0dGluZ3MyMnNldFNhbnNTZXJp
ZkZvbnRGYW1pbHlFUktOM1dURjEyQXRvbWljU3RyaW5nRTExVVNjcmlwdENvZGU7CitfWk43V2Vi
Q29yZThTZXR0aW5nczIzc2V0RGVmYXVsdEZpeGVkRm9udFNpemVFaTsKIF9aTjdXZWJDb3JlOFNl
dHRpbmdzMjNzZXRQaWN0b2dyYXBoRm9udEZhbWlseUVSS04zV1RGMTJBdG9taWNTdHJpbmdFMTFV
U2NyaXB0Q29kZTsKIF9aTjdXZWJDb3JlOFNldHRpbmdzMjRzZXRNb2NrU2Nyb2xsYmFyc0VuYWJs
ZWRFYjsKLV9aTjdXZWJDb3JlOFNldHRpbmdzMjRzZXRVc2VzT3ZlcmxheVNjcm9sbGJhcnNFYjsK
IF9aTjdXZWJDb3JlOFNldHRpbmdzMjRzZXRTdG9yYWdlQmxvY2tpbmdQb2xpY3lFTlNfMTRTZWN1
cml0eU9yaWdpbjIxU3RvcmFnZUJsb2NraW5nUG9saWN5RTsKK19aTjdXZWJDb3JlOFNldHRpbmdz
MjRzZXRUZXh0QXJlYXNBcmVSZXNpemFibGVFYjsKK19aTjdXZWJDb3JlOFNldHRpbmdzMjRzZXRV
c2VzT3ZlcmxheVNjcm9sbGJhcnNFYjsKK19aTjdXZWJDb3JlOFNldHRpbmdzMjVzZXRNaW5pbXVt
TG9naWNhbEZvbnRTaXplRWk7CitfWk43V2ViQ29yZThTZXR0aW5nczI5c2V0QXV0aG9yQW5kVXNl
clN0eWxlc0VuYWJsZWRFYjsKK19aTjdXZWJDb3JlOFNldHRpbmdzMzJzZXRBY2NlbGVyYXRlZENv
bXBvc2l0aW5nRW5hYmxlZEViOworX1pON1dlYkNvcmU4U2V0dGluZ3MzMnNldFNjcmVlbkZvbnRT
dWJzdGl0dXRpb25FbmFibGVkRWI7CiBfWk43V2ViQ29yZThTZXR0aW5nczM3c2V0Rml4ZWRFbGVt
ZW50c0xheW91dFJlbGF0aXZlVG9GcmFtZUViOwotX1pON1dlYkNvcmU4U2V0dGluZ3MyMXNldFJl
c29sdXRpb25PdmVycmlkZUVSS05TXzdJbnRTaXplRTsKLV9aTjdXZWJDb3JlOFNldHRpbmdzMjBz
ZXRNZWRpYVR5cGVPdmVycmlkZUVSS04zV1RGNlN0cmluZ0U7CiBfWk43V2ViQ29yZTlGcmFtZVZp
ZXcxN3BhaW50Q29udHJvbFRpbnRzRXY7CiBfWk43V2ViQ29yZTlGcmFtZVZpZXcxOXNjcm9sbEVs
ZW1lbnRUb1JlY3RFUE5TXzdFbGVtZW50RVJLTlNfN0ludFJlY3RFOwogX1pON1dlYkNvcmUyMlJ1
bnRpbWVFbmFibGVkRmVhdHVyZXMzMWlzTXVsdGlwbGVTaGFkb3dTdWJ0cmVlc0VuYWJsZWRFOwpk
aWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4IDBiY2QwNjhhZDQ3MGU0ZmU5
YTJjODIyMzg4NjI3NjJhMTc4NjU4ZmQuLjM2MDc1ODBiZmNmMTkyNGZiZDM3OTU5MTQ0NDY3OTY2
OGM0Zjc4NmIgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNCBAQAorMjAxMy0wMi0yMCAgVG9ueSBDaGFuZyAgPHRvbnlAY2hyb21pdW0ub3JnPgorCisg
ICAgICAgIEF1dG9nZW5lcmF0ZSBTZXR0aW5ncyB0aGF0IGNhbGwgc2V0TmVlZHNSZWNhbGNTdHls
ZUluQWxsRnJhbWVzIHdoZW4gc2V0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMDk5ODkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBBZGQgc2V0dGVycyB0byBleHBvcnQgc3ltYm9scy4KKworICAgICAgICAq
IFNvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXI6CisKIDIwMTMtMDItMTkgIENsYXVkaW8g
U2FhdmVkcmEgIDxjc2FhdmVkcmFAaWdhbGlhLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkIGJ1
aWxkIGZpeC4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>189593</attachid>
            <date>2013-02-21 13:44:50 -0800</date>
            <delta_ts>2013-02-21 14:23:02 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-109989-20130221134110.patch</filename>
            <type>text/plain</type>
            <size>24979</size>
            <attacher name="Tony Chang">tony</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQzNjMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmFkNGRlZGZiZmY3ZGJj
MjQxMGI3ZjEwODgwM2VkMDFjZWIwMTVmYy4uY2M5NTQxNjJkY2JmNDc3NmNkYmU1ZDgyZDY2OTBl
YjJjYmVlMDY1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEzLTAyLTIwICBUb255
IENoYW5nICA8dG9ueUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgQXV0b2dlbmVyYXRlIFNldHRp
bmdzIHRoYXQgY2FsbCBzZXROZWVkc1JlY2FsY1N0eWxlSW5BbGxGcmFtZXMgd2hlbiBzZXQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwOTk4OQorCisg
ICAgICAgIFJldmlld2VkIGJ5IFJ5b3N1a2UgTml3YS4KKworICAgICAgICBTdGFydCBnZW5lcmF0
aW5nIHRoZSBjb2RlIGZvciBzZXR0aW5ncyB0aGF0IGNhbGwgbV9wYWdlLT5zZXROZWVkc1JlY2Fs
Y1N0eWxlSW5BbGxGcmFtZXMoKQorICAgICAgICB3aGVuIHRoZSB2YWx1ZSBpcyBjaGFuZ2VkLiBU
aGlzIGFsbG93cyB1cyB0byBnZW5lcmF0ZSAxMCBtb3JlIHNldHRpbmdzLiBBcyBhIGZvbGxvdyB1
cCwgd2UKKyAgICAgICAgY2FuIHJlbW92ZSBzb21lIG1ldGhvZHMgZnJvbSBEUlQvV1RSIGFmdGVy
IHRoaXMuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCB0aGlzIGlzIGEgYnVpbGQgcmVmYWN0b3Ig
YW5kIHNob3VsZCBub3QgaW1wYWN0IGFueSB0ZXN0IHJlc3VsdHMuCisKKyAgICAgICAgKiBwYWdl
L1NldHRpbmdzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNldHRpbmdzOjpTZXR0aW5ncyk6IFJl
bW92ZSBtZW1iZXIgdmFyaWFibGVzLiBBZGQgU0VUVElOR1NfU0VUVEVSX0JPRElFUyBtYWNybyB0
aGF0CisgICAgICAgIGhhcyB0aGUgZ2VuZXJhdGVkIHNldHRlciBib2RpZXMuCisgICAgICAgICog
cGFnZS9TZXR0aW5ncy5oOgorICAgICAgICAoU2V0dGluZ3MpOiBSZW1vdmUgY29kZSB0aGF0IGlz
IG5vdyBnZW5lcmF0ZWQuCisgICAgICAgICogcGFnZS9TZXR0aW5ncy5pbjogQWRkIG5ldyBlbnRy
aWVzIHdpdGggc2V0TmVlZHNTdHlsZVJlY2FsY1doZW5TZXR0aW5nPTEKKyAgICAgICAgKiBwYWdl
L21ha2Vfc2V0dGluZ3MucGw6CisgICAgICAgIChkZWZhdWx0SXRlbUZhY3RvcnkpOiBBZGQgc2V0
TmVlZHNTdHlsZVJlY2FsY1doZW5TZXR0aW5nIGZsYWcuCisgICAgICAgIChnZW5lcmF0ZVNldHRp
bmdzTWFjcm9zSGVhZGVyKTogUHJpbnQgbWFjcm8gZm9yIHNldHRlciBib2RpZXMuCisgICAgICAg
IChwcmludENvbmRpdGlvbmFsTWFjcm9zKTogQWRkIHNldHRlciBib2R5IGNvZGUuCisgICAgICAg
IChwcmludEdldHRlcnNBbmRTZXR0ZXJzKTogUGFzcyBpbiBzZXROZWVkc1N0eWxlUmVjYWxjV2hl
blNldHRpbmcgc28gd2Uga25vdyB3aGV0aGVyIHRvIGlubGluZSB0aGUKKyAgICAgICAgc2V0dGVy
IGluIHRoZSBoZWFkZXIgb3Igbm90LgorICAgICAgICAocHJpbnRHZXR0ZXJBbmRTZXR0ZXIpOiBE
aXR0by4KKyAgICAgICAgKHByaW50U2V0dGVyQm9kaWVzKTogUHJpbnQgbWFjcm8gZm9yIHNldHRl
ciBib2RpZXMuCisgICAgICAgIChwcmludFNldHRlckJvZHkpOiBQcmludCBzZXR0ZXIgYm9keSBm
b3IgYSBzaW5nbGUgc2V0dGluZy4KKwogMjAxMy0wMi0yMSAgVml2ZWsgR2FsYXRhZ2UgIDx2aXZl
ay52Z0BzYW1zdW5nLmNvbT4KIAogICAgICAgICBbSlMgQmluZGluZ10gU2NyaXB0T2JqZWN0IGRl
ZmF1bHQgY29uc3RydWN0b3Igc2hvdWxkIGluaXRpYWxpemUgdGhlIFNjcmlwdCBTdGF0ZSB0byAw
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCmluZGV4IDg5Y2U3MzM4MDg4MTgzOTY3ZjUxMmIyZGJk
NjQ3ZTc2MGI4ZTc0Y2YuLmJlN2YwN2ExMDZkYWRhM2MwZTM5MWUyNjYxZDAyODNmYWEwYTRlODMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuY3BwCkBAIC0xNDEsMTEgKzE0MSw2IEBAIHN0YXRpYyBj
b25zdCBkb3VibGUgZGVmYXVsdFVuaWZpZWRUZXh0Q2hlY2tlckVuYWJsZWQgPSBmYWxzZTsKIFNl
dHRpbmdzOjpTZXR0aW5ncyhQYWdlKiBwYWdlKQogICAgIDogbV9wYWdlKDApCiAgICAgLCBtX21l
ZGlhVHlwZU92ZXJyaWRlKCJzY3JlZW4iKQotICAgICwgbV9taW5pbXVtRm9udFNpemUoMCkKLSAg
ICAsIG1fbWluaW11bUxvZ2ljYWxGb250U2l6ZSgwKQotICAgICwgbV9kZWZhdWx0Rm9udFNpemUo
MCkKLSAgICAsIG1fZGVmYXVsdEZpeGVkRm9udFNpemUoMCkKLSAgICAsIG1fc2NyZWVuRm9udFN1
YnN0aXR1dGlvbkVuYWJsZWQodHJ1ZSkKICAgICAsIG1fc3RvcmFnZUJsb2NraW5nUG9saWN5KFNl
Y3VyaXR5T3JpZ2luOjpBbGxvd0FsbFN0b3JhZ2UpCiAjaWYgRU5BQkxFKFRFWFRfQVVUT1NJWklO
RykKICAgICAsIG1fdGV4dEF1dG9zaXppbmdGb250U2NhbGVGYWN0b3IoMSkKQEAgLTE2NCwxMCAr
MTU5LDggQEAgU2V0dGluZ3M6OlNldHRpbmdzKFBhZ2UqIHBhZ2UpCiAgICAgLCBtX2FyZUltYWdl
c0VuYWJsZWQodHJ1ZSkKICAgICAsIG1fYXJlUGx1Z2luc0VuYWJsZWQoZmFsc2UpCiAgICAgLCBt
X2lzU2NyaXB0RW5hYmxlZChmYWxzZSkKLSAgICAsIG1fdGV4dEFyZWFzQXJlUmVzaXphYmxlKGZh
bHNlKQogICAgICwgbV9uZWVkc0Fkb2JlRnJhbWVSZWxvYWRpbmdRdWlyayhmYWxzZSkKICAgICAs
IG1fdXNlc1BhZ2VDYWNoZShmYWxzZSkKLSAgICAsIG1fYXV0aG9yQW5kVXNlclN0eWxlc0VuYWJs
ZWQodHJ1ZSkKICAgICAsIG1fZm9udFJlbmRlcmluZ01vZGUoMCkKICAgICAsIG1faXNDU1NDdXN0
b21GaWx0ZXJFbmFibGVkKGZhbHNlKQogI2lmIEVOQUJMRShDU1NfU1RJQ0tZX1BPU0lUSU9OKQpA
QCAtMTc2LDkgKzE2OSw2IEBAIFNldHRpbmdzOjpTZXR0aW5ncyhQYWdlKiBwYWdlKQogI2lmIEVO
QUJMRShDU1NfVkFSSUFCTEVTKQogICAgICwgbV9jc3NWYXJpYWJsZXNFbmFibGVkKGZhbHNlKQog
I2VuZGlmCi0gICAgLCBtX2FjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkKHRydWUpCi0gICAg
LCBtX3Nob3dEZWJ1Z0JvcmRlcnMoZmFsc2UpCi0gICAgLCBtX3Nob3dSZXBhaW50Q291bnRlcihm
YWxzZSkKICAgICAsIG1fc2hvd1RpbGVkU2Nyb2xsaW5nSW5kaWNhdG9yKGZhbHNlKQogICAgICwg
bV90aWxlZEJhY2tpbmdTdG9yZUVuYWJsZWQoZmFsc2UpCiAgICAgLCBtX2Ruc1ByZWZldGNoaW5n
RW5hYmxlZChmYWxzZSkKQEAgLTIwNCw2ICsxOTQsOCBAQCBQYXNzT3duUHRyPFNldHRpbmdzPiBT
ZXR0aW5nczo6Y3JlYXRlKFBhZ2UqIHBhZ2UpCiAgICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBTZXR0
aW5ncyhwYWdlKSk7CiB9IAogCitTRVRUSU5HU19TRVRURVJfQk9ESUVTCisKIHZvaWQgU2V0dGlu
Z3M6OnNldEhpZGRlblBhZ2VET01UaW1lckFsaWdubWVudEludGVydmFsKGRvdWJsZSBoaWRkZW5Q
YWdlRE9NVGltZXJBbGlnbm1lbnRpbnRlcnZhbCkKIHsKICAgICBnSGlkZGVuUGFnZURPTVRpbWVy
QWxpZ25tZW50SW50ZXJ2YWwgPSBoaWRkZW5QYWdlRE9NVGltZXJBbGlnbm1lbnRpbnRlcnZhbDsK
QEAgLTI5MSw1MSArMjgzLDYgQEAgdm9pZCBTZXR0aW5nczo6c2V0UGljdG9ncmFwaEZvbnRGYW1p
bHkoY29uc3QgQXRvbWljU3RyaW5nJiBmYW1pbHksIFVTY3JpcHRDb2RlIHMKICAgICBzZXRHZW5l
cmljRm9udEZhbWlseU1hcChtX3BpY3RvZ3JhcGhGb250RmFtaWx5TWFwLCBmYW1pbHksIHNjcmlw
dCwgbV9wYWdlKTsKIH0KIAotdm9pZCBTZXR0aW5nczo6c2V0TWluaW11bUZvbnRTaXplKGludCBt
aW5pbXVtRm9udFNpemUpCi17Ci0gICAgaWYgKG1fbWluaW11bUZvbnRTaXplID09IG1pbmltdW1G
b250U2l6ZSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgbV9taW5pbXVtRm9udFNpemUgPSBtaW5p
bXVtRm9udFNpemU7Ci0gICAgbV9wYWdlLT5zZXROZWVkc1JlY2FsY1N0eWxlSW5BbGxGcmFtZXMo
KTsKLX0KLQotdm9pZCBTZXR0aW5nczo6c2V0TWluaW11bUxvZ2ljYWxGb250U2l6ZShpbnQgbWlu
aW11bUxvZ2ljYWxGb250U2l6ZSkKLXsKLSAgICBpZiAobV9taW5pbXVtTG9naWNhbEZvbnRTaXpl
ID09IG1pbmltdW1Mb2dpY2FsRm9udFNpemUpCi0gICAgICAgIHJldHVybjsKLQotICAgIG1fbWlu
aW11bUxvZ2ljYWxGb250U2l6ZSA9IG1pbmltdW1Mb2dpY2FsRm9udFNpemU7Ci0gICAgbV9wYWdl
LT5zZXROZWVkc1JlY2FsY1N0eWxlSW5BbGxGcmFtZXMoKTsKLX0KLQotdm9pZCBTZXR0aW5nczo6
c2V0RGVmYXVsdEZvbnRTaXplKGludCBkZWZhdWx0Rm9udFNpemUpCi17Ci0gICAgaWYgKG1fZGVm
YXVsdEZvbnRTaXplID09IGRlZmF1bHRGb250U2l6ZSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAg
bV9kZWZhdWx0Rm9udFNpemUgPSBkZWZhdWx0Rm9udFNpemU7Ci0gICAgbV9wYWdlLT5zZXROZWVk
c1JlY2FsY1N0eWxlSW5BbGxGcmFtZXMoKTsKLX0KLQotdm9pZCBTZXR0aW5nczo6c2V0RGVmYXVs
dEZpeGVkRm9udFNpemUoaW50IGRlZmF1bHRGb250U2l6ZSkKLXsKLSAgICBpZiAobV9kZWZhdWx0
Rml4ZWRGb250U2l6ZSA9PSBkZWZhdWx0Rm9udFNpemUpCi0gICAgICAgIHJldHVybjsKLQotICAg
IG1fZGVmYXVsdEZpeGVkRm9udFNpemUgPSBkZWZhdWx0Rm9udFNpemU7Ci0gICAgbV9wYWdlLT5z
ZXROZWVkc1JlY2FsY1N0eWxlSW5BbGxGcmFtZXMoKTsKLX0KLQotdm9pZCBTZXR0aW5nczo6c2V0
U2NyZWVuRm9udFN1YnN0aXR1dGlvbkVuYWJsZWQoYm9vbCBzY3JlZW5Gb250U3Vic3RpdHV0aW9u
RW5hYmxlZCkKLXsKLSAgICBpZiAobV9zY3JlZW5Gb250U3Vic3RpdHV0aW9uRW5hYmxlZCA9PSBz
Y3JlZW5Gb250U3Vic3RpdHV0aW9uRW5hYmxlZCkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgbV9z
Y3JlZW5Gb250U3Vic3RpdHV0aW9uRW5hYmxlZCA9IHNjcmVlbkZvbnRTdWJzdGl0dXRpb25FbmFi
bGVkOwotICAgIG1fcGFnZS0+c2V0TmVlZHNSZWNhbGNTdHlsZUluQWxsRnJhbWVzKCk7Ci19Ci0K
ICNpZiBFTkFCTEUoVEVYVF9BVVRPU0laSU5HKQogdm9pZCBTZXR0aW5nczo6c2V0VGV4dEF1dG9z
aXppbmdFbmFibGVkKGJvb2wgdGV4dEF1dG9zaXppbmdFbmFibGVkKQogewpAQCAtNDYwLDE1ICs0
MDcsNiBAQCB2b2lkIFNldHRpbmdzOjpzZXRVc2VyU3R5bGVTaGVldExvY2F0aW9uKGNvbnN0IEtV
UkwmIHVzZXJTdHlsZVNoZWV0TG9jYXRpb24pCiAgICAgbV9wYWdlLT51c2VyU3R5bGVTaGVldExv
Y2F0aW9uQ2hhbmdlZCgpOwogfQogCi12b2lkIFNldHRpbmdzOjpzZXRUZXh0QXJlYXNBcmVSZXNp
emFibGUoYm9vbCB0ZXh0QXJlYXNBcmVSZXNpemFibGUpCi17Ci0gICAgaWYgKG1fdGV4dEFyZWFz
QXJlUmVzaXphYmxlID09IHRleHRBcmVhc0FyZVJlc2l6YWJsZSkKLSAgICAgICAgcmV0dXJuOwot
Ci0gICAgbV90ZXh0QXJlYXNBcmVSZXNpemFibGUgPSB0ZXh0QXJlYXNBcmVSZXNpemFibGU7Ci0g
ICAgbV9wYWdlLT5zZXROZWVkc1JlY2FsY1N0eWxlSW5BbGxGcmFtZXMoKTsKLX0KLQogLy8gRklY
TUU6IFRoaXMgcXVpcmsgaXMgbmVlZGVkIGJlY2F1c2Ugb2YgUmFkYXIgNDY3NDUzNyBhbmQgNTIx
MTI3MS4gV2UgbmVlZCB0byBwaGFzZSBpdCBvdXQgb25jZSBBZG9iZQogLy8gY2FuIGZpeCB0aGUg
YnVnIGZyb20gdGhlaXIgZW5kLgogdm9pZCBTZXR0aW5nczo6c2V0TmVlZHNBZG9iZUZyYW1lUmVs
b2FkaW5nUXVpcmsoYm9vbCBzaG91bGROb3RSZWxvYWRJRnJhbWVzRm9yVW5jaGFuZ2VkU1JDKQpA
QCAtNTMxLDE1ICs0NjksNiBAQCB2b2lkIFNldHRpbmdzOjpzZXRVc2VzUGFnZUNhY2hlKGJvb2wg
dXNlc1BhZ2VDYWNoZSkKICAgICB9CiB9CiAKLXZvaWQgU2V0dGluZ3M6OnNldEF1dGhvckFuZFVz
ZXJTdHlsZXNFbmFibGVkKGJvb2wgYXV0aG9yQW5kVXNlclN0eWxlc0VuYWJsZWQpCi17Ci0gICAg
aWYgKG1fYXV0aG9yQW5kVXNlclN0eWxlc0VuYWJsZWQgPT0gYXV0aG9yQW5kVXNlclN0eWxlc0Vu
YWJsZWQpCi0gICAgICAgIHJldHVybjsKLQotICAgIG1fYXV0aG9yQW5kVXNlclN0eWxlc0VuYWJs
ZWQgPSBhdXRob3JBbmRVc2VyU3R5bGVzRW5hYmxlZDsKLSAgICBtX3BhZ2UtPnNldE5lZWRzUmVj
YWxjU3R5bGVJbkFsbEZyYW1lcygpOwotfQotCiB2b2lkIFNldHRpbmdzOjpzZXRGb250UmVuZGVy
aW5nTW9kZShGb250UmVuZGVyaW5nTW9kZSBtb2RlKQogewogICAgIGlmIChmb250UmVuZGVyaW5n
TW9kZSgpID09IG1vZGUpCkBAIC01NjIsMzMgKzQ5MSw2IEBAIHZvaWQgU2V0dGluZ3M6OnNldERO
U1ByZWZldGNoaW5nRW5hYmxlZChib29sIGRuc1ByZWZldGNoaW5nRW5hYmxlZCkKICAgICBtX3Bh
Z2UtPmRuc1ByZWZldGNoaW5nU3RhdGVDaGFuZ2VkKCk7CiB9CiAKLXZvaWQgU2V0dGluZ3M6OnNl
dEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkKGJvb2wgZW5hYmxlZCkKLXsKLSAgICBpZiAo
bV9hY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZCA9PSBlbmFibGVkKQotICAgICAgICByZXR1
cm47Ci0gICAgICAgIAotICAgIG1fYWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJsZWQgPSBlbmFi
bGVkOwotICAgIG1fcGFnZS0+c2V0TmVlZHNSZWNhbGNTdHlsZUluQWxsRnJhbWVzKCk7Ci19Ci0K
LXZvaWQgU2V0dGluZ3M6OnNldFNob3dEZWJ1Z0JvcmRlcnMoYm9vbCBlbmFibGVkKQotewotICAg
IGlmIChtX3Nob3dEZWJ1Z0JvcmRlcnMgPT0gZW5hYmxlZCkKLSAgICAgICAgcmV0dXJuOwotICAg
ICAgICAKLSAgICBtX3Nob3dEZWJ1Z0JvcmRlcnMgPSBlbmFibGVkOwotICAgIG1fcGFnZS0+c2V0
TmVlZHNSZWNhbGNTdHlsZUluQWxsRnJhbWVzKCk7Ci19Ci0KLXZvaWQgU2V0dGluZ3M6OnNldFNo
b3dSZXBhaW50Q291bnRlcihib29sIGVuYWJsZWQpCi17Ci0gICAgaWYgKG1fc2hvd1JlcGFpbnRD
b3VudGVyID09IGVuYWJsZWQpCi0gICAgICAgIHJldHVybjsKLSAgICAgICAgCi0gICAgbV9zaG93
UmVwYWludENvdW50ZXIgPSBlbmFibGVkOwotICAgIG1fcGFnZS0+c2V0TmVlZHNSZWNhbGNTdHls
ZUluQWxsRnJhbWVzKCk7Ci19Ci0KIHZvaWQgU2V0dGluZ3M6OnNldFNob3dUaWxlZFNjcm9sbGlu
Z0luZGljYXRvcihib29sIGVuYWJsZWQpCiB7CiAgICAgaWYgKG1fc2hvd1RpbGVkU2Nyb2xsaW5n
SW5kaWNhdG9yID09IGVuYWJsZWQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Nl
dHRpbmdzLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKaW5kZXggNmQxODYwOWEy
MWZlMWUyODBkZTIzYjI5NTE3M2ZiOWE4MzEwMjhmYS4uNGFlOGFiOWIyNWViYTNlZjk2ODIyOTgz
MzBhZThlYjU1ODJhMTA1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5n
cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaApAQCAtOTQsMjEgKzk0LDYg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2b2lkIHNldFBpY3RvZ3JhcGhGb250RmFt
aWx5KGNvbnN0IEF0b21pY1N0cmluZyYsIFVTY3JpcHRDb2RlID0gVVNDUklQVF9DT01NT04pOwog
ICAgICAgICBjb25zdCBBdG9taWNTdHJpbmcmIHBpY3RvZ3JhcGhGb250RmFtaWx5KFVTY3JpcHRD
b2RlID0gVVNDUklQVF9DT01NT04pIGNvbnN0OwogCi0gICAgICAgIHZvaWQgc2V0TWluaW11bUZv
bnRTaXplKGludCk7Ci0gICAgICAgIGludCBtaW5pbXVtRm9udFNpemUoKSBjb25zdCB7IHJldHVy
biBtX21pbmltdW1Gb250U2l6ZTsgfQotCi0gICAgICAgIHZvaWQgc2V0TWluaW11bUxvZ2ljYWxG
b250U2l6ZShpbnQpOwotICAgICAgICBpbnQgbWluaW11bUxvZ2ljYWxGb250U2l6ZSgpIGNvbnN0
IHsgcmV0dXJuIG1fbWluaW11bUxvZ2ljYWxGb250U2l6ZTsgfQotCi0gICAgICAgIHZvaWQgc2V0
RGVmYXVsdEZvbnRTaXplKGludCk7Ci0gICAgICAgIGludCBkZWZhdWx0Rm9udFNpemUoKSBjb25z
dCB7IHJldHVybiBtX2RlZmF1bHRGb250U2l6ZTsgfQotCi0gICAgICAgIHZvaWQgc2V0RGVmYXVs
dEZpeGVkRm9udFNpemUoaW50KTsKLSAgICAgICAgaW50IGRlZmF1bHRGaXhlZEZvbnRTaXplKCkg
Y29uc3QgeyByZXR1cm4gbV9kZWZhdWx0Rml4ZWRGb250U2l6ZTsgfQotCi0gICAgICAgIHZvaWQg
c2V0U2NyZWVuRm9udFN1YnN0aXR1dGlvbkVuYWJsZWQoYm9vbCk7Ci0gICAgICAgIGJvb2wgc2Ny
ZWVuRm9udFN1YnN0aXR1dGlvbkVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX3NjcmVlbkZvbnRT
dWJzdGl0dXRpb25FbmFibGVkOyB9Ci0KICNpZiBFTkFCTEUoVEVYVF9BVVRPU0laSU5HKQogICAg
ICAgICB2b2lkIHNldFRleHRBdXRvc2l6aW5nRW5hYmxlZChib29sKTsKICAgICAgICAgYm9vbCB0
ZXh0QXV0b3NpemluZ0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX3RleHRBdXRvc2l6aW5nRW5h
YmxlZDsgfQpAQCAtMTc3LDkgKzE2Miw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAg
dm9pZCBzZXRVc2VyU3R5bGVTaGVldExvY2F0aW9uKGNvbnN0IEtVUkwmKTsKICAgICAgICAgY29u
c3QgS1VSTCYgdXNlclN0eWxlU2hlZXRMb2NhdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fdXNlclN0
eWxlU2hlZXRMb2NhdGlvbjsgfQogCi0gICAgICAgIHZvaWQgc2V0VGV4dEFyZWFzQXJlUmVzaXph
YmxlKGJvb2wpOwotICAgICAgICBib29sIHRleHRBcmVhc0FyZVJlc2l6YWJsZSgpIGNvbnN0IHsg
cmV0dXJuIG1fdGV4dEFyZWFzQXJlUmVzaXphYmxlOyB9Ci0KICAgICAgICAgdm9pZCBzZXROZWVk
c0Fkb2JlRnJhbWVSZWxvYWRpbmdRdWlyayhib29sKTsKICAgICAgICAgYm9vbCBuZWVkc0Fjcm9i
YXRGcmFtZVJlbG9hZGluZ1F1aXJrKCkgY29uc3QgeyByZXR1cm4gbV9uZWVkc0Fkb2JlRnJhbWVS
ZWxvYWRpbmdRdWlyazsgfQogCkBAIC0yMDEsOSArMTgzLDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgICAgICB2b2lkIHNldFVzZXNQYWdlQ2FjaGUoYm9vbCk7CiAgICAgICAgIGJvb2wgdXNl
c1BhZ2VDYWNoZSgpIGNvbnN0IHsgcmV0dXJuIG1fdXNlc1BhZ2VDYWNoZTsgfQogICAgICAgICAK
LSAgICAgICAgdm9pZCBzZXRBdXRob3JBbmRVc2VyU3R5bGVzRW5hYmxlZChib29sKTsKLSAgICAg
ICAgYm9vbCBhdXRob3JBbmRVc2VyU3R5bGVzRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fYXV0
aG9yQW5kVXNlclN0eWxlc0VuYWJsZWQ7IH0KLSAgICAgICAgCiAgICAgICAgIHZvaWQgc2V0Rm9u
dFJlbmRlcmluZ01vZGUoRm9udFJlbmRlcmluZ01vZGUgbW9kZSk7CiAgICAgICAgIEZvbnRSZW5k
ZXJpbmdNb2RlIGZvbnRSZW5kZXJpbmdNb2RlKCkgY29uc3Q7CiAKQEAgLTIyNiwxNSArMjA1LDYg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBib29sIGNzc1ZhcmlhYmxlc0VuYWJsZWQo
KSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogI2VuZGlmCiAKLSAgICAgICAgdm9pZCBzZXRBY2Nl
bGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZChib29sKTsKLSAgICAgICAgYm9vbCBhY2NlbGVyYXRl
ZENvbXBvc2l0aW5nRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fYWNjZWxlcmF0ZWRDb21wb3Np
dGluZ0VuYWJsZWQ7IH0KLQotICAgICAgICB2b2lkIHNldFNob3dEZWJ1Z0JvcmRlcnMoYm9vbCk7
Ci0gICAgICAgIGJvb2wgc2hvd0RlYnVnQm9yZGVycygpIGNvbnN0IHsgcmV0dXJuIG1fc2hvd0Rl
YnVnQm9yZGVyczsgfQotCi0gICAgICAgIHZvaWQgc2V0U2hvd1JlcGFpbnRDb3VudGVyKGJvb2wp
OwotICAgICAgICBib29sIHNob3dSZXBhaW50Q291bnRlcigpIGNvbnN0IHsgcmV0dXJuIG1fc2hv
d1JlcGFpbnRDb3VudGVyOyB9Ci0KICAgICAgICAgdm9pZCBzZXRTaG93VGlsZWRTY3JvbGxpbmdJ
bmRpY2F0b3IoYm9vbCk7CiAgICAgICAgIGJvb2wgc2hvd1RpbGVkU2Nyb2xsaW5nSW5kaWNhdG9y
KCkgY29uc3QgeyByZXR1cm4gbV9zaG93VGlsZWRTY3JvbGxpbmdJbmRpY2F0b3I7IH0KIApAQCAt
MzA0LDExICsyNzQsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIFNjcmlwdEZvbnRG
YW1pbHlNYXAgbV9jdXJzaXZlRm9udEZhbWlseU1hcDsKICAgICAgICAgU2NyaXB0Rm9udEZhbWls
eU1hcCBtX2ZhbnRhc3lGb250RmFtaWx5TWFwOwogICAgICAgICBTY3JpcHRGb250RmFtaWx5TWFw
IG1fcGljdG9ncmFwaEZvbnRGYW1pbHlNYXA7Ci0gICAgICAgIGludCBtX21pbmltdW1Gb250U2l6
ZTsKLSAgICAgICAgaW50IG1fbWluaW11bUxvZ2ljYWxGb250U2l6ZTsKLSAgICAgICAgaW50IG1f
ZGVmYXVsdEZvbnRTaXplOwotICAgICAgICBpbnQgbV9kZWZhdWx0Rml4ZWRGb250U2l6ZTsKLSAg
ICAgICAgYm9vbCBtX3NjcmVlbkZvbnRTdWJzdGl0dXRpb25FbmFibGVkOwogICAgICAgICBTZWN1
cml0eU9yaWdpbjo6U3RvcmFnZUJsb2NraW5nUG9saWN5IG1fc3RvcmFnZUJsb2NraW5nUG9saWN5
OwogI2lmIEVOQUJMRShURVhUX0FVVE9TSVpJTkcpCiAgICAgICAgIGZsb2F0IG1fdGV4dEF1dG9z
aXppbmdGb250U2NhbGVGYWN0b3I7CkBAIC0zMjYsMTAgKzI5MSw4IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICAgICAgYm9vbCBtX2FyZUltYWdlc0VuYWJsZWQgOiAxOwogICAgICAgICBib29s
IG1fYXJlUGx1Z2luc0VuYWJsZWQgOiAxOwogICAgICAgICBib29sIG1faXNTY3JpcHRFbmFibGVk
IDogMTsKLSAgICAgICAgYm9vbCBtX3RleHRBcmVhc0FyZVJlc2l6YWJsZSA6IDE7CiAgICAgICAg
IGJvb2wgbV9uZWVkc0Fkb2JlRnJhbWVSZWxvYWRpbmdRdWlyayA6IDE7CiAgICAgICAgIGJvb2wg
bV91c2VzUGFnZUNhY2hlIDogMTsKLSAgICAgICAgYm9vbCBtX2F1dGhvckFuZFVzZXJTdHlsZXNF
bmFibGVkIDogMTsKICAgICAgICAgdW5zaWduZWQgbV9mb250UmVuZGVyaW5nTW9kZSA6IDE7CiAg
ICAgICAgIGJvb2wgbV9pc0NTU0N1c3RvbUZpbHRlckVuYWJsZWQgOiAxOwogI2lmIEVOQUJMRShD
U1NfU1RJQ0tZX1BPU0lUSU9OKQpAQCAtMzM4LDkgKzMwMSw2IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICNpZiBFTkFCTEUoQ1NTX1ZBUklBQkxFUykKICAgICAgICAgYm9vbCBtX2Nzc1ZhcmlhYmxl
c0VuYWJsZWQgOiAxOwogI2VuZGlmCi0gICAgICAgIGJvb2wgbV9hY2NlbGVyYXRlZENvbXBvc2l0
aW5nRW5hYmxlZCA6IDE7Ci0gICAgICAgIGJvb2wgbV9zaG93RGVidWdCb3JkZXJzIDogMTsKLSAg
ICAgICAgYm9vbCBtX3Nob3dSZXBhaW50Q291bnRlciA6IDE7CiAgICAgICAgIGJvb2wgbV9zaG93
VGlsZWRTY3JvbGxpbmdJbmRpY2F0b3IgOiAxOwogICAgICAgICBib29sIG1fdGlsZWRCYWNraW5n
U3RvcmVFbmFibGVkIDogMTsKICAgICAgICAgYm9vbCBtX2Ruc1ByZWZldGNoaW5nRW5hYmxlZCA6
IDE7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmluIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5pbgppbmRleCA2ZTcxNWEyNmU4YzZhZDU4Zjc3NDZiYjI0
YjBmZWY4MjA2ODJlZjhhLi45N2Y2ZjkzOTc2M2I3YmQ3YzRkOTNiNjZkNGJmNTEwOTA3YjZmNDVl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmluCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaW4KQEAgLTMzLDYgKzMzLDExIEBAIGRldmljZUhlaWdo
dCB0eXBlPWludCwgaW5pdGlhbD0wCiAjIHNpbmNlIHRoZSBtZW1vcnkgdXNlZCB3b24ndCBiZSBy
ZWxlYXNlZCB1bnRpbCB0aGUgUGFnZSBpcyBkZXN0cm95ZWQuCiBzZXNzaW9uU3RvcmFnZVF1b3Rh
IHR5cGU9dW5zaWduZWQsIGluaXRpYWw9U3RvcmFnZU1hcDo6bm9RdW90YQogCittaW5pbXVtRm9u
dFNpemUgdHlwZT1pbnQsIGluaXRpYWw9MCwgc2V0TmVlZHNTdHlsZVJlY2FsY0luQWxsRnJhbWVz
PTEKK21pbmltdW1Mb2dpY2FsRm9udFNpemUgdHlwZT1pbnQsIGluaXRpYWw9MCwgc2V0TmVlZHNT
dHlsZVJlY2FsY0luQWxsRnJhbWVzPTEKK2RlZmF1bHRGb250U2l6ZSB0eXBlPWludCwgaW5pdGlh
bD0wLCBzZXROZWVkc1N0eWxlUmVjYWxjSW5BbGxGcmFtZXM9MQorZGVmYXVsdEZpeGVkRm9udFNp
emUgdHlwZT1pbnQsIGluaXRpYWw9MCwgc2V0TmVlZHNTdHlsZVJlY2FsY0luQWxsRnJhbWVzPTEK
KwogZWRpdGluZ0JlaGF2aW9yVHlwZSB0eXBlPUVkaXRpbmdCZWhhdmlvclR5cGUsIGluaXRpYWw9
ZWRpdGluZ0JlaGF2aW9yVHlwZUZvclBsYXRmb3JtKCkKIG1heGltdW1IVE1MUGFyc2VyRE9NVHJl
ZURlcHRoIHR5cGU9dW5zaWduZWQsIGluaXRpYWw9ZGVmYXVsdE1heGltdW1IVE1MUGFyc2VyRE9N
VHJlZURlcHRoCiAKQEAgLTUwLDYgKzU1LDEzIEBAIGphdmFTY3JpcHRDYW5BY2Nlc3NDbGlwYm9h
cmQgaW5pdGlhbD1mYWxzZQogc2hvdWxkUHJpbnRCYWNrZ3JvdW5kcyBpbml0aWFsPWZhbHNlCiB1
c2VzRGFzaGJvYXJkQmFja3dhcmRDb21wYXRpYmlsaXR5TW9kZSBpbml0aWFsPWZhbHNlLCBjb25k
aXRpb25hbD1EQVNIQk9BUkRfU1VQUE9SVAogCitzY3JlZW5Gb250U3Vic3RpdHV0aW9uRW5hYmxl
ZCBpbml0aWFsPXRydWUsIHNldE5lZWRzU3R5bGVSZWNhbGNJbkFsbEZyYW1lcz0xCit0ZXh0QXJl
YXNBcmVSZXNpemFibGUgaW5pdGlhbD1mYWxzZSwgc2V0TmVlZHNTdHlsZVJlY2FsY0luQWxsRnJh
bWVzPTEKK2F1dGhvckFuZFVzZXJTdHlsZXNFbmFibGVkIGluaXRpYWw9dHJ1ZSwgc2V0TmVlZHNT
dHlsZVJlY2FsY0luQWxsRnJhbWVzPTEKK2FjY2VsZXJhdGVkQ29tcG9zaXRpbmdFbmFibGVkIGlu
aXRpYWw9dHJ1ZSwgc2V0TmVlZHNTdHlsZVJlY2FsY0luQWxsRnJhbWVzPTEKK3Nob3dEZWJ1Z0Jv
cmRlcnMgaW5pdGlhbD1mYWxzZSwgc2V0TmVlZHNTdHlsZVJlY2FsY0luQWxsRnJhbWVzPTEKK3No
b3dSZXBhaW50Q291bnRlciBpbml0aWFsPWZhbHNlLCBzZXROZWVkc1N0eWxlUmVjYWxjSW5BbGxG
cmFtZXM9MQorCiAjIFRoaXMgaXMgYSBxdWlyayB3ZSBhcmUgcHJvLWFjdGl2ZWx5IGFwcGx5aW5n
IHRvIG9sZCBhcHBsaWNhdGlvbnMuIEl0IGNoYW5nZXMga2V5Ym9hcmQgZXZlbnQgZGlzcGF0Y2hp
bmcsCiAjIG1ha2luZyBrZXlJZGVudGlmaWVyIGF2YWlsYWJsZSBvbiBrZXlwcmVzcyBldmVudHMs
IG1ha2luZyBjaGFyQ29kZSBhdmFpbGFibGUgb24ga2V5ZG93bi9rZXl1cCBldmVudHMsCiAjIGFu
ZCBnZXR0aW5nIGtleXByZXNzIGRpc3BhdGNoZWQgaW4gbW9yZSBjYXNlcy4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFrZV9zZXR0aW5ncy5wbCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvbWFrZV9zZXR0aW5ncy5wbAppbmRleCAxMzMxOGI1NzI0M2FhNjNkZTM5YzU4MmU3ODU1MmM3
OTU0MzU4YjUwLi5lNjNlMWJiZTZkODFiODFmYjBmMTYzYTdhNDE0NWQ3MDBlZWZkMDcyIDEwMDc1
NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL21ha2Vfc2V0dGluZ3MucGwKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9tYWtlX3NldHRpbmdzLnBsCkBAIC00NSw3ICs0NSw4IEBAIHN1YiBkZWZh
dWx0SXRlbUZhY3RvcnkKICAgICByZXR1cm4gKAogICAgICAgICAnY29uZGl0aW9uYWwnID0+IDAs
CiAgICAgICAgICdpbml0aWFsJyA9PiAnJywKLSAgICAgICAgJ3R5cGUnID0+ICdib29sJworICAg
ICAgICAndHlwZScgPT4gJ2Jvb2wnLAorICAgICAgICAnc2V0TmVlZHNTdHlsZVJlY2FsY0luQWxs
RnJhbWVzJyA9PiAwLAogICAgICk7CiB9CiAKQEAgLTEwMiw2ICsxMDMsNyBAQCBzdWIgZ2VuZXJh
dGVTZXR0aW5nc01hY3Jvc0hlYWRlcigkKQogICAgIHByaW50R2V0dGVyc0FuZFNldHRlcnMoJGZp
bGUsIFwldW5jb25kaXRpb25hbFNldHRpbmdzLCBcJXNldHRpbmdzQnlDb25kaXRpb25hbCwgJHBh
cnNlZEl0ZW1zUmVmKTsKICAgICBwcmludE1lbWJlclZhcmlhYmxlcygkZmlsZSwgXCV1bmNvbmRp
dGlvbmFsU2V0dGluZ3MsIFwlc2V0dGluZ3NCeUNvbmRpdGlvbmFsLCAkcGFyc2VkSXRlbXNSZWYp
OwogICAgIHByaW50SW5pdGlhbGl6ZXJMaXN0KCRmaWxlLCBcJXVuY29uZGl0aW9uYWxTZXR0aW5n
cywgXCVzZXR0aW5nc0J5Q29uZGl0aW9uYWwsICRwYXJzZWRJdGVtc1JlZik7CisgICAgcHJpbnRT
ZXR0ZXJCb2RpZXMoJGZpbGUsIFwldW5jb25kaXRpb25hbFNldHRpbmdzLCBcJXNldHRpbmdzQnlD
b25kaXRpb25hbCwgJHBhcnNlZEl0ZW1zUmVmKTsKIAogICAgIHByaW50ICRmaWxlICIjZW5kaWYg
Ly8gU2V0dGluZ3NNYWNyb3NfaFxuIjsKIApAQCAtMTIwLDcgKzEyMiw3IEBAIHN1YiBwcmludENv
bmRpdGlvbmFsTWFjcm9zKCQkJCkKIAogICAgICAgICBwcmludCAkZmlsZSAiI2RlZmluZSAke3By
ZWZlcnJlZENvbmRpdGlvbmFsfV9TRVRUSU5HU19HRVRURVJfQU5EX1NFVFRFUlMgXFxcbiI7CiAg
ICAgICAgIGZvciBteSAkc2V0dGluZ05hbWUgKHNvcnQga2V5cyAleyAkc2V0dGluZ3NCeUNvbmRp
dGlvbmFseyRjb25kaXRpb25hbH0gfSkgewotICAgICAgICAgICAgcHJpbnRHZXR0ZXJBbmRTZXR0
ZXIoJGZpbGUsICRzZXR0aW5nTmFtZSwgJHBhcnNlZEl0ZW1zeyRzZXR0aW5nTmFtZX17InR5cGUi
fSk7CisgICAgICAgICAgICBwcmludEdldHRlckFuZFNldHRlcigkZmlsZSwgJHNldHRpbmdOYW1l
LCAkcGFyc2VkSXRlbXN7JHNldHRpbmdOYW1lfXsidHlwZSJ9LCAkcGFyc2VkSXRlbXN7JHNldHRp
bmdOYW1lfXsic2V0TmVlZHNTdHlsZVJlY2FsY0luQWxsRnJhbWVzIn0pOwogICAgICAgICB9CiAg
ICAgICAgIHByaW50ICRmaWxlICIvLyBFbmQgb2YgJHtwcmVmZXJyZWRDb25kaXRpb25hbH1fU0VU
VElOR1NfR0VUVEVSX0FORF9TRVRURVJTXG4iOwogCkBAIC0xNTMsMTIgKzE1NSwxOSBAQCBzdWIg
cHJpbnRDb25kaXRpb25hbE1hY3JvcygkJCQpCiAgICAgICAgIH0KICAgICAgICAgcHJpbnQgJGZp
bGUgIi8vIEVuZCBvZiAke3ByZWZlcnJlZENvbmRpdGlvbmFsfV9TRVRUSU5HU19CT09MX0lOSVRJ
QUxJWkVSU1xuIjsKIAorICAgICAgICBwcmludCAkZmlsZSAiI2RlZmluZSAke3ByZWZlcnJlZENv
bmRpdGlvbmFsfV9TRVRUSU5HU19TRVRURVJfQk9ESUVTIFxcXG4iOworICAgICAgICBmb3IgbXkg
JHNldHRpbmdOYW1lIChzb3J0IGtleXMgJXsgJHNldHRpbmdzQnlDb25kaXRpb25hbHskY29uZGl0
aW9uYWx9IH0pIHsKKyAgICAgICAgICAgIHByaW50U2V0dGVyQm9keSgkZmlsZSwgJHNldHRpbmdO
YW1lLCAkcGFyc2VkSXRlbXN7JHNldHRpbmdOYW1lfXsidHlwZSJ9LCAkcGFyc2VkSXRlbXN7JHNl
dHRpbmdOYW1lfXsic2V0TmVlZHNTdHlsZVJlY2FsY0luQWxsRnJhbWVzIn0pOworICAgICAgICB9
CisgICAgICAgIHByaW50ICRmaWxlICIvLyBFbmQgb2YgJHtwcmVmZXJyZWRDb25kaXRpb25hbH1f
U0VUVElOR1NfU0VUVEVSX0JPRElFU1xuIjsKKwogICAgICAgICBwcmludCAkZmlsZSAiI2Vsc2Vc
biI7CiAgICAgICAgIHByaW50ICRmaWxlICIjZGVmaW5lICR7cHJlZmVycmVkQ29uZGl0aW9uYWx9
X1NFVFRJTkdTX0dFVFRFUl9BTkRfU0VUVEVSU1xuIjsKICAgICAgICAgcHJpbnQgJGZpbGUgIiNk
ZWZpbmUgJHtwcmVmZXJyZWRDb25kaXRpb25hbH1fU0VUVElOR1NfTk9OX0JPT0xfTUVNQkVSX1ZB
UklBQkxFU1xuIjsKICAgICAgICAgcHJpbnQgJGZpbGUgIiNkZWZpbmUgJHtwcmVmZXJyZWRDb25k
aXRpb25hbH1fU0VUVElOR1NfQk9PTF9NRU1CRVJfVkFSSUFCTEVTXG4iOwogICAgICAgICBwcmlu
dCAkZmlsZSAiI2RlZmluZSAke3ByZWZlcnJlZENvbmRpdGlvbmFsfV9TRVRUSU5HU19OT05fQk9P
TF9JTklUSUFMSVpFUlNcbiI7CiAgICAgICAgIHByaW50ICRmaWxlICIjZGVmaW5lICR7cHJlZmVy
cmVkQ29uZGl0aW9uYWx9X1NFVFRJTkdTX0JPT0xfSU5JVElBTElaRVJTXG4iOworICAgICAgICBw
cmludCAkZmlsZSAiI2RlZmluZSAke3ByZWZlcnJlZENvbmRpdGlvbmFsfV9TRVRUSU5HU19TRVRU
RVJfQk9ESUVTXG4iOwogICAgICAgICBwcmludCAkZmlsZSAiI2VuZGlmXG4iOwogICAgICAgICBw
cmludCAkZmlsZSAiXG4iOwogICAgIH0KQEAgLTE3Myw3ICsxODIsNyBAQCBzdWIgcHJpbnRHZXR0
ZXJzQW5kU2V0dGVycygkJCQkKQogCiAgICAgcHJpbnQgJGZpbGUgIiNkZWZpbmUgU0VUVElOR1Nf
R0VUVEVSU19BTkRfU0VUVEVSUyBcXFxuIjsKICAgICBmb3IgbXkgJHNldHRpbmdOYW1lIChzb3J0
IGtleXMgJXVuY29uZGl0aW9uYWxTZXR0aW5ncykgewotICAgICAgICBwcmludEdldHRlckFuZFNl
dHRlcigkZmlsZSwgJHNldHRpbmdOYW1lLCAkcGFyc2VkSXRlbXN7JHNldHRpbmdOYW1lfXsidHlw
ZSJ9KTsKKyAgICAgICAgcHJpbnRHZXR0ZXJBbmRTZXR0ZXIoJGZpbGUsICRzZXR0aW5nTmFtZSwg
JHBhcnNlZEl0ZW1zeyRzZXR0aW5nTmFtZX17InR5cGUifSwgJHBhcnNlZEl0ZW1zeyRzZXR0aW5n
TmFtZX17InNldE5lZWRzU3R5bGVSZWNhbGNJbkFsbEZyYW1lcyJ9KTsKICAgICB9CiAgICAgZm9y
IG15ICRjb25kaXRpb25hbCAoc29ydCBrZXlzICVzZXR0aW5nc0J5Q29uZGl0aW9uYWwpIHsKICAg
ICAgICAgbXkgJHByZWZlcnJlZENvbmRpdGlvbmFsID0gJEluQ29tcGlsZXItPnByZWZlcnJlZENv
bmRpdGlvbmFsKCRjb25kaXRpb25hbCk7CkBAIC0yMjYsMTYgKzIzNSwyMSBAQCBzdWIgc2V0dGVy
RnVuY3Rpb25OYW1lKCQpCiAgICAgcmV0dXJuICRzZXR0ZXJGdW5jdGlvbk5hbWU7CiB9CiAKLXN1
YiBwcmludEdldHRlckFuZFNldHRlcigkJCQpCitzdWIgcHJpbnRHZXR0ZXJBbmRTZXR0ZXIoJCQk
JCkKIHsKLSAgICBteSAoJGZpbGUsICRzZXR0aW5nTmFtZSwgJHR5cGUpID0gQF87CisgICAgbXkg
KCRmaWxlLCAkc2V0dGluZ05hbWUsICR0eXBlLCAkc2V0TmVlZHNTdHlsZVJlY2FsY0luQWxsRnJh
bWVzKSA9IEBfOwogICAgIG15ICRzZXR0ZXJGdW5jdGlvbk5hbWUgPSBzZXR0ZXJGdW5jdGlvbk5h
bWUoJHNldHRpbmdOYW1lKTsKICAgICBpZiAobGMoc3Vic3RyKCR0eXBlLCAwLCAxKSkgZXEgc3Vi
c3RyKCR0eXBlLCAwLCAxKSkgewogICAgICAgICBwcmludCAkZmlsZSAiICAgICR0eXBlICRzZXR0
aW5nTmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fJHNldHRpbmdOYW1lOyB9IFxcXG4iOwotICAgICAg
ICBwcmludCAkZmlsZSAiICAgIHZvaWQgJHNldHRlckZ1bmN0aW9uTmFtZSgkdHlwZSAkc2V0dGlu
Z05hbWUpIHsgbV8kc2V0dGluZ05hbWUgPSAkc2V0dGluZ05hbWU7IH0gXFxcbiI7CisgICAgICAg
IHByaW50ICRmaWxlICIgICAgdm9pZCAkc2V0dGVyRnVuY3Rpb25OYW1lKCR0eXBlICRzZXR0aW5n
TmFtZSkiOwogICAgIH0gZWxzZSB7CiAgICAgICAgIHByaW50ICRmaWxlICIgICAgY29uc3QgJHR5
cGUmICRzZXR0aW5nTmFtZSgpIHsgcmV0dXJuIG1fJHNldHRpbmdOYW1lOyB9IFxcXG4iOwotICAg
ICAgICBwcmludCAkZmlsZSAiICAgIHZvaWQgJHNldHRlckZ1bmN0aW9uTmFtZShjb25zdCAkdHlw
ZSYgJHNldHRpbmdOYW1lKSB7IG1fJHNldHRpbmdOYW1lID0gJHNldHRpbmdOYW1lOyB9IFxcXG4i
OworICAgICAgICBwcmludCAkZmlsZSAiICAgIHZvaWQgJHNldHRlckZ1bmN0aW9uTmFtZShjb25z
dCAkdHlwZSYgJHNldHRpbmdOYW1lKSI7CisgICAgfQorICAgIGlmICgkc2V0TmVlZHNTdHlsZVJl
Y2FsY0luQWxsRnJhbWVzKSB7CisgICAgICAgIHByaW50ICRmaWxlICI7IFxcXG4iOworICAgIH0g
ZWxzZSB7CisgICAgICAgIHByaW50ICRmaWxlICIgeyBtXyRzZXR0aW5nTmFtZSA9ICRzZXR0aW5n
TmFtZTsgfSBcXFxuIjsKICAgICB9CiB9CiAKQEAgLTI3OCw2ICsyOTIsNDMgQEAgc3ViIHByaW50
SW5pdGlhbGl6ZXIoJCQkKQogICAgIHByaW50ICRmaWxlICIgICAgLCBtXyRzZXR0aW5nTmFtZSgk
aW5pdGlhbFZhbHVlKSBcXFxuIgogfQogCitzdWIgcHJpbnRTZXR0ZXJCb2RpZXMoJCQkJCkKK3sK
KyAgICBteSAoJGZpbGUsICR1bmNvbmRpdGlvbmFsU2V0dGluZ3NSZWYsICRzZXR0aW5nc0J5Q29u
ZGl0aW9uYWxSZWYsICRwYXJzZWRJdGVtc1JlZikgPSBAXzsKKyAgICBteSAlcGFyc2VkSXRlbXMg
PSAleyAkcGFyc2VkSXRlbXNSZWYgfTsKKyAgICBteSAldW5jb25kaXRpb25hbFNldHRpbmdzID0g
JXsgJHVuY29uZGl0aW9uYWxTZXR0aW5nc1JlZiB9OworICAgIG15ICVzZXR0aW5nc0J5Q29uZGl0
aW9uYWwgPSAleyAkc2V0dGluZ3NCeUNvbmRpdGlvbmFsUmVmIH07CisKKyAgICBwcmludCAkZmls
ZSAiI2RlZmluZSBTRVRUSU5HU19TRVRURVJfQk9ESUVTIFxcXG4iOworICAgIGZvciBteSAkc2V0
dGluZ05hbWUgKHNvcnQga2V5cyAldW5jb25kaXRpb25hbFNldHRpbmdzKSB7CisgICAgICAgIHBy
aW50U2V0dGVyQm9keSgkZmlsZSwgJHNldHRpbmdOYW1lLCAkcGFyc2VkSXRlbXN7JHNldHRpbmdO
YW1lfXsidHlwZSJ9LCAkcGFyc2VkSXRlbXN7JHNldHRpbmdOYW1lfXsic2V0TmVlZHNTdHlsZVJl
Y2FsY0luQWxsRnJhbWVzIn0pOworICAgIH0KKyAgICBmb3IgbXkgJGNvbmRpdGlvbmFsIChzb3J0
IGtleXMgJXNldHRpbmdzQnlDb25kaXRpb25hbCkgeworICAgICAgICBteSAkcHJlZmVycmVkQ29u
ZGl0aW9uYWwgPSAkSW5Db21waWxlci0+cHJlZmVycmVkQ29uZGl0aW9uYWwoJGNvbmRpdGlvbmFs
KTsKKyAgICAgICAgcHJpbnQgJGZpbGUgIiAgICAke3ByZWZlcnJlZENvbmRpdGlvbmFsfV9TRVRU
SU5HU19TRVRURVJfQk9ESUVTIFxcXG4iOworICAgIH0KKyAgICBwcmludCAkZmlsZSAiLy8gRW5k
IG9mIFNFVFRJTkdTX1NFVFRFUl9CT0RJRVMuXG5cbiI7Cit9CisKK3N1YiBwcmludFNldHRlckJv
ZHkoJCQkJCkKK3sKKyAgICBteSAoJGZpbGUsICRzZXR0aW5nTmFtZSwgJHR5cGUsICRzZXROZWVk
c1N0eWxlUmVjYWxjSW5BbGxGcmFtZXMpID0gQF87CisgICAgcmV0dXJuIGlmICghJHNldE5lZWRz
U3R5bGVSZWNhbGNJbkFsbEZyYW1lcyk7CisKKyAgICBteSAkc2V0dGVyRnVuY3Rpb25OYW1lID0g
c2V0dGVyRnVuY3Rpb25OYW1lKCRzZXR0aW5nTmFtZSk7CisgICAgaWYgKGxjKHN1YnN0cigkdHlw
ZSwgMCwgMSkpIGVxIHN1YnN0cigkdHlwZSwgMCwgMSkpIHsKKyAgICAgICAgcHJpbnQgJGZpbGUg
InZvaWQgU2V0dGluZ3M6OiRzZXR0ZXJGdW5jdGlvbk5hbWUoJHR5cGUgJHNldHRpbmdOYW1lKSBc
XFxuIjsKKyAgICB9IGVsc2UgeworICAgICAgICBwcmludCAkZmlsZSAidm9pZCBTZXR0aW5nczo6
JHNldHRlckZ1bmN0aW9uTmFtZShjb25zdCAkdHlwZSYgJHNldHRpbmdOYW1lKSBcXFxuIjsKKyAg
ICB9CisgICAgcHJpbnQgJGZpbGUgInsgXFxcbiI7CisgICAgcHJpbnQgJGZpbGUgIiAgICBpZiAo
bV8kc2V0dGluZ05hbWUgPT0gJHNldHRpbmdOYW1lKSBcXFxuIjsKKyAgICBwcmludCAkZmlsZSAi
ICAgICAgICByZXR1cm47IFxcXG4iOworICAgIHByaW50ICRmaWxlICIgICAgbV8kc2V0dGluZ05h
bWUgPSAkc2V0dGluZ05hbWU7IFxcXG4iOworICAgIHByaW50ICRmaWxlICIgICAgbV9wYWdlLT5z
ZXROZWVkc1JlY2FsY1N0eWxlSW5BbGxGcmFtZXMoKTsgXFxcbiI7CisgICAgcHJpbnQgJGZpbGUg
In0gXFxcbiI7Cit9CisKIHN1YiBlbnVtZXJhdGVQYXJzZWRJdGVtcygkJCQpCiB7CiAgICAgbXkg
KCRmaWxlLCAkcGFyc2VkSXRlbXNSZWYsICR2aXNpdG9yRnVuY3Rpb24pID0gQF87CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC52Y3hwcm9qL1dlYktpdEV4cG9ydEdlbmVyYXRvci9X
ZWJLaXRFeHBvcnRzLmRlZi5pbiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0LnZjeHByb2ovV2ViS2l0
RXhwb3J0R2VuZXJhdG9yL1dlYktpdEV4cG9ydHMuZGVmLmluCmluZGV4IDIwYTdjYTI4MDg3YTQ1
OGY2ODk3NGYxZjA5NDQ3ZDM0NTVkMjY5MWYuLjIxZmEwY2I3NmQ3MzIxNTAwNTk3MjFkN2YzM2Jk
ZTU0N2ViZjRkMzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0LnZjeHByb2ovV2Vi
S2l0RXhwb3J0R2VuZXJhdG9yL1dlYktpdEV4cG9ydHMuZGVmLmluCisrKyBiL1NvdXJjZS9XZWJL
aXQvV2ViS2l0LnZjeHByb2ovV2ViS2l0RXhwb3J0R2VuZXJhdG9yL1dlYktpdEV4cG9ydHMuZGVm
LmluCkBAIC0zOTgsNiArMzk4LDE2IEBAIEVYUE9SVFMKICAgICAgICAgP3NldE1pbkRPTVRpbWVy
SW50ZXJ2YWxAU2V0dGluZ3NAV2ViQ29yZUBAUUFFWE5AWgogICAgICAgICA/c2V0QXBwbGljYXRp
b25DaHJvbWVNb2RlQFNldHRpbmdzQFdlYkNvcmVAQFFBRVhfTkBaCiAgICAgICAgID9zZXRET01Q
YXN0ZUFsbG93ZWRAU2V0dGluZ3NAV2ViQ29yZUBAUUFFWF9OQFoKKyAgICAgICAgP3NldFRleHRB
cmVhc0FyZVJlc2l6YWJsZUBTZXR0aW5nc0BXZWJDb3JlQEBRQUVYX05AWgorICAgICAgICA/c2V0
U2hvd1JlcGFpbnRDb3VudGVyQFNldHRpbmdzQFdlYkNvcmVAQFFBRVhfTkBaCisgICAgICAgID9z
ZXRTaG93RGVidWdCb3JkZXJzQFNldHRpbmdzQFdlYkNvcmVAQFFBRVhfTkBaCisgICAgICAgID9z
ZXRTY3JlZW5Gb250U3Vic3RpdHV0aW9uRW5hYmxlZEBTZXR0aW5nc0BXZWJDb3JlQEBRQUVYX05A
WgorICAgICAgICA/c2V0TWluaW11bUxvZ2ljYWxGb250U2l6ZUBTZXR0aW5nc0BXZWJDb3JlQEBR
QUVYSEBaCisgICAgICAgID9zZXRNaW5pbXVtRm9udFNpemVAU2V0dGluZ3NAV2ViQ29yZUBAUUFF
WEhAWgorICAgICAgICA/c2V0RGVmYXVsdEZvbnRTaXplQFNldHRpbmdzQFdlYkNvcmVAQFFBRVhI
QFoKKyAgICAgICAgP3NldERlZmF1bHRGaXhlZEZvbnRTaXplQFNldHRpbmdzQFdlYkNvcmVAQFFB
RVhIQFoKKyAgICAgICAgP3NldEF1dGhvckFuZFVzZXJTdHlsZXNFbmFibGVkQFNldHRpbmdzQFdl
YkNvcmVAQFFBRVhfTkBaCisgICAgICAgID9zZXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxl
ZEBTZXR0aW5nc0BXZWJDb3JlQEBRQUVYX05AWgogCiAjaWYgRU5BQkxFKFdPUktFUlMpCiAgICAg
ICAgID93b3JrZXJUaHJlYWRDb3VudEBXb3JrZXJUaHJlYWRAV2ViQ29yZUBAU0FJWFoKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYktpdC52Y3Byb2ovV2ViS2l0RXhwb3J0cy5kZWYu
aW4gYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJLaXQudmNwcm9qL1dlYktpdEV4cG9ydHMuZGVmLmlu
CmluZGV4IDIwYTdjYTI4MDg3YTQ1OGY2ODk3NGYxZjA5NDQ3ZDM0NTVkMjY5MWYuLjIxZmEwY2I3
NmQ3MzIxNTAwNTk3MjFkN2YzM2JkZTU0N2ViZjRkMzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvd2luL1dlYktpdC52Y3Byb2ovV2ViS2l0RXhwb3J0cy5kZWYuaW4KKysrIGIvU291cmNlL1dl
YktpdC93aW4vV2ViS2l0LnZjcHJvai9XZWJLaXRFeHBvcnRzLmRlZi5pbgpAQCAtMzk4LDYgKzM5
OCwxNiBAQCBFWFBPUlRTCiAgICAgICAgID9zZXRNaW5ET01UaW1lckludGVydmFsQFNldHRpbmdz
QFdlYkNvcmVAQFFBRVhOQFoKICAgICAgICAgP3NldEFwcGxpY2F0aW9uQ2hyb21lTW9kZUBTZXR0
aW5nc0BXZWJDb3JlQEBRQUVYX05AWgogICAgICAgICA/c2V0RE9NUGFzdGVBbGxvd2VkQFNldHRp
bmdzQFdlYkNvcmVAQFFBRVhfTkBaCisgICAgICAgID9zZXRUZXh0QXJlYXNBcmVSZXNpemFibGVA
U2V0dGluZ3NAV2ViQ29yZUBAUUFFWF9OQFoKKyAgICAgICAgP3NldFNob3dSZXBhaW50Q291bnRl
ckBTZXR0aW5nc0BXZWJDb3JlQEBRQUVYX05AWgorICAgICAgICA/c2V0U2hvd0RlYnVnQm9yZGVy
c0BTZXR0aW5nc0BXZWJDb3JlQEBRQUVYX05AWgorICAgICAgICA/c2V0U2NyZWVuRm9udFN1YnN0
aXR1dGlvbkVuYWJsZWRAU2V0dGluZ3NAV2ViQ29yZUBAUUFFWF9OQFoKKyAgICAgICAgP3NldE1p
bmltdW1Mb2dpY2FsRm9udFNpemVAU2V0dGluZ3NAV2ViQ29yZUBAUUFFWEhAWgorICAgICAgICA/
c2V0TWluaW11bUZvbnRTaXplQFNldHRpbmdzQFdlYkNvcmVAQFFBRVhIQFoKKyAgICAgICAgP3Nl
dERlZmF1bHRGb250U2l6ZUBTZXR0aW5nc0BXZWJDb3JlQEBRQUVYSEBaCisgICAgICAgID9zZXRE
ZWZhdWx0Rml4ZWRGb250U2l6ZUBTZXR0aW5nc0BXZWJDb3JlQEBRQUVYSEBaCisgICAgICAgID9z
ZXRBdXRob3JBbmRVc2VyU3R5bGVzRW5hYmxlZEBTZXR0aW5nc0BXZWJDb3JlQEBRQUVYX05AWgor
ICAgICAgICA/c2V0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJsZWRAU2V0dGluZ3NAV2ViQ29y
ZUBAUUFFWF9OQFoKIAogI2lmIEVOQUJMRShXT1JLRVJTKQogICAgICAgICA/d29ya2VyVGhyZWFk
Q291bnRAV29ya2VyVGhyZWFkQFdlYkNvcmVAQFNBSVhaCmRpZmYgLS1naXQgYS9Tb3VyY2UvYXV0
b3Rvb2xzL3N5bWJvbHMuZmlsdGVyIGIvU291cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRlcgpp
bmRleCAxZWE3ZTBkNzFkNjU2YTgxM2E0YzMxYTdiZGE5YjE3NDk2ZDRiYjYyLi40OWY0YjZlNzIx
YWYyYmQxNWNlZmVmYjljZDlkYWUwOTg4YTEyNjk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvYXV0b3Rv
b2xzL3N5bWJvbHMuZmlsdGVyCisrKyBiL1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIK
QEAgLTE5NywyMCArMTk3LDMwIEBAIF9aTjdXZWJDb3JlNE5vZGUxNHJlbW92ZWRMYXN0UmVmRXY7
CiBfWk43V2ViQ29yZTZDdXJzb3JDMUVSS1MwXzsKIF9aTjdXZWJDb3JlNkN1cnNvckQxRXY7CiBf
Wk43V2ViQ29yZThTZXR0aW5nczE2c2V0SW1hZ2VzRW5hYmxlZEViOworX1pON1dlYkNvcmU4U2V0
dGluZ3MxOHNldERlZmF1bHRGb250U2l6ZUVpOwogX1pON1dlYkNvcmU4U2V0dGluZ3MxOHNldEZp
eGVkRm9udEZhbWlseUVSS04zV1RGMTJBdG9taWNTdHJpbmdFMTFVU2NyaXB0Q29kZTsKK19aTjdX
ZWJDb3JlOFNldHRpbmdzMThzZXRNaW5pbXVtRm9udFNpemVFaTsKIF9aTjdXZWJDb3JlOFNldHRp
bmdzMThzZXRTZXJpZkZvbnRGYW1pbHlFUktOM1dURjEyQXRvbWljU3RyaW5nRTExVVNjcmlwdENv
ZGU7CitfWk43V2ViQ29yZThTZXR0aW5nczE5c2V0U2hvd0RlYnVnQm9yZGVyc0ViOwogX1pON1dl
YkNvcmU4U2V0dGluZ3MyMHNldEN1cnNpdmVGb250RmFtaWx5RVJLTjNXVEYxMkF0b21pY1N0cmlu
Z0UxMVVTY3JpcHRDb2RlOwogX1pON1dlYkNvcmU4U2V0dGluZ3MyMHNldEZhbnRhc3lGb250RmFt
aWx5RVJLTjNXVEYxMkF0b21pY1N0cmluZ0UxMVVTY3JpcHRDb2RlOworX1pON1dlYkNvcmU4U2V0
dGluZ3MyMHNldE1lZGlhVHlwZU92ZXJyaWRlRVJLTjNXVEY2U3RyaW5nRTsKIF9aTjdXZWJDb3Jl
OFNldHRpbmdzMjFtb2NrU2Nyb2xsYmFyc0VuYWJsZWRFdjsKK19aTjdXZWJDb3JlOFNldHRpbmdz
MjFzZXRSZXNvbHV0aW9uT3ZlcnJpZGVFUktOU183SW50U2l6ZUU7CitfWk43V2ViQ29yZThTZXR0
aW5nczIxc2V0U2hvd1JlcGFpbnRDb3VudGVyRWI7CiBfWk43V2ViQ29yZThTZXR0aW5nczIxc2V0
U3RhbmRhcmRGb250RmFtaWx5RVJLTjNXVEYxMkF0b21pY1N0cmluZ0UxMVVTY3JpcHRDb2RlOwog
X1pON1dlYkNvcmU4U2V0dGluZ3MyMnNldFNhbnNTZXJpZkZvbnRGYW1pbHlFUktOM1dURjEyQXRv
bWljU3RyaW5nRTExVVNjcmlwdENvZGU7CitfWk43V2ViQ29yZThTZXR0aW5nczIzc2V0RGVmYXVs
dEZpeGVkRm9udFNpemVFaTsKIF9aTjdXZWJDb3JlOFNldHRpbmdzMjNzZXRQaWN0b2dyYXBoRm9u
dEZhbWlseUVSS04zV1RGMTJBdG9taWNTdHJpbmdFMTFVU2NyaXB0Q29kZTsKIF9aTjdXZWJDb3Jl
OFNldHRpbmdzMjRzZXRNb2NrU2Nyb2xsYmFyc0VuYWJsZWRFYjsKLV9aTjdXZWJDb3JlOFNldHRp
bmdzMjRzZXRVc2VzT3ZlcmxheVNjcm9sbGJhcnNFYjsKIF9aTjdXZWJDb3JlOFNldHRpbmdzMjRz
ZXRTdG9yYWdlQmxvY2tpbmdQb2xpY3lFTlNfMTRTZWN1cml0eU9yaWdpbjIxU3RvcmFnZUJsb2Nr
aW5nUG9saWN5RTsKK19aTjdXZWJDb3JlOFNldHRpbmdzMjRzZXRUZXh0QXJlYXNBcmVSZXNpemFi
bGVFYjsKK19aTjdXZWJDb3JlOFNldHRpbmdzMjRzZXRVc2VzT3ZlcmxheVNjcm9sbGJhcnNFYjsK
K19aTjdXZWJDb3JlOFNldHRpbmdzMjVzZXRNaW5pbXVtTG9naWNhbEZvbnRTaXplRWk7CitfWk43
V2ViQ29yZThTZXR0aW5nczI5c2V0QXV0aG9yQW5kVXNlclN0eWxlc0VuYWJsZWRFYjsKK19aTjdX
ZWJDb3JlOFNldHRpbmdzMzJzZXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nRW5hYmxlZEViOworX1pO
N1dlYkNvcmU4U2V0dGluZ3MzMnNldFNjcmVlbkZvbnRTdWJzdGl0dXRpb25FbmFibGVkRWI7CiBf
Wk43V2ViQ29yZThTZXR0aW5nczM3c2V0Rml4ZWRFbGVtZW50c0xheW91dFJlbGF0aXZlVG9GcmFt
ZUViOwotX1pON1dlYkNvcmU4U2V0dGluZ3MyMXNldFJlc29sdXRpb25PdmVycmlkZUVSS05TXzdJ
bnRTaXplRTsKLV9aTjdXZWJDb3JlOFNldHRpbmdzMjBzZXRNZWRpYVR5cGVPdmVycmlkZUVSS04z
V1RGNlN0cmluZ0U7CiBfWk43V2ViQ29yZTlGcmFtZVZpZXcxN3BhaW50Q29udHJvbFRpbnRzRXY7
CiBfWk43V2ViQ29yZTlGcmFtZVZpZXcxOXNjcm9sbEVsZW1lbnRUb1JlY3RFUE5TXzdFbGVtZW50
RVJLTlNfN0ludFJlY3RFOwogX1pON1dlYkNvcmUyMlJ1bnRpbWVFbmFibGVkRmVhdHVyZXMzMWlz
TXVsdGlwbGVTaGFkb3dTdWJ0cmVlc0VuYWJsZWRFOwpkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIv
Q2hhbmdlTG9nCmluZGV4IDA1MjRmMDI3MjYzZDU1Yzg3N2Y3ZDNjYzYwNjRiOTgwMzE0MzNmODMu
LmMxNDNkZDgzZjBhYzM5ZDRjNGM0NWZlNjJiNDg0YWI0MGQwZDQ5MTYgMTAwNjQ0Ci0tLSBhL0No
YW5nZUxvZworKysgYi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMy0wMi0yMCAgVG9u
eSBDaGFuZyAgPHRvbnlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEF1dG9nZW5lcmF0ZSBTZXR0
aW5ncyB0aGF0IGNhbGwgc2V0TmVlZHNSZWNhbGNTdHlsZUluQWxsRnJhbWVzIHdoZW4gc2V0Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDk5ODkKKwor
ICAgICAgICBSZXZpZXdlZCBieSBSeW9zdWtlIE5pd2EuCisKKyAgICAgICAgQWRkIHNldHRlcnMg
dG8gZXhwb3J0IHN5bWJvbHMuCisKKyAgICAgICAgKiBTb3VyY2UvYXV0b3Rvb2xzL3N5bWJvbHMu
ZmlsdGVyOgorCiAyMDEzLTAyLTIxICBNYXJ0aW4gUm9iaW5zb24gIDxtcm9iaW5zb25AaWdhbGlh
LmNvbT4KIAogICAgICAgICBbR1RLXSBNb3ZlIGZlYXR1cmUgb3ZlcnJpZGluZyB0byB0aGUgY29u
ZmlndXJlIHBoYXNlCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>