<?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>73127</bug_id>
          
          <creation_ts>2011-11-25 05:18:06 -0800</creation_ts>
          <short_desc>Web Inspector: remove disconnectFromBackend from the protocol.</short_desc>
          <delta_ts>2011-11-28 01:31:05 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>73158</dependson>
    
    <dependson>73188</dependson>
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Pavel Feldman">pfeldman</reporter>
          <assigned_to name="Pavel Feldman">pfeldman</assigned_to>
          <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>japhet</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>509106</commentid>
    <comment_count>0</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-11-25 05:18:06 -0800</bug_when>
    <thetext>We should instead use InspectorClient::closeInspectorFrontend that would be closing the front-end window.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>509109</commentid>
    <comment_count>1</comment_count>
      <attachid>116602</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-11-25 05:21:49 -0800</bug_when>
    <thetext>Created attachment 116602
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>509143</commentid>
    <comment_count>2</comment_count>
      <attachid>116614</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-11-25 06:31:33 -0800</bug_when>
    <thetext>Created attachment 116614
[Patch] with mac bots fixed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>509158</commentid>
    <comment_count>3</comment_count>
      <attachid>116614</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2011-11-25 07:07:43 -0800</bug_when>
    <thetext>Comment on attachment 116614
[Patch] with mac bots fixed

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

&gt; Source/WebCore/inspector/InspectorController.cpp:275
&gt; +    m_inspectorClient-&gt;closeInspectorFrontend();

Instead of introducing a new method on client I&apos;d suggest we move InspectorController::close implementation to WebKit and call corresponding  closeInspectorFrontend implementation there without going through WebCore. What prevents you from doing so?

&gt; Source/WebKit/chromium/src/WebDevToolsAgentImpl.cpp:267
&gt; +void WebDevToolsAgentImpl::closeInspectorFrontend()

Let&apos;s remove WebDevToolsAgentImpl inheritance from InspectorClient as we have a separate implementation of the client in InspectorClientImpl, then we&apos;ll be able to remove all these empty methods.

&gt; Source/WebKit/chromium/src/WebDevToolsAgentImpl.cpp:-384
&gt; -    inspector.disconnectFromBackend();

The API method should also be renamed to disconnectFromWorkerEventAsText()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>509164</commentid>
    <comment_count>4</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-11-25 07:50:59 -0800</bug_when>
    <thetext>InspectorController::close implementation to WebKit and call corresponding  closeInspectorFrontend implementation there without going through WebCore. What prevents you from doing so?

I share your concern and I looked into doing it, but quickly found out that I&apos;ll need to introduce a lot of plumbing to make it happen on all ports. Most of the DRTs and WK1 clients have access to a page and do page-&gt;inspectorController()-&gt;close(). Making them look up corresponding WebKit inspector instance would result in moderate amount of platform-specific work. Given that InspectorClient interface is in place, I&apos;d rather keep ports&apos; implementation aligned.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>509167</commentid>
    <comment_count>5</comment_count>
      <attachid>116620</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-11-25 07:57:36 -0800</bug_when>
    <thetext>Created attachment 116620
[Patch] rebaselined</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>509357</commentid>
    <comment_count>6</comment_count>
      <attachid>116620</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-11-26 07:31:08 -0800</bug_when>
    <thetext>Comment on attachment 116620
[Patch] rebaselined

Clearing flags on attachment: 116620

Committed r101193: &lt;http://trac.webkit.org/changeset/101193&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>509358</commentid>
    <comment_count>7</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-11-26 07:31:17 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>509439</commentid>
    <comment_count>8</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2011-11-27 07:55:03 -0800</bug_when>
    <thetext>Committed r101201: &lt;http://trac.webkit.org/changeset/101201&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>509647</commentid>
    <comment_count>9</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2011-11-28 01:31:05 -0800</bug_when>
    <thetext>This has caused crashes after closing any tab with WebKit2: bug 73183.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>116602</attachid>
            <date>2011-11-25 05:21:49 -0800</date>
            <delta_ts>2011-11-25 06:31:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-73127-20111125172146.patch</filename>
            <type>text/plain</type>
            <size>32209</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAxMTYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGRiNGU4MDk1MDgwOTIy
MjMwYTFkZDQ1OWU5NWZiZGQyMzU1NDAzYy4uYjExZGRiMDZkOTgwYWEwZTM0OTVmODljZDg0NTk3
MjE3YzE4M2EwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDExLTExLTI1ICBQYXZl
bCBGZWxkbWFuICA8cGZlbGRtYW5AZ29vZ2xlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9y
OiByZW1vdmUgZGlzY29ubmVjdEZyb21CYWNrZW5kIGZyb20gdGhlIHByb3RvY29sLgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxMjcKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGluc3BlY3Rvci9JbnNw
ZWN0b3IuanNvbjoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQWdlbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQWdlbnQ6Omluc3BlY3RlZFBhZ2VEZXN0cm95ZWQpOgor
ICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JDbGllbnQuaDoKKyAgICAgICAgKiBpbnNwZWN0
b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JD
b250cm9sbGVyOjpjbG9zZSk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5k
Q2xpZW50Lmg6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHA6
CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5oOgorICAgICAgICAq
IGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuaWRsOgorICAgICAgICAqIGluc3BlY3Rv
ci9mcm9udC1lbmQvSW5zcGVjdG9yRnJvbnRlbmRIb3N0U3R1Yi5qczoKKyAgICAgICAgKiBpbnNw
ZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5kaXNj
b25uZWN0RnJvbVdvcmtlcik6CisgICAgICAgICogbG9hZGVyL0VtcHR5Q2xpZW50cy5oOgorICAg
ICAgICAoV2ViQ29yZTo6RW1wdHlJbnNwZWN0b3JDbGllbnQ6OmNsb3NlSW5zcGVjdG9yRnJvbnRl
bmQpOgorCiAyMDExLTExLTI1ICBZdXJ5IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hyb21pdW0ub3Jn
PgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IGRvbid0IHNlbmQgQ29uc29sZS5tZXNzYWdlc0Ns
ZWFyZWQgb24gZnJvbnQtZW5kIGNvbm5lY3Rpb24gaWYgY29uc29sZSBhZ2VudCBpcyBub3QgZW5h
YmxlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCA5OGNiZThlMmM4NTY4YTI5NDlkZGM4
NjEwNGQzZmNjZDYwZjc4NjA2Li43NmU1YzIxZGRhODBiOGNhOThmZjRmMGZmMzAxODVjMWYxZjUx
YmNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDExLTEx
LTI1ICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AZ29vZ2xlLmNvbT4KKworICAgICAgICBXZWIg
SW5zcGVjdG9yOiByZW1vdmUgZGlzY29ubmVjdEZyb21CYWNrZW5kIGZyb20gdGhlIHByb3RvY29s
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxMjcK
KworICAgICAgICBXZSBzaG91bGQgaW5zdGVhZCB1c2UgSW5zcGVjdG9yQ2xpZW50OjpjbG9zZUlu
c3BlY3RvckZyb250ZW5kIHRoYXQgd291bGQKKyAgICAgICAgYmUgY2xvc2luZyB0aGUgZnJvbnQt
ZW5kIHdpbmRvdy4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIHNyYy9JbnNwZWN0b3JDbGllbnRJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6SW5z
cGVjdG9yQ2xpZW50SW1wbDo6Y2xvc2VJbnNwZWN0b3JGcm9udGVuZCk6CisgICAgICAgICogc3Jj
L0luc3BlY3RvckNsaWVudEltcGwuaDoKKyAgICAgICAgKiBzcmMvSW5zcGVjdG9yRnJvbnRlbmRD
bGllbnRJbXBsLmNwcDoKKyAgICAgICAgKiBzcmMvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBs
Lmg6CisgICAgICAgICogc3JjL1dlYkRldlRvb2xzQWdlbnRJbXBsLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6V2ViRGV2VG9vbHNBZ2VudEltcGw6OmNsb3NlSW5zcGVjdG9yRnJvbnRlbmQpOgorICAg
ICAgICAoV2ViS2l0OjpXZWJEZXZUb29sc0FnZW50OjpkaXNjb25uZWN0RXZlbnRBc1RleHQpOgor
ICAgICAgICAqIHNyYy9XZWJEZXZUb29sc0FnZW50SW1wbC5oOgorCiAyMDExLTExLTI0ICBZdXJ5
IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtDaHJvbWl1bV0g
V2ViIEluc3BlY3RvcjogcmVtb3ZlIGxlZ2FjeSBkZWJ1Z2dlciBzdXBwb3J0CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VM
b2cKaW5kZXggZDlkMjhmOGRlMTRmMjQ4ZjU4MjM1MmNjOGFkOTE4NDk0M2EyMTllZS4uYThlMmFj
NzExYTRhMzJiMWJmNDRmZmQ4NTgwZWY3MmNkZWNhNjU0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9ndGsvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE1IEBACisyMDExLTExLTI1ICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AZ29vZ2xl
LmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiByZW1vdmUgZGlzY29ubmVjdEZyb21CYWNr
ZW5kIGZyb20gdGhlIHByb3RvY29sLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NzMxMjcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0luc3BlY3RvckNsaWVudEd0ay5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6Okluc3BlY3RvckNsaWVudDo6aW5zcGVjdG9yRGVzdHJveWVkKToKKyAg
ICAgICAgKFdlYktpdDo6SW5zcGVjdG9yQ2xpZW50OjpjbG9zZUluc3BlY3RvckZyb250ZW5kKToK
KyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9JbnNwZWN0b3JDbGllbnRHdGsuaDoKKwogMjAxMS0x
MS0yMyAgS2F1c3R1YmggQXRyYXdhbGthciAgPGthdXN0dWJoQG1vdG9yb2xhLmNvbT4KIAogICAg
ICAgICBEb2N1bWVudGF0aW9uIGZpeCBmb3IgbG9hZC1jb21taXR0ZWQgaW4gd2Via2l0d2ViZnJh
bWUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJL
aXQvbWFjL0NoYW5nZUxvZwppbmRleCAxZGMxNDc2YWFkN2IyMzlhOWI5ZDYxYjZjMzNmYTQ0NDc2
NzAwMGJmLi4wOGY0ZDIzMzUyMzBhMjdlNmM1MzY5YTI3M2E1NjFhNmRmYmRjMzYzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMTEtMjUgIFBhdmVsIEZlbGRtYW4gIDxw
ZmVsZG1hbkBnb29nbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IHJlbW92ZSBkaXNj
b25uZWN0RnJvbUJhY2tlbmQgZnJvbSB0aGUgcHJvdG9jb2wuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MzEyNworCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9y
Q2xpZW50Lmg6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50Lm1t
OgorICAgICAgICAoV2ViSW5zcGVjdG9yQ2xpZW50OjppbnNwZWN0b3JEZXN0cm95ZWQpOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yQ2xpZW50OjpjbG9zZUluc3BlY3RvckZyb250ZW5kKToKKwogMjAx
MS0xMS0yMiAgUGF2ZWwgRmVsZG1hbiAgPHBmZWxkbWFuQGdvb2dsZS5jb20+CiAKICAgICAgICAg
V2ViIEluc3BlY3RvcjogcmVtb3ZlIEluc3BlY3Rvcjo6YnJpbmdUb0Zyb250IGZyb20gdGhlIHBy
b3RvY29sLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViS2l0L3F0L0NoYW5nZUxvZwppbmRleCA1ODVkY2Q2YmE0YmMyMGUyYWYwOGIzZTQwMTFmZTFk
YjI2ODE5NDkwLi5kNmQ3MzJmMDQwMjY2YjEwMzYyMDk5ZGZmYzU3YzlhY2FmNzk0YzhkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L3F0
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDExLTExLTI1ICBQYXZlbCBGZWxkbWFuICA8
cGZlbGRtYW5AZ29vZ2xlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiByZW1vdmUgZGlz
Y29ubmVjdEZyb21CYWNrZW5kIGZyb20gdGhlIHByb3RvY29sLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxMjcKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0luc3BlY3RvckNs
aWVudFF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNsaWVudFF0OjppbnNwZWN0
b3JEZXN0cm95ZWQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ2xpZW50UXQ6OmNsb3Nl
SW5zcGVjdG9yRnJvbnRlbmQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRnJvbnRlbmRD
bGllbnRRdDo6aW5zcGVjdG9yQ2xpZW50RGVzdHJveWVkKToKKyAgICAgICAgKiBXZWJDb3JlU3Vw
cG9ydC9JbnNwZWN0b3JDbGllbnRRdC5oOgorCiAyMDExLTExLTIyICBQYXZlbCBGZWxkbWFuICA8
cGZlbGRtYW5AZ29vZ2xlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiByZW1vdmUgSW5z
cGVjdG9yOjpicmluZ1RvRnJvbnQgZnJvbSB0aGUgcHJvdG9jb2wuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKaW5k
ZXggZmU3NGVhMTZiNTY1OWYwYzQ3MzUzNGJhZTRkZjg4ZDMxMzY1ZTA5NC4uOTU3ZTg2MDkxNTZl
YzUyYTlhYTZlZjhlZTM5NTUzZWVkYzA5OTE5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93
aW4vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE1IEBACisyMDExLTExLTI1ICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AZ29vZ2xlLmNvbT4K
KworICAgICAgICBXZWIgSW5zcGVjdG9yOiByZW1vdmUgZGlzY29ubmVjdEZyb21CYWNrZW5kIGZy
b20gdGhlIHByb3RvY29sLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NzMxMjcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5jcHA6CisgICAgICAg
IChXZWJJbnNwZWN0b3JDbGllbnQ6Omluc3BlY3RvckRlc3Ryb3llZCk6CisgICAgICAgIChXZWJJ
bnNwZWN0b3JDbGllbnQ6OmNsb3NlSW5zcGVjdG9yRnJvbnRlbmQpOgorICAgICAgICAqIFdlYkNv
cmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5oOgorCiAyMDExLTExLTIyICBQYXZlbCBGZWxk
bWFuICA8cGZlbGRtYW5AZ29vZ2xlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiByZW1v
dmUgSW5zcGVjdG9yOjpicmluZ1RvRnJvbnQgZnJvbSB0aGUgcHJvdG9jb2wuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5k
ZXggN2NlNmEwZWI0N2M3NDhlMzgxYmFjMTMwM2M5NWIzNzhjNGNlYjdkZS4uMmY0YzBkMTA0MTI2
MGQxYjY2ZDZkNjQzNzE1YjlhMGVlZjdhNTc0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBA
CisyMDExLTExLTI1ICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AZ29vZ2xlLmNvbT4KKworICAg
ICAgICBXZWIgSW5zcGVjdG9yOiByZW1vdmUgZGlzY29ubmVjdEZyb21CYWNrZW5kIGZyb20gdGhl
IHByb3RvY29sLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NzMxMjcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50LmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6V2ViSW5zcGVjdG9yQ2xpZW50OjppbnNwZWN0b3JEZXN0cm95ZWQpOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yRnJvbnRlbmRD
bGllbnQuY3BwOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVj
dG9yRnJvbnRlbmRDbGllbnQuaDoKKwogMjAxMS0xMS0yNSAgU2ltb24gSGF1c21hbm4gIDxzaW1v
bi5oYXVzbWFubkBub2tpYS5jb20+CiAKICAgICAgICAgW1F0XSBDbGVhbnVwIGluIFFNTCB0ZXN0
cy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbiBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbgppbmRleCAwOWQ0NWNmOTc2
OTQ0ZjI1YzIxYWZiMGQ5ZjVlNGQ3YTM4M2RhYTQwLi4wZWNlMDY5MjRkOGJjY2ViMmNhYzBlNzlm
MTgxN2ZiZDkwMzdkZDRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yLmpzb24KKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29u
CkBAIC04LDcgKzgsNyBAQAogICAgICAgICBdLAogICAgICAgICAiZXZlbnRzIjogWwogICAgICAg
ICAgICAgewotICAgICAgICAgICAgICAgICJuYW1lIjogImRpc2Nvbm5lY3RGcm9tQmFja2VuZCIK
KyAgICAgICAgICAgICAgICAibmFtZSI6ICJkaXNjb25uZWN0RnJvbVdvcmtlciIKICAgICAgICAg
ICAgIH0sCiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgIm5hbWUiOiAiZXZhbHVhdGVG
b3JUZXN0SW5Gcm9udGVuZCIsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFn
ZW50LmNwcAppbmRleCA1MDMyYzE3MjZjNTBmMWUyNmQxZjlmYjVmNTcxZTZkN2U2YzRkMDE5Li5j
NDBhZTUxMTc0NzU1ZjA3ZmQyYmE3NTAyODU1NWY0M2JhZTNhNjc2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBZ2VudC5jcHAKQEAgLTgzLDggKzgzLDYgQEAgSW5zcGVj
dG9yQWdlbnQ6On5JbnNwZWN0b3JBZ2VudCgpCiAKIHZvaWQgSW5zcGVjdG9yQWdlbnQ6Omluc3Bl
Y3RlZFBhZ2VEZXN0cm95ZWQoKQogewotICAgIGlmIChtX2Zyb250ZW5kKQotICAgICAgICBtX2Zy
b250ZW5kLT5pbnNwZWN0b3IoKS0+ZGlzY29ubmVjdEZyb21CYWNrZW5kKCk7CiAgICAgQVNTRVJU
KG1faW5zcGVjdGVkUGFnZSk7CiAgICAgbV9pbnNwZWN0ZWRQYWdlID0gMDsKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDbGllbnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDbGllbnQuaAppbmRleCA5ZmFkNWQ2NDY2ZTExYTMw
ZTJmMThjMjgxOTMwYTY5ODkxN2JlYmEwLi44M2FiMjMyZjYzNjc1NDI2NDQyZmYwYzA4MTM4NmUy
MzE2MzA4OTY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
Q2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNsaWVudC5o
CkBAIC00NCw2ICs0NCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgaW5zcGVjdG9yRGVz
dHJveWVkKCkgPSAwOwogCiAgICAgdmlydHVhbCB2b2lkIG9wZW5JbnNwZWN0b3JGcm9udGVuZChJ
bnNwZWN0b3JDb250cm9sbGVyKikgPSAwOworICAgIHZpcnR1YWwgdm9pZCBjbG9zZUluc3BlY3Rv
ckZyb250ZW5kKCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBicmluZ0Zyb250ZW5kVG9Gcm9udCgp
ID0gMDsKIAogICAgIHZpcnR1YWwgdm9pZCBoaWdobGlnaHQoKSA9IDA7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHAKaW5kZXggZDIxMWI0ZTJi
MTZhYTc2YmYyOTRlYTM1YjgyMDI2ZmY5M2VmNjhmYi4uMTZiYmFlZDI2Y2JlZGRmNDdkMTJjNDY4
MTc2MzVjNGEzYzgwNGRiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JDb250cm9sbGVyLmNwcApAQCAtMjcxLDggKzI3MSw4IEBAIHZvaWQgSW5zcGVjdG9yQ29u
dHJvbGxlcjo6Y2xvc2UoKQogewogICAgIGlmICghbV9pbnNwZWN0b3JGcm9udGVuZCkKICAgICAg
ICAgcmV0dXJuOwotICAgIG1faW5zcGVjdG9yRnJvbnRlbmQtPmluc3BlY3RvcigpLT5kaXNjb25u
ZWN0RnJvbUJhY2tlbmQoKTsKICAgICBkaXNjb25uZWN0RnJvbnRlbmQoKTsKKyAgICBtX2luc3Bl
Y3RvckNsaWVudC0+Y2xvc2VJbnNwZWN0b3JGcm9udGVuZCgpOwogfQogCiB2b2lkIEluc3BlY3Rv
ckNvbnRyb2xsZXI6OnJlc3RvcmVJbnNwZWN0b3JTdGF0ZUZyb21Db29raWUoY29uc3QgU3RyaW5n
JiBpbnNwZWN0b3JTdGF0ZUNvb2tpZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckZyb250ZW5kQ2xpZW50LmgKaW5kZXggYmM4YTEzNTBhN2NmMzhhMWYwYWVkZWNh
MTQ5NTNlYTc3NjU4NGRhMS4uNzhkYmJhYWNmYmU3YWIzNTQ0YjFjNWU3OGYwYThkY2E3YjEzYmEy
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5k
Q2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5k
Q2xpZW50LmgKQEAgLTUzLDcgKzUzLDYgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIGJy
aW5nVG9Gcm9udCgpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgY2xvc2VXaW5kb3coKSA9IDA7Ci0g
ICAgdmlydHVhbCB2b2lkIGRpc2Nvbm5lY3RGcm9tQmFja2VuZCgpID0gMDsKIAogICAgIHZpcnR1
YWwgdm9pZCByZXF1ZXN0QXR0YWNoV2luZG93KCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCByZXF1
ZXN0RGV0YWNoV2luZG93KCkgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNwcAppbmRleCA5ZjQ5YjRkZDM0ZjNhYjhlYTI5NzM3MDQ5
MTA0Y2E0NWMxZjUwNWQwLi4wY2UyZGI1YmM0MTQzNDlkNTE0ODIxM2E0MGI2YTQ1NTA0YTcwOTgx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRI
b3N0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRI
b3N0LmNwcApAQCAtMTY5LDE0ICsxNjksNiBAQCB2b2lkIEluc3BlY3RvckZyb250ZW5kSG9zdDo6
Y2xvc2VXaW5kb3coKQogICAgIH0KIH0KIAotdm9pZCBJbnNwZWN0b3JGcm9udGVuZEhvc3Q6OmRp
c2Nvbm5lY3RGcm9tQmFja2VuZCgpCi17Ci0gICAgaWYgKG1fY2xpZW50KSB7Ci0gICAgICAgIG1f
Y2xpZW50LT5kaXNjb25uZWN0RnJvbUJhY2tlbmQoKTsKLSAgICAgICAgZGlzY29ubmVjdENsaWVu
dCgpOyAvLyBEaXNjb25uZWN0IGZyb20gY2xpZW50LgotICAgIH0KLX0KLQogdm9pZCBJbnNwZWN0
b3JGcm9udGVuZEhvc3Q6OmJyaW5nVG9Gcm9udCgpCiB7CiAgICAgaWYgKG1fY2xpZW50KQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5o
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5oCmluZGV4
IDk3YjU1OGNkZGZmYWVjNTc2M2YwMzViYzFjNWZlNzUxYjBlODM5NzYuLjFkMDc2OWFhYzQ1YWI3
ZDRjYzQ5OTdmMWJlZjQ0MTJlNDI2YWY3NGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmgKQEAgLTYxLDcgKzYxLDYgQEAgcHVibGljOgog
ICAgIHZvaWQgcmVxdWVzdEF0dGFjaFdpbmRvdygpOwogICAgIHZvaWQgcmVxdWVzdERldGFjaFdp
bmRvdygpOwogICAgIHZvaWQgY2xvc2VXaW5kb3coKTsKLSAgICB2b2lkIGRpc2Nvbm5lY3RGcm9t
QmFja2VuZCgpOwogICAgIHZvaWQgYnJpbmdUb0Zyb250KCk7CiAgICAgdm9pZCBpbnNwZWN0ZWRV
UkxDaGFuZ2VkKGNvbnN0IFN0cmluZyYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuaWRsCmluZGV4IGRiOTQzNmJkNzg3NjE1ZjdhNjQ1
ZDU0OTk4MTcxZmRlNjgwYTgzMTcuLmFmZWZkNDYzODc1NTRjOTE1ZTYwZDExNjRlNjUzMGJjZWE4
NjhjNDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9u
dGVuZEhvc3QuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9u
dGVuZEhvc3QuaWRsCkBAIC0zNiw3ICszNiw2IEBAIG1vZHVsZSBjb3JlIHsKICAgICBdIEluc3Bl
Y3RvckZyb250ZW5kSG9zdCB7CiAgICAgICAgIHZvaWQgbG9hZGVkKCk7CiAgICAgICAgIHZvaWQg
Y2xvc2VXaW5kb3coKTsKLSAgICAgICAgdm9pZCBkaXNjb25uZWN0RnJvbUJhY2tlbmQoKTsKICAg
ICAgICAgdm9pZCBicmluZ1RvRnJvbnQoKTsKICAgICAgICAgdm9pZCBpbnNwZWN0ZWRVUkxDaGFu
Z2VkKGluIERPTVN0cmluZyBuZXdVUkwpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL0luc3BlY3RvckZyb250ZW5kSG9zdFN0dWIuanMgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0luc3BlY3RvckZyb250ZW5kSG9zdFN0dWIuanMK
aW5kZXggNTkwZTA1NWY2MWY2MDVlOTM4YzhlOWMwOWM4ZjFjNTNhZjJjZjQ0Zi4uZWE2MDNlN2Q3
NTY3MjQzZWM3NjdhM2IyMDE5MzRkNTc1MWExYWFlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9JbnNwZWN0b3JGcm9udGVuZEhvc3RTdHViLmpzCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSW5zcGVjdG9yRnJvbnRlbmRIb3N0
U3R1Yi5qcwpAQCAtNjUsMTEgKzY1LDYgQEAgV2ViSW5zcGVjdG9yLkluc3BlY3RvckZyb250ZW5k
SG9zdFN0dWIucHJvdG90eXBlID0gewogICAgICAgICB0aGlzLl93aW5kb3dWaXNpYmxlID0gZmFs
c2U7CiAgICAgfSwKIAotICAgIGRpc2Nvbm5lY3RGcm9tQmFja2VuZDogZnVuY3Rpb24oKQotICAg
IHsKLSAgICAgICAgdGhpcy5fd2luZG93VmlzaWJsZSA9IGZhbHNlOwotICAgIH0sCi0KICAgICBh
dHRhY2g6IGZ1bmN0aW9uKCkKICAgICB7CiAgICAgfSwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanMKaW5kZXggZTc3ODdlNmI3YjRlMTNmYzU3MzE4
MGZiYzM0ZDRmZGFjNTMxNzgxNy4uYjcyYTZiNGYxNDFkMGIyOTEzYTMyNDFhMDJlMmQzOTY2OWZh
ZjUxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNw
ZWN0b3IuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0
b3IuanMKQEAgLTQ2NiwxMiArNDY2LDkgQEAgV2ViSW5zcGVjdG9yLmNsb3NlID0gZnVuY3Rpb24o
ZXZlbnQpCiAgICAgSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNsb3NlV2luZG93KCk7CiB9CiAKLVdl
Ykluc3BlY3Rvci5kaXNjb25uZWN0RnJvbUJhY2tlbmQgPSBmdW5jdGlvbigpCitXZWJJbnNwZWN0
b3IuZGlzY29ubmVjdEZyb21Xb3JrZXIgPSBmdW5jdGlvbigpCiB7Ci0gICAgaWYgKFdlYkluc3Bl
Y3Rvci5Xb3JrZXJNYW5hZ2VyLmlzV29ya2VyRnJvbnRlbmQoKSkKLSAgICAgICAgV2ViSW5zcGVj
dG9yLldvcmtlck1hbmFnZXIuc2hvd1dvcmtlclRlcm1pbmF0ZWRTY3JlZW4oKTsKLSAgICBlbHNl
Ci0gICAgICAgIEluc3BlY3RvckZyb250ZW5kSG9zdC5kaXNjb25uZWN0RnJvbUJhY2tlbmQoKTsK
KyAgICBXZWJJbnNwZWN0b3IuV29ya2VyTWFuYWdlci5zaG93V29ya2VyVGVybWluYXRlZFNjcmVl
bigpOwogfQogCiBXZWJJbnNwZWN0b3IuZG9jdW1lbnRDbGljayA9IGZ1bmN0aW9uKGV2ZW50KQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCmluZGV4IDQwMDQ1YTMxMmZmOWZmMDBlZDMx
OWM1NzYyYWQxYTRkODE0ODAxMWEuLjNmOGE4YTZhYjZhMzcxMTY2NjE2ZmFiZjM1NWRjOWYxNTc2
NDFkNzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKQEAgLTU5MCw2ICs1OTAs
NyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGluc3BlY3RvckRlc3Ryb3llZCgpIHsgfQog
ICAgIAogICAgIHZpcnR1YWwgdm9pZCBvcGVuSW5zcGVjdG9yRnJvbnRlbmQoSW5zcGVjdG9yQ29u
dHJvbGxlciopIHsgfQorICAgIHZpcnR1YWwgdm9pZCBjbG9zZUluc3BlY3RvckZyb250ZW5kKCkg
eyB9CiAgICAgdmlydHVhbCB2b2lkIGJyaW5nRnJvbnRlbmRUb0Zyb250KCkgeyB9CiAKICAgICB2
aXJ0dWFsIHZvaWQgaGlnaGxpZ2h0KCkgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9JbnNwZWN0b3JDbGllbnRJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL0luc3BlY3RvckNsaWVudEltcGwuY3BwCmluZGV4IGM5YWY3YjhlOTMzZDUwODczMjA5
NWZkMDM1MjEzOGRmZWUyN2U5ZDAuLjlmNWFhZDEwY2VhMTAwNGYwYjRjNzg0OGY3ZTkyMjA0ZGZm
OWE1ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0luc3BlY3RvckNs
aWVudEltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0luc3BlY3RvckNs
aWVudEltcGwuY3BwCkBAIC02OSw2ICs2OSwxMiBAQCB2b2lkIEluc3BlY3RvckNsaWVudEltcGw6
Om9wZW5JbnNwZWN0b3JGcm9udGVuZChJbnNwZWN0b3JDb250cm9sbGVyKiBjb250cm9sbGVyKQog
ICAgICAgICBhZ2VudC0+b3Blbkluc3BlY3RvckZyb250ZW5kKGNvbnRyb2xsZXIpOwogfQogCit2
b2lkIEluc3BlY3RvckNsaWVudEltcGw6OmNsb3NlSW5zcGVjdG9yRnJvbnRlbmQoKQoreworICAg
IGlmIChXZWJEZXZUb29sc0FnZW50SW1wbCogYWdlbnQgPSBkZXZUb29sc0FnZW50KCkpCisgICAg
ICAgIGFnZW50LT5jbG9zZUluc3BlY3RvckZyb250ZW5kKCk7Cit9CisKIHZvaWQgSW5zcGVjdG9y
Q2xpZW50SW1wbDo6YnJpbmdGcm9udGVuZFRvRnJvbnQoKQogewogICAgIGlmIChXZWJEZXZUb29s
c0FnZW50SW1wbCogYWdlbnQgPSBkZXZUb29sc0FnZW50KCkpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9JbnNwZWN0b3JDbGllbnRJbXBsLmggYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9JbnNwZWN0b3JDbGllbnRJbXBsLmgKaW5kZXggNzQzYmRlNmEwYjJhMGJl
MDNlZjFmM2Y2MDU2NzViYTAzMDBhZjA2Zi4uMGU5MDBiNWZmMzkxZDJlOTBkNzYzZWE4YzdlNTE3
OTFiMjg1ZTZjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvSW5zcGVj
dG9yQ2xpZW50SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0luc3BlY3Rv
ckNsaWVudEltcGwuaApAQCAtNDksNiArNDksNyBAQCBwdWJsaWM6CiAgICAgLy8gSW5zcGVjdG9y
Q2xpZW50IG1ldGhvZHM6CiAgICAgdmlydHVhbCB2b2lkIGluc3BlY3RvckRlc3Ryb3llZCgpOwog
ICAgIHZpcnR1YWwgdm9pZCBvcGVuSW5zcGVjdG9yRnJvbnRlbmQoV2ViQ29yZTo6SW5zcGVjdG9y
Q29udHJvbGxlciopOworICAgIHZpcnR1YWwgdm9pZCBjbG9zZUluc3BlY3RvckZyb250ZW5kKCk7
CiAgICAgdmlydHVhbCB2b2lkIGJyaW5nRnJvbnRlbmRUb0Zyb250KCk7CiAKICAgICB2aXJ0dWFs
IHZvaWQgaGlnaGxpZ2h0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9JbnNwZWN0b3JGcm9udGVuZENsaWVudEltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsLmNwcAppbmRleCAxMTQwMzZlZmE1ODNk
YWFlMTU4Y2VmMjVlODE2YmUyMzc3MWUyNmIyLi5hNjJhYzQ5ZDdiMzEyYjFjODZmMDk1ODI1MzEx
M2YwOWUyOTk1ODJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9JbnNw
ZWN0b3JGcm9udGVuZENsaWVudEltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL0luc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbC5jcHAKQEAgLTEwNSwxMSArMTA1LDYgQEAg
dm9pZCBJbnNwZWN0b3JGcm9udGVuZENsaWVudEltcGw6OmNsb3NlV2luZG93KCkKICAgICBtX2Ns
aWVudC0+Y2xvc2VXaW5kb3coKTsKIH0KIAotdm9pZCBJbnNwZWN0b3JGcm9udGVuZENsaWVudElt
cGw6OmRpc2Nvbm5lY3RGcm9tQmFja2VuZCgpCi17Ci0gICAgbV9jbGllbnQtPmNsb3NlV2luZG93
KCk7Ci19Ci0KIHZvaWQgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsOjpyZXF1ZXN0QXR0YWNo
V2luZG93KCkKIHsKICAgICBtX2NsaWVudC0+cmVxdWVzdERvY2tXaW5kb3coKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0luc3BlY3RvckZyb250ZW5kQ2xpZW50SW1w
bC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJ
bXBsLmgKaW5kZXggZmQ0NWY1YjJiMDg2NmI1YTY0M2JlOWE0Y2VhZDE1ZTM3ZTJiZmE0ZC4uZjE2
NTM1Y2FlMmMyMTBkMGY3ZjMwODBiZGM1ZTkxMjYwZGZlZTk1YyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsLmgKKysrIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsLmgK
QEAgLTYxLDcgKzYxLDYgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIGJyaW5nVG9Gcm9u
dCgpOwogICAgIHZpcnR1YWwgdm9pZCBjbG9zZVdpbmRvdygpOwotICAgIHZpcnR1YWwgdm9pZCBk
aXNjb25uZWN0RnJvbUJhY2tlbmQoKTsKIAogICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0QXR0YWNo
V2luZG93KCk7CiAgICAgdmlydHVhbCB2b2lkIHJlcXVlc3REZXRhY2hXaW5kb3coKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRldlRvb2xzQWdlbnRJbXBsLmNw
cCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRldlRvb2xzQWdlbnRJbXBsLmNwcApp
bmRleCBkZDMxMzYxNDQyYTRmMjE2Y2RkMTRmMTlmYjAxZWI0OWFkYmFkYWVhLi4xNzVjODU2ZTc0
MGFmZDgwZDMwMWZkZmVmM2E4ZGFiMjYzZGEwZTc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9XZWJEZXZUb29sc0FnZW50SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvV2ViRGV2VG9vbHNBZ2VudEltcGwuY3BwCkBAIC0yNjQsNiArMjY0LDEw
IEBAIHZvaWQgV2ViRGV2VG9vbHNBZ2VudEltcGw6Om9wZW5JbnNwZWN0b3JGcm9udGVuZChJbnNw
ZWN0b3JDb250cm9sbGVyKikKIHsKIH0KIAordm9pZCBXZWJEZXZUb29sc0FnZW50SW1wbDo6Y2xv
c2VJbnNwZWN0b3JGcm9udGVuZCgpCit7Cit9CisKIHZvaWQgV2ViRGV2VG9vbHNBZ2VudEltcGw6
OmJyaW5nRnJvbnRlbmRUb0Zyb250KCkKIHsKIH0KQEAgLTM4MSw3ICszODUsNyBAQCBXZWJTdHJp
bmcgV2ViRGV2VG9vbHNBZ2VudDo6ZGlzY29ubmVjdEV2ZW50QXNUZXh0KCkKICAgICAgICAgU3Ry
aW5nIG1fbWVzc2FnZTsKICAgICB9IGNoYW5uZWw7CiAgICAgSW5zcGVjdG9yRnJvbnRlbmQ6Oklu
c3BlY3RvciBpbnNwZWN0b3IoJmNoYW5uZWwpOwotICAgIGluc3BlY3Rvci5kaXNjb25uZWN0RnJv
bUJhY2tlbmQoKTsKKyAgICBpbnNwZWN0b3IuZGlzY29ubmVjdEZyb21Xb3JrZXIoKTsKICAgICBy
ZXR1cm4gY2hhbm5lbC5tX21lc3NhZ2U7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYkRldlRvb2xzQWdlbnRJbXBsLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJEZXZUb29sc0FnZW50SW1wbC5oCmluZGV4IDYzZjc5YWJjOGE1ZDBiN2Y3ODZl
MWFmZjJmODRjZGIzOGNkODNiYTEuLjkxYTg4OTE5ZjJiOGJjMjA0YmMwNzk5YzEzYWMzM2FmMTY5
MzdlYTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRldlRvb2xz
QWdlbnRJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRGV2VG9vbHNB
Z2VudEltcGwuaApAQCAtODUsNiArODUsOCBAQCBwdWJsaWM6CiAgICAgLy8gSW5zcGVjdG9yQ2xp
ZW50IGltcGxlbWVudGF0aW9uLgogICAgIHZpcnR1YWwgdm9pZCBpbnNwZWN0b3JEZXN0cm95ZWQo
KTsKICAgICB2aXJ0dWFsIHZvaWQgb3Blbkluc3BlY3RvckZyb250ZW5kKFdlYkNvcmU6Okluc3Bl
Y3RvckNvbnRyb2xsZXIqKTsKKyAgICB2aXJ0dWFsIHZvaWQgY2xvc2VJbnNwZWN0b3JGcm9udGVu
ZCgpOworCiAgICAgdmlydHVhbCB2b2lkIGJyaW5nRnJvbnRlbmRUb0Zyb250KCk7CiAgICAgdmly
dHVhbCB2b2lkIGhpZ2hsaWdodCgpOwogICAgIHZpcnR1YWwgdm9pZCBoaWRlSGlnaGxpZ2h0KCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9JbnNwZWN0b3JD
bGllbnRFZmwuY3BwIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvSW5zcGVjdG9y
Q2xpZW50RWZsLmNwcAppbmRleCAxNTE0N2Q2OGY5ZWQzMWMxMGEwMmU4ODM4NTdkOGE3NGQyZjc1
MWM3Li43ZTI5NzU4YmRkMTE3MTk0YjUyODRlZTVjZGI5NDc5ODE3MDhmODk1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9JbnNwZWN0b3JDbGllbnRFZmwuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0luc3BlY3RvckNsaWVudEVm
bC5jcHAKQEAgLTM4LDYgKzM4LDExIEBAIHZvaWQgSW5zcGVjdG9yQ2xpZW50RWZsOjpvcGVuSW5z
cGVjdG9yRnJvbnRlbmQoSW5zcGVjdG9yQ29udHJvbGxlciopCiAgICAgbm90SW1wbGVtZW50ZWQo
KTsKIH0KIAordm9pZCBJbnNwZWN0b3JDbGllbnRFZmw6OmNsb3NlSW5zcGVjdG9yRnJvbnRlbmQo
KQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKIHZvaWQgSW5zcGVjdG9yQ2xpZW50RWZs
OjpicmluZ0Zyb250ZW5kVG9Gcm9udCgpCiB7CiAgICAgbm90SW1wbGVtZW50ZWQoKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0luc3BlY3RvckNsaWVudEVm
bC5oIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvSW5zcGVjdG9yQ2xpZW50RWZs
LmgKaW5kZXggZTkxZDk0MzllYzkxM2RlMWE5ODkxMGY1ODUyNDdkOGIyYzJjM2I3Zi4uZjkyZTk0
ZGRhODEzYzViNzI5ZTA3OWYzZjY3MWIzNThlMWZmNjliMSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvSW5zcGVjdG9yQ2xpZW50RWZsLmgKKysrIGIvU291cmNl
L1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvSW5zcGVjdG9yQ2xpZW50RWZsLmgKQEAgLTQzLDYg
KzQzLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBpbnNwZWN0b3JEZXN0cm95ZWQoKTsK
IAogICAgIHZpcnR1YWwgdm9pZCBvcGVuSW5zcGVjdG9yRnJvbnRlbmQoSW5zcGVjdG9yQ29udHJv
bGxlciopOworICAgIHZpcnR1YWwgdm9pZCBjbG9zZUluc3BlY3RvckZyb250ZW5kKCk7CiAgICAg
dmlydHVhbCB2b2lkIGJyaW5nRnJvbnRlbmRUb0Zyb250KCk7CiAKICAgICB2aXJ0dWFsIHZvaWQg
aGlnaGxpZ2h0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9y
dC9JbnNwZWN0b3JDbGllbnRHdGsuY3BwIGIvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBv
cnQvSW5zcGVjdG9yQ2xpZW50R3RrLmNwcAppbmRleCBlMTViOTA0YWYzOWUzYzI4NTZjNDZkOGIy
YTc2MjVhMmI0ZmEzMDE1Li4yZTU1Y2EzY2I2YjI3YjIxYzEyZTZjNzc3N2ZmMzJjN2VmMWM5ZTc4
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9JbnNwZWN0b3JD
bGllbnRHdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0luc3Bl
Y3RvckNsaWVudEd0ay5jcHAKQEAgLTExNyw2ICsxMTcsNyBAQCBJbnNwZWN0b3JDbGllbnQ6On5J
bnNwZWN0b3JDbGllbnQoKQogCiB2b2lkIEluc3BlY3RvckNsaWVudDo6aW5zcGVjdG9yRGVzdHJv
eWVkKCkKIHsKKyAgICBjbG9zZUluc3BlY3RvckZyb250ZW5kKCk7CiAgICAgZGVsZXRlIHRoaXM7
CiB9CiAKQEAgLTE1Niw2ICsxNTcsMTIgQEAgdm9pZCBJbnNwZWN0b3JDbGllbnQ6Om9wZW5JbnNw
ZWN0b3JGcm9udGVuZChJbnNwZWN0b3JDb250cm9sbGVyKiBjb250cm9sbGVyKQogICAgIG1fZnJv
bnRlbmRQYWdlLT5zZXRHcm91cE5hbWUoIiIpOwogfQogCit2b2lkIEluc3BlY3RvckNsaWVudDo6
Y2xvc2VJbnNwZWN0b3JGcm9udGVuZCgpCit7CisgICAgaWYgKG1fZnJvbnRlbmRDbGllbnQpCisg
ICAgICAgIG1fZnJvbnRlbmRDbGllbnQtPmRlc3Ryb3lJbnNwZWN0b3JXaW5kb3coZmFsc2UpOwor
fQorCiB2b2lkIEluc3BlY3RvckNsaWVudDo6YnJpbmdGcm9udGVuZFRvRnJvbnQoKQogewogICAg
IG1fZnJvbnRlbmRDbGllbnQtPmJyaW5nVG9Gcm9udCgpOwpAQCAtMjc1LDExICsyODIsNiBAQCB2
b2lkIEluc3BlY3RvckZyb250ZW5kQ2xpZW50OjpjbG9zZVdpbmRvdygpCiAgICAgZGVzdHJveUlu
c3BlY3RvcldpbmRvdyh0cnVlKTsKIH0KIAotdm9pZCBJbnNwZWN0b3JGcm9udGVuZENsaWVudDo6
ZGlzY29ubmVjdEZyb21CYWNrZW5kKCkKLXsKLSAgICBkZXN0cm95SW5zcGVjdG9yV2luZG93KGZh
bHNlKTsKLX0KLQogdm9pZCBJbnNwZWN0b3JGcm9udGVuZENsaWVudDo6YXR0YWNoV2luZG93KCkK
IHsKICAgICBpZiAoIW1faW5zcGVjdG9yV2ViVmlldykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0luc3BlY3RvckNsaWVudEd0ay5oIGIvU291cmNlL1dlYktp
dC9ndGsvV2ViQ29yZVN1cHBvcnQvSW5zcGVjdG9yQ2xpZW50R3RrLmgKaW5kZXggMTU4YjAxZmQy
NzJjNDA4ZjcyYmUwZGY1Y2ZjMjE1NWE3OGUxZDQwNS4uYzY5MmU4ZjE5MmMwYzQ1OTI1MTljMzli
Y2E5NWVhMDVhZDBkNjY5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1
cHBvcnQvSW5zcGVjdG9yQ2xpZW50R3RrLmgKKysrIGIvU291cmNlL1dlYktpdC9ndGsvV2ViQ29y
ZVN1cHBvcnQvSW5zcGVjdG9yQ2xpZW50R3RrLmgKQEAgLTU0LDYgKzU0LDcgQEAgbmFtZXNwYWNl
IFdlYktpdCB7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBpbnNwZWN0b3JEZXN0cm95ZWQoKTsKIAog
ICAgICAgICB2aXJ0dWFsIHZvaWQgb3Blbkluc3BlY3RvckZyb250ZW5kKFdlYkNvcmU6Okluc3Bl
Y3RvckNvbnRyb2xsZXIqKTsKKyAgICAgICAgdmlydHVhbCB2b2lkIGNsb3NlSW5zcGVjdG9yRnJv
bnRlbmQoKTsKICAgICAgICAgdmlydHVhbCB2b2lkIGJyaW5nRnJvbnRlbmRUb0Zyb250KCk7CiAK
ICAgICAgICAgdmlydHVhbCB2b2lkIGhpZ2hsaWdodCgpOwpAQCAtODYsNyArODcsNiBAQCBuYW1l
c3BhY2UgV2ViS2l0IHsKIAogICAgICAgICB2aXJ0dWFsIHZvaWQgYnJpbmdUb0Zyb250KCk7CiAg
ICAgICAgIHZpcnR1YWwgdm9pZCBjbG9zZVdpbmRvdygpOwotICAgICAgICB2aXJ0dWFsIHZvaWQg
ZGlzY29ubmVjdEZyb21CYWNrZW5kKCk7CiAKICAgICAgICAgdmlydHVhbCB2b2lkIGF0dGFjaFdp
bmRvdygpOwogICAgICAgICB2aXJ0dWFsIHZvaWQgZGV0YWNoV2luZG93KCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuaCBi
L1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5oCmlu
ZGV4IDZmZGU4ODY0MTIwNTFjMTQyNTgxMzk1NzFhNjdmZjU4ZjFjYjdiYWYuLjYxYWIwOWMwNjRk
ODc3NWEyZTc0ZjAwYTY4MjliZmFmZWY4MjQyZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
bWFjL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5oCkBAIC01OCw2ICs1OCw3
IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgaW5zcGVjdG9yRGVzdHJveWVkKCkgT1ZFUlJJ
REU7CiAKICAgICB2aXJ0dWFsIHZvaWQgb3Blbkluc3BlY3RvckZyb250ZW5kKFdlYkNvcmU6Oklu
c3BlY3RvckNvbnRyb2xsZXIqKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHZvaWQgY2xvc2VJbnNw
ZWN0b3JGcm9udGVuZCgpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBicmluZ0Zyb250ZW5k
VG9Gcm9udCgpIE9WRVJSSURFOwogCiAgICAgdmlydHVhbCB2b2lkIGhpZ2hsaWdodCgpIE9WRVJS
SURFOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViSW5z
cGVjdG9yQ2xpZW50Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViSW5z
cGVjdG9yQ2xpZW50Lm1tCmluZGV4IGFiODdjMTE1NWU2NWIyNGM4ZjA4MWE5NWQ5MDMzZjU1OTVj
YTE3ZjUuLmNlODgxYTVmMWU1NTUwYWQxY2Q3NTAxZDUxZTIzMGQ3MTkwNzUwMjMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGll
bnQubW0KQEAgLTgzLDYgKzgzLDcgQEAgV2ViSW5zcGVjdG9yQ2xpZW50OjpXZWJJbnNwZWN0b3JD
bGllbnQoV2ViVmlldyAqd2ViVmlldykKIAogdm9pZCBXZWJJbnNwZWN0b3JDbGllbnQ6Omluc3Bl
Y3RvckRlc3Ryb3llZCgpCiB7CisgICAgY2xvc2VJbnNwZWN0b3JGcm9udGVuZCgpOwogICAgIGRl
bGV0ZSB0aGlzOwogfQogCkBAIC05OSw2ICsxMDAsMTIgQEAgdm9pZCBXZWJJbnNwZWN0b3JDbGll
bnQ6Om9wZW5JbnNwZWN0b3JGcm9udGVuZChJbnNwZWN0b3JDb250cm9sbGVyKiBpbnNwZWN0b3JD
b24KICAgICBtX2Zyb250ZW5kUGFnZS0+aW5zcGVjdG9yQ29udHJvbGxlcigpLT5zZXRJbnNwZWN0
b3JGcm9udGVuZENsaWVudChmcm9udGVuZENsaWVudC5yZWxlYXNlKCkpOwogfQogCit2b2lkIFdl
Ykluc3BlY3RvckNsaWVudDo6Y2xvc2VJbnNwZWN0b3JGcm9udGVuZCgpCit7CisgICAgaWYgKG1f
ZnJvbnRlbmRDbGllbnQpCisgICAgICAgIG1fZnJvbnRlbmRDbGllbnQtPmRpc2Nvbm5lY3RGcm9t
QmFja2VuZCgpOworfQorCiB2b2lkIFdlYkluc3BlY3RvckNsaWVudDo6YnJpbmdGcm9udGVuZFRv
RnJvbnQoKQogewogICAgIG1fZnJvbnRlbmRDbGllbnQtPmJyaW5nVG9Gcm9udCgpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9JbnNwZWN0b3JDbGllbnRRdC5j
cHAgYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0luc3BlY3RvckNsaWVudFF0LmNw
cAppbmRleCAzNmI0N2Q1OGQ4ZDgzZDdmYWJmNTNlZDBkNjYwNTk0Zjc1MmE1M2M0Li5mZGI2ZGEz
M2FlOGIwZDZkN2I0MGUwZmM0ZWYyMTE2OTQ1ZThmMmVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L3F0L1dlYkNvcmVTdXBwb3J0L0luc3BlY3RvckNsaWVudFF0LmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0luc3BlY3RvckNsaWVudFF0LmNwcApAQCAtMTg5LDgg
KzE4OSw3IEBAIEluc3BlY3RvckNsaWVudFF0OjpJbnNwZWN0b3JDbGllbnRRdChRV2ViUGFnZSog
cGFnZSkKIHZvaWQgSW5zcGVjdG9yQ2xpZW50UXQ6Omluc3BlY3RvckRlc3Ryb3llZCgpCiB7CiAj
aWYgRU5BQkxFKElOU1BFQ1RPUikKLSAgICBpZiAobV9mcm9udGVuZENsaWVudCkKLSAgICAgICAg
bV9mcm9udGVuZENsaWVudC0+aW5zcGVjdG9yQ2xpZW50RGVzdHJveWVkKCk7CisgICAgY2xvc2VJ
bnNwZWN0b3JGcm9udGVuZCgpOwogCiAgICAgSW5zcGVjdG9yU2VydmVyUXQqIHdlYkluc3BlY3Rv
clNlcnZlciA9IEluc3BlY3RvclNlcnZlclF0OjpzZXJ2ZXIoKTsKICAgICBpZiAod2ViSW5zcGVj
dG9yU2VydmVyKQpAQCAtMjQzLDYgKzI0MiwxMiBAQCB2b2lkIEluc3BlY3RvckNsaWVudFF0Ojpv
cGVuSW5zcGVjdG9yRnJvbnRlbmQoV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxlciogaW5zcAog
I2VuZGlmCiB9CiAKK3ZvaWQgSW5zcGVjdG9yQ2xpZW50UXQ6OmNsb3NlSW5zcGVjdG9yRnJvbnRl
bmQoKQoreworICAgIGlmIChtX2Zyb250ZW5kQ2xpZW50KQorICAgICAgICBtX2Zyb250ZW5kQ2xp
ZW50LT5pbnNwZWN0b3JDbGllbnREZXN0cm95ZWQoKTsKK30KKwogdm9pZCBJbnNwZWN0b3JDbGll
bnRRdDo6YnJpbmdGcm9udGVuZFRvRnJvbnQoKQogewogICAgIG1fZnJvbnRlbmRDbGllbnQtPmJy
aW5nVG9Gcm9udCgpOwpAQCAtMzQ4LDExICszNTMsNiBAQCB2b2lkIEluc3BlY3RvckZyb250ZW5k
Q2xpZW50UXQ6OmNsb3NlV2luZG93KCkKICAgICBkZXN0cm95SW5zcGVjdG9yVmlldyh0cnVlKTsK
IH0KIAotdm9pZCBJbnNwZWN0b3JGcm9udGVuZENsaWVudFF0OjpkaXNjb25uZWN0RnJvbUJhY2tl
bmQoKQotewotICAgIGRlc3Ryb3lJbnNwZWN0b3JWaWV3KGZhbHNlKTsKLX0KLQogdm9pZCBJbnNw
ZWN0b3JGcm9udGVuZENsaWVudFF0OjphdHRhY2hXaW5kb3coKQogewogICAgIG5vdEltcGxlbWVu
dGVkKCk7CkBAIC00MDcsNiArNDA3LDcgQEAgdm9pZCBJbnNwZWN0b3JGcm9udGVuZENsaWVudFF0
OjpkZXN0cm95SW5zcGVjdG9yVmlldyhib29sIG5vdGlmeUluc3BlY3RvckNvbnRyb2wKIAogdm9p
ZCBJbnNwZWN0b3JGcm9udGVuZENsaWVudFF0OjppbnNwZWN0b3JDbGllbnREZXN0cm95ZWQoKQog
eworICAgIGRlc3Ryb3lJbnNwZWN0b3JWaWV3KGZhbHNlKTsKICAgICBtX2luc3BlY3RvckNsaWVu
dCA9IDA7CiAgICAgbV9pbnNwZWN0ZWRXZWJQYWdlID0gMDsKIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvSW5zcGVjdG9yQ2xpZW50UXQuaCBiL1NvdXJjZS9X
ZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvSW5zcGVjdG9yQ2xpZW50UXQuaAppbmRleCBjNjQ5YzZi
MjBmZWQ4NWU0M2U1OWYzYjE0MGNmMDlmZDRlMTExMWViLi5jOTRkNjFhMzI5NDBhNmE0M2Q1NmU5
ZGVlOWU0MTgyOGI3ZDI0MWRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVT
dXBwb3J0L0luc3BlY3RvckNsaWVudFF0LmgKKysrIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3Jl
U3VwcG9ydC9JbnNwZWN0b3JDbGllbnRRdC5oCkBAIC01Miw2ICs1Miw3IEBAIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIHZvaWQgaW5zcGVjdG9yRGVzdHJveWVkKCk7CiAKICAgICB2aXJ0dWFsIHZvaWQg
b3Blbkluc3BlY3RvckZyb250ZW5kKFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXIqKTsKKyAg
ICB2aXJ0dWFsIHZvaWQgY2xvc2VJbnNwZWN0b3JGcm9udGVuZCgpOwogICAgIHZpcnR1YWwgdm9p
ZCBicmluZ0Zyb250ZW5kVG9Gcm9udCgpOwogCiAgICAgdmlydHVhbCB2b2lkIGhpZ2hsaWdodCgp
OwpAQCAtODcsNyArODgsNiBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgYnJpbmdUb0Zy
b250KCk7CiAgICAgdmlydHVhbCB2b2lkIGNsb3NlV2luZG93KCk7Ci0gICAgdmlydHVhbCB2b2lk
IGRpc2Nvbm5lY3RGcm9tQmFja2VuZCgpOwogCiAgICAgdmlydHVhbCB2b2lkIGF0dGFjaFdpbmRv
dygpOwogICAgIHZpcnR1YWwgdm9pZCBkZXRhY2hXaW5kb3coKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuY3BwCmluZGV4
IGY1ZTJmMzgxNGMyM2ZlMzA2NTBiNjJkNTczZTFlODFlYWY0ZGIyMjAuLmYxZWFhZWNhZTQ4OGNl
NDAxYjMzYjRiMzRlZDZhYzg4ZTE3MzRjMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2lu
L1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktp
dC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50LmNwcApAQCAtODIsNiArODIs
NyBAQCBXZWJJbnNwZWN0b3JDbGllbnQ6On5XZWJJbnNwZWN0b3JDbGllbnQoKQogCiB2b2lkIFdl
Ykluc3BlY3RvckNsaWVudDo6aW5zcGVjdG9yRGVzdHJveWVkKCkKIHsKKyAgICBjbG9zZUluc3Bl
Y3RvckZyb250ZW5kKCk7CiAgICAgZGVsZXRlIHRoaXM7CiB9CiAKQEAgLTE3OCw2ICsxNzksMTIg
QEAgdm9pZCBXZWJJbnNwZWN0b3JDbGllbnQ6Om9wZW5JbnNwZWN0b3JGcm9udGVuZChJbnNwZWN0
b3JDb250cm9sbGVyKiBpbnNwZWN0b3JDb24KICAgICBtX2Zyb250ZW5kSHduZCA9IGZyb250ZW5k
SHduZDsKIH0KIAordm9pZCBXZWJJbnNwZWN0b3JDbGllbnQ6OmNsb3NlSW5zcGVjdG9yRnJvbnRl
bmQoKQoreworICAgIGlmIChtX2Zyb250ZW5kQ2xpZW50KQorICAgICAgICBtX2Zyb250ZW5kQ2xp
ZW50LT5kZXN0cm95SW5zcGVjdG9yVmlldyhmYWxzZSk7Cit9CisKIHZvaWQgV2ViSW5zcGVjdG9y
Q2xpZW50OjpicmluZ0Zyb250ZW5kVG9Gcm9udCgpCiB7CiAgICAgbV9mcm9udGVuZENsaWVudC0+
YnJpbmdUb0Zyb250KCk7CkBAIC0yNzEsMTEgKzI3OCw2IEBAIHZvaWQgV2ViSW5zcGVjdG9yRnJv
bnRlbmRDbGllbnQ6OmNsb3NlV2luZG93KCkKICAgICBkZXN0cm95SW5zcGVjdG9yVmlldyh0cnVl
KTsKIH0KIAotdm9pZCBXZWJJbnNwZWN0b3JGcm9udGVuZENsaWVudDo6ZGlzY29ubmVjdEZyb21C
YWNrZW5kKCkKLXsKLSAgICBkZXN0cm95SW5zcGVjdG9yVmlldyhmYWxzZSk7Ci19Ci0KIHZvaWQg
V2ViSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ6OmF0dGFjaFdpbmRvdygpCiB7CiAgICAgaWYgKG1f
YXR0YWNoZWQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9X
ZWJJbnNwZWN0b3JDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dl
Ykluc3BlY3RvckNsaWVudC5oCmluZGV4IDBiOWMxYTQxNTQ2Nzk1ODc3NWNiYWExNWZmZDdhZjQ3
NDYyNjQ5MTYuLmE0M2ZiZWI1MDFkMTlmZDg3OGRmYmUzMGFjOGY0YjcwNWJkZGRhOWQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVu
dC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNs
aWVudC5oCkBAIC01OCw2ICs1OCw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgaW5zcGVj
dG9yRGVzdHJveWVkKCk7CiAKICAgICB2aXJ0dWFsIHZvaWQgb3Blbkluc3BlY3RvckZyb250ZW5k
KFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXIqKTsKKyAgICB2aXJ0dWFsIHZvaWQgY2xvc2VJ
bnNwZWN0b3JGcm9udGVuZCgpOwogICAgIHZpcnR1YWwgdm9pZCBicmluZ0Zyb250ZW5kVG9Gcm9u
dCgpOwogCiAgICAgdmlydHVhbCB2b2lkIGhpZ2hsaWdodCgpOwpAQCAtMTEzLDEyICsxMTQsMTIg
QEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBzZXRBdHRhY2hlZFdpbmRvd0hlaWdodCh1bnNp
Z25lZCBoZWlnaHQpOwogICAgIHZpcnR1YWwgdm9pZCBpbnNwZWN0ZWRVUkxDaGFuZ2VkKGNvbnN0
IFdURjo6U3RyaW5nJiBuZXdVUkwpOwogCisgICAgdm9pZCBkZXN0cm95SW5zcGVjdG9yVmlldyhi
b29sIG5vdGlmeUluc3BlY3RvckNvbnRyb2xsZXIpOworCiBwcml2YXRlOgogICAgIHZvaWQgY2xv
c2VXaW5kb3dXaXRob3V0Tm90aWZpY2F0aW9ucygpOwogICAgIHZvaWQgc2hvd1dpbmRvd1dpdGhv
dXROb3RpZmljYXRpb25zKCk7CiAKLSAgICB2b2lkIGRlc3Ryb3lJbnNwZWN0b3JWaWV3KGJvb2wg
bm90aWZ5SW5zcGVjdG9yQ29udHJvbGxlcik7Ci0KICAgICB2b2lkIHVwZGF0ZVdpbmRvd1RpdGxl
KCk7CiAKICAgICBMUkVTVUxUIG9uR2V0TWluTWF4SW5mbyhXUEFSQU0sIExQQVJBTSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L0luc3BlY3RvckNsaWVu
dFdpbkNFLmNwcCBiL1NvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvSW5zcGVjdG9y
Q2xpZW50V2luQ0UuY3BwCmluZGV4IGRjN2FjYzc0N2U2MTdjZjM0MjFmZmRlMDBjN2FhZTk1OTMx
YzI0NDcuLjViYjM0ZWY4Y2QyZmZiYzcxZmVhZDBhNmI0YWQzOGEzMTY2NTgxMjggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvSW5zcGVjdG9yQ2xpZW50V2lu
Q0UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvSW5zcGVjdG9y
Q2xpZW50V2luQ0UuY3BwCkBAIC01MCw2ICs1MCwxMSBAQCB2b2lkIEluc3BlY3RvckNsaWVudFdp
bkNFOjpvcGVuSW5zcGVjdG9yRnJvbnRlbmQoSW5zcGVjdG9yQ29udHJvbGxlciogY29udHJvbGxl
cgogICAgIG5vdEltcGxlbWVudGVkKCk7CiB9CiAKK3ZvaWQgSW5zcGVjdG9yQ2xpZW50V2luQ0U6
OmNsb3NlSW5zcGVjdG9yRnJvbnRlbmQoKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisK
IHZvaWQgSW5zcGVjdG9yQ2xpZW50V2luQ0U6OmJyaW5nRnJvbnRlbmRUb0Zyb250KCkKIHsKICAg
ICBub3RJbXBsZW1lbnRlZCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW5jZS9XZWJD
b3JlU3VwcG9ydC9JbnNwZWN0b3JDbGllbnRXaW5DRS5oIGIvU291cmNlL1dlYktpdC93aW5jZS9X
ZWJDb3JlU3VwcG9ydC9JbnNwZWN0b3JDbGllbnRXaW5DRS5oCmluZGV4IGE2MDgwYWU1OWFlNWQy
ZTg5ZDM1MmJmNTFiZWU0MTNmNThmYTJjNWMuLmRmZDgyMzAzYTljMmNkZWQyMTEzNTIxMTdlMDhk
ZTYxYzdkNWM5YjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBv
cnQvSW5zcGVjdG9yQ2xpZW50V2luQ0UuaAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNv
cmVTdXBwb3J0L0luc3BlY3RvckNsaWVudFdpbkNFLmgKQEAgLTM5LDYgKzM5LDcgQEAgcHVibGlj
OgogICAgIHZpcnR1YWwgdm9pZCBpbnNwZWN0b3JEZXN0cm95ZWQoKTsKIAogICAgIHZpcnR1YWwg
dm9pZCBvcGVuSW5zcGVjdG9yRnJvbnRlbmQoV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxlciop
OworICAgIHZpcnR1YWwgdm9pZCBjbG9zZUluc3BlY3RvckZyb250ZW5kKCk7CiAgICAgdmlydHVh
bCB2b2lkIGJyaW5nRnJvbnRlbmRUb0Zyb250KCk7CiAKICAgICB2aXJ0dWFsIHZvaWQgaGlnaGxp
Z2h0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3d4L1dlYktpdFN1cHBvcnQvSW5zcGVj
dG9yQ2xpZW50V3guY3BwIGIvU291cmNlL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0luc3BlY3Rv
ckNsaWVudFd4LmNwcAppbmRleCBlM2M0ZGJjMmQ1YjZmZTgyMzZkN2VmOTExNjZmZmJlZTM4ZDBh
YWY5Li44YTRlNzkyN2FhZTA1YzA4MGJiMThmOWFiYzk1OGQ3ZTA3Y2M4YzY1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L3d4L1dlYktpdFN1cHBvcnQvSW5zcGVjdG9yQ2xpZW50V3guY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9JbnNwZWN0b3JDbGllbnRXeC5jcHAK
QEAgLTUyLDYgKzUyLDExIEBAIHZvaWQgSW5zcGVjdG9yQ2xpZW50V3g6Om9wZW5JbnNwZWN0b3JG
cm9udGVuZChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVyKikKICAgICBub3RJbXBsZW1lbnRl
ZCgpOwogfQogCit2b2lkIEluc3BlY3RvckNsaWVudFd4OjpjbG9zZUluc3BlY3RvckZyb250ZW5k
KCkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCiB2b2lkIEluc3BlY3RvckNsaWVudFd4
OjpicmluZ0Zyb250ZW5kVG9Gcm9udCgpCiB7CiAgICAgbm90SW1wbGVtZW50ZWQoKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9JbnNwZWN0b3JDbGllbnRXeC5o
IGIvU291cmNlL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0luc3BlY3RvckNsaWVudFd4LmgKaW5k
ZXggMDI5YzIxNjdhMWQ3MDYyMDRmNWE0YmE4OTNmOTI2YTMzNDllMmEwMS4uZTEwZTY3YjJlNTVi
NmJjZjA4ZjZiNDIyNzgzMmIyNTMxZDg0NTBhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93
eC9XZWJLaXRTdXBwb3J0L0luc3BlY3RvckNsaWVudFd4LmgKKysrIGIvU291cmNlL1dlYktpdC93
eC9XZWJLaXRTdXBwb3J0L0luc3BlY3RvckNsaWVudFd4LmgKQEAgLTQxLDYgKzQxLDcgQEAgcHVi
bGljOgogICAgIHZpcnR1YWwgdm9pZCBpbnNwZWN0b3JEZXN0cm95ZWQoKTsKIAogICAgIHZpcnR1
YWwgdm9pZCBvcGVuSW5zcGVjdG9yRnJvbnRlbmQoV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxl
ciopOworICAgIHZpcnR1YWwgdm9pZCBjbG9zZUluc3BlY3RvckZyb250ZW5kKCk7CiAgICAgdmly
dHVhbCB2b2lkIGJyaW5nRnJvbnRlbmRUb0Zyb250KCk7CiAKICAgICB2aXJ0dWFsIHZvaWQgaGln
aGxpZ2h0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5jcHAKaW5kZXggNDkxZWU1NzQzNzA4
YzE0MmJmMGIwMjM2ZWM4NWQ4MjZiOGQzMDA5OS4uNTRiNDc3ZTBmNmFhNTE1ZWIwNzY4ZmNjNDZl
ZDY5YjFhNGZiMmFkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJD
b3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50LmNwcApAQCAtMzksNiAr
MzksNyBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIAogdm9pZCBXZWJJbnNwZWN0b3JDbGllbnQ6Omlu
c3BlY3RvckRlc3Ryb3llZCgpCiB7CisgICAgY2xvc2VJbnNwZWN0b3JGcm9udGVuZCgpOwogICAg
IGRlbGV0ZSB0aGlzOwogfQogCkBAIC00OCw2ICs0OSwxMSBAQCB2b2lkIFdlYkluc3BlY3RvckNs
aWVudDo6b3Blbkluc3BlY3RvckZyb250ZW5kKEluc3BlY3RvckNvbnRyb2xsZXIqKQogICAgIEFT
U0VSVF9VTlVTRUQoaW5zcGVjdG9yUGFnZSwgaW5zcGVjdG9yUGFnZSk7CiB9CiAKK3ZvaWQgV2Vi
SW5zcGVjdG9yQ2xpZW50OjpjbG9zZUluc3BlY3RvckZyb250ZW5kKCkKK3sKKyAgICBtX3BhZ2Ut
Pmluc3BlY3RvcigpLT5kaWRDbG9zZSgpOworfQorCiB2b2lkIFdlYkluc3BlY3RvckNsaWVudDo6
YnJpbmdGcm9udGVuZFRvRnJvbnQoKQogewogICAgIG1fcGFnZS0+aW5zcGVjdG9yKCktPmJyaW5n
VG9Gcm9udCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50LmgKaW5kZXggODQ5YWQyMjkxODZlMzFm
ZGE2YjM5NTUxYzUxZGNkODExMzdiNTdiMy4uMzk3MDAzMDI0MTljYzNjOWJlNGEzYWI1YzdiMWI0
MGE0ZjFkYmYzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5oCkBAIC01Myw2ICs1Myw3IEBA
IHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGluc3BlY3RvckRlc3Ryb3llZCgpIE9WRVJSSURF
OwogCiAgICAgdmlydHVhbCB2b2lkIG9wZW5JbnNwZWN0b3JGcm9udGVuZChXZWJDb3JlOjpJbnNw
ZWN0b3JDb250cm9sbGVyKikgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2b2lkIGNsb3NlSW5zcGVj
dG9yRnJvbnRlbmQoKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgYnJpbmdGcm9udGVuZFRv
RnJvbnQoKSBPVkVSUklERTsKIAogICAgIHZpcnR1YWwgdm9pZCBoaWdobGlnaHQoKSBPVkVSUklE
RTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JGcm9udGVuZENsaWVudC5jcHAKaW5kZXggOGE5
ODE5NTE5N2JmMzdiYWRkNGUzYzI1MDlmMDZjMjkwMjM3NjZjNS4uMDllMWQzN2NjOTJlMzIxYjgz
NDRiYWY2OWM0Y2E0NjljYzQyNGIzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JGcm9udGVuZENsaWVudC5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JGcm9u
dGVuZENsaWVudC5jcHAKQEAgLTc0LDExICs3NCw2IEBAIHZvaWQgV2ViSW5zcGVjdG9yRnJvbnRl
bmRDbGllbnQ6OmNsb3NlV2luZG93KCkKICAgICBtX3BhZ2UtPmluc3BlY3RvcigpLT5kaWRDbG9z
ZSgpOwogfQogCi12b2lkIFdlYkluc3BlY3RvckZyb250ZW5kQ2xpZW50OjpkaXNjb25uZWN0RnJv
bUJhY2tlbmQoKQotewotICAgIG1fcGFnZS0+aW5zcGVjdG9yKCktPmRpZENsb3NlKCk7Ci19Ci0K
IHZvaWQgV2ViSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ6OmF0dGFjaFdpbmRvdygpCiB7CiAgICAg
bV9wYWdlLT5pbnNwZWN0b3IoKS0+YXR0YWNoKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckZyb250ZW5kQ2xpZW50Lmgg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckZy
b250ZW5kQ2xpZW50LmgKaW5kZXggZDhiMTdiZGE1MDU4YmNiOTU1M2Q5MGE1OGI1ZDU2MDJiYTBl
NTJjNi4uMzE4M2FiMDBhODcwM2ZhY2ZlZTRjYmJjN2YzODFkY2ViZWZlNzEwOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JG
cm9udGVuZENsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQuaApAQCAtNDYsNyArNDYsNiBAQCBwcml2
YXRlOgogCiAgICAgdmlydHVhbCB2b2lkIGJyaW5nVG9Gcm9udCgpIE9WRVJSSURFOwogICAgIHZp
cnR1YWwgdm9pZCBjbG9zZVdpbmRvdygpIE9WRVJSSURFOwotICAgIHZpcnR1YWwgdm9pZCBkaXNj
b25uZWN0RnJvbUJhY2tlbmQoKSBPVkVSUklERTsKIAogICAgIHZpcnR1YWwgdm9pZCBhdHRhY2hX
aW5kb3coKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgZGV0YWNoV2luZG93KCkgT1ZFUlJJ
REU7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>116614</attachid>
            <date>2011-11-25 06:31:33 -0800</date>
            <delta_ts>2011-11-25 07:57:26 -0800</delta_ts>
            <desc>[Patch] with mac bots fixed</desc>
            <filename>bug-73127-20111125183130.patch</filename>
            <type>text/plain</type>
            <size>32705</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAxMTY1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGRiNGU4MDk1MDgwOTIy
MjMwYTFkZDQ1OWU5NWZiZGQyMzU1NDAzYy4uYjExZGRiMDZkOTgwYWEwZTM0OTVmODljZDg0NTk3
MjE3YzE4M2EwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDExLTExLTI1ICBQYXZl
bCBGZWxkbWFuICA8cGZlbGRtYW5AZ29vZ2xlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9y
OiByZW1vdmUgZGlzY29ubmVjdEZyb21CYWNrZW5kIGZyb20gdGhlIHByb3RvY29sLgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxMjcKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGluc3BlY3Rvci9JbnNw
ZWN0b3IuanNvbjoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQWdlbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQWdlbnQ6Omluc3BlY3RlZFBhZ2VEZXN0cm95ZWQpOgor
ICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JDbGllbnQuaDoKKyAgICAgICAgKiBpbnNwZWN0
b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JD
b250cm9sbGVyOjpjbG9zZSk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5k
Q2xpZW50Lmg6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHA6
CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5oOgorICAgICAgICAq
IGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuaWRsOgorICAgICAgICAqIGluc3BlY3Rv
ci9mcm9udC1lbmQvSW5zcGVjdG9yRnJvbnRlbmRIb3N0U3R1Yi5qczoKKyAgICAgICAgKiBpbnNw
ZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5kaXNj
b25uZWN0RnJvbVdvcmtlcik6CisgICAgICAgICogbG9hZGVyL0VtcHR5Q2xpZW50cy5oOgorICAg
ICAgICAoV2ViQ29yZTo6RW1wdHlJbnNwZWN0b3JDbGllbnQ6OmNsb3NlSW5zcGVjdG9yRnJvbnRl
bmQpOgorCiAyMDExLTExLTI1ICBZdXJ5IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hyb21pdW0ub3Jn
PgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IGRvbid0IHNlbmQgQ29uc29sZS5tZXNzYWdlc0Ns
ZWFyZWQgb24gZnJvbnQtZW5kIGNvbm5lY3Rpb24gaWYgY29uc29sZSBhZ2VudCBpcyBub3QgZW5h
YmxlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCA5OGNiZThlMmM4NTY4YTI5NDlkZGM4
NjEwNGQzZmNjZDYwZjc4NjA2Li43NmU1YzIxZGRhODBiOGNhOThmZjRmMGZmMzAxODVjMWYxZjUx
YmNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDExLTEx
LTI1ICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AZ29vZ2xlLmNvbT4KKworICAgICAgICBXZWIg
SW5zcGVjdG9yOiByZW1vdmUgZGlzY29ubmVjdEZyb21CYWNrZW5kIGZyb20gdGhlIHByb3RvY29s
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxMjcK
KworICAgICAgICBXZSBzaG91bGQgaW5zdGVhZCB1c2UgSW5zcGVjdG9yQ2xpZW50OjpjbG9zZUlu
c3BlY3RvckZyb250ZW5kIHRoYXQgd291bGQKKyAgICAgICAgYmUgY2xvc2luZyB0aGUgZnJvbnQt
ZW5kIHdpbmRvdy4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIHNyYy9JbnNwZWN0b3JDbGllbnRJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6SW5z
cGVjdG9yQ2xpZW50SW1wbDo6Y2xvc2VJbnNwZWN0b3JGcm9udGVuZCk6CisgICAgICAgICogc3Jj
L0luc3BlY3RvckNsaWVudEltcGwuaDoKKyAgICAgICAgKiBzcmMvSW5zcGVjdG9yRnJvbnRlbmRD
bGllbnRJbXBsLmNwcDoKKyAgICAgICAgKiBzcmMvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBs
Lmg6CisgICAgICAgICogc3JjL1dlYkRldlRvb2xzQWdlbnRJbXBsLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6V2ViRGV2VG9vbHNBZ2VudEltcGw6OmNsb3NlSW5zcGVjdG9yRnJvbnRlbmQpOgorICAg
ICAgICAoV2ViS2l0OjpXZWJEZXZUb29sc0FnZW50OjpkaXNjb25uZWN0RXZlbnRBc1RleHQpOgor
ICAgICAgICAqIHNyYy9XZWJEZXZUb29sc0FnZW50SW1wbC5oOgorCiAyMDExLTExLTI0ICBZdXJ5
IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtDaHJvbWl1bV0g
V2ViIEluc3BlY3RvcjogcmVtb3ZlIGxlZ2FjeSBkZWJ1Z2dlciBzdXBwb3J0CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VM
b2cKaW5kZXggZDlkMjhmOGRlMTRmMjQ4ZjU4MjM1MmNjOGFkOTE4NDk0M2EyMTllZS4uYThlMmFj
NzExYTRhMzJiMWJmNDRmZmQ4NTgwZWY3MmNkZWNhNjU0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9ndGsvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE1IEBACisyMDExLTExLTI1ICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AZ29vZ2xl
LmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiByZW1vdmUgZGlzY29ubmVjdEZyb21CYWNr
ZW5kIGZyb20gdGhlIHByb3RvY29sLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NzMxMjcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0luc3BlY3RvckNsaWVudEd0ay5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6Okluc3BlY3RvckNsaWVudDo6aW5zcGVjdG9yRGVzdHJveWVkKToKKyAg
ICAgICAgKFdlYktpdDo6SW5zcGVjdG9yQ2xpZW50OjpjbG9zZUluc3BlY3RvckZyb250ZW5kKToK
KyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9JbnNwZWN0b3JDbGllbnRHdGsuaDoKKwogMjAxMS0x
MS0yMyAgS2F1c3R1YmggQXRyYXdhbGthciAgPGthdXN0dWJoQG1vdG9yb2xhLmNvbT4KIAogICAg
ICAgICBEb2N1bWVudGF0aW9uIGZpeCBmb3IgbG9hZC1jb21taXR0ZWQgaW4gd2Via2l0d2ViZnJh
bWUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJL
aXQvbWFjL0NoYW5nZUxvZwppbmRleCAxZGMxNDc2YWFkN2IyMzlhOWI5ZDYxYjZjMzNmYTQ0NDc2
NzAwMGJmLi4wOGY0ZDIzMzUyMzBhMjdlNmM1MzY5YTI3M2E1NjFhNmRmYmRjMzYzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMTEtMjUgIFBhdmVsIEZlbGRtYW4gIDxw
ZmVsZG1hbkBnb29nbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IHJlbW92ZSBkaXNj
b25uZWN0RnJvbUJhY2tlbmQgZnJvbSB0aGUgcHJvdG9jb2wuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MzEyNworCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9y
Q2xpZW50Lmg6CisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50Lm1t
OgorICAgICAgICAoV2ViSW5zcGVjdG9yQ2xpZW50OjppbnNwZWN0b3JEZXN0cm95ZWQpOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yQ2xpZW50OjpjbG9zZUluc3BlY3RvckZyb250ZW5kKToKKwogMjAx
MS0xMS0yMiAgUGF2ZWwgRmVsZG1hbiAgPHBmZWxkbWFuQGdvb2dsZS5jb20+CiAKICAgICAgICAg
V2ViIEluc3BlY3RvcjogcmVtb3ZlIEluc3BlY3Rvcjo6YnJpbmdUb0Zyb250IGZyb20gdGhlIHBy
b3RvY29sLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViS2l0L3F0L0NoYW5nZUxvZwppbmRleCA1ODVkY2Q2YmE0YmMyMGUyYWYwOGIzZTQwMTFmZTFk
YjI2ODE5NDkwLi5kNmQ3MzJmMDQwMjY2YjEwMzYyMDk5ZGZmYzU3YzlhY2FmNzk0YzhkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L3F0
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDExLTExLTI1ICBQYXZlbCBGZWxkbWFuICA8
cGZlbGRtYW5AZ29vZ2xlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiByZW1vdmUgZGlz
Y29ubmVjdEZyb21CYWNrZW5kIGZyb20gdGhlIHByb3RvY29sLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxMjcKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0luc3BlY3RvckNs
aWVudFF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNsaWVudFF0OjppbnNwZWN0
b3JEZXN0cm95ZWQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ2xpZW50UXQ6OmNsb3Nl
SW5zcGVjdG9yRnJvbnRlbmQpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRnJvbnRlbmRD
bGllbnRRdDo6aW5zcGVjdG9yQ2xpZW50RGVzdHJveWVkKToKKyAgICAgICAgKiBXZWJDb3JlU3Vw
cG9ydC9JbnNwZWN0b3JDbGllbnRRdC5oOgorCiAyMDExLTExLTIyICBQYXZlbCBGZWxkbWFuICA8
cGZlbGRtYW5AZ29vZ2xlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiByZW1vdmUgSW5z
cGVjdG9yOjpicmluZ1RvRnJvbnQgZnJvbSB0aGUgcHJvdG9jb2wuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKaW5k
ZXggZmU3NGVhMTZiNTY1OWYwYzQ3MzUzNGJhZTRkZjg4ZDMxMzY1ZTA5NC4uOTU3ZTg2MDkxNTZl
YzUyYTlhYTZlZjhlZTM5NTUzZWVkYzA5OTE5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93
aW4vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE1IEBACisyMDExLTExLTI1ICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AZ29vZ2xlLmNvbT4K
KworICAgICAgICBXZWIgSW5zcGVjdG9yOiByZW1vdmUgZGlzY29ubmVjdEZyb21CYWNrZW5kIGZy
b20gdGhlIHByb3RvY29sLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NzMxMjcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5jcHA6CisgICAgICAg
IChXZWJJbnNwZWN0b3JDbGllbnQ6Omluc3BlY3RvckRlc3Ryb3llZCk6CisgICAgICAgIChXZWJJ
bnNwZWN0b3JDbGllbnQ6OmNsb3NlSW5zcGVjdG9yRnJvbnRlbmQpOgorICAgICAgICAqIFdlYkNv
cmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5oOgorCiAyMDExLTExLTIyICBQYXZlbCBGZWxk
bWFuICA8cGZlbGRtYW5AZ29vZ2xlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiByZW1v
dmUgSW5zcGVjdG9yOjpicmluZ1RvRnJvbnQgZnJvbSB0aGUgcHJvdG9jb2wuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5k
ZXggOTNhNzkwZWMzZTJmODhhODg5YmNhMmY3OGI4ODU4OTM5OTY5NDZiOS4uNjFiODBhNDZhMDY2
NzczZGNmMWVhZWNiY2JkZjVjZDIzMWFiOWJhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBA
CisyMDExLTExLTI1ICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AZ29vZ2xlLmNvbT4KKworICAg
ICAgICBXZWIgSW5zcGVjdG9yOiByZW1vdmUgZGlzY29ubmVjdEZyb21CYWNrZW5kIGZyb20gdGhl
IHByb3RvY29sLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NzMxMjcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50LmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6V2ViSW5zcGVjdG9yQ2xpZW50OjppbnNwZWN0b3JEZXN0cm95ZWQpOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yRnJvbnRlbmRD
bGllbnQuY3BwOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVj
dG9yRnJvbnRlbmRDbGllbnQuaDoKKwogMjAxMS0xMS0yNSAgU2ltb24gSGF1c21hbm4gIDxzaW1v
bi5oYXVzbWFubkBub2tpYS5jb20+CiAKICAgICAgICAgW1F0XSBFbGltaW5hdGUgd2FybmluZ3Mg
YWJvdXQgdGhlIGRlcHJlY2F0ZWQgUVF1aWNrQ2FudmFzOjpzY2VuZUdyYXBoRW5naW5lKCkgZnVu
Y3Rpb24uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpz
b24gYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24KaW5kZXggMDlkNDVj
Zjk3Njk0NGYyNWMyMWFmYjBkOWY1ZTRkN2EzODNkYWE0MC4uMGVjZTA2OTI0ZDhiY2NlYjJjYWMw
ZTc5ZjE4MTdmYmQ5MDM3ZGQ0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3Rvci5qc29uCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3Iu
anNvbgpAQCAtOCw3ICs4LDcgQEAKICAgICAgICAgXSwKICAgICAgICAgImV2ZW50cyI6IFsKICAg
ICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJkaXNjb25uZWN0RnJvbUJhY2tl
bmQiCisgICAgICAgICAgICAgICAgIm5hbWUiOiAiZGlzY29ubmVjdEZyb21Xb3JrZXIiCiAgICAg
ICAgICAgICB9LAogICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICJuYW1lIjogImV2YWx1
YXRlRm9yVGVzdEluRnJvbnRlbmQiLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JBZ2VudC5jcHAKaW5kZXggNTAzMmMxNzI2YzUwZjFlMjZkMWY5ZmI1ZjU3MWU2ZDdlNmM0ZDAx
OS4uYzQwYWU1MTE3NDc1NWYwN2ZkMmJhNzUwMjg1NTVmNDNiYWUzYTY3NiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFnZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQWdlbnQuY3BwCkBAIC04Myw4ICs4Myw2IEBAIElu
c3BlY3RvckFnZW50Ojp+SW5zcGVjdG9yQWdlbnQoKQogCiB2b2lkIEluc3BlY3RvckFnZW50Ojpp
bnNwZWN0ZWRQYWdlRGVzdHJveWVkKCkKIHsKLSAgICBpZiAobV9mcm9udGVuZCkKLSAgICAgICAg
bV9mcm9udGVuZC0+aW5zcGVjdG9yKCktPmRpc2Nvbm5lY3RGcm9tQmFja2VuZCgpOwogICAgIEFT
U0VSVChtX2luc3BlY3RlZFBhZ2UpOwogICAgIG1faW5zcGVjdGVkUGFnZSA9IDA7CiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ2xpZW50LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ2xpZW50LmgKaW5kZXggOWZhZDVkNjQ2NmUx
MWEzMGUyZjE4YzI4MTkzMGE2OTg5MTdiZWJhMC4uODNhYjIzMmY2MzY3NTQyNjQ0MmZmMGMwODEz
ODZlMjMxNjMwODk2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDbGll
bnQuaApAQCAtNDQsNiArNDQsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGluc3BlY3Rv
ckRlc3Ryb3llZCgpID0gMDsKIAogICAgIHZpcnR1YWwgdm9pZCBvcGVuSW5zcGVjdG9yRnJvbnRl
bmQoSW5zcGVjdG9yQ29udHJvbGxlciopID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgY2xvc2VJbnNw
ZWN0b3JGcm9udGVuZCgpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgYnJpbmdGcm9udGVuZFRvRnJv
bnQoKSA9IDA7CiAKICAgICB2aXJ0dWFsIHZvaWQgaGlnaGxpZ2h0KCkgPSAwOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCmluZGV4IGQyMTFi
NGUyYjE2YWE3NmJmMjk0ZWEzNWI4MjAyNmZmOTNlZjY4ZmIuLjE2YmJhZWQyNmNiZWRkZjQ3ZDEy
YzQ2ODE3NjM1YzRhM2M4MDRkYjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yQ29udHJvbGxlci5jcHAKQEAgLTI3MSw4ICsyNzEsOCBAQCB2b2lkIEluc3BlY3Rv
ckNvbnRyb2xsZXI6OmNsb3NlKCkKIHsKICAgICBpZiAoIW1faW5zcGVjdG9yRnJvbnRlbmQpCiAg
ICAgICAgIHJldHVybjsKLSAgICBtX2luc3BlY3RvckZyb250ZW5kLT5pbnNwZWN0b3IoKS0+ZGlz
Y29ubmVjdEZyb21CYWNrZW5kKCk7CiAgICAgZGlzY29ubmVjdEZyb250ZW5kKCk7CisgICAgbV9p
bnNwZWN0b3JDbGllbnQtPmNsb3NlSW5zcGVjdG9yRnJvbnRlbmQoKTsKIH0KIAogdm9pZCBJbnNw
ZWN0b3JDb250cm9sbGVyOjpyZXN0b3JlSW5zcGVjdG9yU3RhdGVGcm9tQ29va2llKGNvbnN0IFN0
cmluZyYgaW5zcGVjdG9yU3RhdGVDb29raWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudC5oCmluZGV4IGJjOGExMzUwYTdjZjM4YTFmMGFl
ZGVjYTE0OTUzZWE3NzY1ODRkYTEuLjc4ZGJiYWFjZmJlN2FiMzU0NGIxYzVlNzhmMGE4ZGNhN2Ix
M2JhMjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9u
dGVuZENsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9u
dGVuZENsaWVudC5oCkBAIC01Myw3ICs1Myw2IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9p
ZCBicmluZ1RvRnJvbnQoKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGNsb3NlV2luZG93KCkgPSAw
OwotICAgIHZpcnR1YWwgdm9pZCBkaXNjb25uZWN0RnJvbUJhY2tlbmQoKSA9IDA7CiAKICAgICB2
aXJ0dWFsIHZvaWQgcmVxdWVzdEF0dGFjaFdpbmRvdygpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQg
cmVxdWVzdERldGFjaFdpbmRvdygpID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHAKaW5kZXggOWY0OWI0ZGQzNGYzYWI4ZWEyOTcz
NzA0OTEwNGNhNDVjMWY1MDVkMC4uMGNlMmRiNWJjNDE0MzQ5ZDUxNDgyMTNhNDBiNmE0NTUwNGE3
MDk4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250
ZW5kSG9zdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250
ZW5kSG9zdC5jcHAKQEAgLTE2OSwxNCArMTY5LDYgQEAgdm9pZCBJbnNwZWN0b3JGcm9udGVuZEhv
c3Q6OmNsb3NlV2luZG93KCkKICAgICB9CiB9CiAKLXZvaWQgSW5zcGVjdG9yRnJvbnRlbmRIb3N0
OjpkaXNjb25uZWN0RnJvbUJhY2tlbmQoKQotewotICAgIGlmIChtX2NsaWVudCkgewotICAgICAg
ICBtX2NsaWVudC0+ZGlzY29ubmVjdEZyb21CYWNrZW5kKCk7Ci0gICAgICAgIGRpc2Nvbm5lY3RD
bGllbnQoKTsgLy8gRGlzY29ubmVjdCBmcm9tIGNsaWVudC4KLSAgICB9Ci19Ci0KIHZvaWQgSW5z
cGVjdG9yRnJvbnRlbmRIb3N0OjpicmluZ1RvRnJvbnQoKQogewogICAgIGlmIChtX2NsaWVudCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhv
c3QuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuaApp
bmRleCA5N2I1NThjZGRmZmFlYzU3NjNmMDM1YmMxYzVmZTc1MWIwZTgzOTc2Li4xZDA3NjlhYWM0
NWFiN2Q0Y2M0OTk3ZjFiZWY0NDEyZTQyNmFmNzRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5oCkBAIC02MSw3ICs2MSw2IEBAIHB1Ymxp
YzoKICAgICB2b2lkIHJlcXVlc3RBdHRhY2hXaW5kb3coKTsKICAgICB2b2lkIHJlcXVlc3REZXRh
Y2hXaW5kb3coKTsKICAgICB2b2lkIGNsb3NlV2luZG93KCk7Ci0gICAgdm9pZCBkaXNjb25uZWN0
RnJvbUJhY2tlbmQoKTsKICAgICB2b2lkIGJyaW5nVG9Gcm9udCgpOwogICAgIHZvaWQgaW5zcGVj
dGVkVVJMQ2hhbmdlZChjb25zdCBTdHJpbmcmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmlkbAppbmRleCBkYjk0MzZiZDc4NzYxNWY3
YTY0NWQ1NDk5ODE3MWZkZTY4MGE4MzE3Li5hZmVmZDQ2Mzg3NTU0YzkxNWU2MGQxMTY0ZTY1MzBi
Y2VhODY4YzQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
RnJvbnRlbmRIb3N0LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
RnJvbnRlbmRIb3N0LmlkbApAQCAtMzYsNyArMzYsNiBAQCBtb2R1bGUgY29yZSB7CiAgICAgXSBJ
bnNwZWN0b3JGcm9udGVuZEhvc3QgewogICAgICAgICB2b2lkIGxvYWRlZCgpOwogICAgICAgICB2
b2lkIGNsb3NlV2luZG93KCk7Ci0gICAgICAgIHZvaWQgZGlzY29ubmVjdEZyb21CYWNrZW5kKCk7
CiAgICAgICAgIHZvaWQgYnJpbmdUb0Zyb250KCk7CiAgICAgICAgIHZvaWQgaW5zcGVjdGVkVVJM
Q2hhbmdlZChpbiBET01TdHJpbmcgbmV3VVJMKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9JbnNwZWN0b3JGcm9udGVuZEhvc3RTdHViLmpzIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9JbnNwZWN0b3JGcm9udGVuZEhvc3RTdHVi
LmpzCmluZGV4IDU5MGUwNTVmNjFmNjA1ZTkzOGM4ZTljMDljOGYxYzUzYWYyY2Y0NGYuLmVhNjAz
ZTdkNzU2NzI0M2VjNzY3YTNiMjAxOTM0ZDU3NTFhMWFhZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSW5zcGVjdG9yRnJvbnRlbmRIb3N0U3R1Yi5qcwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0luc3BlY3RvckZyb250ZW5k
SG9zdFN0dWIuanMKQEAgLTY1LDExICs2NSw2IEBAIFdlYkluc3BlY3Rvci5JbnNwZWN0b3JGcm9u
dGVuZEhvc3RTdHViLnByb3RvdHlwZSA9IHsKICAgICAgICAgdGhpcy5fd2luZG93VmlzaWJsZSA9
IGZhbHNlOwogICAgIH0sCiAKLSAgICBkaXNjb25uZWN0RnJvbUJhY2tlbmQ6IGZ1bmN0aW9uKCkK
LSAgICB7Ci0gICAgICAgIHRoaXMuX3dpbmRvd1Zpc2libGUgPSBmYWxzZTsKLSAgICB9LAotCiAg
ICAgYXR0YWNoOiBmdW5jdGlvbigpCiAgICAgewogICAgIH0sCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qcyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzCmluZGV4IGU3Nzg3ZTZiN2I0ZTEzZmM1
NzMxODBmYmMzNGQ0ZmRhYzUzMTc4MTcuLmI3MmE2YjRmMTQxZDBiMjkxM2EzMjQxYTAyZTJkMzk2
NjlmYWY1MTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
aW5zcGVjdG9yLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5z
cGVjdG9yLmpzCkBAIC00NjYsMTIgKzQ2Niw5IEBAIFdlYkluc3BlY3Rvci5jbG9zZSA9IGZ1bmN0
aW9uKGV2ZW50KQogICAgIEluc3BlY3RvckZyb250ZW5kSG9zdC5jbG9zZVdpbmRvdygpOwogfQog
Ci1XZWJJbnNwZWN0b3IuZGlzY29ubmVjdEZyb21CYWNrZW5kID0gZnVuY3Rpb24oKQorV2ViSW5z
cGVjdG9yLmRpc2Nvbm5lY3RGcm9tV29ya2VyID0gZnVuY3Rpb24oKQogewotICAgIGlmIChXZWJJ
bnNwZWN0b3IuV29ya2VyTWFuYWdlci5pc1dvcmtlckZyb250ZW5kKCkpCi0gICAgICAgIFdlYklu
c3BlY3Rvci5Xb3JrZXJNYW5hZ2VyLnNob3dXb3JrZXJUZXJtaW5hdGVkU2NyZWVuKCk7Ci0gICAg
ZWxzZQotICAgICAgICBJbnNwZWN0b3JGcm9udGVuZEhvc3QuZGlzY29ubmVjdEZyb21CYWNrZW5k
KCk7CisgICAgV2ViSW5zcGVjdG9yLldvcmtlck1hbmFnZXIuc2hvd1dvcmtlclRlcm1pbmF0ZWRT
Y3JlZW4oKTsKIH0KIAogV2ViSW5zcGVjdG9yLmRvY3VtZW50Q2xpY2sgPSBmdW5jdGlvbihldmVu
dCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaCBiL1Nv
dXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaAppbmRleCA0MDA0NWEzMTJmZjlmZjAw
ZWQzMTljNTc2MmFkMWE0ZDgxNDgwMTFhLi4zZjhhOGE2YWI2YTM3MTE2NjYxNmZhYmYzNTVkYzlm
MTU3NjQxZDczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRz
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCkBAIC01OTAsNiAr
NTkwLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBpbnNwZWN0b3JEZXN0cm95ZWQoKSB7
IH0KICAgICAKICAgICB2aXJ0dWFsIHZvaWQgb3Blbkluc3BlY3RvckZyb250ZW5kKEluc3BlY3Rv
ckNvbnRyb2xsZXIqKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgY2xvc2VJbnNwZWN0b3JGcm9udGVu
ZCgpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBicmluZ0Zyb250ZW5kVG9Gcm9udCgpIHsgfQogCiAg
ICAgdmlydHVhbCB2b2lkIGhpZ2hsaWdodCgpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvSW5zcGVjdG9yQ2xpZW50SW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9JbnNwZWN0b3JDbGllbnRJbXBsLmNwcAppbmRleCBjOWFmN2I4ZTkzM2Q1MDg3
MzIwOTVmZDAzNTIxMzhkZmVlMjdlOWQwLi45ZjVhYWQxMGNlYTEwMDRmMGI0Yzc4NDhmN2U5MjIw
NGRmZjlhNWQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9JbnNwZWN0
b3JDbGllbnRJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9JbnNwZWN0
b3JDbGllbnRJbXBsLmNwcApAQCAtNjksNiArNjksMTIgQEAgdm9pZCBJbnNwZWN0b3JDbGllbnRJ
bXBsOjpvcGVuSW5zcGVjdG9yRnJvbnRlbmQoSW5zcGVjdG9yQ29udHJvbGxlciogY29udHJvbGxl
cikKICAgICAgICAgYWdlbnQtPm9wZW5JbnNwZWN0b3JGcm9udGVuZChjb250cm9sbGVyKTsKIH0K
IAordm9pZCBJbnNwZWN0b3JDbGllbnRJbXBsOjpjbG9zZUluc3BlY3RvckZyb250ZW5kKCkKK3sK
KyAgICBpZiAoV2ViRGV2VG9vbHNBZ2VudEltcGwqIGFnZW50ID0gZGV2VG9vbHNBZ2VudCgpKQor
ICAgICAgICBhZ2VudC0+Y2xvc2VJbnNwZWN0b3JGcm9udGVuZCgpOworfQorCiB2b2lkIEluc3Bl
Y3RvckNsaWVudEltcGw6OmJyaW5nRnJvbnRlbmRUb0Zyb250KCkKIHsKICAgICBpZiAoV2ViRGV2
VG9vbHNBZ2VudEltcGwqIGFnZW50ID0gZGV2VG9vbHNBZ2VudCgpKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvSW5zcGVjdG9yQ2xpZW50SW1wbC5oIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvSW5zcGVjdG9yQ2xpZW50SW1wbC5oCmluZGV4IDc0M2JkZTZhMGIy
YTBiZTAzZWYxZjNmNjA1Njc1YmEwMzAwYWYwNmYuLjBlOTAwYjVmZjM5MWQyZTkwZDc2M2VhOGM3
ZTUxNzkxYjI4NWU2Y2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0lu
c3BlY3RvckNsaWVudEltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9JbnNw
ZWN0b3JDbGllbnRJbXBsLmgKQEAgLTQ5LDYgKzQ5LDcgQEAgcHVibGljOgogICAgIC8vIEluc3Bl
Y3RvckNsaWVudCBtZXRob2RzOgogICAgIHZpcnR1YWwgdm9pZCBpbnNwZWN0b3JEZXN0cm95ZWQo
KTsKICAgICB2aXJ0dWFsIHZvaWQgb3Blbkluc3BlY3RvckZyb250ZW5kKFdlYkNvcmU6Okluc3Bl
Y3RvckNvbnRyb2xsZXIqKTsKKyAgICB2aXJ0dWFsIHZvaWQgY2xvc2VJbnNwZWN0b3JGcm9udGVu
ZCgpOwogICAgIHZpcnR1YWwgdm9pZCBicmluZ0Zyb250ZW5kVG9Gcm9udCgpOwogCiAgICAgdmly
dHVhbCB2b2lkIGhpZ2hsaWdodCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL0luc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbC5jcHAKaW5kZXggMTE0MDM2ZWZh
NTgzZGFhZTE1OGNlZjI1ZTgxNmJlMjM3NzFlMjZiMi4uYTYyYWM0OWQ3YjMxMmIxYzg2ZjA5NTgy
NTMxMTNmMDllMjk5NTgyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9JbnNwZWN0b3JGcm9udGVuZENsaWVudEltcGwuY3BwCkBAIC0xMDUsMTEgKzEwNSw2
IEBAIHZvaWQgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsOjpjbG9zZVdpbmRvdygpCiAgICAg
bV9jbGllbnQtPmNsb3NlV2luZG93KCk7CiB9CiAKLXZvaWQgSW5zcGVjdG9yRnJvbnRlbmRDbGll
bnRJbXBsOjpkaXNjb25uZWN0RnJvbUJhY2tlbmQoKQotewotICAgIG1fY2xpZW50LT5jbG9zZVdp
bmRvdygpOwotfQotCiB2b2lkIEluc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbDo6cmVxdWVzdEF0
dGFjaFdpbmRvdygpCiB7CiAgICAgbV9jbGllbnQtPnJlcXVlc3REb2NrV2luZG93KCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9JbnNwZWN0b3JGcm9udGVuZENsaWVu
dEltcGwuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0luc3BlY3RvckZyb250ZW5kQ2xp
ZW50SW1wbC5oCmluZGV4IGZkNDVmNWIyYjA4NjZiNWE2NDNiZTlhNGNlYWQxNWUzN2UyYmZhNGQu
LmYxNjUzNWNhZTJjMjEwZDBmN2YzMDgwYmRjNWU5MTI2MGRmZWU5NWMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0luc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbC5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0luc3BlY3RvckZyb250ZW5kQ2xpZW50SW1w
bC5oCkBAIC02MSw3ICs2MSw2IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBicmluZ1Rv
RnJvbnQoKTsKICAgICB2aXJ0dWFsIHZvaWQgY2xvc2VXaW5kb3coKTsKLSAgICB2aXJ0dWFsIHZv
aWQgZGlzY29ubmVjdEZyb21CYWNrZW5kKCk7CiAKICAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdEF0
dGFjaFdpbmRvdygpOwogICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0RGV0YWNoV2luZG93KCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEZXZUb29sc0FnZW50SW1w
bC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEZXZUb29sc0FnZW50SW1wbC5j
cHAKaW5kZXggZGQzMTM2MTQ0MmE0ZjIxNmNkZDE0ZjE5ZmIwMWViNDlhZGJhZGFlYS4uMTc1Yzg1
NmU3NDBhZmQ4MGQzMDFmZGZlZjNhOGRhYjI2M2RhMGU3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViRGV2VG9vbHNBZ2VudEltcGwuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRldlRvb2xzQWdlbnRJbXBsLmNwcApAQCAtMjY0LDYgKzI2
NCwxMCBAQCB2b2lkIFdlYkRldlRvb2xzQWdlbnRJbXBsOjpvcGVuSW5zcGVjdG9yRnJvbnRlbmQo
SW5zcGVjdG9yQ29udHJvbGxlciopCiB7CiB9CiAKK3ZvaWQgV2ViRGV2VG9vbHNBZ2VudEltcGw6
OmNsb3NlSW5zcGVjdG9yRnJvbnRlbmQoKQoreworfQorCiB2b2lkIFdlYkRldlRvb2xzQWdlbnRJ
bXBsOjpicmluZ0Zyb250ZW5kVG9Gcm9udCgpCiB7CiB9CkBAIC0zODEsNyArMzg1LDcgQEAgV2Vi
U3RyaW5nIFdlYkRldlRvb2xzQWdlbnQ6OmRpc2Nvbm5lY3RFdmVudEFzVGV4dCgpCiAgICAgICAg
IFN0cmluZyBtX21lc3NhZ2U7CiAgICAgfSBjaGFubmVsOwogICAgIEluc3BlY3RvckZyb250ZW5k
OjpJbnNwZWN0b3IgaW5zcGVjdG9yKCZjaGFubmVsKTsKLSAgICBpbnNwZWN0b3IuZGlzY29ubmVj
dEZyb21CYWNrZW5kKCk7CisgICAgaW5zcGVjdG9yLmRpc2Nvbm5lY3RGcm9tV29ya2VyKCk7CiAg
ICAgcmV0dXJuIGNoYW5uZWwubV9tZXNzYWdlOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJEZXZUb29sc0FnZW50SW1wbC5oIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvV2ViRGV2VG9vbHNBZ2VudEltcGwuaAppbmRleCA2M2Y3OWFiYzhhNWQwYjdm
Nzg2ZTFhZmYyZjg0Y2RiMzhjZDgzYmExLi45MWE4ODkxOWYyYjhiYzIwNGJjMDc5OWMxM2FjMzNh
ZjE2OTM3ZWE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEZXZU
b29sc0FnZW50SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRldlRv
b2xzQWdlbnRJbXBsLmgKQEAgLTg1LDYgKzg1LDggQEAgcHVibGljOgogICAgIC8vIEluc3BlY3Rv
ckNsaWVudCBpbXBsZW1lbnRhdGlvbi4KICAgICB2aXJ0dWFsIHZvaWQgaW5zcGVjdG9yRGVzdHJv
eWVkKCk7CiAgICAgdmlydHVhbCB2b2lkIG9wZW5JbnNwZWN0b3JGcm9udGVuZChXZWJDb3JlOjpJ
bnNwZWN0b3JDb250cm9sbGVyKik7CisgICAgdmlydHVhbCB2b2lkIGNsb3NlSW5zcGVjdG9yRnJv
bnRlbmQoKTsKKwogICAgIHZpcnR1YWwgdm9pZCBicmluZ0Zyb250ZW5kVG9Gcm9udCgpOwogICAg
IHZpcnR1YWwgdm9pZCBoaWdobGlnaHQoKTsKICAgICB2aXJ0dWFsIHZvaWQgaGlkZUhpZ2hsaWdo
dCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvSW5zcGVj
dG9yQ2xpZW50RWZsLmNwcCBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0luc3Bl
Y3RvckNsaWVudEVmbC5jcHAKaW5kZXggMTUxNDdkNjhmOWVkMzFjMTBhMDJlODgzODU3ZDhhNzRk
MmY3NTFjNy4uN2UyOTc1OGJkZDExNzE5NGI1Mjg0ZWU1Y2RiOTQ3OTgxNzA4Zjg5NSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvSW5zcGVjdG9yQ2xpZW50RWZs
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9JbnNwZWN0b3JDbGll
bnRFZmwuY3BwCkBAIC0zOCw2ICszOCwxMSBAQCB2b2lkIEluc3BlY3RvckNsaWVudEVmbDo6b3Bl
bkluc3BlY3RvckZyb250ZW5kKEluc3BlY3RvckNvbnRyb2xsZXIqKQogICAgIG5vdEltcGxlbWVu
dGVkKCk7CiB9CiAKK3ZvaWQgSW5zcGVjdG9yQ2xpZW50RWZsOjpjbG9zZUluc3BlY3RvckZyb250
ZW5kKCkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCiB2b2lkIEluc3BlY3RvckNsaWVu
dEVmbDo6YnJpbmdGcm9udGVuZFRvRnJvbnQoKQogewogICAgIG5vdEltcGxlbWVudGVkKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9JbnNwZWN0b3JDbGll
bnRFZmwuaCBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0luc3BlY3RvckNsaWVu
dEVmbC5oCmluZGV4IGU5MWQ5NDM5ZWM5MTNkZTFhOTg5MTBmNTg1MjQ3ZDhiMmMyYzNiN2YuLmY5
MmU5NGRkYTgxM2M1YjcyOWUwNzlmM2Y2NzFiMzU4ZTFmZjY5YjEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0luc3BlY3RvckNsaWVudEVmbC5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0luc3BlY3RvckNsaWVudEVmbC5oCkBAIC00
Myw2ICs0Myw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgaW5zcGVjdG9yRGVzdHJveWVk
KCk7CiAKICAgICB2aXJ0dWFsIHZvaWQgb3Blbkluc3BlY3RvckZyb250ZW5kKEluc3BlY3RvckNv
bnRyb2xsZXIqKTsKKyAgICB2aXJ0dWFsIHZvaWQgY2xvc2VJbnNwZWN0b3JGcm9udGVuZCgpOwog
ICAgIHZpcnR1YWwgdm9pZCBicmluZ0Zyb250ZW5kVG9Gcm9udCgpOwogCiAgICAgdmlydHVhbCB2
b2lkIGhpZ2hsaWdodCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1
cHBvcnQvSW5zcGVjdG9yQ2xpZW50R3RrLmNwcCBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVT
dXBwb3J0L0luc3BlY3RvckNsaWVudEd0ay5jcHAKaW5kZXggZTE1YjkwNGFmMzllM2MyODU2YzQ2
ZDhiMmE3NjI1YTJiNGZhMzAxNS4uMmU1NWNhM2NiNmIyN2IyMWMxMmU2Yzc3NzdmZjMyYzdlZjFj
OWU3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvSW5zcGVj
dG9yQ2xpZW50R3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9J
bnNwZWN0b3JDbGllbnRHdGsuY3BwCkBAIC0xMTcsNiArMTE3LDcgQEAgSW5zcGVjdG9yQ2xpZW50
Ojp+SW5zcGVjdG9yQ2xpZW50KCkKIAogdm9pZCBJbnNwZWN0b3JDbGllbnQ6Omluc3BlY3RvckRl
c3Ryb3llZCgpCiB7CisgICAgY2xvc2VJbnNwZWN0b3JGcm9udGVuZCgpOwogICAgIGRlbGV0ZSB0
aGlzOwogfQogCkBAIC0xNTYsNiArMTU3LDEyIEBAIHZvaWQgSW5zcGVjdG9yQ2xpZW50OjpvcGVu
SW5zcGVjdG9yRnJvbnRlbmQoSW5zcGVjdG9yQ29udHJvbGxlciogY29udHJvbGxlcikKICAgICBt
X2Zyb250ZW5kUGFnZS0+c2V0R3JvdXBOYW1lKCIiKTsKIH0KIAordm9pZCBJbnNwZWN0b3JDbGll
bnQ6OmNsb3NlSW5zcGVjdG9yRnJvbnRlbmQoKQoreworICAgIGlmIChtX2Zyb250ZW5kQ2xpZW50
KQorICAgICAgICBtX2Zyb250ZW5kQ2xpZW50LT5kZXN0cm95SW5zcGVjdG9yV2luZG93KGZhbHNl
KTsKK30KKwogdm9pZCBJbnNwZWN0b3JDbGllbnQ6OmJyaW5nRnJvbnRlbmRUb0Zyb250KCkKIHsK
ICAgICBtX2Zyb250ZW5kQ2xpZW50LT5icmluZ1RvRnJvbnQoKTsKQEAgLTI3NSwxMSArMjgyLDYg
QEAgdm9pZCBJbnNwZWN0b3JGcm9udGVuZENsaWVudDo6Y2xvc2VXaW5kb3coKQogICAgIGRlc3Ry
b3lJbnNwZWN0b3JXaW5kb3codHJ1ZSk7CiB9CiAKLXZvaWQgSW5zcGVjdG9yRnJvbnRlbmRDbGll
bnQ6OmRpc2Nvbm5lY3RGcm9tQmFja2VuZCgpCi17Ci0gICAgZGVzdHJveUluc3BlY3RvcldpbmRv
dyhmYWxzZSk7Ci19Ci0KIHZvaWQgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ6OmF0dGFjaFdpbmRv
dygpCiB7CiAgICAgaWYgKCFtX2luc3BlY3RvcldlYlZpZXcpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9JbnNwZWN0b3JDbGllbnRHdGsuaCBiL1NvdXJjZS9X
ZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0luc3BlY3RvckNsaWVudEd0ay5oCmluZGV4IDE1OGIw
MWZkMjcyYzQwOGY3MmJlMGRmNWNmYzIxNTVhNzhlMWQ0MDUuLmM2OTJlOGYxOTJjMGM0NTkyNTE5
YzM5YmNhOTVlYTA1YWQwZDY2OWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNv
cmVTdXBwb3J0L0luc3BlY3RvckNsaWVudEd0ay5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dl
YkNvcmVTdXBwb3J0L0luc3BlY3RvckNsaWVudEd0ay5oCkBAIC01NCw2ICs1NCw3IEBAIG5hbWVz
cGFjZSBXZWJLaXQgewogICAgICAgICB2aXJ0dWFsIHZvaWQgaW5zcGVjdG9yRGVzdHJveWVkKCk7
CiAKICAgICAgICAgdmlydHVhbCB2b2lkIG9wZW5JbnNwZWN0b3JGcm9udGVuZChXZWJDb3JlOjpJ
bnNwZWN0b3JDb250cm9sbGVyKik7CisgICAgICAgIHZpcnR1YWwgdm9pZCBjbG9zZUluc3BlY3Rv
ckZyb250ZW5kKCk7CiAgICAgICAgIHZpcnR1YWwgdm9pZCBicmluZ0Zyb250ZW5kVG9Gcm9udCgp
OwogCiAgICAgICAgIHZpcnR1YWwgdm9pZCBoaWdobGlnaHQoKTsKQEAgLTg2LDcgKzg3LDYgQEAg
bmFtZXNwYWNlIFdlYktpdCB7CiAKICAgICAgICAgdmlydHVhbCB2b2lkIGJyaW5nVG9Gcm9udCgp
OwogICAgICAgICB2aXJ0dWFsIHZvaWQgY2xvc2VXaW5kb3coKTsKLSAgICAgICAgdmlydHVhbCB2
b2lkIGRpc2Nvbm5lY3RGcm9tQmFja2VuZCgpOwogCiAgICAgICAgIHZpcnR1YWwgdm9pZCBhdHRh
Y2hXaW5kb3coKTsKICAgICAgICAgdmlydHVhbCB2b2lkIGRldGFjaFdpbmRvdygpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50
LmggYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQu
aAppbmRleCA2ZmRlODg2NDEyMDUxYzE0MjU4MTM5NTcxYTY3ZmY1OGYxY2I3YmFmLi41Mjg4MGJk
ZWMyOWMzMTcwY2Y0OGY0NGQzYjhiNWM5MzU5MDQxY2FlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuaApAQCAtNTEsNiAr
NTEsOCBAQCBjbGFzcyBQYWdlOwogCiB9CiAKK2NsYXNzIFdlYkluc3BlY3RvckZyb250ZW5kQ2xp
ZW50OworCiBjbGFzcyBXZWJJbnNwZWN0b3JDbGllbnQgOiBwdWJsaWMgV2ViQ29yZTo6SW5zcGVj
dG9yQ2xpZW50IHsKIHB1YmxpYzoKICAgICBXZWJJbnNwZWN0b3JDbGllbnQoV2ViVmlldyAqKTsK
QEAgLTU4LDYgKzYwLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBpbnNwZWN0b3JEZXN0
cm95ZWQoKSBPVkVSUklERTsKIAogICAgIHZpcnR1YWwgdm9pZCBvcGVuSW5zcGVjdG9yRnJvbnRl
bmQoV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxlciopIE9WRVJSSURFOworICAgIHZpcnR1YWwg
dm9pZCBjbG9zZUluc3BlY3RvckZyb250ZW5kKCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lk
IGJyaW5nRnJvbnRlbmRUb0Zyb250KCkgT1ZFUlJJREU7CiAKICAgICB2aXJ0dWFsIHZvaWQgaGln
aGxpZ2h0KCkgT1ZFUlJJREU7CkBAIC03Niw3ICs3OSw3IEBAIHByaXZhdGU6CiAgICAgV2ViVmll
dyAqbV93ZWJWaWV3OwogICAgIFJldGFpblB0cjxXZWJOb2RlSGlnaGxpZ2h0ZXI+IG1faGlnaGxp
Z2h0ZXI7CiAgICAgV2ViQ29yZTo6UGFnZSogbV9mcm9udGVuZFBhZ2U7Ci0gICAgV2ViQ29yZTo6
SW5zcGVjdG9yRnJvbnRlbmRDbGllbnQqIG1fZnJvbnRlbmRDbGllbnQ7CisgICAgV2ViSW5zcGVj
dG9yRnJvbnRlbmRDbGllbnQqIG1fZnJvbnRlbmRDbGllbnQ7CiB9OwogCiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5tbSBi
L1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5tbQpp
bmRleCBhYjg3YzExNTVlNjViMjRjOGYwODFhOTVkOTAzM2Y1NTk1Y2ExN2Y1Li5jZTg4MWE1ZjFl
NTU1MGFkMWNkNzUwMWQ1MWUyMzBkNzE5MDc1MDIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQubW0KKysrIGIvU291cmNlL1dl
YktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50Lm1tCkBAIC04Myw2ICs4
Myw3IEBAIFdlYkluc3BlY3RvckNsaWVudDo6V2ViSW5zcGVjdG9yQ2xpZW50KFdlYlZpZXcgKndl
YlZpZXcpCiAKIHZvaWQgV2ViSW5zcGVjdG9yQ2xpZW50OjppbnNwZWN0b3JEZXN0cm95ZWQoKQog
eworICAgIGNsb3NlSW5zcGVjdG9yRnJvbnRlbmQoKTsKICAgICBkZWxldGUgdGhpczsKIH0KIApA
QCAtOTksNiArMTAwLDEyIEBAIHZvaWQgV2ViSW5zcGVjdG9yQ2xpZW50OjpvcGVuSW5zcGVjdG9y
RnJvbnRlbmQoSW5zcGVjdG9yQ29udHJvbGxlciogaW5zcGVjdG9yQ29uCiAgICAgbV9mcm9udGVu
ZFBhZ2UtPmluc3BlY3RvckNvbnRyb2xsZXIoKS0+c2V0SW5zcGVjdG9yRnJvbnRlbmRDbGllbnQo
ZnJvbnRlbmRDbGllbnQucmVsZWFzZSgpKTsKIH0KIAordm9pZCBXZWJJbnNwZWN0b3JDbGllbnQ6
OmNsb3NlSW5zcGVjdG9yRnJvbnRlbmQoKQoreworICAgIGlmIChtX2Zyb250ZW5kQ2xpZW50KQor
ICAgICAgICBtX2Zyb250ZW5kQ2xpZW50LT5kaXNjb25uZWN0RnJvbUJhY2tlbmQoKTsKK30KKwog
dm9pZCBXZWJJbnNwZWN0b3JDbGllbnQ6OmJyaW5nRnJvbnRlbmRUb0Zyb250KCkKIHsKICAgICBt
X2Zyb250ZW5kQ2xpZW50LT5icmluZ1RvRnJvbnQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvcXQvV2ViQ29yZVN1cHBvcnQvSW5zcGVjdG9yQ2xpZW50UXQuY3BwIGIvU291cmNlL1dlYktp
dC9xdC9XZWJDb3JlU3VwcG9ydC9JbnNwZWN0b3JDbGllbnRRdC5jcHAKaW5kZXggMzZiNDdkNThk
OGQ4M2Q3ZmFiZjUzZWQwZDY2MDU5NGY3NTJhNTNjNC4uZmRiNmRhMzNhZThiMGQ2ZDdiNDBlMGZj
NGVmMjExNjk0NWU4ZjJlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3Vw
cG9ydC9JbnNwZWN0b3JDbGllbnRRdC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3Jl
U3VwcG9ydC9JbnNwZWN0b3JDbGllbnRRdC5jcHAKQEAgLTE4OSw4ICsxODksNyBAQCBJbnNwZWN0
b3JDbGllbnRRdDo6SW5zcGVjdG9yQ2xpZW50UXQoUVdlYlBhZ2UqIHBhZ2UpCiB2b2lkIEluc3Bl
Y3RvckNsaWVudFF0OjppbnNwZWN0b3JEZXN0cm95ZWQoKQogewogI2lmIEVOQUJMRShJTlNQRUNU
T1IpCi0gICAgaWYgKG1fZnJvbnRlbmRDbGllbnQpCi0gICAgICAgIG1fZnJvbnRlbmRDbGllbnQt
Pmluc3BlY3RvckNsaWVudERlc3Ryb3llZCgpOworICAgIGNsb3NlSW5zcGVjdG9yRnJvbnRlbmQo
KTsKIAogICAgIEluc3BlY3RvclNlcnZlclF0KiB3ZWJJbnNwZWN0b3JTZXJ2ZXIgPSBJbnNwZWN0
b3JTZXJ2ZXJRdDo6c2VydmVyKCk7CiAgICAgaWYgKHdlYkluc3BlY3RvclNlcnZlcikKQEAgLTI0
Myw2ICsyNDIsMTIgQEAgdm9pZCBJbnNwZWN0b3JDbGllbnRRdDo6b3Blbkluc3BlY3RvckZyb250
ZW5kKFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXIqIGluc3AKICNlbmRpZgogfQogCit2b2lk
IEluc3BlY3RvckNsaWVudFF0OjpjbG9zZUluc3BlY3RvckZyb250ZW5kKCkKK3sKKyAgICBpZiAo
bV9mcm9udGVuZENsaWVudCkKKyAgICAgICAgbV9mcm9udGVuZENsaWVudC0+aW5zcGVjdG9yQ2xp
ZW50RGVzdHJveWVkKCk7Cit9CisKIHZvaWQgSW5zcGVjdG9yQ2xpZW50UXQ6OmJyaW5nRnJvbnRl
bmRUb0Zyb250KCkKIHsKICAgICBtX2Zyb250ZW5kQ2xpZW50LT5icmluZ1RvRnJvbnQoKTsKQEAg
LTM0OCwxMSArMzUzLDYgQEAgdm9pZCBJbnNwZWN0b3JGcm9udGVuZENsaWVudFF0OjpjbG9zZVdp
bmRvdygpCiAgICAgZGVzdHJveUluc3BlY3RvclZpZXcodHJ1ZSk7CiB9CiAKLXZvaWQgSW5zcGVj
dG9yRnJvbnRlbmRDbGllbnRRdDo6ZGlzY29ubmVjdEZyb21CYWNrZW5kKCkKLXsKLSAgICBkZXN0
cm95SW5zcGVjdG9yVmlldyhmYWxzZSk7Ci19Ci0KIHZvaWQgSW5zcGVjdG9yRnJvbnRlbmRDbGll
bnRRdDo6YXR0YWNoV2luZG93KCkKIHsKICAgICBub3RJbXBsZW1lbnRlZCgpOwpAQCAtNDA3LDYg
KzQwNyw3IEBAIHZvaWQgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRRdDo6ZGVzdHJveUluc3BlY3Rv
clZpZXcoYm9vbCBub3RpZnlJbnNwZWN0b3JDb250cm9sCiAKIHZvaWQgSW5zcGVjdG9yRnJvbnRl
bmRDbGllbnRRdDo6aW5zcGVjdG9yQ2xpZW50RGVzdHJveWVkKCkKIHsKKyAgICBkZXN0cm95SW5z
cGVjdG9yVmlldyhmYWxzZSk7CiAgICAgbV9pbnNwZWN0b3JDbGllbnQgPSAwOwogICAgIG1faW5z
cGVjdGVkV2ViUGFnZSA9IDA7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNv
cmVTdXBwb3J0L0luc3BlY3RvckNsaWVudFF0LmggYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVT
dXBwb3J0L0luc3BlY3RvckNsaWVudFF0LmgKaW5kZXggYzY0OWM2YjIwZmVkODVlNDNlNTlmM2Ix
NDBjZjA5ZmQ0ZTExMTFlYi4uYzk0ZDYxYTMyOTQwYTZhNDNkNTZlOWRlZTllNDE4MjhiN2QyNDFk
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9JbnNwZWN0b3JD
bGllbnRRdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvSW5zcGVjdG9y
Q2xpZW50UXQuaApAQCAtNTIsNiArNTIsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGlu
c3BlY3RvckRlc3Ryb3llZCgpOwogCiAgICAgdmlydHVhbCB2b2lkIG9wZW5JbnNwZWN0b3JGcm9u
dGVuZChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVyKik7CisgICAgdmlydHVhbCB2b2lkIGNs
b3NlSW5zcGVjdG9yRnJvbnRlbmQoKTsKICAgICB2aXJ0dWFsIHZvaWQgYnJpbmdGcm9udGVuZFRv
RnJvbnQoKTsKIAogICAgIHZpcnR1YWwgdm9pZCBoaWdobGlnaHQoKTsKQEAgLTg3LDcgKzg4LDYg
QEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIGJyaW5nVG9Gcm9udCgpOwogICAgIHZpcnR1
YWwgdm9pZCBjbG9zZVdpbmRvdygpOwotICAgIHZpcnR1YWwgdm9pZCBkaXNjb25uZWN0RnJvbUJh
Y2tlbmQoKTsKIAogICAgIHZpcnR1YWwgdm9pZCBhdHRhY2hXaW5kb3coKTsKICAgICB2aXJ0dWFs
IHZvaWQgZGV0YWNoV2luZG93KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJD
b3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdC93aW4vV2Vi
Q29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50LmNwcAppbmRleCBmNWUyZjM4MTRjMjNmZTMw
NjUwYjYyZDU3M2UxZTgxZWFmNGRiMjIwLi5mMWVhYWVjYWU0ODhjZTQwMWIzM2I0YjM0ZWQ2YWM4
OGUxNzM0YzBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9X
ZWJJbnNwZWN0b3JDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBw
b3J0L1dlYkluc3BlY3RvckNsaWVudC5jcHAKQEAgLTgyLDYgKzgyLDcgQEAgV2ViSW5zcGVjdG9y
Q2xpZW50Ojp+V2ViSW5zcGVjdG9yQ2xpZW50KCkKIAogdm9pZCBXZWJJbnNwZWN0b3JDbGllbnQ6
Omluc3BlY3RvckRlc3Ryb3llZCgpCiB7CisgICAgY2xvc2VJbnNwZWN0b3JGcm9udGVuZCgpOwog
ICAgIGRlbGV0ZSB0aGlzOwogfQogCkBAIC0xNzgsNiArMTc5LDEyIEBAIHZvaWQgV2ViSW5zcGVj
dG9yQ2xpZW50OjpvcGVuSW5zcGVjdG9yRnJvbnRlbmQoSW5zcGVjdG9yQ29udHJvbGxlciogaW5z
cGVjdG9yQ29uCiAgICAgbV9mcm9udGVuZEh3bmQgPSBmcm9udGVuZEh3bmQ7CiB9CiAKK3ZvaWQg
V2ViSW5zcGVjdG9yQ2xpZW50OjpjbG9zZUluc3BlY3RvckZyb250ZW5kKCkKK3sKKyAgICBpZiAo
bV9mcm9udGVuZENsaWVudCkKKyAgICAgICAgbV9mcm9udGVuZENsaWVudC0+ZGVzdHJveUluc3Bl
Y3RvclZpZXcoZmFsc2UpOworfQorCiB2b2lkIFdlYkluc3BlY3RvckNsaWVudDo6YnJpbmdGcm9u
dGVuZFRvRnJvbnQoKQogewogICAgIG1fZnJvbnRlbmRDbGllbnQtPmJyaW5nVG9Gcm9udCgpOwpA
QCAtMjcxLDExICsyNzgsNiBAQCB2b2lkIFdlYkluc3BlY3RvckZyb250ZW5kQ2xpZW50OjpjbG9z
ZVdpbmRvdygpCiAgICAgZGVzdHJveUluc3BlY3RvclZpZXcodHJ1ZSk7CiB9CiAKLXZvaWQgV2Vi
SW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ6OmRpc2Nvbm5lY3RGcm9tQmFja2VuZCgpCi17Ci0gICAg
ZGVzdHJveUluc3BlY3RvclZpZXcoZmFsc2UpOwotfQotCiB2b2lkIFdlYkluc3BlY3RvckZyb250
ZW5kQ2xpZW50OjphdHRhY2hXaW5kb3coKQogewogICAgIGlmIChtX2F0dGFjaGVkKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50
LmggYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQu
aAppbmRleCAwYjljMWE0MTU0Njc5NTg3NzVjYmFhMTVmZmQ3YWY0NzQ2MjY0OTE2Li5hNDNmYmVi
NTAxZDE5ZmQ4NzhkZmJlMzBhYzhmNGI3MDViZGRkYTlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuaApAQCAtNTgsNiAr
NTgsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGluc3BlY3RvckRlc3Ryb3llZCgpOwog
CiAgICAgdmlydHVhbCB2b2lkIG9wZW5JbnNwZWN0b3JGcm9udGVuZChXZWJDb3JlOjpJbnNwZWN0
b3JDb250cm9sbGVyKik7CisgICAgdmlydHVhbCB2b2lkIGNsb3NlSW5zcGVjdG9yRnJvbnRlbmQo
KTsKICAgICB2aXJ0dWFsIHZvaWQgYnJpbmdGcm9udGVuZFRvRnJvbnQoKTsKIAogICAgIHZpcnR1
YWwgdm9pZCBoaWdobGlnaHQoKTsKQEAgLTExMywxMiArMTE0LDEyIEBAIHB1YmxpYzoKICAgICB2
aXJ0dWFsIHZvaWQgc2V0QXR0YWNoZWRXaW5kb3dIZWlnaHQodW5zaWduZWQgaGVpZ2h0KTsKICAg
ICB2aXJ0dWFsIHZvaWQgaW5zcGVjdGVkVVJMQ2hhbmdlZChjb25zdCBXVEY6OlN0cmluZyYgbmV3
VVJMKTsKIAorICAgIHZvaWQgZGVzdHJveUluc3BlY3RvclZpZXcoYm9vbCBub3RpZnlJbnNwZWN0
b3JDb250cm9sbGVyKTsKKwogcHJpdmF0ZToKICAgICB2b2lkIGNsb3NlV2luZG93V2l0aG91dE5v
dGlmaWNhdGlvbnMoKTsKICAgICB2b2lkIHNob3dXaW5kb3dXaXRob3V0Tm90aWZpY2F0aW9ucygp
OwogCi0gICAgdm9pZCBkZXN0cm95SW5zcGVjdG9yVmlldyhib29sIG5vdGlmeUluc3BlY3RvckNv
bnRyb2xsZXIpOwotCiAgICAgdm9pZCB1cGRhdGVXaW5kb3dUaXRsZSgpOwogCiAgICAgTFJFU1VM
VCBvbkdldE1pbk1heEluZm8oV1BBUkFNLCBMUEFSQU0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9JbnNwZWN0b3JDbGllbnRXaW5DRS5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L0luc3BlY3RvckNsaWVudFdpbkNFLmNwcApp
bmRleCBkYzdhY2M3NDdlNjE3Y2YzNDIxZmZkZTAwYzdhYWU5NTkzMWMyNDQ3Li41YmIzNGVmOGNk
MmZmYmM3MWZlYWQwYTZiNGFkMzhhMzE2NjU4MTI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L3dpbmNlL1dlYkNvcmVTdXBwb3J0L0luc3BlY3RvckNsaWVudFdpbkNFLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L0luc3BlY3RvckNsaWVudFdpbkNFLmNwcApA
QCAtNTAsNiArNTAsMTEgQEAgdm9pZCBJbnNwZWN0b3JDbGllbnRXaW5DRTo6b3Blbkluc3BlY3Rv
ckZyb250ZW5kKEluc3BlY3RvckNvbnRyb2xsZXIqIGNvbnRyb2xsZXIKICAgICBub3RJbXBsZW1l
bnRlZCgpOwogfQogCit2b2lkIEluc3BlY3RvckNsaWVudFdpbkNFOjpjbG9zZUluc3BlY3RvckZy
b250ZW5kKCkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCiB2b2lkIEluc3BlY3RvckNs
aWVudFdpbkNFOjpicmluZ0Zyb250ZW5kVG9Gcm9udCgpCiB7CiAgICAgbm90SW1wbGVtZW50ZWQo
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvSW5zcGVj
dG9yQ2xpZW50V2luQ0UuaCBiL1NvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvSW5z
cGVjdG9yQ2xpZW50V2luQ0UuaAppbmRleCBhNjA4MGFlNTlhZTVkMmU4OWQzNTJiZjUxYmVlNDEz
ZjU4ZmEyYzVjLi5kZmQ4MjMwM2E5YzJjZGVkMjExMzUyMTE3ZTA4ZGU2MWM3ZDVjOWI5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L0luc3BlY3RvckNsaWVu
dFdpbkNFLmgKKysrIGIvU291cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9JbnNwZWN0
b3JDbGllbnRXaW5DRS5oCkBAIC0zOSw2ICszOSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZv
aWQgaW5zcGVjdG9yRGVzdHJveWVkKCk7CiAKICAgICB2aXJ0dWFsIHZvaWQgb3Blbkluc3BlY3Rv
ckZyb250ZW5kKFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXIqKTsKKyAgICB2aXJ0dWFsIHZv
aWQgY2xvc2VJbnNwZWN0b3JGcm9udGVuZCgpOwogICAgIHZpcnR1YWwgdm9pZCBicmluZ0Zyb250
ZW5kVG9Gcm9udCgpOwogCiAgICAgdmlydHVhbCB2b2lkIGhpZ2hsaWdodCgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0L0luc3BlY3RvckNsaWVudFd4LmNwcCBi
L1NvdXJjZS9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9JbnNwZWN0b3JDbGllbnRXeC5jcHAKaW5k
ZXggZTNjNGRiYzJkNWI2ZmU4MjM2ZDdlZjkxMTY2ZmZiZWUzOGQwYWFmOS4uOGE0ZTc5MjdhYWUw
NWMwODBiYjE4ZjlhYmM5NThkN2UwN2NjOGM2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93
eC9XZWJLaXRTdXBwb3J0L0luc3BlY3RvckNsaWVudFd4LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L3d4L1dlYktpdFN1cHBvcnQvSW5zcGVjdG9yQ2xpZW50V3guY3BwCkBAIC01Miw2ICs1MiwxMSBA
QCB2b2lkIEluc3BlY3RvckNsaWVudFd4OjpvcGVuSW5zcGVjdG9yRnJvbnRlbmQoV2ViQ29yZTo6
SW5zcGVjdG9yQ29udHJvbGxlciopCiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KIAordm9pZCBJ
bnNwZWN0b3JDbGllbnRXeDo6Y2xvc2VJbnNwZWN0b3JGcm9udGVuZCgpCit7CisgICAgbm90SW1w
bGVtZW50ZWQoKTsKK30KKwogdm9pZCBJbnNwZWN0b3JDbGllbnRXeDo6YnJpbmdGcm9udGVuZFRv
RnJvbnQoKQogewogICAgIG5vdEltcGxlbWVudGVkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L3d4L1dlYktpdFN1cHBvcnQvSW5zcGVjdG9yQ2xpZW50V3guaCBiL1NvdXJjZS9XZWJLaXQv
d3gvV2ViS2l0U3VwcG9ydC9JbnNwZWN0b3JDbGllbnRXeC5oCmluZGV4IDAyOWMyMTY3YTFkNzA2
MjA0ZjVhNGJhODkzZjkyNmEzMzQ5ZTJhMDEuLmUxMGU2N2IyZTU1YjZiY2YwOGY2YjQyMjc4MzJi
MjUzMWQ4NDUwYTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9J
bnNwZWN0b3JDbGllbnRXeC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9J
bnNwZWN0b3JDbGllbnRXeC5oCkBAIC00MSw2ICs0MSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFs
IHZvaWQgaW5zcGVjdG9yRGVzdHJveWVkKCk7CiAKICAgICB2aXJ0dWFsIHZvaWQgb3Blbkluc3Bl
Y3RvckZyb250ZW5kKFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXIqKTsKKyAgICB2aXJ0dWFs
IHZvaWQgY2xvc2VJbnNwZWN0b3JGcm9udGVuZCgpOwogICAgIHZpcnR1YWwgdm9pZCBicmluZ0Zy
b250ZW5kVG9Gcm9udCgpOwogCiAgICAgdmlydHVhbCB2b2lkIGhpZ2hsaWdodCgpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0
b3JDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9X
ZWJJbnNwZWN0b3JDbGllbnQuY3BwCmluZGV4IDQ5MWVlNTc0MzcwOGMxNDJiZjBiMDIzNmVjODVk
ODI2YjhkMzAwOTkuLjU0YjQ3N2UwZjZhYTUxNWViMDc2OGZjYzQ2ZWQ2OWIxYTRmYjJhZDkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViSW5z
cGVjdG9yQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5jcHAKQEAgLTM5LDYgKzM5LDcgQEAgbmFtZXNwYWNl
IFdlYktpdCB7CiAKIHZvaWQgV2ViSW5zcGVjdG9yQ2xpZW50OjppbnNwZWN0b3JEZXN0cm95ZWQo
KQogeworICAgIGNsb3NlSW5zcGVjdG9yRnJvbnRlbmQoKTsKICAgICBkZWxldGUgdGhpczsKIH0K
IApAQCAtNDgsNiArNDksMTEgQEAgdm9pZCBXZWJJbnNwZWN0b3JDbGllbnQ6Om9wZW5JbnNwZWN0
b3JGcm9udGVuZChJbnNwZWN0b3JDb250cm9sbGVyKikKICAgICBBU1NFUlRfVU5VU0VEKGluc3Bl
Y3RvclBhZ2UsIGluc3BlY3RvclBhZ2UpOwogfQogCit2b2lkIFdlYkluc3BlY3RvckNsaWVudDo6
Y2xvc2VJbnNwZWN0b3JGcm9udGVuZCgpCit7CisgICAgbV9wYWdlLT5pbnNwZWN0b3IoKS0+ZGlk
Q2xvc2UoKTsKK30KKwogdm9pZCBXZWJJbnNwZWN0b3JDbGllbnQ6OmJyaW5nRnJvbnRlbmRUb0Zy
b250KCkKIHsKICAgICBtX3BhZ2UtPmluc3BlY3RvcigpLT5icmluZ1RvRnJvbnQoKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVj
dG9yQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
Ykluc3BlY3RvckNsaWVudC5oCmluZGV4IDg0OWFkMjI5MTg2ZTMxZmRhNmIzOTU1MWM1MWRjZDgx
MTM3YjU3YjMuLjM5NzAwMzAyNDE5Y2MzYzliZTRhM2FiNWM3YjFiNDBhNGYxZGJmMzggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVj
dG9yQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJJbnNwZWN0b3JDbGllbnQuaApAQCAtNTMsNiArNTMsNyBAQCBwcml2YXRlOgogICAgIHZp
cnR1YWwgdm9pZCBpbnNwZWN0b3JEZXN0cm95ZWQoKSBPVkVSUklERTsKIAogICAgIHZpcnR1YWwg
dm9pZCBvcGVuSW5zcGVjdG9yRnJvbnRlbmQoV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxlciop
IE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9pZCBjbG9zZUluc3BlY3RvckZyb250ZW5kKCkgT1ZF
UlJJREU7CiAgICAgdmlydHVhbCB2b2lkIGJyaW5nRnJvbnRlbmRUb0Zyb250KCkgT1ZFUlJJREU7
CiAKICAgICB2aXJ0dWFsIHZvaWQgaGlnaGxpZ2h0KCkgT1ZFUlJJREU7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckZyb250
ZW5kQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQuY3BwCmluZGV4IDhhOTgxOTUxOTdiZjM3YmFkZDRl
M2MyNTA5ZjA2YzI5MDIzNzY2YzUuLjA5ZTFkMzdjYzkyZTMyMWI4MzQ0YmFmNjljNGNhNDY5Y2M0
MjRiM2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvV2ViSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQuY3BwCkBA
IC03NCwxMSArNzQsNiBAQCB2b2lkIFdlYkluc3BlY3RvckZyb250ZW5kQ2xpZW50OjpjbG9zZVdp
bmRvdygpCiAgICAgbV9wYWdlLT5pbnNwZWN0b3IoKS0+ZGlkQ2xvc2UoKTsKIH0KIAotdm9pZCBX
ZWJJbnNwZWN0b3JGcm9udGVuZENsaWVudDo6ZGlzY29ubmVjdEZyb21CYWNrZW5kKCkKLXsKLSAg
ICBtX3BhZ2UtPmluc3BlY3RvcigpLT5kaWRDbG9zZSgpOwotfQotCiB2b2lkIFdlYkluc3BlY3Rv
ckZyb250ZW5kQ2xpZW50OjphdHRhY2hXaW5kb3coKQogewogICAgIG1fcGFnZS0+aW5zcGVjdG9y
KCktPmF0dGFjaCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJD
b3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JGcm9udGVuZENsaWVudC5oIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JGcm9udGVuZENsaWVudC5oCmlu
ZGV4IGQ4YjE3YmRhNTA1OGJjYjk1NTNkOTBhNThiNWQ1NjAyYmEwZTUyYzYuLjMxODNhYjAwYTg3
MDNmYWNmZWU0Y2JiYzdmMzgxZGNlYmVmZTcxMDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQuaAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3Rv
ckZyb250ZW5kQ2xpZW50LmgKQEAgLTQ2LDcgKzQ2LDYgQEAgcHJpdmF0ZToKIAogICAgIHZpcnR1
YWwgdm9pZCBicmluZ1RvRnJvbnQoKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgY2xvc2VX
aW5kb3coKSBPVkVSUklERTsKLSAgICB2aXJ0dWFsIHZvaWQgZGlzY29ubmVjdEZyb21CYWNrZW5k
KCkgT1ZFUlJJREU7CiAKICAgICB2aXJ0dWFsIHZvaWQgYXR0YWNoV2luZG93KCkgT1ZFUlJJREU7
CiAgICAgdmlydHVhbCB2b2lkIGRldGFjaFdpbmRvdygpIE9WRVJSSURFOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>116620</attachid>
            <date>2011-11-25 07:57:36 -0800</date>
            <delta_ts>2011-11-26 07:31:08 -0800</delta_ts>
            <desc>[Patch] rebaselined</desc>
            <filename>bug-73127-20111125195733.patch</filename>
            <type>text/plain</type>
            <size>32633</size>
            <attacher name="Pavel Feldman">pfeldman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAxMTczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2RkNzQwODFjY2NiMDdh
MTQyM2VkYzZhYTNlOGE4ZDM4YWZlMDE0Ny4uMjI1NTFmYzg2OWYyMDlhMmM1NjA5MDQwOGIzNDQ2
MzIzNTU3ZjViYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDExLTExLTI1ICBQYXZl
bCBGZWxkbWFuICA8cGZlbGRtYW5AZ29vZ2xlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9y
OiByZW1vdmUgZGlzY29ubmVjdEZyb21CYWNrZW5kIGZyb20gdGhlIHByb3RvY29sLgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxMjcKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGluc3BlY3Rvci9JbnNw
ZWN0b3IuanNvbjoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQWdlbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQWdlbnQ6Omluc3BlY3RlZFBhZ2VEZXN0cm95ZWQpOgor
ICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JDbGllbnQuaDoKKyAgICAgICAgKiBpbnNwZWN0
b3IvSW5zcGVjdG9yQ29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JD
b250cm9sbGVyOjpjbG9zZSk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5k
Q2xpZW50Lmg6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHA6
CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5oOgorICAgICAgICAq
IGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuaWRsOgorICAgICAgICAqIGluc3BlY3Rv
ci9mcm9udC1lbmQvSW5zcGVjdG9yRnJvbnRlbmRIb3N0U3R1Yi5qczoKKyAgICAgICAgKiBpbnNw
ZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5kaXNj
b25uZWN0RnJvbVdvcmtlcik6CisgICAgICAgICogbG9hZGVyL0VtcHR5Q2xpZW50cy5oOgorICAg
ICAgICAoV2ViQ29yZTo6RW1wdHlJbnNwZWN0b3JDbGllbnQ6OmNsb3NlSW5zcGVjdG9yRnJvbnRl
bmQpOgorCiAyMDExLTExLTI1ICBBbmRyZWFzIEtsaW5nICA8a2xpbmdAd2Via2l0Lm9yZz4KIAog
ICAgICAgICBGYWN0b3IgZWxlbWVudCBwb2ludGVyIG91dCBvZiBDU1NNdXRhYmxlU3R5bGVEZWNs
YXJhdGlvbi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggZjk4NDVlNWNlMzg1MTg5NjUy
Yjk5NjFlYjUzODgyNzM3YWMyNDFhNS4uMzIyNjA0YjdjMmE0NDZiZDMxZmFkNzk0OGIxZGIzZGU2
YTdhZmY3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAx
MS0xMS0yNSAgUGF2ZWwgRmVsZG1hbiAgPHBmZWxkbWFuQGdvb2dsZS5jb20+CisKKyAgICAgICAg
V2ViIEluc3BlY3RvcjogcmVtb3ZlIGRpc2Nvbm5lY3RGcm9tQmFja2VuZCBmcm9tIHRoZSBwcm90
b2NvbC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcz
MTI3CisKKyAgICAgICAgV2Ugc2hvdWxkIGluc3RlYWQgdXNlIEluc3BlY3RvckNsaWVudDo6Y2xv
c2VJbnNwZWN0b3JGcm9udGVuZCB0aGF0IHdvdWxkCisgICAgICAgIGJlIGNsb3NpbmcgdGhlIGZy
b250LWVuZCB3aW5kb3cuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBzcmMvSW5zcGVjdG9yQ2xpZW50SW1wbC5jcHA6CisgICAgICAgIChXZWJLaXQ6
Okluc3BlY3RvckNsaWVudEltcGw6OmNsb3NlSW5zcGVjdG9yRnJvbnRlbmQpOgorICAgICAgICAq
IHNyYy9JbnNwZWN0b3JDbGllbnRJbXBsLmg6CisgICAgICAgICogc3JjL0luc3BlY3RvckZyb250
ZW5kQ2xpZW50SW1wbC5jcHA6CisgICAgICAgICogc3JjL0luc3BlY3RvckZyb250ZW5kQ2xpZW50
SW1wbC5oOgorICAgICAgICAqIHNyYy9XZWJEZXZUb29sc0FnZW50SW1wbC5jcHA6CisgICAgICAg
IChXZWJLaXQ6OldlYkRldlRvb2xzQWdlbnRJbXBsOjpjbG9zZUluc3BlY3RvckZyb250ZW5kKToK
KyAgICAgICAgKFdlYktpdDo6V2ViRGV2VG9vbHNBZ2VudDo6ZGlzY29ubmVjdEV2ZW50QXNUZXh0
KToKKyAgICAgICAgKiBzcmMvV2ViRGV2VG9vbHNBZ2VudEltcGwuaDoKKwogMjAxMS0xMS0yNSAg
WXVyeSBTZW1pa2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmll
d2VkLiBDaHJvbWl1bSBidWlsZCBmaXguCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKaW5kZXggZDlkMjhmOGRlMTRm
MjQ4ZjU4MjM1MmNjOGFkOTE4NDk0M2EyMTllZS4uYThlMmFjNzExYTRhMzJiMWJmNDRmZmQ4NTgw
ZWY3MmNkZWNhNjU0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ndGsvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJLaXQvZ3RrL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDExLTEx
LTI1ICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AZ29vZ2xlLmNvbT4KKworICAgICAgICBXZWIg
SW5zcGVjdG9yOiByZW1vdmUgZGlzY29ubmVjdEZyb21CYWNrZW5kIGZyb20gdGhlIHByb3RvY29s
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxMjcK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNv
cmVTdXBwb3J0L0luc3BlY3RvckNsaWVudEd0ay5jcHA6CisgICAgICAgIChXZWJLaXQ6Okluc3Bl
Y3RvckNsaWVudDo6aW5zcGVjdG9yRGVzdHJveWVkKToKKyAgICAgICAgKFdlYktpdDo6SW5zcGVj
dG9yQ2xpZW50OjpjbG9zZUluc3BlY3RvckZyb250ZW5kKToKKyAgICAgICAgKiBXZWJDb3JlU3Vw
cG9ydC9JbnNwZWN0b3JDbGllbnRHdGsuaDoKKwogMjAxMS0xMS0yMyAgS2F1c3R1YmggQXRyYXdh
bGthciAgPGthdXN0dWJoQG1vdG9yb2xhLmNvbT4KIAogICAgICAgICBEb2N1bWVudGF0aW9uIGZp
eCBmb3IgbG9hZC1jb21taXR0ZWQgaW4gd2Via2l0d2ViZnJhbWUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRl
eCAxZGMxNDc2YWFkN2IyMzlhOWI5ZDYxYjZjMzNmYTQ0NDc2NzAwMGJmLi4wOGY0ZDIzMzUyMzBh
MjdlNmM1MzY5YTI3M2E1NjFhNmRmYmRjMzYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21h
Yy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTUgQEAKKzIwMTEtMTEtMjUgIFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBnb29nbGUuY29tPgor
CisgICAgICAgIFdlYiBJbnNwZWN0b3I6IHJlbW92ZSBkaXNjb25uZWN0RnJvbUJhY2tlbmQgZnJv
bSB0aGUgcHJvdG9jb2wuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD03MzEyNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50Lmg6CisgICAgICAgICog
V2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50Lm1tOgorICAgICAgICAoV2ViSW5zcGVj
dG9yQ2xpZW50OjppbnNwZWN0b3JEZXN0cm95ZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yQ2xp
ZW50OjpjbG9zZUluc3BlY3RvckZyb250ZW5kKToKKwogMjAxMS0xMS0yMiAgUGF2ZWwgRmVsZG1h
biAgPHBmZWxkbWFuQGdvb2dsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogcmVtb3Zl
IEluc3BlY3Rvcjo6YnJpbmdUb0Zyb250IGZyb20gdGhlIHByb3RvY29sLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9xdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwpp
bmRleCA4OGZlNjZlZTZiNTZlMTdiNDY4NmE1NTY4OGQ3MzljNzRlZGFiYzczLi5hNmZmOTUxYzkw
MjI1MGZkOWY3MTgyMjcyZWJmMDA0ZTAwMGZlNDg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L3F0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE2IEBACisyMDExLTExLTI1ICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AZ29vZ2xlLmNvbT4K
KworICAgICAgICBXZWIgSW5zcGVjdG9yOiByZW1vdmUgZGlzY29ubmVjdEZyb21CYWNrZW5kIGZy
b20gdGhlIHByb3RvY29sLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NzMxMjcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0luc3BlY3RvckNsaWVudFF0LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6Okluc3BlY3RvckNsaWVudFF0OjppbnNwZWN0b3JEZXN0cm95ZWQpOgorICAgICAg
ICAoV2ViQ29yZTo6SW5zcGVjdG9yQ2xpZW50UXQ6OmNsb3NlSW5zcGVjdG9yRnJvbnRlbmQpOgor
ICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRRdDo6aW5zcGVjdG9yQ2xp
ZW50RGVzdHJveWVkKToKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9JbnNwZWN0b3JDbGllbnRR
dC5oOgorCiAyMDExLTExLTI1ICBBbGV4aXMgTWVuYXJkICA8YWxleGlzLm1lbmFyZEBvcGVuYm9z
c2Eub3JnPgogCiAgICAgICAgIFtRdF1bV0syXSBRV2ViRG93bmxvYWRJdGVtIHNob3VsZCBiZSBy
ZWdpc3RlcmVkIGluIHRoZSBleHBlcmltZW50YWwgcGx1Z2luLgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC93aW4vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC93aW4vQ2hhbmdlTG9nCmluZGV4
IGZlNzRlYTE2YjU2NTlmMGM0NzM1MzRiYWU0ZGY4OGQzMTM2NWUwOTQuLjk1N2U4NjA5MTU2ZWM1
MmE5YWE2ZWY4ZWUzOTU1M2VlZGMwOTkxOTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd2lu
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NSBAQAorMjAxMS0xMS0yNSAgUGF2ZWwgRmVsZG1hbiAgPHBmZWxkbWFuQGdvb2dsZS5jb20+CisK
KyAgICAgICAgV2ViIEluc3BlY3RvcjogcmVtb3ZlIGRpc2Nvbm5lY3RGcm9tQmFja2VuZCBmcm9t
IHRoZSBwcm90b2NvbC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTczMTI3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuY3BwOgorICAgICAgICAo
V2ViSW5zcGVjdG9yQ2xpZW50OjppbnNwZWN0b3JEZXN0cm95ZWQpOgorICAgICAgICAoV2ViSW5z
cGVjdG9yQ2xpZW50OjpjbG9zZUluc3BlY3RvckZyb250ZW5kKToKKyAgICAgICAgKiBXZWJDb3Jl
U3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuaDoKKwogMjAxMS0xMS0yMiAgUGF2ZWwgRmVsZG1h
biAgPHBmZWxkbWFuQGdvb2dsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogcmVtb3Zl
IEluc3BlY3Rvcjo6YnJpbmdUb0Zyb250IGZyb20gdGhlIHByb3RvY29sLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4
IGMwOTg1MmM4MWE1NzE2ZDgzYmY0NDBmYmEyYzAwMzYxOTdkNmRmYWMuLmQyYzQ1MzRiODUyZmUz
ZDU0NzU5OWRkZmY3NTdkNTRjOGEzMTM0MWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAor
MjAxMS0xMS0yNSAgUGF2ZWwgRmVsZG1hbiAgPHBmZWxkbWFuQGdvb2dsZS5jb20+CisKKyAgICAg
ICAgV2ViIEluc3BlY3RvcjogcmVtb3ZlIGRpc2Nvbm5lY3RGcm9tQmFja2VuZCBmcm9tIHRoZSBw
cm90b2NvbC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTczMTI3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYkluc3BlY3RvckNsaWVudDo6aW5zcGVjdG9yRGVzdHJveWVkKToKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckZyb250ZW5kQ2xp
ZW50LmNwcDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3Rv
ckZyb250ZW5kQ2xpZW50Lmg6CisKIDIwMTEtMTEtMjUgIEtlbm5ldGggUm9oZGUgQ2hyaXN0aWFu
c2VuICA8a2VubmV0aEB3ZWJraXQub3JnPgogCiAgICAgICAgIENsZWFuIHVwIGNvZGUgaW4gV0sy
L0Nocm9tZUNsaWVudENsaWVudCByZWxhdGVkIHRvIHZpZXdwb3J0IGhhbmRsaW5nCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24gYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24KaW5kZXggMDlkNDVjZjk3Njk0NGYyNWMyMWFm
YjBkOWY1ZTRkN2EzODNkYWE0MC4uMGVjZTA2OTI0ZDhiY2NlYjJjYWMwZTc5ZjE4MTdmYmQ5MDM3
ZGQ0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29u
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbgpAQCAtOCw3ICs4
LDcgQEAKICAgICAgICAgXSwKICAgICAgICAgImV2ZW50cyI6IFsKICAgICAgICAgICAgIHsKLSAg
ICAgICAgICAgICAgICAibmFtZSI6ICJkaXNjb25uZWN0RnJvbUJhY2tlbmQiCisgICAgICAgICAg
ICAgICAgIm5hbWUiOiAiZGlzY29ubmVjdEZyb21Xb3JrZXIiCiAgICAgICAgICAgICB9LAogICAg
ICAgICAgICAgewogICAgICAgICAgICAgICAgICJuYW1lIjogImV2YWx1YXRlRm9yVGVzdEluRnJv
bnRlbmQiLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckFn
ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JBZ2VudC5jcHAKaW5k
ZXggNTAzMmMxNzI2YzUwZjFlMjZkMWY5ZmI1ZjU3MWU2ZDdlNmM0ZDAxOS4uYzQwYWU1MTE3NDc1
NWYwN2ZkMmJhNzUwMjg1NTVmNDNiYWUzYTY3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yQWdlbnQuY3BwCkBAIC04Myw4ICs4Myw2IEBAIEluc3BlY3RvckFnZW50Ojp+
SW5zcGVjdG9yQWdlbnQoKQogCiB2b2lkIEluc3BlY3RvckFnZW50OjppbnNwZWN0ZWRQYWdlRGVz
dHJveWVkKCkKIHsKLSAgICBpZiAobV9mcm9udGVuZCkKLSAgICAgICAgbV9mcm9udGVuZC0+aW5z
cGVjdG9yKCktPmRpc2Nvbm5lY3RGcm9tQmFja2VuZCgpOwogICAgIEFTU0VSVChtX2luc3BlY3Rl
ZFBhZ2UpOwogICAgIG1faW5zcGVjdGVkUGFnZSA9IDA7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yQ2xpZW50LmgKaW5kZXggOWZhZDVkNjQ2NmUxMWEzMGUyZjE4YzI4MTkz
MGE2OTg5MTdiZWJhMC4uODNhYjIzMmY2MzY3NTQyNjQ0MmZmMGMwODEzODZlMjMxNjMwODk2NiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNsaWVudC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDbGllbnQuaApAQCAtNDQsNiAr
NDQsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGluc3BlY3RvckRlc3Ryb3llZCgpID0g
MDsKIAogICAgIHZpcnR1YWwgdm9pZCBvcGVuSW5zcGVjdG9yRnJvbnRlbmQoSW5zcGVjdG9yQ29u
dHJvbGxlciopID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgY2xvc2VJbnNwZWN0b3JGcm9udGVuZCgp
ID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgYnJpbmdGcm9udGVuZFRvRnJvbnQoKSA9IDA7CiAKICAg
ICB2aXJ0dWFsIHZvaWQgaGlnaGxpZ2h0KCkgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCmluZGV4IGQyMTFiNGUyYjE2YWE3NmJmMjk0
ZWEzNWI4MjAyNmZmOTNlZjY4ZmIuLjE2YmJhZWQyNmNiZWRkZjQ3ZDEyYzQ2ODE3NjM1YzRhM2M4
MDRkYjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250
cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJv
bGxlci5jcHAKQEAgLTI3MSw4ICsyNzEsOCBAQCB2b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6OmNs
b3NlKCkKIHsKICAgICBpZiAoIW1faW5zcGVjdG9yRnJvbnRlbmQpCiAgICAgICAgIHJldHVybjsK
LSAgICBtX2luc3BlY3RvckZyb250ZW5kLT5pbnNwZWN0b3IoKS0+ZGlzY29ubmVjdEZyb21CYWNr
ZW5kKCk7CiAgICAgZGlzY29ubmVjdEZyb250ZW5kKCk7CisgICAgbV9pbnNwZWN0b3JDbGllbnQt
PmNsb3NlSW5zcGVjdG9yRnJvbnRlbmQoKTsKIH0KIAogdm9pZCBJbnNwZWN0b3JDb250cm9sbGVy
OjpyZXN0b3JlSW5zcGVjdG9yU3RhdGVGcm9tQ29va2llKGNvbnN0IFN0cmluZyYgaW5zcGVjdG9y
U3RhdGVDb29raWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yRnJvbnRlbmRDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JG
cm9udGVuZENsaWVudC5oCmluZGV4IGJjOGExMzUwYTdjZjM4YTFmMGFlZGVjYTE0OTUzZWE3NzY1
ODRkYTEuLjc4ZGJiYWFjZmJlN2FiMzU0NGIxYzVlNzhmMGE4ZGNhN2IxM2JhMjcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZENsaWVudC5oCkBA
IC01Myw3ICs1Myw2IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBicmluZ1RvRnJvbnQo
KSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGNsb3NlV2luZG93KCkgPSAwOwotICAgIHZpcnR1YWwg
dm9pZCBkaXNjb25uZWN0RnJvbUJhY2tlbmQoKSA9IDA7CiAKICAgICB2aXJ0dWFsIHZvaWQgcmVx
dWVzdEF0dGFjaFdpbmRvdygpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdERldGFjaFdp
bmRvdygpID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JGcm9udGVuZEhvc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZy
b250ZW5kSG9zdC5jcHAKaW5kZXggOWY0OWI0ZGQzNGYzYWI4ZWEyOTczNzA0OTEwNGNhNDVjMWY1
MDVkMC4uMGNlMmRiNWJjNDE0MzQ5ZDUxNDgyMTNhNDBiNmE0NTUwNGE3MDk4MSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHAKQEAg
LTE2OSwxNCArMTY5LDYgQEAgdm9pZCBJbnNwZWN0b3JGcm9udGVuZEhvc3Q6OmNsb3NlV2luZG93
KCkKICAgICB9CiB9CiAKLXZvaWQgSW5zcGVjdG9yRnJvbnRlbmRIb3N0OjpkaXNjb25uZWN0RnJv
bUJhY2tlbmQoKQotewotICAgIGlmIChtX2NsaWVudCkgewotICAgICAgICBtX2NsaWVudC0+ZGlz
Y29ubmVjdEZyb21CYWNrZW5kKCk7Ci0gICAgICAgIGRpc2Nvbm5lY3RDbGllbnQoKTsgLy8gRGlz
Y29ubmVjdCBmcm9tIGNsaWVudC4KLSAgICB9Ci19Ci0KIHZvaWQgSW5zcGVjdG9yRnJvbnRlbmRI
b3N0OjpicmluZ1RvRnJvbnQoKQogewogICAgIGlmIChtX2NsaWVudCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuaCBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuaAppbmRleCA5N2I1NThjZGRm
ZmFlYzU3NjNmMDM1YmMxYzVmZTc1MWIwZTgzOTc2Li4xZDA3NjlhYWM0NWFiN2Q0Y2M0OTk3ZjFi
ZWY0NDEyZTQyNmFmNzRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yRnJvbnRlbmRIb3N0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckZyb250ZW5kSG9zdC5oCkBAIC02MSw3ICs2MSw2IEBAIHB1YmxpYzoKICAgICB2b2lkIHJl
cXVlc3RBdHRhY2hXaW5kb3coKTsKICAgICB2b2lkIHJlcXVlc3REZXRhY2hXaW5kb3coKTsKICAg
ICB2b2lkIGNsb3NlV2luZG93KCk7Ci0gICAgdm9pZCBkaXNjb25uZWN0RnJvbUJhY2tlbmQoKTsK
ICAgICB2b2lkIGJyaW5nVG9Gcm9udCgpOwogICAgIHZvaWQgaW5zcGVjdGVkVVJMQ2hhbmdlZChj
b25zdCBTdHJpbmcmKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckZyb250ZW5kSG9zdC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yRnJvbnRlbmRIb3N0LmlkbAppbmRleCBkYjk0MzZiZDc4NzYxNWY3YTY0NWQ1NDk5ODE3MWZk
ZTY4MGE4MzE3Li5hZmVmZDQ2Mzg3NTU0YzkxNWU2MGQxMTY0ZTY1MzBiY2VhODY4YzQwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0Lmlk
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0Lmlk
bApAQCAtMzYsNyArMzYsNiBAQCBtb2R1bGUgY29yZSB7CiAgICAgXSBJbnNwZWN0b3JGcm9udGVu
ZEhvc3QgewogICAgICAgICB2b2lkIGxvYWRlZCgpOwogICAgICAgICB2b2lkIGNsb3NlV2luZG93
KCk7Ci0gICAgICAgIHZvaWQgZGlzY29ubmVjdEZyb21CYWNrZW5kKCk7CiAgICAgICAgIHZvaWQg
YnJpbmdUb0Zyb250KCk7CiAgICAgICAgIHZvaWQgaW5zcGVjdGVkVVJMQ2hhbmdlZChpbiBET01T
dHJpbmcgbmV3VVJMKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9JbnNwZWN0b3JGcm9udGVuZEhvc3RTdHViLmpzIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9JbnNwZWN0b3JGcm9udGVuZEhvc3RTdHViLmpzCmluZGV4IDU5MGUw
NTVmNjFmNjA1ZTkzOGM4ZTljMDljOGYxYzUzYWYyY2Y0NGYuLmVhNjAzZTdkNzU2NzI0M2VjNzY3
YTNiMjAxOTM0ZDU3NTFhMWFhZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvSW5zcGVjdG9yRnJvbnRlbmRIb3N0U3R1Yi5qcworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0luc3BlY3RvckZyb250ZW5kSG9zdFN0dWIuanMKQEAg
LTY1LDExICs2NSw2IEBAIFdlYkluc3BlY3Rvci5JbnNwZWN0b3JGcm9udGVuZEhvc3RTdHViLnBy
b3RvdHlwZSA9IHsKICAgICAgICAgdGhpcy5fd2luZG93VmlzaWJsZSA9IGZhbHNlOwogICAgIH0s
CiAKLSAgICBkaXNjb25uZWN0RnJvbUJhY2tlbmQ6IGZ1bmN0aW9uKCkKLSAgICB7Ci0gICAgICAg
IHRoaXMuX3dpbmRvd1Zpc2libGUgPSBmYWxzZTsKLSAgICB9LAotCiAgICAgYXR0YWNoOiBmdW5j
dGlvbigpCiAgICAgewogICAgIH0sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvaW5zcGVjdG9yLmpzCmluZGV4IGIyN2U3ZmY0OGNlNDY1MDkyMjc4Y2VjNTU2MWFmMmU5
YzFhNzkwZjkuLjEwM2ZjY2NmNGY4NjNlNDc2ZDk3ODcwZDcwZWNkNmY5NzE1YTEyOWYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzCkBAIC00
NjYsMTIgKzQ2Niw5IEBAIFdlYkluc3BlY3Rvci5jbG9zZSA9IGZ1bmN0aW9uKGV2ZW50KQogICAg
IEluc3BlY3RvckZyb250ZW5kSG9zdC5jbG9zZVdpbmRvdygpOwogfQogCi1XZWJJbnNwZWN0b3Iu
ZGlzY29ubmVjdEZyb21CYWNrZW5kID0gZnVuY3Rpb24oKQorV2ViSW5zcGVjdG9yLmRpc2Nvbm5l
Y3RGcm9tV29ya2VyID0gZnVuY3Rpb24oKQogewotICAgIGlmIChXZWJJbnNwZWN0b3IuV29ya2Vy
TWFuYWdlci5pc1dvcmtlckZyb250ZW5kKCkpCi0gICAgICAgIFdlYkluc3BlY3Rvci5Xb3JrZXJN
YW5hZ2VyLnNob3dXb3JrZXJUZXJtaW5hdGVkU2NyZWVuKCk7Ci0gICAgZWxzZQotICAgICAgICBJ
bnNwZWN0b3JGcm9udGVuZEhvc3QuZGlzY29ubmVjdEZyb21CYWNrZW5kKCk7CisgICAgV2ViSW5z
cGVjdG9yLldvcmtlck1hbmFnZXIuc2hvd1dvcmtlclRlcm1pbmF0ZWRTY3JlZW4oKTsKIH0KIAog
V2ViSW5zcGVjdG9yLmRvY3VtZW50Q2xpY2sgPSBmdW5jdGlvbihldmVudCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaCBiL1NvdXJjZS9XZWJDb3JlL2xv
YWRlci9FbXB0eUNsaWVudHMuaAppbmRleCA0MDA0NWEzMTJmZjlmZjAwZWQzMTljNTc2MmFkMWE0
ZDgxNDgwMTFhLi4zZjhhOGE2YWI2YTM3MTE2NjYxNmZhYmYzNTVkYzlmMTU3NjQxZDczIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCkBAIC01OTAsNiArNTkwLDcgQEAgcHVibGlj
OgogICAgIHZpcnR1YWwgdm9pZCBpbnNwZWN0b3JEZXN0cm95ZWQoKSB7IH0KICAgICAKICAgICB2
aXJ0dWFsIHZvaWQgb3Blbkluc3BlY3RvckZyb250ZW5kKEluc3BlY3RvckNvbnRyb2xsZXIqKSB7
IH0KKyAgICB2aXJ0dWFsIHZvaWQgY2xvc2VJbnNwZWN0b3JGcm9udGVuZCgpIHsgfQogICAgIHZp
cnR1YWwgdm9pZCBicmluZ0Zyb250ZW5kVG9Gcm9udCgpIHsgfQogCiAgICAgdmlydHVhbCB2b2lk
IGhpZ2hsaWdodCgpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
SW5zcGVjdG9yQ2xpZW50SW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9JbnNw
ZWN0b3JDbGllbnRJbXBsLmNwcAppbmRleCBjOWFmN2I4ZTkzM2Q1MDg3MzIwOTVmZDAzNTIxMzhk
ZmVlMjdlOWQwLi45ZjVhYWQxMGNlYTEwMDRmMGI0Yzc4NDhmN2U5MjIwNGRmZjlhNWQ1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9JbnNwZWN0b3JDbGllbnRJbXBsLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9JbnNwZWN0b3JDbGllbnRJbXBsLmNw
cApAQCAtNjksNiArNjksMTIgQEAgdm9pZCBJbnNwZWN0b3JDbGllbnRJbXBsOjpvcGVuSW5zcGVj
dG9yRnJvbnRlbmQoSW5zcGVjdG9yQ29udHJvbGxlciogY29udHJvbGxlcikKICAgICAgICAgYWdl
bnQtPm9wZW5JbnNwZWN0b3JGcm9udGVuZChjb250cm9sbGVyKTsKIH0KIAordm9pZCBJbnNwZWN0
b3JDbGllbnRJbXBsOjpjbG9zZUluc3BlY3RvckZyb250ZW5kKCkKK3sKKyAgICBpZiAoV2ViRGV2
VG9vbHNBZ2VudEltcGwqIGFnZW50ID0gZGV2VG9vbHNBZ2VudCgpKQorICAgICAgICBhZ2VudC0+
Y2xvc2VJbnNwZWN0b3JGcm9udGVuZCgpOworfQorCiB2b2lkIEluc3BlY3RvckNsaWVudEltcGw6
OmJyaW5nRnJvbnRlbmRUb0Zyb250KCkKIHsKICAgICBpZiAoV2ViRGV2VG9vbHNBZ2VudEltcGwq
IGFnZW50ID0gZGV2VG9vbHNBZ2VudCgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvSW5zcGVjdG9yQ2xpZW50SW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvSW5zcGVjdG9yQ2xpZW50SW1wbC5oCmluZGV4IDc0M2JkZTZhMGIyYTBiZTAzZWYxZjNmNjA1
Njc1YmEwMzAwYWYwNmYuLjBlOTAwYjVmZjM5MWQyZTkwZDc2M2VhOGM3ZTUxNzkxYjI4NWU2Y2Yg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0luc3BlY3RvckNsaWVudElt
cGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9JbnNwZWN0b3JDbGllbnRJbXBs
LmgKQEAgLTQ5LDYgKzQ5LDcgQEAgcHVibGljOgogICAgIC8vIEluc3BlY3RvckNsaWVudCBtZXRo
b2RzOgogICAgIHZpcnR1YWwgdm9pZCBpbnNwZWN0b3JEZXN0cm95ZWQoKTsKICAgICB2aXJ0dWFs
IHZvaWQgb3Blbkluc3BlY3RvckZyb250ZW5kKFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXIq
KTsKKyAgICB2aXJ0dWFsIHZvaWQgY2xvc2VJbnNwZWN0b3JGcm9udGVuZCgpOwogICAgIHZpcnR1
YWwgdm9pZCBicmluZ0Zyb250ZW5kVG9Gcm9udCgpOwogCiAgICAgdmlydHVhbCB2b2lkIGhpZ2hs
aWdodCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvSW5zcGVjdG9y
RnJvbnRlbmRDbGllbnRJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0luc3Bl
Y3RvckZyb250ZW5kQ2xpZW50SW1wbC5jcHAKaW5kZXggMTE0MDM2ZWZhNTgzZGFhZTE1OGNlZjI1
ZTgxNmJlMjM3NzFlMjZiMi4uYTYyYWM0OWQ3YjMxMmIxYzg2ZjA5NTgyNTMxMTNmMDllMjk5NTgy
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvSW5zcGVjdG9yRnJvbnRl
bmRDbGllbnRJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9JbnNwZWN0
b3JGcm9udGVuZENsaWVudEltcGwuY3BwCkBAIC0xMDUsMTEgKzEwNSw2IEBAIHZvaWQgSW5zcGVj
dG9yRnJvbnRlbmRDbGllbnRJbXBsOjpjbG9zZVdpbmRvdygpCiAgICAgbV9jbGllbnQtPmNsb3Nl
V2luZG93KCk7CiB9CiAKLXZvaWQgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRJbXBsOjpkaXNjb25u
ZWN0RnJvbUJhY2tlbmQoKQotewotICAgIG1fY2xpZW50LT5jbG9zZVdpbmRvdygpOwotfQotCiB2
b2lkIEluc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbDo6cmVxdWVzdEF0dGFjaFdpbmRvdygpCiB7
CiAgICAgbV9jbGllbnQtPnJlcXVlc3REb2NrV2luZG93KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9JbnNwZWN0b3JGcm9udGVuZENsaWVudEltcGwuaCBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL0luc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbC5oCmluZGV4
IGZkNDVmNWIyYjA4NjZiNWE2NDNiZTlhNGNlYWQxNWUzN2UyYmZhNGQuLmYxNjUzNWNhZTJjMjEw
ZDBmN2YzMDgwYmRjNWU5MTI2MGRmZWU5NWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL0luc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbC5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL0luc3BlY3RvckZyb250ZW5kQ2xpZW50SW1wbC5oCkBAIC02MSw3ICs2
MSw2IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBicmluZ1RvRnJvbnQoKTsKICAgICB2
aXJ0dWFsIHZvaWQgY2xvc2VXaW5kb3coKTsKLSAgICB2aXJ0dWFsIHZvaWQgZGlzY29ubmVjdEZy
b21CYWNrZW5kKCk7CiAKICAgICB2aXJ0dWFsIHZvaWQgcmVxdWVzdEF0dGFjaFdpbmRvdygpOwog
ICAgIHZpcnR1YWwgdm9pZCByZXF1ZXN0RGV0YWNoV2luZG93KCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEZXZUb29sc0FnZW50SW1wbC5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEZXZUb29sc0FnZW50SW1wbC5jcHAKaW5kZXggNTU5Zjhm
ZmIzMzY4ZjI5MmU5MTEzZWZiN2ViZWE0ODRkMDg5MmI4Yy4uNjQ2Y2FkYTdlY2M0OTJjMjdjYjE5
MzQ4NWQ3ZTMxNWRlNTliMTNhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViRGV2VG9vbHNBZ2VudEltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL1dlYkRldlRvb2xzQWdlbnRJbXBsLmNwcApAQCAtMjY0LDYgKzI2NCwxMCBAQCB2b2lkIFdl
YkRldlRvb2xzQWdlbnRJbXBsOjpvcGVuSW5zcGVjdG9yRnJvbnRlbmQoSW5zcGVjdG9yQ29udHJv
bGxlciopCiB7CiB9CiAKK3ZvaWQgV2ViRGV2VG9vbHNBZ2VudEltcGw6OmNsb3NlSW5zcGVjdG9y
RnJvbnRlbmQoKQoreworfQorCiB2b2lkIFdlYkRldlRvb2xzQWdlbnRJbXBsOjpicmluZ0Zyb250
ZW5kVG9Gcm9udCgpCiB7CiB9CkBAIC0zODEsNyArMzg1LDcgQEAgV2ViU3RyaW5nIFdlYkRldlRv
b2xzQWdlbnQ6OmRpc2Nvbm5lY3RFdmVudEFzVGV4dCgpCiAgICAgICAgIFN0cmluZyBtX21lc3Nh
Z2U7CiAgICAgfSBjaGFubmVsOwogICAgIEluc3BlY3RvckZyb250ZW5kOjpJbnNwZWN0b3IgaW5z
cGVjdG9yKCZjaGFubmVsKTsKLSAgICBpbnNwZWN0b3IuZGlzY29ubmVjdEZyb21CYWNrZW5kKCk7
CisgICAgaW5zcGVjdG9yLmRpc2Nvbm5lY3RGcm9tV29ya2VyKCk7CiAgICAgcmV0dXJuIGNoYW5u
ZWwubV9tZXNzYWdlOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9XZWJEZXZUb29sc0FnZW50SW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
RGV2VG9vbHNBZ2VudEltcGwuaAppbmRleCA2M2Y3OWFiYzhhNWQwYjdmNzg2ZTFhZmYyZjg0Y2Ri
MzhjZDgzYmExLi45MWE4ODkxOWYyYjhiYzIwNGJjMDc5OWMxM2FjMzNhZjE2OTM3ZWE5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJEZXZUb29sc0FnZW50SW1wbC5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkRldlRvb2xzQWdlbnRJbXBsLmgK
QEAgLTg1LDYgKzg1LDggQEAgcHVibGljOgogICAgIC8vIEluc3BlY3RvckNsaWVudCBpbXBsZW1l
bnRhdGlvbi4KICAgICB2aXJ0dWFsIHZvaWQgaW5zcGVjdG9yRGVzdHJveWVkKCk7CiAgICAgdmly
dHVhbCB2b2lkIG9wZW5JbnNwZWN0b3JGcm9udGVuZChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9s
bGVyKik7CisgICAgdmlydHVhbCB2b2lkIGNsb3NlSW5zcGVjdG9yRnJvbnRlbmQoKTsKKwogICAg
IHZpcnR1YWwgdm9pZCBicmluZ0Zyb250ZW5kVG9Gcm9udCgpOwogICAgIHZpcnR1YWwgdm9pZCBo
aWdobGlnaHQoKTsKICAgICB2aXJ0dWFsIHZvaWQgaGlkZUhpZ2hsaWdodCgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvSW5zcGVjdG9yQ2xpZW50RWZsLmNw
cCBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0luc3BlY3RvckNsaWVudEVmbC5j
cHAKaW5kZXggMTUxNDdkNjhmOWVkMzFjMTBhMDJlODgzODU3ZDhhNzRkMmY3NTFjNy4uN2UyOTc1
OGJkZDExNzE5NGI1Mjg0ZWU1Y2RiOTQ3OTgxNzA4Zjg5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvSW5zcGVjdG9yQ2xpZW50RWZsLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9JbnNwZWN0b3JDbGllbnRFZmwuY3BwCkBAIC0z
OCw2ICszOCwxMSBAQCB2b2lkIEluc3BlY3RvckNsaWVudEVmbDo6b3Blbkluc3BlY3RvckZyb250
ZW5kKEluc3BlY3RvckNvbnRyb2xsZXIqKQogICAgIG5vdEltcGxlbWVudGVkKCk7CiB9CiAKK3Zv
aWQgSW5zcGVjdG9yQ2xpZW50RWZsOjpjbG9zZUluc3BlY3RvckZyb250ZW5kKCkKK3sKKyAgICBu
b3RJbXBsZW1lbnRlZCgpOworfQorCiB2b2lkIEluc3BlY3RvckNsaWVudEVmbDo6YnJpbmdGcm9u
dGVuZFRvRnJvbnQoKQogewogICAgIG5vdEltcGxlbWVudGVkKCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9JbnNwZWN0b3JDbGllbnRFZmwuaCBiL1NvdXJj
ZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0luc3BlY3RvckNsaWVudEVmbC5oCmluZGV4IGU5
MWQ5NDM5ZWM5MTNkZTFhOTg5MTBmNTg1MjQ3ZDhiMmMyYzNiN2YuLmY5MmU5NGRkYTgxM2M1Yjcy
OWUwNzlmM2Y2NzFiMzU4ZTFmZjY5YjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL1dl
YkNvcmVTdXBwb3J0L0luc3BlY3RvckNsaWVudEVmbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZWZs
L1dlYkNvcmVTdXBwb3J0L0luc3BlY3RvckNsaWVudEVmbC5oCkBAIC00Myw2ICs0Myw3IEBAIHB1
YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgaW5zcGVjdG9yRGVzdHJveWVkKCk7CiAKICAgICB2aXJ0
dWFsIHZvaWQgb3Blbkluc3BlY3RvckZyb250ZW5kKEluc3BlY3RvckNvbnRyb2xsZXIqKTsKKyAg
ICB2aXJ0dWFsIHZvaWQgY2xvc2VJbnNwZWN0b3JGcm9udGVuZCgpOwogICAgIHZpcnR1YWwgdm9p
ZCBicmluZ0Zyb250ZW5kVG9Gcm9udCgpOwogCiAgICAgdmlydHVhbCB2b2lkIGhpZ2hsaWdodCgp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvSW5zcGVjdG9y
Q2xpZW50R3RrLmNwcCBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0luc3BlY3Rv
ckNsaWVudEd0ay5jcHAKaW5kZXggZTE1YjkwNGFmMzllM2MyODU2YzQ2ZDhiMmE3NjI1YTJiNGZh
MzAxNS4uMmU1NWNhM2NiNmIyN2IyMWMxMmU2Yzc3NzdmZjMyYzdlZjFjOWU3OCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvSW5zcGVjdG9yQ2xpZW50R3RrLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9JbnNwZWN0b3JDbGllbnRH
dGsuY3BwCkBAIC0xMTcsNiArMTE3LDcgQEAgSW5zcGVjdG9yQ2xpZW50Ojp+SW5zcGVjdG9yQ2xp
ZW50KCkKIAogdm9pZCBJbnNwZWN0b3JDbGllbnQ6Omluc3BlY3RvckRlc3Ryb3llZCgpCiB7Cisg
ICAgY2xvc2VJbnNwZWN0b3JGcm9udGVuZCgpOwogICAgIGRlbGV0ZSB0aGlzOwogfQogCkBAIC0x
NTYsNiArMTU3LDEyIEBAIHZvaWQgSW5zcGVjdG9yQ2xpZW50OjpvcGVuSW5zcGVjdG9yRnJvbnRl
bmQoSW5zcGVjdG9yQ29udHJvbGxlciogY29udHJvbGxlcikKICAgICBtX2Zyb250ZW5kUGFnZS0+
c2V0R3JvdXBOYW1lKCIiKTsKIH0KIAordm9pZCBJbnNwZWN0b3JDbGllbnQ6OmNsb3NlSW5zcGVj
dG9yRnJvbnRlbmQoKQoreworICAgIGlmIChtX2Zyb250ZW5kQ2xpZW50KQorICAgICAgICBtX2Zy
b250ZW5kQ2xpZW50LT5kZXN0cm95SW5zcGVjdG9yV2luZG93KGZhbHNlKTsKK30KKwogdm9pZCBJ
bnNwZWN0b3JDbGllbnQ6OmJyaW5nRnJvbnRlbmRUb0Zyb250KCkKIHsKICAgICBtX2Zyb250ZW5k
Q2xpZW50LT5icmluZ1RvRnJvbnQoKTsKQEAgLTI3NSwxMSArMjgyLDYgQEAgdm9pZCBJbnNwZWN0
b3JGcm9udGVuZENsaWVudDo6Y2xvc2VXaW5kb3coKQogICAgIGRlc3Ryb3lJbnNwZWN0b3JXaW5k
b3codHJ1ZSk7CiB9CiAKLXZvaWQgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ6OmRpc2Nvbm5lY3RG
cm9tQmFja2VuZCgpCi17Ci0gICAgZGVzdHJveUluc3BlY3RvcldpbmRvdyhmYWxzZSk7Ci19Ci0K
IHZvaWQgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQ6OmF0dGFjaFdpbmRvdygpCiB7CiAgICAgaWYg
KCFtX2luc3BlY3RvcldlYlZpZXcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2d0ay9XZWJD
b3JlU3VwcG9ydC9JbnNwZWN0b3JDbGllbnRHdGsuaCBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNv
cmVTdXBwb3J0L0luc3BlY3RvckNsaWVudEd0ay5oCmluZGV4IDE1OGIwMWZkMjcyYzQwOGY3MmJl
MGRmNWNmYzIxNTVhNzhlMWQ0MDUuLmM2OTJlOGYxOTJjMGM0NTkyNTE5YzM5YmNhOTVlYTA1YWQw
ZDY2OWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0luc3Bl
Y3RvckNsaWVudEd0ay5oCisrKyBiL1NvdXJjZS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0lu
c3BlY3RvckNsaWVudEd0ay5oCkBAIC01NCw2ICs1NCw3IEBAIG5hbWVzcGFjZSBXZWJLaXQgewog
ICAgICAgICB2aXJ0dWFsIHZvaWQgaW5zcGVjdG9yRGVzdHJveWVkKCk7CiAKICAgICAgICAgdmly
dHVhbCB2b2lkIG9wZW5JbnNwZWN0b3JGcm9udGVuZChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9s
bGVyKik7CisgICAgICAgIHZpcnR1YWwgdm9pZCBjbG9zZUluc3BlY3RvckZyb250ZW5kKCk7CiAg
ICAgICAgIHZpcnR1YWwgdm9pZCBicmluZ0Zyb250ZW5kVG9Gcm9udCgpOwogCiAgICAgICAgIHZp
cnR1YWwgdm9pZCBoaWdobGlnaHQoKTsKQEAgLTg2LDcgKzg3LDYgQEAgbmFtZXNwYWNlIFdlYktp
dCB7CiAKICAgICAgICAgdmlydHVhbCB2b2lkIGJyaW5nVG9Gcm9udCgpOwogICAgICAgICB2aXJ0
dWFsIHZvaWQgY2xvc2VXaW5kb3coKTsKLSAgICAgICAgdmlydHVhbCB2b2lkIGRpc2Nvbm5lY3RG
cm9tQmFja2VuZCgpOwogCiAgICAgICAgIHZpcnR1YWwgdm9pZCBhdHRhY2hXaW5kb3coKTsKICAg
ICAgICAgdmlydHVhbCB2b2lkIGRldGFjaFdpbmRvdygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50LmggYi9Tb3VyY2UvV2Vi
S2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuaAppbmRleCA2ZmRlODg2
NDEyMDUxYzE0MjU4MTM5NTcxYTY3ZmY1OGYxY2I3YmFmLi41Mjg4MGJkZWMyOWMzMTcwY2Y0OGY0
NGQzYjhiNWM5MzU5MDQxY2FlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3Jl
U3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJD
b3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuaApAQCAtNTEsNiArNTEsOCBAQCBjbGFzcyBQ
YWdlOwogCiB9CiAKK2NsYXNzIFdlYkluc3BlY3RvckZyb250ZW5kQ2xpZW50OworCiBjbGFzcyBX
ZWJJbnNwZWN0b3JDbGllbnQgOiBwdWJsaWMgV2ViQ29yZTo6SW5zcGVjdG9yQ2xpZW50IHsKIHB1
YmxpYzoKICAgICBXZWJJbnNwZWN0b3JDbGllbnQoV2ViVmlldyAqKTsKQEAgLTU4LDYgKzYwLDcg
QEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBpbnNwZWN0b3JEZXN0cm95ZWQoKSBPVkVSUklE
RTsKIAogICAgIHZpcnR1YWwgdm9pZCBvcGVuSW5zcGVjdG9yRnJvbnRlbmQoV2ViQ29yZTo6SW5z
cGVjdG9yQ29udHJvbGxlciopIE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9pZCBjbG9zZUluc3Bl
Y3RvckZyb250ZW5kKCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIGJyaW5nRnJvbnRlbmRU
b0Zyb250KCkgT1ZFUlJJREU7CiAKICAgICB2aXJ0dWFsIHZvaWQgaGlnaGxpZ2h0KCkgT1ZFUlJJ
REU7CkBAIC03Niw3ICs3OSw3IEBAIHByaXZhdGU6CiAgICAgV2ViVmlldyAqbV93ZWJWaWV3Owog
ICAgIFJldGFpblB0cjxXZWJOb2RlSGlnaGxpZ2h0ZXI+IG1faGlnaGxpZ2h0ZXI7CiAgICAgV2Vi
Q29yZTo6UGFnZSogbV9mcm9udGVuZFBhZ2U7Ci0gICAgV2ViQ29yZTo6SW5zcGVjdG9yRnJvbnRl
bmRDbGllbnQqIG1fZnJvbnRlbmRDbGllbnQ7CisgICAgV2ViSW5zcGVjdG9yRnJvbnRlbmRDbGll
bnQqIG1fZnJvbnRlbmRDbGllbnQ7CiB9OwogCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
bWFjL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5tbSBiL1NvdXJjZS9XZWJLaXQv
bWFjL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5tbQppbmRleCBhYjg3YzExNTVl
NjViMjRjOGYwODFhOTVkOTAzM2Y1NTk1Y2ExN2Y1Li5jZTg4MWE1ZjFlNTU1MGFkMWNkNzUwMWQ1
MWUyMzBkNzE5MDc1MDIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3Vw
cG9ydC9XZWJJbnNwZWN0b3JDbGllbnQubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29y
ZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50Lm1tCkBAIC04Myw2ICs4Myw3IEBAIFdlYkluc3Bl
Y3RvckNsaWVudDo6V2ViSW5zcGVjdG9yQ2xpZW50KFdlYlZpZXcgKndlYlZpZXcpCiAKIHZvaWQg
V2ViSW5zcGVjdG9yQ2xpZW50OjppbnNwZWN0b3JEZXN0cm95ZWQoKQogeworICAgIGNsb3NlSW5z
cGVjdG9yRnJvbnRlbmQoKTsKICAgICBkZWxldGUgdGhpczsKIH0KIApAQCAtOTksNiArMTAwLDEy
IEBAIHZvaWQgV2ViSW5zcGVjdG9yQ2xpZW50OjpvcGVuSW5zcGVjdG9yRnJvbnRlbmQoSW5zcGVj
dG9yQ29udHJvbGxlciogaW5zcGVjdG9yQ29uCiAgICAgbV9mcm9udGVuZFBhZ2UtPmluc3BlY3Rv
ckNvbnRyb2xsZXIoKS0+c2V0SW5zcGVjdG9yRnJvbnRlbmRDbGllbnQoZnJvbnRlbmRDbGllbnQu
cmVsZWFzZSgpKTsKIH0KIAordm9pZCBXZWJJbnNwZWN0b3JDbGllbnQ6OmNsb3NlSW5zcGVjdG9y
RnJvbnRlbmQoKQoreworICAgIGlmIChtX2Zyb250ZW5kQ2xpZW50KQorICAgICAgICBtX2Zyb250
ZW5kQ2xpZW50LT5kaXNjb25uZWN0RnJvbUJhY2tlbmQoKTsKK30KKwogdm9pZCBXZWJJbnNwZWN0
b3JDbGllbnQ6OmJyaW5nRnJvbnRlbmRUb0Zyb250KCkKIHsKICAgICBtX2Zyb250ZW5kQ2xpZW50
LT5icmluZ1RvRnJvbnQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1
cHBvcnQvSW5zcGVjdG9yQ2xpZW50UXQuY3BwIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3Vw
cG9ydC9JbnNwZWN0b3JDbGllbnRRdC5jcHAKaW5kZXggMzZiNDdkNThkOGQ4M2Q3ZmFiZjUzZWQw
ZDY2MDU5NGY3NTJhNTNjNC4uZmRiNmRhMzNhZThiMGQ2ZDdiNDBlMGZjNGVmMjExNjk0NWU4ZjJl
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9JbnNwZWN0b3JD
bGllbnRRdC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9JbnNwZWN0
b3JDbGllbnRRdC5jcHAKQEAgLTE4OSw4ICsxODksNyBAQCBJbnNwZWN0b3JDbGllbnRRdDo6SW5z
cGVjdG9yQ2xpZW50UXQoUVdlYlBhZ2UqIHBhZ2UpCiB2b2lkIEluc3BlY3RvckNsaWVudFF0Ojpp
bnNwZWN0b3JEZXN0cm95ZWQoKQogewogI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0gICAgaWYgKG1f
ZnJvbnRlbmRDbGllbnQpCi0gICAgICAgIG1fZnJvbnRlbmRDbGllbnQtPmluc3BlY3RvckNsaWVu
dERlc3Ryb3llZCgpOworICAgIGNsb3NlSW5zcGVjdG9yRnJvbnRlbmQoKTsKIAogICAgIEluc3Bl
Y3RvclNlcnZlclF0KiB3ZWJJbnNwZWN0b3JTZXJ2ZXIgPSBJbnNwZWN0b3JTZXJ2ZXJRdDo6c2Vy
dmVyKCk7CiAgICAgaWYgKHdlYkluc3BlY3RvclNlcnZlcikKQEAgLTI0Myw2ICsyNDIsMTIgQEAg
dm9pZCBJbnNwZWN0b3JDbGllbnRRdDo6b3Blbkluc3BlY3RvckZyb250ZW5kKFdlYkNvcmU6Oklu
c3BlY3RvckNvbnRyb2xsZXIqIGluc3AKICNlbmRpZgogfQogCit2b2lkIEluc3BlY3RvckNsaWVu
dFF0OjpjbG9zZUluc3BlY3RvckZyb250ZW5kKCkKK3sKKyAgICBpZiAobV9mcm9udGVuZENsaWVu
dCkKKyAgICAgICAgbV9mcm9udGVuZENsaWVudC0+aW5zcGVjdG9yQ2xpZW50RGVzdHJveWVkKCk7
Cit9CisKIHZvaWQgSW5zcGVjdG9yQ2xpZW50UXQ6OmJyaW5nRnJvbnRlbmRUb0Zyb250KCkKIHsK
ICAgICBtX2Zyb250ZW5kQ2xpZW50LT5icmluZ1RvRnJvbnQoKTsKQEAgLTM0OCwxMSArMzUzLDYg
QEAgdm9pZCBJbnNwZWN0b3JGcm9udGVuZENsaWVudFF0OjpjbG9zZVdpbmRvdygpCiAgICAgZGVz
dHJveUluc3BlY3RvclZpZXcodHJ1ZSk7CiB9CiAKLXZvaWQgSW5zcGVjdG9yRnJvbnRlbmRDbGll
bnRRdDo6ZGlzY29ubmVjdEZyb21CYWNrZW5kKCkKLXsKLSAgICBkZXN0cm95SW5zcGVjdG9yVmll
dyhmYWxzZSk7Ci19Ci0KIHZvaWQgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRRdDo6YXR0YWNoV2lu
ZG93KCkKIHsKICAgICBub3RJbXBsZW1lbnRlZCgpOwpAQCAtNDA3LDYgKzQwNyw3IEBAIHZvaWQg
SW5zcGVjdG9yRnJvbnRlbmRDbGllbnRRdDo6ZGVzdHJveUluc3BlY3RvclZpZXcoYm9vbCBub3Rp
ZnlJbnNwZWN0b3JDb250cm9sCiAKIHZvaWQgSW5zcGVjdG9yRnJvbnRlbmRDbGllbnRRdDo6aW5z
cGVjdG9yQ2xpZW50RGVzdHJveWVkKCkKIHsKKyAgICBkZXN0cm95SW5zcGVjdG9yVmlldyhmYWxz
ZSk7CiAgICAgbV9pbnNwZWN0b3JDbGllbnQgPSAwOwogICAgIG1faW5zcGVjdGVkV2ViUGFnZSA9
IDA7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0luc3Bl
Y3RvckNsaWVudFF0LmggYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0luc3BlY3Rv
ckNsaWVudFF0LmgKaW5kZXggYzY0OWM2YjIwZmVkODVlNDNlNTlmM2IxNDBjZjA5ZmQ0ZTExMTFl
Yi4uYzk0ZDYxYTMyOTQwYTZhNDNkNTZlOWRlZTllNDE4MjhiN2QyNDFkYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9JbnNwZWN0b3JDbGllbnRRdC5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvSW5zcGVjdG9yQ2xpZW50UXQuaApAQCAt
NTIsNiArNTIsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGluc3BlY3RvckRlc3Ryb3ll
ZCgpOwogCiAgICAgdmlydHVhbCB2b2lkIG9wZW5JbnNwZWN0b3JGcm9udGVuZChXZWJDb3JlOjpJ
bnNwZWN0b3JDb250cm9sbGVyKik7CisgICAgdmlydHVhbCB2b2lkIGNsb3NlSW5zcGVjdG9yRnJv
bnRlbmQoKTsKICAgICB2aXJ0dWFsIHZvaWQgYnJpbmdGcm9udGVuZFRvRnJvbnQoKTsKIAogICAg
IHZpcnR1YWwgdm9pZCBoaWdobGlnaHQoKTsKQEAgLTg3LDcgKzg4LDYgQEAgcHVibGljOgogCiAg
ICAgdmlydHVhbCB2b2lkIGJyaW5nVG9Gcm9udCgpOwogICAgIHZpcnR1YWwgdm9pZCBjbG9zZVdp
bmRvdygpOwotICAgIHZpcnR1YWwgdm9pZCBkaXNjb25uZWN0RnJvbUJhY2tlbmQoKTsKIAogICAg
IHZpcnR1YWwgdm9pZCBhdHRhY2hXaW5kb3coKTsKICAgICB2aXJ0dWFsIHZvaWQgZGV0YWNoV2lu
ZG93KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJJ
bnNwZWN0b3JDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2Vi
SW5zcGVjdG9yQ2xpZW50LmNwcAppbmRleCBmNWUyZjM4MTRjMjNmZTMwNjUwYjYyZDU3M2UxZTgx
ZWFmNGRiMjIwLi5mMWVhYWVjYWU0ODhjZTQwMWIzM2I0YjM0ZWQ2YWM4OGUxNzM0YzBlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGll
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3Rv
ckNsaWVudC5jcHAKQEAgLTgyLDYgKzgyLDcgQEAgV2ViSW5zcGVjdG9yQ2xpZW50Ojp+V2ViSW5z
cGVjdG9yQ2xpZW50KCkKIAogdm9pZCBXZWJJbnNwZWN0b3JDbGllbnQ6Omluc3BlY3RvckRlc3Ry
b3llZCgpCiB7CisgICAgY2xvc2VJbnNwZWN0b3JGcm9udGVuZCgpOwogICAgIGRlbGV0ZSB0aGlz
OwogfQogCkBAIC0xNzgsNiArMTc5LDEyIEBAIHZvaWQgV2ViSW5zcGVjdG9yQ2xpZW50OjpvcGVu
SW5zcGVjdG9yRnJvbnRlbmQoSW5zcGVjdG9yQ29udHJvbGxlciogaW5zcGVjdG9yQ29uCiAgICAg
bV9mcm9udGVuZEh3bmQgPSBmcm9udGVuZEh3bmQ7CiB9CiAKK3ZvaWQgV2ViSW5zcGVjdG9yQ2xp
ZW50OjpjbG9zZUluc3BlY3RvckZyb250ZW5kKCkKK3sKKyAgICBpZiAobV9mcm9udGVuZENsaWVu
dCkKKyAgICAgICAgbV9mcm9udGVuZENsaWVudC0+ZGVzdHJveUluc3BlY3RvclZpZXcoZmFsc2Up
OworfQorCiB2b2lkIFdlYkluc3BlY3RvckNsaWVudDo6YnJpbmdGcm9udGVuZFRvRnJvbnQoKQog
ewogICAgIG1fZnJvbnRlbmRDbGllbnQtPmJyaW5nVG9Gcm9udCgpOwpAQCAtMjcxLDExICsyNzgs
NiBAQCB2b2lkIFdlYkluc3BlY3RvckZyb250ZW5kQ2xpZW50OjpjbG9zZVdpbmRvdygpCiAgICAg
ZGVzdHJveUluc3BlY3RvclZpZXcodHJ1ZSk7CiB9CiAKLXZvaWQgV2ViSW5zcGVjdG9yRnJvbnRl
bmRDbGllbnQ6OmRpc2Nvbm5lY3RGcm9tQmFja2VuZCgpCi17Ci0gICAgZGVzdHJveUluc3BlY3Rv
clZpZXcoZmFsc2UpOwotfQotCiB2b2lkIFdlYkluc3BlY3RvckZyb250ZW5kQ2xpZW50OjphdHRh
Y2hXaW5kb3coKQogewogICAgIGlmIChtX2F0dGFjaGVkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50LmggYi9Tb3VyY2UvV2Vi
S2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuaAppbmRleCAwYjljMWE0
MTU0Njc5NTg3NzVjYmFhMTVmZmQ3YWY0NzQ2MjY0OTE2Li5hNDNmYmViNTAxZDE5ZmQ4NzhkZmJl
MzBhYzhmNGI3MDViZGRkYTlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJDb3Jl
U3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbi9XZWJD
b3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuaApAQCAtNTgsNiArNTgsNyBAQCBwdWJsaWM6
CiAgICAgdmlydHVhbCB2b2lkIGluc3BlY3RvckRlc3Ryb3llZCgpOwogCiAgICAgdmlydHVhbCB2
b2lkIG9wZW5JbnNwZWN0b3JGcm9udGVuZChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVyKik7
CisgICAgdmlydHVhbCB2b2lkIGNsb3NlSW5zcGVjdG9yRnJvbnRlbmQoKTsKICAgICB2aXJ0dWFs
IHZvaWQgYnJpbmdGcm9udGVuZFRvRnJvbnQoKTsKIAogICAgIHZpcnR1YWwgdm9pZCBoaWdobGln
aHQoKTsKQEAgLTExMywxMiArMTE0LDEyIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc2V0
QXR0YWNoZWRXaW5kb3dIZWlnaHQodW5zaWduZWQgaGVpZ2h0KTsKICAgICB2aXJ0dWFsIHZvaWQg
aW5zcGVjdGVkVVJMQ2hhbmdlZChjb25zdCBXVEY6OlN0cmluZyYgbmV3VVJMKTsKIAorICAgIHZv
aWQgZGVzdHJveUluc3BlY3RvclZpZXcoYm9vbCBub3RpZnlJbnNwZWN0b3JDb250cm9sbGVyKTsK
KwogcHJpdmF0ZToKICAgICB2b2lkIGNsb3NlV2luZG93V2l0aG91dE5vdGlmaWNhdGlvbnMoKTsK
ICAgICB2b2lkIHNob3dXaW5kb3dXaXRob3V0Tm90aWZpY2F0aW9ucygpOwogCi0gICAgdm9pZCBk
ZXN0cm95SW5zcGVjdG9yVmlldyhib29sIG5vdGlmeUluc3BlY3RvckNvbnRyb2xsZXIpOwotCiAg
ICAgdm9pZCB1cGRhdGVXaW5kb3dUaXRsZSgpOwogCiAgICAgTFJFU1VMVCBvbkdldE1pbk1heElu
Zm8oV1BBUkFNLCBMUEFSQU0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC93aW5jZS9XZWJD
b3JlU3VwcG9ydC9JbnNwZWN0b3JDbGllbnRXaW5DRS5jcHAgYi9Tb3VyY2UvV2ViS2l0L3dpbmNl
L1dlYkNvcmVTdXBwb3J0L0luc3BlY3RvckNsaWVudFdpbkNFLmNwcAppbmRleCBkYzdhY2M3NDdl
NjE3Y2YzNDIxZmZkZTAwYzdhYWU5NTkzMWMyNDQ3Li41YmIzNGVmOGNkMmZmYmM3MWZlYWQwYTZi
NGFkMzhhMzE2NjU4MTI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3dpbmNlL1dlYkNvcmVT
dXBwb3J0L0luc3BlY3RvckNsaWVudFdpbkNFLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3dpbmNl
L1dlYkNvcmVTdXBwb3J0L0luc3BlY3RvckNsaWVudFdpbkNFLmNwcApAQCAtNTAsNiArNTAsMTEg
QEAgdm9pZCBJbnNwZWN0b3JDbGllbnRXaW5DRTo6b3Blbkluc3BlY3RvckZyb250ZW5kKEluc3Bl
Y3RvckNvbnRyb2xsZXIqIGNvbnRyb2xsZXIKICAgICBub3RJbXBsZW1lbnRlZCgpOwogfQogCit2
b2lkIEluc3BlY3RvckNsaWVudFdpbkNFOjpjbG9zZUluc3BlY3RvckZyb250ZW5kKCkKK3sKKyAg
ICBub3RJbXBsZW1lbnRlZCgpOworfQorCiB2b2lkIEluc3BlY3RvckNsaWVudFdpbkNFOjpicmlu
Z0Zyb250ZW5kVG9Gcm9udCgpCiB7CiAgICAgbm90SW1wbGVtZW50ZWQoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvSW5zcGVjdG9yQ2xpZW50V2luQ0Uu
aCBiL1NvdXJjZS9XZWJLaXQvd2luY2UvV2ViQ29yZVN1cHBvcnQvSW5zcGVjdG9yQ2xpZW50V2lu
Q0UuaAppbmRleCBhNjA4MGFlNTlhZTVkMmU4OWQzNTJiZjUxYmVlNDEzZjU4ZmEyYzVjLi5kZmQ4
MjMwM2E5YzJjZGVkMjExMzUyMTE3ZTA4ZGU2MWM3ZDVjOWI5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L3dpbmNlL1dlYkNvcmVTdXBwb3J0L0luc3BlY3RvckNsaWVudFdpbkNFLmgKKysrIGIv
U291cmNlL1dlYktpdC93aW5jZS9XZWJDb3JlU3VwcG9ydC9JbnNwZWN0b3JDbGllbnRXaW5DRS5o
CkBAIC0zOSw2ICszOSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgaW5zcGVjdG9yRGVz
dHJveWVkKCk7CiAKICAgICB2aXJ0dWFsIHZvaWQgb3Blbkluc3BlY3RvckZyb250ZW5kKFdlYkNv
cmU6Okluc3BlY3RvckNvbnRyb2xsZXIqKTsKKyAgICB2aXJ0dWFsIHZvaWQgY2xvc2VJbnNwZWN0
b3JGcm9udGVuZCgpOwogICAgIHZpcnR1YWwgdm9pZCBicmluZ0Zyb250ZW5kVG9Gcm9udCgpOwog
CiAgICAgdmlydHVhbCB2b2lkIGhpZ2hsaWdodCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC93eC9XZWJLaXRTdXBwb3J0L0luc3BlY3RvckNsaWVudFd4LmNwcCBiL1NvdXJjZS9XZWJLaXQv
d3gvV2ViS2l0U3VwcG9ydC9JbnNwZWN0b3JDbGllbnRXeC5jcHAKaW5kZXggZTNjNGRiYzJkNWI2
ZmU4MjM2ZDdlZjkxMTY2ZmZiZWUzOGQwYWFmOS4uOGE0ZTc5MjdhYWUwNWMwODBiYjE4ZjlhYmM5
NThkN2UwN2NjOGM2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0
L0luc3BlY3RvckNsaWVudFd4LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3d4L1dlYktpdFN1cHBv
cnQvSW5zcGVjdG9yQ2xpZW50V3guY3BwCkBAIC01Miw2ICs1MiwxMSBAQCB2b2lkIEluc3BlY3Rv
ckNsaWVudFd4OjpvcGVuSW5zcGVjdG9yRnJvbnRlbmQoV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJv
bGxlciopCiAgICAgbm90SW1wbGVtZW50ZWQoKTsKIH0KIAordm9pZCBJbnNwZWN0b3JDbGllbnRX
eDo6Y2xvc2VJbnNwZWN0b3JGcm9udGVuZCgpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30K
Kwogdm9pZCBJbnNwZWN0b3JDbGllbnRXeDo6YnJpbmdGcm9udGVuZFRvRnJvbnQoKQogewogICAg
IG5vdEltcGxlbWVudGVkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L3d4L1dlYktpdFN1
cHBvcnQvSW5zcGVjdG9yQ2xpZW50V3guaCBiL1NvdXJjZS9XZWJLaXQvd3gvV2ViS2l0U3VwcG9y
dC9JbnNwZWN0b3JDbGllbnRXeC5oCmluZGV4IDAyOWMyMTY3YTFkNzA2MjA0ZjVhNGJhODkzZjky
NmEzMzQ5ZTJhMDEuLmUxMGU2N2IyZTU1YjZiY2YwOGY2YjQyMjc4MzJiMjUzMWQ4NDUwYTQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9JbnNwZWN0b3JDbGllbnRX
eC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvd3gvV2ViS2l0U3VwcG9ydC9JbnNwZWN0b3JDbGllbnRX
eC5oCkBAIC00MSw2ICs0MSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgaW5zcGVjdG9y
RGVzdHJveWVkKCk7CiAKICAgICB2aXJ0dWFsIHZvaWQgb3Blbkluc3BlY3RvckZyb250ZW5kKFdl
YkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXIqKTsKKyAgICB2aXJ0dWFsIHZvaWQgY2xvc2VJbnNw
ZWN0b3JGcm9udGVuZCgpOwogICAgIHZpcnR1YWwgdm9pZCBicmluZ0Zyb250ZW5kVG9Gcm9udCgp
OwogCiAgICAgdmlydHVhbCB2b2lkIGhpZ2hsaWdodCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuY3BwIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGll
bnQuY3BwCmluZGV4IDQ5MWVlNTc0MzcwOGMxNDJiZjBiMDIzNmVjODVkODI2YjhkMzAwOTkuLjU0
YjQ3N2UwZjZhYTUxNWViMDc2OGZjYzQ2ZWQ2OWIxYTRmYjJhZDkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50LmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkluc3Bl
Y3RvckNsaWVudC5jcHAKQEAgLTM5LDYgKzM5LDcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKIHZv
aWQgV2ViSW5zcGVjdG9yQ2xpZW50OjppbnNwZWN0b3JEZXN0cm95ZWQoKQogeworICAgIGNsb3Nl
SW5zcGVjdG9yRnJvbnRlbmQoKTsKICAgICBkZWxldGUgdGhpczsKIH0KIApAQCAtNDgsNiArNDks
MTEgQEAgdm9pZCBXZWJJbnNwZWN0b3JDbGllbnQ6Om9wZW5JbnNwZWN0b3JGcm9udGVuZChJbnNw
ZWN0b3JDb250cm9sbGVyKikKICAgICBBU1NFUlRfVU5VU0VEKGluc3BlY3RvclBhZ2UsIGluc3Bl
Y3RvclBhZ2UpOwogfQogCit2b2lkIFdlYkluc3BlY3RvckNsaWVudDo6Y2xvc2VJbnNwZWN0b3JG
cm9udGVuZCgpCit7CisgICAgbV9wYWdlLT5pbnNwZWN0b3IoKS0+ZGlkQ2xvc2UoKTsKK30KKwog
dm9pZCBXZWJJbnNwZWN0b3JDbGllbnQ6OmJyaW5nRnJvbnRlbmRUb0Zyb250KCkKIHsKICAgICBt
X3BhZ2UtPmluc3BlY3RvcigpLT5icmluZ1RvRnJvbnQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50LmggYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVu
dC5oCmluZGV4IDg0OWFkMjI5MTg2ZTMxZmRhNmIzOTU1MWM1MWRjZDgxMTM3YjU3YjMuLjM5NzAw
MzAyNDE5Y2MzYzliZTRhM2FiNWM3YjFiNDBhNGYxZGJmMzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50LmgKKysr
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JD
bGllbnQuaApAQCAtNTMsNiArNTMsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBpbnNw
ZWN0b3JEZXN0cm95ZWQoKSBPVkVSUklERTsKIAogICAgIHZpcnR1YWwgdm9pZCBvcGVuSW5zcGVj
dG9yRnJvbnRlbmQoV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxlciopIE9WRVJSSURFOworICAg
IHZpcnR1YWwgdm9pZCBjbG9zZUluc3BlY3RvckZyb250ZW5kKCkgT1ZFUlJJREU7CiAgICAgdmly
dHVhbCB2b2lkIGJyaW5nRnJvbnRlbmRUb0Zyb250KCkgT1ZFUlJJREU7CiAKICAgICB2aXJ0dWFs
IHZvaWQgaGlnaGxpZ2h0KCkgT1ZFUlJJREU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckZyb250ZW5kQ2xpZW50LmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yRnJv
bnRlbmRDbGllbnQuY3BwCmluZGV4IDhhOTgxOTUxOTdiZjM3YmFkZDRlM2MyNTA5ZjA2YzI5MDIz
NzY2YzUuLjA5ZTFkMzdjYzkyZTMyMWI4MzQ0YmFmNjljNGNhNDY5Y2M0MjRiM2MgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9y
RnJvbnRlbmRDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQuY3BwCkBAIC03NCwxMSArNzQsNiBA
QCB2b2lkIFdlYkluc3BlY3RvckZyb250ZW5kQ2xpZW50OjpjbG9zZVdpbmRvdygpCiAgICAgbV9w
YWdlLT5pbnNwZWN0b3IoKS0+ZGlkQ2xvc2UoKTsKIH0KIAotdm9pZCBXZWJJbnNwZWN0b3JGcm9u
dGVuZENsaWVudDo6ZGlzY29ubmVjdEZyb21CYWNrZW5kKCkKLXsKLSAgICBtX3BhZ2UtPmluc3Bl
Y3RvcigpLT5kaWRDbG9zZSgpOwotfQotCiB2b2lkIFdlYkluc3BlY3RvckZyb250ZW5kQ2xpZW50
OjphdHRhY2hXaW5kb3coKQogewogICAgIG1fcGFnZS0+aW5zcGVjdG9yKCktPmF0dGFjaCgpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJJ
bnNwZWN0b3JGcm9udGVuZENsaWVudC5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJD
b3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JGcm9udGVuZENsaWVudC5oCmluZGV4IGQ4YjE3YmRhNTA1
OGJjYjk1NTNkOTBhNThiNWQ1NjAyYmEwZTUyYzYuLjMxODNhYjAwYTg3MDNmYWNmZWU0Y2JiYzdm
MzgxZGNlYmVmZTcxMDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yRnJvbnRlbmRDbGllbnQuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckZyb250ZW5kQ2xpZW50
LmgKQEAgLTQ2LDcgKzQ2LDYgQEAgcHJpdmF0ZToKIAogICAgIHZpcnR1YWwgdm9pZCBicmluZ1Rv
RnJvbnQoKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgY2xvc2VXaW5kb3coKSBPVkVSUklE
RTsKLSAgICB2aXJ0dWFsIHZvaWQgZGlzY29ubmVjdEZyb21CYWNrZW5kKCkgT1ZFUlJJREU7CiAK
ICAgICB2aXJ0dWFsIHZvaWQgYXR0YWNoV2luZG93KCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2
b2lkIGRldGFjaFdpbmRvdygpIE9WRVJSSURFOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>