<?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>60582</bug_id>
          
          <creation_ts>2011-05-10 14:28:38 -0700</creation_ts>
          <short_desc>Crash switching overlay/non-overlay scrollbar preference still possible</short_desc>
          <delta_ts>2011-05-10 15:38:14 -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>Layout and Rendering</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Beth Dakin">bdakin</reporter>
          <assigned_to name="Beth Dakin">bdakin</assigned_to>
          <cc>bdakin</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>401501</commentid>
    <comment_count>0</comment_count>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2011-05-10 14:28:38 -0700</bug_when>
    <thetext>There are still some reports of crashing when switching the overlay/non-overlay scrollbar preference. We have not found a way to reproduce any of these crashes.

I have a fix that prevents any work from being done on pages that are in the page cache when the preference is switched.

&lt;rdar://problem/9323983&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>401551</commentid>
    <comment_count>1</comment_count>
      <attachid>93023</attachid>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2011-05-10 15:13:06 -0700</bug_when>
    <thetext>Created attachment 93023
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>401556</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-05-10 15:15:28 -0700</bug_when>
    <thetext>Attachment 93023 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1

Source/WebCore/page/FrameView.h:270:  The parameter name &quot;active&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/WebCore/platform/mac/ScrollAnimatorMac.h:84:  The parameter name &quot;active&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 2 in 15 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>401558</commentid>
    <comment_count>3</comment_count>
      <attachid>93025</attachid>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2011-05-10 15:18:01 -0700</bug_when>
    <thetext>Created attachment 93025
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>401559</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-05-10 15:20:09 -0700</bug_when>
    <thetext>Attachment 93025 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1

Source/WebCore/platform/mac/ScrollAnimatorMac.h:84:  The parameter name &quot;active&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 1 in 15 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>401565</commentid>
    <comment_count>5</comment_count>
      <attachid>93027</attachid>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2011-05-10 15:28:39 -0700</bug_when>
    <thetext>Created attachment 93027
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>401575</commentid>
    <comment_count>6</comment_count>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2011-05-10 15:38:14 -0700</bug_when>
    <thetext>Thanks Darin! Committed change with revision 86184.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>93023</attachid>
            <date>2011-05-10 15:13:06 -0700</date>
            <delta_ts>2011-05-10 15:18:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>os-for-review.txt</filename>
            <type>text/plain</type>
            <size>21251</size>
            <attacher name="Beth Dakin">bdakin</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg2MTgwKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNjUgQEAKKzIwMTEtMDUtMTAgIEJldGggRGFr
aW4gIDxiZGFraW5AYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02
MDU4MgorICAgICAgICBDcmFzaCBzd2l0Y2hpbmcgb3ZlcmxheS9ub24tb3ZlcmxheSBzY3JvbGxi
YXIgcHJlZmVyZW5jZSBzdGlsbCBwb3NzaWJsZQorICAgICAgICAtYW5kIGNvcnJlc3BvbmRpbmct
CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS85MzIzOTgzPgorCisgICAgICAgIFRoaXMgcGF0Y2gg
cHJldmVudHMgYW55IHdvcmsgZnJvbSBiZWluZyBkb25lIG9uIHBhZ2VzIHRoYXQgYXJlIGluIHRo
ZSBwYWdlIGNhY2hlIAorICAgICAgICB3aGVuIHRoZSBwcmVmZXJlbmNlIGlzIHN3aXRjaGVkLgor
CisgICAgICAgIFdoZW4gdGhlIERvY3VtZW50IGlzIGdvaW5nIGludG8gb3IgY29taW5nIG91dCBv
ZiB0aGUgcGFnZSBjYWNoZSwgaGF2ZSB0aGUgCisgICAgICAgIEZyYW1lVmlldyBpbmFjdGl2YXRl
IG9yIGFjdGl2YXRlIHRoZSBQYWdlJ3MgU2Nyb2xsQW5pbWF0b3JzIGFzIGFwcHJvcHJpYXRlLgor
ICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6
c2V0SW5QYWdlQ2FjaGUpOgorCisgICAgICAgIEl0ZXJhdGUgdGhyb3VnaCB0aGUgUGFnZSdzIFNj
cm9sbGFibGVBcmVhcyBzZXR0aW5nIHRoZSBhY3RpdmUgc3RhdGUgb2YgdGhlIAorICAgICAgICBT
Y3JvbGxBbmltYXRvcnMuCisgICAgICAgICogcGFnZS9GcmFtZVZpZXcuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6RnJhbWVWaWV3OjpzZXRBbmltYXRvcnNBcmVBY3RpdmUpOgorICAgICAgICAqIHBh
Z2UvRnJhbWVWaWV3Lmg6CisKKyAgICAgICAgU2Nyb2xsQW5pbWF0b3IgaGFzIGEgbmV3IGJpdCAt
LSBtX2lzQWN0aXZlLiBSaWdodCBub3cgbV9pc0FjdGl2ZSBpcyBhbHdheXMgdHJ1ZSAKKyAgICAg
ICAgdW5sZXNzIHRoZSBTY3JvbGxBbmltYXRvciBiZWxvbmdzIHRvIGEgU2Nyb2xsYWJsZUFyZWEg
dGhhdCBpcyBpbiB0aGUgcGFnZSBjYWNoZS4KKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxBbmlt
YXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxBbmltYXRvcjo6U2Nyb2xsQW5pbWF0
b3IpOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmg6CisgICAgICAgIChXZWJD
b3JlOjpTY3JvbGxBbmltYXRvcjo6c2V0SXNBY3RpdmUpOgorICAgICAgICAoV2ViQ29yZTo6U2Ny
b2xsQW5pbWF0b3I6OmlzQWN0aXZlKToKKworICAgICAgICBTY3JvbGxBbmltYXRvck1hYyBoYXMg
YSBuZXcgYml0IC0tIG1fbmVlZHNTY3JvbGxlclN0eWxlVXBkYXRlLiBUaGlzIGlzIHNldCB0byB0
cnVlIAorICAgICAgICB3aGVuIGEgU2Nyb2xsQW5pbWF0b3IgaXMgaW5hY3RpdmUgYW5kIGhhcyBy
ZWNlaXZlZCB0aGUgCisgICAgICAgIHVwZGF0ZVNjcm9sbGVyU3R5bGVGb3JOZXdSZWNvbW1lbmRl
ZFNjcm9sbGVyU3R5bGUgZGVsZWdhdGUgbm90aWZpY2F0aW9uLiBJdCAKKyAgICAgICAgcHJldmVu
dHMgYW55IHdvcmsgZnJvbSBiZWluZyBkb25lIGZvciB0aGlzIGRlbGVnYXRlIHVudGlsIHRoZSBT
Y3JvbGxBbmltYXRvciAKKyAgICAgICAgYmVjb21lcyBhY3RpdmUgYWdhaW4uCisgICAgICAgICog
cGxhdGZvcm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFjLmg6CisgICAgICAgIChXZWJDb3JlOjpTY3Jv
bGxBbmltYXRvck1hYzo6c2V0TmVlZHNTY3JvbGxlclN0eWxlVXBkYXRlKToKKyAgICAgICAgKFdl
YkNvcmU6OlNjcm9sbEFuaW1hdG9yTWFjOjpuZWVkc1Njcm9sbGVyU3R5bGVVcGRhdGUpOgorCisg
ICAgICAgIFRoaXMgZGVsZWdhdGUgbWV0aG9kIGhhcyBiZWVuIHJlLWZhY3RvcmVkIGludG8gU2Ny
b2xsQW5pbWF0b3JNYWM6OiAKKyAgICAgICAgdXBkYXRlU2Nyb2xsZXJTdHlsZSgpLiBUaGlzIHdh
eSB0aGUgbWVhdCBvZiB0aGUgZnVuY3Rpb24gY2FuIGJlIGNhbGxlZCBieSBib3RoIHRoZSAKKyAg
ICAgICAgZGVsZWdhdGUgYW5kIFNjcm9sbEFuaW1hdG9yTWFjOjpzZXRJc0FjdGl2ZSgpCisgICAg
ICAgICogcGxhdGZvcm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFjLm1tOgorICAgICAgICAoLVtTY3Jv
bGxiYXJQYWludGVyQ29udHJvbGxlckRlbGVnYXRlIHNjcm9sbGVySW1wUGFpcjp1cGRhdGVTY3Jv
bGxlclN0eWxlRm9yTmV3UmVjb21tZW5kZWRTY3JvbGxlclN0eWxlOl0pOgorICAgICAgICAoV2Vi
Q29yZTo6U2Nyb2xsQW5pbWF0b3JNYWM6OlNjcm9sbEFuaW1hdG9yTWFjKToKKworICAgICAgICBU
aGlzIG92ZXJyaWRlIG9mIFNjcm9sbEFuaW1hdG9yOjpzZXRJc0FjdGl2ZSgpIGNhbGxzIHRoZSBi
YXNlIGNsYXNzLCBhbmQgdGhlbiBjYWxscyB1cGRhdGVTY3JvbGxlclN0eWxlKCkgaWYgbmVlZHNT
Y3JvbGxlclN0eWxlVXBkYXRlKCkgaXMgc2V0IHRvIHRydWUuCisgICAgICAgIChXZWJDb3JlOjpT
Y3JvbGxBbmltYXRvck1hYzo6c2V0SXNBY3RpdmUpOgorCisgICAgICAgIFRoaXMgaXMgbW9zdGx5
IHRoZSBzYW1lIGFzIHRoZSBvbGQgZGVsZWdhdGUgbWV0aG9kLiBLZXkgZGlmZmVyZW5jZXMgYXJl
IHRoYXQgaWYgCisgICAgICAgIHRoZSBTY3JvbGxBbmltYXRvciBpcyBpbmFjdGl2ZSwgd2Ugbm93
IHNldE5lZWRzU2Nyb2xsZXJTdHlsZVVwZGF0ZSh0cnVlKSBhbmQgCisgICAgICAgIHJldHVybiBl
YXJseS4gV2UgYWxzbyBvbmx5IGNhbGwgc2Nyb2xsYWJsZUFyZWEoKS0+c2Nyb2xsYmFyU3R5bGVD
aGFuZ2VkKCkgaWYgCisgICAgICAgIG5lZWRzU2Nyb2xsZXJTdHlsZVVwZGF0ZSgpIGlzIGZhbHNl
IHNpbmNlIGluIHRoZSB0cnVlIGNhc2Ugd2hlbiB3ZSBhcmUgcmVzdG9yaW5nIAorICAgICAgICBm
cm9tIHRoZSBwYWdlIGNhY2hlLCB0aGlzIHdvdWxkIGJlIGR1cGxpY2F0ZWQgd29yay4KKyAgICAg
ICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdG9yTWFjOjp1cGRhdGVTY3JvbGxlclN0eWxlKToKKwor
ICAgICAgICBOZXcgV0tTeXN0ZW1JbnRlcmZhY2UgZnVuY3Rpb24gaXMgbmVlZGVkIHRvIHJldHJp
ZXZlIHRoZSBzY3JvbGxiYXIgc3R5bGUuCisgICAgICAgICogV2ViQ29yZS5leHAuaW46CisgICAg
ICAgICogcGxhdGZvcm0vbWFjL1dlYkNvcmVTeXN0ZW1JbnRlcmZhY2UuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9tYWMvV2ViQ29yZVN5c3RlbUludGVyZmFjZS5tbToKKwogMjAxMS0wNS0xMCAgQnJh
ZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQWxp
Y2UgTGl1LgpJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4JKHJldmlzaW9uIDg2MDczKQorKysgU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4JKHdvcmtpbmcgY29weSkKQEAgLTE0MzQsNiArMTQz
NCw3IEBAIF93a01vdXNlRXhpdGVkQ29udGVudEFyZWEKIF93a01vdXNlTW92ZWRJbkNvbnRlbnRB
cmVhCiBfd2tTY3JvbGxiYXJNaW5pbXVtVGh1bWJMZW5ndGgKIF93a1Njcm9sbGJhck1pbmltdW1U
b3RhbExlbmd0aE5lZWRlZEZvclRodW1iCitfd2tTY3JvbGxiYXJQYWludGVyQ29udHJvbGxlclN0
eWxlCiBfd2tTY3JvbGxiYXJQYWludGVyRm9yY2VGbGFzaFNjcm9sbGVycwogX3drU2Nyb2xsYmFy
UGFpbnRlcklzSG9yaXpvbnRhbAogX3drU2Nyb2xsYmFyUGFpbnRlcktub2JBbHBoYQpJbmRleDog
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuY3BwCShyZXZpc2lvbiA4NjA3MykKKysrIFNvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM5MjEsMTAgKzM5MjEsMTIgQEAg
dm9pZCBEb2N1bWVudDo6c2V0SW5QYWdlQ2FjaGUoYm9vbCBmbGFnKQogICAgICAgICByZXR1cm47
CiAKICAgICBtX2luUGFnZUNhY2hlID0gZmxhZzsKKworICAgIEZyYW1lVmlldyogdiA9IHZpZXco
KTsKICAgICBpZiAoZmxhZykgewogICAgICAgICBBU1NFUlQoIW1fc2F2ZWRSZW5kZXJlcik7CiAg
ICAgICAgIG1fc2F2ZWRSZW5kZXJlciA9IHJlbmRlcmVyKCk7Ci0gICAgICAgIGlmIChGcmFtZVZp
ZXcqIHYgPSB2aWV3KCkpIHsKKyAgICAgICAgaWYgKHYpIHsKICAgICAgICAgICAgIHYtPmNhY2hl
Q3VycmVudFNjcm9sbFBvc2l0aW9uKCk7CiAgICAgICAgICAgICBpZiAocGFnZSgpICYmIHBhZ2Uo
KS0+bWFpbkZyYW1lKCkgPT0gbV9mcmFtZSkKICAgICAgICAgICAgICAgICB2LT5yZXNldFNjcm9s
bGJhcnNBbmRDbGVhckNvbnRlbnRzU2l6ZSgpOwpAQCAtMzk0NCw2ICszOTQ2LDkgQEAgdm9pZCBE
b2N1bWVudDo6c2V0SW5QYWdlQ2FjaGUoYm9vbCBmbGFnKQogICAgICAgICBpZiAoY2hpbGROZWVk
c1N0eWxlUmVjYWxjKCkpCiAgICAgICAgICAgICBzY2hlZHVsZVN0eWxlUmVjYWxjKCk7CiAgICAg
fQorCisgICAgaWYgKHYpCisgICAgICAgIHYtPnNldEFuaW1hdG9yc0FyZUFjdGl2ZSghbV9pblBh
Z2VDYWNoZSk7CiB9CiAKIHZvaWQgRG9jdW1lbnQ6OmRvY3VtZW50V2lsbEJlY29tZUluYWN0aXZl
KCkgCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCShyZXZpc2lvbiA4NjA3MykKKysr
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjE2
NSw2ICsyMTY1LDIxIEBAIGJvb2wgRnJhbWVWaWV3OjpzaG91bGRTdXNwZW5kU2Nyb2xsQW5pbWEK
ICAgICByZXR1cm4gbV9mcmFtZS0+bG9hZGVyKCktPnN0YXRlKCkgIT0gRnJhbWVTdGF0ZUNvbXBs
ZXRlOwogfQogCit2b2lkIEZyYW1lVmlldzo6c2V0QW5pbWF0b3JzQXJlQWN0aXZlKGJvb2wgYWN0
aXZlKQoreworICAgIFBhZ2UqIHBhZ2UgPSBtX2ZyYW1lLT5wYWdlKCk7CisgICAgaWYgKCFwYWdl
KQorICAgICAgICByZXR1cm47CisKKyAgICBjb25zdCBIYXNoU2V0PFNjcm9sbGFibGVBcmVhKj4q
IHNjcm9sbGFibGVBcmVhcyA9IHBhZ2UtPnNjcm9sbGFibGVBcmVhU2V0KCk7CisgICAgaWYgKCFz
Y3JvbGxhYmxlQXJlYXMpCisgICAgICAgIHJldHVybjsKKworICAgIEhhc2hTZXQ8U2Nyb2xsYWJs
ZUFyZWEqPjo6Y29uc3RfaXRlcmF0b3IgZW5kID0gc2Nyb2xsYWJsZUFyZWFzLT5lbmQoKTsgCisg
ICAgZm9yIChIYXNoU2V0PFNjcm9sbGFibGVBcmVhKj46OmNvbnN0X2l0ZXJhdG9yIGl0ID0gc2Ny
b2xsYWJsZUFyZWFzLT5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpCisgICAgICAgICgqaXQpLT5z
Y3JvbGxBbmltYXRvcigpLT5zZXRJc0FjdGl2ZShhY3RpdmUpOworfQorCiB2b2lkIEZyYW1lVmll
dzo6bm90aWZ5UGFnZVRoYXRDb250ZW50QXJlYVdpbGxQYWludCgpIGNvbnN0CiB7CiAgICAgUGFn
ZSogcGFnZSA9IG1fZnJhbWUtPnBhZ2UoKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvRnJh
bWVWaWV3LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaAko
cmV2aXNpb24gODYwNzMpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yNjcsNiArMjY3LDggQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBib29s
IHNob3VsZFN1c3BlbmRTY3JvbGxBbmltYXRpb25zKCkgY29uc3Q7CiAKKyAgICB2b2lkIHNldEFu
aW1hdG9yc0FyZUFjdGl2ZShib29sIGFjdGl2ZSk7CisKIHByb3RlY3RlZDoKICAgICB2aXJ0dWFs
IGJvb2wgc2Nyb2xsQ29udGVudHNGYXN0UGF0aChjb25zdCBJbnRTaXplJiBzY3JvbGxEZWx0YSwg
Y29uc3QgSW50UmVjdCYgcmVjdFRvU2Nyb2xsLCBjb25zdCBJbnRSZWN0JiBjbGlwUmVjdCk7CiAg
ICAgdmlydHVhbCB2b2lkIHNjcm9sbENvbnRlbnRzU2xvd1BhdGgoY29uc3QgSW50UmVjdCYgdXBk
YXRlUmVjdCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3Iu
Y3BwCShyZXZpc2lvbiA4NjA3MykKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFu
aW1hdG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTIsNiArNTIsNyBAQCBTY3JvbGxBbmltYXRv
cjo6U2Nyb2xsQW5pbWF0b3IoU2Nyb2xsYWJsCiAgICAgOiBtX3Njcm9sbGFibGVBcmVhKHNjcm9s
bGFibGVBcmVhKQogICAgICwgbV9jdXJyZW50UG9zWCgwKQogICAgICwgbV9jdXJyZW50UG9zWSgw
KQorICAgICwgbV9pc0FjdGl2ZSh0cnVlKQogewogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9TY3JvbGxBbmltYXRvci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1Njcm9sbEFuaW1hdG9yLmgJKHJldmlzaW9uIDg2MDczKQorKysgU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3IuaAkod29ya2luZyBjb3B5KQpAQCAtNjEsNiArNjEs
OSBAQCBwdWJsaWM6CiAKICAgICBTY3JvbGxhYmxlQXJlYSogc2Nyb2xsYWJsZUFyZWEoKSBjb25z
dCB7IHJldHVybiBtX3Njcm9sbGFibGVBcmVhOyB9CiAKKyAgICB2aXJ0dWFsIHZvaWQgc2V0SXNB
Y3RpdmUoYm9vbCBhY3RpdmUpIHsgbV9pc0FjdGl2ZSA9IGFjdGl2ZTsgfQorICAgIGJvb2wgaXNB
Y3RpdmUoKSBjb25zdCB7IHJldHVybiBtX2lzQWN0aXZlOyB9CisKICAgICB2aXJ0dWFsIHZvaWQg
aGFuZGxlV2hlZWxFdmVudChQbGF0Zm9ybVdoZWVsRXZlbnQmKTsKICNpZiBFTkFCTEUoR0VTVFVS
RV9FVkVOVFMpCiAgICAgdmlydHVhbCB2b2lkIGhhbmRsZUdlc3R1cmVFdmVudChjb25zdCBQbGF0
Zm9ybUdlc3R1cmVFdmVudCYpOwpAQCAtOTMsNiArOTYsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgU2Ny
b2xsYWJsZUFyZWEqIG1fc2Nyb2xsYWJsZUFyZWE7CiAgICAgZmxvYXQgbV9jdXJyZW50UG9zWDsg
Ly8gV2UgYXZvaWQgdXNpbmcgYSBGbG9hdFBvaW50IGluIG9yZGVyIHRvIHJlZHVjZQogICAgIGZs
b2F0IG1fY3VycmVudFBvc1k7IC8vIHN1YmNsYXNzIGNvZGUgY29tcGxleGl0eS4KKyAgICBib29s
IG1faXNBY3RpdmU7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMuaAkocmV2aXNpb24g
ODYwNzMpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMu
aAkod29ya2luZyBjb3B5KQpAQCAtODEsNyArODEsMTEgQEAgcHVibGljOgogCiAgICAgYm9vbCBo
YXZlU2Nyb2xsZWRTaW5jZVBhZ2VMb2FkKCkgY29uc3QgeyByZXR1cm4gbV9oYXZlU2Nyb2xsZWRT
aW5jZVBhZ2VMb2FkOyB9CiAKKyAgICB2aXJ0dWFsIHZvaWQgc2V0SXNBY3RpdmUoYm9vbCBhY3Rp
dmUpOworCiAjaWYgVVNFKFdLX1NDUk9MTEJBUl9QQUlOVEVSKQorICAgIHZvaWQgdXBkYXRlU2Ny
b2xsZXJTdHlsZSgpOworCiAgICAgYm9vbCBzY3JvbGxiYXJQYWludFRpbWVySXNBY3RpdmUoKSBj
b25zdDsKICAgICB2b2lkIHN0YXJ0U2Nyb2xsYmFyUGFpbnRUaW1lcigpOwogICAgIHZvaWQgc3Rv
cFNjcm9sbGJhclBhaW50VGltZXIoKTsKQEAgLTEyMCw2ICsxMjQsOSBAQCBwcml2YXRlOgogICAg
IHZpcnR1YWwgdm9pZCBkaWRBZGRIb3Jpem9udGFsU2Nyb2xsYmFyKFNjcm9sbGJhciopOwogICAg
IHZpcnR1YWwgdm9pZCB3aWxsUmVtb3ZlSG9yaXpvbnRhbFNjcm9sbGJhcihTY3JvbGxiYXIqKTsK
IAorICAgIHZvaWQgc2V0TmVlZHNTY3JvbGxlclN0eWxlVXBkYXRlKGJvb2wgbmVlZHNVcGRhdGUp
IHsgbV9uZWVkc1Njcm9sbGVyU3R5bGVVcGRhdGUgPSBuZWVkc1VwZGF0ZTsgfQorICAgIGJvb2wg
bmVlZHNTY3JvbGxlclN0eWxlVXBkYXRlKCkgY29uc3QgeyByZXR1cm4gbV9uZWVkc1Njcm9sbGVy
U3R5bGVVcGRhdGU7IH0KKwogICAgIGZsb2F0IGFkanVzdFNjcm9sbFhQb3NpdGlvbklmTmVjZXNz
YXJ5KGZsb2F0KSBjb25zdDsKICAgICBmbG9hdCBhZGp1c3RTY3JvbGxZUG9zaXRpb25JZk5lY2Vz
c2FyeShmbG9hdCkgY29uc3Q7CiAgICAgRmxvYXRQb2ludCBhZGp1c3RTY3JvbGxQb3NpdGlvbklm
TmVjZXNzYXJ5KGNvbnN0IEZsb2F0UG9pbnQmKSBjb25zdDsKQEAgLTE1Miw2ICsxNTksNyBAQCBw
cml2YXRlOgogI2VuZGlmCiAgICAgYm9vbCBtX2RyYXdpbmdJbnRvTGF5ZXI7CiAgICAgYm9vbCBt
X2hhdmVTY3JvbGxlZFNpbmNlUGFnZUxvYWQ7CisgICAgYm9vbCBtX25lZWRzU2Nyb2xsZXJTdHls
ZVVwZGF0ZTsKICAgICBJbnRSZWN0IG1fdmlzaWJsZVNjcm9sbGVyVGh1bWJSZWN0OwogfTsKIApJ
bmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFjLm1tCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1h
Yy5tbQkocmV2aXNpb24gODYwNzMpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Ny
b2xsQW5pbWF0b3JNYWMubW0JKHdvcmtpbmcgY29weSkKQEAgLTIzNCw0NyArMjM0LDggQEAgLSAo
dm9pZClzY3JvbGxlckltcFBhaXI6KGlkKXNjcm9sbGVySW1wUAogICAgIGlmICghX2FuaW1hdG9y
KQogICAgICAgICByZXR1cm47CiAKLSAgICBXS1Njcm9sbGJhclBhaW50ZXJDb250cm9sbGVyUmVm
IHBhaW50ZXJDb250cm9sbGVyID0gKFdLU2Nyb2xsYmFyUGFpbnRlckNvbnRyb2xsZXJSZWYpc2Ny
b2xsZXJJbXBQYWlyOwotICAgIFdlYkNvcmU6OlNjcm9sbGJhclRoZW1lTWFjKiBtYWNUaGVtZSA9
IChXZWJDb3JlOjpTY3JvbGxiYXJUaGVtZU1hYyopV2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWU6Om5h
dGl2ZVRoZW1lKCk7Ci0KLSAgICBXS1Njcm9sbGJhclBhaW50ZXJSZWYgb2xkVmVydGljYWxQYWlu
dGVyID0gd2tWZXJ0aWNhbFNjcm9sbGJhclBhaW50ZXJGb3JDb250cm9sbGVyKHBhaW50ZXJDb250
cm9sbGVyKTsKLSAgICBpZiAob2xkVmVydGljYWxQYWludGVyKSB7Ci0gICAgICAgIFdlYkNvcmU6
OlNjcm9sbGJhciogdmVydGljYWxTY3JvbGxiYXIgPSBfYW5pbWF0b3ItPnNjcm9sbGFibGVBcmVh
KCktPnZlcnRpY2FsU2Nyb2xsYmFyKCk7Ci0gICAgICAgIFdLU2Nyb2xsYmFyUGFpbnRlclJlZiBu
ZXdWZXJ0aWNhbFBhaW50ZXIgPSB3a01ha2VTY3JvbGxiYXJSZXBsYWNlbWVudFBhaW50ZXIob2xk
VmVydGljYWxQYWludGVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld1JlY29tbWVu
ZGVkU2Nyb2xsZXJTdHlsZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbFNj
cm9sbGJhci0+Y29udHJvbFNpemUoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxz
ZSk7Ci0gICAgICAgIG1hY1RoZW1lLT5zZXROZXdQYWludGVyRm9yU2Nyb2xsYmFyKHZlcnRpY2Fs
U2Nyb2xsYmFyLCBuZXdWZXJ0aWNhbFBhaW50ZXIpOwotICAgICAgICB3a1NldFBhaW50ZXJGb3JQ
YWludGVyQ29udHJvbGxlcihwYWludGVyQ29udHJvbGxlciwgbmV3VmVydGljYWxQYWludGVyLCBm
YWxzZSk7Ci0KLSAgICAgICAgLy8gVGhlIGRpZmZlcmVudCBzY3JvbGxiYXIgc3R5bGVzIGhhdmUg
ZGlmZmVyZW50IHRoaWNrbmVzc2VzLCBzbyB3ZSBtdXN0IHJlLXNldCB0aGUgCi0gICAgICAgIC8v
IGZyYW1lUmVjdCB0byB0aGUgbmV3IHRoaWNrbmVzcywgYW5kIHRoZSByZS1sYXlvdXQgYmVsb3cg
d2lsbCBlbnN1cmUgdGhlIHBvc2l0aW9uCi0gICAgICAgIC8vIGFuZCBsZW5ndGggYXJlIHByb3Bl
cmx5IHVwZGF0ZWQuCi0gICAgICAgIGludCB0aGlja25lc3MgPSBtYWNUaGVtZS0+c2Nyb2xsYmFy
VGhpY2tuZXNzKHZlcnRpY2FsU2Nyb2xsYmFyLT5jb250cm9sU2l6ZSgpKTsKLSAgICAgICAgdmVy
dGljYWxTY3JvbGxiYXItPnNldEZyYW1lUmVjdChXZWJDb3JlOjpJbnRSZWN0KDAsIDAsIHRoaWNr
bmVzcywgdGhpY2tuZXNzKSk7Ci0gICAgfQotCi0gICAgV0tTY3JvbGxiYXJQYWludGVyUmVmIG9s
ZEhvcml6b250YWxQYWludGVyID0gd2tIb3Jpem9udGFsU2Nyb2xsYmFyUGFpbnRlckZvckNvbnRy
b2xsZXIocGFpbnRlckNvbnRyb2xsZXIpOwotICAgIGlmIChvbGRIb3Jpem9udGFsUGFpbnRlcikg
ewotICAgICAgICBXZWJDb3JlOjpTY3JvbGxiYXIqIGhvcml6b250YWxTY3JvbGxiYXIgPSBfYW5p
bWF0b3ItPnNjcm9sbGFibGVBcmVhKCktPmhvcml6b250YWxTY3JvbGxiYXIoKTsKLSAgICAgICAg
V0tTY3JvbGxiYXJQYWludGVyUmVmIG5ld0hvcml6b250YWxQYWludGVyID0gd2tNYWtlU2Nyb2xs
YmFyUmVwbGFjZW1lbnRQYWludGVyKG9sZEhvcml6b250YWxQYWludGVyLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgbmV3UmVjb21tZW5kZWRTY3JvbGxlclN0eWxlLAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaG9yaXpvbnRhbFNjcm9sbGJhci0+Y29udHJvbFNpemUoKSwK
LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUpOwotICAgICAgICBtYWNUaGVtZS0+
c2V0TmV3UGFpbnRlckZvclNjcm9sbGJhcihob3Jpem9udGFsU2Nyb2xsYmFyLCBuZXdIb3Jpem9u
dGFsUGFpbnRlcik7Ci0gICAgICAgIHdrU2V0UGFpbnRlckZvclBhaW50ZXJDb250cm9sbGVyKHBh
aW50ZXJDb250cm9sbGVyLCBuZXdIb3Jpem9udGFsUGFpbnRlciwgdHJ1ZSk7Ci0KLSAgICAgICAg
Ly8gVGhlIGRpZmZlcmVudCBzY3JvbGxiYXIgc3R5bGVzIGhhdmUgZGlmZmVyZW50IHRoaWNrbmVz
c2VzLCBzbyB3ZSBtdXN0IHJlLXNldCB0aGUgCi0gICAgICAgIC8vIGZyYW1lUmVjdCB0byB0aGUg
bmV3IHRoaWNrbmVzcywgYW5kIHRoZSByZS1sYXlvdXQgYmVsb3cgd2lsbCBlbnN1cmUgdGhlIHBv
c2l0aW9uCi0gICAgICAgIC8vIGFuZCBsZW5ndGggYXJlIHByb3Blcmx5IHVwZGF0ZWQuCi0gICAg
ICAgIGludCB0aGlja25lc3MgPSBtYWNUaGVtZS0+c2Nyb2xsYmFyVGhpY2tuZXNzKGhvcml6b250
YWxTY3JvbGxiYXItPmNvbnRyb2xTaXplKCkpOwotICAgICAgICBob3Jpem9udGFsU2Nyb2xsYmFy
LT5zZXRGcmFtZVJlY3QoV2ViQ29yZTo6SW50UmVjdCgwLCAwLCB0aGlja25lc3MsIHRoaWNrbmVz
cykpOwotICAgIH0KLQotICAgIHdrU2V0U2Nyb2xsYmFyUGFpbnRlckNvbnRyb2xsZXJTdHlsZShw
YWludGVyQ29udHJvbGxlciwgbmV3UmVjb21tZW5kZWRTY3JvbGxlclN0eWxlKTsKLQotICAgIC8v
IFRoZSBkaWZmZXJlbnQgc2Nyb2xsYmFyIHN0eWxlcyBhZmZlY3QgbGF5b3V0LCBzbyB3ZSBtdXN0
IHJlLWxheW91dCBldmVyeXRoaW5nLgotICAgIF9hbmltYXRvci0+c2Nyb2xsYWJsZUFyZWEoKS0+
c2Nyb2xsYmFyU3R5bGVDaGFuZ2VkKCk7CisgICAgd2tTZXRTY3JvbGxiYXJQYWludGVyQ29udHJv
bGxlclN0eWxlKChXS1Njcm9sbGJhclBhaW50ZXJDb250cm9sbGVyUmVmKXNjcm9sbGVySW1wUGFp
ciwgbmV3UmVjb21tZW5kZWRTY3JvbGxlclN0eWxlKTsKKyAgICBfYW5pbWF0b3ItPnVwZGF0ZVNj
cm9sbGVyU3R5bGUoKTsKIH0KIAogQGVuZApAQCAtNTA0LDYgKzQ2NSw3IEBAIFNjcm9sbEFuaW1h
dG9yTWFjOjpTY3JvbGxBbmltYXRvck1hYyhTY3IKICNlbmRpZgogICAgICwgbV9kcmF3aW5nSW50
b0xheWVyKGZhbHNlKQogICAgICwgbV9oYXZlU2Nyb2xsZWRTaW5jZVBhZ2VMb2FkKGZhbHNlKQor
ICAgICwgbV9uZWVkc1Njcm9sbGVyU3R5bGVVcGRhdGUoZmFsc2UpCiB7CiAgICAgbV9zY3JvbGxB
bmltYXRpb25IZWxwZXJEZWxlZ2F0ZS5hZG9wdE5TKFtbU2Nyb2xsQW5pbWF0aW9uSGVscGVyRGVs
ZWdhdGUgYWxsb2NdIGluaXRXaXRoU2Nyb2xsQW5pbWF0b3I6dGhpc10pOwogICAgIG1fc2Nyb2xs
QW5pbWF0aW9uSGVscGVyLmFkb3B0TlMoW1tOU0NsYXNzRnJvbVN0cmluZyhAIk5TU2Nyb2xsQW5p
bWF0aW9uSGVscGVyIikgYWxsb2NdIGluaXRXaXRoRGVsZWdhdGU6bV9zY3JvbGxBbmltYXRpb25I
ZWxwZXJEZWxlZ2F0ZS5nZXQoKV0pOwpAQCAtMTE5NCw3ICsxMTU2LDY3IEBAIHZvaWQgU2Nyb2xs
QW5pbWF0b3JNYWM6OnNuYXBSdWJiZXJCYW5kVGkKIH0KICNlbmRpZgogCit2b2lkIFNjcm9sbEFu
aW1hdG9yTWFjOjpzZXRJc0FjdGl2ZShib29sIGFjdGl2ZSkKK3sKKyAgICBTY3JvbGxBbmltYXRv
cjo6c2V0SXNBY3RpdmUoYWN0aXZlKTsKKworI2lmIFVTRShXS19TQ1JPTExCQVJfUEFJTlRFUikK
KyAgICBpZiAobmVlZHNTY3JvbGxlclN0eWxlVXBkYXRlKCkpCisgICAgICAgIHVwZGF0ZVNjcm9s
bGVyU3R5bGUoKTsKKyNlbmRpZgorfQorCiAjaWYgVVNFKFdLX1NDUk9MTEJBUl9QQUlOVEVSKQor
dm9pZCBTY3JvbGxBbmltYXRvck1hYzo6dXBkYXRlU2Nyb2xsZXJTdHlsZSgpCit7CisgICAgaWYg
KCFpc0FjdGl2ZSgpKSB7CisgICAgICAgIHNldE5lZWRzU2Nyb2xsZXJTdHlsZVVwZGF0ZSh0cnVl
KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIFNjcm9sbGJhclRoZW1lTWFjKiBtYWNU
aGVtZSA9IChTY3JvbGxiYXJUaGVtZU1hYyopU2Nyb2xsYmFyVGhlbWU6Om5hdGl2ZVRoZW1lKCk7
CisgICAgaW50IG5ld1N0eWxlID0gd2tTY3JvbGxiYXJQYWludGVyQ29udHJvbGxlclN0eWxlKG1f
c2Nyb2xsYmFyUGFpbnRlckNvbnRyb2xsZXIuZ2V0KCkpOworCisgICAgaWYgKFNjcm9sbGJhciog
dmVydGljYWxTY3JvbGxiYXIgPSBzY3JvbGxhYmxlQXJlYSgpLT52ZXJ0aWNhbFNjcm9sbGJhcigp
KSB7CisgICAgICAgIFdLU2Nyb2xsYmFyUGFpbnRlclJlZiBvbGRWZXJ0aWNhbFBhaW50ZXIgPSB3
a1ZlcnRpY2FsU2Nyb2xsYmFyUGFpbnRlckZvckNvbnRyb2xsZXIobV9zY3JvbGxiYXJQYWludGVy
Q29udHJvbGxlci5nZXQoKSk7CisgICAgICAgIFdLU2Nyb2xsYmFyUGFpbnRlclJlZiBuZXdWZXJ0
aWNhbFBhaW50ZXIgPSB3a01ha2VTY3JvbGxiYXJSZXBsYWNlbWVudFBhaW50ZXIob2xkVmVydGlj
YWxQYWludGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld1N0eWxlLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsU2Nyb2xsYmFyLT5jb250cm9sU2l6ZSgpLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbHNlKTsKKyAgICAgICAgbWFjVGhlbWUtPnNl
dE5ld1BhaW50ZXJGb3JTY3JvbGxiYXIodmVydGljYWxTY3JvbGxiYXIsIG5ld1ZlcnRpY2FsUGFp
bnRlcik7CisgICAgICAgIHdrU2V0UGFpbnRlckZvclBhaW50ZXJDb250cm9sbGVyKG1fc2Nyb2xs
YmFyUGFpbnRlckNvbnRyb2xsZXIuZ2V0KCksIG5ld1ZlcnRpY2FsUGFpbnRlciwgZmFsc2UpOwor
CisgICAgICAgIC8vIFRoZSBkaWZmZXJlbnQgc2Nyb2xsYmFyIHN0eWxlcyBoYXZlIGRpZmZlcmVu
dCB0aGlja25lc3Nlcywgc28gd2UgbXVzdCByZS1zZXQgdGhlIAorICAgICAgICAvLyBmcmFtZVJl
Y3QgdG8gdGhlIG5ldyB0aGlja25lc3MsIGFuZCB0aGUgcmUtbGF5b3V0IGJlbG93IHdpbGwgZW5z
dXJlIHRoZSBwb3NpdGlvbgorICAgICAgICAvLyBhbmQgbGVuZ3RoIGFyZSBwcm9wZXJseSB1cGRh
dGVkLgorICAgICAgICBpbnQgdGhpY2tuZXNzID0gbWFjVGhlbWUtPnNjcm9sbGJhclRoaWNrbmVz
cyh2ZXJ0aWNhbFNjcm9sbGJhci0+Y29udHJvbFNpemUoKSk7CisgICAgICAgIHZlcnRpY2FsU2Ny
b2xsYmFyLT5zZXRGcmFtZVJlY3QoSW50UmVjdCgwLCAwLCB0aGlja25lc3MsIHRoaWNrbmVzcykp
OworICAgIH0KKworICAgIGlmIChTY3JvbGxiYXIqIGhvcml6b250YWxTY3JvbGxiYXIgPSBzY3Jv
bGxhYmxlQXJlYSgpLT5ob3Jpem9udGFsU2Nyb2xsYmFyKCkpIHsKKyAgICAgICAgV0tTY3JvbGxi
YXJQYWludGVyUmVmIG9sZEhvcml6b250YWxQYWludGVyID0gd2tIb3Jpem9udGFsU2Nyb2xsYmFy
UGFpbnRlckZvckNvbnRyb2xsZXIobV9zY3JvbGxiYXJQYWludGVyQ29udHJvbGxlci5nZXQoKSk7
CisgICAgICAgIFdLU2Nyb2xsYmFyUGFpbnRlclJlZiBuZXdIb3Jpem9udGFsUGFpbnRlciA9IHdr
TWFrZVNjcm9sbGJhclJlcGxhY2VtZW50UGFpbnRlcihvbGRIb3Jpem9udGFsUGFpbnRlciwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ld1N0eWxlLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaG9yaXpvbnRhbFNjcm9sbGJhci0+Y29udHJvbFNpemUoKSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHRydWUpOworICAgICAgICBtYWNUaGVtZS0+c2V0TmV3UGFp
bnRlckZvclNjcm9sbGJhcihob3Jpem9udGFsU2Nyb2xsYmFyLCBuZXdIb3Jpem9udGFsUGFpbnRl
cik7CisgICAgICAgIHdrU2V0UGFpbnRlckZvclBhaW50ZXJDb250cm9sbGVyKG1fc2Nyb2xsYmFy
UGFpbnRlckNvbnRyb2xsZXIuZ2V0KCksIG5ld0hvcml6b250YWxQYWludGVyLCB0cnVlKTsKKwor
ICAgICAgICAvLyBUaGUgZGlmZmVyZW50IHNjcm9sbGJhciBzdHlsZXMgaGF2ZSBkaWZmZXJlbnQg
dGhpY2tuZXNzZXMsIHNvIHdlIG11c3QgcmUtc2V0IHRoZSAKKyAgICAgICAgLy8gZnJhbWVSZWN0
IHRvIHRoZSBuZXcgdGhpY2tuZXNzLCBhbmQgdGhlIHJlLWxheW91dCBiZWxvdyB3aWxsIGVuc3Vy
ZSB0aGUgcG9zaXRpb24KKyAgICAgICAgLy8gYW5kIGxlbmd0aCBhcmUgcHJvcGVybHkgdXBkYXRl
ZC4KKyAgICAgICAgaW50IHRoaWNrbmVzcyA9IG1hY1RoZW1lLT5zY3JvbGxiYXJUaGlja25lc3Mo
aG9yaXpvbnRhbFNjcm9sbGJhci0+Y29udHJvbFNpemUoKSk7CisgICAgICAgIGhvcml6b250YWxT
Y3JvbGxiYXItPnNldEZyYW1lUmVjdChJbnRSZWN0KDAsIDAsIHRoaWNrbmVzcywgdGhpY2tuZXNz
KSk7CisgICAgfQorCisgICAgLy8gSWYgbmVlZHNTY3JvbGxlclN0eWxlVXBkYXRlKCkgaXMgdHJ1
ZSwgdGhlbiB0aGUgcGFnZSBpcyByZXN0b3JpbmcgZnJvbSB0aGUgcGFnZSBjYWNoZSwgYW5kIAor
ICAgIC8vIGEgcmVsYXlvdXQgd2lsbCBoYXBwZW4gb24gaXRzIG93bi4gT3RoZXJ3aXNlLCB3ZSBt
dXN0IGluaXRpYXRlIGEgcmUtbGF5b3V0IG91cnNlbHZlcy4KKyAgICBpZiAoIW5lZWRzU2Nyb2xs
ZXJTdHlsZVVwZGF0ZSgpKQorICAgICAgICBzY3JvbGxhYmxlQXJlYSgpLT5zY3JvbGxiYXJTdHls
ZUNoYW5nZWQoKTsKKworICAgIHNldE5lZWRzU2Nyb2xsZXJTdHlsZVVwZGF0ZShmYWxzZSk7Cit9
CisKIHZvaWQgU2Nyb2xsQW5pbWF0b3JNYWM6OnN0YXJ0U2Nyb2xsYmFyUGFpbnRUaW1lcigpCiB7
CiAgICAgbV9pbml0aWFsU2Nyb2xsYmFyUGFpbnRUaW1lci5zdGFydE9uZVNob3QoMC4xKTsKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJDb3JlU3lzdGVtSW50ZXJmYWNlLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1dlYkNvcmVTeXN0ZW1J
bnRlcmZhY2UuaAkocmV2aXNpb24gODYwNzMpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
YWMvV2ViQ29yZVN5c3RlbUludGVyZmFjZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNDMsNiArMjQz
LDcgQEAgZXh0ZXJuIFdLU2Nyb2xsYmFyUGFpbnRlckNvbnRyb2xsZXJSZWYgKAogZXh0ZXJuIHZv
aWQgKCp3a1NldFBhaW50ZXJGb3JQYWludGVyQ29udHJvbGxlcikoV0tTY3JvbGxiYXJQYWludGVy
Q29udHJvbGxlclJlZiwgV0tTY3JvbGxiYXJQYWludGVyUmVmLCBib29sIGlzSG9yaXpvbnRhbCk7
CiBleHRlcm4gV0tTY3JvbGxiYXJQYWludGVyUmVmICgqd2tWZXJ0aWNhbFNjcm9sbGJhclBhaW50
ZXJGb3JDb250cm9sbGVyKShXS1Njcm9sbGJhclBhaW50ZXJDb250cm9sbGVyUmVmKTsKIGV4dGVy
biBXS1Njcm9sbGJhclBhaW50ZXJSZWYgKCp3a0hvcml6b250YWxTY3JvbGxiYXJQYWludGVyRm9y
Q29udHJvbGxlcikoV0tTY3JvbGxiYXJQYWludGVyQ29udHJvbGxlclJlZik7CitleHRlcm4gaW50
ICgqd2tTY3JvbGxiYXJQYWludGVyQ29udHJvbGxlclN0eWxlKShXS1Njcm9sbGJhclBhaW50ZXJD
b250cm9sbGVyUmVmKTsKIGV4dGVybiB2b2lkICgqd2tTZXRTY3JvbGxiYXJQYWludGVyQ29udHJv
bGxlclN0eWxlKShXS1Njcm9sbGJhclBhaW50ZXJDb250cm9sbGVyUmVmLCBpbnQgbmV3U3R5bGUp
OwogZXh0ZXJuIHZvaWQgKCp3a0NvbnRlbnRBcmVhU2Nyb2xsZWQpKFdLU2Nyb2xsYmFyUGFpbnRl
ckNvbnRyb2xsZXJSZWYpOwogZXh0ZXJuIHZvaWQgKCp3a0NvbnRlbnRBcmVhV2lsbFBhaW50KShX
S1Njcm9sbGJhclBhaW50ZXJDb250cm9sbGVyUmVmKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21hYy9XZWJDb3JlU3lzdGVtSW50ZXJmYWNlLm1tCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJDb3JlU3lzdGVtSW50ZXJmYWNlLm1tCShyZXZpc2lv
biA4NjA3MykKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJDb3JlU3lzdGVtSW50
ZXJmYWNlLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xMzksNiArMTM5LDcgQEAgV0tTY3JvbGxiYXJQ
YWludGVyQ29udHJvbGxlclJlZiAoKndrTWFrZQogdm9pZCAoKndrU2V0UGFpbnRlckZvclBhaW50
ZXJDb250cm9sbGVyKShXS1Njcm9sbGJhclBhaW50ZXJDb250cm9sbGVyUmVmLCBXS1Njcm9sbGJh
clBhaW50ZXJSZWYsIGJvb2wgaXNIb3Jpem9udGFsKTsKIFdLU2Nyb2xsYmFyUGFpbnRlclJlZiAo
KndrVmVydGljYWxTY3JvbGxiYXJQYWludGVyRm9yQ29udHJvbGxlcikoV0tTY3JvbGxiYXJQYWlu
dGVyQ29udHJvbGxlclJlZik7CiBXS1Njcm9sbGJhclBhaW50ZXJSZWYgKCp3a0hvcml6b250YWxT
Y3JvbGxiYXJQYWludGVyRm9yQ29udHJvbGxlcikoV0tTY3JvbGxiYXJQYWludGVyQ29udHJvbGxl
clJlZik7CitpbnQgKCp3a1Njcm9sbGJhclBhaW50ZXJDb250cm9sbGVyU3R5bGUpKFdLU2Nyb2xs
YmFyUGFpbnRlckNvbnRyb2xsZXJSZWYpOwogdm9pZCAoKndrU2V0U2Nyb2xsYmFyUGFpbnRlckNv
bnRyb2xsZXJTdHlsZSkoV0tTY3JvbGxiYXJQYWludGVyQ29udHJvbGxlclJlZiwgaW50IG5ld1N0
eWxlKTsKIHZvaWQgKCp3a0NvbnRlbnRBcmVhU2Nyb2xsZWQpKFdLU2Nyb2xsYmFyUGFpbnRlckNv
bnRyb2xsZXJSZWYpOwogdm9pZCAoKndrQ29udGVudEFyZWFXaWxsUGFpbnQpKFdLU2Nyb2xsYmFy
UGFpbnRlckNvbnRyb2xsZXJSZWYpOwpJbmRleDogU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwkocmV2aXNpb24gODYxODIpCisr
KyBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNSBA
QAorMjAxMS0wNS0xMCAgQmV0aCBEYWtpbiAgPGJkYWtpbkBhcHBsZS5jb20+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTYwNTgyCisgICAgICAgIENyYXNoIHN3aXRjaGluZyBvdmVy
bGF5L25vbi1vdmVybGF5IHNjcm9sbGJhciBwcmVmZXJlbmNlIHN0aWxsIHBvc3NpYmxlCisgICAg
ICAgIC1hbmQgY29ycmVzcG9uZGluZy0KKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzkzMjM5ODM+
CisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L21hYy9XZWJTeXN0ZW1JbnRl
cmZhY2UubW06CisgICAgICAgIChJbml0V2ViQ29yZVN5c3RlbUludGVyZmFjZSk6CisKIDIwMTEt
MDUtMTAgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KIAogICAgICAgICBS
ZXZpZXdlZCBieSBBZGFtIFJvYmVuLgpJbmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9tYWMvV2ViU3lzdGVtSW50ZXJmYWNlLm1tCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvbWFjL1dlYlN5c3RlbUludGVy
ZmFjZS5tbQkocmV2aXNpb24gODYwNzMpCisrKyBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L21hYy9XZWJTeXN0ZW1JbnRlcmZhY2UubW0JKHdvcmtpbmcgY29weSkKQEAg
LTEzMCw2ICsxMzAsNyBAQCB2b2lkIEluaXRXZWJDb3JlU3lzdGVtSW50ZXJmYWNlKHZvaWQpCiAg
ICAgICAgIElOSVQoU2V0UGFpbnRlckZvclBhaW50ZXJDb250cm9sbGVyKTsKICAgICAgICAgSU5J
VChWZXJ0aWNhbFNjcm9sbGJhclBhaW50ZXJGb3JDb250cm9sbGVyKTsKICAgICAgICAgSU5JVChI
b3Jpem9udGFsU2Nyb2xsYmFyUGFpbnRlckZvckNvbnRyb2xsZXIpOworICAgICAgICBJTklUKFNj
cm9sbGJhclBhaW50ZXJDb250cm9sbGVyU3R5bGUpOwogICAgICAgICBJTklUKFNldFNjcm9sbGJh
clBhaW50ZXJDb250cm9sbGVyU3R5bGUpOwogICAgICAgICBJTklUKENvbnRlbnRBcmVhU2Nyb2xs
ZWQpOwogICAgICAgICBJTklUKENvbnRlbnRBcmVhV2lsbFBhaW50KTsKSW5kZXg6IFNvdXJjZS9X
ZWJLaXQvbWFjL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21hYy9DaGFu
Z2VMb2cJKHJldmlzaW9uIDg2MTgyKQorKysgU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCSh3
b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDUtMTAgIEJldGggRGFraW4gIDxi
ZGFraW5AYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MDU4Mgor
ICAgICAgICBDcmFzaCBzd2l0Y2hpbmcgb3ZlcmxheS9ub24tb3ZlcmxheSBzY3JvbGxiYXIgcHJl
ZmVyZW5jZSBzdGlsbCBwb3NzaWJsZQorICAgICAgICAtYW5kIGNvcnJlc3BvbmRpbmctCisgICAg
ICAgIDxyZGFyOi8vcHJvYmxlbS85MzIzOTgzPgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQv
V2ViU3lzdGVtSW50ZXJmYWNlLm1tOgorICAgICAgICAoSW5pdFdlYkNvcmVTeXN0ZW1JbnRlcmZh
Y2UpOgorCiAyMDExLTA1LTA5ICBKZXJlbXkgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgog
CiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpJbmRleDogU291cmNlL1dlYktpdC9t
YWMvV2ViQ29yZVN1cHBvcnQvV2ViU3lzdGVtSW50ZXJmYWNlLm1tCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlN5c3RlbUludGVyZmFjZS5tbQkocmV2
aXNpb24gODYwNzMpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJTeXN0
ZW1JbnRlcmZhY2UubW0JKHdvcmtpbmcgY29weSkKQEAgLTEzNiw2ICsxMzYsNyBAQCB2b2lkIElu
aXRXZWJDb3JlU3lzdGVtSW50ZXJmYWNlKHZvaWQpCiAgICAgSU5JVChTZXRQYWludGVyRm9yUGFp
bnRlckNvbnRyb2xsZXIpOwogICAgIElOSVQoVmVydGljYWxTY3JvbGxiYXJQYWludGVyRm9yQ29u
dHJvbGxlcik7CiAgICAgSU5JVChIb3Jpem9udGFsU2Nyb2xsYmFyUGFpbnRlckZvckNvbnRyb2xs
ZXIpOworICAgIElOSVQoU2Nyb2xsYmFyUGFpbnRlckNvbnRyb2xsZXJTdHlsZSk7CiAgICAgSU5J
VChTZXRTY3JvbGxiYXJQYWludGVyQ29udHJvbGxlclN0eWxlKTsKICAgICBJTklUKENvbnRlbnRB
cmVhU2Nyb2xsZWQpOwogICAgIElOSVQoQ29udGVudEFyZWFXaWxsUGFpbnQpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>93025</attachid>
            <date>2011-05-10 15:18:01 -0700</date>
            <delta_ts>2011-05-10 15:28:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>os-for-review-2.txt</filename>
            <type>text/plain</type>
            <size>21244</size>
            <attacher name="Beth Dakin">bdakin</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg2MTgwKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNjUgQEAKKzIwMTEtMDUtMTAgIEJldGggRGFr
aW4gIDxiZGFraW5AYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02
MDU4MgorICAgICAgICBDcmFzaCBzd2l0Y2hpbmcgb3ZlcmxheS9ub24tb3ZlcmxheSBzY3JvbGxi
YXIgcHJlZmVyZW5jZSBzdGlsbCBwb3NzaWJsZQorICAgICAgICAtYW5kIGNvcnJlc3BvbmRpbmct
CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS85MzIzOTgzPgorCisgICAgICAgIFRoaXMgcGF0Y2gg
cHJldmVudHMgYW55IHdvcmsgZnJvbSBiZWluZyBkb25lIG9uIHBhZ2VzIHRoYXQgYXJlIGluIHRo
ZSBwYWdlIGNhY2hlIAorICAgICAgICB3aGVuIHRoZSBwcmVmZXJlbmNlIGlzIHN3aXRjaGVkLgor
CisgICAgICAgIFdoZW4gdGhlIERvY3VtZW50IGlzIGdvaW5nIGludG8gb3IgY29taW5nIG91dCBv
ZiB0aGUgcGFnZSBjYWNoZSwgaGF2ZSB0aGUgCisgICAgICAgIEZyYW1lVmlldyBpbmFjdGl2YXRl
IG9yIGFjdGl2YXRlIHRoZSBQYWdlJ3MgU2Nyb2xsQW5pbWF0b3JzIGFzIGFwcHJvcHJpYXRlLgor
ICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6
c2V0SW5QYWdlQ2FjaGUpOgorCisgICAgICAgIEl0ZXJhdGUgdGhyb3VnaCB0aGUgUGFnZSdzIFNj
cm9sbGFibGVBcmVhcyBzZXR0aW5nIHRoZSBhY3RpdmUgc3RhdGUgb2YgdGhlIAorICAgICAgICBT
Y3JvbGxBbmltYXRvcnMuCisgICAgICAgICogcGFnZS9GcmFtZVZpZXcuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6RnJhbWVWaWV3OjpzZXRBbmltYXRvcnNBcmVBY3RpdmUpOgorICAgICAgICAqIHBh
Z2UvRnJhbWVWaWV3Lmg6CisKKyAgICAgICAgU2Nyb2xsQW5pbWF0b3IgaGFzIGEgbmV3IGJpdCAt
LSBtX2lzQWN0aXZlLiBSaWdodCBub3cgbV9pc0FjdGl2ZSBpcyBhbHdheXMgdHJ1ZSAKKyAgICAg
ICAgdW5sZXNzIHRoZSBTY3JvbGxBbmltYXRvciBiZWxvbmdzIHRvIGEgU2Nyb2xsYWJsZUFyZWEg
dGhhdCBpcyBpbiB0aGUgcGFnZSBjYWNoZS4KKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxBbmlt
YXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxBbmltYXRvcjo6U2Nyb2xsQW5pbWF0
b3IpOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmg6CisgICAgICAgIChXZWJD
b3JlOjpTY3JvbGxBbmltYXRvcjo6c2V0SXNBY3RpdmUpOgorICAgICAgICAoV2ViQ29yZTo6U2Ny
b2xsQW5pbWF0b3I6OmlzQWN0aXZlKToKKworICAgICAgICBTY3JvbGxBbmltYXRvck1hYyBoYXMg
YSBuZXcgYml0IC0tIG1fbmVlZHNTY3JvbGxlclN0eWxlVXBkYXRlLiBUaGlzIGlzIHNldCB0byB0
cnVlIAorICAgICAgICB3aGVuIGEgU2Nyb2xsQW5pbWF0b3IgaXMgaW5hY3RpdmUgYW5kIGhhcyBy
ZWNlaXZlZCB0aGUgCisgICAgICAgIHVwZGF0ZVNjcm9sbGVyU3R5bGVGb3JOZXdSZWNvbW1lbmRl
ZFNjcm9sbGVyU3R5bGUgZGVsZWdhdGUgbm90aWZpY2F0aW9uLiBJdCAKKyAgICAgICAgcHJldmVu
dHMgYW55IHdvcmsgZnJvbSBiZWluZyBkb25lIGZvciB0aGlzIGRlbGVnYXRlIHVudGlsIHRoZSBT
Y3JvbGxBbmltYXRvciAKKyAgICAgICAgYmVjb21lcyBhY3RpdmUgYWdhaW4uCisgICAgICAgICog
cGxhdGZvcm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFjLmg6CisgICAgICAgIChXZWJDb3JlOjpTY3Jv
bGxBbmltYXRvck1hYzo6c2V0TmVlZHNTY3JvbGxlclN0eWxlVXBkYXRlKToKKyAgICAgICAgKFdl
YkNvcmU6OlNjcm9sbEFuaW1hdG9yTWFjOjpuZWVkc1Njcm9sbGVyU3R5bGVVcGRhdGUpOgorCisg
ICAgICAgIFRoaXMgZGVsZWdhdGUgbWV0aG9kIGhhcyBiZWVuIHJlLWZhY3RvcmVkIGludG8gU2Ny
b2xsQW5pbWF0b3JNYWM6OiAKKyAgICAgICAgdXBkYXRlU2Nyb2xsZXJTdHlsZSgpLiBUaGlzIHdh
eSB0aGUgbWVhdCBvZiB0aGUgZnVuY3Rpb24gY2FuIGJlIGNhbGxlZCBieSBib3RoIHRoZSAKKyAg
ICAgICAgZGVsZWdhdGUgYW5kIFNjcm9sbEFuaW1hdG9yTWFjOjpzZXRJc0FjdGl2ZSgpCisgICAg
ICAgICogcGxhdGZvcm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFjLm1tOgorICAgICAgICAoLVtTY3Jv
bGxiYXJQYWludGVyQ29udHJvbGxlckRlbGVnYXRlIHNjcm9sbGVySW1wUGFpcjp1cGRhdGVTY3Jv
bGxlclN0eWxlRm9yTmV3UmVjb21tZW5kZWRTY3JvbGxlclN0eWxlOl0pOgorICAgICAgICAoV2Vi
Q29yZTo6U2Nyb2xsQW5pbWF0b3JNYWM6OlNjcm9sbEFuaW1hdG9yTWFjKToKKworICAgICAgICBU
aGlzIG92ZXJyaWRlIG9mIFNjcm9sbEFuaW1hdG9yOjpzZXRJc0FjdGl2ZSgpIGNhbGxzIHRoZSBi
YXNlIGNsYXNzLCBhbmQgdGhlbiBjYWxscyB1cGRhdGVTY3JvbGxlclN0eWxlKCkgaWYgbmVlZHNT
Y3JvbGxlclN0eWxlVXBkYXRlKCkgaXMgc2V0IHRvIHRydWUuCisgICAgICAgIChXZWJDb3JlOjpT
Y3JvbGxBbmltYXRvck1hYzo6c2V0SXNBY3RpdmUpOgorCisgICAgICAgIFRoaXMgaXMgbW9zdGx5
IHRoZSBzYW1lIGFzIHRoZSBvbGQgZGVsZWdhdGUgbWV0aG9kLiBLZXkgZGlmZmVyZW5jZXMgYXJl
IHRoYXQgaWYgCisgICAgICAgIHRoZSBTY3JvbGxBbmltYXRvciBpcyBpbmFjdGl2ZSwgd2Ugbm93
IHNldE5lZWRzU2Nyb2xsZXJTdHlsZVVwZGF0ZSh0cnVlKSBhbmQgCisgICAgICAgIHJldHVybiBl
YXJseS4gV2UgYWxzbyBvbmx5IGNhbGwgc2Nyb2xsYWJsZUFyZWEoKS0+c2Nyb2xsYmFyU3R5bGVD
aGFuZ2VkKCkgaWYgCisgICAgICAgIG5lZWRzU2Nyb2xsZXJTdHlsZVVwZGF0ZSgpIGlzIGZhbHNl
IHNpbmNlIGluIHRoZSB0cnVlIGNhc2Ugd2hlbiB3ZSBhcmUgcmVzdG9yaW5nIAorICAgICAgICBm
cm9tIHRoZSBwYWdlIGNhY2hlLCB0aGlzIHdvdWxkIGJlIGR1cGxpY2F0ZWQgd29yay4KKyAgICAg
ICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdG9yTWFjOjp1cGRhdGVTY3JvbGxlclN0eWxlKToKKwor
ICAgICAgICBOZXcgV0tTeXN0ZW1JbnRlcmZhY2UgZnVuY3Rpb24gaXMgbmVlZGVkIHRvIHJldHJp
ZXZlIHRoZSBzY3JvbGxiYXIgc3R5bGUuCisgICAgICAgICogV2ViQ29yZS5leHAuaW46CisgICAg
ICAgICogcGxhdGZvcm0vbWFjL1dlYkNvcmVTeXN0ZW1JbnRlcmZhY2UuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9tYWMvV2ViQ29yZVN5c3RlbUludGVyZmFjZS5tbToKKwogMjAxMS0wNS0xMCAgQnJh
ZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQWxp
Y2UgTGl1LgpJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4JKHJldmlzaW9uIDg2MDczKQorKysgU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4JKHdvcmtpbmcgY29weSkKQEAgLTE0MzQsNiArMTQz
NCw3IEBAIF93a01vdXNlRXhpdGVkQ29udGVudEFyZWEKIF93a01vdXNlTW92ZWRJbkNvbnRlbnRB
cmVhCiBfd2tTY3JvbGxiYXJNaW5pbXVtVGh1bWJMZW5ndGgKIF93a1Njcm9sbGJhck1pbmltdW1U
b3RhbExlbmd0aE5lZWRlZEZvclRodW1iCitfd2tTY3JvbGxiYXJQYWludGVyQ29udHJvbGxlclN0
eWxlCiBfd2tTY3JvbGxiYXJQYWludGVyRm9yY2VGbGFzaFNjcm9sbGVycwogX3drU2Nyb2xsYmFy
UGFpbnRlcklzSG9yaXpvbnRhbAogX3drU2Nyb2xsYmFyUGFpbnRlcktub2JBbHBoYQpJbmRleDog
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuY3BwCShyZXZpc2lvbiA4NjA3MykKKysrIFNvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM5MjEsMTAgKzM5MjEsMTIgQEAg
dm9pZCBEb2N1bWVudDo6c2V0SW5QYWdlQ2FjaGUoYm9vbCBmbGFnKQogICAgICAgICByZXR1cm47
CiAKICAgICBtX2luUGFnZUNhY2hlID0gZmxhZzsKKworICAgIEZyYW1lVmlldyogdiA9IHZpZXco
KTsKICAgICBpZiAoZmxhZykgewogICAgICAgICBBU1NFUlQoIW1fc2F2ZWRSZW5kZXJlcik7CiAg
ICAgICAgIG1fc2F2ZWRSZW5kZXJlciA9IHJlbmRlcmVyKCk7Ci0gICAgICAgIGlmIChGcmFtZVZp
ZXcqIHYgPSB2aWV3KCkpIHsKKyAgICAgICAgaWYgKHYpIHsKICAgICAgICAgICAgIHYtPmNhY2hl
Q3VycmVudFNjcm9sbFBvc2l0aW9uKCk7CiAgICAgICAgICAgICBpZiAocGFnZSgpICYmIHBhZ2Uo
KS0+bWFpbkZyYW1lKCkgPT0gbV9mcmFtZSkKICAgICAgICAgICAgICAgICB2LT5yZXNldFNjcm9s
bGJhcnNBbmRDbGVhckNvbnRlbnRzU2l6ZSgpOwpAQCAtMzk0NCw2ICszOTQ2LDkgQEAgdm9pZCBE
b2N1bWVudDo6c2V0SW5QYWdlQ2FjaGUoYm9vbCBmbGFnKQogICAgICAgICBpZiAoY2hpbGROZWVk
c1N0eWxlUmVjYWxjKCkpCiAgICAgICAgICAgICBzY2hlZHVsZVN0eWxlUmVjYWxjKCk7CiAgICAg
fQorCisgICAgaWYgKHYpCisgICAgICAgIHYtPnNldEFuaW1hdG9yc0FyZUFjdGl2ZSghbV9pblBh
Z2VDYWNoZSk7CiB9CiAKIHZvaWQgRG9jdW1lbnQ6OmRvY3VtZW50V2lsbEJlY29tZUluYWN0aXZl
KCkgCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCShyZXZpc2lvbiA4NjA3MykKKysr
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjE2
NSw2ICsyMTY1LDIxIEBAIGJvb2wgRnJhbWVWaWV3OjpzaG91bGRTdXNwZW5kU2Nyb2xsQW5pbWEK
ICAgICByZXR1cm4gbV9mcmFtZS0+bG9hZGVyKCktPnN0YXRlKCkgIT0gRnJhbWVTdGF0ZUNvbXBs
ZXRlOwogfQogCit2b2lkIEZyYW1lVmlldzo6c2V0QW5pbWF0b3JzQXJlQWN0aXZlKGJvb2wgYWN0
aXZlKQoreworICAgIFBhZ2UqIHBhZ2UgPSBtX2ZyYW1lLT5wYWdlKCk7CisgICAgaWYgKCFwYWdl
KQorICAgICAgICByZXR1cm47CisKKyAgICBjb25zdCBIYXNoU2V0PFNjcm9sbGFibGVBcmVhKj4q
IHNjcm9sbGFibGVBcmVhcyA9IHBhZ2UtPnNjcm9sbGFibGVBcmVhU2V0KCk7CisgICAgaWYgKCFz
Y3JvbGxhYmxlQXJlYXMpCisgICAgICAgIHJldHVybjsKKworICAgIEhhc2hTZXQ8U2Nyb2xsYWJs
ZUFyZWEqPjo6Y29uc3RfaXRlcmF0b3IgZW5kID0gc2Nyb2xsYWJsZUFyZWFzLT5lbmQoKTsgCisg
ICAgZm9yIChIYXNoU2V0PFNjcm9sbGFibGVBcmVhKj46OmNvbnN0X2l0ZXJhdG9yIGl0ID0gc2Ny
b2xsYWJsZUFyZWFzLT5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpCisgICAgICAgICgqaXQpLT5z
Y3JvbGxBbmltYXRvcigpLT5zZXRJc0FjdGl2ZShhY3RpdmUpOworfQorCiB2b2lkIEZyYW1lVmll
dzo6bm90aWZ5UGFnZVRoYXRDb250ZW50QXJlYVdpbGxQYWludCgpIGNvbnN0CiB7CiAgICAgUGFn
ZSogcGFnZSA9IG1fZnJhbWUtPnBhZ2UoKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvRnJh
bWVWaWV3LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaAko
cmV2aXNpb24gODYwNzMpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yNjcsNiArMjY3LDggQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBib29s
IHNob3VsZFN1c3BlbmRTY3JvbGxBbmltYXRpb25zKCkgY29uc3Q7CiAKKyAgICB2b2lkIHNldEFu
aW1hdG9yc0FyZUFjdGl2ZShib29sKTsKKwogcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgYm9vbCBz
Y3JvbGxDb250ZW50c0Zhc3RQYXRoKGNvbnN0IEludFNpemUmIHNjcm9sbERlbHRhLCBjb25zdCBJ
bnRSZWN0JiByZWN0VG9TY3JvbGwsIGNvbnN0IEludFJlY3QmIGNsaXBSZWN0KTsKICAgICB2aXJ0
dWFsIHZvaWQgc2Nyb2xsQ29udGVudHNTbG93UGF0aChjb25zdCBJbnRSZWN0JiB1cGRhdGVSZWN0
KTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5jcHAJKHJl
dmlzaW9uIDg2MDczKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3Iu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Miw2ICs1Miw3IEBAIFNjcm9sbEFuaW1hdG9yOjpTY3Jv
bGxBbmltYXRvcihTY3JvbGxhYmwKICAgICA6IG1fc2Nyb2xsYWJsZUFyZWEoc2Nyb2xsYWJsZUFy
ZWEpCiAgICAgLCBtX2N1cnJlbnRQb3NYKDApCiAgICAgLCBtX2N1cnJlbnRQb3NZKDApCisgICAg
LCBtX2lzQWN0aXZlKHRydWUpCiB7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1Njcm9sbEFuaW1hdG9yLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
U2Nyb2xsQW5pbWF0b3IuaAkocmV2aXNpb24gODYwNzMpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9TY3JvbGxBbmltYXRvci5oCSh3b3JraW5nIGNvcHkpCkBAIC02MSw2ICs2MSw5IEBAIHB1
YmxpYzoKIAogICAgIFNjcm9sbGFibGVBcmVhKiBzY3JvbGxhYmxlQXJlYSgpIGNvbnN0IHsgcmV0
dXJuIG1fc2Nyb2xsYWJsZUFyZWE7IH0KIAorICAgIHZpcnR1YWwgdm9pZCBzZXRJc0FjdGl2ZShi
b29sIGFjdGl2ZSkgeyBtX2lzQWN0aXZlID0gYWN0aXZlOyB9CisgICAgYm9vbCBpc0FjdGl2ZSgp
IGNvbnN0IHsgcmV0dXJuIG1faXNBY3RpdmU7IH0KKwogICAgIHZpcnR1YWwgdm9pZCBoYW5kbGVX
aGVlbEV2ZW50KFBsYXRmb3JtV2hlZWxFdmVudCYpOwogI2lmIEVOQUJMRShHRVNUVVJFX0VWRU5U
UykKICAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlR2VzdHVyZUV2ZW50KGNvbnN0IFBsYXRmb3JtR2Vz
dHVyZUV2ZW50Jik7CkBAIC05Myw2ICs5Niw3IEBAIHByb3RlY3RlZDoKICAgICBTY3JvbGxhYmxl
QXJlYSogbV9zY3JvbGxhYmxlQXJlYTsKICAgICBmbG9hdCBtX2N1cnJlbnRQb3NYOyAvLyBXZSBh
dm9pZCB1c2luZyBhIEZsb2F0UG9pbnQgaW4gb3JkZXIgdG8gcmVkdWNlCiAgICAgZmxvYXQgbV9j
dXJyZW50UG9zWTsgLy8gc3ViY2xhc3MgY29kZSBjb21wbGV4aXR5LgorICAgIGJvb2wgbV9pc0Fj
dGl2ZTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5oCShyZXZpc2lvbiA4NjA3MykK
KysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC04MSw3ICs4MSwxMSBAQCBwdWJsaWM6CiAKICAgICBib29sIGhhdmVTY3Jv
bGxlZFNpbmNlUGFnZUxvYWQoKSBjb25zdCB7IHJldHVybiBtX2hhdmVTY3JvbGxlZFNpbmNlUGFn
ZUxvYWQ7IH0KIAorICAgIHZpcnR1YWwgdm9pZCBzZXRJc0FjdGl2ZShib29sIGFjdGl2ZSk7CisK
ICNpZiBVU0UoV0tfU0NST0xMQkFSX1BBSU5URVIpCisgICAgdm9pZCB1cGRhdGVTY3JvbGxlclN0
eWxlKCk7CisKICAgICBib29sIHNjcm9sbGJhclBhaW50VGltZXJJc0FjdGl2ZSgpIGNvbnN0Owog
ICAgIHZvaWQgc3RhcnRTY3JvbGxiYXJQYWludFRpbWVyKCk7CiAgICAgdm9pZCBzdG9wU2Nyb2xs
YmFyUGFpbnRUaW1lcigpOwpAQCAtMTIwLDYgKzEyNCw5IEBAIHByaXZhdGU6CiAgICAgdmlydHVh
bCB2b2lkIGRpZEFkZEhvcml6b250YWxTY3JvbGxiYXIoU2Nyb2xsYmFyKik7CiAgICAgdmlydHVh
bCB2b2lkIHdpbGxSZW1vdmVIb3Jpem9udGFsU2Nyb2xsYmFyKFNjcm9sbGJhciopOwogCisgICAg
dm9pZCBzZXROZWVkc1Njcm9sbGVyU3R5bGVVcGRhdGUoYm9vbCBuZWVkc1VwZGF0ZSkgeyBtX25l
ZWRzU2Nyb2xsZXJTdHlsZVVwZGF0ZSA9IG5lZWRzVXBkYXRlOyB9CisgICAgYm9vbCBuZWVkc1Nj
cm9sbGVyU3R5bGVVcGRhdGUoKSBjb25zdCB7IHJldHVybiBtX25lZWRzU2Nyb2xsZXJTdHlsZVVw
ZGF0ZTsgfQorCiAgICAgZmxvYXQgYWRqdXN0U2Nyb2xsWFBvc2l0aW9uSWZOZWNlc3NhcnkoZmxv
YXQpIGNvbnN0OwogICAgIGZsb2F0IGFkanVzdFNjcm9sbFlQb3NpdGlvbklmTmVjZXNzYXJ5KGZs
b2F0KSBjb25zdDsKICAgICBGbG9hdFBvaW50IGFkanVzdFNjcm9sbFBvc2l0aW9uSWZOZWNlc3Nh
cnkoY29uc3QgRmxvYXRQb2ludCYpIGNvbnN0OwpAQCAtMTUyLDYgKzE1OSw3IEBAIHByaXZhdGU6
CiAjZW5kaWYKICAgICBib29sIG1fZHJhd2luZ0ludG9MYXllcjsKICAgICBib29sIG1faGF2ZVNj
cm9sbGVkU2luY2VQYWdlTG9hZDsKKyAgICBib29sIG1fbmVlZHNTY3JvbGxlclN0eWxlVXBkYXRl
OwogICAgIEludFJlY3QgbV92aXNpYmxlU2Nyb2xsZXJUaHVtYlJlY3Q7CiB9OwogCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMubW0KPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFjLm1tCShy
ZXZpc2lvbiA4NjA3MykKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxBbmlt
YXRvck1hYy5tbQkod29ya2luZyBjb3B5KQpAQCAtMjM0LDQ3ICsyMzQsOCBAQCAtICh2b2lkKXNj
cm9sbGVySW1wUGFpcjooaWQpc2Nyb2xsZXJJbXBQCiAgICAgaWYgKCFfYW5pbWF0b3IpCiAgICAg
ICAgIHJldHVybjsKIAotICAgIFdLU2Nyb2xsYmFyUGFpbnRlckNvbnRyb2xsZXJSZWYgcGFpbnRl
ckNvbnRyb2xsZXIgPSAoV0tTY3JvbGxiYXJQYWludGVyQ29udHJvbGxlclJlZilzY3JvbGxlcklt
cFBhaXI7Ci0gICAgV2ViQ29yZTo6U2Nyb2xsYmFyVGhlbWVNYWMqIG1hY1RoZW1lID0gKFdlYkNv
cmU6OlNjcm9sbGJhclRoZW1lTWFjKilXZWJDb3JlOjpTY3JvbGxiYXJUaGVtZTo6bmF0aXZlVGhl
bWUoKTsKLQotICAgIFdLU2Nyb2xsYmFyUGFpbnRlclJlZiBvbGRWZXJ0aWNhbFBhaW50ZXIgPSB3
a1ZlcnRpY2FsU2Nyb2xsYmFyUGFpbnRlckZvckNvbnRyb2xsZXIocGFpbnRlckNvbnRyb2xsZXIp
OwotICAgIGlmIChvbGRWZXJ0aWNhbFBhaW50ZXIpIHsKLSAgICAgICAgV2ViQ29yZTo6U2Nyb2xs
YmFyKiB2ZXJ0aWNhbFNjcm9sbGJhciA9IF9hbmltYXRvci0+c2Nyb2xsYWJsZUFyZWEoKS0+dmVy
dGljYWxTY3JvbGxiYXIoKTsKLSAgICAgICAgV0tTY3JvbGxiYXJQYWludGVyUmVmIG5ld1ZlcnRp
Y2FsUGFpbnRlciA9IHdrTWFrZVNjcm9sbGJhclJlcGxhY2VtZW50UGFpbnRlcihvbGRWZXJ0aWNh
bFBhaW50ZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3UmVjb21tZW5kZWRTY3Jv
bGxlclN0eWxlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsU2Nyb2xsYmFy
LT5jb250cm9sU2l6ZSgpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbHNlKTsKLSAg
ICAgICAgbWFjVGhlbWUtPnNldE5ld1BhaW50ZXJGb3JTY3JvbGxiYXIodmVydGljYWxTY3JvbGxi
YXIsIG5ld1ZlcnRpY2FsUGFpbnRlcik7Ci0gICAgICAgIHdrU2V0UGFpbnRlckZvclBhaW50ZXJD
b250cm9sbGVyKHBhaW50ZXJDb250cm9sbGVyLCBuZXdWZXJ0aWNhbFBhaW50ZXIsIGZhbHNlKTsK
LQotICAgICAgICAvLyBUaGUgZGlmZmVyZW50IHNjcm9sbGJhciBzdHlsZXMgaGF2ZSBkaWZmZXJl
bnQgdGhpY2tuZXNzZXMsIHNvIHdlIG11c3QgcmUtc2V0IHRoZSAKLSAgICAgICAgLy8gZnJhbWVS
ZWN0IHRvIHRoZSBuZXcgdGhpY2tuZXNzLCBhbmQgdGhlIHJlLWxheW91dCBiZWxvdyB3aWxsIGVu
c3VyZSB0aGUgcG9zaXRpb24KLSAgICAgICAgLy8gYW5kIGxlbmd0aCBhcmUgcHJvcGVybHkgdXBk
YXRlZC4KLSAgICAgICAgaW50IHRoaWNrbmVzcyA9IG1hY1RoZW1lLT5zY3JvbGxiYXJUaGlja25l
c3ModmVydGljYWxTY3JvbGxiYXItPmNvbnRyb2xTaXplKCkpOwotICAgICAgICB2ZXJ0aWNhbFNj
cm9sbGJhci0+c2V0RnJhbWVSZWN0KFdlYkNvcmU6OkludFJlY3QoMCwgMCwgdGhpY2tuZXNzLCB0
aGlja25lc3MpKTsKLSAgICB9Ci0KLSAgICBXS1Njcm9sbGJhclBhaW50ZXJSZWYgb2xkSG9yaXpv
bnRhbFBhaW50ZXIgPSB3a0hvcml6b250YWxTY3JvbGxiYXJQYWludGVyRm9yQ29udHJvbGxlcihw
YWludGVyQ29udHJvbGxlcik7Ci0gICAgaWYgKG9sZEhvcml6b250YWxQYWludGVyKSB7Ci0gICAg
ICAgIFdlYkNvcmU6OlNjcm9sbGJhciogaG9yaXpvbnRhbFNjcm9sbGJhciA9IF9hbmltYXRvci0+
c2Nyb2xsYWJsZUFyZWEoKS0+aG9yaXpvbnRhbFNjcm9sbGJhcigpOwotICAgICAgICBXS1Njcm9s
bGJhclBhaW50ZXJSZWYgbmV3SG9yaXpvbnRhbFBhaW50ZXIgPSB3a01ha2VTY3JvbGxiYXJSZXBs
YWNlbWVudFBhaW50ZXIob2xkSG9yaXpvbnRhbFBhaW50ZXIsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBuZXdSZWNvbW1lbmRlZFNjcm9sbGVyU3R5bGUsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBob3Jpem9udGFsU2Nyb2xsYmFyLT5jb250cm9sU2l6ZSgpLAotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSk7Ci0gICAgICAgIG1hY1RoZW1lLT5zZXROZXdQ
YWludGVyRm9yU2Nyb2xsYmFyKGhvcml6b250YWxTY3JvbGxiYXIsIG5ld0hvcml6b250YWxQYWlu
dGVyKTsKLSAgICAgICAgd2tTZXRQYWludGVyRm9yUGFpbnRlckNvbnRyb2xsZXIocGFpbnRlckNv
bnRyb2xsZXIsIG5ld0hvcml6b250YWxQYWludGVyLCB0cnVlKTsKLQotICAgICAgICAvLyBUaGUg
ZGlmZmVyZW50IHNjcm9sbGJhciBzdHlsZXMgaGF2ZSBkaWZmZXJlbnQgdGhpY2tuZXNzZXMsIHNv
IHdlIG11c3QgcmUtc2V0IHRoZSAKLSAgICAgICAgLy8gZnJhbWVSZWN0IHRvIHRoZSBuZXcgdGhp
Y2tuZXNzLCBhbmQgdGhlIHJlLWxheW91dCBiZWxvdyB3aWxsIGVuc3VyZSB0aGUgcG9zaXRpb24K
LSAgICAgICAgLy8gYW5kIGxlbmd0aCBhcmUgcHJvcGVybHkgdXBkYXRlZC4KLSAgICAgICAgaW50
IHRoaWNrbmVzcyA9IG1hY1RoZW1lLT5zY3JvbGxiYXJUaGlja25lc3MoaG9yaXpvbnRhbFNjcm9s
bGJhci0+Y29udHJvbFNpemUoKSk7Ci0gICAgICAgIGhvcml6b250YWxTY3JvbGxiYXItPnNldEZy
YW1lUmVjdChXZWJDb3JlOjpJbnRSZWN0KDAsIDAsIHRoaWNrbmVzcywgdGhpY2tuZXNzKSk7Ci0g
ICAgfQotCi0gICAgd2tTZXRTY3JvbGxiYXJQYWludGVyQ29udHJvbGxlclN0eWxlKHBhaW50ZXJD
b250cm9sbGVyLCBuZXdSZWNvbW1lbmRlZFNjcm9sbGVyU3R5bGUpOwotCi0gICAgLy8gVGhlIGRp
ZmZlcmVudCBzY3JvbGxiYXIgc3R5bGVzIGFmZmVjdCBsYXlvdXQsIHNvIHdlIG11c3QgcmUtbGF5
b3V0IGV2ZXJ5dGhpbmcuCi0gICAgX2FuaW1hdG9yLT5zY3JvbGxhYmxlQXJlYSgpLT5zY3JvbGxi
YXJTdHlsZUNoYW5nZWQoKTsKKyAgICB3a1NldFNjcm9sbGJhclBhaW50ZXJDb250cm9sbGVyU3R5
bGUoKFdLU2Nyb2xsYmFyUGFpbnRlckNvbnRyb2xsZXJSZWYpc2Nyb2xsZXJJbXBQYWlyLCBuZXdS
ZWNvbW1lbmRlZFNjcm9sbGVyU3R5bGUpOworICAgIF9hbmltYXRvci0+dXBkYXRlU2Nyb2xsZXJT
dHlsZSgpOwogfQogCiBAZW5kCkBAIC01MDQsNiArNDY1LDcgQEAgU2Nyb2xsQW5pbWF0b3JNYWM6
OlNjcm9sbEFuaW1hdG9yTWFjKFNjcgogI2VuZGlmCiAgICAgLCBtX2RyYXdpbmdJbnRvTGF5ZXIo
ZmFsc2UpCiAgICAgLCBtX2hhdmVTY3JvbGxlZFNpbmNlUGFnZUxvYWQoZmFsc2UpCisgICAgLCBt
X25lZWRzU2Nyb2xsZXJTdHlsZVVwZGF0ZShmYWxzZSkKIHsKICAgICBtX3Njcm9sbEFuaW1hdGlv
bkhlbHBlckRlbGVnYXRlLmFkb3B0TlMoW1tTY3JvbGxBbmltYXRpb25IZWxwZXJEZWxlZ2F0ZSBh
bGxvY10gaW5pdFdpdGhTY3JvbGxBbmltYXRvcjp0aGlzXSk7CiAgICAgbV9zY3JvbGxBbmltYXRp
b25IZWxwZXIuYWRvcHROUyhbW05TQ2xhc3NGcm9tU3RyaW5nKEAiTlNTY3JvbGxBbmltYXRpb25I
ZWxwZXIiKSBhbGxvY10gaW5pdFdpdGhEZWxlZ2F0ZTptX3Njcm9sbEFuaW1hdGlvbkhlbHBlckRl
bGVnYXRlLmdldCgpXSk7CkBAIC0xMTk0LDcgKzExNTYsNjcgQEAgdm9pZCBTY3JvbGxBbmltYXRv
ck1hYzo6c25hcFJ1YmJlckJhbmRUaQogfQogI2VuZGlmCiAKK3ZvaWQgU2Nyb2xsQW5pbWF0b3JN
YWM6OnNldElzQWN0aXZlKGJvb2wgYWN0aXZlKQoreworICAgIFNjcm9sbEFuaW1hdG9yOjpzZXRJ
c0FjdGl2ZShhY3RpdmUpOworCisjaWYgVVNFKFdLX1NDUk9MTEJBUl9QQUlOVEVSKQorICAgIGlm
IChuZWVkc1Njcm9sbGVyU3R5bGVVcGRhdGUoKSkKKyAgICAgICAgdXBkYXRlU2Nyb2xsZXJTdHls
ZSgpOworI2VuZGlmCit9CisKICNpZiBVU0UoV0tfU0NST0xMQkFSX1BBSU5URVIpCit2b2lkIFNj
cm9sbEFuaW1hdG9yTWFjOjp1cGRhdGVTY3JvbGxlclN0eWxlKCkKK3sKKyAgICBpZiAoIWlzQWN0
aXZlKCkpIHsKKyAgICAgICAgc2V0TmVlZHNTY3JvbGxlclN0eWxlVXBkYXRlKHRydWUpOworICAg
ICAgICByZXR1cm47CisgICAgfQorCisgICAgU2Nyb2xsYmFyVGhlbWVNYWMqIG1hY1RoZW1lID0g
KFNjcm9sbGJhclRoZW1lTWFjKilTY3JvbGxiYXJUaGVtZTo6bmF0aXZlVGhlbWUoKTsKKyAgICBp
bnQgbmV3U3R5bGUgPSB3a1Njcm9sbGJhclBhaW50ZXJDb250cm9sbGVyU3R5bGUobV9zY3JvbGxi
YXJQYWludGVyQ29udHJvbGxlci5nZXQoKSk7CisKKyAgICBpZiAoU2Nyb2xsYmFyKiB2ZXJ0aWNh
bFNjcm9sbGJhciA9IHNjcm9sbGFibGVBcmVhKCktPnZlcnRpY2FsU2Nyb2xsYmFyKCkpIHsKKyAg
ICAgICAgV0tTY3JvbGxiYXJQYWludGVyUmVmIG9sZFZlcnRpY2FsUGFpbnRlciA9IHdrVmVydGlj
YWxTY3JvbGxiYXJQYWludGVyRm9yQ29udHJvbGxlcihtX3Njcm9sbGJhclBhaW50ZXJDb250cm9s
bGVyLmdldCgpKTsKKyAgICAgICAgV0tTY3JvbGxiYXJQYWludGVyUmVmIG5ld1ZlcnRpY2FsUGFp
bnRlciA9IHdrTWFrZVNjcm9sbGJhclJlcGxhY2VtZW50UGFpbnRlcihvbGRWZXJ0aWNhbFBhaW50
ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3U3R5bGUsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdmVydGljYWxTY3JvbGxiYXItPmNvbnRyb2xTaXplKCksCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgZmFsc2UpOworICAgICAgICBtYWNUaGVtZS0+c2V0TmV3UGFp
bnRlckZvclNjcm9sbGJhcih2ZXJ0aWNhbFNjcm9sbGJhciwgbmV3VmVydGljYWxQYWludGVyKTsK
KyAgICAgICAgd2tTZXRQYWludGVyRm9yUGFpbnRlckNvbnRyb2xsZXIobV9zY3JvbGxiYXJQYWlu
dGVyQ29udHJvbGxlci5nZXQoKSwgbmV3VmVydGljYWxQYWludGVyLCBmYWxzZSk7CisKKyAgICAg
ICAgLy8gVGhlIGRpZmZlcmVudCBzY3JvbGxiYXIgc3R5bGVzIGhhdmUgZGlmZmVyZW50IHRoaWNr
bmVzc2VzLCBzbyB3ZSBtdXN0IHJlLXNldCB0aGUgCisgICAgICAgIC8vIGZyYW1lUmVjdCB0byB0
aGUgbmV3IHRoaWNrbmVzcywgYW5kIHRoZSByZS1sYXlvdXQgYmVsb3cgd2lsbCBlbnN1cmUgdGhl
IHBvc2l0aW9uCisgICAgICAgIC8vIGFuZCBsZW5ndGggYXJlIHByb3Blcmx5IHVwZGF0ZWQuCisg
ICAgICAgIGludCB0aGlja25lc3MgPSBtYWNUaGVtZS0+c2Nyb2xsYmFyVGhpY2tuZXNzKHZlcnRp
Y2FsU2Nyb2xsYmFyLT5jb250cm9sU2l6ZSgpKTsKKyAgICAgICAgdmVydGljYWxTY3JvbGxiYXIt
PnNldEZyYW1lUmVjdChJbnRSZWN0KDAsIDAsIHRoaWNrbmVzcywgdGhpY2tuZXNzKSk7CisgICAg
fQorCisgICAgaWYgKFNjcm9sbGJhciogaG9yaXpvbnRhbFNjcm9sbGJhciA9IHNjcm9sbGFibGVB
cmVhKCktPmhvcml6b250YWxTY3JvbGxiYXIoKSkgeworICAgICAgICBXS1Njcm9sbGJhclBhaW50
ZXJSZWYgb2xkSG9yaXpvbnRhbFBhaW50ZXIgPSB3a0hvcml6b250YWxTY3JvbGxiYXJQYWludGVy
Rm9yQ29udHJvbGxlcihtX3Njcm9sbGJhclBhaW50ZXJDb250cm9sbGVyLmdldCgpKTsKKyAgICAg
ICAgV0tTY3JvbGxiYXJQYWludGVyUmVmIG5ld0hvcml6b250YWxQYWludGVyID0gd2tNYWtlU2Ny
b2xsYmFyUmVwbGFjZW1lbnRQYWludGVyKG9sZEhvcml6b250YWxQYWludGVyLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgbmV3U3R5bGUsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBob3Jpem9udGFsU2Nyb2xsYmFyLT5jb250cm9sU2l6ZSgpLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgdHJ1ZSk7CisgICAgICAgIG1hY1RoZW1lLT5zZXROZXdQYWludGVyRm9y
U2Nyb2xsYmFyKGhvcml6b250YWxTY3JvbGxiYXIsIG5ld0hvcml6b250YWxQYWludGVyKTsKKyAg
ICAgICAgd2tTZXRQYWludGVyRm9yUGFpbnRlckNvbnRyb2xsZXIobV9zY3JvbGxiYXJQYWludGVy
Q29udHJvbGxlci5nZXQoKSwgbmV3SG9yaXpvbnRhbFBhaW50ZXIsIHRydWUpOworCisgICAgICAg
IC8vIFRoZSBkaWZmZXJlbnQgc2Nyb2xsYmFyIHN0eWxlcyBoYXZlIGRpZmZlcmVudCB0aGlja25l
c3Nlcywgc28gd2UgbXVzdCByZS1zZXQgdGhlIAorICAgICAgICAvLyBmcmFtZVJlY3QgdG8gdGhl
IG5ldyB0aGlja25lc3MsIGFuZCB0aGUgcmUtbGF5b3V0IGJlbG93IHdpbGwgZW5zdXJlIHRoZSBw
b3NpdGlvbgorICAgICAgICAvLyBhbmQgbGVuZ3RoIGFyZSBwcm9wZXJseSB1cGRhdGVkLgorICAg
ICAgICBpbnQgdGhpY2tuZXNzID0gbWFjVGhlbWUtPnNjcm9sbGJhclRoaWNrbmVzcyhob3Jpem9u
dGFsU2Nyb2xsYmFyLT5jb250cm9sU2l6ZSgpKTsKKyAgICAgICAgaG9yaXpvbnRhbFNjcm9sbGJh
ci0+c2V0RnJhbWVSZWN0KEludFJlY3QoMCwgMCwgdGhpY2tuZXNzLCB0aGlja25lc3MpKTsKKyAg
ICB9CisKKyAgICAvLyBJZiBuZWVkc1Njcm9sbGVyU3R5bGVVcGRhdGUoKSBpcyB0cnVlLCB0aGVu
IHRoZSBwYWdlIGlzIHJlc3RvcmluZyBmcm9tIHRoZSBwYWdlIGNhY2hlLCBhbmQgCisgICAgLy8g
YSByZWxheW91dCB3aWxsIGhhcHBlbiBvbiBpdHMgb3duLiBPdGhlcndpc2UsIHdlIG11c3QgaW5p
dGlhdGUgYSByZS1sYXlvdXQgb3Vyc2VsdmVzLgorICAgIGlmICghbmVlZHNTY3JvbGxlclN0eWxl
VXBkYXRlKCkpCisgICAgICAgIHNjcm9sbGFibGVBcmVhKCktPnNjcm9sbGJhclN0eWxlQ2hhbmdl
ZCgpOworCisgICAgc2V0TmVlZHNTY3JvbGxlclN0eWxlVXBkYXRlKGZhbHNlKTsKK30KKwogdm9p
ZCBTY3JvbGxBbmltYXRvck1hYzo6c3RhcnRTY3JvbGxiYXJQYWludFRpbWVyKCkKIHsKICAgICBt
X2luaXRpYWxTY3JvbGxiYXJQYWludFRpbWVyLnN0YXJ0T25lU2hvdCgwLjEpOwpJbmRleDogU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1dlYkNvcmVTeXN0ZW1JbnRlcmZhY2UuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2ViQ29yZVN5c3RlbUludGVyZmFj
ZS5oCShyZXZpc2lvbiA4NjA3MykKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJD
b3JlU3lzdGVtSW50ZXJmYWNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTI0Myw2ICsyNDMsNyBAQCBl
eHRlcm4gV0tTY3JvbGxiYXJQYWludGVyQ29udHJvbGxlclJlZiAoCiBleHRlcm4gdm9pZCAoKndr
U2V0UGFpbnRlckZvclBhaW50ZXJDb250cm9sbGVyKShXS1Njcm9sbGJhclBhaW50ZXJDb250cm9s
bGVyUmVmLCBXS1Njcm9sbGJhclBhaW50ZXJSZWYsIGJvb2wgaXNIb3Jpem9udGFsKTsKIGV4dGVy
biBXS1Njcm9sbGJhclBhaW50ZXJSZWYgKCp3a1ZlcnRpY2FsU2Nyb2xsYmFyUGFpbnRlckZvckNv
bnRyb2xsZXIpKFdLU2Nyb2xsYmFyUGFpbnRlckNvbnRyb2xsZXJSZWYpOwogZXh0ZXJuIFdLU2Ny
b2xsYmFyUGFpbnRlclJlZiAoKndrSG9yaXpvbnRhbFNjcm9sbGJhclBhaW50ZXJGb3JDb250cm9s
bGVyKShXS1Njcm9sbGJhclBhaW50ZXJDb250cm9sbGVyUmVmKTsKK2V4dGVybiBpbnQgKCp3a1Nj
cm9sbGJhclBhaW50ZXJDb250cm9sbGVyU3R5bGUpKFdLU2Nyb2xsYmFyUGFpbnRlckNvbnRyb2xs
ZXJSZWYpOwogZXh0ZXJuIHZvaWQgKCp3a1NldFNjcm9sbGJhclBhaW50ZXJDb250cm9sbGVyU3R5
bGUpKFdLU2Nyb2xsYmFyUGFpbnRlckNvbnRyb2xsZXJSZWYsIGludCBuZXdTdHlsZSk7CiBleHRl
cm4gdm9pZCAoKndrQ29udGVudEFyZWFTY3JvbGxlZCkoV0tTY3JvbGxiYXJQYWludGVyQ29udHJv
bGxlclJlZik7CiBleHRlcm4gdm9pZCAoKndrQ29udGVudEFyZWFXaWxsUGFpbnQpKFdLU2Nyb2xs
YmFyUGFpbnRlckNvbnRyb2xsZXJSZWYpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWFjL1dlYkNvcmVTeXN0ZW1JbnRlcmZhY2UubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWFjL1dlYkNvcmVTeXN0ZW1JbnRlcmZhY2UubW0JKHJldmlzaW9uIDg2MDcz
KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1dlYkNvcmVTeXN0ZW1JbnRlcmZhY2Uu
bW0JKHdvcmtpbmcgY29weSkKQEAgLTEzOSw2ICsxMzksNyBAQCBXS1Njcm9sbGJhclBhaW50ZXJD
b250cm9sbGVyUmVmICgqd2tNYWtlCiB2b2lkICgqd2tTZXRQYWludGVyRm9yUGFpbnRlckNvbnRy
b2xsZXIpKFdLU2Nyb2xsYmFyUGFpbnRlckNvbnRyb2xsZXJSZWYsIFdLU2Nyb2xsYmFyUGFpbnRl
clJlZiwgYm9vbCBpc0hvcml6b250YWwpOwogV0tTY3JvbGxiYXJQYWludGVyUmVmICgqd2tWZXJ0
aWNhbFNjcm9sbGJhclBhaW50ZXJGb3JDb250cm9sbGVyKShXS1Njcm9sbGJhclBhaW50ZXJDb250
cm9sbGVyUmVmKTsKIFdLU2Nyb2xsYmFyUGFpbnRlclJlZiAoKndrSG9yaXpvbnRhbFNjcm9sbGJh
clBhaW50ZXJGb3JDb250cm9sbGVyKShXS1Njcm9sbGJhclBhaW50ZXJDb250cm9sbGVyUmVmKTsK
K2ludCAoKndrU2Nyb2xsYmFyUGFpbnRlckNvbnRyb2xsZXJTdHlsZSkoV0tTY3JvbGxiYXJQYWlu
dGVyQ29udHJvbGxlclJlZik7CiB2b2lkICgqd2tTZXRTY3JvbGxiYXJQYWludGVyQ29udHJvbGxl
clN0eWxlKShXS1Njcm9sbGJhclBhaW50ZXJDb250cm9sbGVyUmVmLCBpbnQgbmV3U3R5bGUpOwog
dm9pZCAoKndrQ29udGVudEFyZWFTY3JvbGxlZCkoV0tTY3JvbGxiYXJQYWludGVyQ29udHJvbGxl
clJlZik7CiB2b2lkICgqd2tDb250ZW50QXJlYVdpbGxQYWludCkoV0tTY3JvbGxiYXJQYWludGVy
Q29udHJvbGxlclJlZik7CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCShyZXZpc2lvbiA4NjE4MikKKysrIFNvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDEx
LTA1LTEwICBCZXRoIERha2luICA8YmRha2luQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NjA1ODIKKyAgICAgICAgQ3Jhc2ggc3dpdGNoaW5nIG92ZXJsYXkvbm9u
LW92ZXJsYXkgc2Nyb2xsYmFyIHByZWZlcmVuY2Ugc3RpbGwgcG9zc2libGUKKyAgICAgICAgLWFu
ZCBjb3JyZXNwb25kaW5nLQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vOTMyMzk4Mz4KKworICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvbWFjL1dlYlN5c3RlbUludGVyZmFjZS5t
bToKKyAgICAgICAgKEluaXRXZWJDb3JlU3lzdGVtSW50ZXJmYWNlKToKKwogMjAxMS0wNS0xMCAg
QW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2Vk
IGJ5IEFkYW0gUm9iZW4uCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L21hYy9XZWJTeXN0ZW1JbnRlcmZhY2UubW0KPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9tYWMvV2ViU3lzdGVtSW50ZXJmYWNlLm1t
CShyZXZpc2lvbiA4NjA3MykKKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvbWFjL1dlYlN5c3RlbUludGVyZmFjZS5tbQkod29ya2luZyBjb3B5KQpAQCAtMTMwLDYg
KzEzMCw3IEBAIHZvaWQgSW5pdFdlYkNvcmVTeXN0ZW1JbnRlcmZhY2Uodm9pZCkKICAgICAgICAg
SU5JVChTZXRQYWludGVyRm9yUGFpbnRlckNvbnRyb2xsZXIpOwogICAgICAgICBJTklUKFZlcnRp
Y2FsU2Nyb2xsYmFyUGFpbnRlckZvckNvbnRyb2xsZXIpOwogICAgICAgICBJTklUKEhvcml6b250
YWxTY3JvbGxiYXJQYWludGVyRm9yQ29udHJvbGxlcik7CisgICAgICAgIElOSVQoU2Nyb2xsYmFy
UGFpbnRlckNvbnRyb2xsZXJTdHlsZSk7CiAgICAgICAgIElOSVQoU2V0U2Nyb2xsYmFyUGFpbnRl
ckNvbnRyb2xsZXJTdHlsZSk7CiAgICAgICAgIElOSVQoQ29udGVudEFyZWFTY3JvbGxlZCk7CiAg
ICAgICAgIElOSVQoQ29udGVudEFyZWFXaWxsUGFpbnQpOwpJbmRleDogU291cmNlL1dlYktpdC9t
YWMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwko
cmV2aXNpb24gODYxODIpCisrKyBTb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMyArMSwxNSBAQAorMjAxMS0wNS0xMCAgQmV0aCBEYWtpbiAgPGJkYWtpbkBh
cHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYwNTgyCisgICAgICAg
IENyYXNoIHN3aXRjaGluZyBvdmVybGF5L25vbi1vdmVybGF5IHNjcm9sbGJhciBwcmVmZXJlbmNl
IHN0aWxsIHBvc3NpYmxlCisgICAgICAgIC1hbmQgY29ycmVzcG9uZGluZy0KKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzkzMjM5ODM+CisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJTeXN0
ZW1JbnRlcmZhY2UubW06CisgICAgICAgIChJbml0V2ViQ29yZVN5c3RlbUludGVyZmFjZSk6CisK
IDIwMTEtMDUtMDkgIEplcmVteSBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAg
ICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9XZWJD
b3JlU3VwcG9ydC9XZWJTeXN0ZW1JbnRlcmZhY2UubW0KPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViU3lzdGVtSW50ZXJmYWNlLm1tCShyZXZpc2lvbiA4
NjA3MykKKysrIFNvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYlN5c3RlbUludGVy
ZmFjZS5tbQkod29ya2luZyBjb3B5KQpAQCAtMTM2LDYgKzEzNiw3IEBAIHZvaWQgSW5pdFdlYkNv
cmVTeXN0ZW1JbnRlcmZhY2Uodm9pZCkKICAgICBJTklUKFNldFBhaW50ZXJGb3JQYWludGVyQ29u
dHJvbGxlcik7CiAgICAgSU5JVChWZXJ0aWNhbFNjcm9sbGJhclBhaW50ZXJGb3JDb250cm9sbGVy
KTsKICAgICBJTklUKEhvcml6b250YWxTY3JvbGxiYXJQYWludGVyRm9yQ29udHJvbGxlcik7Cisg
ICAgSU5JVChTY3JvbGxiYXJQYWludGVyQ29udHJvbGxlclN0eWxlKTsKICAgICBJTklUKFNldFNj
cm9sbGJhclBhaW50ZXJDb250cm9sbGVyU3R5bGUpOwogICAgIElOSVQoQ29udGVudEFyZWFTY3Jv
bGxlZCk7CiAgICAgSU5JVChDb250ZW50QXJlYVdpbGxQYWludCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>93027</attachid>
            <date>2011-05-10 15:28:39 -0700</date>
            <delta_ts>2011-05-10 15:30:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>for-review-3.txt</filename>
            <type>text/plain</type>
            <size>21237</size>
            <attacher name="Beth Dakin">bdakin</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg2MTgwKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNjUgQEAKKzIwMTEtMDUtMTAgIEJldGggRGFr
aW4gIDxiZGFraW5AYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02
MDU4MgorICAgICAgICBDcmFzaCBzd2l0Y2hpbmcgb3ZlcmxheS9ub24tb3ZlcmxheSBzY3JvbGxi
YXIgcHJlZmVyZW5jZSBzdGlsbCBwb3NzaWJsZQorICAgICAgICAtYW5kIGNvcnJlc3BvbmRpbmct
CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS85MzIzOTgzPgorCisgICAgICAgIFRoaXMgcGF0Y2gg
cHJldmVudHMgYW55IHdvcmsgZnJvbSBiZWluZyBkb25lIG9uIHBhZ2VzIHRoYXQgYXJlIGluIHRo
ZSBwYWdlIGNhY2hlIAorICAgICAgICB3aGVuIHRoZSBwcmVmZXJlbmNlIGlzIHN3aXRjaGVkLgor
CisgICAgICAgIFdoZW4gdGhlIERvY3VtZW50IGlzIGdvaW5nIGludG8gb3IgY29taW5nIG91dCBv
ZiB0aGUgcGFnZSBjYWNoZSwgaGF2ZSB0aGUgCisgICAgICAgIEZyYW1lVmlldyBpbmFjdGl2YXRl
IG9yIGFjdGl2YXRlIHRoZSBQYWdlJ3MgU2Nyb2xsQW5pbWF0b3JzIGFzIGFwcHJvcHJpYXRlLgor
ICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2N1bWVudDo6
c2V0SW5QYWdlQ2FjaGUpOgorCisgICAgICAgIEl0ZXJhdGUgdGhyb3VnaCB0aGUgUGFnZSdzIFNj
cm9sbGFibGVBcmVhcyBzZXR0aW5nIHRoZSBhY3RpdmUgc3RhdGUgb2YgdGhlIAorICAgICAgICBT
Y3JvbGxBbmltYXRvcnMuCisgICAgICAgICogcGFnZS9GcmFtZVZpZXcuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6RnJhbWVWaWV3OjpzZXRBbmltYXRvcnNBcmVBY3RpdmUpOgorICAgICAgICAqIHBh
Z2UvRnJhbWVWaWV3Lmg6CisKKyAgICAgICAgU2Nyb2xsQW5pbWF0b3IgaGFzIGEgbmV3IGJpdCAt
LSBtX2lzQWN0aXZlLiBSaWdodCBub3cgbV9pc0FjdGl2ZSBpcyBhbHdheXMgdHJ1ZSAKKyAgICAg
ICAgdW5sZXNzIHRoZSBTY3JvbGxBbmltYXRvciBiZWxvbmdzIHRvIGEgU2Nyb2xsYWJsZUFyZWEg
dGhhdCBpcyBpbiB0aGUgcGFnZSBjYWNoZS4KKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxBbmlt
YXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxBbmltYXRvcjo6U2Nyb2xsQW5pbWF0
b3IpOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmg6CisgICAgICAgIChXZWJD
b3JlOjpTY3JvbGxBbmltYXRvcjo6c2V0SXNBY3RpdmUpOgorICAgICAgICAoV2ViQ29yZTo6U2Ny
b2xsQW5pbWF0b3I6OmlzQWN0aXZlKToKKworICAgICAgICBTY3JvbGxBbmltYXRvck1hYyBoYXMg
YSBuZXcgYml0IC0tIG1fbmVlZHNTY3JvbGxlclN0eWxlVXBkYXRlLiBUaGlzIGlzIHNldCB0byB0
cnVlIAorICAgICAgICB3aGVuIGEgU2Nyb2xsQW5pbWF0b3IgaXMgaW5hY3RpdmUgYW5kIGhhcyBy
ZWNlaXZlZCB0aGUgCisgICAgICAgIHVwZGF0ZVNjcm9sbGVyU3R5bGVGb3JOZXdSZWNvbW1lbmRl
ZFNjcm9sbGVyU3R5bGUgZGVsZWdhdGUgbm90aWZpY2F0aW9uLiBJdCAKKyAgICAgICAgcHJldmVu
dHMgYW55IHdvcmsgZnJvbSBiZWluZyBkb25lIGZvciB0aGlzIGRlbGVnYXRlIHVudGlsIHRoZSBT
Y3JvbGxBbmltYXRvciAKKyAgICAgICAgYmVjb21lcyBhY3RpdmUgYWdhaW4uCisgICAgICAgICog
cGxhdGZvcm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFjLmg6CisgICAgICAgIChXZWJDb3JlOjpTY3Jv
bGxBbmltYXRvck1hYzo6c2V0TmVlZHNTY3JvbGxlclN0eWxlVXBkYXRlKToKKyAgICAgICAgKFdl
YkNvcmU6OlNjcm9sbEFuaW1hdG9yTWFjOjpuZWVkc1Njcm9sbGVyU3R5bGVVcGRhdGUpOgorCisg
ICAgICAgIFRoaXMgZGVsZWdhdGUgbWV0aG9kIGhhcyBiZWVuIHJlLWZhY3RvcmVkIGludG8gU2Ny
b2xsQW5pbWF0b3JNYWM6OiAKKyAgICAgICAgdXBkYXRlU2Nyb2xsZXJTdHlsZSgpLiBUaGlzIHdh
eSB0aGUgbWVhdCBvZiB0aGUgZnVuY3Rpb24gY2FuIGJlIGNhbGxlZCBieSBib3RoIHRoZSAKKyAg
ICAgICAgZGVsZWdhdGUgYW5kIFNjcm9sbEFuaW1hdG9yTWFjOjpzZXRJc0FjdGl2ZSgpCisgICAg
ICAgICogcGxhdGZvcm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFjLm1tOgorICAgICAgICAoLVtTY3Jv
bGxiYXJQYWludGVyQ29udHJvbGxlckRlbGVnYXRlIHNjcm9sbGVySW1wUGFpcjp1cGRhdGVTY3Jv
bGxlclN0eWxlRm9yTmV3UmVjb21tZW5kZWRTY3JvbGxlclN0eWxlOl0pOgorICAgICAgICAoV2Vi
Q29yZTo6U2Nyb2xsQW5pbWF0b3JNYWM6OlNjcm9sbEFuaW1hdG9yTWFjKToKKworICAgICAgICBU
aGlzIG92ZXJyaWRlIG9mIFNjcm9sbEFuaW1hdG9yOjpzZXRJc0FjdGl2ZSgpIGNhbGxzIHRoZSBi
YXNlIGNsYXNzLCBhbmQgdGhlbiBjYWxscyB1cGRhdGVTY3JvbGxlclN0eWxlKCkgaWYgbmVlZHNT
Y3JvbGxlclN0eWxlVXBkYXRlKCkgaXMgc2V0IHRvIHRydWUuCisgICAgICAgIChXZWJDb3JlOjpT
Y3JvbGxBbmltYXRvck1hYzo6c2V0SXNBY3RpdmUpOgorCisgICAgICAgIFRoaXMgaXMgbW9zdGx5
IHRoZSBzYW1lIGFzIHRoZSBvbGQgZGVsZWdhdGUgbWV0aG9kLiBLZXkgZGlmZmVyZW5jZXMgYXJl
IHRoYXQgaWYgCisgICAgICAgIHRoZSBTY3JvbGxBbmltYXRvciBpcyBpbmFjdGl2ZSwgd2Ugbm93
IHNldE5lZWRzU2Nyb2xsZXJTdHlsZVVwZGF0ZSh0cnVlKSBhbmQgCisgICAgICAgIHJldHVybiBl
YXJseS4gV2UgYWxzbyBvbmx5IGNhbGwgc2Nyb2xsYWJsZUFyZWEoKS0+c2Nyb2xsYmFyU3R5bGVD
aGFuZ2VkKCkgaWYgCisgICAgICAgIG5lZWRzU2Nyb2xsZXJTdHlsZVVwZGF0ZSgpIGlzIGZhbHNl
IHNpbmNlIGluIHRoZSB0cnVlIGNhc2Ugd2hlbiB3ZSBhcmUgcmVzdG9yaW5nIAorICAgICAgICBm
cm9tIHRoZSBwYWdlIGNhY2hlLCB0aGlzIHdvdWxkIGJlIGR1cGxpY2F0ZWQgd29yay4KKyAgICAg
ICAgKFdlYkNvcmU6OlNjcm9sbEFuaW1hdG9yTWFjOjp1cGRhdGVTY3JvbGxlclN0eWxlKToKKwor
ICAgICAgICBOZXcgV0tTeXN0ZW1JbnRlcmZhY2UgZnVuY3Rpb24gaXMgbmVlZGVkIHRvIHJldHJp
ZXZlIHRoZSBzY3JvbGxiYXIgc3R5bGUuCisgICAgICAgICogV2ViQ29yZS5leHAuaW46CisgICAg
ICAgICogcGxhdGZvcm0vbWFjL1dlYkNvcmVTeXN0ZW1JbnRlcmZhY2UuaDoKKyAgICAgICAgKiBw
bGF0Zm9ybS9tYWMvV2ViQ29yZVN5c3RlbUludGVyZmFjZS5tbToKKwogMjAxMS0wNS0xMCAgQnJh
ZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQWxp
Y2UgTGl1LgpJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4JKHJldmlzaW9uIDg2MDczKQorKysgU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4JKHdvcmtpbmcgY29weSkKQEAgLTE0MzQsNiArMTQz
NCw3IEBAIF93a01vdXNlRXhpdGVkQ29udGVudEFyZWEKIF93a01vdXNlTW92ZWRJbkNvbnRlbnRB
cmVhCiBfd2tTY3JvbGxiYXJNaW5pbXVtVGh1bWJMZW5ndGgKIF93a1Njcm9sbGJhck1pbmltdW1U
b3RhbExlbmd0aE5lZWRlZEZvclRodW1iCitfd2tTY3JvbGxiYXJQYWludGVyQ29udHJvbGxlclN0
eWxlCiBfd2tTY3JvbGxiYXJQYWludGVyRm9yY2VGbGFzaFNjcm9sbGVycwogX3drU2Nyb2xsYmFy
UGFpbnRlcklzSG9yaXpvbnRhbAogX3drU2Nyb2xsYmFyUGFpbnRlcktub2JBbHBoYQpJbmRleDog
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuY3BwCShyZXZpc2lvbiA4NjA3MykKKysrIFNvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM5MjEsMTAgKzM5MjEsMTIgQEAg
dm9pZCBEb2N1bWVudDo6c2V0SW5QYWdlQ2FjaGUoYm9vbCBmbGFnKQogICAgICAgICByZXR1cm47
CiAKICAgICBtX2luUGFnZUNhY2hlID0gZmxhZzsKKworICAgIEZyYW1lVmlldyogdiA9IHZpZXco
KTsKICAgICBpZiAoZmxhZykgewogICAgICAgICBBU1NFUlQoIW1fc2F2ZWRSZW5kZXJlcik7CiAg
ICAgICAgIG1fc2F2ZWRSZW5kZXJlciA9IHJlbmRlcmVyKCk7Ci0gICAgICAgIGlmIChGcmFtZVZp
ZXcqIHYgPSB2aWV3KCkpIHsKKyAgICAgICAgaWYgKHYpIHsKICAgICAgICAgICAgIHYtPmNhY2hl
Q3VycmVudFNjcm9sbFBvc2l0aW9uKCk7CiAgICAgICAgICAgICBpZiAocGFnZSgpICYmIHBhZ2Uo
KS0+bWFpbkZyYW1lKCkgPT0gbV9mcmFtZSkKICAgICAgICAgICAgICAgICB2LT5yZXNldFNjcm9s
bGJhcnNBbmRDbGVhckNvbnRlbnRzU2l6ZSgpOwpAQCAtMzk0NCw2ICszOTQ2LDkgQEAgdm9pZCBE
b2N1bWVudDo6c2V0SW5QYWdlQ2FjaGUoYm9vbCBmbGFnKQogICAgICAgICBpZiAoY2hpbGROZWVk
c1N0eWxlUmVjYWxjKCkpCiAgICAgICAgICAgICBzY2hlZHVsZVN0eWxlUmVjYWxjKCk7CiAgICAg
fQorCisgICAgaWYgKHYpCisgICAgICAgIHYtPnNldEFuaW1hdG9yc0FyZUFjdGl2ZSghbV9pblBh
Z2VDYWNoZSk7CiB9CiAKIHZvaWQgRG9jdW1lbnQ6OmRvY3VtZW50V2lsbEJlY29tZUluYWN0aXZl
KCkgCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCShyZXZpc2lvbiA4NjA3MykKKysr
IFNvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjE2
NSw2ICsyMTY1LDIxIEBAIGJvb2wgRnJhbWVWaWV3OjpzaG91bGRTdXNwZW5kU2Nyb2xsQW5pbWEK
ICAgICByZXR1cm4gbV9mcmFtZS0+bG9hZGVyKCktPnN0YXRlKCkgIT0gRnJhbWVTdGF0ZUNvbXBs
ZXRlOwogfQogCit2b2lkIEZyYW1lVmlldzo6c2V0QW5pbWF0b3JzQXJlQWN0aXZlKGJvb2wgYWN0
aXZlKQoreworICAgIFBhZ2UqIHBhZ2UgPSBtX2ZyYW1lLT5wYWdlKCk7CisgICAgaWYgKCFwYWdl
KQorICAgICAgICByZXR1cm47CisKKyAgICBjb25zdCBIYXNoU2V0PFNjcm9sbGFibGVBcmVhKj4q
IHNjcm9sbGFibGVBcmVhcyA9IHBhZ2UtPnNjcm9sbGFibGVBcmVhU2V0KCk7CisgICAgaWYgKCFz
Y3JvbGxhYmxlQXJlYXMpCisgICAgICAgIHJldHVybjsKKworICAgIEhhc2hTZXQ8U2Nyb2xsYWJs
ZUFyZWEqPjo6Y29uc3RfaXRlcmF0b3IgZW5kID0gc2Nyb2xsYWJsZUFyZWFzLT5lbmQoKTsgCisg
ICAgZm9yIChIYXNoU2V0PFNjcm9sbGFibGVBcmVhKj46OmNvbnN0X2l0ZXJhdG9yIGl0ID0gc2Ny
b2xsYWJsZUFyZWFzLT5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpCisgICAgICAgICgqaXQpLT5z
Y3JvbGxBbmltYXRvcigpLT5zZXRJc0FjdGl2ZShhY3RpdmUpOworfQorCiB2b2lkIEZyYW1lVmll
dzo6bm90aWZ5UGFnZVRoYXRDb250ZW50QXJlYVdpbGxQYWludCgpIGNvbnN0CiB7CiAgICAgUGFn
ZSogcGFnZSA9IG1fZnJhbWUtPnBhZ2UoKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BhZ2UvRnJh
bWVWaWV3LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaAko
cmV2aXNpb24gODYwNzMpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yNjcsNiArMjY3LDggQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBib29s
IHNob3VsZFN1c3BlbmRTY3JvbGxBbmltYXRpb25zKCkgY29uc3Q7CiAKKyAgICB2b2lkIHNldEFu
aW1hdG9yc0FyZUFjdGl2ZShib29sKTsKKwogcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgYm9vbCBz
Y3JvbGxDb250ZW50c0Zhc3RQYXRoKGNvbnN0IEludFNpemUmIHNjcm9sbERlbHRhLCBjb25zdCBJ
bnRSZWN0JiByZWN0VG9TY3JvbGwsIGNvbnN0IEludFJlY3QmIGNsaXBSZWN0KTsKICAgICB2aXJ0
dWFsIHZvaWQgc2Nyb2xsQ29udGVudHNTbG93UGF0aChjb25zdCBJbnRSZWN0JiB1cGRhdGVSZWN0
KTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbEFuaW1hdG9yLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxBbmltYXRvci5jcHAJKHJl
dmlzaW9uIDg2MDczKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsQW5pbWF0b3Iu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Miw2ICs1Miw3IEBAIFNjcm9sbEFuaW1hdG9yOjpTY3Jv
bGxBbmltYXRvcihTY3JvbGxhYmwKICAgICA6IG1fc2Nyb2xsYWJsZUFyZWEoc2Nyb2xsYWJsZUFy
ZWEpCiAgICAgLCBtX2N1cnJlbnRQb3NYKDApCiAgICAgLCBtX2N1cnJlbnRQb3NZKDApCisgICAg
LCBtX2lzQWN0aXZlKHRydWUpCiB7CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1Njcm9sbEFuaW1hdG9yLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
U2Nyb2xsQW5pbWF0b3IuaAkocmV2aXNpb24gODYwNzMpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9TY3JvbGxBbmltYXRvci5oCSh3b3JraW5nIGNvcHkpCkBAIC02MSw2ICs2MSw5IEBAIHB1
YmxpYzoKIAogICAgIFNjcm9sbGFibGVBcmVhKiBzY3JvbGxhYmxlQXJlYSgpIGNvbnN0IHsgcmV0
dXJuIG1fc2Nyb2xsYWJsZUFyZWE7IH0KIAorICAgIHZpcnR1YWwgdm9pZCBzZXRJc0FjdGl2ZShi
b29sIGFjdGl2ZSkgeyBtX2lzQWN0aXZlID0gYWN0aXZlOyB9CisgICAgYm9vbCBpc0FjdGl2ZSgp
IGNvbnN0IHsgcmV0dXJuIG1faXNBY3RpdmU7IH0KKwogICAgIHZpcnR1YWwgdm9pZCBoYW5kbGVX
aGVlbEV2ZW50KFBsYXRmb3JtV2hlZWxFdmVudCYpOwogI2lmIEVOQUJMRShHRVNUVVJFX0VWRU5U
UykKICAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlR2VzdHVyZUV2ZW50KGNvbnN0IFBsYXRmb3JtR2Vz
dHVyZUV2ZW50Jik7CkBAIC05Myw2ICs5Niw3IEBAIHByb3RlY3RlZDoKICAgICBTY3JvbGxhYmxl
QXJlYSogbV9zY3JvbGxhYmxlQXJlYTsKICAgICBmbG9hdCBtX2N1cnJlbnRQb3NYOyAvLyBXZSBh
dm9pZCB1c2luZyBhIEZsb2F0UG9pbnQgaW4gb3JkZXIgdG8gcmVkdWNlCiAgICAgZmxvYXQgbV9j
dXJyZW50UG9zWTsgLy8gc3ViY2xhc3MgY29kZSBjb21wbGV4aXR5LgorICAgIGJvb2wgbV9pc0Fj
dGl2ZTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5oCShyZXZpc2lvbiA4NjA3MykK
KysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC04MSw3ICs4MSwxMSBAQCBwdWJsaWM6CiAKICAgICBib29sIGhhdmVTY3Jv
bGxlZFNpbmNlUGFnZUxvYWQoKSBjb25zdCB7IHJldHVybiBtX2hhdmVTY3JvbGxlZFNpbmNlUGFn
ZUxvYWQ7IH0KIAorICAgIHZpcnR1YWwgdm9pZCBzZXRJc0FjdGl2ZShib29sKTsKKwogI2lmIFVT
RShXS19TQ1JPTExCQVJfUEFJTlRFUikKKyAgICB2b2lkIHVwZGF0ZVNjcm9sbGVyU3R5bGUoKTsK
KwogICAgIGJvb2wgc2Nyb2xsYmFyUGFpbnRUaW1lcklzQWN0aXZlKCkgY29uc3Q7CiAgICAgdm9p
ZCBzdGFydFNjcm9sbGJhclBhaW50VGltZXIoKTsKICAgICB2b2lkIHN0b3BTY3JvbGxiYXJQYWlu
dFRpbWVyKCk7CkBAIC0xMjAsNiArMTI0LDkgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQg
ZGlkQWRkSG9yaXpvbnRhbFNjcm9sbGJhcihTY3JvbGxiYXIqKTsKICAgICB2aXJ0dWFsIHZvaWQg
d2lsbFJlbW92ZUhvcml6b250YWxTY3JvbGxiYXIoU2Nyb2xsYmFyKik7CiAKKyAgICB2b2lkIHNl
dE5lZWRzU2Nyb2xsZXJTdHlsZVVwZGF0ZShib29sIG5lZWRzVXBkYXRlKSB7IG1fbmVlZHNTY3Jv
bGxlclN0eWxlVXBkYXRlID0gbmVlZHNVcGRhdGU7IH0KKyAgICBib29sIG5lZWRzU2Nyb2xsZXJT
dHlsZVVwZGF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fbmVlZHNTY3JvbGxlclN0eWxlVXBkYXRlOyB9
CisKICAgICBmbG9hdCBhZGp1c3RTY3JvbGxYUG9zaXRpb25JZk5lY2Vzc2FyeShmbG9hdCkgY29u
c3Q7CiAgICAgZmxvYXQgYWRqdXN0U2Nyb2xsWVBvc2l0aW9uSWZOZWNlc3NhcnkoZmxvYXQpIGNv
bnN0OwogICAgIEZsb2F0UG9pbnQgYWRqdXN0U2Nyb2xsUG9zaXRpb25JZk5lY2Vzc2FyeShjb25z
dCBGbG9hdFBvaW50JikgY29uc3Q7CkBAIC0xNTIsNiArMTU5LDcgQEAgcHJpdmF0ZToKICNlbmRp
ZgogICAgIGJvb2wgbV9kcmF3aW5nSW50b0xheWVyOwogICAgIGJvb2wgbV9oYXZlU2Nyb2xsZWRT
aW5jZVBhZ2VMb2FkOworICAgIGJvb2wgbV9uZWVkc1Njcm9sbGVyU3R5bGVVcGRhdGU7CiAgICAg
SW50UmVjdCBtX3Zpc2libGVTY3JvbGxlclRodW1iUmVjdDsKIH07CiAKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxBbmltYXRvck1hYy5tbQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsQW5pbWF0b3JNYWMubW0JKHJldmlzaW9u
IDg2MDczKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbEFuaW1hdG9yTWFj
Lm1tCSh3b3JraW5nIGNvcHkpCkBAIC0yMzQsNDcgKzIzNCw4IEBAIC0gKHZvaWQpc2Nyb2xsZXJJ
bXBQYWlyOihpZClzY3JvbGxlckltcFAKICAgICBpZiAoIV9hbmltYXRvcikKICAgICAgICAgcmV0
dXJuOwogCi0gICAgV0tTY3JvbGxiYXJQYWludGVyQ29udHJvbGxlclJlZiBwYWludGVyQ29udHJv
bGxlciA9IChXS1Njcm9sbGJhclBhaW50ZXJDb250cm9sbGVyUmVmKXNjcm9sbGVySW1wUGFpcjsK
LSAgICBXZWJDb3JlOjpTY3JvbGxiYXJUaGVtZU1hYyogbWFjVGhlbWUgPSAoV2ViQ29yZTo6U2Ny
b2xsYmFyVGhlbWVNYWMqKVdlYkNvcmU6OlNjcm9sbGJhclRoZW1lOjpuYXRpdmVUaGVtZSgpOwot
Ci0gICAgV0tTY3JvbGxiYXJQYWludGVyUmVmIG9sZFZlcnRpY2FsUGFpbnRlciA9IHdrVmVydGlj
YWxTY3JvbGxiYXJQYWludGVyRm9yQ29udHJvbGxlcihwYWludGVyQ29udHJvbGxlcik7Ci0gICAg
aWYgKG9sZFZlcnRpY2FsUGFpbnRlcikgewotICAgICAgICBXZWJDb3JlOjpTY3JvbGxiYXIqIHZl
cnRpY2FsU2Nyb2xsYmFyID0gX2FuaW1hdG9yLT5zY3JvbGxhYmxlQXJlYSgpLT52ZXJ0aWNhbFNj
cm9sbGJhcigpOwotICAgICAgICBXS1Njcm9sbGJhclBhaW50ZXJSZWYgbmV3VmVydGljYWxQYWlu
dGVyID0gd2tNYWtlU2Nyb2xsYmFyUmVwbGFjZW1lbnRQYWludGVyKG9sZFZlcnRpY2FsUGFpbnRl
ciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdSZWNvbW1lbmRlZFNjcm9sbGVyU3R5
bGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVydGljYWxTY3JvbGxiYXItPmNvbnRy
b2xTaXplKCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsc2UpOwotICAgICAgICBt
YWNUaGVtZS0+c2V0TmV3UGFpbnRlckZvclNjcm9sbGJhcih2ZXJ0aWNhbFNjcm9sbGJhciwgbmV3
VmVydGljYWxQYWludGVyKTsKLSAgICAgICAgd2tTZXRQYWludGVyRm9yUGFpbnRlckNvbnRyb2xs
ZXIocGFpbnRlckNvbnRyb2xsZXIsIG5ld1ZlcnRpY2FsUGFpbnRlciwgZmFsc2UpOwotCi0gICAg
ICAgIC8vIFRoZSBkaWZmZXJlbnQgc2Nyb2xsYmFyIHN0eWxlcyBoYXZlIGRpZmZlcmVudCB0aGlj
a25lc3Nlcywgc28gd2UgbXVzdCByZS1zZXQgdGhlIAotICAgICAgICAvLyBmcmFtZVJlY3QgdG8g
dGhlIG5ldyB0aGlja25lc3MsIGFuZCB0aGUgcmUtbGF5b3V0IGJlbG93IHdpbGwgZW5zdXJlIHRo
ZSBwb3NpdGlvbgotICAgICAgICAvLyBhbmQgbGVuZ3RoIGFyZSBwcm9wZXJseSB1cGRhdGVkLgot
ICAgICAgICBpbnQgdGhpY2tuZXNzID0gbWFjVGhlbWUtPnNjcm9sbGJhclRoaWNrbmVzcyh2ZXJ0
aWNhbFNjcm9sbGJhci0+Y29udHJvbFNpemUoKSk7Ci0gICAgICAgIHZlcnRpY2FsU2Nyb2xsYmFy
LT5zZXRGcmFtZVJlY3QoV2ViQ29yZTo6SW50UmVjdCgwLCAwLCB0aGlja25lc3MsIHRoaWNrbmVz
cykpOwotICAgIH0KLQotICAgIFdLU2Nyb2xsYmFyUGFpbnRlclJlZiBvbGRIb3Jpem9udGFsUGFp
bnRlciA9IHdrSG9yaXpvbnRhbFNjcm9sbGJhclBhaW50ZXJGb3JDb250cm9sbGVyKHBhaW50ZXJD
b250cm9sbGVyKTsKLSAgICBpZiAob2xkSG9yaXpvbnRhbFBhaW50ZXIpIHsKLSAgICAgICAgV2Vi
Q29yZTo6U2Nyb2xsYmFyKiBob3Jpem9udGFsU2Nyb2xsYmFyID0gX2FuaW1hdG9yLT5zY3JvbGxh
YmxlQXJlYSgpLT5ob3Jpem9udGFsU2Nyb2xsYmFyKCk7Ci0gICAgICAgIFdLU2Nyb2xsYmFyUGFp
bnRlclJlZiBuZXdIb3Jpem9udGFsUGFpbnRlciA9IHdrTWFrZVNjcm9sbGJhclJlcGxhY2VtZW50
UGFpbnRlcihvbGRIb3Jpem9udGFsUGFpbnRlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIG5ld1JlY29tbWVuZGVkU2Nyb2xsZXJTdHlsZSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGhvcml6b250YWxTY3JvbGxiYXItPmNvbnRyb2xTaXplKCksCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB0cnVlKTsKLSAgICAgICAgbWFjVGhlbWUtPnNldE5ld1BhaW50ZXJG
b3JTY3JvbGxiYXIoaG9yaXpvbnRhbFNjcm9sbGJhciwgbmV3SG9yaXpvbnRhbFBhaW50ZXIpOwot
ICAgICAgICB3a1NldFBhaW50ZXJGb3JQYWludGVyQ29udHJvbGxlcihwYWludGVyQ29udHJvbGxl
ciwgbmV3SG9yaXpvbnRhbFBhaW50ZXIsIHRydWUpOwotCi0gICAgICAgIC8vIFRoZSBkaWZmZXJl
bnQgc2Nyb2xsYmFyIHN0eWxlcyBoYXZlIGRpZmZlcmVudCB0aGlja25lc3Nlcywgc28gd2UgbXVz
dCByZS1zZXQgdGhlIAotICAgICAgICAvLyBmcmFtZVJlY3QgdG8gdGhlIG5ldyB0aGlja25lc3Ms
IGFuZCB0aGUgcmUtbGF5b3V0IGJlbG93IHdpbGwgZW5zdXJlIHRoZSBwb3NpdGlvbgotICAgICAg
ICAvLyBhbmQgbGVuZ3RoIGFyZSBwcm9wZXJseSB1cGRhdGVkLgotICAgICAgICBpbnQgdGhpY2tu
ZXNzID0gbWFjVGhlbWUtPnNjcm9sbGJhclRoaWNrbmVzcyhob3Jpem9udGFsU2Nyb2xsYmFyLT5j
b250cm9sU2l6ZSgpKTsKLSAgICAgICAgaG9yaXpvbnRhbFNjcm9sbGJhci0+c2V0RnJhbWVSZWN0
KFdlYkNvcmU6OkludFJlY3QoMCwgMCwgdGhpY2tuZXNzLCB0aGlja25lc3MpKTsKLSAgICB9Ci0K
LSAgICB3a1NldFNjcm9sbGJhclBhaW50ZXJDb250cm9sbGVyU3R5bGUocGFpbnRlckNvbnRyb2xs
ZXIsIG5ld1JlY29tbWVuZGVkU2Nyb2xsZXJTdHlsZSk7Ci0KLSAgICAvLyBUaGUgZGlmZmVyZW50
IHNjcm9sbGJhciBzdHlsZXMgYWZmZWN0IGxheW91dCwgc28gd2UgbXVzdCByZS1sYXlvdXQgZXZl
cnl0aGluZy4KLSAgICBfYW5pbWF0b3ItPnNjcm9sbGFibGVBcmVhKCktPnNjcm9sbGJhclN0eWxl
Q2hhbmdlZCgpOworICAgIHdrU2V0U2Nyb2xsYmFyUGFpbnRlckNvbnRyb2xsZXJTdHlsZSgoV0tT
Y3JvbGxiYXJQYWludGVyQ29udHJvbGxlclJlZilzY3JvbGxlckltcFBhaXIsIG5ld1JlY29tbWVu
ZGVkU2Nyb2xsZXJTdHlsZSk7CisgICAgX2FuaW1hdG9yLT51cGRhdGVTY3JvbGxlclN0eWxlKCk7
CiB9CiAKIEBlbmQKQEAgLTUwNCw2ICs0NjUsNyBAQCBTY3JvbGxBbmltYXRvck1hYzo6U2Nyb2xs
QW5pbWF0b3JNYWMoU2NyCiAjZW5kaWYKICAgICAsIG1fZHJhd2luZ0ludG9MYXllcihmYWxzZSkK
ICAgICAsIG1faGF2ZVNjcm9sbGVkU2luY2VQYWdlTG9hZChmYWxzZSkKKyAgICAsIG1fbmVlZHNT
Y3JvbGxlclN0eWxlVXBkYXRlKGZhbHNlKQogewogICAgIG1fc2Nyb2xsQW5pbWF0aW9uSGVscGVy
RGVsZWdhdGUuYWRvcHROUyhbW1Njcm9sbEFuaW1hdGlvbkhlbHBlckRlbGVnYXRlIGFsbG9jXSBp
bml0V2l0aFNjcm9sbEFuaW1hdG9yOnRoaXNdKTsKICAgICBtX3Njcm9sbEFuaW1hdGlvbkhlbHBl
ci5hZG9wdE5TKFtbTlNDbGFzc0Zyb21TdHJpbmcoQCJOU1Njcm9sbEFuaW1hdGlvbkhlbHBlciIp
IGFsbG9jXSBpbml0V2l0aERlbGVnYXRlOm1fc2Nyb2xsQW5pbWF0aW9uSGVscGVyRGVsZWdhdGUu
Z2V0KCldKTsKQEAgLTExOTQsNyArMTE1Niw2NyBAQCB2b2lkIFNjcm9sbEFuaW1hdG9yTWFjOjpz
bmFwUnViYmVyQmFuZFRpCiB9CiAjZW5kaWYKIAordm9pZCBTY3JvbGxBbmltYXRvck1hYzo6c2V0
SXNBY3RpdmUoYm9vbCBhY3RpdmUpCit7CisgICAgU2Nyb2xsQW5pbWF0b3I6OnNldElzQWN0aXZl
KGFjdGl2ZSk7CisKKyNpZiBVU0UoV0tfU0NST0xMQkFSX1BBSU5URVIpCisgICAgaWYgKG5lZWRz
U2Nyb2xsZXJTdHlsZVVwZGF0ZSgpKQorICAgICAgICB1cGRhdGVTY3JvbGxlclN0eWxlKCk7Cisj
ZW5kaWYKK30KKwogI2lmIFVTRShXS19TQ1JPTExCQVJfUEFJTlRFUikKK3ZvaWQgU2Nyb2xsQW5p
bWF0b3JNYWM6OnVwZGF0ZVNjcm9sbGVyU3R5bGUoKQoreworICAgIGlmICghaXNBY3RpdmUoKSkg
eworICAgICAgICBzZXROZWVkc1Njcm9sbGVyU3R5bGVVcGRhdGUodHJ1ZSk7CisgICAgICAgIHJl
dHVybjsKKyAgICB9CisKKyAgICBTY3JvbGxiYXJUaGVtZU1hYyogbWFjVGhlbWUgPSAoU2Nyb2xs
YmFyVGhlbWVNYWMqKVNjcm9sbGJhclRoZW1lOjpuYXRpdmVUaGVtZSgpOworICAgIGludCBuZXdT
dHlsZSA9IHdrU2Nyb2xsYmFyUGFpbnRlckNvbnRyb2xsZXJTdHlsZShtX3Njcm9sbGJhclBhaW50
ZXJDb250cm9sbGVyLmdldCgpKTsKKworICAgIGlmIChTY3JvbGxiYXIqIHZlcnRpY2FsU2Nyb2xs
YmFyID0gc2Nyb2xsYWJsZUFyZWEoKS0+dmVydGljYWxTY3JvbGxiYXIoKSkgeworICAgICAgICBX
S1Njcm9sbGJhclBhaW50ZXJSZWYgb2xkVmVydGljYWxQYWludGVyID0gd2tWZXJ0aWNhbFNjcm9s
bGJhclBhaW50ZXJGb3JDb250cm9sbGVyKG1fc2Nyb2xsYmFyUGFpbnRlckNvbnRyb2xsZXIuZ2V0
KCkpOworICAgICAgICBXS1Njcm9sbGJhclBhaW50ZXJSZWYgbmV3VmVydGljYWxQYWludGVyID0g
d2tNYWtlU2Nyb2xsYmFyUmVwbGFjZW1lbnRQYWludGVyKG9sZFZlcnRpY2FsUGFpbnRlciwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBuZXdTdHlsZSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB2ZXJ0aWNhbFNjcm9sbGJhci0+Y29udHJvbFNpemUoKSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBmYWxzZSk7CisgICAgICAgIG1hY1RoZW1lLT5zZXROZXdQYWludGVyRm9y
U2Nyb2xsYmFyKHZlcnRpY2FsU2Nyb2xsYmFyLCBuZXdWZXJ0aWNhbFBhaW50ZXIpOworICAgICAg
ICB3a1NldFBhaW50ZXJGb3JQYWludGVyQ29udHJvbGxlcihtX3Njcm9sbGJhclBhaW50ZXJDb250
cm9sbGVyLmdldCgpLCBuZXdWZXJ0aWNhbFBhaW50ZXIsIGZhbHNlKTsKKworICAgICAgICAvLyBU
aGUgZGlmZmVyZW50IHNjcm9sbGJhciBzdHlsZXMgaGF2ZSBkaWZmZXJlbnQgdGhpY2tuZXNzZXMs
IHNvIHdlIG11c3QgcmUtc2V0IHRoZSAKKyAgICAgICAgLy8gZnJhbWVSZWN0IHRvIHRoZSBuZXcg
dGhpY2tuZXNzLCBhbmQgdGhlIHJlLWxheW91dCBiZWxvdyB3aWxsIGVuc3VyZSB0aGUgcG9zaXRp
b24KKyAgICAgICAgLy8gYW5kIGxlbmd0aCBhcmUgcHJvcGVybHkgdXBkYXRlZC4KKyAgICAgICAg
aW50IHRoaWNrbmVzcyA9IG1hY1RoZW1lLT5zY3JvbGxiYXJUaGlja25lc3ModmVydGljYWxTY3Jv
bGxiYXItPmNvbnRyb2xTaXplKCkpOworICAgICAgICB2ZXJ0aWNhbFNjcm9sbGJhci0+c2V0RnJh
bWVSZWN0KEludFJlY3QoMCwgMCwgdGhpY2tuZXNzLCB0aGlja25lc3MpKTsKKyAgICB9CisKKyAg
ICBpZiAoU2Nyb2xsYmFyKiBob3Jpem9udGFsU2Nyb2xsYmFyID0gc2Nyb2xsYWJsZUFyZWEoKS0+
aG9yaXpvbnRhbFNjcm9sbGJhcigpKSB7CisgICAgICAgIFdLU2Nyb2xsYmFyUGFpbnRlclJlZiBv
bGRIb3Jpem9udGFsUGFpbnRlciA9IHdrSG9yaXpvbnRhbFNjcm9sbGJhclBhaW50ZXJGb3JDb250
cm9sbGVyKG1fc2Nyb2xsYmFyUGFpbnRlckNvbnRyb2xsZXIuZ2V0KCkpOworICAgICAgICBXS1Nj
cm9sbGJhclBhaW50ZXJSZWYgbmV3SG9yaXpvbnRhbFBhaW50ZXIgPSB3a01ha2VTY3JvbGxiYXJS
ZXBsYWNlbWVudFBhaW50ZXIob2xkSG9yaXpvbnRhbFBhaW50ZXIsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBuZXdTdHlsZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhv
cml6b250YWxTY3JvbGxiYXItPmNvbnRyb2xTaXplKCksCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB0cnVlKTsKKyAgICAgICAgbWFjVGhlbWUtPnNldE5ld1BhaW50ZXJGb3JTY3JvbGxi
YXIoaG9yaXpvbnRhbFNjcm9sbGJhciwgbmV3SG9yaXpvbnRhbFBhaW50ZXIpOworICAgICAgICB3
a1NldFBhaW50ZXJGb3JQYWludGVyQ29udHJvbGxlcihtX3Njcm9sbGJhclBhaW50ZXJDb250cm9s
bGVyLmdldCgpLCBuZXdIb3Jpem9udGFsUGFpbnRlciwgdHJ1ZSk7CisKKyAgICAgICAgLy8gVGhl
IGRpZmZlcmVudCBzY3JvbGxiYXIgc3R5bGVzIGhhdmUgZGlmZmVyZW50IHRoaWNrbmVzc2VzLCBz
byB3ZSBtdXN0IHJlLXNldCB0aGUgCisgICAgICAgIC8vIGZyYW1lUmVjdCB0byB0aGUgbmV3IHRo
aWNrbmVzcywgYW5kIHRoZSByZS1sYXlvdXQgYmVsb3cgd2lsbCBlbnN1cmUgdGhlIHBvc2l0aW9u
CisgICAgICAgIC8vIGFuZCBsZW5ndGggYXJlIHByb3Blcmx5IHVwZGF0ZWQuCisgICAgICAgIGlu
dCB0aGlja25lc3MgPSBtYWNUaGVtZS0+c2Nyb2xsYmFyVGhpY2tuZXNzKGhvcml6b250YWxTY3Jv
bGxiYXItPmNvbnRyb2xTaXplKCkpOworICAgICAgICBob3Jpem9udGFsU2Nyb2xsYmFyLT5zZXRG
cmFtZVJlY3QoSW50UmVjdCgwLCAwLCB0aGlja25lc3MsIHRoaWNrbmVzcykpOworICAgIH0KKwor
ICAgIC8vIElmIG5lZWRzU2Nyb2xsZXJTdHlsZVVwZGF0ZSgpIGlzIHRydWUsIHRoZW4gdGhlIHBh
Z2UgaXMgcmVzdG9yaW5nIGZyb20gdGhlIHBhZ2UgY2FjaGUsIGFuZCAKKyAgICAvLyBhIHJlbGF5
b3V0IHdpbGwgaGFwcGVuIG9uIGl0cyBvd24uIE90aGVyd2lzZSwgd2UgbXVzdCBpbml0aWF0ZSBh
IHJlLWxheW91dCBvdXJzZWx2ZXMuCisgICAgaWYgKCFuZWVkc1Njcm9sbGVyU3R5bGVVcGRhdGUo
KSkKKyAgICAgICAgc2Nyb2xsYWJsZUFyZWEoKS0+c2Nyb2xsYmFyU3R5bGVDaGFuZ2VkKCk7CisK
KyAgICBzZXROZWVkc1Njcm9sbGVyU3R5bGVVcGRhdGUoZmFsc2UpOworfQorCiB2b2lkIFNjcm9s
bEFuaW1hdG9yTWFjOjpzdGFydFNjcm9sbGJhclBhaW50VGltZXIoKQogewogICAgIG1faW5pdGlh
bFNjcm9sbGJhclBhaW50VGltZXIuc3RhcnRPbmVTaG90KDAuMSk7CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tYWMvV2ViQ29yZVN5c3RlbUludGVyZmFjZS5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9XZWJDb3JlU3lzdGVtSW50ZXJmYWNlLmgJKHJl
dmlzaW9uIDg2MDczKQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1dlYkNvcmVTeXN0
ZW1JbnRlcmZhY2UuaAkod29ya2luZyBjb3B5KQpAQCAtMjQzLDYgKzI0Myw3IEBAIGV4dGVybiBX
S1Njcm9sbGJhclBhaW50ZXJDb250cm9sbGVyUmVmICgKIGV4dGVybiB2b2lkICgqd2tTZXRQYWlu
dGVyRm9yUGFpbnRlckNvbnRyb2xsZXIpKFdLU2Nyb2xsYmFyUGFpbnRlckNvbnRyb2xsZXJSZWYs
IFdLU2Nyb2xsYmFyUGFpbnRlclJlZiwgYm9vbCBpc0hvcml6b250YWwpOwogZXh0ZXJuIFdLU2Ny
b2xsYmFyUGFpbnRlclJlZiAoKndrVmVydGljYWxTY3JvbGxiYXJQYWludGVyRm9yQ29udHJvbGxl
cikoV0tTY3JvbGxiYXJQYWludGVyQ29udHJvbGxlclJlZik7CiBleHRlcm4gV0tTY3JvbGxiYXJQ
YWludGVyUmVmICgqd2tIb3Jpem9udGFsU2Nyb2xsYmFyUGFpbnRlckZvckNvbnRyb2xsZXIpKFdL
U2Nyb2xsYmFyUGFpbnRlckNvbnRyb2xsZXJSZWYpOworZXh0ZXJuIGludCAoKndrU2Nyb2xsYmFy
UGFpbnRlckNvbnRyb2xsZXJTdHlsZSkoV0tTY3JvbGxiYXJQYWludGVyQ29udHJvbGxlclJlZik7
CiBleHRlcm4gdm9pZCAoKndrU2V0U2Nyb2xsYmFyUGFpbnRlckNvbnRyb2xsZXJTdHlsZSkoV0tT
Y3JvbGxiYXJQYWludGVyQ29udHJvbGxlclJlZiwgaW50IG5ld1N0eWxlKTsKIGV4dGVybiB2b2lk
ICgqd2tDb250ZW50QXJlYVNjcm9sbGVkKShXS1Njcm9sbGJhclBhaW50ZXJDb250cm9sbGVyUmVm
KTsKIGV4dGVybiB2b2lkICgqd2tDb250ZW50QXJlYVdpbGxQYWludCkoV0tTY3JvbGxiYXJQYWlu
dGVyQ29udHJvbGxlclJlZik7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2Vi
Q29yZVN5c3RlbUludGVyZmFjZS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tYWMvV2ViQ29yZVN5c3RlbUludGVyZmFjZS5tbQkocmV2aXNpb24gODYwNzMpCisrKyBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvV2ViQ29yZVN5c3RlbUludGVyZmFjZS5tbQkod29y
a2luZyBjb3B5KQpAQCAtMTM5LDYgKzEzOSw3IEBAIFdLU2Nyb2xsYmFyUGFpbnRlckNvbnRyb2xs
ZXJSZWYgKCp3a01ha2UKIHZvaWQgKCp3a1NldFBhaW50ZXJGb3JQYWludGVyQ29udHJvbGxlciko
V0tTY3JvbGxiYXJQYWludGVyQ29udHJvbGxlclJlZiwgV0tTY3JvbGxiYXJQYWludGVyUmVmLCBi
b29sIGlzSG9yaXpvbnRhbCk7CiBXS1Njcm9sbGJhclBhaW50ZXJSZWYgKCp3a1ZlcnRpY2FsU2Ny
b2xsYmFyUGFpbnRlckZvckNvbnRyb2xsZXIpKFdLU2Nyb2xsYmFyUGFpbnRlckNvbnRyb2xsZXJS
ZWYpOwogV0tTY3JvbGxiYXJQYWludGVyUmVmICgqd2tIb3Jpem9udGFsU2Nyb2xsYmFyUGFpbnRl
ckZvckNvbnRyb2xsZXIpKFdLU2Nyb2xsYmFyUGFpbnRlckNvbnRyb2xsZXJSZWYpOworaW50ICgq
d2tTY3JvbGxiYXJQYWludGVyQ29udHJvbGxlclN0eWxlKShXS1Njcm9sbGJhclBhaW50ZXJDb250
cm9sbGVyUmVmKTsKIHZvaWQgKCp3a1NldFNjcm9sbGJhclBhaW50ZXJDb250cm9sbGVyU3R5bGUp
KFdLU2Nyb2xsYmFyUGFpbnRlckNvbnRyb2xsZXJSZWYsIGludCBuZXdTdHlsZSk7CiB2b2lkICgq
d2tDb250ZW50QXJlYVNjcm9sbGVkKShXS1Njcm9sbGJhclBhaW50ZXJDb250cm9sbGVyUmVmKTsK
IHZvaWQgKCp3a0NvbnRlbnRBcmVhV2lsbFBhaW50KShXS1Njcm9sbGJhclBhaW50ZXJDb250cm9s
bGVyUmVmKTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDg2MTgyKQorKysgU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDUtMTAg
IEJldGggRGFraW4gIDxiZGFraW5AYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD02MDU4MgorICAgICAgICBDcmFzaCBzd2l0Y2hpbmcgb3ZlcmxheS9ub24tb3Zlcmxh
eSBzY3JvbGxiYXIgcHJlZmVyZW5jZSBzdGlsbCBwb3NzaWJsZQorICAgICAgICAtYW5kIGNvcnJl
c3BvbmRpbmctCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS85MzIzOTgzPgorCisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9tYWMvV2ViU3lzdGVtSW50ZXJmYWNlLm1tOgorICAg
ICAgICAoSW5pdFdlYkNvcmVTeXN0ZW1JbnRlcmZhY2UpOgorCiAyMDExLTA1LTEwICBBbmRlcnMg
Q2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQWRh
bSBSb2Jlbi4KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
bWFjL1dlYlN5c3RlbUludGVyZmFjZS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L21hYy9XZWJTeXN0ZW1JbnRlcmZhY2UubW0JKHJldmlz
aW9uIDg2MDczKQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9t
YWMvV2ViU3lzdGVtSW50ZXJmYWNlLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0xMzAsNiArMTMwLDcg
QEAgdm9pZCBJbml0V2ViQ29yZVN5c3RlbUludGVyZmFjZSh2b2lkKQogICAgICAgICBJTklUKFNl
dFBhaW50ZXJGb3JQYWludGVyQ29udHJvbGxlcik7CiAgICAgICAgIElOSVQoVmVydGljYWxTY3Jv
bGxiYXJQYWludGVyRm9yQ29udHJvbGxlcik7CiAgICAgICAgIElOSVQoSG9yaXpvbnRhbFNjcm9s
bGJhclBhaW50ZXJGb3JDb250cm9sbGVyKTsKKyAgICAgICAgSU5JVChTY3JvbGxiYXJQYWludGVy
Q29udHJvbGxlclN0eWxlKTsKICAgICAgICAgSU5JVChTZXRTY3JvbGxiYXJQYWludGVyQ29udHJv
bGxlclN0eWxlKTsKICAgICAgICAgSU5JVChDb250ZW50QXJlYVNjcm9sbGVkKTsKICAgICAgICAg
SU5JVChDb250ZW50QXJlYVdpbGxQYWludCk7CkluZGV4OiBTb3VyY2UvV2ViS2l0L21hYy9DaGFu
Z2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCShyZXZpc2lv
biA4NjE4MikKKysrIFNvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDE1IEBACisyMDExLTA1LTEwICBCZXRoIERha2luICA8YmRha2luQGFwcGxlLmNv
bT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjA1ODIKKyAgICAgICAgQ3Jhc2gg
c3dpdGNoaW5nIG92ZXJsYXkvbm9uLW92ZXJsYXkgc2Nyb2xsYmFyIHByZWZlcmVuY2Ugc3RpbGwg
cG9zc2libGUKKyAgICAgICAgLWFuZCBjb3JyZXNwb25kaW5nLQorICAgICAgICA8cmRhcjovL3By
b2JsZW0vOTMyMzk4Mz4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYlN5c3RlbUludGVy
ZmFjZS5tbToKKyAgICAgICAgKEluaXRXZWJDb3JlU3lzdGVtSW50ZXJmYWNlKToKKwogMjAxMS0w
NS0wOSAgSmVyZW15IE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZp
ZXdlZCBieSBEYXJpbiBBZGxlci4KSW5kZXg6IFNvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBw
b3J0L1dlYlN5c3RlbUludGVyZmFjZS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L21h
Yy9XZWJDb3JlU3VwcG9ydC9XZWJTeXN0ZW1JbnRlcmZhY2UubW0JKHJldmlzaW9uIDg2MDczKQor
KysgU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViU3lzdGVtSW50ZXJmYWNlLm1t
CSh3b3JraW5nIGNvcHkpCkBAIC0xMzYsNiArMTM2LDcgQEAgdm9pZCBJbml0V2ViQ29yZVN5c3Rl
bUludGVyZmFjZSh2b2lkKQogICAgIElOSVQoU2V0UGFpbnRlckZvclBhaW50ZXJDb250cm9sbGVy
KTsKICAgICBJTklUKFZlcnRpY2FsU2Nyb2xsYmFyUGFpbnRlckZvckNvbnRyb2xsZXIpOwogICAg
IElOSVQoSG9yaXpvbnRhbFNjcm9sbGJhclBhaW50ZXJGb3JDb250cm9sbGVyKTsKKyAgICBJTklU
KFNjcm9sbGJhclBhaW50ZXJDb250cm9sbGVyU3R5bGUpOwogICAgIElOSVQoU2V0U2Nyb2xsYmFy
UGFpbnRlckNvbnRyb2xsZXJTdHlsZSk7CiAgICAgSU5JVChDb250ZW50QXJlYVNjcm9sbGVkKTsK
ICAgICBJTklUKENvbnRlbnRBcmVhV2lsbFBhaW50KTsK
</data>
<flag name="review"
          id="86107"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>