<?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>82380</bug_id>
          
          <creation_ts>2012-03-27 14:38:47 -0700</creation_ts>
          <short_desc>[chromium] Remove unneeded code+fixmes from CCOcclusionTracker</short_desc>
          <delta_ts>2012-03-29 11:14:27 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dana Jansens">danakj</reporter>
          <assigned_to name="Dana Jansens">danakj</assigned_to>
          <cc>cc-bugs</cc>
    
    <cc>jamesr</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>589303</commentid>
    <comment_count>0</comment_count>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2012-03-27 14:38:47 -0700</bug_when>
    <thetext>[chromium] Remove unneeded code+fixmes from CCOcclusionTracker</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>589327</commentid>
    <comment_count>1</comment_count>
      <attachid>134146</attachid>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2012-03-27 15:05:26 -0700</bug_when>
    <thetext>Created attachment 134146
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>589387</commentid>
    <comment_count>2</comment_count>
      <attachid>134156</attachid>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2012-03-27 15:58:39 -0700</bug_when>
    <thetext>Created attachment 134156
Patch

rebased</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>591278</commentid>
    <comment_count>3</comment_count>
      <attachid>134156</attachid>
    <who name="Adrienne Walker">enne</who>
    <bug_when>2012-03-29 10:14:09 -0700</bug_when>
    <thetext>Comment on attachment 134156
Patch

Sounds good to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>591339</commentid>
    <comment_count>4</comment_count>
      <attachid>134156</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-29 11:14:21 -0700</bug_when>
    <thetext>Comment on attachment 134156
Patch

Clearing flags on attachment: 134156

Committed r112548: &lt;http://trac.webkit.org/changeset/112548&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>591340</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-29 11:14:27 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>134146</attachid>
            <date>2012-03-27 15:05:26 -0700</date>
            <delta_ts>2012-03-27 15:58:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-82380-20120327180524.patch</filename>
            <type>text/plain</type>
            <size>35135</size>
            <attacher name="Dana Jansens">danakj</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEyMjc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzljMmY0NDlhZmYwNmI0
MDY0NGM4YTJhYzZjN2I0ZTZjZTIyYTMxNS4uZmQyMTRhMTZkOTVkOGZmYWJmMTk1ZDA1ZDM0ZDM2
NjE3MWMzMjYwMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEyLTAzLTI3ICBEYW5h
IEphbnNlbnMgIDxkYW5ha2pAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gUmVt
b3ZlIHVubmVlZGVkIGNvZGUrZml4bWVzIGZyb20gQ0NPY2NsdXNpb25UcmFja2VyCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MjM4MAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBjdXJyZW50IG9jY2x1
c2lvbiB3YXMgZXhwb3NlZCBvbiB0aGUgb2NjbHVzaW9uIHRyYWNrZXIgZm9yIHRoZQorICAgICAg
ICB0cmFuc2l0aW9uIG92ZXIgdG8gY3VsbGluZyAyLjAgd2hpY2ggaGFzIGxhbmRlZCwgc28gd2Ug
Y2FuIHJlbW92ZQorICAgICAgICBpdCBub3cuIEl0IHN0aWxsIGhhZCBvbmUgdXNlIGluIHVuaXQg
dGVzdHMgd2hpY2ggaXMgbW92ZWQgdG8gYQorICAgICAgICB0ZXN0IHN1YmNsYXNzLgorCisgICAg
ICAgIEFib3ZlIHRlc3Qgc3ViY2xhc3MgYWxyZWFkeSBleGlzdGVkIGluIHRoZSBvY2NsdXNpb24g
dHJhY2tlciB0ZXN0cywKKyAgICAgICAgc28gcHVsbGVkIGl0IG91dCB0byBhIGNvbW1vbiBmaWxl
IENDT2NjbHVzaW9uVHJhY2tlclRlc3RDb21tb24uaAorICAgICAgICBzbyB0aGF0IG90aGVyIHVu
aXQgdGVzdHMgY2FuIHVzZSBpdCB0byBnZXQgYXQgb2NjbHVzaW9uIGludGVybmFscy4KKworICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDT2NjbHVzaW9uVHJhY2tlci5j
cHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9jYy9DQ09jY2x1c2lvblRyYWNrZXIuaDoKKwogMjAxMi0wMy0yNyAgU3RlcGhlbiBDaGVu
bmV5ICA8c2NoZW5uZXlAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIDxzdmc6dXNlPiBlbGVtZW50
cyBpbiB0aGUgcGFyc2VyIGNhbiBjcmVhdGUgZWxlbWVudHMgbm90IG1hcmtlZCBhcyBjcmVhdGVk
IGJ5IHRoZSBwYXJzZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdl
TG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggY2JkMjZlMDY4MDE1
ZTkzYmFhMjE2NGMwYWIwODgwNWQwYTllNTEwMi4uZjdlZjU0MTcxMjM4YzlkYWM4MTBjNmU3NDky
Zjc5MTBmOTJiZjczMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw1MiBA
QAorMjAxMi0wMy0yNyAgRGFuYSBKYW5zZW5zICA8ZGFuYWtqQGNocm9taXVtLm9yZz4KKworICAg
ICAgICBbY2hyb21pdW1dIFJlbW92ZSB1bm5lZWRlZCBjb2RlK2ZpeG1lcyBmcm9tIENDT2NjbHVz
aW9uVHJhY2tlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9ODIzODAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIFdlYktpdC5neXBpOgorICAgICAgICAqIHRlc3RzL0NDTGF5ZXJUcmVlSG9zdFRlc3QuY3Bw
OgorICAgICAgICAoV1RGOjpUZXN0TGF5ZXJDaHJvbWl1bTo6cGFpbnRDb250ZW50c0lmRGlydHkp
OgorICAgICAgICAqIHRlc3RzL0NDT2NjbHVzaW9uVHJhY2tlclRlc3QuY3BwOgorICAgICAgICAo
V2ViS2l0VGVzdHM6OlRlc3RDQ09jY2x1c2lvblRyYWNrZXJXaXRoU2Npc3Nvcjo6VGVzdENDT2Nj
bHVzaW9uVHJhY2tlcldpdGhTY2lzc29yKToKKyAgICAgICAgKFdlYktpdFRlc3RzOjpDQ09jY2x1
c2lvblRyYWNrZXJUZXN0SWRlbnRpdHlUcmFuc2Zvcm1zOjpydW5NeVRlc3QpOgorICAgICAgICAo
V2ViS2l0VGVzdHM6OkNDT2NjbHVzaW9uVHJhY2tlclRlc3RSb3RhdGVkQ2hpbGQ6OnJ1bk15VGVz
dCk6CisgICAgICAgIChXZWJLaXRUZXN0czo6Q0NPY2NsdXNpb25UcmFja2VyVGVzdFRyYW5zbGF0
ZWRDaGlsZDo6cnVuTXlUZXN0KToKKyAgICAgICAgKFdlYktpdFRlc3RzOjpDQ09jY2x1c2lvblRy
YWNrZXJUZXN0Q2hpbGRJblJvdGF0ZWRDaGlsZDo6cnVuTXlUZXN0KToKKyAgICAgICAgKFdlYktp
dFRlc3RzOjpDQ09jY2x1c2lvblRyYWNrZXJUZXN0VmlzaXRUYXJnZXRUd29UaW1lczo6cnVuTXlU
ZXN0KToKKyAgICAgICAgKFdlYktpdFRlc3RzOjpDQ09jY2x1c2lvblRyYWNrZXJUZXN0U3VyZmFj
ZVJvdGF0ZWRPZmZBeGlzOjpydW5NeVRlc3QpOgorICAgICAgICAoV2ViS2l0VGVzdHM6OkNDT2Nj
bHVzaW9uVHJhY2tlclRlc3RTdXJmYWNlV2l0aFR3b09wYXF1ZUNoaWxkcmVuOjpydW5NeVRlc3Qp
OgorICAgICAgICAoV2ViS2l0VGVzdHM6OkNDT2NjbHVzaW9uVHJhY2tlclRlc3RPdmVybGFwcGlu
Z1N1cmZhY2VTaWJsaW5nczo6cnVuTXlUZXN0KToKKyAgICAgICAgKFdlYktpdFRlc3RzOjpDQ09j
Y2x1c2lvblRyYWNrZXJUZXN0T3ZlcmxhcHBpbmdTdXJmYWNlU2libGluZ3NXaXRoVHdvVHJhbnNm
b3Jtczo6cnVuTXlUZXN0KToKKyAgICAgICAgKFdlYktpdFRlc3RzOjpDQ09jY2x1c2lvblRyYWNr
ZXJUZXN0RmlsdGVyczo6cnVuTXlUZXN0KToKKyAgICAgICAgKFdlYktpdFRlc3RzOjpDQ09jY2x1
c2lvblRyYWNrZXJUZXN0TGF5ZXJTY2lzc29yUmVjdE91dHNpZGVDaGlsZDo6cnVuTXlUZXN0KToK
KyAgICAgICAgKFdlYktpdFRlc3RzOjpDQ09jY2x1c2lvblRyYWNrZXJUZXN0U2NyZWVuU2Npc3Nv
clJlY3RPdXRzaWRlQ2hpbGQ6OnJ1bk15VGVzdCk6CisgICAgICAgIChXZWJLaXRUZXN0czo6Q0NP
Y2NsdXNpb25UcmFja2VyVGVzdExheWVyU2Npc3NvclJlY3RPdmVyQ2hpbGQ6OnJ1bk15VGVzdCk6
CisgICAgICAgIChXZWJLaXRUZXN0czo6Q0NPY2NsdXNpb25UcmFja2VyVGVzdFNjcmVlblNjaXNz
b3JSZWN0T3ZlckNoaWxkOjpydW5NeVRlc3QpOgorICAgICAgICAoV2ViS2l0VGVzdHM6OkNDT2Nj
bHVzaW9uVHJhY2tlclRlc3RMYXllclNjaXNzb3JSZWN0UGFydGx5T3ZlckNoaWxkOjpydW5NeVRl
c3QpOgorICAgICAgICAoV2ViS2l0VGVzdHM6OkNDT2NjbHVzaW9uVHJhY2tlclRlc3RTY3JlZW5T
Y2lzc29yUmVjdFBhcnRseU92ZXJDaGlsZDo6cnVuTXlUZXN0KToKKyAgICAgICAgKFdlYktpdFRl
c3RzOjpDQ09jY2x1c2lvblRyYWNrZXJUZXN0TGF5ZXJTY2lzc29yUmVjdE92ZXJOb3RoaW5nOjpy
dW5NeVRlc3QpOgorICAgICAgICAoV2ViS2l0VGVzdHM6OkNDT2NjbHVzaW9uVHJhY2tlclRlc3RT
Y3JlZW5TY2lzc29yUmVjdE92ZXJOb3RoaW5nOjpydW5NeVRlc3QpOgorICAgICAgICAoV2ViS2l0
VGVzdHM6OkNDT2NjbHVzaW9uVHJhY2tlclRlc3RMYXllclNjaXNzb3JSZWN0Rm9yTGF5ZXJPZmZP
cmlnaW46OnJ1bk15VGVzdCk6CisgICAgICAgIChXZWJLaXRUZXN0czo6Q0NPY2NsdXNpb25UcmFj
a2VyVGVzdE9wYXF1ZUNvbnRlbnRzUmVnaW9uRW1wdHk6OnJ1bk15VGVzdCk6CisgICAgICAgIChX
ZWJLaXRUZXN0czo6Q0NPY2NsdXNpb25UcmFja2VyVGVzdE9wYXF1ZUNvbnRlbnRzUmVnaW9uTm9u
RW1wdHk6OnJ1bk15VGVzdCk6CisgICAgICAgIChXZWJLaXRUZXN0czo6Q0NPY2NsdXNpb25UcmFj
a2VyVGVzdDNkVHJhbnNmb3JtOjpydW5NeVRlc3QpOgorICAgICAgICAoV2ViS2l0VGVzdHM6OkND
T2NjbHVzaW9uVHJhY2tlclRlc3RQZXJzcGVjdGl2ZVRyYW5zZm9ybTo6cnVuTXlUZXN0KToKKyAg
ICAgICAgKFdlYktpdFRlc3RzOjpDQ09jY2x1c2lvblRyYWNrZXJUZXN0UGVyc3BlY3RpdmVUcmFu
c2Zvcm1CZWhpbmRDYW1lcmE6OnJ1bk15VGVzdCk6CisgICAgICAgIChXZWJLaXRUZXN0czo6Q0NP
Y2NsdXNpb25UcmFja2VyVGVzdEFuaW1hdGlvbk9wYWNpdHkxT25NYWluVGhyZWFkOjpydW5NeVRl
c3QpOgorICAgICAgICAoV2ViS2l0VGVzdHM6OkNDT2NjbHVzaW9uVHJhY2tlclRlc3RBbmltYXRp
b25PcGFjaXR5ME9uTWFpblRocmVhZDo6cnVuTXlUZXN0KToKKyAgICAgICAgKFdlYktpdFRlc3Rz
OjpDQ09jY2x1c2lvblRyYWNrZXJUZXN0QW5pbWF0aW9uVHJhbnNsYXRlT25NYWluVGhyZWFkOjpy
dW5NeVRlc3QpOgorICAgICAgICAoV2ViS2l0VGVzdHM6OkNDT2NjbHVzaW9uVHJhY2tlclRlc3RT
dXJmYWNlT2NjbHVzaW9uVHJhbnNsYXRlc1RvUGFyZW50OjpydW5NeVRlc3QpOgorICAgICAgICAq
IHRlc3RzL0NDT2NjbHVzaW9uVHJhY2tlclRlc3RDb21tb24uaDogQWRkZWQuCisgICAgICAgIChX
ZWJLaXRUZXN0cyk6CisgICAgICAgIChUZXN0Q0NPY2NsdXNpb25UcmFja2VyQmFzZSk6CisgICAg
ICAgIChXZWJLaXRUZXN0czo6VGVzdENDT2NjbHVzaW9uVHJhY2tlckJhc2U6OlRlc3RDQ09jY2x1
c2lvblRyYWNrZXJCYXNlKToKKyAgICAgICAgKFdlYktpdFRlc3RzOjpUZXN0Q0NPY2NsdXNpb25U
cmFja2VyQmFzZTo6b2NjbHVzaW9uSW5TY3JlZW5TcGFjZSk6CisgICAgICAgIChXZWJLaXRUZXN0
czo6VGVzdENDT2NjbHVzaW9uVHJhY2tlckJhc2U6Om9jY2x1c2lvbkluVGFyZ2V0U3VyZmFjZSk6
CisgICAgICAgIChXZWJLaXRUZXN0czo6VGVzdENDT2NjbHVzaW9uVHJhY2tlckJhc2U6OnNldE9j
Y2x1c2lvbkluU2NyZWVuU3BhY2UpOgorICAgICAgICAoV2ViS2l0VGVzdHM6OlRlc3RDQ09jY2x1
c2lvblRyYWNrZXJCYXNlOjpzZXRPY2NsdXNpb25JblRhcmdldFN1cmZhY2UpOgorCiAyMDEyLTAz
LTI2ICBTdGVwaGVuIFdoaXRlICA8c2Vub3JibGFuY29AY2hyb21pdW0ub3JnPgogCiAgICAgICAg
IERpc2FibGUgQ0NMYXllclRyZWVIb3N0VGVzdFNldFNpbmdsZUxvc3RDb250ZXh0LnJ1bk11bHRp
VGhyZWFkLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vY2MvQ0NPY2NsdXNpb25UcmFja2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDT2NjbHVzaW9uVHJhY2tlci5jcHAKaW5kZXggYzQwODJm
ZTk2YWUxYTAxM2VlNDYwNzBkODkwZDI4Y2E5ZTY3Yjk3Ny4uNTRlODBhZWU2YTFkMTcyMGNjNmM5
NTVmODE4ODk1NDZkZjA4Mzc4ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NPY2NsdXNpb25UcmFja2VyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ09jY2x1c2lvblRyYWNrZXIu
Y3BwCkBAIC0zNDYsMjEgKzM0Niw2IEBAIEludFJlY3QgQ0NPY2NsdXNpb25UcmFja2VyQmFzZTxM
YXllclR5cGUsIFJlbmRlclN1cmZhY2VUeXBlPjo6bGF5ZXJTY2lzc29yUmVjdEluCiAgICAgcmV0
dXJuIGVuY2xvc2luZ0ludFJlY3QodG90YWxTY2lzc29yKTsKIH0KIAotdGVtcGxhdGU8dHlwZW5h
bWUgTGF5ZXJUeXBlLCB0eXBlbmFtZSBSZW5kZXJTdXJmYWNlVHlwZT4KLWNvbnN0IFJlZ2lvbiYg
Q0NPY2NsdXNpb25UcmFja2VyQmFzZTxMYXllclR5cGUsIFJlbmRlclN1cmZhY2VUeXBlPjo6Y3Vy
cmVudE9jY2x1c2lvbkluU2NyZWVuU3BhY2UoKSBjb25zdAotewotICAgIEFTU0VSVCghbV9zdGFj
ay5pc0VtcHR5KCkpOwotICAgIHJldHVybiBtX3N0YWNrLmxhc3QoKS5vY2NsdXNpb25JblNjcmVl
bjsKLX0KLQotdGVtcGxhdGU8dHlwZW5hbWUgTGF5ZXJUeXBlLCB0eXBlbmFtZSBSZW5kZXJTdXJm
YWNlVHlwZT4KLWNvbnN0IFJlZ2lvbiYgQ0NPY2NsdXNpb25UcmFja2VyQmFzZTxMYXllclR5cGUs
IFJlbmRlclN1cmZhY2VUeXBlPjo6Y3VycmVudE9jY2x1c2lvbkluVGFyZ2V0U3VyZmFjZSgpIGNv
bnN0Ci17Ci0gICAgQVNTRVJUKCFtX3N0YWNrLmlzRW1wdHkoKSk7Ci0gICAgcmV0dXJuIG1fc3Rh
Y2subGFzdCgpLm9jY2x1c2lvbkluVGFyZ2V0OwotfQotCi0KIC8vIERlY2xhcmUgdGhlIHBvc3Np
YmxlIGZ1bmN0aW9ucyBoZXJlIGZvciB0aGUgbGlua2VyLgogdGVtcGxhdGUgQ0NPY2NsdXNpb25U
cmFja2VyQmFzZTxMYXllckNocm9taXVtLCBSZW5kZXJTdXJmYWNlQ2hyb21pdW0+OjpDQ09jY2x1
c2lvblRyYWNrZXJCYXNlKEludFJlY3Qgc2Npc3NvclJlY3RJblNjcmVlblNwYWNlLCBib29sIHJl
Y29yZE1ldHJpY3NGb3JGcmFtZSk7CiB0ZW1wbGF0ZSB2b2lkIENDT2NjbHVzaW9uVHJhY2tlckJh
c2U8TGF5ZXJDaHJvbWl1bSwgUmVuZGVyU3VyZmFjZUNocm9taXVtPjo6ZW50ZXJUYXJnZXRSZW5k
ZXJTdXJmYWNlKGNvbnN0IFJlbmRlclN1cmZhY2VDaHJvbWl1bSogbmV3VGFyZ2V0KTsKQEAgLTM2
OSw4ICszNTQsNiBAQCB0ZW1wbGF0ZSB2b2lkIENDT2NjbHVzaW9uVHJhY2tlckJhc2U8TGF5ZXJD
aHJvbWl1bSwgUmVuZGVyU3VyZmFjZUNocm9taXVtPjo6bGVhdgogdGVtcGxhdGUgdm9pZCBDQ09j
Y2x1c2lvblRyYWNrZXJCYXNlPExheWVyQ2hyb21pdW0sIFJlbmRlclN1cmZhY2VDaHJvbWl1bT46
Om1hcmtPY2NsdWRlZEJlaGluZExheWVyKGNvbnN0IExheWVyQ2hyb21pdW0qKTsKIHRlbXBsYXRl
IGJvb2wgQ0NPY2NsdXNpb25UcmFja2VyQmFzZTxMYXllckNocm9taXVtLCBSZW5kZXJTdXJmYWNl
Q2hyb21pdW0+OjpvY2NsdWRlZChjb25zdCBMYXllckNocm9taXVtKiwgY29uc3QgSW50UmVjdCYg
Y29udGVudFJlY3QpIGNvbnN0OwogdGVtcGxhdGUgSW50UmVjdCBDQ09jY2x1c2lvblRyYWNrZXJC
YXNlPExheWVyQ2hyb21pdW0sIFJlbmRlclN1cmZhY2VDaHJvbWl1bT46OnVub2NjbHVkZWRDb250
ZW50UmVjdChjb25zdCBMYXllckNocm9taXVtKiwgY29uc3QgSW50UmVjdCYgY29udGVudFJlY3Qp
IGNvbnN0OwotdGVtcGxhdGUgY29uc3QgUmVnaW9uJiBDQ09jY2x1c2lvblRyYWNrZXJCYXNlPExh
eWVyQ2hyb21pdW0sIFJlbmRlclN1cmZhY2VDaHJvbWl1bT46OmN1cnJlbnRPY2NsdXNpb25JblNj
cmVlblNwYWNlKCkgY29uc3Q7Ci10ZW1wbGF0ZSBjb25zdCBSZWdpb24mIENDT2NjbHVzaW9uVHJh
Y2tlckJhc2U8TGF5ZXJDaHJvbWl1bSwgUmVuZGVyU3VyZmFjZUNocm9taXVtPjo6Y3VycmVudE9j
Y2x1c2lvbkluVGFyZ2V0U3VyZmFjZSgpIGNvbnN0OwogdGVtcGxhdGUgSW50UmVjdCBDQ09jY2x1
c2lvblRyYWNrZXJCYXNlPExheWVyQ2hyb21pdW0sIFJlbmRlclN1cmZhY2VDaHJvbWl1bT46Omxh
eWVyU2Npc3NvclJlY3RJblRhcmdldFN1cmZhY2UoY29uc3QgTGF5ZXJDaHJvbWl1bSopIGNvbnN0
OwogCiB0ZW1wbGF0ZSBDQ09jY2x1c2lvblRyYWNrZXJCYXNlPENDTGF5ZXJJbXBsLCBDQ1JlbmRl
clN1cmZhY2U+OjpDQ09jY2x1c2lvblRyYWNrZXJCYXNlKEludFJlY3Qgc2Npc3NvclJlY3RJblNj
cmVlblNwYWNlLCBib29sIHJlY29yZE1ldHJpY3NGb3JGcmFtZSk7CkBAIC0zODAsOCArMzYzLDYg
QEAgdGVtcGxhdGUgdm9pZCBDQ09jY2x1c2lvblRyYWNrZXJCYXNlPENDTGF5ZXJJbXBsLCBDQ1Jl
bmRlclN1cmZhY2U+OjpsZWF2ZVRvVGFyZ2UKIHRlbXBsYXRlIHZvaWQgQ0NPY2NsdXNpb25UcmFj
a2VyQmFzZTxDQ0xheWVySW1wbCwgQ0NSZW5kZXJTdXJmYWNlPjo6bWFya09jY2x1ZGVkQmVoaW5k
TGF5ZXIoY29uc3QgQ0NMYXllckltcGwqKTsKIHRlbXBsYXRlIGJvb2wgQ0NPY2NsdXNpb25UcmFj
a2VyQmFzZTxDQ0xheWVySW1wbCwgQ0NSZW5kZXJTdXJmYWNlPjo6b2NjbHVkZWQoY29uc3QgQ0NM
YXllckltcGwqLCBjb25zdCBJbnRSZWN0JiBjb250ZW50UmVjdCkgY29uc3Q7CiB0ZW1wbGF0ZSBJ
bnRSZWN0IENDT2NjbHVzaW9uVHJhY2tlckJhc2U8Q0NMYXllckltcGwsIENDUmVuZGVyU3VyZmFj
ZT46OnVub2NjbHVkZWRDb250ZW50UmVjdChjb25zdCBDQ0xheWVySW1wbCosIGNvbnN0IEludFJl
Y3QmIGNvbnRlbnRSZWN0KSBjb25zdDsKLXRlbXBsYXRlIGNvbnN0IFJlZ2lvbiYgQ0NPY2NsdXNp
b25UcmFja2VyQmFzZTxDQ0xheWVySW1wbCwgQ0NSZW5kZXJTdXJmYWNlPjo6Y3VycmVudE9jY2x1
c2lvbkluU2NyZWVuU3BhY2UoKSBjb25zdDsKLXRlbXBsYXRlIGNvbnN0IFJlZ2lvbiYgQ0NPY2Ns
dXNpb25UcmFja2VyQmFzZTxDQ0xheWVySW1wbCwgQ0NSZW5kZXJTdXJmYWNlPjo6Y3VycmVudE9j
Y2x1c2lvbkluVGFyZ2V0U3VyZmFjZSgpIGNvbnN0OwogdGVtcGxhdGUgSW50UmVjdCBDQ09jY2x1
c2lvblRyYWNrZXJCYXNlPENDTGF5ZXJJbXBsLCBDQ1JlbmRlclN1cmZhY2U+OjpsYXllclNjaXNz
b3JSZWN0SW5UYXJnZXRTdXJmYWNlKGNvbnN0IENDTGF5ZXJJbXBsKikgY29uc3Q7CiAKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NP
Y2NsdXNpb25UcmFja2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9jYy9DQ09jY2x1c2lvblRyYWNrZXIuaAppbmRleCA1MzBlNmYzZGYxZDAwMjAyNzMzNDMz
NTU1ZDAxYWIzZDkyNTc4NTRkLi42YjJiNmUxNjY4YjU3OTU5YzEzODIwNDU3MjMzMmY5Y2Y3YTkz
NDRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9jYy9DQ09jY2x1c2lvblRyYWNrZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9jYy9DQ09jY2x1c2lvblRyYWNrZXIuaApAQCAtNzMsMTAgKzczLDYg
QEAgcHVibGljOgogICAgIC8vIEZJWE1FOiBSZW1vdmUgdGhpcyB3aGVuIHBhaW50IHRyYWNraW5n
IGlzIG9uIGZvciBwYWludCBjdWxsaW5nLgogICAgIHZvaWQgc2V0VXNlUGFpbnRUcmFja2luZyhi
b29sIHVzZSkgeyBtX3VzZVBhaW50VHJhY2tpbmcgPSB1c2U7IH0KIAotICAgIC8vIEZJWE1FOiBS
ZW1vdmUgdGhlc2UgaW4gZnV0dXJlLCB0aGV5IGFyZSB0byBtYWtlIENMcyBmb3IgdHJhbnNpdGlv
bmluZyB0byB0aGlzIGVhc2llci4KLSAgICBjb25zdCBSZWdpb24mIGN1cnJlbnRPY2NsdXNpb25J
blNjcmVlblNwYWNlKCkgY29uc3Q7Ci0gICAgY29uc3QgUmVnaW9uJiBjdXJyZW50T2NjbHVzaW9u
SW5UYXJnZXRTdXJmYWNlKCkgY29uc3Q7Ci0KIHByb3RlY3RlZDoKICAgICBzdHJ1Y3QgU3RhY2tP
YmplY3QgewogICAgICAgICBTdGFja09iamVjdCgpIDogc3VyZmFjZSgwKSB7IH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cGkgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL1dlYktpdC5neXBpCmluZGV4IDg4OTQyOWJkOTIzODAxZDYzMTc2ZmJkMDEyNjcwNTQ2
ZTI2ODhlNGUuLjczYmIwNmVmN2IxNjE5MTk2ZTUwMjA1OGU1ZDUwY2VkOTljYWUxNWMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cGkKKysrIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwaQpAQCAtNzksNiArNzksNyBAQAogICAgICAgICAgICAg
J3Rlc3RzL0NDTGF5ZXJUcmVlSG9zdFRlc3QuY3BwJywKICAgICAgICAgICAgICd0ZXN0cy9DQ0xh
eWVyVHJlZVRlc3RDb21tb24uaCcsCiAgICAgICAgICAgICAndGVzdHMvQ0NPY2NsdXNpb25UcmFj
a2VyVGVzdC5jcHAnLAorICAgICAgICAgICAgJ3Rlc3RzL0NDT2NjbHVzaW9uVHJhY2tlclRlc3RD
b21tb24uaCcsCiAgICAgICAgICAgICAndGVzdHMvQ0NRdWFkQ3VsbGVyVGVzdC5jcHAnLAogICAg
ICAgICAgICAgJ3Rlc3RzL0NDUmVuZGVyU3VyZmFjZVRlc3QuY3BwJywKICAgICAgICAgICAgICd0
ZXN0cy9DQ1NjaGVkdWxlclN0YXRlTWFjaGluZVRlc3QuY3BwJywKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NMYXllclRyZWVIb3N0VGVzdC5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDTGF5ZXJUcmVlSG9zdFRlc3QuY3BwCmluZGV4IGU4YzE5
NmFhZDU2NWE1ZGU4MzY1ZmQ5OTE3OWQ5ODQxNmYyNjA5NTAuLjkxZTZlYWYyZmNkZDE5N2QxYWFj
ZjY4ZGI4YjYyMjkxZTVkYjY3MzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
dGVzdHMvQ0NMYXllclRyZWVIb3N0VGVzdC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS90ZXN0cy9DQ0xheWVyVHJlZUhvc3RUZXN0LmNwcApAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1
ZGUgImNjL0NDTGF5ZXJUcmVlSG9zdC5oIgogCiAjaW5jbHVkZSAiQ0NBbmltYXRpb25UZXN0Q29t
bW9uLmgiCisjaW5jbHVkZSAiQ0NPY2NsdXNpb25UcmFja2VyVGVzdENvbW1vbi5oIgogI2luY2x1
ZGUgIkNvbXBvc2l0b3JGYWtlV2ViR3JhcGhpY3NDb250ZXh0M0QuaCIKICNpbmNsdWRlICJDb250
ZW50TGF5ZXJDaHJvbWl1bS5oIgogI2luY2x1ZGUgIkZpbHRlck9wZXJhdGlvbnMuaCIKQEAgLTE3
NTYsNyArMTc1Nyw5IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBwYWludENvbnRlbnRz
SWZEaXJ0eShjb25zdCBDQ09jY2x1c2lvblRyYWNrZXIqIG9jY2x1c2lvbikKICAgICB7Ci0gICAg
ICAgIG1fb2NjbHVkZWRTY3JlZW5TcGFjZSA9IG9jY2x1c2lvbiA/IG9jY2x1c2lvbi0+Y3VycmVu
dE9jY2x1c2lvbkluU2NyZWVuU3BhY2UoKSA6IFJlZ2lvbigpOworICAgICAgICAvLyBHYWluIGFj
Y2VzcyB0byBpbnRlcm5hbHMgb2YgdGhlIENDT2NjbHVzaW9uVHJhY2tlci4KKyAgICAgICAgY29u
c3QgVGVzdENDT2NjbHVzaW9uVHJhY2tlciogdGVzdE9jY2x1c2lvbiA9IHN0YXRpY19jYXN0PGNv
bnN0IFRlc3RDQ09jY2x1c2lvblRyYWNrZXIqPihvY2NsdXNpb24pOworICAgICAgICBtX29jY2x1
ZGVkU2NyZWVuU3BhY2UgPSB0ZXN0T2NjbHVzaW9uID8gdGVzdE9jY2x1c2lvbi0+b2NjbHVzaW9u
SW5TY3JlZW5TcGFjZSgpIDogUmVnaW9uKCk7CiAgICAgfQogCiAgICAgdmlydHVhbCBib29sIGRy
YXdzQ29udGVudCgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NPY2NsdXNpb25UcmFja2VyVGVzdC5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDT2NjbHVzaW9uVHJhY2tlclRlc3QuY3BwCmluZGV4IGU3
OGYyNWFmOTc5YzQyNjQ4OTJlNmVlODZhNzhiYjZlNTJkNjE1NDkuLjk2MWQzYWY4MGZhMDM3ZjAx
OTcxNWRlMDY4OGQyOTllNzM2ZDk3MjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vdGVzdHMvQ0NPY2NsdXNpb25UcmFja2VyVGVzdC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS90ZXN0cy9DQ09jY2x1c2lvblRyYWNrZXJUZXN0LmNwcApAQCAtMjYsNiArMjYsNyBA
QAogCiAjaW5jbHVkZSAiY2MvQ0NPY2NsdXNpb25UcmFja2VyLmgiCiAKKyNpbmNsdWRlICJDQ09j
Y2x1c2lvblRyYWNrZXJUZXN0Q29tbW9uLmgiCiAjaW5jbHVkZSAiRmlsdGVyT3BlcmF0aW9ucy5o
IgogI2luY2x1ZGUgIkxheWVyQ2hyb21pdW0uaCIKICNpbmNsdWRlICJSZWdpb24uaCIKQEAgLTQw
LDYgKzQxLDcgQEAKICNpbmNsdWRlIDxndGVzdC9ndGVzdC5oPgogCiB1c2luZyBuYW1lc3BhY2Ug
V2ViQ29yZTsKK3VzaW5nIG5hbWVzcGFjZSBXZWJLaXRUZXN0czsKIAogI2RlZmluZSBFWFBFQ1Rf
RVFfUkVDVChhLCBiKSBcCiAgICAgRVhQRUNUX0VRKGEueCgpLCBiLngoKSk7IFwKQEAgLTcxLDIy
ICs3MywxNSBAQCBwcml2YXRlOgogICAgIEludFJlY3QgbV9vcGFxdWVDb250ZW50c1JlY3Q7CiB9
OwogCi0vLyBBIHN1YmNsYXNzIHRvIGV4cG9zZSB0aGUgdG90YWwgY3VycmVudCBvY2NsdXNpb24u
CiB0ZW1wbGF0ZTx0eXBlbmFtZSBMYXllclR5cGUsIHR5cGVuYW1lIFJlbmRlclN1cmZhY2VUeXBl
PgotY2xhc3MgVGVzdENDT2NjbHVzaW9uVHJhY2tlckJhc2UgOiBwdWJsaWMgQ0NPY2NsdXNpb25U
cmFja2VyQmFzZTxMYXllclR5cGUsIFJlbmRlclN1cmZhY2VUeXBlPiB7CitjbGFzcyBUZXN0Q0NP
Y2NsdXNpb25UcmFja2VyV2l0aFNjaXNzb3IgOiBwdWJsaWMgVGVzdENDT2NjbHVzaW9uVHJhY2tl
ckJhc2U8TGF5ZXJUeXBlLCBSZW5kZXJTdXJmYWNlVHlwZT4gewogcHVibGljOgotICAgIFRlc3RD
Q09jY2x1c2lvblRyYWNrZXJCYXNlKEludFJlY3Qgc2NyZWVuU2Npc3NvclJlY3QsIGJvb2wgcmVj
b3JkTWV0cmljc0ZvckZyYW1lID0gZmFsc2UpCi0gICAgICAgIDogQ0NPY2NsdXNpb25UcmFja2Vy
QmFzZTxMYXllclR5cGUsIFJlbmRlclN1cmZhY2VUeXBlPihzY3JlZW5TY2lzc29yUmVjdCwgcmVj
b3JkTWV0cmljc0ZvckZyYW1lKQorICAgIFRlc3RDQ09jY2x1c2lvblRyYWNrZXJXaXRoU2Npc3Nv
cihJbnRSZWN0IHNjcmVlblNjaXNzb3JSZWN0LCBib29sIHJlY29yZE1ldHJpY3NGb3JGcmFtZSA9
IGZhbHNlKQorICAgICAgICA6IFRlc3RDQ09jY2x1c2lvblRyYWNrZXJCYXNlPExheWVyVHlwZSwg
UmVuZGVyU3VyZmFjZVR5cGU+KHNjcmVlblNjaXNzb3JSZWN0LCByZWNvcmRNZXRyaWNzRm9yRnJh
bWUpCiAgICAgICAgICwgbV9vdmVycmlkZUxheWVyU2Npc3NvclJlY3QoZmFsc2UpCiAgICAgewog
ICAgIH0KIAotICAgIFJlZ2lvbiBvY2NsdXNpb25JblNjcmVlblNwYWNlKCkgY29uc3QgeyByZXR1
cm4gQ0NPY2NsdXNpb25UcmFja2VyQmFzZTxMYXllclR5cGUsIFJlbmRlclN1cmZhY2VUeXBlPjo6
bV9zdGFjay5sYXN0KCkub2NjbHVzaW9uSW5TY3JlZW47IH0KLSAgICBSZWdpb24gb2NjbHVzaW9u
SW5UYXJnZXRTdXJmYWNlKCkgY29uc3QgeyByZXR1cm4gQ0NPY2NsdXNpb25UcmFja2VyQmFzZTxM
YXllclR5cGUsIFJlbmRlclN1cmZhY2VUeXBlPjo6bV9zdGFjay5sYXN0KCkub2NjbHVzaW9uSW5U
YXJnZXQ7IH0KLQotICAgIHZvaWQgc2V0T2NjbHVzaW9uSW5TY3JlZW5TcGFjZShjb25zdCBSZWdp
b24mIHJlZ2lvbikgeyBDQ09jY2x1c2lvblRyYWNrZXJCYXNlPExheWVyVHlwZSwgUmVuZGVyU3Vy
ZmFjZVR5cGU+OjptX3N0YWNrLmxhc3QoKS5vY2NsdXNpb25JblNjcmVlbiA9IHJlZ2lvbjsgfQot
ICAgIHZvaWQgc2V0T2NjbHVzaW9uSW5UYXJnZXRTdXJmYWNlKGNvbnN0IFJlZ2lvbiYgcmVnaW9u
KSB7IENDT2NjbHVzaW9uVHJhY2tlckJhc2U8TGF5ZXJUeXBlLCBSZW5kZXJTdXJmYWNlVHlwZT46
Om1fc3RhY2subGFzdCgpLm9jY2x1c2lvbkluVGFyZ2V0ID0gcmVnaW9uOyB9Ci0KICAgICB2b2lk
IHNldExheWVyU2Npc3NvclJlY3QoY29uc3QgSW50UmVjdCYgcmVjdCkgeyBtX292ZXJyaWRlTGF5
ZXJTY2lzc29yUmVjdCA9IHRydWU7IG1fbGF5ZXJTY2lzc29yUmVjdCA9IHJlY3Q7fQogICAgIHZv
aWQgdXNlRGVmYXVsdExheWVyU2Npc3NvclJlY3QoKSB7IG1fb3ZlcnJpZGVMYXllclNjaXNzb3JS
ZWN0ID0gZmFsc2U7IH0KIApAQCAtMzEyLDcgKzMwNyw3IEBAIHByb3RlY3RlZDoKICAgICAgICAg
dHlwZW5hbWUgVHlwZXM6OkNvbnRlbnRMYXllclR5cGUqIGxheWVyID0gdGhpcy0+Y3JlYXRlRHJh
d2luZ0xheWVyKHBhcmVudCwgdGhpcy0+aWRlbnRpdHlNYXRyaXgsIEZsb2F0UG9pbnQoMzAsIDMw
KSwgSW50U2l6ZSg1MDAsIDUwMCksIHRydWUpOwogICAgICAgICB0aGlzLT5jYWxjRHJhd0V0Yyhw
YXJlbnQpOwogCi0gICAgICAgIFRlc3RDQ09jY2x1c2lvblRyYWNrZXJCYXNlPHR5cGVuYW1lIFR5
cGVzOjpMYXllclR5cGUsIHR5cGVuYW1lIFR5cGVzOjpSZW5kZXJTdXJmYWNlVHlwZT4gb2NjbHVz
aW9uKEludFJlY3QoMCwgMCwgMTAwMCwgMTAwMCkpOworICAgICAgICBUZXN0Q0NPY2NsdXNpb25U
cmFja2VyV2l0aFNjaXNzb3I8dHlwZW5hbWUgVHlwZXM6OkxheWVyVHlwZSwgdHlwZW5hbWUgVHlw
ZXM6OlJlbmRlclN1cmZhY2VUeXBlPiBvY2NsdXNpb24oSW50UmVjdCgwLCAwLCAxMDAwLCAxMDAw
KSk7CiAgICAgICAgIG9jY2x1c2lvbi5zZXRMYXllclNjaXNzb3JSZWN0KEludFJlY3QoMCwgMCwg
MTAwMCwgMTAwMCkpOwogCiAgICAgICAgIG9jY2x1c2lvbi5lbnRlclRhcmdldFJlbmRlclN1cmZh
Y2UocGFyZW50LT5yZW5kZXJTdXJmYWNlKCkpOwpAQCAtMzY0LDcgKzM1OSw3IEBAIHByb3RlY3Rl
ZDoKICAgICAgICAgdHlwZW5hbWUgVHlwZXM6OkNvbnRlbnRMYXllclR5cGUqIGxheWVyID0gdGhp
cy0+Y3JlYXRlRHJhd2luZ0xheWVyKHBhcmVudCwgbGF5ZXJUcmFuc2Zvcm0sIEZsb2F0UG9pbnQo
MzAsIDMwKSwgSW50U2l6ZSg1MDAsIDUwMCksIHRydWUpOwogICAgICAgICB0aGlzLT5jYWxjRHJh
d0V0YyhwYXJlbnQpOwogCi0gICAgICAgIFRlc3RDQ09jY2x1c2lvblRyYWNrZXJCYXNlPHR5cGVu
YW1lIFR5cGVzOjpMYXllclR5cGUsIHR5cGVuYW1lIFR5cGVzOjpSZW5kZXJTdXJmYWNlVHlwZT4g
b2NjbHVzaW9uKEludFJlY3QoMCwgMCwgMTAwMCwgMTAwMCkpOworICAgICAgICBUZXN0Q0NPY2Ns
dXNpb25UcmFja2VyV2l0aFNjaXNzb3I8dHlwZW5hbWUgVHlwZXM6OkxheWVyVHlwZSwgdHlwZW5h
bWUgVHlwZXM6OlJlbmRlclN1cmZhY2VUeXBlPiBvY2NsdXNpb24oSW50UmVjdCgwLCAwLCAxMDAw
LCAxMDAwKSk7CiAgICAgICAgIG9jY2x1c2lvbi5zZXRMYXllclNjaXNzb3JSZWN0KEludFJlY3Qo
MCwgMCwgMTAwMCwgMTAwMCkpOwogCiAgICAgICAgIG9jY2x1c2lvbi5lbnRlclRhcmdldFJlbmRl
clN1cmZhY2UocGFyZW50LT5yZW5kZXJTdXJmYWNlKCkpOwpAQCAtNDE0LDcgKzQwOSw3IEBAIHBy
b3RlY3RlZDoKICAgICAgICAgdHlwZW5hbWUgVHlwZXM6OkNvbnRlbnRMYXllclR5cGUqIGxheWVy
ID0gdGhpcy0+Y3JlYXRlRHJhd2luZ0xheWVyKHBhcmVudCwgbGF5ZXJUcmFuc2Zvcm0sIEZsb2F0
UG9pbnQoMzAsIDMwKSwgSW50U2l6ZSg1MDAsIDUwMCksIHRydWUpOwogICAgICAgICB0aGlzLT5j
YWxjRHJhd0V0YyhwYXJlbnQpOwogCi0gICAgICAgIFRlc3RDQ09jY2x1c2lvblRyYWNrZXJCYXNl
PHR5cGVuYW1lIFR5cGVzOjpMYXllclR5cGUsIHR5cGVuYW1lIFR5cGVzOjpSZW5kZXJTdXJmYWNl
VHlwZT4gb2NjbHVzaW9uKEludFJlY3QoMCwgMCwgMTAwMCwgMTAwMCkpOworICAgICAgICBUZXN0
Q0NPY2NsdXNpb25UcmFja2VyV2l0aFNjaXNzb3I8dHlwZW5hbWUgVHlwZXM6OkxheWVyVHlwZSwg
dHlwZW5hbWUgVHlwZXM6OlJlbmRlclN1cmZhY2VUeXBlPiBvY2NsdXNpb24oSW50UmVjdCgwLCAw
LCAxMDAwLCAxMDAwKSk7CiAgICAgICAgIG9jY2x1c2lvbi5zZXRMYXllclNjaXNzb3JSZWN0KElu
dFJlY3QoMCwgMCwgMTAwMCwgMTAwMCkpOwogCiAgICAgICAgIG9jY2x1c2lvbi5lbnRlclRhcmdl
dFJlbmRlclN1cmZhY2UocGFyZW50LT5yZW5kZXJTdXJmYWNlKCkpOwpAQCAtNDgwLDcgKzQ3NSw3
IEBAIHByb3RlY3RlZDoKICAgICAgICAgdHlwZW5hbWUgVHlwZXM6OkNvbnRlbnRMYXllclR5cGUq
IGxheWVyID0gdGhpcy0+Y3JlYXRlRHJhd2luZ0xheWVyKGNoaWxkLCB0aGlzLT5pZGVudGl0eU1h
dHJpeCwgRmxvYXRQb2ludCgxMCwgMTApLCBJbnRTaXplKDUwMCwgNTAwKSwgdHJ1ZSk7CiAgICAg
ICAgIHRoaXMtPmNhbGNEcmF3RXRjKHBhcmVudCk7CiAKLSAgICAgICAgVGVzdENDT2NjbHVzaW9u
VHJhY2tlckJhc2U8dHlwZW5hbWUgVHlwZXM6OkxheWVyVHlwZSwgdHlwZW5hbWUgVHlwZXM6OlJl
bmRlclN1cmZhY2VUeXBlPiBvY2NsdXNpb24oSW50UmVjdCgwLCAwLCAxMDAwLCAxMDAwKSk7Cisg
ICAgICAgIFRlc3RDQ09jY2x1c2lvblRyYWNrZXJXaXRoU2Npc3Nvcjx0eXBlbmFtZSBUeXBlczo6
TGF5ZXJUeXBlLCB0eXBlbmFtZSBUeXBlczo6UmVuZGVyU3VyZmFjZVR5cGU+IG9jY2x1c2lvbihJ
bnRSZWN0KDAsIDAsIDEwMDAsIDEwMDApKTsKICAgICAgICAgb2NjbHVzaW9uLnNldExheWVyU2Np
c3NvclJlY3QoSW50UmVjdCgwLCAwLCAxMDAwLCAxMDAwKSk7CiAKICAgICAgICAgb2NjbHVzaW9u
LmVudGVyVGFyZ2V0UmVuZGVyU3VyZmFjZShjaGlsZC0+cmVuZGVyU3VyZmFjZSgpKTsKQEAgLTU3
Nyw3ICs1NzIsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIHR5cGVuYW1lIFR5cGVzOjpDb250ZW50
TGF5ZXJUeXBlKiBjaGlsZDIgPSB0aGlzLT5jcmVhdGVEcmF3aW5nTGF5ZXIocGFyZW50LCB0aGlz
LT5pZGVudGl0eU1hdHJpeCwgRmxvYXRQb2ludCgzMCwgMzApLCBJbnRTaXplKDYwLCAyMCksIHRy
dWUpOwogICAgICAgICB0aGlzLT5jYWxjRHJhd0V0YyhwYXJlbnQpOwogCi0gICAgICAgIFRlc3RD
Q09jY2x1c2lvblRyYWNrZXJCYXNlPHR5cGVuYW1lIFR5cGVzOjpMYXllclR5cGUsIHR5cGVuYW1l
IFR5cGVzOjpSZW5kZXJTdXJmYWNlVHlwZT4gb2NjbHVzaW9uKEludFJlY3QoMCwgMCwgMTAwMCwg
MTAwMCkpOworICAgICAgICBUZXN0Q0NPY2NsdXNpb25UcmFja2VyV2l0aFNjaXNzb3I8dHlwZW5h
bWUgVHlwZXM6OkxheWVyVHlwZSwgdHlwZW5hbWUgVHlwZXM6OlJlbmRlclN1cmZhY2VUeXBlPiBv
Y2NsdXNpb24oSW50UmVjdCgwLCAwLCAxMDAwLCAxMDAwKSk7CiAgICAgICAgIG9jY2x1c2lvbi5z
ZXRMYXllclNjaXNzb3JSZWN0KEludFJlY3QoLTEwLCAtMTAsIDEwMDAsIDEwMDApKTsKIAogICAg
ICAgICBvY2NsdXNpb24uZW50ZXJUYXJnZXRSZW5kZXJTdXJmYWNlKHBhcmVudC0+cmVuZGVyU3Vy
ZmFjZSgpKTsKQEAgLTcyNCw3ICs3MTksNyBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIHR5cGVuYW1l
IFR5cGVzOjpDb250ZW50TGF5ZXJUeXBlKiBsYXllciA9IHRoaXMtPmNyZWF0ZURyYXdpbmdMYXll
cihjaGlsZCwgbGF5ZXJUcmFuc2Zvcm0sIEZsb2F0UG9pbnQoMCwgMCksIEludFNpemUoNTAwLCA1
MDApLCB0cnVlKTsKICAgICAgICAgdGhpcy0+Y2FsY0RyYXdFdGMocGFyZW50KTsKIAotICAgICAg
ICBUZXN0Q0NPY2NsdXNpb25UcmFja2VyQmFzZTx0eXBlbmFtZSBUeXBlczo6TGF5ZXJUeXBlLCB0
eXBlbmFtZSBUeXBlczo6UmVuZGVyU3VyZmFjZVR5cGU+IG9jY2x1c2lvbihJbnRSZWN0KDAsIDAs
IDEwMDAsIDEwMDApKTsKKyAgICAgICAgVGVzdENDT2NjbHVzaW9uVHJhY2tlcldpdGhTY2lzc29y
PHR5cGVuYW1lIFR5cGVzOjpMYXllclR5cGUsIHR5cGVuYW1lIFR5cGVzOjpSZW5kZXJTdXJmYWNl
VHlwZT4gb2NjbHVzaW9uKEludFJlY3QoMCwgMCwgMTAwMCwgMTAwMCkpOwogICAgICAgICBvY2Ns
dXNpb24uc2V0TGF5ZXJTY2lzc29yUmVjdChJbnRSZWN0KDAsIDAsIDEwMDAsIDEwMDApKTsKIAog
ICAgICAgICBJbnRSZWN0IGNsaXBwZWRMYXllckluQ2hpbGQgPSBsYXllclRyYW5zZm9ybS5tYXBS
ZWN0KGxheWVyLT52aXNpYmxlTGF5ZXJSZWN0KCkpOwpAQCAtNzg5LDcgKzc4NCw3IEBAIHByb3Rl
Y3RlZDoKICAgICAgICAgdHlwZW5hbWUgVHlwZXM6OkNvbnRlbnRMYXllclR5cGUqIGxheWVyMiA9
IHRoaXMtPmNyZWF0ZURyYXdpbmdMYXllcihjaGlsZCwgdGhpcy0+aWRlbnRpdHlNYXRyaXgsIEZs
b2F0UG9pbnQoMTAsIDQ1MCksIEludFNpemUoNTAwLCA2MCksIHRydWUpOwogICAgICAgICB0aGlz
LT5jYWxjRHJhd0V0YyhwYXJlbnQpOwogCi0gICAgICAgIFRlc3RDQ09jY2x1c2lvblRyYWNrZXJC
YXNlPHR5cGVuYW1lIFR5cGVzOjpMYXllclR5cGUsIHR5cGVuYW1lIFR5cGVzOjpSZW5kZXJTdXJm
YWNlVHlwZT4gb2NjbHVzaW9uKEludFJlY3QoMCwgMCwgMTAwMCwgMTAwMCkpOworICAgICAgICBU
ZXN0Q0NPY2NsdXNpb25UcmFja2VyV2l0aFNjaXNzb3I8dHlwZW5hbWUgVHlwZXM6OkxheWVyVHlw
ZSwgdHlwZW5hbWUgVHlwZXM6OlJlbmRlclN1cmZhY2VUeXBlPiBvY2NsdXNpb24oSW50UmVjdCgw
LCAwLCAxMDAwLCAxMDAwKSk7CiAgICAgICAgIG9jY2x1c2lvbi5zZXRMYXllclNjaXNzb3JSZWN0
KEludFJlY3QoMCwgMCwgMTAwMCwgMTAwMCkpOwogCiAgICAgICAgIG9jY2x1c2lvbi5lbnRlclRh
cmdldFJlbmRlclN1cmZhY2UoY2hpbGQtPnJlbmRlclN1cmZhY2UoKSk7CkBAIC04NzgsNyArODcz
LDcgQEAgcHJvdGVjdGVkOgogICAgICAgICB0eXBlbmFtZSBUeXBlczo6Q29udGVudExheWVyVHlw
ZSogbGF5ZXIyID0gdGhpcy0+Y3JlYXRlRHJhd2luZ0xheWVyKGNoaWxkMiwgdGhpcy0+aWRlbnRp
dHlNYXRyaXgsIEZsb2F0UG9pbnQoLTEwLCAtMTApLCBJbnRTaXplKDUxMCwgNTEwKSwgdHJ1ZSk7
CiAgICAgICAgIHRoaXMtPmNhbGNEcmF3RXRjKHBhcmVudCk7CiAKLSAgICAgICAgVGVzdENDT2Nj
bHVzaW9uVHJhY2tlckJhc2U8dHlwZW5hbWUgVHlwZXM6OkxheWVyVHlwZSwgdHlwZW5hbWUgVHlw
ZXM6OlJlbmRlclN1cmZhY2VUeXBlPiBvY2NsdXNpb24oSW50UmVjdCgwLCAwLCAxMDAwLCAxMDAw
KSk7CisgICAgICAgIFRlc3RDQ09jY2x1c2lvblRyYWNrZXJXaXRoU2Npc3Nvcjx0eXBlbmFtZSBU
eXBlczo6TGF5ZXJUeXBlLCB0eXBlbmFtZSBUeXBlczo6UmVuZGVyU3VyZmFjZVR5cGU+IG9jY2x1
c2lvbihJbnRSZWN0KDAsIDAsIDEwMDAsIDEwMDApKTsKICAgICAgICAgb2NjbHVzaW9uLnNldExh
eWVyU2Npc3NvclJlY3QoSW50UmVjdCgtMjAsIC0yMCwgMTAwMCwgMTAwMCkpOwogCiAgICAgICAg
IG9jY2x1c2lvbi5lbnRlclRhcmdldFJlbmRlclN1cmZhY2UoY2hpbGQyLT5yZW5kZXJTdXJmYWNl
KCkpOwpAQCAtOTg5LDcgKzk4NCw3IEBAIHByb3RlY3RlZDoKICAgICAgICAgdHlwZW5hbWUgVHlw
ZXM6OkNvbnRlbnRMYXllclR5cGUqIGxheWVyMiA9IHRoaXMtPmNyZWF0ZURyYXdpbmdMYXllcihj
aGlsZDIsIHRoaXMtPmlkZW50aXR5TWF0cml4LCBGbG9hdFBvaW50KC0xMCwgLTEwKSwgSW50U2l6
ZSg1MTAsIDUxMCksIHRydWUpOwogICAgICAgICB0aGlzLT5jYWxjRHJhd0V0YyhwYXJlbnQpOwog
Ci0gICAgICAgIFRlc3RDQ09jY2x1c2lvblRyYWNrZXJCYXNlPHR5cGVuYW1lIFR5cGVzOjpMYXll
clR5cGUsIHR5cGVuYW1lIFR5cGVzOjpSZW5kZXJTdXJmYWNlVHlwZT4gb2NjbHVzaW9uKEludFJl
Y3QoMCwgMCwgMTAwMCwgMTAwMCkpOworICAgICAgICBUZXN0Q0NPY2NsdXNpb25UcmFja2VyV2l0
aFNjaXNzb3I8dHlwZW5hbWUgVHlwZXM6OkxheWVyVHlwZSwgdHlwZW5hbWUgVHlwZXM6OlJlbmRl
clN1cmZhY2VUeXBlPiBvY2NsdXNpb24oSW50UmVjdCgwLCAwLCAxMDAwLCAxMDAwKSk7CiAgICAg
ICAgIG9jY2x1c2lvbi5zZXRMYXllclNjaXNzb3JSZWN0KEludFJlY3QoLTMwLCAtMzAsIDEwMDAs
IDEwMDApKTsKIAogICAgICAgICBvY2NsdXNpb24uZW50ZXJUYXJnZXRSZW5kZXJTdXJmYWNlKGNo
aWxkMi0+cmVuZGVyU3VyZmFjZSgpKTsKQEAgLTEwOTUsNyArMTA5MCw3IEBAIHByb3RlY3RlZDoK
IAogICAgICAgICB0aGlzLT5jYWxjRHJhd0V0YyhwYXJlbnQpOwogCi0gICAgICAgIFRlc3RDQ09j
Y2x1c2lvblRyYWNrZXJCYXNlPHR5cGVuYW1lIFR5cGVzOjpMYXllclR5cGUsIHR5cGVuYW1lIFR5
cGVzOjpSZW5kZXJTdXJmYWNlVHlwZT4gb2NjbHVzaW9uKEludFJlY3QoMCwgMCwgMTAwMCwgMTAw
MCkpOworICAgICAgICBUZXN0Q0NPY2NsdXNpb25UcmFja2VyV2l0aFNjaXNzb3I8dHlwZW5hbWUg
VHlwZXM6OkxheWVyVHlwZSwgdHlwZW5hbWUgVHlwZXM6OlJlbmRlclN1cmZhY2VUeXBlPiBvY2Ns
dXNpb24oSW50UmVjdCgwLCAwLCAxMDAwLCAxMDAwKSk7CiAgICAgICAgIG9jY2x1c2lvbi5zZXRM
YXllclNjaXNzb3JSZWN0KEludFJlY3QoMCwgMCwgMTAwMCwgMTAwMCkpOwogCiAgICAgICAgIC8v
IE9wYWNpdHkgbGF5ZXIgd29uJ3QgY29udHJpYnV0ZSB0byBvY2NsdXNpb24uCkBAIC0xMTU5LDcg
KzExNTQsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIHR5cGVuYW1lIFR5cGVzOjpDb250ZW50TGF5
ZXJUeXBlKiBsYXllciA9IHRoaXMtPmNyZWF0ZURyYXdpbmdTdXJmYWNlKHBhcmVudCwgdGhpcy0+
aWRlbnRpdHlNYXRyaXgsIEZsb2F0UG9pbnQoMCwgMCksIEludFNpemUoMjAwLCAyMDApLCB0cnVl
KTsKICAgICAgICAgdGhpcy0+Y2FsY0RyYXdFdGMocGFyZW50KTsKIAotICAgICAgICBUZXN0Q0NP
Y2NsdXNpb25UcmFja2VyQmFzZTx0eXBlbmFtZSBUeXBlczo6TGF5ZXJUeXBlLCB0eXBlbmFtZSBU
eXBlczo6UmVuZGVyU3VyZmFjZVR5cGU+IG9jY2x1c2lvbihJbnRSZWN0KDAsIDAsIDEwMDAsIDEw
MDApKTsKKyAgICAgICAgVGVzdENDT2NjbHVzaW9uVHJhY2tlcldpdGhTY2lzc29yPHR5cGVuYW1l
IFR5cGVzOjpMYXllclR5cGUsIHR5cGVuYW1lIFR5cGVzOjpSZW5kZXJTdXJmYWNlVHlwZT4gb2Nj
bHVzaW9uKEludFJlY3QoMCwgMCwgMTAwMCwgMTAwMCkpOwogICAgICAgICBvY2NsdXNpb24uc2V0
TGF5ZXJTY2lzc29yUmVjdChJbnRSZWN0KDIwMCwgMTAwLCAxMDAsIDEwMCkpOwogCiAgICAgICAg
IG9jY2x1c2lvbi5lbnRlclRhcmdldFJlbmRlclN1cmZhY2UobGF5ZXItPnJlbmRlclN1cmZhY2Uo
KSk7CkBAIC0xMjAyLDcgKzExOTcsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIHR5cGVuYW1lIFR5
cGVzOjpDb250ZW50TGF5ZXJUeXBlKiBsYXllciA9IHRoaXMtPmNyZWF0ZURyYXdpbmdTdXJmYWNl
KHBhcmVudCwgdGhpcy0+aWRlbnRpdHlNYXRyaXgsIEZsb2F0UG9pbnQoMCwgMCksIEludFNpemUo
MjAwLCAyMDApLCB0cnVlKTsKICAgICAgICAgdGhpcy0+Y2FsY0RyYXdFdGMocGFyZW50KTsKIAot
ICAgICAgICBUZXN0Q0NPY2NsdXNpb25UcmFja2VyQmFzZTx0eXBlbmFtZSBUeXBlczo6TGF5ZXJU
eXBlLCB0eXBlbmFtZSBUeXBlczo6UmVuZGVyU3VyZmFjZVR5cGU+IG9jY2x1c2lvbihJbnRSZWN0
KDIwMCwgMTAwLCAxMDAsIDEwMCkpOworICAgICAgICBUZXN0Q0NPY2NsdXNpb25UcmFja2VyV2l0
aFNjaXNzb3I8dHlwZW5hbWUgVHlwZXM6OkxheWVyVHlwZSwgdHlwZW5hbWUgVHlwZXM6OlJlbmRl
clN1cmZhY2VUeXBlPiBvY2NsdXNpb24oSW50UmVjdCgyMDAsIDEwMCwgMTAwLCAxMDApKTsKICAg
ICAgICAgb2NjbHVzaW9uLnNldExheWVyU2Npc3NvclJlY3QoSW50UmVjdCgwLCAwLCAxMDAwLCAx
MDAwKSk7CiAKICAgICAgICAgb2NjbHVzaW9uLmVudGVyVGFyZ2V0UmVuZGVyU3VyZmFjZShsYXll
ci0+cmVuZGVyU3VyZmFjZSgpKTsKQEAgLTEyNDUsNyArMTI0MCw3IEBAIHByb3RlY3RlZDoKICAg
ICAgICAgdHlwZW5hbWUgVHlwZXM6OkNvbnRlbnRMYXllclR5cGUqIGxheWVyID0gdGhpcy0+Y3Jl
YXRlRHJhd2luZ1N1cmZhY2UocGFyZW50LCB0aGlzLT5pZGVudGl0eU1hdHJpeCwgRmxvYXRQb2lu
dCgwLCAwKSwgSW50U2l6ZSgyMDAsIDIwMCksIHRydWUpOwogICAgICAgICB0aGlzLT5jYWxjRHJh
d0V0YyhwYXJlbnQpOwogCi0gICAgICAgIFRlc3RDQ09jY2x1c2lvblRyYWNrZXJCYXNlPHR5cGVu
YW1lIFR5cGVzOjpMYXllclR5cGUsIHR5cGVuYW1lIFR5cGVzOjpSZW5kZXJTdXJmYWNlVHlwZT4g
b2NjbHVzaW9uKEludFJlY3QoMCwgMCwgMTAwMCwgMTAwMCkpOworICAgICAgICBUZXN0Q0NPY2Ns
dXNpb25UcmFja2VyV2l0aFNjaXNzb3I8dHlwZW5hbWUgVHlwZXM6OkxheWVyVHlwZSwgdHlwZW5h
bWUgVHlwZXM6OlJlbmRlclN1cmZhY2VUeXBlPiBvY2NsdXNpb24oSW50UmVjdCgwLCAwLCAxMDAw
LCAxMDAwKSk7CiAgICAgICAgIG9jY2x1c2lvbi5zZXRMYXllclNjaXNzb3JSZWN0KEludFJlY3Qo
MTAwLCAxMDAsIDEwMCwgMTAwKSk7CiAKICAgICAgICAgb2NjbHVzaW9uLmVudGVyVGFyZ2V0UmVu
ZGVyU3VyZmFjZShsYXllci0+cmVuZGVyU3VyZmFjZSgpKTsKQEAgLTEyODMsNyArMTI3OCw3IEBA
IHByb3RlY3RlZDoKICAgICAgICAgdHlwZW5hbWUgVHlwZXM6OkNvbnRlbnRMYXllclR5cGUqIGxh
eWVyID0gdGhpcy0+Y3JlYXRlRHJhd2luZ1N1cmZhY2UocGFyZW50LCB0aGlzLT5pZGVudGl0eU1h
dHJpeCwgRmxvYXRQb2ludCgwLCAwKSwgSW50U2l6ZSgyMDAsIDIwMCksIHRydWUpOwogICAgICAg
ICB0aGlzLT5jYWxjRHJhd0V0YyhwYXJlbnQpOwogCi0gICAgICAgIFRlc3RDQ09jY2x1c2lvblRy
YWNrZXJCYXNlPHR5cGVuYW1lIFR5cGVzOjpMYXllclR5cGUsIHR5cGVuYW1lIFR5cGVzOjpSZW5k
ZXJTdXJmYWNlVHlwZT4gb2NjbHVzaW9uKEludFJlY3QoMTAwLCAxMDAsIDEwMCwgMTAwKSk7Cisg
ICAgICAgIFRlc3RDQ09jY2x1c2lvblRyYWNrZXJXaXRoU2Npc3Nvcjx0eXBlbmFtZSBUeXBlczo6
TGF5ZXJUeXBlLCB0eXBlbmFtZSBUeXBlczo6UmVuZGVyU3VyZmFjZVR5cGU+IG9jY2x1c2lvbihJ
bnRSZWN0KDEwMCwgMTAwLCAxMDAsIDEwMCkpOwogICAgICAgICBvY2NsdXNpb24uc2V0TGF5ZXJT
Y2lzc29yUmVjdChJbnRSZWN0KDAsIDAsIDEwMDAsIDEwMDApKTsKIAogICAgICAgICBvY2NsdXNp
b24uZW50ZXJUYXJnZXRSZW5kZXJTdXJmYWNlKGxheWVyLT5yZW5kZXJTdXJmYWNlKCkpOwpAQCAt
MTMyMSw3ICsxMzE2LDcgQEAgcHJvdGVjdGVkOgogICAgICAgICB0eXBlbmFtZSBUeXBlczo6Q29u
dGVudExheWVyVHlwZSogbGF5ZXIgPSB0aGlzLT5jcmVhdGVEcmF3aW5nU3VyZmFjZShwYXJlbnQs
IHRoaXMtPmlkZW50aXR5TWF0cml4LCBGbG9hdFBvaW50KDAsIDApLCBJbnRTaXplKDIwMCwgMjAw
KSwgdHJ1ZSk7CiAgICAgICAgIHRoaXMtPmNhbGNEcmF3RXRjKHBhcmVudCk7CiAKLSAgICAgICAg
VGVzdENDT2NjbHVzaW9uVHJhY2tlckJhc2U8dHlwZW5hbWUgVHlwZXM6OkxheWVyVHlwZSwgdHlw
ZW5hbWUgVHlwZXM6OlJlbmRlclN1cmZhY2VUeXBlPiBvY2NsdXNpb24oSW50UmVjdCgwLCAwLCAx
MDAwLCAxMDAwKSk7CisgICAgICAgIFRlc3RDQ09jY2x1c2lvblRyYWNrZXJXaXRoU2Npc3Nvcjx0
eXBlbmFtZSBUeXBlczo6TGF5ZXJUeXBlLCB0eXBlbmFtZSBUeXBlczo6UmVuZGVyU3VyZmFjZVR5
cGU+IG9jY2x1c2lvbihJbnRSZWN0KDAsIDAsIDEwMDAsIDEwMDApKTsKICAgICAgICAgb2NjbHVz
aW9uLnNldExheWVyU2Npc3NvclJlY3QoSW50UmVjdCg1MCwgNTAsIDIwMCwgMjAwKSk7CiAKICAg
ICAgICAgb2NjbHVzaW9uLmVudGVyVGFyZ2V0UmVuZGVyU3VyZmFjZShsYXllci0+cmVuZGVyU3Vy
ZmFjZSgpKTsKQEAgLTEzNjMsNyArMTM1OCw3IEBAIHByb3RlY3RlZDoKICAgICAgICAgdHlwZW5h
bWUgVHlwZXM6OkNvbnRlbnRMYXllclR5cGUqIGxheWVyID0gdGhpcy0+Y3JlYXRlRHJhd2luZ1N1
cmZhY2UocGFyZW50LCB0aGlzLT5pZGVudGl0eU1hdHJpeCwgRmxvYXRQb2ludCgwLCAwKSwgSW50
U2l6ZSgyMDAsIDIwMCksIHRydWUpOwogICAgICAgICB0aGlzLT5jYWxjRHJhd0V0YyhwYXJlbnQp
OwogCi0gICAgICAgIFRlc3RDQ09jY2x1c2lvblRyYWNrZXJCYXNlPHR5cGVuYW1lIFR5cGVzOjpM
YXllclR5cGUsIHR5cGVuYW1lIFR5cGVzOjpSZW5kZXJTdXJmYWNlVHlwZT4gb2NjbHVzaW9uKElu
dFJlY3QoNTAsIDUwLCAyMDAsIDIwMCkpOworICAgICAgICBUZXN0Q0NPY2NsdXNpb25UcmFja2Vy
V2l0aFNjaXNzb3I8dHlwZW5hbWUgVHlwZXM6OkxheWVyVHlwZSwgdHlwZW5hbWUgVHlwZXM6OlJl
bmRlclN1cmZhY2VUeXBlPiBvY2NsdXNpb24oSW50UmVjdCg1MCwgNTAsIDIwMCwgMjAwKSk7CiAg
ICAgICAgIG9jY2x1c2lvbi5zZXRMYXllclNjaXNzb3JSZWN0KEludFJlY3QoMCwgMCwgMTAwMCwg
MTAwMCkpOwogCiAgICAgICAgIG9jY2x1c2lvbi5lbnRlclRhcmdldFJlbmRlclN1cmZhY2UobGF5
ZXItPnJlbmRlclN1cmZhY2UoKSk7CkBAIC0xNDA1LDcgKzE0MDAsNyBAQCBwcm90ZWN0ZWQ6CiAg
ICAgICAgIHR5cGVuYW1lIFR5cGVzOjpDb250ZW50TGF5ZXJUeXBlKiBsYXllciA9IHRoaXMtPmNy
ZWF0ZURyYXdpbmdTdXJmYWNlKHBhcmVudCwgdGhpcy0+aWRlbnRpdHlNYXRyaXgsIEZsb2F0UG9p
bnQoMCwgMCksIEludFNpemUoMjAwLCAyMDApLCB0cnVlKTsKICAgICAgICAgdGhpcy0+Y2FsY0Ry
YXdFdGMocGFyZW50KTsKIAotICAgICAgICBUZXN0Q0NPY2NsdXNpb25UcmFja2VyQmFzZTx0eXBl
bmFtZSBUeXBlczo6TGF5ZXJUeXBlLCB0eXBlbmFtZSBUeXBlczo6UmVuZGVyU3VyZmFjZVR5cGU+
IG9jY2x1c2lvbihJbnRSZWN0KDAsIDAsIDEwMDAsIDEwMDApKTsKKyAgICAgICAgVGVzdENDT2Nj
bHVzaW9uVHJhY2tlcldpdGhTY2lzc29yPHR5cGVuYW1lIFR5cGVzOjpMYXllclR5cGUsIHR5cGVu
YW1lIFR5cGVzOjpSZW5kZXJTdXJmYWNlVHlwZT4gb2NjbHVzaW9uKEludFJlY3QoMCwgMCwgMTAw
MCwgMTAwMCkpOwogICAgICAgICBvY2NsdXNpb24uc2V0TGF5ZXJTY2lzc29yUmVjdChJbnRSZWN0
KDUwMCwgNTAwLCAxMDAsIDEwMCkpOwogCiAgICAgICAgIG9jY2x1c2lvbi5lbnRlclRhcmdldFJl
bmRlclN1cmZhY2UobGF5ZXItPnJlbmRlclN1cmZhY2UoKSk7CkBAIC0xNDQ3LDcgKzE0NDIsNyBA
QCBwcm90ZWN0ZWQ6CiAgICAgICAgIHR5cGVuYW1lIFR5cGVzOjpDb250ZW50TGF5ZXJUeXBlKiBs
YXllciA9IHRoaXMtPmNyZWF0ZURyYXdpbmdTdXJmYWNlKHBhcmVudCwgdGhpcy0+aWRlbnRpdHlN
YXRyaXgsIEZsb2F0UG9pbnQoMCwgMCksIEludFNpemUoMjAwLCAyMDApLCB0cnVlKTsKICAgICAg
ICAgdGhpcy0+Y2FsY0RyYXdFdGMocGFyZW50KTsKIAotICAgICAgICBUZXN0Q0NPY2NsdXNpb25U
cmFja2VyQmFzZTx0eXBlbmFtZSBUeXBlczo6TGF5ZXJUeXBlLCB0eXBlbmFtZSBUeXBlczo6UmVu
ZGVyU3VyZmFjZVR5cGU+IG9jY2x1c2lvbihJbnRSZWN0KDUwMCwgNTAwLCAxMDAsIDEwMCkpOwor
ICAgICAgICBUZXN0Q0NPY2NsdXNpb25UcmFja2VyV2l0aFNjaXNzb3I8dHlwZW5hbWUgVHlwZXM6
OkxheWVyVHlwZSwgdHlwZW5hbWUgVHlwZXM6OlJlbmRlclN1cmZhY2VUeXBlPiBvY2NsdXNpb24o
SW50UmVjdCg1MDAsIDUwMCwgMTAwLCAxMDApKTsKICAgICAgICAgb2NjbHVzaW9uLnNldExheWVy
U2Npc3NvclJlY3QoSW50UmVjdCgwLCAwLCAxMDAwLCAxMDAwKSk7CiAKICAgICAgICAgb2NjbHVz
aW9uLmVudGVyVGFyZ2V0UmVuZGVyU3VyZmFjZShsYXllci0+cmVuZGVyU3VyZmFjZSgpKTsKQEAg
LTE0ODksNyArMTQ4NCw3IEBAIHByb3RlY3RlZDoKICAgICAgICAgdHlwZW5hbWUgVHlwZXM6OkNv
bnRlbnRMYXllclR5cGUqIGxheWVyID0gdGhpcy0+Y3JlYXRlRHJhd2luZ1N1cmZhY2UocGFyZW50
LCB0aGlzLT5pZGVudGl0eU1hdHJpeCwgRmxvYXRQb2ludCgwLCAwKSwgSW50U2l6ZSgyMDAsIDIw
MCksIHRydWUpOwogICAgICAgICB0aGlzLT5jYWxjRHJhd0V0YyhwYXJlbnQpOwogCi0gICAgICAg
IFRlc3RDQ09jY2x1c2lvblRyYWNrZXJCYXNlPHR5cGVuYW1lIFR5cGVzOjpMYXllclR5cGUsIHR5
cGVuYW1lIFR5cGVzOjpSZW5kZXJTdXJmYWNlVHlwZT4gb2NjbHVzaW9uKEludFJlY3QoMCwgMCwg
MTAwMCwgMTAwMCkpOworICAgICAgICBUZXN0Q0NPY2NsdXNpb25UcmFja2VyV2l0aFNjaXNzb3I8
dHlwZW5hbWUgVHlwZXM6OkxheWVyVHlwZSwgdHlwZW5hbWUgVHlwZXM6OlJlbmRlclN1cmZhY2VU
eXBlPiBvY2NsdXNpb24oSW50UmVjdCgwLCAwLCAxMDAwLCAxMDAwKSk7CiAgICAgICAgIG9jY2x1
c2lvbi5lbnRlclRhcmdldFJlbmRlclN1cmZhY2UobGF5ZXItPnJlbmRlclN1cmZhY2UoKSk7CiAK
ICAgICAgICAgLy8gVGhpcyBsYXllciBpcyB0cmFuc2xhdGVkIHdoZW4gZHJhd24gaW50byBpdHMg
dGFyZ2V0LiBTbyBpZiB0aGUgc2Npc3NvciByZWN0IGdpdmVuIGZyb20gdGhlIHRhcmdldCBzdXJm
YWNlCkBAIC0xNTEzLDcgKzE1MDgsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIHR5cGVuYW1lIFR5
cGVzOjpDb250ZW50TGF5ZXJUeXBlKiBsYXllciA9IHRoaXMtPmNyZWF0ZURyYXdpbmdTdXJmYWNl
KHBhcmVudCwgdGhpcy0+aWRlbnRpdHlNYXRyaXgsIEZsb2F0UG9pbnQoMCwgMCksIEludFNpemUo
MjAwLCAyMDApLCBmYWxzZSk7CiAgICAgICAgIHRoaXMtPmNhbGNEcmF3RXRjKHBhcmVudCk7CiAK
LSAgICAgICAgVGVzdENDT2NjbHVzaW9uVHJhY2tlckJhc2U8dHlwZW5hbWUgVHlwZXM6OkxheWVy
VHlwZSwgdHlwZW5hbWUgVHlwZXM6OlJlbmRlclN1cmZhY2VUeXBlPiBvY2NsdXNpb24oSW50UmVj
dCgwLCAwLCAxMDAwLCAxMDAwKSk7CisgICAgICAgIFRlc3RDQ09jY2x1c2lvblRyYWNrZXJXaXRo
U2Npc3Nvcjx0eXBlbmFtZSBUeXBlczo6TGF5ZXJUeXBlLCB0eXBlbmFtZSBUeXBlczo6UmVuZGVy
U3VyZmFjZVR5cGU+IG9jY2x1c2lvbihJbnRSZWN0KDAsIDAsIDEwMDAsIDEwMDApKTsKICAgICAg
ICAgb2NjbHVzaW9uLmVudGVyVGFyZ2V0UmVuZGVyU3VyZmFjZShsYXllci0+cmVuZGVyU3VyZmFj
ZSgpKTsKIAogICAgICAgICBFWFBFQ1RfRkFMU0Uob2NjbHVzaW9uLm9jY2x1ZGVkKGxheWVyLCBJ
bnRSZWN0KDAsIDAsIDEwMCwgMTAwKSkpOwpAQCAtMTU0OSw3ICsxNTQ0LDcgQEAgcHJvdGVjdGVk
OgogICAgICAgICB0aGlzLT5jYWxjRHJhd0V0YyhwYXJlbnQpOwogCiAgICAgICAgIHsKLSAgICAg
ICAgICAgIFRlc3RDQ09jY2x1c2lvblRyYWNrZXJCYXNlPHR5cGVuYW1lIFR5cGVzOjpMYXllclR5
cGUsIHR5cGVuYW1lIFR5cGVzOjpSZW5kZXJTdXJmYWNlVHlwZT4gb2NjbHVzaW9uKEludFJlY3Qo
MCwgMCwgMTAwMCwgMTAwMCkpOworICAgICAgICAgICAgVGVzdENDT2NjbHVzaW9uVHJhY2tlcldp
dGhTY2lzc29yPHR5cGVuYW1lIFR5cGVzOjpMYXllclR5cGUsIHR5cGVuYW1lIFR5cGVzOjpSZW5k
ZXJTdXJmYWNlVHlwZT4gb2NjbHVzaW9uKEludFJlY3QoMCwgMCwgMTAwMCwgMTAwMCkpOwogICAg
ICAgICAgICAgbGF5ZXItPnNldE9wYXF1ZUNvbnRlbnRzUmVjdChJbnRSZWN0KDAsIDAsIDEwMCwg
MTAwKSk7CiAKICAgICAgICAgICAgIG9jY2x1c2lvbi5lbnRlclRhcmdldFJlbmRlclN1cmZhY2Uo
cGFyZW50LT5yZW5kZXJTdXJmYWNlKCkpOwpAQCAtMTU2NCw3ICsxNTU5LDcgQEAgcHJvdGVjdGVk
OgogICAgICAgICB9CiAKICAgICAgICAgewotICAgICAgICAgICAgVGVzdENDT2NjbHVzaW9uVHJh
Y2tlckJhc2U8dHlwZW5hbWUgVHlwZXM6OkxheWVyVHlwZSwgdHlwZW5hbWUgVHlwZXM6OlJlbmRl
clN1cmZhY2VUeXBlPiBvY2NsdXNpb24oSW50UmVjdCgwLCAwLCAxMDAwLCAxMDAwKSk7CisgICAg
ICAgICAgICBUZXN0Q0NPY2NsdXNpb25UcmFja2VyV2l0aFNjaXNzb3I8dHlwZW5hbWUgVHlwZXM6
OkxheWVyVHlwZSwgdHlwZW5hbWUgVHlwZXM6OlJlbmRlclN1cmZhY2VUeXBlPiBvY2NsdXNpb24o
SW50UmVjdCgwLCAwLCAxMDAwLCAxMDAwKSk7CiAgICAgICAgICAgICBsYXllci0+c2V0T3BhcXVl
Q29udGVudHNSZWN0KEludFJlY3QoMjAsIDIwLCAxODAsIDE4MCkpOwogCiAgICAgICAgICAgICBv
Y2NsdXNpb24uZW50ZXJUYXJnZXRSZW5kZXJTdXJmYWNlKHBhcmVudC0+cmVuZGVyU3VyZmFjZSgp
KTsKQEAgLTE1NzksNyArMTU3NCw3IEBAIHByb3RlY3RlZDoKICAgICAgICAgfQogCiAgICAgICAg
IHsKLSAgICAgICAgICAgIFRlc3RDQ09jY2x1c2lvblRyYWNrZXJCYXNlPHR5cGVuYW1lIFR5cGVz
OjpMYXllclR5cGUsIHR5cGVuYW1lIFR5cGVzOjpSZW5kZXJTdXJmYWNlVHlwZT4gb2NjbHVzaW9u
KEludFJlY3QoMCwgMCwgMTAwMCwgMTAwMCkpOworICAgICAgICAgICAgVGVzdENDT2NjbHVzaW9u
VHJhY2tlcldpdGhTY2lzc29yPHR5cGVuYW1lIFR5cGVzOjpMYXllclR5cGUsIHR5cGVuYW1lIFR5
cGVzOjpSZW5kZXJTdXJmYWNlVHlwZT4gb2NjbHVzaW9uKEludFJlY3QoMCwgMCwgMTAwMCwgMTAw
MCkpOwogICAgICAgICAgICAgbGF5ZXItPnNldE9wYXF1ZUNvbnRlbnRzUmVjdChJbnRSZWN0KDE1
MCwgMTUwLCAxMDAsIDEwMCkpOwogCiAgICAgICAgICAgICBvY2NsdXNpb24uZW50ZXJUYXJnZXRS
ZW5kZXJTdXJmYWNlKHBhcmVudC0+cmVuZGVyU3VyZmFjZSgpKTsKQEAgLTE2MTAsNyArMTYwNSw3
IEBAIHByb3RlY3RlZDoKICAgICAgICAgdHlwZW5hbWUgVHlwZXM6OkNvbnRlbnRMYXllclR5cGUq
IGxheWVyID0gdGhpcy0+Y3JlYXRlRHJhd2luZ0xheWVyKGNvbnRhaW5lciwgdHJhbnNmb3JtLCBG
bG9hdFBvaW50KDEwMCwgMTAwKSwgSW50U2l6ZSgyMDAsIDIwMCksIHRydWUpOwogICAgICAgICB0
aGlzLT5jYWxjRHJhd0V0YyhwYXJlbnQpOwogCi0gICAgICAgIFRlc3RDQ09jY2x1c2lvblRyYWNr
ZXJCYXNlPHR5cGVuYW1lIFR5cGVzOjpMYXllclR5cGUsIHR5cGVuYW1lIFR5cGVzOjpSZW5kZXJT
dXJmYWNlVHlwZT4gb2NjbHVzaW9uKEludFJlY3QoMCwgMCwgMTAwMCwgMTAwMCkpOworICAgICAg
ICBUZXN0Q0NPY2NsdXNpb25UcmFja2VyV2l0aFNjaXNzb3I8dHlwZW5hbWUgVHlwZXM6OkxheWVy
VHlwZSwgdHlwZW5hbWUgVHlwZXM6OlJlbmRlclN1cmZhY2VUeXBlPiBvY2NsdXNpb24oSW50UmVj
dCgwLCAwLCAxMDAwLCAxMDAwKSk7CiAgICAgICAgIG9jY2x1c2lvbi5lbnRlclRhcmdldFJlbmRl
clN1cmZhY2UocGFyZW50LT5yZW5kZXJTdXJmYWNlKCkpOwogCiAgICAgICAgIEVYUEVDVF9FUV9S
RUNUKEludFJlY3QoMCwgMCwgMjAwLCAyMDApLCBvY2NsdXNpb24udW5vY2NsdWRlZENvbnRlbnRS
ZWN0KGxheWVyLCBJbnRSZWN0KDAsIDAsIDIwMCwgMjAwKSkpOwpAQCAtMTYzNiw3ICsxNjMxLDcg
QEAgcHJvdGVjdGVkOgogICAgICAgICBjb250YWluZXItPnNldFByZXNlcnZlczNEKHRydWUpOwog
ICAgICAgICB0aGlzLT5jYWxjRHJhd0V0YyhwYXJlbnQpOwogCi0gICAgICAgIFRlc3RDQ09jY2x1
c2lvblRyYWNrZXJCYXNlPHR5cGVuYW1lIFR5cGVzOjpMYXllclR5cGUsIHR5cGVuYW1lIFR5cGVz
OjpSZW5kZXJTdXJmYWNlVHlwZT4gb2NjbHVzaW9uKEludFJlY3QoMCwgMCwgMTAwMCwgMTAwMCkp
OworICAgICAgICBUZXN0Q0NPY2NsdXNpb25UcmFja2VyV2l0aFNjaXNzb3I8dHlwZW5hbWUgVHlw
ZXM6OkxheWVyVHlwZSwgdHlwZW5hbWUgVHlwZXM6OlJlbmRlclN1cmZhY2VUeXBlPiBvY2NsdXNp
b24oSW50UmVjdCgwLCAwLCAxMDAwLCAxMDAwKSk7CiAgICAgICAgIG9jY2x1c2lvbi5lbnRlclRh
cmdldFJlbmRlclN1cmZhY2UocGFyZW50LT5yZW5kZXJTdXJmYWNlKCkpOwogCiAgICAgICAgIEVY
UEVDVF9FUV9SRUNUKEludFJlY3QoMCwgMCwgMjAwLCAyMDApLCBvY2NsdXNpb24udW5vY2NsdWRl
ZENvbnRlbnRSZWN0KGxheWVyLCBJbnRSZWN0KDAsIDAsIDIwMCwgMjAwKSkpOwpAQCAtMTY2NSw3
ICsxNjYwLDcgQEAgcHJvdGVjdGVkOgogICAgICAgICBjb250YWluZXItPnNldFByZXNlcnZlczNE
KHRydWUpOwogICAgICAgICB0aGlzLT5jYWxjRHJhd0V0YyhwYXJlbnQpOwogCi0gICAgICAgIFRl
c3RDQ09jY2x1c2lvblRyYWNrZXJCYXNlPHR5cGVuYW1lIFR5cGVzOjpMYXllclR5cGUsIHR5cGVu
YW1lIFR5cGVzOjpSZW5kZXJTdXJmYWNlVHlwZT4gb2NjbHVzaW9uKEludFJlY3QoMCwgMCwgMTAw
MCwgMTAwMCkpOworICAgICAgICBUZXN0Q0NPY2NsdXNpb25UcmFja2VyV2l0aFNjaXNzb3I8dHlw
ZW5hbWUgVHlwZXM6OkxheWVyVHlwZSwgdHlwZW5hbWUgVHlwZXM6OlJlbmRlclN1cmZhY2VUeXBl
PiBvY2NsdXNpb24oSW50UmVjdCgwLCAwLCAxMDAwLCAxMDAwKSk7CiAgICAgICAgIG9jY2x1c2lv
bi5lbnRlclRhcmdldFJlbmRlclN1cmZhY2UocGFyZW50LT5yZW5kZXJTdXJmYWNlKCkpOwogCiAg
ICAgICAgIC8vIFRoZSBib3R0b20gMTEgcGl4ZWwgcm93cyBvZiB0aGlzIGxheWVyIHJlbWFpbiB2
aXNpYmxlIGluc2lkZSB0aGUgY29udGFpbmVyLCBhZnRlciB0cmFuc2xhdGlvbiB0byB0aGUgdGFy
Z2V0IHN1cmZhY2UuIFdoZW4gdHJhbnNsYXRlZCBiYWNrLApAQCAtMTcyOSw3ICsxNzI0LDcgQEAg
cHJvdGVjdGVkOgogICAgICAgICBFWFBFQ1RfRkFMU0Uoc3VyZmFjZS0+ZHJhd09wYWNpdHlJc0Fu
aW1hdGluZygpKTsKICAgICAgICAgRVhQRUNUX1RSVUUoc3VyZmFjZS0+cmVuZGVyU3VyZmFjZSgp
LT5kcmF3T3BhY2l0eUlzQW5pbWF0aW5nKCkpOwogCi0gICAgICAgIFRlc3RDQ09jY2x1c2lvblRy
YWNrZXJCYXNlPHR5cGVuYW1lIFR5cGVzOjpMYXllclR5cGUsIHR5cGVuYW1lIFR5cGVzOjpSZW5k
ZXJTdXJmYWNlVHlwZT4gb2NjbHVzaW9uKEludFJlY3QoMCwgMCwgMTAwMCwgMTAwMCkpOworICAg
ICAgICBUZXN0Q0NPY2NsdXNpb25UcmFja2VyV2l0aFNjaXNzb3I8dHlwZW5hbWUgVHlwZXM6Okxh
eWVyVHlwZSwgdHlwZW5hbWUgVHlwZXM6OlJlbmRlclN1cmZhY2VUeXBlPiBvY2NsdXNpb24oSW50
UmVjdCgwLCAwLCAxMDAwLCAxMDAwKSk7CiAKICAgICAgICAgb2NjbHVzaW9uLmVudGVyVGFyZ2V0
UmVuZGVyU3VyZmFjZShzdXJmYWNlLT5yZW5kZXJTdXJmYWNlKCkpOwogICAgICAgICBvY2NsdXNp
b24ubWFya09jY2x1ZGVkQmVoaW5kTGF5ZXIoc3VyZmFjZUNoaWxkMik7CkBAIC0xNzcwLDcgKzE3
NjUsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIEVYUEVDVF9GQUxTRShzdXJmYWNlLT5kcmF3T3Bh
Y2l0eUlzQW5pbWF0aW5nKCkpOwogICAgICAgICBFWFBFQ1RfVFJVRShzdXJmYWNlLT5yZW5kZXJT
dXJmYWNlKCktPmRyYXdPcGFjaXR5SXNBbmltYXRpbmcoKSk7CiAKLSAgICAgICAgVGVzdENDT2Nj
bHVzaW9uVHJhY2tlckJhc2U8dHlwZW5hbWUgVHlwZXM6OkxheWVyVHlwZSwgdHlwZW5hbWUgVHlw
ZXM6OlJlbmRlclN1cmZhY2VUeXBlPiBvY2NsdXNpb24oSW50UmVjdCgwLCAwLCAxMDAwLCAxMDAw
KSk7CisgICAgICAgIFRlc3RDQ09jY2x1c2lvblRyYWNrZXJXaXRoU2Npc3Nvcjx0eXBlbmFtZSBU
eXBlczo6TGF5ZXJUeXBlLCB0eXBlbmFtZSBUeXBlczo6UmVuZGVyU3VyZmFjZVR5cGU+IG9jY2x1
c2lvbihJbnRSZWN0KDAsIDAsIDEwMDAsIDEwMDApKTsKIAogICAgICAgICBvY2NsdXNpb24uZW50
ZXJUYXJnZXRSZW5kZXJTdXJmYWNlKHN1cmZhY2UtPnJlbmRlclN1cmZhY2UoKSk7CiAgICAgICAg
IG9jY2x1c2lvbi5tYXJrT2NjbHVkZWRCZWhpbmRMYXllcihzdXJmYWNlQ2hpbGQyKTsKQEAgLTE4
MTksNyArMTgxNCw3IEBAIHByb3RlY3RlZDoKICAgICAgICAgRVhQRUNUX1RSVUUoc3VyZmFjZUNo
aWxkLT5kcmF3VHJhbnNmb3JtSXNBbmltYXRpbmcoKSk7CiAgICAgICAgIEVYUEVDVF9UUlVFKHN1
cmZhY2VDaGlsZC0+c2NyZWVuU3BhY2VUcmFuc2Zvcm1Jc0FuaW1hdGluZygpKTsKIAotICAgICAg
ICBUZXN0Q0NPY2NsdXNpb25UcmFja2VyQmFzZTx0eXBlbmFtZSBUeXBlczo6TGF5ZXJUeXBlLCB0
eXBlbmFtZSBUeXBlczo6UmVuZGVyU3VyZmFjZVR5cGU+IG9jY2x1c2lvbihJbnRSZWN0KDAsIDAs
IDEwMDAsIDEwMDApKTsKKyAgICAgICAgVGVzdENDT2NjbHVzaW9uVHJhY2tlcldpdGhTY2lzc29y
PHR5cGVuYW1lIFR5cGVzOjpMYXllclR5cGUsIHR5cGVuYW1lIFR5cGVzOjpSZW5kZXJTdXJmYWNl
VHlwZT4gb2NjbHVzaW9uKEludFJlY3QoMCwgMCwgMTAwMCwgMTAwMCkpOwogCiAgICAgICAgIG9j
Y2x1c2lvbi5lbnRlclRhcmdldFJlbmRlclN1cmZhY2Uoc3VyZmFjZTItPnJlbmRlclN1cmZhY2Uo
KSk7CiAgICAgICAgIG9jY2x1c2lvbi5tYXJrT2NjbHVkZWRCZWhpbmRMYXllcihzdXJmYWNlMik7
CkBAIC0xODk1LDcgKzE4OTAsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIHN1cmZhY2UyLT5zZXRP
cGFxdWVDb250ZW50c1JlY3QoSW50UmVjdCgwLCAwLCAyMDAsIDIwMCkpOwogICAgICAgICB0aGlz
LT5jYWxjRHJhd0V0YyhwYXJlbnQpOwogCi0gICAgICAgIFRlc3RDQ09jY2x1c2lvblRyYWNrZXJC
YXNlPHR5cGVuYW1lIFR5cGVzOjpMYXllclR5cGUsIHR5cGVuYW1lIFR5cGVzOjpSZW5kZXJTdXJm
YWNlVHlwZT4gb2NjbHVzaW9uKEludFJlY3QoMCwgMCwgMTAwMCwgMTAwMCkpOworICAgICAgICBU
ZXN0Q0NPY2NsdXNpb25UcmFja2VyV2l0aFNjaXNzb3I8dHlwZW5hbWUgVHlwZXM6OkxheWVyVHlw
ZSwgdHlwZW5hbWUgVHlwZXM6OlJlbmRlclN1cmZhY2VUeXBlPiBvY2NsdXNpb24oSW50UmVjdCgw
LCAwLCAxMDAwLCAxMDAwKSk7CiAKICAgICAgICAgb2NjbHVzaW9uLmVudGVyVGFyZ2V0UmVuZGVy
U3VyZmFjZShzdXJmYWNlMi0+cmVuZGVyU3VyZmFjZSgpKTsKICAgICAgICAgb2NjbHVzaW9uLm1h
cmtPY2NsdWRlZEJlaGluZExheWVyKHN1cmZhY2UyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vdGVzdHMvQ0NPY2NsdXNpb25UcmFja2VyVGVzdENvbW1vbi5oIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ09jY2x1c2lvblRyYWNrZXJUZXN0Q29tbW9uLmgKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZmNkYzNlZDZjOGFjNzE1ZDk4ODMzM2IxNzU3OTI1NmFmNDViZDhjYQotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NPY2NsdXNpb25UcmFj
a2VyVGVzdENvbW1vbi5oCkBAIC0wLDAgKzEsNTcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
ICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICog
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCisgKiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAqIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYg
Q0NPY2NsdXNpb25UcmFja2VyVGVzdENvbW1vbl9oCisjZGVmaW5lIENDT2NjbHVzaW9uVHJhY2tl
clRlc3RDb21tb25faAorCisjaW5jbHVkZSAiSW50UmVjdC5oIgorI2luY2x1ZGUgIlJlZ2lvbi5o
IgorI2luY2x1ZGUgIlJlbmRlclN1cmZhY2VDaHJvbWl1bS5oIgorI2luY2x1ZGUgImNjL0NDT2Nj
bHVzaW9uVHJhY2tlci5oIgorI2luY2x1ZGUgImNjL0NDUmVuZGVyU3VyZmFjZS5oIgorCituYW1l
c3BhY2UgV2ViS2l0VGVzdHMgeworCisvLyBBIHN1YmNsYXNzIHRvIGV4cG9zZSB0aGUgdG90YWwg
Y3VycmVudCBvY2NsdXNpb24uCit0ZW1wbGF0ZTx0eXBlbmFtZSBMYXllclR5cGUsIHR5cGVuYW1l
IFJlbmRlclN1cmZhY2VUeXBlPgorY2xhc3MgVGVzdENDT2NjbHVzaW9uVHJhY2tlckJhc2UgOiBw
dWJsaWMgV2ViQ29yZTo6Q0NPY2NsdXNpb25UcmFja2VyQmFzZTxMYXllclR5cGUsIFJlbmRlclN1
cmZhY2VUeXBlPiB7CitwdWJsaWM6CisgICAgVGVzdENDT2NjbHVzaW9uVHJhY2tlckJhc2UoV2Vi
Q29yZTo6SW50UmVjdCBzY3JlZW5TY2lzc29yUmVjdCwgYm9vbCByZWNvcmRNZXRyaWNzRm9yRnJh
bWUgPSBmYWxzZSkKKyAgICAgICAgOiBXZWJDb3JlOjpDQ09jY2x1c2lvblRyYWNrZXJCYXNlPExh
eWVyVHlwZSwgUmVuZGVyU3VyZmFjZVR5cGU+KHNjcmVlblNjaXNzb3JSZWN0LCByZWNvcmRNZXRy
aWNzRm9yRnJhbWUpCisgICAgeworICAgIH0KKworICAgIFdlYkNvcmU6OlJlZ2lvbiBvY2NsdXNp
b25JblNjcmVlblNwYWNlKCkgY29uc3QgeyByZXR1cm4gV2ViQ29yZTo6Q0NPY2NsdXNpb25UcmFj
a2VyQmFzZTxMYXllclR5cGUsIFJlbmRlclN1cmZhY2VUeXBlPjo6bV9zdGFjay5sYXN0KCkub2Nj
bHVzaW9uSW5TY3JlZW47IH0KKyAgICBXZWJDb3JlOjpSZWdpb24gb2NjbHVzaW9uSW5UYXJnZXRT
dXJmYWNlKCkgY29uc3QgeyByZXR1cm4gV2ViQ29yZTo6Q0NPY2NsdXNpb25UcmFja2VyQmFzZTxM
YXllclR5cGUsIFJlbmRlclN1cmZhY2VUeXBlPjo6bV9zdGFjay5sYXN0KCkub2NjbHVzaW9uSW5U
YXJnZXQ7IH0KKworICAgIHZvaWQgc2V0T2NjbHVzaW9uSW5TY3JlZW5TcGFjZShjb25zdCBXZWJD
b3JlOjpSZWdpb24mIHJlZ2lvbikgeyBXZWJDb3JlOjpDQ09jY2x1c2lvblRyYWNrZXJCYXNlPExh
eWVyVHlwZSwgUmVuZGVyU3VyZmFjZVR5cGU+OjptX3N0YWNrLmxhc3QoKS5vY2NsdXNpb25JblNj
cmVlbiA9IHJlZ2lvbjsgfQorICAgIHZvaWQgc2V0T2NjbHVzaW9uSW5UYXJnZXRTdXJmYWNlKGNv
bnN0IFdlYkNvcmU6OlJlZ2lvbiYgcmVnaW9uKSB7IFdlYkNvcmU6OkNDT2NjbHVzaW9uVHJhY2tl
ckJhc2U8TGF5ZXJUeXBlLCBSZW5kZXJTdXJmYWNlVHlwZT46Om1fc3RhY2subGFzdCgpLm9jY2x1
c2lvbkluVGFyZ2V0ID0gcmVnaW9uOyB9Cit9OworCit0eXBlZGVmIFRlc3RDQ09jY2x1c2lvblRy
YWNrZXJCYXNlPFdlYkNvcmU6OkxheWVyQ2hyb21pdW0sIFdlYkNvcmU6OlJlbmRlclN1cmZhY2VD
aHJvbWl1bT4gVGVzdENDT2NjbHVzaW9uVHJhY2tlcjsKK3R5cGVkZWYgVGVzdENDT2NjbHVzaW9u
VHJhY2tlckJhc2U8V2ViQ29yZTo6Q0NMYXllckltcGwsIFdlYkNvcmU6OkNDUmVuZGVyU3VyZmFj
ZT4gVGVzdENDT2NjbHVzaW9uVHJhY2tlckltcGw7CisKK30KKworI2VuZGlmIC8vIENDT2NjbHVz
aW9uVHJhY2tlclRlc3RDb21tb25faAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>134156</attachid>
            <date>2012-03-27 15:58:39 -0700</date>
            <delta_ts>2012-03-29 11:14:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-82380-20120327185838.patch</filename>
            <type>text/plain</type>
            <size>35097</size>
            <attacher name="Dana Jansens">danakj</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEyMzI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWE3Yzg1MzJiZmFkMGJi
NTkxM2UyYjkwZTQ3YWEyYmEyNTYxZmJjNS4uOGZhNWYxMGNkMDk3ZmExZTdkYmYzYzY1NzM4YzIy
YTdmZWY4MjMzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDI1IEBACiAyMDEyLTAzLTI3ICBEYW5h
IEphbnNlbnMgIDxkYW5ha2pAY2hyb21pdW0ub3JnPgogCisgICAgICAgIFtjaHJvbWl1bV0gUmVt
b3ZlIHVubmVlZGVkIGNvZGUrZml4bWVzIGZyb20gQ0NPY2NsdXNpb25UcmFja2VyCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MjM4MAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBjdXJyZW50IG9jY2x1
c2lvbiB3YXMgZXhwb3NlZCBvbiB0aGUgb2NjbHVzaW9uIHRyYWNrZXIgZm9yIHRoZQorICAgICAg
ICB0cmFuc2l0aW9uIG92ZXIgdG8gY3VsbGluZyAyLjAgd2hpY2ggaGFzIGxhbmRlZCwgc28gd2Ug
Y2FuIHJlbW92ZQorICAgICAgICBpdCBub3cuIEl0IHN0aWxsIGhhZCBvbmUgdXNlIGluIHVuaXQg
dGVzdHMgd2hpY2ggaXMgbW92ZWQgdG8gYQorICAgICAgICB0ZXN0IHN1YmNsYXNzLgorCisgICAg
ICAgIEFib3ZlIHRlc3Qgc3ViY2xhc3MgYWxyZWFkeSBleGlzdGVkIGluIHRoZSBvY2NsdXNpb24g
dHJhY2tlciB0ZXN0cywKKyAgICAgICAgc28gcHVsbGVkIGl0IG91dCB0byBhIGNvbW1vbiBmaWxl
IENDT2NjbHVzaW9uVHJhY2tlclRlc3RDb21tb24uaAorICAgICAgICBzbyB0aGF0IG90aGVyIHVu
aXQgdGVzdHMgY2FuIHVzZSBpdCB0byBnZXQgYXQgb2NjbHVzaW9uIGludGVybmFscy4KKworICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDT2NjbHVzaW9uVHJhY2tlci5j
cHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9jYy9DQ09jY2x1c2lvblRyYWNrZXIuaDoKKworMjAxMi0wMy0yNyAgRGFuYSBKYW5zZW5z
ICA8ZGFuYWtqQGNocm9taXVtLm9yZz4KKwogICAgICAgICBbY2hyb21pdW1dIFJlbmFtZSBvcGFx
dWVDb250ZW50c1JlZ2lvbigpIHRvIHZpc2libGVDb250ZW50T3BhcXVlUmVnaW9uKCkKICAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgxNjg5CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggOThmZmY5NGVhYjMxZjBiMDJhZjhlNjgyODU1YzUyMmZj
Y2RmNTJlMy4uZmRkMTc2NWRmYjliOTY4YjlhMDI3NWQzMWMyYTg4ZTg5YTBhNDRiZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsNSArMSw1NCBAQAogMjAxMi0wMy0yNyAgRGFuYSBK
YW5zZW5zICA8ZGFuYWtqQGNocm9taXVtLm9yZz4KIAorICAgICAgICBbY2hyb21pdW1dIFJlbW92
ZSB1bm5lZWRlZCBjb2RlK2ZpeG1lcyBmcm9tIENDT2NjbHVzaW9uVHJhY2tlcgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODIzODAKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYktpdC5neXBpOgorICAg
ICAgICAqIHRlc3RzL0NDTGF5ZXJUcmVlSG9zdFRlc3QuY3BwOgorICAgICAgICAoV1RGOjpUZXN0
TGF5ZXJDaHJvbWl1bTo6cGFpbnRDb250ZW50c0lmRGlydHkpOgorICAgICAgICAqIHRlc3RzL0ND
T2NjbHVzaW9uVHJhY2tlclRlc3QuY3BwOgorICAgICAgICAoV2ViS2l0VGVzdHM6OlRlc3RDQ09j
Y2x1c2lvblRyYWNrZXJXaXRoU2Npc3Nvcjo6VGVzdENDT2NjbHVzaW9uVHJhY2tlcldpdGhTY2lz
c29yKToKKyAgICAgICAgKFdlYktpdFRlc3RzOjpDQ09jY2x1c2lvblRyYWNrZXJUZXN0SWRlbnRp
dHlUcmFuc2Zvcm1zOjpydW5NeVRlc3QpOgorICAgICAgICAoV2ViS2l0VGVzdHM6OkNDT2NjbHVz
aW9uVHJhY2tlclRlc3RSb3RhdGVkQ2hpbGQ6OnJ1bk15VGVzdCk6CisgICAgICAgIChXZWJLaXRU
ZXN0czo6Q0NPY2NsdXNpb25UcmFja2VyVGVzdFRyYW5zbGF0ZWRDaGlsZDo6cnVuTXlUZXN0KToK
KyAgICAgICAgKFdlYktpdFRlc3RzOjpDQ09jY2x1c2lvblRyYWNrZXJUZXN0Q2hpbGRJblJvdGF0
ZWRDaGlsZDo6cnVuTXlUZXN0KToKKyAgICAgICAgKFdlYktpdFRlc3RzOjpDQ09jY2x1c2lvblRy
YWNrZXJUZXN0VmlzaXRUYXJnZXRUd29UaW1lczo6cnVuTXlUZXN0KToKKyAgICAgICAgKFdlYktp
dFRlc3RzOjpDQ09jY2x1c2lvblRyYWNrZXJUZXN0U3VyZmFjZVJvdGF0ZWRPZmZBeGlzOjpydW5N
eVRlc3QpOgorICAgICAgICAoV2ViS2l0VGVzdHM6OkNDT2NjbHVzaW9uVHJhY2tlclRlc3RTdXJm
YWNlV2l0aFR3b09wYXF1ZUNoaWxkcmVuOjpydW5NeVRlc3QpOgorICAgICAgICAoV2ViS2l0VGVz
dHM6OkNDT2NjbHVzaW9uVHJhY2tlclRlc3RPdmVybGFwcGluZ1N1cmZhY2VTaWJsaW5nczo6cnVu
TXlUZXN0KToKKyAgICAgICAgKFdlYktpdFRlc3RzOjpDQ09jY2x1c2lvblRyYWNrZXJUZXN0T3Zl
cmxhcHBpbmdTdXJmYWNlU2libGluZ3NXaXRoVHdvVHJhbnNmb3Jtczo6cnVuTXlUZXN0KToKKyAg
ICAgICAgKFdlYktpdFRlc3RzOjpDQ09jY2x1c2lvblRyYWNrZXJUZXN0RmlsdGVyczo6cnVuTXlU
ZXN0KToKKyAgICAgICAgKFdlYktpdFRlc3RzOjpDQ09jY2x1c2lvblRyYWNrZXJUZXN0TGF5ZXJT
Y2lzc29yUmVjdE91dHNpZGVDaGlsZDo6cnVuTXlUZXN0KToKKyAgICAgICAgKFdlYktpdFRlc3Rz
OjpDQ09jY2x1c2lvblRyYWNrZXJUZXN0U2NyZWVuU2Npc3NvclJlY3RPdXRzaWRlQ2hpbGQ6OnJ1
bk15VGVzdCk6CisgICAgICAgIChXZWJLaXRUZXN0czo6Q0NPY2NsdXNpb25UcmFja2VyVGVzdExh
eWVyU2Npc3NvclJlY3RPdmVyQ2hpbGQ6OnJ1bk15VGVzdCk6CisgICAgICAgIChXZWJLaXRUZXN0
czo6Q0NPY2NsdXNpb25UcmFja2VyVGVzdFNjcmVlblNjaXNzb3JSZWN0T3ZlckNoaWxkOjpydW5N
eVRlc3QpOgorICAgICAgICAoV2ViS2l0VGVzdHM6OkNDT2NjbHVzaW9uVHJhY2tlclRlc3RMYXll
clNjaXNzb3JSZWN0UGFydGx5T3ZlckNoaWxkOjpydW5NeVRlc3QpOgorICAgICAgICAoV2ViS2l0
VGVzdHM6OkNDT2NjbHVzaW9uVHJhY2tlclRlc3RTY3JlZW5TY2lzc29yUmVjdFBhcnRseU92ZXJD
aGlsZDo6cnVuTXlUZXN0KToKKyAgICAgICAgKFdlYktpdFRlc3RzOjpDQ09jY2x1c2lvblRyYWNr
ZXJUZXN0TGF5ZXJTY2lzc29yUmVjdE92ZXJOb3RoaW5nOjpydW5NeVRlc3QpOgorICAgICAgICAo
V2ViS2l0VGVzdHM6OkNDT2NjbHVzaW9uVHJhY2tlclRlc3RTY3JlZW5TY2lzc29yUmVjdE92ZXJO
b3RoaW5nOjpydW5NeVRlc3QpOgorICAgICAgICAoV2ViS2l0VGVzdHM6OkNDT2NjbHVzaW9uVHJh
Y2tlclRlc3RMYXllclNjaXNzb3JSZWN0Rm9yTGF5ZXJPZmZPcmlnaW46OnJ1bk15VGVzdCk6Cisg
ICAgICAgIChXZWJLaXRUZXN0czo6Q0NPY2NsdXNpb25UcmFja2VyVGVzdE9wYXF1ZUNvbnRlbnRz
UmVnaW9uRW1wdHk6OnJ1bk15VGVzdCk6CisgICAgICAgIChXZWJLaXRUZXN0czo6Q0NPY2NsdXNp
b25UcmFja2VyVGVzdE9wYXF1ZUNvbnRlbnRzUmVnaW9uTm9uRW1wdHk6OnJ1bk15VGVzdCk6Cisg
ICAgICAgIChXZWJLaXRUZXN0czo6Q0NPY2NsdXNpb25UcmFja2VyVGVzdDNkVHJhbnNmb3JtOjpy
dW5NeVRlc3QpOgorICAgICAgICAoV2ViS2l0VGVzdHM6OkNDT2NjbHVzaW9uVHJhY2tlclRlc3RQ
ZXJzcGVjdGl2ZVRyYW5zZm9ybTo6cnVuTXlUZXN0KToKKyAgICAgICAgKFdlYktpdFRlc3RzOjpD
Q09jY2x1c2lvblRyYWNrZXJUZXN0UGVyc3BlY3RpdmVUcmFuc2Zvcm1CZWhpbmRDYW1lcmE6OnJ1
bk15VGVzdCk6CisgICAgICAgIChXZWJLaXRUZXN0czo6Q0NPY2NsdXNpb25UcmFja2VyVGVzdEFu
aW1hdGlvbk9wYWNpdHkxT25NYWluVGhyZWFkOjpydW5NeVRlc3QpOgorICAgICAgICAoV2ViS2l0
VGVzdHM6OkNDT2NjbHVzaW9uVHJhY2tlclRlc3RBbmltYXRpb25PcGFjaXR5ME9uTWFpblRocmVh
ZDo6cnVuTXlUZXN0KToKKyAgICAgICAgKFdlYktpdFRlc3RzOjpDQ09jY2x1c2lvblRyYWNrZXJU
ZXN0QW5pbWF0aW9uVHJhbnNsYXRlT25NYWluVGhyZWFkOjpydW5NeVRlc3QpOgorICAgICAgICAo
V2ViS2l0VGVzdHM6OkNDT2NjbHVzaW9uVHJhY2tlclRlc3RTdXJmYWNlT2NjbHVzaW9uVHJhbnNs
YXRlc1RvUGFyZW50OjpydW5NeVRlc3QpOgorICAgICAgICAqIHRlc3RzL0NDT2NjbHVzaW9uVHJh
Y2tlclRlc3RDb21tb24uaDogQWRkZWQuCisgICAgICAgIChXZWJLaXRUZXN0cyk6CisgICAgICAg
IChUZXN0Q0NPY2NsdXNpb25UcmFja2VyQmFzZSk6CisgICAgICAgIChXZWJLaXRUZXN0czo6VGVz
dENDT2NjbHVzaW9uVHJhY2tlckJhc2U6OlRlc3RDQ09jY2x1c2lvblRyYWNrZXJCYXNlKToKKyAg
ICAgICAgKFdlYktpdFRlc3RzOjpUZXN0Q0NPY2NsdXNpb25UcmFja2VyQmFzZTo6b2NjbHVzaW9u
SW5TY3JlZW5TcGFjZSk6CisgICAgICAgIChXZWJLaXRUZXN0czo6VGVzdENDT2NjbHVzaW9uVHJh
Y2tlckJhc2U6Om9jY2x1c2lvbkluVGFyZ2V0U3VyZmFjZSk6CisgICAgICAgIChXZWJLaXRUZXN0
czo6VGVzdENDT2NjbHVzaW9uVHJhY2tlckJhc2U6OnNldE9jY2x1c2lvbkluU2NyZWVuU3BhY2Up
OgorICAgICAgICAoV2ViS2l0VGVzdHM6OlRlc3RDQ09jY2x1c2lvblRyYWNrZXJCYXNlOjpzZXRP
Y2NsdXNpb25JblRhcmdldFN1cmZhY2UpOgorCisyMDEyLTAzLTI3ICBEYW5hIEphbnNlbnMgIDxk
YW5ha2pAY2hyb21pdW0ub3JnPgorCiAgICAgICAgIFtjaHJvbWl1bV0gUmVuYW1lIG9wYXF1ZUNv
bnRlbnRzUmVnaW9uKCkgdG8gdmlzaWJsZUNvbnRlbnRPcGFxdWVSZWdpb24oKQogICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODE2ODkKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NPY2NsdXNp
b25UcmFja2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L2NjL0NDT2NjbHVzaW9uVHJhY2tlci5jcHAKaW5kZXggZDcxZjJhNjQxZmUyMTE5MTNmMTU2Njg5
Nzk3OTcwMjU3YWVmNTBjMi4uMzU1YjBhMDNlYTBkMjcxYjBkNWM5MGNkYmRkMmYxZmJjYjQ5ZDg1
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0v
Y2MvQ0NPY2NsdXNpb25UcmFja2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9jYy9DQ09jY2x1c2lvblRyYWNrZXIuY3BwCkBAIC0zNDYsMjEgKzM0
Niw2IEBAIEludFJlY3QgQ0NPY2NsdXNpb25UcmFja2VyQmFzZTxMYXllclR5cGUsIFJlbmRlclN1
cmZhY2VUeXBlPjo6bGF5ZXJTY2lzc29yUmVjdEluCiAgICAgcmV0dXJuIGVuY2xvc2luZ0ludFJl
Y3QodG90YWxTY2lzc29yKTsKIH0KIAotdGVtcGxhdGU8dHlwZW5hbWUgTGF5ZXJUeXBlLCB0eXBl
bmFtZSBSZW5kZXJTdXJmYWNlVHlwZT4KLWNvbnN0IFJlZ2lvbiYgQ0NPY2NsdXNpb25UcmFja2Vy
QmFzZTxMYXllclR5cGUsIFJlbmRlclN1cmZhY2VUeXBlPjo6Y3VycmVudE9jY2x1c2lvbkluU2Ny
ZWVuU3BhY2UoKSBjb25zdAotewotICAgIEFTU0VSVCghbV9zdGFjay5pc0VtcHR5KCkpOwotICAg
IHJldHVybiBtX3N0YWNrLmxhc3QoKS5vY2NsdXNpb25JblNjcmVlbjsKLX0KLQotdGVtcGxhdGU8
dHlwZW5hbWUgTGF5ZXJUeXBlLCB0eXBlbmFtZSBSZW5kZXJTdXJmYWNlVHlwZT4KLWNvbnN0IFJl
Z2lvbiYgQ0NPY2NsdXNpb25UcmFja2VyQmFzZTxMYXllclR5cGUsIFJlbmRlclN1cmZhY2VUeXBl
Pjo6Y3VycmVudE9jY2x1c2lvbkluVGFyZ2V0U3VyZmFjZSgpIGNvbnN0Ci17Ci0gICAgQVNTRVJU
KCFtX3N0YWNrLmlzRW1wdHkoKSk7Ci0gICAgcmV0dXJuIG1fc3RhY2subGFzdCgpLm9jY2x1c2lv
bkluVGFyZ2V0OwotfQotCi0KIC8vIERlY2xhcmUgdGhlIHBvc3NpYmxlIGZ1bmN0aW9ucyBoZXJl
IGZvciB0aGUgbGlua2VyLgogdGVtcGxhdGUgQ0NPY2NsdXNpb25UcmFja2VyQmFzZTxMYXllckNo
cm9taXVtLCBSZW5kZXJTdXJmYWNlQ2hyb21pdW0+OjpDQ09jY2x1c2lvblRyYWNrZXJCYXNlKElu
dFJlY3Qgc2Npc3NvclJlY3RJblNjcmVlblNwYWNlLCBib29sIHJlY29yZE1ldHJpY3NGb3JGcmFt
ZSk7CiB0ZW1wbGF0ZSB2b2lkIENDT2NjbHVzaW9uVHJhY2tlckJhc2U8TGF5ZXJDaHJvbWl1bSwg
UmVuZGVyU3VyZmFjZUNocm9taXVtPjo6ZW50ZXJUYXJnZXRSZW5kZXJTdXJmYWNlKGNvbnN0IFJl
bmRlclN1cmZhY2VDaHJvbWl1bSogbmV3VGFyZ2V0KTsKQEAgLTM2OSw4ICszNTQsNiBAQCB0ZW1w
bGF0ZSB2b2lkIENDT2NjbHVzaW9uVHJhY2tlckJhc2U8TGF5ZXJDaHJvbWl1bSwgUmVuZGVyU3Vy
ZmFjZUNocm9taXVtPjo6bGVhdgogdGVtcGxhdGUgdm9pZCBDQ09jY2x1c2lvblRyYWNrZXJCYXNl
PExheWVyQ2hyb21pdW0sIFJlbmRlclN1cmZhY2VDaHJvbWl1bT46Om1hcmtPY2NsdWRlZEJlaGlu
ZExheWVyKGNvbnN0IExheWVyQ2hyb21pdW0qKTsKIHRlbXBsYXRlIGJvb2wgQ0NPY2NsdXNpb25U
cmFja2VyQmFzZTxMYXllckNocm9taXVtLCBSZW5kZXJTdXJmYWNlQ2hyb21pdW0+OjpvY2NsdWRl
ZChjb25zdCBMYXllckNocm9taXVtKiwgY29uc3QgSW50UmVjdCYgY29udGVudFJlY3QpIGNvbnN0
OwogdGVtcGxhdGUgSW50UmVjdCBDQ09jY2x1c2lvblRyYWNrZXJCYXNlPExheWVyQ2hyb21pdW0s
IFJlbmRlclN1cmZhY2VDaHJvbWl1bT46OnVub2NjbHVkZWRDb250ZW50UmVjdChjb25zdCBMYXll
ckNocm9taXVtKiwgY29uc3QgSW50UmVjdCYgY29udGVudFJlY3QpIGNvbnN0OwotdGVtcGxhdGUg
Y29uc3QgUmVnaW9uJiBDQ09jY2x1c2lvblRyYWNrZXJCYXNlPExheWVyQ2hyb21pdW0sIFJlbmRl
clN1cmZhY2VDaHJvbWl1bT46OmN1cnJlbnRPY2NsdXNpb25JblNjcmVlblNwYWNlKCkgY29uc3Q7
Ci10ZW1wbGF0ZSBjb25zdCBSZWdpb24mIENDT2NjbHVzaW9uVHJhY2tlckJhc2U8TGF5ZXJDaHJv
bWl1bSwgUmVuZGVyU3VyZmFjZUNocm9taXVtPjo6Y3VycmVudE9jY2x1c2lvbkluVGFyZ2V0U3Vy
ZmFjZSgpIGNvbnN0OwogdGVtcGxhdGUgSW50UmVjdCBDQ09jY2x1c2lvblRyYWNrZXJCYXNlPExh
eWVyQ2hyb21pdW0sIFJlbmRlclN1cmZhY2VDaHJvbWl1bT46OmxheWVyU2Npc3NvclJlY3RJblRh
cmdldFN1cmZhY2UoY29uc3QgTGF5ZXJDaHJvbWl1bSopIGNvbnN0OwogCiB0ZW1wbGF0ZSBDQ09j
Y2x1c2lvblRyYWNrZXJCYXNlPENDTGF5ZXJJbXBsLCBDQ1JlbmRlclN1cmZhY2U+OjpDQ09jY2x1
c2lvblRyYWNrZXJCYXNlKEludFJlY3Qgc2Npc3NvclJlY3RJblNjcmVlblNwYWNlLCBib29sIHJl
Y29yZE1ldHJpY3NGb3JGcmFtZSk7CkBAIC0zODAsOCArMzYzLDYgQEAgdGVtcGxhdGUgdm9pZCBD
Q09jY2x1c2lvblRyYWNrZXJCYXNlPENDTGF5ZXJJbXBsLCBDQ1JlbmRlclN1cmZhY2U+OjpsZWF2
ZVRvVGFyZ2UKIHRlbXBsYXRlIHZvaWQgQ0NPY2NsdXNpb25UcmFja2VyQmFzZTxDQ0xheWVySW1w
bCwgQ0NSZW5kZXJTdXJmYWNlPjo6bWFya09jY2x1ZGVkQmVoaW5kTGF5ZXIoY29uc3QgQ0NMYXll
ckltcGwqKTsKIHRlbXBsYXRlIGJvb2wgQ0NPY2NsdXNpb25UcmFja2VyQmFzZTxDQ0xheWVySW1w
bCwgQ0NSZW5kZXJTdXJmYWNlPjo6b2NjbHVkZWQoY29uc3QgQ0NMYXllckltcGwqLCBjb25zdCBJ
bnRSZWN0JiBjb250ZW50UmVjdCkgY29uc3Q7CiB0ZW1wbGF0ZSBJbnRSZWN0IENDT2NjbHVzaW9u
VHJhY2tlckJhc2U8Q0NMYXllckltcGwsIENDUmVuZGVyU3VyZmFjZT46OnVub2NjbHVkZWRDb250
ZW50UmVjdChjb25zdCBDQ0xheWVySW1wbCosIGNvbnN0IEludFJlY3QmIGNvbnRlbnRSZWN0KSBj
b25zdDsKLXRlbXBsYXRlIGNvbnN0IFJlZ2lvbiYgQ0NPY2NsdXNpb25UcmFja2VyQmFzZTxDQ0xh
eWVySW1wbCwgQ0NSZW5kZXJTdXJmYWNlPjo6Y3VycmVudE9jY2x1c2lvbkluU2NyZWVuU3BhY2Uo
KSBjb25zdDsKLXRlbXBsYXRlIGNvbnN0IFJlZ2lvbiYgQ0NPY2NsdXNpb25UcmFja2VyQmFzZTxD
Q0xheWVySW1wbCwgQ0NSZW5kZXJTdXJmYWNlPjo6Y3VycmVudE9jY2x1c2lvbkluVGFyZ2V0U3Vy
ZmFjZSgpIGNvbnN0OwogdGVtcGxhdGUgSW50UmVjdCBDQ09jY2x1c2lvblRyYWNrZXJCYXNlPEND
TGF5ZXJJbXBsLCBDQ1JlbmRlclN1cmZhY2U+OjpsYXllclNjaXNzb3JSZWN0SW5UYXJnZXRTdXJm
YWNlKGNvbnN0IENDTGF5ZXJJbXBsKikgY29uc3Q7CiAKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NPY2NsdXNpb25UcmFja2VyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ09jY2x1c2lv
blRyYWNrZXIuaAppbmRleCA1MzBlNmYzZGYxZDAwMjAyNzMzNDMzNTU1ZDAxYWIzZDkyNTc4NTRk
Li42YjJiNmUxNjY4YjU3OTU5YzEzODIwNDU3MjMzMmY5Y2Y3YTkzNDRmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ09jY2x1c2lvblRy
YWNrZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9j
Yy9DQ09jY2x1c2lvblRyYWNrZXIuaApAQCAtNzMsMTAgKzczLDYgQEAgcHVibGljOgogICAgIC8v
IEZJWE1FOiBSZW1vdmUgdGhpcyB3aGVuIHBhaW50IHRyYWNraW5nIGlzIG9uIGZvciBwYWludCBj
dWxsaW5nLgogICAgIHZvaWQgc2V0VXNlUGFpbnRUcmFja2luZyhib29sIHVzZSkgeyBtX3VzZVBh
aW50VHJhY2tpbmcgPSB1c2U7IH0KIAotICAgIC8vIEZJWE1FOiBSZW1vdmUgdGhlc2UgaW4gZnV0
dXJlLCB0aGV5IGFyZSB0byBtYWtlIENMcyBmb3IgdHJhbnNpdGlvbmluZyB0byB0aGlzIGVhc2ll
ci4KLSAgICBjb25zdCBSZWdpb24mIGN1cnJlbnRPY2NsdXNpb25JblNjcmVlblNwYWNlKCkgY29u
c3Q7Ci0gICAgY29uc3QgUmVnaW9uJiBjdXJyZW50T2NjbHVzaW9uSW5UYXJnZXRTdXJmYWNlKCkg
Y29uc3Q7Ci0KIHByb3RlY3RlZDoKICAgICBzdHJ1Y3QgU3RhY2tPYmplY3QgewogICAgICAgICBT
dGFja09iamVjdCgpIDogc3VyZmFjZSgwKSB7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vV2ViS2l0Lmd5cGkgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXBp
CmluZGV4IDk0MWY4ZThhZmYzYTJlOWZlYzIwMGU2YzhhMDAyNWY2ODkxNmMyNzIuLmViMDhjY2E1
ODkxZTIzNDA4OGVjZTZhZTVmODFlZmNmZDY1OTQ1YWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vV2ViS2l0Lmd5cGkKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJL
aXQuZ3lwaQpAQCAtNzksNiArNzksNyBAQAogICAgICAgICAgICAgJ3Rlc3RzL0NDTGF5ZXJUcmVl
SG9zdFRlc3QuY3BwJywKICAgICAgICAgICAgICd0ZXN0cy9DQ0xheWVyVHJlZVRlc3RDb21tb24u
aCcsCiAgICAgICAgICAgICAndGVzdHMvQ0NPY2NsdXNpb25UcmFja2VyVGVzdC5jcHAnLAorICAg
ICAgICAgICAgJ3Rlc3RzL0NDT2NjbHVzaW9uVHJhY2tlclRlc3RDb21tb24uaCcsCiAgICAgICAg
ICAgICAndGVzdHMvQ0NRdWFkQ3VsbGVyVGVzdC5jcHAnLAogICAgICAgICAgICAgJ3Rlc3RzL0ND
UmVuZGVyU3VyZmFjZVRlc3QuY3BwJywKICAgICAgICAgICAgICd0ZXN0cy9DQ1NjaGVkdWxlclN0
YXRlTWFjaGluZVRlc3QuY3BwJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
dGVzdHMvQ0NMYXllclRyZWVIb3N0VGVzdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rl
c3RzL0NDTGF5ZXJUcmVlSG9zdFRlc3QuY3BwCmluZGV4IDI4YjM4ZTMwNGY5ZjkzY2JkODk5MWZk
ZjZhM2YyYjNlNDU0MTEyM2YuLjA1MjNiYTRmNTAzN2I2ZWY1NWI4M2ZkMWFjZTFhYmQ3MzYwYTYx
OWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NMYXllclRyZWVI
b3N0VGVzdC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ0xheWVyVHJl
ZUhvc3RUZXN0LmNwcApAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgImNjL0NDTGF5ZXJUcmVl
SG9zdC5oIgogCiAjaW5jbHVkZSAiQ0NBbmltYXRpb25UZXN0Q29tbW9uLmgiCisjaW5jbHVkZSAi
Q0NPY2NsdXNpb25UcmFja2VyVGVzdENvbW1vbi5oIgogI2luY2x1ZGUgIkNvbXBvc2l0b3JGYWtl
V2ViR3JhcGhpY3NDb250ZXh0M0QuaCIKICNpbmNsdWRlICJDb250ZW50TGF5ZXJDaHJvbWl1bS5o
IgogI2luY2x1ZGUgIkZpbHRlck9wZXJhdGlvbnMuaCIKQEAgLTE3NTYsNyArMTc1Nyw5IEBAIHB1
YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBwYWludENvbnRlbnRzSWZEaXJ0eShjb25zdCBDQ09j
Y2x1c2lvblRyYWNrZXIqIG9jY2x1c2lvbikKICAgICB7Ci0gICAgICAgIG1fb2NjbHVkZWRTY3Jl
ZW5TcGFjZSA9IG9jY2x1c2lvbiA/IG9jY2x1c2lvbi0+Y3VycmVudE9jY2x1c2lvbkluU2NyZWVu
U3BhY2UoKSA6IFJlZ2lvbigpOworICAgICAgICAvLyBHYWluIGFjY2VzcyB0byBpbnRlcm5hbHMg
b2YgdGhlIENDT2NjbHVzaW9uVHJhY2tlci4KKyAgICAgICAgY29uc3QgVGVzdENDT2NjbHVzaW9u
VHJhY2tlciogdGVzdE9jY2x1c2lvbiA9IHN0YXRpY19jYXN0PGNvbnN0IFRlc3RDQ09jY2x1c2lv
blRyYWNrZXIqPihvY2NsdXNpb24pOworICAgICAgICBtX29jY2x1ZGVkU2NyZWVuU3BhY2UgPSB0
ZXN0T2NjbHVzaW9uID8gdGVzdE9jY2x1c2lvbi0+b2NjbHVzaW9uSW5TY3JlZW5TcGFjZSgpIDog
UmVnaW9uKCk7CiAgICAgfQogCiAgICAgdmlydHVhbCBib29sIGRyYXdzQ29udGVudCgpIGNvbnN0
IHsgcmV0dXJuIHRydWU7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVz
dHMvQ0NPY2NsdXNpb25UcmFja2VyVGVzdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rl
c3RzL0NDT2NjbHVzaW9uVHJhY2tlclRlc3QuY3BwCmluZGV4IGM4NTFmYThiOThhMzNlMDk1NTIy
MGMyNWNmZDQ0MzE5M2UyZTU5ZTEuLmNjYmIwYzJiNzVjZDViZDZlZmUyMjUzYjQwYTI2MzA5NjM2
OWFmNDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NPY2NsdXNp
b25UcmFja2VyVGVzdC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9DQ09j
Y2x1c2lvblRyYWNrZXJUZXN0LmNwcApAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgImNjL0ND
T2NjbHVzaW9uVHJhY2tlci5oIgogCiAjaW5jbHVkZSAiQ0NBbmltYXRpb25UZXN0Q29tbW9uLmgi
CisjaW5jbHVkZSAiQ0NPY2NsdXNpb25UcmFja2VyVGVzdENvbW1vbi5oIgogI2luY2x1ZGUgIkZp
bHRlck9wZXJhdGlvbnMuaCIKICNpbmNsdWRlICJMYXllckNocm9taXVtLmgiCiAjaW5jbHVkZSAi
UmVnaW9uLmgiCkBAIC03MywyMiArNzQsMTUgQEAgcHJpdmF0ZToKICAgICBJbnRSZWN0IG1fb3Bh
cXVlQ29udGVudHNSZWN0OwogfTsKIAotLy8gQSBzdWJjbGFzcyB0byBleHBvc2UgdGhlIHRvdGFs
IGN1cnJlbnQgb2NjbHVzaW9uLgogdGVtcGxhdGU8dHlwZW5hbWUgTGF5ZXJUeXBlLCB0eXBlbmFt
ZSBSZW5kZXJTdXJmYWNlVHlwZT4KLWNsYXNzIFRlc3RDQ09jY2x1c2lvblRyYWNrZXJCYXNlIDog
cHVibGljIENDT2NjbHVzaW9uVHJhY2tlckJhc2U8TGF5ZXJUeXBlLCBSZW5kZXJTdXJmYWNlVHlw
ZT4geworY2xhc3MgVGVzdENDT2NjbHVzaW9uVHJhY2tlcldpdGhTY2lzc29yIDogcHVibGljIFRl
c3RDQ09jY2x1c2lvblRyYWNrZXJCYXNlPExheWVyVHlwZSwgUmVuZGVyU3VyZmFjZVR5cGU+IHsK
IHB1YmxpYzoKLSAgICBUZXN0Q0NPY2NsdXNpb25UcmFja2VyQmFzZShJbnRSZWN0IHNjcmVlblNj
aXNzb3JSZWN0LCBib29sIHJlY29yZE1ldHJpY3NGb3JGcmFtZSA9IGZhbHNlKQotICAgICAgICA6
IENDT2NjbHVzaW9uVHJhY2tlckJhc2U8TGF5ZXJUeXBlLCBSZW5kZXJTdXJmYWNlVHlwZT4oc2Ny
ZWVuU2Npc3NvclJlY3QsIHJlY29yZE1ldHJpY3NGb3JGcmFtZSkKKyAgICBUZXN0Q0NPY2NsdXNp
b25UcmFja2VyV2l0aFNjaXNzb3IoSW50UmVjdCBzY3JlZW5TY2lzc29yUmVjdCwgYm9vbCByZWNv
cmRNZXRyaWNzRm9yRnJhbWUgPSBmYWxzZSkKKyAgICAgICAgOiBUZXN0Q0NPY2NsdXNpb25UcmFj
a2VyQmFzZTxMYXllclR5cGUsIFJlbmRlclN1cmZhY2VUeXBlPihzY3JlZW5TY2lzc29yUmVjdCwg
cmVjb3JkTWV0cmljc0ZvckZyYW1lKQogICAgICAgICAsIG1fb3ZlcnJpZGVMYXllclNjaXNzb3JS
ZWN0KGZhbHNlKQogICAgIHsKICAgICB9CiAKLSAgICBSZWdpb24gb2NjbHVzaW9uSW5TY3JlZW5T
cGFjZSgpIGNvbnN0IHsgcmV0dXJuIENDT2NjbHVzaW9uVHJhY2tlckJhc2U8TGF5ZXJUeXBlLCBS
ZW5kZXJTdXJmYWNlVHlwZT46Om1fc3RhY2subGFzdCgpLm9jY2x1c2lvbkluU2NyZWVuOyB9Ci0g
ICAgUmVnaW9uIG9jY2x1c2lvbkluVGFyZ2V0U3VyZmFjZSgpIGNvbnN0IHsgcmV0dXJuIENDT2Nj
bHVzaW9uVHJhY2tlckJhc2U8TGF5ZXJUeXBlLCBSZW5kZXJTdXJmYWNlVHlwZT46Om1fc3RhY2su
bGFzdCgpLm9jY2x1c2lvbkluVGFyZ2V0OyB9Ci0KLSAgICB2b2lkIHNldE9jY2x1c2lvbkluU2Ny
ZWVuU3BhY2UoY29uc3QgUmVnaW9uJiByZWdpb24pIHsgQ0NPY2NsdXNpb25UcmFja2VyQmFzZTxM
YXllclR5cGUsIFJlbmRlclN1cmZhY2VUeXBlPjo6bV9zdGFjay5sYXN0KCkub2NjbHVzaW9uSW5T
Y3JlZW4gPSByZWdpb247IH0KLSAgICB2b2lkIHNldE9jY2x1c2lvbkluVGFyZ2V0U3VyZmFjZShj
b25zdCBSZWdpb24mIHJlZ2lvbikgeyBDQ09jY2x1c2lvblRyYWNrZXJCYXNlPExheWVyVHlwZSwg
UmVuZGVyU3VyZmFjZVR5cGU+OjptX3N0YWNrLmxhc3QoKS5vY2NsdXNpb25JblRhcmdldCA9IHJl
Z2lvbjsgfQotCiAgICAgdm9pZCBzZXRMYXllclNjaXNzb3JSZWN0KGNvbnN0IEludFJlY3QmIHJl
Y3QpIHsgbV9vdmVycmlkZUxheWVyU2Npc3NvclJlY3QgPSB0cnVlOyBtX2xheWVyU2Npc3NvclJl
Y3QgPSByZWN0O30KICAgICB2b2lkIHVzZURlZmF1bHRMYXllclNjaXNzb3JSZWN0KCkgeyBtX292
ZXJyaWRlTGF5ZXJTY2lzc29yUmVjdCA9IGZhbHNlOyB9CiAKQEAgLTMxNSw3ICszMDksNyBAQCBw
cm90ZWN0ZWQ6CiAgICAgICAgIHR5cGVuYW1lIFR5cGVzOjpDb250ZW50TGF5ZXJUeXBlKiBsYXll
ciA9IHRoaXMtPmNyZWF0ZURyYXdpbmdMYXllcihwYXJlbnQsIHRoaXMtPmlkZW50aXR5TWF0cml4
LCBGbG9hdFBvaW50KDMwLCAzMCksIEludFNpemUoNTAwLCA1MDApLCB0cnVlKTsKICAgICAgICAg
dGhpcy0+Y2FsY0RyYXdFdGMocGFyZW50KTsKIAotICAgICAgICBUZXN0Q0NPY2NsdXNpb25UcmFj
a2VyQmFzZTx0eXBlbmFtZSBUeXBlczo6TGF5ZXJUeXBlLCB0eXBlbmFtZSBUeXBlczo6UmVuZGVy
U3VyZmFjZVR5cGU+IG9jY2x1c2lvbihJbnRSZWN0KDAsIDAsIDEwMDAsIDEwMDApKTsKKyAgICAg
ICAgVGVzdENDT2NjbHVzaW9uVHJhY2tlcldpdGhTY2lzc29yPHR5cGVuYW1lIFR5cGVzOjpMYXll
clR5cGUsIHR5cGVuYW1lIFR5cGVzOjpSZW5kZXJTdXJmYWNlVHlwZT4gb2NjbHVzaW9uKEludFJl
Y3QoMCwgMCwgMTAwMCwgMTAwMCkpOwogICAgICAgICBvY2NsdXNpb24uc2V0TGF5ZXJTY2lzc29y
UmVjdChJbnRSZWN0KDAsIDAsIDEwMDAsIDEwMDApKTsKIAogICAgICAgICBvY2NsdXNpb24uZW50
ZXJUYXJnZXRSZW5kZXJTdXJmYWNlKHBhcmVudC0+cmVuZGVyU3VyZmFjZSgpKTsKQEAgLTM2Nyw3
ICszNjEsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIHR5cGVuYW1lIFR5cGVzOjpDb250ZW50TGF5
ZXJUeXBlKiBsYXllciA9IHRoaXMtPmNyZWF0ZURyYXdpbmdMYXllcihwYXJlbnQsIGxheWVyVHJh
bnNmb3JtLCBGbG9hdFBvaW50KDMwLCAzMCksIEludFNpemUoNTAwLCA1MDApLCB0cnVlKTsKICAg
ICAgICAgdGhpcy0+Y2FsY0RyYXdFdGMocGFyZW50KTsKIAotICAgICAgICBUZXN0Q0NPY2NsdXNp
b25UcmFja2VyQmFzZTx0eXBlbmFtZSBUeXBlczo6TGF5ZXJUeXBlLCB0eXBlbmFtZSBUeXBlczo6
UmVuZGVyU3VyZmFjZVR5cGU+IG9jY2x1c2lvbihJbnRSZWN0KDAsIDAsIDEwMDAsIDEwMDApKTsK
KyAgICAgICAgVGVzdENDT2NjbHVzaW9uVHJhY2tlcldpdGhTY2lzc29yPHR5cGVuYW1lIFR5cGVz
OjpMYXllclR5cGUsIHR5cGVuYW1lIFR5cGVzOjpSZW5kZXJTdXJmYWNlVHlwZT4gb2NjbHVzaW9u
KEludFJlY3QoMCwgMCwgMTAwMCwgMTAwMCkpOwogICAgICAgICBvY2NsdXNpb24uc2V0TGF5ZXJT
Y2lzc29yUmVjdChJbnRSZWN0KDAsIDAsIDEwMDAsIDEwMDApKTsKIAogICAgICAgICBvY2NsdXNp
b24uZW50ZXJUYXJnZXRSZW5kZXJTdXJmYWNlKHBhcmVudC0+cmVuZGVyU3VyZmFjZSgpKTsKQEAg
LTQxNyw3ICs0MTEsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIHR5cGVuYW1lIFR5cGVzOjpDb250
ZW50TGF5ZXJUeXBlKiBsYXllciA9IHRoaXMtPmNyZWF0ZURyYXdpbmdMYXllcihwYXJlbnQsIGxh
eWVyVHJhbnNmb3JtLCBGbG9hdFBvaW50KDMwLCAzMCksIEludFNpemUoNTAwLCA1MDApLCB0cnVl
KTsKICAgICAgICAgdGhpcy0+Y2FsY0RyYXdFdGMocGFyZW50KTsKIAotICAgICAgICBUZXN0Q0NP
Y2NsdXNpb25UcmFja2VyQmFzZTx0eXBlbmFtZSBUeXBlczo6TGF5ZXJUeXBlLCB0eXBlbmFtZSBU
eXBlczo6UmVuZGVyU3VyZmFjZVR5cGU+IG9jY2x1c2lvbihJbnRSZWN0KDAsIDAsIDEwMDAsIDEw
MDApKTsKKyAgICAgICAgVGVzdENDT2NjbHVzaW9uVHJhY2tlcldpdGhTY2lzc29yPHR5cGVuYW1l
IFR5cGVzOjpMYXllclR5cGUsIHR5cGVuYW1lIFR5cGVzOjpSZW5kZXJTdXJmYWNlVHlwZT4gb2Nj
bHVzaW9uKEludFJlY3QoMCwgMCwgMTAwMCwgMTAwMCkpOwogICAgICAgICBvY2NsdXNpb24uc2V0
TGF5ZXJTY2lzc29yUmVjdChJbnRSZWN0KDAsIDAsIDEwMDAsIDEwMDApKTsKIAogICAgICAgICBv
Y2NsdXNpb24uZW50ZXJUYXJnZXRSZW5kZXJTdXJmYWNlKHBhcmVudC0+cmVuZGVyU3VyZmFjZSgp
KTsKQEAgLTQ4Myw3ICs0NzcsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIHR5cGVuYW1lIFR5cGVz
OjpDb250ZW50TGF5ZXJUeXBlKiBsYXllciA9IHRoaXMtPmNyZWF0ZURyYXdpbmdMYXllcihjaGls
ZCwgdGhpcy0+aWRlbnRpdHlNYXRyaXgsIEZsb2F0UG9pbnQoMTAsIDEwKSwgSW50U2l6ZSg1MDAs
IDUwMCksIHRydWUpOwogICAgICAgICB0aGlzLT5jYWxjRHJhd0V0YyhwYXJlbnQpOwogCi0gICAg
ICAgIFRlc3RDQ09jY2x1c2lvblRyYWNrZXJCYXNlPHR5cGVuYW1lIFR5cGVzOjpMYXllclR5cGUs
IHR5cGVuYW1lIFR5cGVzOjpSZW5kZXJTdXJmYWNlVHlwZT4gb2NjbHVzaW9uKEludFJlY3QoMCwg
MCwgMTAwMCwgMTAwMCkpOworICAgICAgICBUZXN0Q0NPY2NsdXNpb25UcmFja2VyV2l0aFNjaXNz
b3I8dHlwZW5hbWUgVHlwZXM6OkxheWVyVHlwZSwgdHlwZW5hbWUgVHlwZXM6OlJlbmRlclN1cmZh
Y2VUeXBlPiBvY2NsdXNpb24oSW50UmVjdCgwLCAwLCAxMDAwLCAxMDAwKSk7CiAgICAgICAgIG9j
Y2x1c2lvbi5zZXRMYXllclNjaXNzb3JSZWN0KEludFJlY3QoMCwgMCwgMTAwMCwgMTAwMCkpOwog
CiAgICAgICAgIG9jY2x1c2lvbi5lbnRlclRhcmdldFJlbmRlclN1cmZhY2UoY2hpbGQtPnJlbmRl
clN1cmZhY2UoKSk7CkBAIC01ODAsNyArNTc0LDcgQEAgcHJvdGVjdGVkOgogICAgICAgICB0eXBl
bmFtZSBUeXBlczo6Q29udGVudExheWVyVHlwZSogY2hpbGQyID0gdGhpcy0+Y3JlYXRlRHJhd2lu
Z0xheWVyKHBhcmVudCwgdGhpcy0+aWRlbnRpdHlNYXRyaXgsIEZsb2F0UG9pbnQoMzAsIDMwKSwg
SW50U2l6ZSg2MCwgMjApLCB0cnVlKTsKICAgICAgICAgdGhpcy0+Y2FsY0RyYXdFdGMocGFyZW50
KTsKIAotICAgICAgICBUZXN0Q0NPY2NsdXNpb25UcmFja2VyQmFzZTx0eXBlbmFtZSBUeXBlczo6
TGF5ZXJUeXBlLCB0eXBlbmFtZSBUeXBlczo6UmVuZGVyU3VyZmFjZVR5cGU+IG9jY2x1c2lvbihJ
bnRSZWN0KDAsIDAsIDEwMDAsIDEwMDApKTsKKyAgICAgICAgVGVzdENDT2NjbHVzaW9uVHJhY2tl
cldpdGhTY2lzc29yPHR5cGVuYW1lIFR5cGVzOjpMYXllclR5cGUsIHR5cGVuYW1lIFR5cGVzOjpS
ZW5kZXJTdXJmYWNlVHlwZT4gb2NjbHVzaW9uKEludFJlY3QoMCwgMCwgMTAwMCwgMTAwMCkpOwog
ICAgICAgICBvY2NsdXNpb24uc2V0TGF5ZXJTY2lzc29yUmVjdChJbnRSZWN0KC0xMCwgLTEwLCAx
MDAwLCAxMDAwKSk7CiAKICAgICAgICAgb2NjbHVzaW9uLmVudGVyVGFyZ2V0UmVuZGVyU3VyZmFj
ZShwYXJlbnQtPnJlbmRlclN1cmZhY2UoKSk7CkBAIC03MjcsNyArNzIxLDcgQEAgcHJvdGVjdGVk
OgogICAgICAgICB0eXBlbmFtZSBUeXBlczo6Q29udGVudExheWVyVHlwZSogbGF5ZXIgPSB0aGlz
LT5jcmVhdGVEcmF3aW5nTGF5ZXIoY2hpbGQsIGxheWVyVHJhbnNmb3JtLCBGbG9hdFBvaW50KDAs
IDApLCBJbnRTaXplKDUwMCwgNTAwKSwgdHJ1ZSk7CiAgICAgICAgIHRoaXMtPmNhbGNEcmF3RXRj
KHBhcmVudCk7CiAKLSAgICAgICAgVGVzdENDT2NjbHVzaW9uVHJhY2tlckJhc2U8dHlwZW5hbWUg
VHlwZXM6OkxheWVyVHlwZSwgdHlwZW5hbWUgVHlwZXM6OlJlbmRlclN1cmZhY2VUeXBlPiBvY2Ns
dXNpb24oSW50UmVjdCgwLCAwLCAxMDAwLCAxMDAwKSk7CisgICAgICAgIFRlc3RDQ09jY2x1c2lv
blRyYWNrZXJXaXRoU2Npc3Nvcjx0eXBlbmFtZSBUeXBlczo6TGF5ZXJUeXBlLCB0eXBlbmFtZSBU
eXBlczo6UmVuZGVyU3VyZmFjZVR5cGU+IG9jY2x1c2lvbihJbnRSZWN0KDAsIDAsIDEwMDAsIDEw
MDApKTsKICAgICAgICAgb2NjbHVzaW9uLnNldExheWVyU2Npc3NvclJlY3QoSW50UmVjdCgwLCAw
LCAxMDAwLCAxMDAwKSk7CiAKICAgICAgICAgSW50UmVjdCBjbGlwcGVkTGF5ZXJJbkNoaWxkID0g
bGF5ZXJUcmFuc2Zvcm0ubWFwUmVjdChsYXllci0+dmlzaWJsZUxheWVyUmVjdCgpKTsKQEAgLTc5
Miw3ICs3ODYsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIHR5cGVuYW1lIFR5cGVzOjpDb250ZW50
TGF5ZXJUeXBlKiBsYXllcjIgPSB0aGlzLT5jcmVhdGVEcmF3aW5nTGF5ZXIoY2hpbGQsIHRoaXMt
PmlkZW50aXR5TWF0cml4LCBGbG9hdFBvaW50KDEwLCA0NTApLCBJbnRTaXplKDUwMCwgNjApLCB0
cnVlKTsKICAgICAgICAgdGhpcy0+Y2FsY0RyYXdFdGMocGFyZW50KTsKIAotICAgICAgICBUZXN0
Q0NPY2NsdXNpb25UcmFja2VyQmFzZTx0eXBlbmFtZSBUeXBlczo6TGF5ZXJUeXBlLCB0eXBlbmFt
ZSBUeXBlczo6UmVuZGVyU3VyZmFjZVR5cGU+IG9jY2x1c2lvbihJbnRSZWN0KDAsIDAsIDEwMDAs
IDEwMDApKTsKKyAgICAgICAgVGVzdENDT2NjbHVzaW9uVHJhY2tlcldpdGhTY2lzc29yPHR5cGVu
YW1lIFR5cGVzOjpMYXllclR5cGUsIHR5cGVuYW1lIFR5cGVzOjpSZW5kZXJTdXJmYWNlVHlwZT4g
b2NjbHVzaW9uKEludFJlY3QoMCwgMCwgMTAwMCwgMTAwMCkpOwogICAgICAgICBvY2NsdXNpb24u
c2V0TGF5ZXJTY2lzc29yUmVjdChJbnRSZWN0KDAsIDAsIDEwMDAsIDEwMDApKTsKIAogICAgICAg
ICBvY2NsdXNpb24uZW50ZXJUYXJnZXRSZW5kZXJTdXJmYWNlKGNoaWxkLT5yZW5kZXJTdXJmYWNl
KCkpOwpAQCAtODgxLDcgKzg3NSw3IEBAIHByb3RlY3RlZDoKICAgICAgICAgdHlwZW5hbWUgVHlw
ZXM6OkNvbnRlbnRMYXllclR5cGUqIGxheWVyMiA9IHRoaXMtPmNyZWF0ZURyYXdpbmdMYXllcihj
aGlsZDIsIHRoaXMtPmlkZW50aXR5TWF0cml4LCBGbG9hdFBvaW50KC0xMCwgLTEwKSwgSW50U2l6
ZSg1MTAsIDUxMCksIHRydWUpOwogICAgICAgICB0aGlzLT5jYWxjRHJhd0V0YyhwYXJlbnQpOwog
Ci0gICAgICAgIFRlc3RDQ09jY2x1c2lvblRyYWNrZXJCYXNlPHR5cGVuYW1lIFR5cGVzOjpMYXll
clR5cGUsIHR5cGVuYW1lIFR5cGVzOjpSZW5kZXJTdXJmYWNlVHlwZT4gb2NjbHVzaW9uKEludFJl
Y3QoMCwgMCwgMTAwMCwgMTAwMCkpOworICAgICAgICBUZXN0Q0NPY2NsdXNpb25UcmFja2VyV2l0
aFNjaXNzb3I8dHlwZW5hbWUgVHlwZXM6OkxheWVyVHlwZSwgdHlwZW5hbWUgVHlwZXM6OlJlbmRl
clN1cmZhY2VUeXBlPiBvY2NsdXNpb24oSW50UmVjdCgwLCAwLCAxMDAwLCAxMDAwKSk7CiAgICAg
ICAgIG9jY2x1c2lvbi5zZXRMYXllclNjaXNzb3JSZWN0KEludFJlY3QoLTIwLCAtMjAsIDEwMDAs
IDEwMDApKTsKIAogICAgICAgICBvY2NsdXNpb24uZW50ZXJUYXJnZXRSZW5kZXJTdXJmYWNlKGNo
aWxkMi0+cmVuZGVyU3VyZmFjZSgpKTsKQEAgLTk5Miw3ICs5ODYsNyBAQCBwcm90ZWN0ZWQ6CiAg
ICAgICAgIHR5cGVuYW1lIFR5cGVzOjpDb250ZW50TGF5ZXJUeXBlKiBsYXllcjIgPSB0aGlzLT5j
cmVhdGVEcmF3aW5nTGF5ZXIoY2hpbGQyLCB0aGlzLT5pZGVudGl0eU1hdHJpeCwgRmxvYXRQb2lu
dCgtMTAsIC0xMCksIEludFNpemUoNTEwLCA1MTApLCB0cnVlKTsKICAgICAgICAgdGhpcy0+Y2Fs
Y0RyYXdFdGMocGFyZW50KTsKIAotICAgICAgICBUZXN0Q0NPY2NsdXNpb25UcmFja2VyQmFzZTx0
eXBlbmFtZSBUeXBlczo6TGF5ZXJUeXBlLCB0eXBlbmFtZSBUeXBlczo6UmVuZGVyU3VyZmFjZVR5
cGU+IG9jY2x1c2lvbihJbnRSZWN0KDAsIDAsIDEwMDAsIDEwMDApKTsKKyAgICAgICAgVGVzdEND
T2NjbHVzaW9uVHJhY2tlcldpdGhTY2lzc29yPHR5cGVuYW1lIFR5cGVzOjpMYXllclR5cGUsIHR5
cGVuYW1lIFR5cGVzOjpSZW5kZXJTdXJmYWNlVHlwZT4gb2NjbHVzaW9uKEludFJlY3QoMCwgMCwg
MTAwMCwgMTAwMCkpOwogICAgICAgICBvY2NsdXNpb24uc2V0TGF5ZXJTY2lzc29yUmVjdChJbnRS
ZWN0KC0zMCwgLTMwLCAxMDAwLCAxMDAwKSk7CiAKICAgICAgICAgb2NjbHVzaW9uLmVudGVyVGFy
Z2V0UmVuZGVyU3VyZmFjZShjaGlsZDItPnJlbmRlclN1cmZhY2UoKSk7CkBAIC0xMDk4LDcgKzEw
OTIsNyBAQCBwcm90ZWN0ZWQ6CiAKICAgICAgICAgdGhpcy0+Y2FsY0RyYXdFdGMocGFyZW50KTsK
IAotICAgICAgICBUZXN0Q0NPY2NsdXNpb25UcmFja2VyQmFzZTx0eXBlbmFtZSBUeXBlczo6TGF5
ZXJUeXBlLCB0eXBlbmFtZSBUeXBlczo6UmVuZGVyU3VyZmFjZVR5cGU+IG9jY2x1c2lvbihJbnRS
ZWN0KDAsIDAsIDEwMDAsIDEwMDApKTsKKyAgICAgICAgVGVzdENDT2NjbHVzaW9uVHJhY2tlcldp
dGhTY2lzc29yPHR5cGVuYW1lIFR5cGVzOjpMYXllclR5cGUsIHR5cGVuYW1lIFR5cGVzOjpSZW5k
ZXJTdXJmYWNlVHlwZT4gb2NjbHVzaW9uKEludFJlY3QoMCwgMCwgMTAwMCwgMTAwMCkpOwogICAg
ICAgICBvY2NsdXNpb24uc2V0TGF5ZXJTY2lzc29yUmVjdChJbnRSZWN0KDAsIDAsIDEwMDAsIDEw
MDApKTsKIAogICAgICAgICAvLyBPcGFjaXR5IGxheWVyIHdvbid0IGNvbnRyaWJ1dGUgdG8gb2Nj
bHVzaW9uLgpAQCAtMTE2Miw3ICsxMTU2LDcgQEAgcHJvdGVjdGVkOgogICAgICAgICB0eXBlbmFt
ZSBUeXBlczo6Q29udGVudExheWVyVHlwZSogbGF5ZXIgPSB0aGlzLT5jcmVhdGVEcmF3aW5nU3Vy
ZmFjZShwYXJlbnQsIHRoaXMtPmlkZW50aXR5TWF0cml4LCBGbG9hdFBvaW50KDAsIDApLCBJbnRT
aXplKDIwMCwgMjAwKSwgdHJ1ZSk7CiAgICAgICAgIHRoaXMtPmNhbGNEcmF3RXRjKHBhcmVudCk7
CiAKLSAgICAgICAgVGVzdENDT2NjbHVzaW9uVHJhY2tlckJhc2U8dHlwZW5hbWUgVHlwZXM6Okxh
eWVyVHlwZSwgdHlwZW5hbWUgVHlwZXM6OlJlbmRlclN1cmZhY2VUeXBlPiBvY2NsdXNpb24oSW50
UmVjdCgwLCAwLCAxMDAwLCAxMDAwKSk7CisgICAgICAgIFRlc3RDQ09jY2x1c2lvblRyYWNrZXJX
aXRoU2Npc3Nvcjx0eXBlbmFtZSBUeXBlczo6TGF5ZXJUeXBlLCB0eXBlbmFtZSBUeXBlczo6UmVu
ZGVyU3VyZmFjZVR5cGU+IG9jY2x1c2lvbihJbnRSZWN0KDAsIDAsIDEwMDAsIDEwMDApKTsKICAg
ICAgICAgb2NjbHVzaW9uLnNldExheWVyU2Npc3NvclJlY3QoSW50UmVjdCgyMDAsIDEwMCwgMTAw
LCAxMDApKTsKIAogICAgICAgICBvY2NsdXNpb24uZW50ZXJUYXJnZXRSZW5kZXJTdXJmYWNlKGxh
eWVyLT5yZW5kZXJTdXJmYWNlKCkpOwpAQCAtMTIwNSw3ICsxMTk5LDcgQEAgcHJvdGVjdGVkOgog
ICAgICAgICB0eXBlbmFtZSBUeXBlczo6Q29udGVudExheWVyVHlwZSogbGF5ZXIgPSB0aGlzLT5j
cmVhdGVEcmF3aW5nU3VyZmFjZShwYXJlbnQsIHRoaXMtPmlkZW50aXR5TWF0cml4LCBGbG9hdFBv
aW50KDAsIDApLCBJbnRTaXplKDIwMCwgMjAwKSwgdHJ1ZSk7CiAgICAgICAgIHRoaXMtPmNhbGNE
cmF3RXRjKHBhcmVudCk7CiAKLSAgICAgICAgVGVzdENDT2NjbHVzaW9uVHJhY2tlckJhc2U8dHlw
ZW5hbWUgVHlwZXM6OkxheWVyVHlwZSwgdHlwZW5hbWUgVHlwZXM6OlJlbmRlclN1cmZhY2VUeXBl
PiBvY2NsdXNpb24oSW50UmVjdCgyMDAsIDEwMCwgMTAwLCAxMDApKTsKKyAgICAgICAgVGVzdEND
T2NjbHVzaW9uVHJhY2tlcldpdGhTY2lzc29yPHR5cGVuYW1lIFR5cGVzOjpMYXllclR5cGUsIHR5
cGVuYW1lIFR5cGVzOjpSZW5kZXJTdXJmYWNlVHlwZT4gb2NjbHVzaW9uKEludFJlY3QoMjAwLCAx
MDAsIDEwMCwgMTAwKSk7CiAgICAgICAgIG9jY2x1c2lvbi5zZXRMYXllclNjaXNzb3JSZWN0KElu
dFJlY3QoMCwgMCwgMTAwMCwgMTAwMCkpOwogCiAgICAgICAgIG9jY2x1c2lvbi5lbnRlclRhcmdl
dFJlbmRlclN1cmZhY2UobGF5ZXItPnJlbmRlclN1cmZhY2UoKSk7CkBAIC0xMjQ4LDcgKzEyNDIs
NyBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIHR5cGVuYW1lIFR5cGVzOjpDb250ZW50TGF5ZXJUeXBl
KiBsYXllciA9IHRoaXMtPmNyZWF0ZURyYXdpbmdTdXJmYWNlKHBhcmVudCwgdGhpcy0+aWRlbnRp
dHlNYXRyaXgsIEZsb2F0UG9pbnQoMCwgMCksIEludFNpemUoMjAwLCAyMDApLCB0cnVlKTsKICAg
ICAgICAgdGhpcy0+Y2FsY0RyYXdFdGMocGFyZW50KTsKIAotICAgICAgICBUZXN0Q0NPY2NsdXNp
b25UcmFja2VyQmFzZTx0eXBlbmFtZSBUeXBlczo6TGF5ZXJUeXBlLCB0eXBlbmFtZSBUeXBlczo6
UmVuZGVyU3VyZmFjZVR5cGU+IG9jY2x1c2lvbihJbnRSZWN0KDAsIDAsIDEwMDAsIDEwMDApKTsK
KyAgICAgICAgVGVzdENDT2NjbHVzaW9uVHJhY2tlcldpdGhTY2lzc29yPHR5cGVuYW1lIFR5cGVz
OjpMYXllclR5cGUsIHR5cGVuYW1lIFR5cGVzOjpSZW5kZXJTdXJmYWNlVHlwZT4gb2NjbHVzaW9u
KEludFJlY3QoMCwgMCwgMTAwMCwgMTAwMCkpOwogICAgICAgICBvY2NsdXNpb24uc2V0TGF5ZXJT
Y2lzc29yUmVjdChJbnRSZWN0KDEwMCwgMTAwLCAxMDAsIDEwMCkpOwogCiAgICAgICAgIG9jY2x1
c2lvbi5lbnRlclRhcmdldFJlbmRlclN1cmZhY2UobGF5ZXItPnJlbmRlclN1cmZhY2UoKSk7CkBA
IC0xMjg2LDcgKzEyODAsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIHR5cGVuYW1lIFR5cGVzOjpD
b250ZW50TGF5ZXJUeXBlKiBsYXllciA9IHRoaXMtPmNyZWF0ZURyYXdpbmdTdXJmYWNlKHBhcmVu
dCwgdGhpcy0+aWRlbnRpdHlNYXRyaXgsIEZsb2F0UG9pbnQoMCwgMCksIEludFNpemUoMjAwLCAy
MDApLCB0cnVlKTsKICAgICAgICAgdGhpcy0+Y2FsY0RyYXdFdGMocGFyZW50KTsKIAotICAgICAg
ICBUZXN0Q0NPY2NsdXNpb25UcmFja2VyQmFzZTx0eXBlbmFtZSBUeXBlczo6TGF5ZXJUeXBlLCB0
eXBlbmFtZSBUeXBlczo6UmVuZGVyU3VyZmFjZVR5cGU+IG9jY2x1c2lvbihJbnRSZWN0KDEwMCwg
MTAwLCAxMDAsIDEwMCkpOworICAgICAgICBUZXN0Q0NPY2NsdXNpb25UcmFja2VyV2l0aFNjaXNz
b3I8dHlwZW5hbWUgVHlwZXM6OkxheWVyVHlwZSwgdHlwZW5hbWUgVHlwZXM6OlJlbmRlclN1cmZh
Y2VUeXBlPiBvY2NsdXNpb24oSW50UmVjdCgxMDAsIDEwMCwgMTAwLCAxMDApKTsKICAgICAgICAg
b2NjbHVzaW9uLnNldExheWVyU2Npc3NvclJlY3QoSW50UmVjdCgwLCAwLCAxMDAwLCAxMDAwKSk7
CiAKICAgICAgICAgb2NjbHVzaW9uLmVudGVyVGFyZ2V0UmVuZGVyU3VyZmFjZShsYXllci0+cmVu
ZGVyU3VyZmFjZSgpKTsKQEAgLTEzMjQsNyArMTMxOCw3IEBAIHByb3RlY3RlZDoKICAgICAgICAg
dHlwZW5hbWUgVHlwZXM6OkNvbnRlbnRMYXllclR5cGUqIGxheWVyID0gdGhpcy0+Y3JlYXRlRHJh
d2luZ1N1cmZhY2UocGFyZW50LCB0aGlzLT5pZGVudGl0eU1hdHJpeCwgRmxvYXRQb2ludCgwLCAw
KSwgSW50U2l6ZSgyMDAsIDIwMCksIHRydWUpOwogICAgICAgICB0aGlzLT5jYWxjRHJhd0V0Yyhw
YXJlbnQpOwogCi0gICAgICAgIFRlc3RDQ09jY2x1c2lvblRyYWNrZXJCYXNlPHR5cGVuYW1lIFR5
cGVzOjpMYXllclR5cGUsIHR5cGVuYW1lIFR5cGVzOjpSZW5kZXJTdXJmYWNlVHlwZT4gb2NjbHVz
aW9uKEludFJlY3QoMCwgMCwgMTAwMCwgMTAwMCkpOworICAgICAgICBUZXN0Q0NPY2NsdXNpb25U
cmFja2VyV2l0aFNjaXNzb3I8dHlwZW5hbWUgVHlwZXM6OkxheWVyVHlwZSwgdHlwZW5hbWUgVHlw
ZXM6OlJlbmRlclN1cmZhY2VUeXBlPiBvY2NsdXNpb24oSW50UmVjdCgwLCAwLCAxMDAwLCAxMDAw
KSk7CiAgICAgICAgIG9jY2x1c2lvbi5zZXRMYXllclNjaXNzb3JSZWN0KEludFJlY3QoNTAsIDUw
LCAyMDAsIDIwMCkpOwogCiAgICAgICAgIG9jY2x1c2lvbi5lbnRlclRhcmdldFJlbmRlclN1cmZh
Y2UobGF5ZXItPnJlbmRlclN1cmZhY2UoKSk7CkBAIC0xMzY2LDcgKzEzNjAsNyBAQCBwcm90ZWN0
ZWQ6CiAgICAgICAgIHR5cGVuYW1lIFR5cGVzOjpDb250ZW50TGF5ZXJUeXBlKiBsYXllciA9IHRo
aXMtPmNyZWF0ZURyYXdpbmdTdXJmYWNlKHBhcmVudCwgdGhpcy0+aWRlbnRpdHlNYXRyaXgsIEZs
b2F0UG9pbnQoMCwgMCksIEludFNpemUoMjAwLCAyMDApLCB0cnVlKTsKICAgICAgICAgdGhpcy0+
Y2FsY0RyYXdFdGMocGFyZW50KTsKIAotICAgICAgICBUZXN0Q0NPY2NsdXNpb25UcmFja2VyQmFz
ZTx0eXBlbmFtZSBUeXBlczo6TGF5ZXJUeXBlLCB0eXBlbmFtZSBUeXBlczo6UmVuZGVyU3VyZmFj
ZVR5cGU+IG9jY2x1c2lvbihJbnRSZWN0KDUwLCA1MCwgMjAwLCAyMDApKTsKKyAgICAgICAgVGVz
dENDT2NjbHVzaW9uVHJhY2tlcldpdGhTY2lzc29yPHR5cGVuYW1lIFR5cGVzOjpMYXllclR5cGUs
IHR5cGVuYW1lIFR5cGVzOjpSZW5kZXJTdXJmYWNlVHlwZT4gb2NjbHVzaW9uKEludFJlY3QoNTAs
IDUwLCAyMDAsIDIwMCkpOwogICAgICAgICBvY2NsdXNpb24uc2V0TGF5ZXJTY2lzc29yUmVjdChJ
bnRSZWN0KDAsIDAsIDEwMDAsIDEwMDApKTsKIAogICAgICAgICBvY2NsdXNpb24uZW50ZXJUYXJn
ZXRSZW5kZXJTdXJmYWNlKGxheWVyLT5yZW5kZXJTdXJmYWNlKCkpOwpAQCAtMTQwOCw3ICsxNDAy
LDcgQEAgcHJvdGVjdGVkOgogICAgICAgICB0eXBlbmFtZSBUeXBlczo6Q29udGVudExheWVyVHlw
ZSogbGF5ZXIgPSB0aGlzLT5jcmVhdGVEcmF3aW5nU3VyZmFjZShwYXJlbnQsIHRoaXMtPmlkZW50
aXR5TWF0cml4LCBGbG9hdFBvaW50KDAsIDApLCBJbnRTaXplKDIwMCwgMjAwKSwgdHJ1ZSk7CiAg
ICAgICAgIHRoaXMtPmNhbGNEcmF3RXRjKHBhcmVudCk7CiAKLSAgICAgICAgVGVzdENDT2NjbHVz
aW9uVHJhY2tlckJhc2U8dHlwZW5hbWUgVHlwZXM6OkxheWVyVHlwZSwgdHlwZW5hbWUgVHlwZXM6
OlJlbmRlclN1cmZhY2VUeXBlPiBvY2NsdXNpb24oSW50UmVjdCgwLCAwLCAxMDAwLCAxMDAwKSk7
CisgICAgICAgIFRlc3RDQ09jY2x1c2lvblRyYWNrZXJXaXRoU2Npc3Nvcjx0eXBlbmFtZSBUeXBl
czo6TGF5ZXJUeXBlLCB0eXBlbmFtZSBUeXBlczo6UmVuZGVyU3VyZmFjZVR5cGU+IG9jY2x1c2lv
bihJbnRSZWN0KDAsIDAsIDEwMDAsIDEwMDApKTsKICAgICAgICAgb2NjbHVzaW9uLnNldExheWVy
U2Npc3NvclJlY3QoSW50UmVjdCg1MDAsIDUwMCwgMTAwLCAxMDApKTsKIAogICAgICAgICBvY2Ns
dXNpb24uZW50ZXJUYXJnZXRSZW5kZXJTdXJmYWNlKGxheWVyLT5yZW5kZXJTdXJmYWNlKCkpOwpA
QCAtMTQ1MCw3ICsxNDQ0LDcgQEAgcHJvdGVjdGVkOgogICAgICAgICB0eXBlbmFtZSBUeXBlczo6
Q29udGVudExheWVyVHlwZSogbGF5ZXIgPSB0aGlzLT5jcmVhdGVEcmF3aW5nU3VyZmFjZShwYXJl
bnQsIHRoaXMtPmlkZW50aXR5TWF0cml4LCBGbG9hdFBvaW50KDAsIDApLCBJbnRTaXplKDIwMCwg
MjAwKSwgdHJ1ZSk7CiAgICAgICAgIHRoaXMtPmNhbGNEcmF3RXRjKHBhcmVudCk7CiAKLSAgICAg
ICAgVGVzdENDT2NjbHVzaW9uVHJhY2tlckJhc2U8dHlwZW5hbWUgVHlwZXM6OkxheWVyVHlwZSwg
dHlwZW5hbWUgVHlwZXM6OlJlbmRlclN1cmZhY2VUeXBlPiBvY2NsdXNpb24oSW50UmVjdCg1MDAs
IDUwMCwgMTAwLCAxMDApKTsKKyAgICAgICAgVGVzdENDT2NjbHVzaW9uVHJhY2tlcldpdGhTY2lz
c29yPHR5cGVuYW1lIFR5cGVzOjpMYXllclR5cGUsIHR5cGVuYW1lIFR5cGVzOjpSZW5kZXJTdXJm
YWNlVHlwZT4gb2NjbHVzaW9uKEludFJlY3QoNTAwLCA1MDAsIDEwMCwgMTAwKSk7CiAgICAgICAg
IG9jY2x1c2lvbi5zZXRMYXllclNjaXNzb3JSZWN0KEludFJlY3QoMCwgMCwgMTAwMCwgMTAwMCkp
OwogCiAgICAgICAgIG9jY2x1c2lvbi5lbnRlclRhcmdldFJlbmRlclN1cmZhY2UobGF5ZXItPnJl
bmRlclN1cmZhY2UoKSk7CkBAIC0xNDkyLDcgKzE0ODYsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgICAg
IHR5cGVuYW1lIFR5cGVzOjpDb250ZW50TGF5ZXJUeXBlKiBsYXllciA9IHRoaXMtPmNyZWF0ZURy
YXdpbmdTdXJmYWNlKHBhcmVudCwgdGhpcy0+aWRlbnRpdHlNYXRyaXgsIEZsb2F0UG9pbnQoMCwg
MCksIEludFNpemUoMjAwLCAyMDApLCB0cnVlKTsKICAgICAgICAgdGhpcy0+Y2FsY0RyYXdFdGMo
cGFyZW50KTsKIAotICAgICAgICBUZXN0Q0NPY2NsdXNpb25UcmFja2VyQmFzZTx0eXBlbmFtZSBU
eXBlczo6TGF5ZXJUeXBlLCB0eXBlbmFtZSBUeXBlczo6UmVuZGVyU3VyZmFjZVR5cGU+IG9jY2x1
c2lvbihJbnRSZWN0KDAsIDAsIDEwMDAsIDEwMDApKTsKKyAgICAgICAgVGVzdENDT2NjbHVzaW9u
VHJhY2tlcldpdGhTY2lzc29yPHR5cGVuYW1lIFR5cGVzOjpMYXllclR5cGUsIHR5cGVuYW1lIFR5
cGVzOjpSZW5kZXJTdXJmYWNlVHlwZT4gb2NjbHVzaW9uKEludFJlY3QoMCwgMCwgMTAwMCwgMTAw
MCkpOwogICAgICAgICBvY2NsdXNpb24uZW50ZXJUYXJnZXRSZW5kZXJTdXJmYWNlKGxheWVyLT5y
ZW5kZXJTdXJmYWNlKCkpOwogCiAgICAgICAgIC8vIFRoaXMgbGF5ZXIgaXMgdHJhbnNsYXRlZCB3
aGVuIGRyYXduIGludG8gaXRzIHRhcmdldC4gU28gaWYgdGhlIHNjaXNzb3IgcmVjdCBnaXZlbiBm
cm9tIHRoZSB0YXJnZXQgc3VyZmFjZQpAQCAtMTUxNiw3ICsxNTEwLDcgQEAgcHJvdGVjdGVkOgog
ICAgICAgICB0eXBlbmFtZSBUeXBlczo6Q29udGVudExheWVyVHlwZSogbGF5ZXIgPSB0aGlzLT5j
cmVhdGVEcmF3aW5nU3VyZmFjZShwYXJlbnQsIHRoaXMtPmlkZW50aXR5TWF0cml4LCBGbG9hdFBv
aW50KDAsIDApLCBJbnRTaXplKDIwMCwgMjAwKSwgZmFsc2UpOwogICAgICAgICB0aGlzLT5jYWxj
RHJhd0V0YyhwYXJlbnQpOwogCi0gICAgICAgIFRlc3RDQ09jY2x1c2lvblRyYWNrZXJCYXNlPHR5
cGVuYW1lIFR5cGVzOjpMYXllclR5cGUsIHR5cGVuYW1lIFR5cGVzOjpSZW5kZXJTdXJmYWNlVHlw
ZT4gb2NjbHVzaW9uKEludFJlY3QoMCwgMCwgMTAwMCwgMTAwMCkpOworICAgICAgICBUZXN0Q0NP
Y2NsdXNpb25UcmFja2VyV2l0aFNjaXNzb3I8dHlwZW5hbWUgVHlwZXM6OkxheWVyVHlwZSwgdHlw
ZW5hbWUgVHlwZXM6OlJlbmRlclN1cmZhY2VUeXBlPiBvY2NsdXNpb24oSW50UmVjdCgwLCAwLCAx
MDAwLCAxMDAwKSk7CiAgICAgICAgIG9jY2x1c2lvbi5lbnRlclRhcmdldFJlbmRlclN1cmZhY2Uo
bGF5ZXItPnJlbmRlclN1cmZhY2UoKSk7CiAKICAgICAgICAgRVhQRUNUX0ZBTFNFKG9jY2x1c2lv
bi5vY2NsdWRlZChsYXllciwgSW50UmVjdCgwLCAwLCAxMDAsIDEwMCkpKTsKQEAgLTE1NTIsNyAr
MTU0Niw3IEBAIHByb3RlY3RlZDoKICAgICAgICAgdGhpcy0+Y2FsY0RyYXdFdGMocGFyZW50KTsK
IAogICAgICAgICB7Ci0gICAgICAgICAgICBUZXN0Q0NPY2NsdXNpb25UcmFja2VyQmFzZTx0eXBl
bmFtZSBUeXBlczo6TGF5ZXJUeXBlLCB0eXBlbmFtZSBUeXBlczo6UmVuZGVyU3VyZmFjZVR5cGU+
IG9jY2x1c2lvbihJbnRSZWN0KDAsIDAsIDEwMDAsIDEwMDApKTsKKyAgICAgICAgICAgIFRlc3RD
Q09jY2x1c2lvblRyYWNrZXJXaXRoU2Npc3Nvcjx0eXBlbmFtZSBUeXBlczo6TGF5ZXJUeXBlLCB0
eXBlbmFtZSBUeXBlczo6UmVuZGVyU3VyZmFjZVR5cGU+IG9jY2x1c2lvbihJbnRSZWN0KDAsIDAs
IDEwMDAsIDEwMDApKTsKICAgICAgICAgICAgIGxheWVyLT5zZXRPcGFxdWVDb250ZW50c1JlY3Qo
SW50UmVjdCgwLCAwLCAxMDAsIDEwMCkpOwogCiAgICAgICAgICAgICBvY2NsdXNpb24uZW50ZXJU
YXJnZXRSZW5kZXJTdXJmYWNlKHBhcmVudC0+cmVuZGVyU3VyZmFjZSgpKTsKQEAgLTE1NjcsNyAr
MTU2MSw3IEBAIHByb3RlY3RlZDoKICAgICAgICAgfQogCiAgICAgICAgIHsKLSAgICAgICAgICAg
IFRlc3RDQ09jY2x1c2lvblRyYWNrZXJCYXNlPHR5cGVuYW1lIFR5cGVzOjpMYXllclR5cGUsIHR5
cGVuYW1lIFR5cGVzOjpSZW5kZXJTdXJmYWNlVHlwZT4gb2NjbHVzaW9uKEludFJlY3QoMCwgMCwg
MTAwMCwgMTAwMCkpOworICAgICAgICAgICAgVGVzdENDT2NjbHVzaW9uVHJhY2tlcldpdGhTY2lz
c29yPHR5cGVuYW1lIFR5cGVzOjpMYXllclR5cGUsIHR5cGVuYW1lIFR5cGVzOjpSZW5kZXJTdXJm
YWNlVHlwZT4gb2NjbHVzaW9uKEludFJlY3QoMCwgMCwgMTAwMCwgMTAwMCkpOwogICAgICAgICAg
ICAgbGF5ZXItPnNldE9wYXF1ZUNvbnRlbnRzUmVjdChJbnRSZWN0KDIwLCAyMCwgMTgwLCAxODAp
KTsKIAogICAgICAgICAgICAgb2NjbHVzaW9uLmVudGVyVGFyZ2V0UmVuZGVyU3VyZmFjZShwYXJl
bnQtPnJlbmRlclN1cmZhY2UoKSk7CkBAIC0xNTgyLDcgKzE1NzYsNyBAQCBwcm90ZWN0ZWQ6CiAg
ICAgICAgIH0KIAogICAgICAgICB7Ci0gICAgICAgICAgICBUZXN0Q0NPY2NsdXNpb25UcmFja2Vy
QmFzZTx0eXBlbmFtZSBUeXBlczo6TGF5ZXJUeXBlLCB0eXBlbmFtZSBUeXBlczo6UmVuZGVyU3Vy
ZmFjZVR5cGU+IG9jY2x1c2lvbihJbnRSZWN0KDAsIDAsIDEwMDAsIDEwMDApKTsKKyAgICAgICAg
ICAgIFRlc3RDQ09jY2x1c2lvblRyYWNrZXJXaXRoU2Npc3Nvcjx0eXBlbmFtZSBUeXBlczo6TGF5
ZXJUeXBlLCB0eXBlbmFtZSBUeXBlczo6UmVuZGVyU3VyZmFjZVR5cGU+IG9jY2x1c2lvbihJbnRS
ZWN0KDAsIDAsIDEwMDAsIDEwMDApKTsKICAgICAgICAgICAgIGxheWVyLT5zZXRPcGFxdWVDb250
ZW50c1JlY3QoSW50UmVjdCgxNTAsIDE1MCwgMTAwLCAxMDApKTsKIAogICAgICAgICAgICAgb2Nj
bHVzaW9uLmVudGVyVGFyZ2V0UmVuZGVyU3VyZmFjZShwYXJlbnQtPnJlbmRlclN1cmZhY2UoKSk7
CkBAIC0xNjEzLDcgKzE2MDcsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIHR5cGVuYW1lIFR5cGVz
OjpDb250ZW50TGF5ZXJUeXBlKiBsYXllciA9IHRoaXMtPmNyZWF0ZURyYXdpbmdMYXllcihjb250
YWluZXIsIHRyYW5zZm9ybSwgRmxvYXRQb2ludCgxMDAsIDEwMCksIEludFNpemUoMjAwLCAyMDAp
LCB0cnVlKTsKICAgICAgICAgdGhpcy0+Y2FsY0RyYXdFdGMocGFyZW50KTsKIAotICAgICAgICBU
ZXN0Q0NPY2NsdXNpb25UcmFja2VyQmFzZTx0eXBlbmFtZSBUeXBlczo6TGF5ZXJUeXBlLCB0eXBl
bmFtZSBUeXBlczo6UmVuZGVyU3VyZmFjZVR5cGU+IG9jY2x1c2lvbihJbnRSZWN0KDAsIDAsIDEw
MDAsIDEwMDApKTsKKyAgICAgICAgVGVzdENDT2NjbHVzaW9uVHJhY2tlcldpdGhTY2lzc29yPHR5
cGVuYW1lIFR5cGVzOjpMYXllclR5cGUsIHR5cGVuYW1lIFR5cGVzOjpSZW5kZXJTdXJmYWNlVHlw
ZT4gb2NjbHVzaW9uKEludFJlY3QoMCwgMCwgMTAwMCwgMTAwMCkpOwogICAgICAgICBvY2NsdXNp
b24uZW50ZXJUYXJnZXRSZW5kZXJTdXJmYWNlKHBhcmVudC0+cmVuZGVyU3VyZmFjZSgpKTsKIAog
ICAgICAgICBFWFBFQ1RfRVFfUkVDVChJbnRSZWN0KDAsIDAsIDIwMCwgMjAwKSwgb2NjbHVzaW9u
LnVub2NjbHVkZWRDb250ZW50UmVjdChsYXllciwgSW50UmVjdCgwLCAwLCAyMDAsIDIwMCkpKTsK
QEAgLTE2MzksNyArMTYzMyw3IEBAIHByb3RlY3RlZDoKICAgICAgICAgY29udGFpbmVyLT5zZXRQ
cmVzZXJ2ZXMzRCh0cnVlKTsKICAgICAgICAgdGhpcy0+Y2FsY0RyYXdFdGMocGFyZW50KTsKIAot
ICAgICAgICBUZXN0Q0NPY2NsdXNpb25UcmFja2VyQmFzZTx0eXBlbmFtZSBUeXBlczo6TGF5ZXJU
eXBlLCB0eXBlbmFtZSBUeXBlczo6UmVuZGVyU3VyZmFjZVR5cGU+IG9jY2x1c2lvbihJbnRSZWN0
KDAsIDAsIDEwMDAsIDEwMDApKTsKKyAgICAgICAgVGVzdENDT2NjbHVzaW9uVHJhY2tlcldpdGhT
Y2lzc29yPHR5cGVuYW1lIFR5cGVzOjpMYXllclR5cGUsIHR5cGVuYW1lIFR5cGVzOjpSZW5kZXJT
dXJmYWNlVHlwZT4gb2NjbHVzaW9uKEludFJlY3QoMCwgMCwgMTAwMCwgMTAwMCkpOwogICAgICAg
ICBvY2NsdXNpb24uZW50ZXJUYXJnZXRSZW5kZXJTdXJmYWNlKHBhcmVudC0+cmVuZGVyU3VyZmFj
ZSgpKTsKIAogICAgICAgICBFWFBFQ1RfRVFfUkVDVChJbnRSZWN0KDAsIDAsIDIwMCwgMjAwKSwg
b2NjbHVzaW9uLnVub2NjbHVkZWRDb250ZW50UmVjdChsYXllciwgSW50UmVjdCgwLCAwLCAyMDAs
IDIwMCkpKTsKQEAgLTE2NjgsNyArMTY2Miw3IEBAIHByb3RlY3RlZDoKICAgICAgICAgY29udGFp
bmVyLT5zZXRQcmVzZXJ2ZXMzRCh0cnVlKTsKICAgICAgICAgdGhpcy0+Y2FsY0RyYXdFdGMocGFy
ZW50KTsKIAotICAgICAgICBUZXN0Q0NPY2NsdXNpb25UcmFja2VyQmFzZTx0eXBlbmFtZSBUeXBl
czo6TGF5ZXJUeXBlLCB0eXBlbmFtZSBUeXBlczo6UmVuZGVyU3VyZmFjZVR5cGU+IG9jY2x1c2lv
bihJbnRSZWN0KDAsIDAsIDEwMDAsIDEwMDApKTsKKyAgICAgICAgVGVzdENDT2NjbHVzaW9uVHJh
Y2tlcldpdGhTY2lzc29yPHR5cGVuYW1lIFR5cGVzOjpMYXllclR5cGUsIHR5cGVuYW1lIFR5cGVz
OjpSZW5kZXJTdXJmYWNlVHlwZT4gb2NjbHVzaW9uKEludFJlY3QoMCwgMCwgMTAwMCwgMTAwMCkp
OwogICAgICAgICBvY2NsdXNpb24uZW50ZXJUYXJnZXRSZW5kZXJTdXJmYWNlKHBhcmVudC0+cmVu
ZGVyU3VyZmFjZSgpKTsKIAogICAgICAgICAvLyBUaGUgYm90dG9tIDExIHBpeGVsIHJvd3Mgb2Yg
dGhpcyBsYXllciByZW1haW4gdmlzaWJsZSBpbnNpZGUgdGhlIGNvbnRhaW5lciwgYWZ0ZXIgdHJh
bnNsYXRpb24gdG8gdGhlIHRhcmdldCBzdXJmYWNlLiBXaGVuIHRyYW5zbGF0ZWQgYmFjaywKQEAg
LTE2OTgsNyArMTY5Miw3IEBAIHByb3RlY3RlZDoKICAgICAgICAgRVhQRUNUX0ZBTFNFKHN1cmZh
Y2UtPmRyYXdPcGFjaXR5SXNBbmltYXRpbmcoKSk7CiAgICAgICAgIEVYUEVDVF9UUlVFKHN1cmZh
Y2UtPnJlbmRlclN1cmZhY2UoKS0+ZHJhd09wYWNpdHlJc0FuaW1hdGluZygpKTsKIAotICAgICAg
ICBUZXN0Q0NPY2NsdXNpb25UcmFja2VyQmFzZTx0eXBlbmFtZSBUeXBlczo6TGF5ZXJUeXBlLCB0
eXBlbmFtZSBUeXBlczo6UmVuZGVyU3VyZmFjZVR5cGU+IG9jY2x1c2lvbihJbnRSZWN0KDAsIDAs
IDEwMDAsIDEwMDApKTsKKyAgICAgICAgVGVzdENDT2NjbHVzaW9uVHJhY2tlcldpdGhTY2lzc29y
PHR5cGVuYW1lIFR5cGVzOjpMYXllclR5cGUsIHR5cGVuYW1lIFR5cGVzOjpSZW5kZXJTdXJmYWNl
VHlwZT4gb2NjbHVzaW9uKEludFJlY3QoMCwgMCwgMTAwMCwgMTAwMCkpOwogCiAgICAgICAgIG9j
Y2x1c2lvbi5lbnRlclRhcmdldFJlbmRlclN1cmZhY2Uoc3VyZmFjZS0+cmVuZGVyU3VyZmFjZSgp
KTsKICAgICAgICAgb2NjbHVzaW9uLm1hcmtPY2NsdWRlZEJlaGluZExheWVyKHN1cmZhY2VDaGls
ZDIpOwpAQCAtMTczOSw3ICsxNzMzLDcgQEAgcHJvdGVjdGVkOgogICAgICAgICBFWFBFQ1RfRkFM
U0Uoc3VyZmFjZS0+ZHJhd09wYWNpdHlJc0FuaW1hdGluZygpKTsKICAgICAgICAgRVhQRUNUX1RS
VUUoc3VyZmFjZS0+cmVuZGVyU3VyZmFjZSgpLT5kcmF3T3BhY2l0eUlzQW5pbWF0aW5nKCkpOwog
Ci0gICAgICAgIFRlc3RDQ09jY2x1c2lvblRyYWNrZXJCYXNlPHR5cGVuYW1lIFR5cGVzOjpMYXll
clR5cGUsIHR5cGVuYW1lIFR5cGVzOjpSZW5kZXJTdXJmYWNlVHlwZT4gb2NjbHVzaW9uKEludFJl
Y3QoMCwgMCwgMTAwMCwgMTAwMCkpOworICAgICAgICBUZXN0Q0NPY2NsdXNpb25UcmFja2VyV2l0
aFNjaXNzb3I8dHlwZW5hbWUgVHlwZXM6OkxheWVyVHlwZSwgdHlwZW5hbWUgVHlwZXM6OlJlbmRl
clN1cmZhY2VUeXBlPiBvY2NsdXNpb24oSW50UmVjdCgwLCAwLCAxMDAwLCAxMDAwKSk7CiAKICAg
ICAgICAgb2NjbHVzaW9uLmVudGVyVGFyZ2V0UmVuZGVyU3VyZmFjZShzdXJmYWNlLT5yZW5kZXJT
dXJmYWNlKCkpOwogICAgICAgICBvY2NsdXNpb24ubWFya09jY2x1ZGVkQmVoaW5kTGF5ZXIoc3Vy
ZmFjZUNoaWxkMik7CkBAIC0xNzg4LDcgKzE3ODIsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIEVY
UEVDVF9UUlVFKHN1cmZhY2VDaGlsZC0+ZHJhd1RyYW5zZm9ybUlzQW5pbWF0aW5nKCkpOwogICAg
ICAgICBFWFBFQ1RfVFJVRShzdXJmYWNlQ2hpbGQtPnNjcmVlblNwYWNlVHJhbnNmb3JtSXNBbmlt
YXRpbmcoKSk7CiAKLSAgICAgICAgVGVzdENDT2NjbHVzaW9uVHJhY2tlckJhc2U8dHlwZW5hbWUg
VHlwZXM6OkxheWVyVHlwZSwgdHlwZW5hbWUgVHlwZXM6OlJlbmRlclN1cmZhY2VUeXBlPiBvY2Ns
dXNpb24oSW50UmVjdCgwLCAwLCAxMDAwLCAxMDAwKSk7CisgICAgICAgIFRlc3RDQ09jY2x1c2lv
blRyYWNrZXJXaXRoU2Npc3Nvcjx0eXBlbmFtZSBUeXBlczo6TGF5ZXJUeXBlLCB0eXBlbmFtZSBU
eXBlczo6UmVuZGVyU3VyZmFjZVR5cGU+IG9jY2x1c2lvbihJbnRSZWN0KDAsIDAsIDEwMDAsIDEw
MDApKTsKIAogICAgICAgICBvY2NsdXNpb24uZW50ZXJUYXJnZXRSZW5kZXJTdXJmYWNlKHN1cmZh
Y2UyLT5yZW5kZXJTdXJmYWNlKCkpOwogICAgICAgICBvY2NsdXNpb24ubWFya09jY2x1ZGVkQmVo
aW5kTGF5ZXIoc3VyZmFjZTIpOwpAQCAtMTg2NCw3ICsxODU4LDcgQEAgcHJvdGVjdGVkOgogICAg
ICAgICBzdXJmYWNlMi0+c2V0T3BhcXVlQ29udGVudHNSZWN0KEludFJlY3QoMCwgMCwgMjAwLCAy
MDApKTsKICAgICAgICAgdGhpcy0+Y2FsY0RyYXdFdGMocGFyZW50KTsKIAotICAgICAgICBUZXN0
Q0NPY2NsdXNpb25UcmFja2VyQmFzZTx0eXBlbmFtZSBUeXBlczo6TGF5ZXJUeXBlLCB0eXBlbmFt
ZSBUeXBlczo6UmVuZGVyU3VyZmFjZVR5cGU+IG9jY2x1c2lvbihJbnRSZWN0KDAsIDAsIDEwMDAs
IDEwMDApKTsKKyAgICAgICAgVGVzdENDT2NjbHVzaW9uVHJhY2tlcldpdGhTY2lzc29yPHR5cGVu
YW1lIFR5cGVzOjpMYXllclR5cGUsIHR5cGVuYW1lIFR5cGVzOjpSZW5kZXJTdXJmYWNlVHlwZT4g
b2NjbHVzaW9uKEludFJlY3QoMCwgMCwgMTAwMCwgMTAwMCkpOwogCiAgICAgICAgIG9jY2x1c2lv
bi5lbnRlclRhcmdldFJlbmRlclN1cmZhY2Uoc3VyZmFjZTItPnJlbmRlclN1cmZhY2UoKSk7CiAg
ICAgICAgIG9jY2x1c2lvbi5tYXJrT2NjbHVkZWRCZWhpbmRMYXllcihzdXJmYWNlMik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0NDT2NjbHVzaW9uVHJhY2tlclRl
c3RDb21tb24uaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NPY2NsdXNpb25UcmFj
a2VyVGVzdENvbW1vbi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZjZGMzZWQ2YzhhYzcxNWQ5ODgzMzNiMTc1Nzky
NTZhZjQ1YmQ4Y2EKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rl
c3RzL0NDT2NjbHVzaW9uVHJhY2tlclRlc3RDb21tb24uaApAQCAtMCwwICsxLDU3IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiAgUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElN
UExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTgorICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCisgKiBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjaWZuZGVmIENDT2NjbHVzaW9uVHJhY2tlclRlc3RDb21tb25faAorI2RlZmlu
ZSBDQ09jY2x1c2lvblRyYWNrZXJUZXN0Q29tbW9uX2gKKworI2luY2x1ZGUgIkludFJlY3QuaCIK
KyNpbmNsdWRlICJSZWdpb24uaCIKKyNpbmNsdWRlICJSZW5kZXJTdXJmYWNlQ2hyb21pdW0uaCIK
KyNpbmNsdWRlICJjYy9DQ09jY2x1c2lvblRyYWNrZXIuaCIKKyNpbmNsdWRlICJjYy9DQ1JlbmRl
clN1cmZhY2UuaCIKKworbmFtZXNwYWNlIFdlYktpdFRlc3RzIHsKKworLy8gQSBzdWJjbGFzcyB0
byBleHBvc2UgdGhlIHRvdGFsIGN1cnJlbnQgb2NjbHVzaW9uLgordGVtcGxhdGU8dHlwZW5hbWUg
TGF5ZXJUeXBlLCB0eXBlbmFtZSBSZW5kZXJTdXJmYWNlVHlwZT4KK2NsYXNzIFRlc3RDQ09jY2x1
c2lvblRyYWNrZXJCYXNlIDogcHVibGljIFdlYkNvcmU6OkNDT2NjbHVzaW9uVHJhY2tlckJhc2U8
TGF5ZXJUeXBlLCBSZW5kZXJTdXJmYWNlVHlwZT4geworcHVibGljOgorICAgIFRlc3RDQ09jY2x1
c2lvblRyYWNrZXJCYXNlKFdlYkNvcmU6OkludFJlY3Qgc2NyZWVuU2Npc3NvclJlY3QsIGJvb2wg
cmVjb3JkTWV0cmljc0ZvckZyYW1lID0gZmFsc2UpCisgICAgICAgIDogV2ViQ29yZTo6Q0NPY2Ns
dXNpb25UcmFja2VyQmFzZTxMYXllclR5cGUsIFJlbmRlclN1cmZhY2VUeXBlPihzY3JlZW5TY2lz
c29yUmVjdCwgcmVjb3JkTWV0cmljc0ZvckZyYW1lKQorICAgIHsKKyAgICB9CisKKyAgICBXZWJD
b3JlOjpSZWdpb24gb2NjbHVzaW9uSW5TY3JlZW5TcGFjZSgpIGNvbnN0IHsgcmV0dXJuIFdlYkNv
cmU6OkNDT2NjbHVzaW9uVHJhY2tlckJhc2U8TGF5ZXJUeXBlLCBSZW5kZXJTdXJmYWNlVHlwZT46
Om1fc3RhY2subGFzdCgpLm9jY2x1c2lvbkluU2NyZWVuOyB9CisgICAgV2ViQ29yZTo6UmVnaW9u
IG9jY2x1c2lvbkluVGFyZ2V0U3VyZmFjZSgpIGNvbnN0IHsgcmV0dXJuIFdlYkNvcmU6OkNDT2Nj
bHVzaW9uVHJhY2tlckJhc2U8TGF5ZXJUeXBlLCBSZW5kZXJTdXJmYWNlVHlwZT46Om1fc3RhY2su
bGFzdCgpLm9jY2x1c2lvbkluVGFyZ2V0OyB9CisKKyAgICB2b2lkIHNldE9jY2x1c2lvbkluU2Ny
ZWVuU3BhY2UoY29uc3QgV2ViQ29yZTo6UmVnaW9uJiByZWdpb24pIHsgV2ViQ29yZTo6Q0NPY2Ns
dXNpb25UcmFja2VyQmFzZTxMYXllclR5cGUsIFJlbmRlclN1cmZhY2VUeXBlPjo6bV9zdGFjay5s
YXN0KCkub2NjbHVzaW9uSW5TY3JlZW4gPSByZWdpb247IH0KKyAgICB2b2lkIHNldE9jY2x1c2lv
bkluVGFyZ2V0U3VyZmFjZShjb25zdCBXZWJDb3JlOjpSZWdpb24mIHJlZ2lvbikgeyBXZWJDb3Jl
OjpDQ09jY2x1c2lvblRyYWNrZXJCYXNlPExheWVyVHlwZSwgUmVuZGVyU3VyZmFjZVR5cGU+Ojpt
X3N0YWNrLmxhc3QoKS5vY2NsdXNpb25JblRhcmdldCA9IHJlZ2lvbjsgfQorfTsKKwordHlwZWRl
ZiBUZXN0Q0NPY2NsdXNpb25UcmFja2VyQmFzZTxXZWJDb3JlOjpMYXllckNocm9taXVtLCBXZWJD
b3JlOjpSZW5kZXJTdXJmYWNlQ2hyb21pdW0+IFRlc3RDQ09jY2x1c2lvblRyYWNrZXI7Cit0eXBl
ZGVmIFRlc3RDQ09jY2x1c2lvblRyYWNrZXJCYXNlPFdlYkNvcmU6OkNDTGF5ZXJJbXBsLCBXZWJD
b3JlOjpDQ1JlbmRlclN1cmZhY2U+IFRlc3RDQ09jY2x1c2lvblRyYWNrZXJJbXBsOworCit9CisK
KyNlbmRpZiAvLyBDQ09jY2x1c2lvblRyYWNrZXJUZXN0Q29tbW9uX2gK
</data>

          </attachment>
      

    </bug>

</bugzilla>