<?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>131309</bug_id>
          
          <creation_ts>2014-04-07 12:13:55 -0700</creation_ts>
          <short_desc>Handle clicks on DataDetectors UI for scanned phone numbers</short_desc>
          <delta_ts>2014-04-07 15:12:05 -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>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>ASSIGNED</bug_status>
          <resolution></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="Brady Eidson">beidson</reporter>
          <assigned_to name="Brady Eidson">beidson</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>joepeck</cc>
    
    <cc>sam</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>998201</commentid>
    <comment_count>0</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2014-04-07 12:13:55 -0700</bug_when>
    <thetext>Handle clicks on DataDetectors UI for scanned phone numbers

&lt;rdar://problem/16379588&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>998202</commentid>
    <comment_count>1</comment_count>
      <attachid>228751</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2014-04-07 12:22:15 -0700</bug_when>
    <thetext>Created attachment 228751
Patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>998203</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-04-07 12:23:29 -0700</bug_when>
    <thetext>Attachment 228751 did not pass style-queue:


ERROR: Source/WebKit2/UIProcess/WebPageProxy.h:1232:  The parameter name &quot;point&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 1 in 13 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>998231</commentid>
    <comment_count>3</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2014-04-07 13:45:21 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/166881</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>998252</commentid>
    <comment_count>4</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2014-04-07 15:12:05 -0700</bug_when>
    <thetext>iOS build fix: &lt;http://trac.webkit.org/changeset/166888&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>228751</attachid>
            <date>2014-04-07 12:22:15 -0700</date>
            <delta_ts>2014-04-07 12:30:02 -0700</delta_ts>
            <desc>Patch v1</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>30991</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCBiYTBlZmVlLi5lZjllODI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjAg
QEAKKzIwMTQtMDQtMDcgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAg
ICAgIEhhbmRsZSBjbGlja3Mgb24gRGF0YURldGVjdG9ycyBVSSBmb3Igc2Nhbm5lZCBwaG9uZSBu
dW1iZXJzCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xNjM3OTU4OD4gYW5kIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzEzMDkKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZWJDb250ZXh0TWVudUl0ZW1EYXRhcyBuZXZl
ciBuZWVkIHRvIGtub3cgYWJvdXQgYSBDb250ZXh0TWVudSwgc28gcmVtb3ZlIHRoYXQgY29uY2Vw
dC4KKyAgICAgICAgQWxzbyBhZGQgdGhlIGNvbmNlcHQgb2YgYSBzZWxlY3Rpb24gaGFuZGxlciBm
b3IgVUlQcm9jZXNzLW5hdGl2ZSBtZW51IGl0ZW1zLgorICAgICAgICAqIFNoYXJlZC9XZWJDb250
ZXh0TWVudUl0ZW1EYXRhLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViQ29udGV4dE1lbnVJdGVt
RGF0YTo6V2ViQ29udGV4dE1lbnVJdGVtRGF0YSk6IAorICAgICAgICAoV2ViS2l0OjpXZWJDb250
ZXh0TWVudUl0ZW1EYXRhOjplbmNvZGUpOgorICAgICAgICAoV2ViS2l0OjpraXRJdGVtcyk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYkNvbnRleHRNZW51SXRlbURhdGE6OmRlY29kZSk6CisgICAgICAg
ICogU2hhcmVkL1dlYkNvbnRleHRNZW51SXRlbURhdGEuaDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
Q29udGV4dE1lbnVJdGVtRGF0YTo6c2VsZWN0aW9uSGFuZGxlcik6CisKKyAgICAgICAgKiBVSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5Ojpz
aG93Q29udGV4dE1lbnUpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmludGVybmFs
U2hvd0NvbnRleHRNZW51KTogTWFrZSB0aGUgZGVjb2RlciBhcmd1bWVudCBvcHRpb25hbC4gTWFr
ZSBjb25zdWx0aW5nIHRoZSBjbGllbnQgb3B0aW9uYWwuCisgICAgICAgICogVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMu
aW46CisgICAgICAgICogVUlQcm9jZXNzL21hYy9XZWJQYWdlUHJveHlNYWMubW06CisgICAgICAg
IChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6c2hvd1RlbGVwaG9uZU51bWJlck1lbnUpOgorCisgICAg
ICAgICogVUlQcm9jZXNzL21hYy9XZWJDb250ZXh0TWVudVByb3h5TWFjLm1tOgorICAgICAgICAo
LVtXS1NlbGVjdGlvbkhhbmRsZXJXcmFwcGVyIGluaXRXaXRoU2VsZWN0aW9uSGFuZGxlcjpzdGQ6
Ol0pOgorICAgICAgICAoLVtXS1NlbGVjdGlvbkhhbmRsZXJXcmFwcGVyIGV4ZWN1dGVTZWxlY3Rp
b25IYW5kbGVyXSk6CisgICAgICAgICgtW1dLTWVudVRhcmdldCBmb3J3YXJkQ29udGV4dE1lbnVB
Y3Rpb246XSk6CisgICAgICAgIChXZWJLaXQ6Om5zTWVudUl0ZW1WZWN0b3IpOgorICAgICAgICAo
V2ViS2l0OjpXZWJDb250ZXh0TWVudVByb3h5TWFjOjpjb250ZXh0TWVudUl0ZW1TZWxlY3RlZCk6
IElmIHRoZSByZXByZXNlbnRlZCBvYmplY3QgaXMgYSBXS1NlbGVjdGlvbkhhbmRsZXJXcmFwcGVy
LAorICAgICAgICAgIGV4ZWN1dGUgdGhlIHNlbGVjdGlvbiBoYW5kbGVyLiBEbyBub3RoaW5nIGVs
c2UuCisKKyAgICAgICAgSW5zdGVhZCBvZiBnZXR0aW5nIHJlY3RzIGZyb20gcmFuZ2VzLCBjcmVh
dGluZyBoaWdobGlnaHRzLCBhbmQgc3RvcmluZyB0aG9zZSBoaWdobGlnaHRzLAorICAgICAgICB3
b3JrIGluIHRlcm1zIG9mIGEgVGVsZXBob25lTnVtYmVyRGF0YSBvYmplY3QgdGhhdCB3cmFwcyBi
b3RoIGEgcmFuZ2UgYW5kIGEgaGlnaGxpZ2h0LgorICAgICAgICBUaGlzIG1ha2VzIGl0IGVhc2ll
ciB0byB0cmFjayB3aGVyZSB0aGUgbW91c2UgaXMgZG93biBhbmQgdG8ga25vdyB3aGF0IHBob25l
IG51bWJlciB3ZSBzaG91bGQgYWN0IG9uIHdoZW4gY2xpY2tlZC4KKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1dlYlBhZ2UvVGVsZXBob25lTnVtYmVyT3ZlcmxheUNvbnRyb2xsZXIuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpUZWxlcGhvbmVOdW1iZXJPdmVybGF5Q29udHJvbGxlcjo6cmVjdHNGb3JEcmF3
aW5nKTogRGVsZXRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvVGVsZXBob25lTnVt
YmVyT3ZlcmxheUNvbnRyb2xsZXIuaDoKKyAgICAgICAgKFdlYktpdDo6VGVsZXBob25lTnVtYmVy
RGF0YTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYktpdDo6VGVsZXBob25lTnVtYmVyRGF0YTo6cmFu
Z2UpOgorICAgICAgICAoV2ViS2l0OjpUZWxlcGhvbmVOdW1iZXJEYXRhOjpoaWdobGlnaHQpOgor
ICAgICAgICAoV2ViS2l0OjpUZWxlcGhvbmVOdW1iZXJEYXRhOjpUZWxlcGhvbmVOdW1iZXJEYXRh
KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1RlbGVwaG9uZU51bWJlck92ZXJs
YXlDb250cm9sbGVyTWFjLm1tOgorICAgICAgICAoV2ViS2l0OjpUZWxlcGhvbmVOdW1iZXJPdmVy
bGF5Q29udHJvbGxlcjo6ZHJhd1JlY3QpOgorICAgICAgICAoV2ViS2l0OjpUZWxlcGhvbmVOdW1i
ZXJPdmVybGF5Q29udHJvbGxlcjo6aGFuZGxlVGVsZXBob25lQ2xpY2spOiBQYXNzIHRoZSBwaG9u
ZSBudW1iZXIgdGV4dCBhbmQgdGhlIHBvaW50IHRvIFdlYlBhZ2UuCisgICAgICAgIChXZWJLaXQ6
OlRlbGVwaG9uZU51bWJlck92ZXJsYXlDb250cm9sbGVyOjptb3VzZUV2ZW50KToKKyAgICAgICAg
KFdlYktpdDo6VGVsZXBob25lTnVtYmVyT3ZlcmxheUNvbnRyb2xsZXI6OmNsZWFyTW91c2VEb3du
SW5mb3JtYXRpb24pOgorICAgICAgICAoV2ViS2l0OjpUZWxlcGhvbmVOdW1iZXJPdmVybGF5Q29u
dHJvbGxlcjo6Y2xlYXJIaWdobGlnaHRzKToKKworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJDb250ZXh0TWVudS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkNvbnRleHRNZW51Ojpt
ZW51SXRlbXNXaXRoVXNlckRhdGEpOgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dlYlBhZ2VNYWMubW06
CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmhhbmRsZVRlbGVwaG9uZU51bWJlckNsaWNrKTog
TWVzc2FnZSB0aGUgcGhvbmUgbnVtYmVyIGFuZCBjb29yZGluYXRlIHRvIHRoZSBVSVByb2Nlc3Mu
CisKIDIwMTQtMDQtMDYgIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNvbT4KIAogICAgICAg
ICBDbGVhbiB1cCBXS0dlc3R1cmVUeXBlcy5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvV2ViQ29udGV4dE1lbnVJdGVtRGF0YS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
V2ViQ29udGV4dE1lbnVJdGVtRGF0YS5jcHAKaW5kZXggZDY1OWU5Yy4uZWIzM2JhMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvbnRleHRNZW51SXRlbURhdGEuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJDb250ZXh0TWVudUl0ZW1EYXRhLmNwcApAQCAt
NjcsMTAgKzY3LDExIEBAIFdlYkNvbnRleHRNZW51SXRlbURhdGE6OldlYkNvbnRleHRNZW51SXRl
bURhdGEoV2ViQ29yZTo6Q29udGV4dE1lbnVBY3Rpb24gYWN0aW9uCiB7CiB9CiAKLVdlYkNvbnRl
eHRNZW51SXRlbURhdGE6OldlYkNvbnRleHRNZW51SXRlbURhdGEoY29uc3QgV2ViQ29yZTo6Q29u
dGV4dE1lbnVJdGVtJiBpdGVtLCBXZWJDb3JlOjpDb250ZXh0TWVudSogbWVudSkKK1dlYkNvbnRl
eHRNZW51SXRlbURhdGE6OldlYkNvbnRleHRNZW51SXRlbURhdGEoY29uc3QgV2ViQ29yZTo6Q29u
dGV4dE1lbnVJdGVtJiBpdGVtLCBzdGQ6OmZ1bmN0aW9uPHZvaWQoKT4gc2VsZWN0aW9uSGFuZGxl
cikKICAgICA6IG1fdHlwZShpdGVtLnR5cGUoKSkKICAgICAsIG1fYWN0aW9uKGl0ZW0uYWN0aW9u
KCkpCiAgICAgLCBtX3RpdGxlKGl0ZW0udGl0bGUoKSkKKyAgICAsIG1fc2VsZWN0aW9uSGFuZGxl
cihzZWxlY3Rpb25IYW5kbGVyKQogewogICAgIGlmIChtX3R5cGUgPT0gV2ViQ29yZTo6U3VibWVu
dVR5cGUpIHsKICNpZiBVU0UoQ1JPU1NfUExBVEZPUk1fQ09OVEVYVF9NRU5VUykKQEAgLTc4LDcg
Kzc5LDcgQEAgV2ViQ29udGV4dE1lbnVJdGVtRGF0YTo6V2ViQ29udGV4dE1lbnVJdGVtRGF0YShj
b25zdCBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW0mIGkKICNlbHNlCiAgICAgICAgIFZlY3RvcjxX
ZWJDb3JlOjpDb250ZXh0TWVudUl0ZW0+IGNvcmVTdWJtZW51ID0gV2ViQ29yZTo6Y29udGV4dE1l
bnVJdGVtVmVjdG9yKGl0ZW0ucGxhdGZvcm1TdWJNZW51KCkpOwogI2VuZGlmCi0gICAgICAgIG1f
c3VibWVudSA9IGtpdEl0ZW1zKGNvcmVTdWJtZW51LCBtZW51KTsKKyAgICAgICAgbV9zdWJtZW51
ID0ga2l0SXRlbXMoY29yZVN1Ym1lbnUpOwogICAgIH0KICAgICAKICAgICBtX2VuYWJsZWQgPSBp
dGVtLmVuYWJsZWQoKTsKQEAgLTEwNiw2ICsxMDcsOSBAQCB2b2lkIFdlYkNvbnRleHRNZW51SXRl
bURhdGE6OnNldFVzZXJEYXRhKEFQSTo6T2JqZWN0KiB1c2VyRGF0YSkKICAgICAKIHZvaWQgV2Vi
Q29udGV4dE1lbnVJdGVtRGF0YTo6ZW5jb2RlKElQQzo6QXJndW1lbnRFbmNvZGVyJiBlbmNvZGVy
KSBjb25zdAogeworICAgIC8vIFdlYkNvbnRleHRNZW51SXRlbURhdGFzIHdpdGggYSBzZWxlY3Rp
b24gaGFuZGxlciBhcmUgbWVhbnQgdG8gZXhpc3Qgc29sZWx5IGluIHRoZSBVSVByb2Nlc3MgYW5k
IHNob3VsZCBuZXZlciBiZSBzZW50IG92ZXIgSVBDLgorICAgIEFTU0VSVCghbV9zZWxlY3Rpb25I
YW5kbGVyKTsKKyAgICAKICAgICBlbmNvZGVyLmVuY29kZUVudW0obV90eXBlKTsKICAgICBlbmNv
ZGVyLmVuY29kZUVudW0obV9hY3Rpb24pOwogICAgIGVuY29kZXIgPDwgbV90aXRsZTsKQEAgLTE1
NywxMiArMTYxLDEyIEBAIGJvb2wgV2ViQ29udGV4dE1lbnVJdGVtRGF0YTo6ZGVjb2RlKElQQzo6
QXJndW1lbnREZWNvZGVyJiBkZWNvZGVyLCBXZWJDb250ZXh0TWVuCiAgICAgcmV0dXJuIHRydWU7
CiB9CiAKLVZlY3RvcjxXZWJDb250ZXh0TWVudUl0ZW1EYXRhPiBraXRJdGVtcyhjb25zdCBWZWN0
b3I8V2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtPiYgY29yZUl0ZW1WZWN0b3IsIFdlYkNvcmU6OkNv
bnRleHRNZW51KiBtZW51KQorVmVjdG9yPFdlYkNvbnRleHRNZW51SXRlbURhdGE+IGtpdEl0ZW1z
KGNvbnN0IFZlY3RvcjxXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW0+JiBjb3JlSXRlbVZlY3RvcikK
IHsKICAgICBWZWN0b3I8V2ViQ29udGV4dE1lbnVJdGVtRGF0YT4gcmVzdWx0OwogICAgIHJlc3Vs
dC5yZXNlcnZlQ2FwYWNpdHkoY29yZUl0ZW1WZWN0b3Iuc2l6ZSgpKTsKICAgICBmb3IgKHVuc2ln
bmVkIGkgPSAwOyBpIDwgY29yZUl0ZW1WZWN0b3Iuc2l6ZSgpOyArK2kpCi0gICAgICAgIHJlc3Vs
dC5hcHBlbmQoV2ViQ29udGV4dE1lbnVJdGVtRGF0YShjb3JlSXRlbVZlY3RvcltpXSwgbWVudSkp
OworICAgICAgICByZXN1bHQuYXBwZW5kKFdlYkNvbnRleHRNZW51SXRlbURhdGEoY29yZUl0ZW1W
ZWN0b3JbaV0pKTsKICAgICAKICAgICByZXR1cm4gcmVzdWx0OwogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvbnRleHRNZW51SXRlbURhdGEuaCBiL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9XZWJDb250ZXh0TWVudUl0ZW1EYXRhLmgKaW5kZXggNTllNmVlNy4uZjhlMGI1
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYkNvbnRleHRNZW51SXRlbURh
dGEuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViQ29udGV4dE1lbnVJdGVtRGF0YS5o
CkBAIC0yOSw2ICsyOSw3IEBACiAjaWYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCiAKICNpbmNsdWRl
IDxXZWJDb3JlL0NvbnRleHRNZW51SXRlbS5oPgorI2luY2x1ZGUgPGZ1bmN0aW9uYWw+CiAjaW5j
bHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKIG5hbWVzcGFjZSBBUEkgewpAQCAtNDAsMTYg
KzQxLDEyIEBAIG5hbWVzcGFjZSBJUEMgewogICAgIGNsYXNzIEFyZ3VtZW50RW5jb2RlcjsKIH0K
IAotbmFtZXNwYWNlIFdlYkNvcmUgewotICAgIGNsYXNzIENvbnRleHRNZW51OwotfQotCiBuYW1l
c3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgV2ViQ29udGV4dE1lbnVJdGVtRGF0YSB7CiBwdWJsaWM6
CiAgICAgV2ViQ29udGV4dE1lbnVJdGVtRGF0YSgpOwotICAgIFdlYkNvbnRleHRNZW51SXRlbURh
dGEoY29uc3QgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtJiwgV2ViQ29yZTo6Q29udGV4dE1lbnUq
IG1lbnUpOworICAgIFdlYkNvbnRleHRNZW51SXRlbURhdGEoY29uc3QgV2ViQ29yZTo6Q29udGV4
dE1lbnVJdGVtJiwgc3RkOjpmdW5jdGlvbjx2b2lkKCk+IHNlbGVjdGlvbkhhbmRsZXIgPSBudWxs
cHRyKTsKICAgICBXZWJDb250ZXh0TWVudUl0ZW1EYXRhKFdlYkNvcmU6OkNvbnRleHRNZW51SXRl
bVR5cGUsIFdlYkNvcmU6OkNvbnRleHRNZW51QWN0aW9uLCBjb25zdCBTdHJpbmcmIHRpdGxlLCBi
b29sIGVuYWJsZWQsIGJvb2wgY2hlY2tlZCk7CiAgICAgV2ViQ29udGV4dE1lbnVJdGVtRGF0YShX
ZWJDb3JlOjpDb250ZXh0TWVudUFjdGlvbiwgY29uc3QgU3RyaW5nJiB0aXRsZSwgYm9vbCBlbmFi
bGVkLCBjb25zdCBWZWN0b3I8V2ViQ29udGV4dE1lbnVJdGVtRGF0YT4mIHN1Ym1lbnUpOwogCkBA
IC02OCw2ICs2NSw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGVuY29kZShJUEM6OkFyZ3VtZW50RW5j
b2RlciYpIGNvbnN0OwogICAgIHN0YXRpYyBib29sIGRlY29kZShJUEM6OkFyZ3VtZW50RGVjb2Rl
ciYsIFdlYkNvbnRleHRNZW51SXRlbURhdGEmKTsKIAorICAgIHN0ZDo6ZnVuY3Rpb248dm9pZCgp
PiBzZWxlY3Rpb25IYW5kbGVyKCkgY29uc3QgeyByZXR1cm4gbV9zZWxlY3Rpb25IYW5kbGVyOyB9
CisKIHByaXZhdGU6CiAgICAgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVHlwZSBtX3R5cGU7CiAg
ICAgV2ViQ29yZTo6Q29udGV4dE1lbnVBY3Rpb24gbV9hY3Rpb247CkBAIC03Niw5ICs3NSwxMSBA
QCBwcml2YXRlOgogICAgIGJvb2wgbV9jaGVja2VkOwogICAgIFZlY3RvcjxXZWJDb250ZXh0TWVu
dUl0ZW1EYXRhPiBtX3N1Ym1lbnU7CiAgICAgUmVmUHRyPEFQSTo6T2JqZWN0PiBtX3VzZXJEYXRh
OworCisgICAgc3RkOjpmdW5jdGlvbjx2b2lkKCk+IG1fc2VsZWN0aW9uSGFuZGxlcjsKIH07CiAK
LVZlY3RvcjxXZWJDb250ZXh0TWVudUl0ZW1EYXRhPiBraXRJdGVtcyhjb25zdCBWZWN0b3I8V2Vi
Q29yZTo6Q29udGV4dE1lbnVJdGVtPiYsIFdlYkNvcmU6OkNvbnRleHRNZW51Kik7CitWZWN0b3I8
V2ViQ29udGV4dE1lbnVJdGVtRGF0YT4ga2l0SXRlbXMoY29uc3QgVmVjdG9yPFdlYkNvcmU6OkNv
bnRleHRNZW51SXRlbT4mKTsKIFZlY3RvcjxXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW0+IGNvcmVJ
dGVtcyhjb25zdCBWZWN0b3I8V2ViQ29udGV4dE1lbnVJdGVtRGF0YT4mKTsKIAogfSAvLyBuYW1l
c3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmlu
ZGV4IDhiMWM0YTMuLjY2YmZmZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuY3BwCkBAIC0zMzM0LDE3ICszMzM0LDE3IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpoaWRl
UG9wdXBNZW51KCkKICNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKIHZvaWQgV2ViUGFnZVByb3h5
OjpzaG93Q29udGV4dE1lbnUoY29uc3QgSW50UG9pbnQmIG1lbnVMb2NhdGlvbiwgY29uc3QgQ29u
dGV4dE1lbnVDb250ZXh0RGF0YSYgY29udGV4dE1lbnVDb250ZXh0RGF0YSwgY29uc3QgVmVjdG9y
PFdlYkNvbnRleHRNZW51SXRlbURhdGE+JiBwcm9wb3NlZEl0ZW1zLCBJUEM6Ok1lc3NhZ2VEZWNv
ZGVyJiBkZWNvZGVyKQogewotICAgIGludGVybmFsU2hvd0NvbnRleHRNZW51KG1lbnVMb2NhdGlv
biwgY29udGV4dE1lbnVDb250ZXh0RGF0YSwgcHJvcG9zZWRJdGVtcywgZGVjb2Rlcik7CisgICAg
aW50ZXJuYWxTaG93Q29udGV4dE1lbnUobWVudUxvY2F0aW9uLCBjb250ZXh0TWVudUNvbnRleHRE
YXRhLCBwcm9wb3NlZEl0ZW1zLCBDb250ZXh0TWVudUNsaWVudEVsaWdpYmlsaXR5OjpFbGlnaWJs
ZUZvckNsaWVudCwgJmRlY29kZXIpOwogICAgIAogICAgIC8vIE5vIG1hdHRlciB0aGUgcmVzdWx0
IG9mIGludGVybmFsU2hvd0NvbnRleHRNZW51LCBhbHdheXMgbm90aWZ5IHRoZSBXZWJQcm9jZXNz
IHRoYXQgdGhlIG1lbnUgaXMgaGlkZGVuIHNvIGl0IHN0YXJ0cyBoYW5kbGluZyBtb3VzZSBldmVu
dHMgYWdhaW4uCiAgICAgbV9wcm9jZXNzLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpDb250ZXh0
TWVudUhpZGRlbigpLCBtX3BhZ2VJRCk7CiB9CiAKLXZvaWQgV2ViUGFnZVByb3h5OjppbnRlcm5h
bFNob3dDb250ZXh0TWVudShjb25zdCBJbnRQb2ludCYgbWVudUxvY2F0aW9uLCBjb25zdCBDb250
ZXh0TWVudUNvbnRleHREYXRhJiBjb250ZXh0TWVudUNvbnRleHREYXRhLCBjb25zdCBWZWN0b3I8
V2ViQ29udGV4dE1lbnVJdGVtRGF0YT4mIHByb3Bvc2VkSXRlbXMsIElQQzo6TWVzc2FnZURlY29k
ZXImIGRlY29kZXIpCit2b2lkIFdlYlBhZ2VQcm94eTo6aW50ZXJuYWxTaG93Q29udGV4dE1lbnUo
Y29uc3QgSW50UG9pbnQmIG1lbnVMb2NhdGlvbiwgY29uc3QgQ29udGV4dE1lbnVDb250ZXh0RGF0
YSYgY29udGV4dE1lbnVDb250ZXh0RGF0YSwgY29uc3QgVmVjdG9yPFdlYkNvbnRleHRNZW51SXRl
bURhdGE+JiBwcm9wb3NlZEl0ZW1zLCBDb250ZXh0TWVudUNsaWVudEVsaWdpYmlsaXR5IGNsaWVu
dEVsaWdpYmlsaXR5LCBJUEM6Ok1lc3NhZ2VEZWNvZGVyKiBkZWNvZGVyKQogewogICAgIFJlZlB0
cjxBUEk6Ok9iamVjdD4gdXNlckRhdGE7CiAgICAgV2ViQ29udGV4dFVzZXJNZXNzYWdlRGVjb2Rl
ciBtZXNzYWdlRGVjb2Rlcih1c2VyRGF0YSwgcHJvY2VzcygpKTsKLSAgICBpZiAoIWRlY29kZXIu
ZGVjb2RlKG1lc3NhZ2VEZWNvZGVyKSkKKyAgICBpZiAoZGVjb2RlciAmJiAhZGVjb2Rlci0+ZGVj
b2RlKG1lc3NhZ2VEZWNvZGVyKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgbV9hY3RpdmVDb250
ZXh0TWVudUNvbnRleHREYXRhID0gY29udGV4dE1lbnVDb250ZXh0RGF0YTsKQEAgLTMzNjQsNyAr
MzM2NCw3IEBAIHZvaWQgV2ViUGFnZVByb3h5OjppbnRlcm5hbFNob3dDb250ZXh0TWVudShjb25z
dCBJbnRQb2ludCYgbWVudUxvY2F0aW9uLCBjb25zdCBDCiAgICAgLy8gVW5sZXNzIHRoaXMgaXMg
YW4gaW1hZ2UgY29udHJvbCwgZ2l2ZSB0aGUgUGFnZUNvbnRleHRNZW51Q2xpZW50IG9uZSBsYXN0
IHN3aXBlIGF0IGNoYW5naW5nIHRoZSBtZW51LgogICAgIFZlY3RvcjxXZWJDb250ZXh0TWVudUl0
ZW1EYXRhPiBpdGVtczsKICAgICBib29sIHVzZVByb3Bvc2VkSXRlbXMgPSB0cnVlOwotICAgIGJv
b2wgYXNrQ2xpZW50VG9DaGFuZ2VNZW51ID0gdHJ1ZTsKKyAgICBib29sIGFza0NsaWVudFRvQ2hh
bmdlTWVudSA9IGNsaWVudEVsaWdpYmlsaXR5ID09IENvbnRleHRNZW51Q2xpZW50RWxpZ2liaWxp
dHk6OkVsaWdpYmxlRm9yQ2xpZW50OwogI2lmIEVOQUJMRShJTUFHRV9DT05UUk9MUykKICAgICBp
ZiAoIWNvbnRleHRNZW51Q29udGV4dERhdGEuY29udHJvbGxlZEltYWdlSGFuZGxlKCkuaXNOdWxs
KCkpCiAgICAgICAgIGFza0NsaWVudFRvQ2hhbmdlTWVudSA9IGZhbHNlOwpAQCAtMzM3Miw3ICsz
MzcyLDcgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmludGVybmFsU2hvd0NvbnRleHRNZW51KGNvbnN0
IEludFBvaW50JiBtZW51TG9jYXRpb24sIGNvbnN0IEMKIAogICAgIGlmIChhc2tDbGllbnRUb0No
YW5nZU1lbnUgJiYgbV9jb250ZXh0TWVudUNsaWVudC5nZXRDb250ZXh0TWVudUZyb21Qcm9wb3Nl
ZE1lbnUodGhpcywgcHJvcG9zZWRJdGVtcywgaXRlbXMsIGNvbnRleHRNZW51Q29udGV4dERhdGEu
d2ViSGl0VGVzdFJlc3VsdERhdGEoKSwgdXNlckRhdGEuZ2V0KCkpKQogICAgICAgICB1c2VQcm9w
b3NlZEl0ZW1zID0gZmFsc2U7Ci0gICAgCisKICAgICBjb25zdCBWZWN0b3I8V2ViQ29udGV4dE1l
bnVJdGVtRGF0YT4mIGl0ZW1zVG9TaG93ID0gdXNlUHJvcG9zZWRJdGVtcyA/IHByb3Bvc2VkSXRl
bXMgOiBpdGVtczsKICAgICBpZiAoIW1fY29udGV4dE1lbnVDbGllbnQuc2hvd0NvbnRleHRNZW51
KHRoaXMsIG1lbnVMb2NhdGlvbiwgaXRlbXNUb1Nob3cpKQogICAgICAgICBtX2FjdGl2ZUNvbnRl
eHRNZW51LT5zaG93Q29udGV4dE1lbnUobWVudUxvY2F0aW9uLCBpdGVtc1RvU2hvdywgY29udGV4
dE1lbnVDb250ZXh0RGF0YSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgK
aW5kZXggMDhkZTUxYy4uMjBjN2EzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuaApAQCAtMTIxOSw5ICsxMjE5LDE4IEBAIHByaXZhdGU6CiAgICAgdm9pZCBoaWRlUG9w
dXBNZW51KCk7CiAKICNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKLSAgICAvLyBDb250ZXh0IE1l
bnUuCisgICAgZW51bSBjbGFzcyBDb250ZXh0TWVudUNsaWVudEVsaWdpYmlsaXR5IHsKKyAgICAg
ICAgRWxpZ2libGVGb3JDbGllbnQsCisgICAgICAgIE5vdEVsaWdpYmxlRm9yQ2xpZW50CisgICAg
fTsKICAgICB2b2lkIHNob3dDb250ZXh0TWVudShjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgbWVu
dUxvY2F0aW9uLCBjb25zdCBDb250ZXh0TWVudUNvbnRleHREYXRhJiwgY29uc3QgVmVjdG9yPFdl
YkNvbnRleHRNZW51SXRlbURhdGE+JiwgSVBDOjpNZXNzYWdlRGVjb2RlciYpOwotICAgIHZvaWQg
aW50ZXJuYWxTaG93Q29udGV4dE1lbnUoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIG1lbnVMb2Nh
dGlvbiwgY29uc3QgQ29udGV4dE1lbnVDb250ZXh0RGF0YSYsIGNvbnN0IFZlY3RvcjxXZWJDb250
ZXh0TWVudUl0ZW1EYXRhPiYsIElQQzo6TWVzc2FnZURlY29kZXImKTsKKyAgICB2b2lkIGludGVy
bmFsU2hvd0NvbnRleHRNZW51KGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBtZW51TG9jYXRpb24s
IGNvbnN0IENvbnRleHRNZW51Q29udGV4dERhdGEmLCBjb25zdCBWZWN0b3I8V2ViQ29udGV4dE1l
bnVJdGVtRGF0YT4mLCBDb250ZXh0TWVudUNsaWVudEVsaWdpYmlsaXR5LCBJUEM6Ok1lc3NhZ2VE
ZWNvZGVyKik7CisjZW5kaWYKKworI2lmIEVOQUJMRShURUxFUEhPTkVfTlVNQkVSX0RFVEVDVElP
TikKKyNpZiBQTEFURk9STShDT0NPQSkKKyAgICB2b2lkIHNob3dUZWxlcGhvbmVOdW1iZXJNZW51
KGNvbnN0IFN0cmluZyYgdGVsZXBob25lTnVtYmVyLCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYg
cG9pbnQpOworI2VuZGlmCiAjZW5kaWYKIAogICAgIC8vIFNlYXJjaCBwb3B1cCByZXN1bHRzCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2Vz
LmluIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgpp
bmRleCA1MzlkNWU1Li4wMGZiMThkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KQEAgLTM1OCw0ICszNTgsMTEgQEAgbWVzc2FnZXMg
LT4gV2ViUGFnZVByb3h5IHsKICAgICBXcmFwQ3J5cHRvS2V5KFZlY3Rvcjx1aW50OF90PiBrZXkp
IC0+IChib29sIHN1Y2NlZWRlZCwgVmVjdG9yPHVpbnQ4X3Q+IHdyYXBwZWRLZXkpCiAgICAgVW53
cmFwQ3J5cHRvS2V5KFZlY3Rvcjx1aW50OF90PiB3cmFwcGVkS2V5KSAtPiAoYm9vbCBzdWNjZWVk
ZWQsIFZlY3Rvcjx1aW50OF90PiBrZXkpCiAjZW5kaWYKKworCisjaWYgRU5BQkxFKFRFTEVQSE9O
RV9OVU1CRVJfREVURUNUSU9OKQorI2lmIFBMQVRGT1JNKENPQ09BKQorICAgIFNob3dUZWxlcGhv
bmVOdW1iZXJNZW51KFN0cmluZyB0ZWxlcGhvbmVOdW1iZXIsIFdlYkNvcmU6OkludFBvaW50IHBv
aW50KQorI2VuZGlmCisjZW5kaWYKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9tYWMvV2ViQ29udGV4dE1lbnVQcm94eU1hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9tYWMvV2ViQ29udGV4dE1lbnVQcm94eU1hYy5tbQppbmRleCAyYjE5YmUxLi5jMjc4NmM1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dlYkNvbnRleHRNZW51
UHJveHlNYWMubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XZWJDb250ZXh0
TWVudVByb3h5TWFjLm1tCkBAIC04Niw2ICs4NiwzMSBAQCAtIChBUEk6Ok9iamVjdCopdXNlckRh
dGEKIAogQGVuZAogCitAaW50ZXJmYWNlIFdLU2VsZWN0aW9uSGFuZGxlcldyYXBwZXIgOiBOU09i
amVjdCB7CisgICAgc3RkOjpmdW5jdGlvbjx2b2lkKCk+IF9zZWxlY3Rpb25IYW5kbGVyOworfQor
LSAoaWQpaW5pdFdpdGhTZWxlY3Rpb25IYW5kbGVyOihzdGQ6OmZ1bmN0aW9uPHZvaWQoKT4pc2Vs
ZWN0aW9uSGFuZGxlcjsKKy0gKHZvaWQpZXhlY3V0ZVNlbGVjdGlvbkhhbmRsZXI7CitAZW5kCisK
K0BpbXBsZW1lbnRhdGlvbiBXS1NlbGVjdGlvbkhhbmRsZXJXcmFwcGVyCistIChpZClpbml0V2l0
aFNlbGVjdGlvbkhhbmRsZXI6KHN0ZDo6ZnVuY3Rpb248dm9pZCgpPilzZWxlY3Rpb25IYW5kbGVy
Cit7CisgICAgc2VsZiA9IFtzdXBlciBpbml0XTsKKyAgICBpZiAoIXNlbGYpCisgICAgICAgIHJl
dHVybiBuaWw7CisgICAgCisgICAgX3NlbGVjdGlvbkhhbmRsZXIgPSBzZWxlY3Rpb25IYW5kbGVy
OworICAgIHJldHVybiBzZWxmOworfQorCistICh2b2lkKWV4ZWN1dGVTZWxlY3Rpb25IYW5kbGVy
Cit7CisgICAgaWYgKF9zZWxlY3Rpb25IYW5kbGVyKQorICAgICAgICBfc2VsZWN0aW9uSGFuZGxl
cigpOworfQorQGVuZAorCiBAaW50ZXJmYWNlIFdLTWVudVRhcmdldCA6IE5TT2JqZWN0IHsKICAg
ICBXZWJLaXQ6OldlYkNvbnRleHRNZW51UHJveHlNYWMqIF9tZW51UHJveHk7CiB9CkBAIC0xMTUs
OSArMTQwLDE3IEBAIC0gKHZvaWQpc2V0TWVudVByb3h5OihXZWJLaXQ6OldlYkNvbnRleHRNZW51
UHJveHlNYWMqKW1lbnVQcm94eQogCiAtICh2b2lkKWZvcndhcmRDb250ZXh0TWVudUFjdGlvbjoo
aWQpc2VuZGVyCiB7CisgICAgaWQgcmVwcmVzZW50ZWRPYmplY3QgPSBbc2VuZGVyIHJlcHJlc2Vu
dGVkT2JqZWN0XTsKKworICAgIC8vIE5TTWVudUl0ZW1zIHdpdGggYSByZXByZXNlbnRlZCBzZWxl
Y3Rpb24gaGFuZGxlciBiZWxvbmcgc29sZWx5IHRvIHRoZSBVSSBwcm9jZXNzCisgICAgLy8gYW5k
IGRvbid0IG5lZWQgYW55IGZ1cnRoZXIgcHJvY2Vzc2luZyBhZnRlciB0aGUgc2VsZWN0aW9uIGhh
bmRsZXIgaXMgY2FsbGVkLgorICAgIGlmIChbcmVwcmVzZW50ZWRPYmplY3QgaXNLaW5kT2ZDbGFz
czpbV0tTZWxlY3Rpb25IYW5kbGVyV3JhcHBlciBjbGFzc11dKSB7CisgICAgICAgIFtyZXByZXNl
bnRlZE9iamVjdCBleGVjdXRlU2VsZWN0aW9uSGFuZGxlcl07CisgICAgICAgIHJldHVybjsKKyAg
ICB9CisKICAgICBXZWJLaXQ6OldlYkNvbnRleHRNZW51SXRlbURhdGEgaXRlbShBY3Rpb25UeXBl
LCBzdGF0aWNfY2FzdDxDb250ZXh0TWVudUFjdGlvbj4oW3NlbmRlciB0YWddKSwgW3NlbmRlciB0
aXRsZV0sIFtzZW5kZXIgaXNFbmFibGVkXSwgW3NlbmRlciBzdGF0ZV0gPT0gTlNPblN0YXRlKTsK
LSAgICAKLSAgICBpZiAoaWQgcmVwcmVzZW50ZWRPYmplY3QgPSBbc2VuZGVyIHJlcHJlc2VudGVk
T2JqZWN0XSkgeworICAgIGlmIChyZXByZXNlbnRlZE9iamVjdCkgewogICAgICAgICBBU1NFUlQo
W3JlcHJlc2VudGVkT2JqZWN0IGlzS2luZE9mQ2xhc3M6W1dLVXNlckRhdGFXcmFwcGVyIGNsYXNz
XV0pOwogICAgICAgICBpdGVtLnNldFVzZXJEYXRhKFtzdGF0aWNfY2FzdDxXS1VzZXJEYXRhV3Jh
cHBlciAqPihyZXByZXNlbnRlZE9iamVjdCkgdXNlckRhdGFdKTsKICAgICB9CkBAIC0yNTYsOCAr
Mjg5LDEyIEBAIHN0YXRpYyBWZWN0b3I8UmV0YWluUHRyPE5TTWVudUl0ZW0+PiBuc01lbnVJdGVt
VmVjdG9yKGNvbnN0IFZlY3RvcjxXZWJDb250ZXh0TWVuCiAgICAgICAgICAgICBbbWVudUl0ZW0g
c2V0VGFnOml0ZW1zW2ldLmFjdGlvbigpXTsKICAgICAgICAgICAgIFttZW51SXRlbSBzZXRFbmFi
bGVkOml0ZW1zW2ldLmVuYWJsZWQoKV07CiAgICAgICAgICAgICBbbWVudUl0ZW0gc2V0U3RhdGU6
aXRlbXNbaV0uY2hlY2tlZCgpID8gTlNPblN0YXRlIDogTlNPZmZTdGF0ZV07Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAKLSAgICAgICAgICAgIGlmIChpdGVtc1tpXS51c2VyRGF0YSgpKSB7CisK
KyAgICAgICAgICAgIGlmIChzdGQ6OmZ1bmN0aW9uPHZvaWQoKT4gc2VsZWN0aW9uSGFuZGxlciA9
IGl0ZW1zW2ldLnNlbGVjdGlvbkhhbmRsZXIoKSkgeworICAgICAgICAgICAgICAgIFdLU2VsZWN0
aW9uSGFuZGxlcldyYXBwZXIgKndyYXBwZXIgPSBbW1dLU2VsZWN0aW9uSGFuZGxlcldyYXBwZXIg
YWxsb2NdIGluaXRXaXRoU2VsZWN0aW9uSGFuZGxlcjpzZWxlY3Rpb25IYW5kbGVyXTsKKyAgICAg
ICAgICAgICAgICBbbWVudUl0ZW0gc2V0UmVwcmVzZW50ZWRPYmplY3Q6d3JhcHBlcl07CisgICAg
ICAgICAgICAgICAgW3dyYXBwZXIgcmVsZWFzZV07CisgICAgICAgICAgICB9IGVsc2UgaWYgKGl0
ZW1zW2ldLnVzZXJEYXRhKCkpIHsKICAgICAgICAgICAgICAgICBXS1VzZXJEYXRhV3JhcHBlciAq
d3JhcHBlciA9IFtbV0tVc2VyRGF0YVdyYXBwZXIgYWxsb2NdIGluaXRXaXRoVXNlckRhdGE6aXRl
bXNbaV0udXNlckRhdGEoKV07CiAgICAgICAgICAgICAgICAgW21lbnVJdGVtIHNldFJlcHJlc2Vu
dGVkT2JqZWN0OndyYXBwZXJdOwogICAgICAgICAgICAgICAgIFt3cmFwcGVyIHJlbGVhc2VdOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9XZWJQYWdlUHJveHlNYWMu
bW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1dlYlBhZ2VQcm94eU1hYy5tbQppbmRl
eCAxZDRiYzc4Li5jMGM4NWRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
bWFjL1dlYlBhZ2VQcm94eU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFj
L1dlYlBhZ2VQcm94eU1hYy5tbQpAQCAtNDksNiArNDksNyBAQAogI2ltcG9ydCA8V2ViQ29yZS9H
cmFwaGljc0xheWVyLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNr
cy5oPgogI2ltcG9ydCA8V2ViQ29yZS9TaGFyZWRCdWZmZXIuaD4KKyNpbXBvcnQgPFdlYkNvcmUv
U29mdExpbmtpbmcuaD4KICNpbXBvcnQgPFdlYkNvcmUvVGV4dEFsdGVybmF0aXZlV2l0aFJhbmdl
Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL1VzZXJBZ2VudC5oPgogI2ltcG9ydCA8V2ViS2l0U3lzdGVt
SW50ZXJmYWNlLmg+CkBAIC02MCw2ICs2MSwxNyBAQCBAaW50ZXJmYWNlIE5TQXBwbGljYXRpb24g
KERldGFpbHMpCiAtICh2b2lkKXNwZWFrU3RyaW5nOihOU1N0cmluZyAqKXN0cmluZzsKIEBlbmQK
IAorU09GVF9MSU5LX1BSSVZBVEVfRlJBTUVXT1JLX09QVElPTkFMKERhdGFEZXRlY3RvcnMpCitT
T0ZUX0xJTktfQ0xBU1MoRGF0YURldGVjdG9ycywgRERBY3Rpb25zTWFuYWdlcikKK1NPRlRfTElO
S19DT05TVEFOVChEYXRhRGV0ZWN0b3JzLCBEREJpbmRlclBob25lTnVtYmVyS2V5LCBDRlN0cmlu
Z1JlZikKKwordHlwZWRlZiB2b2lkKiBEREFjdGlvbkNvbnRleHQ7CisKK0BpbnRlcmZhY2UgRERB
Y3Rpb25zTWFuYWdlciA6IE5TT2JqZWN0CisrIChEREFjdGlvbnNNYW5hZ2VyICopIHNoYXJlZE1h
bmFnZXI7CistIChOU0FycmF5ICopIG1lbnVJdGVtc0ZvclZhbHVlOihOU1N0cmluZyAqKXZhbHVl
IHR5cGU6KENGU3RyaW5nUmVmKXR5cGUgc2VydmljZTooTlNTdHJpbmcgKilzZXJ2aWNlIGNvbnRl
eHQ6KEREQWN0aW9uQ29udGV4dCAqKWNvbnRleHQ7CitAZW5kCisKICNkZWZpbmUgTUVTU0FHRV9D
SEVDSyhhc3NlcnRpb24pIE1FU1NBR0VfQ0hFQ0tfQkFTRShhc3NlcnRpb24sIHByb2Nlc3MoKS5j
b25uZWN0aW9uKCkpCiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwpAQCAtNjM0LDYgKzY0Niwy
OSBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6b3BlblBERkZyb21UZW1wb3JhcnlGb2xkZXJXaXRoTmF0
aXZlQXBwbGljYXRpb24oY29uc3QgU3RyaW5nJgogICAgIFtbTlNXb3Jrc3BhY2Ugc2hhcmVkV29y
a3NwYWNlXSBvcGVuRmlsZTpwZGZGaWxlbmFtZV07CiB9CiAKKyNpZiBFTkFCTEUoVEVMRVBIT05F
X05VTUJFUl9ERVRFQ1RJT04pCisjaWYgUExBVEZPUk0oQ09DT0EpCit2b2lkIFdlYlBhZ2VQcm94
eTo6c2hvd1RlbGVwaG9uZU51bWJlck1lbnUoY29uc3QgU3RyaW5nJiB0ZWxlcGhvbmVOdW1iZXIs
IGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBwb2ludCkKK3sKKyAgICBOU0FycmF5ICptZW51SXRl
bXMgPSBbW2dldEREQWN0aW9uc01hbmFnZXJDbGFzcygpIHNoYXJlZE1hbmFnZXJdIG1lbnVJdGVt
c0ZvclZhbHVlOihOU1N0cmluZyAqKXRlbGVwaG9uZU51bWJlciB0eXBlOmdldEREQmluZGVyUGhv
bmVOdW1iZXJLZXkoKSBzZXJ2aWNlOm5pbCBjb250ZXh0Om5pbF07CisKKyAgICBWZWN0b3I8V2Vi
Q29udGV4dE1lbnVJdGVtRGF0YT4gaXRlbXM7CisgICAgZm9yIChOU01lbnVJdGVtICppdGVtIGlu
IG1lbnVJdGVtcykgeworICAgICAgICBSZXRhaW5QdHI8TlNNZW51SXRlbT4gcmV0YWluZWRJdGVt
ID0gaXRlbTsKKyAgICAgICAgc3RkOjpmdW5jdGlvbjx2b2lkKCk+IGhhbmRsZXIgPSBbcmV0YWlu
ZWRJdGVtXSgpIHsKKyAgICAgICAgICAgIE5TTWVudUl0ZW0gKml0ZW0gPSByZXRhaW5lZEl0ZW0u
Z2V0KCk7CisgICAgICAgICAgICBbW2l0ZW0gdGFyZ2V0XSBwZXJmb3JtU2VsZWN0b3I6W2l0ZW0g
YWN0aW9uXSB3aXRoT2JqZWN0Oml0ZW1dOworICAgICAgICB9OworICAgICAgICAKKyAgICAgICAg
aXRlbXMuYXBwZW5kKFdlYkNvbnRleHRNZW51SXRlbURhdGEoQ29udGV4dE1lbnVJdGVtKGl0ZW0p
LCBoYW5kbGVyKSk7CisgICAgfQorICAgIAorICAgIENvbnRleHRNZW51Q29udGV4dERhdGEgY29u
dGV4dERhdGE7CisgICAgaW50ZXJuYWxTaG93Q29udGV4dE1lbnUocG9pbnQsIGNvbnRleHREYXRh
LCBpdGVtcywgQ29udGV4dE1lbnVDbGllbnRFbGlnaWJpbGl0eTo6Tm90RWxpZ2libGVGb3JDbGll
bnQsIG51bGxwdHIpOworfQorI2VuZGlmCisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0
CiAKICNlbmRpZiAvLyBQTEFURk9STShNQUMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvVGVsZXBob25lTnVtYmVyT3ZlcmxheUNvbnRyb2xsZXIuY3BwIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1RlbGVwaG9uZU51bWJlck92ZXJsYXlD
b250cm9sbGVyLmNwcAppbmRleCBkN2IzOGVmLi40YjMyOTZlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvVGVsZXBob25lTnVtYmVyT3ZlcmxheUNvbnRyb2xs
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9UZWxlcGhvbmVO
dW1iZXJPdmVybGF5Q29udHJvbGxlci5jcHAKQEAgLTgyLDE4ICs4Miw2IEBAIHZvaWQgVGVsZXBo
b25lTnVtYmVyT3ZlcmxheUNvbnRyb2xsZXI6OmRpZE1vdmVUb1dlYlBhZ2UoUGFnZU92ZXJsYXkq
LCBXZWJQYWdlKikKIHsKIH0KIAotVmVjdG9yPEludFJlY3Q+IFRlbGVwaG9uZU51bWJlck92ZXJs
YXlDb250cm9sbGVyOjpyZWN0c0ZvckRyYXdpbmcoKSBjb25zdAotewotICAgIFZlY3RvcjxJbnRS
ZWN0PiByZXN1bHQ7Ci0gICAgCi0gICAgLy8gRklYTUU6IFRoaXMgd2lsbCBjaG9rZSBpZiB0aGUg
cmFuZ2Ugd3JhcHMgYXJvdW5kIHRoZSBlZGdlIG9mIHRoZSB2aWV3LgotICAgIC8vIFdoYXQgc2hv
dWxkIHdlIGRvIGluIHRoYXQgY2FzZT8KLSAgICBmb3IgKGF1dG8mIHJhbmdlIDogbV9jdXJyZW50
U2VsZWN0aW9uUmFuZ2VzKQotICAgICAgICByZXN1bHQuYXBwZW5kKGVuY2xvc2luZ0ludFJlY3Qo
cmFuZ2UtPmJvdW5kaW5nUmVjdCgpKSk7Ci0KLSAgICByZXR1cm4gcmVzdWx0OwotfQotCiB2b2lk
IFRlbGVwaG9uZU51bWJlck92ZXJsYXlDb250cm9sbGVyOjpzZWxlY3RlZFRlbGVwaG9uZU51bWJl
clJhbmdlc0NoYW5nZWQoY29uc3QgVmVjdG9yPFJlZlB0cjxSYW5nZT4+JiByYW5nZXMpCiB7CiAj
aWYgUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID4gMTA5
MApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1RlbGVwaG9u
ZU51bWJlck92ZXJsYXlDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvVGVsZXBob25lTnVtYmVyT3ZlcmxheUNvbnRyb2xsZXIuaAppbmRleCA1MzUzNWEyLi45
YTk4ZDBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvVGVs
ZXBob25lTnVtYmVyT3ZlcmxheUNvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvVGVsZXBob25lTnVtYmVyT3ZlcmxheUNvbnRyb2xsZXIuaApAQCAtNDEs
NiArNDEsMjcgQEAgY2xhc3MgV2ViUGFnZTsKICAgICAKICNpZiBQTEFURk9STShDT0NPQSkKIHR5
cGVkZWYgdm9pZCogRERIaWdobGlnaHRSZWY7CisKK2NsYXNzIFRlbGVwaG9uZU51bWJlckRhdGEg
OiBwdWJsaWMgUmVmQ291bnRlZDxUZWxlcGhvbmVOdW1iZXJEYXRhPiB7CitwdWJsaWM6CisgICAg
c3RhdGljIFBhc3NSZWZQdHI8VGVsZXBob25lTnVtYmVyRGF0YT4gY3JlYXRlKFdlYkNvcmU6OlJh
bmdlKiByYW5nZSwgRERIaWdobGlnaHRSZWYgaGlnaGxpZ2h0KQorICAgIHsKKyAgICAgICAgcmV0
dXJuIGFkb3B0UmVmKG5ldyBUZWxlcGhvbmVOdW1iZXJEYXRhKHJhbmdlLCBoaWdobGlnaHQpKTsK
KyAgICB9CisKKyAgICBXZWJDb3JlOjpSYW5nZSogcmFuZ2UoKSBjb25zdCB7IHJldHVybiBtX3Jh
bmdlLmdldCgpOyB9CisgICAgRERIaWdobGlnaHRSZWYgaGlnaGxpZ2h0KCkgY29uc3QgeyByZXR1
cm4gbV9oaWdobGlnaHQuZ2V0KCk7IH0KKworcHJpdmF0ZToKKyAgICBUZWxlcGhvbmVOdW1iZXJE
YXRhKFdlYkNvcmU6OlJhbmdlKiByYW5nZSwgRERIaWdobGlnaHRSZWYgaGlnaGxpZ2h0KQorICAg
ICAgICA6IG1fcmFuZ2UocmFuZ2UpCisgICAgICAgICwgbV9oaWdobGlnaHQoaGlnaGxpZ2h0KQor
ICAgIHsKKyAgICB9CisKKyAgICBSZWZQdHI8V2ViQ29yZTo6UmFuZ2U+IG1fcmFuZ2U7CisgICAg
UmV0YWluUHRyPERESGlnaGxpZ2h0UmVmPiBtX2hpZ2hsaWdodDsKK307CiAjZW5kaWYKIAogY2xh
c3MgVGVsZXBob25lTnVtYmVyT3ZlcmxheUNvbnRyb2xsZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxU
ZWxlcGhvbmVOdW1iZXJPdmVybGF5Q29udHJvbGxlcj4sIHByaXZhdGUgUGFnZU92ZXJsYXk6OkNs
aWVudCB7CkBAIC02MiwxMCArODMsOCBAQCBwcml2YXRlOgogICAgIHZvaWQgY2xlYXJIaWdobGln
aHRzKCk7CiAgICAgdm9pZCBjbGVhck1vdXNlRG93bkluZm9ybWF0aW9uKCk7CiAgICAgCi0gICAg
dm9pZCBoYW5kbGVUZWxlcGhvbmVDbGljaygpOworICAgIHZvaWQgaGFuZGxlVGVsZXBob25lQ2xp
Y2soVGVsZXBob25lTnVtYmVyRGF0YSosIGNvbnN0IFdlYkNvcmU6OkludFBvaW50Jik7CiAgICAg
Ci0gICAgVmVjdG9yPFdlYkNvcmU6OkludFJlY3Q+IHJlY3RzRm9yRHJhd2luZygpIGNvbnN0Owot
CiAgICAgdmlydHVhbCB2b2lkIHBhZ2VPdmVybGF5RGVzdHJveWVkKFBhZ2VPdmVybGF5Kikgb3Zl
cnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIHdpbGxNb3ZlVG9XZWJQYWdlKFBhZ2VPdmVybGF5Kiwg
V2ViUGFnZSopIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCBkaWRNb3ZlVG9XZWJQYWdlKFBh
Z2VPdmVybGF5KiwgV2ViUGFnZSopIG92ZXJyaWRlOwpAQCAtNzcsOCArOTYsOCBAQCBwcml2YXRl
OgogICAgIFZlY3RvcjxSZWZQdHI8V2ViQ29yZTo6UmFuZ2U+PiBtX2N1cnJlbnRTZWxlY3Rpb25S
YW5nZXM7CiAgICAgCiAjaWYgUExBVEZPUk0oQ09DT0EpCi0gICAgVmVjdG9yPFJldGFpblB0cjxE
REhpZ2hsaWdodFJlZj4+IG1faGlnaGxpZ2h0czsKLSAgICBSZXRhaW5QdHI8RERIaWdobGlnaHRS
ZWY+IG1fY3VycmVudE1vdXNlRG93bkhpZ2hsaWdodDsKKyAgICBWZWN0b3I8UmVmUHRyPFRlbGVw
aG9uZU51bWJlckRhdGE+PiBtX3RlbGVwaG9uZU51bWJlckRhdGFzOworICAgIFJlZlB0cjxUZWxl
cGhvbmVOdW1iZXJEYXRhPiBtX2N1cnJlbnRNb3VzZURvd25OdW1iZXI7CiAjZW5kaWYKICAgICAK
ICAgICBXZWJDb3JlOjpJbnRQb2ludCBtX21vdXNlRG93blBvc2l0aW9uOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkNvbnRleHRNZW51LmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJDb250ZXh0TWVudS5jcHAKaW5kZXgg
NDhkMWUzYy4uMDk4NjY5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYkNvbnRleHRNZW51LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViQ29udGV4dE1lbnUuY3BwCkBAIC05OCw3ICs5OCw4IEBAIHZvaWQgV2ViQ29u
dGV4dE1lbnU6Om1lbnVJdGVtc1dpdGhVc2VyRGF0YShWZWN0b3I8V2ViQ29udGV4dE1lbnVJdGVt
RGF0YT4gJm1lbnVJCiAjZWxzZQogICAgIFZlY3RvcjxDb250ZXh0TWVudUl0ZW0+IGNvcmVJdGVt
cyA9IGNvbnRleHRNZW51SXRlbVZlY3RvcihtZW51LT5wbGF0Zm9ybURlc2NyaXB0aW9uKCkpOwog
I2VuZGlmCi0gICAgVmVjdG9yPFdlYkNvbnRleHRNZW51SXRlbURhdGE+IHByb3Bvc2VkTWVudSA9
IGtpdEl0ZW1zKGNvcmVJdGVtcywgbWVudSk7CisKKyAgICBWZWN0b3I8V2ViQ29udGV4dE1lbnVJ
dGVtRGF0YT4gcHJvcG9zZWRNZW51ID0ga2l0SXRlbXMoY29yZUl0ZW1zKTsKICAgICBWZWN0b3I8
V2ViQ29udGV4dE1lbnVJdGVtRGF0YT4gbmV3TWVudTsKICAgICBSZWZQdHI8SW5qZWN0ZWRCdW5k
bGVIaXRUZXN0UmVzdWx0PiBoaXRUZXN0UmVzdWx0ID0gSW5qZWN0ZWRCdW5kbGVIaXRUZXN0UmVz
dWx0OjpjcmVhdGUoY29udHJvbGxlci5oaXRUZXN0UmVzdWx0KCkpOwogICAgIGlmIChtX3BhZ2Ut
PmluamVjdGVkQnVuZGxlQ29udGV4dE1lbnVDbGllbnQoKS5nZXRDdXN0b21NZW51RnJvbURlZmF1
bHRJdGVtcyhtX3BhZ2UsIGhpdFRlc3RSZXN1bHQuZ2V0KCksIHByb3Bvc2VkTWVudSwgbmV3TWVu
dSwgdXNlckRhdGEpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmgKaW5kZXggYTZiNmJhYy4uY2QwNTBmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5oCkBAIC00Niw2ICs0Niw3IEBACiAjaW5jbHVkZSAiU2FuZGJveEV4
dGVuc2lvbi5oIgogI2luY2x1ZGUgIlNoYXJlYWJsZUJpdG1hcC5oIgogI2luY2x1ZGUgIldlYlVu
ZG9TdGVwLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9Db250ZXh0TWVudUl0ZW0uaD4KICNpbmNsdWRl
IDxXZWJDb3JlL0RpY3RhdGlvbkFsdGVybmF0aXZlLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9EcmFn
RGF0YS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRWRpdG9yLmg+CkBAIC03NzYsNiArNzc3LDcgQEAg
cHVibGljOgogICAgIAogI2lmIEVOQUJMRShURUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikKICAg
ICBUZWxlcGhvbmVOdW1iZXJPdmVybGF5Q29udHJvbGxlciYgdGVsZXBob25lTnVtYmVyT3Zlcmxh
eUNvbnRyb2xsZXIoKTsKKyAgICB2b2lkIGhhbmRsZVRlbGVwaG9uZU51bWJlckNsaWNrKGNvbnN0
IFN0cmluZyYgbnVtYmVyLCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYpOwogI2VuZGlmCiAKIHBy
aXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFj
L1RlbGVwaG9uZU51bWJlck92ZXJsYXlDb250cm9sbGVyTWFjLm1tIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9UZWxlcGhvbmVOdW1iZXJPdmVybGF5Q29udHJvbGxlck1h
Yy5tbQppbmRleCAxNmE0ZDJhLi5hZjc5MjA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1RlbGVwaG9uZU51bWJlck92ZXJsYXlDb250cm9sbGVyTWFj
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGVsZXBob25l
TnVtYmVyT3ZlcmxheUNvbnRyb2xsZXJNYWMubW0KQEAgLTM2LDExICszNiwxNCBAQAogCiAjaWYg
X19oYXNfaW5jbHVkZSg8RGF0YURldGVjdG9ycy9EREhpZ2hsaWdodERyYXdpbmcuaD4pCiAjaW1w
b3J0IDxEYXRhRGV0ZWN0b3JzL0RESGlnaGxpZ2h0RHJhd2luZy5oPgotI2ltcG9ydCA8RGF0YURl
dGVjdG9ycy9EREhpZ2hsaWdodERyYXdpbmdfUHJpdmF0ZS5oPgogI2Vsc2UKIHR5cGVkZWYgdm9p
ZCogRERIaWdobGlnaHRSZWY7CiAjZW5kaWYKIAorI2lmIF9faGFzX2luY2x1ZGUoPERhdGFEZXRl
Y3RvcnMvRERIaWdobGlnaHREcmF3aW5nX1ByaXZhdGUuaD4pCisjaW1wb3J0IDxEYXRhRGV0ZWN0
b3JzL0RESGlnaGxpZ2h0RHJhd2luZ19Qcml2YXRlLmg+CisjZW5kaWYKKwogU09GVF9MSU5LX1BS
SVZBVEVfRlJBTUVXT1JLX09QVElPTkFMKERhdGFEZXRlY3RvcnMpCiBTT0ZUX0xJTksoRGF0YURl
dGVjdG9ycywgRERIaWdobGlnaHRDcmVhdGVXaXRoUmVjdHNJblZpc2libGVSZWN0LCBEREhpZ2hs
aWdodFJlZiwgKENGQWxsb2NhdG9yUmVmIGFsbG9jYXRvciwgQ0dSZWN0ICogcmVjdHMsIENGSW5k
ZXggY291bnQsIENHUmVjdCBnbG9iYWxWaXNpYmxlUmVjdCwgQm9vbGVhbiB3aXRoQXJyb3cpLCAo
YWxsb2NhdG9yLCByZWN0cywgY291bnQsIGdsb2JhbFZpc2libGVSZWN0LCB3aXRoQXJyb3cpKQog
U09GVF9MSU5LKERhdGFEZXRlY3RvcnMsIERESGlnaGxpZ2h0R2V0TGF5ZXJXaXRoQ29udGV4dCwg
Q0dMYXllclJlZiwgKERESGlnaGxpZ2h0UmVmIGhpZ2hsaWdodCwgQ0dDb250ZXh0UmVmIGNvbnRl
eHQpLCAoaGlnaGxpZ2h0LCBjb250ZXh0KSkKQEAgLTUxLDI4ICs1NCwzMiBAQCBTT0ZUX0xJTkso
RGF0YURldGVjdG9ycywgRERIaWdobGlnaHRTZXRCdXR0b25QcmVzc2VkLCB2b2lkLCAoRERIaWdo
bGlnaHRSZWYgaGlnaAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIG5hbWVzcGFjZSBXZWJL
aXQgewotICAgIAorCiB2b2lkIFRlbGVwaG9uZU51bWJlck92ZXJsYXlDb250cm9sbGVyOjpkcmF3
UmVjdChQYWdlT3ZlcmxheSogb3ZlcmxheSwgV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0JiBncmFw
aGljc0NvbnRleHQsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGRpcnR5UmVjdCkKIHsKLSAgICBW
ZWN0b3I8SW50UmVjdD4gcmVjdHMgPSByZWN0c0ZvckRyYXdpbmcoKTsKLSAgICBpZiAocmVjdHMu
aXNFbXB0eSgpKQorICAgIGlmIChtX2N1cnJlbnRTZWxlY3Rpb25SYW5nZXMuaXNFbXB0eSgpKQog
ICAgICAgICByZXR1cm47CiAgICAgCiAgICAgY2xlYXJIaWdobGlnaHRzKCk7CiAgICAgCiAgICAg
Q0dDb250ZXh0UmVmIGNnQ29udGV4dCA9IGdyYXBoaWNzQ29udGV4dC5wbGF0Zm9ybUNvbnRleHQo
KTsKICAgICAKLSAgICBmb3IgKGF1dG8mIHJlY3QgOiByZWN0cykgeworICAgIGZvciAoYXV0byYg
cmFuZ2UgOiBtX2N1cnJlbnRTZWxlY3Rpb25SYW5nZXMpIHsKKyAgICAgICAgLy8gRklYTUU6IFRo
aXMgd2lsbCBjaG9rZSBpZiB0aGUgcmFuZ2Ugd3JhcHMgYXJvdW5kIHRoZSBlZGdlIG9mIHRoZSB2
aWV3LgorICAgICAgICAvLyBXaGF0IHNob3VsZCB3ZSBkbyBpbiB0aGF0IGNhc2U/CisgICAgICAg
IEludFJlY3QgcmVjdCA9IGVuY2xvc2luZ0ludFJlY3QocmFuZ2UtPmJvdW5kaW5nUmVjdCgpKTsK
ICAgICAgICAgQ0dSZWN0IGNnUmVjdHNbXSA9IHsgKENHUmVjdClyZWN0IH07Ci0gICAgICAgIERE
SGlnaGxpZ2h0UmVmIGhpZ2hsaWdodCA9IERESGlnaGxpZ2h0Q3JlYXRlV2l0aFJlY3RzSW5WaXNp
YmxlUmVjdChudWxscHRyLCBjZ1JlY3RzLCAxLCAoQ0dSZWN0KWRpcnR5UmVjdCwgdHJ1ZSk7Ci0g
ICAgICAgIG1faGlnaGxpZ2h0cy5hcHBlbmQoYWRvcHRDRihoaWdobGlnaHQpKTsKKworICAgICAg
ICBSZXRhaW5QdHI8RERIaWdobGlnaHRSZWY+IGhpZ2hsaWdodCA9IGFkb3B0Q0YoRERIaWdobGln
aHRDcmVhdGVXaXRoUmVjdHNJblZpc2libGVSZWN0KG51bGxwdHIsIGNnUmVjdHMsIDEsIChDR1Jl
Y3QpZGlydHlSZWN0LCB0cnVlKSk7CisgICAgICAgIFJlZlB0cjxUZWxlcGhvbmVOdW1iZXJEYXRh
PiB0ZWxlcGhvbmVOdW1iZXJEYXRhID0gVGVsZXBob25lTnVtYmVyRGF0YTo6Y3JlYXRlKHJhbmdl
LmdldCgpLCBoaWdobGlnaHQuZ2V0KCkpOworICAgICAgICBtX3RlbGVwaG9uZU51bWJlckRhdGFz
LmFwcGVuZCh0ZWxlcGhvbmVOdW1iZXJEYXRhKTsKICAgICAgICAgCiAgICAgICAgIC8vIENoZWNr
IGFuZCBzZWUgaWYgdGhlIG1vdXNlIGlzIGN1cnJlbnRseSBkb3duIGluc2lkZSB0aGlzIGhpZ2hs
aWdodCdzIGJ1dHRvbi4KICAgICAgICAgaWYgKG1fbW91c2VEb3duUG9zaXRpb24gIT0gSW50UG9p
bnQoKSkgewogICAgICAgICAgICAgQm9vbGVhbiBvbkJ1dHRvbjsKLSAgICAgICAgICAgIGlmIChE
REhpZ2hsaWdodFBvaW50SXNPbkhpZ2hsaWdodChoaWdobGlnaHQsIChDR1BvaW50KW1fbW91c2VE
b3duUG9zaXRpb24sICZvbkJ1dHRvbikpIHsKKyAgICAgICAgICAgIGlmIChEREhpZ2hsaWdodFBv
aW50SXNPbkhpZ2hsaWdodChoaWdobGlnaHQuZ2V0KCksIChDR1BvaW50KW1fbW91c2VEb3duUG9z
aXRpb24sICZvbkJ1dHRvbikpIHsKICAgICAgICAgICAgICAgICBpZiAob25CdXR0b24pIHsKLSAg
ICAgICAgICAgICAgICAgICAgbV9jdXJyZW50TW91c2VEb3duSGlnaGxpZ2h0ID0gaGlnaGxpZ2h0
OworICAgICAgICAgICAgICAgICAgICBtX2N1cnJlbnRNb3VzZURvd25OdW1iZXIgPSB0ZWxlcGhv
bmVOdW1iZXJEYXRhOwogICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAg
Ly8gRklYTUU6IFdlIG5lZWQgdG8gZG8gdGhlIGZvbGxvd2luZywgYnV0IFNPRlRfTElOSyBpc24n
dCB3b3JraW5nIGZvciB0aGlzIG1ldGhvZC4KICAgICAgICAgICAgICAgICAgICAgLy8gRERIaWdo
bGlnaHRTZXRCdXR0b25QcmVzc2VkKGhpZ2hsaWdodCwgdHJ1ZSk7CkBAIC04MCw4ICs4Nyw4IEBA
IHZvaWQgVGVsZXBob25lTnVtYmVyT3ZlcmxheUNvbnRyb2xsZXI6OmRyYXdSZWN0KFBhZ2VPdmVy
bGF5KiBvdmVybGF5LCBXZWJDb3JlOjpHCiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICAg
ICAgCi0gICAgICAgIENHTGF5ZXJSZWYgaGlnaGxpZ2h0TGF5ZXIgPSBEREhpZ2hsaWdodEdldExh
eWVyV2l0aENvbnRleHQoaGlnaGxpZ2h0LCBjZ0NvbnRleHQpOwotICAgICAgICBDR1JlY3QgaGln
aGxpZ2h0Qm91bmRpbmdSZWN0ID0gRERIaWdobGlnaHRHZXRCb3VuZGluZ1JlY3QoaGlnaGxpZ2h0
KTsKKyAgICAgICAgQ0dMYXllclJlZiBoaWdobGlnaHRMYXllciA9IERESGlnaGxpZ2h0R2V0TGF5
ZXJXaXRoQ29udGV4dChoaWdobGlnaHQuZ2V0KCksIGNnQ29udGV4dCk7CisgICAgICAgIENHUmVj
dCBoaWdobGlnaHRCb3VuZGluZ1JlY3QgPSBEREhpZ2hsaWdodEdldEJvdW5kaW5nUmVjdChoaWdo
bGlnaHQuZ2V0KCkpOwogICAgICAgICAKICAgICAgICAgR3JhcGhpY3NDb250ZXh0U3RhdGVTYXZl
ciBzdGF0ZVNhdmVyKGdyYXBoaWNzQ29udGV4dCk7CiAKQEAgLTk3LDkgKzEwNCwxMSBAQCB2b2lk
IFRlbGVwaG9uZU51bWJlck92ZXJsYXlDb250cm9sbGVyOjpkcmF3UmVjdChQYWdlT3ZlcmxheSog
b3ZlcmxheSwgV2ViQ29yZTo6RwogICAgIH0KIH0KICAgICAKLXZvaWQgVGVsZXBob25lTnVtYmVy
T3ZlcmxheUNvbnRyb2xsZXI6OmhhbmRsZVRlbGVwaG9uZUNsaWNrKCkKK3ZvaWQgVGVsZXBob25l
TnVtYmVyT3ZlcmxheUNvbnRyb2xsZXI6OmhhbmRsZVRlbGVwaG9uZUNsaWNrKFRlbGVwaG9uZU51
bWJlckRhdGEqIG51bWJlciwgY29uc3QgSW50UG9pbnQmIHBvaW50KQogewotICAgIC8vIEZJWE1F
OiBIYW5kbGUgdGhlIGJ1dHRvbiBjbGljayBoZXJlLgorICAgIEFTU0VSVChudW1iZXIpOworCisg
ICAgbV93ZWJQYWdlLT5oYW5kbGVUZWxlcGhvbmVOdW1iZXJDbGljayhudW1iZXItPnJhbmdlKCkt
PnRleHQoKSwgcG9pbnQpOwogfQogICAgIAogYm9vbCBUZWxlcGhvbmVOdW1iZXJPdmVybGF5Q29u
dHJvbGxlcjo6bW91c2VFdmVudChQYWdlT3ZlcmxheSosIGNvbnN0IFdlYk1vdXNlRXZlbnQmIGV2
ZW50KQpAQCAtMTEyLDE2ICsxMjEsMTYgQEAgYm9vbCBUZWxlcGhvbmVOdW1iZXJPdmVybGF5Q29u
dHJvbGxlcjo6bW91c2VFdmVudChQYWdlT3ZlcmxheSosIGNvbnN0IFdlYk1vdXNlRXYKICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogICAgIH0KICAgICAKLSAgICBSZXRhaW5QdHI8RERIaWdobGlnaHRS
ZWY+IGN1cnJlbnRIaWdobGlnaHQgPSBtX2N1cnJlbnRNb3VzZURvd25IaWdobGlnaHQ7CisgICAg
UmVmUHRyPFRlbGVwaG9uZU51bWJlckRhdGE+IGN1cnJlbnROdW1iZXIgPSBtX2N1cnJlbnRNb3Vz
ZURvd25OdW1iZXI7CiAgICAgCiAgICAgLy8gQ2hlY2sgYW5kIHNlZSBpZiB0aGUgbW91c2Ugd2Vu
dCB1cCBhbmQgd2UgaGF2ZSBhIGN1cnJlbnQgbW91c2UgZG93biBoaWdobGlnaHQgYnV0dG9uLgot
ICAgIGlmIChldmVudC50eXBlKCkgPT0gV2ViRXZlbnQ6Ok1vdXNlVXAgJiYgY3VycmVudEhpZ2hs
aWdodCkgeworICAgIGlmIChldmVudC50eXBlKCkgPT0gV2ViRXZlbnQ6Ok1vdXNlVXAgJiYgY3Vy
cmVudE51bWJlcikgewogICAgICAgICBjbGVhck1vdXNlRG93bkluZm9ybWF0aW9uKCk7CiAgICAg
ICAgIAogICAgICAgICAvLyBJZiB0aGUgbW91c2UgbGlmdGVkIHdoaWxlIHN0aWxsIG92ZXIgdGhl
IGhpZ2hsaWdodCBidXR0b24gdGhhdCBpdCB3ZW50IGRvd24gb24sIHRoZW4gdGhhdCBpcyBhIGNs
aWNrLgogICAgICAgICBCb29sZWFuIG9uQnV0dG9uOwotICAgICAgICBpZiAoRERIaWdobGlnaHRQ
b2ludElzT25IaWdobGlnaHQoY3VycmVudEhpZ2hsaWdodC5nZXQoKSwgKENHUG9pbnQpbW91c2VQ
b3NpdGlvbiwgJm9uQnV0dG9uKSAmJiBvbkJ1dHRvbikgewotICAgICAgICAgICAgaGFuZGxlVGVs
ZXBob25lQ2xpY2soKTsKKyAgICAgICAgaWYgKERESGlnaGxpZ2h0UG9pbnRJc09uSGlnaGxpZ2h0
KGN1cnJlbnROdW1iZXItPmhpZ2hsaWdodCgpLCAoQ0dQb2ludCltb3VzZVBvc2l0aW9uLCAmb25C
dXR0b24pICYmIG9uQnV0dG9uKSB7CisgICAgICAgICAgICBoYW5kbGVUZWxlcGhvbmVDbGljayhj
dXJyZW50TnVtYmVyLmdldCgpLCBtb3VzZVBvc2l0aW9uKTsKICAgICAgICAgICAgIAogICAgICAg
ICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIH0KQEAgLTEzMCwxMSArMTM5LDExIEBAIGJvb2wg
VGVsZXBob25lTnVtYmVyT3ZlcmxheUNvbnRyb2xsZXI6Om1vdXNlRXZlbnQoUGFnZU92ZXJsYXkq
LCBjb25zdCBXZWJNb3VzZUV2CiAgICAgfQogICAgIAogICAgIC8vIENoZWNrIGFuZCBzZWUgaWYg
dGhlIG1vdXNlIG1vdmVkIHdpdGhpbiB0aGUgY29uZmluZXMgb2YgdGhlIEREIGhpZ2hsaWdodCBi
dXR0b24uCi0gICAgaWYgKGV2ZW50LnR5cGUoKSA9PSBXZWJFdmVudDo6TW91c2VNb3ZlICYmIGN1
cnJlbnRIaWdobGlnaHQpIHsKKyAgICBpZiAoZXZlbnQudHlwZSgpID09IFdlYkV2ZW50OjpNb3Vz
ZU1vdmUgJiYgY3VycmVudE51bWJlcikgewogICAgICAgICBCb29sZWFuIG9uQnV0dG9uOwogICAg
ICAgICAKICAgICAgICAgLy8gTW92aW5nIHdpdGggdGhlIG1vdXNlIGJ1dHRvbiBkb3duIGlzIG9r
YXkgYXMgbG9uZyBhcyB0aGUgbW91c2UgbmV2ZXIgbGVhdmVzIHRoZSBoaWdobGlnaHQgYnV0dG9u
LgotICAgICAgICBpZiAoRERIaWdobGlnaHRQb2ludElzT25IaWdobGlnaHQoY3VycmVudEhpZ2hs
aWdodC5nZXQoKSwgKENHUG9pbnQpbW91c2VQb3NpdGlvbiwgJm9uQnV0dG9uKSAmJiBvbkJ1dHRv
bikKKyAgICAgICAgaWYgKERESGlnaGxpZ2h0UG9pbnRJc09uSGlnaGxpZ2h0KGN1cnJlbnROdW1i
ZXItPmhpZ2hsaWdodCgpLCAoQ0dQb2ludCltb3VzZVBvc2l0aW9uLCAmb25CdXR0b24pICYmIG9u
QnV0dG9uKQogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgIAogICAgICAgICBjbGVh
ck1vdXNlRG93bkluZm9ybWF0aW9uKCk7CkBAIC0xNDQsMTMgKzE1MywxMyBAQCBib29sIFRlbGVw
aG9uZU51bWJlck92ZXJsYXlDb250cm9sbGVyOjptb3VzZUV2ZW50KFBhZ2VPdmVybGF5KiwgY29u
c3QgV2ViTW91c2VFdgogICAgIAogICAgIC8vIENoZWNrIGFuZCBzZWUgaWYgdGhlIG1vdXNlIHdl
bnQgZG93biBvdmVyIGEgREQgaGlnaGxpZ2h0IGJ1dHRvbi4KICAgICBpZiAoZXZlbnQudHlwZSgp
ID09IFdlYkV2ZW50OjpNb3VzZURvd24pIHsKLSAgICAgICAgQVNTRVJUKCFtX2N1cnJlbnRNb3Vz
ZURvd25IaWdobGlnaHQpOworICAgICAgICBBU1NFUlQoIW1fY3VycmVudE1vdXNlRG93bk51bWJl
cik7CiAgICAgICAgIAotICAgICAgICBmb3IgKGF1dG8mIGhpZ2hsaWdodCA6IG1faGlnaGxpZ2h0
cykgeworICAgICAgICBmb3IgKGF1dG8mIHRlbGVwaG9uZU51bWJlckRhdGEgOiBtX3RlbGVwaG9u
ZU51bWJlckRhdGFzKSB7CiAgICAgICAgICAgICBCb29sZWFuIG9uQnV0dG9uOwotICAgICAgICAg
ICAgaWYgKERESGlnaGxpZ2h0UG9pbnRJc09uSGlnaGxpZ2h0KGhpZ2hsaWdodC5nZXQoKSwgKENH
UG9pbnQpbW91c2VQb3NpdGlvbiwgJm9uQnV0dG9uKSAmJiBvbkJ1dHRvbikgeworICAgICAgICAg
ICAgaWYgKERESGlnaGxpZ2h0UG9pbnRJc09uSGlnaGxpZ2h0KHRlbGVwaG9uZU51bWJlckRhdGEt
PmhpZ2hsaWdodCgpLCAoQ0dQb2ludCltb3VzZVBvc2l0aW9uLCAmb25CdXR0b24pICYmIG9uQnV0
dG9uKSB7CiAgICAgICAgICAgICAgICAgbV9tb3VzZURvd25Qb3NpdGlvbiA9IG1vdXNlUG9zaXRp
b247Ci0gICAgICAgICAgICAgICAgbV9jdXJyZW50TW91c2VEb3duSGlnaGxpZ2h0ID0gaGlnaGxp
Z2h0OworICAgICAgICAgICAgICAgIG1fY3VycmVudE1vdXNlRG93bk51bWJlciA9IHRlbGVwaG9u
ZU51bWJlckRhdGE7CiAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgLy8gRklYTUU6
IFdlIG5lZWQgdG8gZG8gdGhlIGZvbGxvd2luZywgYnV0IFNPRlRfTElOSyBpc24ndCB3b3JraW5n
IGZvciB0aGlzIG1ldGhvZC4KICAgICAgICAgICAgICAgICAvLyBEREhpZ2hsaWdodFNldEJ1dHRv
blByZXNzZWQoaGlnaGxpZ2h0LmdldCgpLCB0cnVlKTsKQEAgLTE2OCwxNCArMTc3LDE0IEBAIGJv
b2wgVGVsZXBob25lTnVtYmVyT3ZlcmxheUNvbnRyb2xsZXI6Om1vdXNlRXZlbnQoUGFnZU92ZXJs
YXkqLCBjb25zdCBXZWJNb3VzZUV2CiAgICAgCiB2b2lkIFRlbGVwaG9uZU51bWJlck92ZXJsYXlD
b250cm9sbGVyOjpjbGVhck1vdXNlRG93bkluZm9ybWF0aW9uKCkKIHsKLSAgICBtX2N1cnJlbnRN
b3VzZURvd25IaWdobGlnaHQgPSBudWxscHRyOworICAgIG1fY3VycmVudE1vdXNlRG93bk51bWJl
ciA9IG51bGxwdHI7CiAgICAgbV9tb3VzZURvd25Qb3NpdGlvbiA9IEludFBvaW50KCk7CiB9CiAg
ICAgCiB2b2lkIFRlbGVwaG9uZU51bWJlck92ZXJsYXlDb250cm9sbGVyOjpjbGVhckhpZ2hsaWdo
dHMoKQogewotICAgIG1faGlnaGxpZ2h0cy5jbGVhcigpOyAgICAKLSAgICBtX2N1cnJlbnRNb3Vz
ZURvd25IaWdobGlnaHQgPSBudWxscHRyOworICAgIG1fdGVsZXBob25lTnVtYmVyRGF0YXMuY2xl
YXIoKTsKKyAgICBtX2N1cnJlbnRNb3VzZURvd25OdW1iZXIgPSBudWxscHRyOwogfQogICAgIAog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XZWJQ
YWdlTWFjLm1tIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XZWJQYWdl
TWFjLm1tCmluZGV4IDRmODUyZGIuLmY3MTlkOTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvV2ViUGFnZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dlYlBhZ2VNYWMubW0KQEAgLTk5NCw2ICs5OTQsMTMg
QEAgV2ViQ29yZTo6V2ViR0xMb2FkUG9saWN5IFdlYlBhZ2U6OnJlc29sdmVXZWJHTFBvbGljeUZv
clVSTChXZWJGcmFtZSogZnJhbWUsIGNvbnMKIH0KICNlbmRpZiAvLyBFTkFCTEUoV0VCR0wpCiAK
KyNpZiBFTkFCTEUoVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pCit2b2lkIFdlYlBhZ2U6Omhh
bmRsZVRlbGVwaG9uZU51bWJlckNsaWNrKGNvbnN0IFN0cmluZyYgbnVtYmVyLCBjb25zdCBJbnRQ
b2ludCYgcG9pbnQpCit7CisgICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpTaG93VGVs
ZXBob25lTnVtYmVyTWVudShudW1iZXIsIHBvaW50KSk7Cit9CisjZW5kaWYKKwogfSAvLyBuYW1l
c3BhY2UgV2ViS2l0CiAKICNlbmRpZiAvLyBQTEFURk9STShNQUMpCg==
</data>
<flag name="review"
          id="253077"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>