<?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>99570</bug_id>
          
          <creation_ts>2012-10-17 02:20:38 -0700</creation_ts>
          <short_desc>Localized date should be based on LDML</short_desc>
          <delta_ts>2012-10-17 04:28:47 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Forms</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="Keishi Hattori">keishi</reporter>
          <assigned_to name="Keishi Hattori">keishi</assigned_to>
          <cc>tkent</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>744045</commentid>
    <comment_count>0</comment_count>
    <who name="Keishi Hattori">keishi</who>
    <bug_when>2012-10-17 02:20:38 -0700</bug_when>
    <thetext>Localized date should be based on LDML to match the format inside DateTimeEditElement.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>744063</commentid>
    <comment_count>1</comment_count>
      <attachid>169139</attachid>
    <who name="Keishi Hattori">keishi</who>
    <bug_when>2012-10-17 02:40:40 -0700</bug_when>
    <thetext>Created attachment 169139
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>744103</commentid>
    <comment_count>2</comment_count>
      <attachid>169139</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-10-17 03:19:54 -0700</bug_when>
    <thetext>Comment on attachment 169139
Patch

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

&gt; Source/WebCore/ChangeLog:10
&gt; +        Additional information of the change such as approach, rationale. Please add per-function descriptions below (OOPS!).
&gt; +
&gt; +        No new tests (OOPS!).

OOPS!

Please add test names if existing tests cover this change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>744124</commentid>
    <comment_count>3</comment_count>
      <attachid>169150</attachid>
    <who name="Keishi Hattori">keishi</who>
    <bug_when>2012-10-17 03:51:37 -0700</bug_when>
    <thetext>Created attachment 169150
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>744126</commentid>
    <comment_count>4</comment_count>
      <attachid>169151</attachid>
    <who name="Keishi Hattori">keishi</who>
    <bug_when>2012-10-17 04:03:18 -0700</bug_when>
    <thetext>Created attachment 169151
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>744134</commentid>
    <comment_count>5</comment_count>
      <attachid>169151</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-17 04:28:43 -0700</bug_when>
    <thetext>Comment on attachment 169151
Patch

Clearing flags on attachment: 169151

Committed r131585: &lt;http://trac.webkit.org/changeset/131585&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>744135</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-17 04:28:47 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>169139</attachid>
            <date>2012-10-17 02:40:40 -0700</date>
            <delta_ts>2012-10-17 03:51:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-99570-20121017183927.patch</filename>
            <type>text/plain</type>
            <size>21716</size>
            <attacher name="Keishi Hattori">keishi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMxNTQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTM3NDM3ZmYzMWFhNzU0
NzhmYTZkMTJhYjA1MTZjMjQ2MjY5N2U1YS4uYWU0MzViNDFjMDRlYWI1OTc2N2JmODhlMDA5YWZj
MmM0MmRmZDhlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDEyLTEwLTE3ICBLZWlz
aGkgSGF0dG9yaSAgPGtlaXNoaUB3ZWJraXQub3JnPgorCisgICAgICAgIExvY2FsaXplZCBkYXRl
IHNob3VsZCBiZSBiYXNlZCBvbiBMRE1MCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD05OTU3MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFkZGl0aW9uYWwgaW5mb3JtYXRpb24gb2YgdGhlIGNoYW5nZSBzdWNo
IGFzIGFwcHJvYWNoLCByYXRpb25hbGUuIFBsZWFzZSBhZGQgcGVyLWZ1bmN0aW9uIGRlc2NyaXB0
aW9ucyBiZWxvdyAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyAoT09QUyEpLgorCisg
ICAgICAgICogcGxhdGZvcm0vdGV4dC9Mb2NhbGVJQ1UuY3BwOiBSZW1vdmVkIGZvcm1hdERhdGVU
aW1lLgorICAgICAgICAqIHBsYXRmb3JtL3RleHQvTG9jYWxlSUNVLmg6CisgICAgICAgIChMb2Nh
bGVJQ1UpOgorICAgICAgICAqIHBsYXRmb3JtL3RleHQvTG9jYWxlTm9uZS5jcHA6IFJlbW92ZWQg
Zm9ybWF0RGF0ZVRpbWUuCisgICAgICAgIChMb2NhbGVOb25lKToKKyAgICAgICAgKiBwbGF0Zm9y
bS90ZXh0L0xvY2FsZVdpbi5jcHA6IFJlbW92ZWQgZm9ybWF0RGF0ZVRpbWUgYW5kIGZvcm1hdERh
dGUuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBwbGF0Zm9ybS90ZXh0L0xvY2FsZVdp
bi5oOgorICAgICAgICAoTG9jYWxlV2luKToKKyAgICAgICAgKiBwbGF0Zm9ybS90ZXh0L0xvY2Fs
aXplci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEYXRlVGltZVN0cmluZ0J1aWxkZXI6OnZpc2l0
RmllbGQpOiBBZGRlZCBzdXBwb3J0IGZvciB5ZWFyL21vbnRoL2RheS4KKyAgICAgICAgKFdlYkNv
cmU6OkxvY2FsaXplcjo6Zm9ybWF0RGF0ZVRpbWUpOiBDcmVhdGVzIHRoZSBmb3JtYXR0ZWQgc3Ry
aW5nIGJhc2VkIG9uIHRoZSBmb3JtYXQgZnJvbSBkYXRlRm9ybWF0KCkuCisgICAgICAgICogcGxh
dGZvcm0vdGV4dC9Mb2NhbGl6ZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS90ZXh0L21hYy9Mb2Nh
bGVNYWMuaDoKKyAgICAgICAgKExvY2FsZU1hYyk6CisgICAgICAgICogcGxhdGZvcm0vdGV4dC9t
YWMvTG9jYWxlTWFjLm1tOiBSZW1vdmVkIGZvcm1hdERhdGVUaW1lLgorCiAyMDEyLTEwLTE2ICBK
dWxpZW4gQ2hhZmZyYWl4ICA8amNoYWZmcmFpeEB3ZWJraXQub3JnPgogCiAgICAgICAgIE1ha2Ug
UmVuZGVyT2JqZWN0IGRlc3RydWN0aW9uIGR1cmluZyBkZXRhY2ggYSB0b3AtZG93biBvcGVyYXRp
b24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggOWQyZmYzNDkzMzFiYWUzNzVhOGZkM2Uy
NjAwOWIyNDZjMzJkOTgwZS4uZmNjZWE4Y2Q4N2M3YjQzOWFlY2YwOWE1OWRlOTgzNDEyYzU5MzU5
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMi0xMC0x
NyAgS2Vpc2hpIEhhdHRvcmkgIDxrZWlzaGlAd2Via2l0Lm9yZz4KKworICAgICAgICBMb2NhbGl6
ZWQgZGF0ZSBzaG91bGQgYmUgYmFzZWQgb24gTERNTAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTk1NzAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIHRlc3RzL0xvY2FsZU1hY1Rlc3QuY3BwOgorICAgICAg
ICAoVEVTVF9GKTogVXBkYXRlZCBleHBlY3RhdGlvbnMuCisgICAgICAgICogdGVzdHMvTG9jYWxl
V2luVGVzdC5jcHA6CisgICAgICAgIChURVNUX0YpOiBVcGRhdGVkIGV4cGVjdGF0aW9ucy4KKwog
MjAxMi0xMC0xNiAgQWxlYyBGbGV0dCAgPGFsZWNmbGV0dEBjaHJvbWl1bS5vcmc+CiAKICAgICAg
ICAgSW5kZXhlZERCOiBTdHViIG91dCBjaHJvbWl1bSBzdWNjZXNzIGhhbmRsZXJzIGZvciBpbnRl
Z2VycyBhbmQgdW5kZWZpbmVkIHZhbHVlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vdGV4dC9Mb2NhbGVJQ1UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9M
b2NhbGVJQ1UuY3BwCmluZGV4IDI4NmYyZjE5YjZlOWVlOTU5YzA0MDNiYmExMDgyYTEzZmRjMTgw
MGIuLmNlNWYwYWZjNDY5NzE4ZGQwY2YzNGYzMzg2NTA2Y2UxYjZhNDcxNjMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvTG9jYWxlSUNVLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2FsZUlDVS5jcHAKQEAgLTE3MiwyNSArMTcyLDYgQEAg
ZG91YmxlIExvY2FsZUlDVTo6cGFyc2VEYXRlVGltZShjb25zdCBTdHJpbmcmIGlucHV0LCBEYXRl
Q29tcG9uZW50czo6VHlwZSB0eXBlKQogICAgIHJldHVybiBkYXRlOwogfQogCi1TdHJpbmcgTG9j
YWxlSUNVOjpmb3JtYXREYXRlVGltZShjb25zdCBEYXRlQ29tcG9uZW50cyYgZGF0ZUNvbXBvbmVu
dHMsIEZvcm1hdFR5cGUgZm9ybWF0VHlwZSkKLXsKLSAgICBpZiAoZGF0ZUNvbXBvbmVudHMudHlw
ZSgpICE9IERhdGVDb21wb25lbnRzOjpEYXRlKQotICAgICAgICByZXR1cm4gTG9jYWxpemVyOjpm
b3JtYXREYXRlVGltZShkYXRlQ29tcG9uZW50cywgZm9ybWF0VHlwZSk7Ci0gICAgaWYgKCFpbml0
aWFsaXplU2hvcnREYXRlRm9ybWF0KCkpCi0gICAgICAgIHJldHVybiBTdHJpbmcoKTsKLSAgICBk
b3VibGUgaW5wdXQgPSBkYXRlQ29tcG9uZW50cy5taWxsaXNlY29uZHNTaW5jZUVwb2NoKCk7Ci0g
ICAgVUVycm9yQ29kZSBzdGF0dXMgPSBVX1pFUk9fRVJST1I7Ci0gICAgaW50MzJfdCBsZW5ndGgg
PSB1ZGF0X2Zvcm1hdChtX3Nob3J0RGF0ZUZvcm1hdCwgaW5wdXQsIDAsIDAsIDAsICZzdGF0dXMp
OwotICAgIGlmIChzdGF0dXMgIT0gVV9CVUZGRVJfT1ZFUkZMT1dfRVJST1IpCi0gICAgICAgIHJl
dHVybiBTdHJpbmcoKTsKLSAgICBWZWN0b3I8VUNoYXI+IGJ1ZmZlcihsZW5ndGgpOwotICAgIHN0
YXR1cyA9IFVfWkVST19FUlJPUjsKLSAgICB1ZGF0X2Zvcm1hdChtX3Nob3J0RGF0ZUZvcm1hdCwg
aW5wdXQsIGJ1ZmZlci5kYXRhKCksIGxlbmd0aCwgMCwgJnN0YXR1cyk7Ci0gICAgaWYgKFVfRkFJ
TFVSRShzdGF0dXMpKQotICAgICAgICByZXR1cm4gU3RyaW5nKCk7Ci0gICAgcmV0dXJuIFN0cmlu
Zzo6YWRvcHQoYnVmZmVyKTsKLX0KLQogI2lmIEVOQUJMRShDQUxFTkRBUl9QSUNLRVIpIHx8IEVO
QUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCiBzdGF0aWMgU3RyaW5nIGdldERhdGVGb3Jt
YXRQYXR0ZXJuKGNvbnN0IFVEYXRlRm9ybWF0KiBkYXRlRm9ybWF0KQogewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGVJQ1UuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3RleHQvTG9jYWxlSUNVLmgKaW5kZXggYjYwNzM0ZDQxNGFmMDk2MTczZTgzMDg2
MjhjZTQyN2QxZjczMTRmYS4uYTRiODEyMmNiNzkzYjZhMjk2ZDAwNGQ0NzM0YmFkOTkyZjU5YTVk
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGVJQ1UuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2FsZUlDVS5oCkBAIC01MSw3ICs1
MSw2IEBAIHB1YmxpYzoKIAogICAgIC8vIEZvciBMb2NhbGl6ZWREYXRlCiAgICAgdmlydHVhbCBk
b3VibGUgcGFyc2VEYXRlVGltZShjb25zdCBTdHJpbmcmLCBEYXRlQ29tcG9uZW50czo6VHlwZSkg
T1ZFUlJJREU7Ci0gICAgdmlydHVhbCBTdHJpbmcgZm9ybWF0RGF0ZVRpbWUoY29uc3QgRGF0ZUNv
bXBvbmVudHMmLCBGb3JtYXRUeXBlID0gRm9ybWF0VHlwZVVuc3BlY2lmaWVkKSBPVkVSUklERTsK
ICNpZiBFTkFCTEUoQ0FMRU5EQVJfUElDS0VSKQogICAgIHZpcnR1YWwgU3RyaW5nIGRhdGVGb3Jt
YXRUZXh0KCkgT1ZFUlJJREU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L3RleHQvTG9jYWxlTm9uZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2Fs
ZU5vbmUuY3BwCmluZGV4IGM4M2QxYjM2ZmVmZjliNzM0NmFkNTczNWU2MGY3MGI4YjEzMDc2Njcu
LjBkZGFmMzAzNmNhOWFkNGNhNWJkZjkyMDhiYjYzZGZmNWRhODIyYjAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvTG9jYWxlTm9uZS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGVOb25lLmNwcApAQCAtMzYsNyArMzYsNiBAQCBwdWJs
aWM6CiBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBpbml0aWFsaXplTG9jYWxpemVyRGF0YSgp
IE9WRVJSSURFIEZJTkFMOwogICAgIHZpcnR1YWwgZG91YmxlIHBhcnNlRGF0ZVRpbWUoY29uc3Qg
U3RyaW5nJiwgRGF0ZUNvbXBvbmVudHM6OlR5cGUpIE9WRVJSSURFOwotICAgIHZpcnR1YWwgU3Ry
aW5nIGZvcm1hdERhdGVUaW1lKGNvbnN0IERhdGVDb21wb25lbnRzJiwgRm9ybWF0VHlwZSA9IEZv
cm1hdFR5cGVVbnNwZWNpZmllZCkgT1ZFUlJJREU7CiAjaWYgRU5BQkxFKENBTEVOREFSX1BJQ0tF
UikKICAgICB2aXJ0dWFsIFN0cmluZyBkYXRlRm9ybWF0VGV4dCgpIE9WRVJSSURFOwogICAgIHZp
cnR1YWwgYm9vbCBpc1JUTCgpIE9WRVJSSURFOwpAQCAtNjQsMTEgKzYzLDYgQEAgZG91YmxlIExv
Y2FsZU5vbmU6OnBhcnNlRGF0ZVRpbWUoY29uc3QgU3RyaW5nJiwgRGF0ZUNvbXBvbmVudHM6OlR5
cGUpCiAgICAgcmV0dXJuIHN0ZDo6bnVtZXJpY19saW1pdHM8ZG91YmxlPjo6cXVpZXRfTmFOKCk7
CiB9CiAKLVN0cmluZyBMb2NhbGVOb25lOjpmb3JtYXREYXRlVGltZShjb25zdCBEYXRlQ29tcG9u
ZW50cyYsIEZvcm1hdFR5cGUpCi17Ci0gICAgcmV0dXJuIFN0cmluZygpOwotfQotCiAjaWYgRU5B
QkxFKENBTEVOREFSX1BJQ0tFUikKIFN0cmluZyBMb2NhbGVOb25lOjpkYXRlRm9ybWF0VGV4dCgp
CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2FsZVdpbi5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2FsZVdpbi5jcHAKaW5kZXggNDQ0
ZTE1NmE0ODlmZjk4OTllZDJiMjk3YzlhZGFiNzlmMWRmYTM3MC4uMDk3YjA5MzAyMzc3NGVlNjgx
OTM1MzM4ODYwMjcyZmUyNjZkNjY0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vdGV4dC9Mb2NhbGVXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQv
TG9jYWxlV2luLmNwcApAQCAtNDQzLDExMyArNDQzLDYgQEAgZG91YmxlIExvY2FsZVdpbjo6cGFy
c2VEYXRlKGNvbnN0IFZlY3RvcjxEYXRlRm9ybWF0VG9rZW4+JiB0b2tlbnMsIGludCBiYXNlWWVh
ciwKIAogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gRm9ybWF0dGluZwogCi1p
bmxpbmUgdm9pZCBMb2NhbGVXaW46OmFwcGVuZE51bWJlcihpbnQgdmFsdWUsIFN0cmluZ0J1aWxk
ZXImIGJ1ZmZlcikKLXsKLSAgICBidWZmZXIuYXBwZW5kKGNvbnZlcnRUb0xvY2FsaXplZE51bWJl
cihTdHJpbmc6Om51bWJlcih2YWx1ZSkpKTsKLX0KLQotdm9pZCBMb2NhbGVXaW46OmFwcGVuZFR3
b0RpZ2l0c051bWJlcihpbnQgdmFsdWUsIFN0cmluZ0J1aWxkZXImIGJ1ZmZlcikKLXsKLSAgICBT
dHJpbmcgbnVtYmVyU3RyaW5nID0gU3RyaW5nOjpudW1iZXIodmFsdWUpOwotICAgIGlmICh2YWx1
ZSA8IDAgfHwgdmFsdWUgPj0gMTApIHsKLSAgICAgICAgYnVmZmVyLmFwcGVuZChjb252ZXJ0VG9M
b2NhbGl6ZWROdW1iZXIobnVtYmVyU3RyaW5nKSk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0g
ICAgU3RyaW5nQnVpbGRlciBudW1iZXJCdWZmZXI7Ci0gICAgbnVtYmVyQnVmZmVyLnJlc2VydmVD
YXBhY2l0eSgxICsgbnVtYmVyU3RyaW5nLmxlbmd0aCgpKTsKLSAgICBudW1iZXJCdWZmZXIuYXBw
ZW5kKCIwIik7Ci0gICAgbnVtYmVyQnVmZmVyLmFwcGVuZChudW1iZXJTdHJpbmcpOwotICAgIGJ1
ZmZlci5hcHBlbmQoY29udmVydFRvTG9jYWxpemVkTnVtYmVyKG51bWJlckJ1ZmZlci50b1N0cmlu
ZygpKSk7Ci19Ci0KLXZvaWQgTG9jYWxlV2luOjphcHBlbmRGb3VyRGlnaXRzTnVtYmVyKGludCB2
YWx1ZSwgU3RyaW5nQnVpbGRlciYgYnVmZmVyKQotewotICAgIFN0cmluZyBudW1iZXJTdHJpbmcg
PSBTdHJpbmc6Om51bWJlcih2YWx1ZSk7Ci0gICAgaWYgKHZhbHVlIDwgMCkgewotICAgICAgICBi
dWZmZXIuYXBwZW5kKGNvbnZlcnRUb0xvY2FsaXplZE51bWJlcihudW1iZXJTdHJpbmcpKTsKLSAg
ICAgICAgcmV0dXJuOwotICAgIH0KLSAgICBTdHJpbmdCdWlsZGVyIG51bWJlckJ1ZmZlcjsKLSAg
ICBudW1iZXJCdWZmZXIucmVzZXJ2ZUNhcGFjaXR5KDMgKyBudW1iZXJTdHJpbmcubGVuZ3RoKCkp
OwotICAgIGlmICh2YWx1ZSA8IDEwKQotICAgICAgICBudW1iZXJCdWZmZXIuYXBwZW5kKCIwMDAi
KTsKLSAgICBlbHNlIGlmICh2YWx1ZSA8IDEwMCkKLSAgICAgICAgbnVtYmVyQnVmZmVyLmFwcGVu
ZCgiMDAiKTsKLSAgICBlbHNlIGlmICh2YWx1ZSA8IDEwMDApCi0gICAgICAgIG51bWJlckJ1ZmZl
ci5hcHBlbmQoIjAiKTsKLSAgICBudW1iZXJCdWZmZXIuYXBwZW5kKG51bWJlclN0cmluZyk7Ci0g
ICAgYnVmZmVyLmFwcGVuZChjb252ZXJ0VG9Mb2NhbGl6ZWROdW1iZXIobnVtYmVyQnVmZmVyLnRv
U3RyaW5nKCkpKTsKLX0KLQotU3RyaW5nIExvY2FsZVdpbjo6Zm9ybWF0RGF0ZVRpbWUoY29uc3Qg
RGF0ZUNvbXBvbmVudHMmIGRhdGVDb21wb25lbnRzLCBGb3JtYXRUeXBlIGZvcm1hdFR5cGUpCi17
Ci0gICAgaWYgKGRhdGVDb21wb25lbnRzLnR5cGUoKSAhPSBEYXRlQ29tcG9uZW50czo6RGF0ZSkK
LSAgICAgICAgcmV0dXJuIExvY2FsaXplcjo6Zm9ybWF0RGF0ZVRpbWUoZGF0ZUNvbXBvbmVudHMs
IGZvcm1hdFR5cGUpOwotICAgIGVuc3VyZVNob3J0RGF0ZVRva2VucygpOwotICAgIHJldHVybiBm
b3JtYXREYXRlKG1fc2hvcnREYXRlVG9rZW5zLCBtX2Jhc2VZZWFyLCBkYXRlQ29tcG9uZW50cy5m
dWxsWWVhcigpLCBkYXRlQ29tcG9uZW50cy5tb250aCgpLCBkYXRlQ29tcG9uZW50cy5tb250aERh
eSgpKTsKLX0KLQotU3RyaW5nIExvY2FsZVdpbjo6Zm9ybWF0RGF0ZShjb25zdCBTdHJpbmcmIGZv
cm1hdCwgaW50IGJhc2VZZWFyLCBpbnQgeWVhciwgaW50IG1vbnRoLCBpbnQgZGF5KQotewotICAg
IHJldHVybiBmb3JtYXREYXRlKHBhcnNlRGF0ZUZvcm1hdChmb3JtYXQpLCBiYXNlWWVhciwgeWVh
ciwgbW9udGgsIGRheSk7Ci19Ci0KLVN0cmluZyBMb2NhbGVXaW46OmZvcm1hdERhdGUoY29uc3Qg
VmVjdG9yPERhdGVGb3JtYXRUb2tlbj4mIHRva2VucywgaW50IGJhc2VZZWFyLCBpbnQgeWVhciwg
aW50IG1vbnRoLCBpbnQgZGF5KQotewotICAgIGVuc3VyZVNob3J0TW9udGhMYWJlbHMoKTsKLSAg
ICBlbnN1cmVNb250aExhYmVscygpOwotICAgIFN0cmluZ0J1aWxkZXIgYnVmZmVyOwotICAgIGZv
ciAodW5zaWduZWQgaSA9IDA7IGkgPCB0b2tlbnMuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAgc3dp
dGNoICh0b2tlbnNbaV0udHlwZSkgewotICAgICAgICBjYXNlIERhdGVGb3JtYXRUb2tlbjo6TGl0
ZXJhbDoKLSAgICAgICAgICAgIGJ1ZmZlci5hcHBlbmQodG9rZW5zW2ldLmRhdGEpOwotICAgICAg
ICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgRGF0ZUZvcm1hdFRva2VuOjpEYXkxOgotICAgICAg
ICAgICAgYXBwZW5kTnVtYmVyKGRheSwgYnVmZmVyKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAg
ICAgICBjYXNlIERhdGVGb3JtYXRUb2tlbjo6RGF5MjoKLSAgICAgICAgICAgIGFwcGVuZFR3b0Rp
Z2l0c051bWJlcihkYXksIGJ1ZmZlcik7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2Fz
ZSBEYXRlRm9ybWF0VG9rZW46Ok1vbnRoMToKLSAgICAgICAgICAgIGFwcGVuZE51bWJlcihtb250
aCArIDEsIGJ1ZmZlcik7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBEYXRlRm9y
bWF0VG9rZW46Ok1vbnRoMjoKLSAgICAgICAgICAgIGFwcGVuZFR3b0RpZ2l0c051bWJlcihtb250
aCArIDEsIGJ1ZmZlcik7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBEYXRlRm9y
bWF0VG9rZW46Ok1vbnRoMzoKLSAgICAgICAgICAgIGlmICgwIDw9IG1vbnRoICYmIG1vbnRoIDwg
c3RhdGljX2Nhc3Q8aW50PihtX3Nob3J0TW9udGhMYWJlbHMuc2l6ZSgpKSkKLSAgICAgICAgICAg
ICAgICBidWZmZXIuYXBwZW5kKG1fc2hvcnRNb250aExhYmVsc1ttb250aF0pOwotICAgICAgICAg
ICAgZWxzZQotICAgICAgICAgICAgICAgIGFwcGVuZE51bWJlcihtb250aCArIDEsIGJ1ZmZlcik7
Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBEYXRlRm9ybWF0VG9rZW46Ok1vbnRo
NDoKLSAgICAgICAgICAgIGlmICgwIDw9IG1vbnRoICYmIG1vbnRoIDwgc3RhdGljX2Nhc3Q8aW50
PihtX21vbnRoTGFiZWxzLnNpemUoKSkpCi0gICAgICAgICAgICAgICAgYnVmZmVyLmFwcGVuZCht
X21vbnRoTGFiZWxzW21vbnRoXSk7Ci0gICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAg
YXBwZW5kTnVtYmVyKG1vbnRoICsgMSwgYnVmZmVyKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAg
ICAgICBjYXNlIERhdGVGb3JtYXRUb2tlbjo6WWVhcjE6IHsKLSAgICAgICAgICAgIGlmIChiYXNl
WWVhciAtIDQgPD0geWVhciAmJiB5ZWFyIDw9IGJhc2VZZWFyICsgNSkKLSAgICAgICAgICAgICAg
ICBhcHBlbmROdW1iZXIoeWVhciAlIDEwLCBidWZmZXIpOwotICAgICAgICAgICAgZWxzZQotICAg
ICAgICAgICAgICAgIGFwcGVuZEZvdXJEaWdpdHNOdW1iZXIoeWVhciwgYnVmZmVyKTsKLSAgICAg
ICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICAgIGNhc2UgRGF0ZUZvcm1hdFRva2VuOjpZ
ZWFyMjogewotICAgICAgICAgICAgaWYgKGJhc2VZZWFyIC0gNDkgPD0geWVhciAmJiB5ZWFyIDw9
IGJhc2VZZWFyICsgNTApCi0gICAgICAgICAgICAgICAgYXBwZW5kVHdvRGlnaXRzTnVtYmVyKHll
YXIgJSAxMDAsIGJ1ZmZlcik7Ci0gICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgYXBw
ZW5kRm91ckRpZ2l0c051bWJlcih5ZWFyLCBidWZmZXIpOwotICAgICAgICAgICAgYnJlYWs7Ci0g
ICAgICAgIH0KLSAgICAgICAgY2FzZSBEYXRlRm9ybWF0VG9rZW46OlllYXI0OgotICAgICAgICAg
ICAgYXBwZW5kRm91ckRpZ2l0c051bWJlcih5ZWFyLCBidWZmZXIpOwotICAgICAgICAgICAgYnJl
YWs7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgcmV0dXJuIGJ1ZmZlci50b1N0cmluZygpOwotfQot
CiB2b2lkIExvY2FsZVdpbjo6ZW5zdXJlU2hvcnREYXRlVG9rZW5zKCkKIHsKICAgICBpZiAoIW1f
c2hvcnREYXRlVG9rZW5zLmlzRW1wdHkoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL3RleHQvTG9jYWxlV2luLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xv
Y2FsZVdpbi5oCmluZGV4IGVkMDQyNjJhYjk1YzMyYWVjMTA4YTEzNTViZmY3ODhhMTUxN2ExNGEu
LjIxYWQ3YmY1ZmRjYTcxZDI3ZTYxY2QwYWMxZDMyNWNjODYwNTc2MTUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvTG9jYWxlV2luLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGVXaW4uaApAQCAtNDcsNyArNDcsNiBAQCBwdWJsaWM6CiAg
ICAgc3RhdGljIFBhc3NPd25QdHI8TG9jYWxlV2luPiBjcmVhdGUoTENJRCk7CiAgICAgfkxvY2Fs
ZVdpbigpOwogICAgIHZpcnR1YWwgZG91YmxlIHBhcnNlRGF0ZVRpbWUoY29uc3QgU3RyaW5nJiwg
RGF0ZUNvbXBvbmVudHM6OlR5cGUpIE9WRVJSSURFOwotICAgIHZpcnR1YWwgU3RyaW5nIGZvcm1h
dERhdGVUaW1lKGNvbnN0IERhdGVDb21wb25lbnRzJiwgRm9ybWF0VHlwZSA9IEZvcm1hdFR5cGVV
bnNwZWNpZmllZCkgT1ZFUlJJREU7CiAjaWYgRU5BQkxFKENBTEVOREFSX1BJQ0tFUikKICAgICB2
aXJ0dWFsIFN0cmluZyBkYXRlRm9ybWF0VGV4dCgpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgY29u
c3QgVmVjdG9yPFN0cmluZz4mIG1vbnRoTGFiZWxzKCkgT1ZFUlJJREU7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2FsaXplci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS90ZXh0L0xvY2FsaXplci5jcHAKaW5kZXggMDcxYjBhNjQ0MmEzY2MxN2Q0ODBh
NWE1NGEwNmE5OGU4MDdkMzZmOS4uOWM3MTJiMzBjOGZjZDMwMDZlYmM1YTZkZGMwZGI1OWI5OGM4
MzlkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGl6ZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvTG9jYWxpemVyLmNwcApAQCAt
OTQsNiArOTQsMTggQEAgdm9pZCBEYXRlVGltZVN0cmluZ0J1aWxkZXI6OmFwcGVuZE51bWJlcihp
bnQgbnVtYmVyLCBzaXplX3Qgd2lkdGgpCiB2b2lkIERhdGVUaW1lU3RyaW5nQnVpbGRlcjo6dmlz
aXRGaWVsZChEYXRlVGltZUZvcm1hdDo6RmllbGRUeXBlIGZpZWxkVHlwZSwgaW50IG51bWJlck9m
UGF0dGVybkNoYXJhY3RlcnMpCiB7CiAgICAgc3dpdGNoIChmaWVsZFR5cGUpIHsKKyAgICBjYXNl
IERhdGVUaW1lRm9ybWF0OjpGaWVsZFR5cGVZZWFyOgorICAgICAgICAvLyBBbHdheXMgdXNlIHBh
ZGRpbmcgd2lkdGggb2YgNCBzbyBpdCBtYXRjaGVzIERhdGVUaW1lRWRpdEVsZW1lbnQuCisgICAg
ICAgIGFwcGVuZE51bWJlcihtX2RhdGUuZnVsbFllYXIoKSwgNCk7CisgICAgICAgIHJldHVybjsK
KyAgICBjYXNlIERhdGVUaW1lRm9ybWF0OjpGaWVsZFR5cGVNb250aDoKKyAgICAgICAgLy8gQWx3
YXlzIHVzZSBwYWRkaW5nIHdpZHRoIG9mIDIgc28gaXQgbWF0Y2hlcyBEYXRlVGltZUVkaXRFbGVt
ZW50LgorICAgICAgICBhcHBlbmROdW1iZXIobV9kYXRlLm1vbnRoKCkgKyAxLCAyKTsKKyAgICAg
ICAgcmV0dXJuOworICAgIGNhc2UgRGF0ZVRpbWVGb3JtYXQ6OkZpZWxkVHlwZURheU9mTW9udGg6
CisgICAgICAgIC8vIEFsd2F5cyB1c2UgcGFkZGluZyB3aWR0aCBvZiAyIHNvIGl0IG1hdGNoZXMg
RGF0ZVRpbWVFZGl0RWxlbWVudC4KKyAgICAgICAgYXBwZW5kTnVtYmVyKG1fZGF0ZS5tb250aERh
eSgpLCAyKTsKKyAgICAgICAgcmV0dXJuOwogICAgIGNhc2UgRGF0ZVRpbWVGb3JtYXQ6OkZpZWxk
VHlwZVBlcmlvZDoKICAgICAgICAgbV9idWlsZGVyLmFwcGVuZChtX2xvY2FsaXplci50aW1lQU1Q
TUxhYmVscygpWyhtX2RhdGUuaG91cigpID49IDEyID8gMSA6IDApXSk7CiAgICAgICAgIHJldHVy
bjsKQEAgLTM1OSwxMCArMzcxLDEzIEBAIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBMb2NhbGl6ZXI6
OnRpbWVBTVBNTGFiZWxzKCkKIFN0cmluZyBMb2NhbGl6ZXI6OmZvcm1hdERhdGVUaW1lKGNvbnN0
IERhdGVDb21wb25lbnRzJiBkYXRlLCBGb3JtYXRUeXBlIGZvcm1hdFR5cGUpCiB7CiAjaWYgRU5B
QkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKLSAgICBpZiAoZGF0ZS50eXBlKCkgIT0gRGF0
ZUNvbXBvbmVudHM6OlRpbWUpCisgICAgaWYgKGRhdGUudHlwZSgpICE9IERhdGVDb21wb25lbnRz
OjpUaW1lICYmIGRhdGUudHlwZSgpICE9IERhdGVDb21wb25lbnRzOjpEYXRlKQogICAgICAgICBy
ZXR1cm4gU3RyaW5nKCk7CiAgICAgRGF0ZVRpbWVTdHJpbmdCdWlsZGVyIGJ1aWxkZXIoKnRoaXMs
IGRhdGUpOwotICAgIGJ1aWxkZXIuYnVpbGQoZm9ybWF0VHlwZSA9PSBGb3JtYXRUeXBlU2hvcnQg
PyBzaG9ydFRpbWVGb3JtYXQoKSA6IHRpbWVGb3JtYXQoKSk7CisgICAgaWYgKGRhdGUudHlwZSgp
ID09IERhdGVDb21wb25lbnRzOjpUaW1lKQorICAgICAgICBidWlsZGVyLmJ1aWxkKGZvcm1hdFR5
cGUgPT0gRm9ybWF0VHlwZVNob3J0ID8gc2hvcnRUaW1lRm9ybWF0KCkgOiB0aW1lRm9ybWF0KCkp
OworICAgIGVsc2UgaWYgKGRhdGUudHlwZSgpID09IERhdGVDb21wb25lbnRzOjpEYXRlKQorICAg
ICAgICBidWlsZGVyLmJ1aWxkKGRhdGVGb3JtYXQoKSk7CiAgICAgcmV0dXJuIGJ1aWxkZXIudG9T
dHJpbmcoKTsKICNlbHNlCiAgICAgVU5VU0VEX1BBUkFNKGRhdGUpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGl6ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL3RleHQvTG9jYWxpemVyLmgKaW5kZXggYmU0ZDg2NTJkMzc1NDExMWI4NzM2NGM5N2Q4
ODA2ZWVhMGM4ODE2ZS4uMmVkMjc3Yzk1NzllM2Q5ZjNhYjc0ODU4MzMzNGM4YjY3NTBlNTJiYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGl6ZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2FsaXplci5oCkBAIC0xMTgsNyArMTE4
LDcgQEAgcHVibGljOgogICAgIC8vIFNlcmlhbGl6ZXMgdGhlIHNwZWNpZmllZCBkYXRlIGludG8g
YSBmb3JtYXR0ZWQgZGF0ZSBzdHJpbmcgdG8KICAgICAvLyBkaXNwbGF5IHRvIHRoZSB1c2VyLiBJ
ZiBhbiBpbXBsZW1lbnRhdGlvbiBkb2Vzbid0IHN1cHBvcnQKICAgICAvLyBsb2NhbGl6ZWQgZGF0
ZXMgdGhlIGZ1bmN0aW9uIHNob3VsZCByZXR1cm4gYW4gZW1wdHkgc3RyaW5nLgotICAgIHZpcnR1
YWwgU3RyaW5nIGZvcm1hdERhdGVUaW1lKGNvbnN0IERhdGVDb21wb25lbnRzJiwgRm9ybWF0VHlw
ZSA9IEZvcm1hdFR5cGVVbnNwZWNpZmllZCk7CisgICAgU3RyaW5nIGZvcm1hdERhdGVUaW1lKGNv
bnN0IERhdGVDb21wb25lbnRzJiwgRm9ybWF0VHlwZSA9IEZvcm1hdFR5cGVVbnNwZWNpZmllZCk7
CiAKICAgICB2aXJ0dWFsIH5Mb2NhbGl6ZXIoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vdGV4dC9tYWMvTG9jYWxlTWFjLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS90ZXh0L21hYy9Mb2NhbGVNYWMuaAppbmRleCA5ZTYwZDAwNGFmZWY4NTY4MTQ5ZjgwODg5Y2E3
YjFlMGRhMTg5YzU4Li5hYzAyOWVhMDM1ZDY4ZGQ3NGYwMWM4NDVmMDYxMTE4YjU1OGE4ZWNmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L21hYy9Mb2NhbGVNYWMuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L21hYy9Mb2NhbGVNYWMuaApAQCAtNTEs
NyArNTEsNiBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8TG9jYWxlTWFjPiBjcmVh
dGUoTlNMb2NhbGUqKTsKICAgICB+TG9jYWxlTWFjKCk7CiAgICAgdmlydHVhbCBkb3VibGUgcGFy
c2VEYXRlVGltZShjb25zdCBTdHJpbmcmLCBEYXRlQ29tcG9uZW50czo6VHlwZSkgT1ZFUlJJREU7
Ci0gICAgdmlydHVhbCBTdHJpbmcgZm9ybWF0RGF0ZVRpbWUoY29uc3QgRGF0ZUNvbXBvbmVudHMm
LCBGb3JtYXRUeXBlID0gRm9ybWF0VHlwZVVuc3BlY2lmaWVkKSBPVkVSUklERTsKIAogI2lmIEVO
QUJMRShDQUxFTkRBUl9QSUNLRVIpCiAgICAgdmlydHVhbCBTdHJpbmcgZGF0ZUZvcm1hdFRleHQo
KSBPVkVSUklERTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvbWFj
L0xvY2FsZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvbWFjL0xvY2FsZU1h
Yy5tbQppbmRleCA4YmRhOTdmN2I0ZGNhODg3OTNiNTM3ZTFlMDk2N2Y1NmU4ZTRiZDllLi5hMjAy
NTRlMTI5NTAwMjIxODA5Mjg0ZGUxMzM1ZWQ4M2U1YzM5MTUxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS90ZXh0L21hYy9Mb2NhbGVNYWMubW0KKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vdGV4dC9tYWMvTG9jYWxlTWFjLm1tCkBAIC0xMjMsMTQgKzEyMyw2IEBAIGRv
dWJsZSBMb2NhbGVNYWM6OnBhcnNlRGF0ZVRpbWUoY29uc3QgU3RyaW5nJiBpbnB1dCwgRGF0ZUNv
bXBvbmVudHM6OlR5cGUgdHlwZSkKICAgICByZXR1cm4gW2RhdGUgdGltZUludGVydmFsU2luY2Ux
OTcwXSAqIG1zUGVyU2Vjb25kOwogfQogCi1TdHJpbmcgTG9jYWxlTWFjOjpmb3JtYXREYXRlVGlt
ZShjb25zdCBEYXRlQ29tcG9uZW50cyYgZGF0ZUNvbXBvbmVudHMsIEZvcm1hdFR5cGUgZm9ybWF0
VHlwZSkKLXsKLSAgICBpZiAoZGF0ZUNvbXBvbmVudHMudHlwZSgpICE9IERhdGVDb21wb25lbnRz
OjpEYXRlKQotICAgICAgICByZXR1cm4gTG9jYWxpemVyOjpmb3JtYXREYXRlVGltZShkYXRlQ29t
cG9uZW50cywgZm9ybWF0VHlwZSk7Ci0gICAgTlNUaW1lSW50ZXJ2YWwgaW50ZXJ2YWwgPSBkYXRl
Q29tcG9uZW50cy5taWxsaXNlY29uZHNTaW5jZUVwb2NoKCkgLyBtc1BlclNlY29uZDsKLSAgICBy
ZXR1cm4gW3Nob3J0RGF0ZUZvcm1hdHRlcigpLmdldCgpIHN0cmluZ0Zyb21EYXRlOltOU0RhdGUg
ZGF0ZVdpdGhUaW1lSW50ZXJ2YWxTaW5jZTE5NzA6aW50ZXJ2YWxdXTsKLX0KLQogI2lmIEVOQUJM
RShDQUxFTkRBUl9QSUNLRVIpCiBzdGF0aWMgYm9vbCBpc1llYXJTeW1ib2woVUNoYXIgbGV0dGVy
KSB7IHJldHVybiBsZXR0ZXIgPT0gJ3knIHx8IGxldHRlciA9PSAnWScgfHwgbGV0dGVyID09ICd1
JzsgfQogc3RhdGljIGJvb2wgaXNNb250aFN5bWJvbChVQ2hhciBsZXR0ZXIpIHsgcmV0dXJuIGxl
dHRlciA9PSAnTScgfHwgbGV0dGVyID09ICdMJzsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9jaHJvbWl1bS90ZXN0cy9Mb2NhbGVNYWNUZXN0LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vdGVzdHMvTG9jYWxlTWFjVGVzdC5jcHAKaW5kZXggMjk1NDA4YzI3ZGJmY2E2ZTFmZTY1M2Iy
ZWE5MjEyNDRiOTE4YTFjMy4uNDQ5Nzc2MTk1Mjg5YmNkMTc4MzYyZTA5OTllZjFkMzRjMzRlMTYw
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9Mb2NhbGVNYWNUZXN0
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0xvY2FsZU1hY1Rlc3QuY3Bw
CkBAIC0xNDgsOCArMTQ4LDggQEAgcHJvdGVjdGVkOgogCiBURVNUX0YoTG9jYWxlTWFjVGVzdCwg
Zm9ybWF0RGF0ZSkKIHsKLSAgICBFWFBFQ1RfU1RSRVEoIjQvMjcvMDUiLCBmb3JtYXREYXRlKCJl
bl9VUyIsIDIwMDUsIEFwcmlsLCAyNykudXRmOCgpLmRhdGEoKSk7Ci0gICAgRVhQRUNUX1NUUkVR
KCIyNy8wNC8wNSIsIGZvcm1hdERhdGUoImZyX0ZSIiwgMjAwNSwgQXByaWwsIDI3KS51dGY4KCku
ZGF0YSgpKTsKKyAgICBFWFBFQ1RfU1RSRVEoIjA0LzI3LzIwMDUiLCBmb3JtYXREYXRlKCJlbl9V
UyIsIDIwMDUsIEFwcmlsLCAyNykudXRmOCgpLmRhdGEoKSk7CisgICAgRVhQRUNUX1NUUkVRKCIy
Ny8wNC8yMDA1IiwgZm9ybWF0RGF0ZSgiZnJfRlIiLCAyMDA1LCBBcHJpbCwgMjcpLnV0ZjgoKS5k
YXRhKCkpOwogICAgIC8vIERvIG5vdCB0ZXN0IGphX0pQIGxvY2FsZS4gT1MgWCAxMC44IGFuZCAx
MC43IGhhdmUgZGlmZmVyZW50IGZvcm1hdHMuCiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vdGVzdHMvTG9jYWxlV2luVGVzdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3Rlc3RzL0xvY2FsZVdpblRlc3QuY3BwCmluZGV4IDI1Y2Y3MDRiNmMzNTZhZjNjOGQ4Y2Q3
NTNmMjM4MzZlNTA4YzhmY2QuLjc1YWY0MTlkZGYyMmY5YzQxMDBkZWEwMDBjYWEwOWJmMWI5Yzk0
NzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvTG9jYWxlV2luVGVz
dC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9Mb2NhbGVXaW5UZXN0LmNw
cApAQCAtMTY5LDY4ICsxNjksNiBAQCBURVNUX0YoTG9jYWxlV2luVGVzdCwgVGVzdExvY2FsaXpl
ZERhdGVGb3JtYXRUZXh0KQogICAgIEVYUEVDVF9TVFJFUSgiWVkvbW0vREQiLCBMb2NhbGVXaW46
OmRhdGVGb3JtYXRUZXh0KCJZWS9tbS9ERCIsICJ5ZWFyIiwgIm1vbnRoIiwgImRheSIpLnV0Zjgo
KS5kYXRhKCkpOwogfQogCi1URVNUX0YoTG9jYWxlV2luVGVzdCwgVGVzdEZvcm1hdCkKLXsKLSAg
ICBPd25QdHI8TG9jYWxlV2luPiBsb2NhbGUgPSBMb2NhbGVXaW46OmNyZWF0ZShFbmdsaXNoVVMp
OwotCi0gICAgRVhQRUNUX1NUUkVRKCI0LzcvMiIsIGxvY2FsZS0+Zm9ybWF0RGF0ZSgiTS9kL3ki
LCAyMDEyLCAyMDEyLCBBcHJpbCwgNykudXRmOCgpLmRhdGEoKSk7Ci0gICAgRVhQRUNUX1NUUkVR
KCI0LzcvMjAwNyIsIGxvY2FsZS0+Zm9ybWF0RGF0ZSgiTS9kL3kiLCAyMDEyLCAyMDA3LCBBcHJp
bCwgNykudXRmOCgpLmRhdGEoKSk7Ci0gICAgRVhQRUNUX1NUUkVRKCI0LzcvOCIsIGxvY2FsZS0+
Zm9ybWF0RGF0ZSgiTS9kL3kiLCAyMDEyLCAyMDA4LCBBcHJpbCwgNykudXRmOCgpLmRhdGEoKSk7
Ci0gICAgRVhQRUNUX1NUUkVRKCI0LzcvNyIsIGxvY2FsZS0+Zm9ybWF0RGF0ZSgiTS9kL3kiLCAy
MDEyLCAyMDE3LCBBcHJpbCwgNykudXRmOCgpLmRhdGEoKSk7Ci0gICAgRVhQRUNUX1NUUkVRKCI0
LzcvMjAxOCIsIGxvY2FsZS0+Zm9ybWF0RGF0ZSgiTS9kL3kiLCAyMDEyLCAyMDE4LCBBcHJpbCwg
NykudXRmOCgpLmRhdGEoKSk7Ci0gICAgRVhQRUNUX1NUUkVRKCIxMi8zMS8yMDYyIiwgbG9jYWxl
LT5mb3JtYXREYXRlKCJNL2QveSIsIDIwMTIsIDIwNjIsIERlY2VtYmVyLCAzMSkudXRmOCgpLmRh
dGEoKSk7Ci0gICAgRVhQRUNUX1NUUkVRKCI0LzcvMDAwMiIsIGxvY2FsZS0+Zm9ybWF0RGF0ZSgi
TS9kL3kiLCAyMDEyLCAyLCBBcHJpbCwgNykudXRmOCgpLmRhdGEoKSk7Ci0KLSAgICBFWFBFQ1Rf
U1RSRVEoIjA0LzI3LzEyIiwgbG9jYWxlLT5mb3JtYXREYXRlKCJNTS9kZC95eSIsIDIwMTIsIDIw
MTIsIEFwcmlsLCAyNykudXRmOCgpLmRhdGEoKSk7Ci0gICAgRVhQRUNUX1NUUkVRKCIwNC8wNy8x
OTYyIiwgbG9jYWxlLT5mb3JtYXREYXRlKCJNTS9kZC95eSIsIDIwMTIsIDE5NjIsIEFwcmlsLCA3
KS51dGY4KCkuZGF0YSgpKTsKLSAgICBFWFBFQ1RfU1RSRVEoIjA0LzA3LzYzIiwgbG9jYWxlLT5m
b3JtYXREYXRlKCJNTS9kZC95eSIsIDIwMTIsIDE5NjMsIEFwcmlsLCA3KS51dGY4KCkuZGF0YSgp
KTsKLSAgICBFWFBFQ1RfU1RSRVEoIjAxLzMxLzAwIiwgbG9jYWxlLT5mb3JtYXREYXRlKCJNTS9k
ZC95eSIsIDIwMTIsIDIwMDAsIEphbnVhcnksIDMxKS51dGY4KCkuZGF0YSgpKTsKLSAgICBFWFBF
Q1RfU1RSRVEoIjA0LzA3LzYyIiwgbG9jYWxlLT5mb3JtYXREYXRlKCJNTS9kZC95eSIsIDIwMTIs
IDIwNjIsIEFwcmlsLCA3KS51dGY4KCkuZGF0YSgpKTsKLSAgICBFWFBFQ1RfU1RSRVEoIjA0LzA3
LzIwNjMiLCBsb2NhbGUtPmZvcm1hdERhdGUoIk1NL2RkL3l5IiwgMjAxMiwgMjA2MywgQXByaWws
IDcpLnV0ZjgoKS5kYXRhKCkpOwotICAgIEVYUEVDVF9TVFJFUSgiMDQvMDcvMDAwMSIsIGxvY2Fs
ZS0+Zm9ybWF0RGF0ZSgiTU0vZGQveXkiLCAyMDEyLCAxLCBBcHJpbCwgNykudXRmOCgpLmRhdGEo
KSk7Ci0KLSAgICBFWFBFQ1RfU1RSRVEoIkphbi83LzIwMTIiLCBsb2NhbGUtPmZvcm1hdERhdGUo
Ik1NTS9kL3l5eXkiLCAyMDEyLCAyMDEyLCBKYW51YXJ5LCA3KS51dGY4KCkuZGF0YSgpKTsKLSAg
ICBFWFBFQ1RfU1RSRVEoIkZlYi83LzIwMDgiLCBsb2NhbGUtPmZvcm1hdERhdGUoIk1NTS9kL3l5
eXkiLCAyMDEyLCAyMDA4LCBGZWJydWFyeSwgNykudXRmOCgpLmRhdGEoKSk7Ci0gICAgRVhQRUNU
X1NUUkVRKCJNYXIvNy8yMDE3IiwgbG9jYWxlLT5mb3JtYXREYXRlKCJNTU0vZC95eXl5IiwgMjAx
MiwgMjAxNywgTWFyY2gsIDcpLnV0ZjgoKS5kYXRhKCkpOwotICAgIEVYUEVDVF9TVFJFUSgiQXBy
LzcvMjAxMiIsIGxvY2FsZS0+Zm9ybWF0RGF0ZSgiTU1NL2QveXl5eSIsIDIwMTIsIDIwMTIsIEFw
cmlsLCA3KS51dGY4KCkuZGF0YSgpKTsKLSAgICBFWFBFQ1RfU1RSRVEoIk1heS83LzAwMDIiLCBs
b2NhbGUtPmZvcm1hdERhdGUoIk1NTS9kL3l5eXkiLCAyMDEyLCAyLCBNYXksIDcpLnV0ZjgoKS5k
YXRhKCkpOwotICAgIEVYUEVDVF9TVFJFUSgiSnVuLzcvMjAwOCIsIGxvY2FsZS0+Zm9ybWF0RGF0
ZSgiTU1NL2QveXl5eSIsIDIwMTIsIDIwMDgsIEp1bmUsIDcpLnV0ZjgoKS5kYXRhKCkpOwotICAg
IEVYUEVDVF9TVFJFUSgiSnVsLzcvMjAxNyIsIGxvY2FsZS0+Zm9ybWF0RGF0ZSgiTU1NL2QveXl5
eSIsIDIwMTIsIDIwMTcsIEp1bHksIDcpLnV0ZjgoKS5kYXRhKCkpOwotICAgIEVYUEVDVF9TVFJF
USgiQXVnLzMxLzIwNjIiLCBsb2NhbGUtPmZvcm1hdERhdGUoIk1NTS9kL3l5eXkiLCAyMDEyLCAy
MDYyLCBBdWd1c3QsIDMxKS51dGY4KCkuZGF0YSgpKTsKLSAgICBFWFBFQ1RfU1RSRVEoIlNlcC83
LzAwMDIiLCBsb2NhbGUtPmZvcm1hdERhdGUoIk1NTS9kL3l5eXkiLCAyMDEyLCAyLCBTZXB0ZW1i
ZXIsIDcpLnV0ZjgoKS5kYXRhKCkpOwotICAgIEVYUEVDVF9TVFJFUSgiT2N0LzcvMjAxMiIsIGxv
Y2FsZS0+Zm9ybWF0RGF0ZSgiTU1NL2QveXl5eSIsIDIwMTIsIDIwMTIsIE9jdG9iZXIsIDcpLnV0
ZjgoKS5kYXRhKCkpOwotICAgIEVYUEVDVF9TVFJFUSgiTm92LzcvMjAwOCIsIGxvY2FsZS0+Zm9y
bWF0RGF0ZSgiTU1NL2QveXl5eSIsIDIwMTIsIDIwMDgsIE5vdmVtYmVyLCA3KS51dGY4KCkuZGF0
YSgpKTsKLSAgICBFWFBFQ1RfU1RSRVEoIkRlYy8zMS8yMDYyIiwgbG9jYWxlLT5mb3JtYXREYXRl
KCJNTU0vZC95eXl5IiwgMjAxMiwgMjA2MiwgRGVjZW1iZXIsIDMxKS51dGY4KCkuZGF0YSgpKTsK
LQotICAgIEVYUEVDVF9TVFJFUSgiSmFudWFyeS03LTIwMTciLCBsb2NhbGUtPmZvcm1hdERhdGUo
Ik1NTU0tZC15eXl5IiwgMjAxMiwgMjAxNywgSmFudWFyeSwgNykudXRmOCgpLmRhdGEoKSk7Ci0g
ICAgRVhQRUNUX1NUUkVRKCJGZWJydWFyeS0zMS0yMDYyIiwgbG9jYWxlLT5mb3JtYXREYXRlKCJN
TU1NLWQteXl5eSIsIDIwMTIsIDIwNjIsIEZlYnJ1YXJ5LCAzMSkudXRmOCgpLmRhdGEoKSk7Ci0g
ICAgRVhQRUNUX1NUUkVRKCJNYXJjaC03LTAwMDIiLCBsb2NhbGUtPmZvcm1hdERhdGUoIk1NTU0t
ZC15eXl5IiwgMjAxMiwgMiwgTWFyY2gsIDcpLnV0ZjgoKS5kYXRhKCkpOwotICAgIEVYUEVDVF9T
VFJFUSgiQXByaWwtNy0yMjAxMiIsIGxvY2FsZS0+Zm9ybWF0RGF0ZSgiTU1NTS1kLXl5eXkiLCAy
MDEyLCAyMjAxMiwgQXByaWwsIDcpLnV0ZjgoKS5kYXRhKCkpOwotICAgIEVYUEVDVF9TVFJFUSgi
TWF5LTctMTIwMDgiLCBsb2NhbGUtPmZvcm1hdERhdGUoIk1NTU0tZC15eXl5IiwgMjAxMiwgMTIw
MDgsIE1heSwgNykudXRmOCgpLmRhdGEoKSk7Ci0gICAgRVhQRUNUX1NUUkVRKCJKdW5lLTctMjIw
MTIiLCBsb2NhbGUtPmZvcm1hdERhdGUoIk1NTU0tZC15eXl5IiwgMjAxMiwgMjIwMTIsIEp1bmUs
IDcpLnV0ZjgoKS5kYXRhKCkpOwotICAgIEVYUEVDVF9TVFJFUSgiSnVseS03LTEyMDA4IiwgbG9j
YWxlLT5mb3JtYXREYXRlKCJNTU1NLWQteXl5eSIsIDIwMTIsIDEyMDA4LCBKdWx5LCA3KS51dGY4
KCkuZGF0YSgpKTsKLSAgICBFWFBFQ1RfU1RSRVEoIkF1Z3VzdC03LTIwMTciLCBsb2NhbGUtPmZv
cm1hdERhdGUoIk1NTU0tZC15eXl5IiwgMjAxMiwgMjAxNywgQXVndXN0LCA3KS51dGY4KCkuZGF0
YSgpKTsKLSAgICBFWFBFQ1RfU1RSRVEoIlNlcHRlbWJlci0zMS0yMDYyIiwgbG9jYWxlLT5mb3Jt
YXREYXRlKCJNTU1NLWQteXl5eSIsIDIwMTIsIDIwNjIsIFNlcHRlbWJlciwgMzEpLnV0ZjgoKS5k
YXRhKCkpOwotICAgIEVYUEVDVF9TVFJFUSgiT2N0b2Jlci03LTAwMDIiLCBsb2NhbGUtPmZvcm1h
dERhdGUoIk1NTU0tZC15eXl5IiwgMjAxMiwgMiwgT2N0b2JlciwgNykudXRmOCgpLmRhdGEoKSk7
Ci0gICAgRVhQRUNUX1NUUkVRKCJOb3ZlbWJlci03LTIyMDEyIiwgbG9jYWxlLT5mb3JtYXREYXRl
KCJNTU1NLWQteXl5eSIsIDIwMTIsIDIyMDEyLCBOb3ZlbWJlciwgNykudXRmOCgpLmRhdGEoKSk7
Ci0gICAgRVhQRUNUX1NUUkVRKCJEZWNlbWJlci03LTEyMDA4IiwgbG9jYWxlLT5mb3JtYXREYXRl
KCJNTU1NLWQteXl5eSIsIDIwMTIsIDEyMDA4LCBEZWNlbWJlciwgNykudXRmOCgpLmRhdGEoKSk7
Ci0KLSAgICBFWFBFQ1RfU1RSRVEoIkphbi0xLTAwMDEiLCBsb2NhbGUtPmZvcm1hdERhdGUoIk1N
TS1kLXl5eXkiLCAyMDEyLCAxLCBKYW51YXJ5LCAxKS51dGY4KCkuZGF0YSgpKTsKLSAgICBFWFBF
Q1RfU1RSRVEoIlNlcC0xMy0yNzU3NjAiLCBsb2NhbGUtPmZvcm1hdERhdGUoIk1NTS1kLXl5eXki
LCAyMDEyLCAyNzU3NjAsIFNlcHRlbWJlciwgMTMpLnV0ZjgoKS5kYXRhKCkpOwotCi0gICAgT3du
UHRyPExvY2FsZVdpbj4gcGVyc2lhbiA9IExvY2FsZVdpbjo6Y3JlYXRlKFBlcnNpYW4pOwotICAg
IC8vIFUrMDZGMCBVKzA2RjEgLyBVKzA2RjAgVSswNkY4IC8gVSswNkYwIFUrMDZGMCBVKzA2RjAg
VSswNkYyCi0gICAgRVhQRUNUX1NUUkVRKCJceERCXHhCMFx4REJceEIxL1x4REJceEIwXHhEQlx4
QjgvXHhEQlx4QjBceERCXHhCMFx4REJceEIwXHhEQlx4QjEiLCBwZXJzaWFuLT5mb3JtYXREYXRl
KCJkZC9NTS95eXl5IiwgMjAxMiwgMSwgQXVndXN0LCAxKS51dGY4KCkuZGF0YSgpKTsKLQotICAg
IC8vIEZvciB0aGUgZm9sbG93aW5nIHRlc3QsIHdlJ2QgbGlrZSB0byBjb25maXJtIHRoZXkgZG9u
J3QgY3Jhc2ggYW5kIHRoZWlyCi0gICAgLy8gcmVzdWx0cyBhcmUgbm90IGltcG9ydGFudCBiZWNh
dXNlIHdlIGNhbiBhc3N1bWUgaW52YWxpZCBhcmd1bWVudHMgYXJlCi0gICAgLy8gbmV2ZXIgcGFz
c2VkLgotICAgIEVYUEVDVF9TVFJFUSgiMjAxMi0xMy0wMCIsIGxvY2FsZS0+Zm9ybWF0RGF0ZSgi
eXl5eS1NTS1kZCIsIC0xLCAyMDEyLCBEZWNlbWJlciArIDEsIDApLnV0ZjgoKS5kYXRhKCkpOwot
ICAgIEVYUEVDVF9TVFJFUSgiLTEtMDAtLTEiLCBsb2NhbGUtPmZvcm1hdERhdGUoInktTU0tZGQi
LCAtMSwgLTEsIC0xLCAtMSkudXRmOCgpLmRhdGEoKSk7Ci0gICAgRVhQRUNUX1NUUkVRKCItMS0x
MjQtMzMiLCBsb2NhbGUtPmZvcm1hdERhdGUoInktTU0tZGQiLCAyMDEyLCAtMSwgMTIzLCAzMyku
dXRmOCgpLmRhdGEoKSk7Ci0gICAgCi19Ci0KIFRFU1RfRihMb2NhbGVXaW5UZXN0LCBUZXN0UGFy
c2UpCiB7CiAgICAgT3duUHRyPExvY2FsZVdpbj4gbG9jYWxlID0gTG9jYWxlV2luOjpjcmVhdGUo
RW5nbGlzaFVTKTsKQEAgLTI3Miw3ICsyMTAsNyBAQCBURVNUX0YoTG9jYWxlV2luVGVzdCwgVGVz
dFBhcnNlKQogCiBURVNUX0YoTG9jYWxlV2luVGVzdCwgZm9ybWF0RGF0ZSkKIHsKLSAgICBFWFBF
Q1RfU1RSRVEoIjQvMjcvMjAwNSIsIGZvcm1hdERhdGUoRW5nbGlzaFVTLCAyMDA1LCBBcHJpbCwg
MjcpLnV0ZjgoKS5kYXRhKCkpOworICAgIEVYUEVDVF9TVFJFUSgiMDQvMjcvMjAwNSIsIGZvcm1h
dERhdGUoRW5nbGlzaFVTLCAyMDA1LCBBcHJpbCwgMjcpLnV0ZjgoKS5kYXRhKCkpOwogICAgIEVY
UEVDVF9TVFJFUSgiMjcvMDQvMjAwNSIsIGZvcm1hdERhdGUoRnJlbmNoRlIsIDIwMDUsIEFwcmls
LCAyNykudXRmOCgpLmRhdGEoKSk7CiAgICAgRVhQRUNUX1NUUkVRKCIyMDA1LzA0LzI3IiwgZm9y
bWF0RGF0ZShKYXBhbmVzZUpQLCAyMDA1LCBBcHJpbCwgMjcpLnV0ZjgoKS5kYXRhKCkpOwogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>169150</attachid>
            <date>2012-10-17 03:51:37 -0700</date>
            <delta_ts>2012-10-17 04:03:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-99570-20121017195024.patch</filename>
            <type>text/plain</type>
            <size>21740</size>
            <attacher name="Keishi Hattori">keishi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMxNTQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTM3NDM3ZmYzMWFhNzU0
NzhmYTZkMTJhYjA1MTZjMjQ2MjY5N2U1YS4uOTBiMzgzNWNjMzJhNjk0MDgwOGY0Mzg3MWM0ZGE4
OTBjYTMyNTJhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDEyLTEwLTE3ICBLZWlz
aGkgSGF0dG9yaSAgPGtlaXNoaUB3ZWJraXQub3JnPgorCisgICAgICAgIExvY2FsaXplZCBkYXRl
IHNob3VsZCBiZSBiYXNlZCBvbiBMRE1MCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD05OTU3MAorCisgICAgICAgIFJldmlld2VkIGJ5IEtlbnQgVGFtdXJh
LgorCisgICAgICAgIExvY2FsaXplZCBkYXRlIHNob3VsZCBiZSBiYXNlZCBvbiBMRE1MIHRvIG1h
dGNoIHRoZSBmb3JtYXQgaW5zaWRlIERhdGVUaW1lRWRpdEVsZW1lbnQuCisKKyAgICAgICAgTm8g
bmV3IHRlc3RzLiBDb3ZlcmVkIGJ5IExvY2FsZU1hY1Rlc3QuZm9ybWF0RGF0ZSBhbmQgTG9jYWxl
V2luVGVzdC5mb3JtYXREYXRlLgorCisgICAgICAgICogcGxhdGZvcm0vdGV4dC9Mb2NhbGVJQ1Uu
Y3BwOiBSZW1vdmVkIGZvcm1hdERhdGVUaW1lLgorICAgICAgICAqIHBsYXRmb3JtL3RleHQvTG9j
YWxlSUNVLmg6CisgICAgICAgIChMb2NhbGVJQ1UpOgorICAgICAgICAqIHBsYXRmb3JtL3RleHQv
TG9jYWxlTm9uZS5jcHA6IFJlbW92ZWQgZm9ybWF0RGF0ZVRpbWUuCisgICAgICAgIChMb2NhbGVO
b25lKToKKyAgICAgICAgKiBwbGF0Zm9ybS90ZXh0L0xvY2FsZVdpbi5jcHA6IFJlbW92ZWQgZm9y
bWF0RGF0ZVRpbWUgYW5kIGZvcm1hdERhdGUuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAg
KiBwbGF0Zm9ybS90ZXh0L0xvY2FsZVdpbi5oOgorICAgICAgICAoTG9jYWxlV2luKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS90ZXh0L0xvY2FsaXplci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEYXRl
VGltZVN0cmluZ0J1aWxkZXI6OnZpc2l0RmllbGQpOiBBZGRlZCBzdXBwb3J0IGZvciB5ZWFyL21v
bnRoL2RheS4KKyAgICAgICAgKFdlYkNvcmU6OkxvY2FsaXplcjo6Zm9ybWF0RGF0ZVRpbWUpOiBD
cmVhdGVzIHRoZSBmb3JtYXR0ZWQgc3RyaW5nIGJhc2VkIG9uIHRoZSBmb3JtYXQgZnJvbSBkYXRl
Rm9ybWF0KCkuCisgICAgICAgICogcGxhdGZvcm0vdGV4dC9Mb2NhbGl6ZXIuaDoKKyAgICAgICAg
KiBwbGF0Zm9ybS90ZXh0L21hYy9Mb2NhbGVNYWMuaDoKKyAgICAgICAgKExvY2FsZU1hYyk6Cisg
ICAgICAgICogcGxhdGZvcm0vdGV4dC9tYWMvTG9jYWxlTWFjLm1tOiBSZW1vdmVkIGZvcm1hdERh
dGVUaW1lLgorCiAyMDEyLTEwLTE2ICBKdWxpZW4gQ2hhZmZyYWl4ICA8amNoYWZmcmFpeEB3ZWJr
aXQub3JnPgogCiAgICAgICAgIE1ha2UgUmVuZGVyT2JqZWN0IGRlc3RydWN0aW9uIGR1cmluZyBk
ZXRhY2ggYSB0b3AtZG93biBvcGVyYXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXgg
OWQyZmYzNDkzMzFiYWUzNzVhOGZkM2UyNjAwOWIyNDZjMzJkOTgwZS4uZmNjZWE4Y2Q4N2M3YjQz
OWFlY2YwOWE1OWRlOTgzNDEyYzU5MzU5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNSBAQAorMjAxMi0xMC0xNyAgS2Vpc2hpIEhhdHRvcmkgIDxrZWlzaGlAd2Via2l0
Lm9yZz4KKworICAgICAgICBMb2NhbGl6ZWQgZGF0ZSBzaG91bGQgYmUgYmFzZWQgb24gTERNTAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTk1NzAKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHRlc3RzL0xv
Y2FsZU1hY1Rlc3QuY3BwOgorICAgICAgICAoVEVTVF9GKTogVXBkYXRlZCBleHBlY3RhdGlvbnMu
CisgICAgICAgICogdGVzdHMvTG9jYWxlV2luVGVzdC5jcHA6CisgICAgICAgIChURVNUX0YpOiBV
cGRhdGVkIGV4cGVjdGF0aW9ucy4KKwogMjAxMi0xMC0xNiAgQWxlYyBGbGV0dCAgPGFsZWNmbGV0
dEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgSW5kZXhlZERCOiBTdHViIG91dCBjaHJvbWl1bSBz
dWNjZXNzIGhhbmRsZXJzIGZvciBpbnRlZ2VycyBhbmQgdW5kZWZpbmVkIHZhbHVlcwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGVJQ1UuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGVJQ1UuY3BwCmluZGV4IDI4NmYyZjE5YjZlOWVl
OTU5YzA0MDNiYmExMDgyYTEzZmRjMTgwMGIuLmNlNWYwYWZjNDY5NzE4ZGQwY2YzNGYzMzg2NTA2
Y2UxYjZhNDcxNjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvTG9j
YWxlSUNVLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2FsZUlDVS5j
cHAKQEAgLTE3MiwyNSArMTcyLDYgQEAgZG91YmxlIExvY2FsZUlDVTo6cGFyc2VEYXRlVGltZShj
b25zdCBTdHJpbmcmIGlucHV0LCBEYXRlQ29tcG9uZW50czo6VHlwZSB0eXBlKQogICAgIHJldHVy
biBkYXRlOwogfQogCi1TdHJpbmcgTG9jYWxlSUNVOjpmb3JtYXREYXRlVGltZShjb25zdCBEYXRl
Q29tcG9uZW50cyYgZGF0ZUNvbXBvbmVudHMsIEZvcm1hdFR5cGUgZm9ybWF0VHlwZSkKLXsKLSAg
ICBpZiAoZGF0ZUNvbXBvbmVudHMudHlwZSgpICE9IERhdGVDb21wb25lbnRzOjpEYXRlKQotICAg
ICAgICByZXR1cm4gTG9jYWxpemVyOjpmb3JtYXREYXRlVGltZShkYXRlQ29tcG9uZW50cywgZm9y
bWF0VHlwZSk7Ci0gICAgaWYgKCFpbml0aWFsaXplU2hvcnREYXRlRm9ybWF0KCkpCi0gICAgICAg
IHJldHVybiBTdHJpbmcoKTsKLSAgICBkb3VibGUgaW5wdXQgPSBkYXRlQ29tcG9uZW50cy5taWxs
aXNlY29uZHNTaW5jZUVwb2NoKCk7Ci0gICAgVUVycm9yQ29kZSBzdGF0dXMgPSBVX1pFUk9fRVJS
T1I7Ci0gICAgaW50MzJfdCBsZW5ndGggPSB1ZGF0X2Zvcm1hdChtX3Nob3J0RGF0ZUZvcm1hdCwg
aW5wdXQsIDAsIDAsIDAsICZzdGF0dXMpOwotICAgIGlmIChzdGF0dXMgIT0gVV9CVUZGRVJfT1ZF
UkZMT1dfRVJST1IpCi0gICAgICAgIHJldHVybiBTdHJpbmcoKTsKLSAgICBWZWN0b3I8VUNoYXI+
IGJ1ZmZlcihsZW5ndGgpOwotICAgIHN0YXR1cyA9IFVfWkVST19FUlJPUjsKLSAgICB1ZGF0X2Zv
cm1hdChtX3Nob3J0RGF0ZUZvcm1hdCwgaW5wdXQsIGJ1ZmZlci5kYXRhKCksIGxlbmd0aCwgMCwg
JnN0YXR1cyk7Ci0gICAgaWYgKFVfRkFJTFVSRShzdGF0dXMpKQotICAgICAgICByZXR1cm4gU3Ry
aW5nKCk7Ci0gICAgcmV0dXJuIFN0cmluZzo6YWRvcHQoYnVmZmVyKTsKLX0KLQogI2lmIEVOQUJM
RShDQUxFTkRBUl9QSUNLRVIpIHx8IEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCiBz
dGF0aWMgU3RyaW5nIGdldERhdGVGb3JtYXRQYXR0ZXJuKGNvbnN0IFVEYXRlRm9ybWF0KiBkYXRl
Rm9ybWF0KQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2Nh
bGVJQ1UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvTG9jYWxlSUNVLmgKaW5kZXgg
YjYwNzM0ZDQxNGFmMDk2MTczZTgzMDg2MjhjZTQyN2QxZjczMTRmYS4uYTRiODEyMmNiNzkzYjZh
Mjk2ZDAwNGQ0NzM0YmFkOTkyZjU5YTVkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vdGV4dC9Mb2NhbGVJQ1UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0
L0xvY2FsZUlDVS5oCkBAIC01MSw3ICs1MSw2IEBAIHB1YmxpYzoKIAogICAgIC8vIEZvciBMb2Nh
bGl6ZWREYXRlCiAgICAgdmlydHVhbCBkb3VibGUgcGFyc2VEYXRlVGltZShjb25zdCBTdHJpbmcm
LCBEYXRlQ29tcG9uZW50czo6VHlwZSkgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCBTdHJpbmcgZm9y
bWF0RGF0ZVRpbWUoY29uc3QgRGF0ZUNvbXBvbmVudHMmLCBGb3JtYXRUeXBlID0gRm9ybWF0VHlw
ZVVuc3BlY2lmaWVkKSBPVkVSUklERTsKICNpZiBFTkFCTEUoQ0FMRU5EQVJfUElDS0VSKQogICAg
IHZpcnR1YWwgU3RyaW5nIGRhdGVGb3JtYXRUZXh0KCkgT1ZFUlJJREU7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvTG9jYWxlTm9uZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS90ZXh0L0xvY2FsZU5vbmUuY3BwCmluZGV4IGM4M2QxYjM2ZmVmZjliNzM0
NmFkNTczNWU2MGY3MGI4YjEzMDc2NjcuLjBkZGFmMzAzNmNhOWFkNGNhNWJkZjkyMDhiYjYzZGZm
NWRhODIyYjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvTG9jYWxl
Tm9uZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGVOb25lLmNw
cApAQCAtMzYsNyArMzYsNiBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBp
bml0aWFsaXplTG9jYWxpemVyRGF0YSgpIE9WRVJSSURFIEZJTkFMOwogICAgIHZpcnR1YWwgZG91
YmxlIHBhcnNlRGF0ZVRpbWUoY29uc3QgU3RyaW5nJiwgRGF0ZUNvbXBvbmVudHM6OlR5cGUpIE9W
RVJSSURFOwotICAgIHZpcnR1YWwgU3RyaW5nIGZvcm1hdERhdGVUaW1lKGNvbnN0IERhdGVDb21w
b25lbnRzJiwgRm9ybWF0VHlwZSA9IEZvcm1hdFR5cGVVbnNwZWNpZmllZCkgT1ZFUlJJREU7CiAj
aWYgRU5BQkxFKENBTEVOREFSX1BJQ0tFUikKICAgICB2aXJ0dWFsIFN0cmluZyBkYXRlRm9ybWF0
VGV4dCgpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgYm9vbCBpc1JUTCgpIE9WRVJSSURFOwpAQCAt
NjQsMTEgKzYzLDYgQEAgZG91YmxlIExvY2FsZU5vbmU6OnBhcnNlRGF0ZVRpbWUoY29uc3QgU3Ry
aW5nJiwgRGF0ZUNvbXBvbmVudHM6OlR5cGUpCiAgICAgcmV0dXJuIHN0ZDo6bnVtZXJpY19saW1p
dHM8ZG91YmxlPjo6cXVpZXRfTmFOKCk7CiB9CiAKLVN0cmluZyBMb2NhbGVOb25lOjpmb3JtYXRE
YXRlVGltZShjb25zdCBEYXRlQ29tcG9uZW50cyYsIEZvcm1hdFR5cGUpCi17Ci0gICAgcmV0dXJu
IFN0cmluZygpOwotfQotCiAjaWYgRU5BQkxFKENBTEVOREFSX1BJQ0tFUikKIFN0cmluZyBMb2Nh
bGVOb25lOjpkYXRlRm9ybWF0VGV4dCgpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS90ZXh0L0xvY2FsZVdpbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0
L0xvY2FsZVdpbi5jcHAKaW5kZXggNDQ0ZTE1NmE0ODlmZjk4OTllZDJiMjk3YzlhZGFiNzlmMWRm
YTM3MC4uMDk3YjA5MzAyMzc3NGVlNjgxOTM1MzM4ODYwMjcyZmUyNjZkNjY0MSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGVXaW4uY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvTG9jYWxlV2luLmNwcApAQCAtNDQzLDExMyArNDQzLDYg
QEAgZG91YmxlIExvY2FsZVdpbjo6cGFyc2VEYXRlKGNvbnN0IFZlY3RvcjxEYXRlRm9ybWF0VG9r
ZW4+JiB0b2tlbnMsIGludCBiYXNlWWVhciwKIAogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0gRm9ybWF0dGluZwogCi1pbmxpbmUgdm9pZCBMb2NhbGVXaW46OmFwcGVuZE51bWJl
cihpbnQgdmFsdWUsIFN0cmluZ0J1aWxkZXImIGJ1ZmZlcikKLXsKLSAgICBidWZmZXIuYXBwZW5k
KGNvbnZlcnRUb0xvY2FsaXplZE51bWJlcihTdHJpbmc6Om51bWJlcih2YWx1ZSkpKTsKLX0KLQot
dm9pZCBMb2NhbGVXaW46OmFwcGVuZFR3b0RpZ2l0c051bWJlcihpbnQgdmFsdWUsIFN0cmluZ0J1
aWxkZXImIGJ1ZmZlcikKLXsKLSAgICBTdHJpbmcgbnVtYmVyU3RyaW5nID0gU3RyaW5nOjpudW1i
ZXIodmFsdWUpOwotICAgIGlmICh2YWx1ZSA8IDAgfHwgdmFsdWUgPj0gMTApIHsKLSAgICAgICAg
YnVmZmVyLmFwcGVuZChjb252ZXJ0VG9Mb2NhbGl6ZWROdW1iZXIobnVtYmVyU3RyaW5nKSk7Ci0g
ICAgICAgIHJldHVybjsKLSAgICB9Ci0gICAgU3RyaW5nQnVpbGRlciBudW1iZXJCdWZmZXI7Ci0g
ICAgbnVtYmVyQnVmZmVyLnJlc2VydmVDYXBhY2l0eSgxICsgbnVtYmVyU3RyaW5nLmxlbmd0aCgp
KTsKLSAgICBudW1iZXJCdWZmZXIuYXBwZW5kKCIwIik7Ci0gICAgbnVtYmVyQnVmZmVyLmFwcGVu
ZChudW1iZXJTdHJpbmcpOwotICAgIGJ1ZmZlci5hcHBlbmQoY29udmVydFRvTG9jYWxpemVkTnVt
YmVyKG51bWJlckJ1ZmZlci50b1N0cmluZygpKSk7Ci19Ci0KLXZvaWQgTG9jYWxlV2luOjphcHBl
bmRGb3VyRGlnaXRzTnVtYmVyKGludCB2YWx1ZSwgU3RyaW5nQnVpbGRlciYgYnVmZmVyKQotewot
ICAgIFN0cmluZyBudW1iZXJTdHJpbmcgPSBTdHJpbmc6Om51bWJlcih2YWx1ZSk7Ci0gICAgaWYg
KHZhbHVlIDwgMCkgewotICAgICAgICBidWZmZXIuYXBwZW5kKGNvbnZlcnRUb0xvY2FsaXplZE51
bWJlcihudW1iZXJTdHJpbmcpKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLSAgICBTdHJpbmdC
dWlsZGVyIG51bWJlckJ1ZmZlcjsKLSAgICBudW1iZXJCdWZmZXIucmVzZXJ2ZUNhcGFjaXR5KDMg
KyBudW1iZXJTdHJpbmcubGVuZ3RoKCkpOwotICAgIGlmICh2YWx1ZSA8IDEwKQotICAgICAgICBu
dW1iZXJCdWZmZXIuYXBwZW5kKCIwMDAiKTsKLSAgICBlbHNlIGlmICh2YWx1ZSA8IDEwMCkKLSAg
ICAgICAgbnVtYmVyQnVmZmVyLmFwcGVuZCgiMDAiKTsKLSAgICBlbHNlIGlmICh2YWx1ZSA8IDEw
MDApCi0gICAgICAgIG51bWJlckJ1ZmZlci5hcHBlbmQoIjAiKTsKLSAgICBudW1iZXJCdWZmZXIu
YXBwZW5kKG51bWJlclN0cmluZyk7Ci0gICAgYnVmZmVyLmFwcGVuZChjb252ZXJ0VG9Mb2NhbGl6
ZWROdW1iZXIobnVtYmVyQnVmZmVyLnRvU3RyaW5nKCkpKTsKLX0KLQotU3RyaW5nIExvY2FsZVdp
bjo6Zm9ybWF0RGF0ZVRpbWUoY29uc3QgRGF0ZUNvbXBvbmVudHMmIGRhdGVDb21wb25lbnRzLCBG
b3JtYXRUeXBlIGZvcm1hdFR5cGUpCi17Ci0gICAgaWYgKGRhdGVDb21wb25lbnRzLnR5cGUoKSAh
PSBEYXRlQ29tcG9uZW50czo6RGF0ZSkKLSAgICAgICAgcmV0dXJuIExvY2FsaXplcjo6Zm9ybWF0
RGF0ZVRpbWUoZGF0ZUNvbXBvbmVudHMsIGZvcm1hdFR5cGUpOwotICAgIGVuc3VyZVNob3J0RGF0
ZVRva2VucygpOwotICAgIHJldHVybiBmb3JtYXREYXRlKG1fc2hvcnREYXRlVG9rZW5zLCBtX2Jh
c2VZZWFyLCBkYXRlQ29tcG9uZW50cy5mdWxsWWVhcigpLCBkYXRlQ29tcG9uZW50cy5tb250aCgp
LCBkYXRlQ29tcG9uZW50cy5tb250aERheSgpKTsKLX0KLQotU3RyaW5nIExvY2FsZVdpbjo6Zm9y
bWF0RGF0ZShjb25zdCBTdHJpbmcmIGZvcm1hdCwgaW50IGJhc2VZZWFyLCBpbnQgeWVhciwgaW50
IG1vbnRoLCBpbnQgZGF5KQotewotICAgIHJldHVybiBmb3JtYXREYXRlKHBhcnNlRGF0ZUZvcm1h
dChmb3JtYXQpLCBiYXNlWWVhciwgeWVhciwgbW9udGgsIGRheSk7Ci19Ci0KLVN0cmluZyBMb2Nh
bGVXaW46OmZvcm1hdERhdGUoY29uc3QgVmVjdG9yPERhdGVGb3JtYXRUb2tlbj4mIHRva2Vucywg
aW50IGJhc2VZZWFyLCBpbnQgeWVhciwgaW50IG1vbnRoLCBpbnQgZGF5KQotewotICAgIGVuc3Vy
ZVNob3J0TW9udGhMYWJlbHMoKTsKLSAgICBlbnN1cmVNb250aExhYmVscygpOwotICAgIFN0cmlu
Z0J1aWxkZXIgYnVmZmVyOwotICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCB0b2tlbnMuc2l6
ZSgpOyArK2kpIHsKLSAgICAgICAgc3dpdGNoICh0b2tlbnNbaV0udHlwZSkgewotICAgICAgICBj
YXNlIERhdGVGb3JtYXRUb2tlbjo6TGl0ZXJhbDoKLSAgICAgICAgICAgIGJ1ZmZlci5hcHBlbmQo
dG9rZW5zW2ldLmRhdGEpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgRGF0ZUZv
cm1hdFRva2VuOjpEYXkxOgotICAgICAgICAgICAgYXBwZW5kTnVtYmVyKGRheSwgYnVmZmVyKTsK
LSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIERhdGVGb3JtYXRUb2tlbjo6RGF5MjoK
LSAgICAgICAgICAgIGFwcGVuZFR3b0RpZ2l0c051bWJlcihkYXksIGJ1ZmZlcik7Ci0gICAgICAg
ICAgICBicmVhazsKLSAgICAgICAgY2FzZSBEYXRlRm9ybWF0VG9rZW46Ok1vbnRoMToKLSAgICAg
ICAgICAgIGFwcGVuZE51bWJlcihtb250aCArIDEsIGJ1ZmZlcik7Ci0gICAgICAgICAgICBicmVh
azsKLSAgICAgICAgY2FzZSBEYXRlRm9ybWF0VG9rZW46Ok1vbnRoMjoKLSAgICAgICAgICAgIGFw
cGVuZFR3b0RpZ2l0c051bWJlcihtb250aCArIDEsIGJ1ZmZlcik7Ci0gICAgICAgICAgICBicmVh
azsKLSAgICAgICAgY2FzZSBEYXRlRm9ybWF0VG9rZW46Ok1vbnRoMzoKLSAgICAgICAgICAgIGlm
ICgwIDw9IG1vbnRoICYmIG1vbnRoIDwgc3RhdGljX2Nhc3Q8aW50PihtX3Nob3J0TW9udGhMYWJl
bHMuc2l6ZSgpKSkKLSAgICAgICAgICAgICAgICBidWZmZXIuYXBwZW5kKG1fc2hvcnRNb250aExh
YmVsc1ttb250aF0pOwotICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIGFwcGVuZE51
bWJlcihtb250aCArIDEsIGJ1ZmZlcik7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2Fz
ZSBEYXRlRm9ybWF0VG9rZW46Ok1vbnRoNDoKLSAgICAgICAgICAgIGlmICgwIDw9IG1vbnRoICYm
IG1vbnRoIDwgc3RhdGljX2Nhc3Q8aW50PihtX21vbnRoTGFiZWxzLnNpemUoKSkpCi0gICAgICAg
ICAgICAgICAgYnVmZmVyLmFwcGVuZChtX21vbnRoTGFiZWxzW21vbnRoXSk7Ci0gICAgICAgICAg
ICBlbHNlCi0gICAgICAgICAgICAgICAgYXBwZW5kTnVtYmVyKG1vbnRoICsgMSwgYnVmZmVyKTsK
LSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIERhdGVGb3JtYXRUb2tlbjo6WWVhcjE6
IHsKLSAgICAgICAgICAgIGlmIChiYXNlWWVhciAtIDQgPD0geWVhciAmJiB5ZWFyIDw9IGJhc2VZ
ZWFyICsgNSkKLSAgICAgICAgICAgICAgICBhcHBlbmROdW1iZXIoeWVhciAlIDEwLCBidWZmZXIp
OwotICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIGFwcGVuZEZvdXJEaWdpdHNOdW1i
ZXIoeWVhciwgYnVmZmVyKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICAg
IGNhc2UgRGF0ZUZvcm1hdFRva2VuOjpZZWFyMjogewotICAgICAgICAgICAgaWYgKGJhc2VZZWFy
IC0gNDkgPD0geWVhciAmJiB5ZWFyIDw9IGJhc2VZZWFyICsgNTApCi0gICAgICAgICAgICAgICAg
YXBwZW5kVHdvRGlnaXRzTnVtYmVyKHllYXIgJSAxMDAsIGJ1ZmZlcik7Ci0gICAgICAgICAgICBl
bHNlCi0gICAgICAgICAgICAgICAgYXBwZW5kRm91ckRpZ2l0c051bWJlcih5ZWFyLCBidWZmZXIp
OwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAgY2FzZSBEYXRlRm9ybWF0
VG9rZW46OlllYXI0OgotICAgICAgICAgICAgYXBwZW5kRm91ckRpZ2l0c051bWJlcih5ZWFyLCBi
dWZmZXIpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgcmV0dXJu
IGJ1ZmZlci50b1N0cmluZygpOwotfQotCiB2b2lkIExvY2FsZVdpbjo6ZW5zdXJlU2hvcnREYXRl
VG9rZW5zKCkKIHsKICAgICBpZiAoIW1fc2hvcnREYXRlVG9rZW5zLmlzRW1wdHkoKSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvTG9jYWxlV2luLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2FsZVdpbi5oCmluZGV4IGVkMDQyNjJhYjk1YzMyYWVj
MTA4YTEzNTViZmY3ODhhMTUxN2ExNGEuLjIxYWQ3YmY1ZmRjYTcxZDI3ZTYxY2QwYWMxZDMyNWNj
ODYwNTc2MTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvTG9jYWxl
V2luLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGVXaW4uaApAQCAt
NDcsNyArNDcsNiBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8TG9jYWxlV2luPiBj
cmVhdGUoTENJRCk7CiAgICAgfkxvY2FsZVdpbigpOwogICAgIHZpcnR1YWwgZG91YmxlIHBhcnNl
RGF0ZVRpbWUoY29uc3QgU3RyaW5nJiwgRGF0ZUNvbXBvbmVudHM6OlR5cGUpIE9WRVJSSURFOwot
ICAgIHZpcnR1YWwgU3RyaW5nIGZvcm1hdERhdGVUaW1lKGNvbnN0IERhdGVDb21wb25lbnRzJiwg
Rm9ybWF0VHlwZSA9IEZvcm1hdFR5cGVVbnNwZWNpZmllZCkgT1ZFUlJJREU7CiAjaWYgRU5BQkxF
KENBTEVOREFSX1BJQ0tFUikKICAgICB2aXJ0dWFsIFN0cmluZyBkYXRlRm9ybWF0VGV4dCgpIE9W
RVJSSURFOwogICAgIHZpcnR1YWwgY29uc3QgVmVjdG9yPFN0cmluZz4mIG1vbnRoTGFiZWxzKCkg
T1ZFUlJJREU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2Fs
aXplci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2FsaXplci5jcHAKaW5k
ZXggMDcxYjBhNjQ0MmEzY2MxN2Q0ODBhNWE1NGEwNmE5OGU4MDdkMzZmOS4uOWM3MTJiMzBjOGZj
ZDMwMDZlYmM1YTZkZGMwZGI1OWI5OGM4MzlkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vdGV4dC9Mb2NhbGl6ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L3RleHQvTG9jYWxpemVyLmNwcApAQCAtOTQsNiArOTQsMTggQEAgdm9pZCBEYXRlVGltZVN0cmlu
Z0J1aWxkZXI6OmFwcGVuZE51bWJlcihpbnQgbnVtYmVyLCBzaXplX3Qgd2lkdGgpCiB2b2lkIERh
dGVUaW1lU3RyaW5nQnVpbGRlcjo6dmlzaXRGaWVsZChEYXRlVGltZUZvcm1hdDo6RmllbGRUeXBl
IGZpZWxkVHlwZSwgaW50IG51bWJlck9mUGF0dGVybkNoYXJhY3RlcnMpCiB7CiAgICAgc3dpdGNo
IChmaWVsZFR5cGUpIHsKKyAgICBjYXNlIERhdGVUaW1lRm9ybWF0OjpGaWVsZFR5cGVZZWFyOgor
ICAgICAgICAvLyBBbHdheXMgdXNlIHBhZGRpbmcgd2lkdGggb2YgNCBzbyBpdCBtYXRjaGVzIERh
dGVUaW1lRWRpdEVsZW1lbnQuCisgICAgICAgIGFwcGVuZE51bWJlcihtX2RhdGUuZnVsbFllYXIo
KSwgNCk7CisgICAgICAgIHJldHVybjsKKyAgICBjYXNlIERhdGVUaW1lRm9ybWF0OjpGaWVsZFR5
cGVNb250aDoKKyAgICAgICAgLy8gQWx3YXlzIHVzZSBwYWRkaW5nIHdpZHRoIG9mIDIgc28gaXQg
bWF0Y2hlcyBEYXRlVGltZUVkaXRFbGVtZW50LgorICAgICAgICBhcHBlbmROdW1iZXIobV9kYXRl
Lm1vbnRoKCkgKyAxLCAyKTsKKyAgICAgICAgcmV0dXJuOworICAgIGNhc2UgRGF0ZVRpbWVGb3Jt
YXQ6OkZpZWxkVHlwZURheU9mTW9udGg6CisgICAgICAgIC8vIEFsd2F5cyB1c2UgcGFkZGluZyB3
aWR0aCBvZiAyIHNvIGl0IG1hdGNoZXMgRGF0ZVRpbWVFZGl0RWxlbWVudC4KKyAgICAgICAgYXBw
ZW5kTnVtYmVyKG1fZGF0ZS5tb250aERheSgpLCAyKTsKKyAgICAgICAgcmV0dXJuOwogICAgIGNh
c2UgRGF0ZVRpbWVGb3JtYXQ6OkZpZWxkVHlwZVBlcmlvZDoKICAgICAgICAgbV9idWlsZGVyLmFw
cGVuZChtX2xvY2FsaXplci50aW1lQU1QTUxhYmVscygpWyhtX2RhdGUuaG91cigpID49IDEyID8g
MSA6IDApXSk7CiAgICAgICAgIHJldHVybjsKQEAgLTM1OSwxMCArMzcxLDEzIEBAIGNvbnN0IFZl
Y3RvcjxTdHJpbmc+JiBMb2NhbGl6ZXI6OnRpbWVBTVBNTGFiZWxzKCkKIFN0cmluZyBMb2NhbGl6
ZXI6OmZvcm1hdERhdGVUaW1lKGNvbnN0IERhdGVDb21wb25lbnRzJiBkYXRlLCBGb3JtYXRUeXBl
IGZvcm1hdFR5cGUpCiB7CiAjaWYgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKLSAg
ICBpZiAoZGF0ZS50eXBlKCkgIT0gRGF0ZUNvbXBvbmVudHM6OlRpbWUpCisgICAgaWYgKGRhdGUu
dHlwZSgpICE9IERhdGVDb21wb25lbnRzOjpUaW1lICYmIGRhdGUudHlwZSgpICE9IERhdGVDb21w
b25lbnRzOjpEYXRlKQogICAgICAgICByZXR1cm4gU3RyaW5nKCk7CiAgICAgRGF0ZVRpbWVTdHJp
bmdCdWlsZGVyIGJ1aWxkZXIoKnRoaXMsIGRhdGUpOwotICAgIGJ1aWxkZXIuYnVpbGQoZm9ybWF0
VHlwZSA9PSBGb3JtYXRUeXBlU2hvcnQgPyBzaG9ydFRpbWVGb3JtYXQoKSA6IHRpbWVGb3JtYXQo
KSk7CisgICAgaWYgKGRhdGUudHlwZSgpID09IERhdGVDb21wb25lbnRzOjpUaW1lKQorICAgICAg
ICBidWlsZGVyLmJ1aWxkKGZvcm1hdFR5cGUgPT0gRm9ybWF0VHlwZVNob3J0ID8gc2hvcnRUaW1l
Rm9ybWF0KCkgOiB0aW1lRm9ybWF0KCkpOworICAgIGVsc2UgaWYgKGRhdGUudHlwZSgpID09IERh
dGVDb21wb25lbnRzOjpEYXRlKQorICAgICAgICBidWlsZGVyLmJ1aWxkKGRhdGVGb3JtYXQoKSk7
CiAgICAgcmV0dXJuIGJ1aWxkZXIudG9TdHJpbmcoKTsKICNlbHNlCiAgICAgVU5VU0VEX1BBUkFN
KGRhdGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGl6
ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvTG9jYWxpemVyLmgKaW5kZXggYmU0
ZDg2NTJkMzc1NDExMWI4NzM2NGM5N2Q4ODA2ZWVhMGM4ODE2ZS4uMmVkMjc3Yzk1NzllM2Q5ZjNh
Yjc0ODU4MzMzNGM4YjY3NTBlNTJiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vdGV4dC9Mb2NhbGl6ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xv
Y2FsaXplci5oCkBAIC0xMTgsNyArMTE4LDcgQEAgcHVibGljOgogICAgIC8vIFNlcmlhbGl6ZXMg
dGhlIHNwZWNpZmllZCBkYXRlIGludG8gYSBmb3JtYXR0ZWQgZGF0ZSBzdHJpbmcgdG8KICAgICAv
LyBkaXNwbGF5IHRvIHRoZSB1c2VyLiBJZiBhbiBpbXBsZW1lbnRhdGlvbiBkb2Vzbid0IHN1cHBv
cnQKICAgICAvLyBsb2NhbGl6ZWQgZGF0ZXMgdGhlIGZ1bmN0aW9uIHNob3VsZCByZXR1cm4gYW4g
ZW1wdHkgc3RyaW5nLgotICAgIHZpcnR1YWwgU3RyaW5nIGZvcm1hdERhdGVUaW1lKGNvbnN0IERh
dGVDb21wb25lbnRzJiwgRm9ybWF0VHlwZSA9IEZvcm1hdFR5cGVVbnNwZWNpZmllZCk7CisgICAg
U3RyaW5nIGZvcm1hdERhdGVUaW1lKGNvbnN0IERhdGVDb21wb25lbnRzJiwgRm9ybWF0VHlwZSA9
IEZvcm1hdFR5cGVVbnNwZWNpZmllZCk7CiAKICAgICB2aXJ0dWFsIH5Mb2NhbGl6ZXIoKTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9tYWMvTG9jYWxlTWFjLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L21hYy9Mb2NhbGVNYWMuaAppbmRleCA5ZTYw
ZDAwNGFmZWY4NTY4MTQ5ZjgwODg5Y2E3YjFlMGRhMTg5YzU4Li5hYzAyOWVhMDM1ZDY4ZGQ3NGYw
MWM4NDVmMDYxMTE4YjU1OGE4ZWNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS90ZXh0L21hYy9Mb2NhbGVNYWMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0
L21hYy9Mb2NhbGVNYWMuaApAQCAtNTEsNyArNTEsNiBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFBh
c3NPd25QdHI8TG9jYWxlTWFjPiBjcmVhdGUoTlNMb2NhbGUqKTsKICAgICB+TG9jYWxlTWFjKCk7
CiAgICAgdmlydHVhbCBkb3VibGUgcGFyc2VEYXRlVGltZShjb25zdCBTdHJpbmcmLCBEYXRlQ29t
cG9uZW50czo6VHlwZSkgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCBTdHJpbmcgZm9ybWF0RGF0ZVRp
bWUoY29uc3QgRGF0ZUNvbXBvbmVudHMmLCBGb3JtYXRUeXBlID0gRm9ybWF0VHlwZVVuc3BlY2lm
aWVkKSBPVkVSUklERTsKIAogI2lmIEVOQUJMRShDQUxFTkRBUl9QSUNLRVIpCiAgICAgdmlydHVh
bCBTdHJpbmcgZGF0ZUZvcm1hdFRleHQoKSBPVkVSUklERTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL3RleHQvbWFjL0xvY2FsZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL3RleHQvbWFjL0xvY2FsZU1hYy5tbQppbmRleCA4YmRhOTdmN2I0ZGNhODg3OTNiNTM3
ZTFlMDk2N2Y1NmU4ZTRiZDllLi5hMjAyNTRlMTI5NTAwMjIxODA5Mjg0ZGUxMzM1ZWQ4M2U1YzM5
MTUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L21hYy9Mb2NhbGVN
YWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9tYWMvTG9jYWxlTWFjLm1t
CkBAIC0xMjMsMTQgKzEyMyw2IEBAIGRvdWJsZSBMb2NhbGVNYWM6OnBhcnNlRGF0ZVRpbWUoY29u
c3QgU3RyaW5nJiBpbnB1dCwgRGF0ZUNvbXBvbmVudHM6OlR5cGUgdHlwZSkKICAgICByZXR1cm4g
W2RhdGUgdGltZUludGVydmFsU2luY2UxOTcwXSAqIG1zUGVyU2Vjb25kOwogfQogCi1TdHJpbmcg
TG9jYWxlTWFjOjpmb3JtYXREYXRlVGltZShjb25zdCBEYXRlQ29tcG9uZW50cyYgZGF0ZUNvbXBv
bmVudHMsIEZvcm1hdFR5cGUgZm9ybWF0VHlwZSkKLXsKLSAgICBpZiAoZGF0ZUNvbXBvbmVudHMu
dHlwZSgpICE9IERhdGVDb21wb25lbnRzOjpEYXRlKQotICAgICAgICByZXR1cm4gTG9jYWxpemVy
Ojpmb3JtYXREYXRlVGltZShkYXRlQ29tcG9uZW50cywgZm9ybWF0VHlwZSk7Ci0gICAgTlNUaW1l
SW50ZXJ2YWwgaW50ZXJ2YWwgPSBkYXRlQ29tcG9uZW50cy5taWxsaXNlY29uZHNTaW5jZUVwb2No
KCkgLyBtc1BlclNlY29uZDsKLSAgICByZXR1cm4gW3Nob3J0RGF0ZUZvcm1hdHRlcigpLmdldCgp
IHN0cmluZ0Zyb21EYXRlOltOU0RhdGUgZGF0ZVdpdGhUaW1lSW50ZXJ2YWxTaW5jZTE5NzA6aW50
ZXJ2YWxdXTsKLX0KLQogI2lmIEVOQUJMRShDQUxFTkRBUl9QSUNLRVIpCiBzdGF0aWMgYm9vbCBp
c1llYXJTeW1ib2woVUNoYXIgbGV0dGVyKSB7IHJldHVybiBsZXR0ZXIgPT0gJ3knIHx8IGxldHRl
ciA9PSAnWScgfHwgbGV0dGVyID09ICd1JzsgfQogc3RhdGljIGJvb2wgaXNNb250aFN5bWJvbChV
Q2hhciBsZXR0ZXIpIHsgcmV0dXJuIGxldHRlciA9PSAnTScgfHwgbGV0dGVyID09ICdMJzsgfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9Mb2NhbGVNYWNUZXN0LmNw
cCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvTG9jYWxlTWFjVGVzdC5jcHAKaW5kZXgg
Mjk1NDA4YzI3ZGJmY2E2ZTFmZTY1M2IyZWE5MjEyNDRiOTE4YTFjMy4uNDQ5Nzc2MTk1Mjg5YmNk
MTc4MzYyZTA5OTllZjFkMzRjMzRlMTYwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS90ZXN0cy9Mb2NhbGVNYWNUZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3Rlc3RzL0xvY2FsZU1hY1Rlc3QuY3BwCkBAIC0xNDgsOCArMTQ4LDggQEAgcHJvdGVjdGVkOgog
CiBURVNUX0YoTG9jYWxlTWFjVGVzdCwgZm9ybWF0RGF0ZSkKIHsKLSAgICBFWFBFQ1RfU1RSRVEo
IjQvMjcvMDUiLCBmb3JtYXREYXRlKCJlbl9VUyIsIDIwMDUsIEFwcmlsLCAyNykudXRmOCgpLmRh
dGEoKSk7Ci0gICAgRVhQRUNUX1NUUkVRKCIyNy8wNC8wNSIsIGZvcm1hdERhdGUoImZyX0ZSIiwg
MjAwNSwgQXByaWwsIDI3KS51dGY4KCkuZGF0YSgpKTsKKyAgICBFWFBFQ1RfU1RSRVEoIjA0LzI3
LzIwMDUiLCBmb3JtYXREYXRlKCJlbl9VUyIsIDIwMDUsIEFwcmlsLCAyNykudXRmOCgpLmRhdGEo
KSk7CisgICAgRVhQRUNUX1NUUkVRKCIyNy8wNC8yMDA1IiwgZm9ybWF0RGF0ZSgiZnJfRlIiLCAy
MDA1LCBBcHJpbCwgMjcpLnV0ZjgoKS5kYXRhKCkpOwogICAgIC8vIERvIG5vdCB0ZXN0IGphX0pQ
IGxvY2FsZS4gT1MgWCAxMC44IGFuZCAxMC43IGhhdmUgZGlmZmVyZW50IGZvcm1hdHMuCiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvTG9jYWxlV2luVGVzdC5j
cHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0xvY2FsZVdpblRlc3QuY3BwCmluZGV4
IDI1Y2Y3MDRiNmMzNTZhZjNjOGQ4Y2Q3NTNmMjM4MzZlNTA4YzhmY2QuLjc1YWY0MTlkZGYyMmY5
YzQxMDBkZWEwMDBjYWEwOWJmMWI5Yzk0NzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vdGVzdHMvTG9jYWxlV2luVGVzdC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS90ZXN0cy9Mb2NhbGVXaW5UZXN0LmNwcApAQCAtMTY5LDY4ICsxNjksNiBAQCBURVNUX0YoTG9j
YWxlV2luVGVzdCwgVGVzdExvY2FsaXplZERhdGVGb3JtYXRUZXh0KQogICAgIEVYUEVDVF9TVFJF
USgiWVkvbW0vREQiLCBMb2NhbGVXaW46OmRhdGVGb3JtYXRUZXh0KCJZWS9tbS9ERCIsICJ5ZWFy
IiwgIm1vbnRoIiwgImRheSIpLnV0ZjgoKS5kYXRhKCkpOwogfQogCi1URVNUX0YoTG9jYWxlV2lu
VGVzdCwgVGVzdEZvcm1hdCkKLXsKLSAgICBPd25QdHI8TG9jYWxlV2luPiBsb2NhbGUgPSBMb2Nh
bGVXaW46OmNyZWF0ZShFbmdsaXNoVVMpOwotCi0gICAgRVhQRUNUX1NUUkVRKCI0LzcvMiIsIGxv
Y2FsZS0+Zm9ybWF0RGF0ZSgiTS9kL3kiLCAyMDEyLCAyMDEyLCBBcHJpbCwgNykudXRmOCgpLmRh
dGEoKSk7Ci0gICAgRVhQRUNUX1NUUkVRKCI0LzcvMjAwNyIsIGxvY2FsZS0+Zm9ybWF0RGF0ZSgi
TS9kL3kiLCAyMDEyLCAyMDA3LCBBcHJpbCwgNykudXRmOCgpLmRhdGEoKSk7Ci0gICAgRVhQRUNU
X1NUUkVRKCI0LzcvOCIsIGxvY2FsZS0+Zm9ybWF0RGF0ZSgiTS9kL3kiLCAyMDEyLCAyMDA4LCBB
cHJpbCwgNykudXRmOCgpLmRhdGEoKSk7Ci0gICAgRVhQRUNUX1NUUkVRKCI0LzcvNyIsIGxvY2Fs
ZS0+Zm9ybWF0RGF0ZSgiTS9kL3kiLCAyMDEyLCAyMDE3LCBBcHJpbCwgNykudXRmOCgpLmRhdGEo
KSk7Ci0gICAgRVhQRUNUX1NUUkVRKCI0LzcvMjAxOCIsIGxvY2FsZS0+Zm9ybWF0RGF0ZSgiTS9k
L3kiLCAyMDEyLCAyMDE4LCBBcHJpbCwgNykudXRmOCgpLmRhdGEoKSk7Ci0gICAgRVhQRUNUX1NU
UkVRKCIxMi8zMS8yMDYyIiwgbG9jYWxlLT5mb3JtYXREYXRlKCJNL2QveSIsIDIwMTIsIDIwNjIs
IERlY2VtYmVyLCAzMSkudXRmOCgpLmRhdGEoKSk7Ci0gICAgRVhQRUNUX1NUUkVRKCI0LzcvMDAw
MiIsIGxvY2FsZS0+Zm9ybWF0RGF0ZSgiTS9kL3kiLCAyMDEyLCAyLCBBcHJpbCwgNykudXRmOCgp
LmRhdGEoKSk7Ci0KLSAgICBFWFBFQ1RfU1RSRVEoIjA0LzI3LzEyIiwgbG9jYWxlLT5mb3JtYXRE
YXRlKCJNTS9kZC95eSIsIDIwMTIsIDIwMTIsIEFwcmlsLCAyNykudXRmOCgpLmRhdGEoKSk7Ci0g
ICAgRVhQRUNUX1NUUkVRKCIwNC8wNy8xOTYyIiwgbG9jYWxlLT5mb3JtYXREYXRlKCJNTS9kZC95
eSIsIDIwMTIsIDE5NjIsIEFwcmlsLCA3KS51dGY4KCkuZGF0YSgpKTsKLSAgICBFWFBFQ1RfU1RS
RVEoIjA0LzA3LzYzIiwgbG9jYWxlLT5mb3JtYXREYXRlKCJNTS9kZC95eSIsIDIwMTIsIDE5NjMs
IEFwcmlsLCA3KS51dGY4KCkuZGF0YSgpKTsKLSAgICBFWFBFQ1RfU1RSRVEoIjAxLzMxLzAwIiwg
bG9jYWxlLT5mb3JtYXREYXRlKCJNTS9kZC95eSIsIDIwMTIsIDIwMDAsIEphbnVhcnksIDMxKS51
dGY4KCkuZGF0YSgpKTsKLSAgICBFWFBFQ1RfU1RSRVEoIjA0LzA3LzYyIiwgbG9jYWxlLT5mb3Jt
YXREYXRlKCJNTS9kZC95eSIsIDIwMTIsIDIwNjIsIEFwcmlsLCA3KS51dGY4KCkuZGF0YSgpKTsK
LSAgICBFWFBFQ1RfU1RSRVEoIjA0LzA3LzIwNjMiLCBsb2NhbGUtPmZvcm1hdERhdGUoIk1NL2Rk
L3l5IiwgMjAxMiwgMjA2MywgQXByaWwsIDcpLnV0ZjgoKS5kYXRhKCkpOwotICAgIEVYUEVDVF9T
VFJFUSgiMDQvMDcvMDAwMSIsIGxvY2FsZS0+Zm9ybWF0RGF0ZSgiTU0vZGQveXkiLCAyMDEyLCAx
LCBBcHJpbCwgNykudXRmOCgpLmRhdGEoKSk7Ci0KLSAgICBFWFBFQ1RfU1RSRVEoIkphbi83LzIw
MTIiLCBsb2NhbGUtPmZvcm1hdERhdGUoIk1NTS9kL3l5eXkiLCAyMDEyLCAyMDEyLCBKYW51YXJ5
LCA3KS51dGY4KCkuZGF0YSgpKTsKLSAgICBFWFBFQ1RfU1RSRVEoIkZlYi83LzIwMDgiLCBsb2Nh
bGUtPmZvcm1hdERhdGUoIk1NTS9kL3l5eXkiLCAyMDEyLCAyMDA4LCBGZWJydWFyeSwgNykudXRm
OCgpLmRhdGEoKSk7Ci0gICAgRVhQRUNUX1NUUkVRKCJNYXIvNy8yMDE3IiwgbG9jYWxlLT5mb3Jt
YXREYXRlKCJNTU0vZC95eXl5IiwgMjAxMiwgMjAxNywgTWFyY2gsIDcpLnV0ZjgoKS5kYXRhKCkp
OwotICAgIEVYUEVDVF9TVFJFUSgiQXByLzcvMjAxMiIsIGxvY2FsZS0+Zm9ybWF0RGF0ZSgiTU1N
L2QveXl5eSIsIDIwMTIsIDIwMTIsIEFwcmlsLCA3KS51dGY4KCkuZGF0YSgpKTsKLSAgICBFWFBF
Q1RfU1RSRVEoIk1heS83LzAwMDIiLCBsb2NhbGUtPmZvcm1hdERhdGUoIk1NTS9kL3l5eXkiLCAy
MDEyLCAyLCBNYXksIDcpLnV0ZjgoKS5kYXRhKCkpOwotICAgIEVYUEVDVF9TVFJFUSgiSnVuLzcv
MjAwOCIsIGxvY2FsZS0+Zm9ybWF0RGF0ZSgiTU1NL2QveXl5eSIsIDIwMTIsIDIwMDgsIEp1bmUs
IDcpLnV0ZjgoKS5kYXRhKCkpOwotICAgIEVYUEVDVF9TVFJFUSgiSnVsLzcvMjAxNyIsIGxvY2Fs
ZS0+Zm9ybWF0RGF0ZSgiTU1NL2QveXl5eSIsIDIwMTIsIDIwMTcsIEp1bHksIDcpLnV0ZjgoKS5k
YXRhKCkpOwotICAgIEVYUEVDVF9TVFJFUSgiQXVnLzMxLzIwNjIiLCBsb2NhbGUtPmZvcm1hdERh
dGUoIk1NTS9kL3l5eXkiLCAyMDEyLCAyMDYyLCBBdWd1c3QsIDMxKS51dGY4KCkuZGF0YSgpKTsK
LSAgICBFWFBFQ1RfU1RSRVEoIlNlcC83LzAwMDIiLCBsb2NhbGUtPmZvcm1hdERhdGUoIk1NTS9k
L3l5eXkiLCAyMDEyLCAyLCBTZXB0ZW1iZXIsIDcpLnV0ZjgoKS5kYXRhKCkpOwotICAgIEVYUEVD
VF9TVFJFUSgiT2N0LzcvMjAxMiIsIGxvY2FsZS0+Zm9ybWF0RGF0ZSgiTU1NL2QveXl5eSIsIDIw
MTIsIDIwMTIsIE9jdG9iZXIsIDcpLnV0ZjgoKS5kYXRhKCkpOwotICAgIEVYUEVDVF9TVFJFUSgi
Tm92LzcvMjAwOCIsIGxvY2FsZS0+Zm9ybWF0RGF0ZSgiTU1NL2QveXl5eSIsIDIwMTIsIDIwMDgs
IE5vdmVtYmVyLCA3KS51dGY4KCkuZGF0YSgpKTsKLSAgICBFWFBFQ1RfU1RSRVEoIkRlYy8zMS8y
MDYyIiwgbG9jYWxlLT5mb3JtYXREYXRlKCJNTU0vZC95eXl5IiwgMjAxMiwgMjA2MiwgRGVjZW1i
ZXIsIDMxKS51dGY4KCkuZGF0YSgpKTsKLQotICAgIEVYUEVDVF9TVFJFUSgiSmFudWFyeS03LTIw
MTciLCBsb2NhbGUtPmZvcm1hdERhdGUoIk1NTU0tZC15eXl5IiwgMjAxMiwgMjAxNywgSmFudWFy
eSwgNykudXRmOCgpLmRhdGEoKSk7Ci0gICAgRVhQRUNUX1NUUkVRKCJGZWJydWFyeS0zMS0yMDYy
IiwgbG9jYWxlLT5mb3JtYXREYXRlKCJNTU1NLWQteXl5eSIsIDIwMTIsIDIwNjIsIEZlYnJ1YXJ5
LCAzMSkudXRmOCgpLmRhdGEoKSk7Ci0gICAgRVhQRUNUX1NUUkVRKCJNYXJjaC03LTAwMDIiLCBs
b2NhbGUtPmZvcm1hdERhdGUoIk1NTU0tZC15eXl5IiwgMjAxMiwgMiwgTWFyY2gsIDcpLnV0Zjgo
KS5kYXRhKCkpOwotICAgIEVYUEVDVF9TVFJFUSgiQXByaWwtNy0yMjAxMiIsIGxvY2FsZS0+Zm9y
bWF0RGF0ZSgiTU1NTS1kLXl5eXkiLCAyMDEyLCAyMjAxMiwgQXByaWwsIDcpLnV0ZjgoKS5kYXRh
KCkpOwotICAgIEVYUEVDVF9TVFJFUSgiTWF5LTctMTIwMDgiLCBsb2NhbGUtPmZvcm1hdERhdGUo
Ik1NTU0tZC15eXl5IiwgMjAxMiwgMTIwMDgsIE1heSwgNykudXRmOCgpLmRhdGEoKSk7Ci0gICAg
RVhQRUNUX1NUUkVRKCJKdW5lLTctMjIwMTIiLCBsb2NhbGUtPmZvcm1hdERhdGUoIk1NTU0tZC15
eXl5IiwgMjAxMiwgMjIwMTIsIEp1bmUsIDcpLnV0ZjgoKS5kYXRhKCkpOwotICAgIEVYUEVDVF9T
VFJFUSgiSnVseS03LTEyMDA4IiwgbG9jYWxlLT5mb3JtYXREYXRlKCJNTU1NLWQteXl5eSIsIDIw
MTIsIDEyMDA4LCBKdWx5LCA3KS51dGY4KCkuZGF0YSgpKTsKLSAgICBFWFBFQ1RfU1RSRVEoIkF1
Z3VzdC03LTIwMTciLCBsb2NhbGUtPmZvcm1hdERhdGUoIk1NTU0tZC15eXl5IiwgMjAxMiwgMjAx
NywgQXVndXN0LCA3KS51dGY4KCkuZGF0YSgpKTsKLSAgICBFWFBFQ1RfU1RSRVEoIlNlcHRlbWJl
ci0zMS0yMDYyIiwgbG9jYWxlLT5mb3JtYXREYXRlKCJNTU1NLWQteXl5eSIsIDIwMTIsIDIwNjIs
IFNlcHRlbWJlciwgMzEpLnV0ZjgoKS5kYXRhKCkpOwotICAgIEVYUEVDVF9TVFJFUSgiT2N0b2Jl
ci03LTAwMDIiLCBsb2NhbGUtPmZvcm1hdERhdGUoIk1NTU0tZC15eXl5IiwgMjAxMiwgMiwgT2N0
b2JlciwgNykudXRmOCgpLmRhdGEoKSk7Ci0gICAgRVhQRUNUX1NUUkVRKCJOb3ZlbWJlci03LTIy
MDEyIiwgbG9jYWxlLT5mb3JtYXREYXRlKCJNTU1NLWQteXl5eSIsIDIwMTIsIDIyMDEyLCBOb3Zl
bWJlciwgNykudXRmOCgpLmRhdGEoKSk7Ci0gICAgRVhQRUNUX1NUUkVRKCJEZWNlbWJlci03LTEy
MDA4IiwgbG9jYWxlLT5mb3JtYXREYXRlKCJNTU1NLWQteXl5eSIsIDIwMTIsIDEyMDA4LCBEZWNl
bWJlciwgNykudXRmOCgpLmRhdGEoKSk7Ci0KLSAgICBFWFBFQ1RfU1RSRVEoIkphbi0xLTAwMDEi
LCBsb2NhbGUtPmZvcm1hdERhdGUoIk1NTS1kLXl5eXkiLCAyMDEyLCAxLCBKYW51YXJ5LCAxKS51
dGY4KCkuZGF0YSgpKTsKLSAgICBFWFBFQ1RfU1RSRVEoIlNlcC0xMy0yNzU3NjAiLCBsb2NhbGUt
PmZvcm1hdERhdGUoIk1NTS1kLXl5eXkiLCAyMDEyLCAyNzU3NjAsIFNlcHRlbWJlciwgMTMpLnV0
ZjgoKS5kYXRhKCkpOwotCi0gICAgT3duUHRyPExvY2FsZVdpbj4gcGVyc2lhbiA9IExvY2FsZVdp
bjo6Y3JlYXRlKFBlcnNpYW4pOwotICAgIC8vIFUrMDZGMCBVKzA2RjEgLyBVKzA2RjAgVSswNkY4
IC8gVSswNkYwIFUrMDZGMCBVKzA2RjAgVSswNkYyCi0gICAgRVhQRUNUX1NUUkVRKCJceERCXHhC
MFx4REJceEIxL1x4REJceEIwXHhEQlx4QjgvXHhEQlx4QjBceERCXHhCMFx4REJceEIwXHhEQlx4
QjEiLCBwZXJzaWFuLT5mb3JtYXREYXRlKCJkZC9NTS95eXl5IiwgMjAxMiwgMSwgQXVndXN0LCAx
KS51dGY4KCkuZGF0YSgpKTsKLQotICAgIC8vIEZvciB0aGUgZm9sbG93aW5nIHRlc3QsIHdlJ2Qg
bGlrZSB0byBjb25maXJtIHRoZXkgZG9uJ3QgY3Jhc2ggYW5kIHRoZWlyCi0gICAgLy8gcmVzdWx0
cyBhcmUgbm90IGltcG9ydGFudCBiZWNhdXNlIHdlIGNhbiBhc3N1bWUgaW52YWxpZCBhcmd1bWVu
dHMgYXJlCi0gICAgLy8gbmV2ZXIgcGFzc2VkLgotICAgIEVYUEVDVF9TVFJFUSgiMjAxMi0xMy0w
MCIsIGxvY2FsZS0+Zm9ybWF0RGF0ZSgieXl5eS1NTS1kZCIsIC0xLCAyMDEyLCBEZWNlbWJlciAr
IDEsIDApLnV0ZjgoKS5kYXRhKCkpOwotICAgIEVYUEVDVF9TVFJFUSgiLTEtMDAtLTEiLCBsb2Nh
bGUtPmZvcm1hdERhdGUoInktTU0tZGQiLCAtMSwgLTEsIC0xLCAtMSkudXRmOCgpLmRhdGEoKSk7
Ci0gICAgRVhQRUNUX1NUUkVRKCItMS0xMjQtMzMiLCBsb2NhbGUtPmZvcm1hdERhdGUoInktTU0t
ZGQiLCAyMDEyLCAtMSwgMTIzLCAzMykudXRmOCgpLmRhdGEoKSk7Ci0gICAgCi19Ci0KIFRFU1Rf
RihMb2NhbGVXaW5UZXN0LCBUZXN0UGFyc2UpCiB7CiAgICAgT3duUHRyPExvY2FsZVdpbj4gbG9j
YWxlID0gTG9jYWxlV2luOjpjcmVhdGUoRW5nbGlzaFVTKTsKQEAgLTI3Miw3ICsyMTAsNyBAQCBU
RVNUX0YoTG9jYWxlV2luVGVzdCwgVGVzdFBhcnNlKQogCiBURVNUX0YoTG9jYWxlV2luVGVzdCwg
Zm9ybWF0RGF0ZSkKIHsKLSAgICBFWFBFQ1RfU1RSRVEoIjQvMjcvMjAwNSIsIGZvcm1hdERhdGUo
RW5nbGlzaFVTLCAyMDA1LCBBcHJpbCwgMjcpLnV0ZjgoKS5kYXRhKCkpOworICAgIEVYUEVDVF9T
VFJFUSgiMDQvMjcvMjAwNSIsIGZvcm1hdERhdGUoRW5nbGlzaFVTLCAyMDA1LCBBcHJpbCwgMjcp
LnV0ZjgoKS5kYXRhKCkpOwogICAgIEVYUEVDVF9TVFJFUSgiMjcvMDQvMjAwNSIsIGZvcm1hdERh
dGUoRnJlbmNoRlIsIDIwMDUsIEFwcmlsLCAyNykudXRmOCgpLmRhdGEoKSk7CiAgICAgRVhQRUNU
X1NUUkVRKCIyMDA1LzA0LzI3IiwgZm9ybWF0RGF0ZShKYXBhbmVzZUpQLCAyMDA1LCBBcHJpbCwg
MjcpLnV0ZjgoKS5kYXRhKCkpOwogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>169151</attachid>
            <date>2012-10-17 04:03:18 -0700</date>
            <delta_ts>2012-10-17 04:28:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-99570-20121017200205.patch</filename>
            <type>text/plain</type>
            <size>21737</size>
            <attacher name="Keishi Hattori">keishi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMxNTQxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTM3NDM3ZmYzMWFhNzU0
NzhmYTZkMTJhYjA1MTZjMjQ2MjY5N2U1YS4uOTBiMzgzNWNjMzJhNjk0MDgwOGY0Mzg3MWM0ZGE4
OTBjYTMyNTJhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDEyLTEwLTE3ICBLZWlz
aGkgSGF0dG9yaSAgPGtlaXNoaUB3ZWJraXQub3JnPgorCisgICAgICAgIExvY2FsaXplZCBkYXRl
IHNob3VsZCBiZSBiYXNlZCBvbiBMRE1MCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD05OTU3MAorCisgICAgICAgIFJldmlld2VkIGJ5IEtlbnQgVGFtdXJh
LgorCisgICAgICAgIExvY2FsaXplZCBkYXRlIHNob3VsZCBiZSBiYXNlZCBvbiBMRE1MIHRvIG1h
dGNoIHRoZSBmb3JtYXQgaW5zaWRlIERhdGVUaW1lRWRpdEVsZW1lbnQuCisKKyAgICAgICAgTm8g
bmV3IHRlc3RzLiBDb3ZlcmVkIGJ5IExvY2FsZU1hY1Rlc3QuZm9ybWF0RGF0ZSBhbmQgTG9jYWxl
V2luVGVzdC5mb3JtYXREYXRlLgorCisgICAgICAgICogcGxhdGZvcm0vdGV4dC9Mb2NhbGVJQ1Uu
Y3BwOiBSZW1vdmVkIGZvcm1hdERhdGVUaW1lLgorICAgICAgICAqIHBsYXRmb3JtL3RleHQvTG9j
YWxlSUNVLmg6CisgICAgICAgIChMb2NhbGVJQ1UpOgorICAgICAgICAqIHBsYXRmb3JtL3RleHQv
TG9jYWxlTm9uZS5jcHA6IFJlbW92ZWQgZm9ybWF0RGF0ZVRpbWUuCisgICAgICAgIChMb2NhbGVO
b25lKToKKyAgICAgICAgKiBwbGF0Zm9ybS90ZXh0L0xvY2FsZVdpbi5jcHA6IFJlbW92ZWQgZm9y
bWF0RGF0ZVRpbWUgYW5kIGZvcm1hdERhdGUuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAg
KiBwbGF0Zm9ybS90ZXh0L0xvY2FsZVdpbi5oOgorICAgICAgICAoTG9jYWxlV2luKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS90ZXh0L0xvY2FsaXplci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEYXRl
VGltZVN0cmluZ0J1aWxkZXI6OnZpc2l0RmllbGQpOiBBZGRlZCBzdXBwb3J0IGZvciB5ZWFyL21v
bnRoL2RheS4KKyAgICAgICAgKFdlYkNvcmU6OkxvY2FsaXplcjo6Zm9ybWF0RGF0ZVRpbWUpOiBD
cmVhdGVzIHRoZSBmb3JtYXR0ZWQgc3RyaW5nIGJhc2VkIG9uIHRoZSBmb3JtYXQgZnJvbSBkYXRl
Rm9ybWF0KCkuCisgICAgICAgICogcGxhdGZvcm0vdGV4dC9Mb2NhbGl6ZXIuaDoKKyAgICAgICAg
KiBwbGF0Zm9ybS90ZXh0L21hYy9Mb2NhbGVNYWMuaDoKKyAgICAgICAgKExvY2FsZU1hYyk6Cisg
ICAgICAgICogcGxhdGZvcm0vdGV4dC9tYWMvTG9jYWxlTWFjLm1tOiBSZW1vdmVkIGZvcm1hdERh
dGVUaW1lLgorCiAyMDEyLTEwLTE2ICBKdWxpZW4gQ2hhZmZyYWl4ICA8amNoYWZmcmFpeEB3ZWJr
aXQub3JnPgogCiAgICAgICAgIE1ha2UgUmVuZGVyT2JqZWN0IGRlc3RydWN0aW9uIGR1cmluZyBk
ZXRhY2ggYSB0b3AtZG93biBvcGVyYXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXgg
OWQyZmYzNDkzMzFiYWUzNzVhOGZkM2UyNjAwOWIyNDZjMzJkOTgwZS4uYjMyMjEwZGZmNjhiMWZj
YjY5YzE3ZjIyMTMxZjk2MWU5OWRlMGQwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNSBAQAorMjAxMi0xMC0xNyAgS2Vpc2hpIEhhdHRvcmkgIDxrZWlzaGlAd2Via2l0
Lm9yZz4KKworICAgICAgICBMb2NhbGl6ZWQgZGF0ZSBzaG91bGQgYmUgYmFzZWQgb24gTERNTAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTk1NzAKKwor
ICAgICAgICBSZXZpZXdlZCBieSBLZW50IFRhbXVyYS4KKworICAgICAgICAqIHRlc3RzL0xvY2Fs
ZU1hY1Rlc3QuY3BwOgorICAgICAgICAoVEVTVF9GKTogVXBkYXRlZCBleHBlY3RhdGlvbnMuCisg
ICAgICAgICogdGVzdHMvTG9jYWxlV2luVGVzdC5jcHA6CisgICAgICAgIChURVNUX0YpOiBVcGRh
dGVkIGV4cGVjdGF0aW9ucy4KKwogMjAxMi0xMC0xNiAgQWxlYyBGbGV0dCAgPGFsZWNmbGV0dEBj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgSW5kZXhlZERCOiBTdHViIG91dCBjaHJvbWl1bSBzdWNj
ZXNzIGhhbmRsZXJzIGZvciBpbnRlZ2VycyBhbmQgdW5kZWZpbmVkIHZhbHVlcwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGVJQ1UuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGVJQ1UuY3BwCmluZGV4IDI4NmYyZjE5YjZlOWVlOTU5
YzA0MDNiYmExMDgyYTEzZmRjMTgwMGIuLmNlNWYwYWZjNDY5NzE4ZGQwY2YzNGYzMzg2NTA2Y2Ux
YjZhNDcxNjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvTG9jYWxl
SUNVLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2FsZUlDVS5jcHAK
QEAgLTE3MiwyNSArMTcyLDYgQEAgZG91YmxlIExvY2FsZUlDVTo6cGFyc2VEYXRlVGltZShjb25z
dCBTdHJpbmcmIGlucHV0LCBEYXRlQ29tcG9uZW50czo6VHlwZSB0eXBlKQogICAgIHJldHVybiBk
YXRlOwogfQogCi1TdHJpbmcgTG9jYWxlSUNVOjpmb3JtYXREYXRlVGltZShjb25zdCBEYXRlQ29t
cG9uZW50cyYgZGF0ZUNvbXBvbmVudHMsIEZvcm1hdFR5cGUgZm9ybWF0VHlwZSkKLXsKLSAgICBp
ZiAoZGF0ZUNvbXBvbmVudHMudHlwZSgpICE9IERhdGVDb21wb25lbnRzOjpEYXRlKQotICAgICAg
ICByZXR1cm4gTG9jYWxpemVyOjpmb3JtYXREYXRlVGltZShkYXRlQ29tcG9uZW50cywgZm9ybWF0
VHlwZSk7Ci0gICAgaWYgKCFpbml0aWFsaXplU2hvcnREYXRlRm9ybWF0KCkpCi0gICAgICAgIHJl
dHVybiBTdHJpbmcoKTsKLSAgICBkb3VibGUgaW5wdXQgPSBkYXRlQ29tcG9uZW50cy5taWxsaXNl
Y29uZHNTaW5jZUVwb2NoKCk7Ci0gICAgVUVycm9yQ29kZSBzdGF0dXMgPSBVX1pFUk9fRVJST1I7
Ci0gICAgaW50MzJfdCBsZW5ndGggPSB1ZGF0X2Zvcm1hdChtX3Nob3J0RGF0ZUZvcm1hdCwgaW5w
dXQsIDAsIDAsIDAsICZzdGF0dXMpOwotICAgIGlmIChzdGF0dXMgIT0gVV9CVUZGRVJfT1ZFUkZM
T1dfRVJST1IpCi0gICAgICAgIHJldHVybiBTdHJpbmcoKTsKLSAgICBWZWN0b3I8VUNoYXI+IGJ1
ZmZlcihsZW5ndGgpOwotICAgIHN0YXR1cyA9IFVfWkVST19FUlJPUjsKLSAgICB1ZGF0X2Zvcm1h
dChtX3Nob3J0RGF0ZUZvcm1hdCwgaW5wdXQsIGJ1ZmZlci5kYXRhKCksIGxlbmd0aCwgMCwgJnN0
YXR1cyk7Ci0gICAgaWYgKFVfRkFJTFVSRShzdGF0dXMpKQotICAgICAgICByZXR1cm4gU3RyaW5n
KCk7Ci0gICAgcmV0dXJuIFN0cmluZzo6YWRvcHQoYnVmZmVyKTsKLX0KLQogI2lmIEVOQUJMRShD
QUxFTkRBUl9QSUNLRVIpIHx8IEVOQUJMRShJTlBVVF9NVUxUSVBMRV9GSUVMRFNfVUkpCiBzdGF0
aWMgU3RyaW5nIGdldERhdGVGb3JtYXRQYXR0ZXJuKGNvbnN0IFVEYXRlRm9ybWF0KiBkYXRlRm9y
bWF0KQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGVJ
Q1UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvTG9jYWxlSUNVLmgKaW5kZXggYjYw
NzM0ZDQxNGFmMDk2MTczZTgzMDg2MjhjZTQyN2QxZjczMTRmYS4uYTRiODEyMmNiNzkzYjZhMjk2
ZDAwNGQ0NzM0YmFkOTkyZjU5YTVkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vdGV4dC9Mb2NhbGVJQ1UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xv
Y2FsZUlDVS5oCkBAIC01MSw3ICs1MSw2IEBAIHB1YmxpYzoKIAogICAgIC8vIEZvciBMb2NhbGl6
ZWREYXRlCiAgICAgdmlydHVhbCBkb3VibGUgcGFyc2VEYXRlVGltZShjb25zdCBTdHJpbmcmLCBE
YXRlQ29tcG9uZW50czo6VHlwZSkgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCBTdHJpbmcgZm9ybWF0
RGF0ZVRpbWUoY29uc3QgRGF0ZUNvbXBvbmVudHMmLCBGb3JtYXRUeXBlID0gRm9ybWF0VHlwZVVu
c3BlY2lmaWVkKSBPVkVSUklERTsKICNpZiBFTkFCTEUoQ0FMRU5EQVJfUElDS0VSKQogICAgIHZp
cnR1YWwgU3RyaW5nIGRhdGVGb3JtYXRUZXh0KCkgT1ZFUlJJREU7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvTG9jYWxlTm9uZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS90ZXh0L0xvY2FsZU5vbmUuY3BwCmluZGV4IGM4M2QxYjM2ZmVmZjliNzM0NmFk
NTczNWU2MGY3MGI4YjEzMDc2NjcuLjBkZGFmMzAzNmNhOWFkNGNhNWJkZjkyMDhiYjYzZGZmNWRh
ODIyYjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvTG9jYWxlTm9u
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGVOb25lLmNwcApA
QCAtMzYsNyArMzYsNiBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBpbml0
aWFsaXplTG9jYWxpemVyRGF0YSgpIE9WRVJSSURFIEZJTkFMOwogICAgIHZpcnR1YWwgZG91Ymxl
IHBhcnNlRGF0ZVRpbWUoY29uc3QgU3RyaW5nJiwgRGF0ZUNvbXBvbmVudHM6OlR5cGUpIE9WRVJS
SURFOwotICAgIHZpcnR1YWwgU3RyaW5nIGZvcm1hdERhdGVUaW1lKGNvbnN0IERhdGVDb21wb25l
bnRzJiwgRm9ybWF0VHlwZSA9IEZvcm1hdFR5cGVVbnNwZWNpZmllZCkgT1ZFUlJJREU7CiAjaWYg
RU5BQkxFKENBTEVOREFSX1BJQ0tFUikKICAgICB2aXJ0dWFsIFN0cmluZyBkYXRlRm9ybWF0VGV4
dCgpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgYm9vbCBpc1JUTCgpIE9WRVJSSURFOwpAQCAtNjQs
MTEgKzYzLDYgQEAgZG91YmxlIExvY2FsZU5vbmU6OnBhcnNlRGF0ZVRpbWUoY29uc3QgU3RyaW5n
JiwgRGF0ZUNvbXBvbmVudHM6OlR5cGUpCiAgICAgcmV0dXJuIHN0ZDo6bnVtZXJpY19saW1pdHM8
ZG91YmxlPjo6cXVpZXRfTmFOKCk7CiB9CiAKLVN0cmluZyBMb2NhbGVOb25lOjpmb3JtYXREYXRl
VGltZShjb25zdCBEYXRlQ29tcG9uZW50cyYsIEZvcm1hdFR5cGUpCi17Ci0gICAgcmV0dXJuIFN0
cmluZygpOwotfQotCiAjaWYgRU5BQkxFKENBTEVOREFSX1BJQ0tFUikKIFN0cmluZyBMb2NhbGVO
b25lOjpkYXRlRm9ybWF0VGV4dCgpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS90ZXh0L0xvY2FsZVdpbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xv
Y2FsZVdpbi5jcHAKaW5kZXggNDQ0ZTE1NmE0ODlmZjk4OTllZDJiMjk3YzlhZGFiNzlmMWRmYTM3
MC4uMDk3YjA5MzAyMzc3NGVlNjgxOTM1MzM4ODYwMjcyZmUyNjZkNjY0MSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGVXaW4uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL3RleHQvTG9jYWxlV2luLmNwcApAQCAtNDQzLDExMyArNDQzLDYgQEAg
ZG91YmxlIExvY2FsZVdpbjo6cGFyc2VEYXRlKGNvbnN0IFZlY3RvcjxEYXRlRm9ybWF0VG9rZW4+
JiB0b2tlbnMsIGludCBiYXNlWWVhciwKIAogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0gRm9ybWF0dGluZwogCi1pbmxpbmUgdm9pZCBMb2NhbGVXaW46OmFwcGVuZE51bWJlcihp
bnQgdmFsdWUsIFN0cmluZ0J1aWxkZXImIGJ1ZmZlcikKLXsKLSAgICBidWZmZXIuYXBwZW5kKGNv
bnZlcnRUb0xvY2FsaXplZE51bWJlcihTdHJpbmc6Om51bWJlcih2YWx1ZSkpKTsKLX0KLQotdm9p
ZCBMb2NhbGVXaW46OmFwcGVuZFR3b0RpZ2l0c051bWJlcihpbnQgdmFsdWUsIFN0cmluZ0J1aWxk
ZXImIGJ1ZmZlcikKLXsKLSAgICBTdHJpbmcgbnVtYmVyU3RyaW5nID0gU3RyaW5nOjpudW1iZXIo
dmFsdWUpOwotICAgIGlmICh2YWx1ZSA8IDAgfHwgdmFsdWUgPj0gMTApIHsKLSAgICAgICAgYnVm
ZmVyLmFwcGVuZChjb252ZXJ0VG9Mb2NhbGl6ZWROdW1iZXIobnVtYmVyU3RyaW5nKSk7Ci0gICAg
ICAgIHJldHVybjsKLSAgICB9Ci0gICAgU3RyaW5nQnVpbGRlciBudW1iZXJCdWZmZXI7Ci0gICAg
bnVtYmVyQnVmZmVyLnJlc2VydmVDYXBhY2l0eSgxICsgbnVtYmVyU3RyaW5nLmxlbmd0aCgpKTsK
LSAgICBudW1iZXJCdWZmZXIuYXBwZW5kKCIwIik7Ci0gICAgbnVtYmVyQnVmZmVyLmFwcGVuZChu
dW1iZXJTdHJpbmcpOwotICAgIGJ1ZmZlci5hcHBlbmQoY29udmVydFRvTG9jYWxpemVkTnVtYmVy
KG51bWJlckJ1ZmZlci50b1N0cmluZygpKSk7Ci19Ci0KLXZvaWQgTG9jYWxlV2luOjphcHBlbmRG
b3VyRGlnaXRzTnVtYmVyKGludCB2YWx1ZSwgU3RyaW5nQnVpbGRlciYgYnVmZmVyKQotewotICAg
IFN0cmluZyBudW1iZXJTdHJpbmcgPSBTdHJpbmc6Om51bWJlcih2YWx1ZSk7Ci0gICAgaWYgKHZh
bHVlIDwgMCkgewotICAgICAgICBidWZmZXIuYXBwZW5kKGNvbnZlcnRUb0xvY2FsaXplZE51bWJl
cihudW1iZXJTdHJpbmcpKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLSAgICBTdHJpbmdCdWls
ZGVyIG51bWJlckJ1ZmZlcjsKLSAgICBudW1iZXJCdWZmZXIucmVzZXJ2ZUNhcGFjaXR5KDMgKyBu
dW1iZXJTdHJpbmcubGVuZ3RoKCkpOwotICAgIGlmICh2YWx1ZSA8IDEwKQotICAgICAgICBudW1i
ZXJCdWZmZXIuYXBwZW5kKCIwMDAiKTsKLSAgICBlbHNlIGlmICh2YWx1ZSA8IDEwMCkKLSAgICAg
ICAgbnVtYmVyQnVmZmVyLmFwcGVuZCgiMDAiKTsKLSAgICBlbHNlIGlmICh2YWx1ZSA8IDEwMDAp
Ci0gICAgICAgIG51bWJlckJ1ZmZlci5hcHBlbmQoIjAiKTsKLSAgICBudW1iZXJCdWZmZXIuYXBw
ZW5kKG51bWJlclN0cmluZyk7Ci0gICAgYnVmZmVyLmFwcGVuZChjb252ZXJ0VG9Mb2NhbGl6ZWRO
dW1iZXIobnVtYmVyQnVmZmVyLnRvU3RyaW5nKCkpKTsKLX0KLQotU3RyaW5nIExvY2FsZVdpbjo6
Zm9ybWF0RGF0ZVRpbWUoY29uc3QgRGF0ZUNvbXBvbmVudHMmIGRhdGVDb21wb25lbnRzLCBGb3Jt
YXRUeXBlIGZvcm1hdFR5cGUpCi17Ci0gICAgaWYgKGRhdGVDb21wb25lbnRzLnR5cGUoKSAhPSBE
YXRlQ29tcG9uZW50czo6RGF0ZSkKLSAgICAgICAgcmV0dXJuIExvY2FsaXplcjo6Zm9ybWF0RGF0
ZVRpbWUoZGF0ZUNvbXBvbmVudHMsIGZvcm1hdFR5cGUpOwotICAgIGVuc3VyZVNob3J0RGF0ZVRv
a2VucygpOwotICAgIHJldHVybiBmb3JtYXREYXRlKG1fc2hvcnREYXRlVG9rZW5zLCBtX2Jhc2VZ
ZWFyLCBkYXRlQ29tcG9uZW50cy5mdWxsWWVhcigpLCBkYXRlQ29tcG9uZW50cy5tb250aCgpLCBk
YXRlQ29tcG9uZW50cy5tb250aERheSgpKTsKLX0KLQotU3RyaW5nIExvY2FsZVdpbjo6Zm9ybWF0
RGF0ZShjb25zdCBTdHJpbmcmIGZvcm1hdCwgaW50IGJhc2VZZWFyLCBpbnQgeWVhciwgaW50IG1v
bnRoLCBpbnQgZGF5KQotewotICAgIHJldHVybiBmb3JtYXREYXRlKHBhcnNlRGF0ZUZvcm1hdChm
b3JtYXQpLCBiYXNlWWVhciwgeWVhciwgbW9udGgsIGRheSk7Ci19Ci0KLVN0cmluZyBMb2NhbGVX
aW46OmZvcm1hdERhdGUoY29uc3QgVmVjdG9yPERhdGVGb3JtYXRUb2tlbj4mIHRva2VucywgaW50
IGJhc2VZZWFyLCBpbnQgeWVhciwgaW50IG1vbnRoLCBpbnQgZGF5KQotewotICAgIGVuc3VyZVNo
b3J0TW9udGhMYWJlbHMoKTsKLSAgICBlbnN1cmVNb250aExhYmVscygpOwotICAgIFN0cmluZ0J1
aWxkZXIgYnVmZmVyOwotICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCB0b2tlbnMuc2l6ZSgp
OyArK2kpIHsKLSAgICAgICAgc3dpdGNoICh0b2tlbnNbaV0udHlwZSkgewotICAgICAgICBjYXNl
IERhdGVGb3JtYXRUb2tlbjo6TGl0ZXJhbDoKLSAgICAgICAgICAgIGJ1ZmZlci5hcHBlbmQodG9r
ZW5zW2ldLmRhdGEpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgRGF0ZUZvcm1h
dFRva2VuOjpEYXkxOgotICAgICAgICAgICAgYXBwZW5kTnVtYmVyKGRheSwgYnVmZmVyKTsKLSAg
ICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIERhdGVGb3JtYXRUb2tlbjo6RGF5MjoKLSAg
ICAgICAgICAgIGFwcGVuZFR3b0RpZ2l0c051bWJlcihkYXksIGJ1ZmZlcik7Ci0gICAgICAgICAg
ICBicmVhazsKLSAgICAgICAgY2FzZSBEYXRlRm9ybWF0VG9rZW46Ok1vbnRoMToKLSAgICAgICAg
ICAgIGFwcGVuZE51bWJlcihtb250aCArIDEsIGJ1ZmZlcik7Ci0gICAgICAgICAgICBicmVhazsK
LSAgICAgICAgY2FzZSBEYXRlRm9ybWF0VG9rZW46Ok1vbnRoMjoKLSAgICAgICAgICAgIGFwcGVu
ZFR3b0RpZ2l0c051bWJlcihtb250aCArIDEsIGJ1ZmZlcik7Ci0gICAgICAgICAgICBicmVhazsK
LSAgICAgICAgY2FzZSBEYXRlRm9ybWF0VG9rZW46Ok1vbnRoMzoKLSAgICAgICAgICAgIGlmICgw
IDw9IG1vbnRoICYmIG1vbnRoIDwgc3RhdGljX2Nhc3Q8aW50PihtX3Nob3J0TW9udGhMYWJlbHMu
c2l6ZSgpKSkKLSAgICAgICAgICAgICAgICBidWZmZXIuYXBwZW5kKG1fc2hvcnRNb250aExhYmVs
c1ttb250aF0pOwotICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIGFwcGVuZE51bWJl
cihtb250aCArIDEsIGJ1ZmZlcik7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBE
YXRlRm9ybWF0VG9rZW46Ok1vbnRoNDoKLSAgICAgICAgICAgIGlmICgwIDw9IG1vbnRoICYmIG1v
bnRoIDwgc3RhdGljX2Nhc3Q8aW50PihtX21vbnRoTGFiZWxzLnNpemUoKSkpCi0gICAgICAgICAg
ICAgICAgYnVmZmVyLmFwcGVuZChtX21vbnRoTGFiZWxzW21vbnRoXSk7Ci0gICAgICAgICAgICBl
bHNlCi0gICAgICAgICAgICAgICAgYXBwZW5kTnVtYmVyKG1vbnRoICsgMSwgYnVmZmVyKTsKLSAg
ICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIERhdGVGb3JtYXRUb2tlbjo6WWVhcjE6IHsK
LSAgICAgICAgICAgIGlmIChiYXNlWWVhciAtIDQgPD0geWVhciAmJiB5ZWFyIDw9IGJhc2VZZWFy
ICsgNSkKLSAgICAgICAgICAgICAgICBhcHBlbmROdW1iZXIoeWVhciAlIDEwLCBidWZmZXIpOwot
ICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIGFwcGVuZEZvdXJEaWdpdHNOdW1iZXIo
eWVhciwgYnVmZmVyKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICAgIGNh
c2UgRGF0ZUZvcm1hdFRva2VuOjpZZWFyMjogewotICAgICAgICAgICAgaWYgKGJhc2VZZWFyIC0g
NDkgPD0geWVhciAmJiB5ZWFyIDw9IGJhc2VZZWFyICsgNTApCi0gICAgICAgICAgICAgICAgYXBw
ZW5kVHdvRGlnaXRzTnVtYmVyKHllYXIgJSAxMDAsIGJ1ZmZlcik7Ci0gICAgICAgICAgICBlbHNl
Ci0gICAgICAgICAgICAgICAgYXBwZW5kRm91ckRpZ2l0c051bWJlcih5ZWFyLCBidWZmZXIpOwot
ICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAgY2FzZSBEYXRlRm9ybWF0VG9r
ZW46OlllYXI0OgotICAgICAgICAgICAgYXBwZW5kRm91ckRpZ2l0c051bWJlcih5ZWFyLCBidWZm
ZXIpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgcmV0dXJuIGJ1
ZmZlci50b1N0cmluZygpOwotfQotCiB2b2lkIExvY2FsZVdpbjo6ZW5zdXJlU2hvcnREYXRlVG9r
ZW5zKCkKIHsKICAgICBpZiAoIW1fc2hvcnREYXRlVG9rZW5zLmlzRW1wdHkoKSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvTG9jYWxlV2luLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS90ZXh0L0xvY2FsZVdpbi5oCmluZGV4IGVkMDQyNjJhYjk1YzMyYWVjMTA4
YTEzNTViZmY3ODhhMTUxN2ExNGEuLjIxYWQ3YmY1ZmRjYTcxZDI3ZTYxY2QwYWMxZDMyNWNjODYw
NTc2MTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvTG9jYWxlV2lu
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGVXaW4uaApAQCAtNDcs
NyArNDcsNiBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NPd25QdHI8TG9jYWxlV2luPiBjcmVh
dGUoTENJRCk7CiAgICAgfkxvY2FsZVdpbigpOwogICAgIHZpcnR1YWwgZG91YmxlIHBhcnNlRGF0
ZVRpbWUoY29uc3QgU3RyaW5nJiwgRGF0ZUNvbXBvbmVudHM6OlR5cGUpIE9WRVJSSURFOwotICAg
IHZpcnR1YWwgU3RyaW5nIGZvcm1hdERhdGVUaW1lKGNvbnN0IERhdGVDb21wb25lbnRzJiwgRm9y
bWF0VHlwZSA9IEZvcm1hdFR5cGVVbnNwZWNpZmllZCkgT1ZFUlJJREU7CiAjaWYgRU5BQkxFKENB
TEVOREFSX1BJQ0tFUikKICAgICB2aXJ0dWFsIFN0cmluZyBkYXRlRm9ybWF0VGV4dCgpIE9WRVJS
SURFOwogICAgIHZpcnR1YWwgY29uc3QgVmVjdG9yPFN0cmluZz4mIG1vbnRoTGFiZWxzKCkgT1ZF
UlJJREU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2FsaXpl
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2FsaXplci5jcHAKaW5kZXgg
MDcxYjBhNjQ0MmEzY2MxN2Q0ODBhNWE1NGEwNmE5OGU4MDdkMzZmOS4uOWM3MTJiMzBjOGZjZDMw
MDZlYmM1YTZkZGMwZGI1OWI5OGM4MzlkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vdGV4dC9Mb2NhbGl6ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3Rl
eHQvTG9jYWxpemVyLmNwcApAQCAtOTQsNiArOTQsMTggQEAgdm9pZCBEYXRlVGltZVN0cmluZ0J1
aWxkZXI6OmFwcGVuZE51bWJlcihpbnQgbnVtYmVyLCBzaXplX3Qgd2lkdGgpCiB2b2lkIERhdGVU
aW1lU3RyaW5nQnVpbGRlcjo6dmlzaXRGaWVsZChEYXRlVGltZUZvcm1hdDo6RmllbGRUeXBlIGZp
ZWxkVHlwZSwgaW50IG51bWJlck9mUGF0dGVybkNoYXJhY3RlcnMpCiB7CiAgICAgc3dpdGNoIChm
aWVsZFR5cGUpIHsKKyAgICBjYXNlIERhdGVUaW1lRm9ybWF0OjpGaWVsZFR5cGVZZWFyOgorICAg
ICAgICAvLyBBbHdheXMgdXNlIHBhZGRpbmcgd2lkdGggb2YgNCBzbyBpdCBtYXRjaGVzIERhdGVU
aW1lRWRpdEVsZW1lbnQuCisgICAgICAgIGFwcGVuZE51bWJlcihtX2RhdGUuZnVsbFllYXIoKSwg
NCk7CisgICAgICAgIHJldHVybjsKKyAgICBjYXNlIERhdGVUaW1lRm9ybWF0OjpGaWVsZFR5cGVN
b250aDoKKyAgICAgICAgLy8gQWx3YXlzIHVzZSBwYWRkaW5nIHdpZHRoIG9mIDIgc28gaXQgbWF0
Y2hlcyBEYXRlVGltZUVkaXRFbGVtZW50LgorICAgICAgICBhcHBlbmROdW1iZXIobV9kYXRlLm1v
bnRoKCkgKyAxLCAyKTsKKyAgICAgICAgcmV0dXJuOworICAgIGNhc2UgRGF0ZVRpbWVGb3JtYXQ6
OkZpZWxkVHlwZURheU9mTW9udGg6CisgICAgICAgIC8vIEFsd2F5cyB1c2UgcGFkZGluZyB3aWR0
aCBvZiAyIHNvIGl0IG1hdGNoZXMgRGF0ZVRpbWVFZGl0RWxlbWVudC4KKyAgICAgICAgYXBwZW5k
TnVtYmVyKG1fZGF0ZS5tb250aERheSgpLCAyKTsKKyAgICAgICAgcmV0dXJuOwogICAgIGNhc2Ug
RGF0ZVRpbWVGb3JtYXQ6OkZpZWxkVHlwZVBlcmlvZDoKICAgICAgICAgbV9idWlsZGVyLmFwcGVu
ZChtX2xvY2FsaXplci50aW1lQU1QTUxhYmVscygpWyhtX2RhdGUuaG91cigpID49IDEyID8gMSA6
IDApXSk7CiAgICAgICAgIHJldHVybjsKQEAgLTM1OSwxMCArMzcxLDEzIEBAIGNvbnN0IFZlY3Rv
cjxTdHJpbmc+JiBMb2NhbGl6ZXI6OnRpbWVBTVBNTGFiZWxzKCkKIFN0cmluZyBMb2NhbGl6ZXI6
OmZvcm1hdERhdGVUaW1lKGNvbnN0IERhdGVDb21wb25lbnRzJiBkYXRlLCBGb3JtYXRUeXBlIGZv
cm1hdFR5cGUpCiB7CiAjaWYgRU5BQkxFKElOUFVUX01VTFRJUExFX0ZJRUxEU19VSSkKLSAgICBp
ZiAoZGF0ZS50eXBlKCkgIT0gRGF0ZUNvbXBvbmVudHM6OlRpbWUpCisgICAgaWYgKGRhdGUudHlw
ZSgpICE9IERhdGVDb21wb25lbnRzOjpUaW1lICYmIGRhdGUudHlwZSgpICE9IERhdGVDb21wb25l
bnRzOjpEYXRlKQogICAgICAgICByZXR1cm4gU3RyaW5nKCk7CiAgICAgRGF0ZVRpbWVTdHJpbmdC
dWlsZGVyIGJ1aWxkZXIoKnRoaXMsIGRhdGUpOwotICAgIGJ1aWxkZXIuYnVpbGQoZm9ybWF0VHlw
ZSA9PSBGb3JtYXRUeXBlU2hvcnQgPyBzaG9ydFRpbWVGb3JtYXQoKSA6IHRpbWVGb3JtYXQoKSk7
CisgICAgaWYgKGRhdGUudHlwZSgpID09IERhdGVDb21wb25lbnRzOjpUaW1lKQorICAgICAgICBi
dWlsZGVyLmJ1aWxkKGZvcm1hdFR5cGUgPT0gRm9ybWF0VHlwZVNob3J0ID8gc2hvcnRUaW1lRm9y
bWF0KCkgOiB0aW1lRm9ybWF0KCkpOworICAgIGVsc2UgaWYgKGRhdGUudHlwZSgpID09IERhdGVD
b21wb25lbnRzOjpEYXRlKQorICAgICAgICBidWlsZGVyLmJ1aWxkKGRhdGVGb3JtYXQoKSk7CiAg
ICAgcmV0dXJuIGJ1aWxkZXIudG9TdHJpbmcoKTsKICNlbHNlCiAgICAgVU5VU0VEX1BBUkFNKGRh
dGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Mb2NhbGl6ZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvTG9jYWxpemVyLmgKaW5kZXggYmU0ZDg2
NTJkMzc1NDExMWI4NzM2NGM5N2Q4ODA2ZWVhMGM4ODE2ZS4uMmVkMjc3Yzk1NzllM2Q5ZjNhYjc0
ODU4MzMzNGM4YjY3NTBlNTJiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
dGV4dC9Mb2NhbGl6ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L0xvY2Fs
aXplci5oCkBAIC0xMTgsNyArMTE4LDcgQEAgcHVibGljOgogICAgIC8vIFNlcmlhbGl6ZXMgdGhl
IHNwZWNpZmllZCBkYXRlIGludG8gYSBmb3JtYXR0ZWQgZGF0ZSBzdHJpbmcgdG8KICAgICAvLyBk
aXNwbGF5IHRvIHRoZSB1c2VyLiBJZiBhbiBpbXBsZW1lbnRhdGlvbiBkb2Vzbid0IHN1cHBvcnQK
ICAgICAvLyBsb2NhbGl6ZWQgZGF0ZXMgdGhlIGZ1bmN0aW9uIHNob3VsZCByZXR1cm4gYW4gZW1w
dHkgc3RyaW5nLgotICAgIHZpcnR1YWwgU3RyaW5nIGZvcm1hdERhdGVUaW1lKGNvbnN0IERhdGVD
b21wb25lbnRzJiwgRm9ybWF0VHlwZSA9IEZvcm1hdFR5cGVVbnNwZWNpZmllZCk7CisgICAgU3Ry
aW5nIGZvcm1hdERhdGVUaW1lKGNvbnN0IERhdGVDb21wb25lbnRzJiwgRm9ybWF0VHlwZSA9IEZv
cm1hdFR5cGVVbnNwZWNpZmllZCk7CiAKICAgICB2aXJ0dWFsIH5Mb2NhbGl6ZXIoKTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9tYWMvTG9jYWxlTWFjLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L21hYy9Mb2NhbGVNYWMuaAppbmRleCA5ZTYwZDAw
NGFmZWY4NTY4MTQ5ZjgwODg5Y2E3YjFlMGRhMTg5YzU4Li5hYzAyOWVhMDM1ZDY4ZGQ3NGYwMWM4
NDVmMDYxMTE4YjU1OGE4ZWNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90
ZXh0L21hYy9Mb2NhbGVNYWMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L21h
Yy9Mb2NhbGVNYWMuaApAQCAtNTEsNyArNTEsNiBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NP
d25QdHI8TG9jYWxlTWFjPiBjcmVhdGUoTlNMb2NhbGUqKTsKICAgICB+TG9jYWxlTWFjKCk7CiAg
ICAgdmlydHVhbCBkb3VibGUgcGFyc2VEYXRlVGltZShjb25zdCBTdHJpbmcmLCBEYXRlQ29tcG9u
ZW50czo6VHlwZSkgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCBTdHJpbmcgZm9ybWF0RGF0ZVRpbWUo
Y29uc3QgRGF0ZUNvbXBvbmVudHMmLCBGb3JtYXRUeXBlID0gRm9ybWF0VHlwZVVuc3BlY2lmaWVk
KSBPVkVSUklERTsKIAogI2lmIEVOQUJMRShDQUxFTkRBUl9QSUNLRVIpCiAgICAgdmlydHVhbCBT
dHJpbmcgZGF0ZUZvcm1hdFRleHQoKSBPVkVSUklERTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL3RleHQvbWFjL0xvY2FsZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL3RleHQvbWFjL0xvY2FsZU1hYy5tbQppbmRleCA4YmRhOTdmN2I0ZGNhODg3OTNiNTM3ZTFl
MDk2N2Y1NmU4ZTRiZDllLi5hMjAyNTRlMTI5NTAwMjIxODA5Mjg0ZGUxMzM1ZWQ4M2U1YzM5MTUx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L21hYy9Mb2NhbGVNYWMu
bW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9tYWMvTG9jYWxlTWFjLm1tCkBA
IC0xMjMsMTQgKzEyMyw2IEBAIGRvdWJsZSBMb2NhbGVNYWM6OnBhcnNlRGF0ZVRpbWUoY29uc3Qg
U3RyaW5nJiBpbnB1dCwgRGF0ZUNvbXBvbmVudHM6OlR5cGUgdHlwZSkKICAgICByZXR1cm4gW2Rh
dGUgdGltZUludGVydmFsU2luY2UxOTcwXSAqIG1zUGVyU2Vjb25kOwogfQogCi1TdHJpbmcgTG9j
YWxlTWFjOjpmb3JtYXREYXRlVGltZShjb25zdCBEYXRlQ29tcG9uZW50cyYgZGF0ZUNvbXBvbmVu
dHMsIEZvcm1hdFR5cGUgZm9ybWF0VHlwZSkKLXsKLSAgICBpZiAoZGF0ZUNvbXBvbmVudHMudHlw
ZSgpICE9IERhdGVDb21wb25lbnRzOjpEYXRlKQotICAgICAgICByZXR1cm4gTG9jYWxpemVyOjpm
b3JtYXREYXRlVGltZShkYXRlQ29tcG9uZW50cywgZm9ybWF0VHlwZSk7Ci0gICAgTlNUaW1lSW50
ZXJ2YWwgaW50ZXJ2YWwgPSBkYXRlQ29tcG9uZW50cy5taWxsaXNlY29uZHNTaW5jZUVwb2NoKCkg
LyBtc1BlclNlY29uZDsKLSAgICByZXR1cm4gW3Nob3J0RGF0ZUZvcm1hdHRlcigpLmdldCgpIHN0
cmluZ0Zyb21EYXRlOltOU0RhdGUgZGF0ZVdpdGhUaW1lSW50ZXJ2YWxTaW5jZTE5NzA6aW50ZXJ2
YWxdXTsKLX0KLQogI2lmIEVOQUJMRShDQUxFTkRBUl9QSUNLRVIpCiBzdGF0aWMgYm9vbCBpc1ll
YXJTeW1ib2woVUNoYXIgbGV0dGVyKSB7IHJldHVybiBsZXR0ZXIgPT0gJ3knIHx8IGxldHRlciA9
PSAnWScgfHwgbGV0dGVyID09ICd1JzsgfQogc3RhdGljIGJvb2wgaXNNb250aFN5bWJvbChVQ2hh
ciBsZXR0ZXIpIHsgcmV0dXJuIGxldHRlciA9PSAnTScgfHwgbGV0dGVyID09ICdMJzsgfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9Mb2NhbGVNYWNUZXN0LmNwcCBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvTG9jYWxlTWFjVGVzdC5jcHAKaW5kZXggMjk1
NDA4YzI3ZGJmY2E2ZTFmZTY1M2IyZWE5MjEyNDRiOTE4YTFjMy4uNDQ5Nzc2MTk1Mjg5YmNkMTc4
MzYyZTA5OTllZjFkMzRjMzRlMTYwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS90ZXN0cy9Mb2NhbGVNYWNUZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rl
c3RzL0xvY2FsZU1hY1Rlc3QuY3BwCkBAIC0xNDgsOCArMTQ4LDggQEAgcHJvdGVjdGVkOgogCiBU
RVNUX0YoTG9jYWxlTWFjVGVzdCwgZm9ybWF0RGF0ZSkKIHsKLSAgICBFWFBFQ1RfU1RSRVEoIjQv
MjcvMDUiLCBmb3JtYXREYXRlKCJlbl9VUyIsIDIwMDUsIEFwcmlsLCAyNykudXRmOCgpLmRhdGEo
KSk7Ci0gICAgRVhQRUNUX1NUUkVRKCIyNy8wNC8wNSIsIGZvcm1hdERhdGUoImZyX0ZSIiwgMjAw
NSwgQXByaWwsIDI3KS51dGY4KCkuZGF0YSgpKTsKKyAgICBFWFBFQ1RfU1RSRVEoIjA0LzI3LzIw
MDUiLCBmb3JtYXREYXRlKCJlbl9VUyIsIDIwMDUsIEFwcmlsLCAyNykudXRmOCgpLmRhdGEoKSk7
CisgICAgRVhQRUNUX1NUUkVRKCIyNy8wNC8yMDA1IiwgZm9ybWF0RGF0ZSgiZnJfRlIiLCAyMDA1
LCBBcHJpbCwgMjcpLnV0ZjgoKS5kYXRhKCkpOwogICAgIC8vIERvIG5vdCB0ZXN0IGphX0pQIGxv
Y2FsZS4gT1MgWCAxMC44IGFuZCAxMC43IGhhdmUgZGlmZmVyZW50IGZvcm1hdHMuCiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvTG9jYWxlV2luVGVzdC5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0xvY2FsZVdpblRlc3QuY3BwCmluZGV4IDI1
Y2Y3MDRiNmMzNTZhZjNjOGQ4Y2Q3NTNmMjM4MzZlNTA4YzhmY2QuLjc1YWY0MTlkZGYyMmY5YzQx
MDBkZWEwMDBjYWEwOWJmMWI5Yzk0NzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vdGVzdHMvTG9jYWxlV2luVGVzdC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90
ZXN0cy9Mb2NhbGVXaW5UZXN0LmNwcApAQCAtMTY5LDY4ICsxNjksNiBAQCBURVNUX0YoTG9jYWxl
V2luVGVzdCwgVGVzdExvY2FsaXplZERhdGVGb3JtYXRUZXh0KQogICAgIEVYUEVDVF9TVFJFUSgi
WVkvbW0vREQiLCBMb2NhbGVXaW46OmRhdGVGb3JtYXRUZXh0KCJZWS9tbS9ERCIsICJ5ZWFyIiwg
Im1vbnRoIiwgImRheSIpLnV0ZjgoKS5kYXRhKCkpOwogfQogCi1URVNUX0YoTG9jYWxlV2luVGVz
dCwgVGVzdEZvcm1hdCkKLXsKLSAgICBPd25QdHI8TG9jYWxlV2luPiBsb2NhbGUgPSBMb2NhbGVX
aW46OmNyZWF0ZShFbmdsaXNoVVMpOwotCi0gICAgRVhQRUNUX1NUUkVRKCI0LzcvMiIsIGxvY2Fs
ZS0+Zm9ybWF0RGF0ZSgiTS9kL3kiLCAyMDEyLCAyMDEyLCBBcHJpbCwgNykudXRmOCgpLmRhdGEo
KSk7Ci0gICAgRVhQRUNUX1NUUkVRKCI0LzcvMjAwNyIsIGxvY2FsZS0+Zm9ybWF0RGF0ZSgiTS9k
L3kiLCAyMDEyLCAyMDA3LCBBcHJpbCwgNykudXRmOCgpLmRhdGEoKSk7Ci0gICAgRVhQRUNUX1NU
UkVRKCI0LzcvOCIsIGxvY2FsZS0+Zm9ybWF0RGF0ZSgiTS9kL3kiLCAyMDEyLCAyMDA4LCBBcHJp
bCwgNykudXRmOCgpLmRhdGEoKSk7Ci0gICAgRVhQRUNUX1NUUkVRKCI0LzcvNyIsIGxvY2FsZS0+
Zm9ybWF0RGF0ZSgiTS9kL3kiLCAyMDEyLCAyMDE3LCBBcHJpbCwgNykudXRmOCgpLmRhdGEoKSk7
Ci0gICAgRVhQRUNUX1NUUkVRKCI0LzcvMjAxOCIsIGxvY2FsZS0+Zm9ybWF0RGF0ZSgiTS9kL3ki
LCAyMDEyLCAyMDE4LCBBcHJpbCwgNykudXRmOCgpLmRhdGEoKSk7Ci0gICAgRVhQRUNUX1NUUkVR
KCIxMi8zMS8yMDYyIiwgbG9jYWxlLT5mb3JtYXREYXRlKCJNL2QveSIsIDIwMTIsIDIwNjIsIERl
Y2VtYmVyLCAzMSkudXRmOCgpLmRhdGEoKSk7Ci0gICAgRVhQRUNUX1NUUkVRKCI0LzcvMDAwMiIs
IGxvY2FsZS0+Zm9ybWF0RGF0ZSgiTS9kL3kiLCAyMDEyLCAyLCBBcHJpbCwgNykudXRmOCgpLmRh
dGEoKSk7Ci0KLSAgICBFWFBFQ1RfU1RSRVEoIjA0LzI3LzEyIiwgbG9jYWxlLT5mb3JtYXREYXRl
KCJNTS9kZC95eSIsIDIwMTIsIDIwMTIsIEFwcmlsLCAyNykudXRmOCgpLmRhdGEoKSk7Ci0gICAg
RVhQRUNUX1NUUkVRKCIwNC8wNy8xOTYyIiwgbG9jYWxlLT5mb3JtYXREYXRlKCJNTS9kZC95eSIs
IDIwMTIsIDE5NjIsIEFwcmlsLCA3KS51dGY4KCkuZGF0YSgpKTsKLSAgICBFWFBFQ1RfU1RSRVEo
IjA0LzA3LzYzIiwgbG9jYWxlLT5mb3JtYXREYXRlKCJNTS9kZC95eSIsIDIwMTIsIDE5NjMsIEFw
cmlsLCA3KS51dGY4KCkuZGF0YSgpKTsKLSAgICBFWFBFQ1RfU1RSRVEoIjAxLzMxLzAwIiwgbG9j
YWxlLT5mb3JtYXREYXRlKCJNTS9kZC95eSIsIDIwMTIsIDIwMDAsIEphbnVhcnksIDMxKS51dGY4
KCkuZGF0YSgpKTsKLSAgICBFWFBFQ1RfU1RSRVEoIjA0LzA3LzYyIiwgbG9jYWxlLT5mb3JtYXRE
YXRlKCJNTS9kZC95eSIsIDIwMTIsIDIwNjIsIEFwcmlsLCA3KS51dGY4KCkuZGF0YSgpKTsKLSAg
ICBFWFBFQ1RfU1RSRVEoIjA0LzA3LzIwNjMiLCBsb2NhbGUtPmZvcm1hdERhdGUoIk1NL2RkL3l5
IiwgMjAxMiwgMjA2MywgQXByaWwsIDcpLnV0ZjgoKS5kYXRhKCkpOwotICAgIEVYUEVDVF9TVFJF
USgiMDQvMDcvMDAwMSIsIGxvY2FsZS0+Zm9ybWF0RGF0ZSgiTU0vZGQveXkiLCAyMDEyLCAxLCBB
cHJpbCwgNykudXRmOCgpLmRhdGEoKSk7Ci0KLSAgICBFWFBFQ1RfU1RSRVEoIkphbi83LzIwMTIi
LCBsb2NhbGUtPmZvcm1hdERhdGUoIk1NTS9kL3l5eXkiLCAyMDEyLCAyMDEyLCBKYW51YXJ5LCA3
KS51dGY4KCkuZGF0YSgpKTsKLSAgICBFWFBFQ1RfU1RSRVEoIkZlYi83LzIwMDgiLCBsb2NhbGUt
PmZvcm1hdERhdGUoIk1NTS9kL3l5eXkiLCAyMDEyLCAyMDA4LCBGZWJydWFyeSwgNykudXRmOCgp
LmRhdGEoKSk7Ci0gICAgRVhQRUNUX1NUUkVRKCJNYXIvNy8yMDE3IiwgbG9jYWxlLT5mb3JtYXRE
YXRlKCJNTU0vZC95eXl5IiwgMjAxMiwgMjAxNywgTWFyY2gsIDcpLnV0ZjgoKS5kYXRhKCkpOwot
ICAgIEVYUEVDVF9TVFJFUSgiQXByLzcvMjAxMiIsIGxvY2FsZS0+Zm9ybWF0RGF0ZSgiTU1NL2Qv
eXl5eSIsIDIwMTIsIDIwMTIsIEFwcmlsLCA3KS51dGY4KCkuZGF0YSgpKTsKLSAgICBFWFBFQ1Rf
U1RSRVEoIk1heS83LzAwMDIiLCBsb2NhbGUtPmZvcm1hdERhdGUoIk1NTS9kL3l5eXkiLCAyMDEy
LCAyLCBNYXksIDcpLnV0ZjgoKS5kYXRhKCkpOwotICAgIEVYUEVDVF9TVFJFUSgiSnVuLzcvMjAw
OCIsIGxvY2FsZS0+Zm9ybWF0RGF0ZSgiTU1NL2QveXl5eSIsIDIwMTIsIDIwMDgsIEp1bmUsIDcp
LnV0ZjgoKS5kYXRhKCkpOwotICAgIEVYUEVDVF9TVFJFUSgiSnVsLzcvMjAxNyIsIGxvY2FsZS0+
Zm9ybWF0RGF0ZSgiTU1NL2QveXl5eSIsIDIwMTIsIDIwMTcsIEp1bHksIDcpLnV0ZjgoKS5kYXRh
KCkpOwotICAgIEVYUEVDVF9TVFJFUSgiQXVnLzMxLzIwNjIiLCBsb2NhbGUtPmZvcm1hdERhdGUo
Ik1NTS9kL3l5eXkiLCAyMDEyLCAyMDYyLCBBdWd1c3QsIDMxKS51dGY4KCkuZGF0YSgpKTsKLSAg
ICBFWFBFQ1RfU1RSRVEoIlNlcC83LzAwMDIiLCBsb2NhbGUtPmZvcm1hdERhdGUoIk1NTS9kL3l5
eXkiLCAyMDEyLCAyLCBTZXB0ZW1iZXIsIDcpLnV0ZjgoKS5kYXRhKCkpOwotICAgIEVYUEVDVF9T
VFJFUSgiT2N0LzcvMjAxMiIsIGxvY2FsZS0+Zm9ybWF0RGF0ZSgiTU1NL2QveXl5eSIsIDIwMTIs
IDIwMTIsIE9jdG9iZXIsIDcpLnV0ZjgoKS5kYXRhKCkpOwotICAgIEVYUEVDVF9TVFJFUSgiTm92
LzcvMjAwOCIsIGxvY2FsZS0+Zm9ybWF0RGF0ZSgiTU1NL2QveXl5eSIsIDIwMTIsIDIwMDgsIE5v
dmVtYmVyLCA3KS51dGY4KCkuZGF0YSgpKTsKLSAgICBFWFBFQ1RfU1RSRVEoIkRlYy8zMS8yMDYy
IiwgbG9jYWxlLT5mb3JtYXREYXRlKCJNTU0vZC95eXl5IiwgMjAxMiwgMjA2MiwgRGVjZW1iZXIs
IDMxKS51dGY4KCkuZGF0YSgpKTsKLQotICAgIEVYUEVDVF9TVFJFUSgiSmFudWFyeS03LTIwMTci
LCBsb2NhbGUtPmZvcm1hdERhdGUoIk1NTU0tZC15eXl5IiwgMjAxMiwgMjAxNywgSmFudWFyeSwg
NykudXRmOCgpLmRhdGEoKSk7Ci0gICAgRVhQRUNUX1NUUkVRKCJGZWJydWFyeS0zMS0yMDYyIiwg
bG9jYWxlLT5mb3JtYXREYXRlKCJNTU1NLWQteXl5eSIsIDIwMTIsIDIwNjIsIEZlYnJ1YXJ5LCAz
MSkudXRmOCgpLmRhdGEoKSk7Ci0gICAgRVhQRUNUX1NUUkVRKCJNYXJjaC03LTAwMDIiLCBsb2Nh
bGUtPmZvcm1hdERhdGUoIk1NTU0tZC15eXl5IiwgMjAxMiwgMiwgTWFyY2gsIDcpLnV0ZjgoKS5k
YXRhKCkpOwotICAgIEVYUEVDVF9TVFJFUSgiQXByaWwtNy0yMjAxMiIsIGxvY2FsZS0+Zm9ybWF0
RGF0ZSgiTU1NTS1kLXl5eXkiLCAyMDEyLCAyMjAxMiwgQXByaWwsIDcpLnV0ZjgoKS5kYXRhKCkp
OwotICAgIEVYUEVDVF9TVFJFUSgiTWF5LTctMTIwMDgiLCBsb2NhbGUtPmZvcm1hdERhdGUoIk1N
TU0tZC15eXl5IiwgMjAxMiwgMTIwMDgsIE1heSwgNykudXRmOCgpLmRhdGEoKSk7Ci0gICAgRVhQ
RUNUX1NUUkVRKCJKdW5lLTctMjIwMTIiLCBsb2NhbGUtPmZvcm1hdERhdGUoIk1NTU0tZC15eXl5
IiwgMjAxMiwgMjIwMTIsIEp1bmUsIDcpLnV0ZjgoKS5kYXRhKCkpOwotICAgIEVYUEVDVF9TVFJF
USgiSnVseS03LTEyMDA4IiwgbG9jYWxlLT5mb3JtYXREYXRlKCJNTU1NLWQteXl5eSIsIDIwMTIs
IDEyMDA4LCBKdWx5LCA3KS51dGY4KCkuZGF0YSgpKTsKLSAgICBFWFBFQ1RfU1RSRVEoIkF1Z3Vz
dC03LTIwMTciLCBsb2NhbGUtPmZvcm1hdERhdGUoIk1NTU0tZC15eXl5IiwgMjAxMiwgMjAxNywg
QXVndXN0LCA3KS51dGY4KCkuZGF0YSgpKTsKLSAgICBFWFBFQ1RfU1RSRVEoIlNlcHRlbWJlci0z
MS0yMDYyIiwgbG9jYWxlLT5mb3JtYXREYXRlKCJNTU1NLWQteXl5eSIsIDIwMTIsIDIwNjIsIFNl
cHRlbWJlciwgMzEpLnV0ZjgoKS5kYXRhKCkpOwotICAgIEVYUEVDVF9TVFJFUSgiT2N0b2Jlci03
LTAwMDIiLCBsb2NhbGUtPmZvcm1hdERhdGUoIk1NTU0tZC15eXl5IiwgMjAxMiwgMiwgT2N0b2Jl
ciwgNykudXRmOCgpLmRhdGEoKSk7Ci0gICAgRVhQRUNUX1NUUkVRKCJOb3ZlbWJlci03LTIyMDEy
IiwgbG9jYWxlLT5mb3JtYXREYXRlKCJNTU1NLWQteXl5eSIsIDIwMTIsIDIyMDEyLCBOb3ZlbWJl
ciwgNykudXRmOCgpLmRhdGEoKSk7Ci0gICAgRVhQRUNUX1NUUkVRKCJEZWNlbWJlci03LTEyMDA4
IiwgbG9jYWxlLT5mb3JtYXREYXRlKCJNTU1NLWQteXl5eSIsIDIwMTIsIDEyMDA4LCBEZWNlbWJl
ciwgNykudXRmOCgpLmRhdGEoKSk7Ci0KLSAgICBFWFBFQ1RfU1RSRVEoIkphbi0xLTAwMDEiLCBs
b2NhbGUtPmZvcm1hdERhdGUoIk1NTS1kLXl5eXkiLCAyMDEyLCAxLCBKYW51YXJ5LCAxKS51dGY4
KCkuZGF0YSgpKTsKLSAgICBFWFBFQ1RfU1RSRVEoIlNlcC0xMy0yNzU3NjAiLCBsb2NhbGUtPmZv
cm1hdERhdGUoIk1NTS1kLXl5eXkiLCAyMDEyLCAyNzU3NjAsIFNlcHRlbWJlciwgMTMpLnV0Zjgo
KS5kYXRhKCkpOwotCi0gICAgT3duUHRyPExvY2FsZVdpbj4gcGVyc2lhbiA9IExvY2FsZVdpbjo6
Y3JlYXRlKFBlcnNpYW4pOwotICAgIC8vIFUrMDZGMCBVKzA2RjEgLyBVKzA2RjAgVSswNkY4IC8g
VSswNkYwIFUrMDZGMCBVKzA2RjAgVSswNkYyCi0gICAgRVhQRUNUX1NUUkVRKCJceERCXHhCMFx4
REJceEIxL1x4REJceEIwXHhEQlx4QjgvXHhEQlx4QjBceERCXHhCMFx4REJceEIwXHhEQlx4QjEi
LCBwZXJzaWFuLT5mb3JtYXREYXRlKCJkZC9NTS95eXl5IiwgMjAxMiwgMSwgQXVndXN0LCAxKS51
dGY4KCkuZGF0YSgpKTsKLQotICAgIC8vIEZvciB0aGUgZm9sbG93aW5nIHRlc3QsIHdlJ2QgbGlr
ZSB0byBjb25maXJtIHRoZXkgZG9uJ3QgY3Jhc2ggYW5kIHRoZWlyCi0gICAgLy8gcmVzdWx0cyBh
cmUgbm90IGltcG9ydGFudCBiZWNhdXNlIHdlIGNhbiBhc3N1bWUgaW52YWxpZCBhcmd1bWVudHMg
YXJlCi0gICAgLy8gbmV2ZXIgcGFzc2VkLgotICAgIEVYUEVDVF9TVFJFUSgiMjAxMi0xMy0wMCIs
IGxvY2FsZS0+Zm9ybWF0RGF0ZSgieXl5eS1NTS1kZCIsIC0xLCAyMDEyLCBEZWNlbWJlciArIDEs
IDApLnV0ZjgoKS5kYXRhKCkpOwotICAgIEVYUEVDVF9TVFJFUSgiLTEtMDAtLTEiLCBsb2NhbGUt
PmZvcm1hdERhdGUoInktTU0tZGQiLCAtMSwgLTEsIC0xLCAtMSkudXRmOCgpLmRhdGEoKSk7Ci0g
ICAgRVhQRUNUX1NUUkVRKCItMS0xMjQtMzMiLCBsb2NhbGUtPmZvcm1hdERhdGUoInktTU0tZGQi
LCAyMDEyLCAtMSwgMTIzLCAzMykudXRmOCgpLmRhdGEoKSk7Ci0gICAgCi19Ci0KIFRFU1RfRihM
b2NhbGVXaW5UZXN0LCBUZXN0UGFyc2UpCiB7CiAgICAgT3duUHRyPExvY2FsZVdpbj4gbG9jYWxl
ID0gTG9jYWxlV2luOjpjcmVhdGUoRW5nbGlzaFVTKTsKQEAgLTI3Miw3ICsyMTAsNyBAQCBURVNU
X0YoTG9jYWxlV2luVGVzdCwgVGVzdFBhcnNlKQogCiBURVNUX0YoTG9jYWxlV2luVGVzdCwgZm9y
bWF0RGF0ZSkKIHsKLSAgICBFWFBFQ1RfU1RSRVEoIjQvMjcvMjAwNSIsIGZvcm1hdERhdGUoRW5n
bGlzaFVTLCAyMDA1LCBBcHJpbCwgMjcpLnV0ZjgoKS5kYXRhKCkpOworICAgIEVYUEVDVF9TVFJF
USgiMDQvMjcvMjAwNSIsIGZvcm1hdERhdGUoRW5nbGlzaFVTLCAyMDA1LCBBcHJpbCwgMjcpLnV0
ZjgoKS5kYXRhKCkpOwogICAgIEVYUEVDVF9TVFJFUSgiMjcvMDQvMjAwNSIsIGZvcm1hdERhdGUo
RnJlbmNoRlIsIDIwMDUsIEFwcmlsLCAyNykudXRmOCgpLmRhdGEoKSk7CiAgICAgRVhQRUNUX1NU
UkVRKCIyMDA1LzA0LzI3IiwgZm9ybWF0RGF0ZShKYXBhbmVzZUpQLCAyMDA1LCBBcHJpbCwgMjcp
LnV0ZjgoKS5kYXRhKCkpOwogfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>