<?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>215341</bug_id>
          
          <creation_ts>2020-08-10 15:46:20 -0700</creation_ts>
          <short_desc>AuxiliaryProcess::didReceiveInvalidMessage() for WebPage::PerformDragControllerAction IPC</short_desc>
          <delta_ts>2020-08-10 17:26:13 -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>WebKit 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>
          
          <blocked>213093</blocked>
    
    <blocked>215349</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>ggaren</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1679219</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-08-10 15:46:20 -0700</bug_when>
    <thetext>AuxiliaryProcess::didReceiveInvalidMessage() for WebPage::PerformDragControllerAction IPC.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1679220</commentid>
    <comment_count>1</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-08-10 15:46:33 -0700</bug_when>
    <thetext>&lt;rdar://problem/59344091&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1679227</commentid>
    <comment_count>2</comment_count>
      <attachid>406335</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-08-10 16:06:53 -0700</bug_when>
    <thetext>Created attachment 406335
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1679234</commentid>
    <comment_count>3</comment_count>
      <attachid>406339</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-08-10 16:11:44 -0700</bug_when>
    <thetext>Created attachment 406339
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1679240</commentid>
    <comment_count>4</comment_count>
      <attachid>406341</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-08-10 16:17:38 -0700</bug_when>
    <thetext>Created attachment 406341
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1679241</commentid>
    <comment_count>5</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-08-10 16:19:48 -0700</bug_when>
    <thetext>Working on getting GTK/WPE building</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1679247</commentid>
    <comment_count>6</comment_count>
      <attachid>406341</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-08-10 16:33:05 -0700</bug_when>
    <thetext>Comment on attachment 406341
Patch

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

&gt; Tools/TestWebKitAPI/Tests/mac/DragAndDropTestsMac.mm:151
&gt; +    return [NSEvent mouseEventWithType:NSEventTypeLeftMouseDragged
&gt; +                location:NSMakePoint(0, 200)
&gt; +           modifierFlags:NSEventModifierFlagOption
&gt; +               timestamp:[NSDate timeIntervalSinceReferenceDate]
&gt; +            windowNumber:0
&gt; +                 context:nil
&gt; +             eventNumber:1
&gt; +              clickCount:1
&gt; +                pressure:1];

(Minor style nit - we should either make this all 1 line, or left align all the parameters)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1679248</commentid>
    <comment_count>7</comment_count>
      <attachid>406344</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-08-10 16:36:01 -0700</bug_when>
    <thetext>Created attachment 406344
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1679251</commentid>
    <comment_count>8</comment_count>
      <attachid>406344</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2020-08-10 16:42:58 -0700</bug_when>
    <thetext>Comment on attachment 406344
Patch

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

&gt; Source/WebCore/platform/DragData.h:62
&gt;      DragApplicationNone = 0,

Darin insisted I remove the &quot;None&quot; enums when switching to use OptionSet&lt;&gt;.  We don&apos;t need to do that for this patch, but I&apos;ll look at doing it as a follow-up (and covert DragApplicationFlags to an enum class).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1679254</commentid>
    <comment_count>9</comment_count>
      <attachid>406345</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2020-08-10 16:46:07 -0700</bug_when>
    <thetext>Created attachment 406345
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1679268</commentid>
    <comment_count>10</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-08-10 17:26:12 -0700</bug_when>
    <thetext>Committed r265480: &lt;https://trac.webkit.org/changeset/265480&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 406345.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>406335</attachid>
            <date>2020-08-10 16:06:53 -0700</date>
            <delta_ts>2020-08-10 16:11:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-215341-20200810160652.patch</filename>
            <type>text/plain</type>
            <size>22029</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY1NDM5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDkyNTZkODZlZmQ2Yzlh
NDU5YjA1Nzg0YjIwMDJmZTk5MTViOTM5Yy4uMGJhZDI0ZjcwNDIyYjg3NjJkZDI0NTFkOTg0ODQ1
Y2Q0NjJmMmQyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDIwLTA4LTEwICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQXV4aWxpYXJ5UHJvY2Vzczo6
ZGlkUmVjZWl2ZUludmFsaWRNZXNzYWdlKCkgZm9yIFdlYlBhZ2U6OlBlcmZvcm1EcmFnQ29udHJv
bGxlckFjdGlvbiBJUEMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIxNTM0MQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTkzNDQwOTE+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ29uc2lzdGVudGx5IHVz
ZSBPcHRpb25TZXQ8RHJhZ0FwcGxpY2F0aW9uRmxhZ3M+IGluc3RlYWQgb2YgRHJhZ0FwcGxpY2F0
aW9uRmxhZ3MuCisKKyAgICAgICAgKiBwYWdlL2d0ay9EcmFnQ29udHJvbGxlckd0ay5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpEcmFnQ29udHJvbGxlcjo6aXNDb3B5S2V5RG93bik6CisgICAgICAg
ICogcGFnZS9tYWMvRHJhZ0NvbnRyb2xsZXJNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpEcmFn
Q29udHJvbGxlcjo6aXNDb3B5S2V5RG93bik6CisgICAgICAgIChXZWJDb3JlOjpEcmFnQ29udHJv
bGxlcjo6ZHJhZ09wZXJhdGlvbik6CisgICAgICAgICogcGxhdGZvcm0vRHJhZ0RhdGEuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RHJhZ0RhdGE6OkRyYWdEYXRhKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9EcmFnRGF0YS5oOgorICAgICAgICAoV2ViQ29yZTo6RHJhZ0RhdGE6OmZsYWdzIGNvbnN0KToK
KyAgICAgICAgKiBwbGF0Zm9ybS9jb2NvYS9EcmFnRGF0YUNvY29hLm1tOgorICAgICAgICAoV2Vi
Q29yZTo6RHJhZ0RhdGE6OkRyYWdEYXRhKToKKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vRHJhZ0Rh
dGFXaW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6RHJhZ0RhdGE6OkRyYWdEYXRhKToKKwogMjAy
MC0wOC0xMCAgRXJpYyBDYXJsc29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KIAogICAgICAg
ICByMjYyNDU2IGJyb2tlIHNpdGVzIHRoYXQgZXhwZWN0IHdlYmtpdERpc3BsYXlpbmdGdWxsc2Ny
ZWVuIHRvIGJlIHRydWUgYWxtb3N0IGltbWVkaWF0ZWx5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDM3ZmU4MWI5Y2Q3
MWY3MzA1NGVhY2FhYjI5MDNmN2ZmZWM3NTFmYjEuLjlhNzgzMTc1YzM2OWYyNjg0MzNjODNlMjMx
ZmMwNGNkZDYyMWRhYjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMjAtMDgtMTAgIENo
cmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBBdXhpbGlhcnlQcm9jZXNz
OjpkaWRSZWNlaXZlSW52YWxpZE1lc3NhZ2UoKSBmb3IgV2ViUGFnZTo6UGVyZm9ybURyYWdDb250
cm9sbGVyQWN0aW9uIElQQworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjE1MzQxCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81OTM0NDA5MT4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEcmFnQXBwbGljYXRp
b25GbGFncyBpcyBhbiBlbnVtIGNvbnRhaW5pbmcgZmxhZ3MuIEl0IHdhcyBiZWluZyBzZW50IG92
ZXIgSVBDIGFzIGEgRHJhZ0FwcGxpY2F0aW9uRmxhZ3MKKyAgICAgICAgaW5zdGVhZCBvZiBhbiBP
cHRpb25TZXQ8RHJhZ0FwcGxpY2F0aW9uRmxhZ3M+LCBhbmQgdGh1cyB3b3VsZCBmYWlsIGVudW0g
dmFsdWUgdmFsaWRhdGlvbiB3aGVuIGRlY29kaW5nCisgICAgICAgIHdoZW4gbW9yZSB0aGFuIG9u
ZSBmbGFnIGlzIHNldC4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5Ogor
ICAgICAgICAqIFNoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwOgorICAgICAgICAoSVBD
OjpBcmd1bWVudENvZGVyPERyYWdEYXRhPjo6ZGVjb2RlKToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
Q29jb2EvV2ViVmlld0ltcGwubW06CisgICAgICAgIChXZWJLaXQ6OmFwcGxpY2F0aW9uRmxhZ3NG
b3JEcmFnKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYlBhZ2U6OnBlcmZvcm1EcmFnQ29udHJvbGxlckFjdGlvbik6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbjoKKwogMjAyMC0wOC0xMCAgU2lodWkgTGl1ICA8
c2lodWlfbGl1QGFwcGxlLmNvbT4KIAogICAgICAgICBBbHdheXMgc3VzcGVuZCBJREIgd29yayB3
aGVuIG5ldHdvcmsgcHJvY2VzcyBpcyBwcmVwYXJlZCB0byBzdXNwZW5kCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL2d0ay9EcmFnQ29udHJvbGxlckd0ay5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL2d0ay9EcmFnQ29udHJvbGxlckd0ay5jcHAKaW5kZXggNjYwYmE5NWU0ZTIxMDIw
NDMyZTY4YWY0YWM4YjMwNjUwY2EzNTYzYy4uNGI2MTIwZDMyYmM3OGRjNDRiYzNhOWZlZDg3YTFi
MDEwYzM3NzlhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ndGsvRHJhZ0NvbnRy
b2xsZXJHdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvZ3RrL0RyYWdDb250cm9sbGVy
R3RrLmNwcApAQCAtNDcsNyArNDcsNyBAQCBjb25zdCBmbG9hdCBEcmFnQ29udHJvbGxlcjo6RHJh
Z0ltYWdlQWxwaGEgPSAwLjc1ZjsKIAogYm9vbCBEcmFnQ29udHJvbGxlcjo6aXNDb3B5S2V5RG93
bihjb25zdCBEcmFnRGF0YSYgZHJhZ0RhdGEpCiB7Ci0gICAgcmV0dXJuIGRyYWdEYXRhLmZsYWdz
KCkgJiBEcmFnQXBwbGljYXRpb25Jc0NvcHlLZXlEb3duOworICAgIHJldHVybiBkcmFnRGF0YS5m
bGFncygpLmNvbnRhaW5zKERyYWdBcHBsaWNhdGlvbklzQ29weUtleURvd24pOwogfQogCiBPcHRp
b25hbDxEcmFnT3BlcmF0aW9uPiBEcmFnQ29udHJvbGxlcjo6ZHJhZ09wZXJhdGlvbihjb25zdCBE
cmFnRGF0YSYgZHJhZ0RhdGEpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9E
cmFnQ29udHJvbGxlck1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL0RyYWdDb250cm9s
bGVyTWFjLm1tCmluZGV4IDE1ZmU1OTBlM2I1ZGNjOWI4ZmVmYjFlMjIzZjUwNjU0ZWViOTg2MDku
LjdlNDZhYzQ4OTc2NmUxYjZjOTdhZWM4Mjc0ZDY0Y2E1MGU4MzVlZWQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvbWFjL0RyYWdDb250cm9sbGVyTWFjLm1tCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvbWFjL0RyYWdDb250cm9sbGVyTWFjLm1tCkBAIC02MSwxMiArNjEsMTIgQEAg
Y29uc3QgZmxvYXQgRHJhZ0NvbnRyb2xsZXI6OkRyYWdJbWFnZUFscGhhID0gMC43NWY7CiAKIGJv
b2wgRHJhZ0NvbnRyb2xsZXI6OmlzQ29weUtleURvd24oY29uc3QgRHJhZ0RhdGEmIGRyYWdEYXRh
KQogewotICAgIHJldHVybiBkcmFnRGF0YS5mbGFncygpICYgRHJhZ0FwcGxpY2F0aW9uSXNDb3B5
S2V5RG93bjsKKyAgICByZXR1cm4gZHJhZ0RhdGEuZmxhZ3MoKS5jb250YWlucyhEcmFnQXBwbGlj
YXRpb25Jc0NvcHlLZXlEb3duKTsKIH0KICAgICAKIE9wdGlvbmFsPERyYWdPcGVyYXRpb24+IERy
YWdDb250cm9sbGVyOjpkcmFnT3BlcmF0aW9uKGNvbnN0IERyYWdEYXRhJiBkcmFnRGF0YSkKIHsK
LSAgICBpZiAoZHJhZ0RhdGEuZmxhZ3MoKSAmIERyYWdBcHBsaWNhdGlvbklzTW9kYWwpCisgICAg
aWYgKGRyYWdEYXRhLmZsYWdzKCkuY29udGFpbnMoRHJhZ0FwcGxpY2F0aW9uSXNNb2RhbCkpCiAg
ICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiAKICAgICBib29sIG1heUNvbnRhaW5VUkw7CkBA
IC03OCw3ICs3OCw3IEBAIE9wdGlvbmFsPERyYWdPcGVyYXRpb24+IERyYWdDb250cm9sbGVyOjpk
cmFnT3BlcmF0aW9uKGNvbnN0IERyYWdEYXRhJiBkcmFnRGF0YSkKICAgICBpZiAoIW1heUNvbnRh
aW5VUkwgJiYgIWRyYWdEYXRhLmNvbnRhaW5zUHJvbWlzZSgpKQogICAgICAgICByZXR1cm4gV1RG
OjpudWxsb3B0OwogCi0gICAgaWYgKCFtX2RvY3VtZW50VW5kZXJNb3VzZSB8fCAoIShkcmFnRGF0
YS5mbGFncygpICYgKERyYWdBcHBsaWNhdGlvbkhhc0F0dGFjaGVkU2hlZXQgfCBEcmFnQXBwbGlj
YXRpb25Jc1NvdXJjZSkpKSkKKyAgICBpZiAoIW1fZG9jdW1lbnRVbmRlck1vdXNlIHx8ICghKGRy
YWdEYXRhLmZsYWdzKCkuY29udGFpbnNBbGwoeyBEcmFnQXBwbGljYXRpb25IYXNBdHRhY2hlZFNo
ZWV0LCBEcmFnQXBwbGljYXRpb25Jc1NvdXJjZSB9KSkpKQogICAgICAgICByZXR1cm4gRHJhZ09w
ZXJhdGlvbjo6Q29weTsKIAogICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9EcmFnRGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9EcmFnRGF0YS5jcHAKaW5kZXggZThjNDBmNTU5MDJkOTNhNWE4NzJhYzBlZTBmZGFjYzNm
OWVkMmZjNi4uYzI3ZmQwZjZlYTFmNzAwNzliMGNlMGRlMWQxYTYzZWY4ZTJjZmM5NCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRHJhZ0RhdGEuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL0RyYWdEYXRhLmNwcApAQCAtMzIsNyArMzIsNyBAQAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCiAjaWYgIVBMQVRGT1JNKENPQ09BKQotRHJhZ0RhdGE6OkRyYWdEYXRhKERy
YWdEYXRhUmVmIGRhdGEsIGNvbnN0IEludFBvaW50JiBjbGllbnRQb3NpdGlvbiwgY29uc3QgSW50
UG9pbnQmIGdsb2JhbFBvc2l0aW9uLCBPcHRpb25TZXQ8RHJhZ09wZXJhdGlvbj4gc291cmNlT3Bl
cmF0aW9uTWFzaywgRHJhZ0FwcGxpY2F0aW9uRmxhZ3MgZmxhZ3MsIE9wdGlvblNldDxEcmFnRGVz
dGluYXRpb25BY3Rpb24+IGRlc3RpbmF0aW9uQWN0aW9uTWFzaykKK0RyYWdEYXRhOjpEcmFnRGF0
YShEcmFnRGF0YVJlZiBkYXRhLCBjb25zdCBJbnRQb2ludCYgY2xpZW50UG9zaXRpb24sIGNvbnN0
IEludFBvaW50JiBnbG9iYWxQb3NpdGlvbiwgT3B0aW9uU2V0PERyYWdPcGVyYXRpb24+IHNvdXJj
ZU9wZXJhdGlvbk1hc2ssIE9wdGlvblNldDxEcmFnQXBwbGljYXRpb25GbGFncz4gZmxhZ3MsIE9w
dGlvblNldDxEcmFnRGVzdGluYXRpb25BY3Rpb24+IGRlc3RpbmF0aW9uQWN0aW9uTWFzaykKICAg
ICA6IG1fY2xpZW50UG9zaXRpb24oY2xpZW50UG9zaXRpb24pCiAgICAgLCBtX2dsb2JhbFBvc2l0
aW9uKGdsb2JhbFBvc2l0aW9uKQogICAgICwgbV9wbGF0Zm9ybURyYWdEYXRhKGRhdGEpCkBAIC00
Miw3ICs0Miw3IEBAIERyYWdEYXRhOjpEcmFnRGF0YShEcmFnRGF0YVJlZiBkYXRhLCBjb25zdCBJ
bnRQb2ludCYgY2xpZW50UG9zaXRpb24sIGNvbnN0IEludFBvCiB7ICAKIH0KIAotRHJhZ0RhdGE6
OkRyYWdEYXRhKGNvbnN0IFN0cmluZyYsIGNvbnN0IEludFBvaW50JiBjbGllbnRQb3NpdGlvbiwg
Y29uc3QgSW50UG9pbnQmIGdsb2JhbFBvc2l0aW9uLCBPcHRpb25TZXQ8RHJhZ09wZXJhdGlvbj4g
c291cmNlT3BlcmF0aW9uTWFzaywgRHJhZ0FwcGxpY2F0aW9uRmxhZ3MgZmxhZ3MsIE9wdGlvblNl
dDxEcmFnRGVzdGluYXRpb25BY3Rpb24+IGRlc3RpbmF0aW9uQWN0aW9uTWFzaykKK0RyYWdEYXRh
OjpEcmFnRGF0YShjb25zdCBTdHJpbmcmLCBjb25zdCBJbnRQb2ludCYgY2xpZW50UG9zaXRpb24s
IGNvbnN0IEludFBvaW50JiBnbG9iYWxQb3NpdGlvbiwgT3B0aW9uU2V0PERyYWdPcGVyYXRpb24+
IHNvdXJjZU9wZXJhdGlvbk1hc2ssIE9wdGlvblNldDxEcmFnQXBwbGljYXRpb25GbGFncz4gZmxh
Z3MsIE9wdGlvblNldDxEcmFnRGVzdGluYXRpb25BY3Rpb24+IGRlc3RpbmF0aW9uQWN0aW9uTWFz
aykKICAgICA6IG1fY2xpZW50UG9zaXRpb24oY2xpZW50UG9zaXRpb24pCiAgICAgLCBtX2dsb2Jh
bFBvc2l0aW9uKGdsb2JhbFBvc2l0aW9uKQogICAgICwgbV9wbGF0Zm9ybURyYWdEYXRhKDApCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9EcmFnRGF0YS5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vRHJhZ0RhdGEuaAppbmRleCA0ZTUzZTYzMzM3NDg2MWZkMzE3MTI4NWI1
YzVlOTFmNjgxMDIzZTBiLi43NzMyY2EzNWRjYzAzY2RkY2Y1MTI5MjFiOTA2MjU5MWRiMjQwNGE1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9EcmFnRGF0YS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL0RyYWdEYXRhLmgKQEAgLTc2LDIwICs3NiwyMCBAQCBwdWJs
aWM6CiAgICAgZW51bSBjbGFzcyBEcmFnZ2luZ1B1cnBvc2UgeyBGb3JFZGl0aW5nLCBGb3JGaWxl
VXBsb2FkLCBGb3JDb2xvckNvbnRyb2wgfTsKIAogICAgIC8vIGNsaWVudFBvc2l0aW9uIGlzIHRh
a2VuIHRvIGJlIHRoZSBwb3NpdGlvbiBvZiB0aGUgZHJhZyBldmVudCB3aXRoaW4gdGhlIHRhcmdl
dCB3aW5kb3csIHdpdGggKDAsMCkgYXQgdGhlIHRvcCBsZWZ0Ci0gICAgV0VCQ09SRV9FWFBPUlQg
RHJhZ0RhdGEoRHJhZ0RhdGFSZWYsIGNvbnN0IEludFBvaW50JiBjbGllbnRQb3NpdGlvbiwgY29u
c3QgSW50UG9pbnQmIGdsb2JhbFBvc2l0aW9uLCBPcHRpb25TZXQ8RHJhZ09wZXJhdGlvbj4sIERy
YWdBcHBsaWNhdGlvbkZsYWdzID0gRHJhZ0FwcGxpY2F0aW9uTm9uZSwgT3B0aW9uU2V0PERyYWdE
ZXN0aW5hdGlvbkFjdGlvbj4gPSBhbnlEcmFnRGVzdGluYXRpb25BY3Rpb24oKSk7Ci0gICAgV0VC
Q09SRV9FWFBPUlQgRHJhZ0RhdGEoY29uc3QgU3RyaW5nJiBkcmFnU3RvcmFnZU5hbWUsIGNvbnN0
IEludFBvaW50JiBjbGllbnRQb3NpdGlvbiwgY29uc3QgSW50UG9pbnQmIGdsb2JhbFBvc2l0aW9u
LCBPcHRpb25TZXQ8RHJhZ09wZXJhdGlvbj4sIERyYWdBcHBsaWNhdGlvbkZsYWdzID0gRHJhZ0Fw
cGxpY2F0aW9uTm9uZSwgT3B0aW9uU2V0PERyYWdEZXN0aW5hdGlvbkFjdGlvbj4gPSBhbnlEcmFn
RGVzdGluYXRpb25BY3Rpb24oKSk7CisgICAgV0VCQ09SRV9FWFBPUlQgRHJhZ0RhdGEoRHJhZ0Rh
dGFSZWYsIGNvbnN0IEludFBvaW50JiBjbGllbnRQb3NpdGlvbiwgY29uc3QgSW50UG9pbnQmIGds
b2JhbFBvc2l0aW9uLCBPcHRpb25TZXQ8RHJhZ09wZXJhdGlvbj4sIE9wdGlvblNldDxEcmFnQXBw
bGljYXRpb25GbGFncz4gPSBEcmFnQXBwbGljYXRpb25Ob25lLCBPcHRpb25TZXQ8RHJhZ0Rlc3Rp
bmF0aW9uQWN0aW9uPiA9IGFueURyYWdEZXN0aW5hdGlvbkFjdGlvbigpKTsKKyAgICBXRUJDT1JF
X0VYUE9SVCBEcmFnRGF0YShjb25zdCBTdHJpbmcmIGRyYWdTdG9yYWdlTmFtZSwgY29uc3QgSW50
UG9pbnQmIGNsaWVudFBvc2l0aW9uLCBjb25zdCBJbnRQb2ludCYgZ2xvYmFsUG9zaXRpb24sIE9w
dGlvblNldDxEcmFnT3BlcmF0aW9uPiwgT3B0aW9uU2V0PERyYWdBcHBsaWNhdGlvbkZsYWdzPiA9
IERyYWdBcHBsaWNhdGlvbk5vbmUsIE9wdGlvblNldDxEcmFnRGVzdGluYXRpb25BY3Rpb24+ID0g
YW55RHJhZ0Rlc3RpbmF0aW9uQWN0aW9uKCkpOwogICAgIC8vIFRoaXMgY29uc3RydWN0b3Igc2hv
dWxkIHVzZWQgb25seSBieSBXZWJLaXQyIElQQyBiZWNhdXNlIERyYWdEYXRhCiAgICAgLy8gaXMg
aW5pdGlhbGl6ZWQgYnkgdGhlIGRlY29kZXIgYW5kIG5vdCBpbiB0aGUgY29uc3RydWN0b3IuCiAg
ICAgRHJhZ0RhdGEoKSA9IGRlZmF1bHQ7CiAjaWYgUExBVEZPUk0oV0lOKQotICAgIFdFQkNPUkVf
RVhQT1JUIERyYWdEYXRhKGNvbnN0IERyYWdEYXRhTWFwJiwgY29uc3QgSW50UG9pbnQmIGNsaWVu
dFBvc2l0aW9uLCBjb25zdCBJbnRQb2ludCYgZ2xvYmFsUG9zaXRpb24sIE9wdGlvblNldDxEcmFn
T3BlcmF0aW9uPiBzb3VyY2VPcGVyYXRpb25NYXNrLCBEcmFnQXBwbGljYXRpb25GbGFncyA9IERy
YWdBcHBsaWNhdGlvbk5vbmUpOworICAgIFdFQkNPUkVfRVhQT1JUIERyYWdEYXRhKGNvbnN0IERy
YWdEYXRhTWFwJiwgY29uc3QgSW50UG9pbnQmIGNsaWVudFBvc2l0aW9uLCBjb25zdCBJbnRQb2lu
dCYgZ2xvYmFsUG9zaXRpb24sIE9wdGlvblNldDxEcmFnT3BlcmF0aW9uPiBzb3VyY2VPcGVyYXRp
b25NYXNrLCBPcHRpb25TZXQ8RHJhZ0FwcGxpY2F0aW9uRmxhZ3M+ID0gRHJhZ0FwcGxpY2F0aW9u
Tm9uZSk7CiAgICAgY29uc3QgRHJhZ0RhdGFNYXAmIGRyYWdEYXRhTWFwKCk7CiAgICAgdm9pZCBn
ZXREcmFnRmlsZURlc2NyaXB0b3JEYXRhKGludCYgc2l6ZSwgU3RyaW5nJiBwYXRobmFtZSk7CiAg
ICAgdm9pZCBnZXREcmFnRmlsZUNvbnRlbnREYXRhKGludCBzaXplLCB2b2lkKiBkYXRhQmxvYik7
CiAjZW5kaWYKICAgICBjb25zdCBJbnRQb2ludCYgY2xpZW50UG9zaXRpb24oKSBjb25zdCB7IHJl
dHVybiBtX2NsaWVudFBvc2l0aW9uOyB9CiAgICAgY29uc3QgSW50UG9pbnQmIGdsb2JhbFBvc2l0
aW9uKCkgY29uc3QgeyByZXR1cm4gbV9nbG9iYWxQb3NpdGlvbjsgfQotICAgIERyYWdBcHBsaWNh
dGlvbkZsYWdzIGZsYWdzKCkgY29uc3QgeyByZXR1cm4gbV9hcHBsaWNhdGlvbkZsYWdzOyB9Cisg
ICAgT3B0aW9uU2V0PERyYWdBcHBsaWNhdGlvbkZsYWdzPiBmbGFncygpIGNvbnN0IHsgcmV0dXJu
IG1fYXBwbGljYXRpb25GbGFnczsgfQogICAgIERyYWdEYXRhUmVmIHBsYXRmb3JtRGF0YSgpIGNv
bnN0IHsgcmV0dXJuIG1fcGxhdGZvcm1EcmFnRGF0YTsgfQogICAgIE9wdGlvblNldDxEcmFnT3Bl
cmF0aW9uPiBkcmFnZ2luZ1NvdXJjZU9wZXJhdGlvbk1hc2soKSBjb25zdCB7IHJldHVybiBtX2Ry
YWdnaW5nU291cmNlT3BlcmF0aW9uTWFzazsgfQogICAgIGJvb2wgY29udGFpbnNVUkwoRmlsZW5h
bWVDb252ZXJzaW9uUG9saWN5ID0gQ29udmVydEZpbGVuYW1lcykgY29uc3Q7CkBAIC0xMzEsNyAr
MTMxLDcgQEAgcHJpdmF0ZToKICAgICBJbnRQb2ludCBtX2dsb2JhbFBvc2l0aW9uOwogICAgIERy
YWdEYXRhUmVmIG1fcGxhdGZvcm1EcmFnRGF0YTsKICAgICBPcHRpb25TZXQ8RHJhZ09wZXJhdGlv
bj4gbV9kcmFnZ2luZ1NvdXJjZU9wZXJhdGlvbk1hc2s7Ci0gICAgRHJhZ0FwcGxpY2F0aW9uRmxh
Z3MgbV9hcHBsaWNhdGlvbkZsYWdzOworICAgIE9wdGlvblNldDxEcmFnQXBwbGljYXRpb25GbGFn
cz4gbV9hcHBsaWNhdGlvbkZsYWdzOwogICAgIFZlY3RvcjxTdHJpbmc+IG1fZmlsZU5hbWVzOwog
ICAgIE9wdGlvblNldDxEcmFnRGVzdGluYXRpb25BY3Rpb24+IG1fZHJhZ0Rlc3RpbmF0aW9uQWN0
aW9uTWFzazsKICNpZiBQTEFURk9STShDT0NPQSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2NvY29hL0RyYWdEYXRhQ29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9jb2NvYS9EcmFnRGF0YUNvY29hLm1tCmluZGV4IDNhMTI4OWQ0YmNjNTYwOTZhZGVmZDA1ODAw
NzQzZWQwOWM2NGM2Y2UuLjdlYmVlN2Y4ODIzMDc3YWMxZmUxYzM5ODlmZTM4ZGNkOWViMjFiOTcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL0RyYWdEYXRhQ29jb2Eu
bW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvRHJhZ0RhdGFDb2NvYS5tbQpA
QCAtMTE2LDcgKzExNiw3IEBAIHN0YXRpYyBpbmxpbmUgU3RyaW5nIHRpZmZQYXN0ZWJvYXJkVHlw
ZSgpCiAjZW5kaWYKIH0KIAotRHJhZ0RhdGE6OkRyYWdEYXRhKERyYWdEYXRhUmVmIGRhdGEsIGNv
bnN0IEludFBvaW50JiBjbGllbnRQb3NpdGlvbiwgY29uc3QgSW50UG9pbnQmIGdsb2JhbFBvc2l0
aW9uLCBPcHRpb25TZXQ8RHJhZ09wZXJhdGlvbj4gc291cmNlT3BlcmF0aW9uTWFzaywgRHJhZ0Fw
cGxpY2F0aW9uRmxhZ3MgZmxhZ3MsIE9wdGlvblNldDxEcmFnRGVzdGluYXRpb25BY3Rpb24+IGRl
c3RpbmF0aW9uQWN0aW9uTWFzaykKK0RyYWdEYXRhOjpEcmFnRGF0YShEcmFnRGF0YVJlZiBkYXRh
LCBjb25zdCBJbnRQb2ludCYgY2xpZW50UG9zaXRpb24sIGNvbnN0IEludFBvaW50JiBnbG9iYWxQ
b3NpdGlvbiwgT3B0aW9uU2V0PERyYWdPcGVyYXRpb24+IHNvdXJjZU9wZXJhdGlvbk1hc2ssIE9w
dGlvblNldDxEcmFnQXBwbGljYXRpb25GbGFncz4gZmxhZ3MsIE9wdGlvblNldDxEcmFnRGVzdGlu
YXRpb25BY3Rpb24+IGRlc3RpbmF0aW9uQWN0aW9uTWFzaykKICAgICA6IG1fY2xpZW50UG9zaXRp
b24oY2xpZW50UG9zaXRpb24pCiAgICAgLCBtX2dsb2JhbFBvc2l0aW9uKGdsb2JhbFBvc2l0aW9u
KQogICAgICwgbV9wbGF0Zm9ybURyYWdEYXRhKGRhdGEpCkBAIC0xMzEsNyArMTMxLDcgQEAgRHJh
Z0RhdGE6OkRyYWdEYXRhKERyYWdEYXRhUmVmIGRhdGEsIGNvbnN0IEludFBvaW50JiBjbGllbnRQ
b3NpdGlvbiwgY29uc3QgSW50UG8KIHsKIH0KIAotRHJhZ0RhdGE6OkRyYWdEYXRhKGNvbnN0IFN0
cmluZyYgZHJhZ1N0b3JhZ2VOYW1lLCBjb25zdCBJbnRQb2ludCYgY2xpZW50UG9zaXRpb24sIGNv
bnN0IEludFBvaW50JiBnbG9iYWxQb3NpdGlvbiwgT3B0aW9uU2V0PERyYWdPcGVyYXRpb24+IHNv
dXJjZU9wZXJhdGlvbk1hc2ssIERyYWdBcHBsaWNhdGlvbkZsYWdzIGZsYWdzLCBPcHRpb25TZXQ8
RHJhZ0Rlc3RpbmF0aW9uQWN0aW9uPiBkZXN0aW5hdGlvbkFjdGlvbk1hc2spCitEcmFnRGF0YTo6
RHJhZ0RhdGEoY29uc3QgU3RyaW5nJiBkcmFnU3RvcmFnZU5hbWUsIGNvbnN0IEludFBvaW50JiBj
bGllbnRQb3NpdGlvbiwgY29uc3QgSW50UG9pbnQmIGdsb2JhbFBvc2l0aW9uLCBPcHRpb25TZXQ8
RHJhZ09wZXJhdGlvbj4gc291cmNlT3BlcmF0aW9uTWFzaywgT3B0aW9uU2V0PERyYWdBcHBsaWNh
dGlvbkZsYWdzPiBmbGFncywgT3B0aW9uU2V0PERyYWdEZXN0aW5hdGlvbkFjdGlvbj4gZGVzdGlu
YXRpb25BY3Rpb25NYXNrKQogICAgIDogbV9jbGllbnRQb3NpdGlvbihjbGllbnRQb3NpdGlvbikK
ICAgICAsIG1fZ2xvYmFsUG9zaXRpb24oZ2xvYmFsUG9zaXRpb24pCiAgICAgLCBtX3BsYXRmb3Jt
RHJhZ0RhdGEoMCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9EcmFn
RGF0YVdpbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vRHJhZ0RhdGFXaW4uY3Bw
CmluZGV4IDE4ODcwZjIyNzUyODdiOTdkYWEzOWU4MDNiYzdlMmIzOGU1ZWY0MDIuLjYxZWE0YzQ3
ZmEzNTIyNTg4ZjgzYTY4NmQ4NWM3N2MxNDI5MDljMjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL3dpbi9EcmFnRGF0YVdpbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vd2luL0RyYWdEYXRhV2luLmNwcApAQCAtNDEsNyArNDEsNyBAQAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCiBEcmFnRGF0YTo6RHJhZ0RhdGEoY29uc3QgRHJhZ0RhdGFNYXAmIGRhdGEsIGNv
bnN0IEludFBvaW50JiBjbGllbnRQb3NpdGlvbiwgY29uc3QgSW50UG9pbnQmIGdsb2JhbFBvc2l0
aW9uLAotICAgIE9wdGlvblNldDxEcmFnT3BlcmF0aW9uPiBzb3VyY2VPcGVyYXRpb25NYXNrLCBE
cmFnQXBwbGljYXRpb25GbGFncyBmbGFncykKKyAgICBPcHRpb25TZXQ8RHJhZ09wZXJhdGlvbj4g
c291cmNlT3BlcmF0aW9uTWFzaywgT3B0aW9uU2V0PERyYWdBcHBsaWNhdGlvbkZsYWdzPiBmbGFn
cykKICAgICA6IG1fY2xpZW50UG9zaXRpb24oY2xpZW50UG9zaXRpb24pCiAgICAgLCBtX2dsb2Jh
bFBvc2l0aW9uKGdsb2JhbFBvc2l0aW9uKQogICAgICwgbV9wbGF0Zm9ybURyYWdEYXRhKDApCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5IGIvU291
cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weQppbmRleCAxODNhYTQ5YmRlZWYy
ZGJkYzg0ZDNkYTJiMjc3ODRlYzNlYmRjNjIzLi5lOWRhZTllNTNjNTAyZDdjZjhjNzQ0YjFhOWFm
NWJkNWE0YjI3MWNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21l
c3NhZ2VzLnB5CisrKyBiL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHkK
QEAgLTIwNyw2ICsyMDcsNyBAQCBkZWYgdHlwZXNfdGhhdF9jYW5ub3RfYmVfZm9yd2FyZF9kZWNs
YXJlZCgpOgogICAgICAgICAnU3RyaW5nJywKICAgICAgICAgJ1dlYkNvcmU6OkNvbG9yU3BhY2Un
LAogICAgICAgICAnV2ViQ29yZTo6RGljdGF0aW9uQ29udGV4dCcsCisgICAgICAgICdXZWJDb3Jl
OjpEcmFnQXBwbGljYXRpb25GbGFncycsCiAgICAgICAgICdXZWJDb3JlOjpEb2N1bWVudElkZW50
aWZpZXInLAogICAgICAgICAnV2ViQ29yZTo6RG9jdW1lbnRPcldvcmtlcklkZW50aWZpZXInLAog
ICAgICAgICAnV2ViQ29yZTo6RmV0Y2hJZGVudGlmaWVyJywKQEAgLTU5MSw2ICs1OTIsNyBAQCBk
ZWYgaGVhZGVyc19mb3JfdHlwZSh0eXBlKToKICAgICAgICAgJ1dlYkNvcmU6OkRPTVBhc3RlQWNj
ZXNzUmVzcG9uc2UnOiBbJzxXZWJDb3JlL0RPTVBhc3RlQWNjZXNzLmg+J10sCiAgICAgICAgICdX
ZWJDb3JlOjpEb2N1bWVudE9yV29ya2VySWRlbnRpZmllcic6IFsnPFdlYkNvcmUvU2VydmljZVdv
cmtlclR5cGVzLmg+J10sCiAgICAgICAgICdXZWJLaXQ6OkRvY3VtZW50RWRpdGluZ0NvbnRleHRS
ZXF1ZXN0JzogWyciRG9jdW1lbnRFZGl0aW5nQ29udGV4dC5oIiddLAorICAgICAgICAnV2ViQ29y
ZTo6RHJhZ0FwcGxpY2F0aW9uRmxhZ3MnOiBbJzxXZWJDb3JlL0RyYWdEYXRhLmg+J10sCiAgICAg
ICAgICdXZWJDb3JlOjpEcmFnSGFuZGxpbmdNZXRob2QnOiBbJzxXZWJDb3JlL0RyYWdBY3Rpb25z
Lmg+J10sCiAgICAgICAgICdXZWJDb3JlOjpEcmFnT3BlcmF0aW9uJzogWyc8V2ViQ29yZS9EcmFn
QWN0aW9ucy5oPiddLAogICAgICAgICAnV2ViQ29yZTo6RHJhZ1NvdXJjZUFjdGlvbic6IFsnPFdl
YkNvcmUvRHJhZ0FjdGlvbnMuaD4nXSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJDb3Jl
QXJndW1lbnRDb2RlcnMuY3BwCmluZGV4IDQwZGYwZDFlZjc1MjM4OTFkNTVlY2NjMzMxZWY3ZTE3
ODRhMWZhZDQuLjQ0YjAzNGI5ODE4N2UzNTNiMDc0YzIxZmM1NjAxNWY2ZTY4M2MyN2MgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcApAQCAtMTU1
NCw3ICsxNTU0LDcgQEAgYm9vbCBBcmd1bWVudENvZGVyPERyYWdEYXRhPjo6ZGVjb2RlKERlY29k
ZXImIGRlY29kZXIsIERyYWdEYXRhJiBkcmFnRGF0YSkKICAgICBpZiAoIWRlY29kZXIuZGVjb2Rl
KGRyYWdnaW5nU291cmNlT3BlcmF0aW9uTWFzaykpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAot
ICAgIERyYWdBcHBsaWNhdGlvbkZsYWdzIGFwcGxpY2F0aW9uRmxhZ3M7CisgICAgT3B0aW9uU2V0
PERyYWdBcHBsaWNhdGlvbkZsYWdzPiBhcHBsaWNhdGlvbkZsYWdzOwogICAgIGlmICghZGVjb2Rl
ci5kZWNvZGUoYXBwbGljYXRpb25GbGFncykpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwubW0gYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5tbQppbmRleCAwZjllOGZj
ZGU1ZTUxMzdiNjg3NDY4NjIxZWQ2ZjVjNTRkNzIwYTVkLi5hYjFmYzYyMjFlODYzZTQxZmE0YjEz
YzMxY2FmNmU4NGFmZmQ5ZDAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9D
b2NvYS9XZWJWaWV3SW1wbC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9X
ZWJWaWV3SW1wbC5tbQpAQCAtMzkyOSwxOSArMzkyOSwxOSBAQCB2b2lkIFdlYlZpZXdJbXBsOjpz
ZW5kRHJhZ0VuZFRvUGFnZShDR1BvaW50IGVuZFBvaW50LCBOU0RyYWdPcGVyYXRpb24gZHJhZ09w
ZXJhdAogICAgIG1fcGFnZS0+ZHJhZ0VuZGVkKFdlYkNvcmU6OkludFBvaW50KHdpbmRvd01vdXNl
TG9jKSwgV2ViQ29yZTo6SW50UG9pbnQoV2ViQ29yZTo6Z2xvYmFsUG9pbnQod2luZG93TW91c2VM
b2MsIFttX3ZpZXcgd2luZG93XSkpLCBjb3JlRHJhZ09wZXJhdGlvbk1hc2soZHJhZ09wZXJhdGlv
bk1hc2spKTsKIH0KIAotc3RhdGljIFdlYkNvcmU6OkRyYWdBcHBsaWNhdGlvbkZsYWdzIGFwcGxp
Y2F0aW9uRmxhZ3NGb3JEcmFnKE5TVmlldyAqdmlldywgaWQgPE5TRHJhZ2dpbmdJbmZvPiBkcmFn
Z2luZ0luZm8pCitzdGF0aWMgT3B0aW9uU2V0PFdlYkNvcmU6OkRyYWdBcHBsaWNhdGlvbkZsYWdz
PiBhcHBsaWNhdGlvbkZsYWdzRm9yRHJhZyhOU1ZpZXcgKnZpZXcsIGlkIDxOU0RyYWdnaW5nSW5m
bz4gZHJhZ2dpbmdJbmZvKQogewogICAgIEFTU0VSVChoYXNQcm9jZXNzUHJpdmlsZWdlKFByb2Nl
c3NQcml2aWxlZ2U6OkNhbkNvbW11bmljYXRlV2l0aFdpbmRvd1NlcnZlcikpOwotICAgIHVpbnQz
Ml90IGZsYWdzID0gMDsKKyAgICBPcHRpb25TZXQ8V2ViQ29yZTo6RHJhZ0FwcGxpY2F0aW9uRmxh
Z3M+IGZsYWdzOwogICAgIGlmIChbTlNBcHAgbW9kYWxXaW5kb3ddKQotICAgICAgICBmbGFncyA9
IFdlYkNvcmU6OkRyYWdBcHBsaWNhdGlvbklzTW9kYWw7CisgICAgICAgIGZsYWdzLmFkZChXZWJD
b3JlOjpEcmFnQXBwbGljYXRpb25Jc01vZGFsKTsKICAgICBpZiAodmlldy53aW5kb3cuYXR0YWNo
ZWRTaGVldCkKLSAgICAgICAgZmxhZ3MgfD0gV2ViQ29yZTo6RHJhZ0FwcGxpY2F0aW9uSGFzQXR0
YWNoZWRTaGVldDsKKyAgICAgICAgZmxhZ3MuYWRkKFdlYkNvcmU6OkRyYWdBcHBsaWNhdGlvbkhh
c0F0dGFjaGVkU2hlZXQpOwogICAgIGlmIChkcmFnZ2luZ0luZm8uZHJhZ2dpbmdTb3VyY2UgPT0g
dmlldykKLSAgICAgICAgZmxhZ3MgfD0gV2ViQ29yZTo6RHJhZ0FwcGxpY2F0aW9uSXNTb3VyY2U7
CisgICAgICAgIGZsYWdzLmFkZChXZWJDb3JlOjpEcmFnQXBwbGljYXRpb25Jc1NvdXJjZSk7CiAg
ICAgaWYgKFtOU0FwcCBjdXJyZW50RXZlbnRdLm1vZGlmaWVyRmxhZ3MgJiBOU0V2ZW50TW9kaWZp
ZXJGbGFnT3B0aW9uKQotICAgICAgICBmbGFncyB8PSBXZWJDb3JlOjpEcmFnQXBwbGljYXRpb25J
c0NvcHlLZXlEb3duOwotICAgIHJldHVybiBzdGF0aWNfY2FzdDxXZWJDb3JlOjpEcmFnQXBwbGlj
YXRpb25GbGFncz4oZmxhZ3MpOworICAgICAgICBmbGFncy5hZGQoV2ViQ29yZTo6RHJhZ0FwcGxp
Y2F0aW9uSXNDb3B5S2V5RG93bik7CisgICAgcmV0dXJuIGZsYWdzOwogCiB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggMjc0MmYxM2VjZjM2
ZDYwY2NmZDY3YTNmZDIxNTQ3NWIwMDY0ZjgzMi4uN2Q3N2M3NTk2MmFhMDc0NTRmYWYzYzc4NjQ3
ZDdhZThmNTYwZjQ3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5jcHAKQEAgLTM5ODEsMTQgKzM5ODEsMTQgQEAgTm90aWZpY2F0aW9uUGVybWlzc2lvblJl
cXVlc3RNYW5hZ2VyKiBXZWJQYWdlOjpub3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmEK
ICNpZiBFTkFCTEUoRFJBR19TVVBQT1JUKQogCiAjaWYgUExBVEZPUk0oR1RLKQotdm9pZCBXZWJQ
YWdlOjpwZXJmb3JtRHJhZ0NvbnRyb2xsZXJBY3Rpb24oRHJhZ0NvbnRyb2xsZXJBY3Rpb24gYWN0
aW9uLCBjb25zdCBJbnRQb2ludCYgY2xpZW50UG9zaXRpb24sIGNvbnN0IEludFBvaW50JiBnbG9i
YWxQb3NpdGlvbiwgT3B0aW9uU2V0PERyYWdPcGVyYXRpb24+IGRyYWdnaW5nU291cmNlT3BlcmF0
aW9uTWFzaywgU2VsZWN0aW9uRGF0YSYmIHNlbGVjdGlvbkRhdGEsIHVpbnQzMl90IGZsYWdzKQor
dm9pZCBXZWJQYWdlOjpwZXJmb3JtRHJhZ0NvbnRyb2xsZXJBY3Rpb24oRHJhZ0NvbnRyb2xsZXJB
Y3Rpb24gYWN0aW9uLCBjb25zdCBJbnRQb2ludCYgY2xpZW50UG9zaXRpb24sIGNvbnN0IEludFBv
aW50JiBnbG9iYWxQb3NpdGlvbiwgT3B0aW9uU2V0PERyYWdPcGVyYXRpb24+IGRyYWdnaW5nU291
cmNlT3BlcmF0aW9uTWFzaywgU2VsZWN0aW9uRGF0YSYmIHNlbGVjdGlvbkRhdGEsIE9wdGlvblNl
dDxEcmFnQXBwbGljYXRpb25GbGFncz4gZmxhZ3MpCiB7CiAgICAgaWYgKCFtX3BhZ2UpIHsKICAg
ICAgICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpEaWRQZXJmb3JtRHJhZ0NvbnRyb2xs
ZXJBY3Rpb24oV1RGOjpudWxsb3B0LCBEcmFnSGFuZGxpbmdNZXRob2Q6Ok5vbmUsIGZhbHNlLCAw
LCB7IH0sIHsgfSkpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgRHJhZ0RhdGEgZHJh
Z0RhdGEoJnNlbGVjdGlvbkRhdGEsIGNsaWVudFBvc2l0aW9uLCBnbG9iYWxQb3NpdGlvbiwgZHJh
Z2dpbmdTb3VyY2VPcGVyYXRpb25NYXNrLCBzdGF0aWNfY2FzdDxEcmFnQXBwbGljYXRpb25GbGFn
cz4oZmxhZ3MpKTsKKyAgICBEcmFnRGF0YSBkcmFnRGF0YSgmc2VsZWN0aW9uRGF0YSwgY2xpZW50
UG9zaXRpb24sIGdsb2JhbFBvc2l0aW9uLCBkcmFnZ2luZ1NvdXJjZU9wZXJhdGlvbk1hc2ssIGZs
YWdzKTsKICAgICBzd2l0Y2ggKGFjdGlvbikgewogICAgIGNhc2UgRHJhZ0NvbnRyb2xsZXJBY3Rp
b246OkVudGVyZWQ6IHsKICAgICAgICAgYXV0byByZXNvbHZlZERyYWdPcGVyYXRpb24gPSBtX3Bh
Z2UtPmRyYWdDb250cm9sbGVyKCkuZHJhZ0VudGVyZWQoZHJhZ0RhdGEpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCmluZGV4IDYxN2U2YWYyZmQzNmNkYjg5M2Mw
MmMxMjIwMzNlMjg3MTViYTY0OTAuLmE4OTM1YjAzNTQ1OWIxMjlkYjVmOTBjYWU5OThiYzc1N2I2
NjAxZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKQEAg
LTkwMCw3ICs5MDAsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCByZXN0b3JlU2VsZWN0aW9uSW5Gb2N1
c2VkRWRpdGFibGVFbGVtZW50KCk7CiAKICNpZiBFTkFCTEUoRFJBR19TVVBQT1JUKSAmJiBQTEFU
Rk9STShHVEspCi0gICAgdm9pZCBwZXJmb3JtRHJhZ0NvbnRyb2xsZXJBY3Rpb24oRHJhZ0NvbnRy
b2xsZXJBY3Rpb24sIGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBjbGllbnRQb3NpdGlvbiwgY29u
c3QgV2ViQ29yZTo6SW50UG9pbnQmIGdsb2JhbFBvc2l0aW9uLCBPcHRpb25TZXQ8V2ViQ29yZTo6
RHJhZ09wZXJhdGlvbj4gZHJhZ2dpbmdTb3VyY2VPcGVyYXRpb25NYXNrLCBXZWJDb3JlOjpTZWxl
Y3Rpb25EYXRhJiYsIHVpbnQzMl90IGZsYWdzKTsKKyAgICB2b2lkIHBlcmZvcm1EcmFnQ29udHJv
bGxlckFjdGlvbihEcmFnQ29udHJvbGxlckFjdGlvbiwgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQm
IGNsaWVudFBvc2l0aW9uLCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgZ2xvYmFsUG9zaXRpb24s
IE9wdGlvblNldDxXZWJDb3JlOjpEcmFnT3BlcmF0aW9uPiBkcmFnZ2luZ1NvdXJjZU9wZXJhdGlv
bk1hc2ssIFdlYkNvcmU6OlNlbGVjdGlvbkRhdGEmJiwgT3B0aW9uU2V0PFdlYkNvcmU6OkRyYWdB
cHBsaWNhdGlvbkZsYWdzPik7CiAjZW5kaWYKIAogI2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpICYm
ICFQTEFURk9STShHVEspCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5tZXNzYWdlcy5pbgppbmRleCBhNTk1ZTdkOTIxMmIzZWRjODI5Mzg5ZmNkZmZm
OTI0NTJhNThkODBlLi5kYWY0MDc1MGVhZTJiZjc0MmQzZWM1OGNkNmMzOGM0YWEyNzljODE4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3Nh
Z2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVz
c2FnZXMuaW4KQEAgLTMwOSw3ICszMDksNyBAQCBHZW5lcmF0ZVN5bnRoZXRpY0VkaXRpbmdDb21t
YW5kKGVudW06dWludDhfdCBXZWJLaXQ6OlN5bnRoZXRpY0VkaXRpbmdDb21tYW5kVHlwZQogCiAg
ICAgIyBEcmFnIGFuZCBkcm9wLgogI2lmIFBMQVRGT1JNKEdUSykgJiYgRU5BQkxFKERSQUdfU1VQ
UE9SVCkKLSAgICBQZXJmb3JtRHJhZ0NvbnRyb2xsZXJBY3Rpb24oZW51bTp1aW50OF90IFdlYktp
dDo6RHJhZ0NvbnRyb2xsZXJBY3Rpb24gYWN0aW9uLCBXZWJDb3JlOjpJbnRQb2ludCBjbGllbnRQ
b3NpdGlvbiwgV2ViQ29yZTo6SW50UG9pbnQgZ2xvYmFsUG9zaXRpb24sIE9wdGlvblNldDxXZWJD
b3JlOjpEcmFnT3BlcmF0aW9uPiBkcmFnZ2luZ1NvdXJjZU9wZXJhdGlvbk1hc2ssIFdlYkNvcmU6
OlNlbGVjdGlvbkRhdGEgc2VsZWN0aW9uLCB1aW50MzJfdCBmbGFncykKKyAgICBQZXJmb3JtRHJh
Z0NvbnRyb2xsZXJBY3Rpb24oZW51bTp1aW50OF90IFdlYktpdDo6RHJhZ0NvbnRyb2xsZXJBY3Rp
b24gYWN0aW9uLCBXZWJDb3JlOjpJbnRQb2ludCBjbGllbnRQb3NpdGlvbiwgV2ViQ29yZTo6SW50
UG9pbnQgZ2xvYmFsUG9zaXRpb24sIE9wdGlvblNldDxXZWJDb3JlOjpEcmFnT3BlcmF0aW9uPiBk
cmFnZ2luZ1NvdXJjZU9wZXJhdGlvbk1hc2ssIFdlYkNvcmU6OlNlbGVjdGlvbkRhdGEgc2VsZWN0
aW9uLCBPcHRpb25TZXQ8V2ViQ29yZTo6RHJhZ0FwcGxpY2F0aW9uRmxhZ3M+IGZsYWdzKQogI2Vu
ZGlmCiAjaWYgIVBMQVRGT1JNKEdUSykgJiYgRU5BQkxFKERSQUdfU1VQUE9SVCkKICAgICBQZXJm
b3JtRHJhZ0NvbnRyb2xsZXJBY3Rpb24oZW51bTp1aW50OF90IFdlYktpdDo6RHJhZ0NvbnRyb2xs
ZXJBY3Rpb24gYWN0aW9uLCBXZWJDb3JlOjpEcmFnRGF0YSBkcmFnRGF0YSwgV2ViS2l0OjpTYW5k
Ym94RXh0ZW5zaW9uOjpIYW5kbGUgc2FuZGJveEV4dGVuc2lvbkhhbmRsZSwgV2ViS2l0OjpTYW5k
Ym94RXh0ZW5zaW9uOjpIYW5kbGVBcnJheSBzYW5kYm94RXh0ZW5zaW9uc0ZvclVwbG9hZCkKZGlm
ZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA4MzJkM2Nh
YjMzMTY1ZGRkYjhiNzM1OGFlOWI3ZDJjZDgwZjQyNzZjLi45NDlhNjYxZTM1MzliNTEzZTM1Y2Vh
NDBhNWUyOTUxMjQ3YThmZjU3IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9v
bHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjAtMDgtMTAgIENocmlzIER1bWV6ICA8
Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBBdXhpbGlhcnlQcm9jZXNzOjpkaWRSZWNlaXZl
SW52YWxpZE1lc3NhZ2UoKSBmb3IgV2ViUGFnZTo6UGVyZm9ybURyYWdDb250cm9sbGVyQWN0aW9u
IElQQworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE1
MzQxCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81OTM0NDA5MT4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgQVBJIHRlc3QgY292ZXJhZ2UuCisK
KyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL21hYy9EcmFnQW5kRHJvcFRlc3RzTWFjLm1t
OgorICAgICAgICAob3ZlcnJpZGVDdXJyZW50RXZlbnQpOgorICAgICAgICAoVEVTVCk6CisKIDIw
MjAtMDgtMTAgIEJyaWFuIEJ1cmcgIDxiYnVyZ0BhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZp
ZXdlZCwgZml4IG9yZGVyaW5nIG9mIGNvbnRyaWJ1dG9ycy4KZGlmZiAtLWdpdCBhL1Rvb2xzL1Rl
c3RXZWJLaXRBUEkvVGVzdHMvbWFjL0RyYWdBbmREcm9wVGVzdHNNYWMubW0gYi9Ub29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL21hYy9EcmFnQW5kRHJvcFRlc3RzTWFjLm1tCmluZGV4IGM0ODJlNGI5
MWM3NWY4Mzg4ZTU2ZWMxOTgzYzNmZjQ0NmYyMDAyMTQuLjBhYjJlNjRiOTc2NjBmMjI2OTYwNDMx
NTA5ZmZiZDE0YzQ4OWY4ZGIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMv
bWFjL0RyYWdBbmREcm9wVGVzdHNNYWMubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9tYWMvRHJhZ0FuZERyb3BUZXN0c01hYy5tbQpAQCAtMjYsOCArMjYsMTAgQEAKICNpbXBvcnQg
ImNvbmZpZy5oIgogCiAjaW1wb3J0ICJEcmFnQW5kRHJvcFNpbXVsYXRvci5oIgorI2ltcG9ydCAi
SW5zdGFuY2VNZXRob2RTd2l6emxlci5oIgogI2ltcG9ydCAiUGxhdGZvcm1VdGlsaXRpZXMuaCIK
ICNpbXBvcnQgPFdlYktpdC9XS1ByZWZlcmVuY2VzUHJpdmF0ZS5oPgorI2ltcG9ydCA8V2ViS2l0
L1dLV2ViVmlld1ByaXZhdGUuaD4KIAogI2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpICYmIFBMQVRG
T1JNKE1BQykKIApAQCAtMTM2LDYgKzEzOCwzNSBAQCBURVNUKERyYWdBbmREcm9wVGVzdHMsIERy
YWdJbWFnZUZpbGVJbnRvRmlsZVVwbG9hZCkKICAgICBFWFBFQ1RfRVEoMSwgW3dlYlZpZXcgc3Ry
aW5nQnlFdmFsdWF0aW5nSmF2YVNjcmlwdDpAImZpbGVjb3VudC50ZXh0Q29udGVudCJdLmludGVn
ZXJWYWx1ZSk7CiB9CiAKK3N0YXRpYyBOU0V2ZW50ICpvdmVycmlkZUN1cnJlbnRFdmVudCgpCit7
CisgICAgcmV0dXJuIFtOU0V2ZW50IG1vdXNlRXZlbnRXaXRoVHlwZTpOU0V2ZW50VHlwZUxlZnRN
b3VzZURyYWdnZWQKKyAgICAgICAgICAgICAgICBsb2NhdGlvbjpOU01ha2VQb2ludCgwLCAyMDAp
CisgICAgICAgICAgIG1vZGlmaWVyRmxhZ3M6TlNFdmVudE1vZGlmaWVyRmxhZ09wdGlvbgorICAg
ICAgICAgICAgICAgdGltZXN0YW1wOltOU0RhdGUgdGltZUludGVydmFsU2luY2VSZWZlcmVuY2VE
YXRlXQorICAgICAgICAgICAgd2luZG93TnVtYmVyOjAKKyAgICAgICAgICAgICAgICAgY29udGV4
dDpuaWwKKyAgICAgICAgICAgICBldmVudE51bWJlcjoxCisgICAgICAgICAgICAgIGNsaWNrQ291
bnQ6MQorICAgICAgICAgICAgICAgIHByZXNzdXJlOjFdOworfQorCitURVNUKERyYWdBbmREcm9w
VGVzdHMsIERyYWdJbWFnZVdpdGhPcHRpb25LZXlEb3duKQoreworICAgIEluc3RhbmNlTWV0aG9k
U3dpenpsZXIgc3dpenpsZXIoW05TQXBwIGNsYXNzXSwgQHNlbGVjdG9yKGN1cnJlbnRFdmVudCks
IHJlaW50ZXJwcmV0X2Nhc3Q8SU1QPihvdmVycmlkZUN1cnJlbnRFdmVudCkpOworCisgICAgYXV0
byBzaW11bGF0b3IgPSBhZG9wdE5TKFtbRHJhZ0FuZERyb3BTaW11bGF0b3IgYWxsb2NdIGluaXRX
aXRoV2ViVmlld0ZyYW1lOk5TTWFrZVJlY3QoMCwgMCwgNDAwLCA0MDApXSk7CisgICAgVGVzdFdL
V2ViVmlldyAqd2ViVmlldyA9IFtzaW11bGF0b3Igd2ViVmlld107CisKKyAgICBbd2ViVmlldyBz
eW5jaHJvbm91c2x5TG9hZFRlc3RQYWdlTmFtZWQ6QCJpbWFnZS1hbmQtY29udGVudGVkaXRhYmxl
Il07CisKKyAgICBhdXRvIHBpZCA9IFt3ZWJWaWV3IF93ZWJQcm9jZXNzSWRlbnRpZmllcl07Cisg
ICAgW3NpbXVsYXRvciBydW5Gcm9tOk5TTWFrZVBvaW50KDEwMCwgMTAwKSB0bzpOU01ha2VQb2lu
dCgxMDAsIDMwMCldOworCisgICAgRVhQRUNUX0VRKHBpZCwgW3dlYlZpZXcgX3dlYlByb2Nlc3NJ
ZGVudGlmaWVyXSk7Cit9CisKKwogVEVTVChEcmFnQW5kRHJvcFRlc3RzLCBQcm92aWRlSW1hZ2VE
YXRhRm9yTXVsdGlwbGVQYXN0ZWJvYXJkcykKIHsKICAgICBhdXRvIHNpbXVsYXRvciA9IGFkb3B0
TlMoW1tEcmFnQW5kRHJvcFNpbXVsYXRvciBhbGxvY10gaW5pdFdpdGhXZWJWaWV3RnJhbWU6TlNN
YWtlUmVjdCgwLCAwLCA0MDAsIDQwMCldKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>406339</attachid>
            <date>2020-08-10 16:11:44 -0700</date>
            <delta_ts>2020-08-10 16:17:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-215341-20200810161143.patch</filename>
            <type>text/plain</type>
            <size>22276</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY1NDM5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDkyNTZkODZlZmQ2Yzlh
NDU5YjA1Nzg0YjIwMDJmZTk5MTViOTM5Yy4uMGJhZDI0ZjcwNDIyYjg3NjJkZDI0NTFkOTg0ODQ1
Y2Q0NjJmMmQyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDIwLTA4LTEwICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQXV4aWxpYXJ5UHJvY2Vzczo6
ZGlkUmVjZWl2ZUludmFsaWRNZXNzYWdlKCkgZm9yIFdlYlBhZ2U6OlBlcmZvcm1EcmFnQ29udHJv
bGxlckFjdGlvbiBJUEMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIxNTM0MQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTkzNDQwOTE+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ29uc2lzdGVudGx5IHVz
ZSBPcHRpb25TZXQ8RHJhZ0FwcGxpY2F0aW9uRmxhZ3M+IGluc3RlYWQgb2YgRHJhZ0FwcGxpY2F0
aW9uRmxhZ3MuCisKKyAgICAgICAgKiBwYWdlL2d0ay9EcmFnQ29udHJvbGxlckd0ay5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpEcmFnQ29udHJvbGxlcjo6aXNDb3B5S2V5RG93bik6CisgICAgICAg
ICogcGFnZS9tYWMvRHJhZ0NvbnRyb2xsZXJNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpEcmFn
Q29udHJvbGxlcjo6aXNDb3B5S2V5RG93bik6CisgICAgICAgIChXZWJDb3JlOjpEcmFnQ29udHJv
bGxlcjo6ZHJhZ09wZXJhdGlvbik6CisgICAgICAgICogcGxhdGZvcm0vRHJhZ0RhdGEuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RHJhZ0RhdGE6OkRyYWdEYXRhKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9EcmFnRGF0YS5oOgorICAgICAgICAoV2ViQ29yZTo6RHJhZ0RhdGE6OmZsYWdzIGNvbnN0KToK
KyAgICAgICAgKiBwbGF0Zm9ybS9jb2NvYS9EcmFnRGF0YUNvY29hLm1tOgorICAgICAgICAoV2Vi
Q29yZTo6RHJhZ0RhdGE6OkRyYWdEYXRhKToKKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vRHJhZ0Rh
dGFXaW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6RHJhZ0RhdGE6OkRyYWdEYXRhKToKKwogMjAy
MC0wOC0xMCAgRXJpYyBDYXJsc29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KIAogICAgICAg
ICByMjYyNDU2IGJyb2tlIHNpdGVzIHRoYXQgZXhwZWN0IHdlYmtpdERpc3BsYXlpbmdGdWxsc2Ny
ZWVuIHRvIGJlIHRydWUgYWxtb3N0IGltbWVkaWF0ZWx5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDM3ZmU4MWI5Y2Q3
MWY3MzA1NGVhY2FhYjI5MDNmN2ZmZWM3NTFmYjEuLjlhNzgzMTc1YzM2OWYyNjg0MzNjODNlMjMx
ZmMwNGNkZDYyMWRhYjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMjAtMDgtMTAgIENo
cmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBBdXhpbGlhcnlQcm9jZXNz
OjpkaWRSZWNlaXZlSW52YWxpZE1lc3NhZ2UoKSBmb3IgV2ViUGFnZTo6UGVyZm9ybURyYWdDb250
cm9sbGVyQWN0aW9uIElQQworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjE1MzQxCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81OTM0NDA5MT4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEcmFnQXBwbGljYXRp
b25GbGFncyBpcyBhbiBlbnVtIGNvbnRhaW5pbmcgZmxhZ3MuIEl0IHdhcyBiZWluZyBzZW50IG92
ZXIgSVBDIGFzIGEgRHJhZ0FwcGxpY2F0aW9uRmxhZ3MKKyAgICAgICAgaW5zdGVhZCBvZiBhbiBP
cHRpb25TZXQ8RHJhZ0FwcGxpY2F0aW9uRmxhZ3M+LCBhbmQgdGh1cyB3b3VsZCBmYWlsIGVudW0g
dmFsdWUgdmFsaWRhdGlvbiB3aGVuIGRlY29kaW5nCisgICAgICAgIHdoZW4gbW9yZSB0aGFuIG9u
ZSBmbGFnIGlzIHNldC4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5Ogor
ICAgICAgICAqIFNoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwOgorICAgICAgICAoSVBD
OjpBcmd1bWVudENvZGVyPERyYWdEYXRhPjo6ZGVjb2RlKToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
Q29jb2EvV2ViVmlld0ltcGwubW06CisgICAgICAgIChXZWJLaXQ6OmFwcGxpY2F0aW9uRmxhZ3NG
b3JEcmFnKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYlBhZ2U6OnBlcmZvcm1EcmFnQ29udHJvbGxlckFjdGlvbik6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbjoKKwogMjAyMC0wOC0xMCAgU2lodWkgTGl1ICA8
c2lodWlfbGl1QGFwcGxlLmNvbT4KIAogICAgICAgICBBbHdheXMgc3VzcGVuZCBJREIgd29yayB3
aGVuIG5ldHdvcmsgcHJvY2VzcyBpcyBwcmVwYXJlZCB0byBzdXNwZW5kCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL2d0ay9EcmFnQ29udHJvbGxlckd0ay5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL2d0ay9EcmFnQ29udHJvbGxlckd0ay5jcHAKaW5kZXggNjYwYmE5NWU0ZTIxMDIw
NDMyZTY4YWY0YWM4YjMwNjUwY2EzNTYzYy4uNGI2MTIwZDMyYmM3OGRjNDRiYzNhOWZlZDg3YTFi
MDEwYzM3NzlhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ndGsvRHJhZ0NvbnRy
b2xsZXJHdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvZ3RrL0RyYWdDb250cm9sbGVy
R3RrLmNwcApAQCAtNDcsNyArNDcsNyBAQCBjb25zdCBmbG9hdCBEcmFnQ29udHJvbGxlcjo6RHJh
Z0ltYWdlQWxwaGEgPSAwLjc1ZjsKIAogYm9vbCBEcmFnQ29udHJvbGxlcjo6aXNDb3B5S2V5RG93
bihjb25zdCBEcmFnRGF0YSYgZHJhZ0RhdGEpCiB7Ci0gICAgcmV0dXJuIGRyYWdEYXRhLmZsYWdz
KCkgJiBEcmFnQXBwbGljYXRpb25Jc0NvcHlLZXlEb3duOworICAgIHJldHVybiBkcmFnRGF0YS5m
bGFncygpLmNvbnRhaW5zKERyYWdBcHBsaWNhdGlvbklzQ29weUtleURvd24pOwogfQogCiBPcHRp
b25hbDxEcmFnT3BlcmF0aW9uPiBEcmFnQ29udHJvbGxlcjo6ZHJhZ09wZXJhdGlvbihjb25zdCBE
cmFnRGF0YSYgZHJhZ0RhdGEpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9E
cmFnQ29udHJvbGxlck1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL0RyYWdDb250cm9s
bGVyTWFjLm1tCmluZGV4IDE1ZmU1OTBlM2I1ZGNjOWI4ZmVmYjFlMjIzZjUwNjU0ZWViOTg2MDku
LjdlNDZhYzQ4OTc2NmUxYjZjOTdhZWM4Mjc0ZDY0Y2E1MGU4MzVlZWQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvbWFjL0RyYWdDb250cm9sbGVyTWFjLm1tCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvbWFjL0RyYWdDb250cm9sbGVyTWFjLm1tCkBAIC02MSwxMiArNjEsMTIgQEAg
Y29uc3QgZmxvYXQgRHJhZ0NvbnRyb2xsZXI6OkRyYWdJbWFnZUFscGhhID0gMC43NWY7CiAKIGJv
b2wgRHJhZ0NvbnRyb2xsZXI6OmlzQ29weUtleURvd24oY29uc3QgRHJhZ0RhdGEmIGRyYWdEYXRh
KQogewotICAgIHJldHVybiBkcmFnRGF0YS5mbGFncygpICYgRHJhZ0FwcGxpY2F0aW9uSXNDb3B5
S2V5RG93bjsKKyAgICByZXR1cm4gZHJhZ0RhdGEuZmxhZ3MoKS5jb250YWlucyhEcmFnQXBwbGlj
YXRpb25Jc0NvcHlLZXlEb3duKTsKIH0KICAgICAKIE9wdGlvbmFsPERyYWdPcGVyYXRpb24+IERy
YWdDb250cm9sbGVyOjpkcmFnT3BlcmF0aW9uKGNvbnN0IERyYWdEYXRhJiBkcmFnRGF0YSkKIHsK
LSAgICBpZiAoZHJhZ0RhdGEuZmxhZ3MoKSAmIERyYWdBcHBsaWNhdGlvbklzTW9kYWwpCisgICAg
aWYgKGRyYWdEYXRhLmZsYWdzKCkuY29udGFpbnMoRHJhZ0FwcGxpY2F0aW9uSXNNb2RhbCkpCiAg
ICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiAKICAgICBib29sIG1heUNvbnRhaW5VUkw7CkBA
IC03OCw3ICs3OCw3IEBAIE9wdGlvbmFsPERyYWdPcGVyYXRpb24+IERyYWdDb250cm9sbGVyOjpk
cmFnT3BlcmF0aW9uKGNvbnN0IERyYWdEYXRhJiBkcmFnRGF0YSkKICAgICBpZiAoIW1heUNvbnRh
aW5VUkwgJiYgIWRyYWdEYXRhLmNvbnRhaW5zUHJvbWlzZSgpKQogICAgICAgICByZXR1cm4gV1RG
OjpudWxsb3B0OwogCi0gICAgaWYgKCFtX2RvY3VtZW50VW5kZXJNb3VzZSB8fCAoIShkcmFnRGF0
YS5mbGFncygpICYgKERyYWdBcHBsaWNhdGlvbkhhc0F0dGFjaGVkU2hlZXQgfCBEcmFnQXBwbGlj
YXRpb25Jc1NvdXJjZSkpKSkKKyAgICBpZiAoIW1fZG9jdW1lbnRVbmRlck1vdXNlIHx8ICghKGRy
YWdEYXRhLmZsYWdzKCkuY29udGFpbnNBbGwoeyBEcmFnQXBwbGljYXRpb25IYXNBdHRhY2hlZFNo
ZWV0LCBEcmFnQXBwbGljYXRpb25Jc1NvdXJjZSB9KSkpKQogICAgICAgICByZXR1cm4gRHJhZ09w
ZXJhdGlvbjo6Q29weTsKIAogICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9EcmFnRGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9EcmFnRGF0YS5jcHAKaW5kZXggZThjNDBmNTU5MDJkOTNhNWE4NzJhYzBlZTBmZGFjYzNm
OWVkMmZjNi4uYzI3ZmQwZjZlYTFmNzAwNzliMGNlMGRlMWQxYTYzZWY4ZTJjZmM5NCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRHJhZ0RhdGEuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL0RyYWdEYXRhLmNwcApAQCAtMzIsNyArMzIsNyBAQAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCiAjaWYgIVBMQVRGT1JNKENPQ09BKQotRHJhZ0RhdGE6OkRyYWdEYXRhKERy
YWdEYXRhUmVmIGRhdGEsIGNvbnN0IEludFBvaW50JiBjbGllbnRQb3NpdGlvbiwgY29uc3QgSW50
UG9pbnQmIGdsb2JhbFBvc2l0aW9uLCBPcHRpb25TZXQ8RHJhZ09wZXJhdGlvbj4gc291cmNlT3Bl
cmF0aW9uTWFzaywgRHJhZ0FwcGxpY2F0aW9uRmxhZ3MgZmxhZ3MsIE9wdGlvblNldDxEcmFnRGVz
dGluYXRpb25BY3Rpb24+IGRlc3RpbmF0aW9uQWN0aW9uTWFzaykKK0RyYWdEYXRhOjpEcmFnRGF0
YShEcmFnRGF0YVJlZiBkYXRhLCBjb25zdCBJbnRQb2ludCYgY2xpZW50UG9zaXRpb24sIGNvbnN0
IEludFBvaW50JiBnbG9iYWxQb3NpdGlvbiwgT3B0aW9uU2V0PERyYWdPcGVyYXRpb24+IHNvdXJj
ZU9wZXJhdGlvbk1hc2ssIE9wdGlvblNldDxEcmFnQXBwbGljYXRpb25GbGFncz4gZmxhZ3MsIE9w
dGlvblNldDxEcmFnRGVzdGluYXRpb25BY3Rpb24+IGRlc3RpbmF0aW9uQWN0aW9uTWFzaykKICAg
ICA6IG1fY2xpZW50UG9zaXRpb24oY2xpZW50UG9zaXRpb24pCiAgICAgLCBtX2dsb2JhbFBvc2l0
aW9uKGdsb2JhbFBvc2l0aW9uKQogICAgICwgbV9wbGF0Zm9ybURyYWdEYXRhKGRhdGEpCkBAIC00
Miw3ICs0Miw3IEBAIERyYWdEYXRhOjpEcmFnRGF0YShEcmFnRGF0YVJlZiBkYXRhLCBjb25zdCBJ
bnRQb2ludCYgY2xpZW50UG9zaXRpb24sIGNvbnN0IEludFBvCiB7ICAKIH0KIAotRHJhZ0RhdGE6
OkRyYWdEYXRhKGNvbnN0IFN0cmluZyYsIGNvbnN0IEludFBvaW50JiBjbGllbnRQb3NpdGlvbiwg
Y29uc3QgSW50UG9pbnQmIGdsb2JhbFBvc2l0aW9uLCBPcHRpb25TZXQ8RHJhZ09wZXJhdGlvbj4g
c291cmNlT3BlcmF0aW9uTWFzaywgRHJhZ0FwcGxpY2F0aW9uRmxhZ3MgZmxhZ3MsIE9wdGlvblNl
dDxEcmFnRGVzdGluYXRpb25BY3Rpb24+IGRlc3RpbmF0aW9uQWN0aW9uTWFzaykKK0RyYWdEYXRh
OjpEcmFnRGF0YShjb25zdCBTdHJpbmcmLCBjb25zdCBJbnRQb2ludCYgY2xpZW50UG9zaXRpb24s
IGNvbnN0IEludFBvaW50JiBnbG9iYWxQb3NpdGlvbiwgT3B0aW9uU2V0PERyYWdPcGVyYXRpb24+
IHNvdXJjZU9wZXJhdGlvbk1hc2ssIE9wdGlvblNldDxEcmFnQXBwbGljYXRpb25GbGFncz4gZmxh
Z3MsIE9wdGlvblNldDxEcmFnRGVzdGluYXRpb25BY3Rpb24+IGRlc3RpbmF0aW9uQWN0aW9uTWFz
aykKICAgICA6IG1fY2xpZW50UG9zaXRpb24oY2xpZW50UG9zaXRpb24pCiAgICAgLCBtX2dsb2Jh
bFBvc2l0aW9uKGdsb2JhbFBvc2l0aW9uKQogICAgICwgbV9wbGF0Zm9ybURyYWdEYXRhKDApCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9EcmFnRGF0YS5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vRHJhZ0RhdGEuaAppbmRleCA0ZTUzZTYzMzM3NDg2MWZkMzE3MTI4NWI1
YzVlOTFmNjgxMDIzZTBiLi43NzMyY2EzNWRjYzAzY2RkY2Y1MTI5MjFiOTA2MjU5MWRiMjQwNGE1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9EcmFnRGF0YS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL0RyYWdEYXRhLmgKQEAgLTc2LDIwICs3NiwyMCBAQCBwdWJs
aWM6CiAgICAgZW51bSBjbGFzcyBEcmFnZ2luZ1B1cnBvc2UgeyBGb3JFZGl0aW5nLCBGb3JGaWxl
VXBsb2FkLCBGb3JDb2xvckNvbnRyb2wgfTsKIAogICAgIC8vIGNsaWVudFBvc2l0aW9uIGlzIHRh
a2VuIHRvIGJlIHRoZSBwb3NpdGlvbiBvZiB0aGUgZHJhZyBldmVudCB3aXRoaW4gdGhlIHRhcmdl
dCB3aW5kb3csIHdpdGggKDAsMCkgYXQgdGhlIHRvcCBsZWZ0Ci0gICAgV0VCQ09SRV9FWFBPUlQg
RHJhZ0RhdGEoRHJhZ0RhdGFSZWYsIGNvbnN0IEludFBvaW50JiBjbGllbnRQb3NpdGlvbiwgY29u
c3QgSW50UG9pbnQmIGdsb2JhbFBvc2l0aW9uLCBPcHRpb25TZXQ8RHJhZ09wZXJhdGlvbj4sIERy
YWdBcHBsaWNhdGlvbkZsYWdzID0gRHJhZ0FwcGxpY2F0aW9uTm9uZSwgT3B0aW9uU2V0PERyYWdE
ZXN0aW5hdGlvbkFjdGlvbj4gPSBhbnlEcmFnRGVzdGluYXRpb25BY3Rpb24oKSk7Ci0gICAgV0VC
Q09SRV9FWFBPUlQgRHJhZ0RhdGEoY29uc3QgU3RyaW5nJiBkcmFnU3RvcmFnZU5hbWUsIGNvbnN0
IEludFBvaW50JiBjbGllbnRQb3NpdGlvbiwgY29uc3QgSW50UG9pbnQmIGdsb2JhbFBvc2l0aW9u
LCBPcHRpb25TZXQ8RHJhZ09wZXJhdGlvbj4sIERyYWdBcHBsaWNhdGlvbkZsYWdzID0gRHJhZ0Fw
cGxpY2F0aW9uTm9uZSwgT3B0aW9uU2V0PERyYWdEZXN0aW5hdGlvbkFjdGlvbj4gPSBhbnlEcmFn
RGVzdGluYXRpb25BY3Rpb24oKSk7CisgICAgV0VCQ09SRV9FWFBPUlQgRHJhZ0RhdGEoRHJhZ0Rh
dGFSZWYsIGNvbnN0IEludFBvaW50JiBjbGllbnRQb3NpdGlvbiwgY29uc3QgSW50UG9pbnQmIGds
b2JhbFBvc2l0aW9uLCBPcHRpb25TZXQ8RHJhZ09wZXJhdGlvbj4sIE9wdGlvblNldDxEcmFnQXBw
bGljYXRpb25GbGFncz4gPSBEcmFnQXBwbGljYXRpb25Ob25lLCBPcHRpb25TZXQ8RHJhZ0Rlc3Rp
bmF0aW9uQWN0aW9uPiA9IGFueURyYWdEZXN0aW5hdGlvbkFjdGlvbigpKTsKKyAgICBXRUJDT1JF
X0VYUE9SVCBEcmFnRGF0YShjb25zdCBTdHJpbmcmIGRyYWdTdG9yYWdlTmFtZSwgY29uc3QgSW50
UG9pbnQmIGNsaWVudFBvc2l0aW9uLCBjb25zdCBJbnRQb2ludCYgZ2xvYmFsUG9zaXRpb24sIE9w
dGlvblNldDxEcmFnT3BlcmF0aW9uPiwgT3B0aW9uU2V0PERyYWdBcHBsaWNhdGlvbkZsYWdzPiA9
IERyYWdBcHBsaWNhdGlvbk5vbmUsIE9wdGlvblNldDxEcmFnRGVzdGluYXRpb25BY3Rpb24+ID0g
YW55RHJhZ0Rlc3RpbmF0aW9uQWN0aW9uKCkpOwogICAgIC8vIFRoaXMgY29uc3RydWN0b3Igc2hv
dWxkIHVzZWQgb25seSBieSBXZWJLaXQyIElQQyBiZWNhdXNlIERyYWdEYXRhCiAgICAgLy8gaXMg
aW5pdGlhbGl6ZWQgYnkgdGhlIGRlY29kZXIgYW5kIG5vdCBpbiB0aGUgY29uc3RydWN0b3IuCiAg
ICAgRHJhZ0RhdGEoKSA9IGRlZmF1bHQ7CiAjaWYgUExBVEZPUk0oV0lOKQotICAgIFdFQkNPUkVf
RVhQT1JUIERyYWdEYXRhKGNvbnN0IERyYWdEYXRhTWFwJiwgY29uc3QgSW50UG9pbnQmIGNsaWVu
dFBvc2l0aW9uLCBjb25zdCBJbnRQb2ludCYgZ2xvYmFsUG9zaXRpb24sIE9wdGlvblNldDxEcmFn
T3BlcmF0aW9uPiBzb3VyY2VPcGVyYXRpb25NYXNrLCBEcmFnQXBwbGljYXRpb25GbGFncyA9IERy
YWdBcHBsaWNhdGlvbk5vbmUpOworICAgIFdFQkNPUkVfRVhQT1JUIERyYWdEYXRhKGNvbnN0IERy
YWdEYXRhTWFwJiwgY29uc3QgSW50UG9pbnQmIGNsaWVudFBvc2l0aW9uLCBjb25zdCBJbnRQb2lu
dCYgZ2xvYmFsUG9zaXRpb24sIE9wdGlvblNldDxEcmFnT3BlcmF0aW9uPiBzb3VyY2VPcGVyYXRp
b25NYXNrLCBPcHRpb25TZXQ8RHJhZ0FwcGxpY2F0aW9uRmxhZ3M+ID0gRHJhZ0FwcGxpY2F0aW9u
Tm9uZSk7CiAgICAgY29uc3QgRHJhZ0RhdGFNYXAmIGRyYWdEYXRhTWFwKCk7CiAgICAgdm9pZCBn
ZXREcmFnRmlsZURlc2NyaXB0b3JEYXRhKGludCYgc2l6ZSwgU3RyaW5nJiBwYXRobmFtZSk7CiAg
ICAgdm9pZCBnZXREcmFnRmlsZUNvbnRlbnREYXRhKGludCBzaXplLCB2b2lkKiBkYXRhQmxvYik7
CiAjZW5kaWYKICAgICBjb25zdCBJbnRQb2ludCYgY2xpZW50UG9zaXRpb24oKSBjb25zdCB7IHJl
dHVybiBtX2NsaWVudFBvc2l0aW9uOyB9CiAgICAgY29uc3QgSW50UG9pbnQmIGdsb2JhbFBvc2l0
aW9uKCkgY29uc3QgeyByZXR1cm4gbV9nbG9iYWxQb3NpdGlvbjsgfQotICAgIERyYWdBcHBsaWNh
dGlvbkZsYWdzIGZsYWdzKCkgY29uc3QgeyByZXR1cm4gbV9hcHBsaWNhdGlvbkZsYWdzOyB9Cisg
ICAgT3B0aW9uU2V0PERyYWdBcHBsaWNhdGlvbkZsYWdzPiBmbGFncygpIGNvbnN0IHsgcmV0dXJu
IG1fYXBwbGljYXRpb25GbGFnczsgfQogICAgIERyYWdEYXRhUmVmIHBsYXRmb3JtRGF0YSgpIGNv
bnN0IHsgcmV0dXJuIG1fcGxhdGZvcm1EcmFnRGF0YTsgfQogICAgIE9wdGlvblNldDxEcmFnT3Bl
cmF0aW9uPiBkcmFnZ2luZ1NvdXJjZU9wZXJhdGlvbk1hc2soKSBjb25zdCB7IHJldHVybiBtX2Ry
YWdnaW5nU291cmNlT3BlcmF0aW9uTWFzazsgfQogICAgIGJvb2wgY29udGFpbnNVUkwoRmlsZW5h
bWVDb252ZXJzaW9uUG9saWN5ID0gQ29udmVydEZpbGVuYW1lcykgY29uc3Q7CkBAIC0xMzEsNyAr
MTMxLDcgQEAgcHJpdmF0ZToKICAgICBJbnRQb2ludCBtX2dsb2JhbFBvc2l0aW9uOwogICAgIERy
YWdEYXRhUmVmIG1fcGxhdGZvcm1EcmFnRGF0YTsKICAgICBPcHRpb25TZXQ8RHJhZ09wZXJhdGlv
bj4gbV9kcmFnZ2luZ1NvdXJjZU9wZXJhdGlvbk1hc2s7Ci0gICAgRHJhZ0FwcGxpY2F0aW9uRmxh
Z3MgbV9hcHBsaWNhdGlvbkZsYWdzOworICAgIE9wdGlvblNldDxEcmFnQXBwbGljYXRpb25GbGFn
cz4gbV9hcHBsaWNhdGlvbkZsYWdzOwogICAgIFZlY3RvcjxTdHJpbmc+IG1fZmlsZU5hbWVzOwog
ICAgIE9wdGlvblNldDxEcmFnRGVzdGluYXRpb25BY3Rpb24+IG1fZHJhZ0Rlc3RpbmF0aW9uQWN0
aW9uTWFzazsKICNpZiBQTEFURk9STShDT0NPQSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2NvY29hL0RyYWdEYXRhQ29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9jb2NvYS9EcmFnRGF0YUNvY29hLm1tCmluZGV4IDNhMTI4OWQ0YmNjNTYwOTZhZGVmZDA1ODAw
NzQzZWQwOWM2NGM2Y2UuLjdlYmVlN2Y4ODIzMDc3YWMxZmUxYzM5ODlmZTM4ZGNkOWViMjFiOTcg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL0RyYWdEYXRhQ29jb2Eu
bW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvRHJhZ0RhdGFDb2NvYS5tbQpA
QCAtMTE2LDcgKzExNiw3IEBAIHN0YXRpYyBpbmxpbmUgU3RyaW5nIHRpZmZQYXN0ZWJvYXJkVHlw
ZSgpCiAjZW5kaWYKIH0KIAotRHJhZ0RhdGE6OkRyYWdEYXRhKERyYWdEYXRhUmVmIGRhdGEsIGNv
bnN0IEludFBvaW50JiBjbGllbnRQb3NpdGlvbiwgY29uc3QgSW50UG9pbnQmIGdsb2JhbFBvc2l0
aW9uLCBPcHRpb25TZXQ8RHJhZ09wZXJhdGlvbj4gc291cmNlT3BlcmF0aW9uTWFzaywgRHJhZ0Fw
cGxpY2F0aW9uRmxhZ3MgZmxhZ3MsIE9wdGlvblNldDxEcmFnRGVzdGluYXRpb25BY3Rpb24+IGRl
c3RpbmF0aW9uQWN0aW9uTWFzaykKK0RyYWdEYXRhOjpEcmFnRGF0YShEcmFnRGF0YVJlZiBkYXRh
LCBjb25zdCBJbnRQb2ludCYgY2xpZW50UG9zaXRpb24sIGNvbnN0IEludFBvaW50JiBnbG9iYWxQ
b3NpdGlvbiwgT3B0aW9uU2V0PERyYWdPcGVyYXRpb24+IHNvdXJjZU9wZXJhdGlvbk1hc2ssIE9w
dGlvblNldDxEcmFnQXBwbGljYXRpb25GbGFncz4gZmxhZ3MsIE9wdGlvblNldDxEcmFnRGVzdGlu
YXRpb25BY3Rpb24+IGRlc3RpbmF0aW9uQWN0aW9uTWFzaykKICAgICA6IG1fY2xpZW50UG9zaXRp
b24oY2xpZW50UG9zaXRpb24pCiAgICAgLCBtX2dsb2JhbFBvc2l0aW9uKGdsb2JhbFBvc2l0aW9u
KQogICAgICwgbV9wbGF0Zm9ybURyYWdEYXRhKGRhdGEpCkBAIC0xMzEsNyArMTMxLDcgQEAgRHJh
Z0RhdGE6OkRyYWdEYXRhKERyYWdEYXRhUmVmIGRhdGEsIGNvbnN0IEludFBvaW50JiBjbGllbnRQ
b3NpdGlvbiwgY29uc3QgSW50UG8KIHsKIH0KIAotRHJhZ0RhdGE6OkRyYWdEYXRhKGNvbnN0IFN0
cmluZyYgZHJhZ1N0b3JhZ2VOYW1lLCBjb25zdCBJbnRQb2ludCYgY2xpZW50UG9zaXRpb24sIGNv
bnN0IEludFBvaW50JiBnbG9iYWxQb3NpdGlvbiwgT3B0aW9uU2V0PERyYWdPcGVyYXRpb24+IHNv
dXJjZU9wZXJhdGlvbk1hc2ssIERyYWdBcHBsaWNhdGlvbkZsYWdzIGZsYWdzLCBPcHRpb25TZXQ8
RHJhZ0Rlc3RpbmF0aW9uQWN0aW9uPiBkZXN0aW5hdGlvbkFjdGlvbk1hc2spCitEcmFnRGF0YTo6
RHJhZ0RhdGEoY29uc3QgU3RyaW5nJiBkcmFnU3RvcmFnZU5hbWUsIGNvbnN0IEludFBvaW50JiBj
bGllbnRQb3NpdGlvbiwgY29uc3QgSW50UG9pbnQmIGdsb2JhbFBvc2l0aW9uLCBPcHRpb25TZXQ8
RHJhZ09wZXJhdGlvbj4gc291cmNlT3BlcmF0aW9uTWFzaywgT3B0aW9uU2V0PERyYWdBcHBsaWNh
dGlvbkZsYWdzPiBmbGFncywgT3B0aW9uU2V0PERyYWdEZXN0aW5hdGlvbkFjdGlvbj4gZGVzdGlu
YXRpb25BY3Rpb25NYXNrKQogICAgIDogbV9jbGllbnRQb3NpdGlvbihjbGllbnRQb3NpdGlvbikK
ICAgICAsIG1fZ2xvYmFsUG9zaXRpb24oZ2xvYmFsUG9zaXRpb24pCiAgICAgLCBtX3BsYXRmb3Jt
RHJhZ0RhdGEoMCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9EcmFn
RGF0YVdpbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vRHJhZ0RhdGFXaW4uY3Bw
CmluZGV4IDE4ODcwZjIyNzUyODdiOTdkYWEzOWU4MDNiYzdlMmIzOGU1ZWY0MDIuLjYxZWE0YzQ3
ZmEzNTIyNTg4ZjgzYTY4NmQ4NWM3N2MxNDI5MDljMjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL3dpbi9EcmFnRGF0YVdpbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vd2luL0RyYWdEYXRhV2luLmNwcApAQCAtNDEsNyArNDEsNyBAQAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCiBEcmFnRGF0YTo6RHJhZ0RhdGEoY29uc3QgRHJhZ0RhdGFNYXAmIGRhdGEsIGNv
bnN0IEludFBvaW50JiBjbGllbnRQb3NpdGlvbiwgY29uc3QgSW50UG9pbnQmIGdsb2JhbFBvc2l0
aW9uLAotICAgIE9wdGlvblNldDxEcmFnT3BlcmF0aW9uPiBzb3VyY2VPcGVyYXRpb25NYXNrLCBE
cmFnQXBwbGljYXRpb25GbGFncyBmbGFncykKKyAgICBPcHRpb25TZXQ8RHJhZ09wZXJhdGlvbj4g
c291cmNlT3BlcmF0aW9uTWFzaywgT3B0aW9uU2V0PERyYWdBcHBsaWNhdGlvbkZsYWdzPiBmbGFn
cykKICAgICA6IG1fY2xpZW50UG9zaXRpb24oY2xpZW50UG9zaXRpb24pCiAgICAgLCBtX2dsb2Jh
bFBvc2l0aW9uKGdsb2JhbFBvc2l0aW9uKQogICAgICwgbV9wbGF0Zm9ybURyYWdEYXRhKDApCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5IGIvU291
cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weQppbmRleCAxODNhYTQ5YmRlZWYy
ZGJkYzg0ZDNkYTJiMjc3ODRlYzNlYmRjNjIzLi5lOWRhZTllNTNjNTAyZDdjZjhjNzQ0YjFhOWFm
NWJkNWE0YjI3MWNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21l
c3NhZ2VzLnB5CisrKyBiL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHkK
QEAgLTIwNyw2ICsyMDcsNyBAQCBkZWYgdHlwZXNfdGhhdF9jYW5ub3RfYmVfZm9yd2FyZF9kZWNs
YXJlZCgpOgogICAgICAgICAnU3RyaW5nJywKICAgICAgICAgJ1dlYkNvcmU6OkNvbG9yU3BhY2Un
LAogICAgICAgICAnV2ViQ29yZTo6RGljdGF0aW9uQ29udGV4dCcsCisgICAgICAgICdXZWJDb3Jl
OjpEcmFnQXBwbGljYXRpb25GbGFncycsCiAgICAgICAgICdXZWJDb3JlOjpEb2N1bWVudElkZW50
aWZpZXInLAogICAgICAgICAnV2ViQ29yZTo6RG9jdW1lbnRPcldvcmtlcklkZW50aWZpZXInLAog
ICAgICAgICAnV2ViQ29yZTo6RmV0Y2hJZGVudGlmaWVyJywKQEAgLTU5MSw2ICs1OTIsNyBAQCBk
ZWYgaGVhZGVyc19mb3JfdHlwZSh0eXBlKToKICAgICAgICAgJ1dlYkNvcmU6OkRPTVBhc3RlQWNj
ZXNzUmVzcG9uc2UnOiBbJzxXZWJDb3JlL0RPTVBhc3RlQWNjZXNzLmg+J10sCiAgICAgICAgICdX
ZWJDb3JlOjpEb2N1bWVudE9yV29ya2VySWRlbnRpZmllcic6IFsnPFdlYkNvcmUvU2VydmljZVdv
cmtlclR5cGVzLmg+J10sCiAgICAgICAgICdXZWJLaXQ6OkRvY3VtZW50RWRpdGluZ0NvbnRleHRS
ZXF1ZXN0JzogWyciRG9jdW1lbnRFZGl0aW5nQ29udGV4dC5oIiddLAorICAgICAgICAnV2ViQ29y
ZTo6RHJhZ0FwcGxpY2F0aW9uRmxhZ3MnOiBbJzxXZWJDb3JlL0RyYWdEYXRhLmg+J10sCiAgICAg
ICAgICdXZWJDb3JlOjpEcmFnSGFuZGxpbmdNZXRob2QnOiBbJzxXZWJDb3JlL0RyYWdBY3Rpb25z
Lmg+J10sCiAgICAgICAgICdXZWJDb3JlOjpEcmFnT3BlcmF0aW9uJzogWyc8V2ViQ29yZS9EcmFn
QWN0aW9ucy5oPiddLAogICAgICAgICAnV2ViQ29yZTo6RHJhZ1NvdXJjZUFjdGlvbic6IFsnPFdl
YkNvcmUvRHJhZ0FjdGlvbnMuaD4nXSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJDb3Jl
QXJndW1lbnRDb2RlcnMuY3BwCmluZGV4IDQwZGYwZDFlZjc1MjM4OTFkNTVlY2NjMzMxZWY3ZTE3
ODRhMWZhZDQuLjQ0YjAzNGI5ODE4N2UzNTNiMDc0YzIxZmM1NjAxNWY2ZTY4M2MyN2MgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcApAQCAtMTU1
NCw3ICsxNTU0LDcgQEAgYm9vbCBBcmd1bWVudENvZGVyPERyYWdEYXRhPjo6ZGVjb2RlKERlY29k
ZXImIGRlY29kZXIsIERyYWdEYXRhJiBkcmFnRGF0YSkKICAgICBpZiAoIWRlY29kZXIuZGVjb2Rl
KGRyYWdnaW5nU291cmNlT3BlcmF0aW9uTWFzaykpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAot
ICAgIERyYWdBcHBsaWNhdGlvbkZsYWdzIGFwcGxpY2F0aW9uRmxhZ3M7CisgICAgT3B0aW9uU2V0
PERyYWdBcHBsaWNhdGlvbkZsYWdzPiBhcHBsaWNhdGlvbkZsYWdzOwogICAgIGlmICghZGVjb2Rl
ci5kZWNvZGUoYXBwbGljYXRpb25GbGFncykpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwubW0gYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3SW1wbC5tbQppbmRleCAwZjllOGZj
ZGU1ZTUxMzdiNjg3NDY4NjIxZWQ2ZjVjNTRkNzIwYTVkLi5hYjFmYzYyMjFlODYzZTQxZmE0YjEz
YzMxY2FmNmU4NGFmZmQ5ZDAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9D
b2NvYS9XZWJWaWV3SW1wbC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9X
ZWJWaWV3SW1wbC5tbQpAQCAtMzkyOSwxOSArMzkyOSwxOSBAQCB2b2lkIFdlYlZpZXdJbXBsOjpz
ZW5kRHJhZ0VuZFRvUGFnZShDR1BvaW50IGVuZFBvaW50LCBOU0RyYWdPcGVyYXRpb24gZHJhZ09w
ZXJhdAogICAgIG1fcGFnZS0+ZHJhZ0VuZGVkKFdlYkNvcmU6OkludFBvaW50KHdpbmRvd01vdXNl
TG9jKSwgV2ViQ29yZTo6SW50UG9pbnQoV2ViQ29yZTo6Z2xvYmFsUG9pbnQod2luZG93TW91c2VM
b2MsIFttX3ZpZXcgd2luZG93XSkpLCBjb3JlRHJhZ09wZXJhdGlvbk1hc2soZHJhZ09wZXJhdGlv
bk1hc2spKTsKIH0KIAotc3RhdGljIFdlYkNvcmU6OkRyYWdBcHBsaWNhdGlvbkZsYWdzIGFwcGxp
Y2F0aW9uRmxhZ3NGb3JEcmFnKE5TVmlldyAqdmlldywgaWQgPE5TRHJhZ2dpbmdJbmZvPiBkcmFn
Z2luZ0luZm8pCitzdGF0aWMgT3B0aW9uU2V0PFdlYkNvcmU6OkRyYWdBcHBsaWNhdGlvbkZsYWdz
PiBhcHBsaWNhdGlvbkZsYWdzRm9yRHJhZyhOU1ZpZXcgKnZpZXcsIGlkIDxOU0RyYWdnaW5nSW5m
bz4gZHJhZ2dpbmdJbmZvKQogewogICAgIEFTU0VSVChoYXNQcm9jZXNzUHJpdmlsZWdlKFByb2Nl
c3NQcml2aWxlZ2U6OkNhbkNvbW11bmljYXRlV2l0aFdpbmRvd1NlcnZlcikpOwotICAgIHVpbnQz
Ml90IGZsYWdzID0gMDsKKyAgICBPcHRpb25TZXQ8V2ViQ29yZTo6RHJhZ0FwcGxpY2F0aW9uRmxh
Z3M+IGZsYWdzOwogICAgIGlmIChbTlNBcHAgbW9kYWxXaW5kb3ddKQotICAgICAgICBmbGFncyA9
IFdlYkNvcmU6OkRyYWdBcHBsaWNhdGlvbklzTW9kYWw7CisgICAgICAgIGZsYWdzLmFkZChXZWJD
b3JlOjpEcmFnQXBwbGljYXRpb25Jc01vZGFsKTsKICAgICBpZiAodmlldy53aW5kb3cuYXR0YWNo
ZWRTaGVldCkKLSAgICAgICAgZmxhZ3MgfD0gV2ViQ29yZTo6RHJhZ0FwcGxpY2F0aW9uSGFzQXR0
YWNoZWRTaGVldDsKKyAgICAgICAgZmxhZ3MuYWRkKFdlYkNvcmU6OkRyYWdBcHBsaWNhdGlvbkhh
c0F0dGFjaGVkU2hlZXQpOwogICAgIGlmIChkcmFnZ2luZ0luZm8uZHJhZ2dpbmdTb3VyY2UgPT0g
dmlldykKLSAgICAgICAgZmxhZ3MgfD0gV2ViQ29yZTo6RHJhZ0FwcGxpY2F0aW9uSXNTb3VyY2U7
CisgICAgICAgIGZsYWdzLmFkZChXZWJDb3JlOjpEcmFnQXBwbGljYXRpb25Jc1NvdXJjZSk7CiAg
ICAgaWYgKFtOU0FwcCBjdXJyZW50RXZlbnRdLm1vZGlmaWVyRmxhZ3MgJiBOU0V2ZW50TW9kaWZp
ZXJGbGFnT3B0aW9uKQotICAgICAgICBmbGFncyB8PSBXZWJDb3JlOjpEcmFnQXBwbGljYXRpb25J
c0NvcHlLZXlEb3duOwotICAgIHJldHVybiBzdGF0aWNfY2FzdDxXZWJDb3JlOjpEcmFnQXBwbGlj
YXRpb25GbGFncz4oZmxhZ3MpOworICAgICAgICBmbGFncy5hZGQoV2ViQ29yZTo6RHJhZ0FwcGxp
Y2F0aW9uSXNDb3B5S2V5RG93bik7CisgICAgcmV0dXJuIGZsYWdzOwogCiB9CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggMjc0MmYxM2VjZjM2
ZDYwY2NmZDY3YTNmZDIxNTQ3NWIwMDY0ZjgzMi4uN2Q3N2M3NTk2MmFhMDc0NTRmYWYzYzc4NjQ3
ZDdhZThmNTYwZjQ3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5jcHAKQEAgLTM5ODEsMTQgKzM5ODEsMTQgQEAgTm90aWZpY2F0aW9uUGVybWlzc2lvblJl
cXVlc3RNYW5hZ2VyKiBXZWJQYWdlOjpub3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmEK
ICNpZiBFTkFCTEUoRFJBR19TVVBQT1JUKQogCiAjaWYgUExBVEZPUk0oR1RLKQotdm9pZCBXZWJQ
YWdlOjpwZXJmb3JtRHJhZ0NvbnRyb2xsZXJBY3Rpb24oRHJhZ0NvbnRyb2xsZXJBY3Rpb24gYWN0
aW9uLCBjb25zdCBJbnRQb2ludCYgY2xpZW50UG9zaXRpb24sIGNvbnN0IEludFBvaW50JiBnbG9i
YWxQb3NpdGlvbiwgT3B0aW9uU2V0PERyYWdPcGVyYXRpb24+IGRyYWdnaW5nU291cmNlT3BlcmF0
aW9uTWFzaywgU2VsZWN0aW9uRGF0YSYmIHNlbGVjdGlvbkRhdGEsIHVpbnQzMl90IGZsYWdzKQor
dm9pZCBXZWJQYWdlOjpwZXJmb3JtRHJhZ0NvbnRyb2xsZXJBY3Rpb24oRHJhZ0NvbnRyb2xsZXJB
Y3Rpb24gYWN0aW9uLCBjb25zdCBJbnRQb2ludCYgY2xpZW50UG9zaXRpb24sIGNvbnN0IEludFBv
aW50JiBnbG9iYWxQb3NpdGlvbiwgT3B0aW9uU2V0PERyYWdPcGVyYXRpb24+IGRyYWdnaW5nU291
cmNlT3BlcmF0aW9uTWFzaywgU2VsZWN0aW9uRGF0YSYmIHNlbGVjdGlvbkRhdGEsIE9wdGlvblNl
dDxEcmFnQXBwbGljYXRpb25GbGFncz4gZmxhZ3MpCiB7CiAgICAgaWYgKCFtX3BhZ2UpIHsKICAg
ICAgICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpEaWRQZXJmb3JtRHJhZ0NvbnRyb2xs
ZXJBY3Rpb24oV1RGOjpudWxsb3B0LCBEcmFnSGFuZGxpbmdNZXRob2Q6Ok5vbmUsIGZhbHNlLCAw
LCB7IH0sIHsgfSkpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgRHJhZ0RhdGEgZHJh
Z0RhdGEoJnNlbGVjdGlvbkRhdGEsIGNsaWVudFBvc2l0aW9uLCBnbG9iYWxQb3NpdGlvbiwgZHJh
Z2dpbmdTb3VyY2VPcGVyYXRpb25NYXNrLCBzdGF0aWNfY2FzdDxEcmFnQXBwbGljYXRpb25GbGFn
cz4oZmxhZ3MpKTsKKyAgICBEcmFnRGF0YSBkcmFnRGF0YSgmc2VsZWN0aW9uRGF0YSwgY2xpZW50
UG9zaXRpb24sIGdsb2JhbFBvc2l0aW9uLCBkcmFnZ2luZ1NvdXJjZU9wZXJhdGlvbk1hc2ssIGZs
YWdzKTsKICAgICBzd2l0Y2ggKGFjdGlvbikgewogICAgIGNhc2UgRHJhZ0NvbnRyb2xsZXJBY3Rp
b246OkVudGVyZWQ6IHsKICAgICAgICAgYXV0byByZXNvbHZlZERyYWdPcGVyYXRpb24gPSBtX3Bh
Z2UtPmRyYWdDb250cm9sbGVyKCkuZHJhZ0VudGVyZWQoZHJhZ0RhdGEpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCmluZGV4IDYxN2U2YWYyZmQzNmNkYjg5M2Mw
MmMxMjIwMzNlMjg3MTViYTY0OTAuLjcwMDg4NjYzNDI4YWRmMmQzNjY0ZmVkMzFjODk0ZjA1NjU3
OTFlMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKQEAg
LTE5Myw2ICsxOTMsNyBAQCBjbGFzcyBTdWJzdGl0dXRlRGF0YTsKIGNsYXNzIFRleHRDaGVja2lu
Z1JlcXVlc3Q7CiBjbGFzcyBWaXNpYmxlUG9zaXRpb247CiAKK2VudW0gRHJhZ0FwcGxpY2F0aW9u
RmxhZ3M7CiBlbnVtIFN5bnRoZXRpY0NsaWNrVHlwZSA6IGludDhfdDsKIGVudW0gY2xhc3MgRE9N
UGFzdGVBY2Nlc3NSZXNwb25zZSA6IHVpbnQ4X3Q7CiBlbnVtIGNsYXNzIERyYWdIYW5kbGluZ01l
dGhvZCA6IHVpbnQ4X3Q7CkBAIC05MDAsNyArOTAxLDcgQEAgcHVibGljOgogICAgIHZvaWQgcmVz
dG9yZVNlbGVjdGlvbkluRm9jdXNlZEVkaXRhYmxlRWxlbWVudCgpOwogCiAjaWYgRU5BQkxFKERS
QUdfU1VQUE9SVCkgJiYgUExBVEZPUk0oR1RLKQotICAgIHZvaWQgcGVyZm9ybURyYWdDb250cm9s
bGVyQWN0aW9uKERyYWdDb250cm9sbGVyQWN0aW9uLCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYg
Y2xpZW50UG9zaXRpb24sIGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBnbG9iYWxQb3NpdGlvbiwg
T3B0aW9uU2V0PFdlYkNvcmU6OkRyYWdPcGVyYXRpb24+IGRyYWdnaW5nU291cmNlT3BlcmF0aW9u
TWFzaywgV2ViQ29yZTo6U2VsZWN0aW9uRGF0YSYmLCB1aW50MzJfdCBmbGFncyk7CisgICAgdm9p
ZCBwZXJmb3JtRHJhZ0NvbnRyb2xsZXJBY3Rpb24oRHJhZ0NvbnRyb2xsZXJBY3Rpb24sIGNvbnN0
IFdlYkNvcmU6OkludFBvaW50JiBjbGllbnRQb3NpdGlvbiwgY29uc3QgV2ViQ29yZTo6SW50UG9p
bnQmIGdsb2JhbFBvc2l0aW9uLCBPcHRpb25TZXQ8V2ViQ29yZTo6RHJhZ09wZXJhdGlvbj4gZHJh
Z2dpbmdTb3VyY2VPcGVyYXRpb25NYXNrLCBXZWJDb3JlOjpTZWxlY3Rpb25EYXRhJiYsIE9wdGlv
blNldDxXZWJDb3JlOjpEcmFnQXBwbGljYXRpb25GbGFncz4pOwogI2VuZGlmCiAKICNpZiBFTkFC
TEUoRFJBR19TVVBQT1JUKSAmJiAhUExBVEZPUk0oR1RLKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KaW5kZXggYTU5NWU3ZDky
MTJiM2VkYzgyOTM4OWZjZGZmZjkyNDUyYTU4ZDgwZS4uZGFmNDA3NTBlYWUyYmY3NDJkM2VjNThj
ZDZjMzhjNGFhMjc5YzgxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCkBAIC0zMDksNyArMzA5LDcgQEAgR2VuZXJhdGVT
eW50aGV0aWNFZGl0aW5nQ29tbWFuZChlbnVtOnVpbnQ4X3QgV2ViS2l0OjpTeW50aGV0aWNFZGl0
aW5nQ29tbWFuZFR5cGUKIAogICAgICMgRHJhZyBhbmQgZHJvcC4KICNpZiBQTEFURk9STShHVEsp
ICYmIEVOQUJMRShEUkFHX1NVUFBPUlQpCi0gICAgUGVyZm9ybURyYWdDb250cm9sbGVyQWN0aW9u
KGVudW06dWludDhfdCBXZWJLaXQ6OkRyYWdDb250cm9sbGVyQWN0aW9uIGFjdGlvbiwgV2ViQ29y
ZTo6SW50UG9pbnQgY2xpZW50UG9zaXRpb24sIFdlYkNvcmU6OkludFBvaW50IGdsb2JhbFBvc2l0
aW9uLCBPcHRpb25TZXQ8V2ViQ29yZTo6RHJhZ09wZXJhdGlvbj4gZHJhZ2dpbmdTb3VyY2VPcGVy
YXRpb25NYXNrLCBXZWJDb3JlOjpTZWxlY3Rpb25EYXRhIHNlbGVjdGlvbiwgdWludDMyX3QgZmxh
Z3MpCisgICAgUGVyZm9ybURyYWdDb250cm9sbGVyQWN0aW9uKGVudW06dWludDhfdCBXZWJLaXQ6
OkRyYWdDb250cm9sbGVyQWN0aW9uIGFjdGlvbiwgV2ViQ29yZTo6SW50UG9pbnQgY2xpZW50UG9z
aXRpb24sIFdlYkNvcmU6OkludFBvaW50IGdsb2JhbFBvc2l0aW9uLCBPcHRpb25TZXQ8V2ViQ29y
ZTo6RHJhZ09wZXJhdGlvbj4gZHJhZ2dpbmdTb3VyY2VPcGVyYXRpb25NYXNrLCBXZWJDb3JlOjpT
ZWxlY3Rpb25EYXRhIHNlbGVjdGlvbiwgT3B0aW9uU2V0PFdlYkNvcmU6OkRyYWdBcHBsaWNhdGlv
bkZsYWdzPiBmbGFncykKICNlbmRpZgogI2lmICFQTEFURk9STShHVEspICYmIEVOQUJMRShEUkFH
X1NVUFBPUlQpCiAgICAgUGVyZm9ybURyYWdDb250cm9sbGVyQWN0aW9uKGVudW06dWludDhfdCBX
ZWJLaXQ6OkRyYWdDb250cm9sbGVyQWN0aW9uIGFjdGlvbiwgV2ViQ29yZTo6RHJhZ0RhdGEgZHJh
Z0RhdGEsIFdlYktpdDo6U2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlIHNhbmRib3hFeHRlbnNpb25I
YW5kbGUsIFdlYktpdDo6U2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlQXJyYXkgc2FuZGJveEV4dGVu
c2lvbnNGb3JVcGxvYWQpCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFu
Z2VMb2cKaW5kZXggODMyZDNjYWIzMzE2NWRkZGI4YjczNThhZTliN2QyY2Q4MGY0Mjc2Yy4uOTQ5
YTY2MWUzNTM5YjUxM2UzNWNlYTQwYTVlMjk1MTI0N2E4ZmY1NyAxMDA2NDQKLS0tIGEvVG9vbHMv
Q2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDIwLTA4
LTEwICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQXV4aWxpYXJ5
UHJvY2Vzczo6ZGlkUmVjZWl2ZUludmFsaWRNZXNzYWdlKCkgZm9yIFdlYlBhZ2U6OlBlcmZvcm1E
cmFnQ29udHJvbGxlckFjdGlvbiBJUEMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIxNTM0MQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTkzNDQwOTE+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIEFQ
SSB0ZXN0IGNvdmVyYWdlLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9tYWMvRHJh
Z0FuZERyb3BUZXN0c01hYy5tbToKKyAgICAgICAgKG92ZXJyaWRlQ3VycmVudEV2ZW50KToKKyAg
ICAgICAgKFRFU1QpOgorCiAyMDIwLTA4LTEwICBCcmlhbiBCdXJnICA8YmJ1cmdAYXBwbGUuY29t
PgogCiAgICAgICAgIFVucmV2aWV3ZWQsIGZpeCBvcmRlcmluZyBvZiBjb250cmlidXRvcnMuCmRp
ZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL21hYy9EcmFnQW5kRHJvcFRlc3Rz
TWFjLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9tYWMvRHJhZ0FuZERyb3BUZXN0c01h
Yy5tbQppbmRleCBjNDgyZTRiOTFjNzVmODM4OGU1NmVjMTk4M2MzZmY0NDZmMjAwMjE0Li4wYWIy
ZTY0Yjk3NjYwZjIyNjk2MDQzMTUwOWZmYmQxNGM0ODlmOGRiIDEwMDY0NAotLS0gYS9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL21hYy9EcmFnQW5kRHJvcFRlc3RzTWFjLm1tCisrKyBiL1Rvb2xz
L1Rlc3RXZWJLaXRBUEkvVGVzdHMvbWFjL0RyYWdBbmREcm9wVGVzdHNNYWMubW0KQEAgLTI2LDgg
KzI2LDEwIEBACiAjaW1wb3J0ICJjb25maWcuaCIKIAogI2ltcG9ydCAiRHJhZ0FuZERyb3BTaW11
bGF0b3IuaCIKKyNpbXBvcnQgIkluc3RhbmNlTWV0aG9kU3dpenpsZXIuaCIKICNpbXBvcnQgIlBs
YXRmb3JtVXRpbGl0aWVzLmgiCiAjaW1wb3J0IDxXZWJLaXQvV0tQcmVmZXJlbmNlc1ByaXZhdGUu
aD4KKyNpbXBvcnQgPFdlYktpdC9XS1dlYlZpZXdQcml2YXRlLmg+CiAKICNpZiBFTkFCTEUoRFJB
R19TVVBQT1JUKSAmJiBQTEFURk9STShNQUMpCiAKQEAgLTEzNiw2ICsxMzgsMzUgQEAgVEVTVChE
cmFnQW5kRHJvcFRlc3RzLCBEcmFnSW1hZ2VGaWxlSW50b0ZpbGVVcGxvYWQpCiAgICAgRVhQRUNU
X0VRKDEsIFt3ZWJWaWV3IHN0cmluZ0J5RXZhbHVhdGluZ0phdmFTY3JpcHQ6QCJmaWxlY291bnQu
dGV4dENvbnRlbnQiXS5pbnRlZ2VyVmFsdWUpOwogfQogCitzdGF0aWMgTlNFdmVudCAqb3ZlcnJp
ZGVDdXJyZW50RXZlbnQoKQoreworICAgIHJldHVybiBbTlNFdmVudCBtb3VzZUV2ZW50V2l0aFR5
cGU6TlNFdmVudFR5cGVMZWZ0TW91c2VEcmFnZ2VkCisgICAgICAgICAgICAgICAgbG9jYXRpb246
TlNNYWtlUG9pbnQoMCwgMjAwKQorICAgICAgICAgICBtb2RpZmllckZsYWdzOk5TRXZlbnRNb2Rp
ZmllckZsYWdPcHRpb24KKyAgICAgICAgICAgICAgIHRpbWVzdGFtcDpbTlNEYXRlIHRpbWVJbnRl
cnZhbFNpbmNlUmVmZXJlbmNlRGF0ZV0KKyAgICAgICAgICAgIHdpbmRvd051bWJlcjowCisgICAg
ICAgICAgICAgICAgIGNvbnRleHQ6bmlsCisgICAgICAgICAgICAgZXZlbnROdW1iZXI6MQorICAg
ICAgICAgICAgICBjbGlja0NvdW50OjEKKyAgICAgICAgICAgICAgICBwcmVzc3VyZToxXTsKK30K
KworVEVTVChEcmFnQW5kRHJvcFRlc3RzLCBEcmFnSW1hZ2VXaXRoT3B0aW9uS2V5RG93bikKK3sK
KyAgICBJbnN0YW5jZU1ldGhvZFN3aXp6bGVyIHN3aXp6bGVyKFtOU0FwcCBjbGFzc10sIEBzZWxl
Y3RvcihjdXJyZW50RXZlbnQpLCByZWludGVycHJldF9jYXN0PElNUD4ob3ZlcnJpZGVDdXJyZW50
RXZlbnQpKTsKKworICAgIGF1dG8gc2ltdWxhdG9yID0gYWRvcHROUyhbW0RyYWdBbmREcm9wU2lt
dWxhdG9yIGFsbG9jXSBpbml0V2l0aFdlYlZpZXdGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDQwMCwg
NDAwKV0pOworICAgIFRlc3RXS1dlYlZpZXcgKndlYlZpZXcgPSBbc2ltdWxhdG9yIHdlYlZpZXdd
OworCisgICAgW3dlYlZpZXcgc3luY2hyb25vdXNseUxvYWRUZXN0UGFnZU5hbWVkOkAiaW1hZ2Ut
YW5kLWNvbnRlbnRlZGl0YWJsZSJdOworCisgICAgYXV0byBwaWQgPSBbd2ViVmlldyBfd2ViUHJv
Y2Vzc0lkZW50aWZpZXJdOworICAgIFtzaW11bGF0b3IgcnVuRnJvbTpOU01ha2VQb2ludCgxMDAs
IDEwMCkgdG86TlNNYWtlUG9pbnQoMTAwLCAzMDApXTsKKworICAgIEVYUEVDVF9FUShwaWQsIFt3
ZWJWaWV3IF93ZWJQcm9jZXNzSWRlbnRpZmllcl0pOworfQorCisKIFRFU1QoRHJhZ0FuZERyb3BU
ZXN0cywgUHJvdmlkZUltYWdlRGF0YUZvck11bHRpcGxlUGFzdGVib2FyZHMpCiB7CiAgICAgYXV0
byBzaW11bGF0b3IgPSBhZG9wdE5TKFtbRHJhZ0FuZERyb3BTaW11bGF0b3IgYWxsb2NdIGluaXRX
aXRoV2ViVmlld0ZyYW1lOk5TTWFrZVJlY3QoMCwgMCwgNDAwLCA0MDApXSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>406341</attachid>
            <date>2020-08-10 16:17:38 -0700</date>
            <delta_ts>2020-08-10 16:36:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-215341-20200810161737.patch</filename>
            <type>text/plain</type>
            <size>22521</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY1NDM5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDkyNTZkODZlZmQ2Yzlh
NDU5YjA1Nzg0YjIwMDJmZTk5MTViOTM5Yy4uMGJhZDI0ZjcwNDIyYjg3NjJkZDI0NTFkOTg0ODQ1
Y2Q0NjJmMmQyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDIwLTA4LTEwICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQXV4aWxpYXJ5UHJvY2Vzczo6
ZGlkUmVjZWl2ZUludmFsaWRNZXNzYWdlKCkgZm9yIFdlYlBhZ2U6OlBlcmZvcm1EcmFnQ29udHJv
bGxlckFjdGlvbiBJUEMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIxNTM0MQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTkzNDQwOTE+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ29uc2lzdGVudGx5IHVz
ZSBPcHRpb25TZXQ8RHJhZ0FwcGxpY2F0aW9uRmxhZ3M+IGluc3RlYWQgb2YgRHJhZ0FwcGxpY2F0
aW9uRmxhZ3MuCisKKyAgICAgICAgKiBwYWdlL2d0ay9EcmFnQ29udHJvbGxlckd0ay5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpEcmFnQ29udHJvbGxlcjo6aXNDb3B5S2V5RG93bik6CisgICAgICAg
ICogcGFnZS9tYWMvRHJhZ0NvbnRyb2xsZXJNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpEcmFn
Q29udHJvbGxlcjo6aXNDb3B5S2V5RG93bik6CisgICAgICAgIChXZWJDb3JlOjpEcmFnQ29udHJv
bGxlcjo6ZHJhZ09wZXJhdGlvbik6CisgICAgICAgICogcGxhdGZvcm0vRHJhZ0RhdGEuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RHJhZ0RhdGE6OkRyYWdEYXRhKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9EcmFnRGF0YS5oOgorICAgICAgICAoV2ViQ29yZTo6RHJhZ0RhdGE6OmZsYWdzIGNvbnN0KToK
KyAgICAgICAgKiBwbGF0Zm9ybS9jb2NvYS9EcmFnRGF0YUNvY29hLm1tOgorICAgICAgICAoV2Vi
Q29yZTo6RHJhZ0RhdGE6OkRyYWdEYXRhKToKKyAgICAgICAgKiBwbGF0Zm9ybS93aW4vRHJhZ0Rh
dGFXaW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6RHJhZ0RhdGE6OkRyYWdEYXRhKToKKwogMjAy
MC0wOC0xMCAgRXJpYyBDYXJsc29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4KIAogICAgICAg
ICByMjYyNDU2IGJyb2tlIHNpdGVzIHRoYXQgZXhwZWN0IHdlYmtpdERpc3BsYXlpbmdGdWxsc2Ny
ZWVuIHRvIGJlIHRydWUgYWxtb3N0IGltbWVkaWF0ZWx5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDM3ZmU4MWI5Y2Q3
MWY3MzA1NGVhY2FhYjI5MDNmN2ZmZWM3NTFmYjEuLjlhNzgzMTc1YzM2OWYyNjg0MzNjODNlMjMx
ZmMwNGNkZDYyMWRhYjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMjAtMDgtMTAgIENo
cmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBBdXhpbGlhcnlQcm9jZXNz
OjpkaWRSZWNlaXZlSW52YWxpZE1lc3NhZ2UoKSBmb3IgV2ViUGFnZTo6UGVyZm9ybURyYWdDb250
cm9sbGVyQWN0aW9uIElQQworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjE1MzQxCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81OTM0NDA5MT4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEcmFnQXBwbGljYXRp
b25GbGFncyBpcyBhbiBlbnVtIGNvbnRhaW5pbmcgZmxhZ3MuIEl0IHdhcyBiZWluZyBzZW50IG92
ZXIgSVBDIGFzIGEgRHJhZ0FwcGxpY2F0aW9uRmxhZ3MKKyAgICAgICAgaW5zdGVhZCBvZiBhbiBP
cHRpb25TZXQ8RHJhZ0FwcGxpY2F0aW9uRmxhZ3M+LCBhbmQgdGh1cyB3b3VsZCBmYWlsIGVudW0g
dmFsdWUgdmFsaWRhdGlvbiB3aGVuIGRlY29kaW5nCisgICAgICAgIHdoZW4gbW9yZSB0aGFuIG9u
ZSBmbGFnIGlzIHNldC4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5Ogor
ICAgICAgICAqIFNoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwOgorICAgICAgICAoSVBD
OjpBcmd1bWVudENvZGVyPERyYWdEYXRhPjo6ZGVjb2RlKToKKyAgICAgICAgKiBVSVByb2Nlc3Mv
Q29jb2EvV2ViVmlld0ltcGwubW06CisgICAgICAgIChXZWJLaXQ6OmFwcGxpY2F0aW9uRmxhZ3NG
b3JEcmFnKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYlBhZ2U6OnBlcmZvcm1EcmFnQ29udHJvbGxlckFjdGlvbik6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbjoKKwogMjAyMC0wOC0xMCAgU2lodWkgTGl1ICA8
c2lodWlfbGl1QGFwcGxlLmNvbT4KIAogICAgICAgICBBbHdheXMgc3VzcGVuZCBJREIgd29yayB3
aGVuIG5ldHdvcmsgcHJvY2VzcyBpcyBwcmVwYXJlZCB0byBzdXNwZW5kCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL2d0ay9EcmFnQ29udHJvbGxlckd0ay5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL2d0ay9EcmFnQ29udHJvbGxlckd0ay5jcHAKaW5kZXggNjYwYmE5NWU0ZTIxMDIw
NDMyZTY4YWY0YWM4YjMwNjUwY2EzNTYzYy4uNGI2MTIwZDMyYmM3OGRjNDRiYzNhOWZlZDg3YTFi
MDEwYzM3NzlhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ndGsvRHJhZ0NvbnRy
b2xsZXJHdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvZ3RrL0RyYWdDb250cm9sbGVy
R3RrLmNwcApAQCAtNDcsNyArNDcsNyBAQCBjb25zdCBmbG9hdCBEcmFnQ29udHJvbGxlcjo6RHJh
Z0ltYWdlQWxwaGEgPSAwLjc1ZjsKIAogYm9vbCBEcmFnQ29udHJvbGxlcjo6aXNDb3B5S2V5RG93
bihjb25zdCBEcmFnRGF0YSYgZHJhZ0RhdGEpCiB7Ci0gICAgcmV0dXJuIGRyYWdEYXRhLmZsYWdz
KCkgJiBEcmFnQXBwbGljYXRpb25Jc0NvcHlLZXlEb3duOworICAgIHJldHVybiBkcmFnRGF0YS5m
bGFncygpLmNvbnRhaW5zKERyYWdBcHBsaWNhdGlvbklzQ29weUtleURvd24pOwogfQogCiBPcHRp
b25hbDxEcmFnT3BlcmF0aW9uPiBEcmFnQ29udHJvbGxlcjo6ZHJhZ09wZXJhdGlvbihjb25zdCBE
cmFnRGF0YSYgZHJhZ0RhdGEpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9E
cmFnQ29udHJvbGxlck1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL0RyYWdDb250cm9s
bGVyTWFjLm1tCmluZGV4IDE1ZmU1OTBlM2I1ZGNjOWI4ZmVmYjFlMjIzZjUwNjU0ZWViOTg2MDku
LjdlNDZhYzQ4OTc2NmUxYjZjOTdhZWM4Mjc0ZDY0Y2E1MGU4MzVlZWQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvbWFjL0RyYWdDb250cm9sbGVyTWFjLm1tCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvbWFjL0RyYWdDb250cm9sbGVyTWFjLm1tCkBAIC02MSwxMiArNjEsMTIgQEAg
Y29uc3QgZmxvYXQgRHJhZ0NvbnRyb2xsZXI6OkRyYWdJbWFnZUFscGhhID0gMC43NWY7CiAKIGJv
b2wgRHJhZ0NvbnRyb2xsZXI6OmlzQ29weUtleURvd24oY29uc3QgRHJhZ0RhdGEmIGRyYWdEYXRh
KQogewotICAgIHJldHVybiBkcmFnRGF0YS5mbGFncygpICYgRHJhZ0FwcGxpY2F0aW9uSXNDb3B5
S2V5RG93bjsKKyAgICByZXR1cm4gZHJhZ0RhdGEuZmxhZ3MoKS5jb250YWlucyhEcmFnQXBwbGlj
YXRpb25Jc0NvcHlLZXlEb3duKTsKIH0KICAgICAKIE9wdGlvbmFsPERyYWdPcGVyYXRpb24+IERy
YWdDb250cm9sbGVyOjpkcmFnT3BlcmF0aW9uKGNvbnN0IERyYWdEYXRhJiBkcmFnRGF0YSkKIHsK
LSAgICBpZiAoZHJhZ0RhdGEuZmxhZ3MoKSAmIERyYWdBcHBsaWNhdGlvbklzTW9kYWwpCisgICAg
aWYgKGRyYWdEYXRhLmZsYWdzKCkuY29udGFpbnMoRHJhZ0FwcGxpY2F0aW9uSXNNb2RhbCkpCiAg
ICAgICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CiAKICAgICBib29sIG1heUNvbnRhaW5VUkw7CkBA
IC03OCw3ICs3OCw3IEBAIE9wdGlvbmFsPERyYWdPcGVyYXRpb24+IERyYWdDb250cm9sbGVyOjpk
cmFnT3BlcmF0aW9uKGNvbnN0IERyYWdEYXRhJiBkcmFnRGF0YSkKICAgICBpZiAoIW1heUNvbnRh
aW5VUkwgJiYgIWRyYWdEYXRhLmNvbnRhaW5zUHJvbWlzZSgpKQogICAgICAgICByZXR1cm4gV1RG
OjpudWxsb3B0OwogCi0gICAgaWYgKCFtX2RvY3VtZW50VW5kZXJNb3VzZSB8fCAoIShkcmFnRGF0
YS5mbGFncygpICYgKERyYWdBcHBsaWNhdGlvbkhhc0F0dGFjaGVkU2hlZXQgfCBEcmFnQXBwbGlj
YXRpb25Jc1NvdXJjZSkpKSkKKyAgICBpZiAoIW1fZG9jdW1lbnRVbmRlck1vdXNlIHx8ICghKGRy
YWdEYXRhLmZsYWdzKCkuY29udGFpbnNBbGwoeyBEcmFnQXBwbGljYXRpb25IYXNBdHRhY2hlZFNo
ZWV0LCBEcmFnQXBwbGljYXRpb25Jc1NvdXJjZSB9KSkpKQogICAgICAgICByZXR1cm4gRHJhZ09w
ZXJhdGlvbjo6Q29weTsKIAogICAgIHJldHVybiBXVEY6Om51bGxvcHQ7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9EcmFnRGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9EcmFnRGF0YS5jcHAKaW5kZXggZThjNDBmNTU5MDJkOTNhNWE4NzJhYzBlZTBmZGFjYzNm
OWVkMmZjNi4uYzI3ZmQwZjZlYTFmNzAwNzliMGNlMGRlMWQxYTYzZWY4ZTJjZmM5NCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRHJhZ0RhdGEuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL0RyYWdEYXRhLmNwcApAQCAtMzIsNyArMzIsNyBAQAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCiAjaWYgIVBMQVRGT1JNKENPQ09BKQotRHJhZ0RhdGE6OkRyYWdEYXRhKERy
YWdEYXRhUmVmIGRhdGEsIGNvbnN0IEludFBvaW50JiBjbGllbnRQb3NpdGlvbiwgY29uc3QgSW50
UG9pbnQmIGdsb2JhbFBvc2l0aW9uLCBPcHRpb25TZXQ8RHJhZ09wZXJhdGlvbj4gc291cmNlT3Bl
cmF0aW9uTWFzaywgRHJhZ0FwcGxpY2F0aW9uRmxhZ3MgZmxhZ3MsIE9wdGlvblNldDxEcmFnRGVz
dGluYXRpb25BY3Rpb24+IGRlc3RpbmF0aW9uQWN0aW9uTWFzaykKK0RyYWdEYXRhOjpEcmFnRGF0
YShEcmFnRGF0YVJlZiBkYXRhLCBjb25zdCBJbnRQb2ludCYgY2xpZW50UG9zaXRpb24sIGNvbnN0
IEludFBvaW50JiBnbG9iYWxQb3NpdGlvbiwgT3B0aW9uU2V0PERyYWdPcGVyYXRpb24+IHNvdXJj
ZU9wZXJhdGlvbk1hc2ssIE9wdGlvblNldDxEcmFnQXBwbGljYXRpb25GbGFncz4gZmxhZ3MsIE9w
dGlvblNldDxEcmFnRGVzdGluYXRpb25BY3Rpb24+IGRlc3RpbmF0aW9uQWN0aW9uTWFzaykKICAg
ICA6IG1fY2xpZW50UG9zaXRpb24oY2xpZW50UG9zaXRpb24pCiAgICAgLCBtX2dsb2JhbFBvc2l0
aW9uKGdsb2JhbFBvc2l0aW9uKQogICAgICwgbV9wbGF0Zm9ybURyYWdEYXRhKGRhdGEpCkBAIC00
Miw3ICs0Miw3IEBAIERyYWdEYXRhOjpEcmFnRGF0YShEcmFnRGF0YVJlZiBkYXRhLCBjb25zdCBJ
bnRQb2ludCYgY2xpZW50UG9zaXRpb24sIGNvbnN0IEludFBvCiB7ICAKIH0KIAotRHJhZ0RhdGE6
OkRyYWdEYXRhKGNvbnN0IFN0cmluZyYsIGNvbnN0IEludFBvaW50JiBjbGllbnRQb3NpdGlvbiwg
Y29uc3QgSW50UG9pbnQmIGdsb2JhbFBvc2l0aW9uLCBPcHRpb25TZXQ8RHJhZ09wZXJhdGlvbj4g
c291cmNlT3BlcmF0aW9uTWFzaywgRHJhZ0FwcGxpY2F0aW9uRmxhZ3MgZmxhZ3MsIE9wdGlvblNl
dDxEcmFnRGVzdGluYXRpb25BY3Rpb24+IGRlc3RpbmF0aW9uQWN0aW9uTWFzaykKK0RyYWdEYXRh
OjpEcmFnRGF0YShjb25zdCBTdHJpbmcmLCBjb25zdCBJbnRQb2ludCYgY2xpZW50UG9zaXRpb24s
IGNvbnN0IEludFBvaW50JiBnbG9iYWxQb3NpdGlvbiwgT3B0aW9uU2V0PERyYWdPcGVyYXRpb24+
IHNvdXJjZU9wZXJhdGlvbk1hc2ssIE9wdGlvblNldDxEcmFnQXBwbGljYXRpb25GbGFncz4gZmxh
Z3MsIE9wdGlvblNldDxEcmFnRGVzdGluYXRpb25BY3Rpb24+IGRlc3RpbmF0aW9uQWN0aW9uTWFz
aykKICAgICA6IG1fY2xpZW50UG9zaXRpb24oY2xpZW50UG9zaXRpb24pCiAgICAgLCBtX2dsb2Jh
bFBvc2l0aW9uKGdsb2JhbFBvc2l0aW9uKQogICAgICwgbV9wbGF0Zm9ybURyYWdEYXRhKDApCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9EcmFnRGF0YS5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vRHJhZ0RhdGEuaAppbmRleCA0ZTUzZTYzMzM3NDg2MWZkMzE3MTI4NWI1
YzVlOTFmNjgxMDIzZTBiLi5hNmM3ZTcxNjY5MDdmZjEzOWJjZjQ3NDM5ZGMxNmQ2YjhhMDU2M2Q3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9EcmFnRGF0YS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL0RyYWdEYXRhLmgKQEAgLTU4LDcgKzU4LDcgQEAgdHlwZWRl
ZiB2b2lkKiBEcmFnRGF0YVJlZjsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1lbnVtIERyYWdB
cHBsaWNhdGlvbkZsYWdzIHsKK2VudW0gRHJhZ0FwcGxpY2F0aW9uRmxhZ3MgOiB1aW50OF90IHsK
ICAgICBEcmFnQXBwbGljYXRpb25Ob25lID0gMCwKICAgICBEcmFnQXBwbGljYXRpb25Jc01vZGFs
ID0gMSwKICAgICBEcmFnQXBwbGljYXRpb25Jc1NvdXJjZSA9IDIsCkBAIC03NiwyMCArNzYsMjAg
QEAgcHVibGljOgogICAgIGVudW0gY2xhc3MgRHJhZ2dpbmdQdXJwb3NlIHsgRm9yRWRpdGluZywg
Rm9yRmlsZVVwbG9hZCwgRm9yQ29sb3JDb250cm9sIH07CiAKICAgICAvLyBjbGllbnRQb3NpdGlv
biBpcyB0YWtlbiB0byBiZSB0aGUgcG9zaXRpb24gb2YgdGhlIGRyYWcgZXZlbnQgd2l0aGluIHRo
ZSB0YXJnZXQgd2luZG93LCB3aXRoICgwLDApIGF0IHRoZSB0b3AgbGVmdAotICAgIFdFQkNPUkVf
RVhQT1JUIERyYWdEYXRhKERyYWdEYXRhUmVmLCBjb25zdCBJbnRQb2ludCYgY2xpZW50UG9zaXRp
b24sIGNvbnN0IEludFBvaW50JiBnbG9iYWxQb3NpdGlvbiwgT3B0aW9uU2V0PERyYWdPcGVyYXRp
b24+LCBEcmFnQXBwbGljYXRpb25GbGFncyA9IERyYWdBcHBsaWNhdGlvbk5vbmUsIE9wdGlvblNl
dDxEcmFnRGVzdGluYXRpb25BY3Rpb24+ID0gYW55RHJhZ0Rlc3RpbmF0aW9uQWN0aW9uKCkpOwot
ICAgIFdFQkNPUkVfRVhQT1JUIERyYWdEYXRhKGNvbnN0IFN0cmluZyYgZHJhZ1N0b3JhZ2VOYW1l
LCBjb25zdCBJbnRQb2ludCYgY2xpZW50UG9zaXRpb24sIGNvbnN0IEludFBvaW50JiBnbG9iYWxQ
b3NpdGlvbiwgT3B0aW9uU2V0PERyYWdPcGVyYXRpb24+LCBEcmFnQXBwbGljYXRpb25GbGFncyA9
IERyYWdBcHBsaWNhdGlvbk5vbmUsIE9wdGlvblNldDxEcmFnRGVzdGluYXRpb25BY3Rpb24+ID0g
YW55RHJhZ0Rlc3RpbmF0aW9uQWN0aW9uKCkpOworICAgIFdFQkNPUkVfRVhQT1JUIERyYWdEYXRh
KERyYWdEYXRhUmVmLCBjb25zdCBJbnRQb2ludCYgY2xpZW50UG9zaXRpb24sIGNvbnN0IEludFBv
aW50JiBnbG9iYWxQb3NpdGlvbiwgT3B0aW9uU2V0PERyYWdPcGVyYXRpb24+LCBPcHRpb25TZXQ8
RHJhZ0FwcGxpY2F0aW9uRmxhZ3M+ID0gRHJhZ0FwcGxpY2F0aW9uTm9uZSwgT3B0aW9uU2V0PERy
YWdEZXN0aW5hdGlvbkFjdGlvbj4gPSBhbnlEcmFnRGVzdGluYXRpb25BY3Rpb24oKSk7CisgICAg
V0VCQ09SRV9FWFBPUlQgRHJhZ0RhdGEoY29uc3QgU3RyaW5nJiBkcmFnU3RvcmFnZU5hbWUsIGNv
bnN0IEludFBvaW50JiBjbGllbnRQb3NpdGlvbiwgY29uc3QgSW50UG9pbnQmIGdsb2JhbFBvc2l0
aW9uLCBPcHRpb25TZXQ8RHJhZ09wZXJhdGlvbj4sIE9wdGlvblNldDxEcmFnQXBwbGljYXRpb25G
bGFncz4gPSBEcmFnQXBwbGljYXRpb25Ob25lLCBPcHRpb25TZXQ8RHJhZ0Rlc3RpbmF0aW9uQWN0
aW9uPiA9IGFueURyYWdEZXN0aW5hdGlvbkFjdGlvbigpKTsKICAgICAvLyBUaGlzIGNvbnN0cnVj
dG9yIHNob3VsZCB1c2VkIG9ubHkgYnkgV2ViS2l0MiBJUEMgYmVjYXVzZSBEcmFnRGF0YQogICAg
IC8vIGlzIGluaXRpYWxpemVkIGJ5IHRoZSBkZWNvZGVyIGFuZCBub3QgaW4gdGhlIGNvbnN0cnVj
dG9yLgogICAgIERyYWdEYXRhKCkgPSBkZWZhdWx0OwogI2lmIFBMQVRGT1JNKFdJTikKLSAgICBX
RUJDT1JFX0VYUE9SVCBEcmFnRGF0YShjb25zdCBEcmFnRGF0YU1hcCYsIGNvbnN0IEludFBvaW50
JiBjbGllbnRQb3NpdGlvbiwgY29uc3QgSW50UG9pbnQmIGdsb2JhbFBvc2l0aW9uLCBPcHRpb25T
ZXQ8RHJhZ09wZXJhdGlvbj4gc291cmNlT3BlcmF0aW9uTWFzaywgRHJhZ0FwcGxpY2F0aW9uRmxh
Z3MgPSBEcmFnQXBwbGljYXRpb25Ob25lKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBEcmFnRGF0YShj
b25zdCBEcmFnRGF0YU1hcCYsIGNvbnN0IEludFBvaW50JiBjbGllbnRQb3NpdGlvbiwgY29uc3Qg
SW50UG9pbnQmIGdsb2JhbFBvc2l0aW9uLCBPcHRpb25TZXQ8RHJhZ09wZXJhdGlvbj4gc291cmNl
T3BlcmF0aW9uTWFzaywgT3B0aW9uU2V0PERyYWdBcHBsaWNhdGlvbkZsYWdzPiA9IERyYWdBcHBs
aWNhdGlvbk5vbmUpOwogICAgIGNvbnN0IERyYWdEYXRhTWFwJiBkcmFnRGF0YU1hcCgpOwogICAg
IHZvaWQgZ2V0RHJhZ0ZpbGVEZXNjcmlwdG9yRGF0YShpbnQmIHNpemUsIFN0cmluZyYgcGF0aG5h
bWUpOwogICAgIHZvaWQgZ2V0RHJhZ0ZpbGVDb250ZW50RGF0YShpbnQgc2l6ZSwgdm9pZCogZGF0
YUJsb2IpOwogI2VuZGlmCiAgICAgY29uc3QgSW50UG9pbnQmIGNsaWVudFBvc2l0aW9uKCkgY29u
c3QgeyByZXR1cm4gbV9jbGllbnRQb3NpdGlvbjsgfQogICAgIGNvbnN0IEludFBvaW50JiBnbG9i
YWxQb3NpdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fZ2xvYmFsUG9zaXRpb247IH0KLSAgICBEcmFn
QXBwbGljYXRpb25GbGFncyBmbGFncygpIGNvbnN0IHsgcmV0dXJuIG1fYXBwbGljYXRpb25GbGFn
czsgfQorICAgIE9wdGlvblNldDxEcmFnQXBwbGljYXRpb25GbGFncz4gZmxhZ3MoKSBjb25zdCB7
IHJldHVybiBtX2FwcGxpY2F0aW9uRmxhZ3M7IH0KICAgICBEcmFnRGF0YVJlZiBwbGF0Zm9ybURh
dGEoKSBjb25zdCB7IHJldHVybiBtX3BsYXRmb3JtRHJhZ0RhdGE7IH0KICAgICBPcHRpb25TZXQ8
RHJhZ09wZXJhdGlvbj4gZHJhZ2dpbmdTb3VyY2VPcGVyYXRpb25NYXNrKCkgY29uc3QgeyByZXR1
cm4gbV9kcmFnZ2luZ1NvdXJjZU9wZXJhdGlvbk1hc2s7IH0KICAgICBib29sIGNvbnRhaW5zVVJM
KEZpbGVuYW1lQ29udmVyc2lvblBvbGljeSA9IENvbnZlcnRGaWxlbmFtZXMpIGNvbnN0OwpAQCAt
MTMxLDcgKzEzMSw3IEBAIHByaXZhdGU6CiAgICAgSW50UG9pbnQgbV9nbG9iYWxQb3NpdGlvbjsK
ICAgICBEcmFnRGF0YVJlZiBtX3BsYXRmb3JtRHJhZ0RhdGE7CiAgICAgT3B0aW9uU2V0PERyYWdP
cGVyYXRpb24+IG1fZHJhZ2dpbmdTb3VyY2VPcGVyYXRpb25NYXNrOwotICAgIERyYWdBcHBsaWNh
dGlvbkZsYWdzIG1fYXBwbGljYXRpb25GbGFnczsKKyAgICBPcHRpb25TZXQ8RHJhZ0FwcGxpY2F0
aW9uRmxhZ3M+IG1fYXBwbGljYXRpb25GbGFnczsKICAgICBWZWN0b3I8U3RyaW5nPiBtX2ZpbGVO
YW1lczsKICAgICBPcHRpb25TZXQ8RHJhZ0Rlc3RpbmF0aW9uQWN0aW9uPiBtX2RyYWdEZXN0aW5h
dGlvbkFjdGlvbk1hc2s7CiAjaWYgUExBVEZPUk0oQ09DT0EpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9EcmFnRGF0YUNvY29hLm1tIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vY29jb2EvRHJhZ0RhdGFDb2NvYS5tbQppbmRleCAzYTEyODlkNGJjYzU2MDk2YWRl
ZmQwNTgwMDc0M2VkMDljNjRjNmNlLi43ZWJlZTdmODgyMzA3N2FjMWZlMWMzOTg5ZmUzOGRjZDll
YjIxYjk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9EcmFnRGF0
YUNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2NvY29hL0RyYWdEYXRhQ29j
b2EubW0KQEAgLTExNiw3ICsxMTYsNyBAQCBzdGF0aWMgaW5saW5lIFN0cmluZyB0aWZmUGFzdGVi
b2FyZFR5cGUoKQogI2VuZGlmCiB9CiAKLURyYWdEYXRhOjpEcmFnRGF0YShEcmFnRGF0YVJlZiBk
YXRhLCBjb25zdCBJbnRQb2ludCYgY2xpZW50UG9zaXRpb24sIGNvbnN0IEludFBvaW50JiBnbG9i
YWxQb3NpdGlvbiwgT3B0aW9uU2V0PERyYWdPcGVyYXRpb24+IHNvdXJjZU9wZXJhdGlvbk1hc2ss
IERyYWdBcHBsaWNhdGlvbkZsYWdzIGZsYWdzLCBPcHRpb25TZXQ8RHJhZ0Rlc3RpbmF0aW9uQWN0
aW9uPiBkZXN0aW5hdGlvbkFjdGlvbk1hc2spCitEcmFnRGF0YTo6RHJhZ0RhdGEoRHJhZ0RhdGFS
ZWYgZGF0YSwgY29uc3QgSW50UG9pbnQmIGNsaWVudFBvc2l0aW9uLCBjb25zdCBJbnRQb2ludCYg
Z2xvYmFsUG9zaXRpb24sIE9wdGlvblNldDxEcmFnT3BlcmF0aW9uPiBzb3VyY2VPcGVyYXRpb25N
YXNrLCBPcHRpb25TZXQ8RHJhZ0FwcGxpY2F0aW9uRmxhZ3M+IGZsYWdzLCBPcHRpb25TZXQ8RHJh
Z0Rlc3RpbmF0aW9uQWN0aW9uPiBkZXN0aW5hdGlvbkFjdGlvbk1hc2spCiAgICAgOiBtX2NsaWVu
dFBvc2l0aW9uKGNsaWVudFBvc2l0aW9uKQogICAgICwgbV9nbG9iYWxQb3NpdGlvbihnbG9iYWxQ
b3NpdGlvbikKICAgICAsIG1fcGxhdGZvcm1EcmFnRGF0YShkYXRhKQpAQCAtMTMxLDcgKzEzMSw3
IEBAIERyYWdEYXRhOjpEcmFnRGF0YShEcmFnRGF0YVJlZiBkYXRhLCBjb25zdCBJbnRQb2ludCYg
Y2xpZW50UG9zaXRpb24sIGNvbnN0IEludFBvCiB7CiB9CiAKLURyYWdEYXRhOjpEcmFnRGF0YShj
b25zdCBTdHJpbmcmIGRyYWdTdG9yYWdlTmFtZSwgY29uc3QgSW50UG9pbnQmIGNsaWVudFBvc2l0
aW9uLCBjb25zdCBJbnRQb2ludCYgZ2xvYmFsUG9zaXRpb24sIE9wdGlvblNldDxEcmFnT3BlcmF0
aW9uPiBzb3VyY2VPcGVyYXRpb25NYXNrLCBEcmFnQXBwbGljYXRpb25GbGFncyBmbGFncywgT3B0
aW9uU2V0PERyYWdEZXN0aW5hdGlvbkFjdGlvbj4gZGVzdGluYXRpb25BY3Rpb25NYXNrKQorRHJh
Z0RhdGE6OkRyYWdEYXRhKGNvbnN0IFN0cmluZyYgZHJhZ1N0b3JhZ2VOYW1lLCBjb25zdCBJbnRQ
b2ludCYgY2xpZW50UG9zaXRpb24sIGNvbnN0IEludFBvaW50JiBnbG9iYWxQb3NpdGlvbiwgT3B0
aW9uU2V0PERyYWdPcGVyYXRpb24+IHNvdXJjZU9wZXJhdGlvbk1hc2ssIE9wdGlvblNldDxEcmFn
QXBwbGljYXRpb25GbGFncz4gZmxhZ3MsIE9wdGlvblNldDxEcmFnRGVzdGluYXRpb25BY3Rpb24+
IGRlc3RpbmF0aW9uQWN0aW9uTWFzaykKICAgICA6IG1fY2xpZW50UG9zaXRpb24oY2xpZW50UG9z
aXRpb24pCiAgICAgLCBtX2dsb2JhbFBvc2l0aW9uKGdsb2JhbFBvc2l0aW9uKQogICAgICwgbV9w
bGF0Zm9ybURyYWdEYXRhKDApCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93
aW4vRHJhZ0RhdGFXaW4uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL0RyYWdEYXRh
V2luLmNwcAppbmRleCAxODg3MGYyMjc1Mjg3Yjk3ZGFhMzllODAzYmM3ZTJiMzhlNWVmNDAyLi42
MWVhNGM0N2ZhMzUyMjU4OGY4M2E2ODZkODVjNzdjMTQyOTA5YzI0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vRHJhZ0RhdGFXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL3dpbi9EcmFnRGF0YVdpbi5jcHAKQEAgLTQxLDcgKzQxLDcgQEAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogRHJhZ0RhdGE6OkRyYWdEYXRhKGNvbnN0IERyYWdEYXRhTWFwJiBk
YXRhLCBjb25zdCBJbnRQb2ludCYgY2xpZW50UG9zaXRpb24sIGNvbnN0IEludFBvaW50JiBnbG9i
YWxQb3NpdGlvbiwKLSAgICBPcHRpb25TZXQ8RHJhZ09wZXJhdGlvbj4gc291cmNlT3BlcmF0aW9u
TWFzaywgRHJhZ0FwcGxpY2F0aW9uRmxhZ3MgZmxhZ3MpCisgICAgT3B0aW9uU2V0PERyYWdPcGVy
YXRpb24+IHNvdXJjZU9wZXJhdGlvbk1hc2ssIE9wdGlvblNldDxEcmFnQXBwbGljYXRpb25GbGFn
cz4gZmxhZ3MpCiAgICAgOiBtX2NsaWVudFBvc2l0aW9uKGNsaWVudFBvc2l0aW9uKQogICAgICwg
bV9nbG9iYWxQb3NpdGlvbihnbG9iYWxQb3NpdGlvbikKICAgICAsIG1fcGxhdGZvcm1EcmFnRGF0
YSgwKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5w
eSBiL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHkKaW5kZXggMTgzYWE0
OWJkZWVmMmRiZGM4NGQzZGEyYjI3Nzg0ZWMzZWJkYzYyMy4uZTlkYWU5ZTUzYzUwMmQ3Y2Y4Yzc0
NGIxYTlhZjViZDVhNGIyNzFjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TY3JpcHRzL3dl
YmtpdC9tZXNzYWdlcy5weQorKysgYi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3Nh
Z2VzLnB5CkBAIC0yMDcsNiArMjA3LDcgQEAgZGVmIHR5cGVzX3RoYXRfY2Fubm90X2JlX2Zvcndh
cmRfZGVjbGFyZWQoKToKICAgICAgICAgJ1N0cmluZycsCiAgICAgICAgICdXZWJDb3JlOjpDb2xv
clNwYWNlJywKICAgICAgICAgJ1dlYkNvcmU6OkRpY3RhdGlvbkNvbnRleHQnLAorICAgICAgICAn
V2ViQ29yZTo6RHJhZ0FwcGxpY2F0aW9uRmxhZ3MnLAogICAgICAgICAnV2ViQ29yZTo6RG9jdW1l
bnRJZGVudGlmaWVyJywKICAgICAgICAgJ1dlYkNvcmU6OkRvY3VtZW50T3JXb3JrZXJJZGVudGlm
aWVyJywKICAgICAgICAgJ1dlYkNvcmU6OkZldGNoSWRlbnRpZmllcicsCkBAIC01OTEsNiArNTky
LDcgQEAgZGVmIGhlYWRlcnNfZm9yX3R5cGUodHlwZSk6CiAgICAgICAgICdXZWJDb3JlOjpET01Q
YXN0ZUFjY2Vzc1Jlc3BvbnNlJzogWyc8V2ViQ29yZS9ET01QYXN0ZUFjY2Vzcy5oPiddLAogICAg
ICAgICAnV2ViQ29yZTo6RG9jdW1lbnRPcldvcmtlcklkZW50aWZpZXInOiBbJzxXZWJDb3JlL1Nl
cnZpY2VXb3JrZXJUeXBlcy5oPiddLAogICAgICAgICAnV2ViS2l0OjpEb2N1bWVudEVkaXRpbmdD
b250ZXh0UmVxdWVzdCc6IFsnIkRvY3VtZW50RWRpdGluZ0NvbnRleHQuaCInXSwKKyAgICAgICAg
J1dlYkNvcmU6OkRyYWdBcHBsaWNhdGlvbkZsYWdzJzogWyc8V2ViQ29yZS9EcmFnRGF0YS5oPidd
LAogICAgICAgICAnV2ViQ29yZTo6RHJhZ0hhbmRsaW5nTWV0aG9kJzogWyc8V2ViQ29yZS9EcmFn
QWN0aW9ucy5oPiddLAogICAgICAgICAnV2ViQ29yZTo6RHJhZ09wZXJhdGlvbic6IFsnPFdlYkNv
cmUvRHJhZ0FjdGlvbnMuaD4nXSwKICAgICAgICAgJ1dlYkNvcmU6OkRyYWdTb3VyY2VBY3Rpb24n
OiBbJzxXZWJDb3JlL0RyYWdBY3Rpb25zLmg+J10sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQv
V2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcAppbmRleCA0MGRmMGQxZWY3NTIzODkxZDU1ZWNjYzMz
MWVmN2UxNzg0YTFmYWQ0Li40NGIwMzRiOTgxODdlMzUzYjA3NGMyMWZjNTYwMTVmNmU2ODNjMjdj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAK
QEAgLTE1NTQsNyArMTU1NCw3IEBAIGJvb2wgQXJndW1lbnRDb2RlcjxEcmFnRGF0YT46OmRlY29k
ZShEZWNvZGVyJiBkZWNvZGVyLCBEcmFnRGF0YSYgZHJhZ0RhdGEpCiAgICAgaWYgKCFkZWNvZGVy
LmRlY29kZShkcmFnZ2luZ1NvdXJjZU9wZXJhdGlvbk1hc2spKQogICAgICAgICByZXR1cm4gZmFs
c2U7CiAKLSAgICBEcmFnQXBwbGljYXRpb25GbGFncyBhcHBsaWNhdGlvbkZsYWdzOworICAgIE9w
dGlvblNldDxEcmFnQXBwbGljYXRpb25GbGFncz4gYXBwbGljYXRpb25GbGFnczsKICAgICBpZiAo
IWRlY29kZXIuZGVjb2RlKGFwcGxpY2F0aW9uRmxhZ3MpKQogICAgICAgICByZXR1cm4gZmFsc2U7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBs
Lm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwubW0KaW5kZXgg
MGY5ZThmY2RlNWU1MTM3YjY4NzQ2ODYyMWVkNmY1YzU0ZDcyMGE1ZC4uYWIxZmM2MjIxZTg2M2U0
MWZhNGIxM2MzMWNhZjZlODRhZmZkOWQwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
Q29jb2EvV2ViVmlld0ltcGwubW0KQEAgLTM5MjksMTkgKzM5MjksMTkgQEAgdm9pZCBXZWJWaWV3
SW1wbDo6c2VuZERyYWdFbmRUb1BhZ2UoQ0dQb2ludCBlbmRQb2ludCwgTlNEcmFnT3BlcmF0aW9u
IGRyYWdPcGVyYXQKICAgICBtX3BhZ2UtPmRyYWdFbmRlZChXZWJDb3JlOjpJbnRQb2ludCh3aW5k
b3dNb3VzZUxvYyksIFdlYkNvcmU6OkludFBvaW50KFdlYkNvcmU6Omdsb2JhbFBvaW50KHdpbmRv
d01vdXNlTG9jLCBbbV92aWV3IHdpbmRvd10pKSwgY29yZURyYWdPcGVyYXRpb25NYXNrKGRyYWdP
cGVyYXRpb25NYXNrKSk7CiB9CiAKLXN0YXRpYyBXZWJDb3JlOjpEcmFnQXBwbGljYXRpb25GbGFn
cyBhcHBsaWNhdGlvbkZsYWdzRm9yRHJhZyhOU1ZpZXcgKnZpZXcsIGlkIDxOU0RyYWdnaW5nSW5m
bz4gZHJhZ2dpbmdJbmZvKQorc3RhdGljIE9wdGlvblNldDxXZWJDb3JlOjpEcmFnQXBwbGljYXRp
b25GbGFncz4gYXBwbGljYXRpb25GbGFnc0ZvckRyYWcoTlNWaWV3ICp2aWV3LCBpZCA8TlNEcmFn
Z2luZ0luZm8+IGRyYWdnaW5nSW5mbykKIHsKICAgICBBU1NFUlQoaGFzUHJvY2Vzc1ByaXZpbGVn
ZShQcm9jZXNzUHJpdmlsZWdlOjpDYW5Db21tdW5pY2F0ZVdpdGhXaW5kb3dTZXJ2ZXIpKTsKLSAg
ICB1aW50MzJfdCBmbGFncyA9IDA7CisgICAgT3B0aW9uU2V0PFdlYkNvcmU6OkRyYWdBcHBsaWNh
dGlvbkZsYWdzPiBmbGFnczsKICAgICBpZiAoW05TQXBwIG1vZGFsV2luZG93XSkKLSAgICAgICAg
ZmxhZ3MgPSBXZWJDb3JlOjpEcmFnQXBwbGljYXRpb25Jc01vZGFsOworICAgICAgICBmbGFncy5h
ZGQoV2ViQ29yZTo6RHJhZ0FwcGxpY2F0aW9uSXNNb2RhbCk7CiAgICAgaWYgKHZpZXcud2luZG93
LmF0dGFjaGVkU2hlZXQpCi0gICAgICAgIGZsYWdzIHw9IFdlYkNvcmU6OkRyYWdBcHBsaWNhdGlv
bkhhc0F0dGFjaGVkU2hlZXQ7CisgICAgICAgIGZsYWdzLmFkZChXZWJDb3JlOjpEcmFnQXBwbGlj
YXRpb25IYXNBdHRhY2hlZFNoZWV0KTsKICAgICBpZiAoZHJhZ2dpbmdJbmZvLmRyYWdnaW5nU291
cmNlID09IHZpZXcpCi0gICAgICAgIGZsYWdzIHw9IFdlYkNvcmU6OkRyYWdBcHBsaWNhdGlvbklz
U291cmNlOworICAgICAgICBmbGFncy5hZGQoV2ViQ29yZTo6RHJhZ0FwcGxpY2F0aW9uSXNTb3Vy
Y2UpOwogICAgIGlmIChbTlNBcHAgY3VycmVudEV2ZW50XS5tb2RpZmllckZsYWdzICYgTlNFdmVu
dE1vZGlmaWVyRmxhZ09wdGlvbikKLSAgICAgICAgZmxhZ3MgfD0gV2ViQ29yZTo6RHJhZ0FwcGxp
Y2F0aW9uSXNDb3B5S2V5RG93bjsKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8V2ViQ29yZTo6RHJh
Z0FwcGxpY2F0aW9uRmxhZ3M+KGZsYWdzKTsKKyAgICAgICAgZmxhZ3MuYWRkKFdlYkNvcmU6OkRy
YWdBcHBsaWNhdGlvbklzQ29weUtleURvd24pOworICAgIHJldHVybiBmbGFnczsKIAogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IDI3NDJm
MTNlY2YzNmQ2MGNjZmQ2N2EzZmQyMTU0NzViMDA2NGY4MzIuLjdkNzdjNzU5NjJhYTA3NDU0ZmFm
M2M3ODY0N2Q3YWU4ZjU2MGY0N2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuY3BwCkBAIC0zOTgxLDE0ICszOTgxLDE0IEBAIE5vdGlmaWNhdGlvblBlcm1p
c3Npb25SZXF1ZXN0TWFuYWdlciogV2ViUGFnZTo6bm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVl
c3RNYW5hCiAjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkKIAogI2lmIFBMQVRGT1JNKEdUSykKLXZv
aWQgV2ViUGFnZTo6cGVyZm9ybURyYWdDb250cm9sbGVyQWN0aW9uKERyYWdDb250cm9sbGVyQWN0
aW9uIGFjdGlvbiwgY29uc3QgSW50UG9pbnQmIGNsaWVudFBvc2l0aW9uLCBjb25zdCBJbnRQb2lu
dCYgZ2xvYmFsUG9zaXRpb24sIE9wdGlvblNldDxEcmFnT3BlcmF0aW9uPiBkcmFnZ2luZ1NvdXJj
ZU9wZXJhdGlvbk1hc2ssIFNlbGVjdGlvbkRhdGEmJiBzZWxlY3Rpb25EYXRhLCB1aW50MzJfdCBm
bGFncykKK3ZvaWQgV2ViUGFnZTo6cGVyZm9ybURyYWdDb250cm9sbGVyQWN0aW9uKERyYWdDb250
cm9sbGVyQWN0aW9uIGFjdGlvbiwgY29uc3QgSW50UG9pbnQmIGNsaWVudFBvc2l0aW9uLCBjb25z
dCBJbnRQb2ludCYgZ2xvYmFsUG9zaXRpb24sIE9wdGlvblNldDxEcmFnT3BlcmF0aW9uPiBkcmFn
Z2luZ1NvdXJjZU9wZXJhdGlvbk1hc2ssIFNlbGVjdGlvbkRhdGEmJiBzZWxlY3Rpb25EYXRhLCBP
cHRpb25TZXQ8RHJhZ0FwcGxpY2F0aW9uRmxhZ3M+IGZsYWdzKQogewogICAgIGlmICghbV9wYWdl
KSB7CiAgICAgICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RGlkUGVyZm9ybURyYWdD
b250cm9sbGVyQWN0aW9uKFdURjo6bnVsbG9wdCwgRHJhZ0hhbmRsaW5nTWV0aG9kOjpOb25lLCBm
YWxzZSwgMCwgeyB9LCB7IH0pKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIERyYWdE
YXRhIGRyYWdEYXRhKCZzZWxlY3Rpb25EYXRhLCBjbGllbnRQb3NpdGlvbiwgZ2xvYmFsUG9zaXRp
b24sIGRyYWdnaW5nU291cmNlT3BlcmF0aW9uTWFzaywgc3RhdGljX2Nhc3Q8RHJhZ0FwcGxpY2F0
aW9uRmxhZ3M+KGZsYWdzKSk7CisgICAgRHJhZ0RhdGEgZHJhZ0RhdGEoJnNlbGVjdGlvbkRhdGEs
IGNsaWVudFBvc2l0aW9uLCBnbG9iYWxQb3NpdGlvbiwgZHJhZ2dpbmdTb3VyY2VPcGVyYXRpb25N
YXNrLCBmbGFncyk7CiAgICAgc3dpdGNoIChhY3Rpb24pIHsKICAgICBjYXNlIERyYWdDb250cm9s
bGVyQWN0aW9uOjpFbnRlcmVkOiB7CiAgICAgICAgIGF1dG8gcmVzb2x2ZWREcmFnT3BlcmF0aW9u
ID0gbV9wYWdlLT5kcmFnQ29udHJvbGxlcigpLmRyYWdFbnRlcmVkKGRyYWdEYXRhKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaCBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAppbmRleCA2MTdlNmFmMmZkMzZj
ZGI4OTNjMDJjMTIyMDMzZTI4NzE1YmE2NDkwLi45NmRiYTdmZjA1MzYxZTkwYzFmYTIxODQ4ZDg1
MmIxMjQ2YzZlN2U4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5oCkBAIC0xOTMsNiArMTkzLDcgQEAgY2xhc3MgU3Vic3RpdHV0ZURhdGE7CiBjbGFzcyBUZXh0
Q2hlY2tpbmdSZXF1ZXN0OwogY2xhc3MgVmlzaWJsZVBvc2l0aW9uOwogCitlbnVtIERyYWdBcHBs
aWNhdGlvbkZsYWdzIDogdWludDhfdDsKIGVudW0gU3ludGhldGljQ2xpY2tUeXBlIDogaW50OF90
OwogZW51bSBjbGFzcyBET01QYXN0ZUFjY2Vzc1Jlc3BvbnNlIDogdWludDhfdDsKIGVudW0gY2xh
c3MgRHJhZ0hhbmRsaW5nTWV0aG9kIDogdWludDhfdDsKQEAgLTkwMCw3ICs5MDEsNyBAQCBwdWJs
aWM6CiAgICAgdm9pZCByZXN0b3JlU2VsZWN0aW9uSW5Gb2N1c2VkRWRpdGFibGVFbGVtZW50KCk7
CiAKICNpZiBFTkFCTEUoRFJBR19TVVBQT1JUKSAmJiBQTEFURk9STShHVEspCi0gICAgdm9pZCBw
ZXJmb3JtRHJhZ0NvbnRyb2xsZXJBY3Rpb24oRHJhZ0NvbnRyb2xsZXJBY3Rpb24sIGNvbnN0IFdl
YkNvcmU6OkludFBvaW50JiBjbGllbnRQb3NpdGlvbiwgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQm
IGdsb2JhbFBvc2l0aW9uLCBPcHRpb25TZXQ8V2ViQ29yZTo6RHJhZ09wZXJhdGlvbj4gZHJhZ2dp
bmdTb3VyY2VPcGVyYXRpb25NYXNrLCBXZWJDb3JlOjpTZWxlY3Rpb25EYXRhJiYsIHVpbnQzMl90
IGZsYWdzKTsKKyAgICB2b2lkIHBlcmZvcm1EcmFnQ29udHJvbGxlckFjdGlvbihEcmFnQ29udHJv
bGxlckFjdGlvbiwgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIGNsaWVudFBvc2l0aW9uLCBjb25z
dCBXZWJDb3JlOjpJbnRQb2ludCYgZ2xvYmFsUG9zaXRpb24sIE9wdGlvblNldDxXZWJDb3JlOjpE
cmFnT3BlcmF0aW9uPiBkcmFnZ2luZ1NvdXJjZU9wZXJhdGlvbk1hc2ssIFdlYkNvcmU6OlNlbGVj
dGlvbkRhdGEmJiwgT3B0aW9uU2V0PFdlYkNvcmU6OkRyYWdBcHBsaWNhdGlvbkZsYWdzPik7CiAj
ZW5kaWYKIAogI2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpICYmICFQTEFURk9STShHVEspCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2Vz
LmluIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5p
bgppbmRleCBhNTk1ZTdkOTIxMmIzZWRjODI5Mzg5ZmNkZmZmOTI0NTJhNThkODBlLi5kYWY0MDc1
MGVhZTJiZjc0MmQzZWM1OGNkNmMzOGM0YWEyNzljODE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KQEAgLTMwOSw3ICsz
MDksNyBAQCBHZW5lcmF0ZVN5bnRoZXRpY0VkaXRpbmdDb21tYW5kKGVudW06dWludDhfdCBXZWJL
aXQ6OlN5bnRoZXRpY0VkaXRpbmdDb21tYW5kVHlwZQogCiAgICAgIyBEcmFnIGFuZCBkcm9wLgog
I2lmIFBMQVRGT1JNKEdUSykgJiYgRU5BQkxFKERSQUdfU1VQUE9SVCkKLSAgICBQZXJmb3JtRHJh
Z0NvbnRyb2xsZXJBY3Rpb24oZW51bTp1aW50OF90IFdlYktpdDo6RHJhZ0NvbnRyb2xsZXJBY3Rp
b24gYWN0aW9uLCBXZWJDb3JlOjpJbnRQb2ludCBjbGllbnRQb3NpdGlvbiwgV2ViQ29yZTo6SW50
UG9pbnQgZ2xvYmFsUG9zaXRpb24sIE9wdGlvblNldDxXZWJDb3JlOjpEcmFnT3BlcmF0aW9uPiBk
cmFnZ2luZ1NvdXJjZU9wZXJhdGlvbk1hc2ssIFdlYkNvcmU6OlNlbGVjdGlvbkRhdGEgc2VsZWN0
aW9uLCB1aW50MzJfdCBmbGFncykKKyAgICBQZXJmb3JtRHJhZ0NvbnRyb2xsZXJBY3Rpb24oZW51
bTp1aW50OF90IFdlYktpdDo6RHJhZ0NvbnRyb2xsZXJBY3Rpb24gYWN0aW9uLCBXZWJDb3JlOjpJ
bnRQb2ludCBjbGllbnRQb3NpdGlvbiwgV2ViQ29yZTo6SW50UG9pbnQgZ2xvYmFsUG9zaXRpb24s
IE9wdGlvblNldDxXZWJDb3JlOjpEcmFnT3BlcmF0aW9uPiBkcmFnZ2luZ1NvdXJjZU9wZXJhdGlv
bk1hc2ssIFdlYkNvcmU6OlNlbGVjdGlvbkRhdGEgc2VsZWN0aW9uLCBPcHRpb25TZXQ8V2ViQ29y
ZTo6RHJhZ0FwcGxpY2F0aW9uRmxhZ3M+IGZsYWdzKQogI2VuZGlmCiAjaWYgIVBMQVRGT1JNKEdU
SykgJiYgRU5BQkxFKERSQUdfU1VQUE9SVCkKICAgICBQZXJmb3JtRHJhZ0NvbnRyb2xsZXJBY3Rp
b24oZW51bTp1aW50OF90IFdlYktpdDo6RHJhZ0NvbnRyb2xsZXJBY3Rpb24gYWN0aW9uLCBXZWJD
b3JlOjpEcmFnRGF0YSBkcmFnRGF0YSwgV2ViS2l0OjpTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUg
c2FuZGJveEV4dGVuc2lvbkhhbmRsZSwgV2ViS2l0OjpTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGVB
cnJheSBzYW5kYm94RXh0ZW5zaW9uc0ZvclVwbG9hZCkKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5n
ZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA4MzJkM2NhYjMzMTY1ZGRkYjhiNzM1OGFlOWI3
ZDJjZDgwZjQyNzZjLi45NDlhNjYxZTM1MzliNTEzZTM1Y2VhNDBhNWUyOTUxMjQ3YThmZjU3IDEw
MDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTcgQEAKKzIwMjAtMDgtMTAgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKwor
ICAgICAgICBBdXhpbGlhcnlQcm9jZXNzOjpkaWRSZWNlaXZlSW52YWxpZE1lc3NhZ2UoKSBmb3Ig
V2ViUGFnZTo6UGVyZm9ybURyYWdDb250cm9sbGVyQWN0aW9uIElQQworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE1MzQxCisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS81OTM0NDA5MT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBBZGQgQVBJIHRlc3QgY292ZXJhZ2UuCisKKyAgICAgICAgKiBUZXN0V2ViS2l0
QVBJL1Rlc3RzL21hYy9EcmFnQW5kRHJvcFRlc3RzTWFjLm1tOgorICAgICAgICAob3ZlcnJpZGVD
dXJyZW50RXZlbnQpOgorICAgICAgICAoVEVTVCk6CisKIDIwMjAtMDgtMTAgIEJyaWFuIEJ1cmcg
IDxiYnVyZ0BhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgZml4IG9yZGVyaW5nIG9m
IGNvbnRyaWJ1dG9ycy4KZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvbWFj
L0RyYWdBbmREcm9wVGVzdHNNYWMubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL21hYy9E
cmFnQW5kRHJvcFRlc3RzTWFjLm1tCmluZGV4IGM0ODJlNGI5MWM3NWY4Mzg4ZTU2ZWMxOTgzYzNm
ZjQ0NmYyMDAyMTQuLjBhYjJlNjRiOTc2NjBmMjI2OTYwNDMxNTA5ZmZiZDE0YzQ4OWY4ZGIgMTAw
NjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvbWFjL0RyYWdBbmREcm9wVGVzdHNN
YWMubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9tYWMvRHJhZ0FuZERyb3BUZXN0
c01hYy5tbQpAQCAtMjYsOCArMjYsMTAgQEAKICNpbXBvcnQgImNvbmZpZy5oIgogCiAjaW1wb3J0
ICJEcmFnQW5kRHJvcFNpbXVsYXRvci5oIgorI2ltcG9ydCAiSW5zdGFuY2VNZXRob2RTd2l6emxl
ci5oIgogI2ltcG9ydCAiUGxhdGZvcm1VdGlsaXRpZXMuaCIKICNpbXBvcnQgPFdlYktpdC9XS1By
ZWZlcmVuY2VzUHJpdmF0ZS5oPgorI2ltcG9ydCA8V2ViS2l0L1dLV2ViVmlld1ByaXZhdGUuaD4K
IAogI2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpICYmIFBMQVRGT1JNKE1BQykKIApAQCAtMTM2LDYg
KzEzOCwzNSBAQCBURVNUKERyYWdBbmREcm9wVGVzdHMsIERyYWdJbWFnZUZpbGVJbnRvRmlsZVVw
bG9hZCkKICAgICBFWFBFQ1RfRVEoMSwgW3dlYlZpZXcgc3RyaW5nQnlFdmFsdWF0aW5nSmF2YVNj
cmlwdDpAImZpbGVjb3VudC50ZXh0Q29udGVudCJdLmludGVnZXJWYWx1ZSk7CiB9CiAKK3N0YXRp
YyBOU0V2ZW50ICpvdmVycmlkZUN1cnJlbnRFdmVudCgpCit7CisgICAgcmV0dXJuIFtOU0V2ZW50
IG1vdXNlRXZlbnRXaXRoVHlwZTpOU0V2ZW50VHlwZUxlZnRNb3VzZURyYWdnZWQKKyAgICAgICAg
ICAgICAgICBsb2NhdGlvbjpOU01ha2VQb2ludCgwLCAyMDApCisgICAgICAgICAgIG1vZGlmaWVy
RmxhZ3M6TlNFdmVudE1vZGlmaWVyRmxhZ09wdGlvbgorICAgICAgICAgICAgICAgdGltZXN0YW1w
OltOU0RhdGUgdGltZUludGVydmFsU2luY2VSZWZlcmVuY2VEYXRlXQorICAgICAgICAgICAgd2lu
ZG93TnVtYmVyOjAKKyAgICAgICAgICAgICAgICAgY29udGV4dDpuaWwKKyAgICAgICAgICAgICBl
dmVudE51bWJlcjoxCisgICAgICAgICAgICAgIGNsaWNrQ291bnQ6MQorICAgICAgICAgICAgICAg
IHByZXNzdXJlOjFdOworfQorCitURVNUKERyYWdBbmREcm9wVGVzdHMsIERyYWdJbWFnZVdpdGhP
cHRpb25LZXlEb3duKQoreworICAgIEluc3RhbmNlTWV0aG9kU3dpenpsZXIgc3dpenpsZXIoW05T
QXBwIGNsYXNzXSwgQHNlbGVjdG9yKGN1cnJlbnRFdmVudCksIHJlaW50ZXJwcmV0X2Nhc3Q8SU1Q
PihvdmVycmlkZUN1cnJlbnRFdmVudCkpOworCisgICAgYXV0byBzaW11bGF0b3IgPSBhZG9wdE5T
KFtbRHJhZ0FuZERyb3BTaW11bGF0b3IgYWxsb2NdIGluaXRXaXRoV2ViVmlld0ZyYW1lOk5TTWFr
ZVJlY3QoMCwgMCwgNDAwLCA0MDApXSk7CisgICAgVGVzdFdLV2ViVmlldyAqd2ViVmlldyA9IFtz
aW11bGF0b3Igd2ViVmlld107CisKKyAgICBbd2ViVmlldyBzeW5jaHJvbm91c2x5TG9hZFRlc3RQ
YWdlTmFtZWQ6QCJpbWFnZS1hbmQtY29udGVudGVkaXRhYmxlIl07CisKKyAgICBhdXRvIHBpZCA9
IFt3ZWJWaWV3IF93ZWJQcm9jZXNzSWRlbnRpZmllcl07CisgICAgW3NpbXVsYXRvciBydW5Gcm9t
Ok5TTWFrZVBvaW50KDEwMCwgMTAwKSB0bzpOU01ha2VQb2ludCgxMDAsIDMwMCldOworCisgICAg
RVhQRUNUX0VRKHBpZCwgW3dlYlZpZXcgX3dlYlByb2Nlc3NJZGVudGlmaWVyXSk7Cit9CisKKwog
VEVTVChEcmFnQW5kRHJvcFRlc3RzLCBQcm92aWRlSW1hZ2VEYXRhRm9yTXVsdGlwbGVQYXN0ZWJv
YXJkcykKIHsKICAgICBhdXRvIHNpbXVsYXRvciA9IGFkb3B0TlMoW1tEcmFnQW5kRHJvcFNpbXVs
YXRvciBhbGxvY10gaW5pdFdpdGhXZWJWaWV3RnJhbWU6TlNNYWtlUmVjdCgwLCAwLCA0MDAsIDQw
MCldKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>406344</attachid>
            <date>2020-08-10 16:36:01 -0700</date>
            <delta_ts>2020-08-10 16:46:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-215341-20200810163601.patch</filename>
            <type>text/plain</type>
            <size>22477</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY1NDM5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDkyNTZkODZlZmQ2Yzlh
NDU5YjA1Nzg0YjIwMDJmZTk5MTViOTM5Yy4uMjNlZGYxMGYwMmQ4NjkzNjNlMWYxYzg3MWMzM2Uw
ZjlhN2YwOGI5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDIwLTA4LTEwICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQXV4aWxpYXJ5UHJvY2Vzczo6
ZGlkUmVjZWl2ZUludmFsaWRNZXNzYWdlKCkgZm9yIFdlYlBhZ2U6OlBlcmZvcm1EcmFnQ29udHJv
bGxlckFjdGlvbiBJUEMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIxNTM0MQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTkzNDQwOTE+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgQWxleCBDaHJpc3RlbnNlbi4KKworICAgICAgICBDb25zaXN0ZW50bHkg
dXNlIE9wdGlvblNldDxEcmFnQXBwbGljYXRpb25GbGFncz4gaW5zdGVhZCBvZiBEcmFnQXBwbGlj
YXRpb25GbGFncy4KKworICAgICAgICAqIHBhZ2UvZ3RrL0RyYWdDb250cm9sbGVyR3RrLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkRyYWdDb250cm9sbGVyOjppc0NvcHlLZXlEb3duKToKKyAgICAg
ICAgKiBwYWdlL21hYy9EcmFnQ29udHJvbGxlck1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OkRy
YWdDb250cm9sbGVyOjppc0NvcHlLZXlEb3duKToKKyAgICAgICAgKFdlYkNvcmU6OkRyYWdDb250
cm9sbGVyOjpkcmFnT3BlcmF0aW9uKToKKyAgICAgICAgKiBwbGF0Zm9ybS9EcmFnRGF0YS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpEcmFnRGF0YTo6RHJhZ0RhdGEpOgorICAgICAgICAqIHBsYXRm
b3JtL0RyYWdEYXRhLmg6CisgICAgICAgIChXZWJDb3JlOjpEcmFnRGF0YTo6ZmxhZ3MgY29uc3Qp
OgorICAgICAgICAqIHBsYXRmb3JtL2NvY29hL0RyYWdEYXRhQ29jb2EubW06CisgICAgICAgIChX
ZWJDb3JlOjpEcmFnRGF0YTo6RHJhZ0RhdGEpOgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9EcmFn
RGF0YVdpbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEcmFnRGF0YTo6RHJhZ0RhdGEpOgorCiAy
MDIwLTA4LTEwICBFcmljIENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgogCiAgICAg
ICAgIHIyNjI0NTYgYnJva2Ugc2l0ZXMgdGhhdCBleHBlY3Qgd2Via2l0RGlzcGxheWluZ0Z1bGxz
Y3JlZW4gdG8gYmUgdHJ1ZSBhbG1vc3QgaW1tZWRpYXRlbHkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggMzdmZTgxYjlj
ZDcxZjczMDU0ZWFjYWFiMjkwM2Y3ZmZlYzc1MWZiMS4uZGI4NzA5YzFlYzhkZmU3YzIyM2JmOGEw
YWRjMTU3NTU1MjNmNzhiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAyMC0wOC0xMCAg
Q2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIEF1eGlsaWFyeVByb2Nl
c3M6OmRpZFJlY2VpdmVJbnZhbGlkTWVzc2FnZSgpIGZvciBXZWJQYWdlOjpQZXJmb3JtRHJhZ0Nv
bnRyb2xsZXJBY3Rpb24gSVBDCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMTUzNDEKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU5MzQ0MDkxPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IEFsZXggQ2hyaXN0ZW5zZW4uCisKKyAgICAgICAgRHJhZ0FwcGxp
Y2F0aW9uRmxhZ3MgaXMgYW4gZW51bSBjb250YWluaW5nIGZsYWdzLiBJdCB3YXMgYmVpbmcgc2Vu
dCBvdmVyIElQQyBhcyBhIERyYWdBcHBsaWNhdGlvbkZsYWdzCisgICAgICAgIGluc3RlYWQgb2Yg
YW4gT3B0aW9uU2V0PERyYWdBcHBsaWNhdGlvbkZsYWdzPiwgYW5kIHRodXMgd291bGQgZmFpbCBl
bnVtIHZhbHVlIHZhbGlkYXRpb24gd2hlbiBkZWNvZGluZworICAgICAgICB3aGVuIG1vcmUgdGhh
biBvbmUgZmxhZyBpcyBzZXQuCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5w
eToKKyAgICAgICAgKiBTaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcDoKKyAgICAgICAg
KElQQzo6QXJndW1lbnRDb2RlcjxEcmFnRGF0YT46OmRlY29kZSk6CisgICAgICAgICogVUlQcm9j
ZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tOgorICAgICAgICAoV2ViS2l0OjphcHBsaWNhdGlvbkZs
YWdzRm9yRHJhZyk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpwZXJmb3JtRHJhZ0NvbnRyb2xsZXJBY3Rpb24pOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmg6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW46CisKIDIwMjAtMDgtMTAgIFNpaHVpIExp
dSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+CiAKICAgICAgICAgQWx3YXlzIHN1c3BlbmQgSURCIHdv
cmsgd2hlbiBuZXR3b3JrIHByb2Nlc3MgaXMgcHJlcGFyZWQgdG8gc3VzcGVuZApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ndGsvRHJhZ0NvbnRyb2xsZXJHdGsuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9ndGsvRHJhZ0NvbnRyb2xsZXJHdGsuY3BwCmluZGV4IDY2MGJhOTVlNGUy
MTAyMDQzMmU2OGFmNGFjOGIzMDY1MGNhMzU2M2MuLjRiNjEyMGQzMmJjNzhkYzQ0YmMzYTlmZWQ4
N2ExYjAxMGMzNzc5YTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvZ3RrL0RyYWdD
b250cm9sbGVyR3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2d0ay9EcmFnQ29udHJv
bGxlckd0ay5jcHAKQEAgLTQ3LDcgKzQ3LDcgQEAgY29uc3QgZmxvYXQgRHJhZ0NvbnRyb2xsZXI6
OkRyYWdJbWFnZUFscGhhID0gMC43NWY7CiAKIGJvb2wgRHJhZ0NvbnRyb2xsZXI6OmlzQ29weUtl
eURvd24oY29uc3QgRHJhZ0RhdGEmIGRyYWdEYXRhKQogewotICAgIHJldHVybiBkcmFnRGF0YS5m
bGFncygpICYgRHJhZ0FwcGxpY2F0aW9uSXNDb3B5S2V5RG93bjsKKyAgICByZXR1cm4gZHJhZ0Rh
dGEuZmxhZ3MoKS5jb250YWlucyhEcmFnQXBwbGljYXRpb25Jc0NvcHlLZXlEb3duKTsKIH0KIAog
T3B0aW9uYWw8RHJhZ09wZXJhdGlvbj4gRHJhZ0NvbnRyb2xsZXI6OmRyYWdPcGVyYXRpb24oY29u
c3QgRHJhZ0RhdGEmIGRyYWdEYXRhKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9t
YWMvRHJhZ0NvbnRyb2xsZXJNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9EcmFnQ29u
dHJvbGxlck1hYy5tbQppbmRleCAxNWZlNTkwZTNiNWRjYzliOGZlZmIxZTIyM2Y1MDY1NGVlYjk4
NjA5Li43ZTQ2YWM0ODk3NjZlMWI2Yzk3YWVjODI3NGQ2NGNhNTBlODM1ZWVkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9EcmFnQ29udHJvbGxlck1hYy5tbQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL21hYy9EcmFnQ29udHJvbGxlck1hYy5tbQpAQCAtNjEsMTIgKzYxLDEy
IEBAIGNvbnN0IGZsb2F0IERyYWdDb250cm9sbGVyOjpEcmFnSW1hZ2VBbHBoYSA9IDAuNzVmOwog
CiBib29sIERyYWdDb250cm9sbGVyOjppc0NvcHlLZXlEb3duKGNvbnN0IERyYWdEYXRhJiBkcmFn
RGF0YSkKIHsKLSAgICByZXR1cm4gZHJhZ0RhdGEuZmxhZ3MoKSAmIERyYWdBcHBsaWNhdGlvbklz
Q29weUtleURvd247CisgICAgcmV0dXJuIGRyYWdEYXRhLmZsYWdzKCkuY29udGFpbnMoRHJhZ0Fw
cGxpY2F0aW9uSXNDb3B5S2V5RG93bik7CiB9CiAgICAgCiBPcHRpb25hbDxEcmFnT3BlcmF0aW9u
PiBEcmFnQ29udHJvbGxlcjo6ZHJhZ09wZXJhdGlvbihjb25zdCBEcmFnRGF0YSYgZHJhZ0RhdGEp
CiB7Ci0gICAgaWYgKGRyYWdEYXRhLmZsYWdzKCkgJiBEcmFnQXBwbGljYXRpb25Jc01vZGFsKQor
ICAgIGlmIChkcmFnRGF0YS5mbGFncygpLmNvbnRhaW5zKERyYWdBcHBsaWNhdGlvbklzTW9kYWwp
KQogICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwogCiAgICAgYm9vbCBtYXlDb250YWluVVJM
OwpAQCAtNzgsNyArNzgsNyBAQCBPcHRpb25hbDxEcmFnT3BlcmF0aW9uPiBEcmFnQ29udHJvbGxl
cjo6ZHJhZ09wZXJhdGlvbihjb25zdCBEcmFnRGF0YSYgZHJhZ0RhdGEpCiAgICAgaWYgKCFtYXlD
b250YWluVVJMICYmICFkcmFnRGF0YS5jb250YWluc1Byb21pc2UoKSkKICAgICAgICAgcmV0dXJu
IFdURjo6bnVsbG9wdDsKIAotICAgIGlmICghbV9kb2N1bWVudFVuZGVyTW91c2UgfHwgKCEoZHJh
Z0RhdGEuZmxhZ3MoKSAmIChEcmFnQXBwbGljYXRpb25IYXNBdHRhY2hlZFNoZWV0IHwgRHJhZ0Fw
cGxpY2F0aW9uSXNTb3VyY2UpKSkpCisgICAgaWYgKCFtX2RvY3VtZW50VW5kZXJNb3VzZSB8fCAo
IShkcmFnRGF0YS5mbGFncygpLmNvbnRhaW5zQWxsKHsgRHJhZ0FwcGxpY2F0aW9uSGFzQXR0YWNo
ZWRTaGVldCwgRHJhZ0FwcGxpY2F0aW9uSXNTb3VyY2UgfSkpKSkKICAgICAgICAgcmV0dXJuIERy
YWdPcGVyYXRpb246OkNvcHk7CiAKICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRHJhZ0RhdGEuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vRHJhZ0RhdGEuY3BwCmluZGV4IGU4YzQwZjU1OTAyZDkzYTVhODcyYWMwZWUwZmRh
Y2MzZjllZDJmYzYuLmMyN2ZkMGY2ZWExZjcwMDc5YjBjZTBkZTFkMWE2M2VmOGUyY2ZjOTQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0RyYWdEYXRhLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9EcmFnRGF0YS5jcHAKQEAgLTMyLDcgKzMyLDcgQEAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogI2lmICFQTEFURk9STShDT0NPQSkKLURyYWdEYXRhOjpEcmFnRGF0
YShEcmFnRGF0YVJlZiBkYXRhLCBjb25zdCBJbnRQb2ludCYgY2xpZW50UG9zaXRpb24sIGNvbnN0
IEludFBvaW50JiBnbG9iYWxQb3NpdGlvbiwgT3B0aW9uU2V0PERyYWdPcGVyYXRpb24+IHNvdXJj
ZU9wZXJhdGlvbk1hc2ssIERyYWdBcHBsaWNhdGlvbkZsYWdzIGZsYWdzLCBPcHRpb25TZXQ8RHJh
Z0Rlc3RpbmF0aW9uQWN0aW9uPiBkZXN0aW5hdGlvbkFjdGlvbk1hc2spCitEcmFnRGF0YTo6RHJh
Z0RhdGEoRHJhZ0RhdGFSZWYgZGF0YSwgY29uc3QgSW50UG9pbnQmIGNsaWVudFBvc2l0aW9uLCBj
b25zdCBJbnRQb2ludCYgZ2xvYmFsUG9zaXRpb24sIE9wdGlvblNldDxEcmFnT3BlcmF0aW9uPiBz
b3VyY2VPcGVyYXRpb25NYXNrLCBPcHRpb25TZXQ8RHJhZ0FwcGxpY2F0aW9uRmxhZ3M+IGZsYWdz
LCBPcHRpb25TZXQ8RHJhZ0Rlc3RpbmF0aW9uQWN0aW9uPiBkZXN0aW5hdGlvbkFjdGlvbk1hc2sp
CiAgICAgOiBtX2NsaWVudFBvc2l0aW9uKGNsaWVudFBvc2l0aW9uKQogICAgICwgbV9nbG9iYWxQ
b3NpdGlvbihnbG9iYWxQb3NpdGlvbikKICAgICAsIG1fcGxhdGZvcm1EcmFnRGF0YShkYXRhKQpA
QCAtNDIsNyArNDIsNyBAQCBEcmFnRGF0YTo6RHJhZ0RhdGEoRHJhZ0RhdGFSZWYgZGF0YSwgY29u
c3QgSW50UG9pbnQmIGNsaWVudFBvc2l0aW9uLCBjb25zdCBJbnRQbwogeyAgCiB9CiAKLURyYWdE
YXRhOjpEcmFnRGF0YShjb25zdCBTdHJpbmcmLCBjb25zdCBJbnRQb2ludCYgY2xpZW50UG9zaXRp
b24sIGNvbnN0IEludFBvaW50JiBnbG9iYWxQb3NpdGlvbiwgT3B0aW9uU2V0PERyYWdPcGVyYXRp
b24+IHNvdXJjZU9wZXJhdGlvbk1hc2ssIERyYWdBcHBsaWNhdGlvbkZsYWdzIGZsYWdzLCBPcHRp
b25TZXQ8RHJhZ0Rlc3RpbmF0aW9uQWN0aW9uPiBkZXN0aW5hdGlvbkFjdGlvbk1hc2spCitEcmFn
RGF0YTo6RHJhZ0RhdGEoY29uc3QgU3RyaW5nJiwgY29uc3QgSW50UG9pbnQmIGNsaWVudFBvc2l0
aW9uLCBjb25zdCBJbnRQb2ludCYgZ2xvYmFsUG9zaXRpb24sIE9wdGlvblNldDxEcmFnT3BlcmF0
aW9uPiBzb3VyY2VPcGVyYXRpb25NYXNrLCBPcHRpb25TZXQ8RHJhZ0FwcGxpY2F0aW9uRmxhZ3M+
IGZsYWdzLCBPcHRpb25TZXQ8RHJhZ0Rlc3RpbmF0aW9uQWN0aW9uPiBkZXN0aW5hdGlvbkFjdGlv
bk1hc2spCiAgICAgOiBtX2NsaWVudFBvc2l0aW9uKGNsaWVudFBvc2l0aW9uKQogICAgICwgbV9n
bG9iYWxQb3NpdGlvbihnbG9iYWxQb3NpdGlvbikKICAgICAsIG1fcGxhdGZvcm1EcmFnRGF0YSgw
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRHJhZ0RhdGEuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL0RyYWdEYXRhLmgKaW5kZXggNGU1M2U2MzMzNzQ4NjFmZDMxNzEy
ODViNWM1ZTkxZjY4MTAyM2UwYi4uYTZjN2U3MTY2OTA3ZmYxMzliY2Y0NzQzOWRjMTZkNmI4YTA1
NjNkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRHJhZ0RhdGEuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9EcmFnRGF0YS5oCkBAIC01OCw3ICs1OCw3IEBAIHR5
cGVkZWYgdm9pZCogRHJhZ0RhdGFSZWY7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotZW51bSBE
cmFnQXBwbGljYXRpb25GbGFncyB7CitlbnVtIERyYWdBcHBsaWNhdGlvbkZsYWdzIDogdWludDhf
dCB7CiAgICAgRHJhZ0FwcGxpY2F0aW9uTm9uZSA9IDAsCiAgICAgRHJhZ0FwcGxpY2F0aW9uSXNN
b2RhbCA9IDEsCiAgICAgRHJhZ0FwcGxpY2F0aW9uSXNTb3VyY2UgPSAyLApAQCAtNzYsMjAgKzc2
LDIwIEBAIHB1YmxpYzoKICAgICBlbnVtIGNsYXNzIERyYWdnaW5nUHVycG9zZSB7IEZvckVkaXRp
bmcsIEZvckZpbGVVcGxvYWQsIEZvckNvbG9yQ29udHJvbCB9OwogCiAgICAgLy8gY2xpZW50UG9z
aXRpb24gaXMgdGFrZW4gdG8gYmUgdGhlIHBvc2l0aW9uIG9mIHRoZSBkcmFnIGV2ZW50IHdpdGhp
biB0aGUgdGFyZ2V0IHdpbmRvdywgd2l0aCAoMCwwKSBhdCB0aGUgdG9wIGxlZnQKLSAgICBXRUJD
T1JFX0VYUE9SVCBEcmFnRGF0YShEcmFnRGF0YVJlZiwgY29uc3QgSW50UG9pbnQmIGNsaWVudFBv
c2l0aW9uLCBjb25zdCBJbnRQb2ludCYgZ2xvYmFsUG9zaXRpb24sIE9wdGlvblNldDxEcmFnT3Bl
cmF0aW9uPiwgRHJhZ0FwcGxpY2F0aW9uRmxhZ3MgPSBEcmFnQXBwbGljYXRpb25Ob25lLCBPcHRp
b25TZXQ8RHJhZ0Rlc3RpbmF0aW9uQWN0aW9uPiA9IGFueURyYWdEZXN0aW5hdGlvbkFjdGlvbigp
KTsKLSAgICBXRUJDT1JFX0VYUE9SVCBEcmFnRGF0YShjb25zdCBTdHJpbmcmIGRyYWdTdG9yYWdl
TmFtZSwgY29uc3QgSW50UG9pbnQmIGNsaWVudFBvc2l0aW9uLCBjb25zdCBJbnRQb2ludCYgZ2xv
YmFsUG9zaXRpb24sIE9wdGlvblNldDxEcmFnT3BlcmF0aW9uPiwgRHJhZ0FwcGxpY2F0aW9uRmxh
Z3MgPSBEcmFnQXBwbGljYXRpb25Ob25lLCBPcHRpb25TZXQ8RHJhZ0Rlc3RpbmF0aW9uQWN0aW9u
PiA9IGFueURyYWdEZXN0aW5hdGlvbkFjdGlvbigpKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBEcmFn
RGF0YShEcmFnRGF0YVJlZiwgY29uc3QgSW50UG9pbnQmIGNsaWVudFBvc2l0aW9uLCBjb25zdCBJ
bnRQb2ludCYgZ2xvYmFsUG9zaXRpb24sIE9wdGlvblNldDxEcmFnT3BlcmF0aW9uPiwgT3B0aW9u
U2V0PERyYWdBcHBsaWNhdGlvbkZsYWdzPiA9IERyYWdBcHBsaWNhdGlvbk5vbmUsIE9wdGlvblNl
dDxEcmFnRGVzdGluYXRpb25BY3Rpb24+ID0gYW55RHJhZ0Rlc3RpbmF0aW9uQWN0aW9uKCkpOwor
ICAgIFdFQkNPUkVfRVhQT1JUIERyYWdEYXRhKGNvbnN0IFN0cmluZyYgZHJhZ1N0b3JhZ2VOYW1l
LCBjb25zdCBJbnRQb2ludCYgY2xpZW50UG9zaXRpb24sIGNvbnN0IEludFBvaW50JiBnbG9iYWxQ
b3NpdGlvbiwgT3B0aW9uU2V0PERyYWdPcGVyYXRpb24+LCBPcHRpb25TZXQ8RHJhZ0FwcGxpY2F0
aW9uRmxhZ3M+ID0gRHJhZ0FwcGxpY2F0aW9uTm9uZSwgT3B0aW9uU2V0PERyYWdEZXN0aW5hdGlv
bkFjdGlvbj4gPSBhbnlEcmFnRGVzdGluYXRpb25BY3Rpb24oKSk7CiAgICAgLy8gVGhpcyBjb25z
dHJ1Y3RvciBzaG91bGQgdXNlZCBvbmx5IGJ5IFdlYktpdDIgSVBDIGJlY2F1c2UgRHJhZ0RhdGEK
ICAgICAvLyBpcyBpbml0aWFsaXplZCBieSB0aGUgZGVjb2RlciBhbmQgbm90IGluIHRoZSBjb25z
dHJ1Y3Rvci4KICAgICBEcmFnRGF0YSgpID0gZGVmYXVsdDsKICNpZiBQTEFURk9STShXSU4pCi0g
ICAgV0VCQ09SRV9FWFBPUlQgRHJhZ0RhdGEoY29uc3QgRHJhZ0RhdGFNYXAmLCBjb25zdCBJbnRQ
b2ludCYgY2xpZW50UG9zaXRpb24sIGNvbnN0IEludFBvaW50JiBnbG9iYWxQb3NpdGlvbiwgT3B0
aW9uU2V0PERyYWdPcGVyYXRpb24+IHNvdXJjZU9wZXJhdGlvbk1hc2ssIERyYWdBcHBsaWNhdGlv
bkZsYWdzID0gRHJhZ0FwcGxpY2F0aW9uTm9uZSk7CisgICAgV0VCQ09SRV9FWFBPUlQgRHJhZ0Rh
dGEoY29uc3QgRHJhZ0RhdGFNYXAmLCBjb25zdCBJbnRQb2ludCYgY2xpZW50UG9zaXRpb24sIGNv
bnN0IEludFBvaW50JiBnbG9iYWxQb3NpdGlvbiwgT3B0aW9uU2V0PERyYWdPcGVyYXRpb24+IHNv
dXJjZU9wZXJhdGlvbk1hc2ssIE9wdGlvblNldDxEcmFnQXBwbGljYXRpb25GbGFncz4gPSBEcmFn
QXBwbGljYXRpb25Ob25lKTsKICAgICBjb25zdCBEcmFnRGF0YU1hcCYgZHJhZ0RhdGFNYXAoKTsK
ICAgICB2b2lkIGdldERyYWdGaWxlRGVzY3JpcHRvckRhdGEoaW50JiBzaXplLCBTdHJpbmcmIHBh
dGhuYW1lKTsKICAgICB2b2lkIGdldERyYWdGaWxlQ29udGVudERhdGEoaW50IHNpemUsIHZvaWQq
IGRhdGFCbG9iKTsKICNlbmRpZgogICAgIGNvbnN0IEludFBvaW50JiBjbGllbnRQb3NpdGlvbigp
IGNvbnN0IHsgcmV0dXJuIG1fY2xpZW50UG9zaXRpb247IH0KICAgICBjb25zdCBJbnRQb2ludCYg
Z2xvYmFsUG9zaXRpb24oKSBjb25zdCB7IHJldHVybiBtX2dsb2JhbFBvc2l0aW9uOyB9Ci0gICAg
RHJhZ0FwcGxpY2F0aW9uRmxhZ3MgZmxhZ3MoKSBjb25zdCB7IHJldHVybiBtX2FwcGxpY2F0aW9u
RmxhZ3M7IH0KKyAgICBPcHRpb25TZXQ8RHJhZ0FwcGxpY2F0aW9uRmxhZ3M+IGZsYWdzKCkgY29u
c3QgeyByZXR1cm4gbV9hcHBsaWNhdGlvbkZsYWdzOyB9CiAgICAgRHJhZ0RhdGFSZWYgcGxhdGZv
cm1EYXRhKCkgY29uc3QgeyByZXR1cm4gbV9wbGF0Zm9ybURyYWdEYXRhOyB9CiAgICAgT3B0aW9u
U2V0PERyYWdPcGVyYXRpb24+IGRyYWdnaW5nU291cmNlT3BlcmF0aW9uTWFzaygpIGNvbnN0IHsg
cmV0dXJuIG1fZHJhZ2dpbmdTb3VyY2VPcGVyYXRpb25NYXNrOyB9CiAgICAgYm9vbCBjb250YWlu
c1VSTChGaWxlbmFtZUNvbnZlcnNpb25Qb2xpY3kgPSBDb252ZXJ0RmlsZW5hbWVzKSBjb25zdDsK
QEAgLTEzMSw3ICsxMzEsNyBAQCBwcml2YXRlOgogICAgIEludFBvaW50IG1fZ2xvYmFsUG9zaXRp
b247CiAgICAgRHJhZ0RhdGFSZWYgbV9wbGF0Zm9ybURyYWdEYXRhOwogICAgIE9wdGlvblNldDxE
cmFnT3BlcmF0aW9uPiBtX2RyYWdnaW5nU291cmNlT3BlcmF0aW9uTWFzazsKLSAgICBEcmFnQXBw
bGljYXRpb25GbGFncyBtX2FwcGxpY2F0aW9uRmxhZ3M7CisgICAgT3B0aW9uU2V0PERyYWdBcHBs
aWNhdGlvbkZsYWdzPiBtX2FwcGxpY2F0aW9uRmxhZ3M7CiAgICAgVmVjdG9yPFN0cmluZz4gbV9m
aWxlTmFtZXM7CiAgICAgT3B0aW9uU2V0PERyYWdEZXN0aW5hdGlvbkFjdGlvbj4gbV9kcmFnRGVz
dGluYXRpb25BY3Rpb25NYXNrOwogI2lmIFBMQVRGT1JNKENPQ09BKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvRHJhZ0RhdGFDb2NvYS5tbSBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2NvY29hL0RyYWdEYXRhQ29jb2EubW0KaW5kZXggM2ExMjg5ZDRiY2M1NjA5
NmFkZWZkMDU4MDA3NDNlZDA5YzY0YzZjZS4uN2ViZWU3Zjg4MjMwNzdhYzFmZTFjMzk4OWZlMzhk
Y2Q5ZWIyMWI5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvRHJh
Z0RhdGFDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9EcmFnRGF0
YUNvY29hLm1tCkBAIC0xMTYsNyArMTE2LDcgQEAgc3RhdGljIGlubGluZSBTdHJpbmcgdGlmZlBh
c3RlYm9hcmRUeXBlKCkKICNlbmRpZgogfQogCi1EcmFnRGF0YTo6RHJhZ0RhdGEoRHJhZ0RhdGFS
ZWYgZGF0YSwgY29uc3QgSW50UG9pbnQmIGNsaWVudFBvc2l0aW9uLCBjb25zdCBJbnRQb2ludCYg
Z2xvYmFsUG9zaXRpb24sIE9wdGlvblNldDxEcmFnT3BlcmF0aW9uPiBzb3VyY2VPcGVyYXRpb25N
YXNrLCBEcmFnQXBwbGljYXRpb25GbGFncyBmbGFncywgT3B0aW9uU2V0PERyYWdEZXN0aW5hdGlv
bkFjdGlvbj4gZGVzdGluYXRpb25BY3Rpb25NYXNrKQorRHJhZ0RhdGE6OkRyYWdEYXRhKERyYWdE
YXRhUmVmIGRhdGEsIGNvbnN0IEludFBvaW50JiBjbGllbnRQb3NpdGlvbiwgY29uc3QgSW50UG9p
bnQmIGdsb2JhbFBvc2l0aW9uLCBPcHRpb25TZXQ8RHJhZ09wZXJhdGlvbj4gc291cmNlT3BlcmF0
aW9uTWFzaywgT3B0aW9uU2V0PERyYWdBcHBsaWNhdGlvbkZsYWdzPiBmbGFncywgT3B0aW9uU2V0
PERyYWdEZXN0aW5hdGlvbkFjdGlvbj4gZGVzdGluYXRpb25BY3Rpb25NYXNrKQogICAgIDogbV9j
bGllbnRQb3NpdGlvbihjbGllbnRQb3NpdGlvbikKICAgICAsIG1fZ2xvYmFsUG9zaXRpb24oZ2xv
YmFsUG9zaXRpb24pCiAgICAgLCBtX3BsYXRmb3JtRHJhZ0RhdGEoZGF0YSkKQEAgLTEzMSw3ICsx
MzEsNyBAQCBEcmFnRGF0YTo6RHJhZ0RhdGEoRHJhZ0RhdGFSZWYgZGF0YSwgY29uc3QgSW50UG9p
bnQmIGNsaWVudFBvc2l0aW9uLCBjb25zdCBJbnRQbwogewogfQogCi1EcmFnRGF0YTo6RHJhZ0Rh
dGEoY29uc3QgU3RyaW5nJiBkcmFnU3RvcmFnZU5hbWUsIGNvbnN0IEludFBvaW50JiBjbGllbnRQ
b3NpdGlvbiwgY29uc3QgSW50UG9pbnQmIGdsb2JhbFBvc2l0aW9uLCBPcHRpb25TZXQ8RHJhZ09w
ZXJhdGlvbj4gc291cmNlT3BlcmF0aW9uTWFzaywgRHJhZ0FwcGxpY2F0aW9uRmxhZ3MgZmxhZ3Ms
IE9wdGlvblNldDxEcmFnRGVzdGluYXRpb25BY3Rpb24+IGRlc3RpbmF0aW9uQWN0aW9uTWFzaykK
K0RyYWdEYXRhOjpEcmFnRGF0YShjb25zdCBTdHJpbmcmIGRyYWdTdG9yYWdlTmFtZSwgY29uc3Qg
SW50UG9pbnQmIGNsaWVudFBvc2l0aW9uLCBjb25zdCBJbnRQb2ludCYgZ2xvYmFsUG9zaXRpb24s
IE9wdGlvblNldDxEcmFnT3BlcmF0aW9uPiBzb3VyY2VPcGVyYXRpb25NYXNrLCBPcHRpb25TZXQ8
RHJhZ0FwcGxpY2F0aW9uRmxhZ3M+IGZsYWdzLCBPcHRpb25TZXQ8RHJhZ0Rlc3RpbmF0aW9uQWN0
aW9uPiBkZXN0aW5hdGlvbkFjdGlvbk1hc2spCiAgICAgOiBtX2NsaWVudFBvc2l0aW9uKGNsaWVu
dFBvc2l0aW9uKQogICAgICwgbV9nbG9iYWxQb3NpdGlvbihnbG9iYWxQb3NpdGlvbikKICAgICAs
IG1fcGxhdGZvcm1EcmFnRGF0YSgwKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vd2luL0RyYWdEYXRhV2luLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9EcmFn
RGF0YVdpbi5jcHAKaW5kZXggMTg4NzBmMjI3NTI4N2I5N2RhYTM5ZTgwM2JjN2UyYjM4ZTVlZjQw
Mi4uNjFlYTRjNDdmYTM1MjI1ODhmODNhNjg2ZDg1Yzc3YzE0MjkwOWMyNCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL0RyYWdEYXRhV2luLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS93aW4vRHJhZ0RhdGFXaW4uY3BwCkBAIC00MSw3ICs0MSw3IEBACiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIERyYWdEYXRhOjpEcmFnRGF0YShjb25zdCBEcmFnRGF0YU1h
cCYgZGF0YSwgY29uc3QgSW50UG9pbnQmIGNsaWVudFBvc2l0aW9uLCBjb25zdCBJbnRQb2ludCYg
Z2xvYmFsUG9zaXRpb24sCi0gICAgT3B0aW9uU2V0PERyYWdPcGVyYXRpb24+IHNvdXJjZU9wZXJh
dGlvbk1hc2ssIERyYWdBcHBsaWNhdGlvbkZsYWdzIGZsYWdzKQorICAgIE9wdGlvblNldDxEcmFn
T3BlcmF0aW9uPiBzb3VyY2VPcGVyYXRpb25NYXNrLCBPcHRpb25TZXQ8RHJhZ0FwcGxpY2F0aW9u
RmxhZ3M+IGZsYWdzKQogICAgIDogbV9jbGllbnRQb3NpdGlvbihjbGllbnRQb3NpdGlvbikKICAg
ICAsIG1fZ2xvYmFsUG9zaXRpb24oZ2xvYmFsUG9zaXRpb24pCiAgICAgLCBtX3BsYXRmb3JtRHJh
Z0RhdGEoMCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVzc2Fn
ZXMucHkgYi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5CmluZGV4IDE4
M2FhNDliZGVlZjJkYmRjODRkM2RhMmIyNzc4NGVjM2ViZGM2MjMuLmU5ZGFlOWU1M2M1MDJkN2Nm
OGM3NDRiMWE5YWY1YmQ1YTRiMjcxY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2NyaXB0
cy93ZWJraXQvbWVzc2FnZXMucHkKKysrIGIvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC9t
ZXNzYWdlcy5weQpAQCAtMjA3LDYgKzIwNyw3IEBAIGRlZiB0eXBlc190aGF0X2Nhbm5vdF9iZV9m
b3J3YXJkX2RlY2xhcmVkKCk6CiAgICAgICAgICdTdHJpbmcnLAogICAgICAgICAnV2ViQ29yZTo6
Q29sb3JTcGFjZScsCiAgICAgICAgICdXZWJDb3JlOjpEaWN0YXRpb25Db250ZXh0JywKKyAgICAg
ICAgJ1dlYkNvcmU6OkRyYWdBcHBsaWNhdGlvbkZsYWdzJywKICAgICAgICAgJ1dlYkNvcmU6OkRv
Y3VtZW50SWRlbnRpZmllcicsCiAgICAgICAgICdXZWJDb3JlOjpEb2N1bWVudE9yV29ya2VySWRl
bnRpZmllcicsCiAgICAgICAgICdXZWJDb3JlOjpGZXRjaElkZW50aWZpZXInLApAQCAtNTkxLDYg
KzU5Miw3IEBAIGRlZiBoZWFkZXJzX2Zvcl90eXBlKHR5cGUpOgogICAgICAgICAnV2ViQ29yZTo6
RE9NUGFzdGVBY2Nlc3NSZXNwb25zZSc6IFsnPFdlYkNvcmUvRE9NUGFzdGVBY2Nlc3MuaD4nXSwK
ICAgICAgICAgJ1dlYkNvcmU6OkRvY3VtZW50T3JXb3JrZXJJZGVudGlmaWVyJzogWyc8V2ViQ29y
ZS9TZXJ2aWNlV29ya2VyVHlwZXMuaD4nXSwKICAgICAgICAgJ1dlYktpdDo6RG9jdW1lbnRFZGl0
aW5nQ29udGV4dFJlcXVlc3QnOiBbJyJEb2N1bWVudEVkaXRpbmdDb250ZXh0LmgiJ10sCisgICAg
ICAgICdXZWJDb3JlOjpEcmFnQXBwbGljYXRpb25GbGFncyc6IFsnPFdlYkNvcmUvRHJhZ0RhdGEu
aD4nXSwKICAgICAgICAgJ1dlYkNvcmU6OkRyYWdIYW5kbGluZ01ldGhvZCc6IFsnPFdlYkNvcmUv
RHJhZ0FjdGlvbnMuaD4nXSwKICAgICAgICAgJ1dlYkNvcmU6OkRyYWdPcGVyYXRpb24nOiBbJzxX
ZWJDb3JlL0RyYWdBY3Rpb25zLmg+J10sCiAgICAgICAgICdXZWJDb3JlOjpEcmFnU291cmNlQWN0
aW9uJzogWyc8V2ViQ29yZS9EcmFnQWN0aW9ucy5oPiddLApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAKaW5kZXggNDBkZjBkMWVmNzUyMzg5MWQ1NWVj
Y2MzMzFlZjdlMTc4NGExZmFkNC4uNDRiMDM0Yjk4MTg3ZTM1M2IwNzRjMjFmYzU2MDE1ZjZlNjgz
YzI3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29k
ZXJzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMu
Y3BwCkBAIC0xNTU0LDcgKzE1NTQsNyBAQCBib29sIEFyZ3VtZW50Q29kZXI8RHJhZ0RhdGE+Ojpk
ZWNvZGUoRGVjb2RlciYgZGVjb2RlciwgRHJhZ0RhdGEmIGRyYWdEYXRhKQogICAgIGlmICghZGVj
b2Rlci5kZWNvZGUoZHJhZ2dpbmdTb3VyY2VPcGVyYXRpb25NYXNrKSkKICAgICAgICAgcmV0dXJu
IGZhbHNlOwogCi0gICAgRHJhZ0FwcGxpY2F0aW9uRmxhZ3MgYXBwbGljYXRpb25GbGFnczsKKyAg
ICBPcHRpb25TZXQ8RHJhZ0FwcGxpY2F0aW9uRmxhZ3M+IGFwcGxpY2F0aW9uRmxhZ3M7CiAgICAg
aWYgKCFkZWNvZGVyLmRlY29kZShhcHBsaWNhdGlvbkZsYWdzKSkKICAgICAgICAgcmV0dXJuIGZh
bHNlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJWaWV3
SW1wbC5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tCmlu
ZGV4IDBmOWU4ZmNkZTVlNTEzN2I2ODc0Njg2MjFlZDZmNWM1NGQ3MjBhNWQuLmFiMWZjNjIyMWU4
NjNlNDFmYTRiMTNjMzFjYWY2ZTg0YWZmZDlkMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tCkBAIC0zOTI5LDE5ICszOTI5LDE5IEBAIHZvaWQgV2Vi
Vmlld0ltcGw6OnNlbmREcmFnRW5kVG9QYWdlKENHUG9pbnQgZW5kUG9pbnQsIE5TRHJhZ09wZXJh
dGlvbiBkcmFnT3BlcmF0CiAgICAgbV9wYWdlLT5kcmFnRW5kZWQoV2ViQ29yZTo6SW50UG9pbnQo
d2luZG93TW91c2VMb2MpLCBXZWJDb3JlOjpJbnRQb2ludChXZWJDb3JlOjpnbG9iYWxQb2ludCh3
aW5kb3dNb3VzZUxvYywgW21fdmlldyB3aW5kb3ddKSksIGNvcmVEcmFnT3BlcmF0aW9uTWFzayhk
cmFnT3BlcmF0aW9uTWFzaykpOwogfQogCi1zdGF0aWMgV2ViQ29yZTo6RHJhZ0FwcGxpY2F0aW9u
RmxhZ3MgYXBwbGljYXRpb25GbGFnc0ZvckRyYWcoTlNWaWV3ICp2aWV3LCBpZCA8TlNEcmFnZ2lu
Z0luZm8+IGRyYWdnaW5nSW5mbykKK3N0YXRpYyBPcHRpb25TZXQ8V2ViQ29yZTo6RHJhZ0FwcGxp
Y2F0aW9uRmxhZ3M+IGFwcGxpY2F0aW9uRmxhZ3NGb3JEcmFnKE5TVmlldyAqdmlldywgaWQgPE5T
RHJhZ2dpbmdJbmZvPiBkcmFnZ2luZ0luZm8pCiB7CiAgICAgQVNTRVJUKGhhc1Byb2Nlc3NQcml2
aWxlZ2UoUHJvY2Vzc1ByaXZpbGVnZTo6Q2FuQ29tbXVuaWNhdGVXaXRoV2luZG93U2VydmVyKSk7
Ci0gICAgdWludDMyX3QgZmxhZ3MgPSAwOworICAgIE9wdGlvblNldDxXZWJDb3JlOjpEcmFnQXBw
bGljYXRpb25GbGFncz4gZmxhZ3M7CiAgICAgaWYgKFtOU0FwcCBtb2RhbFdpbmRvd10pCi0gICAg
ICAgIGZsYWdzID0gV2ViQ29yZTo6RHJhZ0FwcGxpY2F0aW9uSXNNb2RhbDsKKyAgICAgICAgZmxh
Z3MuYWRkKFdlYkNvcmU6OkRyYWdBcHBsaWNhdGlvbklzTW9kYWwpOwogICAgIGlmICh2aWV3Lndp
bmRvdy5hdHRhY2hlZFNoZWV0KQotICAgICAgICBmbGFncyB8PSBXZWJDb3JlOjpEcmFnQXBwbGlj
YXRpb25IYXNBdHRhY2hlZFNoZWV0OworICAgICAgICBmbGFncy5hZGQoV2ViQ29yZTo6RHJhZ0Fw
cGxpY2F0aW9uSGFzQXR0YWNoZWRTaGVldCk7CiAgICAgaWYgKGRyYWdnaW5nSW5mby5kcmFnZ2lu
Z1NvdXJjZSA9PSB2aWV3KQotICAgICAgICBmbGFncyB8PSBXZWJDb3JlOjpEcmFnQXBwbGljYXRp
b25Jc1NvdXJjZTsKKyAgICAgICAgZmxhZ3MuYWRkKFdlYkNvcmU6OkRyYWdBcHBsaWNhdGlvbklz
U291cmNlKTsKICAgICBpZiAoW05TQXBwIGN1cnJlbnRFdmVudF0ubW9kaWZpZXJGbGFncyAmIE5T
RXZlbnRNb2RpZmllckZsYWdPcHRpb24pCi0gICAgICAgIGZsYWdzIHw9IFdlYkNvcmU6OkRyYWdB
cHBsaWNhdGlvbklzQ29weUtleURvd247Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0PFdlYkNvcmU6
OkRyYWdBcHBsaWNhdGlvbkZsYWdzPihmbGFncyk7CisgICAgICAgIGZsYWdzLmFkZChXZWJDb3Jl
OjpEcmFnQXBwbGljYXRpb25Jc0NvcHlLZXlEb3duKTsKKyAgICByZXR1cm4gZmxhZ3M7CiAKIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5j
cHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCAy
NzQyZjEzZWNmMzZkNjBjY2ZkNjdhM2ZkMjE1NDc1YjAwNjRmODMyLi43ZDc3Yzc1OTYyYWEwNzQ1
NGZhZjNjNzg2NDdkN2FlOGY1NjBmNDdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtMzk4MSwxNCArMzk4MSwxNCBAQCBOb3RpZmljYXRpb25Q
ZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXIqIFdlYlBhZ2U6Om5vdGlmaWNhdGlvblBlcm1pc3Npb25S
ZXF1ZXN0TWFuYQogI2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpCiAKICNpZiBQTEFURk9STShHVEsp
Ci12b2lkIFdlYlBhZ2U6OnBlcmZvcm1EcmFnQ29udHJvbGxlckFjdGlvbihEcmFnQ29udHJvbGxl
ckFjdGlvbiBhY3Rpb24sIGNvbnN0IEludFBvaW50JiBjbGllbnRQb3NpdGlvbiwgY29uc3QgSW50
UG9pbnQmIGdsb2JhbFBvc2l0aW9uLCBPcHRpb25TZXQ8RHJhZ09wZXJhdGlvbj4gZHJhZ2dpbmdT
b3VyY2VPcGVyYXRpb25NYXNrLCBTZWxlY3Rpb25EYXRhJiYgc2VsZWN0aW9uRGF0YSwgdWludDMy
X3QgZmxhZ3MpCit2b2lkIFdlYlBhZ2U6OnBlcmZvcm1EcmFnQ29udHJvbGxlckFjdGlvbihEcmFn
Q29udHJvbGxlckFjdGlvbiBhY3Rpb24sIGNvbnN0IEludFBvaW50JiBjbGllbnRQb3NpdGlvbiwg
Y29uc3QgSW50UG9pbnQmIGdsb2JhbFBvc2l0aW9uLCBPcHRpb25TZXQ8RHJhZ09wZXJhdGlvbj4g
ZHJhZ2dpbmdTb3VyY2VPcGVyYXRpb25NYXNrLCBTZWxlY3Rpb25EYXRhJiYgc2VsZWN0aW9uRGF0
YSwgT3B0aW9uU2V0PERyYWdBcHBsaWNhdGlvbkZsYWdzPiBmbGFncykKIHsKICAgICBpZiAoIW1f
cGFnZSkgewogICAgICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRpZFBlcmZvcm1E
cmFnQ29udHJvbGxlckFjdGlvbihXVEY6Om51bGxvcHQsIERyYWdIYW5kbGluZ01ldGhvZDo6Tm9u
ZSwgZmFsc2UsIDAsIHsgfSwgeyB9KSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBE
cmFnRGF0YSBkcmFnRGF0YSgmc2VsZWN0aW9uRGF0YSwgY2xpZW50UG9zaXRpb24sIGdsb2JhbFBv
c2l0aW9uLCBkcmFnZ2luZ1NvdXJjZU9wZXJhdGlvbk1hc2ssIHN0YXRpY19jYXN0PERyYWdBcHBs
aWNhdGlvbkZsYWdzPihmbGFncykpOworICAgIERyYWdEYXRhIGRyYWdEYXRhKCZzZWxlY3Rpb25E
YXRhLCBjbGllbnRQb3NpdGlvbiwgZ2xvYmFsUG9zaXRpb24sIGRyYWdnaW5nU291cmNlT3BlcmF0
aW9uTWFzaywgZmxhZ3MpOwogICAgIHN3aXRjaCAoYWN0aW9uKSB7CiAgICAgY2FzZSBEcmFnQ29u
dHJvbGxlckFjdGlvbjo6RW50ZXJlZDogewogICAgICAgICBhdXRvIHJlc29sdmVkRHJhZ09wZXJh
dGlvbiA9IG1fcGFnZS0+ZHJhZ0NvbnRyb2xsZXIoKS5kcmFnRW50ZXJlZChkcmFnRGF0YSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmggYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKaW5kZXggNjE3ZTZhZjJm
ZDM2Y2RiODkzYzAyYzEyMjAzM2UyODcxNWJhNjQ5MC4uOTZkYmE3ZmYwNTM2MWU5MGMxZmEyMTg0
OGQ4NTJiMTI0NmM2ZTdlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuaApAQCAtMTkzLDYgKzE5Myw3IEBAIGNsYXNzIFN1YnN0aXR1dGVEYXRhOwogY2xhc3Mg
VGV4dENoZWNraW5nUmVxdWVzdDsKIGNsYXNzIFZpc2libGVQb3NpdGlvbjsKIAorZW51bSBEcmFn
QXBwbGljYXRpb25GbGFncyA6IHVpbnQ4X3Q7CiBlbnVtIFN5bnRoZXRpY0NsaWNrVHlwZSA6IGlu
dDhfdDsKIGVudW0gY2xhc3MgRE9NUGFzdGVBY2Nlc3NSZXNwb25zZSA6IHVpbnQ4X3Q7CiBlbnVt
IGNsYXNzIERyYWdIYW5kbGluZ01ldGhvZCA6IHVpbnQ4X3Q7CkBAIC05MDAsNyArOTAxLDcgQEAg
cHVibGljOgogICAgIHZvaWQgcmVzdG9yZVNlbGVjdGlvbkluRm9jdXNlZEVkaXRhYmxlRWxlbWVu
dCgpOwogCiAjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkgJiYgUExBVEZPUk0oR1RLKQotICAgIHZv
aWQgcGVyZm9ybURyYWdDb250cm9sbGVyQWN0aW9uKERyYWdDb250cm9sbGVyQWN0aW9uLCBjb25z
dCBXZWJDb3JlOjpJbnRQb2ludCYgY2xpZW50UG9zaXRpb24sIGNvbnN0IFdlYkNvcmU6OkludFBv
aW50JiBnbG9iYWxQb3NpdGlvbiwgT3B0aW9uU2V0PFdlYkNvcmU6OkRyYWdPcGVyYXRpb24+IGRy
YWdnaW5nU291cmNlT3BlcmF0aW9uTWFzaywgV2ViQ29yZTo6U2VsZWN0aW9uRGF0YSYmLCB1aW50
MzJfdCBmbGFncyk7CisgICAgdm9pZCBwZXJmb3JtRHJhZ0NvbnRyb2xsZXJBY3Rpb24oRHJhZ0Nv
bnRyb2xsZXJBY3Rpb24sIGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBjbGllbnRQb3NpdGlvbiwg
Y29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIGdsb2JhbFBvc2l0aW9uLCBPcHRpb25TZXQ8V2ViQ29y
ZTo6RHJhZ09wZXJhdGlvbj4gZHJhZ2dpbmdTb3VyY2VPcGVyYXRpb25NYXNrLCBXZWJDb3JlOjpT
ZWxlY3Rpb25EYXRhJiYsIE9wdGlvblNldDxXZWJDb3JlOjpEcmFnQXBwbGljYXRpb25GbGFncz4p
OwogI2VuZGlmCiAKICNpZiBFTkFCTEUoRFJBR19TVVBQT1JUKSAmJiAhUExBVEZPUk0oR1RLKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNz
YWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2Fn
ZXMuaW4KaW5kZXggYTU5NWU3ZDkyMTJiM2VkYzgyOTM4OWZjZGZmZjkyNDUyYTU4ZDgwZS4uZGFm
NDA3NTBlYWUyYmY3NDJkM2VjNThjZDZjMzhjNGFhMjc5YzgxOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCkBAIC0zMDks
NyArMzA5LDcgQEAgR2VuZXJhdGVTeW50aGV0aWNFZGl0aW5nQ29tbWFuZChlbnVtOnVpbnQ4X3Qg
V2ViS2l0OjpTeW50aGV0aWNFZGl0aW5nQ29tbWFuZFR5cGUKIAogICAgICMgRHJhZyBhbmQgZHJv
cC4KICNpZiBQTEFURk9STShHVEspICYmIEVOQUJMRShEUkFHX1NVUFBPUlQpCi0gICAgUGVyZm9y
bURyYWdDb250cm9sbGVyQWN0aW9uKGVudW06dWludDhfdCBXZWJLaXQ6OkRyYWdDb250cm9sbGVy
QWN0aW9uIGFjdGlvbiwgV2ViQ29yZTo6SW50UG9pbnQgY2xpZW50UG9zaXRpb24sIFdlYkNvcmU6
OkludFBvaW50IGdsb2JhbFBvc2l0aW9uLCBPcHRpb25TZXQ8V2ViQ29yZTo6RHJhZ09wZXJhdGlv
bj4gZHJhZ2dpbmdTb3VyY2VPcGVyYXRpb25NYXNrLCBXZWJDb3JlOjpTZWxlY3Rpb25EYXRhIHNl
bGVjdGlvbiwgdWludDMyX3QgZmxhZ3MpCisgICAgUGVyZm9ybURyYWdDb250cm9sbGVyQWN0aW9u
KGVudW06dWludDhfdCBXZWJLaXQ6OkRyYWdDb250cm9sbGVyQWN0aW9uIGFjdGlvbiwgV2ViQ29y
ZTo6SW50UG9pbnQgY2xpZW50UG9zaXRpb24sIFdlYkNvcmU6OkludFBvaW50IGdsb2JhbFBvc2l0
aW9uLCBPcHRpb25TZXQ8V2ViQ29yZTo6RHJhZ09wZXJhdGlvbj4gZHJhZ2dpbmdTb3VyY2VPcGVy
YXRpb25NYXNrLCBXZWJDb3JlOjpTZWxlY3Rpb25EYXRhIHNlbGVjdGlvbiwgT3B0aW9uU2V0PFdl
YkNvcmU6OkRyYWdBcHBsaWNhdGlvbkZsYWdzPiBmbGFncykKICNlbmRpZgogI2lmICFQTEFURk9S
TShHVEspICYmIEVOQUJMRShEUkFHX1NVUFBPUlQpCiAgICAgUGVyZm9ybURyYWdDb250cm9sbGVy
QWN0aW9uKGVudW06dWludDhfdCBXZWJLaXQ6OkRyYWdDb250cm9sbGVyQWN0aW9uIGFjdGlvbiwg
V2ViQ29yZTo6RHJhZ0RhdGEgZHJhZ0RhdGEsIFdlYktpdDo6U2FuZGJveEV4dGVuc2lvbjo6SGFu
ZGxlIHNhbmRib3hFeHRlbnNpb25IYW5kbGUsIFdlYktpdDo6U2FuZGJveEV4dGVuc2lvbjo6SGFu
ZGxlQXJyYXkgc2FuZGJveEV4dGVuc2lvbnNGb3JVcGxvYWQpCmRpZmYgLS1naXQgYS9Ub29scy9D
aGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggODMyZDNjYWIzMzE2NWRkZGI4YjczNThh
ZTliN2QyY2Q4MGY0Mjc2Yy4uYmEwMTI0MmQ4MjNiYmZkMDgwODA3YzA1YjE0MmMyY2E0OWFkMGI4
NiAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE3IEBACisyMDIwLTA4LTEwICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+
CisKKyAgICAgICAgQXV4aWxpYXJ5UHJvY2Vzczo6ZGlkUmVjZWl2ZUludmFsaWRNZXNzYWdlKCkg
Zm9yIFdlYlBhZ2U6OlBlcmZvcm1EcmFnQ29udHJvbGxlckFjdGlvbiBJUEMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNTM0MQorICAgICAgICA8cmRh
cjovL3Byb2JsZW0vNTkzNDQwOTE+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWxleCBDaHJpc3Rl
bnNlbi4KKworICAgICAgICBBZGQgQVBJIHRlc3QgY292ZXJhZ2UuCisKKyAgICAgICAgKiBUZXN0
V2ViS2l0QVBJL1Rlc3RzL21hYy9EcmFnQW5kRHJvcFRlc3RzTWFjLm1tOgorICAgICAgICAob3Zl
cnJpZGVDdXJyZW50RXZlbnQpOgorICAgICAgICAoVEVTVCk6CisKIDIwMjAtMDgtMTAgIEJyaWFu
IEJ1cmcgIDxiYnVyZ0BhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgZml4IG9yZGVy
aW5nIG9mIGNvbnRyaWJ1dG9ycy4KZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVz
dHMvbWFjL0RyYWdBbmREcm9wVGVzdHNNYWMubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L21hYy9EcmFnQW5kRHJvcFRlc3RzTWFjLm1tCmluZGV4IGM0ODJlNGI5MWM3NWY4Mzg4ZTU2ZWMx
OTgzYzNmZjQ0NmYyMDAyMTQuLjQ0NmYyZGFhMmJjNzZhYjE2ODEyNGM2YjE2OGQ1YzBiZWM0Y2U1
ZTkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvbWFjL0RyYWdBbmREcm9w
VGVzdHNNYWMubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9tYWMvRHJhZ0FuZERy
b3BUZXN0c01hYy5tbQpAQCAtMjYsOCArMjYsMTAgQEAKICNpbXBvcnQgImNvbmZpZy5oIgogCiAj
aW1wb3J0ICJEcmFnQW5kRHJvcFNpbXVsYXRvci5oIgorI2ltcG9ydCAiSW5zdGFuY2VNZXRob2RT
d2l6emxlci5oIgogI2ltcG9ydCAiUGxhdGZvcm1VdGlsaXRpZXMuaCIKICNpbXBvcnQgPFdlYktp
dC9XS1ByZWZlcmVuY2VzUHJpdmF0ZS5oPgorI2ltcG9ydCA8V2ViS2l0L1dLV2ViVmlld1ByaXZh
dGUuaD4KIAogI2lmIEVOQUJMRShEUkFHX1NVUFBPUlQpICYmIFBMQVRGT1JNKE1BQykKIApAQCAt
MTM2LDYgKzEzOCwzNSBAQCBURVNUKERyYWdBbmREcm9wVGVzdHMsIERyYWdJbWFnZUZpbGVJbnRv
RmlsZVVwbG9hZCkKICAgICBFWFBFQ1RfRVEoMSwgW3dlYlZpZXcgc3RyaW5nQnlFdmFsdWF0aW5n
SmF2YVNjcmlwdDpAImZpbGVjb3VudC50ZXh0Q29udGVudCJdLmludGVnZXJWYWx1ZSk7CiB9CiAK
K3N0YXRpYyBOU0V2ZW50ICpvdmVycmlkZUN1cnJlbnRFdmVudCgpCit7CisgICAgcmV0dXJuIFtO
U0V2ZW50IG1vdXNlRXZlbnRXaXRoVHlwZTpOU0V2ZW50VHlwZUxlZnRNb3VzZURyYWdnZWQKKyAg
ICAgICAgbG9jYXRpb246TlNNYWtlUG9pbnQoMCwgMjAwKQorICAgICAgICBtb2RpZmllckZsYWdz
Ok5TRXZlbnRNb2RpZmllckZsYWdPcHRpb24KKyAgICAgICAgdGltZXN0YW1wOltOU0RhdGUgdGlt
ZUludGVydmFsU2luY2VSZWZlcmVuY2VEYXRlXQorICAgICAgICB3aW5kb3dOdW1iZXI6MAorICAg
ICAgICBjb250ZXh0Om5pbAorICAgICAgICBldmVudE51bWJlcjoxCisgICAgICAgIGNsaWNrQ291
bnQ6MQorICAgICAgICBwcmVzc3VyZToxXTsKK30KKworVEVTVChEcmFnQW5kRHJvcFRlc3RzLCBE
cmFnSW1hZ2VXaXRoT3B0aW9uS2V5RG93bikKK3sKKyAgICBJbnN0YW5jZU1ldGhvZFN3aXp6bGVy
IHN3aXp6bGVyKFtOU0FwcCBjbGFzc10sIEBzZWxlY3RvcihjdXJyZW50RXZlbnQpLCByZWludGVy
cHJldF9jYXN0PElNUD4ob3ZlcnJpZGVDdXJyZW50RXZlbnQpKTsKKworICAgIGF1dG8gc2ltdWxh
dG9yID0gYWRvcHROUyhbW0RyYWdBbmREcm9wU2ltdWxhdG9yIGFsbG9jXSBpbml0V2l0aFdlYlZp
ZXdGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDQwMCwgNDAwKV0pOworICAgIFRlc3RXS1dlYlZpZXcg
KndlYlZpZXcgPSBbc2ltdWxhdG9yIHdlYlZpZXddOworCisgICAgW3dlYlZpZXcgc3luY2hyb25v
dXNseUxvYWRUZXN0UGFnZU5hbWVkOkAiaW1hZ2UtYW5kLWNvbnRlbnRlZGl0YWJsZSJdOworCisg
ICAgYXV0byBwaWQgPSBbd2ViVmlldyBfd2ViUHJvY2Vzc0lkZW50aWZpZXJdOworICAgIFtzaW11
bGF0b3IgcnVuRnJvbTpOU01ha2VQb2ludCgxMDAsIDEwMCkgdG86TlNNYWtlUG9pbnQoMTAwLCAz
MDApXTsKKworICAgIEVYUEVDVF9FUShwaWQsIFt3ZWJWaWV3IF93ZWJQcm9jZXNzSWRlbnRpZmll
cl0pOworfQorCisKIFRFU1QoRHJhZ0FuZERyb3BUZXN0cywgUHJvdmlkZUltYWdlRGF0YUZvck11
bHRpcGxlUGFzdGVib2FyZHMpCiB7CiAgICAgYXV0byBzaW11bGF0b3IgPSBhZG9wdE5TKFtbRHJh
Z0FuZERyb3BTaW11bGF0b3IgYWxsb2NdIGluaXRXaXRoV2ViVmlld0ZyYW1lOk5TTWFrZVJlY3Qo
MCwgMCwgNDAwLCA0MDApXSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>406345</attachid>
            <date>2020-08-10 16:46:07 -0700</date>
            <delta_ts>2020-08-10 17:26:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-215341-20200810164607.patch</filename>
            <type>text/plain</type>
            <size>25038</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY1NDM5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDkyNTZkODZlZmQ2Yzlh
NDU5YjA1Nzg0YjIwMDJmZTk5MTViOTM5Yy4uMjNlZGYxMGYwMmQ4NjkzNjNlMWYxYzg3MWMzM2Uw
ZjlhN2YwOGI5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDIwLTA4LTEwICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQXV4aWxpYXJ5UHJvY2Vzczo6
ZGlkUmVjZWl2ZUludmFsaWRNZXNzYWdlKCkgZm9yIFdlYlBhZ2U6OlBlcmZvcm1EcmFnQ29udHJv
bGxlckFjdGlvbiBJUEMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIxNTM0MQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTkzNDQwOTE+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgQWxleCBDaHJpc3RlbnNlbi4KKworICAgICAgICBDb25zaXN0ZW50bHkg
dXNlIE9wdGlvblNldDxEcmFnQXBwbGljYXRpb25GbGFncz4gaW5zdGVhZCBvZiBEcmFnQXBwbGlj
YXRpb25GbGFncy4KKworICAgICAgICAqIHBhZ2UvZ3RrL0RyYWdDb250cm9sbGVyR3RrLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkRyYWdDb250cm9sbGVyOjppc0NvcHlLZXlEb3duKToKKyAgICAg
ICAgKiBwYWdlL21hYy9EcmFnQ29udHJvbGxlck1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OkRy
YWdDb250cm9sbGVyOjppc0NvcHlLZXlEb3duKToKKyAgICAgICAgKFdlYkNvcmU6OkRyYWdDb250
cm9sbGVyOjpkcmFnT3BlcmF0aW9uKToKKyAgICAgICAgKiBwbGF0Zm9ybS9EcmFnRGF0YS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpEcmFnRGF0YTo6RHJhZ0RhdGEpOgorICAgICAgICAqIHBsYXRm
b3JtL0RyYWdEYXRhLmg6CisgICAgICAgIChXZWJDb3JlOjpEcmFnRGF0YTo6ZmxhZ3MgY29uc3Qp
OgorICAgICAgICAqIHBsYXRmb3JtL2NvY29hL0RyYWdEYXRhQ29jb2EubW06CisgICAgICAgIChX
ZWJDb3JlOjpEcmFnRGF0YTo6RHJhZ0RhdGEpOgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9EcmFn
RGF0YVdpbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEcmFnRGF0YTo6RHJhZ0RhdGEpOgorCiAy
MDIwLTA4LTEwICBFcmljIENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgogCiAgICAg
ICAgIHIyNjI0NTYgYnJva2Ugc2l0ZXMgdGhhdCBleHBlY3Qgd2Via2l0RGlzcGxheWluZ0Z1bGxz
Y3JlZW4gdG8gYmUgdHJ1ZSBhbG1vc3QgaW1tZWRpYXRlbHkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggMzdmZTgxYjlj
ZDcxZjczMDU0ZWFjYWFiMjkwM2Y3ZmZlYzc1MWZiMS4uZGI4NzA5YzFlYzhkZmU3YzIyM2JmOGEw
YWRjMTU3NTU1MjNmNzhiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAyMC0wOC0xMCAg
Q2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIEF1eGlsaWFyeVByb2Nl
c3M6OmRpZFJlY2VpdmVJbnZhbGlkTWVzc2FnZSgpIGZvciBXZWJQYWdlOjpQZXJmb3JtRHJhZ0Nv
bnRyb2xsZXJBY3Rpb24gSVBDCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0yMTUzNDEKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU5MzQ0MDkxPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IEFsZXggQ2hyaXN0ZW5zZW4uCisKKyAgICAgICAgRHJhZ0FwcGxp
Y2F0aW9uRmxhZ3MgaXMgYW4gZW51bSBjb250YWluaW5nIGZsYWdzLiBJdCB3YXMgYmVpbmcgc2Vu
dCBvdmVyIElQQyBhcyBhIERyYWdBcHBsaWNhdGlvbkZsYWdzCisgICAgICAgIGluc3RlYWQgb2Yg
YW4gT3B0aW9uU2V0PERyYWdBcHBsaWNhdGlvbkZsYWdzPiwgYW5kIHRodXMgd291bGQgZmFpbCBl
bnVtIHZhbHVlIHZhbGlkYXRpb24gd2hlbiBkZWNvZGluZworICAgICAgICB3aGVuIG1vcmUgdGhh
biBvbmUgZmxhZyBpcyBzZXQuCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5w
eToKKyAgICAgICAgKiBTaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNwcDoKKyAgICAgICAg
KElQQzo6QXJndW1lbnRDb2RlcjxEcmFnRGF0YT46OmRlY29kZSk6CisgICAgICAgICogVUlQcm9j
ZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tOgorICAgICAgICAoV2ViS2l0OjphcHBsaWNhdGlvbkZs
YWdzRm9yRHJhZyk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpwZXJmb3JtRHJhZ0NvbnRyb2xsZXJBY3Rpb24pOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmg6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW46CisKIDIwMjAtMDgtMTAgIFNpaHVpIExp
dSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+CiAKICAgICAgICAgQWx3YXlzIHN1c3BlbmQgSURCIHdv
cmsgd2hlbiBuZXR3b3JrIHByb2Nlc3MgaXMgcHJlcGFyZWQgdG8gc3VzcGVuZApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ndGsvRHJhZ0NvbnRyb2xsZXJHdGsuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9ndGsvRHJhZ0NvbnRyb2xsZXJHdGsuY3BwCmluZGV4IDY2MGJhOTVlNGUy
MTAyMDQzMmU2OGFmNGFjOGIzMDY1MGNhMzU2M2MuLjRiNjEyMGQzMmJjNzhkYzQ0YmMzYTlmZWQ4
N2ExYjAxMGMzNzc5YTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvZ3RrL0RyYWdD
b250cm9sbGVyR3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2d0ay9EcmFnQ29udHJv
bGxlckd0ay5jcHAKQEAgLTQ3LDcgKzQ3LDcgQEAgY29uc3QgZmxvYXQgRHJhZ0NvbnRyb2xsZXI6
OkRyYWdJbWFnZUFscGhhID0gMC43NWY7CiAKIGJvb2wgRHJhZ0NvbnRyb2xsZXI6OmlzQ29weUtl
eURvd24oY29uc3QgRHJhZ0RhdGEmIGRyYWdEYXRhKQogewotICAgIHJldHVybiBkcmFnRGF0YS5m
bGFncygpICYgRHJhZ0FwcGxpY2F0aW9uSXNDb3B5S2V5RG93bjsKKyAgICByZXR1cm4gZHJhZ0Rh
dGEuZmxhZ3MoKS5jb250YWlucyhEcmFnQXBwbGljYXRpb25Jc0NvcHlLZXlEb3duKTsKIH0KIAog
T3B0aW9uYWw8RHJhZ09wZXJhdGlvbj4gRHJhZ0NvbnRyb2xsZXI6OmRyYWdPcGVyYXRpb24oY29u
c3QgRHJhZ0RhdGEmIGRyYWdEYXRhKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9t
YWMvRHJhZ0NvbnRyb2xsZXJNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9EcmFnQ29u
dHJvbGxlck1hYy5tbQppbmRleCAxNWZlNTkwZTNiNWRjYzliOGZlZmIxZTIyM2Y1MDY1NGVlYjk4
NjA5Li43ZTQ2YWM0ODk3NjZlMWI2Yzk3YWVjODI3NGQ2NGNhNTBlODM1ZWVkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9EcmFnQ29udHJvbGxlck1hYy5tbQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL21hYy9EcmFnQ29udHJvbGxlck1hYy5tbQpAQCAtNjEsMTIgKzYxLDEy
IEBAIGNvbnN0IGZsb2F0IERyYWdDb250cm9sbGVyOjpEcmFnSW1hZ2VBbHBoYSA9IDAuNzVmOwog
CiBib29sIERyYWdDb250cm9sbGVyOjppc0NvcHlLZXlEb3duKGNvbnN0IERyYWdEYXRhJiBkcmFn
RGF0YSkKIHsKLSAgICByZXR1cm4gZHJhZ0RhdGEuZmxhZ3MoKSAmIERyYWdBcHBsaWNhdGlvbklz
Q29weUtleURvd247CisgICAgcmV0dXJuIGRyYWdEYXRhLmZsYWdzKCkuY29udGFpbnMoRHJhZ0Fw
cGxpY2F0aW9uSXNDb3B5S2V5RG93bik7CiB9CiAgICAgCiBPcHRpb25hbDxEcmFnT3BlcmF0aW9u
PiBEcmFnQ29udHJvbGxlcjo6ZHJhZ09wZXJhdGlvbihjb25zdCBEcmFnRGF0YSYgZHJhZ0RhdGEp
CiB7Ci0gICAgaWYgKGRyYWdEYXRhLmZsYWdzKCkgJiBEcmFnQXBwbGljYXRpb25Jc01vZGFsKQor
ICAgIGlmIChkcmFnRGF0YS5mbGFncygpLmNvbnRhaW5zKERyYWdBcHBsaWNhdGlvbklzTW9kYWwp
KQogICAgICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwogCiAgICAgYm9vbCBtYXlDb250YWluVVJM
OwpAQCAtNzgsNyArNzgsNyBAQCBPcHRpb25hbDxEcmFnT3BlcmF0aW9uPiBEcmFnQ29udHJvbGxl
cjo6ZHJhZ09wZXJhdGlvbihjb25zdCBEcmFnRGF0YSYgZHJhZ0RhdGEpCiAgICAgaWYgKCFtYXlD
b250YWluVVJMICYmICFkcmFnRGF0YS5jb250YWluc1Byb21pc2UoKSkKICAgICAgICAgcmV0dXJu
IFdURjo6bnVsbG9wdDsKIAotICAgIGlmICghbV9kb2N1bWVudFVuZGVyTW91c2UgfHwgKCEoZHJh
Z0RhdGEuZmxhZ3MoKSAmIChEcmFnQXBwbGljYXRpb25IYXNBdHRhY2hlZFNoZWV0IHwgRHJhZ0Fw
cGxpY2F0aW9uSXNTb3VyY2UpKSkpCisgICAgaWYgKCFtX2RvY3VtZW50VW5kZXJNb3VzZSB8fCAo
IShkcmFnRGF0YS5mbGFncygpLmNvbnRhaW5zQWxsKHsgRHJhZ0FwcGxpY2F0aW9uSGFzQXR0YWNo
ZWRTaGVldCwgRHJhZ0FwcGxpY2F0aW9uSXNTb3VyY2UgfSkpKSkKICAgICAgICAgcmV0dXJuIERy
YWdPcGVyYXRpb246OkNvcHk7CiAKICAgICByZXR1cm4gV1RGOjpudWxsb3B0OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRHJhZ0RhdGEuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vRHJhZ0RhdGEuY3BwCmluZGV4IGU4YzQwZjU1OTAyZDkzYTVhODcyYWMwZWUwZmRh
Y2MzZjllZDJmYzYuLmMyN2ZkMGY2ZWExZjcwMDc5YjBjZTBkZTFkMWE2M2VmOGUyY2ZjOTQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0RyYWdEYXRhLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9EcmFnRGF0YS5jcHAKQEAgLTMyLDcgKzMyLDcgQEAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogI2lmICFQTEFURk9STShDT0NPQSkKLURyYWdEYXRhOjpEcmFnRGF0
YShEcmFnRGF0YVJlZiBkYXRhLCBjb25zdCBJbnRQb2ludCYgY2xpZW50UG9zaXRpb24sIGNvbnN0
IEludFBvaW50JiBnbG9iYWxQb3NpdGlvbiwgT3B0aW9uU2V0PERyYWdPcGVyYXRpb24+IHNvdXJj
ZU9wZXJhdGlvbk1hc2ssIERyYWdBcHBsaWNhdGlvbkZsYWdzIGZsYWdzLCBPcHRpb25TZXQ8RHJh
Z0Rlc3RpbmF0aW9uQWN0aW9uPiBkZXN0aW5hdGlvbkFjdGlvbk1hc2spCitEcmFnRGF0YTo6RHJh
Z0RhdGEoRHJhZ0RhdGFSZWYgZGF0YSwgY29uc3QgSW50UG9pbnQmIGNsaWVudFBvc2l0aW9uLCBj
b25zdCBJbnRQb2ludCYgZ2xvYmFsUG9zaXRpb24sIE9wdGlvblNldDxEcmFnT3BlcmF0aW9uPiBz
b3VyY2VPcGVyYXRpb25NYXNrLCBPcHRpb25TZXQ8RHJhZ0FwcGxpY2F0aW9uRmxhZ3M+IGZsYWdz
LCBPcHRpb25TZXQ8RHJhZ0Rlc3RpbmF0aW9uQWN0aW9uPiBkZXN0aW5hdGlvbkFjdGlvbk1hc2sp
CiAgICAgOiBtX2NsaWVudFBvc2l0aW9uKGNsaWVudFBvc2l0aW9uKQogICAgICwgbV9nbG9iYWxQ
b3NpdGlvbihnbG9iYWxQb3NpdGlvbikKICAgICAsIG1fcGxhdGZvcm1EcmFnRGF0YShkYXRhKQpA
QCAtNDIsNyArNDIsNyBAQCBEcmFnRGF0YTo6RHJhZ0RhdGEoRHJhZ0RhdGFSZWYgZGF0YSwgY29u
c3QgSW50UG9pbnQmIGNsaWVudFBvc2l0aW9uLCBjb25zdCBJbnRQbwogeyAgCiB9CiAKLURyYWdE
YXRhOjpEcmFnRGF0YShjb25zdCBTdHJpbmcmLCBjb25zdCBJbnRQb2ludCYgY2xpZW50UG9zaXRp
b24sIGNvbnN0IEludFBvaW50JiBnbG9iYWxQb3NpdGlvbiwgT3B0aW9uU2V0PERyYWdPcGVyYXRp
b24+IHNvdXJjZU9wZXJhdGlvbk1hc2ssIERyYWdBcHBsaWNhdGlvbkZsYWdzIGZsYWdzLCBPcHRp
b25TZXQ8RHJhZ0Rlc3RpbmF0aW9uQWN0aW9uPiBkZXN0aW5hdGlvbkFjdGlvbk1hc2spCitEcmFn
RGF0YTo6RHJhZ0RhdGEoY29uc3QgU3RyaW5nJiwgY29uc3QgSW50UG9pbnQmIGNsaWVudFBvc2l0
aW9uLCBjb25zdCBJbnRQb2ludCYgZ2xvYmFsUG9zaXRpb24sIE9wdGlvblNldDxEcmFnT3BlcmF0
aW9uPiBzb3VyY2VPcGVyYXRpb25NYXNrLCBPcHRpb25TZXQ8RHJhZ0FwcGxpY2F0aW9uRmxhZ3M+
IGZsYWdzLCBPcHRpb25TZXQ8RHJhZ0Rlc3RpbmF0aW9uQWN0aW9uPiBkZXN0aW5hdGlvbkFjdGlv
bk1hc2spCiAgICAgOiBtX2NsaWVudFBvc2l0aW9uKGNsaWVudFBvc2l0aW9uKQogICAgICwgbV9n
bG9iYWxQb3NpdGlvbihnbG9iYWxQb3NpdGlvbikKICAgICAsIG1fcGxhdGZvcm1EcmFnRGF0YSgw
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRHJhZ0RhdGEuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL0RyYWdEYXRhLmgKaW5kZXggNGU1M2U2MzMzNzQ4NjFmZDMxNzEy
ODViNWM1ZTkxZjY4MTAyM2UwYi4uZDFlM2MxMDcxZTUyM2YxOGY5MmJjMjkyNGE1Mzg3N2E3YTI2
NWYxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRHJhZ0RhdGEuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9EcmFnRGF0YS5oCkBAIC01OCw4ICs1OCw3IEBAIHR5
cGVkZWYgdm9pZCogRHJhZ0RhdGFSZWY7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotZW51bSBE
cmFnQXBwbGljYXRpb25GbGFncyB7Ci0gICAgRHJhZ0FwcGxpY2F0aW9uTm9uZSA9IDAsCitlbnVt
IERyYWdBcHBsaWNhdGlvbkZsYWdzIDogdWludDhfdCB7CiAgICAgRHJhZ0FwcGxpY2F0aW9uSXNN
b2RhbCA9IDEsCiAgICAgRHJhZ0FwcGxpY2F0aW9uSXNTb3VyY2UgPSAyLAogICAgIERyYWdBcHBs
aWNhdGlvbkhhc0F0dGFjaGVkU2hlZXQgPSA0LApAQCAtNzYsMjAgKzc1LDIwIEBAIHB1YmxpYzoK
ICAgICBlbnVtIGNsYXNzIERyYWdnaW5nUHVycG9zZSB7IEZvckVkaXRpbmcsIEZvckZpbGVVcGxv
YWQsIEZvckNvbG9yQ29udHJvbCB9OwogCiAgICAgLy8gY2xpZW50UG9zaXRpb24gaXMgdGFrZW4g
dG8gYmUgdGhlIHBvc2l0aW9uIG9mIHRoZSBkcmFnIGV2ZW50IHdpdGhpbiB0aGUgdGFyZ2V0IHdp
bmRvdywgd2l0aCAoMCwwKSBhdCB0aGUgdG9wIGxlZnQKLSAgICBXRUJDT1JFX0VYUE9SVCBEcmFn
RGF0YShEcmFnRGF0YVJlZiwgY29uc3QgSW50UG9pbnQmIGNsaWVudFBvc2l0aW9uLCBjb25zdCBJ
bnRQb2ludCYgZ2xvYmFsUG9zaXRpb24sIE9wdGlvblNldDxEcmFnT3BlcmF0aW9uPiwgRHJhZ0Fw
cGxpY2F0aW9uRmxhZ3MgPSBEcmFnQXBwbGljYXRpb25Ob25lLCBPcHRpb25TZXQ8RHJhZ0Rlc3Rp
bmF0aW9uQWN0aW9uPiA9IGFueURyYWdEZXN0aW5hdGlvbkFjdGlvbigpKTsKLSAgICBXRUJDT1JF
X0VYUE9SVCBEcmFnRGF0YShjb25zdCBTdHJpbmcmIGRyYWdTdG9yYWdlTmFtZSwgY29uc3QgSW50
UG9pbnQmIGNsaWVudFBvc2l0aW9uLCBjb25zdCBJbnRQb2ludCYgZ2xvYmFsUG9zaXRpb24sIE9w
dGlvblNldDxEcmFnT3BlcmF0aW9uPiwgRHJhZ0FwcGxpY2F0aW9uRmxhZ3MgPSBEcmFnQXBwbGlj
YXRpb25Ob25lLCBPcHRpb25TZXQ8RHJhZ0Rlc3RpbmF0aW9uQWN0aW9uPiA9IGFueURyYWdEZXN0
aW5hdGlvbkFjdGlvbigpKTsKKyAgICBXRUJDT1JFX0VYUE9SVCBEcmFnRGF0YShEcmFnRGF0YVJl
ZiwgY29uc3QgSW50UG9pbnQmIGNsaWVudFBvc2l0aW9uLCBjb25zdCBJbnRQb2ludCYgZ2xvYmFs
UG9zaXRpb24sIE9wdGlvblNldDxEcmFnT3BlcmF0aW9uPiwgT3B0aW9uU2V0PERyYWdBcHBsaWNh
dGlvbkZsYWdzPiA9IHsgfSwgT3B0aW9uU2V0PERyYWdEZXN0aW5hdGlvbkFjdGlvbj4gPSBhbnlE
cmFnRGVzdGluYXRpb25BY3Rpb24oKSk7CisgICAgV0VCQ09SRV9FWFBPUlQgRHJhZ0RhdGEoY29u
c3QgU3RyaW5nJiBkcmFnU3RvcmFnZU5hbWUsIGNvbnN0IEludFBvaW50JiBjbGllbnRQb3NpdGlv
biwgY29uc3QgSW50UG9pbnQmIGdsb2JhbFBvc2l0aW9uLCBPcHRpb25TZXQ8RHJhZ09wZXJhdGlv
bj4sIE9wdGlvblNldDxEcmFnQXBwbGljYXRpb25GbGFncz4gPSB7IH0sIE9wdGlvblNldDxEcmFn
RGVzdGluYXRpb25BY3Rpb24+ID0gYW55RHJhZ0Rlc3RpbmF0aW9uQWN0aW9uKCkpOwogICAgIC8v
IFRoaXMgY29uc3RydWN0b3Igc2hvdWxkIHVzZWQgb25seSBieSBXZWJLaXQyIElQQyBiZWNhdXNl
IERyYWdEYXRhCiAgICAgLy8gaXMgaW5pdGlhbGl6ZWQgYnkgdGhlIGRlY29kZXIgYW5kIG5vdCBp
biB0aGUgY29uc3RydWN0b3IuCiAgICAgRHJhZ0RhdGEoKSA9IGRlZmF1bHQ7CiAjaWYgUExBVEZP
Uk0oV0lOKQotICAgIFdFQkNPUkVfRVhQT1JUIERyYWdEYXRhKGNvbnN0IERyYWdEYXRhTWFwJiwg
Y29uc3QgSW50UG9pbnQmIGNsaWVudFBvc2l0aW9uLCBjb25zdCBJbnRQb2ludCYgZ2xvYmFsUG9z
aXRpb24sIE9wdGlvblNldDxEcmFnT3BlcmF0aW9uPiBzb3VyY2VPcGVyYXRpb25NYXNrLCBEcmFn
QXBwbGljYXRpb25GbGFncyA9IERyYWdBcHBsaWNhdGlvbk5vbmUpOworICAgIFdFQkNPUkVfRVhQ
T1JUIERyYWdEYXRhKGNvbnN0IERyYWdEYXRhTWFwJiwgY29uc3QgSW50UG9pbnQmIGNsaWVudFBv
c2l0aW9uLCBjb25zdCBJbnRQb2ludCYgZ2xvYmFsUG9zaXRpb24sIE9wdGlvblNldDxEcmFnT3Bl
cmF0aW9uPiBzb3VyY2VPcGVyYXRpb25NYXNrLCBPcHRpb25TZXQ8RHJhZ0FwcGxpY2F0aW9uRmxh
Z3M+ID0geyB9KTsKICAgICBjb25zdCBEcmFnRGF0YU1hcCYgZHJhZ0RhdGFNYXAoKTsKICAgICB2
b2lkIGdldERyYWdGaWxlRGVzY3JpcHRvckRhdGEoaW50JiBzaXplLCBTdHJpbmcmIHBhdGhuYW1l
KTsKICAgICB2b2lkIGdldERyYWdGaWxlQ29udGVudERhdGEoaW50IHNpemUsIHZvaWQqIGRhdGFC
bG9iKTsKICNlbmRpZgogICAgIGNvbnN0IEludFBvaW50JiBjbGllbnRQb3NpdGlvbigpIGNvbnN0
IHsgcmV0dXJuIG1fY2xpZW50UG9zaXRpb247IH0KICAgICBjb25zdCBJbnRQb2ludCYgZ2xvYmFs
UG9zaXRpb24oKSBjb25zdCB7IHJldHVybiBtX2dsb2JhbFBvc2l0aW9uOyB9Ci0gICAgRHJhZ0Fw
cGxpY2F0aW9uRmxhZ3MgZmxhZ3MoKSBjb25zdCB7IHJldHVybiBtX2FwcGxpY2F0aW9uRmxhZ3M7
IH0KKyAgICBPcHRpb25TZXQ8RHJhZ0FwcGxpY2F0aW9uRmxhZ3M+IGZsYWdzKCkgY29uc3QgeyBy
ZXR1cm4gbV9hcHBsaWNhdGlvbkZsYWdzOyB9CiAgICAgRHJhZ0RhdGFSZWYgcGxhdGZvcm1EYXRh
KCkgY29uc3QgeyByZXR1cm4gbV9wbGF0Zm9ybURyYWdEYXRhOyB9CiAgICAgT3B0aW9uU2V0PERy
YWdPcGVyYXRpb24+IGRyYWdnaW5nU291cmNlT3BlcmF0aW9uTWFzaygpIGNvbnN0IHsgcmV0dXJu
IG1fZHJhZ2dpbmdTb3VyY2VPcGVyYXRpb25NYXNrOyB9CiAgICAgYm9vbCBjb250YWluc1VSTChG
aWxlbmFtZUNvbnZlcnNpb25Qb2xpY3kgPSBDb252ZXJ0RmlsZW5hbWVzKSBjb25zdDsKQEAgLTEz
MSw3ICsxMzAsNyBAQCBwcml2YXRlOgogICAgIEludFBvaW50IG1fZ2xvYmFsUG9zaXRpb247CiAg
ICAgRHJhZ0RhdGFSZWYgbV9wbGF0Zm9ybURyYWdEYXRhOwogICAgIE9wdGlvblNldDxEcmFnT3Bl
cmF0aW9uPiBtX2RyYWdnaW5nU291cmNlT3BlcmF0aW9uTWFzazsKLSAgICBEcmFnQXBwbGljYXRp
b25GbGFncyBtX2FwcGxpY2F0aW9uRmxhZ3M7CisgICAgT3B0aW9uU2V0PERyYWdBcHBsaWNhdGlv
bkZsYWdzPiBtX2FwcGxpY2F0aW9uRmxhZ3M7CiAgICAgVmVjdG9yPFN0cmluZz4gbV9maWxlTmFt
ZXM7CiAgICAgT3B0aW9uU2V0PERyYWdEZXN0aW5hdGlvbkFjdGlvbj4gbV9kcmFnRGVzdGluYXRp
b25BY3Rpb25NYXNrOwogI2lmIFBMQVRGT1JNKENPQ09BKQpAQCAtMTQ5LDcgKzE0OCw2IEBAIG5h
bWVzcGFjZSBXVEYgewogdGVtcGxhdGU8PiBzdHJ1Y3QgRW51bVRyYWl0czxXZWJDb3JlOjpEcmFn
QXBwbGljYXRpb25GbGFncz4gewogICAgIHVzaW5nIHZhbHVlcyA9IEVudW1WYWx1ZXM8CiAgICAg
ICAgIFdlYkNvcmU6OkRyYWdBcHBsaWNhdGlvbkZsYWdzLAotICAgICAgICBXZWJDb3JlOjpEcmFn
QXBwbGljYXRpb25GbGFnczo6RHJhZ0FwcGxpY2F0aW9uTm9uZSwKICAgICAgICAgV2ViQ29yZTo6
RHJhZ0FwcGxpY2F0aW9uRmxhZ3M6OkRyYWdBcHBsaWNhdGlvbklzTW9kYWwsCiAgICAgICAgIFdl
YkNvcmU6OkRyYWdBcHBsaWNhdGlvbkZsYWdzOjpEcmFnQXBwbGljYXRpb25Jc1NvdXJjZSwKICAg
ICAgICAgV2ViQ29yZTo6RHJhZ0FwcGxpY2F0aW9uRmxhZ3M6OkRyYWdBcHBsaWNhdGlvbkhhc0F0
dGFjaGVkU2hlZXQsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9E
cmFnRGF0YUNvY29hLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY29jb2EvRHJhZ0RhdGFD
b2NvYS5tbQppbmRleCAzYTEyODlkNGJjYzU2MDk2YWRlZmQwNTgwMDc0M2VkMDljNjRjNmNlLi43
ZWJlZTdmODgyMzA3N2FjMWZlMWMzOTg5ZmUzOGRjZDllYjIxYjk3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9jb2NvYS9EcmFnRGF0YUNvY29hLm1tCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2NvY29hL0RyYWdEYXRhQ29jb2EubW0KQEAgLTExNiw3ICsxMTYsNyBA
QCBzdGF0aWMgaW5saW5lIFN0cmluZyB0aWZmUGFzdGVib2FyZFR5cGUoKQogI2VuZGlmCiB9CiAK
LURyYWdEYXRhOjpEcmFnRGF0YShEcmFnRGF0YVJlZiBkYXRhLCBjb25zdCBJbnRQb2ludCYgY2xp
ZW50UG9zaXRpb24sIGNvbnN0IEludFBvaW50JiBnbG9iYWxQb3NpdGlvbiwgT3B0aW9uU2V0PERy
YWdPcGVyYXRpb24+IHNvdXJjZU9wZXJhdGlvbk1hc2ssIERyYWdBcHBsaWNhdGlvbkZsYWdzIGZs
YWdzLCBPcHRpb25TZXQ8RHJhZ0Rlc3RpbmF0aW9uQWN0aW9uPiBkZXN0aW5hdGlvbkFjdGlvbk1h
c2spCitEcmFnRGF0YTo6RHJhZ0RhdGEoRHJhZ0RhdGFSZWYgZGF0YSwgY29uc3QgSW50UG9pbnQm
IGNsaWVudFBvc2l0aW9uLCBjb25zdCBJbnRQb2ludCYgZ2xvYmFsUG9zaXRpb24sIE9wdGlvblNl
dDxEcmFnT3BlcmF0aW9uPiBzb3VyY2VPcGVyYXRpb25NYXNrLCBPcHRpb25TZXQ8RHJhZ0FwcGxp
Y2F0aW9uRmxhZ3M+IGZsYWdzLCBPcHRpb25TZXQ8RHJhZ0Rlc3RpbmF0aW9uQWN0aW9uPiBkZXN0
aW5hdGlvbkFjdGlvbk1hc2spCiAgICAgOiBtX2NsaWVudFBvc2l0aW9uKGNsaWVudFBvc2l0aW9u
KQogICAgICwgbV9nbG9iYWxQb3NpdGlvbihnbG9iYWxQb3NpdGlvbikKICAgICAsIG1fcGxhdGZv
cm1EcmFnRGF0YShkYXRhKQpAQCAtMTMxLDcgKzEzMSw3IEBAIERyYWdEYXRhOjpEcmFnRGF0YShE
cmFnRGF0YVJlZiBkYXRhLCBjb25zdCBJbnRQb2ludCYgY2xpZW50UG9zaXRpb24sIGNvbnN0IElu
dFBvCiB7CiB9CiAKLURyYWdEYXRhOjpEcmFnRGF0YShjb25zdCBTdHJpbmcmIGRyYWdTdG9yYWdl
TmFtZSwgY29uc3QgSW50UG9pbnQmIGNsaWVudFBvc2l0aW9uLCBjb25zdCBJbnRQb2ludCYgZ2xv
YmFsUG9zaXRpb24sIE9wdGlvblNldDxEcmFnT3BlcmF0aW9uPiBzb3VyY2VPcGVyYXRpb25NYXNr
LCBEcmFnQXBwbGljYXRpb25GbGFncyBmbGFncywgT3B0aW9uU2V0PERyYWdEZXN0aW5hdGlvbkFj
dGlvbj4gZGVzdGluYXRpb25BY3Rpb25NYXNrKQorRHJhZ0RhdGE6OkRyYWdEYXRhKGNvbnN0IFN0
cmluZyYgZHJhZ1N0b3JhZ2VOYW1lLCBjb25zdCBJbnRQb2ludCYgY2xpZW50UG9zaXRpb24sIGNv
bnN0IEludFBvaW50JiBnbG9iYWxQb3NpdGlvbiwgT3B0aW9uU2V0PERyYWdPcGVyYXRpb24+IHNv
dXJjZU9wZXJhdGlvbk1hc2ssIE9wdGlvblNldDxEcmFnQXBwbGljYXRpb25GbGFncz4gZmxhZ3Ms
IE9wdGlvblNldDxEcmFnRGVzdGluYXRpb25BY3Rpb24+IGRlc3RpbmF0aW9uQWN0aW9uTWFzaykK
ICAgICA6IG1fY2xpZW50UG9zaXRpb24oY2xpZW50UG9zaXRpb24pCiAgICAgLCBtX2dsb2JhbFBv
c2l0aW9uKGdsb2JhbFBvc2l0aW9uKQogICAgICwgbV9wbGF0Zm9ybURyYWdEYXRhKDApCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vRHJhZ0RhdGFXaW4uY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL0RyYWdEYXRhV2luLmNwcAppbmRleCAxODg3MGYyMjc1
Mjg3Yjk3ZGFhMzllODAzYmM3ZTJiMzhlNWVmNDAyLi42MWVhNGM0N2ZhMzUyMjU4OGY4M2E2ODZk
ODVjNzdjMTQyOTA5YzI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4v
RHJhZ0RhdGFXaW4uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9EcmFnRGF0
YVdpbi5jcHAKQEAgLTQxLDcgKzQxLDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogRHJhZ0Rh
dGE6OkRyYWdEYXRhKGNvbnN0IERyYWdEYXRhTWFwJiBkYXRhLCBjb25zdCBJbnRQb2ludCYgY2xp
ZW50UG9zaXRpb24sIGNvbnN0IEludFBvaW50JiBnbG9iYWxQb3NpdGlvbiwKLSAgICBPcHRpb25T
ZXQ8RHJhZ09wZXJhdGlvbj4gc291cmNlT3BlcmF0aW9uTWFzaywgRHJhZ0FwcGxpY2F0aW9uRmxh
Z3MgZmxhZ3MpCisgICAgT3B0aW9uU2V0PERyYWdPcGVyYXRpb24+IHNvdXJjZU9wZXJhdGlvbk1h
c2ssIE9wdGlvblNldDxEcmFnQXBwbGljYXRpb25GbGFncz4gZmxhZ3MpCiAgICAgOiBtX2NsaWVu
dFBvc2l0aW9uKGNsaWVudFBvc2l0aW9uKQogICAgICwgbV9nbG9iYWxQb3NpdGlvbihnbG9iYWxQ
b3NpdGlvbikKICAgICAsIG1fcGxhdGZvcm1EcmFnRGF0YSgwKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weSBiL1NvdXJjZS9XZWJLaXQvU2NyaXB0
cy93ZWJraXQvbWVzc2FnZXMucHkKaW5kZXggMTgzYWE0OWJkZWVmMmRiZGM4NGQzZGEyYjI3Nzg0
ZWMzZWJkYzYyMy4uZTlkYWU5ZTUzYzUwMmQ3Y2Y4Yzc0NGIxYTlhZjViZDVhNGIyNzFjYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weQorKysgYi9T
b3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L21lc3NhZ2VzLnB5CkBAIC0yMDcsNiArMjA3LDcg
QEAgZGVmIHR5cGVzX3RoYXRfY2Fubm90X2JlX2ZvcndhcmRfZGVjbGFyZWQoKToKICAgICAgICAg
J1N0cmluZycsCiAgICAgICAgICdXZWJDb3JlOjpDb2xvclNwYWNlJywKICAgICAgICAgJ1dlYkNv
cmU6OkRpY3RhdGlvbkNvbnRleHQnLAorICAgICAgICAnV2ViQ29yZTo6RHJhZ0FwcGxpY2F0aW9u
RmxhZ3MnLAogICAgICAgICAnV2ViQ29yZTo6RG9jdW1lbnRJZGVudGlmaWVyJywKICAgICAgICAg
J1dlYkNvcmU6OkRvY3VtZW50T3JXb3JrZXJJZGVudGlmaWVyJywKICAgICAgICAgJ1dlYkNvcmU6
OkZldGNoSWRlbnRpZmllcicsCkBAIC01OTEsNiArNTkyLDcgQEAgZGVmIGhlYWRlcnNfZm9yX3R5
cGUodHlwZSk6CiAgICAgICAgICdXZWJDb3JlOjpET01QYXN0ZUFjY2Vzc1Jlc3BvbnNlJzogWyc8
V2ViQ29yZS9ET01QYXN0ZUFjY2Vzcy5oPiddLAogICAgICAgICAnV2ViQ29yZTo6RG9jdW1lbnRP
cldvcmtlcklkZW50aWZpZXInOiBbJzxXZWJDb3JlL1NlcnZpY2VXb3JrZXJUeXBlcy5oPiddLAog
ICAgICAgICAnV2ViS2l0OjpEb2N1bWVudEVkaXRpbmdDb250ZXh0UmVxdWVzdCc6IFsnIkRvY3Vt
ZW50RWRpdGluZ0NvbnRleHQuaCInXSwKKyAgICAgICAgJ1dlYkNvcmU6OkRyYWdBcHBsaWNhdGlv
bkZsYWdzJzogWyc8V2ViQ29yZS9EcmFnRGF0YS5oPiddLAogICAgICAgICAnV2ViQ29yZTo6RHJh
Z0hhbmRsaW5nTWV0aG9kJzogWyc8V2ViQ29yZS9EcmFnQWN0aW9ucy5oPiddLAogICAgICAgICAn
V2ViQ29yZTo6RHJhZ09wZXJhdGlvbic6IFsnPFdlYkNvcmUvRHJhZ0FjdGlvbnMuaD4nXSwKICAg
ICAgICAgJ1dlYkNvcmU6OkRyYWdTb3VyY2VBY3Rpb24nOiBbJzxXZWJDb3JlL0RyYWdBY3Rpb25z
Lmg+J10sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRD
b2RlcnMuY3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmNw
cAppbmRleCA0MGRmMGQxZWY3NTIzODkxZDU1ZWNjYzMzMWVmN2UxNzg0YTFmYWQ0Li40NGIwMzRi
OTgxODdlMzUzYjA3NGMyMWZjNTYwMTVmNmU2ODNjMjdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9XZWJDb3JlQXJndW1lbnRDb2RlcnMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
U2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5jcHAKQEAgLTE1NTQsNyArMTU1NCw3IEBAIGJv
b2wgQXJndW1lbnRDb2RlcjxEcmFnRGF0YT46OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyLCBEcmFn
RGF0YSYgZHJhZ0RhdGEpCiAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShkcmFnZ2luZ1NvdXJjZU9w
ZXJhdGlvbk1hc2spKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBEcmFnQXBwbGljYXRp
b25GbGFncyBhcHBsaWNhdGlvbkZsYWdzOworICAgIE9wdGlvblNldDxEcmFnQXBwbGljYXRpb25G
bGFncz4gYXBwbGljYXRpb25GbGFnczsKICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGFwcGxpY2F0
aW9uRmxhZ3MpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0NvY29hL1dlYlZpZXdJbXBsLm1tIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwubW0KaW5kZXggMGY5ZThmY2RlNWU1MTM3YjY4NzQ2ODYy
MWVkNmY1YzU0ZDcyMGE1ZC4uYWIxZmM2MjIxZTg2M2U0MWZhNGIxM2MzMWNhZjZlODRhZmZkOWQw
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwu
bW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvV2ViVmlld0ltcGwubW0KQEAg
LTM5MjksMTkgKzM5MjksMTkgQEAgdm9pZCBXZWJWaWV3SW1wbDo6c2VuZERyYWdFbmRUb1BhZ2Uo
Q0dQb2ludCBlbmRQb2ludCwgTlNEcmFnT3BlcmF0aW9uIGRyYWdPcGVyYXQKICAgICBtX3BhZ2Ut
PmRyYWdFbmRlZChXZWJDb3JlOjpJbnRQb2ludCh3aW5kb3dNb3VzZUxvYyksIFdlYkNvcmU6Oklu
dFBvaW50KFdlYkNvcmU6Omdsb2JhbFBvaW50KHdpbmRvd01vdXNlTG9jLCBbbV92aWV3IHdpbmRv
d10pKSwgY29yZURyYWdPcGVyYXRpb25NYXNrKGRyYWdPcGVyYXRpb25NYXNrKSk7CiB9CiAKLXN0
YXRpYyBXZWJDb3JlOjpEcmFnQXBwbGljYXRpb25GbGFncyBhcHBsaWNhdGlvbkZsYWdzRm9yRHJh
ZyhOU1ZpZXcgKnZpZXcsIGlkIDxOU0RyYWdnaW5nSW5mbz4gZHJhZ2dpbmdJbmZvKQorc3RhdGlj
IE9wdGlvblNldDxXZWJDb3JlOjpEcmFnQXBwbGljYXRpb25GbGFncz4gYXBwbGljYXRpb25GbGFn
c0ZvckRyYWcoTlNWaWV3ICp2aWV3LCBpZCA8TlNEcmFnZ2luZ0luZm8+IGRyYWdnaW5nSW5mbykK
IHsKICAgICBBU1NFUlQoaGFzUHJvY2Vzc1ByaXZpbGVnZShQcm9jZXNzUHJpdmlsZWdlOjpDYW5D
b21tdW5pY2F0ZVdpdGhXaW5kb3dTZXJ2ZXIpKTsKLSAgICB1aW50MzJfdCBmbGFncyA9IDA7Cisg
ICAgT3B0aW9uU2V0PFdlYkNvcmU6OkRyYWdBcHBsaWNhdGlvbkZsYWdzPiBmbGFnczsKICAgICBp
ZiAoW05TQXBwIG1vZGFsV2luZG93XSkKLSAgICAgICAgZmxhZ3MgPSBXZWJDb3JlOjpEcmFnQXBw
bGljYXRpb25Jc01vZGFsOworICAgICAgICBmbGFncy5hZGQoV2ViQ29yZTo6RHJhZ0FwcGxpY2F0
aW9uSXNNb2RhbCk7CiAgICAgaWYgKHZpZXcud2luZG93LmF0dGFjaGVkU2hlZXQpCi0gICAgICAg
IGZsYWdzIHw9IFdlYkNvcmU6OkRyYWdBcHBsaWNhdGlvbkhhc0F0dGFjaGVkU2hlZXQ7CisgICAg
ICAgIGZsYWdzLmFkZChXZWJDb3JlOjpEcmFnQXBwbGljYXRpb25IYXNBdHRhY2hlZFNoZWV0KTsK
ICAgICBpZiAoZHJhZ2dpbmdJbmZvLmRyYWdnaW5nU291cmNlID09IHZpZXcpCi0gICAgICAgIGZs
YWdzIHw9IFdlYkNvcmU6OkRyYWdBcHBsaWNhdGlvbklzU291cmNlOworICAgICAgICBmbGFncy5h
ZGQoV2ViQ29yZTo6RHJhZ0FwcGxpY2F0aW9uSXNTb3VyY2UpOwogICAgIGlmIChbTlNBcHAgY3Vy
cmVudEV2ZW50XS5tb2RpZmllckZsYWdzICYgTlNFdmVudE1vZGlmaWVyRmxhZ09wdGlvbikKLSAg
ICAgICAgZmxhZ3MgfD0gV2ViQ29yZTo6RHJhZ0FwcGxpY2F0aW9uSXNDb3B5S2V5RG93bjsKLSAg
ICByZXR1cm4gc3RhdGljX2Nhc3Q8V2ViQ29yZTo6RHJhZ0FwcGxpY2F0aW9uRmxhZ3M+KGZsYWdz
KTsKKyAgICAgICAgZmxhZ3MuYWRkKFdlYkNvcmU6OkRyYWdBcHBsaWNhdGlvbklzQ29weUtleURv
d24pOworICAgIHJldHVybiBmbGFnczsKIAogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQppbmRleCBiZDg0YzRj
NTQxNmUyMDVlZmM4ZThjY2IyY2QzYTZlMzYwZGEyZDM1Li40M2E1ZWQ2NTIwZGFkYTBhNDlhYzYw
ZGU1NTBiODIxMmQwNjhkZWU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9p
b3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KQEAgLTc0NjQsNyArNzQ2NCw3IEBA
IC0gKFdlYkNvcmU6OkRyYWdEYXRhKWRyYWdEYXRhRm9yRHJvcFNlc3Npb246KGlkIDxVSURyb3BT
ZXNzaW9uPilzZXNzaW9uIGRyYWdEZXN0CiAgICAgYXV0byBkcmFnT3BlcmF0aW9uTWFzayA9IFdl
YkNvcmU6OmFueURyYWdPcGVyYXRpb24oKTsKICAgICBpZiAoIXNlc3Npb24uYWxsb3dzTW92ZU9w
ZXJhdGlvbikKICAgICAgICAgZHJhZ09wZXJhdGlvbk1hc2sucmVtb3ZlKFdlYkNvcmU6OkRyYWdP
cGVyYXRpb246Ok1vdmUpOwotICAgIHJldHVybiB7IHNlc3Npb24sIFdlYkNvcmU6OnJvdW5kZWRJ
bnRQb2ludChjbGllbnQpLCBXZWJDb3JlOjpyb3VuZGVkSW50UG9pbnQoZ2xvYmFsKSwgZHJhZ09w
ZXJhdGlvbk1hc2ssIFdlYkNvcmU6OkRyYWdBcHBsaWNhdGlvbk5vbmUsIFdlYktpdDo6Y29yZURy
YWdEZXN0aW5hdGlvbkFjdGlvbk1hc2soZHJhZ0Rlc3RpbmF0aW9uQWN0aW9uKSB9OworICAgIHJl
dHVybiB7IHNlc3Npb24sIFdlYkNvcmU6OnJvdW5kZWRJbnRQb2ludChjbGllbnQpLCBXZWJDb3Jl
Ojpyb3VuZGVkSW50UG9pbnQoZ2xvYmFsKSwgZHJhZ09wZXJhdGlvbk1hc2ssIHsgfSwgV2ViS2l0
Ojpjb3JlRHJhZ0Rlc3RpbmF0aW9uQWN0aW9uTWFzayhkcmFnRGVzdGluYXRpb25BY3Rpb24pIH07
CiB9CiAKIC0gKHZvaWQpY2xlYW5VcERyYWdTb3VyY2VTZXNzaW9uU3RhdGUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggMjc0MmYxM2VjZjM2ZDYw
Y2NmZDY3YTNmZDIxNTQ3NWIwMDY0ZjgzMi4uN2Q3N2M3NTk2MmFhMDc0NTRmYWYzYzc4NjQ3ZDdh
ZThmNTYwZjQ3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5jcHAKQEAgLTM5ODEsMTQgKzM5ODEsMTQgQEAgTm90aWZpY2F0aW9uUGVybWlzc2lvblJlcXVl
c3RNYW5hZ2VyKiBXZWJQYWdlOjpub3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1hbmEKICNp
ZiBFTkFCTEUoRFJBR19TVVBQT1JUKQogCiAjaWYgUExBVEZPUk0oR1RLKQotdm9pZCBXZWJQYWdl
OjpwZXJmb3JtRHJhZ0NvbnRyb2xsZXJBY3Rpb24oRHJhZ0NvbnRyb2xsZXJBY3Rpb24gYWN0aW9u
LCBjb25zdCBJbnRQb2ludCYgY2xpZW50UG9zaXRpb24sIGNvbnN0IEludFBvaW50JiBnbG9iYWxQ
b3NpdGlvbiwgT3B0aW9uU2V0PERyYWdPcGVyYXRpb24+IGRyYWdnaW5nU291cmNlT3BlcmF0aW9u
TWFzaywgU2VsZWN0aW9uRGF0YSYmIHNlbGVjdGlvbkRhdGEsIHVpbnQzMl90IGZsYWdzKQordm9p
ZCBXZWJQYWdlOjpwZXJmb3JtRHJhZ0NvbnRyb2xsZXJBY3Rpb24oRHJhZ0NvbnRyb2xsZXJBY3Rp
b24gYWN0aW9uLCBjb25zdCBJbnRQb2ludCYgY2xpZW50UG9zaXRpb24sIGNvbnN0IEludFBvaW50
JiBnbG9iYWxQb3NpdGlvbiwgT3B0aW9uU2V0PERyYWdPcGVyYXRpb24+IGRyYWdnaW5nU291cmNl
T3BlcmF0aW9uTWFzaywgU2VsZWN0aW9uRGF0YSYmIHNlbGVjdGlvbkRhdGEsIE9wdGlvblNldDxE
cmFnQXBwbGljYXRpb25GbGFncz4gZmxhZ3MpCiB7CiAgICAgaWYgKCFtX3BhZ2UpIHsKICAgICAg
ICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpEaWRQZXJmb3JtRHJhZ0NvbnRyb2xsZXJB
Y3Rpb24oV1RGOjpudWxsb3B0LCBEcmFnSGFuZGxpbmdNZXRob2Q6Ok5vbmUsIGZhbHNlLCAwLCB7
IH0sIHsgfSkpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCi0gICAgRHJhZ0RhdGEgZHJhZ0Rh
dGEoJnNlbGVjdGlvbkRhdGEsIGNsaWVudFBvc2l0aW9uLCBnbG9iYWxQb3NpdGlvbiwgZHJhZ2dp
bmdTb3VyY2VPcGVyYXRpb25NYXNrLCBzdGF0aWNfY2FzdDxEcmFnQXBwbGljYXRpb25GbGFncz4o
ZmxhZ3MpKTsKKyAgICBEcmFnRGF0YSBkcmFnRGF0YSgmc2VsZWN0aW9uRGF0YSwgY2xpZW50UG9z
aXRpb24sIGdsb2JhbFBvc2l0aW9uLCBkcmFnZ2luZ1NvdXJjZU9wZXJhdGlvbk1hc2ssIGZsYWdz
KTsKICAgICBzd2l0Y2ggKGFjdGlvbikgewogICAgIGNhc2UgRHJhZ0NvbnRyb2xsZXJBY3Rpb246
OkVudGVyZWQ6IHsKICAgICAgICAgYXV0byByZXNvbHZlZERyYWdPcGVyYXRpb24gPSBtX3BhZ2Ut
PmRyYWdDb250cm9sbGVyKCkuZHJhZ0VudGVyZWQoZHJhZ0RhdGEpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCmluZGV4IDYxN2U2YWYyZmQzNmNkYjg5M2MwMmMx
MjIwMzNlMjg3MTViYTY0OTAuLjk2ZGJhN2ZmMDUzNjFlOTBjMWZhMjE4NDhkODUyYjEyNDZjNmU3
ZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKQEAgLTE5
Myw2ICsxOTMsNyBAQCBjbGFzcyBTdWJzdGl0dXRlRGF0YTsKIGNsYXNzIFRleHRDaGVja2luZ1Jl
cXVlc3Q7CiBjbGFzcyBWaXNpYmxlUG9zaXRpb247CiAKK2VudW0gRHJhZ0FwcGxpY2F0aW9uRmxh
Z3MgOiB1aW50OF90OwogZW51bSBTeW50aGV0aWNDbGlja1R5cGUgOiBpbnQ4X3Q7CiBlbnVtIGNs
YXNzIERPTVBhc3RlQWNjZXNzUmVzcG9uc2UgOiB1aW50OF90OwogZW51bSBjbGFzcyBEcmFnSGFu
ZGxpbmdNZXRob2QgOiB1aW50OF90OwpAQCAtOTAwLDcgKzkwMSw3IEBAIHB1YmxpYzoKICAgICB2
b2lkIHJlc3RvcmVTZWxlY3Rpb25JbkZvY3VzZWRFZGl0YWJsZUVsZW1lbnQoKTsKIAogI2lmIEVO
QUJMRShEUkFHX1NVUFBPUlQpICYmIFBMQVRGT1JNKEdUSykKLSAgICB2b2lkIHBlcmZvcm1EcmFn
Q29udHJvbGxlckFjdGlvbihEcmFnQ29udHJvbGxlckFjdGlvbiwgY29uc3QgV2ViQ29yZTo6SW50
UG9pbnQmIGNsaWVudFBvc2l0aW9uLCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgZ2xvYmFsUG9z
aXRpb24sIE9wdGlvblNldDxXZWJDb3JlOjpEcmFnT3BlcmF0aW9uPiBkcmFnZ2luZ1NvdXJjZU9w
ZXJhdGlvbk1hc2ssIFdlYkNvcmU6OlNlbGVjdGlvbkRhdGEmJiwgdWludDMyX3QgZmxhZ3MpOwor
ICAgIHZvaWQgcGVyZm9ybURyYWdDb250cm9sbGVyQWN0aW9uKERyYWdDb250cm9sbGVyQWN0aW9u
LCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgY2xpZW50UG9zaXRpb24sIGNvbnN0IFdlYkNvcmU6
OkludFBvaW50JiBnbG9iYWxQb3NpdGlvbiwgT3B0aW9uU2V0PFdlYkNvcmU6OkRyYWdPcGVyYXRp
b24+IGRyYWdnaW5nU291cmNlT3BlcmF0aW9uTWFzaywgV2ViQ29yZTo6U2VsZWN0aW9uRGF0YSYm
LCBPcHRpb25TZXQ8V2ViQ29yZTo6RHJhZ0FwcGxpY2F0aW9uRmxhZ3M+KTsKICNlbmRpZgogCiAj
aWYgRU5BQkxFKERSQUdfU1VQUE9SVCkgJiYgIVBMQVRGT1JNKEdUSykKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4gYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCmluZGV4IGE1
OTVlN2Q5MjEyYjNlZGM4MjkzODlmY2RmZmY5MjQ1MmE1OGQ4MGUuLmRhZjQwNzUwZWFlMmJmNzQy
ZDNlYzU4Y2Q2YzM4YzRhYTI3OWM4MTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgpAQCAtMzA5LDcgKzMwOSw3IEBAIEdl
bmVyYXRlU3ludGhldGljRWRpdGluZ0NvbW1hbmQoZW51bTp1aW50OF90IFdlYktpdDo6U3ludGhl
dGljRWRpdGluZ0NvbW1hbmRUeXBlCiAKICAgICAjIERyYWcgYW5kIGRyb3AuCiAjaWYgUExBVEZP
Uk0oR1RLKSAmJiBFTkFCTEUoRFJBR19TVVBQT1JUKQotICAgIFBlcmZvcm1EcmFnQ29udHJvbGxl
ckFjdGlvbihlbnVtOnVpbnQ4X3QgV2ViS2l0OjpEcmFnQ29udHJvbGxlckFjdGlvbiBhY3Rpb24s
IFdlYkNvcmU6OkludFBvaW50IGNsaWVudFBvc2l0aW9uLCBXZWJDb3JlOjpJbnRQb2ludCBnbG9i
YWxQb3NpdGlvbiwgT3B0aW9uU2V0PFdlYkNvcmU6OkRyYWdPcGVyYXRpb24+IGRyYWdnaW5nU291
cmNlT3BlcmF0aW9uTWFzaywgV2ViQ29yZTo6U2VsZWN0aW9uRGF0YSBzZWxlY3Rpb24sIHVpbnQz
Ml90IGZsYWdzKQorICAgIFBlcmZvcm1EcmFnQ29udHJvbGxlckFjdGlvbihlbnVtOnVpbnQ4X3Qg
V2ViS2l0OjpEcmFnQ29udHJvbGxlckFjdGlvbiBhY3Rpb24sIFdlYkNvcmU6OkludFBvaW50IGNs
aWVudFBvc2l0aW9uLCBXZWJDb3JlOjpJbnRQb2ludCBnbG9iYWxQb3NpdGlvbiwgT3B0aW9uU2V0
PFdlYkNvcmU6OkRyYWdPcGVyYXRpb24+IGRyYWdnaW5nU291cmNlT3BlcmF0aW9uTWFzaywgV2Vi
Q29yZTo6U2VsZWN0aW9uRGF0YSBzZWxlY3Rpb24sIE9wdGlvblNldDxXZWJDb3JlOjpEcmFnQXBw
bGljYXRpb25GbGFncz4gZmxhZ3MpCiAjZW5kaWYKICNpZiAhUExBVEZPUk0oR1RLKSAmJiBFTkFC
TEUoRFJBR19TVVBQT1JUKQogICAgIFBlcmZvcm1EcmFnQ29udHJvbGxlckFjdGlvbihlbnVtOnVp
bnQ4X3QgV2ViS2l0OjpEcmFnQ29udHJvbGxlckFjdGlvbiBhY3Rpb24sIFdlYkNvcmU6OkRyYWdE
YXRhIGRyYWdEYXRhLCBXZWJLaXQ6OlNhbmRib3hFeHRlbnNpb246OkhhbmRsZSBzYW5kYm94RXh0
ZW5zaW9uSGFuZGxlLCBXZWJLaXQ6OlNhbmRib3hFeHRlbnNpb246OkhhbmRsZUFycmF5IHNhbmRi
b3hFeHRlbnNpb25zRm9yVXBsb2FkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9t
YWMvV2ViVmlldy9XZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9X
ZWJWaWV3Lm1tCmluZGV4IGYzZDJkZWMzYTI2Y2I3NzFhNTNjMmEzYzYxODNmY2JkZDY1M2JlOGYu
LjVkNDI3MTVlZjRlMWYyMzJmYzIyYjY0ZGRmMzkyNDIyZWY3NzIyNGMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0KQEAgLTIwNjgsNyArMjA2OCw3IEBAIC0g
KFdlYkNvcmU6OkRyYWdEYXRhKWRyYWdEYXRhRm9yU2Vzc2lvbjooaWQgPFVJRHJvcFNlc3Npb24+
KXNlc3Npb24gY2xpZW50OihDR1BvCiB7CiAgICAgYXV0byBkcmFnT3BlcmF0aW9uTWFzayA9IGNv
cmVEcmFnT3BlcmF0aW9uTWFzayhvcGVyYXRpb24pOwogICAgIGF1dG8gZHJhZ0Rlc3RpbmF0aW9u
QWN0aW9uTWFzayA9IGNvcmVEcmFnRGVzdGluYXRpb25BY3Rpb25NYXNrKFtzZWxmIGRyYWdEZXN0
aW5hdGlvbkFjdGlvbk1hc2tGb3JTZXNzaW9uOnNlc3Npb25dKTsKLSAgICByZXR1cm4geyBzZXNz
aW9uLCBXZWJDb3JlOjpyb3VuZGVkSW50UG9pbnQoY2xpZW50UG9zaXRpb24pLCBXZWJDb3JlOjpy
b3VuZGVkSW50UG9pbnQoZ2xvYmFsUG9zaXRpb24pLCBkcmFnT3BlcmF0aW9uTWFzaywgV2ViQ29y
ZTo6RHJhZ0FwcGxpY2F0aW9uTm9uZSwgZHJhZ0Rlc3RpbmF0aW9uQWN0aW9uTWFzayB9OworICAg
IHJldHVybiB7IHNlc3Npb24sIFdlYkNvcmU6OnJvdW5kZWRJbnRQb2ludChjbGllbnRQb3NpdGlv
biksIFdlYkNvcmU6OnJvdW5kZWRJbnRQb2ludChnbG9iYWxQb3NpdGlvbiksIGRyYWdPcGVyYXRp
b25NYXNrLCB7IH0sIGRyYWdEZXN0aW5hdGlvbkFjdGlvbk1hc2sgfTsKIH0KIAogLSAodWludDY0
X3QpX2VudGVyZWREYXRhSW50ZXJhY3Rpb246KGlkIDxVSURyb3BTZXNzaW9uPilzZXNzaW9uIGNs
aWVudDooQ0dQb2ludCljbGllbnRQb3NpdGlvbiBnbG9iYWw6KENHUG9pbnQpZ2xvYmFsUG9zaXRp
b24gb3BlcmF0aW9uOih1aW50NjRfdClvcGVyYXRpb24KZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5n
ZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA4MzJkM2NhYjMzMTY1ZGRkYjhiNzM1OGFlOWI3
ZDJjZDgwZjQyNzZjLi5iYTAxMjQyZDgyM2JiZmQwODA4MDdjMDViMTQyYzJjYTQ5YWQwYjg2IDEw
MDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTcgQEAKKzIwMjAtMDgtMTAgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKwor
ICAgICAgICBBdXhpbGlhcnlQcm9jZXNzOjpkaWRSZWNlaXZlSW52YWxpZE1lc3NhZ2UoKSBmb3Ig
V2ViUGFnZTo6UGVyZm9ybURyYWdDb250cm9sbGVyQWN0aW9uIElQQworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE1MzQxCisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS81OTM0NDA5MT4KKworICAgICAgICBSZXZpZXdlZCBieSBBbGV4IENocmlzdGVuc2Vu
LgorCisgICAgICAgIEFkZCBBUEkgdGVzdCBjb3ZlcmFnZS4KKworICAgICAgICAqIFRlc3RXZWJL
aXRBUEkvVGVzdHMvbWFjL0RyYWdBbmREcm9wVGVzdHNNYWMubW06CisgICAgICAgIChvdmVycmlk
ZUN1cnJlbnRFdmVudCk6CisgICAgICAgIChURVNUKToKKwogMjAyMC0wOC0xMCAgQnJpYW4gQnVy
ZyAgPGJidXJnQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCBmaXggb3JkZXJpbmcg
b2YgY29udHJpYnV0b3JzLgpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9t
YWMvRHJhZ0FuZERyb3BUZXN0c01hYy5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvbWFj
L0RyYWdBbmREcm9wVGVzdHNNYWMubW0KaW5kZXggYzQ4MmU0YjkxYzc1ZjgzODhlNTZlYzE5ODNj
M2ZmNDQ2ZjIwMDIxNC4uNDQ2ZjJkYWEyYmM3NmFiMTY4MTI0YzZiMTY4ZDVjMGJlYzRjZTVlOSAx
MDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9tYWMvRHJhZ0FuZERyb3BUZXN0
c01hYy5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL21hYy9EcmFnQW5kRHJvcFRl
c3RzTWFjLm1tCkBAIC0yNiw4ICsyNiwxMCBAQAogI2ltcG9ydCAiY29uZmlnLmgiCiAKICNpbXBv
cnQgIkRyYWdBbmREcm9wU2ltdWxhdG9yLmgiCisjaW1wb3J0ICJJbnN0YW5jZU1ldGhvZFN3aXp6
bGVyLmgiCiAjaW1wb3J0ICJQbGF0Zm9ybVV0aWxpdGllcy5oIgogI2ltcG9ydCA8V2ViS2l0L1dL
UHJlZmVyZW5jZXNQcml2YXRlLmg+CisjaW1wb3J0IDxXZWJLaXQvV0tXZWJWaWV3UHJpdmF0ZS5o
PgogCiAjaWYgRU5BQkxFKERSQUdfU1VQUE9SVCkgJiYgUExBVEZPUk0oTUFDKQogCkBAIC0xMzYs
NiArMTM4LDM1IEBAIFRFU1QoRHJhZ0FuZERyb3BUZXN0cywgRHJhZ0ltYWdlRmlsZUludG9GaWxl
VXBsb2FkKQogICAgIEVYUEVDVF9FUSgxLCBbd2ViVmlldyBzdHJpbmdCeUV2YWx1YXRpbmdKYXZh
U2NyaXB0OkAiZmlsZWNvdW50LnRleHRDb250ZW50Il0uaW50ZWdlclZhbHVlKTsKIH0KIAorc3Rh
dGljIE5TRXZlbnQgKm92ZXJyaWRlQ3VycmVudEV2ZW50KCkKK3sKKyAgICByZXR1cm4gW05TRXZl
bnQgbW91c2VFdmVudFdpdGhUeXBlOk5TRXZlbnRUeXBlTGVmdE1vdXNlRHJhZ2dlZAorICAgICAg
ICBsb2NhdGlvbjpOU01ha2VQb2ludCgwLCAyMDApCisgICAgICAgIG1vZGlmaWVyRmxhZ3M6TlNF
dmVudE1vZGlmaWVyRmxhZ09wdGlvbgorICAgICAgICB0aW1lc3RhbXA6W05TRGF0ZSB0aW1lSW50
ZXJ2YWxTaW5jZVJlZmVyZW5jZURhdGVdCisgICAgICAgIHdpbmRvd051bWJlcjowCisgICAgICAg
IGNvbnRleHQ6bmlsCisgICAgICAgIGV2ZW50TnVtYmVyOjEKKyAgICAgICAgY2xpY2tDb3VudDox
CisgICAgICAgIHByZXNzdXJlOjFdOworfQorCitURVNUKERyYWdBbmREcm9wVGVzdHMsIERyYWdJ
bWFnZVdpdGhPcHRpb25LZXlEb3duKQoreworICAgIEluc3RhbmNlTWV0aG9kU3dpenpsZXIgc3dp
enpsZXIoW05TQXBwIGNsYXNzXSwgQHNlbGVjdG9yKGN1cnJlbnRFdmVudCksIHJlaW50ZXJwcmV0
X2Nhc3Q8SU1QPihvdmVycmlkZUN1cnJlbnRFdmVudCkpOworCisgICAgYXV0byBzaW11bGF0b3Ig
PSBhZG9wdE5TKFtbRHJhZ0FuZERyb3BTaW11bGF0b3IgYWxsb2NdIGluaXRXaXRoV2ViVmlld0Zy
YW1lOk5TTWFrZVJlY3QoMCwgMCwgNDAwLCA0MDApXSk7CisgICAgVGVzdFdLV2ViVmlldyAqd2Vi
VmlldyA9IFtzaW11bGF0b3Igd2ViVmlld107CisKKyAgICBbd2ViVmlldyBzeW5jaHJvbm91c2x5
TG9hZFRlc3RQYWdlTmFtZWQ6QCJpbWFnZS1hbmQtY29udGVudGVkaXRhYmxlIl07CisKKyAgICBh
dXRvIHBpZCA9IFt3ZWJWaWV3IF93ZWJQcm9jZXNzSWRlbnRpZmllcl07CisgICAgW3NpbXVsYXRv
ciBydW5Gcm9tOk5TTWFrZVBvaW50KDEwMCwgMTAwKSB0bzpOU01ha2VQb2ludCgxMDAsIDMwMCld
OworCisgICAgRVhQRUNUX0VRKHBpZCwgW3dlYlZpZXcgX3dlYlByb2Nlc3NJZGVudGlmaWVyXSk7
Cit9CisKKwogVEVTVChEcmFnQW5kRHJvcFRlc3RzLCBQcm92aWRlSW1hZ2VEYXRhRm9yTXVsdGlw
bGVQYXN0ZWJvYXJkcykKIHsKICAgICBhdXRvIHNpbXVsYXRvciA9IGFkb3B0TlMoW1tEcmFnQW5k
RHJvcFNpbXVsYXRvciBhbGxvY10gaW5pdFdpdGhXZWJWaWV3RnJhbWU6TlNNYWtlUmVjdCgwLCAw
LCA0MDAsIDQwMCldKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>