From 396d8bc23882488ea86243de46c8c339128970f3 Mon Sep 17 00:00:00 2001 From: Patti Short Date: Thu, 1 Nov 2018 11:47:57 -0700 Subject: [PATCH 01/53] fixed broken links --- browsers/edge/index.yml | 4 ++++ browsers/edge/microsoft-edge-kiosk-mode-deploy.md | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/browsers/edge/index.yml b/browsers/edge/index.yml index 0c4b06ad03..409524122e 100644 --- a/browsers/edge/index.yml +++ b/browsers/edge/index.yml @@ -124,7 +124,11 @@ sections: html:

Minimum system requirements

+ +

Supported languages

+ +

Document change history

diff --git a/browsers/edge/microsoft-edge-kiosk-mode-deploy.md b/browsers/edge/microsoft-edge-kiosk-mode-deploy.md index 5d4b7d4382..a3d1996719 100644 --- a/browsers/edge/microsoft-edge-kiosk-mode-deploy.md +++ b/browsers/edge/microsoft-edge-kiosk-mode-deploy.md @@ -248,7 +248,7 @@ In the following table, we show you the features available in both Microsoft Edg **\*Windows Defender Firewall**

-To prevent access to unwanted websites on your kiosk device, use Windows Defender Firewall to configure a list of allowed websites, blocked websites or both. For more details, see [Windows Defender Firewall with Advanced Security Deployment](https://docs.microsoft.com/windows/security/identity-protection/windows-firewall/windows-firewall-with-advanced-security-deployment-guide). +To prevent access to unwanted websites on your kiosk device, use Windows Defender Firewall to configure a list of allowed websites, blocked websites or both. For more details, see [Windows Defender Firewall with Advanced Security Deployment](https://docs.microsoft.com/windows/security/threat-protection/windows-firewall/windows-firewall-with-advanced-security-deployment-guide). --- From 94ca9a94556ca04a5941568b6577bc1490d5eb8d Mon Sep 17 00:00:00 2001 From: Patti Short Date: Thu, 1 Nov 2018 12:20:58 -0700 Subject: [PATCH 02/53] formatting --- browsers/edge/index.yml | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/browsers/edge/index.yml b/browsers/edge/index.yml index 409524122e..0b91243a04 100644 --- a/browsers/edge/index.yml +++ b/browsers/edge/index.yml @@ -124,12 +124,8 @@ sections: html:

Minimum system requirements

- -

Supported languages

- - - +

Document change history

Compare Windows 10 Editions

From a6af7988d519cb397d40549a5edf38f160386624 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20P=2E=20Cort=C3=A9s?= Date: Fri, 2 Nov 2018 10:36:19 -0600 Subject: [PATCH 03/53] Update file for typo Updating typo (guidelines instead of guidlines) in ### IT-Driven --- windows/deployment/windows-autopilot/windows-10-autopilot.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deployment/windows-autopilot/windows-10-autopilot.md b/windows/deployment/windows-autopilot/windows-10-autopilot.md index 9611b51a68..7f8964a738 100644 --- a/windows/deployment/windows-autopilot/windows-10-autopilot.md +++ b/windows/deployment/windows-autopilot/windows-10-autopilot.md @@ -126,7 +126,7 @@ To manage devices behind firewalls and proxy servers, the following URLs need to >Where not explicitly specified, both HTTPS (443) and HTTP (80) need to be accessible. >[!TIP] ->If you're auto-enrolling your devices into Microsoft Intune, or deploying Microsoft Office, make sure you follow the networking guidlines for [Microsoft Intune](https://docs.microsoft.com/intune/network-bandwidth-use#network-communication-requirements) and [Office 365](https://support.office.com/en-us/article/Office-365-URLs-and-IP-address-ranges-8548a211-3fe7-47cb-abb1-355ea5aa88a2). +>If you're auto-enrolling your devices into Microsoft Intune, or deploying Microsoft Office, make sure you follow the networking guidelines for [Microsoft Intune](https://docs.microsoft.com/intune/network-bandwidth-use#network-communication-requirements) and [Office 365](https://support.office.com/en-us/article/Office-365-URLs-and-IP-address-ranges-8548a211-3fe7-47cb-abb1-355ea5aa88a2). ### IT-Driven From 6de2f4f9e53ec3692cd05e766dff8573fbdc18e7 Mon Sep 17 00:00:00 2001 From: Patti Short Date: Fri, 2 Nov 2018 14:10:05 -0700 Subject: [PATCH 04/53] fixed broken links --- browsers/edge/group-policies/prelaunch-preload-gp.md | 2 +- .../group-policies/security-privacy-management-gp.md | 4 ++-- .../edge/includes/provision-favorites-include.md | 2 +- browsers/edge/microsoft-edge-faq.md | 8 +++++--- ...-list-using-the-version-1-enterprise-mode-tool.md | 2 +- ...-list-using-the-version-2-enterprise-mode-tool.md | 2 +- .../create-change-request-enterprise-mode-portal.md | 2 +- .../enterprise-mode-schema-version-1-guidance.md | 8 ++++---- .../enterprise-mode-schema-version-2-guidance.md | 10 +++++----- ...up-enterprise-mode-logging-and-data-collection.md | 4 ++-- .../enterprise-mode/set-up-enterprise-mode-portal.md | 4 ++-- .../turn-on-enterprise-mode-and-use-a-site-list.md | 2 +- ...-local-control-and-logging-for-enterprise-mode.md | 6 +++--- ...-list-using-the-version-1-enterprise-mode-tool.md | 2 +- ...-list-using-the-version-2-enterprise-mode-tool.md | 2 +- .../auto-configuration-settings-for-ie11.md | 2 +- .../auto-detect-settings-for-ie11.md | 2 +- .../auto-proxy-configuration-settings-for-ie11.md | 2 +- .../create-change-request-enterprise-mode-portal.md | 2 +- .../deploy-pinned-sites-using-mdt-2013.md | 2 +- .../enterprise-mode-schema-version-1-guidance.md | 8 ++++---- .../enterprise-mode-schema-version-2-guidance.md | 10 +++++----- ...ie11-using-windows-server-update-services-wsus.md | 2 +- .../ie11-deploy-guide/intranet-problems-and-ie11.md | 4 ++-- .../out-of-date-activex-control-blocking.md | 6 +++--- ...up-enterprise-mode-logging-and-data-collection.md | 4 ++-- .../set-up-enterprise-mode-portal.md | 4 ++-- ...-local-control-and-logging-for-enterprise-mode.md | 6 +++--- .../ie11-ieak/auto-config-ieak11-wizard.md | 2 +- .../auto-detection-dhcp-or-dns-servers-ieak11.md | 8 ++++---- .../ie11-ieak/custombranding-ins-file-setting.md | 2 +- .../ie11-ieak/customize-automatic-search-for-ie.md | 12 ++++++------ ...rtant-urls-home-page-and-support-ieak11-wizard.md | 2 +- .../ie11-ieak/proxy-auto-config-examples.md | 2 +- .../ie11-ieak/proxy-settings-ieak11-wizard.md | 4 ++-- .../ie11-ieak/search-providers-ieak11-wizard.md | 2 +- .../troubleshooting-custom-browser-pkg-ieak11.md | 2 +- 37 files changed, 76 insertions(+), 74 deletions(-) diff --git a/browsers/edge/group-policies/prelaunch-preload-gp.md b/browsers/edge/group-policies/prelaunch-preload-gp.md index eae661d455..aa402f3743 100644 --- a/browsers/edge/group-policies/prelaunch-preload-gp.md +++ b/browsers/edge/group-policies/prelaunch-preload-gp.md @@ -18,7 +18,7 @@ Additionally, Microsoft Edge preloads the Start and New Tab pages during Windows ## Relevant group policies - [Allow Microsoft Edge to pre-launch at Windows startup, when the system is idle, and each time Microsoft Edge is closed](#allow-microsoft-edge-to-pre-launch-at-windows-startup-when-the-system-is-idle-and-each-time-microsoft-edge-is-closed) -- [Allow Microsoft Edge to load the Start and New Tab page at Windows startup and each time Microsoft Edge is closed](#allow-microsoft-edge-to-start-and-load-the-start-and-new-tab-page-at-windows-startup-and-each-time-microsoft-edge-is-closed) +- [Allow Microsoft Edge to load the Start and New Tab page at Windows startup and each time Microsoft Edge is closed](#allow-microsoft-edge-to-load-the-start-and-new-tab-page-at-windows-startup-and-each-time-microsoft-edge-is-closed) You can find the Microsoft Edge Group Policy settings in the following location of the Group Policy Editor unless otherwise noted in the policy: diff --git a/browsers/edge/group-policies/security-privacy-management-gp.md b/browsers/edge/group-policies/security-privacy-management-gp.md index 100feaa54d..3b66e9902c 100644 --- a/browsers/edge/group-policies/security-privacy-management-gp.md +++ b/browsers/edge/group-policies/security-privacy-management-gp.md @@ -57,12 +57,12 @@ Microsoft Edge addresses these threats to help make browsing the web a safer exp | Feature | Description | |---|---| -| **[Windows Hello](http://blogs.windows.com/bloggingwindows/2015/03/17/making-windows-10-more-personal-and-more-secure-with-windows-hello/)** | Microsoft Edge is the first browser to natively support Windows Hello to authenticate the user and the website with asymmetric cryptography technology, powered by early implementation of the [Web Authentication (formerly FIDO 2.0 Web API) specification](http://w3c.github.io/webauthn/). | +| **[Windows Hello](https://blogs.windows.com/bloggingwindows/2015/03/17/making-windows-10-more-personal-and-more-secure-with-windows-hello/)** | Microsoft Edge is the first browser to natively support Windows Hello to authenticate the user and the website with asymmetric cryptography technology, powered by early implementation of the [Web Authentication (formerly FIDO 2.0 Web API) specification](https://w3c.github.io/webauthn/). | | **Microsoft SmartScreen** | Defends against phishing by performing reputation checks on sites visited and blocking any sites that are thought to be a phishing site. SmartScreen also helps to defend against installing malicious software, drive-by attacks, or file downloads, even from trusted sites. Drive-by attacks are malicious web-based attacks that compromise your system by targeting security vulnerabilities in commonly used software and may be hosted on trusted sites. | | **Certificate Reputation system** | Collects data about certificates in use, detecting new certificates and flagging fraudulent certificates automatically, and sends the data to Microsoft. The systems and tools in place include
  • Certificate Reputation system: Protects users from fraudulent certificates.
  • Bing Webmaster Tools (for developers): Reports fake certificates directly to Microsoft.
| | **Microsoft EdgeHTML and modern web standards** | Microsoft Edge uses Microsoft EdgeHTML as the rendering engine. This engine focuses on modern standards letting web developers build and maintain a consistent site across all modern browsers. It also helps to defend against hacking through these security standards features:
  • Support for the W3C standard for [Content Security Policy (CSP)](https://developer.microsoft.com/microsoft-edge/platform/documentation/dev-guide/security/content-Security-Policy), which can help web developers defend their sites against cross-site scripting attacks.
  • Support for the [HTTP Strict Transport Security (HSTS)](https://developer.microsoft.com/microsoft-edge/platform/documentation/dev-guide/security/HSTS/) security feature (IETF-standard compliant). HSTS helps ensure that connections to important sites, such as to your bank, are always secured.

**NOTE:** Both Microsoft Edge and Internet Explorer 11 support HSTS. | | **Code integrity and image loading restrictions** | Microsoft Edge content processes support code integrity and image load restrictions, helping to prevent malicious DLLs from loading or injecting into the content processes. Only [properly signed images](https://blogs.windows.com/msedgedev/2015/11/17/microsoft-edge-module-code-integrity/) are allowed to load into Microsoft Edge. Binaries on remote devices (such as UNC or WebDAV) can’t load. | -| **Memory corruption mitigations** | Memory corruption attacks frequently happen to apps written in C or C++ don’t provide safety or buffer overflow protection. When an attacker provides malformed input to a program, the program’s memory becomes corrupt allowing the attacker to take control of the program. Although attackers have adapted and invented new ways to attack, we’ve responded with memory safety defenses, mitigating the most common forms of attack, including and especially [use-after-free (UAF)](http://cwe.mitre.org/data/definitions/416.html) vulnerabilities. | +| **Memory corruption mitigations** | Memory corruption attacks frequently happen to apps written in C or C++ don’t provide safety or buffer overflow protection. When an attacker provides malformed input to a program, the program’s memory becomes corrupt allowing the attacker to take control of the program. Although attackers have adapted and invented new ways to attack, we’ve responded with memory safety defenses, mitigating the most common forms of attack, including and especially [use-after-free (UAF)](https://cwe.mitre.org/data/definitions/416.html) vulnerabilities. | | **Memory Garbage Collector (MemGC) mitigation** | MemGC replaces Memory Protector and helps to protect the browser from UAF vulnerabilities. MemGC frees up memory from the programmer and automating it. Only freeing memory when the automation detects no references left pointing to a given block of memory. | | **Control Flow Guard** | Attackers use memory corruption attacks to gain control of the CPU program counter to jump to any code location they want. Control Flow Guard, a Microsoft Visual Studio technology, compiles checks around code that performs indirect jumps based on a pointer. Those jumps get restricted to function entry points with known addresses only making attacker take-overs must more difficult constraining where an attack jumps. | | **All web content runs in an app container sandbox** |Microsoft Edge takes the sandbox even farther, running its content processes in containers not just by default, but all of the time. Microsoft Edge doesn’t support 3rd party binary extensions, so there is no reason for it to run outside of the container, making Microsoft Edge more secure. | diff --git a/browsers/edge/includes/provision-favorites-include.md b/browsers/edge/includes/provision-favorites-include.md index efd553631f..a67f33444b 100644 --- a/browsers/edge/includes/provision-favorites-include.md +++ b/browsers/edge/includes/provision-favorites-include.md @@ -21,7 +21,7 @@ ms:topic: include |Group Policy |Description |Most restricted | |---|---|:---:| |Disabled or not configured
**(default)** |Users can customize the favorites list, such as adding folders, or adding and removing favorites. | | -|Enabled |Define a default list of favorites in Microsoft Edge. In this case, the Save a Favorite, Import settings, and context menu options (such as Create a new folder) are turned off.

To define a default list of favorites, do the following:

  1. In the upper-right corner of Microsoft Edge, click the ellipses (**...**) and select **Settings**.
  2. Click **Import from another browser**, click **Export to file** and save the file.
  3. In the **Options** section of the Group Policy Editor, provide the location that points the file with the list of favorites to provision. Specify the URL as:
    • HTTP location: "SiteList"=http://localhost:8080/URLs.html
    • Local network: "SiteList"="\network\shares\URLs.html"
    • Local file: "SiteList"=file:///c:/Users/Documents/URLs.html
|![Most restricted value](../images/check-gn.png) | +|Enabled |Define a default list of favorites in Microsoft Edge. In this case, the Save a Favorite, Import settings, and context menu options (such as Create a new folder) are turned off.

To define a default list of favorites, do the following:

  1. In the upper-right corner of Microsoft Edge, click the ellipses (**...**) and select **Settings**.
  2. Click **Import from another browser**, click **Export to file** and save the file.
  3. In the **Options** section of the Group Policy Editor, provide the location that points the file with the list of favorites to provision. Specify the URL as:
    • HTTP location: "SiteList"=https://localhost:8080/URLs.html
    • Local network: "SiteList"="\network\shares\URLs.html"
    • Local file: "SiteList"=file:///c:/Users/Documents/URLs.html
|![Most restricted value](../images/check-gn.png) | --- ### ADMX info and settings diff --git a/browsers/edge/microsoft-edge-faq.md b/browsers/edge/microsoft-edge-faq.md index d4c8a0509a..47f937d659 100644 --- a/browsers/edge/microsoft-edge-faq.md +++ b/browsers/edge/microsoft-edge-faq.md @@ -32,7 +32,7 @@ For more information on how Internet Explorer and Microsoft Edge can work togeth **Q: Does Microsoft Edge work with Enterprise Mode?** -**A:** [Enterprise Mode](https://docs.microsoft.com/internet-explorer/ie11-deploy-guide/enterprise-mode-overview-for-ie11) offers better backward compatibility and enables customers to run many legacy web applications. Microsoft Edge and Internet Explorer can be configured to use the same Enterprise Mode Site List, switching seamlessly between browsers to support both modern and legacy web apps. For guidance and additional resources, please visit the [Microsoft Edge IT Center](https://technet.microsoft.com/en-us/microsoft-edge). +**A:** [Enterprise Mode](https://docs.microsoft.com/internet-explorer/ie11-deploy-guide/enterprise-mode-overview-for-ie11) offers better backward compatibility and enables customers to run many legacy web applications. Microsoft Edge and Internet Explorer can be configured to use the same Enterprise Mode Site List, switching seamlessly between browsers to support both modern and legacy web apps. **Q: I have Windows 10, but I don’t seem to have Microsoft Edge. Why?** @@ -41,7 +41,7 @@ For more information on how Internet Explorer and Microsoft Edge can work togeth **Q: How do I get the latest Canary/Beta/Preview version of Microsoft Edge?** -**A:** You can access the latest preview version of Microsoft Edge by updating to the latest Windows 10 preview via the [Windows Insider Program](https://insider.windows.com/). To run the preview version of Microsoft Edge on a stable version of Windows 10 (or any other OS), you can download a [Virtual Machine](https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/windows/) that we provide or use the upcoming RemoteEdge service. +**A:** You can access the latest preview version of Microsoft Edge by updating to the latest Windows 10 preview via the [Windows Insider Program](https://insider.windows.com/). To run the preview version of Microsoft Edge on a stable version of Windows 10 (or any other OS), you can download a [Virtual Machine](https://developer.microsoft.com/microsoft-edge/tools/vms/windows/) that we provide or use the upcoming RemoteEdge service. **Q: How do I customize Microsoft Edge and related settings for my organization?** @@ -49,7 +49,9 @@ For more information on how Internet Explorer and Microsoft Edge can work togeth **Q: Is Adobe Flash supported in Microsoft Edge?** -**A:** Currently, Adobe Flash is supported as a built-in feature of Microsoft Edge on devices running the desktop version of Windows 10. In July 2017, Adobe announced that Flash will no longer be supported after 2020. With Adobe no longer supporting Flash after 2020, Microsoft has started to phase out Flash from Microsoft Edge by adding the [Configure the Adobe Flash Click-to-Run setting](#configure-the-adobe-flash-click-to-run-setting) group policy giving you a way to control the list of websites that have permission to run Adobe Flash content. +**A:** Currently, Adobe Flash is supported as a built-in feature of Microsoft Edge on devices running the desktop version of Windows 10. In July 2017, Adobe announced that Flash will no longer be supported after 2020. With Adobe no longer supporting Flash after 2020, Microsoft has started to phase out Flash from Microsoft Edge by adding the [Configure the Adobe Flash Click-to-Run setting](available-policies.md#configure-the-adobe-flash-click-to-run-setting) group policy giving you a way to control the list of websites that have permission to run Adobe Flash content. + + To learn more about Microsoft’s plan for phasing out Flash from Microsoft Edge and Internet Explorer, see [The End of an Era — Next Steps for Adobe Flash]( https://blogs.windows.com/msedgedev/2017/07/25/flash-on-windows-timeline/#3Bcc3QjRw0l7XsZ4.97) (blog article). diff --git a/browsers/enterprise-mode/add-single-sites-to-enterprise-mode-site-list-using-the-version-1-enterprise-mode-tool.md b/browsers/enterprise-mode/add-single-sites-to-enterprise-mode-site-list-using-the-version-1-enterprise-mode-tool.md index f6061375ab..6ebdd65d65 100644 --- a/browsers/enterprise-mode/add-single-sites-to-enterprise-mode-site-list-using-the-version-1-enterprise-mode-tool.md +++ b/browsers/enterprise-mode/add-single-sites-to-enterprise-mode-site-list-using-the-version-1-enterprise-mode-tool.md @@ -33,7 +33,7 @@ You can add individual sites to your compatibility list by using the Enterprise 1. In the Enterprise Mode Site List Manager (schema v.1), click **Add**. 2. Type the URL for the website that’s experiencing compatibility problems, like *<domain>.com* or *<domain>.com*/*<path>* into the **URL** box.

-Don't include the `http://` or `https://` designation. The tool automatically tries both versions during validation. +Don't include the `https://` or `https://` designation. The tool automatically tries both versions during validation. 3. Type any comments about the website into the **Notes about URL** box.

Administrators can only see comments while they’re in this tool. diff --git a/browsers/enterprise-mode/add-single-sites-to-enterprise-mode-site-list-using-the-version-2-enterprise-mode-tool.md b/browsers/enterprise-mode/add-single-sites-to-enterprise-mode-site-list-using-the-version-2-enterprise-mode-tool.md index eafa1921a5..4c6531c174 100644 --- a/browsers/enterprise-mode/add-single-sites-to-enterprise-mode-site-list-using-the-version-2-enterprise-mode-tool.md +++ b/browsers/enterprise-mode/add-single-sites-to-enterprise-mode-site-list-using-the-version-2-enterprise-mode-tool.md @@ -33,7 +33,7 @@ You can add individual sites to your compatibility list by using the Enterprise 1. In the Enterprise Mode Site List Manager (schema v.2), click **Add**. 2. Type the URL for the website that’s experiencing compatibility problems, like *<domain>.com* or *<domain>.com*/*<path>* into the **URL** box.

-Don't include the `http://` or `https://` designation. The tool automatically tries both versions during validation. +Don't include the `https://` or `https://` designation. The tool automatically tries both versions during validation. 3. Type any comments about the website into the **Notes about URL** box.

Administrators can only see comments while they’re in this tool. diff --git a/browsers/enterprise-mode/create-change-request-enterprise-mode-portal.md b/browsers/enterprise-mode/create-change-request-enterprise-mode-portal.md index 18b8b34406..45f93d3701 100644 --- a/browsers/enterprise-mode/create-change-request-enterprise-mode-portal.md +++ b/browsers/enterprise-mode/create-change-request-enterprise-mode-portal.md @@ -50,7 +50,7 @@ Employees assigned to the Requester role can create a change request. A change r - **Business impact (optional).** An optional area where you can provide info about the business impact of this app and the change. - - **App location (URL).** The full URL location to the app, starting with http:// or https://. + - **App location (URL).** The full URL location to the app, starting with https:// or https://. - **App best viewed in.** Select the best browser experience for the app. This can be Internet Explorer 5 through Internet Explorer 11 or one of the IE7Enterprise or IE8Enterprise modes. diff --git a/browsers/enterprise-mode/enterprise-mode-schema-version-1-guidance.md b/browsers/enterprise-mode/enterprise-mode-schema-version-1-guidance.md index 88711fd787..52ada71083 100644 --- a/browsers/enterprise-mode/enterprise-mode-schema-version-1-guidance.md +++ b/browsers/enterprise-mode/enterprise-mode-schema-version-1-guidance.md @@ -28,7 +28,7 @@ If you don't want to use the Enterprise Mode Site List Manager, you also have th The following is an example of the Enterprise Mode schema v.1. This schema can run on devices running Windows 7 and Windows 8.1. **Important**
-Make sure that you don't specify a protocol when adding your URLs. Using a URL like `contoso.com` automatically applies to both http://contoso.com and https://contoso.com. +Make sure that you don't specify a protocol when adding your URLs. Using a URL like `contoso.com` automatically applies to both https://contoso.com and https://contoso.com. ``` xml @@ -135,7 +135,7 @@ This table includes the elements used by the Enterprise Mode schema. <path exclude="true">/products</path> </domain> </emie>

-Where http://fabrikam.com doesn't use IE8 Enterprise Mode, but http://fabrikam.com/products does. +Where https://fabrikam.com doesn't use IE8 Enterprise Mode, but https://fabrikam.com/products does. Internet Explorer 11 and Microsoft Edge @@ -167,7 +167,7 @@ This table includes the attributes used by the Enterprise Mode schema. <path exclude="true">/products</path> </domain> </emie>

-Where http://fabrikam.com doesn't use IE8 Enterprise Mode, but http://fabrikam.com/products does. +Where https://fabrikam.com doesn't use IE8 Enterprise Mode, but https://fabrikam.com/products does. Internet Explorer 11 and Microsoft Edge @@ -203,7 +203,7 @@ For example, say you want all of the sites in the contoso.com domain to open usi ### What not to include in your schema We recommend that you not add any of the following items to your schema because they can make your compatibility list behave in unexpected ways: -- Don’t use protocols. For example, `http://`, `https://`, or custom protocols. They break parsing. +- Don’t use protocols. For example, `https://`, `https://`, or custom protocols. They break parsing. - Don’t use wildcards. - Don’t use query strings, ampersands break parsing. diff --git a/browsers/enterprise-mode/enterprise-mode-schema-version-2-guidance.md b/browsers/enterprise-mode/enterprise-mode-schema-version-2-guidance.md index df6a01cb68..ebc229a1db 100644 --- a/browsers/enterprise-mode/enterprise-mode-schema-version-2-guidance.md +++ b/browsers/enterprise-mode/enterprise-mode-schema-version-2-guidance.md @@ -38,7 +38,7 @@ You can continue to use the v.1 version of the schema on Windows 10, but you wo The following is an example of the v.2 version of the Enterprise Mode schema. **Important**
-Make sure that you don't specify a protocol when adding your URLs. Using a URL like ``, automatically applies to both http://contoso.com and https://contoso.com. +Make sure that you don't specify a protocol when adding your URLs. Using a URL like ``, automatically applies to both https://contoso.com and https://contoso.com.   ``` xml @@ -198,7 +198,7 @@ The <url> attribute, as part of the <site> element in the v.2 versio <site url="contoso.com/travel"> <open-in allow-redirect="true">IE11</open-in> </site> -In this example, if http://contoso.com/travel is encountered in a redirect chain in Microsoft Edge, it will be opened in Internet Explorer. +In this example, if https://contoso.com/travel is encountered in a redirect chain in Microsoft Edge, it will be opened in Internet Explorer. Internet Explorer 11 and Microsoft Edge @@ -210,14 +210,14 @@ In this example, if http://contoso.com/travel is encountered in a redirect chain url Specifies the URL (and port number using standard port conventions) to which the child elements apply. The URL can be a domain, sub-domain, or any path URL.
Note
-Make sure that you don't specify a protocol. Using <site url="contoso.com"> applies to both http://contoso.com and https://contoso.com. +Make sure that you don't specify a protocol. Using <site url="contoso.com"> applies to both https://contoso.com and https://contoso.com.

Example

 <site url="contoso.com:8080">
   <compat-mode>IE8Enterprise</compat-mode>
   <open-in>IE11</open-in>
 </site>
-In this example, going to http://contoso.com:8080 using Microsoft Edge, causes the site to open in IE11 and load in IE8 Enterprise Mode. +In this example, going to https://contoso.com:8080 using Microsoft Edge, causes the site to open in IE11 and load in IE8 Enterprise Mode. Internet Explorer 11 and Microsoft Edge @@ -286,7 +286,7 @@ Saving your v.1 version of the file using the new Enterprise Mode Site List Mana ### What not to include in your schema We recommend that you not add any of the following items to your schema because they can make your compatibility list behave in unexpected ways: -- Don’t use protocols. For example, http://, https://, or custom protocols. They break parsing. +- Don’t use protocols. For example, https://, https://, or custom protocols. They break parsing. - Don’t use wildcards. - Don’t use query strings, ampersands break parsing. diff --git a/browsers/enterprise-mode/set-up-enterprise-mode-logging-and-data-collection.md b/browsers/enterprise-mode/set-up-enterprise-mode-logging-and-data-collection.md index bfb9659bd0..b67d27b563 100644 --- a/browsers/enterprise-mode/set-up-enterprise-mode-logging-and-data-collection.md +++ b/browsers/enterprise-mode/set-up-enterprise-mode-logging-and-data-collection.md @@ -111,7 +111,7 @@ The required packages are automatically downloaded and included in the solution. 1. Open a registry editor on the computer where you deployed the app, go to the `HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Internet Explorer\Main\EnterpriseMode` key, and change the **Enable** string to: - ``` "Enable"="http:///api/records/" + ``` "Enable"="https:///api/records/" ``` Where `` points to your deployment URL. @@ -125,7 +125,7 @@ The required packages are automatically downloaded and included in the solution. **To view the report results** -- Go to `http:///List` to see the report results.

+- Go to `https:///List` to see the report results.

If you’re already on the webpage, you’ll need to refresh the page to see the results. ![Enterprise Mode Result report with details](images/ie-emie-reportwdetails.png) diff --git a/browsers/enterprise-mode/set-up-enterprise-mode-portal.md b/browsers/enterprise-mode/set-up-enterprise-mode-portal.md index 0aca62e070..fe5fe752fc 100644 --- a/browsers/enterprise-mode/set-up-enterprise-mode-portal.md +++ b/browsers/enterprise-mode/set-up-enterprise-mode-portal.md @@ -176,7 +176,7 @@ Using the IIS Manager, you must restart both your Application Pool and your webs After you've created your database and website, you'll need to register yourself (or another employee) as an administrator for the Enterprise Mode Site List Portal. **To register as an administrator** -1. Open Microsoft Edge and type your website URL into the Address bar. For example, http://emieportal:8085. +1. Open Microsoft Edge and type your website URL into the Address bar. For example, https://emieportal:8085. 2. Click **Register now**. @@ -184,7 +184,7 @@ After you've created your database and website, you'll need to register yourself 4. Click **Administrator** from the **Role** box, and then click **Save**. -5. Append your website URL with `/#/EMIEAdminConsole` in the Address bar to go to your administrator console. For example, http://emieportal:8085/#/EMIEAdminConsole. +5. Append your website URL with `/#/EMIEAdminConsole` in the Address bar to go to your administrator console. For example, https://emieportal:8085/#/EMIEAdminConsole. A dialog box appears, prompting you for the system user name and password. The default user name is EMIEAdmin and the default password is Admin123. We strongly recommend that you change the password by using the **Change password** link as soon as you're done with your first visit. diff --git a/browsers/enterprise-mode/turn-on-enterprise-mode-and-use-a-site-list.md b/browsers/enterprise-mode/turn-on-enterprise-mode-and-use-a-site-list.md index e4e3d83ec8..1a704aa67e 100644 --- a/browsers/enterprise-mode/turn-on-enterprise-mode-and-use-a-site-list.md +++ b/browsers/enterprise-mode/turn-on-enterprise-mode-and-use-a-site-list.md @@ -33,7 +33,7 @@ All of your managed devices must have access to this location if you want them t - **Local file:** `"SiteList"="file:///c:\\Users\\\\Documents\\testList.xml"` > **Example:** - >> _Web URL_ http://localhost:8080/EnterpriseMode.xml + >> _Web URL_ https://localhost:8080/EnterpriseMode.xml >> >> _Network Share_ \\NetworkShare.xml (Place this inside the group policy folder on Sysvol) >> diff --git a/browsers/enterprise-mode/turn-on-local-control-and-logging-for-enterprise-mode.md b/browsers/enterprise-mode/turn-on-local-control-and-logging-for-enterprise-mode.md index 0f5ff8d1f9..5781fe3fc0 100644 --- a/browsers/enterprise-mode/turn-on-local-control-and-logging-for-enterprise-mode.md +++ b/browsers/enterprise-mode/turn-on-local-control-and-logging-for-enterprise-mode.md @@ -46,9 +46,9 @@ Besides turning on this feature, you also have the option to provide a URL for E Your **Value data** location can be any of the following types: -- **URL location (like, http://www.emieposturl.com/api/records or http://localhost:13000)**. IE sends a POST message to the URL every time a change is made to Enterprise Mode from the **Tools** menu.

**Important**
-The `http://www.emieposturl.com/api/records` example will only work if you’ve downloaded the sample discussed in the [Set up Enterprise Mode logging and data collection](set-up-enterprise-mode-logging-and-data-collection.md) topic. If you don’t have the sample, you won’t have the web API. -- **Local network location (like, http://*emieposturl*/)**. IE sends a POST message to your specified local network location every time a change is made to Enterprise Mode from the **Tools** menu. +- **URL location (like, https://www.emieposturl.com/api/records or https://localhost:13000)**. IE sends a POST message to the URL every time a change is made to Enterprise Mode from the **Tools** menu.

**Important**
+The `https://www.emieposturl.com/api/records` example will only work if you’ve downloaded the sample discussed in the [Set up Enterprise Mode logging and data collection](set-up-enterprise-mode-logging-and-data-collection.md) topic. If you don’t have the sample, you won’t have the web API. +- **Local network location (like, https://*emieposturl*/)**. IE sends a POST message to your specified local network location every time a change is made to Enterprise Mode from the **Tools** menu. - **Empty string**. If you leave the **Value data** box blank; your employees will be able to turn Enterprise Mode on and off from the **Tools** menu, but you won’t collect any logging data. For information about how to collect the data provided when your employees turn Enterprise Mode on or off from the **Tools** menu, see [Set up Enterprise Mode logging and data collection](set-up-enterprise-mode-logging-and-data-collection.md). diff --git a/browsers/internet-explorer/ie11-deploy-guide/add-single-sites-to-enterprise-mode-site-list-using-the-version-1-enterprise-mode-tool.md b/browsers/internet-explorer/ie11-deploy-guide/add-single-sites-to-enterprise-mode-site-list-using-the-version-1-enterprise-mode-tool.md index decdc115fa..2eab3c28fd 100644 --- a/browsers/internet-explorer/ie11-deploy-guide/add-single-sites-to-enterprise-mode-site-list-using-the-version-1-enterprise-mode-tool.md +++ b/browsers/internet-explorer/ie11-deploy-guide/add-single-sites-to-enterprise-mode-site-list-using-the-version-1-enterprise-mode-tool.md @@ -33,7 +33,7 @@ You can add individual sites to your compatibility list by using the Enterprise 1. In the Enterprise Mode Site List Manager (schema v.1), click **Add**. 2. Type the URL for the website that’s experiencing compatibility problems, like *<domain>.com* or *<domain>.com*/*<path>* into the **URL** box.

-Don't include the `http://` or `https://` designation. The tool automatically tries both versions during validation. +Don't include the `https://` or `https://` designation. The tool automatically tries both versions during validation. 3. Type any comments about the website into the **Notes about URL** box.

Administrators can only see comments while they’re in this tool. diff --git a/browsers/internet-explorer/ie11-deploy-guide/add-single-sites-to-enterprise-mode-site-list-using-the-version-2-enterprise-mode-tool.md b/browsers/internet-explorer/ie11-deploy-guide/add-single-sites-to-enterprise-mode-site-list-using-the-version-2-enterprise-mode-tool.md index bdfc8633a7..df209b5a60 100644 --- a/browsers/internet-explorer/ie11-deploy-guide/add-single-sites-to-enterprise-mode-site-list-using-the-version-2-enterprise-mode-tool.md +++ b/browsers/internet-explorer/ie11-deploy-guide/add-single-sites-to-enterprise-mode-site-list-using-the-version-2-enterprise-mode-tool.md @@ -33,7 +33,7 @@ You can add individual sites to your compatibility list by using the Enterprise 1. In the Enterprise Mode Site List Manager (schema v.2), click **Add**. 2. Type the URL for the website that’s experiencing compatibility problems, like *<domain>.com* or *<domain>.com*/*<path>* into the **URL** box.

-Don't include the `http://` or `https://` designation. The tool automatically tries both versions during validation. +Don't include the `https://` or `https://` designation. The tool automatically tries both versions during validation. 3. Type any comments about the website into the **Notes about URL** box.

Administrators can only see comments while they’re in this tool. diff --git a/browsers/internet-explorer/ie11-deploy-guide/auto-configuration-settings-for-ie11.md b/browsers/internet-explorer/ie11-deploy-guide/auto-configuration-settings-for-ie11.md index a1ba907f17..9e485e54d8 100644 --- a/browsers/internet-explorer/ie11-deploy-guide/auto-configuration-settings-for-ie11.md +++ b/browsers/internet-explorer/ie11-deploy-guide/auto-configuration-settings-for-ie11.md @@ -52,7 +52,7 @@ After adding the `FEATURE\AUTOCONFIG\BRANDING` registry key, you can change your - **Automatic Configuration URL (.INS file) box:** Type the location of your automatic configuration script. - - **Automatic proxy URL (.JS, .JVS, or .PAC file) box:** Type the location of your automatic proxy script.

**Important**
Internet Explorer 11 no longer supports using file server locations with your proxy configuration (.pac) files. To keep using your .pac files, you have to keep them on a web server and reference them using a URL, like `http://share/test.ins`. + - **Automatic proxy URL (.JS, .JVS, or .PAC file) box:** Type the location of your automatic proxy script.

**Important**
Internet Explorer 11 no longer supports using file server locations with your proxy configuration (.pac) files. To keep using your .pac files, you have to keep them on a web server and reference them using a URL, like `https://share/test.ins`. If your branding changes aren't correctly deployed after running through this process, see [Auto configuration and auto proxy problems with Internet Explorer 11](auto-configuration-and-auto-proxy-problems-with-ie11.md). diff --git a/browsers/internet-explorer/ie11-deploy-guide/auto-detect-settings-for-ie11.md b/browsers/internet-explorer/ie11-deploy-guide/auto-detect-settings-for-ie11.md index 180e1100b9..8d6510713e 100644 --- a/browsers/internet-explorer/ie11-deploy-guide/auto-detect-settings-for-ie11.md +++ b/browsers/internet-explorer/ie11-deploy-guide/auto-detect-settings-for-ie11.md @@ -40,7 +40,7 @@ To use automatic detection, you have to set up your DHCP and DNS servers.

**No 3. In your DNS database file, create a host record named, **WPAD**. This record has the IP address of the web server storing your automatic configuration (.js, .jvs, .pac, or .ins) file.

**-OR-**

Create a canonical name (CNAME) alias record named, **WPAD**. This record has the resolved name (not the IP address) of the server storing your automatic configuration (.pac) file.

**Note**
For more information about creating a **WPAD** entry, see [Creating a WPAD entry in DNS](https://go.microsoft.com/fwlink/p/?LinkId=294651).  -4. After the database file propagates to the server, the DNS name, `wpad..com` resolves to the server name that includes your automatic configuration file.

**Note**
Internet Explorer 11 creates a default URL template based on the host name, **wpad**. For example, `http://wpad..com/wpad.dat`. Because of this, you need to set up a file or redirection point in your web server **WPAD** record, named **wpad.dat**. The **wpad.dat** record delivers the contents of your automatic configuration file. +4. After the database file propagates to the server, the DNS name, `wpad..com` resolves to the server name that includes your automatic configuration file.

**Note**
Internet Explorer 11 creates a default URL template based on the host name, **wpad**. For example, `https://wpad..com/wpad.dat`. Because of this, you need to set up a file or redirection point in your web server **WPAD** record, named **wpad.dat**. The **wpad.dat** record delivers the contents of your automatic configuration file.   diff --git a/browsers/internet-explorer/ie11-deploy-guide/auto-proxy-configuration-settings-for-ie11.md b/browsers/internet-explorer/ie11-deploy-guide/auto-proxy-configuration-settings-for-ie11.md index 99f85f37b8..a0e95c8fac 100644 --- a/browsers/internet-explorer/ie11-deploy-guide/auto-proxy-configuration-settings-for-ie11.md +++ b/browsers/internet-explorer/ie11-deploy-guide/auto-proxy-configuration-settings-for-ie11.md @@ -30,7 +30,7 @@ You can use your Internet settings (.ins) files to set up your standard proxy se - **Automatic Configuration URL (.INS file) box:** Type the location of the .ins file you want to use for automatic configuration. For more information about setting up **Automatic Configuration**, see [Auto configuration settings for Internet Explorer 11](auto-configuration-settings-for-ie11.md). - - **Automatic proxy URL (.JS, .JVS, or .PAC file) box:** Type the location of your automatic proxy script. This script runs whenever IE11 makes a network request and can include multiple proxy servers for each protocol type.

**Important**
IE11 no longer supports using file server locations with your proxy configuration (.pac) files. To keep using your .pac files, you have to keep them on a web server and reference them using a URL, like `http://share/test.ins`. + - **Automatic proxy URL (.JS, .JVS, or .PAC file) box:** Type the location of your automatic proxy script. This script runs whenever IE11 makes a network request and can include multiple proxy servers for each protocol type.

**Important**
IE11 no longer supports using file server locations with your proxy configuration (.pac) files. To keep using your .pac files, you have to keep them on a web server and reference them using a URL, like `https://share/test.ins`. ## Locking your auto-proxy settings You have two options to restrict your users' ability to override the automatic configuration settings, based on your environment. diff --git a/browsers/internet-explorer/ie11-deploy-guide/create-change-request-enterprise-mode-portal.md b/browsers/internet-explorer/ie11-deploy-guide/create-change-request-enterprise-mode-portal.md index 3d85d5801b..3bd89a33bf 100644 --- a/browsers/internet-explorer/ie11-deploy-guide/create-change-request-enterprise-mode-portal.md +++ b/browsers/internet-explorer/ie11-deploy-guide/create-change-request-enterprise-mode-portal.md @@ -50,7 +50,7 @@ Employees assigned to the Requester role can create a change request. A change r - **Business impact (optional).** An optional area where you can provide info about the business impact of this app and the change. - - **App location (URL).** The full URL location to the app, starting with http:// or https://. + - **App location (URL).** The full URL location to the app, starting with https:// or https://. - **App best viewed in.** Select the best browser experience for the app. This can be Internet Explorer 5 through Internet Explorer 11 or one of the IE7Enterprise or IE8Enterprise modes. diff --git a/browsers/internet-explorer/ie11-deploy-guide/deploy-pinned-sites-using-mdt-2013.md b/browsers/internet-explorer/ie11-deploy-guide/deploy-pinned-sites-using-mdt-2013.md index c89dd26fab..ef14f9f67f 100644 --- a/browsers/internet-explorer/ie11-deploy-guide/deploy-pinned-sites-using-mdt-2013.md +++ b/browsers/internet-explorer/ie11-deploy-guide/deploy-pinned-sites-using-mdt-2013.md @@ -41,7 +41,7 @@ Deploying pinned websites in MDT 2013 is a 4-step process: Pinned websites are immediately available to every user who logs on to the computer although the user must click each icon to populate its Jump List. **Important**
-To follow the examples in this topic, you’ll need to pin the Bing (http://www.bing.com/) and MSN (http://www.msn.com/) websites to the taskbar. +To follow the examples in this topic, you’ll need to pin the Bing (https://www.bing.com/) and MSN (https://www.msn.com/) websites to the taskbar. ### Step 1: Creating .website files The first step is to create a .website file for each website that you want to pin to the Windows 8.1 taskbar during deployment. A .website file is like a shortcut, except it’s a plain text file that describes not only the website’s URL but also how the icon looks. diff --git a/browsers/internet-explorer/ie11-deploy-guide/enterprise-mode-schema-version-1-guidance.md b/browsers/internet-explorer/ie11-deploy-guide/enterprise-mode-schema-version-1-guidance.md index a503628344..6f7289a742 100644 --- a/browsers/internet-explorer/ie11-deploy-guide/enterprise-mode-schema-version-1-guidance.md +++ b/browsers/internet-explorer/ie11-deploy-guide/enterprise-mode-schema-version-1-guidance.md @@ -28,7 +28,7 @@ If you don't want to use the Enterprise Mode Site List Manager, you also have th The following is an example of the Enterprise Mode schema v.1. This schema can run on devices running Windows 7 and Windows 8.1. **Important**
-Make sure that you don't specify a protocol when adding your URLs. Using a URL like `contoso.com` automatically applies to both http://contoso.com and https://contoso.com. +Make sure that you don't specify a protocol when adding your URLs. Using a URL like `contoso.com` automatically applies to both https://contoso.com and https://contoso.com. ``` xml @@ -135,7 +135,7 @@ This table includes the elements used by the Enterprise Mode schema. <path exclude="true">/products</path> </domain> </emie>

-Where http://fabrikam.com doesn't use IE8 Enterprise Mode, but http://fabrikam.com/products does. +Where https://fabrikam.com doesn't use IE8 Enterprise Mode, but https://fabrikam.com/products does. Internet Explorer 11 and Microsoft Edge @@ -167,7 +167,7 @@ This table includes the attributes used by the Enterprise Mode schema. <path exclude="true">/products</path> </domain> </emie>

-Where http://fabrikam.com uses IE8 Enterprise Mode, but http://fabrikam.com/products does not. +Where https://fabrikam.com uses IE8 Enterprise Mode, but https://fabrikam.com/products does not. Internet Explorer 11 and Microsoft Edge @@ -203,7 +203,7 @@ For example, say you want all of the sites in the contoso.com domain to open usi ### What not to include in your schema We recommend that you not add any of the following items to your schema because they can make your compatibility list behave in unexpected ways: -- Don’t use protocols. For example, `http://`, `https://`, or custom protocols. They break parsing. +- Don’t use protocols. For example, `https://`, `https://`, or custom protocols. They break parsing. - Don’t use wildcards. - Don’t use query strings, ampersands break parsing. diff --git a/browsers/internet-explorer/ie11-deploy-guide/enterprise-mode-schema-version-2-guidance.md b/browsers/internet-explorer/ie11-deploy-guide/enterprise-mode-schema-version-2-guidance.md index 354fe81545..d9689c000a 100644 --- a/browsers/internet-explorer/ie11-deploy-guide/enterprise-mode-schema-version-2-guidance.md +++ b/browsers/internet-explorer/ie11-deploy-guide/enterprise-mode-schema-version-2-guidance.md @@ -38,7 +38,7 @@ You can continue to use the v.1 version of the schema on Windows 10, but you wo The following is an example of the v.2 version of the Enterprise Mode schema. **Important**
-Make sure that you don't specify a protocol when adding your URLs. Using a URL like ``, automatically applies to both http://contoso.com and https://contoso.com. +Make sure that you don't specify a protocol when adding your URLs. Using a URL like ``, automatically applies to both https://contoso.com and https://contoso.com.   ``` xml @@ -198,7 +198,7 @@ The <url> attribute, as part of the <site> element in the v.2 versio <site url="contoso.com/travel"> <open-in allow-redirect="true">IE11</open-in> </site> -In this example, if http://contoso.com/travel is encountered in a redirect chain in Microsoft Edge, it will be opened in Internet Explorer. +In this example, if https://contoso.com/travel is encountered in a redirect chain in Microsoft Edge, it will be opened in Internet Explorer. Internet Explorer 11 and Microsoft Edge @@ -210,14 +210,14 @@ In this example, if http://contoso.com/travel is encountered in a redirect chain url Specifies the URL (and port number using standard port conventions) to which the child elements apply. The URL can be a domain, sub-domain, or any path URL.
Note
-Make sure that you don't specify a protocol. Using <site url="contoso.com"> applies to both http://contoso.com and https://contoso.com. +Make sure that you don't specify a protocol. Using <site url="contoso.com"> applies to both https://contoso.com and https://contoso.com.

Example

 <site url="contoso.com:8080">
   <compat-mode>IE8Enterprise</compat-mode>
   <open-in>IE11</open-in>
 </site>
-In this example, going to http://contoso.com:8080 using Microsoft Edge, causes the site to open in IE11 and load in IE8 Enterprise Mode. +In this example, going to https://contoso.com:8080 using Microsoft Edge, causes the site to open in IE11 and load in IE8 Enterprise Mode. Internet Explorer 11 and Microsoft Edge @@ -286,7 +286,7 @@ Saving your v.1 version of the file using the new Enterprise Mode Site List Mana ### What not to include in your schema We recommend that you not add any of the following items to your schema because they can make your compatibility list behave in unexpected ways: -- Don’t use protocols. For example, http://, https://, or custom protocols. They break parsing. +- Don’t use protocols. For example, https://, https://, or custom protocols. They break parsing. - Don’t use wildcards. - Don’t use query strings, ampersands break parsing. diff --git a/browsers/internet-explorer/ie11-deploy-guide/install-ie11-using-windows-server-update-services-wsus.md b/browsers/internet-explorer/ie11-deploy-guide/install-ie11-using-windows-server-update-services-wsus.md index 7a95011950..37916eff52 100644 --- a/browsers/internet-explorer/ie11-deploy-guide/install-ie11-using-windows-server-update-services-wsus.md +++ b/browsers/internet-explorer/ie11-deploy-guide/install-ie11-using-windows-server-update-services-wsus.md @@ -16,7 +16,7 @@ Windows Server Update Services (WSUS) lets you download a single copy of the Mic **To import from Windows Update to WSUS** -1. Open your WSUS admin site. For example, `http:///WSUSAdmin/`.

+1. Open your WSUS admin site. For example, `https:///WSUSAdmin/`.

Where `` is the name of your WSUS server. 2. Choose the top server node or the **Updates** node, and then click **Import Updates**. diff --git a/browsers/internet-explorer/ie11-deploy-guide/intranet-problems-and-ie11.md b/browsers/internet-explorer/ie11-deploy-guide/intranet-problems-and-ie11.md index 5be58eea07..1dcf781581 100644 --- a/browsers/internet-explorer/ie11-deploy-guide/intranet-problems-and-ie11.md +++ b/browsers/internet-explorer/ie11-deploy-guide/intranet-problems-and-ie11.md @@ -21,7 +21,7 @@ IE11 works differently with search, based on whether your organization is domain - **Non-domain-joined computers.** A single word entry is treated as an intranet site. However, if the term doesn't resolve to a site, IE11 then treats the entry as a search term and opens your default search provider. -To explicitly go to an intranet site, regardless of the environment, users can type either a trailing slash like ` contoso/` or the `http://` prefix. Either of these will cause IE11 to treat the entry as an intranet search. You can also change the default behavior so that IE11 treats your single word entry in the address bar as an intranet site, regardless of your environment. +To explicitly go to an intranet site, regardless of the environment, users can type either a trailing slash like ` contoso/` or the `https://` prefix. Either of these will cause IE11 to treat the entry as an intranet search. You can also change the default behavior so that IE11 treats your single word entry in the address bar as an intranet site, regardless of your environment. **To enable single-word intranet search** @@ -29,7 +29,7 @@ To explicitly go to an intranet site, regardless of the environment, users can t 2. Click **Advanced**, check the **Go to an intranet site for a single word entry in the Address bar** box, and then click **OK**. -If you'd like your entire organization to have single word entries default to an intranet site, you can turn on the **Go to an intranet site for a single word entry in the Address bar** Group Policy. With this policy turned on, a search for `contoso` automatically resolves to `http://contoso`. +If you'd like your entire organization to have single word entries default to an intranet site, you can turn on the **Go to an intranet site for a single word entry in the Address bar** Group Policy. With this policy turned on, a search for `contoso` automatically resolves to `https://contoso`.   diff --git a/browsers/internet-explorer/ie11-deploy-guide/out-of-date-activex-control-blocking.md b/browsers/internet-explorer/ie11-deploy-guide/out-of-date-activex-control-blocking.md index 66a5d8b70b..a834636814 100644 --- a/browsers/internet-explorer/ie11-deploy-guide/out-of-date-activex-control-blocking.md +++ b/browsers/internet-explorer/ie11-deploy-guide/out-of-date-activex-control-blocking.md @@ -115,7 +115,7 @@ Out-of-date ActiveX control blocking is turned off in the Local Intranet Zone an |--------|--------------|-------------|----------| |Turn on ActiveX control logging in IE |`Administrative Templates\Windows Components\Internet Explorer\Security Features\Add-on Management` |Internet Explorer 8 through IE11 |This setting determines whether IE saves log information for ActiveX controls.

If you enable this setting, IE logs ActiveX control information (including the source URI that loaded the control and whether it was blocked) to a local file.

If you disable or don't configure this setting, IE won't log ActiveX control information.

Note that you can turn this setting on or off regardless of the **Turn off blocking of outdated ActiveX controls for IE** or **Turn off blocking of outdated ActiveX controls for IE on specific domains** settings. | |Remove the **Run this time** button for outdated ActiveX controls in IE |`Administrative Templates\Windows Components\Internet Explorer\Security Features\Add-on Management`|Internet Explorer 8 through IE11 |This setting allows you stop users from seeing the **Run this time** button and from running specific outdated ActiveX controls in IE.

If you enable this setting, users won't see the **Run this time** button on the warning message that appears when IE blocks an outdated ActiveX control.

If you disable or don't configure this setting, users will see the **Run this time** button on the warning message that appears when IE blocks an outdated ActiveX control. Clicking this button lets the user run the outdated ActiveX control once. | -|Turn off blocking of outdated ActiveX controls for IE on specific domains |`Administrative Templates\Windows Components\Internet Explorer\Security Features\Add-on Management` |Internet Explorer 8 through IE11 |This setting allows you to manage a list of domains on which IE will stop blocking outdated ActiveX controls. Outdated ActiveX controls are never blocked in the Intranet Zone.

If you enable this setting, you can enter a custom list of domains for which outdated ActiveX controls won't be blocked in IE. Each domain entry must be formatted like one of the following:

  • **"domainname.TLD".** For example, if you want to include `*.contoso.com/*`, use "contoso.com".
  • **"hostname".** For example, if you want to include `http://example`, use "example".
  • **"file:///path/filename.htm"**. For example, use `file:///C:/Users/contoso/Desktop/index.htm`.

If you disable or don't configure this setting, the list is deleted and IE continues to block specific outdated ActiveX controls on all domains in the Internet Zone. | +|Turn off blocking of outdated ActiveX controls for IE on specific domains |`Administrative Templates\Windows Components\Internet Explorer\Security Features\Add-on Management` |Internet Explorer 8 through IE11 |This setting allows you to manage a list of domains on which IE will stop blocking outdated ActiveX controls. Outdated ActiveX controls are never blocked in the Intranet Zone.

If you enable this setting, you can enter a custom list of domains for which outdated ActiveX controls won't be blocked in IE. Each domain entry must be formatted like one of the following:

  • **"domainname.TLD".** For example, if you want to include `*.contoso.com/*`, use "contoso.com".
  • **"hostname".** For example, if you want to include `https://example`, use "example".
  • **"file:///path/filename.htm"**. For example, use `file:///C:/Users/contoso/Desktop/index.htm`.

If you disable or don't configure this setting, the list is deleted and IE continues to block specific outdated ActiveX controls on all domains in the Internet Zone. | |Turn off blocking of outdated ActiveX controls for IE |`Administrative Templates\Windows Components\Internet Explorer\Security Features\Add-on Management` |Internet Explorer 8 through IE11 |This setting determines whether IE blocks specific outdated ActiveX controls. Outdated ActiveX controls are never blocked in the Intranet Zone.

If you enable this setting, IE stops blocking outdated ActiveX controls.

If you disable or don't configure this setting, IE continues to block specific outdated ActiveX controls. | |Remove the **Update** button in the out-of-date ActiveX control blocking notification for IE |This functionality is only available through the registry |Internet Explorer 8 through IE11 |This setting determines whether the out-of-date ActiveX control blocking notification shows the **Update** button. This button points users to update specific out-of-date ActiveX controls in IE. | @@ -145,8 +145,8 @@ Here’s a detailed example and description of what’s included in the VersionA |Source URI |File path |Product version |File version |Allowed/Blocked |Reason |EPM-compatible | |-----------|----------|----------------|-------------|----------------|-------|---------------| -|`http://contoso.com/test1.html` |C:\Windows\System32\Macromed\Flash\Flash.ocx |14.0.0.125 |14.0.0.125 |Allowed |Not in blocklist |EPM-compatible | -|`http://contoso.com/test2.html` |C:\Program Files\Java\jre6\bin\jp2iexp.dll |6.0.410.2 |6.0.410.2 |Blocked |Out of date |Not EPM-compatible | +|`https://contoso.com/test1.html` |C:\Windows\System32\Macromed\Flash\Flash.ocx |14.0.0.125 |14.0.0.125 |Allowed |Not in blocklist |EPM-compatible | +|`https://contoso.com/test2.html` |C:\Program Files\Java\jre6\bin\jp2iexp.dll |6.0.410.2 |6.0.410.2 |Blocked |Out of date |Not EPM-compatible | **Where:** - **Source URI.** The URL of the page that loaded the ActiveX control. diff --git a/browsers/internet-explorer/ie11-deploy-guide/set-up-enterprise-mode-logging-and-data-collection.md b/browsers/internet-explorer/ie11-deploy-guide/set-up-enterprise-mode-logging-and-data-collection.md index 8653264774..a72a457d0a 100644 --- a/browsers/internet-explorer/ie11-deploy-guide/set-up-enterprise-mode-logging-and-data-collection.md +++ b/browsers/internet-explorer/ie11-deploy-guide/set-up-enterprise-mode-logging-and-data-collection.md @@ -111,7 +111,7 @@ The required packages are automatically downloaded and included in the solution. 1. Open a registry editor on the computer where you deployed the app, go to the `HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Internet Explorer\Main\EnterpriseMode` key, and change the **Enable** string to: - ``` "Enable"="http:///api/records/" + ``` "Enable"="https:///api/records/" ``` Where `` points to your deployment URL. @@ -125,7 +125,7 @@ The required packages are automatically downloaded and included in the solution. **To view the report results** -- Go to `http:///List` to see the report results.

+- Go to `https:///List` to see the report results.

If you’re already on the webpage, you’ll need to refresh the page to see the results. ![Enterprise Mode Result report with details](images/ie-emie-reportwdetails.png) diff --git a/browsers/internet-explorer/ie11-deploy-guide/set-up-enterprise-mode-portal.md b/browsers/internet-explorer/ie11-deploy-guide/set-up-enterprise-mode-portal.md index bb8a401b5c..47c4caf92b 100644 --- a/browsers/internet-explorer/ie11-deploy-guide/set-up-enterprise-mode-portal.md +++ b/browsers/internet-explorer/ie11-deploy-guide/set-up-enterprise-mode-portal.md @@ -176,7 +176,7 @@ Using the IIS Manager, you must restart both your Application Pool and your webs After you've created your database and website, you'll need to register yourself (or another employee) as an administrator for the Enterprise Mode Site List Portal. **To register as an administrator** -1. Open Microsoft Edge and type your website URL into the Address bar. For example, http://emieportal:8085. +1. Open Microsoft Edge and type your website URL into the Address bar. For example, https://emieportal:8085. 2. Click **Register now**. @@ -184,7 +184,7 @@ After you've created your database and website, you'll need to register yourself 4. Click **Administrator** from the **Role** box, and then click **Save**. -5. Append your website URL with `/#/EMIEAdminConsole` in the Address bar to go to your administrator console. For example, http://emieportal:8085/#/EMIEAdminConsole. +5. Append your website URL with `/#/EMIEAdminConsole` in the Address bar to go to your administrator console. For example, https://emieportal:8085/#/EMIEAdminConsole. A dialog box appears, prompting you for the system user name and password. The default user name is EMIEAdmin and the default password is Admin123. We strongly recommend that you change the password by using the **Change password** link as soon as you're done with your first visit. diff --git a/browsers/internet-explorer/ie11-deploy-guide/turn-on-local-control-and-logging-for-enterprise-mode.md b/browsers/internet-explorer/ie11-deploy-guide/turn-on-local-control-and-logging-for-enterprise-mode.md index ea5b7d450b..ea9a56a081 100644 --- a/browsers/internet-explorer/ie11-deploy-guide/turn-on-local-control-and-logging-for-enterprise-mode.md +++ b/browsers/internet-explorer/ie11-deploy-guide/turn-on-local-control-and-logging-for-enterprise-mode.md @@ -46,9 +46,9 @@ Besides turning on this feature, you also have the option to provide a URL for E Your **Value data** location can be any of the following types: -- **URL location (like, http://www.emieposturl.com/api/records or http://localhost:13000)**. IE sends a POST message to the URL every time a change is made to Enterprise Mode from the **Tools** menu.

**Important**
-The `http://www.emieposturl.com/api/records` example will only work if you’ve downloaded the sample discussed in the [Set up Enterprise Mode logging and data collection](set-up-enterprise-mode-logging-and-data-collection.md) topic. If you don’t have the sample, you won’t have the web API. -- **Local network location (like, http://*emieposturl*/)**. IE sends a POST message to your specified local network location every time a change is made to Enterprise Mode from the **Tools** menu. +- **URL location (like, https://www.emieposturl.com/api/records or https://localhost:13000)**. IE sends a POST message to the URL every time a change is made to Enterprise Mode from the **Tools** menu.

**Important**
+The `https://www.emieposturl.com/api/records` example will only work if you’ve downloaded the sample discussed in the [Set up Enterprise Mode logging and data collection](set-up-enterprise-mode-logging-and-data-collection.md) topic. If you don’t have the sample, you won’t have the web API. +- **Local network location (like, https://*emieposturl*/)**. IE sends a POST message to your specified local network location every time a change is made to Enterprise Mode from the **Tools** menu. - **Empty string**. If you leave the **Value data** box blank; your employees will be able to turn Enterprise Mode on and off from the **Tools** menu, but you won’t collect any logging data. For information about how to collect the data provided when your employees turn Enterprise Mode on or off from the **Tools** menu, see [Set up Enterprise Mode logging and data collection](set-up-enterprise-mode-logging-and-data-collection.md). diff --git a/browsers/internet-explorer/ie11-ieak/auto-config-ieak11-wizard.md b/browsers/internet-explorer/ie11-ieak/auto-config-ieak11-wizard.md index b31c220601..440d2c7fc1 100644 --- a/browsers/internet-explorer/ie11-ieak/auto-config-ieak11-wizard.md +++ b/browsers/internet-explorer/ie11-ieak/auto-config-ieak11-wizard.md @@ -42,7 +42,7 @@ You can use the Domain Name System (DNS) and the Dynamic Host Configuration Prot - Type the location to your automatic proxy script file. **Note**
- If you specify URLs for both auto-config and auto-proxy, the auto-proxy URL will be incorporated into the .ins file. The correct form for the URL is `http://share/test.ins`. + If you specify URLs for both auto-config and auto-proxy, the auto-proxy URL will be incorporated into the .ins file. The correct form for the URL is `https://share/test.ins`. 3. Click **Next** to go to the [Proxy Settings](proxy-settings-ieak11-wizard.md) page or **Back** to go to the [Connection Settings](connection-settings-ieak11-wizard.md) page. diff --git a/browsers/internet-explorer/ie11-ieak/auto-detection-dhcp-or-dns-servers-ieak11.md b/browsers/internet-explorer/ie11-ieak/auto-detection-dhcp-or-dns-servers-ieak11.md index 0752aaac38..b14d4aa1ce 100644 --- a/browsers/internet-explorer/ie11-ieak/auto-detection-dhcp-or-dns-servers-ieak11.md +++ b/browsers/internet-explorer/ie11-ieak/auto-detection-dhcp-or-dns-servers-ieak11.md @@ -36,9 +36,9 @@ DHCP has a higher priority than DNS for automatic configuration. If DHCP provide - Open the [DHCP Administrative Tool](https://go.microsoft.com/fwlink/p/?LinkId=302212), create a new option type, using the code number 252, and then associate it with the URL to your configuration file. For detailed instructions about how to do this, see [Create an option 252 entry in DHCP](https://go.microsoft.com/fwlink/p/?LinkId=294649). **Examples:**
- `http://www.microsoft.com/webproxy.pac`
- `http://marketing/config.ins`
- `http://123.4.567.8/account.pac`

+ `https://www.microsoft.com/webproxy.pac`
+ `https://marketing/config.ins`
+ `https://123.4.567.8/account.pac`

For more detailed info about how to set up your DHCP server, see your server documentation. **To set up automatic detection for DNS servers** @@ -55,5 +55,5 @@ Create a canonical name (CNAME) alias record, named **WPAD**. This record lets y 2. After the database file propagates to the server, the DNS name, `wpad..com` resolves to the server name that includes your automatic configuration file. **Note**
-IE11 creates a default URL template based on the host name,**wpad**. For example, `http://wpad..com/wpad.dat`. Because of this, you need to set up a file or redirection point in your web server **WPAD** record, named **wpad.dat**. The **wpad.dat** record delivers the contents of your automatic configuration file. +IE11 creates a default URL template based on the host name,**wpad**. For example, `https://wpad..com/wpad.dat`. Because of this, you need to set up a file or redirection point in your web server **WPAD** record, named **wpad.dat**. The **wpad.dat** record delivers the contents of your automatic configuration file. diff --git a/browsers/internet-explorer/ie11-ieak/custombranding-ins-file-setting.md b/browsers/internet-explorer/ie11-ieak/custombranding-ins-file-setting.md index 9d4d9f6b4f..f404bf78cf 100644 --- a/browsers/internet-explorer/ie11-ieak/custombranding-ins-file-setting.md +++ b/browsers/internet-explorer/ie11-ieak/custombranding-ins-file-setting.md @@ -16,5 +16,5 @@ Provide the URL to your branding cabinet (.cab) file. |Name |Value | Description | |-----------|--------------------------------|--------------------------------------------------------------| -|Branding |`` |The location of your branding cabinet (.cab) file. For example, http://www.<your_server>.net/cabs/branding.cab.| +|Branding |`` |The location of your branding cabinet (.cab) file. For example, https://www.<your_server>.net/cabs/branding.cab.| diff --git a/browsers/internet-explorer/ie11-ieak/customize-automatic-search-for-ie.md b/browsers/internet-explorer/ie11-ieak/customize-automatic-search-for-ie.md index a4bbac4b2e..fde8b84b67 100644 --- a/browsers/internet-explorer/ie11-ieak/customize-automatic-search-for-ie.md +++ b/browsers/internet-explorer/ie11-ieak/customize-automatic-search-for-ie.md @@ -21,7 +21,7 @@ You can customize Automatic Search so that your employees can type a single word **To set up Automatic Search** -1. Create a script (.asp) file that conditionally looks for search terms, and post it to an intranet server here: http://ieautosearch/response.asp?MT=%1&srch=%2.

+1. Create a script (.asp) file that conditionally looks for search terms, and post it to an intranet server here: https://ieautosearch/response.asp?MT=%1&srch=%2.

For info about the acceptable values for the *%1* and *%2* parameters, see the [Automatic Search parameters](#automatic-search-parameters). For an example of the script file, see the [Sample Automatic Search script](#sample-automatic-search-script).

**Important**
If you aren’t using IIS in your company, you’ll need to remap this URL to your script file’s location. @@ -72,18 +72,18 @@ searchOption = Request.QueryString("srch") ' about filling out an expense report if (search = "NEW HIRE") then -Response.Redirect("http://admin/hr/newhireforms.htm") +Response.Redirect("https://admin/hr/newhireforms.htm") elseif (search = "LIBRARY CATALOG") then -Response.Redirect("http://library/catalog") +Response.Redirect("https://library/catalog") elseif (search = "EXPENSE REPORT") then -Response.Redirect("http://expense") +Response.Redirect("https://expense") elseif (search = "LUNCH MENU") then -Response.Redirect("http://cafe/menu/") +Response.Redirect("https://cafe/menu/") else ' If there is not a match, use the ' default IE autosearch server -Response.Redirect("http://auto.search.msn.com/response.asp?MT=" +Response.Redirect("https://auto.search.msn.com/response.asp?MT=" + search + "&srch=" + searchOption + "&prov=&utf8") end if diff --git a/browsers/internet-explorer/ie11-ieak/important-urls-home-page-and-support-ieak11-wizard.md b/browsers/internet-explorer/ie11-ieak/important-urls-home-page-and-support-ieak11-wizard.md index 60b082565b..604489d8fc 100644 --- a/browsers/internet-explorer/ie11-ieak/important-urls-home-page-and-support-ieak11-wizard.md +++ b/browsers/internet-explorer/ie11-ieak/important-urls-home-page-and-support-ieak11-wizard.md @@ -17,7 +17,7 @@ The **Important URLS – Home Page and Support** page of the Internet Explorer C **To use the Important URLS – Home Page and Support page** 1. In the **Add a homepage URL** box, type the URL to the page your employees go to when they click the **Home** button, and then click **Add**.

-If you add multiple **Home** pages, each page appears on a separate tab in the browser. If you don’t add a custom **Home** page, IE uses http://www.msn.com by default. If you want to delete an existing page, click the URL and then click **Remove**. +If you add multiple **Home** pages, each page appears on a separate tab in the browser. If you don’t add a custom **Home** page, IE uses https://www.msn.com by default. If you want to delete an existing page, click the URL and then click **Remove**. 2. Check the **Retain previous Home Page (Upgrade)** box if you have employees with previous versions of IE, who need to keep their **Home** page settings when the browser is updated. diff --git a/browsers/internet-explorer/ie11-ieak/proxy-auto-config-examples.md b/browsers/internet-explorer/ie11-ieak/proxy-auto-config-examples.md index 9a57aef1fa..5e04f4e473 100644 --- a/browsers/internet-explorer/ie11-ieak/proxy-auto-config-examples.md +++ b/browsers/internet-explorer/ie11-ieak/proxy-auto-config-examples.md @@ -127,7 +127,7 @@ In this example, the proxy server is selected by translating the host name into ``` javascript function FindProxyForURL(url, host) { - if (dnsResolve(host) == "999.99.99.999") { // = http://secproxy + if (dnsResolve(host) == "999.99.99.999") { // = https://secproxy return "PROXY secproxy:8080"; } else { diff --git a/browsers/internet-explorer/ie11-ieak/proxy-settings-ieak11-wizard.md b/browsers/internet-explorer/ie11-ieak/proxy-settings-ieak11-wizard.md index c29f790845..22252bf546 100644 --- a/browsers/internet-explorer/ie11-ieak/proxy-settings-ieak11-wizard.md +++ b/browsers/internet-explorer/ie11-ieak/proxy-settings-ieak11-wizard.md @@ -21,7 +21,7 @@ Using a proxy server lets you limit access to the Internet. You can also use the 1. Check the **Enable proxy settings** box if you want to use proxy servers for any of your services. 2. Type the address of the proxy server you want to use for your services into the **Address of proxy** box. In most cases, a single proxy server is used for all of your services.

-Proxy locations that don’t begin with a protocol (like, http:// or ftp://) are assumed to be a CERN-type HTTP proxy. For example, the entry *proxy* is treated the same as the entry `http://proxy`. +Proxy locations that don’t begin with a protocol (like, https:// or ftp://) are assumed to be a CERN-type HTTP proxy. For example, the entry *proxy* is treated the same as the entry `https://proxy`. 3. Type the port for each service. The default value is *80*. @@ -30,7 +30,7 @@ Proxy locations that don’t begin with a protocol (like, http:// or ftp://) are 5. Type any services that shouldn’t use a proxy server into the **Do not use proxy server for addresses beginning with** box.

When filling out your exceptions, keep in mind: - - Proxy bypass entries can begin with a protocol type, such as http://, https://, or ftp://. However, if a protocol type is used, the exception entry applies only to requests for that protocol. + - Proxy bypass entries can begin with a protocol type, such as https://, https://, or ftp://. However, if a protocol type is used, the exception entry applies only to requests for that protocol. - Protocol values are not case sensitive and you can use a wildcard character (*) in place of zero or more characters. diff --git a/browsers/internet-explorer/ie11-ieak/search-providers-ieak11-wizard.md b/browsers/internet-explorer/ie11-ieak/search-providers-ieak11-wizard.md index 0e48aa99c7..3633d298c1 100644 --- a/browsers/internet-explorer/ie11-ieak/search-providers-ieak11-wizard.md +++ b/browsers/internet-explorer/ie11-ieak/search-providers-ieak11-wizard.md @@ -25,7 +25,7 @@ The **Search Provider** box appears. 3. In the **Display Name** box, type the text that appears in the **Search Options** menu for the search provider. -4. In the **URL** box, type the full URL to the search provider, including the http:// prefix. +4. In the **URL** box, type the full URL to the search provider, including the https:// prefix. 5. In the **Favicon URL** box, type the full URL to any icon to associate with your provider. diff --git a/browsers/internet-explorer/ie11-ieak/troubleshooting-custom-browser-pkg-ieak11.md b/browsers/internet-explorer/ie11-ieak/troubleshooting-custom-browser-pkg-ieak11.md index 2526c4f33b..8f9826a8b5 100644 --- a/browsers/internet-explorer/ie11-ieak/troubleshooting-custom-browser-pkg-ieak11.md +++ b/browsers/internet-explorer/ie11-ieak/troubleshooting-custom-browser-pkg-ieak11.md @@ -57,7 +57,7 @@ Internet Explorer Setup can switch servers during the installation process to ma To address connection issues (for example, as a result of server problems) where Setup can’t locate another download site by default, we recommend you overwrite your first download server using this workaround: ``` syntax -\ie11setup.exe /C:"ie11wzd.exe /S:""\ie11setup.exe"" /L:""http://your_Web_server/your_Web_site/ie11sites.dat""" +\ie11setup.exe /C:"ie11wzd.exe /S:""\ie11setup.exe"" /L:""https://your_Web_server/your_Web_site/ie11sites.dat""" ``` Where `` represents the folder location where you stored IE11setup.exe. From 653b98888d17df71ca9bf83a1f6aca4c380e8b7e Mon Sep 17 00:00:00 2001 From: Patti Short Date: Fri, 2 Nov 2018 14:22:06 -0700 Subject: [PATCH 05/53] added required metadata --- browsers/edge/about-microsoft-edge.md | 1 + browsers/edge/available-policies.md | 1 + browsers/edge/change-history-for-microsoft-edge.md | 1 + browsers/edge/emie-to-improve-compatibility.md | 1 + browsers/edge/group-policies/address-bar-settings-gp.md | 2 +- browsers/edge/group-policies/adobe-settings-gp.md | 2 +- browsers/edge/group-policies/books-library-management-gp.md | 2 +- browsers/edge/group-policies/browser-settings-management-gp.md | 2 +- browsers/edge/group-policies/developer-settings-gp.md | 2 +- browsers/edge/group-policies/extensions-management-gp.md | 2 +- browsers/edge/group-policies/favorites-management-gp.md | 2 +- browsers/edge/group-policies/home-button-gp.md | 1 + .../group-policies/interoperability-enterprise-guidance-gp.md | 1 + browsers/edge/group-policies/new-tab-page-settings-gp.md | 1 + browsers/edge/group-policies/prelaunch-preload-gp.md | 1 + browsers/edge/group-policies/search-engine-customization-gp.md | 1 + browsers/edge/group-policies/security-privacy-management-gp.md | 1 + browsers/edge/group-policies/start-pages-gp.md | 1 + browsers/edge/group-policies/sync-browser-settings-gp.md | 1 + browsers/edge/group-policies/telemetry-management-gp.md | 1 + browsers/edge/microsoft-edge-faq.md | 3 ++- browsers/edge/microsoft-edge-kiosk-mode-deploy.md | 3 ++- 22 files changed, 24 insertions(+), 9 deletions(-) diff --git a/browsers/edge/about-microsoft-edge.md b/browsers/edge/about-microsoft-edge.md index e39d63f4e2..deef9f2c1a 100644 --- a/browsers/edge/about-microsoft-edge.md +++ b/browsers/edge/about-microsoft-edge.md @@ -5,6 +5,7 @@ ms.assetid: 70377735-b2f9-4b0b-9658-4cf7c1d745bb author: shortpatti ms.prod: edge ms.mktglfcycl: general +ms.topic: reference ms.sitesec: library title: Microsoft Edge for IT Pros ms.localizationpriority: medium diff --git a/browsers/edge/available-policies.md b/browsers/edge/available-policies.md index 83197e6a12..e62e7d861d 100644 --- a/browsers/edge/available-policies.md +++ b/browsers/edge/available-policies.md @@ -6,6 +6,7 @@ ms.author: pashort manager: dougkim ms.prod: edge ms.mktglfcycl: explore +ms.topic: reference ms.sitesec: library title: Group Policy and Mobile Device Management settings for Microsoft Edge (Microsoft Edge for IT Pros) ms.localizationpriority: medium diff --git a/browsers/edge/change-history-for-microsoft-edge.md b/browsers/edge/change-history-for-microsoft-edge.md index 3b39c63a9c..6d86a32508 100644 --- a/browsers/edge/change-history-for-microsoft-edge.md +++ b/browsers/edge/change-history-for-microsoft-edge.md @@ -2,6 +2,7 @@ title: Change history for Microsoft Edge (Microsoft Edge for IT Pros) description: Discover what's new and updated in the Microsoft Edge for both Windows 10 and Windows 10 Mobile. ms.prod: edge +ms.topic: reference ms.mktglfcycl: explore ms.sitesec: library ms.localizationpriority: medium diff --git a/browsers/edge/emie-to-improve-compatibility.md b/browsers/edge/emie-to-improve-compatibility.md index 0c9c246104..5676c06b6f 100644 --- a/browsers/edge/emie-to-improve-compatibility.md +++ b/browsers/edge/emie-to-improve-compatibility.md @@ -5,6 +5,7 @@ author: shortpatti ms.author: pashort ms.manager: dougkim ms.prod: browser-edge +ms.topic: reference ms.mktglfcycl: support ms.sitesec: library ms.pagetype: appcompat diff --git a/browsers/edge/group-policies/address-bar-settings-gp.md b/browsers/edge/group-policies/address-bar-settings-gp.md index da3686718d..b8b82b3882 100644 --- a/browsers/edge/group-policies/address-bar-settings-gp.md +++ b/browsers/edge/group-policies/address-bar-settings-gp.md @@ -8,7 +8,7 @@ manager: dougkim author: shortpatti ms.author: pashort ms.date: 10/02/2018 -ms.topic: article +ms.topic: reference ms.prod: edge ms.mktglfcycl: explore ms.sitesec: library diff --git a/browsers/edge/group-policies/adobe-settings-gp.md b/browsers/edge/group-policies/adobe-settings-gp.md index a5bcbb0ea4..3ad76e0397 100644 --- a/browsers/edge/group-policies/adobe-settings-gp.md +++ b/browsers/edge/group-policies/adobe-settings-gp.md @@ -8,7 +8,7 @@ manager: dougkim author: shortpatti ms.author: pashort ms.date: 10/02/2018 -ms.topic: article +ms.topic: reference ms.prod: edge ms.mktglfcycl: explore ms.sitesec: library diff --git a/browsers/edge/group-policies/books-library-management-gp.md b/browsers/edge/group-policies/books-library-management-gp.md index 2fc892d73b..d2e9d6ea91 100644 --- a/browsers/edge/group-policies/books-library-management-gp.md +++ b/browsers/edge/group-policies/books-library-management-gp.md @@ -8,7 +8,7 @@ manager: dougkim author: shortpatti ms.author: pashort ms.date: 10/02/2018 -ms.topic: article +ms.topic: reference ms.prod: edge ms.mktglfcycl: explore ms.sitesec: library diff --git a/browsers/edge/group-policies/browser-settings-management-gp.md b/browsers/edge/group-policies/browser-settings-management-gp.md index 4cd1c73ad2..2570cc3c69 100644 --- a/browsers/edge/group-policies/browser-settings-management-gp.md +++ b/browsers/edge/group-policies/browser-settings-management-gp.md @@ -8,7 +8,7 @@ manager: dougkim author: shortpatti ms.author: pashort ms.date: 10/02/2018 -ms.topic: article +ms.topic: reference ms.prod: edge ms.mktglfcycl: explore ms.sitesec: library diff --git a/browsers/edge/group-policies/developer-settings-gp.md b/browsers/edge/group-policies/developer-settings-gp.md index 4e2e437372..ca4870ac95 100644 --- a/browsers/edge/group-policies/developer-settings-gp.md +++ b/browsers/edge/group-policies/developer-settings-gp.md @@ -8,7 +8,7 @@ managre: dougkim author: shortpatti ms.author: pashort ms.date: 10/02/2018 -ms.topic: article +ms.topic: reference ms.prod: edge ms.mktglfcycl: explore ms.sitesec: library diff --git a/browsers/edge/group-policies/extensions-management-gp.md b/browsers/edge/group-policies/extensions-management-gp.md index 577d254742..3a7fc2dfe5 100644 --- a/browsers/edge/group-policies/extensions-management-gp.md +++ b/browsers/edge/group-policies/extensions-management-gp.md @@ -8,7 +8,7 @@ manager: dougkim author: shortpatti ms.author: pashort ms.date: 10/02/2018 -ms.topic: article +ms.topic: reference ms.prod: edge ms.mktglfcycl: explore ms.sitesec: library diff --git a/browsers/edge/group-policies/favorites-management-gp.md b/browsers/edge/group-policies/favorites-management-gp.md index 4dcf0faf29..13c415afdf 100644 --- a/browsers/edge/group-policies/favorites-management-gp.md +++ b/browsers/edge/group-policies/favorites-management-gp.md @@ -8,7 +8,7 @@ manager: dougkim author: shortpatti ms.author: pashort ms.date: 10/02/2018 -ms.topic: article +ms.topic: reference ms.prod: edge ms.mktglfcycl: explore ms.sitesec: library diff --git a/browsers/edge/group-policies/home-button-gp.md b/browsers/edge/group-policies/home-button-gp.md index a4bac9dd9a..3f22c2897d 100644 --- a/browsers/edge/group-policies/home-button-gp.md +++ b/browsers/edge/group-policies/home-button-gp.md @@ -9,6 +9,7 @@ ms.localizationpriority: medium ms.prod: edge ms.mktglfcycl: explore ms.sitesec: library +ms.topic: reference --- # Home button diff --git a/browsers/edge/group-policies/interoperability-enterprise-guidance-gp.md b/browsers/edge/group-policies/interoperability-enterprise-guidance-gp.md index d053b89a43..9e39200fe0 100644 --- a/browsers/edge/group-policies/interoperability-enterprise-guidance-gp.md +++ b/browsers/edge/group-policies/interoperability-enterprise-guidance-gp.md @@ -9,6 +9,7 @@ ms.date: 10/02/2018 ms.prod: edge ms.mktglfcycl: explore ms.sitesec: library +ms.topic: reference --- # Interoperability and enterprise mode guidance diff --git a/browsers/edge/group-policies/new-tab-page-settings-gp.md b/browsers/edge/group-policies/new-tab-page-settings-gp.md index 6d6ba06617..b18871a3e6 100644 --- a/browsers/edge/group-policies/new-tab-page-settings-gp.md +++ b/browsers/edge/group-policies/new-tab-page-settings-gp.md @@ -9,6 +9,7 @@ ms.localizationpriority: medium ms.prod: edge ms.mktglfcycl: explore ms.sitesec: library +ms.topic: reference --- diff --git a/browsers/edge/group-policies/prelaunch-preload-gp.md b/browsers/edge/group-policies/prelaunch-preload-gp.md index aa402f3743..8baa1858bb 100644 --- a/browsers/edge/group-policies/prelaunch-preload-gp.md +++ b/browsers/edge/group-policies/prelaunch-preload-gp.md @@ -6,6 +6,7 @@ ms.author: pashort author: shortpatti ms.date: 10/02/2018 ms.localizationpriority: medium +ms.topic: reference --- # Prelaunch Microsoft Edge and preload tabs in the background diff --git a/browsers/edge/group-policies/search-engine-customization-gp.md b/browsers/edge/group-policies/search-engine-customization-gp.md index 75d3d2b070..75677a0ec8 100644 --- a/browsers/edge/group-policies/search-engine-customization-gp.md +++ b/browsers/edge/group-policies/search-engine-customization-gp.md @@ -6,6 +6,7 @@ ms.author: pashort author: shortpatti ms.date: 10/02/2018 ms.localizationpriority: medium +ms.topic: reference --- # Search engine customization diff --git a/browsers/edge/group-policies/security-privacy-management-gp.md b/browsers/edge/group-policies/security-privacy-management-gp.md index 3b66e9902c..cf137c8439 100644 --- a/browsers/edge/group-policies/security-privacy-management-gp.md +++ b/browsers/edge/group-policies/security-privacy-management-gp.md @@ -6,6 +6,7 @@ ms.author: pashort author: shortpatti ms.date: 10/02/2018 ms.localizationpriority: medium +ms.topic: reference --- # Security and privacy diff --git a/browsers/edge/group-policies/start-pages-gp.md b/browsers/edge/group-policies/start-pages-gp.md index 8aded2af76..55df08e642 100644 --- a/browsers/edge/group-policies/start-pages-gp.md +++ b/browsers/edge/group-policies/start-pages-gp.md @@ -9,6 +9,7 @@ ms.date: 10/02/2018 ms.prod: edge ms.mktglfcycl: explore ms.sitesec: library +ms.topic: reference --- # Start pages diff --git a/browsers/edge/group-policies/sync-browser-settings-gp.md b/browsers/edge/group-policies/sync-browser-settings-gp.md index 19670fa3e2..aac83e87ca 100644 --- a/browsers/edge/group-policies/sync-browser-settings-gp.md +++ b/browsers/edge/group-policies/sync-browser-settings-gp.md @@ -6,6 +6,7 @@ ms.author: pashort author: shortpatti ms.date: 10/02/2018 ms.localizationpriority: medium +ms.topic: reference --- # Sync browser settings diff --git a/browsers/edge/group-policies/telemetry-management-gp.md b/browsers/edge/group-policies/telemetry-management-gp.md index 446721b2a4..c83cd2848c 100644 --- a/browsers/edge/group-policies/telemetry-management-gp.md +++ b/browsers/edge/group-policies/telemetry-management-gp.md @@ -6,6 +6,7 @@ ms.author: pashort author: shortpatti ms.date: 10/02/2018 ms.localizationpriority: medium +ms.topic: reference --- # Telemetry and data collection diff --git a/browsers/edge/microsoft-edge-faq.md b/browsers/edge/microsoft-edge-faq.md index 47f937d659..f989f0e5c8 100644 --- a/browsers/edge/microsoft-edge-faq.md +++ b/browsers/edge/microsoft-edge-faq.md @@ -4,10 +4,11 @@ description: Answers to frequently asked questions about Microsoft Edge features author: shortpatti ms.author: pashort ms.prod: edge +ms.topic: reference ms.mktglfcycl: general ms.sitesec: library ms.localizationpriority: medium -ms.date: 10/23/2018 +ms.date: 11/05/2018 --- # Frequently Asked Questions (FAQs) for IT Pros diff --git a/browsers/edge/microsoft-edge-kiosk-mode-deploy.md b/browsers/edge/microsoft-edge-kiosk-mode-deploy.md index a3d1996719..a8f34188e6 100644 --- a/browsers/edge/microsoft-edge-kiosk-mode-deploy.md +++ b/browsers/edge/microsoft-edge-kiosk-mode-deploy.md @@ -1,11 +1,12 @@ --- +title: Deploy Microsoft Edge kiosk mode description: Microsoft Edge kiosk mode works with assigned access to allow IT admins to create a tailored browsing experience designed for kiosk devices. To use Microsoft Edge kiosk mode, you must configure Microsoft Edge as an application in assigned access. ms.assetid: author: shortpatti ms.author: pashort ms.prod: edge ms.sitesec: library -title: Deploy Microsoft Edge kiosk mode +ms.topic: get-started-article ms.localizationpriority: medium ms.date: 10/29/2018 --- From 286571f150e4b764a8cf53fc47d3019c915cf2d4 Mon Sep 17 00:00:00 2001 From: Patti Short Date: Fri, 2 Nov 2018 14:48:33 -0700 Subject: [PATCH 06/53] made logic changes based on conversation with PM --- .../includes/allow-web-content-new-tab-page-include.md | 7 +++---- .../allow-web-content-on-new-tab-page-shortdesc.md | 4 ++-- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/browsers/edge/includes/allow-web-content-new-tab-page-include.md b/browsers/edge/includes/allow-web-content-new-tab-page-include.md index aa5efc657a..c1ed158191 100644 --- a/browsers/edge/includes/allow-web-content-new-tab-page-include.md +++ b/browsers/edge/includes/allow-web-content-new-tab-page-include.md @@ -1,7 +1,7 @@ --- author: shortpatti ms.author: pashort -ms.date: 10/26/2018 +ms.date: 11/02/2018 ms.prod: edge ms:topic: include --- @@ -18,9 +18,8 @@ ms:topic: include |Group Policy |MDM |Registry |Description | |---|:---:|:---:|---| -|Not configured |Blank |Blank |Users can choose what loads on the New Tab page. | -|Disabled |0 |0 |Load a blank page instead of the default New Tab page and prevent users from changing it. | -|Enabled **(default)** |1 |1 |Load the default New Tab page. | +|Disabled |0 |0 |Load a blank page instead of the default New Tab page and prevent users from making changes. | +|Enabled or not configured **(default)** |1 |1 |Load the default New Tab page and let the users make changes. | --- ### ADMX info and settings diff --git a/browsers/edge/shortdesc/allow-web-content-on-new-tab-page-shortdesc.md b/browsers/edge/shortdesc/allow-web-content-on-new-tab-page-shortdesc.md index 9c8dea176e..a056b0a737 100644 --- a/browsers/edge/shortdesc/allow-web-content-on-new-tab-page-shortdesc.md +++ b/browsers/edge/shortdesc/allow-web-content-on-new-tab-page-shortdesc.md @@ -1,9 +1,9 @@ --- author: shortpatti ms.author: pashort -ms.date: 10/02/2018 +ms.date: 11/02/2018 ms.prod: edge ms:topic: include --- -By default, Microsoft Edge loads the default New Tab page. Disabling this policy loads a blank page instead of the New Tab page and prevents users from changing it. Not configuring this policy lets users choose what loads on the New Tab page. \ No newline at end of file +By default, Microsoft Edge loads the default New Tab page and lets the users make changes. If you disable this policy, a blank page loads instead of the New Tab page and prevents users from changing it. \ No newline at end of file From a1cd8cce894d28fbb9826a3626f50aee0c9f44f8 Mon Sep 17 00:00:00 2001 From: warren-msft Date: Fri, 2 Nov 2018 17:16:51 -0500 Subject: [PATCH 07/53] Need to update that the policies apply to User and Computer configuration paths. They they apply to both server and client. ANd add the date that the policy became available for User mode on client. --- .../manage-settings-app-with-group-policy.md | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/windows/client-management/manage-settings-app-with-group-policy.md b/windows/client-management/manage-settings-app-with-group-policy.md index 231682d2b9..ae2a8a363d 100644 --- a/windows/client-management/manage-settings-app-with-group-policy.md +++ b/windows/client-management/manage-settings-app-with-group-policy.md @@ -23,7 +23,14 @@ To make use of the Settings App group polices on Windows server 2016, install fi To centrally manage the new policies copy the ControlPanel.admx and ControlPanel.adml file to [Central Store](https://support.microsoft.com/help/3087759/how-to-create-and-manage-the-central-store-for-group-policy-administra) if your company uses one or the PolicyDefinitions folder of the Domain Controllers used for Group Policy management. -This policy is available at **Computer Configuration** > **Administrative Templates** > **Control Panel** > **Settings Page Visibility**. +This policy is available for. both. User. and. Computer. depending. on the. version of the. OS +Windows. Server. 2016.with. KB. 4457127. applied. will. have. both. User and. Computer. policy +Windows. 10. version. 1703. added. Computer. policy. for the. Settings. app +Windows. 10. version. 1809. added. User. policy. for. the. Settings. app + +Policy. Paths +**Computer Configuration** > **Administrative Templates** > **Control Panel** > **Settings Page Visibility**. +**User Configuration** > **Administrative Templates** > **Control Panel** > **Settings Page Visibility**. ![Settings page visibility policy](images/settings-page-visibility-gp.png) From f9b8dccb64f016111b3409909bf288ef49ea32cf Mon Sep 17 00:00:00 2001 From: Liza Poggemeyer Date: Fri, 2 Nov 2018 15:37:57 -0700 Subject: [PATCH 08/53] Typo fixes --- .../manage-settings-app-with-group-policy.md | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/windows/client-management/manage-settings-app-with-group-policy.md b/windows/client-management/manage-settings-app-with-group-policy.md index ae2a8a363d..aa9b63bd2b 100644 --- a/windows/client-management/manage-settings-app-with-group-policy.md +++ b/windows/client-management/manage-settings-app-with-group-policy.md @@ -23,13 +23,12 @@ To make use of the Settings App group polices on Windows server 2016, install fi To centrally manage the new policies copy the ControlPanel.admx and ControlPanel.adml file to [Central Store](https://support.microsoft.com/help/3087759/how-to-create-and-manage-the-central-store-for-group-policy-administra) if your company uses one or the PolicyDefinitions folder of the Domain Controllers used for Group Policy management. -This policy is available for. both. User. and. Computer. depending. on the. version of the. OS -Windows. Server. 2016.with. KB. 4457127. applied. will. have. both. User and. Computer. policy -Windows. 10. version. 1703. added. Computer. policy. for the. Settings. app -Windows. 10. version. 1809. added. User. policy. for. the. Settings. app +This policy is available for both User and Computer depending on the version of the OS. Windows Server 2016 with KB 4457127 applied will have both User and Computer policy. Windows 10, version 1703, added Computer policy for the Settings app. Windows 10, version 1809, added User policy for the Settings app. + +Policy paths: -Policy. Paths **Computer Configuration** > **Administrative Templates** > **Control Panel** > **Settings Page Visibility**. + **User Configuration** > **Administrative Templates** > **Control Panel** > **Settings Page Visibility**. ![Settings page visibility policy](images/settings-page-visibility-gp.png) From adcd168f28322cc76b3aa97224f713aa4d8f8541 Mon Sep 17 00:00:00 2001 From: Antony Bragg Date: Fri, 2 Nov 2018 23:39:55 +0000 Subject: [PATCH 09/53] Update account-lockout-policy.md Corrected the location of the account lock out policies. Missed out the "Policies" section of the tree. --- .../security-policy-settings/account-lockout-policy.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/threat-protection/security-policy-settings/account-lockout-policy.md b/windows/security/threat-protection/security-policy-settings/account-lockout-policy.md index c481a744c3..1478eafa69 100644 --- a/windows/security/threat-protection/security-policy-settings/account-lockout-policy.md +++ b/windows/security/threat-protection/security-policy-settings/account-lockout-policy.md @@ -18,7 +18,7 @@ ms.date: 10/11/2018 Describes the Account Lockout Policy settings and links to information about each policy setting. -Someone who attempts to use more than a few unsuccessful passwords while trying to log on to your system might be a malicious user who is attempting to determine an account password by trial and error. Windows domain controllers keep track of logon attempts, and domain controllers can be configured to respond to this type of potential attack by disabling the account for a preset period of time. Account Lockout Policy settings control the threshold for this response and the actions to be taken after the threshold is reached. The Account Lockout Policy settings can be configured in the following location in the Group Policy Management Console: **Computer Configuration\\Windows Settings\\Security Settings\\Account Policies\\Account Lockout Policy**. +Someone who attempts to use more than a few unsuccessful passwords while trying to log on to your system might be a malicious user who is attempting to determine an account password by trial and error. Windows domain controllers keep track of logon attempts, and domain controllers can be configured to respond to this type of potential attack by disabling the account for a preset period of time. Account Lockout Policy settings control the threshold for this response and the actions to be taken after the threshold is reached. The Account Lockout Policy settings can be configured in the following location in the Group Policy Management Console: **Computer Configuration\\Policies\\Windows Settings\\Security Settings\\Account Policies\\Account Lockout Policy**. The following topics provide a discussion of each policy setting's implementation and best practices considerations, policy location, default values for the server type or Group Policy Object (GPO), relevant differences in operating system versions, and security considerations (including the possible vulnerabilities of each policy setting), countermeasures that you can implement, and the potential impact of implementing the countermeasures. From 387ae68d462295806a038c8da593dab99befbaa3 Mon Sep 17 00:00:00 2001 From: Nick Schonning Date: Sat, 3 Nov 2018 19:28:56 -0400 Subject: [PATCH 10/53] typo: occuring -> occurring --- windows/client-management/mdm/policy-csp-power.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/windows/client-management/mdm/policy-csp-power.md b/windows/client-management/mdm/policy-csp-power.md index 6a7dbb8a95..99ad8fd29e 100644 --- a/windows/client-management/mdm/policy-csp-power.md +++ b/windows/client-management/mdm/policy-csp-power.md @@ -348,7 +348,7 @@ If you enable this policy setting, you must provide a value, in seconds, indicat If you disable or do not configure this policy setting, users control this setting. -If the user has configured a slide show to run on the lock screen when the machine is locked, this can prevent the sleep transition from occuring. The "Prevent enabling lock screen slide show" policy setting can be used to disable the slide show feature. +If the user has configured a slide show to run on the lock screen when the machine is locked, this can prevent the sleep transition from occurring. The "Prevent enabling lock screen slide show" policy setting can be used to disable the slide show feature. > [!TIP] @@ -412,7 +412,7 @@ If you enable this policy setting, you must provide a value, in seconds, indicat If you disable or do not configure this policy setting, users control this setting. -If the user has configured a slide show to run on the lock screen when the machine is locked, this can prevent the sleep transition from occuring. The "Prevent enabling lock screen slide show" policy setting can be used to disable the slide show feature. +If the user has configured a slide show to run on the lock screen when the machine is locked, this can prevent the sleep transition from occurring. The "Prevent enabling lock screen slide show" policy setting can be used to disable the slide show feature. > [!TIP] @@ -600,7 +600,7 @@ If you enable this policy setting, you must provide a value, in seconds, indicat If you disable or do not configure this policy setting, users control this setting. -If the user has configured a slide show to run on the lock screen when the machine is locked, this can prevent the sleep transition from occuring. The "Prevent enabling lock screen slide show" policy setting can be used to disable the slide show feature. +If the user has configured a slide show to run on the lock screen when the machine is locked, this can prevent the sleep transition from occurring. The "Prevent enabling lock screen slide show" policy setting can be used to disable the slide show feature. > [!TIP] From 57704903d09aef9fef737f30032e726c7ae6ed35 Mon Sep 17 00:00:00 2001 From: Andre van den Berg Date: Sun, 4 Nov 2018 10:36:27 +0100 Subject: [PATCH 11/53] First note in document not correct formated --- windows/deployment/windows-autopilot/windows-10-autopilot.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/deployment/windows-autopilot/windows-10-autopilot.md b/windows/deployment/windows-autopilot/windows-10-autopilot.md index 7f8964a738..6b988faa67 100644 --- a/windows/deployment/windows-autopilot/windows-10-autopilot.md +++ b/windows/deployment/windows-autopilot/windows-10-autopilot.md @@ -51,8 +51,8 @@ The Windows Autopilot Deployment Program enables you to: ##### Prerequisites - >[!NOTE] - >Today, Windows Autopilot user-driven mode supports joining devices to Azure Active Directory. Support for Hybrid Azure Active Directory Join (with devices joined to an on-premises Active Directory domain) will be available in a future Windows 10 release. See [Introduction to device management in Azure Active Directory](https://docs.microsoft.com/azure/active-directory/device-management-introduction) for more information about the differences between these two join options. +>[!NOTE] +>Today, Windows Autopilot user-driven mode supports joining devices to Azure Active Directory. Support for Hybrid Azure Active Directory Join (with devices joined to an on-premises Active Directory domain) will be available in a future Windows 10 release. See [Introduction to device management in Azure Active Directory](https://docs.microsoft.com/azure/active-directory/device-management-introduction) for more information about the differences between these two join options. * [Devices must be registered to the organization](#device-registration-and-oobe-customization) * [Company branding needs to be configured](#configure-company-branding-for-oobe) From 18602e08d71c3c6d992ebf7faaf5aaf24ed5090e Mon Sep 17 00:00:00 2001 From: Patti Short <35278231+shortpatti@users.noreply.github.com> Date: Mon, 5 Nov 2018 07:13:33 -0800 Subject: [PATCH 12/53] Update how-to-deploy-the-app-v-client-gb18030.md fixed the table formatting --- .../how-to-deploy-the-app-v-client-gb18030.md | 405 +++++------------- 1 file changed, 96 insertions(+), 309 deletions(-) diff --git a/mdop/appv-v5/how-to-deploy-the-app-v-client-gb18030.md b/mdop/appv-v5/how-to-deploy-the-app-v-client-gb18030.md index 5142ecf01f..346ca3eb1a 100644 --- a/mdop/appv-v5/how-to-deploy-the-app-v-client-gb18030.md +++ b/mdop/appv-v5/how-to-deploy-the-app-v-client-gb18030.md @@ -7,7 +7,7 @@ ms.pagetype: mdop, appcompat, virtualization ms.mktglfcycl: deploy ms.sitesec: library ms.prod: w10 -ms.date: 11/01/2016 +ms.date: 11/05/2018 --- @@ -18,341 +18,137 @@ Use the following procedure to install the Microsoft Application Virtualization **What to do before you start** -1. Review and install the software prerequisites: +1. Review and install the software prerequisites: - Install the prerequisite software that corresponds to the version of App-V that you are installing: + Install the prerequisite software that corresponds to the version of App-V that you are installing: - - [About App-V 5.0 SP3](about-app-v-50-sp3.md) + - [About App-V 5.0 SP3](about-app-v-50-sp3.md) - - App-V 5.0 SP1 and App-V 5.0 SP2 – no new prerequisites in these versions + - App-V 5.0 SP1 and App-V 5.0 SP2 – no new prerequisites in these versions - - [App-V 5.0 Prerequisites](app-v-50-prerequisites.md) + - [App-V 5.0 Prerequisites](app-v-50-prerequisites.md) -2. Review the client coexistence and unsupported scenarios, as applicable to your installation: +2. Review the client coexistence and unsupported scenarios, as applicable to your installation: - - - - - - - - - - - - - - - -

Deploying coexisting App-V clients

[Planning for the App-V 5.0 Sequencer and Client Deployment](planning-for-the-app-v-50-sequencer-and-client-deployment.md)

Unsupported or limited installation scenarios

See the client section in [App-V 5.0 Supported Configurations](app-v-50-supported-configurations.md)

+ | | | + |---|---| + |Deploying coexisting App-V clients |[Planning for the App-V 5.0 Sequencer and Client Deployment](planning-for-the-app-v-50-sequencer-and-client-deployment.md) | + |Unsupported or limited installation scenarios |[App-V 5.0 Supported Configurations](app-v-50-supported-configurations.md) | + --- +   +3. Review the locations for client registry, log, and troubleshooting information: -   - -3. Review the locations for client registry, log, and troubleshooting information: - - ---- - - - - - - - - - - - - - - -

Client registry information

    -
  • By default, after you install the App-V 5.0 client, the client information is stored in the registry in the following registry key:

    -

    HKEY_LOCAL_MACHINE \ SOFTWARE \ MICROSOFT \ APPV \ CLIENT

  • -
  • When you deploy a virtualized package to a computer that is running the App-V client, the associated package data is stored in the following location:

    -

    C: \ ProgramData \ App-V

    -

    However, you can reconfigure this location with the following registry key:

    -

    HKEY_LOCAL_MACHINE \ SOFTWARE \ MICROSOFT \ SOFTWARE \ MICROSOFT \ APPV \ CLIENT \ STREAMING \ PACKAGEINSTALLATIONROOT

  • -

Client log files

    -
  • For log file information that is associated with the App-V 5.0 Client, search in the following log:

    -

    Event logs / Applications and Services Logs / Microsoft / AppV

  • -
  • In App-V 5.0 SP3, some logs have been consolidated and moved to the following location:

    -

    Event logs/Applications and Services Logs/Microsoft/AppV/ServiceLog

    -

    For a list of the moved logs, see [About App-V 5.0 SP3](about-app-v-50-sp3.md#bkmk-event-logs-moved).

  • -
  • Packages that are currently stored on computers that run the App-V 5.0 Client are saved to the following location:

    -

    C:\ProgramData\App-V\<package id>\<version id>

  • -

Client installation troubleshooting information

See the error log in the %temp% folder. To review the log files, click Start, type %temp%, and then look for the appv_ log.

- -  + | | | + |---|---| + |Client registry information |

  • By default, after you install the App-V 5.0 client, the client information is stored in the registry in the following registry key:

    HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\APPV\CLIENT

  • When you deploy a virtualized package to a computer that is running the App-V client, the associated package data is stored in the following location:

    C:\ProgramData\App-V

    However, you can reconfigure this location with the following registry key:

    HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\SOFTWARE\MICROSOFT\APPV\CLIENT\STREAMING\PACKAGEINSTALLATIONROOT

| + |Client log files |
  • For log file information that is associated with the App-V 5.0 Client, search in the following log:

    Event logs/Applications and Services Logs/Microsoft/AppV

  • In App-V 5.0 SP3, some logs have been consolidated and moved to the following location:

    Event logs/Applications and Services Logs/Microsoft/AppV/ServiceLog

    For a list of the moved logs, see [About App-V 5.0 SP3](about-app-v-50-sp3.md#bkmk-event-logs-moved).

  • Packages that are currently stored on computers that run the App-V 5.0 Client are saved to the following location:

    C:\ProgramData\App-V\<_package id_>\<_version id_>

| + |Client installation troubleshooting information |See the error log in the **%temp%** folder. To review the log files, click **Start**, type **%temp%**, and then look for the **appv_ log**. | + --- + **To install the App-V 5.0 Client** -1. Copy the App-V 5.0 client installation file to the computer on which it will be installed. Choose from the following client types: +1. Copy the App-V 5.0 client installation file to the computer on which it will be installed.

Choose from the following client types: - - - - - - - - - - - - - - - - - - - - - -
Client typeFile to use

Standard version of the client

appv_client_setup.exe

Remote Desktop Services version of the client

appv_client_setup_rds.exe

+ |Client type |File to use | + |---|---| + |Standard version of the client |**appv_client_setup.exe** | + |Remote Desktop Services version of the client |**appv_client_setup_rds.exe** | + --- -   +2. Double-click the installation file, and click **Install**. Before the installation begins, the installer checks the computer for any missing [App-V 5.0 Prerequisites](app-v-50-prerequisites.md). -2. Double-click the installation file, and click **Install**. Before the installation begins, the installer checks the computer for any missing [App-V 5.0 Prerequisites](app-v-50-prerequisites.md). +3. Review and accept the Software License Terms, choose whether to use Microsoft Update and whether to participate in the Microsoft Customer Experience Improvement Program, and click **Install**. -3. Review and accept the Software License Terms, choose whether to use Microsoft Update and whether to participate in the Microsoft Customer Experience Improvement Program, and click **Install**. +4. On the **Setup completed successfully** page, click **Close**. -4. On the **Setup completed successfully** page, click **Close**. + The installation creates the following entries for the App-V client in **Programs**: - The installation creates the following entries for the App-V client in **Programs**: + - **.exe** - - **.exe** + - **.msi** - - **.msi** + - **language pack** + + >[!NOTE] + >After the installation, only the .exe file can be uninstalled. - - **language pack** - - **Note**   - After the installation, only the .exe file can be uninstalled. - -   **To install the App-V 5.0 client using a script** -1. Install all of the required prerequisite software on the target computers. See [What to do before you start](#bkmk-clt-install-prereqs). If you install the client by using an .msi file, the installation will fail if any prerequisites are missing. +1. Install all of the required prerequisite software on the target computers. See [What to do before you start](#bkmk-clt-install-prereqs). If you install the client by using an .msi file, the installation will fail if any prerequisites are missing. -2. To use a script to install the App-V 5.0 client, use the following parameters with **appv\_client\_setup.exe**. +2. To use a script to install the App-V 5.0 client, use the following parameters with **appv\_client\_setup.exe**. - **Note**   - The client Windows Installer (.msi) supports the same set of switches, except for the **/LOG** parameter. + >[!NOTE] + >The client Windows Installer (.msi) supports the same set of switches, except for the **/LOG** parameter. -   - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

/INSTALLDIR

Specifies the installation directory. Example usage: /INSTALLDIR=C:\Program Files\AppV Client

/CEIPOPTIN

Enables participation in the Customer Experience Improvement Program. Example usage: /CEIPOPTIN=[0|1]

/MUOPTIN

Enables Microsoft Update. Example usage: /MUOPTIN=[0|1]

/PACKAGEINSTALLATIONROOT

Specifies the directory in which to install all new applications and updates. Example usage: /PACKAGEINSTALLATIONROOT='C:\App-V Packages'

/PACKAGESOURCEROOT

Overrides the source location for downloading package content. Example usage: /PACKAGESOURCEROOT='http://packageStore'

/AUTOLOAD

Specifies how new packages will be loaded by App-V 5.0 on a specific computer. The following options are enabled: [1]; automatically load all packages [2]; or automatically load no packages [0].Example usage: /AUTOLOAD=[0|1|2]

/SHAREDCONTENTSTOREMODE

Specifies that streamed package contents will be not be saved to the local hard disk. Example usage: /SHAREDCONTENTSTOREMODE=[0|1]

/MIGRATIONMODE

Allows the App-V 5.0 client to modify the shortcuts and FTAs that are associated with the packages that are created with a previous version. Example usage: /MIGRATIONMODE=[0|1]

/ENABLEPACKAGESCRIPTS

Enables the scripts that are defined in the package manifest file or configuration files that should run. Example usage: /ENABLEPACKAGESCRIPTS=[0|1]

/ROAMINGREGISTRYEXCLUSIONS

Specifies the registry paths that will not roam with a user profile. Example usage: /ROAMINGREGISTRYEXCLUSIONS=software\classes;software\clients

/ROAMINGFILEEXCLUSIONS

Specifies the file paths relative to %userprofile% that do not roam with a user's profile. Example usage: /ROAMINGFILEEXCLUSIONS 'desktop;my pictures'

/S[1-5]PUBLISHINGSERVERNAME

Displays the name of the publishing server. Example usage: /S2PUBLISHINGSERVERNAME=MyPublishingServer

/S[1-5]PUBLISHINGSERVERURL

Displays the URL of the publishing server. Example usage: /S2PUBLISHINGSERVERURL=\\pubserver

/S[1-5]GLOBALREFRESHENABLED -

Enables a global publishing refresh. Example usage: /S2GLOBALREFRESHENABLED=[0|1]

/S[1-5]GLOBALREFRESHONLOGON

Initiates a global publishing refresh when a user logs on. Example usage: /S2LOGONREFRESH=[0|1]

/S[1-5]GLOBALREFRESHINTERVAL -

Specifies the publishing refresh interval, where 0 indicates do not periodically refresh. Example usage: /S2PERIODICREFRESHINTERVAL=[0-744]

/S[1-5]GLOBALREFRESHINTERVALUNIT

Specifies the interval unit (Hours[0], Days[1]). Example usage: /S2GLOBALREFRESHINTERVALUNIT=[0|1]

/S[1-5]USERREFRESHENABLED

Enables user publishing refresh. Example usage: /S2USERREFRESHENABLED=[0|1]

/S[1-5]USERREFRESHONLOGON

Initiates a user publishing refresh when a user logs on. Example usage: /S2LOGONREFRESH=[0|1]

/S[1-5]USERREFRESHINTERVAL -

Specifies the publishing refresh interval, where 0 indicates do not periodically refresh. Example usage: /S2PERIODICREFRESHINTERVAL=[0-744]

/S[1-5]USERREFRESHINTERVALUNIT

Specifies the interval unit (Hours[0], Days[1]). Example usage: /S2USERREFRESHINTERVALUNIT=[0|1]

/Log

Specifies a location where the log information is saved. The default location is %Temp%. Example usage: /log C:\logs\log.log

/q

Specifies an unattended installation.

/REPAIR

Repairs a previous client installation.

/NORESTART

Prevents the computer from rebooting after the client installation.

-

The parameter prevents the end-user computer from rebooting after each update is installed and lets you schedule the reboot at your convenience. For example, you can install App-V 5.0 SPX and then install Hotfix Package Y without rebooting after the Service Pack installation. After the installation, you must reboot before you start using App-V.

/UNINSTALL

Uninstalls the client.

/ACCEPTEULA

Accepts the license agreement. This is required for an unattended installation. Example usage: /ACCEPTEULA or /ACCEPTEULA=1.

/LAYOUT

Specifies the associated layout action. It also extracts the Windows Installer (.msi) and script files to a folder without installing App-V 5.0. No value is expected.

/LAYOUTDIR

Specifies the layout directory. Requires a string value. Example usage: /LAYOUTDIR=”C:\Application Virtualization Client”.

/?, /h, /help

Requests help about the previous installation parameters.

- -   + | | | + |---|---| + |/INSTALLDIR |Specifies the installation directory. Example usage:

**/INSTALLDIR=C:\Program Files\AppV Client** | + |/CEIPOPTIN |Enables participation in the Customer Experience Improvement Program. Example usage:

**/CEIPOPTIN=[0\|1\]** | + |/MUOPTIN |Enables Microsoft Update. Example usage:

**/MUOPTIN=[0\|1\]** | + |/PACKAGEINSTALLATIONROOT |Specifies the directory in which to install all new applications and updates. Example usage:

**/PACKAGEINSTALLATIONROOT='C:\App-V Packages'** | + |/PACKAGESOURCEROOT |Overrides the source location for downloading package content. Example usage:

**/PACKAGESOURCEROOT='http://packageStore'** | + |/AUTOLOAD |Specifies how new packages will be loaded by App-V 5.0 on a specific computer. The following options are enabled: [1]; automatically load all packages [2]; or automatically load no packages [0]. Example usage:

**/AUTOLOAD=[0\|1\|2\]** | + |/SHAREDCONTENTSTOREMODE |Specifies that streamed package contents will be not be saved to the local hard disk. Example usage:

**/SHAREDCONTENTSTOREMODE=[0\|1\]** | + |/MIGRATIONMODE |Allows the App-V 5.0 client to modify the shortcuts and FTAs that are associated with the packages that are created with a previous version. Example usage:

**/MIGRATIONMODE=[0\|1\]** | + |/ENABLEPACKAGESCRIPTS |Enables the scripts that are defined in the package manifest file or configuration files that should run. Example usage:

**/ENABLEPACKAGESCRIPTS=[0\|1\]** | + |/ROAMINGREGISTRYEXCLUSIONS |Specifies the registry paths that will not roam with a user profile. Example usage:

**/ROAMINGREGISTRYEXCLUSIONS=software\classes;software\clients** | + |/ROAMINGFILEEXCLUSIONS |Specifies the file paths relative to %userprofile% that do not roam with a user's profile. Example usage:

**/ROAMINGFILEEXCLUSIONS 'desktop;my pictures'** | + |/S[1-5]PUBLISHINGSERVERNAME |Displays the name of the publishing server. Example usage:

**/S2PUBLISHINGSERVERNAME=MyPublishingServer** | + |/S[1-5]PUBLISHINGSERVERURL |Displays the URL of the publishing server. Example usage:

**/S2PUBLISHINGSERVERURL=\\pubserver** | + |/S[1-5]GLOBALREFRESHENABLED|Enables a global publishing refresh. Example usage:

**/S2GLOBALREFRESHENABLED=[0\|1\]** | + |/S[1-5]GLOBALREFRESHONLOGON |Initiates a global publishing refresh when a user logs on. Example usage:

**/S2LOGONREFRESH=[0\|1\]** | + |/S[1-5]GLOBALREFRESHINTERVAL |Specifies the publishing refresh interval, where **0** indicates do not periodically refresh. Example usage: **/S2PERIODICREFRESHINTERVAL=[0-744]** | + |/S[1-5]GLOBALREFRESHINTERVALUNIT |Specifies the interval unit (Hours[0], Days[1]). Example usage:

**/S2GLOBALREFRESHINTERVALUNIT=[0\|1\]** | + |/S[1-5]USERREFRESHENABLED |Enables user publishing refresh. Example usage: **/S2USERREFRESHENABLED=[0\|1\]** | + |/S[1-5]USERREFRESHONLOGON |Initiates a user publishing refresh when a user logs on. Example usage:

**/S2LOGONREFRESH=[0\|1\]** | + |/S[1-5]USERREFRESHINTERVAL |Specifies the publishing refresh interval, where **0** indicates do not periodically refresh. Example usage: **/S2PERIODICREFRESHINTERVAL=[0-744]** | + |/S[1-5]USERREFRESHINTERVALUNIT |Specifies the interval unit (Hours[0], Days[1]). Example usage:

**/S2USERREFRESHINTERVALUNIT=[0\|1\]** | + |/Log |Specifies a location where the log information is saved. The default location is %Temp%. Example usage:

**/log C:\logs\log.log** | + |/q |Specifies an unattended installation. | + |/REPAIR |Repairs a previous client installation. | + |/NORESTART |Prevents the computer from rebooting after the client installation.

The parameter prevents the end-user computer from rebooting after each update is installed and lets you schedule the reboot at your convenience. For example, you can install App-V 5.0 SPX and then install Hotfix Package Y without rebooting after the Service Pack installation. After the installation, you must reboot before you start using App-V. | + |/UNINSTALL |Uninstalls the client. | + |/ACCEPTEULA |Accepts the license agreement. This is required for an unattended installation. Example usage:

**/ACCEPTEULA** or **/ACCEPTEULA=1**. | + |/LAYOUT |Specifies the associated layout action. It also extracts the Windows Installer (.msi) and script files to a folder without installing App-V 5.0. No value is expected. | + |/LAYOUTDIR |Specifies the layout directory. Requires a string value. Example usage:

**/LAYOUTDIR=”C:\Application Virtualization Client”**. | + |/?, /h, /help |Requests help about the previous installation parameters. | + --- **To install the App-V 5.0 client by using the Windows Installer (.msi) file** -1. Install the required prerequisites on the target computers. See [What to do before you start](#bkmk-clt-install-prereqs). If any prerequisites are not met, the installation will fail. +1. Install the required prerequisites on the target computers. See [What to do before you start](#bkmk-clt-install-prereqs). If any prerequisites are not met, the installation will fail. -2. Ensure that the target computers do not have any pending restarts before you install the client using the App-V 5.0 Windows Installer (.msi) files. The Windows Installer files do not flag a pending restart. +2. Ensure that the target computers do not have any pending restarts before you install the client using the App-V 5.0 Windows Installer (.msi) files. The Windows Installer files do not flag a pending restart. -3. Deploy one of the following Windows Installer files to the target computer. The file that you specify must match the configuration of the target computer. +3. Deploy one of the following Windows Installer files to the target computer. The file that you specify must match the configuration of the target computer. - - - - - - - - - - - - - - - - - - - - - - - - - -
Type of deploymentDeploy this file

Computer is running a 32-bit Microsoft Windows operating system

appv_client_MSI_x86.msi

Computer is running a 64-bit Microsoft Windows operating system

appv_client_MSI_x64.msi

You are deploying the App-V 5.0 Remote Desktop Services client

appv_client_rds_MSI_x64.msi

+ |Type of deployment |Deploy this file | + |---|---| + |Computer is running a 32-bit Microsoft Windows operating system |appv_client_MSI_x86.msi | + |Computer is running a 64-bit Microsoft Windows operating system |appv_client_MSI_x64.msi | + |You are deploying the App-V 5.0 Remote Desktop Services client |appv_client_rds_MSI_x64.msi | + --- +  +4. Using the information in the following table, select the appropriate language pack **.msi** to install, based on the desired language for the target computer. The **xxxx** in the table refers to the target locale of the language pack. -   + **What to know before you start:** -4. Using the information in the following table, select the appropriate language pack **.msi** to install, based on the desired language for the target computer. The **xxxx** in the table refers to the target locale of the language pack. + - The language packs are common to both the standard App-V 5.0 client and the Remote Desktop Services version of the App-V 5.0 client. - **What to know before you start:** + - If you install the App-V 5.0 client using the **.exe**, the installer will deploy only the language pack that matches the operating system running on the target computer. - - The language packs are common to both the standard App-V 5.0 client and the Remote Desktop Services version of the App-V 5.0 client. + - To deploy additional language packs on a target computer, use the procedure **To install the App-V 5.0 client by using Windows Installer (.msi) file**. - - If you install the App-V 5.0 client using the **.exe**, the installer will deploy only the language pack that matches the operating system running on the target computer. - - - To deploy additional language packs on a target computer, use the procedure **To install the App-V 5.0 client by using Windows Installer (.msi) file**. - - - - - - - - - - - - - - - - - - - - - - -
Type of deploymentDeploy this file

Computer is running a 32-bit Microsoft Windows operating system

appv_client_LP_xxxx_ x86.msi

Computer is running a 64-bit Microsoft Windows operating system

appv_client_LP_xxxx_ x64.msi

- -   - - **Got a suggestion for App-V**? Add or vote on suggestions [here](http://appv.uservoice.com/forums/280448-microsoft-application-virtualization). **Got an App-V issu**e? Use the [App-V TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopappv). + |Type of deployment |Deploy this file | + |---|---| + |Computer is running a 32-bit Microsoft Windows operating system |appv_client_LP_xxxx_ x86.msi | + |Computer is running a 64-bit Microsoft Windows operating system |appv_client_LP_xxxx_ x64.msi | + --- + + **Got a suggestion for App-V**? Add or vote on [suggestions](http://appv.uservoice.com/forums/280448-microsoft-application-virtualization).

**Got an App-V issue?** Use the [App-V TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopappv). ## Related topics @@ -362,12 +158,3 @@ Use the following procedure to install the Microsoft Application Virtualization [About Client Configuration Settings](about-client-configuration-settings.md) [How to Uninstall the App-V 5.0 Client](how-to-uninstall-the-app-v-50-client.md) - -  - -  - - - - - From 574ced082d417dcbcf423150fdecf28c58913523 Mon Sep 17 00:00:00 2001 From: Patti Short <35278231+shortpatti@users.noreply.github.com> Date: Mon, 5 Nov 2018 07:16:10 -0800 Subject: [PATCH 13/53] Update how-to-deploy-the-app-v-client-gb18030.md --- .../how-to-deploy-the-app-v-client-gb18030.md | 53 ++++++++++--------- 1 file changed, 27 insertions(+), 26 deletions(-) diff --git a/mdop/appv-v5/how-to-deploy-the-app-v-client-gb18030.md b/mdop/appv-v5/how-to-deploy-the-app-v-client-gb18030.md index 346ca3eb1a..56a42d55f0 100644 --- a/mdop/appv-v5/how-to-deploy-the-app-v-client-gb18030.md +++ b/mdop/appv-v5/how-to-deploy-the-app-v-client-gb18030.md @@ -1,6 +1,7 @@ --- title: How to Deploy the App-V Client description: How to Deploy the App-V Client +ms.author: pashort author: jamiejdt ms.assetid: 9c4e67ae-ddaf-4e23-8c16-72d029a74a27 ms.pagetype: mdop, appcompat, virtualization @@ -40,15 +41,15 @@ Use the following procedure to install the Microsoft Application Virtualization | | | |---|---| - |Client registry information |

  • By default, after you install the App-V 5.0 client, the client information is stored in the registry in the following registry key:

    HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\APPV\CLIENT

  • When you deploy a virtualized package to a computer that is running the App-V client, the associated package data is stored in the following location:

    C:\ProgramData\App-V

    However, you can reconfigure this location with the following registry key:

    HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\SOFTWARE\MICROSOFT\APPV\CLIENT\STREAMING\PACKAGEINSTALLATIONROOT

| - |Client log files |
  • For log file information that is associated with the App-V 5.0 Client, search in the following log:

    Event logs/Applications and Services Logs/Microsoft/AppV

  • In App-V 5.0 SP3, some logs have been consolidated and moved to the following location:

    Event logs/Applications and Services Logs/Microsoft/AppV/ServiceLog

    For a list of the moved logs, see [About App-V 5.0 SP3](about-app-v-50-sp3.md#bkmk-event-logs-moved).

  • Packages that are currently stored on computers that run the App-V 5.0 Client are saved to the following location:

    C:\ProgramData\App-V\<_package id_>\<_version id_>

| + |Client registry information |
  • By default, after you install the App-V 5.0 client, the client information is stored in the registry in the following registry key:

    HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\APPV\CLIENT

  • When you deploy a virtualized package to a computer that is running the App-V client, the associated package data is stored in the following location:

    C:\ProgramData\App-V

    However, you can reconfigure this location with the following registry key:

    HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\SOFTWARE\MICROSOFT\APPV\CLIENT\STREAMING\PACKAGEINSTALLATIONROOT

| + |Client log files |
  • For log file information that is associated with the App-V 5.0 Client, search in the following log:

    Event logs/Applications and Services Logs/Microsoft/AppV

  • In App-V 5.0 SP3, some logs have been consolidated and moved to the following location:

    Event logs/Applications and Services Logs/Microsoft/AppV/ServiceLog

    For a list of the moved logs, see [About App-V 5.0 SP3](about-app-v-50-sp3.md#bkmk-event-logs-moved).

  • Packages that are currently stored on computers that run the App-V 5.0 Client are saved to the following location:

    C:\ProgramData\App-V\<_package id_>\<_version id_>

| |Client installation troubleshooting information |See the error log in the **%temp%** folder. To review the log files, click **Start**, type **%temp%**, and then look for the **appv_ log**. | --- **To install the App-V 5.0 Client** -1. Copy the App-V 5.0 client installation file to the computer on which it will be installed.

Choose from the following client types: +1. Copy the App-V 5.0 client installation file to the computer on which it will be installed.

Choose from the following client types: |Client type |File to use | |---|---| @@ -85,35 +86,35 @@ Use the following procedure to install the Microsoft Application Virtualization | | | |---|---| - |/INSTALLDIR |Specifies the installation directory. Example usage:

**/INSTALLDIR=C:\Program Files\AppV Client** | - |/CEIPOPTIN |Enables participation in the Customer Experience Improvement Program. Example usage:

**/CEIPOPTIN=[0\|1\]** | - |/MUOPTIN |Enables Microsoft Update. Example usage:

**/MUOPTIN=[0\|1\]** | - |/PACKAGEINSTALLATIONROOT |Specifies the directory in which to install all new applications and updates. Example usage:

**/PACKAGEINSTALLATIONROOT='C:\App-V Packages'** | - |/PACKAGESOURCEROOT |Overrides the source location for downloading package content. Example usage:

**/PACKAGESOURCEROOT='http://packageStore'** | - |/AUTOLOAD |Specifies how new packages will be loaded by App-V 5.0 on a specific computer. The following options are enabled: [1]; automatically load all packages [2]; or automatically load no packages [0]. Example usage:

**/AUTOLOAD=[0\|1\|2\]** | - |/SHAREDCONTENTSTOREMODE |Specifies that streamed package contents will be not be saved to the local hard disk. Example usage:

**/SHAREDCONTENTSTOREMODE=[0\|1\]** | - |/MIGRATIONMODE |Allows the App-V 5.0 client to modify the shortcuts and FTAs that are associated with the packages that are created with a previous version. Example usage:

**/MIGRATIONMODE=[0\|1\]** | - |/ENABLEPACKAGESCRIPTS |Enables the scripts that are defined in the package manifest file or configuration files that should run. Example usage:

**/ENABLEPACKAGESCRIPTS=[0\|1\]** | - |/ROAMINGREGISTRYEXCLUSIONS |Specifies the registry paths that will not roam with a user profile. Example usage:

**/ROAMINGREGISTRYEXCLUSIONS=software\classes;software\clients** | - |/ROAMINGFILEEXCLUSIONS |Specifies the file paths relative to %userprofile% that do not roam with a user's profile. Example usage:

**/ROAMINGFILEEXCLUSIONS 'desktop;my pictures'** | - |/S[1-5]PUBLISHINGSERVERNAME |Displays the name of the publishing server. Example usage:

**/S2PUBLISHINGSERVERNAME=MyPublishingServer** | - |/S[1-5]PUBLISHINGSERVERURL |Displays the URL of the publishing server. Example usage:

**/S2PUBLISHINGSERVERURL=\\pubserver** | - |/S[1-5]GLOBALREFRESHENABLED|Enables a global publishing refresh. Example usage:

**/S2GLOBALREFRESHENABLED=[0\|1\]** | - |/S[1-5]GLOBALREFRESHONLOGON |Initiates a global publishing refresh when a user logs on. Example usage:

**/S2LOGONREFRESH=[0\|1\]** | + |/INSTALLDIR |Specifies the installation directory. Example usage:

**/INSTALLDIR=C:\Program Files\AppV Client** | + |/CEIPOPTIN |Enables participation in the Customer Experience Improvement Program. Example usage:

**/CEIPOPTIN=[0\|1\]** | + |/MUOPTIN |Enables Microsoft Update. Example usage:

**/MUOPTIN=[0\|1\]** | + |/PACKAGEINSTALLATIONROOT |Specifies the directory in which to install all new applications and updates. Example usage:

**/PACKAGEINSTALLATIONROOT='C:\App-V Packages'** | + |/PACKAGESOURCEROOT |Overrides the source location for downloading package content. Example usage:

**/PACKAGESOURCEROOT='http://packageStore'** | + |/AUTOLOAD |Specifies how new packages will be loaded by App-V 5.0 on a specific computer. The following options are enabled: [1]; automatically load all packages [2]; or automatically load no packages [0]. Example usage:

**/AUTOLOAD=[0\|1\|2\]** | + |/SHAREDCONTENTSTOREMODE |Specifies that streamed package contents will be not be saved to the local hard disk. Example usage:

**/SHAREDCONTENTSTOREMODE=[0\|1\]** | + |/MIGRATIONMODE |Allows the App-V 5.0 client to modify the shortcuts and FTAs that are associated with the packages that are created with a previous version. Example usage:

**/MIGRATIONMODE=[0\|1\]** | + |/ENABLEPACKAGESCRIPTS |Enables the scripts that are defined in the package manifest file or configuration files that should run. Example usage:

**/ENABLEPACKAGESCRIPTS=[0\|1\]** | + |/ROAMINGREGISTRYEXCLUSIONS |Specifies the registry paths that will not roam with a user profile. Example usage:

**/ROAMINGREGISTRYEXCLUSIONS=software\classes;software\clients** | + |/ROAMINGFILEEXCLUSIONS |Specifies the file paths relative to %userprofile% that do not roam with a user's profile. Example usage:

**/ROAMINGFILEEXCLUSIONS 'desktop;my pictures'** | + |/S[1-5]PUBLISHINGSERVERNAME |Displays the name of the publishing server. Example usage:

**/S2PUBLISHINGSERVERNAME=MyPublishingServer** | + |/S[1-5]PUBLISHINGSERVERURL |Displays the URL of the publishing server. Example usage:

**/S2PUBLISHINGSERVERURL=\\pubserver** | + |/S[1-5]GLOBALREFRESHENABLED|Enables a global publishing refresh. Example usage:

**/S2GLOBALREFRESHENABLED=[0\|1\]** | + |/S[1-5]GLOBALREFRESHONLOGON |Initiates a global publishing refresh when a user logs on. Example usage:

**/S2LOGONREFRESH=[0\|1\]** | |/S[1-5]GLOBALREFRESHINTERVAL |Specifies the publishing refresh interval, where **0** indicates do not periodically refresh. Example usage: **/S2PERIODICREFRESHINTERVAL=[0-744]** | - |/S[1-5]GLOBALREFRESHINTERVALUNIT |Specifies the interval unit (Hours[0], Days[1]). Example usage:

**/S2GLOBALREFRESHINTERVALUNIT=[0\|1\]** | + |/S[1-5]GLOBALREFRESHINTERVALUNIT |Specifies the interval unit (Hours[0], Days[1]). Example usage:

**/S2GLOBALREFRESHINTERVALUNIT=[0\|1\]** | |/S[1-5]USERREFRESHENABLED |Enables user publishing refresh. Example usage: **/S2USERREFRESHENABLED=[0\|1\]** | - |/S[1-5]USERREFRESHONLOGON |Initiates a user publishing refresh when a user logs on. Example usage:

**/S2LOGONREFRESH=[0\|1\]** | + |/S[1-5]USERREFRESHONLOGON |Initiates a user publishing refresh when a user logs on. Example usage:

**/S2LOGONREFRESH=[0\|1\]** | |/S[1-5]USERREFRESHINTERVAL |Specifies the publishing refresh interval, where **0** indicates do not periodically refresh. Example usage: **/S2PERIODICREFRESHINTERVAL=[0-744]** | - |/S[1-5]USERREFRESHINTERVALUNIT |Specifies the interval unit (Hours[0], Days[1]). Example usage:

**/S2USERREFRESHINTERVALUNIT=[0\|1\]** | - |/Log |Specifies a location where the log information is saved. The default location is %Temp%. Example usage:

**/log C:\logs\log.log** | + |/S[1-5]USERREFRESHINTERVALUNIT |Specifies the interval unit (Hours[0], Days[1]). Example usage:

**/S2USERREFRESHINTERVALUNIT=[0\|1\]** | + |/Log |Specifies a location where the log information is saved. The default location is %Temp%. Example usage:

**/log C:\logs\log.log** | |/q |Specifies an unattended installation. | |/REPAIR |Repairs a previous client installation. | - |/NORESTART |Prevents the computer from rebooting after the client installation.

The parameter prevents the end-user computer from rebooting after each update is installed and lets you schedule the reboot at your convenience. For example, you can install App-V 5.0 SPX and then install Hotfix Package Y without rebooting after the Service Pack installation. After the installation, you must reboot before you start using App-V. | + |/NORESTART |Prevents the computer from rebooting after the client installation.

The parameter prevents the end-user computer from rebooting after each update is installed and lets you schedule the reboot at your convenience. For example, you can install App-V 5.0 SPX and then install Hotfix Package Y without rebooting after the Service Pack installation. After the installation, you must reboot before you start using App-V. | |/UNINSTALL |Uninstalls the client. | - |/ACCEPTEULA |Accepts the license agreement. This is required for an unattended installation. Example usage:

**/ACCEPTEULA** or **/ACCEPTEULA=1**. | + |/ACCEPTEULA |Accepts the license agreement. This is required for an unattended installation. Example usage:

**/ACCEPTEULA** or **/ACCEPTEULA=1**. | |/LAYOUT |Specifies the associated layout action. It also extracts the Windows Installer (.msi) and script files to a folder without installing App-V 5.0. No value is expected. | - |/LAYOUTDIR |Specifies the layout directory. Requires a string value. Example usage:

**/LAYOUTDIR=”C:\Application Virtualization Client”**. | + |/LAYOUTDIR |Specifies the layout directory. Requires a string value. Example usage:

**/LAYOUTDIR=”C:\Application Virtualization Client”**. | |/?, /h, /help |Requests help about the previous installation parameters. | --- @@ -148,7 +149,7 @@ Use the following procedure to install the Microsoft Application Virtualization |Computer is running a 64-bit Microsoft Windows operating system |appv_client_LP_xxxx_ x64.msi | --- - **Got a suggestion for App-V**? Add or vote on [suggestions](http://appv.uservoice.com/forums/280448-microsoft-application-virtualization).

**Got an App-V issue?** Use the [App-V TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopappv). + **Got a suggestion for App-V**? Add or vote on [suggestions](http://appv.uservoice.com/forums/280448-microsoft-application-virtualization).

**Got an App-V issue?** Use the [App-V TechNet Forum](https://social.technet.microsoft.com/Forums/home?forum=mdopappv). ## Related topics From 5a0acc5fa90de2630db761428aef4342cbd8bdd8 Mon Sep 17 00:00:00 2001 From: Patti Short <35278231+shortpatti@users.noreply.github.com> Date: Mon, 5 Nov 2018 07:17:05 -0800 Subject: [PATCH 14/53] Update how-to-deploy-the-app-v-client-gb18030.md --- mdop/appv-v5/how-to-deploy-the-app-v-client-gb18030.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mdop/appv-v5/how-to-deploy-the-app-v-client-gb18030.md b/mdop/appv-v5/how-to-deploy-the-app-v-client-gb18030.md index 56a42d55f0..143ee0777c 100644 --- a/mdop/appv-v5/how-to-deploy-the-app-v-client-gb18030.md +++ b/mdop/appv-v5/how-to-deploy-the-app-v-client-gb18030.md @@ -112,9 +112,9 @@ Use the following procedure to install the Microsoft Application Virtualization |/REPAIR |Repairs a previous client installation. | |/NORESTART |Prevents the computer from rebooting after the client installation.

The parameter prevents the end-user computer from rebooting after each update is installed and lets you schedule the reboot at your convenience. For example, you can install App-V 5.0 SPX and then install Hotfix Package Y without rebooting after the Service Pack installation. After the installation, you must reboot before you start using App-V. | |/UNINSTALL |Uninstalls the client. | - |/ACCEPTEULA |Accepts the license agreement. This is required for an unattended installation. Example usage:

**/ACCEPTEULA** or **/ACCEPTEULA=1**. | + |/ACCEPTEULA |Accepts the license agreement. This is required for an unattended installation. Example usage:

**/ACCEPTEULA** or **/ACCEPTEULA=1** | |/LAYOUT |Specifies the associated layout action. It also extracts the Windows Installer (.msi) and script files to a folder without installing App-V 5.0. No value is expected. | - |/LAYOUTDIR |Specifies the layout directory. Requires a string value. Example usage:

**/LAYOUTDIR=”C:\Application Virtualization Client”**. | + |/LAYOUTDIR |Specifies the layout directory. Requires a string value. Example usage:

**/LAYOUTDIR=”C:\Application Virtualization Client”** | |/?, /h, /help |Requests help about the previous installation parameters. | --- From a3300d5a3fa071bbbe8287655e7c4a1501bdbb4d Mon Sep 17 00:00:00 2001 From: Jeanie Decker Date: Mon, 5 Nov 2018 17:48:23 +0000 Subject: [PATCH 15/53] Merged PR 12582: add new topic on space mapping for HoloLens --- devices/hololens/TOC.md | 1 + devices/hololens/change-history-hololens.md | 10 ++- devices/hololens/hololens-kiosk.md | 3 +- devices/hololens/hololens-spaces.md | 69 +++++++++++++++++++ .../wip-learning.md | 2 +- 5 files changed, 82 insertions(+), 3 deletions(-) create mode 100644 devices/hololens/hololens-spaces.md diff --git a/devices/hololens/TOC.md b/devices/hololens/TOC.md index bec5bec56b..5e6c740970 100644 --- a/devices/hololens/TOC.md +++ b/devices/hololens/TOC.md @@ -11,4 +11,5 @@ ## [Configure HoloLens using a provisioning package](hololens-provisioning.md) ## [Install apps on HoloLens](hololens-install-apps.md) ## [Enable Bitlocker device encryption for HoloLens](hololens-encryption.md) +## [How HoloLens stores data for spaces](hololens-spaces.md) ## [Change history for Microsoft HoloLens documentation](change-history-hololens.md) \ No newline at end of file diff --git a/devices/hololens/change-history-hololens.md b/devices/hololens/change-history-hololens.md index 0b9f30c11d..8f2862fc81 100644 --- a/devices/hololens/change-history-hololens.md +++ b/devices/hololens/change-history-hololens.md @@ -9,13 +9,20 @@ author: jdeckerms ms.author: jdecker ms.topic: article ms.localizationpriority: medium -ms.date: 10/23/2018 +ms.date: 11/05/2018 --- # Change history for Microsoft HoloLens documentation This topic lists new and updated topics in the [Microsoft HoloLens documentation](index.md). +## November 2018 + +New or changed topic | Description +--- | --- +[How HoloLens stores data for spaces](hololens-spaces.md) | New + + ## October 2018 New or changed topic | Description @@ -25,6 +32,7 @@ New or changed topic | Description [Microsoft Dynamics 365 Layout app](hololens-microsoft-dynamics-365-layout-app.md) | Removed, and redirected to [Overview of Dynamics 365 Layout](https://docs.microsoft.com/dynamics365/mixed-reality/layout/) [Insider preview for Microsoft HoloLens](hololens-insider.md) | Added instructions for opting out of Insider builds. + ## July 2018 New or changed topic | Description diff --git a/devices/hololens/hololens-kiosk.md b/devices/hololens/hololens-kiosk.md index 5e1218f90c..8f05c5e15c 100644 --- a/devices/hololens/hololens-kiosk.md +++ b/devices/hololens/hololens-kiosk.md @@ -145,7 +145,8 @@ Use the following snippet in your kiosk configuration XML to enable the **Guest* ![Screenshot of the MultiAppAssignedAccessSettings field in Windows Configuration Designer](images/multiappassignedaccesssettings.png) - +8. (**Optional**: If you want to apply the provisioning package after device initial setup and there is an admin user already available on the kiosk device, skip this step.) Create an admin user account in **Runtime settings** > **Accounts** > **Users**. Provide a **UserName** and **Password**, and select **UserGroup** as **Administrators**. With this account, you can view the provisioning status and logs if needed. +8. (**Optional**: If you already have a non-admin account on the kiosk device, skip this step.) Create a local standard user account in **Runtime settings** > **Accounts** > **Users**. Make sure the **UserName** is the same as the account that you specify in the configuration XML. Select **UserGroup** as **Standard Users**. 8. On the **File** menu, select **Save.** 9. On the **Export** menu, select **Provisioning package**. 10. Change **Owner** to **IT Admin**, which will set the precedence of this provisioning package higher than provisioning packages applied to this device from other sources, and then select **Next.** diff --git a/devices/hololens/hololens-spaces.md b/devices/hololens/hololens-spaces.md new file mode 100644 index 0000000000..19307fdfb6 --- /dev/null +++ b/devices/hololens/hololens-spaces.md @@ -0,0 +1,69 @@ +--- +title: How HoloLens stores data for spaces (HoloLens) +description: +ms.prod: hololens +ms.sitesec: library +author: jdeckerms +ms.author: jdecker +ms.topic: article +ms.localizationpriority: medium +ms.date: 11/05/2018 +--- + +# How HoloLens stores data for spaces + +In the Windows 10, version 1803 update for Microsoft HoloLens, the mapping data for [spaces](https://support.microsoft.com/help/13760/hololens-spaces-on-hololens) is stored in a local database. + +The map database is not exposed to a user of the device, even when plugged into a PC or when using the File Explorer app. When BitLocker is enabled, the stored map data is also encrypted with the entire volume. + +Holograms that are anchored within the same map section are considered to be “nearby” in the current space. + + +## Frequently asked questions + +**How can I remove map data and known spaces from the HoloLens?** + +There are two options for deleting map data in **Settings > System > Holograms**: + +- Select **Remove nearby holograms** to delete nearby holograms, clearing the map data and anchored holograms for the current space. A brand new map section would be created and stored in the database for that location while the device is used there. This option can be used to clear the map data for work without affecting any map data from home, for example. +- Select **Remove all holograms** to delete all holograms, clearing all locally stored map data and anchored holograms. No holograms will be rediscovered and any holograms need to be newly placed. + +>[!NOTE] +>When you remove nearby or all holograms, HoloLens immediately starts scanning and mapping the current space. + +**How does Wi-Fi data get used by HoloLens and where is the data stored?** + +As long as Wi-Fi is enabled, map data will be correlated with nearby Wi-Fi access points. There is no difference in behavior if a network is connected or just nearby. Network characteristics are not sent to Microsoft, and all Wi-Fi references are kept local on the HoloLens. + +Wi-Fi characteristics are stored locally to help correlate hologram locations and map sections stored within HoloLens’ database of known spaces. It’s inaccessible to users, and not sent to Microsoft via the cloud or via telemetry. + + + +**Does HoloLens need to be connected to the internet?** + +No, internet connectivity is not required. Observed Wi-Fi access points are obtained without being connected or authenticated. It does not change functionality if the access points are internet connected or intranet/local only. + + + + + +**Since HoloLens no longer requires you to select a space when Wi-Fi is disabled, how does it find the space automatically?** + +If Wi-Fi is disabled, the space search can still happen; HoloLens will need to search more of the map data within the spaces database, and finding holograms can take longer. + +HoloLens will sense and remember spaces even when Wi-Fi is disabled, by securely storing the sensor data when holograms are placed. Without the Wi-Fi info, the space and holograms may be slower to recognize at a later time, as the HoloLens needs to compare active scans to all hologram anchors and map sections stored on the device in order to locate the correct portion of the map. + +HoloLens will visually compare the current scanning data from the sensors to locally stored map sections in the entire spaces database. It will locate holograms faster if the Wi-Fi characteristics can be found, to narrow down the number of spaces to compare. + + + + +  + + + +## Related topics + +- [Environment considerations for HoloLens](https://docs.microsoft.com/windows/mixed-reality/environment-considerations-for-hololens) +- [Spatial mapping design](https://docs.microsoft.com/windows/mixed-reality/spatial-mapping-design) +- [HoloLens and holograms: FAQ](https://support.microsoft.com/help/13456/hololens-and-holograms-faq) diff --git a/windows/security/information-protection/windows-information-protection/wip-learning.md b/windows/security/information-protection/windows-information-protection/wip-learning.md index 0f59fcfe7b..8bb9b2c5d5 100644 --- a/windows/security/information-protection/windows-information-protection/wip-learning.md +++ b/windows/security/information-protection/windows-information-protection/wip-learning.md @@ -97,4 +97,4 @@ Here, you can copy the **WipAppid** and use it to adjust your WIP protection pol When working with WIP-enabled apps and WIP-unknown apps, it is recommended that you start with **Silent** or **Allow overrides** while verifying with a small group that you have the right apps on your allowed apps list. After you're done, you can change to your final enforcement policy, **Block**. For more information about WIP modes, see: [Protect enterprise data using WIP: WIP-modes](protect-enterprise-data-using-wip.md#bkmk-modes) >[!NOTE] ->Help to make this topic better by providing us with edits, additions, and feedback. For info about how to contribute to this topic, see [Editing Windows IT professional documentation](https://github.com/Microsoft/windows-itpro-docs/blob/master/CONTRIBUTING.md). \ No newline at end of file +>Help to make this topic better by providing us with edits, additions, and feedback. For info about how to contribute to this topic, see [Editing Windows IT professional documentation](https://github.com/Microsoft/windows-itpro-docs/blob/master/CONTRIBUTING.md). From 4b2b29c93e88d13419f7cf20882510b8d6a5d21c Mon Sep 17 00:00:00 2001 From: Joey Caparas Date: Mon, 5 Nov 2018 10:46:35 -0800 Subject: [PATCH 16/53] move asc to ga --- .../preview-windows-defender-advanced-threat-protection.md | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-atp/preview-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/preview-windows-defender-advanced-threat-protection.md index 9a703bf22c..27650aecca 100644 --- a/windows/security/threat-protection/windows-defender-atp/preview-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/preview-windows-defender-advanced-threat-protection.md @@ -11,7 +11,7 @@ ms.pagetype: security ms.author: macapara author: mjcaparas ms.localizationpriority: medium -ms.date: 09/03/2018 +ms.date: 11/05/2018 --- # Windows Defender ATP preview features @@ -43,9 +43,6 @@ The following features are included in the preview release: Windows Defender ATP applies correlation analytics and aggregates all related alerts and investigations into an incident. Doing so helps narrate a broader story of an attack, thus providing you with the right visuals (upgraded incident graph) and data representations to understand and deal with complex cross-entity threats to your organization's network. -- [Integration with Azure Security Center](configure-server-endpoints-windows-defender-advanced-threat-protection.md#integration-with-azure-security-center)
-Windows Defender ATP integrates with Azure Security Center to provide a comprehensive server protection solution. With this integration Azure Security Center can leverage the power of Windows Defender ATP to provide improved threat detection for Windows Servers. - - [Integration with Microsoft Cloud App Security](microsoft-cloud-app-security-integration.md)
Microsoft Cloud App Security leverages Windows Defender ATP endpoint signals to allow direct visibility into cloud application usage including the use of unsupported cloud services (shadow IT) from all Windows Defender ATP monitored machines. From d9a525d22d74cc23115560609393805bbd8a718f Mon Sep 17 00:00:00 2001 From: Joey Caparas Date: Mon, 5 Nov 2018 11:01:47 -0800 Subject: [PATCH 17/53] update win10 version req --- windows/security/threat-protection/TOC.md | 2 +- ...ard-configure-windows-defender-advanced-threat-protection.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/security/threat-protection/TOC.md b/windows/security/threat-protection/TOC.md index 3145f56988..a328d38a24 100644 --- a/windows/security/threat-protection/TOC.md +++ b/windows/security/threat-protection/TOC.md @@ -186,7 +186,7 @@ ### [Configure and manage capabilities](windows-defender-atp/onboard.md) #### [Configure attack surface reduction](windows-defender-atp/configure-attack-surface-reduction.md) ##### [Hardware-based isolation](windows-defender-application-guard/install-wd-app-guard.md) -###### [Confguration settings](windows-defender-application-guard/configure-wd-app-guard.md) +###### [Configuration settings](windows-defender-application-guard/configure-wd-app-guard.md) ##### [Application control](windows-defender-application-control/windows-defender-application-control.md) ##### [Device control](device-guard/introduction-to-device-guard-virtualization-based-security-and-windows-defender-application-control.md) ###### [Memory integrity](windows-defender-exploit-guard/memory-integrity.md) diff --git a/windows/security/threat-protection/windows-defender-atp/onboard-configure-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/onboard-configure-windows-defender-advanced-threat-protection.md index b2004cfea5..5c48e4903e 100644 --- a/windows/security/threat-protection/windows-defender-atp/onboard-configure-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/onboard-configure-windows-defender-advanced-threat-protection.md @@ -42,7 +42,7 @@ For more information, see [Windows 10 Licensing](https://www.microsoft.com/en-us - Windows 7 SP1 Pro - Windows 8.1 Enterprise - Windows 8.1 Pro -- Windows 10 +- Windows 10, version 1607 or later - Windows 10 Enterprise - Windows 10 Education - Windows 10 Pro From 23b75b71fd96b857af51a79bf89d10217b7f6e76 Mon Sep 17 00:00:00 2001 From: jaimeo Date: Mon, 5 Nov 2018 11:04:33 -0800 Subject: [PATCH 18/53] initial import of text and images from blog post --- .../images/UR-driver-issue-detail.png | Bin 0 -> 87943 bytes .../deployment/images/UR-example-feedback.png | Bin 0 -> 126533 bytes windows/deployment/images/UR-monitor-main.png | Bin 0 -> 177680 bytes .../UR-update-progress-failed-detail.png | Bin 0 -> 100226 bytes .../upgrade-readiness-deploy-windows.md | 4 +- .../upgrade-readiness-monitor-deployment.md | 48 ++++++++++++++++++ 6 files changed, 50 insertions(+), 2 deletions(-) create mode 100644 windows/deployment/images/UR-driver-issue-detail.png create mode 100644 windows/deployment/images/UR-example-feedback.png create mode 100644 windows/deployment/images/UR-monitor-main.png create mode 100644 windows/deployment/images/UR-update-progress-failed-detail.png create mode 100644 windows/deployment/upgrade/upgrade-readiness-monitor-deployment.md diff --git a/windows/deployment/images/UR-driver-issue-detail.png b/windows/deployment/images/UR-driver-issue-detail.png new file mode 100644 index 0000000000000000000000000000000000000000..933b2e2346d2422e693d2c852f051c1dfd3eb1b7 GIT binary patch literal 87943 zcmV)`Kz_f8P)*NoNP~xx zkdTC4LUDl52?0W{A)%L0ZHf!Faqm^`T~@Q|uB0vZ&b)uz-POvLfjs2N^W^vL_aABR zojY^p%$YeeXU?24wbq&h5=bC{1QJN#zXkcfO+W$(B#=M?3H&D`p-2-*Ab|uDNZ@d4F!buuuF&08ZvTgtDo2|+Mfrf8Q7o|-{|8(%$ z$>ZoU9lCUf-yB1y5Qs<}I?jiV>5TI68@_K}-*2e{pgZ7kyL1jQ-^z#MwZS*l$N7f1 z_C9`Hqr5$)ocMIQy*#z06~~qlpFZ-x(h8*oh7|4F>L}S28fceaH2-7E`NldPx32Bm zRx5=V}dR~+cvh4m{LSv#s>MLg0X42|+juFC`9D^EG=1cMDU6s| zrCq(^^VJ$HfOdmyyb_Ij9^=zD56a4pwqcu+j8|yFh|={v2X_%|i{s=GnMlO5{hPCE zDRfH7;< ztXa_?B5t-Qr9=urptXgN5}2j|N;m_h9pFfHExw?QlqPPMfk2^!j0~QjEt{6+7Ay?h zrs2#ORRCX07{fF%q#)GVL~UIozLpmJ{uca!5TFT!EL<+r860qE3Itnd2`Rj8laQ~D z>IOeyTVr}Wm{Op$MhZun`x_c)^aoI;8;=>8sVadqoH~VD{REW6Z5jxnX>P2gwy~L( zmKOZJ76O(+DMi>;xLjte(?$mahc_C(zZESFOv6$7Qb4P}k=nW@g0{fraXS-{s4|Tx zQ6VJ)3x8t+4b35>>B40i2wNcxi4cnB`UV?yAT5C)&Avt&nuBP-<8~v2LTN`PHKIcW70WI*D^dj&hsxN$b~z6{ z`#A-tUe1HRIf)br!Tk%k;f7ZUln$k!aSto@!GGO+I~R=11?331fnfFPv$*W<)%@X4 z4{%l=o2_g2@c9Q%^JaN5f4TQoMt4b~V#{J)|8zYqt|UyMQLS~XU$GU>)SvS5&F7G! zY=ksuE?>z_zrLO3DL3-t?rVAatwRhN-jnhT%V_F0od<9JIo;AF*meBlk^6Xg0}SY{ zSh+3C@9w&dGY5788K7p*AvUdF#`CYggZsp5`0G_CfL5&i@=a!MX~AO{7)hFjy}MYu z)6Z$Yy^9-8D~YVMa1=tYmA(77v3bF49(a8>7u|aYS54@S5Effr|1;NqxSw%j`*Lu_ zQvAgybNBr}r;iD?tq^F0VL-Tvzdd|2Z|zKFKu&-S`;xf&?mIcXUoue5d-pxStDB%- zH^sVLaQQvA@q@lOP98!#t7?3F`Q(ER-T)O}iNP)0?>Y+`$NKqmePizjMJ~x#`J;bQ{#2LmM~I^Yq_y_oYK|3C;ecf9ICR zz9hF#e~xU}K;GHE=H5#ul43yPzAw1*hQHBN(g&k_J57B~=ZQNmq>}_&YiG5tV{-@^ zwtvBOH$26`tnu9amm3+AE(jrT*YDuLJMZV6UCG=y>vn!JrV!h*5r%<*#p2iQK*)4==p z+{&x_^10{Fe_(j7g@p@OxQqvWb3Y%IC-d98{=h{e^HCZM5#p1lZsy_7n;15xF9m7I z)b85IjzBkld-pGy-X#ZtLMcay5;e^WNm5E0>C)@0N_Cuq(;5}OLXWppM4wA1tEf3# zAuxr_>en9PcW-QE@W>IAc$!$cZac#-_&v8>G#C>bTeWS69Mh*`Wh*2SLVmVwUQfAu zs*?_lQlOMT8W3nKXWfdmWS8c<4_Lu-841 z(cRP7w|*&0U89-vdPIhyQrrd@mm58wV z-+C=~-f|t6jmxBlY<_UcBvJ%~m6Nc1!(vu9b>sZgMp2YMh|6!C#jG2D%RRq51K+B5 zdHCH`0F-_B4EN00%jv(mf&2e>6Q^fZ@ZckFvlkG}Te$v^8Uote$Lgtrp&a@K1nZax2bne=npK|R_?%;zxbx4V`&jdgV!TcfI zc=IjHy5`qB@cS7A7Qe}}udi_i5JSdH+sog0oM%6)=iJ}i!-Eg~hLNuAJoVgb907KG z@*?+tbeL1GznKT_yM_}p%X#`wZ%`4!$wNA;&HZ1#!mM{UF!|Eo^1xlU@uMzHJofPG z>;SB?Pr2jSPv~~y&v@wWKXB#5Y~Fw66+YV?25Deh3MnCYcnJ^P|0>>LKjqO`cX0J- z{h0suBfMJ{hNe~AdDmOCl%C6@ci+OzKkLKl7oX(a^+DhuPyF$D)@P37?gwt?kzY)u zdj31S^g$UQ5XvzRNB1%Twyj)2g-WKip^Q17Z*3Djtq5y@r|B?XeZ7hXz?2#(K>5m; zzo3kOOJZAXG8iwd9&ZY1$=;Zmy$u@MvaoCw{pqx~?L2eFeuYaw-O3GYsI$p1_VeMF zYX}2|1hhb_AT6yqoOj)g+;;udJo><`oL#)1>;CIn-d|ZaIQx?E7(mZce#hJkI#c%i zFIce5j_uu9mJQfw>Bd#Rfk$3mO7YkWIeB<4XbWkYU>{=k`^(81cMfCwWRN3HqaT`9 z4f&-b7*O;vyS5!7zyKD`Sx?@8DV#946A)n3q*C5}aS4kzUPg}refj;fui~!X%KdlT z!eOF&D;i}hEL-Dto9tckE^p1PWZLa_(aRl~p-b)TU!qAXnaZ;to{q8iO-^6304W@W zpu*`4Kk4L1y%f2n6B*Ov@2ojcNozv`uiSS9A6HD}kw2ft($$-Am!8TQL)}0xrj9S< zv)P+iv27bwUu__5)MRG%&I1CB9odIZUSG@7@&goo@jTam(!})-{{j|oz+F6&lSg+4 zEQU`Rj`{F%R;{Vz$fmW_=w4iL#%KU0j315XllNJ=ViPC#9FC0Wu-(fSvDV*{TQ3|6 z!0=JS$bV}sD_3lyw95*%kDFPTZlJV&u z@%74;RL$s5zDKmJDgv#io0J;^+-qm5F|{(DCd(Sa0*jg}E}wgWd1VE(eTr1YA?g##;j;*CYD zxq3QdQ_W~5NJG==_d|LzWc1+j>uzGl)mQS|yI*m^sIyu2)?avgo1{zlAZ2zZPMA8L z#>FqNyz>P-c&fqucYMUC>+j^EVL3o8@7()GW(P~T=k`m;*z*N+!%%+P+tKQGkM%_GCuo&%7$9@ubR&bAMM1I z4tw`BGxF36xbm!0w!ix{f1JOM?nRj#E~}v5*+1vn^M~WMZKT_vZs!8-`Q2yKXF_>} z=B!J9$&bbqqih@7R%ko2D)#TPJjV~QnpnD0nd+fG;qTW@!-XOkQlyoP;JlJ(t2Of3 z^MB#p4Xt#}G1zn1$4NiEnoB43Kmh(dUvux{?@;5(qA=G>WgWOO6t*3a>961B&#x`T zm61-3&*Xxuf5jR7a-e1dk394$J9Hl2)~wAJbJSl$43%3kiHLw3DB<{fSJ9 z3RA$;SRv(@t0JkDvIz%+*d7m1&e!WJ$jR+amoBMJ9@H`C(>1uemU7ahE`UW^K_Q)! z1g#;*!!A~y6bKAl63Q0MWqqTYlTSUBOmOy1fVy?_n7uEF(@!2pjsPndBoMMm5>U5e zGrKE&^c*?_udZN!lOQ`ShZHY>i=2WSvRnZUA1((og)Z62WVsa0VcI$32q`h$Cg5Yq z?9Zw0F@+yYD2%+MooA;fIhRfaUW{NEt#oXF7ShJHEkdCXrYULIzM3_aCVhH$BPA_~ z;$DLpGpqzN5a38-J>J4x@*?FI6?esG3{vIa&%vrNoilUsx&XX%D$GTCn<=koq@bi9 zqehidZ2LKI#3C)V6Y0qS2AKsp+?@CKajKoybi}qNR2h+jcdOo{~g%dI|u^DV@p8Po}x*06Tq0u>2;4c?C{J zMrVq9xTvhHB@nRN#7f%;ploby z?2Uu~Lc4fx!G3y=7(xF67p)=v&kuIT@eb91R!-vv53OhZ@?G>iEFrmNH8)=MDC^Qja{Ilv@WTNOJagy6ENTcK?Pj*j{)oB0 z0&cx?7C)Ij5N%s14Jo zl<)#IJbU}yJiiJqxcPSOxVR51Uw(|oKi`ez^-#BRHcx%Ai!*+HEfQH8_M7ivW6NM}df-m37}=Sc+Bz)L!0mzNUGH$ib+1s}ZwB|> zdks@E%DC^gr`g@==fjs?;JuBCEAF|O+kQ5k!9BC_K+GvFfdsw}+Ko+Zdk8i*L`+QW zKhR3x@^~=p241`OUf$T@;-ZT$rI*K%$MBBz%-wRBqTv(i?*?T{$H9RP^3ob%8W29f z?8WOyDw)hFqcQ*+i3zka_oF2Q3%W46e+gitOb=eSNnq!f+;Y#~Xec>}YtHEfEnzT3 zWd8}kAUP!km&b7kiByNM;waBrAd(`qa}n>Y2yw!UN%TkoY)26gcYHxb>Y}2XIBi(~ z61UrpZ`TrTz3qAY15V?oGfNSMhqEugjk~Tnm40rCrD%6NB_|~{)*Mlf*l6C#scE=8 z76D%>-A}%lNAI|dk^S=Ug{-)G2$GUh@FY1C6=#v$rbNt~6w)H&MZ2m?9EX{xtvxk~ zY{#aFAq85sjWJ%2ha^w3v*+pT#6^@5Aah7bGmi2a)hJ~GLFO;oNLqx$AxcIrmo&Kc}jx`G1$LZjN}?&M{dq$Q<9WKCii0#{}sQ%*jK zED0g)!kd(gTiKA)g{h;5P`hLa+ku^HR#NRLpY(#?=bCsNq7 zmd}>%#pQBicvBg5(hPcLMq~ql%N5|uzx|ne?zoAk=UQBG+l`#o4O*1O(Ai9wK9#{) zCLGzsoUgW!+J8DfI=cq|)6Tz?ab2sJ^Wh4bl|Th7GJA~TywiFDg`D&2)9HD5Bl9*^ zV+$8(aHj~Gx2$AdSq+0vnaQ*~N$&8eOw4Uy!J^gFwYYGbilLLwXTpFyhL0Lbmu!=M z6HlaXQVxAa^uh@EDX(iJ*wBKHR5Fr{NE1aT?h=m)tyLSCyI?ydC!fbfBRT=OT==sy z=<46iS4%dtVaWnk?91lt%TJ>hf}*h#8CsG?D4;P-Sn=Tkw&(QXr_)B_ky%WbG#<~P zC49NMlC<<>!hRpiR_!2f)S3M5^3%xID&lbWT?8wE1dfk(rrmf?xejH^2E!u>RdXCx;}~+>x+nv~ttk8IW$wK9W0Iy` z&db-IPodlKlnjT1Xfp|c<2{UW25AXY)YW2TrIMeX%n>xUPzVK}X{@is)JYWPWdmWF zT20bTgy$*P(E`7-=TIehut1AJ{7Gzc%% z`_?jVMKza<$&HydquELU*a51JRN^ffNvm!0k7i0&gB9=l$VstTGv_r9&WC^%AZzGIx@BpsW`&fJ!u0%hm9uRRLncn= z?BSjGr8||JOm9T~6jpLF>6sn?td@f}xl z?!e9%F|X+FCSD07&=EQg$Ph*RhCP7CAXvYGyRLnRRrx3L+T&N!+3mbCOwdg`STJuL z`Qxu-d>0p>VyhQ$OsIy8TLcTILu_BahJ&&%myC91&bBa-gjum@DSQ0|{N{`i5yuR{ z#yQV$!$b3!aP>Xhan7K&yu7(|%N2Z8b&$GdC~~{-)z?#N=TqF>P1|}*Af*wvPo`1Q zK(dE&E-SI|R3L)8&hj-fTH{Y z+(%Zkw=%@kLQwvC8fj)gUN1^hx8Q5s%>Kjm&_5l*^)ywrQk37H>@0;hrI~HJ_rQeV z5Nx8nI!vdYg(Q0bZKJdc3GCjukzG|`PQ39NZaKv?VXnM?1Um0&rfq}D6;lwW%1wN;p3fdethwH z$_)#cyE~23Paj1(plyg>!-ZS@H29hw(Ahxp;;xAVykoAb_` zhOAk`%Wr;0<$+ba^xS+(&OD1zS!whiF_xa06}R!oTAA5)0M-KADOCQscJB~9?ETUleXimxs@%n3Tv9Y3(_g{UE z?fEBh(YRvLdJbe#|IRFV=T+wHE@#mzFR|3>$vLNvA_cIOM4CXLg1Pg)rb_nZgmHxs zSqXL@Jet1ghxvH+BCs^U=4SjY%~*Ii_xy>ZG*)1Ao5)FhfnY1mem}m}@ORtF5)y0; zNrSoQ>|q>O^ag)^b2H7sCcb{*8Q$6)VDj0g(;Ha);TNnAr!jhXf82m&K~kS#OexXK zTeyH-RRK^z8k!oYt~x@%s%PPwPw?BjKBUu0Kj)XH4FFmR2U}@s@)L@P7+TTdZ=$Is z9GSm$XUfPt4wS8CuNuMy(|ZFj?Ccp#a98u-Lyxny#>c^RA8`Fu53^2(F$vMw&_uv$ ztF;wqrJ>1Bb8EnnLDjZTVTW63Z1lCI&+Nz9r;SDJ`GTkawvqUQOq&_*QfFGaFPg6q}Z{M+;IjReDUwn+$Rv#eT zu$hOh{XMU&sz9bl{B;d9JDZ$nJA}{IM0120cBq9$Uo(N$0MLy~e{~sy{foKmw+}IY zYc*D&f#q*M!Ik&Dhsqwpxo3`~>dQBH@{1j)y6rsr#5-8MCh~*n!x=Pg1QW7qc=5S+ zD66eu>D%wIu&jnqxRurrO#I>L^sn2%Z4bT7VZWcvU%t#WH@(E+Kt1n1dOP>LyAy)R z2)7#}Ih|DZcM+%r68Lts3&;?Ib`HFYke|I3&2$+!jL`!+xOgpAN+-&`c%QP2q5S%yX=J(E_Ujz)O+jPT0h*G!a^l#b$eif8p5?VTu$F~sMxihRXdyLF=!aW2lQk_|E?T4xSkd3 z%Ba_U_{|@#VpO^T?n1_lE2L@D4%Tkk#2!kx=K8A`UFb#|>5LuOhhW74Hmuvkw#FpR z`^9fKXK0?YA09dG(OkEUmCLIrJo!{E9^DXrz%zQI^5} z@aI%qpgRmEYv z-9~WoucmL@7{HRC3iQoea5%hv9|-D3i`Tz@&elA*b=mg+hfIB^04 zI%hC=Vn4hG53p`)8LL)prplei^pmF2#p`3=-X@BNk7IP7Jgk-m4%LU~HDnwkdt}pE zUqMwkgK^_W(jz;Gl+JxPV`2&A8#l9I+g4Vr+Q5e0-P+9@kzKj`x~mym=yLYVzhV0+fdsx2^zopSR`I`W zTifb*iM95vc~ze{1 zby<_vTHD(GrotnzI!t0~J5o-EG-$2WQF+@(({&V%&PUr(y1xrl$9z;uD|MWA+Sb-l z1%x|H=+yNX`eJ0Z&qUeQanh+{c+&3Oar1AJnPbw#v23rbReh4W}!O# zzwP(2-$Ze=92}MNF?~%P)h_K*$Cuk)o{o{XZ;;JMLC2L1hu7cKHnu)qwT?^scWvtg z68IK;OVE0SZAVrZhD4&<&h15)YFZ-=6W#4(o_TdDoeGMGoEL~48HvVRRkn?S$lhXG zaCK$dP8m`}Y|Uw$d-EflpP5fVTIBmk;B2MrNLaV_Bu4`kC|ltiE7Y-r<4(x8wt(Ww zwjr`#tF;p!Rx5?Al(T;-+Xt#YYT^+K^=B*X9P*YDshuF;vCw!&(WWDG8-{@tI*!h^ zgY(V~Zu@r#=YYB)+n!6qIi#9AR~2|2rCVAnK8+P_~N1H;%-mjYPRowu;F@H1N0+I!-$> z7uP;YIY(+_RWzyu+P@F;rZMa6h5 zqFGBBv8W1!jP?nTh7pN*8>`d`yCL!(u@AzHoO1lgtToH7`ZhCC!E(e-hPq5|L+jHTtRx7bl#Oriah`C$Xo&m zB#^-O#rIaEZPzb}qgEsT{D9W>jX3Ixu7nazpbfg6>DI>9PK?!m=3dSO5=bC{e-*yB zB26HHe>d8jZq4@F1qmgZKmrN;n~{jsoInBzB#=M?-vbFnnm_^xB#=M?-vbFnnm_^x zB#=M?-vj>-DALGTRdmdA7>NB%;Alh-TqgLHKmrLQ@UOssgtJln5u4+rh+GBsuT=)| z-k}}k{J-WU8V#5cn?!tfTA~3X{$pHnVz+Y~T~}hy;sX=J+ADHbS}YAX$FiVZdx}`F zgAUp_dI@+eKuKicA)Kq`+T>A0qZT@}YK@Myjfi-(M}BwEZca6I2l5@ww|(2TJ8~AS z*SGN_j)(Eb)uQR*%lNi;#PLECty3g_L~N24&%-wQqet0}rM0abI(X;YM&ktai05s` zvfsWg9Fs2oxL*6QB|@8uw0TUP5@7@rI6nR(6zO+YSnUUz?}Jz#S~~$IjydG5|0U)8 zx6p2Ij8O9(X^GY;eqi{&dSoOtte)ZH^mnwQbU(V#l%~5t`bS>qGz(w8=}XZIq41aFl_v39I&Xfn$%4b;O5w zWn_gd43~4mPFu7soO;CNV@IwiL&qsmzr$oH^p_D8f9 zjAPpHZccc$Z&40MuWXKb8&RUp;2CJFp|;sV3XL$lWaeb!H99tl#*|gZrAE>mTjn>f zx{oOYp>10IEhtwqDITNUZ2qXEaVw?hx7E!1bO||wrZBX7c5ER1pT;rPh2zfnqv@P* zb1n%qH&AOQlaua_4Z6XG!;~GUM@kQcy?T-B70w-^MkGX>5Cr^3sBJYV%FRSXj?4J! zkDybsNq0-2g+n_JQWsQ63AUCbC3{It%cgTqnxhN394Yrb~kDquK|ZGSg7DLK>1#V->sh*AO&Z6m{=Qrxc0SZE+;E za>C|8GrKqMqe-Sv(yKceZm@03iOAG)gsr|J2wy>HfskPuD{2XN)5yz8K_--G0^fp;Z-4ne2q6S^sEV?6JE*L$ zW80eLY(7|z74mVUK1_CgA%@kAH?x3FnaMGskIp=!0p!}x{EsrZ#lLfUB2tFfyLJ`J zHgBh~xtYfL2KH@P&%V}ldKYC7F&efjN5_>LUuN56SsZ2dYahrWW|E70C))jv4D6zX zb#p#tx9&zsCvU9mW9mZGBt{%Bn%J~J<>b?}leeD#2TLnz*t>EiA1&BI*U2NvH=R|N))FaO`Q*`idFx;v zrwlLVP}xep_~<J>cy#p3em~} zX&@?AbIrXk(WP`E^=sbe^|_mF^){{Y9GZ6x+*Uja@S3cxG{SlUZ@F^9U zV;Iuaix7f_@-i0A{g^*L@Gj-uOBvh6xo39Y+PQqPcq6;_9AtlGIV~!sc-P>p zPWOKG9uL2}fSQ^E%>D2y!d)lOx08t=z`A#z<;f5C(a^Y>H$U0Lz~LjwO_nIfUh7(u_BEQzNWVeqfhJt zz_zb^?8_O!)Y8IOy3EpX0PXgU>~N58tu$oU=s|45QZ1GOGH)= zL3XVEf(_-_Oq+2gS<(9o?PjVQBKMFAr-NCc0G2jm3`{i{B*cU>-tZ*>g{KlSb75`X(5)p_W@f(5uI|=VwXuP%ckGtAJA`dTkSu1s*3Id zPNj=NMkW6!yaALKi?T7UNR&Ajx8E`g= zg@Cfp-r=*lo;-2a5AopRZ;_vU{^lor?{;S;b&Pz-kcqQi6&vQpb}H#o0S2LP3WEk@vUS;V4vjmXVvoSKoRHXiKL463cPd>{JPvdJlY9yi_+P<) zgd%M-YdJTL7=|Diwy;92C_sfZrpwQ=&ptw{1MR?Pi^#-vQVc8G?WBLq`>Fk|{y(o7)K z$mSJG*dy3%RobvKfBCO-xL3G54`OY>ZqOt(8r3 zY5`qSA=n(ilj3E_sNO7Faex4W@nB#8n^$}dxg!{m3s|}Q{O(&xmWR1-#|wmFmu4$$ zOJQk&#}#Jo^Z%fs?+iv}f(~0qmkH`Hi`SGh@XQ|pg5s{lUKY*@S%pEU%HAbipvd2HBg^Vw)u^ zc5!|uKbKzd8b5g8DNa1Fkwaa_a9uZ?drwPC$^83UtZoUCvU($3`=3o$kJGjKjPF7C z$yIFgO=VzO#N-;-!up+IrvGXzXaz<$Ms>IOe9aEd>20vIGM6)d)6?l-8QmF^s#&^e zCzCxpX$lNx>d18G^7cNZl*qX(U*Tuq_*BP1Nor6EVH&V+1z$H6@!QKs^7m&yX3K$T zjO*%h_!Vp*rRxAv>NhZF#bhp@+zHDR7|lC*YgsK5Ck*1S4*ySdfdu{^#Q)j#NIcrd z;5BG7r8vfnL2|D&K!+z{Q_20XK}{NnVd192NfGva3};q zw6JRaT&j}$bM{%MbMB;`>|M5u16tEqzaJyD2c2DjwlPf;({#mF5<)=DriCopt2y=j z(>Q(RDWsQg;Hw?AV0h5}YW7x{3_Iau&icU#q&AeXYFi@!yO+;pLsJgtoqHN*oiT>s z))lO-4uaQ3xT%7};X-DfbsEEpv!KPxi0S7sW5!I*oic!3>%Zo3GYl9%jsAIQ6c3%j z^hra=@&?(kU>*m}o}6>`>6~-Y01mJGn(eJXeHmXY*-5Vnr!(`k8BFMxjK4V;@j(4| zwxv^Er~c!)@a#$CL>SqTY1di3OT0-gz=y9j+-4q+n0~FWg)7Ai`1x}2PPz;kj2F;` zgwTE#t@kr*+AvJO!b7qNG&B*g;!W8CX-GUS1L`-kXs=@CiK76G6;bf@tCz6P=);sD zsi4BxwnbQZNp``3C5x#}FJX8Z9IEvpvy({yv;>k;=#rB}Q+YE0Ny!pu!XL2PnbL(J zF-oy@9L!9LI(cZSuV~|=#&JwSvvlEV zQVaW1oY#kOxy>wCx+RuQ(n_;g!Z{}oXV;Q1XaYRI-eoIjEEvF)t~rE*2}PQ~cf-GU z6peREP*~wGmaQVMoK9}pDt2e2ZG{P2cI@}}JIg2#vds%HXeKjgK!4H!%sjg0z0p*mJN6g^eMTBH0^Qhqm(B>`(dVgMTo4 z`A)#cwtbc46!pgy@YB+4lAj|f-&cu^L>sB}8y2BKWYRf5nWnmGpo+3`KgC^o5^VJm z@Tbu!J;c5}wIEDH*h|rXu9!G8{*=OQ7`3aJ{ozM^zIqSMb`U#k0XDW$*x{fxqA`&^B1k0XM2|Mb#)#yPV5P2q!I6d+;$hPQ;oJ-2%P8A zbYarW{3q|?la>Me>a6d1JcFB@mz7Ox;1B_NlZr;<_vGZ$ z25?}_mwa7S19m5bZPHY^g@ub8cOEO`rKEcfQd?+gBBUMTjna`-N-&I}Bvt#?vamv- zg~k$DlypjiP#BezOlpKxh7n@(ypLG#FJStKGs&_l`EdRcly*jD5zn`vjj0v;cdVjz zw^J7@rGS3vF05)nQd%+=-~wkc@(tIg{!bx#iLg5>S$584f;z=!ImuVx8-$S%g7^Z=4I>h4-Ji?KlGkN;%X=Gucv6Fq3uh)a2C1DZu@)aDkTFCC4g%=341n?$%Nikg5mZJy- zU^F*VYo{@+hZoDVkX9R=0lOZvHJ9uR01I#H`q{n?mn8wc=p027Rj$p#yPO->R)fCP$2LV1OxRn`V=-kI5%?yB#P?wOrkNeCOT z5%lkQ_Sxy`>dIB8&Z$%9WO3IEZ!q<&HugmaaOvm_y4OWh%2ggb91R~ZA=N1&sycS? z=${|KKk;JDnNk7P0iM3=5!wcv$OWg4#AkQ#>OUT2ogByIpPJ^V*pn{CeRrg5!S;m7 z)MAsoeBUd6N(?5Q1yTdqnfSvQjF~l;fth_W@%1M&`V#Bv5=oXiYCluQbixuB+}^IK}-egWmltO(%hL8 zXMxq)N-QFg&JM)kn%r_ZbqO={xVcp4_D*)s0Yzk2OG>j5qnkuGX^X|bXVFM1j!DCG z>hMo&qJ+_NKT#S6#MX23PadV{oU8c!j1ni3l#T+>{zWWrDCCmM2LSHXp0q1B(lAI> z-6cY5+h*3wQm!16iKCq3^uw}O789(Q!`K{G@krXdao_Dc+%lRwuRq;AYjj$$xV!+d zdj)k7m=Fd!+Sz3!I5#H?a7CfGPT5nHR@jD#q@I;)B8)wMf}7sE-=FT~vq+1TzLu5#opcB!X#)c+ePJQBd)jH+w}r*8FQq9071a~S>e#@`Z|$b7eLrhnUq#))uGE?GKiB&I zI+Sf8gkbZtcksolZe_a=2<37a?+Q(_T3S_Gj`i!Ill1*s!IR4V(6$ zfK9KgMhu_A*jzw?6zS}&MMrxFG202VwWDdhV(F_y{N)VvMY|L##|W(hf(`@-PB7VL7U(Q~2w^pe&&3TRw6QxMFF z3evl1c{P8y2#9#SFzCroI+#Ym<#HmH9G|?+8f>a_n6z2@)F1*(3WY#yrSMnn%5w`T zieWol{3&4cKbmA*Z%Rm+6dcks#k5o$hu{r-cA?j~8`Rg;+U%+j79Ki?9nR)rhG8#Z zb@0UTSi7cNC2+sJ`}avIU@ruK52e5#sfL5-yHa~g77ePCXhhzn=(5`4Rn%H4N zkc-*)gkHd^_zSqec+{FCB`mv)WRuMh6;#&qw>G?GSwuvbVv)QFs%<+Gbvtt5^;2a# zuJFcI4h6*`-t_b<@E+U7|7ISz3L6?>G+8=(9?O~{0rWEx#&J9GsPZS0CTlCm+K0d9 zP$$+5Gc%TwjwYlWQJ2=l2A`qk*V+!zGZnHPL7HRGh&XxCWe5#b;L0fd&0R5QFLSV> zssEc6&^3Stv=*-}OK@h~w{P#?1P%nqlfbw)e5hFIvyJ3mEk&ZVrss^J|4 zDUQP`6(e=5Z_65~=IWj8sRr!?uqkmyMnGn$eyTll=nd1=08~dx>~$g-pn7X;7HhHs z%`Jsma%ge^XWPFz?FG|r3O2iMt!bY^90dxToPsBrk}%y{?TM! z{*O=UfsU8e){=8S5i6=nIBfX{D`ch?rX>5zfO8sV1<3=+Kf{YzZsly4aq`%}rCFI( z^+XynJevOYu4XmW+O2Xe*e*xW9w{pVnF~u4x>v5@C;w{1u(?A25O#nUdgKv@4U)h} z(7{B;>j4GVm@es`e0zfG*k_g(r19c{qq z>jbx2NniCe^Q?g@@;AnhDVmHTLOnNUIJDf<%CIx=&~R09`p)Y+o5#1FI?`qmmx#2R zfvgyv4hxdPiC1>Z1Q!WGgYkQv<&;=LLnWtsPv}udfzP+oxhOfI*G-%$VMs=(cWDyo z^2XdloIhsOxP96k{?x^^=;U3IQ5ZEIo&EJJEYgTV84N;#L10|)QI6Ghjkc>&rjDpI zlX#L%$AsXd-@0c+pV}WOZX#4N7@}TBaRC+4AhO|Mcy%s+!r50G{==JV++Q`p(;?B> z7$6G0j+-s;DH4ceHNRZDb%wsC#&v$N%g4)H@9MjpO}SD_;GB*@S~r+z0GUQ^t|!T!^GhxoOx-=zTo}86V2+v#?cF$ zi+SyhEA91)#)Xv`cW>edJd}u{Ji@#RgU@T6&G`UtuY{zZ<|K`kwyQ!7LaFNvpBrA~ zhM(&yehtjB4!wnq5er)0;EjIiq9)7s{DkZZb7XFHC~?UZg?tL{cJ0dTbo%-cqcrn4 zerhTgEn4p0ifbNPd95kAHS4z*k-K9Tnt9?YH;(Ve-Qpy^u$D!`F05g8%cMw$e?)C; zSH%z@dqFafx?d?eg?Y!tdJB1u{cm;N3S_m1^k;Q?puT!bld?~2JVPal7j{pp9%+LV zFvUHTdiJcb4Z12t4&#!CP~zq#SgS%>T@}_Wb9`PS_rlAfZmb3P@G>DNe*R8W{#swu zsC@IHe3Fw@Em1gUeDc#BghglU=l)MmU9S0*ZaJKg>TW)3KO6{ARN33yW{UE~384hiA z`F1Co?4;}YD&t%9mQ(qmi;asWoKpBVk$P3%)S7zS?Jxcbw{TWj6_^Jw$Zyiy6dcPIM|S!-~j20^A~Y3|@rpCsa{S?&*Oc+)$RHNTEck zCe|(>%6woJ3}f zu}3B!+!WZcsBQ8-mo|&*@waXAb^0`?fTXH9!V(v7h|%sHF$pnJ;{-f;=)KX}iJ675 zK9s5Eds|EFg-X_U@3y)_B3wN~=XwVrf#1bhOdeSrF^;o;^L%fCK_M0>>Tajq?+*D- z_!s5tQ~!-TJxQ)$%l~uD^Xf`y3r+36(bl$K7eu5ESqz6MIm2>vGuiFgE00D1o> zf6PoQ+;;f<<1YWe z5Xsb-Q$8>(RFkB}lgt4{B3F|HijRS&wnF3gDcF8%iDcgwz2J)-H~x`$I37z~roDdsJ2$ikN7`LC zXeMG(EGA5|9zZ+U@9rJM8$={iyco)n{VfVVCVp@d5FaUa**}4Kr!Cg6Kn1%~noGh+R_%m=VefmNXR)|_f%)$}j#tp5L8fT1831?pY z7A7)CG1n|L%*04a>x0pq+}>#BLs)5l+~MCS23+1%`a?6*$>H%c3+nhq;5M=>LYX`s zP3)wt(K*Llo=&9y=`?;E2kh&iE9b#3N)l zB7+^F3YFff_)bpWuCH_R!oK1h0SHh_krxoL8C>>IKbJFHt>F2Xqr=R+bLwH9$##0= z;a8>!?YYmQYZzF-7njRyuG)ESb~jp%mJksAs436pw}Z`}Y8wRl%&cc(%G%$nFxR!) z;W+$l``Ly}5JhcIM^BwI^p@D4Pbj_L<2F#WR!1O2@^E4PcGOhtdrkA1Ae$i=e}*JJ zqt~9QNwhqc$%ERdX0_cQJ(A&Du^~I{_;c1hJA>d?40oP)_fzYWuwy1x|G6CSOd)}kb^0i2@=6?f(x zqlYZ>0)ly6SR8(gV{m=Ad5329CxmU~y5ySfkehQi4*7g~&;u>Eos~F(2yDa5 z63;RJF)Zfsaf|s$qm{3Kb{uilI#wF7EJryOmx!5g!iE=taO=6#gB9uw+P*b7>V7|r z|EPz9U#1_NWw%z36RsU@IK@jJnTnW9k?RNI@-0E7fm3alW7Nq5&S$qE%Xxl&MR;Ng z-rxHpqPK@~#X#4Q;)bMnW1cU{REj`R4zR6{w8;Ug`Tdz!!yYe$fdN;5HHrJOE%C>C zXDAmPT2Idmc}ni_EpK)?2OKmcUAcUn5Lj(9j>~3`-rH9451ArNY4qH5;3sdp|4*r;4hyZp>%wXSbXmOEL77U8cY7^C{qesWY~6->vLjDM9*uHgx4 zy(Y#XVadUR9+K&*Tcv!x62F!mNk>X}VwqvplE}a%O(VjXD4BBB&ys|cXm8rTz3h%B zN@YIQH*3xYsPJ}Epw8~ObVd)))r8O(u5>Rd<40;?mv8`m4>>nBFf4YSK8{+D$fArr zYW(M=@J+DsTCo&x)x%ICJvdc1El?E*i<)X?5OX-J~-|oF>bV#q`FY~U0z)RgR#tPWyl}dxLJR>d6JxFaBxBKH?UC-m#rZ4 zCrI@5Bj?Wsnxy+;t=T*_G;-xH0e)E5I*VsMJrh)B{I0oebJ$`LxwD0JM%`uvCh=q> zypgG&j77#Gi$bZDYocjnbOb!%+wbgZb_kx|%OesfV@ckRq=jFUadxaw@omXKV%Kjk zA!l@By8#t%`5dX@rf9H5n3TWR{2wgVo86H^ea}h*RE54) z7jXs#KHH{+L0;M&ftsqE*frK(cFIbk%D2lHJI3=G;C$w}PrIj;CAaBl4`#Zm|ND(- zrr2`qD3oo?sv&Pz-5RP(Z?vT~#h){+Z^cEFtAqKV?j(l=7x{Wc+T5*aMWQEX_VVEx z&yz}T`{nHX0)12z*nxv5RyF@(VgKLZTG(Rvw!S+SRe!yB2Mrt{!lW_J<;;qL($fAE zyQ*Nd+dKm77kKK5p%aa^e|(7gbgJ%^yT2sliJ33uyLX2O{QVPTBvSi@s=jQ}aBlfI3z;kcBGrsDDOw}b066=dJ*g{i`_+Idy z4LS&UK6!3I9>}~}GpvvzD)gciEH{N=OUbQHHGNefW;xVW(jzE{tC*p6GToR|*hjV{ z>yzrhpDfG~@&a0OiY1LpppaG?OulPIvS>VKrteX- z)NnL`weTR>T3qGlE#*l=6tDZS97_V~)_#Qoi^($Fn2gI3e*gv)8 z#M`SdHpX^{y`GI~4Gmgf#cyq2-kX?3po2JRCf^QV+9mhrU_rz`d1<~G^~p0H#GBW!fG$hO7~_A0P%7sr_?=AU@D@cyfbpHRNBVrU zdREI#fJPhIi{BdU(%QmD97pq4ly=&=`P-fR(6_nV{%;(*lfMU}(?&ps%3UHqNMxT}!hX9L_C6=il z@IR#+hy{G-uE6sWqYW*MN{(IT->~#x5g&D}Qf3D3sG`a|9S(z?{5<1i=>kJdWcjl> zDPcwWpffVM0|Wbi9`NLs!$rjOk8f~PWX-&m$BnW z;8S)q)q+O}=l{C*o?tC-)RwD3UDH(#ut73?M-zBmV|1;5e1MQ()hwPVSLwSMAQDn* z8#A?ED;;s2ZwJs-9T(JJxiJ!3UXW6tx#Tbd-q@BH#u=_ztkFghL@J9u)Dok=4MOjL zB6t__lhsmfCJk{*(rD)`V1?Q*ygG*!HBc~%yFL$LPgU07k zwSPUBw>w;#w_m=vFa?+X>o7Vs#7xw#4lx9mH~X%9`p>_8nzfI|#j+UaVa)u7pw7b7 z&G$R^o>GHh&HC5E9Vf6%{z6KVoQ769dIr&lF8mTpagUyG6(}0b2g}ute@a>xI(6ty zCVItbJzgwOsHVg5)D{!`@vNwEdZ^i5Q$g4^T#Mjb%U&sCgxr1aZ6I*T;PrNLu!e>~ z8414ZZMUt7JBnzokrnLrNa^fN82VJB*pLn()sf+L{Q(PpAP5A@#mx4cZ_0+cj!yrKxJ&eqJGVnO6uCx)cEgV6Nbr7=nPsSuBC~$Qn z-OPBa;E8O~Ma7Xq+&HM@C&HeKwBbKO9V1eo@QC8m^FVg11>2=pcmyqbqig@}wG2)p zUINNh5NK&ak$Y`$B2)eO{$Bffmn2&}#m-dz(B8_O6=ODHRytjti!F;l#d3i&l zZ*Q0iY>6$V;`;V^VqV+nko%zSBr!sF zNoWsfF@s=gSptVjHj@Y9bc(8m_L&kiqDe}iBsA!*J6RDmfjQ;ZHYQiFo*G$7M)al= zfXB>W&aFQ1@amf#hH}ex&wv)68=^5TyW(BNG`SryJQ$pq5tRul@vz(GGhaPSv&-Q< zx8rNi`BDZr;%eOQ^|q)Yr|1Chp|7Oep&zEI@zmZExO|P@?Ek3e?|v!92mVmG-^~36 z%GYY(Uje^=ja>V_1mCt^CDWNfrlR8p zv4%ZE8=>FycBBLxUd&_PPG*P823M7d&WB>O+yqox#s>fpegMHcyCy2PZ5DkoK4*To zj0+N=T7ZESqsyQ5kaxAx5L+N8aDZ-80=rsI`o7OBANq&bxMu)Ukdc&Nr<$ODy zA18f#@{5-kigtqlFL`7zAFogZ3l*d8)4rXsCrPS+0f$qVRah5H|xFNC{h*8cO z_y_#E_k1;;O{}>DR}oumgh;!#VsfyGF?46Pk<0oHj`{w-mxAOYKn}DU#AQ z1Z;;^iFozYE}MlY>OyvWWL=eyOxz%NrA(b65Btjf3i-iOO2nutrIj}HiF}g&Y9VKR-auK1SbEB^Bbfo(o;KVKb(Q7Z2`tqf8CgA+M z$FtDvE}n~qe?N^FqMmDrVD6DL= z(pgX;^6V{t`9cbG{o#EfAcRUVp=vNxGR@VnL9wTKqG6%mf_H*Z50Md3(N)s1%rpuT z-i#)577{qu{3jTz%x3m#5$PvfV3){3HF%6WSRuoaEc^1+>LAgHm`!dPWMlEZhyDnL zwEz^gWp-1whQ^Zi4#rcnVD`@xXS;5DWeaqK@AP~REpPGA0*9D8LAY>eM&jfX5P++m8pL{=&S%Qe zt%Kvl-*<&~%WF9T77@c;SN?~1ApZj@)He`uD!>Y;0$CKOr4&`?52 z3vIR}p)b}wQN>t_D1gsWsp1=HVSXS;1Gaat>$<*m>&d#Pn03^e$KRDVvC3VeEEHox zFrs{4H2HiZ=sr14z*nO{ScSGS+1Z~?pJvA?r^fa%Wk##VOA9!89h%~;>xB-WYg|rp3hXg_9RVPESCyk8q-=4Qdqm=*!Xur z!a{3aDoi-@n zvat@C|KrST$>&6UGzTYw1Si$}-n*$%BJbu=$z!*k`}A_{&a;{|r3M*qR*u*0ILCWZ z-dsQ8F3eol?;siA@$wLJqK>vIM@U^M{yOGYkg~ASgv^wYa-=IP;Q60l8FPFDAm@cy7;@$R- zlnpVW2J8udfXjVuJ3+`BBtWt>qAD<}N210>YMv~JmumRcTRm+r5Kz$IPR&YXMV^1* zFEW(U`Q!%qhKM@0f(yODPf;&Figg+`-yysqz2Wg?ftY z`G3@J`adH4?V zwHKRpN&znR%hmJ>ljBlkKsAiX&XHvxY=*qnG@l5qCn<*=~Y_jq%5hPXvG0-s-0Z5C3jc2hI|K)}^K_%N{wGu5%uY=JUPR zPsX@jHJX>~)U!@2L$a%NSh7t^LRVY?&$kc{t0ISb#I2Wj?vh>G za-2>3d%$I2c0*mQ?J8Y@xz8XOu~03KltjB=Wd9Chl`^W+VFgk;tviP#5M>XH$3#Rn zGsGxjYKWuO?k1<0qXhHYTIvu2E+#b6A|SGhM)v$E$KkbPe<<0{uP<8e(fz`%Wjhr+ z9k_~9iAh>xg6+U5r8~7TGWN@)#7qq0s-H1+-ovFMYrX(^JRv!)o=wKXF_+Q9+4%9_ zXgdl5vZyL7kmuZyQc2&Y0Suk!Y^fy$N8cUbtbvr5s}oo!l9^+x-wZCe9%ZkOpEoJv z(p7mJFW%+wD|5p*A^-v`{Mfxgjg~AiJgV;)hKedY19N&s3D57?M{&QYu`e!s6YDsf z-FXP^HJk5cY_4xcj-p7MG>k(f(fi}-H-S}!KvK2eEBTH1&vSX4+8+|@PY}JVKD>QR zDYM*y@eQ+t7B&Q7L5TA14wc25y2dm*(HeL^6;1TH!hxhdal!~7qwt~eQRjhB#Kf$$ zb3Ww7CD^x;Wk6m-oHOsc8FBdzq07aQfT!mt&jD;XX0UB1gZz#ZyAro@ z<*A9P21W7SUr{fGNf`d=@!%Y|8%588FVq;8ZuXCp(tqV4STF|CX?#} zWIj1SdfutHtK02i4%>kCJ}WyUpMINXo2a9d8}9U4x8mv!2Y7LYXop&oXj8$mPfe1W z9khi9ceSg0hX8rRhkySpfxcIVxOxu3PV@<@Xcxo?f><_Q&C~LU)(0OT0R&b=I!i+| z9faDz;pX`2PE%bsM*4#|RkUgD%>Km4)F;xHXnQ*Z8w!f-<41rnii7p;ynXleJD{bE zG0@HiQ5@CoWJlYLO|M}qyStSzkHsgF&ew|E>>Rxe^3-rY42i4Mz?EF`lDcUjTBRFS zNRXl{=5cMbY+D<^cXsE+O4wrwVdX0%+dCln_I}*VoBm^B`RmkqL{6fQEj$4^ii{2? zFi>qyF_5nzReluDfr z0No1v(HHyItUlhpjWFF!YW!`mr2$OvlJv4f4ia5()Ot{P2((09r)7`F`Y$6VN}0gM zSlV}{2!=54TBa$jZ|VFCS89KLf0|{MCyI^O`6msEN-C< z^*a-cI-S0IZZk&nJ>Cp$essTtBjaEEP06WO+OFU26?i>BrjOncc$_h`F!baC(7W)o z9BUFAwgg3n2crR=*M?2i&TVO^zR}w9m)q|3R_l9xB$n!EE-K6~wSIRTp?!mRa4;N* zrVhE8(8E4s+Pcl-4O82!JzAar5?(~0d~e8N-jMxh1s61y_V!QkqLr_$rRuJV|CY7F zgujA*7Im7OUIA1Nty~B1;Gs{G2Qb~pm{?{&|N2X=Wpjm+!+w5myy%elrfia zW8|*+DFoJqf%(OaNt=u|7MkQ;x>#f*3jHB5CthU+R~ck@u9x=Pt2PvY^@YIm@aJ84 z+_{l&#RxBt*Go=_TYFY3dlnLEmIt=0WWOw%JIx3+mN$nB*b6u*scWYlR0 zcW;iDzVH#%UKFJ-{W0Q|;^TR=-B{iePLXpEau!}?~NAOHEHRBKVW3D35wTkLpGarZfjcKe!t&NiG_Qwe#_MtMzGd5XG2P${2|J zX?tSW9zn9v99=Mb=saZn3M_z^E^5kFmUU0%j5HbsE4yT=s>dZ zO=R$)c~y$c3%yF;pS7~+-gn&ztP z=Z$X%2S?Y_FV?gK^Sac@w0GduT%!cBzXix7S;uML%G<*$Lvp?KraP4Sm$vkD2@v|<3=PrXj=Wm zA$aHaP*j9XYl{d5H}#ga%+zd-S`dP>omP_$E^m#Ub}%j~JJdV8n6Hy(;5Ov#lSR2~ z#O7WnOayNgd7iFue~%Wzlt5ioM$d^!)dh~3iK5UVX79h%Rds`FW9En%)@eP!&L4-H zEuu}6nguJm1OZei8S~k4c;5Hlc@!OQEN`Zk5UjPDYQtqI5uY8&PB?yXfRY5Gg^V9N z>XP?w=V9yVt>So#!ZCkG&|=HSN}X3YM%W)!wQ)j1+;DkK%Q#k+2!meyEkyl&y66~9k`lh+1VTBM8xBc_de;>qS!LdBd)eM;9vF z+djF0_!>i#BqccLa!@M*Pb=ULRD|eLHJu>@&F&z)ArqBcpAI_kVz?K?@Tc#1jvU?b zWk!90A{81X9K(3CUj7J=pfz1!T!eAr|uP4 z6eJFi9)C=Bji<39LIUwz>?KKwx~K@>Ilg){TLu~X8us<8LUd9@ZR)^)E~98|seaAh z@)QRa?wTM$Bsh(zS!kfN3km!Tmc!Rv7m!esLRTj0;v#gc)^~sJ@agLS>2l&QL2jjY zvC|o{0O^D*@Ce4u%r-@~)acK@PsIh6*b=v&D{6vheA8viWxLv26VBNX%ae$(L$Lg> z9N9-4!7Bw2#MN|($ac454Yq^*G)_tZ@jS;x9NLZln*A%SEy&27_yU8gaGge}SLWf&g6#@iu#t9r1o|AB)W)YTw!(>H~g6!lG(KPj#`=J4rmi7A|tKqYw+x zJq5y*yQeTv*80V?UR30fDYwVx1=#b|nFZ~@b;!{z9wz}Qy_Ovi>d(r$!2R_>DcP_}$QiDa*7zSN= z!1D^gqNGqc3{n}v_cF&OgS5Z&ZdsxhDf=~!KPXu2qNmcgP4%dc)`{NStNT%unRa;~ z$>Y$fzVAoUbE5u4r^v`Dpc_TL8aHk|vPT$A_T@HHF%fG&pIdiKWo6Dv9ZzE6x`lz* zqiGCwce~1Z=UU9u8^MIjK|<@ePj&A^?Mqg2!kYM}(L6KkQ#`<|t!PO3x z-k%XZ%8iRgNu%(a9Fg+t1Y|3AgKj(e&bX`g2c(_pM#uV8z{tk3ZR3UCO%5I|iweYl z23%VXkB)%bqC$vMdKnIVeyQdf<^|bY zC*k!g-Fr$%G`{Tv;ABJ0cBL3`UEX|e2sRF;7cFl3cjXgPd*myfi`3^NDg>oQJ~gV{ql6#(h{V)vk;JdTP2$pJCJNc_q%(igaTjwNYND z$re(Px&A75Ql?us6sjtzX;1eoRkZ=>2PhaL~&Y&0q%*y>t!0<7EUo%FxFT&(~v)Uof$jP-Ld#WAeEwwg9qlWE>=n+ z`uS5#BtnJ54IJINYT;QJ(dR&XcNT-b1NSdkBZLSsz*6ICA~h z@TKN!RLd(M7Ti>slBOy8aIqaY6;&PwUOvi4HsM9xvA95}iLI5^MEF zf*ZS&Sh|#MNI76blDg+nKBSJm+8K?NifxYajL{t|$MQF6kEM zdmJVuwNK|<=cf?MPv9#as7wtk3?F0FPN;2h?-$A)K{9C^#M4e3=PdT;<9wPqNtsds zFh)#rNwv22Bb}v6pAnK^?4b76h9~>yNWuoORHi7dExC?V(h852U|-cp5jB=={O#$iyC@zWd2ZAO!@-Z2AH)!F1)IBT#epHF00b@9p$pwvK_z>pe`=O&xA5@brtLMU7*FU@W z5{(?hgT2xMa*fS7eGhF)uiN!M5;*&x%O2ccCSN!<1&R?>WI9purjvey(DROec3y!U z#Iqb$5mcL>2KePNNJD4;W*&BzcK%4~6dPm;*v`ECCu>0p9ai}Cz>-RsqXh1bA`7$$eRa z+?S!s`YSJ<@O$9~ob|rH(W;yWm8~7aemMWL8;$L{-Q(WuwB4~m4%|ABp^~Y%-LAM% zjW4stttT#7L7hRLXl=A3csO)o4*i6dN> zrTKi~?PF=(=W9Mg|)a+79+n~S&1B0s%8ZUcsm~*s>wsRU%^gcjO9Kf2b9dyPD!ii z*-_IZa;;!3R+~}lHd4vZial|pEfYgimu-i|s;JaR;VjV6Cj{qKd`-kEQ|s?9u4pNe zNYR2>Gka)%vDVc1{wI3$G<(L*d(2S=N<8sP%}x0SA_&xrlBJzuZeCHum!I6AL5dqa zte(68qGzE~g^6a+7-Eu^qpFOAhZY<8DMttVv>RChAaa zL^;sOyzKpeoMUy^6B4&WHiAgOG#78v%wo1Y-$<*XZQs6XPr1A?KceH!Ayxm458`2K z$#w!i%v`pzu7F_mswh~rVSjASBGtqbJx%JQXJND1yffqNscV9v~;4kKXbBHTNE?H)!-fU zpwD-5ZNdk6k!$vqxCM@;`8bm6I^V~JCa8LcX^LGZtf7SRSoE+12MJ!8s65pHb{Q_X zC;mCVPvL=d90AaFZ+%<7?v%x1@=B$4&TabT=R6Q$7uPFk-GrH(y&;>C?@~u*2YXBX z;Qo1wOe;;8tpX!4x+Fyn?>rQUzW%Qne581aK%7%eE@i$NB!P{>01v}H8c0Y*EN**x*f<}J| z6`rJ6tDBm6WjcH+3@7u3RMCd?2yp=$tr~qL2B5xO8joii_NjGd6_kI&_leE`ZM5Cz z?&Fw4?NPslKa!P?rZMLZf)1x{Qzy4img5`Jr^24COw-Oa-UOfaqFVS#R~REg4P)Fs zxhlWl-f(tdo%Hhl7jyJ8Lxy(dzqHbC=sbv&n85#K<4p*S9?kI|ckeHYZ{+_UqckEY z^gl?`|K8{o5lj4f9sdQR8k7EiuHUR*=ZpVo22SaS`+r{^Gty(EGMSv5;8SS}R&;Lo zub3Wns=}S|Xk?m06j0Ay#S8s!FfK}Ra(XIOO8GYjbSot3$k~^H=^u>dFyrwFALQq> znpW3nV*VT^XzCK*1JCjdCzPdqIWWs@U&3m7^@pi}jV%w|1=)F@IASezq*Jb6kk3(T z^u~SCiSq#J7UTY31*U5q^Nl)YSdtt!aa2^WNCx~ZX9Kgut>1fWhE#SPrzpdf;jy*-Ellg^o}GFm9l2JmE;5 zg9)4Ws5BlU%RXv~b`*5SJ;y1YHg$x1aSbhlzR{(E zBR(-qps6Gdj`y4vUrRyBN9hO)S7gXNxR8*MlUg&TbKGZ?+6OQahjkrJmnubMR*wru zhQ{toI0>OjtBo!8#WGK*8&i!XNC$TQ9D&1oxIE0n*hAc>XCd3!iR7!5UB9v>$F{!$ z)g6S(Cq0mQI2ULzelskb3ag|KO#eIj@^8%WZ`?=W;0)dRQ${jy*R$>Vyq-qupRRY- z1T{NRse~rN^O}&`?gW?js+v^?iTuBY6svqshTA4hm!2bIN+1)%OCE~-CWAB`C(tI_ z1S2ziBQ%WZrpw=0{+CrI&A_dd#xH7T+{)joTv1{%Bgx71@mf(D_|6z5In5^)8JrqVTCodo;if#SVZY1N4D{D$um)T3E+=)wFOHDo6 z`ns-?y+I&xa~9T8yC7MYV>)Kj8R>H4{JlUcS6`RX@E*Pq{TWe(T6)EG)zk*wYL7$3 z5~f{CyBrN|oqitkx6C9hK9}JpA19tcjLEl5uX-BsLyjTrcLGXL{okC_Pw)3CtlN@L{lhta$g%kWJKlu|Eb zp=4y(_SE=b zFPe|%tx<(vsk7VbLLaj}YI%F{_;a+HCypx~U0gPKYAU!`!RG=9A?`oQxoe8VRsX-W z0JrBks1T!dgm`GG#AG6R5Q-7&qnrC-$7od@pXl(2(xTcI+bP@|2d_O~c<0cL%gHXs zsTRhW@jG!bg4R+B9Mw3#tpN^y@8PuX@Dxj3ea@EL7*O%Ut0+{`Q^Th2tng;)Z1+oS zR3#6Us;W$I#6+z4CpSNlbq|%cwZ&H;-59+;ku3gHf5Rg87&=~aeqg1^rKbg&@MS?L zE>1yBhuyq+l-~5C+`|G=l2|%3;RKUd6%l%;mg{$13^Q7T+w@r8sk2ATOYeF>*d-7K zvxV)Rqlsi`)gy^e;>~H5a(d|{VS}f|{*(A6eoY~0y%C8;S?M$J1%$hWeRYh|WN@zQ zsjB+%wxXaJG5Vka1jgA5^>#aN41`cqRY&aUQ6aCOgboJjus6cT-weEdD%fA&$GrKI zpE!>zW+q=^^r*YKS|COUPe^Xje|QchmCScI9SLpaUO1NyCyoqKbUuFnZ8v9<4mdS* zCXmd)%$wsrjIFlZAXU+Hy-n~ViSt8D={PO?f6#VL&y_x3xQ}g2teMyo+qRvZOzcd! zV@+(^*2Fd@wr$%xPENj6=U3-1I9Kn@d(qWh-K*E?XMG-1?c=t|j|En@gF92TrRQV! z^RzGXQ!u_!5gH;21~z^3haslxlWbQ#r;U|;Ps6R%w2qHngj2RyZT=Rs(dy%LMrMYv zJZmi5%!!7_uDnu#umEGK>kQVA9Zm+hU%FasJEJKuqayG``b(J(R#)@v@}f(P%Y6A~ zlWwY7vm$Ur4B6e^i$%*_8TXScow(7i=j?j4s=D^IX8m6_DxO|>S*hVqpwv-t^qk-e zRw;NRg8nErNUq~qa^dc*#iN0n*Q|`H)V1>sPkJ2LK>Am~cT5WE|8sQ=HtW8#fDna~ zvlM*9gFqg>J=uS8krZA%NmP-ds$MLlCnI#KQB9F_N-7nyR>`5nq6D#4UlzJVlA8^i zm^y^gS~gobS;jVL({wP?hEPeEI_YW-^gBhkwbBz}qftb6ux2dFXbxG3he^!QtdUzB z^Q0I5azo-HhSZ;{DU765Zl{Ng8H(5fD`IImXYxJD9)p=0sq1_cOxa9_m+R6Io zfB*$8xKvtG+VlEi;~Lt&`xRL{Ntm<#?>=${O#d``vKaiYqXlsFLGw9*{jrNzxIld; z!_+B2#^5B!UfRnw5t8be+w&jn)Mc+l_6!YEd-EH&&SO7LhM@6rB(Js#QuY!%RANy{ z(%Qft=E&oJ)r7>SjHu#!VB1x*5X*u`qJZp9e@OKQ*HtK=LbILj)gMr`|OgW_AutRMw7FXb&vjyYT>@?vOSqD%!n)Xq!7qubJA^ zUvW0+Wpxe9QLy z5M9l7W{(kcqwC+N&GxXS$t{3Sc&_H_VSnr#yocUWRx^Lhs5*mcX4)yUl*MyD(dTn~ zB@aL98hI5|^P5&?37B;$)t`F3n%G?J#szufdilA~l><<5LNXa*r{Rc9%} zR51hh$P44;>i45^yI&?srR5YTV1WMg_h&#(8&Ube*gQQ zU2|~(y2)iX!1zSLV#}HwC!0NxoaSfkUn1)x`4V~;(jTnOBE_oJc!t)t3>zK~5Guzr z6cMJL1k8T&PTj?I+ZGbQu{wC_jh>1t`rPpZxv8oXH|JkDa}dOe{98WvG>FYf`PfK1 zZ3fX4WxoXH1P#PX97-IVb%~&`e41m`7oIacycCg!)?qJ2M#Scj$7j_$TFHi)B(VG( zv0NO%sfZ1>uPxDxVG3_|KHh~;kwhx9?zrccu=6F~ka$eLCq!R@EfA!&=4Yx_bw-2m znRobLnA#H3oPe{h`*!n*SSkndzbu-u;;D20Dk@`Qpsh~byL;kt_+VY|D9#Q@2E|Z@V~mzvu-U|Mr0 z!oAv{T>ALWjX8W8RSK8s{`03DPoBrFpi2S6{j$i^T0fE|9M&phUIFhjms6O}@b;K1 z!XysMbg=m#kwWvM*!{ily{C47O4)j?<#!eCXauD!SSG zTXm`2rNqEXD;AI|x_d}P z>Wn`-FY7B>)iJ=y1o%A|c*}b~VshIX>Vh%y{1trkW=jdbNl|5XW2-VD=67W)%ki1q z^f*2cyeIekcOeB{NTaPuZ06~b`k;;u(hOQ5Qc>=u*}ySOIoW$DsB2-_*iTbGutD@^ z{67BLl_?1f!CfN@Qf?*Q_ouDW)0Qk*XJfoLHaA!H!!9OWDxjvRIGAJj1%^)x$=BW% z;CopQM5$Ky8bWQ6Gx`39WtjT!?#=|bkdnIo(EPzcW$jz$8h09~&1Ch> zXtR2*r5uQ0j9>WPUF*PyGyEGMdgXbeb;+-&Tn4?VoZ>4)7_8K)tz#{qe z&4cyVf7XF*gj3ulgrbIf-!)QXI@-VkpWg;T++4B-EW7#A);sH49|xXeGe<8?b8bf7 zCKM3Q(pZgoD(K{p&Yh^5-<#Ywz(${zBDSV&cL$KhQ=oo;Jmska7AS1CI%7Jmaq2rt z8IE#1=)wH+8N9kRe>#j}70aFX?*cz2*I9Dg0y=$2yl>ZCd|93?PtI5DuWp@UvU{Ya z6fQmYiL%>|h{IoV1`7pzs8v&-!CAK9ln>u5Cm1b3O4p^Hr}PxdYCs{ zjW#ivO?EH@g2xPz*4*)K>Z%MLvr_%cQw{AF?tBrzCX#U6r1>L-ppK68 zw9<0?LqMk!)l+PV<*Gn&Su>^Y>)NQc$Tf?L36xLqOHsz0B&~VI zJUpi}--tZ1QNZsFbhsd`%eq(~mOz>;Iql)#uw!aqUTh_a%F!6`dK# zs*;r%Lnw10z$-2BdGu+*&Jd#gBN0u`-7Uk&Q8>Rv?BuqD8S+)L@Yxd z^I$RhW?ad%In4zADiz|dg39RS0iCb(f9S70Id7s2X0fD26EhcmZ|%2?yl99CA@NS? z{B1c~~?tzssZt46SrVVUD>s=}DNqC)alNpqL=QTNu0 zA%6Ew>-nVFv2=5ZaUr{2AgaO^da^-`2r!=I{EM|gb$O+GrZ&7@9+rbKe}3LLCZt8E z(6SY-W8~7hvz4tEu2Mv=DeS-aftqfY)BliluM6<~plqWHnr+a4R(9(s6raWOxm<~) zKOXIg!}M)ms?fhvB>;N`AfA>OUmX|hF3_ncKdt%#2C&-YtVJb zLxK{eHKYUKSSL5r0Om>|?@X-2PW}_2G>|Mr(=~nk9f;1a2 zcVi<|)19J*uy6Sc7JKxp{!6GHH(lSa$K7tWh`oen2S@hQ>R=G+ zenWCqgIhg3oGs3Rfm+!Mn-*Y#^>b$xq?~@Rsp79E*+BGg+zFzZfk%wztNA1-uAXV# z*_1ujoK6|@0m7%9br~s(!{B7{q-LF^sDdjsL}xub%kdO3<;IHCGxfm7%Jiev-1i@? zB(ewG!F*HFBoN~=kF^Lm-8g&N?tDxIJ;2<)fC{1nA*dr!{i$@LPXYYw#J z%}4c)5lA;Ma3LlFi;Gv#sAJNp+L8UizhO^+5-7G{%KWlx@LNq-GdRnK-5gkM{PGrM zs9xvv>U!HAlb`#k#n`>g#&ZZX*@cH(?sQ})BkeFHlZAxV^U}d_tz4I5$iiE1N2JR1 zMNbH61Txle5s@^XNM9-mRYz0GZh1$X$f8c${#LvNH{p(})6tlC$<*9>k6$uyi+e5h z83st!wB3^k4_z~EzAR{F8kuNhTB=K@vuEn(mVt0v~W-E(rMhUY5zg31nh!^EWsBU~tmy-l zz3Tj(jgRlDQX4Y2zwYGKNC1<7f7Otq$`slb{W^FLsK|OcMj*_14cu(5ULI2)o~@`= zG_K*EzAj#+v>wb#t8-fx;C*1cIDf=a>Z#lJ)9g3%+j;TEv3nfa%$jfQnn&#xg8#JG zc|Fu4(y@{fX#(GWiFV?+L(uL)92Fz7*C|hBdmN%S<_UlepV{71ig|I&=D+K_O&z-_n0iEBM4B3 zAcCcGWzmybiJ266IFHnOr&_5dL2!B9ihmIUF&sQAgw6X2dkWw6{ix1BZ zgWU3`V%Xl6$0TO%HK39f{3oAv)T-({4rX1gW7`a4iA2nuKfS=d7l&cM0Emt-!dTsb z_>(o26keTmk(WbJN6VHzlQ zLmePd>dML_@T|!vle>Uj-?jOtxhohI;7i2*BIh%MEwcoLCe=pLb+goZv#y}FXzJiGg_N5K35!J(ykaH{t@S-ClHR{3zsr?mr_XWI=eD{~ zCTwA(NB>ZjD`}u4qy53m4R{hw|?AC@Oj@& z(BrYCBUYu2=Q>wA)zWgj6gI>r*W)oWL|zgd7yUvNlAmtW6&Q;cjeT*@dmdBf<9hg( z{75(sjgvVx9W8y2#~QqUaJTXeV$qKL@4KO+|GMm?`GPl-!$6iSw@=@So|_5@5`E%q ze)F|_-Y=#8kg4}S$ddZQqUK0or%y-vz&ke=VqYG?pqFqR7AoQ)hLT5!QTLt2_Ai58 zTsuDQoUWnI_^zR~3u=AtDBf)MplHRd{_AlCJ%=@U`t0t^tOpvxFE5isHLr-|%keRu z2`Ws}Ep~^8SQxdXMI$rwcoLd}E5*s;{(V`zcnI+a%C=ZBIiVQRI>eTz(+qIxms8U! zuP5kB&vTz(^Q*nql23p0Spzp4Bi-ECqmOGi)y4?!&3f$m4W+iiwj{c?W+3ukbObuc z^Q~IHkZkQ3Bmy=p+q_=hMA|nb!E#oEYCV4!4NZ-|6^8S8{WIXQOVe4h9y4a}Xp;@3 zenQ^-;N1$IkfbqTDIdXMLj6^E>yB#)iSN%-ddr-cC+VTOy;GG^dv?s_%oMO7V-puj zUTs)8+DB{*X4vR{;}kTFU!tr=7icJiV=@o;|i-qiR6=D&!pi~W&iQPIdfbWH<(x5MTbUwjra;f zB2r?d%kSSoukwyQ?kD!RibysF(T$orGMX+o7N+_)4$odYeuO~L%%K=Y38r?6eCHQv(Z1L;O52RLy*=BphR zb3C%mYeRIg^DN?vLvJ-B1)ZK;k4*6dGIt@a-_P&_7zVS0+cX>P_KYs79P@f%919ul z=I`uK>Xq8h{2D>K6GJ3FFc2JbYXaI%s_!HQ)%944>8Pcd(S#Hgb~;9kQ=j+0fr9hS z=M!T8AD-_se8q|AZUDle`ZZ^w#%-ZVuY3Z_hUrorV&Cu{Lm(zir6&S&>XK z?=412N6fceX3!D|OC?+tL?PRvx&w}47)=K5IiL27r|ypVn^~y4Q6Xo|>Wx0E=Bt=H zhlp%_1>!mUGIG2kZ7WjlZYxl4osXH;Im#luT|<7`+Gq7{t@!?2k+esh{&%#6$$odQclM&W4zQy$fAL7CioU37uk9ulP-B8u{MuWWJfU81#Zd z^2(5koo{%k02iLGOAXX1{4q^K#&7%~-&-n;^T3@vhI7v7!^1G!yu9d_LN7bFV`4zZ zvjVZ2=+l^}@w6Nw(nc59sYA02#Ku|4RA@qrqY6{`SozOcrhI(`79Y~P#J!W73qFC2 zcM5A!Zn={rn8~tEjLRdlZ?Pge;W_!Ej=HYktZK65f(heT=5ndv_z=V@?b+i`dG*hB z3kr?G-*gfHp_0cZ6~>fkzhmLU(lG{s1BA}NUOiL zG!~x9 z^1Rws)XbIx_yDWkHYl7y=5wuoQl1UI0E#h@YLH)B8hI_x+m$Ep80fQdPZB$F%OqF= z<>{!$YtBJHi$#kh%|95Q(U8>mD&l;)_y@p$OTE#Nl8dr!x?JmB`nLZgIkY#EnGJi5 zkG!_<{W-R;uVFULd5^#2e!P?K_ahPCThHIfi`a?S`s)4opZaC%wJF}n!fzuqZn5JT zwej=d{l`1d3%O|0mQQ}e$=n^!4`zv)!XBD1l$y6AC3H4jSK2*wodOc~V}D$|rK+_j z$0-`O6^E*OFV)vd?@bfZ@X5}>17SP8V0BRfrALp4wY$^AJZyiy(&ZU6yQBJ}%ftO5a#>C){9RYb28B#7B_0KAQu9j$b)oy2wf=0*Cpx5=G#r5J&$JO#WL z285l&CDI-yX`nm)b5DT+^U-UKDB}hNpAYG3EBe8}YlIQ3{AoAi@BQUwM5O@L&Hh&L z?bAl{&9-;<(Z`5n!lDBd@Dt=**T-(N)rhL7f^Y&T)#gZ%zu#Zp6bfNx zlnM8nl|NfKn;@kV&&Bi0+uJmZ=9Xl}<=&+})vU^8DM9AxXfsHC^!J-a4MIskfzMau5x3I!UwO zoASHeh-?D|)WbsZtjY7hm{MG1ck)R_mzApK;4k+EB5 z7HW&054-si%q$^k`9o0eH()ibi9|3-J;(U8!pVB_RU@`PF>6sFe!!!vT77qUv{KLa zkqW1aT3c?qegWfo=)YbzpE<~{ywXwmE_ZGZstEupRH`%5b`?trsmtkv%y{m%4ONngGRT*(s+-e$;roz*?T{9#KuC{%bep%#D0(a0X-2q5HRhAjBq? zk9_c4V7|eY-l2`f5d5DzVe#1SK~7b#$i7)TNd!&Kl>F0vnfz+J(jVUE0T@eRFyh^&* zhSyJXX|n|Mb7FbSNT}%W0x|xM8bMTm-wXpx-J=W5_9f=7skdm6xK6~XOr?88OT>r4 zQ)>>F&zuhH+DlG=8_ac=*M8^m;LLeF1Rj4R*q*sCT_)}**bfjFaMCJ*GQx80N~KD0 zlvsf11(}k<5{5qnsVE`%j=>JG9S^J6RF}wEE^sJ<(RQv%qdp1;p%;ktKP^BBzv90& zVtW%oX(B4et${r-T*p)GaSss58who4mVZj}k<5DpjuXsX&ut7_jgKQrmpB!6hg_lS z7C+bw;(jOnY-&3VNW7g~%@g+}2lj^KevPIwyj$aQpSv0+@gZJ9RqX(s3jUm9VIHkG zao<^pv_t$jXHBiyhQI7MQ1-wviBFtMLs>QtkP(?w_P%Cx&+s&dg43LL8ZQDmYA~Vp z#%Fn5zj>-1HI?KQhhI|Z599HxDkFGgvn9VhYG9nq$4r8y8;vb}?$#oIvz@cHynZ+u zr2#?HZG_7Aa!}p1yj5AdS)Q(~KlEr?AO{uRcc-pR;lcH!Ep3KAk4nDnJj#~d(ZIxX z2gnW;in>unY@QR5-6G_PL+$QjHxBmiC zV!L?}^CRfEaO4NT6#UTKaAp0&0@mgd;EgpBS!xUZ^@s^?1FqOxOrM#ZNHMb6|fbT$Mzk-aeRW{%N!?)Gpq( zX_906IZDKmMnKg)NWi(?@A*tqh?UuQ#dM6UR^zbQ{j?9AfYMr1-8;5#ZNI;NNkdID z(4_DhvkcIBY;c?<$wef~dHYPi_{Ri);h>?bfz$cXn9^C*!h!$K6Z=mWG=puZ=x zT>PUo(kW-LDDMjnT{W;T_n^{`jQ)XH>%*r0kFB7?a+T6@B{S??uh0khIA>)mFSVeN zSQby4f~lgNOedFIPRpb^K!IJ(Xd)O9C_;MiTCf5`OpWzwrW^r@G* zs6bd7DO8z_EH$LAB(yTJb$#W*`kDyY3VpA_E}f*r#Pax29Z3nJI=hmHQbXoKxw1rO zRvK0H#FVo5coua4LHG@eR)vhrsJb_Gv;nqhc}t~?c%q61SK)UDV@a4ZHEGKP<{n9+ghEbeFAo1F9y5sj0(GN?|1g2HRN&@!@-9}wH+m?AUUd-IyG;X zBw7XrRf?jdnOpggT8$csuhEp9!l=@imi=B1k5XmL9hH$$6ZihN> zUPT?ScRNpf)Z1pIuA@>cL%VS+hy622LH!PgN!h6zP^n?Zle zYf94`Gy1h&Wwh0(y!y7>2P9sL?`goo$)TM-S3y%;fzb42sJ>^oFQ^LS1oJfp5WGko z$I^ijf*qZGZgr>@G(ZvKsd3;2D-Aj(_cVIuM{xoCaNVKVjM4_EtdCAVIPNYFY=}3j z*y+3ek`W6d9U>XC$DMSNcj~gO1L~z4@3QjoJS(rBJF?4f1ND|^hA?H!5(c_X2;JIo z8luGv+Gl(go!3+xLRnSvuy&OE&;Tm+jy9N;@lDMH@}kmfqDo&$99xVELjQ9qfSYlo z5aRC`b8)7Pq4;+{*gS%#doBRa0X#$4`Ff$mfn~bCe<Pk^UoWG&toJAWp^@wsi12 zvgyABg|z@5=i%#R&7&-j&_}TS%nfP^=1f+=!8&FvM&!QpZF~V1+STO5VUGXQH^!cw zKg9{yQ?N9)F*;ppx3}v}%k8m|m6;YRZXF<60QaVW7tQ{&%I@jlgGK1jS?yE^xQNU7 zW@|!tY)^qT9Gx5~gWP9V=kPtR1Sv&63QFSM+jnmMKNfSbQZ)G}2y6yAi5g(9fGqER zgJU1Z+qapfohOSVg|7AE1KqWGMz*ZPal-Xv@*=a?M10d|&+uRjKwX_vfeSvM->&kq z7c!S(hLVX!qq;`_YZS9#wbDj9Ji*}Bn;(Jk3RF%aoI)~dzD+}l8cl+W%ye?%Hvo<+ z3(^r|gT-(u|IK15Z)wp}>HRjAvSd(CX`k^QImj2W`ug!yi& zBO~%rUCo3;2+}9oAZQh6H={NYxC}uIVMhrKIoI`@!bI!Mw#zS{4U;}^=94?pc0 zId6}O+JNu9*hNX+eK@RrC!geX(i4I_Ayf8lXmYo@?+7?5t1iaDF_ zxH&?^_eiK)mo9U-`3bOOSY*hgsJm0(B93xI;JVU;ZU{`B+Wa=CxHoG{EPM{*iwQ@D zrjr0 zy#$UBdW+oA7CNeXMQZ47hK-uf0ViIF^Lz1kUwdpto!`)^Q-%DrJlul$d|JNL*u`kf( z|GK4K_;bfb!(lG$R;k<9q?Pf9uZ?yT<6s-+Qm@;5VP!JzDs94EPWwSae3JtnEcYuP zbzt(yl#ivzA8X@bXrbI9QOWOyDM0Ur+)qr7Qz; z%RwnQD0;Y#o^YuH#JlT#&p{OUll%9A*q2>>bjnXx-gxMSw3rHrI0^F@H8{r;!gG zd~-;QRYIWoTY6>x+Xhibm83&{#4>2}&rMaMKosM8dWz?DEp}FcrBgN^3vQlWJ*cln3`L3c?-DWXSk7GSFHa+4 zoRP@_q+I7bAI9hhCBeTMeBk#!P1baU&O@d8_v!^N>L)%y3S|S(u{G}_O{byz-GM+s zCZkcMIcJ?tl6(8*$p2*VpS4dj?e|a^PoI$*rtD-5pV(aAy)XVJfA>ZB|1OvRe`+4rgAuo>*A!D$(+v_HvMk_iVAr7@rFG@Ua% z=OC>cue>CVW)LS^!KWa~O-EEr=9~ytmM9k1kagGrm#(Iak@QNbAc3a+r)!qskf60% zb|P$&f3f3>@qRNpD&b3EA_`Htc)AZEiIJ`C>SI(6yF!SH)R+}LZ%FxsJRRyp!6!}n z-9p~l-?O3X76<>C4*9h;oi?*~&!-8QZMZ)4UF#)e^SN|ZbKSh-ncpG`7G*85f_5#l zT5cu%epU)Gx~P|*zBXgK`6kP3s}7Ir-5HH5QG`2z^c@DZ6!2^!Ot3Pq~ObMy>7Zgk9qO57y zCS1=y?PKc?Ya_EjGc8pl6IAGk7r<%IVA1P{3;DG#g5-Ske0C_-!>@?<2g=t|dC


~~B#e*Je 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 yM-ljU^ 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 literal 0 HcmV?d00001 diff --git a/windows/deployment/images/UR-example-feedback.png b/windows/deployment/images/UR-example-feedback.png new file mode 100644 index 0000000000000000000000000000000000000000..5a05bb54e154d81650b4cf4b65c940c2a6753979 GIT binary patch literal 126533 zcmZU4by(By7dDEbBB3H6ji7W%H>jkPbcZlNx(1A#%2yicP66qV5ra|EjFe`;KpIAl z(Twdyf7ko|^Zv2xvp;q{&(3zA^PF?v_Y?76Q<;>QmY9HmfK*jQL5G0g&du9fg7=AT z9)Q&RFE@_|?kdJ!1OyMC{C(XTM+RdF2$%^}6<+IsvUXd2f%G%UoA}awCDzTX`=4H@ ze33|GdHGI{Y$Sy@%;VXhgI$YMtyFWZm#Cu;xONjN)Q%n+0l8Gu+o~CiNa#E*NK<{a z87}{YApULG<@GILBT(SMR5_8#8y}<>=>0XSEpzF5kq;R1e7?b@>N%nz#@2X7=SPCN zGfjDG#NoFvMs_WTj~_BsJ-W)^8@tY)883`VBt4puvR(6=>Rx6Jxo-AMCY#P)tRb&? ztbcP(L$tCS-DsN}6)r-F0v^nS?+aV%!=no##t9V}nef9OS*CD(54_kDc)=>?OtfOE zp~CTGRS~>4^)tYBL(_!%!JRgMHL%`OI^J>9ajd=s4md73_x7wx;iqUK`?nFcTDjGn z)bz=pZ8jU}O9bfjx@Jx={v!+GU=@FUcy%rpEUbN16N|SKj&}sJSnVr7diwC(oJsd1 zF(Cx`Pc|n=piUIBQxlY8el}y<$7;5*+rjbb&R(m!J-sic^LdM22}FEPHA|nhb{qv= zr0+8FHwjk0&6eTHhIos~xSs64%*hA4dU~T@#l%G9x_YRwG1^E(Sp*5dV`j`=>RyeU zr}tB>2UG^}H_^JO$0IYt)2yG6v&Yz10YuGX%}Ouf3WLcLVdyPg3;%CJZ2bTKc1LrB zwx=b)fobG%+Df*nvjTo$4YeXT{wEfc$|1?|*{eqppV>k+JyGw`@cnJ;w7AT3 znpnlH9VTX~SPBMuE9NI%q1@Ib<>k-Y#6t)PNt9OK$-WYWu;rJl74MDANCp>^!=9C4 zpJaXkQR&%huNhVjuAqL9W$hG+@bsE&gm8%pf)`H1Md3&5c2Ov^($k&&?O&=J#jdfK zoLOqU;K(b0NX2bohI9BxLWPfQK=*Z-5j^nyi4D4?-}>bx`@Tn1v3djN;s90~!7{;~ z$UC>+a|1Lm7`-%XK(kc;3v9eZ=_1?(_6yqa{}zjv#YI7au@Ef=!zZhs^JZE|m zB9}0U)10oHS9c$$H&Eve>EIKsLjH z+ITx}+`RL2Og>Ix(9O=(n~|WV!$KBxrr}BJ`oY8eR-aF$4d(kpGMQ~2v!;a54>AuT zbL2)6oxasvPC(!1(B@a81xBlv?#WvqgbkLYGf9;5h+uOd{Pmf`-q$Y!G!+($@+KUe zHG7$ez~kG6fLhNJVn>V+f1kiySBf{Cgy(lUh}!wF%OLz6>0<|p-U+8Og7;GPG~D(E z-`@2%g_!z*&u9p!Dq*qPwjWroD=Yj~3HeCmgD-#vOTvl3!Hr!Ux$&7cE80r(p+QyN zcOGT&XYR}0u8Z^2-PkEH!B!5sL5Miao0mzH%yY0TS#QIhE(c}kIyU(s^mHOTJ}< z9+}(blJI98A&&|n2tcD~7x?-uMZ9H-9NNUL`7f?_{1f3a$xE`ht8+K&klls53b#^h zJ^W`(u|1YJ-{7MyuL`NzJ1IRsriHTFKGvZ2r+(MPw_l|$d9<<1IxA3*VmDrWJ2pC| z4+uNJA;8P2u`*rvuIN5Lnj(!lUu*R}f(INF0{)1*xr(dX*-gi-;FK%^QMTXAqdkEK z!KjUDJ8j$WJ|>)8OB?iSj*!&FJou6{M`ApC5e^0ej3|S_qG4k*mr>|LRHk_a32T}+;oyo4&ppD+maTb5N z-hZBb28>Y@36xxArHj+c%NuA?ffZFpes)GyA|wyCkIKu)X(C>E4EPfAr0;P_lo`Q# zjOr{6`dsVz=U6eSz15}@7aI#VVCPUf)>z;kcoXvDPS0QsD)Fzo9W)TmnEMqly)-(DueV`|i zx;~|Ma~PWMD>7JHAc?%vU5ho5#;2ip!(g4aQ%uN_kVa)H3TV#uYI`hRa$esv5POEU zoNm`Mip%51-OqEGf2w8NZ;5lDk-J*2R-VRi*&Y4hAHL(9!jm=pP>bn%IW%{?f+XXt z!bS`H65I-;y=xqTow6KVO9x|pSp#%+CLVlsA>wCTz24h2@)!-#vm=)Y5U+J(SN0bK z9TrLOR9ZZcFSO$Ov3=lCh`!y^Cpwm>-BqSo%elYX>wjwREHU2YGU2+yj}H`$#T|qx z9sj30@u2uk;ikBgtT=pp^qQM(orqrZp0Ur8VVaN=-O@!fd8qG?n!{5q63b12N`YSV z>M;Go{q?X>`pww3`Y)u)QjHfoVgi09A{cJ)@MV2w#D8Q@a$*1JlO{?8dx#$3{O>h? z)3ihKTUd=3@2_^k2q$?j1%=9;nmiCM7?H4u*1L(bUZUOY`0^h^F&l{&M^vJF67YPK zF#-KzTYAH!q`{IvcJ!AX?9sKMQM)~HCV9?kRdrByMyT}0Q<>o_I_P@~pOmUd;{{1y z$sh#AFL+PQS!S%4L5NuC3H^?2*Ck;{;3Z}d(c*WHecmm0I^eMdd>ejnG!O#WvX~4+=l}$XbzB-`5_MNMY zfmmFWr^1yw>X!!8bYx+qxS|@qdpzC@6!fmQLM8H$Ng@O@y=Bw-b>P5Nt*t}!QXiNJ zAA}V%zQ+f?{VToXc$cM&>!Gp?gUUkev3JdfL02yJ;X-CH(tw|_^#?9_j*EgtRQB-+ z$)iaFETxabe5#5$-w#zj+zB%*aK5yXaqxbaZYqO)bqz`?xbpFAllyw%Edn(A$Sxw2 zTQ|wvk^f{sh{ep=ja{ZXd=7%umUNyck{XHE*pW!K80L*)drZF`7~Xm0`Ob6v@zUH} z!!Y7HKw>t1U?Dw`BS$)wKL{s!wDQ=0PyD3>jgdh(3Zmn0GCDCkrx9%NfKy)c17*j1 zrl2wUeH^yf$RtJ6N$lyyrj_w~9sM_eyb!hF&FuzHI4|*Io}urO!$p;qzAqXoUH0x^ zj{1oaYt+>7)Ca{iH4(Vr%+3YppI#j0{RPc?x9$0S5;Aq=9R(DWG)2;lL+ZSJq_7cQ zj`Ku(NkeNCYK952v;9Ta#mYc^jckou_K2TXJnIJ=hEd$j}mYUX;b@>??)y ztZ#(AZ{QcYqPs@TcI+~&mNf?}+4ech>~eTg{tBsXxJxzqaQ>e0b;PJAK3_2SVpSOt z5J)bE>)CnA)0TX%9g<+Kg^TpQ(!zAQfd|KoNSAQaOf^4WsINgD0~H7ZaTv>G3{=Yw zc@W$c#xB)goz=lE>&JgqnKN8dKl*cj_T^&m5p|0nOLuDfg+A__JJ-g=qDSm0jar%l{#kk5MyI-;E3a^Txr64CA#XUk32@j;mcqc-jV|cBwF>k=byV zs|FP}1s!rNV?!D1;BTQ{NXwNlX6qT6r^56z*VptgL+w1 zmQyjYw@{2RU8tV0_1p&psoK^);Df;vvJDZLY&4>!*zs&`{@?(#?%CX5OzXpfu!aZJ zGu}=Rqx9J=wlnfu__r%D@tq7ogoBW+9qB<`a(tFX_7rwr?)t^WGJ#A?pK)zvL^Ixz z)A;$O=Hn!P(7|4e9zT}W`(^2DgT~TDYXxGyt8&Ry_z1b@;wCdPYB|@3y2l8Zn&eqD zmwH0Pti(e^Q))cG&V%kJIB0?9Tz<7IZV*jG43r@DjC z#URTwf8a;{TxuxMAH{}qpte$euHYjtjM|y*@#}`FTGRDZK1McJmVCuTveC?T!Uc14 zF>M{NE0bd$&OaD3pb2f+b~N`{D(6ei6$JOptX%xQcs}<66^E!8XjZL4dgfhizepw( zG=@ngqtlOxp{{CrX{%bw81RvTK4640ZYefk>dWjD<%0h9Ayf~U@YQvL zG}PJGt__i%0KlAb%khjhm{49?k8BudDgBEae?=}~1|pR6+tNz6NQty1g ze0Dp`t_DYeF_rV%v+eOR_V+^Te?ZPR^zX>|N410Zn0*&oGqSpC@9RHio92zm$^sGv zz`{wsFvLuZA(j0N$U0Og4yvUT_DFpX?Je<7z!xEII*Qy*zPWJ&gG0kFpg>|v(4XKo z{3bqUGw1p-RFjukrZ{e1_JW2H+Y7x|KL{T5J#c2`y&n>yO~4WqB93>(TLC{cG899v zUoe=z9$4X(KHA}3I80_bjA`D8vm?F8dP4SFPF%cy9d_+h@j&=#|0lQ~@4P*+zouYBh@&|Xhv1T4wRgyWbVh#9r+zV$DGSOi z1jbE8(0weiE-Sw^;h%&kqI;y#4^&Yzlfst*N}UrgDj_|keE^Q6c;dI+w7{dmU5pMp zSEgP_5=oagVOXO28EUa4{0Jah7WyPHxO^uzVg`aM8^|uR>t28Z;QNE8rGbK#Vu;{m zMkok{QtBxW9*t=fsa9p}NCqCE!F85gNB?Um_U~%53Ml=-38$Ga*J64KjANnYutx+^RzaU^ws3nJ^@2jPKFvDx5=q*Z)zXmVA>EI2tIdMdZUPrU%1b?m2 zH8p}<`fQA*D;+?Hf-#*KJ@Yav-CG9I1|$>yOh7Ex~5tW&8iG znOut{gukw1-rXn4bDpzCJ)Hg-d=+d*B9&{3{AC_B2wEQpP|etSSRJefs>QyxmWk_( zl-ggf1pD92hdj1+CKT07&((GmN7n4pq9fkVcQ zDhSkEVTq{?*evB-a4w~7c1tkFueVE<@G@0X5H^DP{-XA%Y4z^PAozmWcX8ntt6NL= zPI6`7`Mx#_37(vY3Yat7n-c0ESxX;*F6k+15^P5d*U&;QaVXG3R_=&12Z2zmt0 z2~K8LTRCP}P)D}r-g`6DiWVB$UhLGuoplukp3(7S>uN+=Hww^jB-~|Xudez$a4c!N zWx?L8Y+w7a+0n|QS+m7}luwY6U$${i2*FASP7KVP{6tdN(%T6Hi8dYBiem(Y%RQ@( z#^9@y-v_c&Z|U0Qsz5$>0cK||ijP#2+&uRaCE8uPzD4StrlF=tt!-q^*g~d_cDn19 zN36ecECQ?`vwsXitSi6$U}pn)w<`KjA^q#3f%UeLOn+IDgTJ#RlQNcE z_W1W(@(9vF2v3Do8j4dl-Q4o6g#qn$Q;+aamXd{1xID8w^P|F(bIrx8k`TGex$7h{ zupSb^!^2a?re!~J%(-S?WNjRmV&0jc_^^bNoB3JzMB|kUqw&lz6CPd6F{u9h(S2QA zxx~36=`WuNKFfbfI#wSj-!YQ5C;IAVtf!vY)e7ZfW%oXB7r6i9y;S|@bX}+Z;rlkm zk4E_H;0brtdEu;&o?R!otXV2C)^3gzwn5VBlJo|giUn+R(BX^k-$^Fdi>R094kVSm zqqQ3@`k?d5LBe*yqmOrpW0bZ0XTnzuZNH|P{bfE~ql*LK_A+pQUBm8jQgw1PttV@{ zzA#M4*mK8)$BpBr!_P!`+38v&DWVG<7W}T>aUG3wa#aHSgBV2Wy?N54V)A!M*oKYz zk>#6-behFgAJ}TS)$VU5*IZ7Uek>Vaf7zU*h@s=?A1L&hezOnrxRt*A=Vz?Po9(YW ztqzP9pC4@@2Mp%XE z%g?Qt=w{kN^jrU<6dJfsR&D>(pvGz%;3?EqxRLS`bt+|SV)=#g{;Qyo+f>6P&v{?o zH{ePvnieW(h=gQt@|X!k(Imc8CBJ(s>b>TJs15aEX7*%vpT~pLqd&yk(?b1((#^8S zJAih)Ia)yu&qYpZ)ATLhMP~P`=!55oGi3~DU~wRiOU%r z@*~xIx}hx*BtQO7m6A7&F+$=g z6(IH;h4oeBeQX}7Yx>eA> zYBsYzHS9a)mc0i7#VGG1K>&~U7u&ryI#(;W^5xVagDFNREbf92V+vJXdnMyrW|n@K zwqf>izT1taeXBtHxc`WG1Cb%`VqPnqMGa5>&qkZXSE&S=g#_fxJy>UgG(bBbWH>NO{S8Xej^pR`JgiMPwZ!)zT*3(Bdtlm9f>l$8Oy_ z+*G@(mD20p--}j~C$)C5&$cEL4Ydb5kGglh%SqZBQ+>7~*0mdAtXXQ{JsJo-7AIuC zr0VCf8pC!j&)h*wD0r6jE! zQJW;W22uyVA3Ov6bhf6*x^z}S;(;9w4&VKn2SsZFUbw8sIo*r-DELzYcn954mBwQv?uT-KO|I{c?)r6!a727AG4xUCaVmC21Zh{HwhPp&X4nhaJdvP<EEt}El{^z$&u-r2gbOUHR^M;@~NI*g>;dJAiTgZr)HyH4_d{iG4iP_r&>P< z6u;Wb%E~XTgQf0IQa1A~XQE(Cl+;7KNT?Fkt2ygjT_0*ZfdN2Or|Hw#bcl;)DruWi za>`ihEQ|5Zp?9GL!4?#1oqa}zd!4qYj)2O{vuIo=Z%?DktpC(aX&itKOPuw3lp03i6e_AVJ(Xv_3UzL$h@fI>cxD6{%0jq% zd)0E(ftma9h~1Z(7MQ|`ALT;E8qFg2CoT;T)+@0Q3xErC>*sBvQ{1Z>Bu&;9wleZl z1q&d(Y6@6S0PHeh>a{hpk_rG*WNJYfAPN#}tStqDI$Va=+IH2;oIM6xOUcWmC2bqg z{hszL%JoIHmg}{Q_!H3fD)>lxH3rW`<68ZIf72*gZj7J*GHV9{DjjJd7FR%6ODhDZI~h^w znrHVr3q-{4&KHKS19R9;fJ4zaMVt}5z(Li0|5WB1G z3x>t6O!$+V1^*s`{3subFu=`ND%7O;8dBIy`Dvdyf+$L|Wouf*)HqH-kS1fHO1~i@ zOd~o92qnle6wgp6uqz-_gPUgC&o^0K+6r3)j+2ney|6>mtns2J>mchY@S^7%dKlM-WM*UO2QA^PH$ZCRq z6-u*W9ps78c~3yur_6x_q*%mfT_|V!fGG40Mt%-OLAMkp#PBREQGhY$;H5LyRKbJ#s6R?z$t)09u z&!f1HhmZ(lH58{ z%U>SEPgqL*Iy9)} zyFc{pRiyXN^t|z=(y%Q*|9>^Y_C|U5i=XBlG#V^y?t~>TAyKW!WaOwxm&nYn=om=Y zt*>bk2~3vO7ZNnq-KJO5oxb3|9ZGW8w-Wo#@J&^sf)wCVBO_se-xwX+!w-Eu>L-)q zkvs)!R2IG8Na`;+J_R#1v)$|w##zhuVEE_q6E}-2MGGV3`flq8>Redmt8IpG=BlTT zXhJ(Wg{xtVW##6^)na4Sk>$}XIo_0h65z6Hi_yKee|+~{FZGX};1_6_%=J!bn=Fh6T#9&Q#haUv31<68o-b$dI9Fs+1%zJCLOW);i|C(<;d1 zT{GQdsa*DaNUh4Y-fj+@?Wy0^d{PG($&J*z*4k+AXOD^~l{GitMj^ZJrJKcT{R5L5 ztya2pa`nHq{(n1IlTV(!tv)Ya#r!Sq*?5+vlVA8a4xV`V>^H_9sMD>CroZAK6R`cEe1rmk4 zz8yjIIF=%6{ti!g&+2UFHHb%PsG+8U;QOETO+6oJP5S$HZksT$^jOz?mmyhyNkunJ zbN|Wx=qgSrMt0h$TT~tI-CvN6eFP?DYeH5%@*6aMJ!X|+WTk@E)TlhT`_;&@LFO6# zc>LiNBm6{%kxMk_2qd>%sf~M>9EqN=PLkQeRBRi z4hLRsv-J%tA%5p$x{?&!kDh2vTv=d!b_luXG!9??7}RKo%hKfTw$V|g%~^NuuqpR( zcj;80q&o9%6CLk-#={o#Afpd)>{W_a)oi%(we4MD8Hyt595k3j#C6We_T*r_ExKj; z3s){zP|@|r7XPmi&J2Ds1)4WbjT3-LqG0g9{_+G07-@LWZdw`EeV3s$N2e5|4sUR= z9uqxvm3w38c5id;UP&3x^Wwae4D5HYH?Yr&)l$7Zy%f6=z{tsC^>C#vQYz0YQlVRZ zpVZePYvSN2iQ3eY;+s*d*MUeo+vrgFiD8db#e9?n=OGh+<8Dx^{g4}CUQXSP^G^vd*=y1TEK=+yH zU6z0JEv~Zsk{6RY6FI8H9~<)U4HH<6(#1j$CjAL@tIl!=Ro^8=2v;g5TZ_M-y*0j% z5&U`4oz}(Wc^f{YS~ugy^x7u)wWlL$wZ+Gmai58}OsWm#AYD348ap`KGnuFME zWr{s#!^kpixJ>V9NVF)m%1EcNINf5N>+a4d|D1!LY` zQiJ31*k9v=Xz{j`1Kc_tcBUAYV!Zr)^RpQNm8l$)mS_KQr#?+_$L9O8HBYQy0_^F?6 z6*aF)*UQ%l(^{X?mhS^Ry+j0N^=_O%8?e8Qv>>e3Z-tw}z?YXFzfw;Z8`0*t=;+S4^{h$s>_pG+}Y4u%$xicEW?a>t)oRh>%!Yk4gBx9yeo6;CpNX} zYn)wBP`3PUA)lBSqPy)V)7j94tT6Eta#()Uy-K2#|F%K#%E7_$yO^V{o{6fa5-~&N zW`vO_l0oLtNFgjAumznAV#soU-RIoaOG$lFXI+=ouJSulz{*x9DYx^h7j^h-oS~Vj zrnn~NYt*q%s07kT#n$*%&7u$OsO6VQ9=2p^iu*R5K}OQY0t@S)S+>eTc|`O zeE@5!QzJEsUS(?Ug$JZ~1n=#vjo|NqTUsKo52Sm&=*W(c^W06prGE`wnrM2HB2wZl zd+poB3s)DaW+DLm0Hup9vA)y{6L?AXyN>jStTh$s-a_PjD(p|0*4X8)<+7YJUpo|j zotA%o!61cTs$6YeYX1sawZolFIHg}CBPx&{@%+Ju}OHm!YdqKX=8(^R6w z;q;(7>>_GGs`yi7H8#``%CNc-9g;PY)0G?KLPL0OY4yNzZU}rnU0HaKH~*SJ`l|Oa zY3K9wul*+Tr%Fib`TpP0J{gK*+q zmm1BMje+gdGSOZN--Kn=)8RZGUkg7y@A59f>{ytQr4!aSppkic5=3%s0ZMoYUF6ES zo471$jP+d|+fHbGEwru6CL3K39k8zGDgulo?dC+}uE6-n+0syxdmGTy+4FPodi_nN zcs{ub#Nt8AVELIB0F912KNSQW91Z(vHXNL!`~7hK*jBLVAk1;>&hF; zto|QD&T^p85{Avrc;v3^w5F0$bdYI-M-4R7t8Y|W!glU=CV0M=_>PJODdDSc2Ma?H z4+Ets(8-b5TOMu&6UY05 zkY~{f55jaq&lC~$JK|m&(-g!%AZt1E={cz)M`P#lol(9J?;UL_ep3~9Q04Y-3l>UJ z^??WRDLG2NAmKeMvmK9~Km3-pR|Mlrm1q97hI*&TAl+ldlezAT9GF~*);@Vv$llpZ zM_%LEqdrbp;N&pAu)ZK%8|r=t$z84kzPZILsxm|t|D;ab_al2|Y~63r<^6Ta6Tlt9 z!W8v<=qd-V#^x5BzmQ8xLBLGmLrbh~stKaafx@2e)FaO$4mQWb!~JXR=*c$**}imE z`;v;XmrsAHl$XEoxfCD_c}t$d5?_0){Ek!OA;nOC!3%I4g+?X4^o+8Gx#(y4I5?$k zmN+m}NO?p@TU(9eW4wvs*Pv5@pzAShKPk+ZCefh1$LO%oY|RHckNIArib-Lr834Lt zdUe(aD4b&r2Fpfq2^Q8Tiig37*pI?LZD3QKDGcK0<5+f#1(A?Y&dcIN{<;0*j!JeI zshpsMV6Lq+?DM5#5N$ zQP-OMkT^kQZaLGcS+NZW_g_$%n$h>(47~?=Hi#PJC2~biAXfg;#5W`e_7J=VzIAv6 ze68r3x2LyD^wEfFrP502*2x5$kjwbf&hNmo9aNfZQ$p2-!A)~PFEORA??US5HH(`y#Nl2G>eO~LGyze}bfV5y$cCVsQv6nfaB@0HTTdXO;xk70wEOv^BF`hevcZ8g zY0fYV@8))k`xngE8#cpDZC&l*9~)jkrB5nx1EJeVYqp8zX0J^uvR7mF%upZMo`nY~fNpPmuC`gT>ITvc zlf~+&Vry(>w2Oo%zezs|KhE8(PhDaIFI$)CFkAOMAUh!61jJKD*|46khASU0FlvUO zlo`pkXy0~LeFTd+<$|NFhTl07L(&4~uLChDG_y4v-+#SlylwED#<&Z-$^492fCnld zlxbx0oLu^x8B<;xZX){JNyW!elZvKByypI$u=YT=uU`El(edsb4K_xFRv&I{12*j* z#r8#5QP4KXiLhr58D$xDvpu4{BqrfR0PK5fTsD~y5jS7kV}L8_{)YaTpB*)I!Rc>y z@rp-6ZjJF9dpp~-(LbH8sOdK)&1N|7ow%Y>CSp)nqgteV=V;zL>ZdkUwhp5N{iF175qRvZeH6omYG? zi?W3B1hB{zEU~YU5$XS}M0Z9?@0Ay73@%(rLHUmih{bza2In5iF)ylMy__`jpEJY+ z_$?>YPSG@YmY3U_IWzH$)2=6y z@~Q3J>Yp;AkAAcld#fnviq$9H(E7di?Exfxaso%8V|$Ms;iM3^ zu3G7f;D<}+i!2D88x1Ht&q7ACz2?N9`br#6X}@`Kd6fH}e^+86Y<(PwA%?$@$A@QG z+@}0mXltr)Y14J;9dDibMDv09Y0WirCi%&4&yUn@)$OVOvNWbVgVzpKAROS#wjpg` z3{go)f(Xji7?IJeh$B^JiH%I4AYYP z{eu@t=1~nL$Ec%A+7Zr#Z_6Bu`>*ArzC=zj9P%^>$uhN=o_I<;<%D3L2w#>zH-vs32A& zBwX)^RlTtI2MrA0`JWWG6vi!nTQ&O_OPWqi_6E2m39ZPAp42NEHRq0A;+=6}7e(*x3*%0F55B($+TveV zyeDZ?Tb(-faIosPL>@zXxGjPmUj};|)F8^}e#ms2HXsi74z$hC2GV#IPP>_ix zz13N%0hgnlyYmv&$QhY?@RI8|m%X-u_G`z%2dAPZzrkn%m#4Z3wD$Na^E#liL&<|$ zmsJO%djSaGA07-HS81ls;9_g$_HOKWBbs%5W9YfSZ11=1E1I8d@su*X`zd_>{8`HY zdq(dc4(ipzR(-vRBuZC^#xr4zy`i?LVOPgB)A$(E505UsPOpswD$Vn!o4>v>BvrM9 zRD&;S1J|Q+SEa}odfJ9fwp#tu z{a}bsls|=NCP}zWQ*~_z_x;!@H(lAp4+AuBp;xfW_aDBgR#Uk643=^>!2L`6SC!aa zCBbz`E#VuBemHdx85-;vS0CwW)|LLVV!AZj9gD@r9TkzR9sle`U!IzHblRVG%~ZPB znPt-+)(MG}dx}L})pW7c=9)+2eYR+{&Y;C!GD3h#g3I^@tnB}|2zc}KIaA=)_b^6J z3Ldr4#uUR>F_~`0ib0BxIh)oi+V*@lrcx8*(+9s$mK)1f=Nuod<8?IdQq^?G!tU`7 zynFcIR!9&-_Zz>bc46CF+r?%1B>9AOXFVLe+${8Td6j+n`T1#ITBJvECA%Yp?3-p8 ziW>{l>MG2*-sws}eEEw(?b9>F>v6q1+S=P?7O4)$ zMhg(OGAO)l(n~RX|7gp0rlUYuMD&Ag^7}NJ{DRudgtB*?g>j6}{>+ZqWE~L4rQT3q ziZ8cm(t*NE#Z5w*w)&*T@uISlo>{%Ub~+EaIQe+kWadWNSlJtADPPL)#z2mU1;=%& zRC2hMtr-DM4zob8DN#3=JBlx)c)LLL6|C-%G&IN@Y#YkNDt*z1iXK zy2!O6VUL#fNPUc>lFaMKQ}6Nd+|D8R`khy1cMqdj^pzWQM|Y~G>4D@|87 z{4NQZ*_xhmR&s6e2Tts_K9(#82b+$H8&@fR-zojZVMOBYTz#gCln;e!HOq8kVh|F+ zlRhDDu|%^7I(Vx|Ms@h(%9UA$JFLt)ihR+cYns)3!51Ht6m}2s(}&d|c_K~7m(1R` zwPTJ~8J=DfZMvz+0?mtzJ}qcz@!=lsP?dJyd{eQ{wut(*fsHG-}r)sxs3R0gGI!+ys3` z_k#IlEU2VBhSl)i0R>i&l#2asC#aDbFH-PYauGdViTVs_IX|z4{*x-eOlYS0uPf+A zx~L>E58nM5I3|B^@|zQ{eGAZ1O$Wha9(z1{Ad5B)z-%*)`i~q0jN;bIn|C|XO!`iu zbJfp4^B9jrU*3^&YTEK3ipsVsYK{LEg6M%|?#>lQRi`;LAFY?3_5-9`CJ}LQ z1-1Mgo4u@aHY^i*XP^qdh=@j4?i@z=wDR5qTlXD8aQAo_Q0w%@I*J~e!lGL-_l+-? zra{B)rK6B*E--Re8}7xLcqx#~TP|kK(=v-XwzQ2ktpc9DXl7e9yq@lKXs((@qPqQ- z)G7z3f!7*8OgB=$jcVkmT4?l_yJ{DI)3Q&Uu_!Lr)-H$X2)OyoaEfS|8YJgJ;~IEb_L7u=OeqC6d)4 zQA;kvcf@;I&PqX|nUCdp_;` zg+t`ukb=tGDAG6Y~+LB3Fqn0@WNIT4kz3jtaVP6SK@Wf`OcKTN*&>9;1g@;ykAo5t;3b(D*k|zw@|inEvUcl#WK}f|pIFIjX zZ|n6;Bgg@`rq5~fGSD<#~u!MhaxT6nv`c zr{s=-3YRQ{KtF-Lw+kvYGncJRT-7^m0oadyWb0qwI8)-_tu#P{KMf5wV$KUsKcHe|`Ps3|G z$-E>@vn2t+|Xh)^ z`wjye%(ewaUsh#%vaASIuS#4}Yxh|cg8!&;D+QdN%lQxgubBLGap1XaZ(!TTm$}-BZZZI$0JhjfhqLh?qhG*-WUT{GC7wgw-q!LWvk-8Kh`tV)Thyw zNl!7pu284^WBzG0@)T5~@2ho}03yRCTXLMXKPJMF__@n()CuELPLAG9pH3ov-$J6y zm8r2>Ht#krq~Z9Y#??eiFgWp+Mtz@4-V;o5xxIdlZ9vN`>*b$g!{mozNHzeZuXMi7 zvOMtj-sAQ1(=@VuE~b{azsc47FU4+j@tNhnjMEGuzWSW?lcb=8Fk9ICWh!9!|9S!Z z@)8}Uxh%}x)#c6EEyZ5+(ro zsTs>L_*6v$u(OtS&Ppe*ftuxx+wtU_`(6O>+TI8$+ui}Nk7Unyt))=kI5XkC0~nTh zjb5XX$Po);Io;MK9nxDc6Y7%z&+Tcgmdh7&_9i=m68XGbOh7<_9Q3(LZ-I%>GWxI7 ziU|4#t?d)^l6jkM4mIK?(f$sD=`82nY(>_!^^Rbn&M679Vq^NtpN>9EaLe$%h2=V|i%|*$>k*!lO$1g54 z*YR-CEHm63}qwvjUN-8z}#b+;2K+WP;~&r%r#iEgGPoc@Dd0rg%)&AABW2Yxwu<*&9BRME&@G5V%@XZaQ)ix@m+C&Y1*^1ry zXCB55%1QlCL0|t(nh-He`(E&q$Hbt0<_8Xe9Jj>3lPg(L1n9}5P>hk3M&-=>#;^+O zJURfiU53gdYCHN0>+-Tp!@*6Tb<^BA>-Ugi2^F%emMNHi3On_vAdRti1@a`yg5hLLUAhVUi@=q{`3_M zj=E}`qYv=0bEd5bADwU^4d$Vp> zB0e|XS5u4`omjlx0{rADQ^5~Eh}>MwH03NhFB+x|M4n=)Qr-y7;`ZN|B|dsv8Znui zL1&f?=z^WI3hL%3r1ogvShR!kq9;EK!)|gT`(#9g=mF-kGC0`5{tq`KU-6uAxp3_k zoK3thJ?@?sAGW_Nj`+2S7tJSI462Fjt&;@`HKn;4H37vMpeIJsj%^!`gSKUd_cj+ zFw>c8RKzw&_$(~qXlG-dGLuQ@B*D)CjQZSft|>9wlGGYyv___GdiK`!_oj{2o%{x# zo1jZQ;P)}=M5xC5^+pg5(*1-7pGUizGh+Cl?RQwc&U!g4FeIM#XEbx>r`jlN(LcB3 zf@2ydJLX_PgDUZSyig3)vPi1+okKc^cz0K zyEDE{`vf>q8aUT`K@nD2`M3X>>RR~uz~Nt2wHgValWqGygev zxqT3Ely5QO#nTExrm0Bsipwx#l(>*%jF75{76V1TezzO=#u*jd{y2;;Omz0bD<81u`gt8kdkbFhJ0sjh#q~^rM9xw!zb1$nDi})L7!<7KjoN6Cf{1k zBEA@3l*oTcV?>Ol4Yz@2>mriQ6S6 zM^(wU$cTszr&6%7i1^*X*`jKLR4WMtDSdyvK|cOy=0+c=X?H!G{g9u~p!o{JFKMS{Iuz-wY;6E{Z7jF`E+{7Yd$? zFZs5zT}j!9T~B!&e}Y*7_labl8xc|~1GtSCBL0NEA832gWa#mxcEfgR&R{o%m781< zKB~In`PT1+`t3yxLbWiAs6pCR%+@S-8B!y&=jDIg>7ZWYTS*b%U5!~bRAYPrD?ZJt z!GF+;cz~|FUc`E*TJJCi43~!W30kPu(w?-*I2qHU`q7Uj>!X0|ma>yCF9ZDnlVw$~f-N({ z-i&Jh;m!V^2_K3nsJ7w9A;MbMY0+EFn?W|$WMiWb@So&~{i809jBQ?Bgm69lKU_^PsSFO7{zZBx z<`;Z9F@680>kBzElRdV;ff$Rf7>f} z48AXlaDA7QffrX1>~9{1*>*@j6r-!VURy=Oi*~}$imjF8gmn&S(=`*vCR3)d|x>gO#xm}^|_I?!xU&Xkd7^HwLUCioL*|80; z&47`?SI9_$2h(ez4-6vjg+5G$Bx;xuex-O5Q2B|P$aF>^<;BaS{QhaLQmAXrJ8d2S zM0>@D?z3j)Zrw>%V};LNe&3xa)t|Dywkf$cwck(AU(<@rVN1#RPy}L`^i$DB#>S;S zmQu4?ICPAVUa<&ydNrjlIePkwDBvtF>sV78ZP}W^ay6WnmI680xa_-Y(4cxe7b3-~ zAVktp&q!7k*2`!nEoV45Mtc8+A6OiX+}Ma0oyG*@TMhIuIZHS0`=9jW)O{I-asM7Q z8_nO2BiaY8_0$-yPUV!8*aM}ohVY*g;Z}YJang3}e_nmR!^8{#4kNc8I9}~Sn{sB? zuRs!mqBk^AD_lcC2^H2sad4TH2G$YR+*-8Z%+4FtadlCSOqN$r#pUEexT?2&`Y%>2Y{=lS|ZeA#JO-mB}h z(sSH{R9(tQXRaPy#5969p5J(3+^lw=bCJEnBlLDWMrfOi5!zyZDIuAWCnc)9BVW8d zZ#SRYB6?LMc#Iki2!ndmjUjx#qR)dW57kEK!KM z7e;fqHY29VtV6$hoSseRj%`%QIHpb^<}@Oe^K?;quvm`5niAv zYB2xeJ}=XvtvvBrd`>>iavaXz(V5&Ej!YaEzBPpZ4)&{G)x&Qb=(co$qMXaRnUdx9Z~92Ig-V;WWDm1}NmsfN@=UQSUkZkI-OgvoP5&oxwrd`g-qja(XQc78u-#`uK>UuFq>0rWL2xA&l6?bcd(xJIn+zf z68!;ES#YP;+{1rl_)EBYy^aAk^SWZFLN+$B_oMqLoASjoLqSOud;J*zO`B!4Zn@~d zkkboQ2fesY8Ji=8Be+F$j^h1Sv*j#UCB(g6w>k_vfDb7~iPExa--WjX)U$RiFTTk3ntV$g zRIyqsqRPDV=(x4E=_HMcF4-sd*OH5Ue8_Nxt^M5h(V3BKnk0Top&!2Pz;i}T|7 z9531}H`Gu;#mY=W(;mA>5ho=Mm$+xC&L2)n&@{aHg`f?W7L_HMG{W{RurB zSE@BUDPBAY7R+GgVem?i((bfo^{Y>m8J1oX6P+(? zAaONxnylYeTr9NS?B4BNXLw@A!wBj|bq{pB+U{s{pImfd$EcFB%p^R_Lh|KRJ#x$`jFhqCYFQi^dP6OGIYH|JX7-xE}yX z>=C``11%oU%Irg0rhTlWu7*JO$I$j$6aeynmty4!5S$KpW{Ad+oE%hq-uJY%NRJv& zce)ILxY440cS!buhT+#w(7!-NqI0-McO!fO{vMs*&~Z|W>RTF>Df@H#aTRI%sy^!P zLI#iDKT1FH&BbA2(%r#)^aaYOa?H9VVx#k zR6C+tSFnSU@a;7l+|U_Ki}{qb=E`+vOXCFa&iX@Nxl`MZwn`bezHM5D#Q6H%H%xB) zYaW4P3AB2vL>9XL??C%J=6PJERhTv!9X`8@+Er_$h+OI_S`V^0$%yO)3Y z&vp-J98Gd-@&F}N4210yTYi)Ntgj}WxwqIvoUzG=}D{x1s`lBq0 z4aa;mlTWRBvG3w@w2DMM9%j}#4Ph!RH8O#_#=7`y%z)7|$r3(aDj;35V7Hi}NzK*zRe`iKmOSD##4 z^q-!7qo#dMuV~y3RUV&S+VC3(D|j_7Ck;&sC2)OeO?SGM?oy8O3d8YS>?^ck2o0K$ zp2$5fJ;LsfsO%5 zpl@!S?0k7{Bo1yFe&bJ5RL@GKiyQp~2_`K*Fi z6R(U+S*>!*qwajc~y!g0ptQ zfL@*T#0A~?qi9UQIkV687UwoH-3tqX;;u1lyBedN02<`Ll3$1e-iOBIc>=RnrL+z16I$Sr&)nB zHv+Y~X!})dE|C%dKhoN!vP}i_cuFMaxM)%E%4)LPcq21BVvtwxLYLvquJM2|;_dQ( zt)GSV#~>i4CRu3iW$}U_*uBjv8Vtda;<55M&Up-CcTs|>#?2xds>_F5y5nmrDQOUo zm=}e9($cpIH3mJ{h(NrQ+TvNR8}EFUoG6-hyD8Ap1H9&3=H5Gc?poQl&7(!A@L{J; zpUIo%E}jd&XqYy4VeXU?Q9H#0Pr#$JR6icDm~%T&nfj6_IVWs#JpR;}tzF=5ou8rU zkAZt-k1X(R=C_)_`nGk#!9NoLY#m-Ls$E#DucRd3O^N?2Kh$<&jV8E%1Fdbxekp0; z^WM^@i|Iv?n>J&k-1tTEAy}y7L9Rs;3lLUGD-lM(#_)zG-!J<-C9?`#FXRo7PzX?7 z`_S8^Ja36=3RE*q`W_rk$Rxj2P%(FHCQ493yCveX^)d~%dg$WsIGAD+1HIh3a9Cp! zCljzGmbZenAQpJxSvCx)Q2I~)SzEEMOcSkIOG0ZJi$5}7Sqx@5#JD2zsq2m+;*V zE1OIvp$jF$b=179xwd~2Z~JJTas(H@vQ51XKweG8OGo3bFmZ?aZScxwTSQh5=3hsV z-<=U2NHd$LIwHvCA#k-4@-{R^v`2+mpH@!S*huH?&av^T{4joL=#-E%_ZWCvc;$Gg zH!u~#3>0W{Ink^%pAT^p$|0gFrG+cQeuiDTH|vydbLVUidocTC6qE)GO6oE|A>vNP zc++mb#|{+liuz+#M2sYVfCil^pl(Q?KbXEb@-F{qtEM3$EcRdTnI^dOn(Cn7vhW(N z|EgW8TDo9wos0Nbx?Oae=cO@Pkl8TGgT~E%Yvb%PTtx9JEW7cGOMd=#(OU7k4oLX@ znB|mytKylyZOqz3d1IeQ)cUU_@fclBnVB%+KMzrC%|U>3iC<2u`RiK4$X%)4+ zCpR7oCYQ8mw`qLn+1j|xUHLszv{JAr2#0a?n^u>*bA?R#4|vX7C#Z#AmKZ{>6Ly%4 zxDbYd;1sv2rSlyhp)8?4|6$rTWX@Z9OaI~u)6bH@pB6Vx&^=xn=OtcS7ykEX`(ud0 zD?;{}crab#6fix&p8>%-Wepfs!BIMnnthEkHzYxd?b4>@+i0f~sBp|2iDX<}Ys6ME zjeRm9fWAIVbm`!Ss)}zSN+brDl9>P0pBLr+6>b8)^C@xPhCxLNoafeNm4R$81{#1T z>ZXTUJMoe}D*0kFJv}?XQTKW+pJIL6EHdj6r^>pwC|$S{FDd-yT4f4KrmWQW4;Ea@ z-7!u8=zm!Kzu)+W7q;HZ=vZ5zKYURcAwiWDw7^dBNOx2K|i9wEkHS)h79sF<5;W02B zoS@gPB(w3il!`}f$C~H#&BMqiwNnTK&;bNoUVyzx`+o&P1wau+LZ+j#)N&Iy6`b(YcBn{-&_Jv zy?1`odDXwg@4tSUdTbXVZ8&8b*qyiDok+Uv0jAeT}pny(;O+eXzVPeiT$lO zpSLX{AoO*^P=0LxL5T%5Vx+Xg+mbX;I|vyfl;7P?`YGCcIsG~3cbq;W1QZ56mIf#d zfbh$roRHZCA>VbdNGl4Sd+o!kihXL3F96uftJLQ>P=%C4SgfJUx%O!!vi zVqb2yQU(TdfK?UezZnQc2f3L&^7X9j6?Hn0c|{;p?SgDOeyl?_CZPr1b)5gAPy85+ zC>WYf*2aBcLp9!Z1cTpc4J-BJB^0a$Rm7BHi>nDB-T)Jck;{5N^efYd(8ffL^|&sI z5(t^R%%|HO!@cP>l|zcWdI%I#Kq-A1GUdtaH{JG;IJSP$LgA6O?2^dasw34@+$jmJ zimW&Hf@k+zYmhn2ynmH7#t*-(+~zY~*`Ha;aZ#B`5(-QW7QlQ|bJV#3xljEz^v?*H z7+8NwptFu&_Bi~F+6rcV5szsY{!J%gG;)JCxQjcpWq7NHTQkm zP4ty0R-wrmJJJI9?Ez7j^RrQ`xa=SUlHV3Q3RbihKuSf*-%o|V3voSXqf}%3LITX^ z<Bs#4^uFh;Xw#xOiAxz)XCg!tEmhQ)qLsEUkirt8Y}yXRX34?5o+pX5r3 z1jkuWJ2FQ}v4$JG`5w3Y@(nN7gPbSFd8UjBeV5MFIk%%-AqSXP(R#KOt8i z?FV(1{@xtOcuS1U1dw4W+7uR#hA37c zQIhnODzbO3xyJrjDVb)NYpW-+>3prL!VD@d*lrLuP~una9ex_>EZ`;%YZuW2+^VCb z`vu9*Sm23dl-i5_6IUR(y6MD$>$GZPqu5Rjl0HmEMV#}hU@&z*&59ir0i~a)cCNEX zu*TP}P#(?rpSMBm5>rC-=HFkS8!;HbHi4ZIu1pP_xB(-0UWhd`FhEDk`)cB=vpP1& z<;JkGJ)OzWZRR9-IHt4*be*~D&yku8J+F6Q)uIWZ+n=A?g#gn*R3Aj*rEi>{Kz!8j zU_RG}7iqkoE1sAL#mQ9-;u!ybEdV=3w{!c357_z76%P1JC= zjoSgk`!gBslzA-k;Ot{OP*fyWYQ6 z?R+XVcB?0noyr5`mqBx*bQcMC+OP?sDi1=Xk#@StPoVcho%BGVh6hr_0Y{T8acsl= zIne<~zk_)pyU(HlXokh!ThwH=S#NML{X#?$V)uir4MF+d>&xxZ=65V^Sde4u_O8f+ zlVyVXJaG?-`^`X(XH+kw=ct7h~{o6Qv32>npMIKTp3GDUr}l$1JY{R?`q~ zKd>q=aH&4jrPk8QNZw|JUh~2$!)}?7^`UjZ_2hko4lR#^Gx+FNMx{Wld>8w2((bGY z-yWh;u}&?nAw0sdcXc?k$?m*wSiD07<5MMe$m!SSlXvRMJvnSrG zXgo9_W8D;sNPMIl2vGo0D>B-peOySXhCI2B4j|K^T=t|STZLqRB8{4H$Det|fxq-l zo*ZSM3JkvTS*dgMK#Vk^yOy8*D(X8u5BUND0mBzXo5^H@x(yInVma=9RaS7a6=WBq zV~Wvtre{mbbghk!(o6xqAB8Dkd0wq7*jTJ3k;`c(Pc<2yR<&uU+p64`WvSwr`iS(R zOs~#B-3JRTw-yudz{glyIjdfFu7DBH)VG4CG}Qq^YLT*KWE@V-6vOU>pP%#`o&PzvYaD6dyNrwFh35S}BdFdI94hz_OX~{N zxWys3yyH0^ZnC5I>#?2l4Aam%*MXTv)G?D#%Qg8fK;o(AqQ7W>Kir7b4ixH6hv)ap zoU$;(U!tvTn;z*k!s&N9GP(Iy9G4gg;n2IAt$bN~hqJp)!{n;?7JwUWpYCepQ?AW# zI{|=m7bHw}J}VwJt{keTY%1z#nqB^DaW_@1b>lLSM@h$gGj&YOkOr_vy3YxD&6m+r zFw@8Y3|cB;g3v`1A+X}0JRc(rA13Hua{22>vabJ|JV=`x;jpg^`lWL2lHw`AEim73 z7oRZ<=Hk^flt2%`T;s-}qv(axn_Kk2Iy!+Ei}~i!TW&A1x6N}T>Q=FeL}nXFbejyS zuM?Z%tj0=U3CsXtq%$5YAO^6=_m9y$_TzXYZR;N73# z(=!y4KzihLB9fW7lxq^1^{2Dr*A#84Rc@voTz>%f)5Mv}^pek?sY+z$Ls#6%`5RwCkWN^|9d6de`e*kG7YzOA3tUJ@%JOnj>^s1$eaw&K$r*MFBHreWXybA*h{<1pxEvH z#eyAM$Taa$d4Me)+ykL_1#B)%wvcexODx8RjASnF8W_KS zvPxPahW=QFl(TmKK$&7mu}ZP9&wZwqb_rVv*8@B+{jBrRajE1+E);i6kZ*8}KZ=g# zQ5c`?v=2cmM0_CH&SO3B4{27m^PXP zn+!LeFXTeUU*KowoLI*VZ8ynR>UoJ*C4G6t;@s+~}_NwI2wlg_KIUb*&)?VC3zlJ2UNOn41# zrvOSAgU{XexjUrfQbWMudcmqs16*w+(6qd-&7F69~n$;WrFfOeZL-OKX^sF|q)_xq7oeizM)y(`{7 zen*h4j^ILQWKSs4Z$tkIr73SDX4@$<+;4V2vOT8j!PUAPJZ1;-R6Zhh*y=}%J(st7 z6U9M6k@s?RzeL4^FRXpenYLfs=8pq=Ps_>^IqKu1--WBwu6*AtK=?m&&8d=-aE_)& z0v@eXte$)KUY=ldAZB2yPBLe7Zaf&fa3z~1(x;N8i_B@Cw*lIP$+)>a?q0no#L|@* zZ)Vt;lXKo9S7oUPuHN0PJxqY7IbW4WfG-cSdWh$?-%ay>d4J{$_@ZEnv)^ip7jRB2 z`QFBxEJcdW@sl@E`f29RAK+tv`1R{uMZH|cHM5@bE;@Yy>>JOcwrJXJjGl)q*zs{- zys$xC6@K+KP1Oda`ij&2mH#98RRfoKqtBd`vRmYo%b+YDvN`3au~c|Vuuo2MHms4s zC)TTgfGhK!HWywS>%&X=%R5P?Xk14U zgWe2feakMz1B?=NG{(<9`{udI4HbmHzFVuk+&Z~xJQ>o@J_6BqN}|1Jz6en#fg%d( zOvP>vBtPtY=GJPJF$kDb;VexJ9FDnrE_qo*_&qu@d#kk4!~^`uM=0O;mwzQO9{|Q0 zUsr88M>7>*o3&>>D7h7D5)^ULS*Awwac&1GzE9#f*hDD67K3!x1`1CURh0?kcV|Hj zq36m7CW!qi`&M;S9_7!3I@K-Sv*vPDyaql>dlxpkX;t2h$w9P0WBvs)cddyE%tK4@ z$yY$!MEj(^b-NcAP`%--h-jT2Y{NvVB>Dx!ZABMdtDSr^n&pj7FmWF=XCod*!hi-e zN_nw=EAG^q=Y?ST?End)|2(GEO4pJn1rKsgw+BWacjqMd)_T-lOosoom4W9#>cfV0 zdYx*nS;bRGxeHt@!#5he*kEeA$t2eLj}^_d4idqok~`4jMLX6aqRFudP%$8GD1 zZ(1UwZeMmWWep8PZ0)N9t|dw^A@4N_bsTvWiXn@$45GP0FK;6TTr0I0jK_iDwIDwB z8C>F7kLRqvq6Zf9HZrN2LO>b6C4$FMr=!=};&;YUSF5ZDI;pF-Uw13#*e)`{+Cz%A zb+TfM5mP(ZM#MRDzw9ko(GHo$-XA}D>wD*}vvR{7ijQa^!zm=)KeL~sz(<3F&cgUl zstYo&AG^)7BpI_*ypkkhh;t$*J(I}ZAFtL>pG*g{s%^QtOR{WFa9cRcPK7~>BBmrt z+En<94s@$G&x#IQgIV%m5{iEcsY^V zFgGcf_*o2oD)nJHF}ydp(cdxgm%7oUgB5somwP_J?Dul*OKByw;i&7V8@$~HbO#+fXi0@)^`htcc3_XFIQ-G8DrZrnoFWYkNZQT!TP*ZZ+<4iJ|(!a%R zv9>|m-r@q=e{#%vXKG(GrqdQhq^eIne4Tcw?Somp`)aA=2c->*ji0OhG9eF^48Kdh?{rP93=VccZ=!;cYw&K2SMnR~=y!*ZHa9t8(Fz zGFf=Pv}S(|{}*C%zrpZo7ilMm{K@}ro5?cOAE0qrb9PDc;!6VxJCu63uqS9f+`T3w zwS{<~WV@2}`0k;!jcYTU?45}Y?o^6LOZ!{ZQ|8^|Z!DqgDtC;sSB1oEN(>tbs>@nF zQUC*{?rAML2>s=t?AX38qx0 zxShqBQG+@=GZ(b-TkgfHaY?G`E;WVJMeqD5uCi8M{g11O|J;d2=?~r*lD#j?mVaWkD+`uMd`_y=!5*V_@?M0#-Vb{ zBmX}8owmDUs-p1*9x9D_rcHRAFb`-zn$QBUO?1ZYUQlzM0xq$2{#CSvYL?<%C}Q@Yz5t zTU~K?WW{TQ;qg~^VWIo{#H3N>dF?T<-1SZ(<;R)yU9PFG)QPS9Y?`uq^6}CSU!7K9 z*39*OfuuX_^-JmF?*E4E$Nw0M-pv1%9zC#u1`}gVJxWbX`3-#g$OyNg_<@%DR=rUA zgajV1XB5Yi!OVa~x7chVj>2xNx)zc;{kuXl`05|iC6~e*N8WV%V=HseBGj(D1W^nd z9rPJ5-`=Q7+wQYapOqN^*Ntq&CsBIOrPjSjGFI%ji>wjIpVs#N@nm=h`qD9}>_S*v zCrYCYEPP~GE6_G`?X<$`IMbv3qgFV7W{Q)4$G$qnN`U{9!}xWNQfIBh*|fc0l}3~+aP;>~v%6bo zCy@)k40`k25#Z}!U*;kp~Z6i_yFdH|kh#o542>L2R_i7(7L zG)ARJofSTK7SwBY7H)@jo4yuWwVBj!n!2|D`;1$c`SRSMP)iogYSx6_Gfv^w9y7E; zOrn@AB6arQD2%2B<7l6I_}?=C{-@VzY}q`yLZ5V^SMTw^*p$eY-D_6PaJG6Co8`K> z*1LEcj$o86Y4&;B$`_h|c%b>VyJmpeI?IE^fcd2RnW1G?{W-Fbl1Mi9RAW?-6AI4y8#JuI$!o9wp)sn8Vg_QQm=S{S?!)JDq^ep#pW6Wdfy; zdp{EKLwUsju;vVEb$19qo zD6$>0(DomFhScFpitbbva~Iq85C2l!{arsTJe3kfQ3(c4$b7 zp>ut82#%=Rf}57t(^OmjJ&#@kVUImcx8*E( zQF|k7g7h6^7W~j;H?>rByY%(L7Aicnc7RafuC_!`~kIs`ge1-5^zwuH_K`Ih-w^(l1)wOSe_CI_GqF%_XSkG1@_!Et_TJ_fIdbQ^Tq zr*h5u;ZbW)pJ6ifd3B-~!?b$b$F`bhHoORzu%hT;s}WbBqOQVi7JeFcNp~Z5$BfUa zO|h3s2-U0N{haNdDf9ZHd^798mko_Vo7^=ePyd^FN4lw$q6eJr z4;^U5W}SLuOmi%nmRaInpBV$JNRPH^w20jNN?SxCSs9A`6Gt+m^>#%C_@w3a_NN0q z5APs;Nxk(>lf0Mx@{5*tIfogxxdc9<=O#CSj`>EE6=~9*zE3@9MWP9?^5w_t&1qnv zTOk3<)mdg|ZRV?c1@hItCvq)UBR5_r85h+7H_~tT=BCE7Zzu7h2lu?t@j}xzPg{?w z?TFDQi!1YY^Y-eSs;Y$i?oq!W-zCw_*4(MNCp($nm+$G`ZmQ)co09jZNuqsQ8q|+i zp7rNJP7nrjamgeP>59T*jzb4q_aecxxC4Ram(2|KqOcdD(WL!l?U&pVpZ89Feu4_3 zTvyuoi0bN>HccKxuPzN_Nq*xGjgAO?I~j@c!8jWIou(+H%Ja&*wXCDgz-KRCxv3|w zoxSK8R;+-i;Hurl=8cNFSKf!#6pSizg=`yZ6S#@{v@4xuuhdq{@A1-Ev3(pINm+v! zEx3)kP5**p{E9nDi9rVZG@oG_^jvRX8Q2{Vngt8EzJ#n`FZMuW&@o~U*elR)8XUn$^CdHW&5Z+O)y7PqMjv1fidGnjCz0h>RJf9Ajuh(bN5%} zFVyO-;DRowLaN<6JW5#?o#h8obA^J3`}=vTZpDqtrO>5{N+92|@p-`fZUp!Q6~Wxo z%?GS$jFKKTPYE`_Bwl7n_El5*XDPa9f_T>550r9xkyFJksfC$8-)YdU3xD}XSlz$ z!RVWUh7haegx5g|WtFE8*yZ5z+BNPw@yj^9-EXfNZ|mo(vtRLzFvA-ru;XTB&Nw`s zcGVxt$aFi01$pUN@kxC9U?}m$#Xskq8Y3aOGw0|1dgj#nC8TfNTE^PP&&gO0BIx7M@;g#Q1 zq59lf0V%e#zgQtf;b{2i)WnT22M3&o+{re}n6xlJ5A3@PNdRaCGz#ZlJP_Q-zth3& zbq;s$yUhAd*PsqlhnI|^vmEbE*78&34WiQ@3AZ&b)3Q3BwjWXOQte!AAz5%uYS(vQY-FZ3pAM)@SNi!=g=YIs;Td z$Fe}rWzNQuM|$n29QHdZITdXWj>exOT~=kk2lqMa01U#vQf78_jG><7<2t|7_@+v~*xq60X`g^7apf>uGSD}XylmaGvq#egYZILG%YgvD;mX^gYM;ioI zpMqdyp%TdO6v3$+$k5HS*PEzinR21@-`%PW^Iu*RXcC<5cLEsvDP^t-ia8z)LX9H< z!xa)A<>l*t_TB{H^)xh?7FSVIzOCp8J#gq(nBfzvI@YqdCR#2y+iTn|eTp%;B{=0m z?=iqA`uLW>qr&^Clhe-opZSmVjeZe0iUdYEiG{W{H*2&mJwW;$VKmeBG3>HwYGw!L z#D{-z9TaeAfnH~O21u&zwz>loyFOWTy}uAOTVE?jrHriUlRMmomFf*aMqOYaZ1YL# zNb3V@L2~oaKDd`_cfdDx>y`B#uJ>CCxS0X|G{|M_wP6Wj{VZNWtSYBFT!U6iNwZdU zM!%EcFKN;@_57DdL-MigHa!nH0P;Os{i36-;STbT<3QXG8-SkNW9_(=6%O*o$4|~_ z>3hRDD*A(6+0}-l@43WkVT7QT`}c`hUPrw};B#61JVxFx8<`M_{*W);l)#{ZYPFw| zdf{b&^sviuftH$9VgwLI(CsU@G%ncCN%#T0{6pWwTV~*!aS@SOVUWmKfpiv~0Irwg zxn`*1er)!2b~}Q5`+n90b*X&(<3t~d@{+A7SgA3h1vq<*zCpV-PWjEP1(nIe1sWuF zZbz3_oV6Q^y~+?x^y?JllG=A$yy1h~7r|<+)(O_y1Wg}Pe+(@k95lEQcVl}g?=-k4 z{EN<$S7hI&rP!X}e5>j16>-M{{eLZh(s5w;Q*zvS!3v1#IebS4*=T7#S{SN&Rd}df zSGfYencqN1$9yOPZ-)6~v4KuD%C(!IB29zcX8(ov|69%`exadIFR2$X%ESE^= zuLrb~uX@uCLG&$jGBlYzH*fu^=(gVvWxmFGK7Dy^x5@tTi<93O`>(cpzH6Mgc`{^kDrcFNknJNzy7?~Mu!u1@~oF6;CyUUqv@6%37Ks2I*IaH#oVq6CyG}!>kYgs8L>&!=6s!{#`jD z79DT(B)s3N6K_Oi`hwk2++wGC(^E*JT4Tq#+xQEyp8{KyW|1Ux^1+yN?6!O830i zs}+FV_P` zt)l?@MOP9Jxh=9(SpGo#h>RSIU!5HdL0i`Z{@PRGy| zVk9sBV|LikZM<%a>GuE8^p#OCySuv;cY+m{;_faD?#10LP~6>$ zyAvF8^Yp&opD;KhV`QJbWXqas&X>-e7Snm(mW$*1t0*aw-Ya#2AvA|UTSwBN7__Rs z$V)@0Y_YHOt=qN{(1SQ_(~F9v;|B(3^=7b`uM@IcB}hoX|5Nk2H=1TLY2VJILuk@r zKVNmV*ek5ocBV@SuwmWj4)&pM`>18VSkGx=4AJ-j|L#6*XXE)o7(C74Vd^fF*e^53 z(2l+N^dyij*nm-OcQkM~#nJ&D$+CLs8*h0|r0jTDJ2{l072xI#Am+O_-4(CW)BR!0 zj4>3t_)8q{Hvh2D$@Ser;$3JPU(Ium6O6EP4g9JeU%V*6>ygPCA*S_Xjh4qqMo~nZV_E??nszD7Q^^BML-pQ>*SHN@8 ziDf3F?3q$=Z{Z*ZVvl;eW;g-A`b+CR1GSivKH2X$C6n%00L&IPt3H{Grv8gtp!lIo zt{UU``-jH3iY)y*0Jr@?Mpe+WiR669QD&8x(cBC3Jn%MG^1>jC>BpKK%N21+*hqwe z!VyOgm~Uu0Q7GHMW)z98M4(#olGt|r=}dt6#qyIqxfBYlfHh|r1C2%Y`Dr<@od|EdS}dTq z(ofJQ7w0NdM|)2ByZGrFg;tz#_KS;f63DE{@>0^HlFOHg!R2lL^j)uvz5@c+*_;%i9 z`i)U%DO|ad$bG{P<=4YAY2N8J)At`b8#2#TNV{4KTiYRQ==9|hucsFDzf>Y#I#jWX zXAj|P?AK8X*DyM67Ho)!M{>=T2z8qrBw0TXuFN}{oJ?a7t*=KuJamit+rWxy`&}(l zBfzR`@}ms3ufBtx`iQG~@{cq=?WLFuzZ{veROX-%J)y@5G~;f~*f>8($d;=R9}Zwa z9^ZS3e*5z#?{9)q7$1JWeFPK?_J7{XI^^Gondbg$G2?M;iAMHgOQB_J&B9&@dvrp8 z6o&%b#`kmcIm>knH=KFW>5-E+;V;=$^6|`#$32GBnlO?5`ZasiA{Zu)ieekN&U8|9> z3Uc`TM31QJcS}nGVFXS6CVUVov+o^0(Gh<@|N1HmW@gZ`hG%#(r|H(MDvZpjZac}( zK9~*f8-@l~WK&3QCrm)%v9(ndqq$|+Nt9awSwU_%Y*bHRpQ=m&g14r4_XKV(Cr^ zpU*%_{W4%y99ZHD4wd$xg*iSu^=@5no)ndY!R2Dg8Os=Sf%UyjyQF z%Ms24LU-=G-P`+ewDPz%N5e(4hfQofMn`@7rx!;*?eEVzb*5_G*&T(WaMfKcOnP$% zr{0}Xh31(oGbHDu1(9i^9QUAc_8o2mPQfy7ZsKAlvbnWFvqJM7!mzl0+XAsV$0yO_ zMu%^V+xx%p4F6TyPM@71aKd+SHu78(JnqKpOjqsxmj_GB9MQW8;}5^#yMyL`cjBK3 z1b07@cE+iCu1JD;tNeS{~s7wpd`Z-93i zI}|txjA8~iUNx*7_2ouFV=B&AV6%9|A`C=041}_b)~9m0(-=AmTK?BjhSn0O+PKq~w}=NO^J@NHM8^@M=C9QUp6HE#w2qyj1|4%;nx*Tz#&Z30D% zhD_Z~Fa`?GAKBs=>xCh;MsD0yJLaIDFi?3~>!Ek?lE=Yy@`EB@&$qziYwGapB7I%G;b)S3P711SZpmXr(RI0)QH)i70MP z;J(K{pnx5e^Dok8DX6DOd;Sq@Mf%b#soTc9fHJ6$L7`l33I>zs8n4RLM^WXZG}Vb{ zn2c2$;7Lltk_X^he*ckHHMHHXW3Dj_jA0gWr}8{=O))g`-= zm0}|r(pxQG%Hw-VLYLTQc_K#W?TN@p=Jk!vUkF0?yDtJVf2%$OWDS2wA$U$3+_H#= zD)$XX6A!2zVb5fYeY`X=CW0^jOoc5@KPlp`B!pRZI**>2X<2X&pi{N}l5r@psca$& zu!FA^>}ma3g!cu9&zH0$u1@KDAwfc0byB)b_1-Jq<>4`|*{4=lXKX3dQ&7|EcX|Wm zpvWVasbro&cdo|2%0ncT8#qH6bQW~HP~dox_{UK^4&$>`+vy*dFdKfBA3_!NwS1{< zvVWFOf8hSBZsH|_{%!UkH`fxc4e4Y`8T+HG#oyCGl~Z2!;P|A$U$0>ac<cyL{5#SZa{Tc87K&&wVtag|qAm)$(XyfJ za)*w_Je+4eJ?KTF08GGy@9MNy1F0w2trR(j{>AB$^qe;U<+l_@)O=q4S9a8j6K-lI zr2Go-r>7)g5sKLJ*mpj+8}Ly0*WEKD7ON+pX(Md6CKs%QQvyf@Dd%gBmda1cWn$xWge=6I06P45aMfp&zRQkU6adWVG#$^xM;E|Lb6!Nk zpIjK*KKZtDno{h2<(Y}9+7MADiGIWv`>ukVLmW0WIY6(8-Dm8`6zkUb_w3%CtZah) zD`)IZ56y33H5Jk(yR{ery#*6XEyNz`Cdak#E_oO?h51ikgYrW&@C7?y8HjTptoo%6 z2^FCduV4MyL&SnQwVN$aQ11qZjusJubUEQkWMZ=-p2iX^Qp>e6cQ^;ik5#~`E(Q?M zp0hnWWqfYC;c?i&I^}M}1>+*?ltS2oYSHR^s!Yohwg_2^P$|r^=gx&TL#1-x zS^gBCx`>KcmPOsPYsPtAt?D`XH0S)2Yt}`LXio6%4Md#Ojj$vO614feao<%E#D?W;QwSDw_lqjvJkYFbgXYc;Rff7T_6rJDDL7=f0@`s69M9h~X@aGqk z5KyUY=@3*KRGE7%!T`Q~n)x>}JlZ>>7GuFa5m1`3V0rl{v*Viyd-6d)0#1HIB}^3F zZ(#!+l7KJ!V>vP8XWli{JNP3fmU*@1pQihqp*`9IRjIGkR)X+c`rPnjLn7R`68FF$OE{TZE<^7Uo74kX*f z!O83DBEZoYFC8Zwh!uFA=D_a1#$i)Y*AHr)SFy8Sj_DVWq1Ug2kw~Dnp&gxCScrTX zftyRg%WG;vm4JPut|*mMkRb`|WtJT&pHkNg`fnBN^=05@jhD2~i}JXlr>{W!esI^x zy_VINvZxepOK$ijJJr`*)}XKP%K^n>BO&?o66)C^#4PHa`Mqw*Wd2{ej4 z0isaTXqb4ZeMlVx#x@bR1K4xIMtWcZQEr?x4US~&dI8u)8XBcE6JpFn5<2E6w6Z3j zB(7BqHNvj9RoNHuOz+P%DXvePw(>KqtV$)!`;o`~#F_R__=fX=tQ@LDbYw6Hj>|EA z5Di=-s%RO-ZFih1H4%%Oz?PPmiT(F&Mt7*x1Bq*iT#fS{o(eVqJyKl7P%UO8kQxd_ zm8C0Z{#}bOYRP3h8haKFPm3<+mS?lCI%b{y6BdQcZoL(4J;-`2hmA1AQ)L$~C9kWB zC@)|o?wz`p=HJV=51*13a%;=6IT{?Ad>PcAn*9sVE)5RVN z+|I7a`NmnDEx7vG(px}Ff2MBUe8%2;eSqzFWG^Z)Erkv~<5s>&P~NL^qj~;SXUl(f zgu}@2-o=aBGfQ_8# zNz2ZxV_#tLe?O9W{KjFxbrs!KoD5;hh(2kn${IFXJN33!(3I>>YpmGLy;SB^_`wa7 z_X2x2H7V3?F?+^z#&n#MgO@eq(tMn~>wxWO=PrC<+f`ZkKaBhz;LqcX>|K)Jd@)fc zxU3a4ey`2}$Ga*|y9CO`(Np( z=hq8JQ2T2sS7oBWgdd~8(9v)-YAfG8$$x|xaqd2cZy=+$rFD0o0j&M9@Md;2YQ3aJ z$8s5_t2v>A8E?w=rcRq67uK6)xQeQ<_Wf@QsvDhS;)?$|Htm^LmlE!Fd9~!Z1?67+ zd9Ri#^(_z<$$=hkz(68-iH>jdl)uJ6U1gLmXS4bT5yMsXhIRl&3&B<6c`#rRdJjL+ zo|f@vICzcy8%!MJhix!w@Yogz!1JtNiAbOVbh@g7J+mFF zqTW8NUiF<^d?k+kn_ayYQ`Go~wd?BBI#+>^=H$p6v>`xv8Rys);`)VDYu%G-UlTX_ zS%Zm?9@~!wXlSd@UA*m*AUTwJfAw_YRG1&q0^ZP@R>!RE8-q5W&)1f^*RUjaR@U(9>{h+Z^W$YOHKsaXTdXlaHZPELD zVwnKxbUr@_g)m(Dnmib_D~)pz(px4&)+4&>l)!=i;W7MEAB74xl#OTrPu>VHRQ<40 z?%K^|=Neh!i^CjgzoTP^+4)_g6FXuQX{VD7G*anA)#Pce^Gtp-5y~e|!YH$tB6P91 zlsU&Z;4@w2!?`nhy9^g$W39X6tbWvk!8PzA$2H>orEKqPJ(5&r)Y?+hDo!#1xt7hg zJY;jOhW+f~;XGZijZZ~N(`U}L89R!6mAIc98CI8PSg=deS^Ow@)bRUCf17&zy~yLAt-oHGQBe+QHy}#fB+tpmvS-sw$3)~XBLnD*bva>q|M#=%yNOZL)?5CeVQ&9AoU5y#w<=+`FwUdJ;q%^;T*pKG?-<;0-u5W`M8%m*&58UIU zZby(6Vc6;}uX$5l&T(o1*wkHnW^bJtEQ8ru1sl)lEs6b|IWhsK9K_e8gy!*xMgCoa z?y|_3E;}EtJsK?_CD#3LRoR?*!Qvf^LxG%bNkJF|QKEp}i`sNG=Y8kGsyh9um*6_v zl`E7d;_N>-wA;grWA}edGn*FwfsXut#CXGeNjNnNpFWu-MGV_XhX{ssE#6HTdubWw!VNeXB4*5PqDlvx)$45LB@6c zY-vDF0F;{3;Rg`Uz;H(}!_%^zDNP%|+kuYlE}cc|-0(UaDHEnZGRG9HCh>=8@^I8O zfMuKw%W#6rcW~)iv8o=5(D<*iU*ZO(SYQG|9(|#QAzq(1A(t1@5dsyXGTZF;=UtiH zsPSG(jU^}ByM>*UgfkpintJOxq;_X}f%BR`5;a0#sqe8b&0;cUoq6f@K>eZYdB4b?if#xTg;)8+VYA0;M8UIOY|Sb2 zR4ULqSLzxws{on_-rVo9k5ScDsCQuH7xsPQK8Rvpw6korR?N6`;gx@|w_looolqi# zj)Zb`sCAobUXxK@X1*<%YMs&?I*ujhpx;W%_sI^ckJnCjCBKz;HEm?Pj@ljI5l zs~$0DxQ<2g-cQ0NzVCxgL@F=Wat`eK0-XoRquF~iuv1sXoij+uH?>BZCD$kI(?mm9 zR2DWGv5*vEvY^_uEXy`rH4RDe!z!|0mBlUo%3tU;sI%Bv9`j+7LKDS{VU0%_gALPO znsv`HC$$hY(3K}kTlSR(98K$(q*R9YjRzG8&)*^L_hg$Ojl24b8;?Ub4X{|?*bQsb zi7o4d&e~AsiWSOcV?2ttX86ypKL5jCL94`%l_yEgQXr$Wox7}S>y-jSNXNC%V;qbu zXk>i{dFi~KEJYun$bp+AAOpmE$&OAFSW~`iv!ty}Kc>KYX=*(9MxxfbILZN~S>d+3 z=1Fl&MDiQ1S|n*MlW~A9mMdc-di-j&Lz3r7tcyIIY8q5c-tvM=8#jTVU=`h_PV)+P zRskvlXvi-7LoPuHRZJ5AOUE2%DR!%;31)Uz|3Swf8Qaj}4_v@)@UNtVJF|=B!*TOC zyiUVA`Np_80q{|I+TMJu3?<%+;puLoH`9sh&V8U*U*GyD$TI7-)ws5nZT^vcYf^)$ z`M?znIqKUsS7NNa{c2iImFAUggPf$ptH@OEUv4`ZH8#{Zbl|VMaNzF+g;ei=A731) zc5b@w1)u~-e!e7+LhmZ=_cA6Z2%bJRJi=YY+(OKJmoB1=;^Qty^ zUXleJ;_L-v{hYn2fSmB1QVpuWBGL=xIxM!3z*IBk8AgR@-JNkoxG`qcwRX1UDv(pvz))8 z6jfH~J6E2U;2tE!8cjAgEW!nq8Bwrm-pg_bKNfDYFl4o9fR_h@j`?ts)C-9GI>WdH z*0!G(B}t{^i#suEodkXxCT&ZAlg{3WWrB+zt-iXhZm8TGg=kT{Jbmv|-#kui`8o1o zzMIzwaA${xjM?pRgcs@W`rq6S`~#SBK2an8e~uI(U!}$)s9)?r0@@M~0~~@85u5E0 zWo(d%nM0(~-~;3bCHT+!LZZxggVYCCbGh?yJ}*kJvXNBN2x60r7+DJy$)z;fs~d#T zrp5gB<+n1J%NsG%gBCB16q&fb6tyK^sZW=9p(Cl9Eb8>)r$}VpTT2zM^D6pmmt|zr9c(m{msF~#SW z;N2a)_0ZmmIDTP$F0JN_n2_im-wq9Dn3nlKi^os-+7!j>q3l$0chsa1rslA0a`C2VvDBn~W$h038(~#+&hX@+lTchUx zEz(eKCr2pg76`2X0pZ`!$`p?->H{f1qvjsnc=$4+x}$C7688IN<)95YDWhk$XfcSE zc@8p8O<3Bm{N1@*LOmKDoRbXIv)L;D;r7BAqHv~BttObcool-7GX*Xe6YZM-#ggMB z@$Y?DOwNwO{;8ba;-RxBc*x6kHhi9R&9EGA=MCNB*gk#DW6FAz{C==)8VQBxz7<%+ zD=1`nO{+^4YfGn>O&+s;-@jWK6Ir#7Hs~jR`*! zf$p2pwqJBWE#<7vn3WMzWoAb#McYasHQhvC@LLlXum`^E@nHoA31eV@U+%HUCXiO% zU@%yRSG=@|#(TyWOK_dZ+UW^wYbX=hS8|?rDk~s)c5tT}HCjC^l=ZG^sDGExGOSK+ znSEHzO?E!a{-C~8KvK44>!ng+uNRQNQH%6mXIT0i;F$1yu9ac z$Ro96Dj&c@WPLbs^R@aN{(ZbjFt_TXzc$`rcePMtjp?w1RmmC;3mE@)+mA+k?L;m& zKYPvK;Nb(*c|)Y!V{+@t(Y3TBa|7qI(r=OylQ7AB7pjk7zb*gHg4PesWih7CSC@8~ zS09XBVhF-jUs^bD9^}E325M-ZlX@)^lP;IfbC3nIbPMiQ<~mRWvp$2q*Vb~(Uln`; zdQ~qfRduGwy=GV>r|Dcd%>!wQNu~T0c;&&CY-$SNUnvR9~zPS?l`Q$Ij|f(m@EF2;2# z;*)X3^kOs5rS({Oeq@V!|LGky0yp=kzu*Ot>~;0%O<;x+oZ)@e^?EY;Q4PgWZk3#p z$>^~~ZgvaRQSz?=^9!~6mit71&L(*jo9kZ95}8G0f(7G|x7{xFvcA2GQXtQIn_|*iS*iU|CPIllz5UME-kR-s@%67WyUP{J znKh2@brC^$hBJFSW7+l>FO&DMmV9^)xvr{r9f!{im)()$&?zhVZ_4EAT37D=TZU~m zp}Q9+D0GFE8aA6YxR>1fa&VP2*O4M-Oq$Ek`wqtyl``Qo@j#oqVgJO$yOv0j^6MOl-R6p*jq@`&~ftw@)ir$QOdTU+W=1UlZy9SNW138@^Xl=GI%{ zx34iX{{94PArZEsh_#F>OpqiX{Sj?!p+Q0$i12dI1#Jq(BPAh{w1+-WmErfKemCTF z<-Ga@HB7XnNigs%EcDWl2_2=)W2c8Xb&|R-n;*WqDdsEogfSTE{&1!(ewu>3EATZu zC`824TOO=IQ&#VD68P6R7y^I}#Nske*x+dxB6&MmMn)U{vY=2#CeW|8YBa&vN*LqO ziny(aRAkMuvY!Q8#i+hShH7e=sEE9pvZ3`E6+|Ht;NH|^JD*$tV3C`iGu;kVdPZnK*^B3+aubyrRd#h^m;Q0^jD1whtaXxOl73Zfa~XJ+1FLf`!9FJ)buj6- z+eB(i93?5YouO}I&dJO*E0)`;Y7U_O&~;2)HjD-Wj%(Z3 zI`Kkb;MH;-P?SG4-V5|1{$2nzSr+lhn^@cl%wEZTuRjJf43n0@(aiQ0OwHjS4uO?O zZ$2c-ZufZ?dD91Ae-*xq_^6DIWU46h(R@qID{Iu08kJ9)EMUJ5|F{6PJgOia7sYtV zO<9Ae_q5|nxm>>02$Jzf)QPgmp%4v>xq-k^rpWEJ5oS2Hp1>6!eRW((YJ$Ozd>BcL z9v&3fmfWw=Gukjw<)*?b5?^+6Td4z&`l)f409G0z+nR+aqgdG3pceQ|B3Y|G-4Zzq%HEZ= zsNGR_5c!o|*xg8d-#*Q}hP@Pu$h|w}7)GHc1giVYNl_c98+nYkV(TH|X)PAFB^*aY z#;6Oe`5E99k)}VWk;$TQ$hmf^3pjPjrI*5Et8V)0J{aBi7i*P0_JV@0CCbHUj07P! zcicYuZ`AVH25Ma}KuA%COD)G%lAY7zlsUKEzbHETRE7tW8Qq$%CNdCd>!j&)7GWF0 zZTpyybs?6{0~zpE=-!wD!D3(^-HD0NmmwZ6uvB~v%_y&eVQ&5!+L{@&l2{8tF>b3{ zbu$>Fjx#C7%~s|Pa49#9H2Ww)wK1O}t|B)OdL0&-Kq6NTbL#;BS$lx9Dh3MTY_$wK(afEjXL2qq7#6`BcdNdGobHaZnG-%tzCX@E1*~_Vy z8eS!Wp?Sr;I=a?hm&WJTn-g9(X#ylQ1eKZa(>zliEK7)sG&f`7nb;s$Lvd-HUllGaHY$yU^30A}h3JMIIrR z7oGXLEi-(RMo+T9z0Tq5E@e1sZA>%19~DLC37WiY42@&bmXkK_lglL>aqac>XbgO3 z%h>H%s1zcBUqmodVGz)g#qv7tH?k^k9Y{yaB_zx&ex4@m%dfitXuqC!0wGwc@dE;R<>2D%o39vz5&R*&FFLD1Mh zYZPT@Az~)JeHng2WUX|FfU05G=oSFPpV+196>)`1jHO_RG$c9FF5NJoTl!jb8-I)! z#a4EeU?wE37=DC)q#flyao9}dZ54IlOn zhrsVRg+sy~n221$A>P%{cQ*9xLVg=oNFK4T&yUF)r~>A`<7J%C^h|Jz>YC>GXc@2 zv>J5%`sEHii9AtY;1*}JeX4t!odytZW8%c5k=C~-%q=8U-Yu%T6&vD2bS#$F-EEhH zxX6?&MJq`DC`NBoblT|4n6j!`7y2aqN6ao(U6E)T^7bPf^1O$$Lq>T5wRD`&07UEs zuU>(j0dwOM)b^y?-8CUIs-bdlc>$`Xp!d2qhU~*sl6={iCK6=21gfTeN9Ybvtp4=K z5A-gRv)tE&36Kw#%)QkfuXMKfwJH0nDgqfuXoiTT%S3`JJEkboqTw$7eSqb7yVVO# zitW}z;EZI=!1Jqz6OhPy?Kr|Iu1~KK4H;9^AQO2gA~|%z9h2{80Iw;*^%$!4R>$h25)(Y=YL)q=u!Q{l&Oz> z7xAb=ix+~#Qk$Mqr^n7A1^veh(JdOgKve-5rpV_rqhFy1N#O#*qXd@!mWg=z0)iX* zHBQpi7biMNz349NYH82U;}8FQRqSPxZ~vb~qwoI3SuznM6Z)z{+^R4_a!!KMNK!&8 zUDB=vNB)|IliO342|GGS8zSIHi*u1Uu}L)DjsojR-3C-%O}hz^ZR*5x_+g3K8!L0a z)GPRuXB`hov7L(W9IM{*id`Hp62ytgzUSP4J9ClOFK0T}Z=*|(?l^StpgyaYZ%w7) zl7pM(j3nETv>mtqW}no46FQ{qd$PB%63>6;m~Zx_-`ucX!Tp-qy{b?tl*wYWf8ig+ zj^;&jexY?#v6*r{`LzU~b=j?HM?B{@efef^^j6tWFnv*xPjfpfvU4@MTV5liYiN{m zZqgL~!_MjovY2?Ib9QfjLyMi>H+)@vRuDA9AHFvI0I8Uu``$&;VBw?DMw)!@ZwvjE zH;qACij{7pbs$GI>J_A7a^4F3TyBN<>N@4|!rDrE8kf4LRn(r&kWUOv;#;1ODmO^= z_erJ`NHuSDVDI03N0?wlGJZV7ZwtYEcqZ(9;}NN8OJM0itR0#;E%_f?jPi$@()@jm zQ#^SuAq^o7P3GA3X~}EQZ0Zp;OjC$s?arPYmh3Zq%_|*cQKfDt5h=v7DV~HiP3g(a zBL+r%#j}42skbeKkb{g0iDmLOLDx3k@`o)}yV$d8<%$T_2%ZtkZhFN*1M%1lG@nC$ zB);#E26GYckTZNKyj>Q=i<%7DO<{H~+)at(VeuU>!ChsG^3VMiR2P zEN!Z${S1BiGGo$rC#5QS6RYGJ}vYqN}-*}9AQXj~ur30@i$hc3$ zrgMoS&k>ctU)70T|598JK6nvT6{~+9ou%#H(kyED@6W#vlbx^gg<>y|<~WGA;5&3e zdVvFiN2|}1xMNEtq zhazn337i6AUctnjA{aXT1dI`^h&XM4#Cw44pQJCypd)!YjdMWD|{zkK`gh<}f|@n_05(T9bCOK!;hJ zO|w+1P?wC-|Bxe3(4-9kjA6TFlc@e1D@i3%s)Zk80TH_G@*zYGAD94{aAm(1SZ~?k zRKZE~-|P6&fvDyj5}XyvEkb6cqAjQy@_ubu$;}S}eqdey+j;oowk2$9Mh^aSU_hmE z^}keU^(a{3So9FQ!k}6uGhYdK3ZF(U`ZmW#WM8&IZO+xotlbo0N9uTgA%yzZnfvPT z{vtFu7VYB;cXpNUjXSn0qtnSXF>dzh79D#})eMrp7leQgmGoUTeArO)@X!V5>?(q` zRbhxzXr!op{Q2RNIp&J!7^k=S%Jv73Y{ibZ*B@&{7f{LzH(e^bcGp)2f@=L-TU?d( z5dIKf6Q6+|T7u0;95)t0!O8ceMsGyTOkZrcYFkCU@j_L+f!uI}VWS(n{5* z@GC^Ppa+4Zj@N5jeP7nPY9)F1+BYjZ`r`J@lfgZ(+=>Sp=_)^|Q5&d3EOL@{QLtlV zER(PDoHdY}7`5ZAXMfEYCak|Usk%1+Eo@dnxKP`3{YJmdnGk4{8@CxYZehCK)VtD# zQZfXuG8nB*6jon56;}7(cg4Qo5A0;`okcBPJ$^`ZqQ`Mm?LvmjX5VZZVA|}AU=Rla zt|-4<)DJ{scl-LhXVd3~d?s}8U*g{Avd}x-U-|v3)A^$hABWDT?7W??kCL zAk?{?yP3Ls1&r5{G-EX{Dm{fAwbtn>E7_}-2_i>rj(j|FXLAJ5H z_6t2DhOxc6cxT6-xk$)AWLD|t+mCdS+J3X6w>t?^db}M@FJz#2C82x^HsxBipcf$0 zk00}|eOW%gsaA4+1H0%u;G+}MRT8Uuwkpi-IB$dD?=G)eb9_9&1SCM$_2lbGRG=_S z*sO%Hkq>O`s$J#p)tYvGK9>)Eq=b6uTi~!E|LWC<^}TQSW|JKpS;R(vN4NaByQ7X6 zPu;5~oVSv)?7|0DCiLTCp3{U(M@U*7;DSVaq6#{|`>Q?+tQZSv&ky1Wvr649y*ss_ z8YhNi8eKt`v$%(b@9az`Srx59pJdN>SOeQlnZ$qXAXl*fW;_so+(e!2p0k}bLJ&_ z5U-K9t6be1z*{=?2AuGI82zE*+m{nHOwW&djRF^xb@C-muTB&F(y=PxU4~tPE$RCA z^+xy8r6i_@4s%|5QWn0DC#eyxzHEeMMaRhsB8^aieTT0dowo|xOrck+>b9&Gt| zYvZ&I@`!w-avk%_ia7a7S)ly|VF>Q!2ebxq30sKtGd@mPlMLPN&fD{0WAY(?GD@CO z%rX*GsU|mAq-_@oeD=5=mMV?&jY}(c>08mZ>X&{MB@T8qXZ`%aee!0%UuD>1RZK7M zE8|9>EEz~j#?FV{CPZIVFhd@0181W9TJ8Lf$sTtl);ec|tI ze_+9ttkh#$P~nZC0%Id^RMtVKUmNtSvL&t^nel^%OJ3G( zfu>2r@xvMv-v&Zsc4|0rc?@$-x1z{|{K2GMKNDWx;))d`mxXC9`hF&>Pe2*D1D8CW z3en=2&^3$C_Uk5R_?Vl+ewo?__&@Ene-stR8HHzg4dHZCV7~&sJ$}$Mfbo0k^2mbh z3;~Vr1LgPs-ZcA7?8SN(!#`y#11>TM6%;UMFM2~3J=(3gPqjM~z4+j3N6oBmamV0d zJ{bwQ6m*VNo-y79k9YF+$N784;uLPn{p4Xp{Vhv&^n7+=sD%c3MuTVxT4!yN56xC| zL*Z$V4daR0?jO>t)+tDPx+54Kp;BRkFSKvIq)NPV%D@m>)skti9V(hnbm_wSi! zW{1l8+Pv-_7Tn}=-RR z&=`gGL+&aLT5ka+vkScBSCR~@2>wLDaZ5sFPNHpF$5X#>kuO)`-V%y&+Dl{ZCf5HR zw`y5^UiJCH%R4oc-;bpkYp+ATms;pUwwOwl_4t^jC9#7X0K)LQi;5b1S0my$#LT$4 zv4UaBY|2vF|76&L@FiL7k5Kk_kqN`v5`ZOl%`)ecLb*1~-@56wm5J@pw8Cu6@;b0< zvm2`r&v0Y=?`$58kTFg<7h6(A4gN`B6@`Uu`DDAi+UQq~`4H+|R*RvhOMKR0#VI5Y zy6~77(1CVtt7Z7nyg32yw)DovDH2@zp?!h3Gme2BoSPf0mDnEG8{fv!0^s+-R);~t znzCndOc?L1KyE-!u5?uCU0|jB{p=cB2q#&VX^Q4tlc#R6{U6Q!40l+X-~6JQ9ezVC zQCP38N=&)_K5^oE2+rH5>>C$@sMzYizA*6&XvS)gG@-;BDoaNTk_4eH;Du&rt9~~k zFk8+mIe#R;oRjrA*U%+tuG^kYOf459&Qfq{^9)O#Y!tDzrIRBROuQK>8&fdz9^N&~ z$#Yqeld#4;4gkKz3S!dAPVs43d(MQ8o9;d=o-li!-GXDcZ(4PdD#EY+P*>55RIAi* z3iLG4XC$g8h0m@dH@Y!1JBpD4duvDDC%=Qw=`1+Za0sQ;l9`|@7|9Hmr!?)T2suA; zi-z7$B&hipdQcTF6o*+88uSr%$YthbdgT1%&Vjo>M((Wt;Zt!#->yEVaWK6+^Ha&T zxasLrG5#kwE)OpVjf)>Fj)q3z(D4rn*NGVCZeL`5`&$a)JZc#+y%Vf`dqYeYS#H(% zz)cRNiynfFc^VUETAI=5)yN~96?oiuZ>*bMANR%MK`rf!v4`)@o`I@}t1u`H5}wu&K`Ny~v2Cw}HN z1qr=6d<1f|RB^ZkB0rbyL<&@E*_S8lg1)6DJHq6`F7UR9CG8!t%=;=(_x>F>o z6HLJx1EA6`__-&;rj)54u+gMgR-F=4jU+r%L-(n2#*`c`FIC{EXxU_UL_F6jaEPN?#BI`e&pBZx)Z;c(%zNg!XrY|j}SA@^4 zZVoCO`)UF{CMFmy=wwHkFp))o#b7cuAikBaPB2uLkkBL&jEgE6kJD}t)4amK6qQ7C zW3Q8@r@v$7;{(M=+4E~@#g25#x|qVB82+%yxBVU{*p3X@MZYmbF`rK{)8%xbZFoCz zrj^#@H~DTF#O)cduSm#x@wI{xPq!rI9G1ghIlj;MgI#5`lXvciG@6XGV>tx4pcc+z zYp=Dq{`j87*p$3$o}*J@sRA%Fdy~AX0}Y2aVu`EXuhW8BOM(=#SW~?##N3&~a5emQ zpO)}iZfdZ&SdxhtgybCA{tpYVl5?uP)jKOvCp+?|!Ri}cgW3ms*JwsDd7?>RnP?PI z=X9`QfrWW_98X#(=*VdezqFznl)r3SJ-3Ff>#(u)I3q+sCW%n>&7nEwyJi{;>z6+- z(o{#l+C) z9wDGSj?==ZP}#m=oCdTLXN?H!Rub5krvw&ug8A_;r(X+mB0w}G?Cee*^jJ$!Jhcwt z(W6H4ft^E#!hPekV3)kA;%5$6nM6USN`;v@?f@+63h&r4ZCH{6R)!e+O3yFt4Vj6q zNOi^mSLd8w#f$N^?SRE&(`kZTyRkU7w&Nidz7gjh;qhtN#9IR694Rh6ZM8$`s5p_& zKnZKFN?}C2-}esnf1~m`iW8CRQ5Q$p(R81$@{3E$F>O13F8?G+{ZPZ+tY~d7pf?q3 zYx*m7pV4kZftda$0wu1x$AVP4LC|%<(4QLWsY7JyTNdtAOZ?2up7y4mj&ZTQ>H5OV z9zmgzohFQqLmscDRF8R!A~(j^n;Ltf3tf2PGRl#9c|DHlAeQBk+7Tl4%Gqh&pPTie zT%2JAA=Z2=|GHJ!RqtXh-qnM)wku+ zm4Y~XhjhZl$kvHk ze9NzxYGMCdz~Zv1noMb;gjXoxE_7ACx`L+scOOA>J7?;!*~3}|yO4u94mlko6YZD3 zMtSw7xZS1*I&S+6chO;b!I5~D~`sZtTC%6tV5Hvx+G*S$$p)0J^5|Gd<2byyy?Tj=pZi=^@G z^QmyYcTClr&aNLJmK>^Vd4=|wqvgu){XYq^s!g~oLBuG?6JCGlX-eqH*-Ol=Vw?`a zteTWz8BTpGxA?Z{+^>SlJ~~)Y5&Y4J0lub0L!OfwQc*5%VE2GcO0~gk=_G zAn<33+uWe=I}rDw110R;&i8#M2HzX8yJ4vlmX?+E5@Ct&H%_lDO++e*NVuU$P7*1F zQD#J17xPHS<$Vj~t|!UnTnR0i{>X`+Q=g!rs$d-o``!fnK)isfkme#Tyv~XF*FgtyFSSLhL-ZL;q;%1KxWqbzDZ`s(sFvjDj!^mS(I9*+YO0n~w*ReJ`$edlx+WZ8| z4nI{#pCj2A#Jw?3b4xcHUMQ$KMqZL0mwlF|hdtO)Q&CYwPul=f6N_AX+{rhNm7&^U&GR!Sw7n558#R#S@!_X{4)(C+kkqipr?Wibok^!lKkb(9dK~JKa+u_nq5z zSe;^Q-b=tX$K;BW;_6f6B&b=P9%g3U%lPCfl_!o6FWaD{v7I$9&89kgPR{;WYq4%?_T2ewa;1gs`v2UG;cC+;EDZ5qe)b-#`a}}Elf3f&y*)P3nG;Ah=}F77l4w%1 zGBJiSDUYH=1s6Z~l(~)VT?!YsK75a+F&h?5kd_-a7+r_?ktSY!{UVB3EAshf&fo0B z=iA`c#f$X&jTC0+xO(ng?sm=X@sn+R29Lr*Q9%l~FTT&{)@w8XioiP8E?r}8)rZHm z#Kjx;P&yYl|K|HFX%b1%%=6lNcW^nDxcc5Dp3Hj5Nll^o^G|4-StsCkaPR6TEVy@{ zpzSsvEmtmZYrsuWK_08^H@Nh847X#QOK-o%qZt{Q@p3L-_?U@xAGV&mym@DY%$z*z z!*}_~dw2E(WQ-|})Hod}8CFtab@V;CP20pO_L+Wu@tcdRYc2T39`c|6`9m~W+1Lgf zxZXNSFc{$GJFn4g*N_?O-o@^#AC4-Da6H{HE^XqHf6cyxQwDVpFP6zP#@l)hxXo8@`{pitxfRCuP>la%R@f30`HUe5%t{+C}c z8%#s9*vUWt;tkfdX{eW;a_Md_{(z6x>*u*W3i&B|u6}fhkrfvcO;-f z6J<$CI!9J<*q0cWnfOk+nyzshD~rRd#w3wrlmW}MKAtAon$Gxx54qj%z`HuZTW@|$ zAU+M_S_g06Xv1q?;p6k?xHlG{C`rjjA6#O5*(>>UX}ir0HSy~Y8^|cgBhKi@=iW`K z@y;Dp4KS`7VYlNjc}v8@4?4>*f>p2K@K`w z8*f}{#_hM!c=HxhYXK%Z@AC46FEFR1;uv_yg@^t79)rH3-Wu~#*`2|;7CWuW*CDvphCo2<^3Laj* z$)wNEZ1)3RdHovNlsw#n_xSLBA71YoSKhtAj4GC*L=_j$y~o3mg&jZcDl8{CBNemW zOiorNI<*`o`)FQQlMyH9>V->8dtkcl7Vq2{CL<$-{@Wk%V8~8TNDFXIck}8yH_)f% zQ4}ZV^>ZIEWAovho4{vGqbS43)ekN)wd!H!$qn9Zm?JMgkBzB8mR*}PT5jBAaKp{Y z@DqOV@iV_UcZyi&cDMjW{OgDT)%LETRqc)$nZ1V*o;5kN=nQs@1FaZ z1$ThS@k!z`vq(3&IRE~2TtNS$n|%0r2l44y?5=G++_~}ztLkKm;uOr=f-Ft6^5)wg z;)qEm)9mK0b00BlbJE{WvR@=n{zajPlw?4{*5`x%}ZRR4I8Rr~=pm z{vG?P^cGTM4Wy)JlVXCq7vH35Nkc(FIuk9|x!ybmEb!hdZ!qSLBQwDiVrv@{Q+Bco ztmv0odFP8hV&W1>i8YXxnN6Zm47XvR`8w}C9H%hf%A-%;qI1r{`r;%(Z4yNVv3z#^ zBIBzznm+rOi9kF>i7_nMWF(}fU^E)ZE67AI56KU?g1PYlT3ebKw_B*qO=Wdr8h3I! zCY>C$CWiE&li{WP>rL0jC=Z$@dEr>?_Ep?28_p#gt?gY*uQ>O`*5@BxV%?BHR+^fP zWe1LtW?ucYiNwqd)}MaH<)X}!Va=0Sq~RX%y+x7?fdQIwTL z%k_7;KWN7>Kg{cIe#DqZM`50U3$MP#_==mk&K7R>&BDeMzy8G=jC;(aYHa-Wtxxd) zJq=g6-n~dsZWhB2FZ15b4qTzmbIkG1uiv6`Sw*~Tn!o$e&zO^?V0Ml3{#w|t z+mMFYJ;~db9^sRDxqR+5hMi_IVqLuR#%26^3u*CY5>qnBNHnl8(9GvuQ+U?rIREBb zbgXO0G`o5K{1xWyUglaq`y+M2-yk-X)`1OVB1dK^ob#8v~`Uk9ef~?I_7@NJ&k>WQ-*zFB6>-7ACux zuxrUm^7Hm@FW~?t+8)!`yMTMSn+rFGux{UXhS+3fs*|_g{g4HPg`xx%Z=E~O#HyE> zo=5!Ry+@?vWf0?>DgGW}fse zusGJsY)lTNsVYhSO0}MpcngNuL{bw?#AuCJj4=@Kv$V8?N2%e+@oFrBd3s|Sb;ruF zmLBC;a)7SUDOw)3kX~GhPHQ1QRY_aNBz+GbqP7-eG3v19B+~n|7l5?FO6p1rD5*P+ zZ>Ed2Q2kAD#2a)ZrDYIjRAWxF5}aw}T5}&W(?hJ;-4G1W`|v7Ft}OoY-#v#p^yx2< zTYj9{(j3m#A7P?rnAw>*nkM{w=fyg5ODZ{8n!e9Z24gB_|2$W2HZe0c&!}T}rLK&# zl54QhJ+p{ytOH}gQQQ-Q^xI=7$VenHzl@ckM(hqR3ay4CRW+n1C33npo1UI=>?;$r zttU{QBeIZi%<-smk&~zDu;yg((u*hPZE0l14N6lwFPuI?X-y?*>QyFZ=Xr4V0X5Hm zo3er|j-IF`LGW};t+$Y5(vpypNuo)+hgDi(C3WScoIX~GAwGj@YYvr_$*hbl6AaF9 z_sJS%1*ya(rjf8QO4samoXSw?jU<|4NKDN{wJ}TQs)`rttFY!2^Ww2o8e29$9SK-+ zIDI6G1XIi&-mz(g9Iq~>>O>7jT>__$WKmXL#=^=d0l%Lw9&}PvmQP$3iEO}cFf8|*U%ms=J-6~Jo8MtSDD<9QD0nza%Gko*Ccc9SPEhd ztn{}ss>mciUPF%6%4l~7tAJgTz&DRqU@fWQ8zqT6>L1>;QNWMO?Z)MH;|~PMt~f!F zW|nu(e@f-)Z)4W(eW@rmtCCYyRx0ai(OF_SU0pbd=N)6QANN2o0?(Z!{f8))2x)3Ht3mHW2EUZy5d@rO}iTaosXJGtv*F{p_Tfx$F`p8 zuhaOr2WxR5F)?uz#JhRgze2#{WMSTpE-9a5rKtco*82G6hi&}u2Y*ayb`l9m@#ytN za?+Amm~3ZJna!!{Lae1nIg#$Bse1tkV#zM2t~i?`b@f=4vkXny_vp2)TS-*` zu<8VjK9w`4tFcxcCr7i)$jYkpTW6b5N%xZ{q57T+Vf_Jf7gC=Sxw`09>>_ctk>BIc9@}{44|Qt;2LY zzK<@ulz5AUg8T&9n})F@CSo>dNlQ(^pizeKQBqJ{&yk`mPS#g4)<4SZ;uy{I8vfwy z5v*lLI99m(M#bJ&2IVBABx2GUNKZ{ct5QHr3a3t#Q(jv}x?+jR$#ojW zm1J||=y9^;GYm~TNwXHP+}Far#y+O|rnX-5bdyJ|`;+C_8qB48<%%OKW?0rWIClw4#t>FV?fs+m6fW#o=~xSddL1s zt%*dVo`jS%3^=&kyUaJw){&P}$O~smXl-oWl*EwA@gupU#2I#N9f%<(Cy};C_vsv- zV`yL+nI)EZvzDZkG~)DP8vu419(IvaT!1zvhN2`H?Y(oD<1W&f>g- zgya&+@)Kx%d>2Dn8OatCMfs_;Hucfh(TFztB*&`?u-4U6sGQ<)pNmr`j$qBT@&{i# zO7o)zY+lglQ#f;`hTN)ptTC$$FVE8Yuz|vpFH)4B!_lMlBVr+#YiB z`_I*2%_-sQ&sk}F&<23Yl0;o)F|letHyekksmvoTIh}aje;_TU4`WjoX0}gc@FV>~geEa}wNmXVuN!dL4(d6YPvnd4PfO3Eu)Ssex7?)_G*CHcfz;wVV=(9$_8ps;q)ML%b;`whrkFDnk(_8T*lgWrpOu(Yo zk(!#m`MFWhNbSjLN=gc;%~8=cI!kZsBLbEJGUD}=7F%h5+=)~0lVfGo^^}*FQ(u)$ za&{qBYY~-628Ney_$J$VVvDCR)ktziE~|r`%&m{`V9-x#ZalHES;Q<4Gv+msWHAz# zkU~nx8y*1qBr9j?D=0fwi`g^9!onQ)AGUG&#cxuOn?-&75iEOeCpImlh@<92B`L8U znwv+dJ#idsP8KhI{WNp!PZ%Db;L(JS@0_m2np4KtPG!*Ws0)CE>{9A03#qBE#9&P2 z^pPwo%1fAC9FP1t0FYLAjQa8{PS)07pBQ7&xjRlD8%MlROL9u;=G%@zJxA)RDJjh3 zbg_}P!D&Xi8nJ1tWG87UEXbw*Nf$QHUS4roMbwrTP;m5lvTY-bxZIf1vhmM#aqUq* z!*e6pT~0i95A${>DaDnPrdvo#jKyHGU`ssf;u*x`s#d2 z3Twy?&M^>D@`C|COG}HmRa^I+0-LB4b2wdHjJ5hSmFiWxmsTJkBc-H_ikx(8)153T zvUb;D86KLt<`{U=NK)PN9Lde5vZMxsVv#TUY#b|2BQZSA|H$`U3DY7yg=xO^0XN5${N;cAGhQf7*+<;%b`W%~(%Rfg zQ|lacFB~UEwI!5XMfI^72A_1$-Z4aaQ3)ck9MZ%WX_|xz{+B;HM)RlVdHLNNthj{z z<{jrKP#{zLaXZ|sO-<3z+{#=ah3fKToK7d6m06maTN#{Fa_nd!0O}Ym3MI&78Wcg_ zo*k_{&12*0TkkSyI>O)n_5VOw(&kNNFc4&VY@XPZG&CaLHtJ(GlU}V<67c)*czguR zI<{U&N3Gg#mB!D`b8kw^U;oXY^ITz~pjXYYxkbu5OhcbD@kj<7b=Pgh3|=DaFIpCkCZ_yZcWTZ zr{nQ@AtnahmKoJ*9WL+YjZKmzSu{yBYAp(-9GOgsPOC%~!aPV22X5wjJ7{Qb!y8vd zMY>T!3m024=z7oQI$nvW+KIj4jMjb!Ie>fUaQ1!_u}@g(9qmU%h)={kCmeXEEY2w z+2$+BL75ztVl!5CrbKFLYdKzbgk+N%lseMWbd1eADa_dasfQSSZrN^PO0ER&~C2Wjq@rK&ue(8}Ppt1u>S1*}H7 zRTn*Yon98kMrmkn#bzj=JTIQ|7ypQ_=fP{g{3(~3HaBf-i;K9_Cd{!~gcaQ9b)bzg z@6=k2UWU)^2NYP6Oq)5W07X!aLLvUeSXOpEp3z=zHxH4PpFwV3A*=lzJQ$jz(7NqA z1F^}w-uHTacszCj8+KZnTWM%truKzu^eT`mbZE2yDwOgdZht_GZAf#lVRw^k5qs5n zw|SNvsMF*3Tnh#QOpnbGmzs`7CH<{AfISezqEl|w2t6oV1Oj_y)9GSR05YWly#9Um z21qNaKs(#X<3|lF#TH{VZX=~1m)(VZZkER8R>n8X)YWF-ayW4G#P?+7$D>lSy?>=t>F@+L@yTL{MWx)kv9&(c&8r{Y zq4sOvnTN1vRdaXp#8{hJ?BXEgyTPW=84 zsEJ?Y<)8c)KJS_dOEtTwf)l4s^R;{(H}CbM*Tmp+x;K9iED&HNs3#%b&uCvK4b81I zb__AzcAbwNjnVz+3*NZV%w+c??)S~2GpAB}td^7Y-{Se)725jtV&8ZEA zzRJU)d0Y;#FOAXA+)BriinH~(I2Js_#)m8fydHvR(Wp1$U!~C?bGh*QK`!50b3A?z zZl{L?^X7U=Cf6WW0BHE*KmU*Dm!9wszxXX(Q+qdl6bdtD)7FD4f~ZtVJWdyG?;1~@ zw9+;-Oa0NhJ!{)Qz(r7_W&3td5u?HH-FzruG{mD;DewmZI2B$d+goX9ZYL(An*5~Q z8$_Sah0$ON$?;td@x}xc3MGEOAD3K_Hcc zgFQ4fKgDJ&q9#kYpxfOT+^%;@g_3~Rzvs7Yz=tOg#1yktB~%)eGB-YvHP=ov7>Ltt z#z+wG`h2(@eq5_FG&Hx;FyZ6HGeujQw!2NI)1qM0_9~@fPb~`C-8lUYo;-a@bN>{T z^);A0ZhUSZogM8ov=5M8ca)ScZ`I2+F=$i(N@R)v0iPF_TZ?7uu3s)!iquVzCz#oM z+~LOOlVgn8dcYNK}bSM;ZWO60inDBRGVr~0=MkQB3 zz)v8I+0pBX3;A}^~$2XazTxiLsWQ^-@r!L@Bdz{jGCM>MHr$ zzxg30NeWP!_~sA(m@Mx!KmNympk-9BmX4yC^%gWL&6Zz%_(Jw1V-hR*pa1k2&7Yj- z<@2AhvUk6d_*e_dU=RorR47o%<)Bay8*fA=1FzRX%${|a9G~6J`q~Dm32{4g0s$9F zJajg<($G9eV%bqL6OH`v&;JtnbPNCRlQ-y`_wvoZ_yM`@QC|M1U-DpJNm8dhri^rh zA37#<==L?&s+)Lg7TS$j?mQjA4=Chv6#gJCAfvDnol;HBndkZ5cg|3dl7K?FD}pw= zf;eX*ErWheROS#225D+(-1(({fh5Q^N@Pwip{p$a@-%_u8vg1pzK3dNjAenJ7rQ!W zU)X^4S?*1)k(ZoBS#2SHje$S-&bN5sWCiI7W{T^o@p@H!^IPBGThG;znNKBsj_m8tE3YKj-OOWe5*3*-q-E!kqSBIg;xym;y>C&G5reoGo?_P?&oRWrc7N=yGX1kCr-GA0#K?cC^YlvaXTKrm(iY1 z=4`@2GSo3DT%Lm^r%aYlZjqeq(rUi{-504U$R&2`UO*T(i7DwMIag?(Sp%H3b&qhg zq#_zFqF3c|1;=u7QDm3!-S57{sWK~Z7So*+@>P3 z5)Aw3Dpe|urI>j*FoO>-WBsiZnB+uYI1o9b;7Fq=s_X(QS3~F*m#9{MGlW zdF$epDD1e~GzJStv*L+Kt>X8;`w}P1Gl`2!R=Y*wf5eNz660u?8&k_cOTS0DMeLPEq&VOZ@xaJIdII_y&NmuBi))iJ$IdYSoL^ zu}0(IBByI|52U9!pFNC7E-q(v=msn5d`gq_d-^l-jr80fz=@CX#~p0GX#~jR6=aD#_yhB|UO1Y~N0;yL!r3$IJ|NRmakLz-T+Mf0`X*mLQ$=P% zEM>Jv@X6(T;~U@Lr59_+PBZ~A$P@wmf$dEOY3$Y+GmtM2(Y5Hry*9_wfvL@ol}R3S zPO@#OO&Qh5R2~A`i6$hgP*7c$iAs^hw_f@d->xqv$zs~6j-hJimX|O$+`^IrSe>TL zZlo+%ht1(7KPR2_*;ZQnHXuevPKJWV&3y!dZu&dBSlRzl)V`*UNyTU%qjlbi$F{_i z-Z7C;9y;zcvl0xlI?_w$x|!@m6{~iz<|Z>Y+)MBD-UZU$UrKf`x9sNmZ+(|Ps!O0_ zd=Y?-w!6&RV12fg(M1DkaZ;PUTg|z~qBE9nfA0@DmF8r0&MUgvtT$OG*9CbrvPb|o zeZAdO6xNCm+-zQ#n_x^V>G3h#X=uV92mmUSD#hkzw`em{T5d&dPUHLE{T64cib+j2 zu#>o@bp_Sny9WCe?2&Iu$41`uE-KoW@{a_ZcD z_XF7E#liWXb8dHor0x5!VxjLj=byvx;t&LtmP+nC4S8)wo{bz7(WFB+FH!zf$jdH6CE$g1f8?S7}>(4%dsKihL%Sf zVRfY9xfizJm8aWKlAD2swi;YLcLI}MK%2ac5oamtb7#_!rIjeYeowc^MJSkFMjVkY7@V z{D##i3IwtCnP>6pb5Ee5vIu&WDef}VrOe`3{}cc(E_Yr>L))rFa+6b1v9_QPj>gq^ z?bR(<*I0%O_ri;orfG0zlp%ckGA>Q{;F}!6nX5}LYmzf^(V7>=$*vJ-04`rVi^}Ge z$OJHT{SrF*ClK;ZVt?l)wAPiu3Sj8sIb69l2W@@?2QK(fRe8^H{=~^bVR{57F5N^V z9KxBda|niH7r0C5@!ERWifi!7E1U6DOAT_f)46k%OBNfF97*s8f&enGqCOud&RqeZ z;a2xqSc_Uvkg0!3O@b{cf>3yIRqNH&wKl=&a^UG_x8TiZ*Ptjr8_~bNQ~0(C_WC9? z+Jb0%{8_yD!jq`4Ekb&3HJVEzs9doQZ@ly@ni?vQpA6WOEeHif-zncAR|=}il5ni! zBEp&|hBG}2|InDpel| z1<-l;5Qb*uwl2!t-G5T+D{pESY}$f1pL-OgMY(V>_t)o6oy5p| z5HrJPaXFZdN(V6O*HBwth^c|2ID0h=1m`g_32fTD1+TPa;_BcyY_?idAu#1OQCHTdp#UWa|?1|~iCd+r@a&tg?o8B&t1 zxaqOrmAAi%7b<}B1GmvX5W=Qc-^T0fbI^Nrf;IOp*?#n+AN@%GTNQc#PC&nQ?`sGn zy*F{@!Udc@a}HN;`LMdJ0q0K~z{#EoG_+Qttg0R*`6;lDT*vlP1882m7B%Vf*!|TZ zoanlMjPhobW!f<@=|fpvHB#+Kz|?v4C#_ug&8WTseENrOv_7&D&bv2{0gR0VP~BLK zw5&`Fb?wKMNhhky^I@}S2#)sQXP@rG>2o*HylFF9E8KT~yd&iIV%B2A+_f(3@3@8y zufB`6(oEzOmLqum47MNX#N~k*)Ydg3udo=Io@>~)_XN&f8$wxiJ#ri&-157yqBJ&LwXphT;LLBprl*@Q z)P549wrpftgUGFEKx$+PL0dkm%QAp~2gCC=w6-*2MMD}6eYzX%{ZlBh`VlB@#OliI zyLrjVbmH{ELpXkI1}huNQCeSzf)vNSygA*l`o@skycW#`8GtJt6?qXH+`b>j&ve6< zUxVuWWK2wYQC?Sl=NFhI!4Vn8*;_eydsF@07;2gZXhDok_|RD2fXeD}+&Fa0QR<@M<_WBlhb~@xN(iH(yS;* zPsOf%``~rvBG(y&E4Lhlt}vz|DQK+7hs8gSNq;h$Y6=kYPs68WqoyJoja5ZBw0l2} zp6bFR^02Zx|L*OU#iC(uVhpJz%_zu8MRjE!I(C1B!yV_5*YZ3ztttT`UQEs;p|PPD z7K^Ut!#<2oYpAU+Lz2ahv8fQ68>$cq`Y`3Upt-sXWsMc+JG2-3PjunRj1`YJRl;t) z_aoBod^gVTI)K4Q8XkRY6&xcy_`|*v=$lE#Yp*_oyfpj0KJ!fC=-ENEZfwJfrY2lJ zwheoaox_x)3h%x22psk>#&3I3US9)?e*&7j1XX!y2>50&8%)EBy5dEB>dbIsx_=Ij zz4$nCU3NIqEV$Jh!Bek2hAg`kj^rGar_bVd+YaJ%*L7so)S%dH!(7OT;J|6@JAMPT zPrZnZ4TZ1;z391e85eqb(0RHW6V^=Jx^NohkH3h=S5#rX_Y5orZFhfpmKO10d;(}_ zDg#1(OnM_&QB#4ie;!j|7aFTdP*GQhi-$hL;f@{*dR$lNCX99O!ru0?xI7R* z!>U@Ox^v*^KY>%1r%+m11kY>$O%2tUnH)oINeyz+9Pmt!!IDvdl`9&Nt=+^IyV@~s zNkV9B291wAg857B_;k;4T%7=3eg0`=>3%bO$UleKP%;`Si{PCdgDs;9WqB@G?de!q z=ESGl_oB0>549Vf!}{6+guSzvx4O|#ng`7{hf&Rq6_vRN%}vAa%t3WY#@!r*gY%g7 zB%`se03qKzX2MQ1R~94eoyD{z1C3?baJrnB={^Qa>q}Tuk-qpx+{)_V?{CM>LtU6n z%|=mj23lHbQC41#@$((nb?g-S#zJVUtH5B_A$+mt1bQZu@bxVl;kE}b>rKPsPi;U> zpdTFNJBW@m=aE&h3Z)rVj7@n_-BgVf025=kky}xRLfu>X z+~hdyd1a{1z4uL5W??B(#xLRXy~lBF*o&IVa?H(nP}y7q+srtSUV)m5QZ(m>@XJ5! z!P!gw$giwGa$p{={6=ir)P$QyJ22_UM@8NOIG;WA74~$GV#}77k&|XeK}{WIFCWE@ zgQsw9HWMGd^E6VO8m2~PkY8O7S8xJadKoJ7(h%~`VZxt+);sfL0b6|-xgElamKvmI zro-pV#xtvHVbuZ{n+l<-z5@A0<**K)!}dd+xNv<8Rdp*+Tv~yYiA&ga-~_s_45GZQ z71?Pnq=crh@Aw5|6qdr`okw9~9bDcSgi`WRS>#5+lzwYGWdM+Xlbm6#S+Hk=rr=G>QUdg0<+f+ zW7m<>=;@tBBE%5=B`~-9K^h;N;HT*m>*}hHNEx@7dMxjbFylWD3T5 zJJEi59_>BL9`^0ti9;P-K*^(c;n8w9 zZ1>)`<|f9FQdEti95<>PYtg;ua~wR;154p*y!vD#Y}Oz~M}nwpuEL$az=o!2aAl+; z*nb|o+k4>7FGE^RF;>;g=Bply$7@fmmwAJLJysjL>9Y?VB&`I)>`LBPDPPJN8~i$%<;E z+ZX=#3*YD!{Nl6SICZKUN!3r_^(Sg!bEcuH$b|#@_M+!T5O06uC1fSpxWBO)0K%Rb zjBDv=tljXVT}0C}Z(war_M#utZQu0?b{{>5K@{Mf7au`EQ8k?77xCr( z<2ZM52vsXvQCd=lTx|qfcN{`T_bt>u)`GU`Qe0?1g#9PZB3RgpH#RoHg%Cz3eW+@x zLaN1r$+6qWDQ`e?;|lnD7v}4{qY%Y;8CbcZ7)L+*90yMJU^cTJ?`&Lg@0XHkVN6f? z;IvF*-@)Sump+2GpK5|5B@5+Qer(%y5S`t`4xk*H+?6`wr}HKZ`)_3cU4H8*G@v$*w`TgTpv* z;u=aGdmhiMC`E8;5Zyx_1Sk8@-f&J_7tjD zHKV1X4813h;n3+GxZQ3H2Q%>Gn(BK${TKFQY$}ZE`f@mJL5z)i(a=x>OE`cDPY5e( zD^XNifuW8=*xP;<-D6>FSXm8w^ru_2g?Gy0<~lg%XAn*;KvhvXLcTdn1YBsYFGF5h z5{~RWi21ZaJicZH0)1!j)q#`f_hsX)SD!>yivBOWTu2U2VE6GZWS3M!^Gu^Yc(&mV>?f58%Y9ZpO6uW zUpgwXE$}(>P?MXC@%a$y>nh;DLafVcn$fVL8N*%saNzhQSkqE5KA@$thllqljl!j`;ktJSW58LmdB8pl8lCiVzhs`6^A=};I4lfFFaNOyXMEp zv;_?frLaZ3n3w~a>njlQdoUArprIrOCl4QiyQ&4bDbXGP#z$_WsHqVd@L@iXhWeU3 zSb{#>nhm3&vHI@+-T>HJ zajL5qMfEFDn11hjoAI0HFyv3e=;cnFJnzNVK6)F4De1^`1+Z`5VO*Y0Lvv*+8mh{0 z_RxOpK6V;Y$+dX($yQ{frNGmF3A-+hBW>~mZlG+@FIU%`Zdm57;lQ!0D56MH+CNB#Dt|3o1a?+ zxAR`TFZz9c+8v5SBHI0?r8<4uZ+`L*+OcbsS|k$D!ULzZ-yFQ6g_Zf2?(5I6=h=ND zB;r$*$+KtadPtj|oYsPxriFZS+Asd$Z?)Z5ZWCvX*+J=Fpn$gblYh~^=;*(@N68b# zSWm(EX>G_8A@z ziG|EA)`xiOK(sH*vx<&Tz^_fs&TE>cX|sJNwEy#OeyI)53e6#9#!^$VIm3&mZ)Q;Y z`~UmLTE8bT^-S5KxBax6cIXSIGA`va`-7p`|H2{du_@S zT*NzhrCs~q|7DvtYY_iEb2FOPAJQV>pmzMTpJ@Nzp6(?$vYhyDM5gTQ{lb49zlv`E z+>|!w(=<&BXs34kQv310bqH;d*=mFy2K>Kx@E6)YZ$BHetVZDo@K*-jgIl%AEsdck3~Ic#Q$H&BR#*SziHr*em&?P!&m?ITX^#x#j3J} zzdf^*tipRGeAzOadHd{7I8c7_WU+gqGb-{_WdJ^O?Dz!Tvo>JHhk{3+#`?;&t(pZprVfpUCv<-K1zsB!)`h{b&3+6fJu!T+`OIttu=_>hHfy#4qR zeu~7u1dOjwg-3s$s-vi^=sp!g-cQhoYHZP-rs3@VFR}OHARb@;3No1UD*njoPj5eK zqe|>$`Bkw`uS*nf6TD3{ zk>!etUvy1WE4*BZev*#j5fRJJ>LO>E=E0#a{tW|uJG@>$Dpzg7s)_3%2AW1d|H!t(O~N zW%N_>WTb-sJfEqv4+H*FKC0mV?3H%>{r(Z;r+E=fD#172TDgQL7W}8q^LVK})`#W5 zf15oC4*TN2-HrwS*S+x4-T9Vi{I}W``sjh-Kj-}2&zg>6xh*ns!zttE?HSdnB7Zq= z#bh$$xiJ=mN%zWfaR?QsFluL%$Zwt-VZUtUU4VtLQZPw=S{jVb@Ijm&-Kq-^70znfR~9 zW8%Mj-^70t|3y5DehHxHrc4vuf>Hb`H_$4#NW6VbaH~bh;PLQe^LX^L^HpV^7Yh*&RW~a2C%PqO z>AY*B7Vvq z5vj(5iXS!C*uRC8=@i8)8c&fgDt}{Pl!xboEC(XLdG#&x+i35Z_`g`MiT@`4oA__y zzlr~RGV!10dD!q@>3;#BijxhXYzXm^NDTs>ZXS@aBm*{8A1FOMdt@&J6!20u>ivv& zSc!5MJu7;VP>DIu4n07!@l|)sqN7Wc_R8g@NUvWQ%66$OjpT0E+?_o_s2IvV2oM z@Mf4<`OU zT==i_69B9LibobyUQkpWP(91DhtO6Qc{!)BK*c7?9#va-KB&CR$ZQk6=opDHB~xaPiT~>M znfM=@ZF+l5{7;NMCjP72W8%Mw|CBwdwmb~@zvu!$Rk11$FR1Jd2JhC0T2~NAXed71rYqCB&`q0-wbJt3+|mHDQZDVo(hIieY(a*ndg$gE>YHp616Yt@-3)2FwOI%fn= zM9)UnqIOXvv%$pw#cPz^CjOiFuV0hZ1j}pUzlr}Q{)@@P|HW%oc2foDWlf^a%(itL6=q+b?m-oTInhR6;*KvVv(`>YS_Gi#$>7v)1# zK5v~R5kH$p84!u;fcLDI!QS9ewMykiwFfBOvOyplPL$1}o}lW7cTP4ZRBN3jQ62Nn z^7vR^DU#KNtX^cbPT5NFvwpDWSR1JLQM}YyRwpl(yxBelx?a$@Z_8LZ{k1etBL<6{+sx3;=hUi_s-o<{I~OjQzQ!- zdrtN&<5%5Ru{qXf*|}J4q`=f@j8${MBcnX=#%8(efE`RKHpco)QKIU^2q=hbQyKiR zJR5ldHoCuDxmvDRh`!3s#kxRC8Xvu!cx4#X zr?O^*pSPX}pLj8*;-zYrOjj)Y(Hf%c<;fArjVDLT(L=Gwre@S~)Vh(}C8A#wEmJQe zk+NdlSK$-YdaN?_YdpCkOo>%j^d(y5tP#0JYCV>-CjQerCjN`{sjL~{=dGLg4{}W= z*TjEgWa2+xR;>Ffd?x;j&l<&atEzL@!NL`CtoP7Iz*$?+hCU)p`~+AA7?cT~qZzFC&p8iw&>-sM~v1 zrpOnWex9C0zQBv@;^l+qbFBR$(y5OnuO_LpB0H$L!?WLL4^u$Ivo98s)j+KE#hZUB za#ebql_R=2k9D?Fvnvs2RqCH7k2-7O|6!My3WWijTELv?dxfBK`WW zsy4EqqZ(@}H!3n@FG+fv+5D-zD5wHEt5Y=aWHqWnQQfL9T5LY4{!;~Z_Op=}0zFaj zQ;{Qzv1srac@gC8Q8SQw(URF0OZ-IjLfNWX^Rj)_7k&M{>PwG`Ox8Yq?TGTEUyH^s z%46iklIM?%C>fM}EE#=alKG?3D?GU-{?mF`GV$NUf1aHt{@)`L|4sZC*-w#)|FnGB zc?$n+Km6eje-vFXngrE-nbV@73IHL`G%nt_jjZf+SUI+eKVy|dBl|oXjpUi5# z_C>ZDnFsOK31z!1zarlrR{S?wC%pcNXP)rz>df&U^~A7=d5@0<89_Qk}1 zzWpZttNFv8G4cP;3;*rBW~Yd9j^(9fsQ_V=SHJI@7{C{MFX6wfD@TTceEnW9;DbLD z5dyEO{Vc!eoPK@0?+msLWTCM%7g{I?k1q(#Vu5_UcQjmY)HaL+`Ki&PM+;G-M;)Rj z2&0Q2dZH#o8EuqAFVQ@<)B7YBOQ#V({fzQX zWkE>JphN($a1HI$7a6edWoessrgYY}C6I2;@GR~Oj&iBIDaQ;Y^H$h$eQ%W@FuJw9#TbFK5^^~(qZlV!6uyX1z2uhmaT%np^aIPMbVpHI|c0@9FfHM`j z&S2M&3-*J60$zy!kwnrXt5~J1-DFwXq!U zQ7yPv`LzO=6nhO_vVtwf*%#56y=#4fDF!>QO~e)T5A5G*p`yQib>6Fo22FT4-+@< z{Nt2H{D8()Zs8#rv_SeD5!$!+F2WCIkl-kDWzxK$Wu6~tj@C=p)~KfoF<&M^$dPTa zlSgEz*|Wzb!H02ym1Ly#AAQpT$Vcl+C`>_yR&BAjOs$C8B z)Q@qM5v&w{%;UoEvs7VmB`PnOAer43j`^XC+R5r{HlMUU@gSx+lRKP+xn?{Clg%f- zkcUI>8OIR5;*LDtYyNO}&G&kn(04C&_`NMtbA4dc?SJF~Qt}bJSuw#ilzVawE2u+x zeNrb}=(|hRxDaN=`ZP?hJ+!G;dMUG>U)$=Svm?f~eTa_;cSz9_?nU2+@Ud%8>i1-W zml@e#TZ{a7_K^DQt0z)8r$vU`$4$}_eEHuuxeJ646DLaX)XW&$!qGX#oAi7y$}KbQ zP+wl`DlWKki%`v5Mc}AoOY2dE*1B3+Y4T}40|QsBC?=`D`E+uQ=QuGPkZDoqDCOpN zsU9GW`K>1k5O9ruabgrjl{2P}C9kSb%(4aNj=ftF^NViNdIJI^vl{iGne zy8K?O3b>f*^zmx)Ou1OP(a6BXiE~Sk=x;Da0g`r#0ex6Ih39F|isKykQN{&4Mf+MB zXYQ=n?=8Vw5sK!)qmn{f%A2)C8G}w8l#0IO^UaD~agRl+a{ol>3eOydB`B&+UQnU- z^Mbp^BDglM3f@`f$a~QnGrZrD26XJ@l%mtwTS9mDtX5Dlh~}-?4|Z7+^L6!r-I-U{$BQ=v#ky^=K9h8- zlyeD6V-hU4Cyrac`Ozlq;NXVc&I=@5fv9>hg4A*3&7%q`D=?ahEbmWrE<^HR?m=5Z zXMgfVS7wL54obMIB73TE8(n%B$1v6Y`AJnCQ+N1zTfFouPxQ?GDk=IS-O3H6V*8ZT z%ZHhu7+i~Q=XS`>K{RPCD&3d=;7+sqH2XW(z%9}l5@+DW-aE! zp;;1n^zS*}0!e0b@Uio!LFpx8_Lgv4t7~c%n9^dS8=0TvYegRtUJACJz3q272Txf@i~o4gy&huQrai7Ox(UES$B=NruixG>_I_dbKpS-Gg6!lnyA6 zaly{>)=bIAum_y5u_UV;-pN48#RX2WUUX=%uQW>1)$IChxv}o-Bx8mqr3fF=Mqxq- z6rAGfK1;i(d6=?;mI|;cA69^pz|DJ6I`A zw-`wBKofX&*2Ci>P&{U7=4P(7K}WtbKezXihvgPP(HbeXW`d_@M;kHPQgc&xfTBArr_kl|(*=zmYsLZ&@M6_pdqR z*L^-pEHp)f`>_OHMbukET=0bOpdQXOO|`UXDFG?XoDU9Pe%%}*{ARjQkxYXIFIE(wMOm{%ZZB1#RzcG;05ns{Oq2(280RGpID&6 z{Si!tc1=r~BVCv@7na?&@LfkgVAC1UPDV&`q(U`$K4BmI?jcKe$Ko}u_(b*Ua9o_G z&2^u!o4S??J(P)mG{Y+TccsKrPw1Od-7cHV?#Aq6-=;dEU~>C}D&?&nGwosGrT4{! zR@6^+;$)Mgdq;W`i(-_c`Zalg=90Ow< zuRZ4eBh%Iu<`#zELrR*o?|&?;9f)I=R`&w^y8j>2`U-x{0=V5X*<#P@Y)Jsmy=7$W zDbM!IU~T*Kow#|4Iludh0J(riz}7B%*X1a8<@XoL*i-zEx;#Y%@|RUCj!ysazo!G- z+EMnnHohm~9sTf*BqZ~A+WSJn!O`Kp*ZT*&!i4C~v{z4Elq{|BABp6C_M9N1<>BpE zAJH%mq<{Hw@e|Qkzf*ogdv31Ma_ZSbue%YLQSsF9db-ORQ~eqnBgxlz`bS!cvH?th zxexa_eDL*?=;2TF>mW!GFH1NZ&uGmW8rGGrfMgEf^j8hbhvpJ0<$agW2DNu#x?v&f z>$%A@!ceUgUT=!pMw*$f3Oa~`;Ssl7FDxwAQN9t%V$c>7@C~&*@tw~ysVVBW zqy#O*P&rrkNt=Q7JwUBGGv9tATf7p53dPj{PBS4!iEfDj{{oYlVkdYd zKnHhJtt5>{k%Mtq?^JX8)-E47f$4>iw+{((FcGu9{(KpqtCG1ZMGcg(f7?vc(-+8s zA*^R_jB9CPSgwDSn3NhvM?TEwjpr&PkeHYp)kgJDNG7x5VB}6x?#sJ3%AX24s??T_ zF}Qyu(}0pwxnJyqs_CDl4U?FR%9!)t)F66pxAfpx;(>uts09b>80%M(HFcTAB$3KIw^eau2N^K^Y3<-x5F zIArJz`)z_1OOyX3!C=E%vooT|>q8+YHs(3{r=CEK z;;XAYDU{Shbka0xkJpB`i@{UDz>T}Aq)7sV=cjKRno^vcKMmV=iBnWK~aQt0J zb9kU*pvQss5x%RC(EHL^^zluwdKBN4FyIya+<<_wnIRTLNBV1V4Wr`I7oI`{CgkaD`Piophy&G>+PxXu5zCPui@6^>8e%y_n3UERJD~IOWyqLZ1asGFpWCarlex{& z548-fQzHd8-b|Km0_vw(6Nj&N+B2QIetyI}=z%ehzDoJew35$t?i0gK%f;S-_nY^^ z?bETvirXv?-nkQY=V{aNgPr_8pHL~>^NgggrYd{35Ly}dPXNCo%#Y8S zvGj{JwGV|9SZ~pyCkaT-PNS6ANG~=6+lF5sPDK}@gCljaWHGhm++xzu|IF!HFV~jQc_b28cK;X>3Cx7d^fJ%Z~S?v ze*{Z(Y~Xw>#LR3$`}Oz_`6v8XvXf57!ETsyGUZN(vT*n2?U+ryt80@bO?On;)utsLdK@-p`>9Us9|(Vo%Kf z7?<8k>sL25LTSG9A_|lO z$eYNie1Bov(=NV)t}HE>L+mcd)OkbqaSvq$n}SdSpq~9^O9Qat+6Q*&2)FZj6dmoc z`~$zgyqr&1Ncn@c4F6c@R?{qHf+U?zs{MN&9u7GXb~8e{w~#(uFLpI$9dT5$$uGGl zBtors$x~ZjqtEaGvgJaIWNc4! zMDUqPEzLYbwGC%R=#*6uwHbw6QcizgzmV!6#7L7e&i3V?67a0^fT6~8Pjk3W^@Ft( z3q7;G0Zh*@i8Nw9{v_4~*EQ>FO(6wihiJ|Lb9hl1x%uQoryGoOCO4$BFyJRj$uEd8 z`ghCEkHzdX1rk3b)7#%oSiD)Y>ylImF}D;L7$8kd&5cPy8BV)++u1o3RhCgp625%h zs2KSJDphG^7XCX_p1bs0VOh<+ehN7jVdb6PM=eyy|%VdR9;SEwr{w$N&Cj$ zllAxOv*ydGXF(?xP2sn5Fw@iVr%3LcW9JlzZC<$x4 z$A}EmQy%gnLI=~Ut>6Am;LTeMg}N|5qauwSh+ayP2rdgcy)qoun6hyV$`ee5jaEa> zjsv8Ryc&I{O@U_>*S;zI)uSzuCtLQyrFo`-rM@SsGrHTrWzkmx(Ca~8qg{bXzxWCE zqMLFj@JAuzIclSr+LPkGbJJ_!Obp`O*IAqj1WcsU3Nj2#MVQ);JlID1uG;@_(7sN9 z_pU5k+p5jDuYg_J4CMU^QKctkhuw4O{6S?~MQ3rd^c4WG*hTfbEcz(bADY~SwcX~M zxkZ!qjvy#*D1}t{)@J`?b?q+ynI0Ngi_~OMt3M3*g3xsk@G|zYGSq^ybiaym88LJ< zPJDb6a|E4;G##8YLZz+`_Q{Oq`~n+)2PSH#{?zkV z-y}YWr3y-Iqx+6n4WqJDfNKl8Thztdd)R&-HT6RKrLGv6N&hb8KUUcYqcT@>F1*l_ ziMDTp%sPHtVB7{wWEN06Ct5(w_+ZHmY|cVQJFn{=83q)t0Tm%A;7xx8z-(XbED}YR zYqD*XH=GiuZX;xFQfuN>56MX$_DIBzGn(o2xrobp+U9=e{Qr3lBi%E#27EH0Gm~fY zI~<-^E!t4aFYmW9)0H;?PTNkNuZ+5|7mLdq+g(*)j%!u~LoS#5?Oeq?jK^-|=u&f- z`>XrnP0xzznc_?;&vpU5IJ5ybh_3u~#kBS?Y4l?n7eroz#a3haaccQ}?0H~$bJYMbM!%pm zUD_DcFI3GmbTL~pnTlz#(}nPD{W>*ONUb!rIGqeFVBJ>m)b^WI>{?n9a)1`y4beRj zl%<^5s(dsaPZwk56tiKjbNtxGZG+TA;RjXG$cWqa*Fl6@U@5wSh_HnJ z-40R37x91hXwWWlB`##Ma0{NBeW&=1txdK3LIgzL_NxO|=VG`3BhFEDB! zX}UgmQHJ??VsOL8ld8D99=ij~1Vb+iR}!Ly#N^Z*XP6vLE6#ib>-(=`N)^@o`Ri1- zr8&jvuk}VXmKg?%vUF2fDmHZ0@}u2w*}Ec+d~lG~#W7o2r`Z?qkMsXnI*iUWT*DjE zF+E2B>ElDRFq2I(3lSDzxC$Ow4H--ng#vdz6z7mU~Q$sR4RleFPHO4;mCvG+~@;H<7TTMq$QSlLL=n6 zcKE2J!})4lqM%7_4==q;OM0R2TE@QD0i{zSw@2#=|{Ocgl4RL7=B9}A980EJ+G-NAA6ZToN5{%jRuSI zK#g(coHx5U!|V>{6(jn)cW@SkhyQaK4%G>;Vwbp`3%clHzrFY2%YaV(+kDy5f%C8Z zTRN4|3AH^aWxYx%ZdrQDXq(pO441d18Q_WQ+uGp})wTRr;ORi(*u}!$EcXRJ!CGAj zgslpvE&6NU-}8mbIYw~H2HzyOQe@z41uWk}$%H+)rNFz{!}r=P;=N%UHKQ{dm$@M? zK(%Nm0P|yK9~ZstGz67<8G|_k^f?k)q;y+gg+JBYiwut{ovaFX!v?HA4wnU_X&5u8 z?`nLG?Kb|VbwGNRS}L$$+O4JT_iUrtCE<7Z?76xFR2!~YUFm3#vA?Zpf3zYgOPuE4 z7In5dOv=m-VX!+*j>J5{0sL4~-0S+s_4a(sy3jq&x&UJj7YD>(`DRJ;@>}QSg)4y@ z+q7tnJH>u9ofKRPj%-4k)=YE5@}@A6pzuA)op^BI^r5hb&DqN`vnx|k^@>G5E~ zP>=7Kkz!21(q-3b!so(Es&!p=<^%gLbrx8&Vnw@rqw~{SJy_TjK;0o?psjKQ#aflboX>QF6>(&>(%;u9 z^4oC*j%oYrmtfA6B-rnehaFn?%!fFO3j=T1so+%1VYi?m(DmyZ&L;+h9~T@a!bcBc z@KnZM%Uh_g@(!}gm6angl2nI`tn{3LDPZ+u4Sexb_M71xz93Ha=|HaF?)};$&>dik zEkD?>%5X(%K4k}fM8u?9I(i*>HgjQcItE3>)d_n z*NAyKuwx(r<6AV^F-NecULV>WqKf>q$E{G}0s@nlYI_DAAT-vX8+>MFXr97WboF;p z)hl`X8kYVfQ^7{C_X4Sb^uZ))u*WfOK;EZr;CTv0zPKj#IrK z{kCS#Rdcwi6Vk(36)3JU^@L^UnTpyO^<`Fxwa10LaGd>0RK3T^$?IoE=A`;U^bb)Q zi=VaLn>27rf4)s5;inh0Q1qd{j1%~>u1S4Vb5d*;<)nN z{RLZs;W3xL

63x??_`0J#KaCg2DvOw>f1>E^M=48v}K{Y~K+P7$R0Ef9Jk)EgkF zzep)?3%g3O63qO2ToW;(=*5gcO0B>c3{Vole+;buyIXmtyK@8Uohx$*Z}rON$XW{^ z-FbC0o;40#M3oSs@WrfX$=#`=87KCO7*SXt=&jgpwVqBd(dkD zQ1?PS<3FC#gdgw3{IhR$=I7 zmG;!Oww>VNQ$QT){N@wZ8qT#`732A$vSG57l{k*ryAJPX?bQq{AFwJ&TPr_Mv|Ebe zHScfV63S-UN1%_V60;9X7&Yw#WXl!i)W zotLt%%rpR!;1fda`NKnxkC=*l8}}M=?DDW=&4-b@n+o?hRD3;o2dWn=XZA7{C|@WV zIis2cEis-Lj4je2pwcZm!ep+}(pzU-SN^ITDgSFZuw=!V`?ga1#%!VGOTXjZYQN(u z;y6D}T%=c?Ei)+9w?=H{XN?$N`x7UT13@HxCS{?Y-D<^($W`WV-HF7Ygn?>BOL>1Y zRw&~mXdFS%4vQpdc?-^I3?xl_wS+s}g3!f&9~;s610qPag`uJq;T?7r!-%YK zD`*Km!02sJ7i8-H7{@V-Sc?CpWw~w*PI+Kz8)0Q^GZ&DH!Jv{81Fvt3MMo703`k4k z2$%318Jufi(ssG878c^<;lx+lzee!AMETAW-%D->3$N+Jw~Wv7-l1fC2_!}2BYL83 z9_mF;#3Akx2E28B-f?|RChU{j@ynO_PtKC5ApMqnXo=bqsi|HqMs#hu^J%@OG!g$4 zhqz3nITuZz0Eun)W;?&?`+XFlVWmF>9itSP#cuoOJSzFqJ`&p3O;K5O6?%50g{v24 zv~`LJ;Vh)G@ob&#d$eTpKR=i7S}J`IyI(u~eDO3NG8t!TUi^ucq;-B=vk)cJ z?5@HeU~6%q3sAh{bL!UuD<`bt7I3|f_#ngh9 z5^1Rr<*O=%)-(jm`-9|1Ll6~Kd6b-U)62!wBB_mB15^T9#grgF)g|s#2K?AQO3PTo z4RKvckuzwPVYyi<6Ezx!%aV4Vd(oF;)KBT5Rt&BOw~8yP3${k5ro zLNR+qSiRc$X-mxQe|XhsKAUWAmcutL0n`Qef;I2kHuT=V=NwGmbF%hy<7Qc{D>Su> zoIW^n&eAS*qtgkWrHa-r{Q5zRDm_|vp((s-e=q}0WL^9AUc}oup`lVcA0lXyOYlTU z%L%uy!gD@>kuD{ykTwMwM`H~Oh50>CdfsU9Bs|l^v^-+upFK4Xl@Poh#|=^6?=-zH zbGp}F-w&!_71CM%`5yJ~rNz&vEx7D`N$(RGzj&ut^-uY}jv2gA7bX!m=$l@XcJIbs z00P(n7yAwOWgD0^gmvHVeI+8#HUXlcx6mNHE+A5Og0CWimBmj+u%_m;e^%{sBx$Fu zEED8B9z(t>p2{$)_xq}ELp4n#6DOw}kGQ zozp#R)FmH;rM2Z{6+VxvgSvF}X8!Ze%(T(r zj+D!E@UV!xvL}#2Ou!ty62rXwpfx&=ndWu=Oo5u@7sXpt){FQPXc-Le&4-dA&Ovgx zWT(Pl(B!VexuKE~IDX2|CAq98G&-cLzB~iA%a67@R|6Rjm-i_ShyW{NyMrC?XhBY& zBZ47;6TX8h>I%$t*}VcWyb}k8?6pXKugWC<317%r{EKVDU;X*PW(BS$ z^SX4K7WBF}Yf$W-&0_ia`tkJjM#Go767SIjX1;ldS#Weo-P0Km0k7i`Rc5ZzEySx& z8)_{qO}bzZ_|v27GpbPHB&P|_y+=Nr_onan%~$xuzUuLg1B(ol!4~oPUc#cfz8UjT zPCG3g@T zlN49LCk>Rnywt4`|3QR3mUFgVUu*Q76Zv2xMyytEeew!|ZXIALcgcKd93inuAf}(d z?+x5ETrEEmJet=OoW{jLk)H*H)mQsr3YLp%Xq`_7^7H7)5SPiv!_Snqnxk7e0V}Bm zOzs1glYp~K;`pfj5Y;S&o65h|b8DFW7b)oQ4f*HBWM0q#U>eoVFP# z4m#ZN3a;pGp%cqT*?*&`I@`Lz4Wt6sg2;{EiW`9(8S}HB4#Dg|EsisvrzaOs{)n@9Ir*U>%*%S9ak$4*ve3@WJiew&OGWt;t$Rj@kV=!$L9?)2BR1%_ilD~SIn~D=X*qtiR@I{jj zB7^AHEz}EV3qE#7W1%_GI|)AV4W;0X#Ihc{`t5an$&$ht2KUi`QcUbo?r)wLaoq$L zBK=0{8RePbY*9m&$AvZ!F>_xJzFhSu!}loknp97fx5ai~n(0GsFTw{vd9R(?VDgwi zIx-1a2Gu(D1Tr%gyVKrdt&L_y2eIZESj$4n1iKpavO;XL9PnO*B^ARbg$jXBRFyjO8m5!K*jTx|O%fn{E*y?@QhDJtYZ25i zR{&$gd;NaC^# z`uaqiaDyLYy)LW&=e@f9`;q3~VtN@_RfcPv%|?^4)8DcD$GPV$y4SI1;o1QAUwtUY zsZ$YrPDXi<;SFL}?!aDGjfhZI-Nhj8U1cCm44D~aEppH-Sq$qdl1kfeSGFVJRHPlA zDD!;V_$Ius3_LDvRG7{{x2PstKJ)g|x$+V`Pq##C!$43H*Df6Kdn?CqSeg#*d-Zy~ zrBA9z@^Lbiy9nA>?MUZ3K}ZDJv@s)`Y`ua#n)OB=c5`OC7WMwLMzM6cakeK4KoRpyeiK&#tqt%1_*lAmi4Q)Uke2Nn`M0k!bWTTIu#VW?14M_|D+%whVpuB{_M{9xf zGv&MxUwhRV!KAI8DQFN?tLQi7JpDk?aU?t{!C&_12NF0@antUKs^A z0t`HJG1@aoSZ|+vQQnN->aeBLBOpv;!l!=3{%mkf&rWrtD;z6k@pnDQWY>Qp?*Q+( zb%S!MQAeOW=nQuD4_3W}SpZHz>a_%qi^@6%lE@6pH%eWo(fU$RzK^feo+pKntcPh= zL)h{TXv@h66JJlj3T5x(B&-!wt^98u61L7BV|(SqJa7E7sl6#1vLst1 zvhue@1*~6IS*_yA0G`nraM~FdKSTr$D zOj7?qi47kCM`oZr^&a}n$S>3BKJ71sgj3w=9gkXc%l^OW7 zw)jHrlrx68nV0zjdR=isteamMR3 z9gQ+Un;2_Ba9qsX-;mF~>90y)Q4?I_{11RRpTc4BD{!N6CFn!F=P=XQn=)c#rfCHG z?j55q7=`GF_01Vw-2AY7PP48I-)PWmSx368gROx?nsdg5PN(!XIRePHttbjt1C{0xz{o8?~a(2T?SHb?B7aL)b zCf}?kM4WUVg{3o40XKc?24mv-h=DgSjM)rMs01#|DWBHfE_E^47Rgf_2y%K9Z3jCt zYvlLhOe%KD)@JYz=L8<;p(i)vAo#{ayA10z_C;;Nc1>m14-}9`HOJu$cV1NOm?gFr zN}8em=1f+G$tiGXfcoh%%Ko{ri5Rxj&} z!1jhvo3&w|TT=vq%>K~yxU(ds2k;w>B2@xqy5LA-wzFvbl zRMMD8m-v8Qp9h?hD{pSN4n?|*sGddI?M(T4_XwyMSMvvHL?!VgSF9ut`A~@*CA9E(p_LFJ%ok`Rg418WRL&UiZis8h3Owf_4z| zpX|mKUqL<)Xb_OJHc>R#>U28mcz39o4i>HUH{?s}x-muF5|;;asq(?)j%& zb^C<`U&xw82^UpL_EePAt95R zXTWD6?lLUHV9?Bbd{Hp6trl2!Y>iM#!x0X+I34UFORfCqmNyNj)xZ3QylTJ|HLtCX z7V-4$>@){2Kw&!G{v2cZnpbHCim4JYh-om$6aG$SrE3E$b1HJ)2DI^C3fk5Eaczo{ zKC*%Rx$V_bzmd+us_yEZw8g3(=UZ&<-PBHjQ+%h>BQaRpXk3}h`9EBp{nM@L;J*ag zCNE}V0TX$V zrESwUrbismsH0qyeBf1)cTL^*Bonj1L6n3Tz-U8Uptmoecqdx}B3ZJTAU!1?1Pla< z9WVgQu`Nu=!&Z6PMstNnMxNjGt|b zv~(vX(J>XtzgfnhI2!XGf;U-UjJ*QOk1NqinP>)P#~vO{#`WRM&=t76iLX;B&TGl6 zDqlNZqFuiw?#|Zx8vyYtcY^Q8@aLxl%`|CBS0t>6avDe~@;e&(FZQ)0_T!RNu%)7H zIWX0?d`Joi5JrF-v0~Z2{{L3_DZRlBXCr?rTU?)@u^r2B*01i;C)`Y(^7qC0??k@2 zn0=hntQhmdj>c)@|xqfYYJYV*{hLiC=e3@l`Dk@w}~C7NY#7`9qBl zOWHSyfWrmzzUO1Vz~!uS-WEMM6XA}F0jw3#u>JM7-uJBnYni(|m0sD4FDzd3C50;H zDEwf)s*3GON(psuyP`k(Q{RlvZu~$5pZh?;=6qkLBERD}!LUPG`qQ2js`D4i7ya4D zb1Ofx`mdC{XKot3?PRFuG8eOQA{-*a-qP&0Cb}#6ih%HwA?>@H!8(h6q~Adt0T@bn z`^UXU0q&lI7IK?z`MrSKRh$g^0P8PdS3ad2aI6%V50NxlnKxt(BcPj5`{?2 z>v&(NbJSL%=~mE*usgeEK%gR7?Gqf@)v?uf8~ZoBu23|`uVa?w>N%V&d$W~y|4^Gt zrkZJYs=BwSw{Y=VW9b~UjP|1<(b&&Dy;{Qkb?yeyxlc0VH-lFFTwVf>Bar%vmOKsMhNMO-T~iQ$lejb6RP z{P18Oie#GPjB`J#!z)p7(fDl;GBiL(<<~)2@2c`cU*x3T!zOPe(c+NcAD-dq8tXe! z^7SO1t*lRdPU+v&K4c+jUu`S}P*d1AI1!A&*zSgMs3TW?3isP{f4T%wb|xZr&yN&C zzt4%ROjHL3OXmr8Pgb7^bx+xZfSqVdBRWmZvO+>jye=+Q-B-Ws*k5?;vf(Ltc+<6^ zmmAP%e~|*u&GetFWFlMRp-&fQLRw0UzuB)Z=eh?3AAm1piO%+(RZBtSUP^Qz~0@rZu?Xo)s7Rj-!~t)xfm`G$jJQ}g~T2Eje~&T z1WO1a4@qe~z|eF3hlRj;=^}mZzT2P31Ms=fQ{jV-?SlL2)vUd@%=7`*^OR^0`v-72 zU#gC`ft;Tf1KaK-xPoZFmy-rtv$e!s)?Yp6C@!2PajhEz8TtdSe$B9V|N0#ER5B?J zH-O`Q!lw4pV0=Yn2?8fe0HoX6FTZcOq zENbU~Q=^V0y zF$`ZfRsTlTkee}uB$wf4^MJJ7xTm0Z#Vjw({B!<5(ThNX zBclz0YDIgbSWxRce|_}EzoO3=7hL_LHu&{U zL9^yhXjYQBZ^_jw-~Dc{`o%yIWBHN3ZrTqIGt8ClXYY$wf8cTyzmiT9UkLoXdc(ms zZTy^HwD(ktfv+Du3iga7C#KY=Y3ol0z?If_UQyf5cYD6*{|}Ryiz;>L!mpoP_gL?? z?%Y*WwJXc6jRMNP%8p83``~FqT~QZjv#9=pad|rP5ecb^_RxB*|AF^2SRjiWC^P3b zL5aGXm`49fcLIHl=kBBUoC7->FPYYKMw38@lx|R!@1~ zRYpN)v#(s>Fx;0Q0cO_{5E?%1xN>^Gd(14O%5?JD!Kd z!u^;rSZNCO2+)UeA)d*Ok^H4 zj!@nZm$usWs}#>SI(-b=JOdLdO;nCmyXoi>PWB&MQ>}kPocg?8pD?jnU(2k}7DM#I zq^JF+EOBkW)a)w5;zyru>Pi9|Y(<*ST}p)|l(f!i(~*(}Fjr|gpM5)nE~fzcHzBU( zhE)*9-gs8jLT&U}i2!$CQ2pMl@&~t+>rU=@og33G*Bs`1P%zf=3^juYzHVjuzgmFF z*-J`!n1MozcR{Yj`9d!QN>IPxMX6TADu3Ax`*9kp=?V|j32lfIkMf>n@K{K#s81Q=Jnv-47mj4`RwhkR4rvc@ncmOoL5P#+ z-0=tk(=I5~f7KFkPPz9sR<=(ROI0_;7P*PTfnCuKYp&nh?8g zuVy&sMSzs?Lv4E_MOf`JNG1rdRMgUv)Y$ldru^=5F#BA6R0^#@iuM<6!OG>)yhjwQ zerfL5n=zE{ma<2e;={f(;)CMViK1?r$5lB1_2*qd#-BEBxHlR-gUg8GV_$l&LYPZp zJam3l%le!Nn8YzO8sTYm=2t#;`xEz{JrRpV&KSWdwDTgvp-&~S}jyl)~Tb>86Pi& zcT#7H24pO%GIDkuzK*a_Rr4>rT-;jAdgFBzBQbNCpNpNj6glsbv%VFN(c26k?m+zU1R#7x)F7TeAs2P>pBi3yzWQ`Jb&{o z8+&=$YYIm%-gj;5*27r<|AvB$%=nN<(3zOMKigVCPZMaNT-4I{$mFAj)S(>Z0r#5_ zR`!jHZDEQ4l(Ng*BN=H#d6%w-2Q+2zW@Y}<9mN2AQn|FOUNJ>2c|*;oNoR-5Z7)~% zS^|iS-HNN8wDcV~d$&d`&Jm(#@NYM=0bk$U$a;^{uMl73uJf)CR(I4~r=y8C<=&eX z0>oPLbgFhyg?8M(f7dE{T!{VU%a?ku^fi4aIa6KxnmpjulF(WuZ z9&Aq3@?h;PnK|I*|J&J&G=HUz?TQh*47l+bIgL%+QbfS94OnKR zCCbs^XG}FV9k3*)o6A-FrFzofnYEdsdBefRQpX(@d0*)XgbZyuEzHS)i6m>miGNA zYHA@VZ{vqA-o(;A-caAbYAe5vnid?^aZRawt@co6q}}C<&aN@l;c(*5Q=i4-S{-ZR zF5L3;VQ#zE=frL>unJ*=QH9Oml;7hUn^1(=UEG zs(56u-yS}e`h&$+tf>fjd*4N_Uki?rQK6H&_@i-VkU@iU1mUyQzZt4*olmb%8#mcD z^*to9*E9zO5+VfkI@YcnVJ7BLJl18Ul#q(&;E2Kp_;d9#;HJ-Uan5KVsA&KA8twDB z9%z8-GmdAlmad8p;&M#PznUMqA3(97ThKE7B3bwq{RvDMN^z45Q;k~ zL4sS50D;`}x%ciMkfIEgBsn*+L)aTWCn zMt{K_kh-FYn=IGDD*(sQuTb3Wy!ZH4z~ zXhWyvzLOc%t!s3R(ubq||DNNVOML*K9A=&K}p?RhYVdgmxWXeAGPOi%O zt}z4YNXaRra_VWrSfhtX7Y=UwOEG4Qd`rc-O6O8B>qSk)agRF24viB(Bp)rw5pyvXYIRQd?v7b0E&3G_eBSC;ubmy zq$-&`(X)lo<>{1%5ZSMpB)FgMI<}hER6?-6R&u_dezra<%8uC!@~iYET3IQDe(K*p zNAO~x?MirOD)e`2(uu=AuMB!Uc3K%J_c4+U4N8ss%M#tZe}8{S23C4y%fQI2m(B#t zLvXWg`$FI7Pmsy7tmBRgt=X7TRkzY*?+Uxod|D0OPQjm8-bZ@ggD1Jnbm1737aO3* zmTPraS2)Q0d*z}T>>`V^QaL1Vu4xN5c01`E;k=j+3)qD=MBqDTtzOWLaZ1P_%bEQ~ zB3FB9b$RGKi(qWDcl`kSsTEo@vvn(um<_S<>L2SzR{oOW>ZRO?w z_%}e(SLpFmB$wAz?aDdm$sUT2uWRx2W^mlj&@Je86v~!Lq=ILt+d<@G4ob3+-RDmx zYm0s(U&4%(o^<4JY!mS=JWi^IQGL^Ww!}h842LC=O6dd78XSz0;F}81RIMYWE-Pt- zbZ2g59qb&?)C77LIxYy+lH^ypdW@QrMxk5hPYIJuSH@KpD4#`0&^w-!CFXUtKTccx zR#DgW$_~#|f9@I|9eZ-6EVy|R70-F&i6waJNRYKG1ryXJTIt0WlU9^7_UrCs)5Ow# zl>$TBw70OD0&PcSwUEDNfqQ@(;vFQXkz3~j3uLPjEDl!a;!R3@yGJ}%EpC8?7mVz@ zcmuZV7n>n?`n*vRaFQ=&q$$j;kzj?48b3q@D`9a^HzkP+Hw$tN)LcY`IOpgW zTr4H%uNT5hWFf~^duf;hOlj*JFSLN7X{i}jC?L%S-xW@*0#k<%*43;artYFyj0g5= zCF9`ZBjqt5uSDD2i!_ZKn8*QW%YVB(3_68Vm4%FXACm0JT~U46P!TB(@eY^(6~1v* z&N5}c7UV6`6Xwr#e{G*C-}Q#a(Mag8Nwl+ic8 z;)Ud?Oc*mrMlEe{57W7nu5-l&UCJtRkiOZGlgV^2Sh~!|n(1;oDJ^ukZVjEp6hMe) z@~E4QR}3q6J!Be6{>yMew2v@X@D?{5vkf#P?vTw~LjTSM+u&C&l5Jn9UT&zCJD`JO`vF2X%?kK z%S?K~aio8@=WoX>R%1BTTgLm?%Fe$RO4Q$T9j?29h#!$;hg1x1`(y<5D&Izgh1MQ1 z+STtd1GcpWmz>6hn%5{v2nQl6Sj6=dyPeWQ-K{Hu+7h9@r}B0V{}KlxwKW9KdE>o$ zE$GrmgY8VP^7r(HWnb0=akgB|k$1K`-X9HAH>bP?0=LT}N9YmgTjH^KS$?dU$k|A{ z+h{D`odl@IkCIysN&uXI7ddLao+)Dtob>5eU{$;=uF|q<7lPSS~&ypoH|^ zv3X^yPNZ~ClvG#{nzD{eQ>hJ|&xw)k^HzMx`+PL0@%6yAY?5{ceR$%=tgRWRos_;|SQ zDs5wI1akb5Xt`E=jP!iqF5gfh4AKH&+eNsy%(C2jp-6(FxCUGZ17{!dQ- zPcxvjYkyUcsBl^8dF1SR@TSFbNO?>5l4^kXS0v6zQk!OMgg6lHY-8VQrIzOFxSSyb z8GY29y;I(8Tewv}{R0gv$~Pn%0&ir(<)Gc(t7U=PF|479>w>2sLP5Rp_=*B>J2ols z`*!{Gd>wk%(|~g)e@EquQ4TmEFLQVtlBvV!XUd+xn{xm^Qnk#bN!>`4t0z {{s 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 literal 0 HcmV?d00001 diff --git a/windows/deployment/images/UR-monitor-main.png b/windows/deployment/images/UR-monitor-main.png new file mode 100644 index 0000000000000000000000000000000000000000..83904d3be2de80b1860b56a97e83a7bf1b71921b GIT binary patch literal 177680 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%0Ap^Tk#62*8Tu&%FL3djk>l42A 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

4xmiF(Yo?o233=gm5 zwD^E;?-eqB4(XFi+kSc_ zwqXDh|HhkrLcRNcYYpwXVl5pt44BY-mmHG<2LeJv8nZYLF4*@xl3MJ9ZB6uqY!ClB zA7M}vP%xjJ`2`fmJTxCTpGM!bxaq_U%X+)YBSK%NoqIso_=l&ol#B?a=J1L$C;%^e z?lj2Wf?UzSc3s>KN0Ez}EKNK^=GE=7bkusk*(~;m4$@UCddJnoiA0?HO@HW0NI7LW zQLY&}C&Ko=_MT}bVV?7z#g`SC?bd)j42*Ao_mK~JAMTBPASXK@`8~gNl5SQ{oa@Vd z0RY$^a&Gwin6@`a7 z_mxWqvQGnE$cGpCuJ&L?2-dcwTmSSon{F?!%CpLP{HV+w%_hTEms&J7x+K&us65)k zDZ!o*fr5G0Mr>iod+=IxX?7vRNzN%%BQF|i0-MJ@@)iV0Uh8$*ZK zPDj)Vbhy_vR-#8T=;5aYz)SiU$AG^>ot(+&UhHMPe7E~V>AeO+-0C8mv(p@HQoWDS zB7A?H{0SEF(An5+%onndtUKJodi=@$Q2E8MPOKiJEbzDd|GNUw^EyR z_k8mNmuw_QIQo5P{+jxL;kXYOE^Lqs1L^9?#Q7u;eG%Ry>{V;YAi3)Gn>X83+|ZKl zeY+!tGkrGf%epY!k^zyxFz;^9b;^OY-oa9b{8+B3 zIiWt=6N5)}&8PIRR7<_K9LYeGTtHW^SA}REcM$j$^cK@J=d|y@?NbxAt@)swX`b4j z<5s7#ok%(wsQtTCn_Q@KblDRazo+aY1u?D4QzT5SW}>cH>pwqZ^m^?7E`f8pKNMxg zzygh1QGYvSmCv}JJp0R2j_{YAKW^YmQiMNhxgp#0p1JV&TDj}@sp;=+nyigCgwev= z*9GV!aPzwRF+C@wr}I=F6za>6qHM|iCFP;KjG(CgfTsM!(DJ(h+F+Z_J2K4bTpH_f z!P8;Yn`yA$@ZV$N&n4j{PIo#39sh)mI^^AFS;jyfCN2hBL(5tLcX`lUj}r!#^|GyT zkvIRb!kh-^GvOE{%^AL8fvML-+6Z>|jcZ_TaS+O{smd-D&Pvb3@7>E8ZVYEUa8P+X zHl8nPd1?oCeEYp7r>F+AwWtX>9?f&sEaCaAO3}K$C?&V}2}71w7z6c;XYtHxbHUvJ zvH%8%&7Rfkm7i=@&EOFshxM7Q^Vh|?LT@L9NODai1L&zim{tvUF6AB3IrNFEHMX=2 z{ZWJ2qMl1%I;>9~om6?q-kuk3YYfDGD`Wl*=}Zgx7rv;C-yNz5P074B*Q)Yx;W;(_ z-joS`3nwCmylqg@e}J4jLO&jmkr{8+@5r4oZx7c881T1buwKON{K0Uk>WF@TKI->8 zpIAdWP-xnpwkr%EudIN+1;6Nx_3~n~R~GFofRS%kTp@IhABj_vQI@{!?rOOy<#x4( zR)|0C0kd-Z5%>nQKK8tXQR{9Y#L1( zb-=9kuGIYov39dc$cl|`YH0~gt(I?#+dfyp zf~=1-j(Sj<|CW!EHQV=)?%UoA*Vs?+VI|qH-sp!9?6vG_D@=b^p)Gkt(QKb*$B~io z$BiFX4G^!S2R<}v$jaEEwG8sZTEs>6YojG8Z(OaCVcDcnJ3a5eC?^_|N1 z7nAm=s7ysqIu4XbJ)Su#)VXYYn^$Zy@`oe`sOV7yy~ENWGc|Q6>2asB`S*+WQ_1Ye z!IbgV1@Mj@3GfK#r+W72H$xwA-Q?LA{Wq}pcF9o*$IT@cPb}I^bzU22PrnVqQW@xa%1YrXd3|<|n zU{gU8+<<@;=A_2DkkLU>RqN30e=h`GhVrrp;()UnNpm^LQuU`L6Dn$YlyB4~Tm(+O zeurp?NnZNA|5Ok2+x zky%>VC39L%{QBI<#5iPe+ZEr_NB2n&KNc~RA#Xk-BPrx3O4agkUr5^f_7tRriGqj7 zqGGeja+%^B{h&+uB-LeVw5E!Re>T$c^5|Bh{}WJr!xr^0DX#s-tnvM&*g#30BFSg# z>ApUARaMo$tG2;qWposjl>aZ7sM1FJVPBF%-E)@Ee~R*wLq52~t1VXUP#shnRf01d zM)}_Pd>b!XKsv-i;4Pq2`BM;bZ0WNuSeIMf{F(Zre>TUU;6Da zUz0SzmmL(u6jmV1_lGBT{vON3k3nIh(#Y_Ng~8^SoH01ETS3R(xN=A_y@`_IePL;2 zz!{>(m%$re=z*j6&LmX$m6DI(+@GtP76;ZjB6#!zgGFu;6j`Ghj4VBph19msbyt6&EzYmrRdS zmJ>QU##;6n9FA|8HI3Q%Wgt6n@BZot7U<0a-Y?Yigk(@Cqhn4PXZ0-1{Jm_!{yeK? z!}G`b;KZyv%=#|9){>CE#)iVx9^M_@-_G#B6T5o$*L~|109Yrs85&QR6PU7eWTk0m zEZdgL5{-H$Cxin?Ort!)=93}Pa1qVp$2711R;)q~IIB;nO*S*oP&jArR5HD)GxaCQ zfJs?`?)~+_1_NDbBqt|BKUQ{giw-nw1bJbroT>=DTlSSnIdsobyh~h&~@2jn_W9A5o73? zq@%=&ITNyp<2979jH4*$?L>>`6SK1={I%iOmvnN49850~n}6_FM@mN&Tq&cs?NZy( z$rPQ=YYLI1|KbygE|{TMz7XD2UceFL!A;D}RS5A|wn*vzsobElW@mnPZ+{qm+f_|LP00zVsnQk>fUYi` zbD?TlAr??_%Ml4yw-JRD??lea&KQZDzo^T2md2;;y2a#1?)M8K>BTUqa2plGsz=$D~;C z_`5DJJw}M5{zlq7p#sxpNUtp_rooJ6IoBw1jGU3@)tjU&l2a-vp*AGBL81p;N~311 z|5v1$byMW%!o@WEc3~MG>Y80u88UDGXG;w6Vihb`|84~AeDq@3*)vDlG(3p;BrF;*Qgp=a#5k~g z;3Q?!E{jfC{*idB13K^u6=EldqrVY#KhNkj{FJGnrsmB0!e6@z4#K^rSxsiiLCqr*|ccIGC;l_*j6z1*(x4;3eZs@sR! zL?1O9Zs+n0oEo}cXIIRyY?GK&ACivT$<(xaSse1Md<^C@R#;eAZx0bon@vnlkI<;d zIlFoCYtdsFvv8fN6|Ys4-Z$SXf*?kPCXF>8Er{7eXwF{R0y<;-Hzd)5uR?TCA?e8b zw&Wss#|vU-x;v`La6-DerV-TqywziXfH3i|x-U^`g?tfIGj8*ZaZ=Ya$=9J)fyF{mvqmTuq|pS%&XLrvAC zUaAK_L;KniYj_Rl&SacFny-fLYS2&SA6r{lePY#bqcUi7lkV`kGMU=x>gv)yU9sbF zHZzkrJv{UpCj2-7R(fUZ1TH*cO7hGRzB#DUQ}l4H0@dQ;e?YbsH+smYS?>&g8xm?B zrK`NWxg#EfqN8Wi*!&&j8W(d`ZT6FkZ|+FkZYCCGbMy93Gd z6=0}~i;TAl;rEGirRyzVB@RgGsfbG?@8%_C;05sCkje%UWbYJovr`%keDZmL!4GMw z{DynC5S%O41M#x^(WU19FbmdgXlXc9spdWI75Kl;(3UG!YWjGoOuOPhxc3?YMt?pI zh+GB^j55<_rZFAy$@l~f|A3>|dr&lxlj52FEK-={vY3@z$d@}~Ml4g862*_Ru}32U zrAVH|rUL|?CKD;rpF?n%pfaX1_Tx+psrn&B0EQz~fz)VmI*$=!X`A|NvhL-*QxshB zV!olJ-&|pH-}#Ba@~@1{A2zrlaPpNi2v#suiUd;pjC)1)O2MBHFLUD5*TXItfpXNNGFMh#sz8nu*bbDQzY?vB(V$y7vVNdJL`izi?hWEb<2mVF&8IocnO&=F{O?l^x1$FgL-hsUV^>q56 zn5a-0`~1fiSiK7vxq`KeSzu7?%OE(r3KH;pH;Iu%i5{yvi3OpRODq4~z`@zU>}1X4 zQJyzHtrS6{pt-%3w_iq0X82LSb40s*a2?O%%GZAzO3vY#4l6=ykfsT$Z_n2c+AQoY zpuAhHYW&y11l)A+`NXpBYSmeB={at^&H<#^^$oP5=Ba%UgB`JZO( z;gCl0BN9bx2g1#_Or&x$6~kSc_pN?NIw8BSS7e4!l>9jmsw&U&H{Q+ZteZ=oUEF=mV1@d#$P7qK`uzZ^;B8aK_||LAVjHl3xVy`qGRv>i+9a zS-Ld2i~dzn3#nG21#V~K#N-zcIer%y4!0$;=!Y-E?63ORjQ+sBe>pNR%5QDn2cWkF zioW`0-(titK)%!i#|D{tV-zN!vOlO{U?tS+>O#>afT7><>mylx%vd=s|7&zX{Cd}W zp^e#R)`L9Po{_l18)Hq@!?UxR$E|f zcB0F~V>3b~&h8^@EL@*ytmCEcBOy_{`QVXl+aM@k4C7)VrAM>E(w4{|ekx zH~fXSK{Zn><6%;Bq~n=T`ZX+w@9;t1B+w7FKR&ciKGHC=-bldmQsm!53{XfzN-PPh zXNRxFk`c?tUGxPv3MyLEXX#k8Iq(AwNftKH$g|cd>3HtrB6TrMzov$|8W=J)*HDT(Rmb}SK^P5s7Oi=_u% z7mAPwuM9Abffdu6wO>P^;2!Dy8H-Btlg}fbx8D(`nk{fR?)A`G7*v?uY0z8o(#*bm zo!|=>+0k4f;o;Z68s~9!V*2kD6X+9y%zQJH2W~708m|0jHxiXK_@Me1I#%oIm+YFx zvgPC>&A8m(lq4b9`f_Ia8Xm3x{_bTK=tCJibKBbgAl?s7(zCJ+4>kq!kEeRZClslw zy1&7%P1|~zsw4Ks#0Rf~7sPvWtsEX5 zU6`)va^SoU`(LToQgH1}d*ic$ifk9T*S1b}VzN(H^cXB7){T42;!H8S2j zEic;*0XNn_Xl*r2>5!1G1%T&AdY;=pl%)9p`i$lE2HoWaZ}mc-Hb6z{lh$Np*82`? z_%BU08V%p7-!^)lMfevdS_M<&7WJ9dYIEF|BI%^(?-Z{WN|)h|-*}D=!@c{y+rZ7o z5r+l=p&rnVsDj6B-gg#+V%o&TLJkM`yex+KlPpPUN@EqapIa}lyom)UWf$<2eDAO_ zhmbYS7GrDbvyozP{T%Qr4A;IZq~}bsY|t=Jq@vf@QTAKC`_+ET$TE*^f<|VF^7o*) z>lGK1koi!a{d7&G=k40(I1F)UjOVkl{|E?|QI!Qfd?O&ZyM#8T_%yxqFVV5xW=|)I z647F(C7HCcfK%+{($RNfKUY?F&3KdX#o;D2-crXVQ1z7(^pUZROff%t{9veyJBCNY zrKZ5OzrKv$U*!h)3^uYy_fS34KX>fn*wc7)1Xf3gd9Wz%b?-&@B|Dh? z?#dn^Wn_?N3g1|j>P?xn#*e4rVFs<)mO75KS9EPV+~C{L5O^Lf0lj#oN@FV)&W${S zzZ3PYgg0^M-F#X29X@p!dn)`VwJtjCkG$6p)+Nc`6`A>$=o0V!V^fIjS$dCVZ}#&S zEM51r@i%8ebz|D*n6w+i#zP5Q|8C{&D4mFvO9h?H$xH^H$;b>QDr9$iTz|L2eW#W-d+CVuH6^dZOG*Ie?chk*7ky!1zGG{2*$KyaI-qoKM6ulqc32j zueaiVftFBYThDV#^Ma4>7QBe^^z9EYp^qdKcR%TZK0sbhS*p30oP76q+kl6UhE^mj zeYD>`UCPBcJx#z3$mzb*s`GSj zbya?}sB_|_w?$sc7WjIL-=>>&M3O^6@BfkDBMqWJ`z67zcH5AUF+C2`-lL1-fr`&Z z1b;xeAn`hWVm;6tcf;m%25coGHPHR-W8LBvOx#7s?Cku|U=-=1y3CeUxulNGj5<|q zZEit46j5DMl0sENlxUQQsji{=LH3FI0bDLsQ#lb;atejmt6gm(L{|z~&O)mrd>URs z^qQ4#4+*ii#iQL;Xg=K#(|#zLxg@&JgR%9r4K~mF_)uHBxr6wLjGiZJKqYH}WCnA<9 zm>57>|2GpI!Z$@*Z@oflLEcm~Q2cX=gP#v&|I^Zq(4Dt%0~f$_?rTB@NVcUue((!- zOlWC+Cts|5g~`-A)uwMYx<1OGS@g_fJv%TDZ%&x%&pT3kG+9*6g!681nku*0u~(PI z`0jJkBq27A#o$@WnFU@sHyN5GX^X#-uKL)8_?M3*H{5`k(b@ZNw>qX$m)O_VGT*5hq^m3_H=RW;^njS`!(rc=1Ry z;UY)=5LB4P>dJvWwetirctvrahwgWauZE& zkQC_CkXpBoMNv_HT-Et8 zoc+BJK<%UK<5T;KQLhM^&7Y{eH2~56oMzqE z6v^H5T+|MyQSrC4V7T|ZVA$|{e<&f*cMR~bia(O)NjN^qsbpSLvhaz)DWAY892(y( zvA``&aU}Mt*IZ90r{S;hjgc2eGK$fKp&ZN3Rj_97h_El;^|REfzr5RWA>Z{pmd2h0 zr!`TJz&YaI>e&6xX3Sa|hwS?J6^k9^fE~j1+kdaGLp+%m>)jkjS#h1@W1}^C6K@+S zQTF@AMXEl%lxtVlhI}c{ujVNZ`zbV(#lzw-``Qf`$k6b}S$U-pUAiK>c&45OMVw*hfO5@e8k*u&K41Ye|;Hcj3tRE0t`)t1I|}l{{H69Qidxi z6XQ1DJMRqFx?|rR$S^3{sd-w5)FZ|+Ac!cw7ki|aWPv&ScrLbSz_cbIAMWW}a(;te)YK*%m}+^|Dj9(^x2 ze~%+%MMP=IytwTYcXD}!&$SjUhaIiL9A_g&UX{epqbrQgl!|g*xrefc4ZkN6ZT9B2 zLUz?pK-8@zN|ttV#@zGra@Bbv#r@Nl;+?tg;C#o`@$sEJ=lbeAe?qpR!l^jn zz(V{&BJM!ao|Ej~W3_Hx z=J&YgnNCEk#C<{Cc=K!Vy3K1{F&4LX+$*fdbY98ib8dXE+7dX;E(nW7d^9Wx{Dzp@ z2g*arKXV%gQtlfaUM>2#Qm25PTG#C{cRvAPV?+`fQ>uwAo{0eUaMz9;F!Ygu1{66R z)}HMkE(9L+E>i z#of^44JSR_?mpY|%sd}5n4f9DHhqeyhb`=+yyJ@6+@1$s7n`<5V|!=g{+SHdxaXJp z&YhRiksGqu<_Yuw4Ye1X?5L2%1_T-H`&lp%!~~?BfNe^|9hAx`phYjucbMpGQwDtO}-!m{!iN zrI$EV51}3~f?u6C4nvaS^FBsXd@f}>F+8pMm@7R&A`+_pMc(2!LHyvTo=UCHD9fp0 z%}qS5BgfITP_v=@(F`9Usrshe;*XH#@Z}N~4W?1VoVe^ci8&o~20cD0rdu7@7->MD zY>IH7BXA%;r-qciNb!-F(Q-0`)5n~ME=u?u`)t88z$;rwWxjF@D0-Iu^RP$U?;c*cmT}Dg`6`ImA%G&A21+?BY_m>cwv`=X)Dd@<;N{Mt6gs-Bv)pk> ztgZ^p%_iDR06TI^#KRG#>?BM5Z;j4?J%m^;sv^oJ_`hdh4IA~||5>2)2* z^6VcW1p!O}+Lt1xm>`mhcF-hFkzyJrOy>4#cgxhLE&PZ$BO3kZ@0YztE(RZ|Y^}_^ z8SXi;X5Q#K#yUD?{XlII5r-KB`J;WMqXI51bZJ-G{veU~)eq#QvaC;N`hs?0 zC=@I15UfzF(4xVml%Pd_w73O#Deh1tIHkB3DYV7iH3ZjEtQ2=AxP;_O-}k%g-nG~H zBl{#dbN1PLpP6T#nUU>K(cE%~{nclC=S9XL_+JX?0L1R3wu5#?T4S;E!MNKi!?fH( zSLwZ>%%55p!#|QSqsHpN9qFY5Wec+^F91+P0(iOYijtZ#xs>r+c|dBmDXx)7#aAl@ zd~O>oHNvw7rNIH<)2+%s$~z#6&Od<-6wa5P&7VKFr{QK=h`i!uCns-*F!Efma&%u?n%LuW zgj3@zaUHs^(H`SsjsOA-K9DNh)xXZB_t!UQ^E9ngc4W~vK}^AAq0Pvi;K1=4asLgG zmpa%#TUYkeo1w&hT`Tv{ zIP3H0QJI;bFBb85FZndf^QZoZsvW*TAu%-QrRejKn;sKM?6BZ#?cAgCCn%A7^1J~M%R}X$YyZPmwysr#2z;a}V_3FZ2 z4cb>@6QxAuTrUljy#HQ4Mrk~~VV3$@9una_iVerF1r7Fpq31lS>A(*p9x#^4{t0mN zM>5EN()aa}o(H=^RT8hTSO>3Ic%$M2f;4GsJ1>}Y8IuyC4Q{B`Np2f?&58K7;I z)o^65w3B{*0=-uG2fRT1qx8ooHyP?ArL|b!@HNxO|j6UHO}_#opSwd~&(w z-JXCMPDhyO$22ZQVv~<;m+nv{VcRWR@xO1}V3x>+d;Z69@`bksAAjjjY%Ag7D zAD07tyJus+mB1wP>wB$-Q$Ogxs;E?VM>hzNEn4mm3)82+Ru4`$(`5rMMkmyZxTLG= z>IgmK!PlyoOM{eJqEIk9ayJMgu@ExIy__#Ixt7N>sch+i*vjueJqj|A% z&?t-BDb+x90tzKF2+laa;k*e1>{)>|htuCaZLuGF?wEGE5TJWJ-L)sdzeG9f;kq88 z>+)Rn-930?PY@l+$I4TNk;bNI*%OMSHBAr8nN2VTRC1P_&*t6n)yvq7RXo$Be^|_E z{<4lHa z?J$^uT2z=4<)AFv4bbLPO00RWWcU{&f9shjgB z9q>PddnZnWs=KGC_ir&ir_V1i+;?*GE$5+FmntAMj5U(y)AQd4zC6zJyXbSj#7P6s z4#~XnmlO(g(W~)r{l5cy!5S7HcWmBH67edU9nqZ3%dRS`Bux*M-nZE__`d zJu5)YKle>}rS8~V24ncrBz_Z)YLHnjXSgg8JNhkds>8!{MLPgI?fYfTlPqh_wR8On zb~c^nCMj%ZNIwwINSK4O@Lw$aWHibAY9vj0_+?+t=M0mIvCgM(Ta4+_`%AV^$ z7CSljJ?RE$`}_2e>f``|X2%?Qk|0Ly4j$<+7~R7`?H^$iMs2P+qHgl~_`Mwf1FG}_*O^&O)1{k31@&dRskLsJkEb~KWe zDZ)$g=krs%m4Btj_@cu%x7e&)=h=A`Op*_oLSQK!HOkI7@V`i}LdlU5J znuSvsdxo^{%eL89w|=2a5iwlR%jeNMrG*_9BH2wxePyGszoMq#wA;Vkt0$NTF&D3z z$>+wESy}xF1{@4yEXtf~HogRrD-~=mN5Egut?JTTH<&E~Yeow33QDave*C~XTl|v7 zHG-Y}&eq%$Ox+i*bGCk}$2PyM)W}!$XYDm@ynr~Q#(h%83iOs%diUv(em!9nC!nh9 z=~T|71uWYmbTIBq(YZ*7=)}q3iO1}jsDictFNJs{{m=Q+ff!6WF8(L_tze3i{EmoV z&BW8tpuVH5+u6ETc&SuuPNO~Lnu+pRj zdV@QgKMEIz)V=gA_?c&RnS@b(n-%^Pvn8hl2b%zfuf=t@C;QlR8D#2g^?K}-D0NJ zN$(f-0=6Vy_dx)TRAi=*1Vvm%m3%TA-e5~B*Sq>&okix+`DLh&YMuL70LjGq3|Uoc z4Al~GFCG5#=7uN4>fxoBTRZLu8(XSaPuX)E%AQU49;0^R2h9xggWm%Bk1*BTNlp2b z6=uHoTNZ;=cumzt;Y*R&^UhHI<|LwBsHu}dJ2j`!+vqJ~1r+j|Z=gQ0i1SM1ear9vT6`m;FrA%79_vWsPZ|7nVVdO6T zCS89eWUQVO8@6uJvXvk4rOmk|Rg&TvClTeG{LN0t13WLTtmfhfD6F?SkZQXF#SE4W zsuKi!Ks9d4^rqxeLOw&5BT)^~)3tUhsWIPfs{sdRG+EveJW+*k=!ft6XU?V7-jA$f zRq-1kA$6FGhCqi;p+ancB$Cm=4cKV%c08-?f+g3mid>5n1%y~pTT2XY>wa>|c10>e zUa#h8hRw|eqV+{@F`tCvfI7xlI)3$}TESE-qGQCkq^zv)`r4bJ>vMR8+NV4tQC2N4 z0@`yc+~tlw){5men)26+ZlmQ`h6LyJ#tUs8%=z?l_bPt{Qoty;r@F!J6f12GV zF=!+g{&XXsmBeQy)>f_>eb$wreiVHq=r&r4zPzV5AKKj8#e7W%K3eL+@4d)sVI1i@ zgoRK0Y#9WeFVbI*|90o^m+9#5wuYTnIeRa=;a z$n1ETh=oe0Ap29t9G`ZH-?<%1`2FK?L`1Du8fA%i>wJa@EX3vn005}y=up@@IXOM( z>FFu`{P`1I5tTM-dcD9;ilf5sGH}JX{%pcveDjVR_NKtLGb4d7*{>n!;;!1K>UqIw zixpk5)9Ww8;X_dsvWrqf70pi0>}`q_H@fiJmC^p8Y`zg19unP!i2_+o5vPSW|Bkt8 zv(%9tD)e26k=-YCh7{OloSewS0b^Mhs* zX~Cq@!HMw;)NL;-xv(cWL8Qu|eUXyUL_iQ`5da4t2ho3ck!&ueN+_+0=I6ohuwMLZ z-kdI8r)CV9+G=0C~=^H#G_K({9nABAggSLsKFs%ewhzkk?yJ zX;lPTOx#Z|&=^&xSLdUQEd2h-3;K&6|9?ei%d`x#Er-G*kul9!Xv7|PX zrQdE}8Z8Z}#bxPyU#L2vE4y;$*Pg#PYL-KXXe*zmSFp zztA^sZsb&ph>(}tAc;^GrhmS!oJt!d$69#phuNLv8x&0LaBL!gsAZzX!&$Nr8S8BD zG8LnIkvvDsy3QZ7ClM1R|AJv!Mfle_J^Jx*72UWYn^AGc++A;mzDx=-9L6AAU0gVP zPX5L$ogN+>C|g>xiIS*=Oyj`^56aVSwDTI~b>6#{^FaBP`DvZjZF#y8VWjvtMmP2* zoWUWZ!Bx#4<&zYZ`G1crnumfs!)X*M()E35X=%$t5bopeQ1%Lsjxx#$kA|RW9nR#SIe}4} z$Nm>&Asq!J28%4eDa`zh=WI1l1cVBS-!wg{6lBxB^iF5d`Z-PjHuG#}qn$LYgYQ)y ztk-v>!z^dNRLIV0(&;x@4=A+m+yT3Hw`26BxVNe*cS4tDgVpfDmcd9J4tgnW?&CW) z36X03cn3BjFW^q7EN%?8hj5z+dWsYU#7!?SfsCY|9>)4Qzvm2H0Nb<4PZ!yFTBhGRR{kIDk` zm;_0a<9IhQBk4us$}ZzdvxB`7nO_NF0O@cPhis`-v|EVIt>)y&|mwfNc z02$HsoZ0O3(Q!c8((;HTPB&g?YU-`PxDBNI%BL~!WMS38ZZ|-RgXp#1=vCAx)gcAF zRDL>==~Od(>DWGweRg_953jcI7*(tNhnYd6M8fcPyUDTghuibYSqyVyxbQToPu=GslbQjl6*`RzTk7$g6H<@OBI0kR_ zLw#8)oTehP;)8T^clBIL^` zVCDACYV5O_d_Vb@#B>Ex9kHlYDP;Xoma}rulh87B9TlSA4l{B4(F6*q=Jeek&N?Ek zfB@6p=m7(9^~+CcQNla7`U}3^mJ%I)MN-j-smuyxXwJJ$3Nobz_aV}Jh{4v3Q-N)q zbyB2)m3+hV7ukT7fUNBIXi3nre4l5$bKT)2k$eZbphQujo8-Y22zlY4^CA}YuQ6Wv zKS3E>SY9x6tm$J$W1K$`oCK!i(ojB2`hMoydrqKR`q?ib#(H#wm`Ar9F?C&Wxd$xT zHGpx*zh2Bm7pt4T5F{FpU62ZC(DWdz@U5JiCV<#Mt)1UUF?8&F85&@%7nlZo+vrBO zkeglE(~TI&cx=f3Uc56L#k;CI`2T-^poC4;XV%Qg{vLg{&ICekR-6im6B{uqO3s{e z!pjEz#Qc26FYMF=L10)@RKdGv~GDk_nOK_8es;<5-@XJuZ zpVF$s@0FF?_j*Mjl}U6JEIbHw8vOV0ij|g71{2dY4rba0W>XW6#=J~7CYVHOkWi|FQ5S**&g^qfrAGzxqifl+!=e^*|S8? z6AB>&!}EPzA$tE@6Vsi3T~upMKAS@OePHP*xa3qC_! zU1W;ie_UpecJ;+59#vjzPL3q< znwA6JmecxqSbda7dFF~jZ26Kitv2{4Q|>4uxF(A|aXu^05h`YB_M?Hol6m3?IdQ0e#Cm_V%4 zSs>iWa9%tF z>i_9naYY&}*1;&PIpX@A!g1c=J&bZ$NYo14XAbllDH}qXeQkJoJ1Q(l*S|T}pBXL+ z@KKiQkBNY4vyST~;Bx}Wz^|~EiqkyhZxjyup`7)LwR72x6CL#Fvt$YIbEU&!h6@q5 zbZ6bJedCxpL%12dfHM}goPpw%UIbDxUVzX&X7KKSivoz!d-R!Dl$18&6p0Xh_ADn{ zL6=^PFUHfY13;EyE8ba{DDr={LB>V(l znB&K7Nlke^KPQOWW?LNSsh6in{1DIkEB4$<;U!b6AJSm3qQ#D|$bx3EwoaY-0uM@I z>S2`(QL-|9Rl8FM0@>&~Rp4ld2I$7?W?BswD63CMyQG=t_&sSA{BmZqjBs<3GmpDkr>^b;548Kzfs>Qy~RHo#T;c?AFx^bFIg>f(G z2sXXUJntheEM(3Y za2liS6pze^p7PhdXAP+vPQS8lQaNP*?cfX_>m34FrFjZi+Z)Vumt$UN7wC#u4948Y$83b`B6yIacZb6W&AALaBy=le zHj=Hym=WX5{EitPxHc5?>_6lfIl8>S+LQo@*K>kVD)it@K=r?sXS?skj#BV20N$S6 zox%#kce8veFRcT!oPYT{pwOrDXzmX15u%6vJ552jp+^+*f0T=!%5`gkk{~fyRmCAQI&>hyA(2qmCaW zF%34hGnx_pE7?eeYS|JVNPHdE-G$?qmSl;%1iNML&_xj!Q#=~IMlRj1qUvy0AB*+Y zJ~oUcMIF?fPI1Qrq+b-?$3;CZbnRj&O5Nk_byv6y1O(1&5HgFAMgG_TP{UAF>)kga z2E5{))YCuP_arY2I{0lcM4NX{pVsWzsV~8|FzI~#?V6_aG7*+x3xDBs_^YGC{!P7-bPs z_pAJlMAo}%H7pG>xh{*^XMQeP*~v50iVnT$tL|>&j7(x*4XD6-tlO*N<0OeiRRkcK zPBEgn&+-$aLpfRVUM*BLvDIC%1imPqS@Kvgac4i+lv_{{mhq?;NHUQAVMTx$Ek}9{ zv_RFSL<@@+ihTLhsyX&XBev4(KQ?dIZo=`FxI>^ssq7;qK`zn4!|YS+C+f67cY3Er zn%cuXYu}Ht0=5I#C6aiFr%Pco&Gg#uKPPR)j_g($ycAE`I4@il3lRM@ zXd{(){#Te`xtVd-MYL!mc@VA)rsU~D5JU+9G`ppq8JOfktw8YZi>5DR^{-Z!Ef+jH zF;Ig(JNgHV-N*8#*=#46q47x*%03lj>8}D#+yZYTp=5R)F=o6=SYuoevw8mD4P}PT z*AF^)pOEs*u$*cs9G2)0-FMhZBllljFFqK%UKWdI#}tZ_i5=mHxGaZr+Q<@1Peovr zRhy5ng}b{wFc~{>WJ+7Uyq9=f2)-oGKA;zH*>Os>5|<-n4DddUBmx^(60gCtJos7W z69Pmh!Mj}-Q-TEiK0B1glJ2y-)%nn$jF1|)>)YFBCZxZY@93Aj^Kn#0dyleal5@!W zPF^j!b;^XUCr$Kc))_}&ebDdrmqpm`^T($z(4UyVnoN||Pjte>Q0P8e98Tq={4V@V-hC0m=jM^NgykMOsM;5I`c7%s-$PLn26;8fb$^A-oLvE7vlzS ziZ;P!gD2}1@Ot;ak+-u&d~mZaQD&AJ(eaFIk_kjQDN5!VY7mqR0jA^h3#t-}qzuqg2B>38HS znJc^|7lWjYX`!{B(&)lsF2$2ylQV_7Si^XSVVsgHX)<4?wGkPqZ)mf^6)n%k9Wf+= zS?72~>HBWm6GSD)uo~tB65OkTCN7{JUxG1upug!D7Y{>nTIr_L!$?`LCZ)_u1|&QA*&fIQpbn$!OSopsBdyl{Q!v1ZI8D|IR_N9!^D5aUka%TqGWc|ClP0 zOg z*8D`-$+VTYnJ>TpB!}MA;P!>;ujPe?Ef2!%3x@n`L5Ayyx?f&Jx2uo0ArE~|OTOXO z+U*lKEd)?&7yH0v$tJuxn)~@{EFTGYQRf&OGBQLMQ?75G-dp)awC#AnH+pMEc>i|% zj+UfJT;DRm-O&Ifw3{*aR^pKS)I5S^NicfpC2o8Ky4h_y7<;8}z__t$9JZ-%0f)8T zn`H3?Oa2#{c+rKHsB}JXYT{snDv55eAI5m|me5!IJ<_$2bG>AIL1^YhU#n`pXvvd-Zyz{3)buQe)=y^>& z7-sUB_zKG~L5_ZDXR{Qyd?`wFD0?i<_1Xrbh2Yx9vTy1i%HaDu&wSVKY~3EFIE;y{ z%{R^n)bj5rnf7=4(>rZRox4JbctqCw8#!_j2P{tfHCs3Dw541`O#O?+)nrlfn38kL)&oXN-za&7G?U)~- zQ$oGC{PQjC#vL)gG3j+n<2wJc33oW8zJ`fl0k0N`CvZ56&=fYa3MbCAReDca@z!#` zmi(2DU4?kZCmXPNkXpD*dM`Wchq`f4Dsy?6cF|RArQ|3zk9V6!g^R|xw{N3O8gpBe z!IjelzGLF|E(KZz|BjAdUZ4w&RH1T9-B*V08FSnWQrOm6OqV>PN}G8BrG9U`*I81x z%UCPFK3V)8PV+{$8_A{NQ*?i5#6>Saz$DrG`8icf&^C@nUS}*Bn_`d4jFz~Sc{wiN zp5&F%%f1#*IQfA~?%*!qx_D)kP)S$dJW%iKkbP-g+1>JQuKU6{Txr4Q8?_6Yj14TL zb`p(Q*$ER?r$>rX%Rr{)jodEN&4xnKt53#4cpfS`Mt4L`W^JJHWoCVdA8fT(aaVTy z8&{iwQ3tgy+cdYHi!Y6T61xROv5AzFh+{5jX=`ID9e&8MsR#cmAz%>mBq*C$=_`rB za)b8)|F-%PlzTHknp?@j__g@I68cpZ%thb1?UM8ig)I)fJcUWsWw|QAx&?x!#G-mO55^tLIM+-v76<8 ztQI5;ob6-gz`J+p(-cg`@7eZzJ0omGY0cu>Oe`_2Wnu(5>f_zoE-5T+!im`XUX}RR zpcX!JjJ@_oyPG^dOPI>Fs}3UsvC{lGB`+rOv?FeJLQ9T-BB}bCgV==FqW|*~3}UgoCNU>0rmWaDiY2!$@u%B<`&=(y4V3(- zM}Pkr{PBjGm6NKbJ-6oNdP4`pZO#d65f)LSm)rJkAGkTp4hL^@GcP~aIHJ>sY%Z)c z3TNSCowmmn%ST*|!I^r+9=chK63i0JFg((;m2f_c7M+h%AycGMHyaneyLmTfeZLEb zyd|`j8A7Rv)?HGPviM-A2PjI59|OuVG{zH^a{JtOXXZfc+HCO8=_^D=-sDF2D`dD064{@HfAjMNA7)413yatO_ZL-ioZGukc?QEkdK8 zk3X`#`dQ3DDJT3lRJk7=w}DICPLVy1^EULTtC*j=n!3EJ4R0Zo`(mXhXJ)iEaNH*1 ze`XUjiHrDM06m6!+^(#B&}@(I8*|;GE`;q}%zE?#F-ARYRG8bs{S%cKa`t6;Pids8 zaZ_*oE#HjW(TOnSj-6(Lbs}W&p zy;_)}9qd67+x%R7s!*)mf{}VzD$zU$d(j)fz)d$ad4^H5nfybi_T!xh zuf(aGZozZkhToBV-4bDTpUtnwl-%tOGg_#o)@a4Zu)dqET0LIMztGKz^-H`<1G;SM zTw6q~m{-iH;?yfE?QqgcwM)qgvgVNRs0j>L2U3Q2uY_vKwqxsEyGcp%cZrRO*bq;= zHT?-aXZ=>+Vtwp=-BF=mnNe!r;<1kBZTvk-h#b~$YX(ZL-_C`mCI00N{~;d-O~G8v zOVPhHpz;*shyN(!XBkY`IWk^Y_O{E8YB+kb_qu0)WMCmo+)Y>G69utaz6jOmyi3pa zrUoVYwR`m3g>u_w;9**rl5z`5+_Q7`l}i>k5^KxSyt z68AvjbXkO8Z{)OPetD?!d+p8ZH`$3ZFp1ho-C^hF$}*1X1;t$K@3R<0DuV+XBR0CF zkf7U;%_B^P4y~kUjkCXi>fZ5Tz;kR0)tTC(<>$_pRCi4O?6363fNnJ9$h7LW8l}y* zCsSI2!NdavNc!Y>$}J*>_^{piwM}-O&*@(xTPMffpw{Kx+#WdDVeu(e4T7_c5S_Yo8LcyD|;tST2Q_xgzbtGxy#CDnRsFplu#1B? z9d*Y&D??M}vQx*oF*n*{p#f{~o3v~jHWOa!M?7_95dy|qGaC=A$wUtEzV7`rhqI%? zH{j?R!b7|%X)V9RcpYL8Z6xBo_;*@bI4ehy4h&9#Ezm84HrBUU4dUxqAp%rF`9T6F ztO;d8EQ8D2wASo&%)E@{K$~s3($^ycY6^>)iAaxkikq$E;_>3)OfWO#T|e=M~B`w9akC#3+W3U#mX|yZR|$+g#6y|=&5n{^;u{U3*qZRs*M45csW9(OQ4wxpSpXXFSnkaLmSmKzp&D>%8gk z;5CwR;{~v`^GZqqcEtQdDmK(`-Z>fDBvaJ#ZKgD3?X_{#c}uD6*cWl-gC5x}-=(^y z2Nz*$pey*O&tbJ!ExfQkh^XFFv`4*NXt-??-7O0jUWJ~kbFO(uewMyBi0Afhyjue{ zS8d6@LbDMn#66iP)@3JGp&PP{hmUKrL4`b{lbOVMuI17%>5w^mT2_Y|ThN~xl{?;v zC^+r6Tg}C<^J;Kr#sNyyHX=ypj*q^+jp-jQZoB^yc|(Y---zz?nNr|mjr$&I{lpUA z@wxtsUG_98N_DrkntcINM8yDGA8U9*k&U5|3Qoe$Hi#v;hR$2|N0kBH)VPB1ZrWFc74+r z`=FZW(K;B9gU5QN+y(XLH2ya6X?!bm!6JIb9H(=u0g#NJn1N-HMagd5IhQ=4X>BaM z^e9sjqDXPFZ|LO#EmOX$VUkOOE`T7;v*OnJT>T=PQ_#a8C-+EkbW?%{<(atG8jJd9 z`48VD2}c#tug8c}!$O+4kUo?!RDN&Bg}AQqzmvi?Fw_b(B>lKW6JrYV43C|aj)an@ z@KS(JydtuZAh+>MaMzx}GdcF`LiwekXFXHro>YObh^f<#0QI6(V9cfO9mS#*xTLo3 zd~y`4x=LScY_Ldi>|%6;=Tw>p)zMm~E*CMas`;WL;d4_l8b_S08>WDva7RNHJy^-$ z`u_&XI^`ci3qdug=l?@N>jSxvHyX$#Urv2RNsq+WtUQHSanjb{aqzm0G zP=B8?4Y@Q2Tg;9kwUOFb>t`5;POj8jjsy8E$h^7rCHdkWc`c748%NBXJTIhIQ;897;zqqd>1$x9Iv12o&&PmN#B92yv$0g8T_sL1fE)NiVAy2wv8 z#OLYmFjRY?_$LuBBh92uF=ZU+*lFeLRl35Oj8|pSp5D+!&aT>44Jy|D2l3NZmzT>s zJ0HuxDM5QM9$rO(S%8g?lNSS3Wc2j(T4rXb8gp*#qAi(sPTjW4JmS8Z^P!2N4t1gv zykz47vd-kv+ho$%=F$SGaP>*B^cLyj*MijAe5vz~{cS%|U`k81zsfAhrS}{Bx#X8V z$H;lgzmlL{x4g4i7djlB%TNopayqMt+1OnF98*}o;VGg0AM34=>AxMm_SeEfv=-NI zuoNdJbJkRLp=t!QWqi^S=I06dx?KH)J%PPmiSLIeg zBS=r(9X2#uVq|Z0W$#5C-*nQq7Y?f1!Nn6nV<)g_oFA|wrxbQuJ7LC)4xmJ zvHqF)AKy)0-)7TBCpmkkUPUm5z0m3{=Q+hY_8X-(%dU1nX;uG>k!7*$EL0-+vv2B< ziqDvj547Z#&$f)m$*UQ0>AjzLcjA(X-ZPFocYMCK(XEe{9{o|3!+iK`AoE$S9Y4BvtiM%T#p zqYu)NX^eBV@o308NnKYHzG_H`l4Ke^?-l}<+!jcQ7)ZlH9MR4N-@kOo(K)o$bG~48 zg+^u-;N6?=asP{y_tY)zeB-xi2keHjHp461!6cb6l5^OAV(?)hVmthMa5WZAwt9uWmlFG z*`QFWx%R1&ZB0k&G|*1`t^!mzHGT)hg2PZ z{n7cx-ciDfWvP9lP@ra0VeF2qU=% z?8?OBS_o@x?cCp&Xms^olP*AY0JLEtUC#fOWd2ad+?{@+bFJL;j0p9xL7a*tDWPHSjx%9d+5v2yCF6vo(lTQD7JQAUM5Ywi$p=fkr| z?q3kk?zchdwq2Hgn6aQLi2lv1CYUhVL0bg;{OUh#?dib^i*+jQa`9RVQZVIg)*>#C zt6+cnbN;yZg4mmtt$Pbn93y<4e*FUmz!ArV3Lu#?lP85QDWW^*80QnmYRpId8R3W= zfLk+n=;vn4*{k5fDloR&;{bZD!BE6a{yZoJclM70FJogwMGGHgRgg2+v&dEVs@cp9 zlxPZyx4XkbP(+{B?&#l;@A#o#4+W^&Rso}?OfXptZ#YpDJmi%$WKmW&!LM5^Tu(*{ zf^tP$kU-EI+8F*K9NnYtge1*5DF4&3C+akznW13B<&Evx4eo&iHqT4StPK^L*8t1* zsTW&7to+yStYXucEVrXxi%2B#8g&rKDeAZBZe?_Sw+62##{fB4>zph_c0YS*lupNF zm(wME$Eo<(OTP(U^?4xFb(LO{pzb|UcXTV3Spesk+KaV#@X=#GvR_Z?d0~$FyS2|jgIpj|YU8d6l*Bm+9;cMVnB@g}#K zud6n2SgHKYGAsrVb?#II8kq>!fJlUk4@{l%!~O*LXwiyj`5aQyC-9#vS1HIDJROOv z<98S-9(vlF@J^4cG19$EBs#WGKDpqeXFQI^t#}Ud`~wdnt2WB>ysc4Sab{!36qJn*G& zPUD}l#ihixkAowMxSb@Ib5V67`W?3G`!7{IO)OcvQT1L_sHLm!VT5hM)xhKGNK`zU zM^>Qpf4BhX<^OMCX)YbAAZ!=oAF$u3C0oY_YaU|0(anBV95*B2?#6_Ca17^HB-sc# z`l;BDw=pRr7N#dF6+VpeWsqI=Cqdoal${k5`PBHJfNGCxQWHQBCWe_)YqUXkYebtC zWjpcTo_bly$UF2=P|+Eg{WUB*+hOcsm%{f@vXjKPM?)x}dth zc9#c3BO@ROe~yoW|GDkXIa^UtvjiTq%rSOO_i92DbkLA9f1QxDe!ayj2dr`Z^LA?% z`@5;rzlxRkLUDYmSNWaXl0AkXcfWE@YqI*DZte(t zaxX0fJNy8k{GpJ~`Qe8*2>r75n)_wd_=%=XPR{DWKUBS6$$oq{@xWcG!qv*M7%XDD z;$qT`zaRCfHTR-I!Yd0iv*=((-S_mU)cjakI(k^7k<8Y&olU4~nuS|eT-I+l9W12p zwzJg35es5}i14>a)OxvdzgcB_I88xS&jZ_k+Do)yDSIuR^GWBS#OgDo_=@iL8W>2f z-hG{Bc(}UPZHVcQp5h;J9d~f55}Pvf_m3tB=pE^GP&c{36xpY|y9V}Tjvj!}uF>y) z5Yd5JQ)Y|KB!BtOJix?IbHOv^W zm}LQFMj$w`;Wje@E+hJc^r>;Vd_F}S%(~Kd`D6<*8vM_Va(=jzV{n zbpXj-ev+x-4Jy&jnjHi80cZL#+MUF`aB-}eP^}W@iW(Lyk9&!l4Nt~=Rd=ut+gZ7Q zpMLWL!;{yX^bU{uI+kxdo)}e$Y-mRLV~j^Nmr{bA%t$DhF&1>BY4e<+JDb4F+}(a5 zDg*u}nD4h1YVNnB<0p>eI3ZSj+s;-1eorTv50I}*i9h|BMMOYr)1jU7IRdV31pi^F z-(K|^28LK*zPwoe8`(HgycZR3>Ne;1rz?$*sn)=Mr*R9&;@>qCMJ1E`ik>YlzC-;J z4QJeKoujpa1rwd0xW%~T-PU5Q1B;Yw!}5aowEy7Fpa1?d2RRt-C=}yCj@?=rFr3`P zgzd5!vvKxpoU*aJCBNE>gp!tQQEx8aATc056|jv;FfZ+|6OZ92XJ6DKGmD!IApP%g zG<07DwpJ+5@8T&N50J#kS~t>9^2fk_QN$LT2<#!Bwy{l<_gH<8I9)-I%&iXK7B~&O zTMcH!`lVBHJ2|TDv(r5*QF~O2cz24*eI_s+ne<_~-fbYz0KBzKcm{%_a(Yp&BS^l{ zkaRR79Tsxoht^F|6|`uE9Z)?EB^25bhj~A%sx%|aLfMlDkc&Sqz-jJ$ss&EO5*8jm z9vEd4azFUU7F^#8rI^K6s@_C?`ywt+&>)Xm zFJFi-L5Mi(Q1`j5F)>jP z0}jElH^SEiKUh%YS@B@%#?%ciTk#M48Pqm*a8OZJ4s%-%NYu2U|I$EY?=ARlt&&q3 zVhvSY4OA1gsb603OP6`I(^6q!?yRrtVJ};O!r^Bt5@jZk=d+Whe z8C0kl0*HCdCV`B819d@Q69X4h91^{6y~_XF8jQ!2?%F>;YkE03si0_z`BqQUV)Dl! zmuBN;JrSVRVIIHq=tZ3VHeya;q z*&TI4YYq=*sFB)Nb`7m=cB8t1T{dhkqEW2^9Y|%FSRoVXM3gQKN0GZh?oMk5t-g$v zd*-Hjr7J7VBid9A?2xM2iAxM1K=Z6R-BB6qvPn1pt1fpYp?KA5^>C$!1P21pq2|Iw zg*LKC=W**JqLvy5hvy7Uc89HV;&6IjPdm)mraUMr;L92(UmEMu5AfVqPsHjjKubc5 zB;~@y?)%loYvVV&YraoVA0M^g^ zVL9fED0Fr(Qc@=wvsH_plb)?QLc|ggGfw)h<;Ow_;0N`y))`VKf?`b-V&wI#nsIk9 zEsrK}^KqK)tyIO|+C&8lYqn`GRb8c>OsWj7IS^cWkG677#U>~vhJCRk+Mbw0GaLr_?^P!5lN%1{VXdHW>0G2O4&Yg5Q9f7vYu6-MHudzf*p0bfogX@>hBvh&r_ck94lwwiC>+d)QM)qCTs!M4rIWZy7;aPV{r!jXP z1W68x)k*hPR;~|B0`63|!|s5_4&dE9^9hh{PP7qdj5ht+GAsTO&SdG3aV5vq82ZwA zG2`pvAH|(+&&zYT#6LdcCI*!1p=07mRQY*V@mUBmpg3ifCiD9>y|eejq4A%Dd3oRU z%C2IYGA0wNV{vG_gvshfp6yI(76~h0xwpe_s)-ewN_#gO8vlYkd*&_l>K&u+gM7Db zGp3H}dI21_(_`eRl32c*tD42S^@ZGT&*tlK&CPYGkvqez9rbXD(t?&4!VDsA4S>@W zzq2Yga$|+Pi|L2hsRijZM5+{(uFp#(OJ139kS=n@i7dbe_MYr z@gh_3-7hwFOU$RuG@Vdl5lb;3s(P-(3;cgfeRWh+QTO%`0!oK;w=|N%z^If;i@;Drx0G}a z-60~4AR!<?|5nt#sBy64_=_c>?p=Xv%%e|kzlJt?K~ zP8`YZF+WqBhzgP@h92#4sOa4!!=Ciu*DY&-`#-)H8kG_#z^7vmcq(nR7l9E5R$rrQ zZt@2ERSV>}F8^(<<5?K}8%7WOlQ?k=suEB~{4dzU5XE{ZCL4>moU9>hrI)!(nVhw+ z1bz(GL31_rLamXt0mqwQi4jF)&5V+wG`aF$sI9v_+^+sf%_fYVyWH)BzI>WK+v!B) zc&%XEK!U%#g~o|QZ*Qn9T`|kvRx;oRrWX(Ce|qDs1UWlYoDh43P^cXyYW(+Uk3tI= z7tsD!x9v}ZHmJ9<#1h9raCHI49C;Uf`@^7k%{Z2*Fn2>RW4!qa-|62cr7?@C9n+pABKvW>+co`Ta z&vU^K*bJ{74EC&a z`C>NVJx^_ur9en}fRI!3%`*!(%*VR9yUW3{#^L3if=Z#%`jjZr8aRIjJ@ zU)Pw<$+Iz@FGzD1_)p9!T-z;cD~}QQj=I~qai;jt$M0ijZk^Jr7g#7+Bp)BgB`RGi zjlP)S#&FP9Yln{#GnDF*e@Rn3{&8R@ z9=p4{TjYcR28-_Ah|q>lKDjE9!9@Ef-~;rG)+H%{X|1ii2g`|HD`R zxp$is7PlmTG)l|r|LY2vfA;Ej=xUP3YC(!zb7erEyWzq^=h0$)?1{YlVD2ok!&3NyPdb__I95*JBg zsOUE{`Pgtfq9E{i6BaN6yNRzKt1C+l5#c!xA4m+J@8&0ej9(uY~r1r9b@^}fFalTZ!Z1Na{B!@ zsL3PyyQ>s*t%P~K&`><=gL%IkwKE+_ti@|Qg{R1pz}OltdKyC00)Nf}ok(;+OElA7 zOQM;GU5p7;;a~JL=9$okjp&hc&fI7RZHztUdvQ6EZolsTdn7 z5%$9{U?TMQP<@ZuxcQex!&iUt$E!;xe!()5d})1A)?<^;C=(_nx*UFs?|@OhJ&s6^ zrESC5(T#*NWZXRd^!e}A^7NB{*`kk$yKte*grA#_|evC^!yaIWesI&(^vxEz%+CY$P z(xU@F^VPLKwtv<(mifkO>!;`-r!&)U{=d1tz zEDJBVb{T~x&w=4!jU6|Gu1(w;fKmJJ?xEcbOA7N1!HV}dh4(`ipY4Y$nr&DLd|{UE zhl+~S64nrtF)BQe>d@ejUFnf9}aIYZx6FeFS%%Lfix}Z%?pWZDEefC-;`Dm z`;oZB*S`XS3d{`RY#T=Tl$jxVKRtdRc8>e_nE&FFGB`ygCM71Pn&qyvFZJcu!XTA(jNt0uAkZ=00>A84MH`%$1|<&W*>zxU6IzQbd4{dk ziES3N@wz~hzU8e|;0Pv`O!fFCTz)NHiAYc4EXXUZ3GkeWnoilpZ}z%UVCDu{pe#o} z&%TolOGdB55R{POZEeOyZ@>jxgVRd_A8NaKa~Hu&X8AY~3C&4yGKGQFFWEKsgO5d- zUw@Z@QrNmkc+u)3HPx79(DOkQZk<29(f6>{yX^{>dbD@K`5V--?ao8wcG*4p#Xph_ z>YaZ0lXRv;$Y+x2Qk#pVxWn>0(!gHxtIYPqVGk=97_A&-c z$qf3398@tFueZx=MSOmukX+GolF@>dG3KeI)y;-^LEbKGY|<~;6<2w|7-yn%X?62E z2Qw2n{SR|iikJ_UBC7kvpVE!AD?H*ip{uUp&+;0+?_sXd%dU(XNT8^E0Wmp2{yu@Z z8r*2&>8n*ZqYT&`S_%y9I*^Z1mP6fo0&EqKbH{){Vb;W<=#}GKjJV0GZl~S%5xOG) zzaXc+Fwaam%Mo^GHi83?VOjO(f$e4Ci!ncO%+6CYjon$4_s6z%7B|=h5}?j78~wy1 zQc@azI4!(t6ZFOLZ{uSjUlis3Vl6fF3W}oIV(6;Jh*p!cA>w!in6QJLp>EK4VQ8+l zhpSgCjmeLBkB7ExA=W{h+_-i@3wiVqd31l*IT&eRCv>v^1Y?ca80uo{bUC1!#owin zr}nc&^-uQ6Ug-#_!nKTxh0e3ndhc_fbu+CmW9 zd=&-Gk~nqqv;W?1gc`S7ICqYguu*qm^GsCs zq`98I2i^MxHl?2+fbGTg~ddSjK6E-gV| z(OBv6zn`0swuAKu71+_-3jw3cXOhfq0H){SjD5utBQTGCuPK#>fY8Y7Etu8LBLUM^ zLgE)JiHy>*)tb!Rm%Zs^F_Ex~kyMOI1?Mo*lTtY}vNate)Ol2~?EffPZ%k6x1a8Z( zXFhs~AlSq8Z`kjf)z>gz-Z8Rk@+Qv{HVBdM*I+GUX!1hxV(NK^5VvZsUgzS>!E9wE zp`PUV&xvP(Iv7=F50otxqs$fEZhvVA+`bpoSgx|IBIR#v3&21+qkEr;n5k(-2R8Np zF5j zRUGn>ch}KTdv;r4f9vN9s92ffE_pm0y-t^DeZAVag&p2CJGHjVlK3(yQp-puu0>h+ z+>QzYCBp;AF@_7zou(YV`W3aCWqAEES&~Jf-qY^%!TirC90=}9832=d0)*@(8Ho@1 z#KQHA_tJCcxg?zdlGU|J`tU+L0M01!MQN2|{GAmpfHs-c!C~*$w&Tsd#6;n-U!a|x zU3i*Nq>FF{*0tfx^GR{sK!_qS@q`v&8Z#7^QTg`IMOGAabU5e(Uxecbii+QcvTpjZ zX-`d06*N>~X)EAN6xumo7IbuAbw@8jRFrW&E1MIi^^H-)Opt08Jn^pRo;_l-!F8Gw zOkI~WSo?w-zhhy#I*$6gr#NYNYG|SpcWVO*PRpLOsV1$j zueY-!=?jc4X#W0ChE33MVLzhEJ{tGFwCcN(iH>T5VrURQev2S}cJ?@KY8hIBn z`nH3;A%`wEV+#V84&4-rhmMvOe;U@HNaQ7=j8Mh(`f2x>@TkgJvZwTi(I{dTX!K{8 z`|;X>wq1o2-q#n6-^}6r2D~Cw=6m`6v{F0d@8apBGAZ#aXMdBD^X7)r*rcx_G-n$A zBwjn#_-v4<1$)yP#AtSckndNJ70a=)+9b=bHt3MpQFVtg&YF4+6cGB1U|B-AehX@ zY0Lsm^Sbs9<3=q1XP5R~?IdUogNWz;(mej#AKBeI;^uK=t;oMvI&u3ouN|*`lr2Zz zpOj;BTxqhN@_I2+taN|xd8#~FHAs$Nl3Ts2|DM5BjUlno=Ck?1sWq*{)kDUm8aleb zH*WWEK>?pL;`7&@!DON3Dh+FZNb{vGKw8za$WxS(bO4H)Ih$w-A{#c|kn`Li7hmcZ z&5@jbcpmCvAOnRIHu%=nmIc4APw|!4Gp? z6uZhbrd4-E)SHL?7oZh1ip2_|UyfWEGdXNJ*HcDIn1m9Ex6L3_a zF${+vfG9hzs(lcyZ5~R5@kxf1BX&*}o`qtK??s8-%&^&&X;`%xHY9+veRLL~!}GPe z7e`&}csg=J`iTE!@t)8j9su)a7sMOmlak)!S&O;80oV5kJ>bcvEH6<&LX!7V@AW>v zosjQiox8=}YWevHwy+U1&7&~#%nNV>TJp_VL3A;3e}(oFa0iM2Z@nd1Pn1C?(xx8h z^Sw26xneHv1$O5ti*-j( z&!7NP=gk2{z}`VgjUOi6@bhEDr`E5Mg>cih4_q zE8~37M~zY2VMy?{J<~DfJ+*-R4|=ij&O!O==7t=xq#}#K!KY38Lh-bE;nj}x7=uXy z2@gf`@4hh5=6>GO^x;x^YySjTBdzw<1>0LB>i*B|v$z(S^WhZ;9A8z%2FsJb3$Nr>S&HI|M2^!v7X>b$RZ^knl{Ifz@CM+91jR6a1X5Nc& z7Z4iq-|2Pu)<4m4*E6m;9W58r*6^j-2i~<|c>BdXbj*yg%PQ3NKPjzNm}TMaG><2% z*b_+t@WUo8{bS&@YGyYob#gJf_v#5<2s*D_j5KktWej-*IePAmvkm_}ca;Em_-REb zmi0VqtRvuot(3&QuT*E~X0y5&#OVMVLZNmZIAL_j=OLHmOE4JMA6y z3Np-CEdG{hyVz_kb<9f|OOwpG_7NTjgPZQaa5E{1}*&GQYLyY8|UJzPX}O{>UgF0dvEN zNq#{DIpN4TdLR2ES zKt|+4e(Ub1MDO}{Yd-WU2b`eBSLaQaa$@!_saPdsqDNw=goq)1b^(kbu57#fdv3FG z-iZ7t=DvG=BQZq#(%Y#z%uB_zjhLby9fD0ryB;)-*U9x9h?&v8n3|e4yJzxV=>}nr zJ9Ro!C)nCTAS19?GrKZTAr%Wde@m-aMtr0gMkvsxuk?g}Npa5Ps^9V;=1&w|&bOQE zg8qVp@ePHUqQ2#Ag$>}U@{7i~B|2HDA0UkP4UaW%*DBj%p)-t2_onAIar;=1q+eME zx4tsE%gB*d1Jd(elv@NQeQW^!v?Y|l-6QOKvr{G z#y4#5XyR8>XDlNA|uOx|)g4_JseStlF2A~m~kV$c#velB8|kkw}1 zhTQdfSJ%+v6yNK_>9!ic(vwhLQz|6=TIFe~V%J`TIju;-dG@v2WW;)^>bBf+)J5Y$ zWWc0i2Z%Jyx_i&d92j(=($(+Fy?T;CE4>`GdP3j~nUB!skN7w%MxN9z-M#zZx^R9I zQMr}dcjWb@x5Xb6b-Mlxxj(_<8iXrSNmcRgHl5Uv`lDK6uQk^%e-yg|b(MljAQyAf zkw(t^9evPgkAKbd?Fa)o6DX<@AJ1+1U~#VV{>oKlo~Oe-=A6e|Ru~Xs#s;L!tENOC zGSM$XCfqW*pSN`Xj4?$5x=hI;#{;LMI%^-p`s~}TPmSzM8>qg&dsO@^ap^3O*WNh3 zUxFM{A}ahoh_-_wU`Msl^7{Dh`cH}ro6edQ1*Ce}nZ8MY@Co5DP2{ROA&*wcU)NrF@0d)B_Vk;3Er5TcXD;={ zISCicrk8I@O0Y*x%6n~bSw4}*nt@J=n`dxrJ<7Zb}U8 zH_?)hN*Jge6&^cHUCut&#&LGIMC3tl#F_6#9qkO=C@o${0fhaMf}#g zNq3!1%))ZF{J@i*d4hhv)e%CA7ml>!sMA?#*NNv9tii}nk3J`U>0yv1L8OiD!S0)F zYc^s`5xtuJVlt<3d^HX2w3@(6D#&6W5v-QCO{pF{PYzGfluJ;_3m^|Xq5Aop0M-M% z4%+~Cvc?J~$tCdQ2GVT_mwaT2`P!8Z>FxPVvEHl(fCQj&H+&8!cwietwr;4qsuTpf+Ikz9rXnQ&hW~F$hUf}I>M ze9B`~64F!q6n6pHg41=oiA}ZTpAiHesFvTEBUr0xk{UmZc5H&P@dkK;v zRJ+Xxk6rANuWNj_7GZkWEk{aS_|xviQT`UpW18DX&Fqi5>dEybp`9r>Ax?j7=jb^D zo`61p(2(yqMc@Cp5>uUX|MKhh;xcw5!^uec%Fvb81NXxE=7-}Q7u*Z?kFQr&UJDpt zc?ciCUF4;SU954#dfj}8&_(P%_wr4VcqcYvk<-RwOGWW94jL5#|C?pS)fp}b?OVF#@f zcPH}k`ubmk{_vTNGZ6f&?t6~5jxQ0yc+V-k0{q>7I&jSlg3STP`BkorF2s6Yn>y(3 zp=d&Z>q7J!UM~)+vEJ^mD6LsNJ7L;ppJ4MY-HF&xvCb}8mW@K_xCT*vtPU1P&r9*R z*IVV7CXbX|q=7cI8vO`?lB5m85n0rS=5*5oLcDe)!hm#a|Qyt^Ifi($+qVnB7Zy3GG?KmiL*p-rAl!hkb{0Kp!UeifAoHk-s{q+xObdPj2AqogA<+%rExay#4YS^5cNil0S=>=7#{? zko27}NyzAz^{#S!Ur0R(pTy_Pr|1kMUgY#uo78@Rlyciyou)Qu;$+(qsBCbiSZ|iO z$@25;M+g*>TVZ%=QFEGqF{+2M4y?MdomD!6UbF;ioPq9cY^UMOh}$vmjx(CNkMH;* zte(c0iDYbKP%AUz7jA%miIP74X5JL&YiEC;XypDZK!~#Ylfx8Mvq+k_mVrr_YpxW6 z!`L|TvVpp<;6>Bojh$mf-y9gb`x9+hY>!C%dDC-q(K1yI-s&<1>tq&06|e%_OymjU zeKTCHt-G!iu<%kzo%qq|BP}ESL@i!`i*)R5*;}f|kG~d+hkhQ3Dr=E>_nDd3D$%rc@cq@bWAiVe|kxy}VnP4{V0 zJv4uR{s?1x;Eu1%kRlNq-x{-_w|%iMORLNKuCJxDWLib52=>IAihbwEam0AvQ?WpVvZ}w>+Y@ancvg+`4v>nPx}fSid6f_2AyUMF zZ+OMcUwisj_+>Huy1xm5GQYN-aj>hw<1E#CTDnFp#<={l269*p;X|L_^+Tj)9s(hu zu{Hws)gdEl0~e8Rei`ZpuZj|0e2JTQ%N!13RI>KPy}=SL*hnqq6?)l)7(TzYJ7S}i z;1{WWN~9TtD=5+5^ue0ZQ_#e&GKO7?Oi9U{8Q#uTVbDx#t@I#TSHG}`7q{B+G$F|* zHZr}V8zzbMH_F;z`{-z(tE;QXr-GOXFg!fGa$7-WYc*1^S{b&3m*^+-e-^OiA zI3~WYdL`>vsq1`R(Ohf!yEDb`m+vrKQwq(u2a=JAJvnjn0p?a9O@wILAi|R%VND1y zmvppq)AS4)c&*7v5j}v&ylXe7r39_o_iUYsZo$@$Pm8x;0d^<}bQaoi1o|{n5y%`h zvSG37Iyu^n{Y!Ewg%EIj9a>uXu(+Cz`JKd+)u>>#eGODte=Z0R zqtBc*Z}j6dVS0)U509}5z&A39o;J(9XYv7T)L$4h<8fGL&^*Dhf54SmGg&7?+l z^8rzKL1_-JW`&H2POocz0q|g)N#Lcws`V>g!Zwoejp~fwylTaCqM5PBhK^w zz9WiYVbYBy01?23HU4k#BH{BO?I$v^RjBR2qQ0tHLgIu3wPQ6GvPvhx%h$Bbrrgv9 z3f`>o4KrG4q>Vh$n+^MhRB3%r2f7Pt)ikM6^$Sap4)VI5#F=?cH3Fc&e+{6ABhSt4 zA3sv9zHAkKN6?C3xBj!|aoz=K^J0&wt}g#+N2+4E9Sx5T0G3u@YEL8^eXRf@6wbx9 zFN+c%H12047S_hZG?gF*PwhM1h@}$cl#3F^5~R|u;KAQAY2qX_JQ8XCxeSFIE~n?T z5W(%eifmd(qH(a4QZB@gB(UNw>5{0N$`l%yaL%Z`JotgrvKC&}*4(0poOGdnZQ6#? z8%m}bcrCvU9!0OutxI6c0@`vzWB+MmFb=`V@}XiA`r-X)7RFXUUyzeQ2jg;p-<`N0 zdBUkQXg*8n&4{cAK-MZkCk(+Yiow5T4b-1gEBB`pfd2|R)lnN9_#%AVhGq*kA7>83 zU))-Rz{64`Os9p%L7CMRF8en?;>*1ryC)qU=q)j{E%=>IGBvqyo77qb(z-cW4yZec zj0?0!{Rj-CzA3RBwL$Hi6-Y7j72nX@{YKhizT*&-yXa`=T>2(xK7A8c7PH-lY!O#3IP;93@*i@&dr*rDiZzwha zSLrPF54(I4+v}%(OLJop())B`)5(DPQQ=NrkVvU$Edy({axL)-@hETgBGrCH1~OGj z%r;YfgRVH$G|lEmp6#+e^>4!rR5d1Inw<675=Uo2N74K1rZ&zKN<0kss*Lu04A>*@ z=o2NPq?E052f=5)aRXUAj*O{3Wrn_ICGI9)ZnY*5@ABRNd0M_~Zd+*x?Xk7w#_46M zdnOpj|GS>9To&|VPvcJAMrX(b(^L8lCW(^-^(B`k^Iy-q3TIHK8{01&ET5W`G&73l zbASnTf`T55)u_{`K~of~-c(exrRGr}ai=^TytmQY7B#h4FT$VNcPZx&d%yZ}!2Qcq zZ}a$9Ta{~*auQ;Ff9=l77_Qu0YSI>t=GL#k{p`$hd%?rC6;Q_YbVlvetyOM z>5@)=ZPF8xk~nB{kXxSB5gS2h?*{1Dy1eXS+Q|L#4sZtf$A*ukpsGY&X}P`wT^>|Z zY&!0-D1lB!6d}Td?!B+jHXlabu#qQmWY+$cuQ(Sj6;n6T_k(-@hWM~&ew(iqD0=$@plk#5 zeGi~Saj$7yOR0;wk6zjqqrrjPJgk)*61iQDM{QADCMF`pU2hCh;F<&)v;DPZ8Qf~E zRcR5QQ$wxU0_7=ZL#@@f#fbpapN8JajGtJ|{4LrO*LLj9Dz&|pYPZQn7QKDd9c<28 z2ugi}rQAZYBZ2jHh)RIgwfX1k3)xy1skPAur9yAe%FsI%I8iTdMO}5w=cjwN<6KZ= z|BUsww>7~Y?L4=e!y95gN4=C8%X;|f_N=MHRdme_X^VtH9OZ{zL?0kt3BgwEAy#~; zGZtAQ+%roeqjf?S#FHnVq)#U#n>J@z>DAeCU$LgXVSinbochK(V6Ocm`|SfoqNg;E z4?hIf3W|MFsGg0(sEKj{?I(+!F8{8quqvylWX@WFPM?S^p~R=ohpCeW zK6pGtc|B3Rq-@a4awmV-UnvFNmPN8L2imi|?3NzRo;5=hPyjF1Cz~v&3y!8#UP&&# z;mqzkY|I;Ijf&LD*y=BuW^^}mOvbT4U?|B9^g7qucE9mM@8tWM-&zmGTWJF(BYH(t9Zn(`98RvFcZA`XGfDmIX&`3%4VKAG;xsSX_Fg&=-L|oBn9xZelbRM(KDm=}pn}gDX*=l*nQoY2dN!Nt4)i zP9$>_Kz3%?MH+N0F6oq!WZGFv^DS3f{JjsYsw03CG1qQMO2Q-^HtQv68Psi!+)U6U z8^alkr(R(ob$;0)bb`bOsebp!jZu&~;NP{^=L&t@qx+~1AKVadHNkks#M&J}1 zLM2fJk3AIyqSi>LsKQ;5=Uf2@O%?!vvzllHAKLi98+psSi&cd6)38Se}O zrsLmy8F5=a)uRPq%F3)QCMEVV`cQszlo55^CCd#sHOP^@eWK@rdZgF)>3YX0^hp?9&` zXH~EFY#gy1leDvDR>tD+#bI?(^~-{HNx4gLS+Bj?AMj`=ka@3d6XZRK+^WK~oZc3h zVh<8NPfDgSr;<3>JGq&zmp+CIpUjL=(gvMLETC=C%om#k%9>CXfQU_Vjm4sJ#d}`( z_AB|ZE2jaaJ)jrV4=*nW$*2cK8Ep$`u1e8pVhw4x-QLcF+YYfjsEy%;;{nm_OYB6C zM==>yf-lCsq;j7H>b?kA2V%e*@@3>?br=2$a>7a4=Q|nn^p|oIUJ}A3=!CiD$WFmr ziSY1lf%`Mby+oU;l;!Iod*pV^m#$CsBJJ`Oi#2r9A#v9eNx6!qcek%IB?Tcdf0^=D zaxdbJXT;ETF9oN}33^MQ1o0P$N>a^LRnr^3;dWcM&1)Ti z(CW_e!9d{h^`l2A1IL=3ex!T!cjVuX;Bw{k$t=efrR5JS1>75$7b=Z}|lSq%SO00iEXLgNno(YUG>^810-gpivRsyA3o z*yeTmTdRe=C0cO3*DX#p39(ukmr(J4EDzde>3YxU9j) z*Erwi>TZ}hNjf99K+l4IoiJxiFE&}~%0ZAr<2C5tFLUHFyX2PVqOSlW@QV9ycP zqf-YU`n=k;)|))*%?&y=bRfq`!zFDUe3}3{dY#W3Im|uS(*1D@%p&hIAW*rkKKmL~ z6f~jpHklM6sQB#rHv8U}I8r}(r&=j_Ak(=|raWZ1R=jL|aCl(Io5iR7RaNHhU)b*R zT<_mFZJrhz`NNoc40_dZeu^0Xs^s1d#q-a*D~H!@*<-??Iu?wd?C2f?mC+ojHT#5L zn-C)2>Y8S4zGl0DRrDLwLkc)9WM!;T=soygId`Bumx9-icmt)G-MT8|6$Zo;uh4*k z9>J6x-9~C{nuyKp2II7*0A^hXPaM5RmK?7cpViP9T`?;RtdTS!6nF_RDU3qtG+twA z)@-Tt!Q(oSF`ZsXCnx0VH@&V5cq{I`a?C1x57r-qi4b*dUG?mp*lz4xM6HfD0w`S> zoN24hlTJ#YS+YvH{V&;r9<=Q^KO`Hp7Kf6L#PBU;mCZe19`UdNRDE zlW8z;)e&OrW!lr8?V_Zv-C`4DD!<@N19T>ZQ@)Njrc)ND3bi(HZT$iDw&b0O9baxE z6GrXY`Z(+b(H4h%PDPRX-*t)*`2z`jiMm8q+%lgBFh1004)6sm2>GbtbkV-GM9iIa zYqYhNut+V4lg3E~VO_wrkr*qB%Fk4^MUG_!0Plr6 z!^?di9yZxy1ppkjMhCuG;=?>=UkhZ+25&z0wp5ztWxhdO!LFt@ezsVb*(Y#VXA<}Y ziV)#+0C8f-3pOJ|UcJT&rlQbScDo!bnQK9?mbJEMO-@CON{J(+jDkXGycoNWn;7!V zTAm?MfXD$jcTSTCbOM`kv7X7_FLGkyU2O6??HJ=Nfzk4O*v%sUsuv9EUk-X34b=R* z1qOy(zj{P7&e%V5)xa^=K_&_%@3^g(Jw_2Gt*T)7>{k|4VYZ28d;YT8?-~JIY)6Xp z%A5Rq>aCPQ1|L(D;S`y}o^OpVTTY~mo~qntq~h}n9VisNNMksN>li!bn*aP|q3$*M zsfmD~fXR6_dy5T_rHui9Z*g-WBhT`Z+%PjQ!_SrR*CR$AQ!7nAQu!!;z z5m#3hzeL79o&h1Xc>4attH#2uKJB*VR#L(&3ow|ar~GKYKN;ulc<6h`d(SFPGoR$P z4|qo%=!Xk<63m})R0;*{2|Szw|JodW9017@O6t%8@@um zMTN;!bS`1~Qwa|)wTvK|#KWb8u=eypuFcAvJ>v-0C|}i{9X~!PMP4@#-Q-tI}kiXEbKXitt^aVuHg(I|EC^* z0Iv$b+ud_RzOKS2(piYj24yB;S%@l2(-2oOp>6y0{6$yNneDi_bnZ_($M=risz-;t zzkO5f2svxqE6BbC6ZzKSnLU7115FH&YI1=E56#@0;vV)95Yc?+(u)M{LH4k_FPs5#P>aKc3=GOiU!! zx-$Rn6zdAM&KxAgbGtmZkMA4cxp=eJ^WeBet**Y2gMzql&>u@hBf)ZqIF7v2mEMVo za79eL&a+B~_G3uMN3tE%xot3=J)LD)KS|Cdn6y@^|-YPPeJg(j~Is^T|gwE*ZVbBQA&Gf~W zqkt{pK~hvh7zPhUA_I!0Pak3fuEVqy+aBgLzc(LRdr&GMsJvVfwNhTH;9x~y;wbqQ zCLLUsCK-Q~+xPr;)YLaDaY2LF-QTXA$l= zU9k-MU-|T6vu?S4;J2>DP}+@Y3Emjp0@z$s?&Ox%ax>L|XKFOwy?vmNl;J$RYr~dw z-`SLMWMdifZHm<6_eu*p&;ai04FQeG<{QNXTz)$9dd=oA~8G<%I#41qP_3 zQqf{0?p0(QNX+eut|rQM&cMIwV}GE^zrrM!B&sQ@C%C6*|C)-6OIwlS!SO9NFTdam zC3TK04(`O<9R(az)cWTW?bg{w}$D6%S1*;wA2;t3Rx?iW>KH^lBS=J*1gIoTv45*xWm?Xwmp z&4o2F{eN1354+fWhOHC2`td!r7M!<2>|_b7>t_G}@IgdrWvQZ$^}|^Hk%_rq;cGo) zWe#uLHm!uqWN8Y1G%!9`1;$^nMCksFsJbPnfUyPmAqB8gnVQ@n*2SG|9RZ2~c(({4 z0pqC$QV(jj|+t#^DK(5#bXNsSRSdCYnu@vFf*)Rqn>w6%Jua6iSbG5 zTG|E^Z@HtgPa7%E*hS%9WVW`^x(Y-(bj^+m3(7pqXK80||2$+l&dyWtR0ZF47pe4F zZzai&Wh?-zua4Bx?epQW@pQh3&O@J zT4r$tGM-cYJMtzxbMETGOO1vM-m6c&y$_6z?R zbIFm_D?88vH#EA<+GZ4X(GIkBLHTUy&gyMuZ$*`u%y2YURhCK-_jYY>^TG!PR!@9t z>spP4eA<^PU|HyW%q1~MSLYz9=3V_JDESpDbCPDua(3~d=CS3Jzcch-G50biU;W7s&C5wF()5~@V~SWH^x2s zWBIC2Mw{HLo2F{~`bm|2PlANHfhO;!pt0nWpu5lrgTHSavbEo4%fT;KFR3kd$~N?c zsXtrZ41<*^u^-q~W=5MX0^Q`J;Vl7Rj{D#prIFBxXfl?9o^KLhUBi?KGXrXi3#Xd) znL4imcvYDB*L)aX<+rc6{Q94*?4^isgpycH;?k{e%3Vrv&AJJce@UJ^gSEk!V39)! z+anmmiM7*12@+E0bBT@hOvw3*QVWIdoojm??|`07k1bm&n+>K+K)hl2oCo20r>K2P&sAFSRV~zg9nG+C^gmh9q4-a8QrZ*qe`*NLi%0WRl*}SEJTxjrfn) z9^FSO)a8|}e|rm>@ikyf<2E?Fq}4{pEEPpNXVo(BRi>6CFb@3QSs%soO^`4>=MLLY zDKh;gd3j-cqyJr$Nvh=T9~m(&U2>E61^FZ3V~bJ;hIoKNjBj%`p{m0)TRTH`gT{5h(&^RDPEXemKK5Itn+8_1tEKG`>JFcvF-C#Tt9|Ko$z1wEZV_w`mL zWstqoYz`Ej(LB@%B%P*hKFgEKn=Zug`tNy=BYwYP>@mflCNP}7uEn?w%D3LFAk16i zYJ~ysyu0=LuSOY%Fu~Z3q;SL=g1G9OsI&*wqjR?ia6tjpH*f6G`wk*c&{Xv`h zyLV7S$J=s3SeEjtG5OcF>soc)cN{J0)`%V20u-eaqyS|$9lQ~zkH7RRS-ypu-J}e8 z_MtY(KnCn(a${?kQ;wY9dJU?eA7ezHHfN!~pJSF!hd~}RwAMZZ}uPoLDzJNRH;A5D|Hk*4jOvUd)-RNrGE?C2)pc` ze7&1LaJH+Ni;$3YY`3Pj6I>VllEf>VCiwwp%}E~E?%`z3Anl^VQ~$B!o%8#mpe31P zm?8tgLAt~dMy>_7zUib!&YSv5i7#d2r(t-IYDd(Uv+7SQaZ`y7s&q9h-J$jQjihobCyZW}l&TH0wyX!77&dplO4YjQPvb4#9rjF)p z>3nAJ)qsPJHb+|7V3>$Q0zKIcIwEG-%di%&F7x}xYsk<{VD7(uD{qGXwD6|WPvb1l zDGNPLjZO)A_?6FRy}(%doNWon)O|om1U$+9Qe#%IS7jtpd-eF-SmdL~qmzxtmuQ*Pf<)%u1ZJRIBxt*^%G7DH2ZOT< zhBsO12S)M|OB_576ra_KmyYQ)(aq1U15OZhzD-wg*9(n^EXCi9Ar*O=mYWit#Gb5Xc2{0q z*yN8RDM*0$2ZYG2awaC+oE)Ld#M*?!FzVQrM@fMTVP(TVUUA>LT~9)Cm`*L-V5AV} z!^4F(y7u|Jo`yiVCh22p_PE2I&3Wrd{lU$8p;fy*R?zw31VP&vVu9CSY+COuh04j?;{4b{Ii?d~OAPRdU*g%i$` zt|ZNjk9d0ntvotfi6VNucZ@K6*-tjVw5v6@wis`wnuHQM%^I% zhvbv#db0%m=@s$Fl$%Mnz?Oj0jDG{Ii!y-ua3dgRpg{R|Y8Vg-vkHvtmfqwAv0$jr zS>!k;y5fv`?;+jD_u(7(<2@MfTon33e|exojGEbJTc{1a2kp5Ex)6Fx4fqKAMB5QS zj_>upKaIyUqNI(PD}m{{=M!JRkxOUP>?N~`gN2njB4DKlvM&b=Z*?{dCcO-b)~cXq z1FY6s-~#cCg>X0u3u*UR`jgv@U>o1J%=IK#3A!kWIA}#yPj1OI6K(8C9#enq+QU+# z464Q-T4loxwRX)6p5Ib13n0qhwZ_QsqS04U(6Gju zHr?ElCONjgwR`DY{gAXxKE^*COxB*dYU+gP9$ifFtGVh7|BtM%j*2Sk-c~^Y5kXK| zK%^Taq?PWF8d~Y@u2GThZbs>pk{&>$V?bI!nxT8Bfr0t%`2ODY{l4}6;c~4zmpf<9 z-DjWuJp0-E@OHF4ej?fG(qJqR_*67DTXyMq;WeC7T2&uQDj)K7^DnL%tps*?8O36^ ztxVa5IpXRuwWRCAzR^dkp#)iDnUdj%uF~kLggW`7l}~lA18pQnnxizSl^}$vQ+dMF zau;)+O`bZ;WlBobh_j`YOWB$RBZyzwoCop=a*(mtVG7RQTYr?qURQC5Qq_w#3NYrD zq&J;umFGumHO{s)Ou#q&Hh`VdFWP7$VA}q*p{H<+DszJPuZIW>~4%Q_JXFPNfJW8?{4uq>?QdS!OI0UD6%3q^E-+a5 z_M4ThvrI641~tfe5Nx-c1pLlE`B6$eK^4Iwq*+zEW94W94I-Y3E%sy!d~q@=$~;cD zi=RMvB~rzNLA6>p1>i-oRE%BNf0ek@aRdn4Qv^9i0cgQ-H?5Ly)KN z)s9H>lg=IHo5Z!PT{c$`??e?=6LO>e$X|t#7V1vFFZP@RlFE2{UH*espTNg{O(t#7 zC_{bPpf;d?hh>63SY?WKJLb(uZv$(58;ZxN29Hw2(4aRyB#^DY>Sq zO$YQ$hj+>^-qqr^zbX&vBP5YRleCcRw!L8Vz1-+ zCa>b&dYuViCQNiUn?5@zX}=)j%8yR!!-&did1sQq)0F8Jd3m4f?v1Nv;H!AKzjmB9 zq8yAZF4JUW9^cf?li77u!^mOdSkR8T^Z=iSVG4D$NvS}{j0LX=EFjWi_fX5g6cSQur9D|B>Mz4W) zv(~c3ti*Yr;4up^ENYRb68gEX_Lw7AbIfBlZ3p0DK)ZmVLHdbJS@l>MWRii*@2KVX zIh#FCGfFlJxE5hUwkjqBI#+Sel5&}Mg>}$BDL*g*MEXqewE$V7p2jt2qB(QEr`H1|G1y9emjh3C>D zT`0+QUyl2MdJ2S?ru8(n!ub&!{UZ@(CmyvUH5)ZQhIabrt8Gj@*2)E+w#ohAp7xw2 zh}h?L)Y#B9}Mg6rKe`0{Mo zbn>OxOZPEUo$5bA*F6|~LdnjJdCk)mNc7&(=*fN&Rg~wjot!43R;K2m5-lRK%K)Um zS`nhxthW0#OS=GqQ))9d;Cq^fFdLuqX-?P#RhM=X!`7zM*OLkprU%O;s~$t!&9>>{ zWT|+$xyrvoXDY4`y=6`h>0@er>DLx;Z6$%h06g+2KYAt=JY`Q$;#vWiR$ah}3PRHV zvN#a9vOsb(+XAWxiDEM~ z`}{JPU@d9coOWgsPQe6u-fJjA02>k zJln@wD@zfA85lgJwrYRNJnygxW-_z6ol?cTv%XPmG{^G{oI7j-@p=6rUYT@5#lvwb zw8Citc0HMW?2m;d(qzqZvXmSZXgz||HtxB_XK#H7WK^}RbSovW?_#%xE~r)@x-Cjcg}qYSX- z)g(Xy7hs$TZiit52SkuLElvo`z2LsvLMQelk9U27NmDu^cc(g+ysW#ZFaBrAC8jeu zX_VeeQ8}(F8_8OvhZ+^$i(mY1a!Hm&c_-pOALE>=yZRS#2oJn=yc zFxG*8>bQhB`vJ7a9wB|;|GhH%OVSYvlve+L@wQrX!d2A0^4xb%BX5*JUko{9diEC#jlC!UYr+}HNhI)&hDxZ}J>-8HIR0Z6GYppDh$mM(8 zXMCD5ZpUx0+(ekuURNO4{AAo^0+oM_i0bmfzz1{MKwcXTxW<5rLA17?0s_)1IOUrO zZU*=&TJ;d{6b(i&qUxEuVd@0TYM@q%0a1$g_qP}oBlBkUwANYi4X|ej*xcsW|3;Zg-s%LN0DEuUe=pG9 zZX?gByLiSW@4m^6r^tDV4>Ca<?Dis{_5q zJN@IsCqqN#WwZ?2u%!08)xD)oC3&v3G%j;w^wo-vwIY%H;X4&4ou+3@n?I}pwPD}C zDH=V0MS>C?h^gPG75R@e8eo?WgG)9bhlaqCgG8a~zRwE??kD9HJ96{`jmdF{@LXzt zHj8ECWksJd`b%5b=L&kbWR6QyGF`e}IwQ3=7`Mszd}FWBd;D zP5c@^+C2(9X7tZg0Wdi`YP1HKVlH9{uVCR%w;(#9E@uVBFx*QD{WD;6RqilhCIG>; zOJz!li86XLMp+_QT2i`Yu3LAMnOrYi<3?or^o)WcSV!ntway)@w}tn}onf+l>%y9W z+gV|Oxl{R2f~rI3B2>*#*lhcxf^7FEN%rQ(ZOwxbYVHxr)&0Dnx zM;WUUBVA<%CbdcueGZyWvlS(MyUw6LEv)-;Y|V#2O6cRGH`7Mbp)V&!UNM_nQrhDB zX5Dq>8q&^8k?1QUSa9%ouHWt>g#FAMmeN^uRg_v7fa!<6CC!5}I5M0v^;l6+8~~_d!KrTqndH zl{8~>!^9fvCAg4k|L6%do4bCh;ONW0$xhP`Qb z>n@}pR}x^8;RM`p1FX5xDb%J@9**U@q>%V;3AMs^enH^In z^%c^b4VAurFaG{(Uqq~IriGucgoTjAw5JJ&KFtrpac#S|n{)=;BHsrI!cx){aJW+= zB{WAWj4Ua$C*yU7O@Z~Ql#8>GE zS-Gv5Id)gLp4M#1_0RKcH$$mH6(rfM6KJo*xaD)5riJ+g4^c@hLOaazh)L^Y*DO@-Ci_v zG^_QSSd*zQI4eCDFCC5T@z?4cQYBUQs7spCDC{f#1<+}mw#hxK@WIUDclLhJ{xB6t ze_9FH!oFw7oefofo}-e_LZ++o1WoVALDHr;^=~QL9qS7Z-@nxl!VLeUWy6#PlG0_g zyu=f|CyCYX|LP6c6825#ekzX%z>e3E%E7TneRGQAiXk&!@oe~92r zbJPm7wNQ)&EC!r_Fu_b(%?pvLvLxzqq&47tfq(;4OAUnfVh8`3Uw~{*Wx6iUk{EF7 zy)NUE9;XR54qOsG z!UGO$A_C~#%uDXPG0nOHS|BWg~W&(fwkLSWhYkiOfSTNxMjB^_e0Vi1AKKvLd z?E5*Xd?2@WT|^JwvXh>XZa)gKLzUXaBOwF3TJ_t%g=VgW(vX>8YjZ2J@8YJwjt1c4 zsq_t#8Fd6VLNaNl*scX^-2nEyv2yy)=i9fQLFmyd?mKy5ccHYxU!O9MChp9N|ev!oK%dNp$}8H0-@`jG{_Ml;gMwD!>xyL^EFsG|ikD#!vtU9{-Fe!_!i zfqC`s1pM~2cco)7u*ercK{F6A^AcXarTTv_00AuX(rNx0#*G633VIeMiKJMvVnkTq z(Z9RZQxDY_^9+mC<}gb3tXHW1bl z@r7>{$cXgwiUsoJXGLTWjVtF`3kYn70f(G$+dVd*8Vaj;07WSfK+~bHxOT3&WE+yR z0)@1|ToW9FV5OxKzg#F6;>D}!t7HCn0}F9@w@g+eP{V<9V}NnMk*dt-JRupi)A*+6 z8dm?+0!Rp;XC<~~FvI#si_W0b1!0ocf2LQzfZZMi!W?m)ynREO?8!-1caspbt@`my zM=(|gJC$&ba93nEb3&w=G-^`|yZIpz+op_&ewF?%!|tA1IF@<@7UP@U#0y|G9DOwZQBITf$fm9JwyOZ)UsFS-hil{z0W6Nl5ppAzU$= zLvXaCVr<(F)~y=qZ8EuA5Tx&19qFUnc&Mm$MR=S08i0|NvY4qMKy6YQ7IjGg zAj2MGN!Ft1vS>h~NNax!2V&s5DDX7MADZPPV`5(RanSHhszyppfvMYf6`*jsf)^^M zA&_#F(C0Bx;xyds;8F31@8>{f(wcAcEJAzwy~uRzq)hL|l>B{}DbF?II@7v8@Alem9nCP>3Av=(`Y7xb4 zpwZIA2RkJPfT`3tuMbeyPLPA|J3P@JRpplRJ!4C30jokaGc@)Y#2Oj{`A)TG}>d| zfS~{>J5n^?+F1o)HR?M6FCCZ^WKD$@tK(q55xry6_d`Q>#qzU0zI5cvj>H-t-hRXn zE?thrEGoYh8R5wH?|YUh*qucr>_6B#LMbQepHdLCJH+Up!JkJ>$B>0hRy=&g4OGRh z^NxaAd~Sgt=`3wZzdo(#7o)TBe^Z8}Kq#*9VZoMKHx|eo_V`X5WBfn@21f#B-3;vQ zsHkBJVe|Wiqva2o@P86>T!~CdMnjxLxM_`khOnPBH`GMBZjTc+>@|IS zm0zmpZUO7Z%E<1zXCTWy1Tr5W&vQNJoh7G_m(Aj<;`W)*rz+lJ-YgErH{@?t*L zn|K(FF_jNSO|)BA)(jenFzpKLrd!Wsf#=fL3>!)vLNSpeJ5DOP`KP4v%PO?x6=tNl zK=W7_xB(`2t1teabX48ii07@Z)kSDlZuiylPdm!mue~WyI8?3=lZ7ocf~LL)DZW!o6Ga0wo6}6 zqGxx>L}|@{D4DTbj*qjVwKAxHb@+kzm642w?n8?N&Rs^@cxk%^)^>%t5W&dUIHD*Cu+phHF!cd5- zs13s+O!NtK+i18fjxiw|s{PU?wF__yyDa5d{eZJUXDmZ3k%iA&RhmkLD|(2p+WfHZ95or?BH?pBuw>y)0nM#c`w!bG_BvEABbg}=J?gyu zRB~TBKP+?i+0_1Cw^&ftom=*}*g&VRWH@UO(+-r1d=%t4DjT(PwtcQltBlk;#pKpS z$9SnOz4IJfZtQNS`odQudNE$HdH7q^M15{-wg7s^T;^B?SZJAOBV;kf-Ec`P1u#5g zOFCrUl77$I^tov6Pi_;D&*@UkmuZ94^d! zoW6%O+CCR7xg_#2e&*xo{Q_LH`SI)9p;7OZiCYFPW&$zjH&Sp5$7cld$eMcY>rX*L zZ%pr99vH)XN?wN7D0f{B0q1l(t1%FrQIu3fEQ>~|`lw<#b^Ww=4vgf6dOQJNYp}Qf zq5k~KpW%aMv0W{pLoKL`_EI|rZePYLgDBRzKC9g}2{u|o(Cj3b7pZVZ?#hb+>#xb0T;q-_qfBy$Z zo7~Y@cbrU#g3;@WsH{q9pWCb)5QUmqm+5||X*)@8WBIDjWnmBs!ads6Ch(yBxWDi6 zpnUU4QuL7+%1!e2gx&Gd&tBpdSsLhb{nv)+SK;OBG6VY>OVy_xfoDYRC-ZBd1#+pt z-*NKog0uLgH6K_0TF=5H%@PviK;+WXD?5Mzy)soKvczS`{L{0-v5kRtz-+_YyJA?L%au7@df_LxWUK!iO`rN%E zYl1aO+w`caFUGndrw75rv&vVEKIM^U;`{Qpt6LO@`~A$fry~rH9_7;ZP+gORlVMkv ziqM9x{F>Xq9llVrMr~e;H8l#{>*A?tD!e1hO|ZJv|9Y_U_3ey(-|=w|_JdH8aKa`R zLE+D7gfT0NG4&;b-j=o;3~=i@9i?e$N4O;V$4yUCo3|9 zLt&K(w@PvF9%8uaXu{bO;aqqyPDXztM{bhqkH^!Le=@fO%yLMO8&gI<)Y!ydnB_)q ze*uq$_RLeuO7z#%dRq2uOzHB^NMNSG(%gy)4b2=12>-XT)ta{=~Z9q#Mm zGs=UaArlk~CGx!MEks7Qd|@{FeeH;x$sx=<;yB{)h6MKN*pok@oBR=W1urVj+Rx?d z>&W5`{iut@xj0pBqr2~4Sl%6&T)!8~^y&Q_AM_u(E4e6*)XjH;hClF5>|VAq@r}Js zDN5TWs^sJ@+JX)~U>Z^sD6(@dyV4S178cg`F7_)<#3}cJ3O!arDf?-Ay(G=q+*d7g zmeKA77h8~r~Z3jNVRe(|2e zcmrJGEq!8?!i9+(HYstNdQt^gK;l=Y7P5~<=-v!p?$q$H7OMHKD? z&tw5b*fHPAG^exZA$hL!xmz=}CaY&fK-vJ1Rly+wVN+Ef5kfs|l>atAAQ6>$p0WHt zB7W3_p8&cp4xCF7dROZlJC2NDw=~W+?>hrw{r%hu!~%Z#(M?w5Q9pa%5v-4J4ZYtI z{Yy-!ENkefzla#+G>?bMVwUJJb*B2*XPwt95DIRp$L0C{~4oFuOZB{d6ttVrtp#kS+-7&a<0FFc>*lma(<{br=-WKWAfe zr2qTR9H@FseRwP8^CHwoqna{Tk5FH_&Q5VB-fW34v00z1$#<+h1kCQp?>i~5RHn&x= z7|5M7ceW0p88SBnRCs#8&Wq+aa^5tH^B#KGi65U5KN^fiz()pP8^_DH1TjtEE(>tu z_p+YKawamwNY;+)rm9{X`dX&87wWc`u9q7t|IE%+k1=RQCqsB-3m4}Ia$w&DmhwvK zKsiqY5yh;)r~fcGo`Z^`)MjM)L!;mJ751G3lnod5RevwtN)@0U0%b+_YYS;;F6JFW z&(@Le9qpjz)Aoxn1;IG)SM=A6Gc@KIHu-vE1Fd(%J<58QVb6N<{kdi&fE1qq4E=W* zGSw=U)b?Q<_-WhCWpjH7z*+Ql*qCA_Kp!A@uTgct)`Wd$A^MczD&n5+FdL6}nxIIk z4RF#IsdCy)W=b3`u4cfrPYbEo0(7P})VYYCLh3FhF989+{$7Co50HL5mmLsZe(WazA__-FT zJTS}5h?Q-itC7U5e&Ek*jXYpuNCKAmtRUHC@l8VD`*A5BDlB{!&ExIn0-G_=yC|Ex z1HVe1X2z;-vd!Po_l?X9K4-SGORXUV2^879)UdV5kZ9R}(tNNbffagIx7TjeUVZUY ziQ9ahbel8zd77C@y>EHJ0R+^{FE3F0AZvP$QHT?aI|U#?7&w(w)1=~cg_w_o0D2Ed zHUZ&gZ~dz2G;rEGK+hpC_if%op9=Gt3N_rGh1+m!t4}J_%C2m0 zz<=56<_2lzCn5CBEwY{%VDb&8M+3V7P&8o+$ znqVfjI18M>q#p}?t#-FA2KtF7n+ZSEm|;7+ebbst5aI$uBG1iA>aMOQRe)a12{#Q=QetCXInm3S0s z(}Q+OCY2z2rn$?l84u^*60$(^AVoC2DTfP)X$~qI_@edhi5 z{A2&9Twudoh3MfV%wpnD4E%z$_X3hn4D7OIM)SExaf!^n2CXV+%@To%#$76ep}cGe zncmD%L$PTw{k4*At*OB*$(-Gt$*@S8;w$Y{;jw*wd1iMveZsLbqaT9~W%k1-7#LT+ z1Bi@Fz2}_yvXl-m-!u&9+`WztPobDd9jrr(X`3RsOO1?Y0QejoDm%7~b=v~R294|b zo$O{awI7kWuSIes=T$68+JFP=1J$mD$XZEJYQWU~x3z&o!wlhXRGkU}(lEQ&0TH;> zU;2=<-2x=~vNj|Eab#&mqy#CVNc*@z_~(N0Lfl;94j$9J zCkY967?diSHkauTZPy1kOV1dG|9yyVE;G;?{nTla@N<+5gSzBx5m zdbCodXV6W(2jNL@%l%yb1>^xbZMxlv3i9lh`efy6C8{VabT&ZK+UA8C%N|^mxy5hXl1U9L#(9=$7ofc+%+zylr-5N*kN9 z-a&^OMSG70CrO>M86lNa<>i)QKVe`qxi{Fi)%lHILP*V)m&L=NC?(2_RGrc2M79h> zWfzrA%v3L|_v^(B_ZM|mNjvhh?h;SGA{lz|?!=joi_KauSKNd&3MJ~r25;~_ztPco z=G17YsmK0U;4up_-kkT+`KTkFHW%m4r6m>`*?c5l3j={ZmUs;#@p?jr)_y&oke{RF|OuV zN{Z8X)1d<;g%?l*cY0^72_3`isXZ1&Ui=uEEG2>b-nc>sY~+=4&a27*)(@{PJE}*Q z!5?@p!Ft||m!>SboY#JiCI8R$i=<^R@1IAv<-qtm_{@&b-w)dUpkEwP+-Y7?`nkUB z=I9pREK&bv>P`8q&N$3eV?8j0m}!R9;uW)94f~DmU|J>%r<9whfjRsN$;-Bq)c5k@ zrSoY0Gd3p13OjfG@O~w#sCUr@iAz-igi2p@vxWk=wrY$^de@sZf8{ay*{iBQFN1e3 zOGY_RpiFI~zgJCK9ifv}IV))JarCe`A`OOvWQQQpUH6*l+2w zlz4tizTrtVc^Z{^_fU7*yYMH?f9p;#)d>E{b{x!HRpYbAUB(d-yZ2 z(v@&_#MUFN&UAVSUlljegl#;jn&E}dqebLd=?3eD_{t+*FFFhyl`J$O^(2@&F13z{ zv^q(!PD_4O#+elGsvDSKH}EBtf_jBJuZ=}{T> zH)d894m-A2N}*;VKQP+KRO;3T*nb%4bLB=>F?2jc&72sj7z2wiT4x{)V@3vE$$NIQ z3FgMEx8>U= zQX#CdkV6C~qOfn~5YFYT))o<*~- z4yGCLMxT4Qwb+x}o;>D$-mdZ>y*)6tk^9u%?0!=<`hKi2A?#YAxEHyN@5~*k$k}MX zYYW#?O(rE~TvCdfz1)8V4csfsQ)R3;kzfo!MyaSh;D)Srr)bKG8k|)z3n{q{AgXln z*%|#VxvN+?9YRRQv(;YYZk6Upkw>m{5DT51bfh<(zMom`So{MA)w=|dBCD8#fC~5{ z)??G5k+zMFTx#|YT2bX1D#C!NaoEjJrP1s?Km*<|4DILsGVcHXU>Dv&d20mGSJY%J z$ySZ3hW$e#Ccf959X$w{64L`Nyu`6n>{bJ#gd7K>K zNGKLPgOyWf=VRCZH!lHK4Iyxe9+SR@0D2Bm# z(Ei{XzQL(-V_Yxp@+^B^Jf6S)Ni{B^)8_&{4t1cUnmffK-XH8{W2TshGbrG?Xa-A9 z)ycHhgaQVk)|QAY@e0F*@C=SMEN}8`MLrT$O+GSrCero66g&q;ogV_pFB!Xxniu7# z9f||b*r=_-RbqdOzm6Evi(pI}wfHjB*k^0H@Wt~xCy(IIoH4q>TM;%#+h3$YDKw%l zUrPH7mE8#+iFW%y7h2Vj(ECtG>t%2^AN|_Ii=AEjbm{{fz59+aI@k1)2$HBgI^*McV#${Iivx1u5PF+SrNWG@ zTVGECp^-b%*4X&L_loacyPJ|D>AM7q2VK9lb(92YEPUkhMh^2X&N;2}^z95YOHb3u zDYCypiyqjEC>?qvhO*&c1tu}%-yNiyKW?_FOHu3H+HMZ9V9&3t5B<~4^35VNV!*bH zk_wOTf<(~w&!nz86RCxdh%Cozr8y%dfB%KglmzMo6R&teU|J)Y8*Eq37r^-y-CULw z&nbHhjgQgyy+|vbsx5qMamvDP|1sJn#w*}va29Uz&DIzKDB8hYyiacRgkr}7<-QP6I z42RvGU0$lnIpwTO5ptQsn3`sVL}=k~d$NH@tJsb+<&pES44S={>GeDl{<(p)3v^eVBu7<({ghhWNF6X#T7&Iu^zQ6y*`NTHipy%baq- zu5`cP2yY%kKIqBXCPk!`@XZLf&sn|`Jr)_V6?}D{j+$7y`B;+PrSgy-Y4w9H~YDTnAI+0U%_LZVBXZ6k(=%Y11)r0I3+i*yc; zz@|7t=V2Eow6YO-cv5(D?Zv*i%A=*_v?^N0teBdMGw<|=p}z29?pK+g*~6ALR7~SZ zoZD5vf2C|3vK3;RK8Mdb6 z&{GoD&SWpVFhHiwK&a!y&`Rx-W>bUU8sYKP$i())VFqn1D~a+t$HBe?QX=2iCPS0hu3R07){di@WVZA_F84oh=uAC?7}WKvO8XUN*=Ra$EG8F+p7oN)L5 zycQO>a?*m!pb~A=F+6ERP1=eB4vD+kc<}iqEj>B|FKiV=A87PEd;MobmJf`gmMNi} z44_;7G79bm#d}f-)z-IpNo-6DP|Y?u35<&U2-TW7pqq1iWZbGSy2TRQC`Z26^4Y&j z&CBCQo%;kO$Iq1fL)W2(P*Z<9DnZ_h8v^`|KaU!VUsV`RRPb5SKR5KQ{;!-Wkj3%LQfc(V#VdS`l+(~ zNM!g<_veZ1_UR~DrBA{`g+oGj*bTi8%=)BTkJ6H>t>-BlD$C*Lf3WE^$EtJpspfr8 zSDycEc6D4lKXbRX1vQ4LQt2Z8Cd~``or=YYwMUIi=#jU3;f?OZL>o&C6}*2*tonrJ zFn_mKb|kKsj=0xO*}Zo6@#CuCc_IH2qdLkZqlK(WFFQ8&k}}5vdeH$mD-Pko&inb` zxD{&X;CsQ=a8Wzd09hrBaR$=S#Kw7QV7?wyPiokPnsKkqsABI}{@tRWF`t}bmbg1a zCRXpO@e63v`P;0*xazLAX-=?dki@bRCZR)sA?`qr9 zOg%2gpE7DE5I`f%lTS)5^tOM!;etFx*PoO>t;&rO#{`4~x8QRmcVGVL;xbx_1HdEa zVWK!7!y1%8~!#b^# ze#*t!aCYlo|J4FqKd^EZEp)%=iON%msQR4R``|Apfdj&aHD+<+4;4<$l~DDRcd(E| zOXqnp_*E4yshLZ24x(|^x|X6sms!;j_M_>&&b8m*{ky=S$||~Lb~iux1%HoUiY6m- zvQJaS{{H!x@<7nZ-3|GhokwqY*1_ubj?_~t)B9FM$IXVb=yA~sv|fkm!l`erWHJ-u zM;HTFzp1Y$LBh)2d)qnMAZtmhtV){p3(*c(N?qS2q$>6}#o!5R#@+D(t>%uNDBLCIHicG9dXJs$X@4b40Bl)n}39(s&+bqI+yp^lF=mVClNu1Kwzt0h_@R3fzqE??H z?|x@8V-_rNuplA+&1d3b@3#bzdEtGV#g)x>4c)O?#Z0aw{)Y9KJ&>s&O%mh#(wr0} z%*e?*muBat6mn?TIK!C?Y|Tj&@Bq|BX= zO=q(>ju^OCotsFsgIbmF+j8%ll&ZIXV&OcsbF{;+H1PixMb#`>7}Kr+J&B^J3}AzO z`kVU~GA_r^v6awQ*x<`HtC9K2x7FZwQqZ2!)PSt8=e@>|?>Bs0VNzsI=HFsc(}z>> z@0@f$qmegu$F>oq+&_BB0Y~h7gq|1$*Z+lYY7Bf&{hup!U0@_RF9d2Jn+DMk?$1uo zc^0rTrn9$j{g{C2f~Y<4Qyp3BYqt$HtG9WsyK12#qjlHcDiP)!j5>REXKw53wj;U1 z(rA^3$~vzGMD=V8J95wKW3rn_KX}FnkEX?(04=HFAavOZ+`mx$b?R;#Ki_g0xBQwt zkQlCAzDqfC(9Jj1lY!8C?X^QpF*Z;aCx}@5l$71^XJCH}H>=TMW4P71`U2J{>>212 zw3jkLd$b{Xh&b=ziF0uL`n~s;{B_)M@9hM`r)kwzTqCjJp+lPW9CI=StSQI&%M&gk z^hvNDdDO7PN1i7gJ&Sse$An0}wsgx+Ws*Kn?-9#6lv$B=&L_?aD;C~4HN$yjt|^rB+vn0zhm@$r=*4ifo|ru}A5O(rV1(o@i>pxlP@ zRh``s&AYZu;lRQut<5U4GEf(jb9DYDm&;W*UhkUKLIw)nS9@I~V1dExvp_Q5^BjqJ-THy+Ll`$vy7E*h!bbzbL(-M(X^`r-OAE5dHuynT1MQ zn<~QtsGk~)34?({I*D)ZLjUb6zc@*J-tpvT*9adK zrGi(8E6kVhI7@Qgx4t)is-mG(^eQnKrjVeakoovafdT_P<2wr0lyJoa1?|iXJcR_G zcY{ia$!fiutIufs=`~j%db6+Kr^=g$BU1(w8As2O~WdH_?;GkdR~SqKOSo}nlxDD;0`4-6=lHa0eXRToCXuMCa{3dw2x5G6v+ephMs(xY*? znIOBilI^EdNi@`UyxSS}ZD(JfZNA%(V$~a}sUdc+6o3rfWaQ?ihK7Za?O%M;Q1EVJ zftBZqu_^LOoNj13FP@%q&-5xyb-&w{9SztyF2xBmQ1RO^a2B`eX-;m|7@Tr*sOUDb zhi$$C|5`c9y9u(hQ+kMfPj)719J(`*pZIi5+8Jmxsj7~4bF9!-<)}9~9WJJU__>ty z6j*;hn-12^R?fgLG~(>*RT{3J4j{cIiR&voK0cO(9J@27J^V~g$=@la*BmOD%h_Lu@ld;vhS;Oq{i1>n}_jN~)*G$I5 zerM^&dAqvNj)p(f$#W-nGmm`8R$W>a_(Z*ibw9SQsgP0?3iGfvxPu$L(|k_yzgi?n zj()yi3VY7Z@$-HC=3<7+h`4Q#1XohvZERRJr(&YZCVXZs0X_$p6I8u}`x&ozqK0nz zc6Za~Z1Q>gG0d561ELYqdpW?pRB)p_x|-{s4xx)|vTRqeVmGPse4EwfdNF{7VE({_ z&&Zex{p7s~6V`LEiXwPLgd^knflJkjy{K6RwD(wPKNe|ZBz7es-}e`Fpp}A+ zETrqRb!%>pqLWl)67y|_RhhFMTBz-M=$9H-wHqY|JR?T3R!k4H5a&u2r-cNNt>vd5 zvyXMW6FlvIXU0)vlKPIUXZ5$8-b8}7+Rw8~mQ?1Drl!ee?Q8bQ;tX_%kMj{2?y&Xb zp9{jfB^%7|M5i=#fAmc0UKPRne*2yNy9Hvtp7`vd2!&!pzI znGU6PqT$!TEfj!r>)1S+h%5)uLcZkqQ$R4^4;oCr77v5y8ueUVGVF0Mwo6^#C|$BlPq)?P zTke|7gabDX6?;1A4XV`~!)b}`q$9|%ka=Id6Z(s^80zS~$`##RHFqXN1m21CC@`75 zul*oUjz%{8R#al6VYY8Do2afaO6dD~Zm7yviX9RCal%PwYK&Q*J^`C6ZCv#>nycOKU z+0Y>;{oh(Ff&y&;9d^QFNuq7Mwn&4)`%*7d*gL`EwTZ>8$|>*@w23nB<>ZF(KL6F) zdPnXtdlz{B7$SH}#tvk2nEwF)AOUgOcQ+V4MDovM98r3a%E_X-ewC-9XzRTld1%0L zW?613XW>V<2*CIdLVs<~Cq=HgRlSs+dF|n8^VZa&CGKT$6}=+y=HlPJgmygRfeFNl z0-kixBRlNhwY<~riFy)EO zR+&c8r_Y=otGS(@%14I~N|fqv3fy;+0oi z7JAB?Ny{CHqlL$&#t)B84?&!_Lyo`}KH7HMgsfWE;+$5GM2GCL!;PJtQh*c$cXTI) z4pYZMr?@fGR)rYi#dV^8kz>|WM;eMdS+wqN>0B6=K(N~l$R_kS19!1j3Ce{(_VX!8 zC%Ir+S{WZ%&F@EJ+Nm&@3@n^gU%Q1bW)4&mBQnV0mL_K3SZf8j)!aif zG^jsXFesRUiPdfIOT@(hkBrE`B@GKJbHl+}FwUl~e6J-<0jCkQcoqHl)a44rP(Dv- zmAlmoL&XP=aYIq8JQ24D_OcYEHg6j*3SI~7I=uVbLof_S5HUg z2-Q@Rn1U_5*4!haW7IyvRCPkgTqV3InB@Dy8S0Ytrr#&gKZ?O2;`FjB3;0rO?UH<1 zoz5Wj>CR$krP$2-7fI1i!kHrE=@m$EJX0j%YgOXno+v8*an$|GXhJ>xHy=G79T!ca zY{`nyTWi2l06r#GvpNPI+xSL=;)93B0}jD5)U){5Cu(>;#$LehXUK}%Zl}r?qcUG> zF<=Yiq8mC@kYpY;w$ky(*Qd(~=jGuEpE8c@@Hp>`F@G7%P$yVs$Ien}G&+;}M1eUU z`xhSZz|-5vha4NTtq=GjaD&%g{V^`o_Tf}f`NE1wOL%l&0ay2n_C3WxqG$#dgdT8I z-;1R8K0fybHu6SHmBc9NGZhm0(?K`On;=KmksdKQ7CarDAP1?)f%nlK94hasH4U{s z;e|gaPRH$b@liTX6G_h?XHNe(SoUzwYC=rk?3-<`bsi|ksVsoY$+TUnp&(?3_?0uw z9)nd?Pis3KFYvS3zDyX(Wz4JD_(fU>D(iYIUo>lz{gKN0KK_gKP|uG2hYyP@$X+W= z`Gt{E9Drx==xo4+AmH5d(%xV48*FL!uR|8oLB z&ha7%J%4HqKDP#!VlyQTEPJ&IJl|LhlRtD3-O8&J8^Py3WX@1@*_-q<(5+gX%UDy9 zNu>5$6W?iYT_pomkmsGg8`=ap!Ttq|pr@F4mdT0NRMe5(-dli7j;jXjoBV9y} znYzC)QO@%HNG3u3m0ooCc>e9)fa_zLj)72^eUtAwcJM3L*nP=xZ&gwAw2?6Z#+stS z59fF2k~XGel#N=%Rkf5~ZLe@ivF!uU zgaye3Vd;==knUzdnxz+(-FN-{ulN1>?zgATIoC7K&Y64Wo|*6`qK1(dIR&=tDzhbT z9+>DXiJVhTGL`*=$@{EBuBsF)v;QhiFg`y6Vb-_?2bWrI_lC5+4}#nH#X)QALcF~^ zL1_0DE~B43;JY!L$lr8*V#h?_zw68HFCC1Ice;eHl3h}X8{AU~n=L&A=6o(-vrm}H zml}Pt#SmI8<4&gS;vIE$ext1yW9N%?Nff(VOBFFYTMh~*d=lFbG+u>$Alj4Z-5QmCd()jzfw}16#`{kjSZ2Ols zk1DC@{{pS{I>D%OeW~eJ@N>X*g4kEuq3eg2uUpmF1!Qdj8J^az=rIh+Qv4M>d#OF% z;m}V>D+Gmt$(V(dm{Ic1jjRwhDTK<4db9K|q`gydClqY)xp~7Z!y88{`K>reVpDi* zTp}^Qu2XR~btpqzXG$;A2SMhXz-w@Qa)KvNx!Rpb3(A{(Nx?oih`2Q_#rL8=-P^^s z%E5Mr=-~xQa*+-N0EECynJOC>ex9@=v;U(2jIv-8 zk(p)qGP|v`&`Px#v_Ew_Q>h0%Z+UWTI<-GII!Y7`m^wYcozhL^ofDR2{3EmaRw1H% zwJF)LjEZ+Y`@r{vzU`#D;O&a?+jqA8T58Gsiq2*+Z1%6m7ia&r2Zr~0mVLlh*$re- zm%Mn(R83!m%gfF<E6(Kz#u5{yp4;4g8fG%J@6(mP^#6&eYlL?Stp$wC-c)_yv}i z!f>|vNNq-%uiRDT2_6d8!mdRFH%JK&^m~xX^$qS9#Hsee8>4U@$D-0DRm^Wjeqn!# zVWr1Eeplkr6qg7L$ftk&>{yyV?hNll9wCh($#x9m0`$?;@=3$PHf_p;rs=NRrRe-2yka`VQ8?)x4i2R1FYZWim{Zd^@W^eRilRpnXTkYx8rkL+hru?oXC``dnvc1Y{ z1XyaXSDnwa)1@L~&mrh};b6S@h2ryaRi->`z}M%t3E)YJ6;YR%%S+w8to??7n<-rI zN|TOwn=QZE;=%IM_28jw{5iYJR4qUvygQa6*KgZg(g*pF0S=yDIQa0Z$;WKW30o`7 zPJCP}CT4l#cPPaIIG}d+R@Ci)Qi0(RTvuZmc(&C3Ugcywu|``!NNd$td9}w~Hko2@ zfA+NdO|#E-hhTQwLf^&cr>R4quPih^8S?e@E~tKrK`P1;=Th^vQ(p!|vtmhUnN@@H zm)$kSdghRFAn<#MH33*`X7bOP?NE_t_p!0L$Y#;6A2EhQj643gbT)HMw@+s3IkQ=~ z2BeTv{!dGVJ|6ota!KIFt*Cy$kIo(W5Ckl-QI01G(L64K5re~MG^5(*l2=i@J-x-3 zrX^4fwR1DhkLMQJr4VV$l-{y={U-)&=$&nS)hTXSEc+(V@n6Jn!bgybgPv9x18cDV zcWnF&%|ipVv1GDhLgw)x|DnI8+^;Nn`DwC>eCFPUipBg6{-IxE%d&g@3k^uqr(%{U#uY-{9N2RZN5zV4Vuk!Zr9vlDGW*+oI?(wp;k<*j zt;O~=mswV+z+EOU&=E!Me5+SoyE)f9VxPL1Z#ax#1pm(hwa|lmDmMJPDp@KE-#m{N ziIK$yNsQxx2Z2Y0K;-3YUf~4qt?QgQESN4~fLSqXc!*LwZ>qU z7Iz@c>Qb3NCW%>%B^h6YF3;-qMl!yKvV>FjLm|ckHL6UNN0_~3@oCKvx(F+a7ga_H zjBml^8LFgo%6uH_L=UOG@UXWG>LMz}oN;1PwfkSq6*rs*}DLK3s2=j&op0aRmT%=V(n^a$HN z9Q)Ne5X#zc(m*E3Sfyd=9$mA5Ycjk6OBs>h_0ZXEWmJ3?7bfCj8MYaysYPk&<^_-b z)V6{=3!y$#c7X$>*ly2CU!@sfqMp9se97gZfLU3AFy3} z$2g@!pd?I|V+YwV#cdjWQIaNu<%Rvq*R2l)szC!qds8>sNgoLw_+76`i4Wbr34Af} z6dk>e86P!|i)YzJ^35M3!y2H!G>CO(I1drsdX z7Xu_GK#xWJ^U(o?E@(`*Hq#jGF6qAjziB*W##4G?+*MQ|^0iAPbTdX(g-+i@Kj}kd zw$vyBzw6<>?b{N2Kp)a_cCHSVC^*f`9lor+NRqs^cMFr=_zFoUC7KM%78Saxc+PIi4Mil z*J4Vxm~&iKFK+@PUEcwp-&#BY*-2r-ApD3oIg=BrMBqHjg2|K9E*MOCZbWUKaB3%Zc{+6C0R3>Z`rxX zZp&O~P2+uax3BNtcAorx{Dc3>I4rbqC~{)of>Z)VAZLe2IWsaddcIt+a$_}m?8RS?)hFH@@s!{?7r$u^3M}9(HWFO zFBp7|J6)_jEecgdr&D6b#ZOLBZ>*3e6LzEZ+k^h;i6vHpwY=Jt83@a5f6IzYo?Y!5 z05z(^u7E#ki#c2!Z$`;M{>=D$&_0j6X-5D{q*zf(y?w``teV*b%iQ;Kl-Khto zQCORc$6YQ7pB)=e8nAL{G>%qNNl`Gry0NRoLQTC7{>lWT(VP(V)|fuqj> zDSIi^Pqr%y-ucg_uqZdsEBnR$>iMMuzjIB)Qst`j8#^d_$1Zn=b>3ZEP0w}_tc|j) zOU}}W17>Yn&Kx{b=f$ohURw+8u@v6COqrb02<_qIll&typS4`8)3j|_*MQwf^~|_R z*3Q(A@&^xpKw4Az(qGnmF0z|u7Z<{3f(PxDu~%itGAefNy3l8EO;zlDFPI<8@+_;) zDtB0_j*cs0&lchc9uF#?-v9fVy-QO|?i04{!kD^IAQLzEp|cJ@*EC#vx_-iVw{xAH zo>x$MxhY3Gbr_x6Soj>z{Px1-z3dU!?E58G z%|C(0Bc)+Vx)s2VL*l>3G!|z^%i6lSXTL`;=2V%p7H8LgJ!w#~-LL#nn(GH*(@j>u zc5L*7o3fWt*`4}V&zT4aPH(!UPplY*57~9?mRWdOGQr`34{D}NMKMivdu z^Tw(YG?Z_PmJ7{59eb^?!R!wC&n1`Z6+eqgDsjV?rBwspn1+W;{9+fXz+SJ@Fj##L z>yuMe=72-EhZ&+tHv=RGR?BvQTvo_291Y5{^MdndUy_oN9&SzrU9Dtqu?nF_()bL^ zsOKI8QwcL8p|;E-Zd?k1Fg$s_0gQK5-c@r^CdpwrSF=B>+vyUKR15Xm^8USdloBe> zhKan>*W&P=EC!aJ@t{|dW)zE2W?GITS~ZF76s)^jI{}58TgdGP z30OCGO6X4dEa6xgKVB=RY?oxAJJqxd{{BgEnj>ssJj)*9hr)V9&y7}!E}nf^@(#wI zZ}oJK;r|-4x_D5~Iv6UKAmZ(qLYtkn@u!05@WM%@S_E^ArgJvQq2H(-KY|Uf=6Kh- zN9;g{Pi8JC>I72$EDDDV9Cy5X#c;%Jp0oO6;Dg{l>mU11bz9z&x=&{-1|DIEV$dzq z5$r==j+&A)Zd9!8?~9k0xzbzLWVcHWV?-oJI#%fR?IjAOKcH_rG*=o#L+0%Y2Kc=R zm=vicCdbb7WLo?^!zxrwZywnY4K7)+bY-Au79_lnmHuO_R9c?2`=EEE?!Otd#pcHb}|??Db1P;-5G__Q5#l#^4m-8-M2DUhy4Q_OL+IXio8 z9VxgDE$PZj$1}3df-yjFa7cO;Wj|>5v`8e+D_Xiw;!1s`GxNUv?7G@>#L89-D-3Wl z&RQf>ce!~keswrApFvGi-ncZpj9fcOS;t|9zP820l0b@hHz51^Ch&&nafgEZeDe-! zotvS=!e0*`T6?DbS<3b<4yIefx|hyYM`GzBuI=}%LRr_&X4fpuU;A*l`I3}44#%%b z&l}TO`+B=<0f+WD^C1KLtGY&FRMCBU&mZ6<{u(p{w)!$xJU86lR!U-gpuQWBURLPQ zwhRyxQx`>yF->foYtSoxd9P@|#ANOJ4u-!Y6h3668C%Z)LR4u0^8y{+{p_5w?tf-0 z==mfh)mFISUGK4ThP*_rZ7|vw6@NbbyuMGsjJ^VRoIx%<&pcb(DzYiu6THP(u3ZFz7d{bB zxoLdnH&SXhL;>9)X?ifxPtiQZdMbfG;c~muax~$TA7LZ<&ge79A2}8DE-b4}>uvy1 za>3Tac4ZO+fV7mh>JGMN9VsCI&UtB{O=93d(D|v~douS?>)7CT$Bw;$y)vS}ogTfh z=osTccrp|EwleYs<&4ltpDHuDE4o$u!v0WSj_6C=^s8>?hdw(K4{q@+S(oRES@8b3 zlc-RD1z2#_X9UJQUcmM24;|?IN2XK&wnv9i6m9M^L|)tM=-S1-%N)YaIdX8l@Tn*u z3A1zf#4D)cMfyX=@0K}vbFoCnra5cN9psg`ZTLO^?RHpKJYuzcCf~|KG%!@*yI`Bf zM(WoQ9&QP_9I1~)a#^!Zg`Uy)=>}rG(s+zF7J{17zv7%>j$NDDL57xX*M{|{9&!)9 z#rm|GmOqtAA!U}ZN{r|6LZ@%Yn5=f`wOze-7;Ub*m`R<%h2jC|oBbTNWbM1S3foE0 zib>u5{g17!t>+x-d|TJo*O5Z48MP?zYhCm;K39y&$7^(l>2Pyd1BKejrlm{F?VD7mhBupGoD0e1p^kf-1fjwz* ziq1gQjGJ9v)%JFojO3>S5) z=X_Sb%5CYuJ_O3!yendEaC_5pfuEfHOVI~a<9$A=l+^AI%j=^p+3d)A+u`6fe(y^b zAOzDB&yUq-0Kz!r{V%BBPwyqOq2i}jW@^9_NwLgSxPN=r+9b1dX?cXq2;Q<{FB8zKxlv@GDk zT2%4JKP^I-y38hqf5(6;iFw-F2V}fKDUCJM6Lyg$wZB6Ih0v27BCqYqZuj?SSd4U) z%zUznwv~V;SXNYYUOgNESaed0YW;nEa0bdJNAVmO;a|Bi*;)pOd~59uS>5lnO?R0$ zsl6RRE#v}$zZ5%}@vS$X`voweOy$|UA2DR?xL`x~xQfByKu1(N?MFLjgM*!k*eAoU zB$@G;?d;E7w++7(*XfwubzfrPhoR6v`qeems$IX4m*hL7^xGg150><;XAe?glZ0_p zC$P5os<9CB=QE4$CcJt7z=M#fdIZ#|z?c2@%%wF4vmZiN5gUDc)x0DT*|;>K0gB+- zU#4y%+1@uAdhzhk=r_C?i-&0JPXMpSpt#u3h4syu6y~g5n=i%x(R=jTQhd@nsv0;t z?XfL2SDMhG(Z19+V?|2Iqpm?ug`7K|(>tv;4)E*SHz9$Y>{7I6qaib6ZU;j;caQ%WF{a4;d8H$Ube-58kOY;W3okdsy=Rli$;Kk1+UG z*o~HsHkvgGs~H|T0oHSu*o79Fpb){y6ej<~NR@e)f|MI2*dScfq65Q(kit;lDESPZGEDftOI}Tnc_ivzkcU_2u(pstyX)$-Ipj~N-S^0e zW(T=xfWEG$nW;7EKh`?mUVM{G-OM{OTH&a#-TSJxS~kE?GAa^KNk!AtE7jtg1G>Eh z7a>|P#Qp4V=Krx}4xxT(|b?e^A| z=`>w#*O0zmEWNgRQ_3koc^sQ;6hP${$m!`2=>8B>?Q3r2o0$%}3Pm-~sRST{-?g>$ zxAj-X3LY4~^*Oq)aP&bE9om9fk(riTpPcxom@u0MJcVZl+n8QY9S7t3s*#;GJtsGa(OZb~N;4cl`ei;0{IdNQuA2?>w*z zSvX{WsQ!g9vVZsit*5Ek*@73&uS}9eg$LsnJx(yX1SZnh#Ex&1cEyFBWS~C}=2fz+ z*ky#kJvQ~0S+|`DDT*&+SrQ(+fNoPx7I40AkOr7+F{X?qMAJXrOU35 zQK5U&E@7gu2KRaK{SQjXN+Baa=47R$SE^RU@*;lQr28|1TELnl6x0%N216c{&n`36KNQa`a){4f|T`Ze(@$>(Tx&Mn~5 zN4(siW;=J2S2izz5?eQ~3kz-YUhA)f2d8#hMo1zBwr?lH2C#{GVpZpaogA@!M1iMv z!&k)w$sM3TudSpS@EN`0#D*;n>$2bX#tf^;rM95h{I(!9lSUa)w$Z$6BD>*{&|ne_ zny{^FE;Zz!T_ogFgl790TV1BVFY-qy^dJJEJ_az`JUR?GO3d+jZPQ;kk2&R`s73bM zJU~yUU!HWTUs+UE+LX5Eaj6H!ZXditBUnrv4q11M$5bEM0il$%YDq}2^6}aFXTf$vLVEi(56`JQ=!WIl0fwzJ?wD>VAP>=y zy0UVw4c)qGalItj)O(<>YLn}CL@~J2R*C7N#UvcxZ69myQE$_tjaWdZEPypA`UX1J zU`~cuW7UF_w%yIKU$&hPKhYEHSm#hlKU~9HTS#D#P=IAu+K4#nS}3md_TCS!uFp-` zptA}*QPhlN*rrzog$46bxI@+*5Blo|c~JyfGxu&}_5Fd=&`M3KK#KJ2dzW=Z2h(v* zxHcj=A;6(Ai<2~cB12k8cQ9V7nMT~ua?0u6%LgAO)p>cbw#rl8R>|7)^SM7%VBM9p zQ**l#eAt9Y#R8g9m^B1*)63ZtuXWqk0b&vxDxt@k6r0>$+1O~h#R&*;YjF+z1|eF> zejS2Q?ke*Bzvum1QDd|mAg*mwRxV;>uXeK8uPU2Kn=IXmjcUikjDd+3b27l)O})Nj z?z)#%l-{a%UqK$|8%y4t>`rh2epoYb0Xg`|AIl0?NRst9d73^ch}w1sYA z46EpEy+{wh*5HV;is<6?k#H`&aqRGSntx||S(v)gFTB7h*Z%giANEW_O5?KMFB zQ3&QL4&&!o8jH>3B?`ehy?Dt{?ZT+^_%SI3-W}7eXWPGR_$U|>AJ03~eIM87jGJa8 zdLFK*=rt%#DxFXC!;FE3zyb#TD+zj${CLp|`X=p}8L6yAB&Uuf?YfK4%1pP%mnb(f zghGVK+gFjAM=;{2p%E-9kBi6=g;da?kE|qJM_$ql9|aP7*{!fC6jM4n*gN_e`9-pA zv=Gm1UVf9NpZJPXB9iZe3#MSmC*qAx)gEIS&62BgSd?SP`aTFyVjy8iyl=w;8GW%n z41W+W(GYni!NQv^kQDp;tY&9*a~FVNPGvHXrkFcB-w}1)dVmR7$6ZD5@%wDI?O9dp zM|@<+;CtfW73?As)!g*VomE!gMHjF>QQ;dx)ZWHDQ_zwh@>o7uTPNk^lkm&~$x;7h zo3`7~vBW1djHJ)k-J2sqr5UvhvW2j%Vo8!kN0DbcFA!A~(T#LbiXh8dcY3RYw+N9pLea`_+nmBb=bU6 zJmIW|RL@99JLT=cZ7A-GM@C0KQnr{J<4&*;X&)@CQX%)!Y%=W24wREG0e(5ygC&SZ^W z&`Yu=mcO69UC_oXW(5V0xJ}wVo-Mp9dSoGRTX7~-SL?S+6^rOE(m4xyQ{b)NT$ytu zn$zUDpV_cH(CujQ$^O50rJ&QEK&HQy!?O_-xWE8K8*ZV6814H20d#@UzNad zC%mUk`S-%FdhxIqfJ?x;CHe9L(OdAyKRYz~>wwjd+FFw0NxPF3BAFxp0mKRr#{F5? z2P^F>XuogX?S39>)OCPlwpy_(-WU3?C0mBaHJI&1hg{Iq>JPEI5ny+{J|{lf_9u2? zH%w$UMz_p!9Phz@Ya|W13L`%)qeuF;b@NClT6 zgKm3vqSWI?_WyGuwBMSldY53+_w#76JICgK&;BoO(KqFGq3?2W^gj2c(>_WplI%CX8=P;|>i`UM*^I2`nJgPtu$_xywu zTY=cTPCe7Iy5MV*r)sH5ZmW5M7fDwZuZS zJR0oP9`ni53dntTJRD>QW623-Lpuq@tF#ICnts1?e%c3*ADc~FEy@qm;hO@s1Z0(c$N{6zH@$ZI3NlfIShXtXfa>yrxAHN>TuDFy|su&PVt?eIMVZ^_vW81cE+xG0(wr%g&w%`4qbDocHMs##UM|5;mbyek+ znZJrqkQ0Z8!GQq+0)m&65K#gG0&xWb0xpDt`1iyTHA?5-4ccBp!wCooKkUB?IPU1q z1PF)-NK!;l#Xb8n$E^!r^r^46v9q=N!&CkSnjyzoLWl^g*iEn_5b8Uggoub=Aik7H z>QogOJy{MUI38@l>*kA$q4wzM+jc$Y?W^8vQd(C5t)KAvi=x=$E(Rs6A1JFEUgw|wa&@mf9);xFODny|Jg2z_TbF$|JspOpw(J?+y9!k zv^_lc|9jmIdZbrHlPVbrswDhG1{tIPsNfWkAa(x`mI@w>B)42S*xZ|zLiRkx|4kcC zI)+s%3Qm6ejhhwmOdu(C^!S7sH*MVQYeX3$wX#dx zK=$%Ky`A(U|4BA5lb0LF4K5A|5m;?nlQl~$N{SFDNQ{OJm;EIvFA<>vBfE;2we^!L zlOr43QjBjBFI6yX%=7pq#p$xvpbq1#b7B88IfhcDt%)JEIFA|w0<09^D&ZqVom_X+ za=?SomSh7`xGPCIaQB}njO%z|KR1A3&pjz3V$GA_c9g9I9D@T z@DNfPZIuc`#Ve5@%uALz`X~?ijd=&mX#Z#5MQ>$rokLxe$eFPS5-c)nOSf;l;l&a8 z-4zLJ%KLXE@feTmCP~rA#As?uBsejFqj9@M1)$|nHU=TH7ow|RYE3!E$F8)O<7$O_ zh_7>CSRIhH;;j@!U{aaE1B!q=!aQd`q9yA2Br?UWY ziNInoT@>6R2J&k+0YH|hh&WSIlPQH)l7{LQ92AQZ5En4ZxKEI|R{iIU3#i~3DRVSx zbBbXWqYEx=}zmJ2HzQWDt3@5;BH;8I-gbA8r!MPzuQFaJj9c5OsHaUP%LS5BIt z=%5HKXz#9n8*pK~X|lZvNf*JV5a?bsD7cVBb-3hE;wb^5u5cW#xfB!t`}m=kXND&0 z;dMRdHzUd9YQK@07^z4}-^D}zD39yHFBG=^x>21eR2UQ*G~z;!Td(F{q>=_2)Zd`Q zTN^S?l#z^G#SozG0C?Gt+55G1E>(ALU9aeNg8$Z7+7ISu5&^eYA-XwWB~7W@hE%@y z7Qzd3^kL}X_u_A8q-O8iv08T%8aSE>)0=bn;@Ixs4?j-~oiG1n^~_M@%A=Uw&uog7 z!~3O&USlCK(&5gDx7XUZ2Te&t-;YV|^d*Xvj(zmcz2QbsZcW1R8PX@Ohong_|&-COJhP#~^p3s-TXY>Wl3tf)G$15W68GkL-B9lF`}u(jt7fUH#XD6%eMH15>g44BsStqj|iHqg)qh zI)(A|`p`Ih18=aQnBD%d;;R`itL@FTVSU^BJe=h$Ap#Ov|2~u6`dOlG2y-iPyx{Z9 zcEXR-;e?J;lDK>~y2uBqJ70PDJL@~W6)E(6a`$tzU&tc^9vW}$;l;K37W{}{HHtPgB~m5Dl{g85@Y$JrQXnpB?j3d&W@_y89z>A za2Q{b6@kJ-itFWsD`I>C7=Xea{!LEoVJ@DcO8*q+gFUsCpy34pn`! z&>)*{e@|FrG#m^u0I!bMSP5&S6ExW2hrTK?KEz=v&k0hS;rgh&9>L;vn@wQ zoZjAV&)n}TJ*@kIA7=W_1a?0knz(8hM@I(KMP|i;=MIy{yuR7%ocMUMrbJwNUGdfV z1C9bp_+;qJ*hCmv%q8m&f2%*<2~AYO_38(gjx)>J&f~uV6Kp>3NBK`m zK6H)e@~%yt1>~LMRYwU4eZu8wAa7r#Uszg9$bWnPc;vn+BiC*{;=4|JM}&Q=O|{4I z&)_G)=k}hd>3&}kW_&*WFmsGb(AKQj?ahzo85zB+?7U6O-%a@hz!G|=h3OHF*!{s9 zU+Lu=2W@vcT~hwDr;$kN<)BFScJ_#U)KHQtf^ucw?f54y(_ zkhur*20MEWVE$gzj!*MD#dGkV=L7DAEE7^}gU2G%|3C6OcExf3pi&ZaJR=0i+^yk_RIu zQyWgyyBBG(7BD;n$PRklymakS?>u@?9 zso+*fGhG)ZqI&;;gWkb5zDD&n@Hi(t8(kw}6sO3<~OG@M~*hIc~I>71Wi)7adkK(ED>y-7lLDsGw$# zJ~#P9%%2I^(3wto&yD}!fH&~M1OUt6vIm2+xHYt5y@!5JV zJM|2{TF)((+26PQcK2MzS;^hagMV20i_M+_8~Oq!LoS0oz1gcdQJphvj9u04_ipI< z^_Q9+(OUm2my%-Fhv^N-Xw=C$ZQWYCCpysy=GA?VtpneMXEBxz47f}Vf6z+4#$-Gc zB~<<_!d@o(p7r6anj=iwmMa#I$m~{qLjKhj(Z3*@xdHNp zPH(WX`()8%hFPk?)8RxiY2F{0Lf&*JFL&?21ee2V3ILLMa0XnwfK-_A=F}3;VnJPI zs&czSA+4_L2a(iZD6E+8)iovoo!9fsS+?cJmXQfj8QY#WW$Km{m;W;c5t@jC{lJ0G zHN`sp9F5QXYLpAWMYQ*i!z9pOf-ak@vO#A#rqjPsB|WRM5C}%}<{<-TieNMXvW)sN*JQRQkrQEFZ}9``V!8k#P8>mNRarN9Xe{ zfL(o+zArMKeUJA0rK?_{GXwL78Iz_ee&h+aVv6=KP}LZ>TPi=qe%oH_f+F@Z7Bjk+VLF6J{-$-^5$?@~D7RgsFKxj(VLnIBRZE`)L!f zKZ&Inv^bo%fW@7!rc6|quFu@Gq3h}ynlVOvu3;~Udb}{ZU%JnSG?3uzcMz6#x|}rS z@tMO01poj>kSCC8cR0wpIfm^+T?W6>*U;@OG+YP^9x#=Q20uwL4XBq%xka~tp`t5H zU|cu>&RkPg3OJfB6K98NZCzYh3AGUPI1C?~by41%pQ z_6V$AjNx1mR(UMok#)uGBsLYWucYbpKsEKaiK!HLSb9>xiqU9mhD|4n!Rv*&){rP= zTPp(oG#(1SBh{UcGNRWyA67Zw9y-?Q6(&s?Tu!kE4pRyVxn;ObMe^%0w~wy z3L7@Df#W~Yp5f_0Z1AMInPvbd+NcW^mA1m>-E)UH24xN$Js4Iw{)Z#-bt!7aGAR%_ywad^5&f3y(6YhixNd{#KwcDM0xioZRW)XLkZEIpB7KYpa`jW*?e%+AAH zh2@RhLZ>@4+3S}#H@DdKP)f+ukyT^8YH;$OXnDGq$9BDglBOjALY~|~TV`Sh6Eb)2 zCNN&dA^6&sPBzXSTQ-XYl>xF$^&J>R7mOufO$LECUfLNvK)Y#E)B+ZQq-Cqg94!si z&Gx#d{K##xnP|DcqD}9O7(o3O;?M|41~cAzxD<9C-$tFW)V&i9vX(stmqKCTFcbJ! zBxNSZYKD>+t|uiX!xXPaj0ze+;|C0npii!8CJZ+RFL}Q>WH{Npd>wATx%zg#^er)BppA{7?W^F0R{!#{VckVDdGR(lBq^ODP zwuBb&G$rnDqMUZY(HYSj$lLJ=@S4q)pfoHz1EI;CCCTa%B7})pqNPA#ca^7Dl~;^adxBJE18E7Xgv!(1+1rE%9!#Cj+9{aSz+S z9(9-r4sf4xt@az3IPD6L{8@Etn`~RR}9tQG(4TjT;^p9y+*0E3Omz8GZU^jGsVbl2HE2_0ASjt$Y+{q-93WcjYF z;-sONYT%SEw;m^2G)kQJ`-PdyA2Hy}?^}C(UHe}~=MCbOqR0?cZ)KpzevM@U<+LN; zcwCF;_7zvfl{2QSOmA{tu&y{j4&82AQ(p6hq*RU;1WjpmKOroqz(U}|_t>uuj_Dml zj&=eJO{$SpgPlIT|NIo`I-Ly&4xVz#9Vc2?@QUNxXz5nV> z&Wux46~{+QSlf3tF%)4WOes)3wu<(T*J5Eq0RkO&l1y)Gd`s7iB@>LVaSOG`T%KG91FE!!IZ1tQO?N|pXF@;HW{5bza_{bZXuxb= z*3zP=k}UZCBt92$0fcTmNK5ax@X`%2#dMr4)hJL4v^cdzby(mv_KYr_3GNXAzNQm&7#;jDw=j-Kl1P*iM* zT^f8-$dQ4CNvyt(lZM-jT$rG#{$713l%o&JGsCP`!&fiIk1afm7Evz^Y& zJ*XKY>nZ56l#>+=GHjqw;oN*(cqW%_QR2h`d0@YG?D_h(N1A9pQ69mF(!{ek5k76j zY0imzmkXh$z~84$!o3xHu#nKvIun(7C{s&>HxIcXNL?6~MTvrt7Bz)6V8pvpY76WeiKsKBo-$k8%}&HA?PxkRh4O_&2K6-qtD8WSzJSPK2H|t<|93X6 zqM#8lT!o`pg_MAmWy!apaN^q$nrVB$;%7vSHy1KG(<3~-HdABSujFp~ zfgDYsmlZ<3Juy{GH>|H|4?R{R0!>~Q6P705_FNlLP~vJ9{#E~i!uGqyV0{B>RF6AV z8`Qo~?8o4v---yQ^}f@KVDBo?+Scb4dImQm#zZWF4Z|)wXM-5>R6RvI?pSD@l>rFw^;&=(-N-vMx8?gN*&>U|*|7ClcLrX8ew_Nv$ zK)f(WS-V+KyPfv6PQW?}inI(iwW27{UiYBrBmouI%Q z!b_q)#l>XCk?Ex@?!TlqDoheZV}wU`F!01O0)w{@@nXpa%DuDlv3JVL#q&oqdhvx83XPfZN5hOfuAfRgphfoo7ae8P zUP{!jEmVLof?b(NyWiKp+~v5i_`RQDuf>7~jNXXPO$E-THT3f3vCQyefGT9J7#P+U z*`oRlD+yR@cSQ11y}@B`!87PYs#4z4SHafj-&Qj~$^T~ZZAc4?+bn<-( zI*@>zgZtF=Cy2&f4%*&KZ7_C1M>3e#<1hMiBQXLucGVRSR%do+$TlB^EDU?aCUNJ+ zh7Nt=2ZM?PU^Cn4)Iu13;xNXr)Nzef$3+HsojN{Q%PaU%Z(J^khf$XzOXo4pyq%KSl6U^GcZyZ zkVk?IM0r)F#?Zg_flnDv0xvw} zj!^YZ2bv?|kkP850w|4m-gC4W{GxgfGfNF}ai^wr53eva@j10=0+2_vVb_e)WpDW>@i1cDm53RonQ&mhCbMh?q~S zCn#J7tG7dZ&`1m^)5aKqkTo*5T@iypFE~|4pm)aujX`~^5Z?ufFgOL3FV5Q&-K2`d<~9aOyyR@`owoYHni$(In@NBGT7{MJJ#d?%SxJXO&s`P zC->8Wx8S+CDI{h$pxxe2q0-M=a$8zI|KEAu$@qj?mz3jsxq3SzZPo#aYCMj=HCt%w zO{j?h`MJwhZt)9VP~u0Mq4{VaR}!{-mrF>dOH#A}%`J+G>mrmu(t2NX7ljx?Vb2gr z#AQ1Db7R)m-Cwfry559EH{3bgw!Mkm1h24&J8#nWT9Fnw4ovdeelP@ohiGi~#E0W< zSBwyqx1<|NnB(%cok#~+^tZQO+HamS&~{#tMt6B)KEBJ+FY^n((dPW2@c=C zP{-|dXZGo8J`b<;?zaU6HCv_)M)rN2`QIUUn1J?Zt1$#SbU+W$*0f?#X1lZy27FoqTy*BKsWXL0;nzNas4awSQzJB4mq*yHgI z7Ypn%DqX!4-7ZK8g{56~VL+yXfi8qy)M&Dc-^uC$Mzgh64A+-4Zp#+|SpQM9jK$&` zVaM-S4q@gpmdwXo49jAjp#Pe*%-%ZBq>J~<0U;V^RCP7GpTVvpIFIL(ez*4ysHkI! z#ZMQyZ2Q5B{G}mWgihvyaJlxs!rEjn{8KGaNum^$iKwcPPflfpoucAND!RpQc$enN zt}c};x}DnRYZ^tbNNE)hj}Xn*GQG-qqZ!3nTI$xSdRnp)B_%1c5}lszb~*fN8dH(@D^(rgD&`WUREypk&!fEMGi5oo-?DmzG9}3XS+W!*(>B%R<(10&1yIY` zp07%Gy@(C1F8M3E8l@WK6VU`VRSk_l&o>OJtaQlYo-FiXN=nVFE0sYmvebqXzcffH zOM2v%0WFl$8?)mg1;R^*$*`@J=jU9@OBnS}=(OS!xssvb5~ zk?F+C>bv=wn*$S$=P>Nc7558D&9&8H&0G^~(;`}x)YMBoiOj0_c2O$x_F0zYb}G|X z^`6C+mgUNjQV8XsDXi3o+AJjxsS=Hq)wI7qq$X5#stGJA?7gBYYwc8O3e*{BmKW4Z zq@<)&B|W;CjeKslVp{+eK_(@YZB0tcVb<8PG^Iu1m9-6%sjJPD;=(QT_&yo)7^+$t zHI-VLDRk~Kqe|lv63c4%Do@kM=oU6=kXAVRM#IrfVUzT%F zs-}%4?%wwT9EWR$rTrkAmQN;ZqxX1Z)!$k*QqMQaUeXh)vPM?gtqCn+sxEbE%dIV& zhLb}abpth(l?|G#O=9~U5iM*L6Zgy?EQ(46=UJP{+a%(7tjm?f#UfX96)Lg?YpT+s z|GwH%DaP8oS;H*+UjxKgn>K7BTiC14Gr5-6On3D@2k0!<-0Xfoun{V_pqu>bEHj@j z?WE&~Qc-0krLvclr7GoCrKRPCij&fA3)^ye!@u9|XOUvbdiC4_SgQJO7QE~*t8O2j z_QO?#Zg8n?n)}gT`6~TS1$!6hCv%iO^;v{PVs{&rR0>*1o(oC`Nn$qk%2O(FSeTI|D&L2dfN_4EMCB7s z%MPZ!oeG*4I!3^fD`3g_)c6Ur?*NSMZ}#1}>|~*|rkaC%G4lUo0hDmjI_NKXO>==f zLIR4tP>3(T6tQ;%ssq%`i%pCZQjx2~Nm2wbaipYzDN+IhmxP@Q_nshgcnw-cB?^#b zW=Yctek086flI(f>*Ku11!~o?|6F9&O~N2%cz76->!Kh^DL^T}Y(pjLAg$Knf8lP% z-`pi!fuZ<^eYR<$cTh-}vfb5}dnu2NOG=*eBlD|Go#hWc2d>XrIA}CBIE_!pIVUD! zNSV8XoE?Irm>8Z+{u`DqszdZ4uq1UU{o-Q9_(U=B%X;z@qVyzbMhXXt`7kQu6S9r` z52dj?vTwG}iodR*~>g}Pq&wD34 zpJeMs9Tonwy>5C(ih~-~^AUvv0`H=p6>K_*Y9&2NvO(;)vFf~hhZA1>pus)AiG03S z=V|D;){h^ylEi_i8ilJ9Hi@KleO=8P;h#$SbX9Qly|bHNSBShZh|E>J6v>c?jub)K zn7B!l81sp6vpmOr*6Yq`FzJ|n&b|DVuvv_Euofu>6#~8|0mjHk7x4%B15S@(?&apJ z?!X3K2alf6JS_S^heLR<(7w9WizPK;rL^A`X7z>j__P*AL<(e5XF zT*02pjXlR*e2ux_Yn~+JUCoi}Uz+s(eSigPUvI&cUrp>v{0T-laKw}B=_UPN53)M= zJL~!oRzijvWcxPX&Glw-87ohKb(?eGLa%c6s26&#?I(E-%Ji5^`uwN&;m^7ww-)w- z)9E#B!jGSA(*Jm&v;!-a%YXDklEO@;tu;1N3p;a9^_xj|#Sie%^T=>&0HRHj)z*L5 ziuZ>DJa^iUR3h(KU@S1hj~;x!a9VvYyp7|($kyS_(c1(%@_%&Pe_F0b%L!i<5i$))q|VJ&hYFa>HrF@-IuIGq zJ$fWwgRU#l2`e2=a-{JvXEx#lq%7Yojk_L*1~nV z?hza8O)V+r5T2X3x#vBEGAl^&l6Vvz16r0V{JvLLAN;_Rvs8qpv;p0Y+OX$+LRn^q z!WEgL_Aj%!f3JE=2e{G?2(!<@kTVi5J9WYu!;ffR81hzqZRbMQ!db!B4-=T_90eCDnEBVKlm=dCw zfq5$7ULCAGzE;pbBSJ)!0Gws>l8_{PRUW5IrHGI@SY;O{{7T zbsgwD5PY?m=rKqUV#qz#p02B}|KKmEm&}Q?gZDMPcfZqfHt3K5S3kj zVA)HfrwB$C>+l78D*q3azErXSE~5}s@bc8PkLscGnWS1I4D8rnJnwXO(!S+Ize|~{Aq?Yt~!hir}#GKEo zlJeO~H%-V{z^}M^Aq@~&_BsF13B!T@YqVkyJYjK#PBWTKnoLIcpdRs<0`XEG-#-Ez zx?AR_uxkf5y)E;tjf)FP&^z;dKPYS5z-66c3$mCU1M%Tl$ai>`e1Us|sMF zzO>luTFGVPW`W^ua$qNhhWh5vOt{$^PV{km=)bV|iSmY8U`Fj5!8-m>?sg>TG+%+i zzB8NZ`|iUT$riPHb6>cw9*j>I4b6QQL%}MaV|CTORm{`*?oo_D3)dBcj?en-FOO+_=t|7ai}Yg{ zLzhOrkWKcL)AU)w<+0+cD?Hct?h&=7peFeXrJ%Vv<{lq+Z8>?MFL&Mij>Vz(uMUaB zZu!EwKPXeHt%dI9*-c|-5 zm<8+F#Z}`qGB3QOv=+qaO^CJ7u!DZ;-G<~B)1Jvj`EF^g-tp*b>^i#MRQ#^D`><*| z+mZrz#GBqHs%V_Sd>MXq=vsxr4!5=gwBL~XIO=p$?(dR2Yun*vhNL&%Z4pz%sHZ6gag7T#QR%D?yuL55VNGy^ zgKhK`Kq^<7!zVPYifS6dCN}sb+$XmSQ8cG)N8E4|D-OP19AY`5>mw!JuPZVHZ;PAe z-En)TwiT4Jb80Qgz28?X&r4bW+pJl=6Wg+UbG&U95kpR0nBbLxh1T2yM8a#xn&j5q zZ#X9NU!t5;Q2NW!m>zpcE+U0CQy-h+DlWK#W46G_C6^CDIS)3gJx?g|)4LD_mV91r zY^)xmj9s0CvJ%fzz7eClYa#b45A#!T<}h%^?l-h%GJoAM>0IgELn!og;vU(VFSg^T zCb9d{2{fRH%eNWR^m;$}&@;uxDePEkE7_IBF!Z6IZZbxV7Woea)a#A5WiYIl)4Bc- za@8NL4B6q5fn}}_K*s6K(%Au+j~*QkJ;74JWR)*7pJ>yxUqE(@_%{l5-?LLx%x z5pFxPY)>j?2eaLGu$W7PEdKmg0=r+nqkCL~4lY$tq9_}+Cw~EgGFWC$V7}%UIriL_ zf5zs)kpKfX7s{`uG(h#{LljyItH?s>;;S{6J;;`IZ%r@Z_gr78GvSa-fMmyx*Ef6ct(rO_Jcnk~kCU zlDf|J)LJ0Hiz{^eLoy_j?3X}fM=zN0ijS=+97q^dCB39tIwq z(qI327+ax40H@RHwZ;{c>5Yv6DBmtw_%!E7<_x;mdsmGv1f{wvM77<875AT>CMoGw zIe(fG{IAaD115B;B1{QKMMu&9)>37I2G#~MNsM(|C!t32;8kb5D_8xr+ z>SX4u<#Q`w0U9G-H?tH=R*YYrSA$u_xQ~34a6H^E@2;&a|Bf%29(keQs{OPIX%2I>L%t40qk#!*%H0TK&mG@ehUG zy6=1N?)p%iIVapp;qQ(4dF5{Ziq<6>eW?2Ji22PPw^v!9(GpP0ou`4uHRrBR2dO+_ z@0!QOr=>okxO;YOu4R}w$z1EE5vF%S@*w?&}w6O&-|ABq6F zD>OKxp|*r3B~?5(FI*!cgId%K?%2pE%NWgt;lqJhvl}5pJ7I7Yh*%zLyfC~t5*yT9 z{s=6CmpKy)&s}a4m2dKBvLR_Swsfhmf80%z(b$0^Pb4ySI&p_e5uawO&~3xwrTM`5 z&}HzdkX~xSpmXNy*zk3Cv=pi{ncmt0p(n*nY{wv%4M?rdms?IHqutpQdI3R%oXj$} zwI~{$r(p7s$ldNbM!}%hmX}pGJd5-dE@iCrV=F94Y=>1tmOxZeUX+oW=NLg$q0Mbi z7ef{Z!MR0?J&vXds#tFfHNlOtuzhJXeujL+;Yq0vS_n_IGk#w1k+2JPP3UJD#S@>^ z)=TVCbys$75`d{O5Zz;EWRbKeu;5CFRNZy;7an@5hjcW&G-&O-#Fg&E14 zwJR;1Ydd#IMbmO%sO)~389;&HD@s7j{YgI^gT>ASnP@@^MQEz`{?=rU>&c|`AK*JQ zn#T#u@Aa=2ZuIyOKqb;>ERLiv%aQv{1Otc5hxITXQw^6h4CV)MviksJ(POH+-4Oy& zCM&cUzu@>R;8|coRonA>gsJrh5eK7`kukf(4OGDO=)CiqTtA)XVN8g`l~uh|)Y1S` zDZsoOeGie@@l}6EqbZCMb^W;&@@;t3H`o1&O$zf*iT&0a+)AIyoQ*c}H^0wN2h3@` z1^#?NQbsz0BJ6$SNYeAU^9sH>Mb#%dy;o0cnQjkevpa4LDLE58ej&LrCVa`?l4aUj z7$(n27!b}ytYy?{%G03GIeG7q`y;yO^yEkr3wOX;iy^k>F0>4NQyvQh<~->;Cu~cr zVsd*#b744l85ohFpsD;w8Fi}l*0jZTB~{I7zZ=DiqwZW*5oGhj_@~ZT!9iUs+DM>< z^}`?cH)`sSoWUz$His9;NsF%;a4<0c0Q5?-<`;XFVI|WVzF5NOS)xMN&xS;|lWT*% z^n^>BhVai$zF+_8+huQ9KLB|lhLP9y+~xG~z&b~b6%fp1v>_+5W$rV%Yw}7W-<}G6 z*XgeXtCjn`eW}oFZv;%=7h~r0);eD|e4@IERTiT?HV7G>D3;l-c<8g{shnPD*r;+3c824j6Yq-7Y^HEJ-Jf_6kCszFYlL!! z=LD}bW=wx|gEcu!ARGc?_B(lFYA@Suhf|xe0@DkV!B`ykFB7BI#QJLXq}vR4*0`w7 zT&1uxp%czYt`GT%jx$D2r3>x)yp(S5ybSJgUQ@Jgw)^#ZG=4Hfj8_Jy8JWhQ+L_%>0K$RVzPN3KCn8|aq3g93eTFxWpcc2< z`g;77F1%O)b~x`)fz&@n79nXYWpJRsQjgtvUuq3qJlH65w;&noi-#JBhHHa1#`j~U z;qaDm%?qa*#-v_2U4)4!((p)yY&iXAZIjj|tVGCD2T~lLo6p?g);R5um%k_+9qsy1 zPH|=kRLrCU43HT8?NMtIitTgN6@pCy`NIQ-14}w7c`U&Qh^+pq%jL19YHw87m{W}Y zhVrKuaQ95qL@F)lN$F_80MTgaDTV-3Iy;vw>ney4$eYi0x#wtrU)$XhV`N`uV*^K$ zDbh+6RCWN3LC46Qa)vAO_118ne45jz8PIS{0|40KZP5yWI|}@5ja^UyZ0tz3*8LMO zi3s|q{(^A>G9;?9fNLAF{aF$$pk#>Gv73abb#*Zg3+sqA-S#;)J{^teas$wDN*tlp ziDmBwIuTlWVP%_OWik65XwdZrdjf+#hJ23$u9ixkQuwPNb3~VxujPNIT#odPaRHZ! z_xX|$7MTvDuqAaesEdhrT^0+>5t(W{PeLSR8~kxOr32p!2(S!au{dIc{Q37->3QM7DvStDuB3uspf+?N$(OcE?5u{f0&f zea6aY+<=i?FLy#(C*2{AXbP2z?0$07mp?d(t`H<|_~Ma+n1RQz=i>6Ki%K|QR5#bR zGbhXYy9G7EAAKJsYz$U=$Qj|F-cH%N7=SOwWE@Jb*FKKRZ09C`0QbBNHf) zc{f!@7sV0S^4CJw(SGEGiS><;mDpcH**adRC)Y3 zU1J0yQcwDX!YgoVQY*D*D z2FcP|L|jio+;s*HM(ahG${78c*2B!2TpB+S=o&#_VR$qUw@xGz9N#4F{rKq7XDte$ zB;msLWDzQM6gr#USrgDNPB{5$OGW$sDQp&o6uzcQ4c{je3NT*u<@+ke5Z0i?F5o2# zl36Tno)%_g*S8~CtviwV%92ycE3Tp?+47KDzAy6ab@lv3`;9Rh{-T zlWWDMYJPHfmq*i_7wMiJ$#h;y91k6~bvD4^q=!ZSli9?4gMjZ8Sy(n7B*3Uy6O5au zU?ExsS{@5+pESQ>jx-8ACat5~Y>IA%&ydODNfw};?oX3KwO_lg8lmC_ zi7??f|=g2)l7)8%bOBx14AfPRIRBCpqnbC=E?ImNxfTo zkz=m{fYqO#QV#}q}n*J*O=A<>| zj}p?LVEt$xX%e$=gz((dS0@0X1vwjmd0v*FEdt%j->FEzN^t&2kXp=G8=DBhFkqJs z@kzfWhM#Min1O473h9~vZ`kn%{kXEjh68wFjBe|Uc!zhB~_E^#~g56V_` zN8+x%Lbnb2s`sAs^!kU>wudRWHS3*{9E{xt4c4UF8-(fELYk_B(*(%B;qz%}>H*P0 zQm{{cmpNwXc*D(gyOq}&>)Fi{oQ3|(lt{@)oa_Gms z;lGH1g@jOqpbKb|8`UMU`r- zpxlKKI7@ry@QX4{j+X1&TK+0p$7nWZmbh!eO z7dS>p5?Y1P?OM(=hcQ6TUkSwC{b?DqPQEQ$dc+ttZp0oP>ImcvE{{37!AA;@S$a~!l6 zzS!&zM0dw$V4xMgADp9{SQG6RpzB=pt&i0(b!VXWXnc9!ai!c(eN3Rdo^ObcPP`M* zkr&QfBiNRQg(PW3fn{-)xBNm>3VBM1P)C_v&0LQ=UhVw72X>7%-mr+#mzSG-0V-H% z>rZRslrzxuxls`9eR`zR=?G9E+8=X#pq5w^H@rgnUAk7@Pr-MWQ6Vv=CfZDVfeyfNck+-%+F}0CNBp16n4bV zy~fH=QB#-N3m_GXgc#WCoMZ8Bbi6EK)sOmxKmpa(jti(-MG^}Qj$;#0?z#=J!kj+Z zq&L;slH;L3wkq=`L%-}0m2$*tCCwb~Q%$O0^~sA(h(d&oa`aCR6Lv(*Tj#U+$S0=A z>>ACQLr_tj30a|mxRV8K)$%PMy|GEy+0)`x1jvoZWhuJssqDJiBjC`*Fc1s0Adrxa zj}8-4c^rw7kV(UoJM3BQy6OWIbQxlC)^ZfaST32l;mZ6*5j8lhAil(8j4u5NvK

}^}^X_CSqVDg+?HbnAjL~0;ZWsbPp0~Rj-qFKR^z3)@h*~B=qf1VTZMwGN!%I(KC>Em===3 z7~}rX+$?c3_<`TT#og=t6BY27%)U*n!x3sob^bb9>&WLr>?6*=$#(j%%rN)my3Zu+ zf9manL!!eXUT|h_dfgy$;@;T!J5O(Td{-IV8~L&X%e;dwC=kgVj3X&T{Xb*z?H9bM zg3ap0&ZVH9E(e2ceF4o#5u9VL5MzaP<*4mv5%m%JC(c7Vo$*<|jUWYpHYR5=@t%)H zD~Z~T=}A^g2bazR^?MZt5*P^c}Q1 zEmyUpJ#(h&eY$h8&8hqN&$g~8Z$dfajl%QS9{2zD9aa6I&42K}`#knqgtowp6u(Wg z>K%-c=NVYOSxwqK5%G1sl0*ZEiBYv)?+VIob~puO?{3@kweo+u{qdS5t66ooZF_fi zR4~79`%LRSt`EE3o4_?ovT`{R@9l{c#Narz?_cIGd)_;F-E$#S{Qr1+rzlIBE?Tr~ z+qUg4+qP}Hx@_C*vTfV8jV{|d)!#qP9pk>;r~9-c*A8W7WMIx2E9B(|Iaj`;ZeMi) zk`REb0m~y)tl*grUnWjz07z?tpw)4_jx{=;2bq>xrAZrv%(&b}``({MO)f?itYJ); zsaCKxsEI?TaRawmu2+0#2mbwh zp0%TT{Zff~ZT)34f^Fnjel7EP%Z9mT{)+I-L1&4|PRoU2iHP>dSLcYWrXd^f@z8!l zTFG|egyylMSLSo^Y`eJxdg{#s!S|2}-&P>*OGqPW^q`|CkA7%Gp8c;7{p$OSxS z?8qanrZ`6i_p>pm@B@FO28}W?W!CJ1beh?Zm)ewECGi|`kJ7L$dWxFNpu0fy4Gyk~ zvQVF2Q?bBSOW=HV?~k+PRmNY7qhms&AGuuAY;&rDX5C4=jSeu{4PMFWHOKS`=z>V8 z7QgTJD=<8j!OZP`X|qR#UL&>~`9O(ak`8Ez`k zv90VqIddP4vi6(_Ma$iLX5_R5eKlg{CgJ#gxMb71OkI0ndy5y3C2QA z)QJ=dx3hIUWsc3(N2487H-S+Pjw&1gd|xO~D(XIjrgVH3{@k$0u5w|dY#voTv_nS*&^5)xW*Aob5V@zX{j_f&?R*XdCbuHQ*8}-7zZe#X}J_E+r zH)EX!m=Kf<9)0k6``^NqV?E!`V$T6>KKT(z&!sQ)Aa)EGumRs+V!QE%U;{mJi6c@8 zQ9`dka~u;9NK)gbZ|jv`N!_e7=a1id2>kZ^qt~uk5Y&5jB(F&fUm`CCAtRa{nS$1AeU-N?No*YHu#9zi zE>qYZp&2h5y7^Ej@MLl&*}n^9zwaPSu=~qgvY^O}g^(m=Yu=#R0a0DmE4E1RT=_sY zZ<9maU)B4)#f95o5prfW$aQ$^-^0|Cijg0n8!A--ngCi_9c|b+Slj@Dg_)eux2%gs z;X1{Y;E(`;qz|<{=DfwVtm17+ZRu*)JVFOLZKt6Rk5h;nj)SQf!%k!ZUDeg1J^x7M zVfh{r$4vzpo0)>4ziv>4BBT`_ur=-K$g-qKf}1xRR4045_EXJBS0a#$f7)-}g*y)fRK)7f4+c8)3&UlS;I1;r0esvgUKIfAnaOH;M49VU zT{C{ki=rgvG?Z5JT*9yu$taykbIf2?kU)hvQ`MSi+Y3O5+qjwY%Etr(ws9%NmrpZU zqRmXKz8dSN)$Q$$Y8#!%^-$5)l31^*P9I5~mAcY8&eK$`GuYWdDILw|wz+S^pMC>= zy-{7aBakcvBTU^v?{)poyko18g3v5FN6SU^Q{`!?58!<4mS3k9!*-d=uS#*j8!N;D zDf33J>a+m*gDMXBuI4y$319obPZr!}F?i34ERSG+vqeowU598aH2-;kLIRZ zRb!1=W9b0%nc>lf`_tY=+fzHA;|w2PF<7q)fc?|&@d3L@VygKuacCr%HFaHZNRWUa zL4g3k%&ZG*Uhij#9L>gT?TPywK#HRH6p^X+=eDPml2zoCL*t{kgR6t7wa79^VDrtC z_WWNSS}}j5i#s>~>f_twx_T#dqPNX0qZO-9nxtO`RLtY+3-d&@G%1y(FlS4jU_}0X z;UB&Z!k!n6v%5VDZnovSD;p^6(wC!yak+og$ZlKjO3FZ*XD=#alqv`?8ZnYgUg=;& zY=jdLYfEjT>a`?1%|J(6Shy>Ul&vDS+tAwP@7D(R=?rWVBPZHD!L7%7v;6o#D@$Ri zgKXk)Z#u2wOQmoV@)49(hr_{WEYA!t#u8A9q~?PGMof&Vgf{CjvaF1tVJR$$GV(}E zt)mw7*I-8LUuy1F+Z-&dupx|3;tVF(ez}e(i*J~GY1P=*j-+oo4c(3@qegq`vTYD) zy2a^`KI(%~p3O%GIA4E}08z5|q4pw01a`Q|W5UhWnYlsD2k}k8yP&?W=^+kFPUN?? z0&`l}>z_l76N%kUDRJL^wCgLf0WPwOLbza$7M;k*c|fqzz2b0taE*}BwPkAb*n^bl zIAQ@sM+OTM78Ty!x4aJQq%vJb>^L3I`swK-l?)o{xA_IrqQ1Lb71LcINYm%LweS@3 zsk*qZ2F*8wsp0FJi3A1g%Q{cb3@*dXZFQK#fQF}D=-ai)2*}c53P5jqHrw!pMG{oh zQtLno?s_qYuhcoM2;_r|(q4#MI7^Lbya;jbwv4GQyj6!oq7;(o*0j+Mn+mTV<#u2R z5OTk@$4-nF$bU_js31xw+hik(#Hon)rKvRbB|!e8eb-^)c<&eW9g$kVK4gJNuQ8pB{tbVC z@19{5a!eXXkU_|zj|d^@YPTf}JCX=JcmU@gXLi)_sO9mNQ?iCbMbvc#@D2?8@+h-Y zB!@tsM#?xwh4pf?M(*z9M7hQl=s6dD{dL>{126DEB$ z;C=PJ%_ob5>02Ym8TtM*Cn`F+Dd-}q7+juOo3^%a*hNQM4H*XP2`i6T+BR9D-Tz%akL5J(IW8ajU!&5KR@l?h@d0h+0v(01HZDy{6Z7z?zSNdzO(j?^+k=)`!+FIWab5z71{m+R^ z6`RO=6M9ie(@E7q-hiao-96p53*~Qk|7DK#`$gK13xaQ@^y$h(=uuGf(&M|fM-)(UmXeIABC5ZtOWCU&V#Y6P*IeG(nTO4Q z=zQJ30o-ih9j$yN0t?m>$ULkR0e9u*9NmEhzK|jIs_<%|!EP3Iz61KNFvEjVI1v>A z1HwZ0(sw31C!~oRt(&krh|Itc3|F*#rTBJs#q;^zQxu+` zdnzfU!JUdOtT3{NrG1XNodWaO3nEQ_F+eyNMTm9 ziU^X;tIEPq1jT78`5Z>#Xl?vL(n6+a3-=&3*R~JP65R_8y$ybWm{HTv4ArYOj97&n zxKtnBl1YjvrX^0M4nK?=cXlK<_?kQ_7)T1cP*&lZ;76@gS4c+fIjO3MM~^0RyIS0@ zCPr5l!EctA!b(KDwr+jlP!<3zoy(f|d9ja-qM+%~D57B*-k7hpKG)?{i=a63DuN#N zmCYxBmTbNtkD2X$c%Ltt^L-%sLNnI_=FFE|EuSG)_MN_t^YgxFps#^F>;&jk>%xOk zLiHoki&Z@l)fT#o_0Fsab1b6}l-oJ%ncCkAfQA;q&ZkN6)pyC2LyN6^6FY8q&uyQ} zxsG$}az{ZqCY!#WdTDy7Vv^w%BxtoRb3FYbBTU_T5I2uR4!%~nL|kF0mh%*L>*~a` zfYX3zG_(h4k+LPkKiZ)@eV`H8CJi26Sb#^OXa{l`6NVgJI2>P;i!})o5PK{0upvmb zWZ*p4-{W_I*&Oc)3VuS$LMskta}(RsA1bVeF<8>aUnV>^S5V^vaJXJigoC`tw49@Z z3)98S^60AaJQ=4#2bJ2ju(0A~@UJ-7|EBYL2Mk!QTo#LMuhi4R|_I~b$nlcpo8Ha3C3PqR+IUxl%C4hv*gvMT&+P$)jd^C!2Ic5}yoqx3L zXsWoPr{ll44>HmP^ z`EWVnr~8@ax*f|=<%`*{qkS}H1DO{Sn|fVx@Ir_JIIbkti2uRwO4iKNTkYNCXC_9r z0tz&Ez_NO3Y~t~z58lb@{-=>9Uls(w!k@aUTe5cvEBbs2O=}yTmhcyCw8+6AbHf1k{A=RtR!#B3&0dA}`@qia=9wZvK#bJg!aaa^18E+_5tN_{+;mR? zz`r#Z2gyIwk8@k<5>3-7Y#OavbPX9@D z$EYYX3!V1XtT2xu(Fq!azNQ8k2^;BMp%{SefxnLPxN9>&5kNr_OZzQ&9`KU>N*2R0 z{B+Y;YN}XONU^q+cTuC+3#d1-d@&>!2nipq z?qmTn_syyUuKU-Zq3z#PIEw3{jr^H!SQe2!NuWN0W*%YX${O(bdL@)!sSPz*qI=y{ zIOcvw=WI-W`=vOI?7@5UE8hT`dwjK+?vVecEeHE7&>gJwbjS03KcRoz!uRaSrOJ`h z1H{cVN>v~Fdwq`yNZ+L>>8>FB zkW?G!0sL>+Y@QSqpsamq4K+grBhIKPDO3HPi9t>XOjsE`okzj*7UoJE@3YT{TYC;AqS4lewJ#^j~tS2F2t~S=B zMlT0%42Urq-3i(RdL;|QzUQJan4@f8345&HA1w*vwhK|v@iJ%f-Yn_93qu~8=tvb( ztGp~d3~h)JCyo;enAhs7BiN~pl-nG5H{}P2xU;drK>51kTtW{bh7ZkTjHD5t zc6L&da7wEW;$ab~4l+owE7FncTFvFT5Db6&Pi<~3Sv#{9y;pb`%fX0Q%{U<jkLN2}0}_S-oy0_v|Ly zxQtbaWo*3q#QBHSzPzG)xDB{UQd5$vepoD^J?}st0#Tl>mA>M zb|fsU-HNA$h}vnoo~?~I+%&y=Se}}epPj3}_R*Nqtn>41_6E3Z8{fugp24dk(vKI_ zI#u_$FR>pP{&@H)_+se{CM{3<9IlwuX%8G0ht2hVVX?dZ+q+oioiKl`TkB_2j^4!u zv@T-qkH9+Fdfu}6F(`!yHlZek5|e) zBbL<|K4Qz&XT@vtdIRj{OYa8#tl54Sskdx8PSA#ySop`~H4&7IP)v6m8j`_L+-TFJ zZ*iOkT-!f|3ylIG5Q5=<%h2)JA!Rcw#`s&F1QQ@(=UT$L#*J+;mr+-p?EOMa!GmDF z_Zv{?TEI*;NlZ@cgCv|v%sh8DvJ0}|isl|ZULgEi)kjsKgmP@gz%XJ}*+?gAD}Y7p zWG$cZ2@97U!Gw`OxTd5a)-`QxPcTiqai)&Y{4(Vrf|E(6z~5qs-NG|Y%#Edio1C>n z8kUW^-x>hWpYSji0IG$Zu2q1sMH>B;&2)+veKXoDdYml0Y6{wF%#W2WsGwQ$S3OPO z`+{xR0e9>Lkey0#C_{z&l*g3^_%0yah%Cd7pz0Sc^-f(>dIMVBLqijdc4LtJH*@Pz z!U4cvo;>jQ$4GaZC-RGY@RJ-4h>BY9f_Id8bx%Kg2RqS6dNTFJ*tss8;~w73*pzC0 z3rgu6p782dx^wiNkxYC#gWLS2(Y}(K#CuUBXH-c~U6zvS03@B>)%Y%PHNQn=TlHz| zYv2C6BdOOHemuUmD=1OdS_hpO><+IH+e1GE=_|D;)&7-dj*gX@60#P2IR z4*z}N+}nL_=ojZHEZ#R`SPx(_#$r9f^lUJOX0sr6z3eeDX!M2{z|D`u$iHXwh*gvu zp(;FK@xOk_8Fbb~)!XwL4Z{#^z|EC8g)QCh>>tQDc*5h4&MF}PMba5_qMtFkoktZ0 z&*`(H&+r2vBF%K)%jTrfX^u*McWS$6zhc+H_aY53?zLS?xo^xbnSumV}tksGI z+o)#S0F9Md|!6943x*XX#BP<@(iSzdmmPI1{x zb>6(SOgOAi_B2c@(gOde{T~decg%2Yl=@P(jWV_7eAUj^M1~YvPhPw(%+&rEnWfCN zx3+-QA|hOl@|D5Oms^opSSL&rCg2r0|JnKSs_CPuiBQ|C5;5GGuPe|kKiJrdMwwY# zJW6skSEnq(SkDi!}G$vo_05g$Mc&J?;j5(fpHg+)8~{h@3Gr%5vdbtp5i`e`PY@b$r`p6n_K}n3OO7UwHe&j1lkuH%R-xn*2k{ zuY9qq=DvEW=Q*exLMl0>{;jBfKuWaf_=aBXL~_Z#Imsp<9e5eD%`P&l!P zj#5wWtqN{UcFfkxtO@ECA=f8d=rOTNw zc;4^K?J?=&n8Y1<+QGF!W-rhbdVI0yytcbZk+S)|u3_UN(J%X_VG!V}KldF@CB9P?`7PqLk`emOOg2X6I_(0BIt zdq=A`_m5)?w$!AFk~f;^x4~9su!pXl!yz@2R3iuX_hm76g&ob%8>X5h;=vdkAjAmI z^;!S;C&Db~cm=DzfuWTnMbf3{D_@gia`H}t!9J^^iOKZgN(4tiT0w|oOzC=sa$;XW zfN39Oes{QalPk(RI?s-&v!0HmSw#|sl3}@+KS@(+)mPLD0{cUy@h}Zev!M`^@Pm?J zay|0=_#_0DY%`~!!EUDa3|v9K^tX;wHzF+g{`))RL_BF;oRUK4k#L4?b00Ia4#IWC zK-*^<<<90?V~(IG&+}bS_chNyvB!()7f|;Ioo@fd$@Xr8Bt#LYL<0d<43dKV!-JiZ zXso2Jrxo!)w*yrmGYC{TDawQy@4&?j_E?g`<_GWZlYHjCNW{eA+y7S!05k%+5m9eC zeg0cfp||ZMTiRjvF`8FmEktB;D|c#bAtbSyMboD%hw&dPmPzayoz4E4zuH!lqot;D zd*@Fc9>5n2~p$IX;soq|At6p}YwR0bG^MS~#FFgMMvH~N$Xfl^ zKHmTpa4$J#TcZ&g*Y#|h!IVnmjIS@@(s&EG`4@CiJO)H1GQV=7=2d8DAemkp%cSwx zGpgIZT0Mb}<lCd}>{ zkvUHb6ER8nPG;D@;3MJO`EcYF&^oyjX`Kz$Eyx}2T74>g9(D1uI##R}s|@G3?P{f9 z_6|=MI6TbJu6dlddx5sIjXE+>Hhr-1bi_${UDU^G z%e%4^%18?Uk&QlkD)9Lu(06hTOkI2gFwby7aa+AM$Gkk|9~Y=Lh=CeG^8=vk@0uLSKcVu4{-N#X{= z;mQb(7_`GIZgMaGVC6X_D?w_*upp`^7Vhx~a{!4m{r8$ij13Nleq z`PwEf*(w|6HlwiJmDyG)3X~tV-%!Zzvhoes+9cJt-f|)2sqxD~}H=pr3v*DM*KVFNK#_rB>+06aS!WP1k zZr;3~>)IzcH{S;&#!kBpgv4ey-k9MxZ;?K2 z-{FEcjv1_)4ih?hCRVNex?!*)uO+JXj(Yg|r}v>>H&Briy|FnT*qy!h;Wxiuus0vi zokkN8CMOHNtK%x5W*lGNKn%&xz&i?)1w zw^HHcmYJK&UHx{%%pS>{MM_^$lmJuck#di9#?49jMx-ir5PsTg=ju*}>q$d+| z_O!YZAH5=5zcLmy>Mn@SO08gqL zx_0`-V$U7%kNf*36RRAd6Ns)D8-tnWTpx`Z#~_$RDlI!%k{k;D3>YmXyYgDr)zInV z_A0=M5_vtzP`uinh47=YI~;E#{V+B`#m2(nRoCfzMpskV0}%FbwV;%{j()AOOtGUl zn6Vn5$SdTP4W7rTjH#=WH3&W6sjm-^8$Y;!Ww*bcS2Vqd^w6a+oP4Q_+Nr5B(i4gb z)+*O%6?4d&Hqg^uqBwYsP;0eY6(JHa*6oAh5U!m?z-+g{h0KW-|J3m-4fXld&<++{>tJ@V53yf+ zGR+zd$9-iYM1Gg^iU{z)3~%c8)z3=+w1!>@M~)Uv*bf>om>2OkJACtpu1k8T?4$|6 z!~~%@>N4rz*n4m~1^B5)5zp3Sx;1p>3L#qL+}{;MNHKdsd3_H)PXIPw zwp`pf-rolwiKhzf{%$Qx{&5sl3e_hv6*f@_ks_tQVWPLcow3NT@`QlK*=zN^xXiM+ zF_GSOxj1@jo#c%4heUZdAqmQ=Dn*_$23g5X?p_k@6f#?J*M}^q6$k$DM?i1|1|^Ae z;hJq6x2^b(AuX#scq0zU-^mx=x5K#XCKU+2*zxrJb8)zb5nqHUb{2V95P9nDtO0bB z`i9-b0s{O1nhXx+gl^IFyW@bMn;Y!eZp|z8un-_1>4NhWPJ}D4V@F?!j;A{K$H|{` z1QPJ#^_9iBJAeF0X3&KF;{%=2QIN8HoB`F~M+t~2UWOTQU+@3&RCAUCv!iP9G#0_Z zTCXV&>^xcd_$rF|u#x0)$Iu&V@?|Q489SMV9Cm)aYHzUvZ-hMLiMZCw2v87=L3-rU zXeC_s_96yva`D8*r^7v0SN5G|%yb<%w%J&d%SN%=&*VU;CupNuh9f3Lxiy|E206ONx5Ga*uda;@rdvb_&Z{8 zJ>^*9}#eeOv?EJhlUVOoevS^N0L;d@j5{C@!rsD-TTpMKBb}|FVDkw-WsEhv1a?&gZIOy z_zkM{_tA2XjbifqK*+CW(xrU8Df`)=DjPo)is{)!7n?`~NekyW4~|F6Yp8{@Q|5&& zF3sn$#*bG`YG_Q&C5pyF?rwzdwM+KLNL`k%ZMN9MCzi`vs zSQEs@k3`^*``a606@iw%;ExcX7`o?c5ekG95o%nHfJ1G{`sa4qIz_n=V2JL6_wds6 zK^eR&;BNbH>5rK0+Y4v7Y;};xhEH-5-s66`LE@sAK_n?o2GO+rb#V?|0}n|in)-B! zHgUIDGG+0^DFXGV+uMPTw<+u+0pe@j5+Okv_oN0|QvFO_-62#{%JUku2-0}{cSFhL zb*$k6Gi)=S~_#)@uECQ^dw>yl2 zjzeZ~{?$1U>&z?wKdGvKa&e;a6|c2I&*dbb9mWG%D!B&C)XP{S6XJ=11VEtURF;4M zV8ObY!Qkxxb)1k#7ytw(7QpxOwrRS$VOcPy)3p}%S(aZLbc*~&7;i8}g1IMY?|pc( z9gTdErqcs>Z?rMAvIj0|?BB@;I~}FiVjZ>(jN+xb0sI-p_w(sI%D0H;t~iH<*E@qU zBX0K($It_nnM8FRF0R(YrELqOCii!8>7?NjNVXzw=H6@WPgrXjjKqLXcHGHN;F1Tm zA)vx-AXO)Q5;oWh5z87lUPF8KDhvFfj=;g1Rz#I@FIX~xGtqBXb+}hsoUpg#x+1vg zF~S`U&AG$YA1SGu7Z-eA;8d&DWh}ZTu2iVkP;y3lojXfUdcltFRA6U+C*6ZEyFzKfB=&J!9R>l2e2&ERU1 zh4!m;4>~#7O;KDK#W4@5?t2jaEv{6wfp#e3+v}^n#|aE|Q7~lSH2FSZr3m~kxO}-@ zaW*2HolHe(=%HqFI_4Q<>V)~ucbOZv&$D-`WUMU-w5OQKUuc@T&Q-apJtYbFG?jS^ zy+pdab-=MtQpBYK`|@aN4^YLx2yp~13sPH>qI;ec89h2ub~r;!IU!YdzIkjEzwdHcxF^ia-+)N;?3F#jyrEB@OC5R@nEh z+|n5wFq`VVhpx~P`?6RTVO&92_?Xwv!$sK>{++o^4* z*q)NTm^i8<6~{Z+ZCM$`<_U>`?Y!UxD40_(8VO!OK@UwsKD@8G9{_;kHaG+81GUP+ zfdqG{f)(2>=sUZEQP?gFpV_YW9JG%>bpX_hIFbqPoS^+MqGidD>0TIp+aK9{xHvO0 zYk0&k1M+I@9MqUkH`wn_cD5$B+`bYTV(4z3La8srZEpxN-Bifmt6cgcclf=%iGw+H zAH-NLW^G<9K2D!|_HV698oZ`6C%3@on-O~x+VGX)b^Lf*Q#>O1OjPl{_e2REJR(UKd zVFU%eU%mc;?%zP6F45VJU8#e`&pEqqQZme}Pb_ zE)F_0iXs~GoB9PWxd4orFAMYG!lwHR2glL>;W?#ROj@MGLc+d>tPO67#Q^XScnbwl z@;q_a_zPr;~AY*DX`&HA^4bq#N@K8+Zor;rULzu;&kT)^L zcU=F)-Fk8g-#OlnGvN@3o&I%7^h7ga>*Q}wust7gdu{e!hgu*u#dja=BQ_BW^3eYNgiD^M z{vCUazmAg@QBbxgukg*lX#U1Mq}2rkUMvT1R@*-Bz&IcRT12$afWKcpm~k#R;>SJ# zMo2Mg@VtEzSBh2DQ=-pHMsQc2*RAr{$#FLlK^siv;XrIAB9lOy zCq4a#nm#$a718;L1KAWu$`=UM-8VEXoUf#sPuYBTqkZ3fw=XF^RXhpoCI?jt|!x03gJ}&uv0~1djvI}57L$= zs7MlIZnj*@?P%QJV5^)s%tsqp-`UKV+f&T#-R2?G23J7^bVm+5&~v1zWrR~1?qP{s zpa8)K6y*gG4Dv~d0u1xLms;2wbu~F7Z0z+*w^oj*M~JEFlF&_vsaPYKSij1Y;^bPE z??fe{j@~QWJ@m4|Hds_NksT~<(7)hmq!0K#U}IB-H5!{zN}hx%R5BRs4Zo!$uzx6K zGndNpu$!lKsAF6Jh+w`)o<1v~{A zr6zxv?u~`xK2mUx-(FEOaEneSBIMW;s4B#tveLWi=3im|e|s+yh;W%srfLc>)0JzFnxm z>^!mYc^o~b*?!@)TCUo^Joy@q`t_^rDnkjuufdGhxAk6wSEnf^*=ptf_C5AaSH_Gk zXBHg7u}{uNFjr^hZUX$I&hgPxwQ6HDO6+>SD?~usdrjG{E5pxThLzQTyy*Tb0sLF3 z@=wZHh;Ux$$*-R+KHpBiX0&w z$cw4yEWR@W!~DA6_}R^px{Cob^w6+`#yvkquC9wr}G&!#r7p@>737KTFUp}bnCPAbUktO z#xlRIIwM2$8haqTO`avdiVkz^1fN#_yf3Y%@i5Y5`)BO`Lao%YZ97UCSZL%IpV>%Q zvtS_4bwML;H}e8S{bM+s>q(|0`b-ui8cEA?QS6YVk#TZ~)m!Q%fikw{siBRaf}JX15P{nVuoXlI9==rL z7Lj;EE&OP%6_nFt-N>gmiWI1_0nqW11#%wyIZ&B;4{ZtWfYE@NNpqJ6SCK;Yf(hHv3lmR8 zJ)ZfaLiqjc9;fyBP2;*>b54YVtcOv8At0jz32G<;9RO3=Cy1;|9Y&`n_BV3~1;4PW zuYxULMsJE^;7$R#CrM&VA~@JSL*NU%R0-l|Jv)$nflbL9fCoYzNckXKP2sw{9t;-$ z`WtWf0hpM~`s(vVEZ8)vf;e$AUzBbe=kvQ7f1D!EcBIrEHh5obH3e_QTa(G+$)(cx zADBbE!|ayYw(W9-WnIBghIAbnc;YR+f7iKfJGi2{eEZI1IbCmU*Jm0hT8|fp29XpZ zXi5Y9fdC?MMWOLKLd5r>%A+s@6;@87`$It_5>M1c9u&kcDCoI?GT&_C)n#Vt<2%`A z)6jPp#(3VTN58u1RQ!8pGRukgggbgu9Fkd<7p*+yc0J>cHFIBY6DY-)?dK|fc zi82VZtu?5}dgl%>m>Jj=fX3cQ2>qbJRG56k88Q5&?*~c0?s?#&`l+k+w{MY4ea%4a zY`4dnZ8j_tKGV6~&_3&dm05C6oy>?`JBRv{wboRc!q4)@v^`GSV45rb25DJAhD7D` zj@D}{Z^o&xW$k%vT~yzvvH38FN>B~U7`tnbC`6Cx2qi@^*&g$RxY`~Tnf#o++YnJc z4XFJRP0v)7%TLMuXUJSe)`K)r^pQM&AA#2NOYD?6OCic%ktm$^4 zQXvZDA9ps&KVG0xXi2INMUJF#xWi~5T4rX`%n1+3qW{nUg(#X%^WpiP80va^p>MF; z6;rxV?Q}j^g9*d<*XO8JkphRrnr!Y8b)?`W1Vl)Jp`$UBI?^bK!q?(`{@}+`d-gaX zX+j}vnpW@hRniC`qLjEf^P-^skV#Bjw_2cN5Xzc3HV-@EdPShKn%G53;7QA(=XiTd zeF@`}QqN)7ovE~%nR#NH&yyu9jZ8LjIM8qqsgmTsvX=kgc43vtv~z+V-{*!dr-PO* z_1P?I7A2d_IKo(Si*x5QQH`WzFOTEUL=q6UPDxcfWGFOyKcn%*UkPl;#YukaTa+qe zVHQ6m6wBIu`~PePZ1BD%J|3s`F|PiYb2%Qz*EQ>QT8f=iY2mebDrcC{y;L;F{PCDN zdp-}o&Au$3sKE2~W(%upGxhWpJ9)H6OlyHl#SXj> zA3oNM7e8T!b>RR{+4mgt*q#IDn`zuZ9ha;!+<_I3xa4u+j(*Zi~#!?IzF6}qW<*S@FNl! z*N+@C7y&dlLOFr^b#-ZiS($fa78I;cz!m0-)j1$I-aY zsjG!}{tWA~{Ng$A&qT@LHYX%Gbwc3MGc5hMN`;I+&Pnk*rj*F;NEYZYQzCcHU4l0{{b|{Y_&vwGb&AXmFi5)TR2fzvim zgK8@mHUi^b!W|)3z?7*vMdgZ{&51i*<1OjG!xNKm;70bO@V7jO2!GBd9FbO_WG3e~ zmc`;=_)S$>YqeE0^l0*C;ZF`%ZyW&8@>??Ud@PW@h9HPwenNs!kr^_P4d)_yc0d;q zFEQYd4iNLHF!VE1${B|Xso8`kTVXL{{BO}#wBI_ zBKvT6Cdz2+rOSpTS6q*bJ%exex8?Cb-$3C}e2y8DZn4=)m5K+N@Y`_P`zog@jy=M=UHi(=TthA3Fz+egE{{iyiS4@>2^-CbG+q z(ZPN0Rv3C8FMNHs=*mDFch7mjG3Kq)l525+QfzhE? z%t!%@bt7V^^w87gYf4m&MpPCR&1m6ePX=sSNNL?`5B%i&$jS{zfHE%#5v59DBCgt# z7BSK3i&H0y$odr5-ldtz#%&HXQi zY>QaJL*8Z%GY}l#E8Om`zM7x=eEz)%9ICh05m}|Cl4vz8lKaqOCX$W3XnqnN*YTU- z7*ki_`XBlQMX#90^R$N3KiUW>hl>DiuyMbS^j%$fJvX%2jQoDtB0d^W4nx(h`e68T z?Zd~GG2T~;^Whg#{vbx;hnr%WaTp8reDpHJDIpfy?QVgTITEj=2nOpt$gv#N2!+kL zN<`uFcrmq*gUJHxpU_FaG|MIXW?0~a06|k|V$3uc|{-*BBz>Egh zF7wC!0y9M8Ff!3XN{`Y5*H7Cz;0xvbVH8o+G9EXu+WtOrUG1#ELIm89k^|t{9c75H zemFX@>yRPNbUzrc`%+z!mH|+LFapTM;l>}9j2-wrw33ME4yGQ86?!Rr;Y*;CDUL_& z{F+!chgIxM`lS7%IFSprrn5d{7?k4Ah?}o_^C@T!QTb667IHd0PmA<^I@) zD&6zK)&2Q1=7&S_?@ELxF`;PvQD@2M4ZCTTUaMf``fNp@^rx&`QM2-b%|!c3@6cWA z4~sWSXHdPnv-6$GuCW%9^q+?+vPre1qP<|Ou=D~9{``N=2pHod1u|M|J2YJzwu(w^ z6fq}1`*-v9MX{b2;@wGxYlz3GVAh*!!`p-k685mcDFauG5;7e`(8jGMyM?n?R%kN34LkoaR4ZqpCju@y5M8$JHWicAN z%i?_FNW|*Q3Osg;){nm_q1=1ku3|=|h-2RLC&tckJrRHG253Aj&W-p(0fezHHPkGW z{N^X*)o`JjPnK zUXy7Fo3)#@rvg9phmy~UrHAQgw$`^(B9Grxq@o5_KzO{F?d-6??Z|{VN;bk+rU%nB z61+_&NXVYqgu{UX+#wsyWQ_pwRu^N z^2u7`gECLCGv8O^=AxjP+K*nARb|1Zg0j(Nn(geY56NYJ!-+?(tq{2jru^h|@Ovp4 z7UYB*#E3?~+j>{Md6fG|GP3&w*2`5+$^wb^pY@Xy@Ilj3r8ScKjTT6h2Sn{jBLCix z-)8OMYx{OO@)vyYxpLpD$0rDyz9+{BZ1HXuwxzbYHR$exhKhP5enWSt+)vf}@q9Q{r_LYPd)HcP?ltF_W6ZHO=b_m1 z!k))gOdNat1{vt5$x5c%d@~5(xvKe^{y{EqVJ_c;REH^gFdeMOb$x2_v99to_QXL z;A>QTPk;W3p}(#GgT+>)=@E*sS@o13#yDK2)QxPf=dJ=H zVL~DA6c>%uzTig)ULlXDIB_^P|b+ofxnSKr9nva6?dhe-!eD-Pbp7B%veE+EX z_`n=J7VgiB?h^5&-dUva#oikZS>x2)_2w-JKF7wsy@I~BJi#pdB@z<{%hPwW+9ewV4|0CPS>PfTXJi$0wewFY0GHIyWb$M-@%}rv`6E4VYH}GE^NF(jz z^t8GUwvt7St3-oZOQDY(Lda6D`7hIv5LL#x?|%~gIx@E6ATo_SDSqy_lY(COGuyBm z?|M?|H-!Nqf^b^tXi2E;S4IYf)6IcEoIQK$#oe%KyLuB_64T5>3uiwiqLIcsnv$_l zzUJX^fN8nBvM_q_-eWyrYG}%z%Oc@4bZsbVBA-7)XLis!sdglZ#5Ojk7&KrtK@V`< z>q<5Zv}VFD=n97Kcj2GbvDd6!#H;&hKUuGm`BE3{Y0mC(q9s5Ag8(tx>JHh;wF(B6 zojD$41l{rZ*QU>BBeBz01#|QHHrSp1nbm8zN`5BX%NJUdBbFuvv!PBZfk1L?j!vU) zM>Kw-*#2E(m7BWPtSX~8oy_vcjfw9o^<%!HZ!UVYrt7KPa&aJ6F5@T9g~UmQn5HeX z^1vmsyxHLicd+7afGIb*5`U^J>`p!*i7c=C0m>?)el*m53G1%@8_n8oQ+nd(E!+uW zRM7#P0IuTEe_7J_{ut@Qdh`(*nwZba(wlhPA_+wR#Y&!3NwUm5vihlTBLnO&@(NvX zMImA)hlA)x!nmuoAL0zT-r7R%t%FE`kxV6%K+1r1p!sjE6b4vl^V5`&kIF~0C?^Yv zBtLBYkWM4w{B2Fl3UUW!Fhzpod1WK$deaL-QJZf*EN%R)K(B%2XiDBrj@EVQ{VDs) z>moJqz+U+89I?>AM4^91CES84Rlif%Ey_~ZCY{KI37nk$)#xu z!Hwv#v@WTF!o9>_$7Le4fCBDJ^-ST>=C_|LDhdoH0IliD-|69*u`yiYn%sADIE!Mw z+s}5L1kBikYi=N{U^d+K;z<0#(ct$%$}6I>hTT#Z-wPUv8L7O!QAQD#)@tXQ4*AS% z@)6lTMvD&j%M}`V=K&f|`dhtisX!%#O;4mdP|^c+mkvK~Vf0`G4@Mk?5)#$wSlRVG zaM;3KP?JkWkw{%is8K-|6dO9G#l&qqw^B8NRc7mPb!E0E_-Oc*sOuf!T^CbdBmpF> zh?T`7qBaSEA;P;m=%T{>u~Fpz{zWVI$ z1ck{!)Bz1X_n(1FV=q+Z?60696DcL0%R;L>=7%Zmw zb;>Exkh#iI-E?3z1FJr;Cl^0E#qOK1Nvjx)sORIB-(fGa>t6ZE5gJ*xx$S~1 zi3D}Su0J<2qiS@=p~TZRZ`^Fe5Z}+g}!ZY!J24#P{w*>qd{y52gyxi0r z#!uXtrhhc;{M#}fVa?rC(HA>e_=#niVYi=ivpdLNr(Xo|(D=VnEE0P6kEWsjWNN?|>NwM;LHzZdoq><<1BPk$FK3}3MK#6Kzj_Q_(i2tI= z`i4saSWK|S3x{jx|Ny)_j-5r}0qTZ~5MQ{hnMLK6|`$$mGVYMoZ0F5gDtRt%+jIU6Vg=vkZoJ zNV`YKuCLPNTlv(@(5wzY#*^?3%~n4-hbv|+PonH1;`2oM85C?yvC9s}*t#kBXLJ{r zRuo=OqY>z%lli?6C4_7i*LR@gYUIA7L)d5h8Ghx z0dK+35SxWOqvci2e6!iB&#Iat;)VU|_O_>oa zPF2o;mrJLGmgS);+U6%`{@Y>iy-v=Qw6=F+ZnxO1L-sMKiVF&?_?Hm+t8MCIN4IQ) zyMg02?BePL>Ws$e%Dt^KU5;um}1^TeRlAKw#M$lrjhM#-%&!WoY`wRIx(hF54~ zZ>zGI;2&1Do}2FUWj?Kw1^tBI37m7MlhydQnvz*39DLuur@Ma&6xUgAl)4;7`0NUZw&<=fRzI#opV!P&E zs?1sVI3`u=I@{7Qaj`it52Mcw{rtgV%lei*9?xW(h$06qh1h(So;(e7T-HSy2bB zKK{FC9ygXL+@W9n9|#k9*pK-CHIVZ^BC$NKtUyvJ#jFV!8v#7^R`caKcbskJDUsCSb^XeIxTJRi z(JW99G<6`+4-^Fe^HLx;>{b%i0de9xGg)$>23-8Wvl)#nq!^BysuNr(c7}BEzpt%Y zxBoJ<_aBAd=NG;mB$ygfg*GZIuneX0R+1)8l$at8Auv^j`5Wwk@w1l9|FjIxY9dpF z6ZQA!pTD`Fa=4UR_xApDq>#u*LEC#yC8N?_>r1@(5w?g!%A)hvyARW62eH=R2};*S zEo*KM(6lT@5~{JvpgXqdPdM3mW2>K&mWlm6@#&$rv=W_+^c-Rd7%f32LDnwNs@N8| zw)>3{lsGPMhwCrtnktL^g`XX2d(3;*AvdFNh7DMyqQ%wOZ#VY_nS=UP4ZSiAtQhu3YdBqyg_6psNh-@mq=}uS1R?q)$D!#o~an0eV zUiappE#LWK77dKHTkGW(?Aq6yUq>d44Q6BT;``#dG1x;q(ZBA!<|7KEMiMFF(9uoQ zM4?Grnsm^7mo5q6(T6%+pAPNV9wVpEU8-HI92i4fvRmb2tQ&F6f62c#mOCbd$lmFV z8i@@0cbc?h3cN^knU|}%dc=!Y1v_(ZId2I3JHFQ+L0{h!E6JaetXhUq1j-FR3I(Qi~KYRMXBzjh#g92}Cy-lVMXpEvHSfo@xbJD@wlI)ANz8ORgW&E(cih zD1?iGHV>H2$6$LOU-|grEGXc=Uff*oFH+*4wfbKSIA96B!fjRalXy_9?F0%N=AsYd zM7GeVS@|S^GQ&*DjrTZRyOB7+HaN5Dpl} z9K&%uf7!Nmm;d)ygbqK)yHe^d939F@j3{V+B836Jvo=Y|uJ*WT(<6a-N)!~8&%2sy zt_jl|0ZR*XV|A4H$zw74=;dBu>}2zl|AOBdHKa&zZpmR1K<^sW;c>gR1FC=~g=x;( z!64@PlUlcIymbf$G=wIiW6%Du4k?rxq9qc*MrWdKXm5($wpqb*de8)=pq()P<9Gw( z?H2&*v?jDX<#2)zU+Z^uOfjr98-uXRfEFt$1=#`${^%r->VB)bBZwVE4KXBUxxH$FoS zeFzCU^n7P^SeI#F=5I>M9%*iT@29pM04g&to%65vX$D`-6W_!;lqcXCBZlH~=MAYR z6sD|d(%fjRG ze_%b5<6G&tB8V)=ti3>!q3g8-{dvd&docn6QTDKaA#fWBa#SV42h_99wv0bHigg50 zBo2KVLicIRnl0%V^!=cB70NY267;m%{;*lHt#_Lyio5kTbo8;-s&%rrD?pf7Uu}Fy zP#;HWVQFJ3-jS=Zd}m>IWwHf-%L<&UuI>>3Vsjy=fkUa+V79^2ed!qfyn5?(b(*sm z69k9LesA8=u=eEX+w{OJFLJN?*!N;9*hyZKI6xTR6jH9&L2%6v_%6`?o6)&gnkP8v zX}xp`)$L|`ECn9L*s50A*Cz1ZG@?tow1R zNaCS4tjz;HKFf5jQOtIL zx)VP|hOn|n`;mK>tZeEa9^^X5qWaRTo^k-#tGrHorlFnvexLR05zeV5%HcBmy9!vX zK}%-G0q=*m4JgPRlO#lvO5$gM1eou4wbrELGJIAhp8%HL_2GR-;O!BLH}-KOzfiPhTi$7|EE-@{k_#FI49QFgg(fd8!b1Niz{A@^Qyx}v%6e6jSkx$_0< zw)<$L{X4%YlyLXK`-kxctDp4~LWICOn(ouk-+TR5kGRrOH~NdcaL_K@(;2+6u4Sm^ z(}cptz)L{a^-R?OZYyUSc&SAjS^_X`{Ekco#`23wxf(x&p%i)oWWr>iDEPFT3sCXh zL`x9*AM&#@BYB1zEsCUq|L4Dwh3qHDM+uPBkO%g{4wuXO(U8t!w z@K}-I3Jjx}?^T(dY`ChRY{WGK9J6sQ&C)C2#qFQv?-1~lW}<;|xC3okK!16=`O+ib zSebganAo~v!<}-m@Cb{+F4Q5K(gAT-H)bHG@x6Wtk)Q!V#P!5cHt$ypc>YD0v+}~} z@4$r`X?)pvT;3EBT~uYSFh~9<_}#7*JdR?%p6_JvuSMMjCyBrmFiwNNUKmm-FoDA# zjJkv+Wk=USb<$+LCbZrkX~UbBjQJW@$P-asuD_r@JLcaN$L~=YZ+jUTmS0kYLN;{A zu0*ENToReF)ZSmf^|!80w=#<@IY300TUkxf+?$lpYd}cDjzymT5JI4+h96|3@DTdZ za(3!bnJYcIEWS3dBmcT%t@$SEM;@ymNp6kDQl~q28$t;WR7*mBtd0-1aPNio?#7Oo zgRvqHFGVl%P@gC1FqXYf45w{}%zK~!Q4(hKr!D>Xf4OpGo;b~=yvvEn`!#nLU{%-4 zUl(5$M#7JIo}n{7(qL0UPqs9w<#Y7C>+TbKqXDf21bO$ECQRQqLGMQ(W@Gyt6as=3 zp~vzVxQ8cf#F5T?%m|8R3U0~U-Ga6GjE&9VmTs+OSl0NYI9YA2O+{B({BOEg@7Jag zb0dVTEE7vz5%r&WPxoN;c!i13G)hTVTP9pkCcNHy{0(s%MBmT?b7tKc1Vq3l8Z{oj z3i#!lN65&g4;4n02U)nj`)qm55A|~3fYxPqXuEO+628RMd54$9K9qzxZ)osm$+&X6 zC;4-KdqPGC0o4<|{K#c;3Tc!lbt3fs2rTS~sgUHThe+9d%HVJjl)Zr2DRzhLCa&Lp zi5dZo$>v1z%B5Fqg{Fh$L)-=d`%;PNFjI#8j?yS=Dh(9b^4xxeobYtfDtG5w&)WUM zf&I5s8|WGRB13_UdQrrWWVI#Br;~%T>8Q5(!uMZS^8pg+42Qq&($*X(7kC71*dJ0T z*g4W?(#~{3t!X&s>DU`ttw>@pUefX`_fU;;39{za5WR6 zfy9vfR!nB4=uS{dV>rJiOX@jGfL0*Fgd6h6Vc9)f6(KD4+6f7lWeF4K&Q{OH+nt38 z2xB^k2^U`H@NkMykbw@Lk10+8n`yvXgQ8?oiNXB5MI6lvDg5{Mudf}z@^v=LEnQ`9 zEEw|qAcpx20E-pX*?d4N7f`w}Hh(R`2Ep#M1JrT$Y6=8~%N!53hcHTu3M!c|L5hsg z@{Sr1n%kh&f0y=WB-n@#mLH9Z9{pX|K~^K+I$kB^IjpAiAT)(+VG}VG+N$hnw5E|P zcBfiTt$l;|H)`z84_*Tcn2`t0>@NqDn$CwGe%HQcu<;-|&pz-JSf)_)FRpS_2jko= zZgSvWs6`3x_&ulGUdmdE(Mr(&Z41FQ!IE~9hf|NyY20hx7iX5+z1h1@Ro2Waz;Nc% znYfq?z9?#g_>B!)fnaKJ7-+x!?1fB;tq*x3Pj9?d?DJ`9%xD=uRiaF9bH3?SzX<3? z#@GO}vO7sRCY-_77s-IWtJf$vn>e7y+z7&SGU&HEk;d=x$~~%Ic8LOUMj%oV;w%q> z-`f`Vw?rMs9B3zGtTZ0=Ya^4gwG{d7_|LA7qgGFIn%rJ{2KTbXS(>|K3a)Y{#GEk3 zN2w%u(e&MUY1gK&r8n4>uGxBfZO)aEXiuOWgvHH+{=7%E!L5YD{VJ!vaem`rKlrD| zqH*HOE_c_9D>n-;v;TM+9qy;?@6u$wX_N_ku29q_NCqw9!xrhZaL}o2q2i>Q4+luY z*9A-30Vd1CTpk6)c()Ny4EuP*5&oZqZ+Gn$=ee6_AQpk=90i>Rto2{N|Bk45+iBe+ z$hC8`bDToN@Sc$qALi#?ALc;M89A6^;bZs9i;rf1^m`A3;s`ik*{n5a;qnL9#E2Xr zQd{mgdQkE*-BRL}){2@CUss z1Erwe4_z@%0@LzjB0WOD~j0 zr@*{_ggL8PSeo-R7M09V__w7Hrdof{l(&9Wo+aGB(vA|OGpmgKg-01G2~3zr1#jkU z6Od|ewOt7&ts#j`jiGep9^Lp;k0QzISI?G&fmU=s5VKI4Q<7{Faq{PVMyMzW4N*+|I{Xb2}7t)-opUIt%&CDBgM zmO5=qDDqpNjc)W^EoBgGK$^!9u*WUw{a~nwGA@y3Yg|7$9Brn>H<(k-tW>X|N0C}g#I{3g`U zt@+>SOi6nd`{Bmh5|yBP`ja@Z^6pe6$#O=4hc#vvxERC~(efq)?w^V{*%~i*k$|cf zzPLSLts*-Qre-eqteVtW!Tx_7BIiz5m>!d#29!O8mYYt(#?SZi$n=83rXqj$HuVI% z#w$=>qV0cwJ6L%SeOkgir*cjz((+3w1!cA?Ribz}DufF%rKS?r0u*gi^Zw8cTtfxt z4^|KFMN=AprQ&@Z!}2?e+2#hC*rjD!psye6ek_P*5ow6H*b8O1*4+49#<9YXUU3=7 zk_#}aEB$s;h#4{YGgOo=g_|OGBGS2%z-8T|6(muTChCPoD@vKM3wtp}6E5~m1bK+t z(I?x^k%NP^LNWH*57roQFJ8Jz5k$LCe?nt-O8)NVFyC!G+r_TYiG(AH!UO|+Cx1bm zt=Yzj%HWP+PyRDO1yc&sZL|g_n~^K+-TPjO{Zssh$$V&cRQ7-VG-X8{qvSrZ=)5G%!D)gP%>*mu;KMO-jsBV|qSZn^0SE+Yc@(1s`4Gtl z*hbWN5^VjnAkmo~mSzEFLASlF_|hb$k<81wnkRXs1>O{g;kXt7tpqQqWv$$Z;Dh0_x^M5lFjKlaT7{5^{9AsG7^FC`Q9wyVM^-x*;)vYK z&uG-H2@*MrGySI7^y7ai2Kyefy!VG|@24M_Epp((IA|aS2mJwqc>m_@A z!;upc`XphZ_`%q+mSuk@*Q~c{@YtW97(2iPwi03j(TYUecA?Y14(24T-GOo5 zs<1rs9k%g`RlDnn2u+M))N2SzL92g({PzO`Wr6%osPR#wLdAw->u+NA0z~V_Obh5} z-?7sBMu6&B^hk^T78is0%bXYSX5MhJVj-r7$oVlbjf``*^5KSL=0NDOhMpfX*B;}y(L$UUTFrkRzC$Ogd$qZlOq zq{{9`Ng>*x9+jOxgzZ7FezgrvIta4;L*S)vjcXJqzme1`O!>6SjK-|9*q7Na^hpJ- z#Fu?mrj27i-SpfHH?3#6X~P*=RO7&iy!%D)KAm_BBo@pGX>I<}O!m6lqFR*8r@Z2T z7UKI2SQL(a5f)=RUB}O}-&|jzCRKMS#90|4;v<`H%Uu@S!4bUS* z88-?yJLt-l5&rkdE5k4J*Od3}SBgX6dO^zb+~9TBNQ=nR47~zF%9EWEMG>M@w`KR? zzY0gVp4JARu%I~}Tw0dbUordP4M)pjfc=HxtXirD-f z-B*3hw0Wd?QM`98O}sQ{?cjqA_jrl>7M`+&8%YK}lAjc`WvB&_nHpl5Iff=c^83ioFw!>!7a3L@*bX6!xp#=G$(9Tt`6dQQox(yh~=l&E_B&}`OR4@0Ea zRo4;>btWYZKfn&6Slw^NW$zz{H-k7nE_dKlYC494wG{Xs%5ad9<&4Dsw?9DLs( z^i+q-d;_tCxj*+}l*HfVKN{knoj)L&#)*A`L6}Q%S!FwQves-*{hw;zQeWN`lMz5t2q@G$lX5yzZ>w{ z>HN8IO9bj-jH&kOg%(Tu1=(L>%nIH5?LS~8)}K(&N-$-J_rS|Abf`mq_!%nqA7f%| z1JV9Sp=Emeoi1au2kQ0Nvy+j=Eelhq5|P<+h`qh28nu!sLp7RH$BBZdPZt85DS3QP zXyn(AYr!ts{%fbPZRFRbKN?xAAcj4s4B;4$rT|FANgLFIxPHk1e!yD_K%TR7NkG1H-+nC-ZV}p5u+*T$ zHuNEq#*zThdKovoJ*~zHJB>(o?L3JEMpFrig^7;$XgzL=3$z9DWCmDp@rtZ{a&G$q zLu;>Q$fz*HWchSAX|f)T10L?Ovk#ccWI+`)cMPuImx*a}9<_zo%7pJkQ11l0HHGIr ziM7NQcBG!Ny!|dde$vFi6-7`x{Ep4^7(*4s|CcC~IX#!3a7lU%(bIL&)3MA0G}UuC zk@yfX_L~>nB)p;bS6!zRF#bL*()fFR*1`eito^weav7^Dt8FfS4s@y$7>{kiO^h)5 z4fTfQczL&lDx#L^gFHPtmT-kiJJ#G#uQUhZm*Jy1JX}WU|9r49PkGW6TO0H(Ko(xA za$2DuE~V0UanE9h-63yWJs^Lc6|6IUz=ZS2(F>Ovtf~Jdf#hm z0v9w2uXi5v-0ZZP3ZO5KuP+=dzwWSImOJRQUB(eV&UeSZC(qB58Pc_4;n3b4^mGBo z_^tWQ#R6PMWw5@bxg88%8N`MGaN%rzzigrb?zfi;-xG@P@hhut%$`n>BgWQ+ecK(& zoHnI9&&hvUS>FsLj!m!yo&KFP{0b@au5kW0uUK@lxb^y}-@*RTgZ(p`{H$7M3faLc zZ?W(bDw9}UL{l#{Js-Zcg?r+#q_8*b4jt$XVD50;Q3{xM=QfZJCx$~SL0Jm@W{vzE zM`rzqW4?{$CAYeSnV5wPse^8B#3fGF%Gj`+7C+ zV5U1t`*AxyzTf7tZwUwkU`zp%_0uq6v1*b>qh^>v?0zeR#sqxFBWs zeTir-<;DI+?&_Mdh#iF6GqbLKN6a3O{Wt#|R{NFJ!OOgVqNy~5ozJzWp8s+k!pFY3 zJRPdW0BkVHzTngYiuW&dx(|>a^mHKuB*9t^q>{mm)Fp^722$Bjvbx4Nn|TfeY=4bO zt_)=LT3C&eyaFgNsYzwghBd+l;PGC8%z;DV{G7?%R6<_G2+L2|9&eBY&dpNvqQ=SN zL;MYZLg^N>Zsk#&8Xj=PUDqI@;ToQ*vjw zKT-LUhr;G~Xm8c9k?R}|IT^FE0sFpWXIHKdief8O89M@xBdSod!ui(b+R!)MSV0aI zc2n8gZi~qR-dB&UkQ(bhitc8ywSJ8O^IOKioMy)7zo&xj4o<66J6o7DN!bd(zGw7L z=x`=X&k;d?69WsUO*MDsfw~s1*Ohj*na~Rglk3Z!Z}5lOE`a%sYP1M15%?>@Btw-r z>}XXr9LSQo_#UkLp?0vj_hZ;2F!H%ih*ZNbB&9z6*|mg=aq;KR;Pqa)m+dBSkclZW zg8tOuxNK?)X3zUP-ZY_ShzlJsx|n|pv4{JxqlXB>c1syf(qlqpw>JLZlFkBJ|_qxwHPuR^-aKry61O$9?=UItPsuoi`kc+#7|F3Qfg z2MezQau9uMx}LkYvfPFU=5RM=59(4#UHFyitPj8|3P$68d2`hJheI;k56sgU&1Dyw z+y{-|XwyrD?+&M6b0={+k>DHn60tv)_}OUi+8X$zVXt0`r_LXt1K1tK0?P}%ut0KP zOcez)H{b(D>2;sks!F$gynfuYV^(I+VKFt7)UwQ_aIY-{j%DX@wh=tl9<)>MmNGi< z*nE1=5Zc;KpQd>(0tF@3us+=Ya%%fOc`q>L^10R%#A7vqL*hz}F8xv#n76^~bH+N} zD+WpzTtwctyw!XVuja$Af32y1s(^$b8TcOwWn81ACFTu|&*jNyELka$#WjU6vmj)- zb9wsN(j*!>lha_fyNhzrXIg2j%jjq}ndR??8uG{c6?vT1^xBWz|5lQ3dS3Rf0N!U_ z1Mb=^Z=1*?T&Jprhoeef7xGkkyWOx6MOfj`amT&|aa7<>|B`JD<>VVd_a!GLV=1@mo>aGtDze1hE!-Xs=?@Qmaw=3a9Z7)fMUgK)%BNS=!az$6t7`Oj4)&Ub~yW7dU z(87@s66Aqb*&DmT=alqsmilz3=pIpN+=RWp&_BqgtONA?H!lS~v+!~hgCfSjMJjgn0qFO(~M zCQCS9bR(ub@s^-iOK;9H9_<7f1hVS|cXcSV0(4#KXw@t<=-@VlsVAb_KvHl>^Qy?~Q1ePGR zEpp586Z|4~5J)LHjMnG*=l9A3{&@CsWK-ak36}j81vfPm$K6x4PdR}gVSi6-M8wIh z5GGCC9i^LHKpeK_@m(}>zQngMHh^I?28Y*&MUqz=ftWk`%oJ*&*Ap>u*9ZK$7Kz7Z z$twb3qQv9wpPu)0EJnO=Le;Bp*Wp{Pwl;V{EBkg`Y;#8DO?UVfvA*I{)L}L+SEk_f z_2EAD1&**SQi%%%zlVJpItfvcn$a|$RRtx>(U=&rF7p-tZdat{^(SP1fHAbVl#wm?`1tn z1NGbnC$n>+ey5?pY!$uP8;9=9YOa^B%io@zM3NgXU)dY}=VyYv)YQM9rNAh{azsdE z&?OeJ;rn7@ii>Gt!05=n&C^9yVxo%37^B?4K+$y2U|@g9$T$KhDl#iB=RQ8Ob}I7F zLYRARr#*$&(&^_n*!W%N1zVoy1fS!IqPHA-@)h=t8M0VIUOqd#U4_4|^?!>>ozGV= zu89R=%dUaPIldZ6?G#JS>^>zW<}-peNR)0%D|IelJRd4{z_klxp~?1NkxfQg7|M1# zeaTZxtZHu|jr271HztQC_8=5|{8kPZWKEukUtZSO@QQrVYy-}e?#q_!wq9uog7%$V zuB#t^$%96aK0iP35`-K;od?`GWxGn3kXGZ26ys`ZCU15-L_{1gq*ja`@3GxPFh6I7;!je-eNY;0_h%2JXG^G?CAl zU$4VNm*V4ifPPu}1(AF30%g;N)Zs{70Y{x<{zg9_@Q%BwrdFEosal>lv^c^bI$;%j zCyIqE`r;sqAZ6Iiq-1P1XSVW~XX`}zHix8%Z2+Z{$9fzBb0F{wIbK?~Z*xd}tNEp6 z4pwq2;uQvcA3_|C0cBS z$7MP2AKEi%$SuOJg#qo4{lR`SYPn}X3?|qwebstNEv<(KH|jFE2{uC>9q?qb^J@6@ z)qhm$$}){^+k zTzH|$(qA$(9pi9;%p#~L)t{QOKQvPk=BUgvEgpxT8+(n}eV@uJbG!+#{XZe9Ar`vB z`*+`zG`OuI;tMCN;ie4Qc~|K5KYNO)tU)u3`U z-botRG#oAi=|IB?;Y6qL>fd+R$_-s0#k&fx-2zH0T19L#ja!rs>09*M9X1rt7Em#E zpCRV$Y%L$Mc$&Pzs+O^xr_xwij{Q~}UWndn5|3*S$H6dbb)MM`w6;b%ho`-d<^mT5 z0!W2Rjgnq;}- zXL^4wVaRc#%TUes_E*{q{1)C|-M`PzLmTPzraJE2aZt~EVuYR)OnU-sJRAe?Io zqVJ187MT)ExBJ^K?Q3OWDe%2)t{f~1Jo*;pAZX%ONN;?wD=U1Iyo zVF~F>@AD)H*qNZRRDK?pCVRl(Hv0%DXC?E4`mQn?JK8V+6d9qGtZ;|09$><5g+e3k$&0;*M8Lsa%&!xSb~t8Q0Y#fmL0@C|R%Rx`uv9xkTE~qntC@fp9J7GZW4u zXtn+inF6b935BzSv;Bo<66!X3AK2IL_zFZQx1f0c1+Gg5$u0RlLtuS^28|h2?UxaL zc&znE#*&+*l)?=BHgQ@<_*We~9~z*>)im#SN4{aL&B@WM{x*9<$i9lGuBz+H0-8g< z8jRJoZhPds@Y+-;P!&tLo^6^bNHvp3yYoJJc#-1xAfA$-7_ILhWj5Q(Y`Sh8*xUsn8j^60 zg6epX8C}Z$NN-NnWM{yDU01E`w%DP4M5yci{^#TLJh$tl+z|zp2`&(pAc!O19u7(} z3X5u^#hSg1Iv|2L;MmWIU%3A^a{F!_qOZw_q}mSw+rR}Eq$gv0Y;>&Ev)PzlZq~u6jn`AV7zr&$uM*%94E{6L>zVDQ0>>dh=9f<-I@XE6cf7Hy4Ip)$s;>T0Ls5eB+{6$rhXfS{auVm)MTf5twuBLjI$bU1YC|c>u z+`w^ZsVE1nhFzQ%i-9E;HRC6-GdtW zZ#HQh`|@fW8)WhMx?FglU$J-eW;vc(Mu)UeUxEyvtz_8i!?N)0ySh|s-TpM;2D%e?VZMA8BVFU6Cb17^ofZ?Z zhH7LOulW}c!a%%Zx-gX1+Q6`yzJH9@`d#x3f{Sg*x&cnK!e19I-C+_j5X{@|h=x6H zitW@ct0L!?LOHjH?P9Tm_0u&yGk2{aX%}7AJb<1g22E_!21L^&79Af1iB_oGTJAfG^ySS?_`Y5xkubUxoJ09_+9!!>g zNtGO84Je%9XiMep5Yx8?b#M()6yb$acC*eM>V_lJVK>^eo6})IO0gFatjObti1_39 z7ev)+smg(m@7Gh7E03i-_q<@w(sgy5%fHx`fIs@3_4Ad<0@E$Ue$K zSN!po(U3g*o-)ijaH+r3{4BTk?qIL;Kw9`X#ZYj(zP;n+82NLiI)S78D!#cQxASqH zdy(hGtN!;9z1~au*Gc6s*3HyU%QQKlo@7}J*m0A&p_0m*?KyNgVzavxOgk+fV&Tqnoxb;q3Tu16)QkF__%?+Y zs}(6*HaY7~*`H|f7T}b2jaRZ#@`O_pgYIhTYi!RghDVWrSvJFg{YKooKQT$>=!p`b z!HVLwE<~CJUkX?Xjb4ATHScT2R}aI6qS|Nm0w>cM=!Js|zh3mHG$Uoo6+}Y&S9O`{ zmoUPH!~P8Ms8g{E$Uil2VN`mKKg;^_N5Q4K%OM+wv$WW3OQ5HG-TFSG?5`ix{)R&xM`<&E)IU;cG_~%??Hu0JU+`CM&cP-&d!M?CjA>3j_b-Fj(h+BvdnM=Va#H|@hx)@JbQme;xe zsXEy7Tp3wtdg>&6h8FyJ_OW;0rcXr^N|9dIld=+DPyAn+4&RO8)cHSZXD`T3$G*W_ zwz=(1GMSF%64D>9L39VayQH+UsthN{@X41&>0+{E76-mt)3)p1&7Ttx60VTu-=4Q0 zIbR3cuxL+?hZ_+ZC&*PHPFY#*&~gSF^XnyaK^Qe_mqkwNxa%UCs;G%0FyX-?QW}?w zaR$opR!=v(l585{_Q%Rno1Va#)U7Q4DI+Q;`;A+IT8%eHjPo-~?Tf-dxV(8{e| z9hG`PoU++^n@7+}?7HAf32>od;|vU_W(G1EPF7eJis*>}R}t;3Wm&Xoic(m=Iq-pZ zwt4&~GR0h%`W*%S#UZTH`J)P{i6v$1!3kJo27yU(H=83HfV|Ncm*^ft(=CniJrva( z#gTcbe=_Bo+j2t%gNwkA)$4^-#-<;Qo|fny){K~tV^Q~gM~&t=*GQ3C$1sXKrVxk4 z{4bxw4XJu85s?AU(A|mecx!oFQ)?n*0Sj=&na&hpB1cGok&A3Tu!0-Bk!@a6_DEfR zw1U54VYM8}BQKMj4319O{FV+U-4eO6W{AH0rZYk=tyQ^*o_CkBFDuztNu`{q#v`S} zxUAN2zWr}|0&Vr_4T=R2(|DD_2Tn-y6swAKctiGkddA_4}be;1ex95HgW8Bgk|O`nHyvWDb#4~sLgs0+qr4tEB0nZnHwm@H}r~{ z?t?^Vf>rifGqb@mgL&Dz3&!(UVym+`Y69Gc;zzLh>?fDU$7cV6t9S51}sUSYYKKn!ah1rwH5#39TcLUb42DA z!dqOOTg!B33veQJhEJ(tYM&JA9GVHn8hsDwXP zkIl{goLXqAhsx3Gg>Py2e~5d_t~i1cVea>IF_x;knR<*3vRbBGdBaKPst5?RmNy6bx$wm`YAunX>d0InB z0^Jwcd0Od(kh;p`;^R}#HnHr9OD1l%Z-XIo-V zHc3p}Z|&{hOfA~hCf3sc3G4^f6T^x4R8K78AFJLMs6O8sZ+yNwR_-_{r4zd8j(mPO zYrBlU{qg5`V{~~+)5QJs7>pl{38}FR-JJPD=--cnAVOG{Lp&5Y1c$G;=-tZ5LTP~J zeO2!S0#ns+onL=s0)*<2gg(x-9E*6eTh6laRrY%`Xn(0JtH6Z1R#J8v8Sh^&;PqFO zwIFBm>=6}uan}FaqT~d93-j>7@$GI&2zE))K&77AtO`xL5%`yWw$Yj&d$Cqyh`Cqf zhjs(UV1sdPQlAlF@1m}0=CYcXlwMxjf*JaETGeL;Iv=Jl-6uJ9zcXg?AhEG^=`+Fu zfDX@7)Fz0$(yCE3$0@%akvf7NmFvV+XPZGJZUGEZEmvD>p<7`|so-i?yGf_KB|8e$ zPmY-Nbt_V(=O0fWR?v)QaeruKB;^hLkWaW2-Z(b$m19w*)UG3ed82x*j))IUEIdcW z*B1}e26o`wxLGnN+#dh2jJ@ay64Gs{uryBD+HmIZv$4 z6>y`iHTFwkCjkpc^u(Opy=2V3>Vi!}pJ}Y(DKZ*UcvJ(G(KX#j$Se40&`HhA$JoZ0 z?J#(Ya99}XqP}{Jxc@HDUG;=v9_Q%~JPNGa-i|=*j98j`&XE>+ekFfv`6wfc=vH&~ zw}z_-l4I$fF^DVYR&e?uZ@G*2WOAph5C#FM{O)_L!~l2tt#^7ph{)!c>NXZz$&UL=2LKsN|pqq<+8oCJT@=zfM8RR--?fvGUaDBH6^r>EBT2h{90ghvayo|{Ax zN{L8l@ys0T{pR{Kd8ehygn<bte~;y2USd1V?dfb?sZ>KyP1>a`!Rn%E`RRzm30Q zO$N}SM%VB4~Af(WWRFpEUFZ`0(rX?{m?mL$HlupOoi2Mhc*EI9;ZRnguTfvzaSf9{MD5u zSFAZEUVf0ojI?suJeqY8Sc;{xHsOxCZ3q6mJSwczzXTT-0%Jh>`W`Vl(HcA&mNCrX z_5O@M6S^#%;;ycFzDTWl<#lepAWD>8AJ55W5x zwr$JPF<)7W{BBY_NgYg*;N;3EYA;$WxM%I?Lan7B>w&T06T67x z$V4^qfX)~=Y?MH=UFm+`JflMp&GMae7-#!UDH=r4Wyxn3WQjwkq>|B&A7}93UP&Qd zwA>%#U{%z`%_ar^4NXp+9CE&_WSLbSa4(ZoARYw|^N3O_8l5Kg{)xay)sv!Lz!Uy^ zjvzz641*j{a53P-62B~&bNH={g!g9_6ahVk+kMo2_(Odey)BLMVXlZ5zVJ+>vBqyr zrZ-)S5p`?#6G!q?8)mmoFF@Rms1kOOIT#}^iyWpAx0Nx0|^D{Dl%=&xI zH@Xp?(%v|K1#H$D+v^;_AN_2cG+WaSgGq&56_SX21Byn0FAKlf&EQx7Knr*r9 z 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 literal 0 HcmV?d00001 diff --git a/windows/deployment/upgrade/upgrade-readiness-deploy-windows.md b/windows/deployment/upgrade/upgrade-readiness-deploy-windows.md index b5f0b2b68b..3aabb7b13b 100644 --- a/windows/deployment/upgrade/upgrade-readiness-deploy-windows.md +++ b/windows/deployment/upgrade/upgrade-readiness-deploy-windows.md @@ -1,8 +1,8 @@ --- -title: Upgrade Readiness - Get a list of computers that are upgrade-ready (Windows 10) +title: Upgrade Readiness - Get a list of computers that are upgrade ready (Windows 10) description: Describes how to get a list of computers that are ready to be upgraded in Upgrade Readiness. ms.prod: w10 -author: greg-lindsay +author: jaimeo ms.date: 04/19/2017 --- diff --git a/windows/deployment/upgrade/upgrade-readiness-monitor-deployment.md b/windows/deployment/upgrade/upgrade-readiness-monitor-deployment.md new file mode 100644 index 0000000000..0f5b9e3730 --- /dev/null +++ b/windows/deployment/upgrade/upgrade-readiness-monitor-deployment.md @@ -0,0 +1,48 @@ +--- +title: Monitor deployment with Upgrade Readiness +description: Describes how to use Upgrade Readiness to monitor the deployment after Windows upgrades. +keywords: windows analytics, oms, operations management suite, prerequisites, requirements, upgrades, log analytics, +ms.localizationpriority: medium +ms.prod: w10 +author: jaimeo +ms.author: jaimeo +ms.date: 11/05/2018 +--- + +# Upgrade Readiness - Step 4: Monitor + +Now that you have started deploying an update with Upgrade Readiness, you can use it to monitor important elements. + +![Upgrade Readiness dialog showing "STEP 4: Monitor" and blades for "Update progress," "Driver issues," and "User feedback"](../images/UR-monitor-main.png) + + +## Update progress + +The **Update progress** blade allows you to monitor the progress and status of your deployment. Any device that has attepted to upgrade in the last 30 days displays the **DeploymentStatus**. You'll be able to see the number of computers that have successfully upgraded, failed to upgrade, are stalled, etc. {what does "uninstalled" mean? Should we have some more detailed explication of each of the states and what admin actions are recommended for each?} + + +Selecting this blade allows you to view device-level details about the deployment. For example, select **Failed**, to view the original operating system version, the target operating system version, and the reason the update failed for each of the devices that failed to upgrade. In the case of the device illustrated in the following image, an attempt was made to upgrade from Windows 10, version 1703 to 1709, but the operation timed out.' + +!["Update progress" blade showing detailed information after selecting the "failed" item](../images/UR-update-progress-failed-detail.png) + + +## Driver issues + +The **Driver issues** blade allows you to see Device Manager errors for your upgraded devices. We include data for all compatibility-related device errors, such as "driver not found" and "driver not started". The blade summarizes errors by error type, but you can select a particular error type to see device-level details about which device(s) are failing and where to obtain a driver. + + +For example, by selecting error code **28 - driver not installed**, you would see that the device below is missing the driver for a network controller. Upgrade Readiness also notifies that a suitable driver is available online through Windows Update. If this device is configured to automatically receive updates from Windows Update, this issue would likely resolve itself following the device's next Windows Update scan. If this device does not automatically receive updates from Windows Update, you would need to deliver the driver manually. + +!["Driver issue" blade showing detailed information after selecting a specific driver error](../images/UR-driver-issue-detail.png) + +## User Feedback + +The **User Feedback** blade focuses on gathering subjective feedback from your end users. If a user submits feedback through Feedback Hub app on a device in your workspace, we will make that feedback visible to you in this blade. The Feedback Hub app is built into Windows 10 and can be accessed by typing "Feedback Hub" in the Cortana search bar. + + +We recommend that you encourage your end users to submit any feedback they have through Feedback Hub. Not only will this feedback be sent directly to Microsoft for review, but you'll also be able to see it by using Upgrade Readiness. You should be aware that **feedback submitted through Feedback Hub will be publicly visible**, so it's best to avoid submitting feedback about internal line-of-business applications. + +When viewing user feedback in Upgrade Readiness, you'll be able to see the raw "Title" and "Feedback" text from the user's submission in Feedback Hub, as well as the number of upvotes the submission has received. (Since feedback is publicly visible, the number of upvotes is a global value and not specific to your company.) If a Microsoft engineer has responded to the submission in Feedback Hub, we'll pull in the Microsoft response for you to see as well. + +![Example user feedback item](../images/UR-example-feedback.png) + \ No newline at end of file From f7484cd37a1c81a1ba03ede360fcab56834e74c4 Mon Sep 17 00:00:00 2001 From: Joey Caparas Date: Mon, 5 Nov 2018 11:20:43 -0800 Subject: [PATCH 19/53] update images --- .../images/atp-action-center-with-info.png | Bin 48786 -> 49276 bytes .../images/atp-av-scan-action-center.png | Bin 21745 -> 22272 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-atp/images/atp-action-center-with-info.png b/windows/security/threat-protection/windows-defender-atp/images/atp-action-center-with-info.png index 5f0e1199b6c83c8f22534950100db413c810f4ed..afff6b70931208c5d1cb1349c792c67f47528097 100644 GIT binary patch literal 49276 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

n9FGoCim8{5lBD3c#`}L~7S1tn{ z^N6^28G8@jGS~%=`HWUD-LpVrg5xtT1RCKLiuYJA6eTmh?6}C;L+Qo9 zJS3v8ESe&+P{0Z=78Bl%9)i1lY zQj>CgFc*CLGent}X*@dvO>%*XoDUwL0hEO(-traP+};+*@r6JPdBElVM_P0)E-r!o zC|WZ!Gvtm78j$B1Sy@>Gq6}-N_gG7dfJv1etjpQ94jMul02-=5Gr&)9HV6(ZDBA%R z&A;x6nS-6D@f9=xz$*0K8)NS8=`qvEAFGYM1mUpzAEsY}=agy>q?MP5eAv$mZf1lU zM>0!S8wvn|6_Sy$%?e{g_LFpi<|}P!9_qJPNCkHeeP3ZrfUJp?yAv1~I9-E}NX^MX zS{d@grZ2wQzz_{`14qd>fFY_Xtm6q!y5{6$YpcQvFc17paX9F3Leq@FtO2{j=77pV z@u5@5R!VH_J4{-)mFPziUhTdavsE`^O==ZIZ!o*Z!-Q{s%g z!5e)NVNmIsH;HVN@D2U(txcbn z@+r`iP9k=c9S$*jK-;(~30sGdI{t$!kA5yV8!{)$di4oTQ=%<+G4sL5lhfa?R$Y7q+qSadB6MoVYw?X+jk1QDQhW zl|`7v44H|A@CCRorUsZnQPrrK`G7mwXy-k{{22&78qR1C%-FSpV1-}*B5C_Cesic; zQ7lNage&>nyW-X{`7n4?L{@0~{T~pST>7Nabt3L*@|E&~-t0%QNlDS%?DH`Gq&lPhS@Krs}H4*|sS_Kd($3lTwaE>RY_&?*wiQfN)BMlSbqw-%H5=$l~ zOfZ94e}LrqRE?}$c)IHeKJIfA*}vziw9=qBa|0!zx_JP05ALxiS(?g~kYiJrUP}TX zJI)(w$^*(l%*N;J?Cjik=4IH8*^*Ke3e=KJx4Qouf=nG8Mu8iIeKSp{$CwXYA~v5> zr64D7#!fi8ch@(rY=4GyYs+`ecdfgO8G&&E+Tw#)>8Du8l`+kH=%y!GKKEt6Lq?GX z83l+BRa8|$tT++Eoh-Pi7tH$Z55(60BPujkf9K2kYjw5IM7RXIB%UN{WaY)~bvyeE ziDgD+rjWR}<$Opnb_psXxBsG!jB0zaKG${?pHTY;LMjxf{DF|Ka@A8=6K=H(8ov5D z-1FWej0PcFGU5mCUY2Ta91;2l&^k;i? z#~lOQs9s&*t}Oyu)2?*IKUeni}^LO2Z0uBX{p*e zKgEJj1qMIR>N@4MnI8zEdRIAWQn7W@@I&Y3qSd;^|&gc?YHJ0 z7EM(SMkEE#e>a&ZMCrID%6idn{p9oI3E0|lO_X=2$%XT6`f}^z#cT>qFo7p=SEDxO zx<^MTHc}R9=>C4*DZ6dl9xqltm+Yl2$1`0Dm^>ZXQuTlzQ$$16U0i+^qqj@JDibVb z^X&QZF#6#2T<27>7wZk9FnBf7 zKU?Utzg6XlVv`9@O_eBI`iYk=MY&FHGH0$0JJsN1FVA(FVFJl_XPCp4{1RXP{&3Sq zFc{F?XV-QnxY$P?lE5j6%{{t7u1?`!V+TcbL8;rxmpAXy`;s;K;sNIrtkiZD#eE&w zu08gN+UmSO+ID5dbHyli&gDhZ*Spm%Qmz}QYimQiee@Xx5$i^GX4ojHsIImUQV&+Y zgSFRBQ+!-a8k4SyiQHUVSn}Y!2`Bl zL5<+?uh6gWuzDz#jV*c-G`hEez~{2%rx?varLxd*dH7p~Y697|kx{|j zq>dzg_vy$x^s~-*9-WS^u5ZgDl?DACRy_Ka-9B@A$$JdG{B6GSP5As$y55W=60Y}fW>)EqM_ z@wqM>N4cM+mZ+etd=6zNGS+5aX12df>0n#(IX%765qOU1q9^CX?S@`CU#OM=3b1Zh z6v9lTK2lj(`Gqugt+c?0yxjRL(3~Q}V?TesRF2`zeN==LxBFIm&{}J-GBQ}rTO&?e_8rvLp)#3vv!SM2Io zd#{BVwbdRUcq9TlmLMKIiceRL$q&MC&alY1uVVa7nwTA`pc#|G*mTmk*~iV*)iC9{ z*6Y1F-Sxy$YLp#e#rCB4-&EhJESrLB2A<~{$~DGvWFF#?DJgS3fukiaJ8{FpVZAol zq17lAwz(ONMi_lsZYf_y*+}J#1~~$hb%%Rp$9C94uWfrEXWcn6(N8A`hjELfyxM6wGuNs~_tC;a3 z>vpEa(Q0NOoldt71_l*PM3T=hwv7t>rucN=Bj9!z!~fQ6*}4%Px689r)*^*U`m2{j zpR=o}mDNqRf+ws2R-aX2o)($+i}t-IP$DS5G5jPlIVC~du0rmV?xe?)d7<{a{`ViU z0v4vK_({t|V53I-k4mPZSlq-3|7&gCS63R&ew8~EO`!zi7yDQ3iF7-6#IYD-t~jV{ zCc|0K9J3_r8E_M5@SJdyw^{t+iHD9^AA*CeE|2`Ig(?+@j$HozEv^4aHRylmMmAq` z-G$?FE!SYkiXSH(B|lcTfw1J6W-N%R=C!|>Xb?irzmveIwEh;KVGS)Y8d{}`c2$M~ z0MO}dl;HMXMfsTe0KPZA$N_;1{FA68kPpD*L6ID|T>k7tKuA^lv`RN+SPQZeCnhE? z{|bO{+Fy;&xcT4%-N;-h9t5d@=E5P6psH{MScz6VtOVUJr(Q8|$#4vajJ$c@$Nae< zR{#zSs;f}rfg4Qcea_*PVU0-i<2w2_QE1SF!<#~H0Ady?(UMLf590ib8|($S!xb}qmA&5O$i9Aoem0wB)SkuO3{(^h3m)fxmN$gE^G5tQ zVYJ)w_Hndpi=m2eLWp7W6SR5!KYBr~i&zQ-JX*TZywGCuGpq+xI6=34f%d4w` z-g0b+A1(*Jeuh#ML6;oLwIJi}v4$8%pNE4s9R5lJ&}L<3lE|f~+hcoszs}>829T8_ zNVKFqLJ~QB20%}0(%#xM% zp#vte5Xvu+Fr4o06NuIQL+IUrQd;zqs8xxpf{JEM*^psNBvPVRP# zD+;)R94jM)Bhb+ZL0hQJ7tZ7Va1B8+zD4<2`*n5x6Os*{XiTepnSMUEr&x^ipC(o9 zRLW=H?vtSC&e}{ioIHG01#DhV7w`w`T+4&DsL<^zCsTbPpMnBV$-JxOzQ7%*Dj`0| zw&~dVbQ6`EHHE*QnGd@8;vh-@8BqqZy4*biFZH|aWqjfL7j{Y=#Ht{|GxkKkwG!3) znrU+-Q7x0q26B4O?T-m*JoC_w1CmnsKHhbGy-TI6N&kV0V$$Q|lkethhIXaPbR-sgwCXHLBT z#8a`Yl5d;(@*bW}=?arM^ky8nyI-M&LibD&sCO}mYY(A*iq6_yp2_*0C?>R>qj8s7 z;r(8#(FX-G%8xV}kh()vgWhKn;dp3%+D8_|W2QRXEELSYFR8Kf^loT9I|SSa?OhnT zMsd@c1mC#9xKFTMou|G$)1i5h0hg0C0=X1jG+)QFMI5fRvPS2c5bbYAN#3C#5Ddn| zoTrM~#Xrp@O_Kv*6`_Mm;P3&|>UdrOk3293T*!g1Jjne(62gyLSuxsNgB6W*$s4To zJN^a&&@O0K&CiG8K42~?suPm`g4kO@!_ayjoF)9f;}HMf`mD{DY9iI1^I?r-+mN8% zc<><&dl6V0fFmICRvtPA!Ta;INhQ#lk2iCt@OxE8ajQ?hW-#Qbtl@hi&&jJ=6>$cn z*0K~WYIz}!YQkXpqE7!e~_WIbu8rlvspeo0g7s$Tfct;SDx6u+eBn5g!MB5v5( z)Y;ydyMPbG5fnrJpObBQf0R5`&%3Ed$Q|K1}C#4jjJVwJ_vo?pKq&nd?>cI`l zc*2y*?oP^{K;#=%KXbqM+YVIuh-sU}$;L3?ykJWKEAhUdadWzgfVR#~ zGibelB_l}lOKoDjqv*G1h*?#8$Ts>FSH^dCBq57D%g+20p0m5V`vnv};WKj=p}&$a z&;ETkK}@= z9s0M45yFZm>VQ5fge671D_|2+;XU$S^t$WjRz_ww>GK&pPp%38uwVKp0iB%Bm_G6(d0lGet+(yqL%3YWA2Ai@UKYA3f zylk%FdUET7pRbH zy}8*HBHz)<(b5m9dao)ahw|juG+1YV*@Brf!c#&>k9?dTTF=YJMw!}h;gWF7$U1Rwc2qPXdH?WWE-l8sWOXheQwX< zhGJw$A$q`2;^tQjh)_OiQgpXJgLa5O0mDfbpZ+Iq&4$mOQ@<>Pc7!U&%Qf#pTpCdz zen9wZ@UvJ=^eHG%6g6=ozp}~0HaAiaSC6_VwrZw_9 zhY^{??AGlN30-Jutit!{6U6&q=H@<7WB$Z*zy6c;cl)v_uMoPa+Z$~4yzhTqreEw(2%M!-nH$<5a0yvPg>1ccr|8foK9ErJtOVjJG>w*@uPpgi zQB$gh?54|ew1Ec>Yby>qVEXH#X*Av2b0+}M3pgsijTA-C^{Nuo!90F&FOMiF;2y@tT>d*aTSc5

vz?(LDYN?(l8`**kTq|W)ViD69zl_-5@$&LgYP$dRCtwUf8lYI!uH;oz z40{Mp-I@vND~nej(VnIVA}Z1$LqOxL**phQk_EhI3mLbQ#CLrE9Hzy8AvLX^#Tt`l+=aCdweK45|Un zSho3EjIyr>H4ZL>Vc;F#!|_1nEU?Sq8Uv8Z@EvsjIXO^tM529-5YrWVd(+g|VEMy+ zpy?yG!}?2WR1WvjSbUi0aUWZA?JeyiPK3cT-`%M@sHJ@VfIuWFtI(Uoj_lI z80iuDBgH3140a9t{AsFVUor?yKrOt=guITZZ4iaFN~v}jL*?C5DnVzYi`K|yC%7z;&EDo<$DMKB_$z6@~Dl3u9kIw9!I z(UNY>1pOz?+a#(zf>3(IJ+c}og-E=GYMOe!s|14eAFP{D(;J)O;^Lb20gN8bdq&|{ z-fNp-=(g*2#PL$`yQRkPeteJg_&t>@tbfJOxjde5k^tTx4*h7W>9D)(Dp_?)s-Gqw z{FNMLw@O^X@Fbh}+H}sfKvBB89(8IH3FbD>PE}6DriES}iqCL4tM0srt)W7qLZbl(`H42JjP=%{r|55=XWLy>6y>mZQ3G`Dl&m%#h#jtE@?gAYcW*_!uV zb->UUoGUV>=6f95g@D%oSBcxtXu}$(kD>UNo0nIri4wXFD?Z^`iOa_> zzg6Xnn#_~1ovaWgew7v>(qV*mml2bw7x`J>?<$7|$LQo@)05qe|n+aAk}L03BD6&WF~;pw5T%_NVGu@ciwMZ z9i4YcNIn<6l@HrFI{cu&Gc{^Gm6MctCLR)OB$@?UKS9n?({DjX5d?#?kzP(uPk%!4 zOK}83(6q~ylT(SRdqfXan)nsvsjn8{}uOC_Mlr{Pb(P{ws80O3>3IY8&xmRQG!D(a}+S<$~wM5SYo5 z%&=Yjj;yIiXCj!Z$g=}P*t zXc+2;e+U3Qx0>9wD@%}0L#b_uSYz_6Ly<36R6W#(mF?`(?cUn6h^dw&6`$1HcX`rp zv!|-`0IJ;%8w(cHi3SAJdp*e8y<}Y#;urBKLb~B<#Ikx=)yHO zYwLSz_7RGl$d_55n>+nn!hTqAq%oAD#j_i1Q_5Nl{`Lhe>7e1Xse8lDhi9KT$iJ8t z1p|5Uv42eY5cGJW!$Vevab1f}f^x>ji60W0&7TDdf_|(0K!TI|r^`jCDa~H7#2J)m zw`4!HvN{9ezx3Q1*u+*$;du;_rA!AQI3X5_&kwU>_cWhBVGbf%nq4Yw9T0ymV&&6f z1g%#YzDoSt?lLI5i>$1uYHJ6JxHTO;tjQu#9{d@N(jvo)iX`b%wI!(Xa-Nu`{${apK3dk&`|Md-l`MmmtBYH`it?-JKW`{;#W|@!Dl99{SI3uG@tIW5wve2 zF?O;Z#U}mq=~K0p$n5T_m!+EgRz|lcIfy0QIZAo6DSh;k5w#zkI*XVkQ`@A}n?Q(J zty#yE$RYY0EkCt_=T-5Ktz#QvTIWug+*64k5vR=kDR#yL53|Ont$or*GFB}4S^6|e zA0NwcC71KJy<${ziN@S^jpe`(e)TyO*5nU*9YCoBVMTrT=Z?!&GJdyT!bM?YEPV z3|r8D`47L2C^qasNSyuV4FiFVjqUBV@+A{4rGPil>NHl|C(+}NT+g9;?hWhcj7xoX z_s&;I1GxFw5V*Pv8Wxt?cM|jrXkEYMuD5xDJ2ux?N2(=eP%C|_0w=xR*!Ws6zSx<_g|NQqmi8JL>F%yn!qx$8k zDQl4DC7jl1KTbC1%1eXl=Nk$Lcz3F>@dyNG0O3iX@$*l`hLjw!NW&ty4W|8%=rG7ni zi@f{egAQ8chS;{!xayNl63=CcTM4i&xZbBzq9?vfs`9PJ-2`e7hHbl*#GZKw5S$A&V{`sw9J)vbx9h@*F zB~@VJ%dUGHw%)qw7|U(a1}lxr0_D43X>Y-k)Ot}k;w44)er3EJZ&h`5Hi@K{>t9OB z_erO{5ccWYPL6plSRb66oCe0m5~byD-aOP!nLc4dvsmO9@p?_`*_CEIgBbEB#cZv3 za3w!q5&`jo4{);Za~la*Yp=`7m0cKsrEi#l^h)%o73fv9lKjsr%q_u*I;u}Avh$Qxa6lO zaz}(J(OH1q77-KK`uB;uQJI+B#8${|wrL$*)9V6PgZARs;>DhT zNk8!4bMkG~K7ER&?ZKT;o24@jd}7+LE|L21VOFqHvh?#SU7NJZ+gX<>h&IY8!9D1_J@rakjQfD4 zT*k@142Gs%%ra-IgYqNH0*VGpl~zVH&|&%O!9aBHvW?LVCe6A;#_ih?)kBuF#O9<= zJ2n~_9PP``LyIC)PBvj#P)I8kAg0j9uG=WPfa96&|zStlma^F7KW5UAC{ba&h2|kwuNG(yjNG z=lv8TB}M5KA3S*AyOn|Bq@<)2>Q?0F<07)eCw?PiXY937|EZ-FTodDZ$H$XrlbRCe zK)4L}$iH~nDFr;uB71Y(q$?^Kui}(&5*rIk`x$%yK^r2ey^PS~F!EfBd#z4IR4SNQt1&4Ea4ncWswUfwG)VQ+1H z%BDg}N=j5rY+nSjYOv*Dwvb6(wpsr(Z{RC5rE;LrHdF;oZo{$lDqW(h2;ZGD!}1 z8ivB!Zi;Pd4=%oUch;!-r~|F#s3BlBx41UTtULry^a9~#BjRkkXYZbEyvS0?@*J@u z0|Nu0JyNduif`O14cCcOd)GhNPVbKOk2-Tsm(B55trVTkmaC~V$8Y;|aGJC|ZWyw@ z-tp;qzG`)9&+Owfe8LxexRkrhqJ-3hONY#I_d70W7b><+Fi630*a#%Hpu@Dzk3=d!Fz9aeJ z`FTpPx}3_}L(W{Z^wuetzNV@T-YxplbgHOxCQco1l4x?EJR$V^47eHcIGD7_z;mwQ z&j|Xm&O2+%OAiJe#q|7xEj9!%O4rPMJ$+;~7H(iG1RE)5IA?aUVC+Q_XYZF3&iL}ulp>popq zdE&s;X)o>mb<6;`yK=zU2bTNtie2#iZhdbai(TYkpa<{%xX$Kfs(rUxL`1~EB!N~y zgJu~ufc^4w_Af8_U(fQ7a!E-@{0Z#^*?X7*vT;1!FrgEQkXBR-@sJJnkae=ZLj%tJ z6KU!xSJg`+vB{poj6^%qOy2wX$b0^32X_{__TM(P5%L8mCVccoZpj~uJF?my;MKrs z!T}C822%^jjqyx7bPC)wb!A{V^<9*oSz(tCSfm18MZdd1_rZjErpF`ZcWBGJ?BK8s z3Z8h`eBZV=vz-p}t8?WIUvr?pjg2@hB-UDp%_tW%CdRtkKLoapi?hNpGQ}AuL>!s35z)oFQFox^mJv?|l~dW;O!U41|z^`vmxwXTORGB0Kc5tWq4 zIh-bPPUA}WR4x{Cr5`ph?D(kT)LVS(0jpV<+3hToH&<%XyQKXM;o-167noH;rS;bJ zeU5zY=RY&5OI}cErH*FU<`mQG>WYbLR}E_f-e1xn(|VnfuR={t&ro!lYG!fnSym$z zp=oaYlc^!~CAY~whhMerW$Ih?zS_|Q*Y?gHRkS4<*EhM?N6suQG`OxQMzuQ0$S!?d z)l+&f`vj5F?E|MT8JDy)blCKMK7QH3DObVysgG%N)Vu0f|Jx%YBc1z4{R4=#&K}gU zU-F0c$J?HmyK_9)FnHG?&$1txJ>ccv)!bdNNloqh5Sb*Rs)MMh$>EgNrS|$;(2wG} zPCTt1aHC7JhKJI-OF6XzsZBP!l@>l~Twj_K6BoDe=^b!WSP^$lP!IkjTbF$Jh^SQI8rse|a`)Edtx83Owb5w+EhpP(H$*RWu5w!*;x|8q>>Z@sz z@hCE8DpgP@3|tE!@`i9#jE<&WzMK7UYN(;Dti1SsOH0es+tcH{<>kA$r1*!RiEEU1 z>2{S|+YTa)skK#DDnpKqVf^zQit>`fn0Q2x;tR}PuWYe`DoADJFL z#LYgcvHn194imFRP|q9hU574A!{qr*8fz4`Oy1Y1M)goNWi z<~d=T`$H6M+ZBNNO=X8~A2TA}rP=-r$B7ywuo};Z>_T6NOv^U-n*7e1L;fvm{y&}x z|G(tm?GZdH{<}h@k8J8@LPEShXY%V?{iUC=fq|}HsK32>IYo#$KebbuKlahe%UqRI z&k5g1ZpK#GMss|BJnI%-QQG(YXD9jGJIZ@QVQ8Bq?qPBViGw^(Z;~GN`^QZlk_NR_ z;tj;BI2r+J$ZC_0dG^h_U@pQxGXij|Oj~%TM2CaGJFcq>fznxzyt_EFAb<7OFE=BK zlGo3;K?U_DO@5Y60U&XAJvG{hSE5>5WJ{hJHW9gz{DHR!KljR#ouBp&FQAxt2FG;3 zijO{pddbEKKxb;|i6#l8o`OO``?#2*TVW~$LG~G9atV&`3AoartXbOzxTV8!&#e;` z5)$xd+r!GrNkY?^xx4!=XhzX>C$v~12R>Pe(@c3xkZ-_au(L;&#gLz6M`$%-HaY^L zfA~>4b8g=71^CM9Y5+v14%Nvr*YdGXp_LXj18&$35(gmALIi|F0pAQXL^xY^ZzrI1 zBH6v=?xKk>Yfgt__YB@=GKUi3ZD_#s0d`I#)u~5_*MxHQ1ouEHXCNH&{&n!&tG}pU zF2B;odpJc)d+=xZGphKt$Uxjm&%OHk_3xE)uWllTW!busJ^7EYvtV&PScu_IXh7Q^ z+i)OKEov0XXO1HJ;|K`7a1k2`MWtdj5EBWSjANr4!}>1MSuWr@2?*Ty*USWS>5Fd? zmA2km2h<0dle$!{j=;x$d^TvbM6~i{dLAEo=@}IUabzU`m}p+Q;pd1#?_0yo5wgZ< zry1#vjgCPj$n8F@LodKfBqZDx89D-z>=}+yFlagywD-4k zcD28Xv1mKthaw^Qa00W#?Ro*k(r}MxMI=WI%JE5G+BfQ1(v91kNZfr&jCxX(?Z*yD ztic;%n!Ad*Ulac@*tLBR+xj$Gg1w26d&Hpc`BALWQahI9Ef)2cl7?Or z9IuAeWmN z(d?Hz?<;G4PFkNjMfF??DhG$ak0OFBDn#k086HbTF9WlG)G(w@f%db&d5yLoIF1a9 z4#NZS`eLN8dJ~qGb64TMHZ7Ko_~FC_r`BHPUGR;wQz+>@<)91c0EAs+fz9$ZIxtw@ zUH%FV4LyLoA@6;t*Fj07~*D#m7eNxV$%KT~I$aQ>r9nD7- z6iQcqem@CksmpF|zmz!-1h5oz#9D~2@(W`{H%<+I3O@qfb!?p1?GSC7nHBwiilwdj zNmB-WXy+Eijx)c5Wt;zqyt?!?q1>f!(qLWHT98^2b? zD(D}-jsFsT);FbT_i%B@ty>$Le9?gOMIz(7C)~Q)J3CJZgm+$Ci4Zn<*IjbWb@+osxb(D>exg6p*P0;s;ff_S5=P!8*&m-2=%vtG^;@bF<2q-J#W!ji-5u zg7ev(PSt*k({|4xXT};`RA7qr`?bY1aD@oc|EU?53in^MZLF^ubnJCJF@7+Ey?q093UzQ)|nup0I0;0-KbF)#05A3(E#1DuN-nNym5(!s0 zp5SoT#kvKOva(2&d2Tl*Sot%VZ8f)S&qFePst>)OZg+ENjF0P^)kR97{}RbqziXq> zL>#~kCwcE*Dw)!#Z)ao(HIdM}1;8+ImhH}|jjq)JBVYgUt``18;%sFxlqBFMrC_$@ zI7dUDfLcTPljst$GF{qb=ZTJ7Ts3RpE>$ftC);bH&}txxv+Hk0!ZXcLWFgZixQv_92LxHz*PPOF8! zbF_r;`f;2Xb+JAofjqJ5?E}EOWGQHMsz>;=j348xxeCS#fe{>bOi(lEbq8b<& z*exq!R`w8g_aDYbr1+P_6?vZ10^xrh4;TApKS=Ifl_J#C&+x9z-!X0laSAW-czF8} zt}f5Jf+T6oA2pSzbVJJ;-W^x_1^ zroFjqzU;!gPiA7Jo;6zGV%9ofvN95a+kNspdK*PZRWPv1X+aVU+f z!3S{zz|XVsw?>nnj%1A$D=Zzi8va1Td{T*c*~rN~9aj&CojPvS;Ca4Df}QLB<%>4J ze6nOY($NZ5*KBx?p#>hef=6}mk=)3n%nv7oI@Zol#jY_B=DQ~XHWB7K+sa5oo+v*= zeSS70`_MU+WX|(g355yI-wHY(< z^Fll)cF-WssBh=GeuF;I(b0tKpv@6?@Pn4)XBT!T-fvxmLloh%LXxsS)^9=N*bnSJZy zd`@~U%{qB!-1APcFgnoxe%rd-Zk0TJ1tj-mAa?K^VMEnxd$9s-YuxbdpI!P#Y&7=h z{chs_Uskd%v7$w5xH#ZT-QIXx1HP~uZ4{>xk+XbZKrguMTXKaE3h{*UdK|qwy7+H< z{Hug;)SJ9YP4PvWKmhQ2Z-ivA0lWl^MRwk6f9kZ{md;%zem#cib>nO+HJ#jiq(nDf zo+7rB_#hCLiJrdwVmafmOpz9HXl^X{6^VvxxNl0$h76kz7n{x%yT#kk>B5U0%6g(5 zV_Po$UL1(GPFyzYJfqS*^Xf*{?8|bE5rd8J2!tRBH59=kR55YQ9o%Ps3-Zc}u?37O za43?JmLBjy=_IG$#MJcZ1nbs~2&ieb8u7nA9)!7^W9=6r_dohK%lChdlI8CTf4&L);t@7Nl>}MiR13sdntPMO7yhRx4-}gjL!L)*mQiV! zNgHYdojs@HgCOSaWA?(+hqEmoACtAC6S(r2n9D0p+5B8Ozd1oFc^B(ftQ(jh)}z z%e@c$vbvvkvZTA0rWcBlxi@dH^0(mBiU53k@)>Rf3YdIpPF#}sHsm%nLsR(5>9G>G zvoB9>a8^-HcW|^U<&0da-$D$#2)@;^MTpP~b6t}E&?;pZw@t}rq&Mcrhi*>@w<63Tb-_veNo1|ju$ zLhXRKkUq;s+&-c3Kakjvm0d-6`5B7&~D z;l8anJIjMphU0yG`=Qtq@6P>+!c3edzj;7FS>gpuoj5ImGz4KfP|EGG4V#dWop@4LCSP^I*~hCw8r;o<8%bL{(=ikTbt<>xr3 zspw^pA981ltp}&3zGV9*3<^(ToSUm__N%=Y{VK+;DW7XTT*VoNb}jPvB~AW=Yi3q0 z!4KQCMA<&TEvS3(A^V~l-+IL9Ieq)D=aqaM!+p6plI~tW;`CJ|b18n4{P6uj3wJ&*dgjZ@Yf9Hy;>Jl#6-WaTHe&vd}=B zV}?N$NVl6zcs1pwJMR`gAUo;3eq2#e5%s;juC6Ze#zv`TiI6 z47W~{1myT!y^0d{OIp8f6 zOT?+8d)@vDp?B!Jpy${4AZc@@Nd`!%1$vZ#;PFj(zbk zk*+(1LkBD6mlr#)D0W5A>0y+?DR11Yy+9mgOAQ3+Pif6xB>XTa&a9O=UlrJTy{^6B zb6s7F@lut;5I}OF-X~ZEPihB>mGTd?*EKoKNH@RxezlHE#L}0taUaf*SK1$&Nkv6P z{w3eJKupaXC}}w-7wjHexfC3-GCZ7|qNdn=q2Xr8_8?(l;iwmdFt>2)_)Y3$sad9_ z+ROdsbX)@IS{9h9;vA5ej%dC`#z`xFnJ7yd7@L~H_6^k;aVL=;mvC2YheM#Q_QKwX zL}om7`~BsnY>DxpL^~Ll-#olcPoyR)Ha0@T4!=%5riN`NQ5$9KB4bia`5(?_K6nca z)~%aa+H2X{RBzk{^9^`k$P}3vqmSupGb{VjDfBR*;if=HuQfpDb44^v1q@GFF3fbc zj+aS7$#5CXy)mjtlD*V;L9S9W*>(J7w`c3BB06tkE}Yb2sW&`OO^JN*q96&FI4YL!~?iy(fNIDo1u>3IVSHt(MH5;+l1a5eoO1v4hsug{s&3E@GshiX*x;H zRD!yyL(fdqOK|u)?=G#PvgzLcPwxCr$erHgG1Vn|me6WSD;0ze&$f~o50fmz7ixUb zBqbiQO46v$-;KL_6rVY$J-3`XWZ2bEYCjvpv;uG4>7F{1+H$QdD7sd32ig=WpsHnN#El=#N7pv9Ol)GaxYOl#Hxa_MtDTI zzqV)VM(AvRH;s@;A}m`I18Ii&YUI&kCiSKtvb6Z)%~M?hAE2M1*)jSzD*DongP@FT zMVS^iVUs3Yzj_SzEcQ45NA!-eFc{Gp9o_I7=iy@lv67mbK#@hcUu~cu-n1iQ+~FA4 z(=`{NlY&hWjQ8W)Tg?Q*tu&+09Mlw!P=`gXD**XoY8#Qe(n5>r&bHIIN5K@5qjhjT6XwM4N;f!RwoKE_L+O2z$NGEh@T)ESsPVs&k7U z$e`vt2DGccq#-H6vzXV`yy1m1u^g;`{ihrrjqH_g-}Zt##7r>(T(8yD!m_duoK+Ut zSIG6q=5JSUY1Z|GpZjCslGWB5_L>4Y&sqsazaR1iA5Txx;Pcl{p>!gqf%Z+CUSzVr zAIqrswXvlUK58`9e4kqqJ9_j$8*>)xo;}dP=ydM5*xK5nV`dW=aV4mNp@>)Fd>l{F zABj}6aB^Zqk_IVKvbwScR6gANV;gEo9J$%q25K)#s^;*sIC`{%BTy2@FS#=?U=3W3 zW}pVe7v$rVv2k0gB{al|;!sO*0G&+H!ALvE=D&{4z;jUXQ>Ig-nkvusejgYO zdHwu$<8ZFCd>QSN@P7Egdl$4xn1+&C+o~GQKQHjC{!I1k2NCI(M?)+7dC;Syw6D`q zKBO*i6BpC?RRUjW`RLKeC!Y-o4(|0LFlhl`F8n_db#W#G&bRx0l9hN&fYn(Z=o#F4saO;&(PXX-OUj{15X;9%9o?RK-P%!aUXCiLfQjq83tDy zn;r$`lJ1R_7GiOTgD3(%W>Zr6gu!)}VQ7tTfltroDt8#tB#(<72|tHVDo4RnIvIyA z1bHB-$kvdspqhYeqyYx{eMq8n>S?j+IDB6JQTkzA$8NAo%hp3aceaw%?3pPt9)#7A z-i;EBv4N}J)NqO3AWLr9zL{Ut%*;&MAD{X<(8Q0-u2wmsyWp=#`bLt?b}qaa zLc%7W{YM{xLBXA5C#eo#VB6RtU&RFw*8X}}VYEZs4_5xxSE+7AuL15A2u>P~7KfaB zW$}sO{@m}Ph#(ld=$=2DOH@7G8H!6|306{!$ro&Qbo?RqLu4>X%03!*{?a839;^EL z^{0&xo$5#Tft z!tc%wzB(P)`=P(?T(tmvQo_0SX_mguFk?tdOFQO1s8&aU^=@K_&%cNzwUb_m+aPo# zGUYY?MwaGJ{c&41opQItak5OZ=86>_S?EBHcHMgUIazv8QxloYFswp6PHKD(HbHgV zNE)iXeA#jC)lSrK?2h5FZnb)g9O`g?qkwu7^4>3^M{Kzg?LNqkwWy^Hc%CRN3Zg!} z9C3K}$^QMyVD`HhW4an3+bBeA(+TosE(B#*6U}AGyYIGfH1o*`fND%Z<0O+9E3Ol} zvDyLF$(l+tQ|D>L!!NyUMGsb?4bFEo1n6B`py9VgMTdEnMWdcQ6Rk7(N;ILD0b+Fd z@^RrK=wf(ay!^LH0`IVryYTLSdQ<@ot`u0F`_-^~)8r^*5C3 zF6Jo{SD&>9QXXAKKY)AfhuPLmhaYa2WQ!ep9uspbo}Y9w+~U~B#pX!1uk4sX=-+`l z)xs+Y7!z}R6=MqhCkjne;stxD_TE$#H995%x>^oq4r;|GfS5hZ!W1Fr9LA$K*)AM~RU>)o<@Db=ddKF*X z%sa>L$)@+ek3&gsJCD3Fyo9y~&Yx_G!GHS`n%!h*pkoOLB1E#koLh&cKJK-3b=9gb z-C3J{?K%jk)c3AfPek%6FsL6>3sL)WD=SYy(OBSgR3^H49`P`lsNr_a_1}#s;d6lD zQPrvyq#z{ngZ>wFHWVB2C|c)7xy+%v{SgQ+9zn{MmUm- zIN3aQm~hYdyyQPuchw#@-4O$bd=+gh?lvDApc7RxH-FQkVpO?&p?^KSU(NO8-2WgO zm8MLq+P~QTPlexVZnf)4xAAXE-Tq-uB!jgny%;g8xHhex~iM zpD=0kRFMOj`EiGH<{zekDk@7KzgKiRr(hA@==`;~8|;%Mu_d4bX6HZ^Xb$H3X8!s0 zK1)`_-B47LJzj4e665VhQyv;*C*wG0mK{cn9ll>mJ)G1{2?d7ieIY2nl{VuG1*t-G z$5P+5=yEA6qLXd6ql=5BuP*c2yyTNCQ%OO&n{I{-i8^=m9+FM*YvDu1$7#uRJG=M7vllO_W@q*Lz)_cbdqQo$kgu2Vhg%M)w2J;k@ArFqS?=sVO(Qy;i0QSwu6HX1NUyY#5IXl%b( zVIJmY-WhnYHLF5OayDgUHg@9+`qI?0IhKF105psYGC|sqPmt85hOoKbz}`XQG@)y|(+2mcpXUaz zUU0ZtoS}1;2-gxmngmP>%Sn*m&767f8WoVrXEI!zdVArY+EZ4(lHua-u+%D){d08| z5ZI3#ph%8GZgOPYvnW%}TD!dNdY^Z#v*_=&PA(|!X>Qh0H>@zf>gxc=-rjz6WHH|< zq|$;+E^v0@m2vwpy;|?X*y%y}{S*16)>lqTp-hXD^ZB7f_YAwD znTFl&GPj*PeYtlqKYm!pWW(0%mE_;IK_EOyCN-@9RE?;(MR{au>M_^Bkq6AXg(GUG zFKIp5LvsIK^Y{RN!J`56biTD`N1f{R(=oTA(LBRSjeuXfzODMx>@iG0mOwdu=C`ZeD5vt2CLoh%XkVsV0C!pR3ZcahtsB8j_rjnzWmEHoZ z_xyrZS_N&3x4;&wE=*iWxL7DJc`17L;ua z1Z|UZk8@ID4rM%X=**HGI(J}+h__k#wwO2Fr1X9QEVx!l&tg5wJ!@+Bq1*mC^KR6f zB*R`qb!?`uIIWLM%WY76U+Q~=O~EH`;c8M4^|K*ae53li$fLGD-W;FIGJTtERAj)Q zpJiGppyvvH?#;rW$I{G1-?C>>;hb_9hUCI^)n;up&Lj#+ho&E-^tQP-cZW|B-++HxShObfC>`IGn zdS+%{&ErAc-txe}L&qF7>%ld~28^VFRO6u~i0K(7j+d^9vUNqqw%nL)yW;TQk*%=} zEVdWSfk3mEkB#|qMp2t;Hly3~Yek++P_xYnv0;M48vA&QOk(iUjw@fPiifrc4qZAr zQy;E6FgE0kBKb|96pG{vnFDw35x!w9$wl6I%nYM)`qN`ii8Z*8NemJs5S)9)DrgQ+ z?$#T(vUELrQPucO>xbK%sDjC%_hRBV0dbl7Q*<4joamJE<)i1^i>S9x-iVh6RewN1 z0r3t4y7s!=RDbf(zHLKL%iJk4U7qQ0iYqy1JWYR1sYz_dk`I`~^ezVl%7(aC{-0uG zf-tYBsEg#}8`au7ysRpD;7GlT!%FZ|N&WI*TRlqbp+R@2OxN9v^;q&Fx5*w8^62hS z{P#Uh$28ebhlcd6Hl3A{tKiZq!T!s*-*$=9D)=di@(=#4C@+8gbLY_{Sr1wX$YTfE zm5Ayy5i4Xf3`rNsVOTkKFZqu&_DWBB<+}Yh3X9P%fBV|P9P7V8t%`rl ziT)Q`uV%FmZ4(JU7bEzBc7|znInR|vbTpc0>|&%D1o=F^$_D?Y--jFC8S{TmYnJbL zP(JK@$^n-sfM`B*@awHTy5t`?#VLzrPa%vVt(-Hykkok^x0y=udJV`MXFNa^j?5&A z&v{DYDzXBTZQ20OlKn-9Y4LcJfH*uh2hrx%dB+47F~*YrnHh6>-+S+SfVouDbh}~ob?`Hz|495td%Mv zIu_qs?)&7Zb31<}gJ)9$WYo^8_5fG;PXpoz!c){rX75>A2-eE_34B79oJf?(!x;Al z*~yr>1m2a+DLScXbVhAA^8tOI(n5r;nVXJQRt(mpMW7~n{476|2$IKdZWjL_i*iEZ z0NRIGg^eH8`YZB+?`qmI4Qvh4k((SUTC_w^7Ihx9!({H-dJ8H6IqEqE+o@X{kX;9dZL)-q% zNMWB$*hT3bov^pDQC%%JuwgyMarpjC=tv8)Yz*<*DK(!Bp|GatoDkd-MnTM(oZ8vS z^=4*WTb41>I}Ww2zs(yc^&!5PYzZ0n^dy zI7Fh!X%r6P`Q0{4VDvk>W?E6^8uluor058c-an?w3qC&gipB)i+29Ku%<6|!kKB00 z{aeYo37rrPCZR*lqTlf0u%1m&RzF4@Ww{<>^~9^Rx0oj#LLXfG_lJGl8&O+9^=$Ls z;E8fvYHBM(xuJs3bn-5Br+e}Ij6**8pN@@1UPyu^%8xA;pAVAGF^EjGY5dh*cjzGY z2%hdD_f1GGgjSw}Z~n6S^Nx~-paEskOmv6)Gl*hX=f8WWO-gzRIBJiU@^Em-zFyGe z3ANRCf6IYc=qTa3C2Kcdp8Ip8s_Hg%SDv!u^?aKjdU|^Ht+_mAau&~8&$SWJlAZYe z3wDHtzi7PJOmqTxu~fOa041)P*l1aBig+a*-HfFJMaoW(FxA81CcT(l&-|asnG_T6 zMc8|j75BkOB6`*D&f}SpR;(Zyr3=lp`301_Nurb(wbs2FZ8K5dE#qY0bT~3aC%<3( zVT=1uraI5FgHvnl@$hG3Nv7WmL2pEakc8C9*F>4fW5CZMzLC4{5dVjRJ{618R!I;* zqdNIJJ1(e{6&2Y5-L!Q=Cbn81l^vq`J`3p^Ru%9~dLKNnlJ2d)hq(mb_P}h$x`0JL z#nt@v_`I0@z0MEUL}V8Kq#!>k7=BOl)N=SAH_eWn4_z(0R~=1VJE2J1!HGTR*PBt_ z2d=JE9xtG|#NBoLuh`=MLw&#P=VLOJ+lU~Vp7o$ILgNSuq9Y?KT3h#kGk!5z4$z2( zF9F8+4yS4-?-De%d=J{Lc%`Vc+nJYH^3WplcMLB$hOy#wB-+`)y}eZ>j_+nBggp#{ zO17*BZE=TF82c<2m_Pd&;?cv*}D}Tn$3x`X7^)W$#yK=Lb@cK~>bDq0jC)T9Wy~R)B(yU8>sXPQs zPph_m4`4q^*B8?3<9B!S{3rdgn|M>S8!NsLuR*x3p}6qDgPQ|`_8161Bt7TGO(3|U z{Mc6!wCUHSyjiiwwJD90@)x4r!bKTcm;o{VB*tE>AD1*A4TlP;l#;<=yy9#(d z^?!MJl18O5;qS3+5kxnNy@N01Pk>%DKo80xzR8UrrG1p5{BW z5p;s`AX?F2UEB&U4DGHfLm84w(T`0ze|=Vjbr&*(Y|CnzEsH&;=89V*ksCf-RWvpb z7X<->_9EC=oOsRRhgyocDlJ7xRnd_?ZN~_a zE4{T>Q`p>Auu?lmhiDDNqZ-$KcR&Al^xfGHDQV9PDZXFPZ~isc?Khz8XtNyfK>#ZJ z;IXOazP_oqbsM!~`~H)MR$Wb*v@&Qf`>>$qHs`&=Tlf2tj4(ywnJS135b6WV4~rE+N7 zTZ!HcqP;>79Aj#%?pbHRjmtUL`Q|YuJd7O|WmFo{U{OW(=>H>=vbLDD_LrgkP}5d43C zWs)!Hr(xi8|0J{1=m(9E9SRO1yh_fazSm%oH^tIms$t) z&*yiOIoNqkcl?8?{ksb6|9xjZxYosjjrMWae@1J^YY~M-bY!~d{R_$Mr;$|OmDX1K z{zdH`Lz5)J+JA4cK-pj3yWOO1dojC8Gu+Y8udOs}1CRIpJMT4{V5${DYR=52!vW=i z8rA$^AKy;QP1s|6@zuRcY95-VqpE*kj6(RinR{r6K+EC22!I+8*a--cFiSW`2ptP? z0MH3tzl%!_pQHp>wlb103xee2f-TJVSvYv-#Sl3wE_tS@c(+;}9Nh!wBwB5Mw#w3~ zU^_m!`g(LrkV&W-=?Lr=6cMSN^PojM;aSwqvp?XnfG&yFY12}NA;Z5ZvcDGIIGMFD zR+YVM`p1sKDlosWusy%{-t)Nr$b99!1dMe8bAzx4m6%AAo!6{Ux4_qe9}mE$#D_Qp z&^cSwQ&mL|knFnsoqathngUxu{2^%#Dh}XS$5S*zLaMZ}wME1W7Y!5=evl9{n`RXx z!acI$!+!|Nn1ji~GLAzUNJ zfv-uFHJm-rW@3BxhYE@S?s~>@4Ye{Q+1ZHenP{KU#@~?fX>1rB;=cpcY;b4hj|$fFK+?$D$%4G0h5!bFh#j*61w6vfPWf z0KGePqXU+{{x`)(halKS!IGregoc&-(EmxZVZ(8MzW*NeO_kvQrrkC%MuivNoAfD_ zJb4Y3D&eC&dq;|ed*^&g6BTRc%Vy|X3e~2yJgMjrM;ZW55p`jFxp{ptFvEb1aJ!7! zLYH{1eu@vKqB;7eEp-mFaVl-Il*7ynf$**Ijmh$}$hMlLD5NS&fmX?Y3n~p!pj=Sn zmW+%CkpmWwO<6Kd)U+A-4g_Y&0W7JDagwluk(-u5b#iiY@@XdtHC4E}5?bOK2izi` z9=ZS3bMIdbLlma|@m91Ii(;glPZs`hJ|v7|YAeT)@U8G%aV*#IOfwd4%L}ea`M_FO zD2(NUPV~b^oTWD%LG+9cfEn7vj+wBJR-zaXAAu^ZVFSQiFo*Wy9l_!QRn``H6&FyE zhBItDKd8lDHkt50!xZzyf1H`DycJ`!_}ZI^CZs>2>ri{Gn=am+F_w0$YG(08bto@6 zgaJzoBW$p`$uIROLsue>*V({tHS#!s%hc46XQ5}BL)QDh-TU~AxtEs#{f=w{M}5P? z=7-W+KXD0I?y)Psn|`TaH~MpGY{cO%5L6M@rDU?UMlM-vKlXL0te>|hOF*@FXWg-z zwXfRW z?L1<>gCbR}OK4o^Pc~4vS=y!T_*RtBD^Vj;`_E?aYY&AkUW#>E7@7@jIT{ri!z~;r zDDzj3i1H&(+rh}8>gD=Xt5<{Q7$y zvL+InniQ>H!b%Ogu;96V98{yDqdAIm)6)jq-7s9ll^f|qNF&|cnd1WC+Wag6qlYzK zX`d<`{)=l#=#GL@%1?sh1he!|k;0?wp~@!>t3_Rx`-4B(&+3luYk#3JS96{BnjGKG zEs|1F_MV=tiBZC?-Z^wZL({~- z;7iKIBu|ODx}1iW=aZUFon)H5F1Y7`9sW7LBv$e5!rcCKa&?~#v0&ZRoE~j0t-~VK z6V>Qcy#k#D%oo$-sP$PGwHC8 zPo6iCnwnV8h38{{!WEM&E#{94uMM3;Uz}}7>yhH{C-Cs?_UFvQ6g=0-zn-5A!5+#i zLG<**h(6X=$oik0dzF4jA?rcsyLUHX{^dVq=`+#g64cV%%(78<{H4Cq;Fg@7rD|~5 zjEahK^MiMACSuBYXK74FtgCBJ@#`?t#%nZQ(E$eltVxy^P4_54NXa)qwA>x6s^Hs) zq4O}C8sBtq%HQ2R7k2l$Mn-8EW#<-V)3TFVX4o+n{{a5 zfsgg!Bf;>)@eF+tnbTKRA89B2HX$xv!NF!{@rV$*`z{$9=LusBbdA{AX?*&vVFobr zl(c=BlJb%H1M*p!o4eh$OEmP3B12}l=t(4cn?BQsk$r_ySG7?pHZJQ3_sf?nrl=od z%zrtI9u7Yzv+nHCNGS}QQZLLmW9fFeQ~&w10r5&;#aj*8m{znz&2HN`b^~J?(TYlu zx4UxXr{6IT%!WL*UCon^UsOcLTg?61u6uu?YBppvVH3F`FDz-BVLU$7W6UZb<6mK_ z=j(s|7R4ZidB?S^IHQ!Fw^t-m(La7E_F~GDe#Q0jTLo6-91`zTPycG~J@fp<3r`R4 z2%kPKcJ}O^D}QZ0=`|bY;OXi4{!k@C5eFNas>V{Dt+yl;6f*F8GBbr8yx#knWy0fD zwnwkq4xG#=m74!+e77jZx12U9uEmDrT*~-Iiq*H#>Nk(A3tD=gte-srZ)Xe@Y3b}t z#XED@-1Kvi`WCPXCiKa)9xdO}(b18DG0W;|m{_t^#xyx6tGB)VN{kBtd)lwRZ9*MN zjpTBv?}y*8kcR%FtwW_NokblEMn&hsTl|Av932H0NUIpY9Dc#lGQqO`(#4Bmcs=4| zUuFEVZ~pe};a<%;sPzx@`c5byI##1O2T_*gzji5&Z6**jKOukcKj{L-uT2)pk88b-UW?$tu_*B+m!3e_VZOnEKp@bmzWzV(huLQ5@v&g(o-fnWc?U

G+>ZgSxk2P+cuG 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 diff --git a/windows/security/threat-protection/windows-defender-atp/images/atp-av-scan-action-center.png b/windows/security/threat-protection/windows-defender-atp/images/atp-av-scan-action-center.png index d980fc4ed99669e1bc2703e97a7897c6380fcb23..233b126c5b6018f3dec80ba94616ffb2d4e6d125 100644 GIT binary patch literal 22272 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 From 3cf64ce71d9424cd40e79ced1f404f267b190ad1 Mon Sep 17 00:00:00 2001 From: Joey Caparas Date: Mon, 5 Nov 2018 11:22:05 -0800 Subject: [PATCH 20/53] update images --- ...achine-alerts-windows-defender-advanced-threat-protection.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/threat-protection/windows-defender-atp/respond-machine-alerts-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/respond-machine-alerts-windows-defender-advanced-threat-protection.md index 0519af3f67..1d46a897c3 100644 --- a/windows/security/threat-protection/windows-defender-atp/respond-machine-alerts-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/respond-machine-alerts-windows-defender-advanced-threat-protection.md @@ -11,7 +11,7 @@ ms.pagetype: security ms.author: macapara author: mjcaparas ms.localizationpriority: medium -ms.date: 12/12/2017 +ms.date: 11/05/2018 --- # Take response actions on a machine From 4361b22ab444bf6a862c3a1d6732e44ad3160076 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Mon, 5 Nov 2018 20:04:10 +0000 Subject: [PATCH 21/53] Merged PR 12590: Adding section to FAQ Added a short section to the FAQ --- windows/deployment/windows-autopilot/autopilot-faq.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/windows/deployment/windows-autopilot/autopilot-faq.md b/windows/deployment/windows-autopilot/autopilot-faq.md index dfdc2fb014..46286ceb3f 100644 --- a/windows/deployment/windows-autopilot/autopilot-faq.md +++ b/windows/deployment/windows-autopilot/autopilot-faq.md @@ -9,7 +9,7 @@ ms.sitesec: library ms.pagetype: deploy author: greg-lindsay ms.author: greg-lindsay -ms.date: 10/31/2018 +ms.date: 11/05/2018 --- # Windows Autopilot FAQ @@ -65,6 +65,11 @@ A [glossary](#glossary) of abbreviations used in this topic is provided at the e | What is difference between OA3 Hardware Hash, 4K Hardware Hash, and Windows Autopilot Hardware Hash? | None. They’re different names for the same thing. The Windows 10, 1703 version of the OA3 tool output is called the OA3 Hash, which is 4K in size, which is usable for the Windows Autopilot deployment scenario. Note: When using a non-1703 version OA3Tool, you get a different sized Hash, which may not be used for Windows Autopilot deployment. | | What is the thought around parts replacement and/or repair for the NIC (network interface controller) and/or Disk? Will the Hardware Hash become invalid? | Yes. If you replace parts, you need to gather the new Hardware Hash, though it depends on what is replaced, and the characteristics of the parts. For example, if you replace the TPM or motherboard, it’s a new device – you MUST have new Hardware Hash. If you replace one network card, it’s probably not a new device, and the device will function with the old Hardware Hash. However, as a best practice, you should assume the old Hardware Hash is invalid and get a new Hardware Hash after any hardware changes – this is Microsoft’s strong recommendation any time you replace parts. | +## Motherboard replacement + +| Question | Answer | +| --- | --- | +| How does Autopilot handle motherboard replacement scenarios?” | Motherboard replacement is out for scope for Autopilot. Any device that is repaired or serviced in a way that alters the ability to identify the device for Windows Autopilot must go through the normal OOBE process, and manually select the right settings or apply a custom image - as is the case today.

To reuse the same device for Windows Autopilot after a motherboard replacement, the device would need to be de-registered from Autopilot, the motherboard replaced, a new 4K HH harvested, and then re-registered using the new 4K HH (or device ID).

**Note**: An OEM will not be able to use the OEM Direct API to re-register the device, since the the OEM Direct API only accepts a tuple or PKID. In this case, the OEM would either have to send the new 4K HH info via a CSV file to customer, and let customer reregister the device via MSfB or Intune.| ## SMBIOS From b964a9218ad4c44252c72ca525f92c7631a48f01 Mon Sep 17 00:00:00 2001 From: Beth Levin Date: Mon, 5 Nov 2018 13:45:27 -0800 Subject: [PATCH 22/53] update tests --- .../intelligence/top-scoring-industry-antivirus-tests.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/security/threat-protection/intelligence/top-scoring-industry-antivirus-tests.md b/windows/security/threat-protection/intelligence/top-scoring-industry-antivirus-tests.md index 5f2f3fbb28..7c2da5de58 100644 --- a/windows/security/threat-protection/intelligence/top-scoring-industry-antivirus-tests.md +++ b/windows/security/threat-protection/intelligence/top-scoring-industry-antivirus-tests.md @@ -52,9 +52,9 @@ Windows Defender Antivirus achieved an overall Protection score of 6.0/6.0, with AV-Comparatives is an independent organization offering systematic testing for security software such as PC/Mac-based antivirus products and mobile security solutions. -### Real-World Protection Test July (Consumer): [Protection Rate 100%](https://www.av-comparatives.org/tests/real-world-protection-test-july-2018-factsheet/) **Latest** +### Malware Protection Test August 2018 (Enterprise): [Protection Rate 99.9%](https://www.av-comparatives.org/tests/malware-protection-test-enterprise-august-2018-testresult/) **Latest** -The results are based on testing against 186 malicious URLs that have working exploits or point directly to malware. +The results are based on testing against 1,556 malware samples. ### Real-World Protection Test March - June (Enterprise): [Protection Rate 98.7%](https://www.av-comparatives.org/tests/real-world-protection-test-enterprise-march-june-2018-testresult/) From ec3956166b5ae63c66b8b3272fba50f48d097699 Mon Sep 17 00:00:00 2001 From: Beth Levin Date: Mon, 5 Nov 2018 16:24:50 -0800 Subject: [PATCH 23/53] test update --- .../top-scoring-industry-antivirus-tests.md | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/windows/security/threat-protection/intelligence/top-scoring-industry-antivirus-tests.md b/windows/security/threat-protection/intelligence/top-scoring-industry-antivirus-tests.md index 7c2da5de58..ae2f14ed2d 100644 --- a/windows/security/threat-protection/intelligence/top-scoring-industry-antivirus-tests.md +++ b/windows/security/threat-protection/intelligence/top-scoring-industry-antivirus-tests.md @@ -48,21 +48,26 @@ Windows Defender Antivirus achieved an overall Protection score of 6.0/6.0, with ![AV-Comparatives Logo](./images/av-comparatives-logo-3.png) -## AV-Comparatives: Perfect protection rating of 100% in the latest test +## AV-Comparatives: Protection rating of 99.8% in the latest test AV-Comparatives is an independent organization offering systematic testing for security software such as PC/Mac-based antivirus products and mobile security solutions. -### Malware Protection Test August 2018 (Enterprise): [Protection Rate 99.9%](https://www.av-comparatives.org/tests/malware-protection-test-enterprise-august-2018-testresult/) **Latest** +### Real-World Protection Test August - September (Enterprise): [Protection Rate 99.8%](https://www.av-comparatives.org/tests/real-world-protection-test-enterprise-august-september-2018-testresult/) **Latest** -The results are based on testing against 1,556 malware samples. +This test, as defined by AV-Comparatives, attempts to assess the effectiveness of each security program to protect a computer against active malware threats while online. +The test set contained 599 test cases (such as malicious URLs). + +### Malware Protection Test August 2018 (Enterprise): [Protection Rate 99.9%](https://www.av-comparatives.org/tests/malware-protection-test-enterprise-august-2018-testresult/) + +This test, as defined by AV-Comparatives, attempts to assesses a security program’s ability to protect a system against infection by malicious files before, during or after execution. The results are based on testing against 1,556 malware samples. ### Real-World Protection Test March - June (Enterprise): [Protection Rate 98.7%](https://www.av-comparatives.org/tests/real-world-protection-test-enterprise-march-june-2018-testresult/) -This test, as defined by AV-Comparatives, attempts to assess the effectiveness of each security program to protect a computer against active malware threats while online. +The test set contained 1,163 test cases (such as malicious URLs). ### Malware Protection Test March 2018 (Enterprise): [Protection Rate 99.9%](https://www.av-comparatives.org/tests/malware-protection-test-enterprise-march-2018-testresult/) -This test, as defined by AV-Comparatives, attempts to assesses a security program’s ability to protect a system against infection by malicious files before, during or after execution. +For this test, 1,470 recent malware samples were used. [Historical AV-Comparatives Microsoft tests](https://www.av-comparatives.org/vendors/microsoft/)

From 0c50be35937a7c921b02043c111b259ac526e0fc Mon Sep 17 00:00:00 2001 From: Beth Levin Date: Tue, 6 Nov 2018 09:21:57 -0800 Subject: [PATCH 24/53] updated scores --- .../intelligence/top-scoring-industry-antivirus-tests.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/windows/security/threat-protection/intelligence/top-scoring-industry-antivirus-tests.md b/windows/security/threat-protection/intelligence/top-scoring-industry-antivirus-tests.md index ae2f14ed2d..fc048a0f42 100644 --- a/windows/security/threat-protection/intelligence/top-scoring-industry-antivirus-tests.md +++ b/windows/security/threat-protection/intelligence/top-scoring-industry-antivirus-tests.md @@ -29,9 +29,13 @@ In the real world, millions of devices are protected from cyberattacks every day The AV-TEST Product Review and Certification Report tests on three categories: protection, performance, and usability. The scores listed below are for the Protection category which has two scores: Real-World Testing and the AV-TEST reference set (known as "Prevalent Malware"). -### May-June 2018 AV-TEST Business User test: [Protection score 6.0/6.0](https://www.av-test.org/en/antivirus/business-windows-client/windows-10/june-2018/microsoft-windows-defender-antivirus-4.12-182374/) | [Analysis](https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RE2v60I?ocid=cx-docs-avreports) **Latest** +### July-August 2018 AV-TEST Business User test: [Protection score 6.0/6.0](https://www.av-test.org/en/antivirus/business-windows-client/windows-10/august-2018/microsoft-windows-defender-antivirus-4.12--4.18-183212/) | [Analysis](https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RE2IL3Y) **Latest** - Windows Defender Antivirus achieved an overall Protection score of 6.0/6.0, detecting 100% of 5,790 malware samples. With the latest results, Windows Defender Antivirus has achieved 100% on 10 of the 12 most recent antivirus tests (combined "Real-World" and "Prevalent malware"). + Windows Defender Antivirus achieved an overall Protection score of 6.0/6.0, detecting 100% of 20,022 malware samples. With the latest results, Windows Defender Antivirus has achieved 100% on 9 of the 12 most recent antivirus tests (combined "Real-World" and "Prevalent malware"). + +### May-June 2018 AV-TEST Business User test: [Protection score 6.0/6.0](https://www.av-test.org/en/antivirus/business-windows-client/windows-10/june-2018/microsoft-windows-defender-antivirus-4.12-182374/) | [Analysis](https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RE2v60I?ocid=cx-docs-avreports) + + Windows Defender Antivirus achieved an overall Protection score of 6.0/6.0, detecting 100% of 5,790 malware samples. ### March-April 2018 AV-TEST Business User test: [Protection score 5.5/6.0](https://www.av-test.org/en/antivirus/business-windows-client/windows-10/april-2018/microsoft-windows-defender-antivirus-4.12-181574/) | [Analysis](https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RE2ouJA?ocid=cx-docs-avreports) From 43a92b05433c5a3558e1ef555f31aeab3e5c3c87 Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Tue, 6 Nov 2018 09:44:03 -0800 Subject: [PATCH 25/53] links --- .../bitlocker-device-encryption-overview-windows-10.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/windows/security/information-protection/bitlocker/bitlocker-device-encryption-overview-windows-10.md b/windows/security/information-protection/bitlocker/bitlocker-device-encryption-overview-windows-10.md index 29580800e7..d536281716 100644 --- a/windows/security/information-protection/bitlocker/bitlocker-device-encryption-overview-windows-10.md +++ b/windows/security/information-protection/bitlocker/bitlocker-device-encryption-overview-windows-10.md @@ -6,7 +6,7 @@ ms.mktglfcycl: deploy ms.sitesec: library ms.pagetype: security author: Justinha -ms.date: 10/27/2017 +ms.date: 11/06/2018 --- # Overview of BitLocker Device Encryption in Windows 10 @@ -14,7 +14,7 @@ ms.date: 10/27/2017 **Applies to** - Windows 10 -This topic explains how BitLocker Device Encryption can help protect data on devices running Windows 10. +This topic explains how BitLocker Device Encryption can help protect data on devices running Windows 10. For an architectural overview about how BitLocker Device Encryption works with Secure Boot, see [Secure boot and BitLocker Device Encryption overview](https://docs.microsoft.com/windows-hardware/drivers/bringup/secure-boot-and-device-encryption-overview). For a general overview and list of topics about BitLocker, see [BitLocker](bitlocker-overview.md). @@ -84,13 +84,13 @@ Exercise caution when encrypting only used space on an existing volume on which SEDs have been available for years, but Microsoft couldn’t support their use with some earlier versions of Windows because the drives lacked important key management features. Microsoft worked with storage vendors to improve the hardware capabilities, and now BitLocker supports the next generation of SEDs, which are called encrypted hard drives. Encrypted hard drives provide onboard cryptographic capabilities to encrypt data on drives, which improves both drive and system performance by offloading cryptographic calculations from the PC’s processor to the drive itself and rapidly encrypting the drive by using dedicated, purpose-built hardware. If you plan to use whole-drive encryption with Windows 10, Microsoft recommends that you investigate hard drive manufacturers and models to determine whether any of their encrypted hard drives meet your security and budget requirements. -For more information about encrypted hard drives, see [Encrypted Hard Drive](/windows/security/hardware-protection/encrypted-hard-drive.md). +For more information about encrypted hard drives, see [Encrypted Hard Drive](../encrypted-hard-drive.md). ## Preboot information protection An effective implementation of information protection, like most security controls, considers usability as well as security. Users typically prefer a simple security experience. In fact, the more transparent a security solution becomes, the more likely users are to conform to it. It is crucial that organizations protect information on their PCs regardless of the state of the computer or the intent of users. This protection should not be cumbersome to users. One undesirable and previously commonplace situation is when the user is prompted for input during preboot, and then again during Windows logon. Challenging users for input more than once should be avoided. -Windows 10 can enable a true SSO experience from the preboot environment on modern devices and in some cases even on older devices when robust information protection configurations are in place. The TPM in isolation is able to securely protect the BitLocker encryption key while it is at rest, and it can securely unlock the operating system drive. When the key is in use and thus in memory, a combination of hardware and Windows capabilities can secure the key and prevent unauthorized access through cold-boot attacks. Although other countermeasures like PIN-based unlock are available, they are not as user-friendly; depending on the devices’ configuration they may not offer additional security when it comes to key protection. For more information, see [BitLocker Countermeasures](bitlocker-countermeasures.md) and [Choose the right BitLocker countermeasure](choose-the-right-bitlocker-countermeasure.md). +Windows 10 can enable a true SSO experience from the preboot environment on modern devices and in some cases even on older devices when robust information protection configurations are in place. The TPM in isolation is able to securely protect the BitLocker encryption key while it is at rest, and it can securely unlock the operating system drive. When the key is in use and thus in memory, a combination of hardware and Windows capabilities can secure the key and prevent unauthorized access through cold-boot attacks. Although other countermeasures like PIN-based unlock are available, they are not as user-friendly; depending on the devices’ configuration they may not offer additional security when it comes to key protection. For more information, see [BitLocker Countermeasures](bitlocker-countermeasures.md). ## Manage passwords and PINs From 14a9647633a2780bb312a2d7ca0f4d7e4e75a91c Mon Sep 17 00:00:00 2001 From: Beth Levin Date: Tue, 6 Nov 2018 10:27:24 -0800 Subject: [PATCH 26/53] updated graphs --- .../images/PrevalentMalware-67-percent.png | Bin 13949 -> 0 bytes .../images/PrevalentMalware0818.png | Bin 9705 -> 0 bytes .../intelligence/images/PrevalentMalware1.png | Bin 0 -> 23173 bytes .../images/RealWorld-67-percent.png | Bin 14050 -> 0 bytes .../intelligence/images/RealWorld0818.png | Bin 10556 -> 0 bytes .../intelligence/images/RealWorld1.png | Bin 0 -> 24104 bytes .../top-scoring-industry-antivirus-tests.md | 2 +- 7 files changed, 1 insertion(+), 1 deletion(-) delete mode 100644 windows/security/threat-protection/intelligence/images/PrevalentMalware-67-percent.png delete mode 100644 windows/security/threat-protection/intelligence/images/PrevalentMalware0818.png create mode 100644 windows/security/threat-protection/intelligence/images/PrevalentMalware1.png delete mode 100644 windows/security/threat-protection/intelligence/images/RealWorld-67-percent.png delete mode 100644 windows/security/threat-protection/intelligence/images/RealWorld0818.png create mode 100644 windows/security/threat-protection/intelligence/images/RealWorld1.png diff --git a/windows/security/threat-protection/intelligence/images/PrevalentMalware-67-percent.png b/windows/security/threat-protection/intelligence/images/PrevalentMalware-67-percent.png deleted file mode 100644 index 8e2221a40bd8e512117566a05dca9780c6580df6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13949 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

|71gQhwUr-9f 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 literal 0 HcmV?d00001 diff --git a/windows/security/threat-protection/intelligence/images/RealWorld-67-percent.png b/windows/security/threat-protection/intelligence/images/RealWorld-67-percent.png deleted file mode 100644 index 9e011c0e6abe759d6394bf040b575a1b8274f1b4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14050 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
![AV-Comparatives Logo](./images/av-comparatives-logo-3.png) From 3b8b739a0f36bd2b4a2870e2fc851aba40e43dd5 Mon Sep 17 00:00:00 2001 From: Andrea Bichsel <35236577+andreabichsel@users.noreply.github.com> Date: Tue, 6 Nov 2018 10:52:52 -0800 Subject: [PATCH 27/53] Changed procedures in three asr topics. --- .../attack-surface-reduction-exploit-guard.md | 4 +--- .../controlled-folders-exploit-guard.md | 10 +++++++--- .../network-protection-exploit-guard.md | 9 ++++++--- 3 files changed, 14 insertions(+), 9 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-exploit-guard/attack-surface-reduction-exploit-guard.md b/windows/security/threat-protection/windows-defender-exploit-guard/attack-surface-reduction-exploit-guard.md index 5b78a213a9..e577fe1f8c 100644 --- a/windows/security/threat-protection/windows-defender-exploit-guard/attack-surface-reduction-exploit-guard.md +++ b/windows/security/threat-protection/windows-defender-exploit-guard/attack-surface-reduction-exploit-guard.md @@ -183,9 +183,7 @@ You can review the Windows event log to see events that are created when an atta 2. Type **Event viewer** in the Start menu to open the Windows Event Viewer. 3. On the left panel, under **Actions**, click **Import custom view...** - - ![Animation showing the import custom view on the Event viewer window](images/events-import.gif) - + 4. Navigate to the Exploit Guard Evaluation Package, and select the file *asr-events.xml*. Alternatively, [copy the XML directly](event-views-exploit-guard.md). 5. Click **OK**. diff --git a/windows/security/threat-protection/windows-defender-exploit-guard/controlled-folders-exploit-guard.md b/windows/security/threat-protection/windows-defender-exploit-guard/controlled-folders-exploit-guard.md index fb5b4091c5..c3e230964e 100644 --- a/windows/security/threat-protection/windows-defender-exploit-guard/controlled-folders-exploit-guard.md +++ b/windows/security/threat-protection/windows-defender-exploit-guard/controlled-folders-exploit-guard.md @@ -38,6 +38,12 @@ You can use [audit mode](audit-windows-defender-exploit-guard.md) to evaluate ho Controlled folder access requires enabling [Windows Defender Antivirus real-time protection](../windows-defender-antivirus/configure-real-time-protection-windows-defender-antivirus.md). +## Review controlled folder access events in the Windows Defender ATP Security Center + +Windows Defender ATP provides detailed reporting into events and blocks as part of its [alert investigation scenarios](../windows-defender-atp/investigate-alerts-windows-defender-advanced-threat-protection.md). + +You can query Windows Defender ATP data by using [Advanced hunting](https://docs.microsoft.com/en-us/windows/security/threat-protection/windows-defender-atp/advanced-hunting-windows-defender-advanced-threat-protection). If you're using [audit mode](audit-windows-defender-exploit-guard.md), you can use Advanced hunting to see how controlled folder access settings would affect your environment if they were enabled. + ## Review controlled folder access events in Windows Event Viewer You can review the Windows event log to see events that are created when controlled folder access blocks (or audits) an app: @@ -47,9 +53,7 @@ You can review the Windows event log to see events that are created when control 2. Type **Event viewer** in the Start menu to open the Windows Event Viewer. 3. On the left panel, under **Actions**, click **Import custom view...**. - - ![Animation showing the import custom view on the Event viewer window](images/events-import.gif) - + 4. Navigate to where you extracted *cfa-events.xml* and select it. Alternatively, [copy the XML directly](event-views-exploit-guard.md). 4. Click **OK**. diff --git a/windows/security/threat-protection/windows-defender-exploit-guard/network-protection-exploit-guard.md b/windows/security/threat-protection/windows-defender-exploit-guard/network-protection-exploit-guard.md index 934d1154de..639057a7b2 100644 --- a/windows/security/threat-protection/windows-defender-exploit-guard/network-protection-exploit-guard.md +++ b/windows/security/threat-protection/windows-defender-exploit-guard/network-protection-exploit-guard.md @@ -41,6 +41,11 @@ Windows 10 version | Windows Defender Antivirus - | - Windows 10 version 1709 or later | [Windows Defender AV real-time protection](../windows-defender-antivirus/configure-real-time-protection-windows-defender-antivirus.md) and [cloud-delivered protection](../windows-defender-antivirus/enable-cloud-protection-windows-defender-antivirus.md) must be enabled +## Review network protection events in the Windows Defender ATP Security Center + +Windows Defender ATP provides detailed reporting into events and blocks as part of its [alert investigation scenarios](../windows-defender-atp/investigate-alerts-windows-defender-advanced-threat-protection.md). + +You can query Windows Defender ATP data by using [Advanced hunting](https://docs.microsoft.com/en-us/windows/security/threat-protection/windows-defender-atp/advanced-hunting-windows-defender-advanced-threat-protection). If you're using [audit mode](audit-windows-defender-exploit-guard.md), you can use Advanced hunting to see how network protection settings would affect your environment if they were enabled. ## Review network protection events in Windows Event Viewer @@ -51,9 +56,7 @@ You can review the Windows event log to see events that are created when network 1. Type **Event viewer** in the Start menu to open the Windows Event Viewer. 2. On the left panel, under **Actions**, click **Import custom view...** - - ![Antimation of the import custom view option](images/events-import.gif) - + 3. Navigate to the Exploit Guard Evaluation Package, and select the file *np-events.xml*. Alternatively, [copy the XML directly](event-views-exploit-guard.md). 4. Click **OK**. From edcdd4edfc77ae91064dbb19cd06c9ad2c461126 Mon Sep 17 00:00:00 2001 From: Beth Levin Date: Tue, 6 Nov 2018 11:12:17 -0800 Subject: [PATCH 28/53] updated scores --- .../intelligence/top-scoring-industry-antivirus-tests.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/threat-protection/intelligence/top-scoring-industry-antivirus-tests.md b/windows/security/threat-protection/intelligence/top-scoring-industry-antivirus-tests.md index 3377c08bfd..55c9c930a5 100644 --- a/windows/security/threat-protection/intelligence/top-scoring-industry-antivirus-tests.md +++ b/windows/security/threat-protection/intelligence/top-scoring-industry-antivirus-tests.md @@ -31,7 +31,7 @@ The AV-TEST Product Review and Certification Report tests on three categories: p ### July-August 2018 AV-TEST Business User test: [Protection score 6.0/6.0](https://www.av-test.org/en/antivirus/business-windows-client/windows-10/august-2018/microsoft-windows-defender-antivirus-4.12--4.18-183212/) | [Analysis](https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RE2IL3Y) **Latest** - Windows Defender Antivirus achieved an overall Protection score of 6.0/6.0, detecting 100% of 20,022 malware samples. With the latest results, Windows Defender Antivirus has achieved 100% on 9 of the 12 most recent antivirus tests (combined "Real-World" and "Prevalent malware"). + Windows Defender Antivirus achieved an overall Protection score of 6.0/6.0, detecting 100% of 20,022 malware samples. With the latest results, Windows Defender Antivirus has achieved 100% on 14 of the 16 most recent antivirus tests (combined "Real-World" and "Prevalent malware"). ### May-June 2018 AV-TEST Business User test: [Protection score 6.0/6.0](https://www.av-test.org/en/antivirus/business-windows-client/windows-10/june-2018/microsoft-windows-defender-antivirus-4.12-182374/) | [Analysis](https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RE2v60I?ocid=cx-docs-avreports) From f37cfe5b44da19e7687c5ef4194eab30c2cae443 Mon Sep 17 00:00:00 2001 From: Beth Levin Date: Tue, 6 Nov 2018 11:14:03 -0800 Subject: [PATCH 29/53] updated scores --- .../intelligence/top-scoring-industry-antivirus-tests.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/threat-protection/intelligence/top-scoring-industry-antivirus-tests.md b/windows/security/threat-protection/intelligence/top-scoring-industry-antivirus-tests.md index 55c9c930a5..58e315b9d0 100644 --- a/windows/security/threat-protection/intelligence/top-scoring-industry-antivirus-tests.md +++ b/windows/security/threat-protection/intelligence/top-scoring-industry-antivirus-tests.md @@ -31,7 +31,7 @@ The AV-TEST Product Review and Certification Report tests on three categories: p ### July-August 2018 AV-TEST Business User test: [Protection score 6.0/6.0](https://www.av-test.org/en/antivirus/business-windows-client/windows-10/august-2018/microsoft-windows-defender-antivirus-4.12--4.18-183212/) | [Analysis](https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RE2IL3Y) **Latest** - Windows Defender Antivirus achieved an overall Protection score of 6.0/6.0, detecting 100% of 20,022 malware samples. With the latest results, Windows Defender Antivirus has achieved 100% on 14 of the 16 most recent antivirus tests (combined "Real-World" and "Prevalent malware"). + Windows Defender Antivirus achieved an overall Protection score of 6.0/6.0, detecting 100% of 20,022 malware samples. With the latest results, Windows Defender Antivirus has achieved 100% on 11 of the 12 most recent antivirus tests (combined "Real-World" and "Prevalent malware"). ### May-June 2018 AV-TEST Business User test: [Protection score 6.0/6.0](https://www.av-test.org/en/antivirus/business-windows-client/windows-10/june-2018/microsoft-windows-defender-antivirus-4.12-182374/) | [Analysis](https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RE2v60I?ocid=cx-docs-avreports) From 1b87fca48c2174e365378bfc5e13d735c91e516b Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Tue, 6 Nov 2018 11:24:01 -0800 Subject: [PATCH 30/53] added link to ATP --- .../threat-protection/change-history-for-threat-protection.md | 2 +- windows/security/threat-protection/index.md | 2 +- .../threat-protection/intelligence/understanding-malware.md | 2 +- .../collect-diagnostic-data-update-compliance.md | 2 +- .../command-line-arguments-windows-defender-antivirus.md | 2 +- ...iguration-management-reference-windows-defender-antivirus.md | 2 +- .../configure-advanced-scan-types-windows-defender-antivirus.md | 2 +- ...configure-block-at-first-sight-windows-defender-antivirus.md | 2 +- ...ure-cloud-block-timeout-period-windows-defender-antivirus.md | 2 +- ...configure-end-user-interaction-windows-defender-antivirus.md | 2 +- .../configure-exclusions-windows-defender-antivirus.md | 2 +- ...gure-extension-file-exclusions-windows-defender-antivirus.md | 2 +- ...nfigure-local-policy-overrides-windows-defender-antivirus.md | 2 +- .../configure-network-connections-windows-defender-antivirus.md | 2 +- .../configure-notifications-windows-defender-antivirus.md | 2 +- ...process-opened-file-exclusions-windows-defender-antivirus.md | 2 +- .../configure-protection-features-windows-defender-antivirus.md | 2 +- ...configure-real-time-protection-windows-defender-antivirus.md | 2 +- .../configure-remediation-windows-defender-antivirus.md | 2 +- .../configure-server-exclusions-windows-defender-antivirus.md | 2 +- .../configure-windows-defender-antivirus-features.md | 2 +- ...ize-run-review-remediate-scans-windows-defender-antivirus.md | 2 +- .../deploy-manage-report-windows-defender-antivirus.md | 2 +- .../deploy-windows-defender-antivirus.md | 2 +- .../deployment-vdi-windows-defender-antivirus.md | 2 +- ...lock-potentially-unwanted-apps-windows-defender-antivirus.md | 2 +- .../enable-cloud-protection-windows-defender-antivirus.md | 2 +- .../evaluate-windows-defender-antivirus.md | 2 +- .../limited-periodic-scanning-windows-defender-antivirus.md | 2 +- .../manage-event-based-updates-windows-defender-antivirus.md | 2 +- .../manage-outdated-endpoints-windows-defender-antivirus.md | 2 +- ...age-protection-update-schedule-windows-defender-antivirus.md | 2 +- .../manage-protection-updates-windows-defender-antivirus.md | 2 +- .../manage-updates-baselines-windows-defender-antivirus.md | 2 +- ...age-updates-mobile-devices-vms-windows-defender-antivirus.md | 2 +- .../prevent-end-user-interaction-windows-defender-antivirus.md | 2 +- .../report-monitor-windows-defender-antivirus.md | 2 +- .../restore-quarantined-files-windows-defender-antivirus.md | 2 +- .../review-scan-results-windows-defender-antivirus.md | 2 +- .../run-scan-windows-defender-antivirus.md | 2 +- .../scheduled-catch-up-scans-windows-defender-antivirus.md | 2 +- ...specify-cloud-protection-level-windows-defender-antivirus.md | 2 +- .../windows-defender-antivirus/troubleshoot-reporting.md | 2 +- .../troubleshoot-windows-defender-antivirus.md | 2 +- .../use-group-policy-windows-defender-antivirus.md | 2 +- .../use-intune-config-manager-windows-defender-antivirus.md | 2 +- .../use-powershell-cmdlets-windows-defender-antivirus.md | 2 +- .../use-wmi-windows-defender-antivirus.md | 2 +- ...ize-microsoft-cloud-protection-windows-defender-antivirus.md | 2 +- .../windows-defender-antivirus-compatibility.md | 2 +- .../windows-defender-antivirus-in-windows-10.md | 2 +- .../windows-defender-antivirus-on-windows-server-2016.md | 2 +- .../windows-defender-antivirus/windows-defender-offline.md | 2 +- .../windows-defender-security-center-antivirus.md | 2 +- .../configure-wd-app-guard.md | 2 +- .../windows-defender-application-guard/faq-wd-app-guard.md | 2 +- .../windows-defender-application-guard/install-wd-app-guard.md | 2 +- .../windows-defender-application-guard/reqs-wd-app-guard.md | 2 +- .../test-scenarios-wd-app-guard.md | 2 +- .../windows-defender-application-guard/wd-app-guard-overview.md | 2 +- ...nced-features-windows-defender-advanced-threat-protection.md | 2 +- ...est-practices-windows-defender-advanced-threat-protection.md | 2 +- ...ing-reference-windows-defender-advanced-threat-protection.md | 2 +- .../alerts-queue-windows-defender-advanced-threat-protection.md | 2 +- ...ortal-mapping-windows-defender-advanced-threat-protection.md | 2 +- ...portal-access-windows-defender-advanced-threat-protection.md | 2 +- ...k-simulations-windows-defender-advanced-threat-protection.md | 2 +- ...c-permissions-windows-defender-advanced-threat-protection.md | 2 +- .../block-file-windows-defender-advanced-threat-protection.md | 2 +- ...sensor-status-windows-defender-advanced-threat-protection.md | 2 +- ...ation-package-windows-defender-advanced-threat-protection.md | 2 +- .../community-windows-defender-advanced-threat-protection.md | 2 +- ...tional-access-windows-defender-advanced-threat-protection.md | 2 +- ...gure-arcsight-windows-defender-advanced-threat-protection.md | 2 +- ...tional-access-windows-defender-advanced-threat-protection.md | 2 +- ...notifications-windows-defender-advanced-threat-protection.md | 2 +- ...-endpoints-gp-windows-defender-advanced-threat-protection.md | 2 +- ...endpoints-mdm-windows-defender-advanced-threat-protection.md | 2 +- ...s-non-windows-windows-defender-advanced-threat-protection.md | 2 +- ...ndpoints-sccm-windows-defender-advanced-threat-protection.md | 2 +- ...points-script-windows-defender-advanced-threat-protection.md | 2 +- ...ure-endpoints-windows-defender-advanced-threat-protection.md | 2 +- ...-mssp-support-windows-defender-advanced-threat-protection.md | 2 +- ...roxy-internet-windows-defender-advanced-threat-protection.md | 2 +- ...ver-endpoints-windows-defender-advanced-threat-protection.md | 2 +- ...onfigure-siem-windows-defender-advanced-threat-protection.md | 2 +- ...figure-splunk-windows-defender-advanced-threat-protection.md | 2 +- .../windows-defender-atp/custom-detection-rules.md | 2 +- ...custom-ti-api-windows-defender-advanced-threat-protection.md | 2 +- ...tion-settings-windows-defender-advanced-threat-protection.md | 2 +- ...orage-privacy-windows-defender-advanced-threat-protection.md | 2 +- ...compatibility-windows-defender-advanced-threat-protection.md | 2 +- ...ble-custom-ti-windows-defender-advanced-threat-protection.md | 2 +- ...-secure-score-windows-defender-advanced-threat-protection.md | 2 +- ...m-integration-windows-defender-advanced-threat-protection.md | 2 +- .../threat-protection/windows-defender-atp/evaluate-atp.md | 2 +- ...t-error-codes-windows-defender-advanced-threat-protection.md | 2 +- ...ent-custom-ti-windows-defender-advanced-threat-protection.md | 2 +- .../exposed-apis-windows-defender-advanced-threat-protection.md | 2 +- ...ne-info-by-ip-windows-defender-advanced-threat-protection.md | 2 +- ...alhty-sensors-windows-defender-advanced-threat-protection.md | 2 +- ...r-information-windows-defender-advanced-threat-protection.md | 2 +- ...elated-alerts-windows-defender-advanced-threat-protection.md | 2 +- ...rt-info-by-id-windows-defender-advanced-threat-protection.md | 2 +- ...ed-actor-info-windows-defender-advanced-threat-protection.md | 2 +- ...d-domain-info-windows-defender-advanced-threat-protection.md | 2 +- ...ed-files-info-windows-defender-advanced-threat-protection.md | 2 +- ...lated-ip-info-windows-defender-advanced-threat-protection.md | 2 +- ...-machine-info-windows-defender-advanced-threat-protection.md | 2 +- ...ted-user-info-windows-defender-advanced-threat-protection.md | 2 +- .../get-alerts-windows-defender-advanced-threat-protection.md | 2 +- ...ap-collection-windows-defender-advanced-threat-protection.md | 2 +- ...elated-alerts-windows-defender-advanced-threat-protection.md | 2 +- ...ated-machines-windows-defender-advanced-threat-protection.md | 2 +- ...in-statistics-windows-defender-advanced-threat-protection.md | 2 +- ...e-information-windows-defender-advanced-threat-protection.md | 2 +- ...elated-alerts-windows-defender-advanced-threat-protection.md | 2 +- ...ated-machines-windows-defender-advanced-threat-protection.md | 2 +- ...le-statistics-windows-defender-advanced-threat-protection.md | 2 +- ...ns-collection-windows-defender-advanced-threat-protection.md | 2 +- ...action-object-windows-defender-advanced-threat-protection.md | 2 +- ...ns-collection-windows-defender-advanced-threat-protection.md | 2 +- ...elated-alerts-windows-defender-advanced-threat-protection.md | 2 +- ...ip-statistics-windows-defender-advanced-threat-protection.md | 2 +- ...fo-collection-windows-defender-advanced-threat-protection.md | 2 +- ...machine-by-id-windows-defender-advanced-threat-protection.md | 2 +- ...-log-on-users-windows-defender-advanced-threat-protection.md | 2 +- ...elated-alerts-windows-defender-advanced-threat-protection.md | 2 +- ...action-object-windows-defender-advanced-threat-protection.md | 2 +- ...ns-collection-windows-defender-advanced-threat-protection.md | 2 +- ...ps-collection-windows-defender-advanced-threat-protection.md | 2 +- .../get-machines-windows-defender-advanced-threat-protection.md | 2 +- ...es-collection-windows-defender-advanced-threat-protection.md | 2 +- ...ckage-sas-uri-windows-defender-advanced-threat-protection.md | 2 +- .../threat-protection/windows-defender-atp/get-started.md | 2 +- ...r-information-windows-defender-advanced-threat-protection.md | 2 +- ...elated-alerts-windows-defender-advanced-threat-protection.md | 2 +- ...ated-machines-windows-defender-advanced-threat-protection.md | 2 +- .../threat-protection/windows-defender-atp/incidents-queue.md | 2 +- ...tigate-alerts-windows-defender-advanced-threat-protection.md | 2 +- ...tigate-domain-windows-defender-advanced-threat-protection.md | 2 +- ...stigate-files-windows-defender-advanced-threat-protection.md | 2 +- ...ate-incidents-windows-defender-advanced-threat-protection.md | 2 +- ...nvestigate-ip-windows-defender-advanced-threat-protection.md | 2 +- ...gate-machines-windows-defender-advanced-threat-protection.md | 2 +- ...estigate-user-windows-defender-advanced-threat-protection.md | 2 +- ...s-ip-seen-org-windows-defender-advanced-threat-protection.md | 2 +- ...olate-machine-windows-defender-advanced-threat-protection.md | 2 +- .../licensing-windows-defender-advanced-threat-protection.md | 2 +- ...achine-groups-windows-defender-advanced-threat-protection.md | 2 +- ...view-overview-windows-defender-advanced-threat-protection.md | 2 +- ...manage-alerts-windows-defender-advanced-threat-protection.md | 2 +- ...-blocked-list-windows-defender-advanced-threat-protection.md | 2 +- ...-file-uploads-windows-defender-advanced-threat-protection.md | 2 +- ...er-exclusions-windows-defender-advanced-threat-protection.md | 2 +- ...age-incidents-windows-defender-advanced-threat-protection.md | 2 +- ...ression-rules-windows-defender-advanced-threat-protection.md | 2 +- .../threat-protection/windows-defender-atp/management-apis.md | 2 +- .../windows-defender-atp/microsoft-cloud-app-security-config.md | 2 +- .../microsoft-cloud-app-security-integration.md | 2 +- ...-requirements-windows-defender-advanced-threat-protection.md | 2 +- .../mssp-support-windows-defender-advanced-threat-protection.md | 2 +- ...oard-machines-windows-defender-advanced-threat-protection.md | 2 +- ...ard-configure-windows-defender-advanced-threat-protection.md | 2 +- ...ard-downlevel-windows-defender-advanced-threat-protection.md | 2 +- .../security/threat-protection/windows-defender-atp/onboard.md | 2 +- .../windows-defender-atp/overview-attack-surface-reduction.md | 2 +- .../windows-defender-atp/overview-custom-detections.md | 2 +- .../overview-endpoint-detection-response.md | 2 +- .../windows-defender-atp/overview-hardware-based-isolation.md | 2 +- ...rview-hunting-windows-defender-advanced-threat-protection.md | 2 +- ...-secure-score-windows-defender-advanced-threat-protection.md | 2 +- .../security/threat-protection/windows-defender-atp/overview.md | 2 +- ...rtal-overview-windows-defender-advanced-threat-protection.md | 2 +- ...werbi-reports-windows-defender-advanced-threat-protection.md | 2 +- ...-example-code-windows-defender-advanced-threat-protection.md | 2 +- ...erences-setup-windows-defender-advanced-threat-protection.md | 2 +- ...view-settings-windows-defender-advanced-threat-protection.md | 2 +- .../preview-windows-defender-advanced-threat-protection.md | 2 +- ...sing-rest-api-windows-defender-advanced-threat-protection.md | 2 +- ...-example-code-windows-defender-advanced-threat-protection.md | 2 +- .../rbac-windows-defender-advanced-threat-protection.md | 2 +- ...equest-sample-windows-defender-advanced-threat-protection.md | 2 +- ...d-file-alerts-windows-defender-advanced-threat-protection.md | 2 +- ...achine-alerts-windows-defender-advanced-threat-protection.md | 2 +- ...ponse-actions-windows-defender-advanced-threat-protection.md | 2 +- ...ode-execution-windows-defender-advanced-threat-protection.md | 2 +- .../run-av-scan-windows-defender-advanced-threat-protection.md | 2 +- ...etection-test-windows-defender-advanced-threat-protection.md | 2 +- ...ore-dashboard-windows-defender-advanced-threat-protection.md | 2 +- ...ons-dashboard-windows-defender-advanced-threat-protection.md | 2 +- ...ervice-status-windows-defender-advanced-threat-protection.md | 2 +- ...arantine-file-windows-defender-advanced-threat-protection.md | 2 +- ...upported-apis-windows-defender-advanced-threat-protection.md | 2 +- ...response-apis-windows-defender-advanced-threat-protection.md | 2 +- ...ics-dashboard-windows-defender-advanced-threat-protection.md | 2 +- .../threat-protection/windows-defender-atp/threat-analytics.md | 2 +- ...ator-concepts-windows-defender-advanced-threat-protection.md | 2 +- .../windows-defender-atp/threat-protection-integration.md | 2 +- ...time-settings-windows-defender-advanced-threat-protection.md | 2 +- ...oot-custom-ti-windows-defender-advanced-threat-protection.md | 2 +- ...rror-messages-windows-defender-advanced-threat-protection.md | 2 +- ...ot-onboarding-windows-defender-advanced-threat-protection.md | 2 +- ...bleshoot-siem-windows-defender-advanced-threat-protection.md | 2 +- .../unblock-file-windows-defender-advanced-threat-protection.md | 2 +- ...olate-machine-windows-defender-advanced-threat-protection.md | 2 +- ...ode-execution-windows-defender-advanced-threat-protection.md | 2 +- ...use-custom-ti-windows-defender-advanced-threat-protection.md | 2 +- .../use-windows-defender-advanced-threat-protection.md | 2 +- .../user-roles-windows-defender-advanced-threat-protection.md | 2 +- .../windows-defender-atp/view-incidents-queue.md | 2 +- .../attack-surface-reduction-exploit-guard.md | 2 +- .../audit-windows-defender-exploit-guard.md | 2 +- .../collect-cab-files-exploit-guard-submission.md | 2 +- .../controlled-folders-exploit-guard.md | 2 +- .../customize-attack-surface-reduction.md | 2 +- .../customize-controlled-folders-exploit-guard.md | 2 +- .../customize-exploit-protection.md | 2 +- .../emet-exploit-protection-exploit-guard.md | 2 +- .../enable-attack-surface-reduction.md | 2 +- .../enable-controlled-folders-exploit-guard.md | 2 +- .../windows-defender-exploit-guard/enable-exploit-protection.md | 2 +- .../windows-defender-exploit-guard/enable-network-protection.md | 2 +- .../enable-virtualization-based-protection-of-code-integrity.md | 2 +- .../evaluate-attack-surface-reduction.md | 2 +- .../evaluate-controlled-folder-access.md | 2 +- .../evaluate-exploit-protection.md | 2 +- .../evaluate-network-protection.md | 2 +- .../windows-defender-exploit-guard/event-views-exploit-guard.md | 2 +- .../exploit-protection-exploit-guard.md | 2 +- .../import-export-exploit-protection-emet-xml.md | 2 +- .../windows-defender-exploit-guard/memory-integrity.md | 2 +- .../network-protection-exploit-guard.md | 2 +- ...nes-for-virtualization-based-protection-of-code-integrity.md | 2 +- .../windows-defender-exploit-guard/troubleshoot-asr.md | 2 +- .../troubleshoot-exploit-protection-mitigations.md | 2 +- .../windows-defender-exploit-guard/troubleshoot-np.md | 2 +- .../windows-defender-exploit-guard.md | 2 +- 238 files changed, 238 insertions(+), 238 deletions(-) diff --git a/windows/security/threat-protection/change-history-for-threat-protection.md b/windows/security/threat-protection/change-history-for-threat-protection.md index dfa28ec177..c318406475 100644 --- a/windows/security/threat-protection/change-history-for-threat-protection.md +++ b/windows/security/threat-protection/change-history-for-threat-protection.md @@ -1,5 +1,5 @@ --- -title: Change history for Windows Defender Advanced Threat Protection (Windows Defender ATP) +title: Change history for [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) description: This topic lists new and updated topics in the WWindows Defender ATP content set. ms.prod: w10 ms.mktglfcycl: deploy diff --git a/windows/security/threat-protection/index.md b/windows/security/threat-protection/index.md index 090b0c62f7..a83dc7afac 100644 --- a/windows/security/threat-protection/index.md +++ b/windows/security/threat-protection/index.md @@ -13,7 +13,7 @@ ms.date: 10/04/2018 --- # Threat Protection -Windows Defender Advanced Threat Protection (Windows Defender ATP) is a unified platform for preventative protection, post-breach detection, automated investigation, and response. Windows Defender ATP protects endpoints from cyber threats; detects advanced attacks and data breaches, automates security incidents and improves security posture. +[Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) is a unified platform for preventative protection, post-breach detection, automated investigation, and response. Windows Defender ATP protects endpoints from cyber threats; detects advanced attacks and data breaches, automates security incidents and improves security posture.

Windows Defender ATP

diff --git a/windows/security/threat-protection/intelligence/understanding-malware.md b/windows/security/threat-protection/intelligence/understanding-malware.md index 5daf338deb..2f819e06b0 100644 --- a/windows/security/threat-protection/intelligence/understanding-malware.md +++ b/windows/security/threat-protection/intelligence/understanding-malware.md @@ -16,7 +16,7 @@ Malware is a term used to describe malicious applications and code that can caus Cybercriminals that distribute malware are often motivated by money and will use infected computers to launch attacks, obtain banking credentials, collect information that can be sold, sell access to computing resources, or extort payment from victims. -As criminals become more sophisticated with their attacks, Microsoft is here to help. Windows 10 is the most secure version of Windows yet and includes many features to help protect you whether you're at home, at work, or on the go. With Windows Defender Advanced Threat Protection (Windows Defender ATP), businesses can stay protected with next-generation protection and other security capabilities. +As criminals become more sophisticated with their attacks, Microsoft is here to help. Windows 10 is the most secure version of Windows yet and includes many features to help protect you whether you're at home, at work, or on the go. With [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf), businesses can stay protected with next-generation protection and other security capabilities. For good general tips, check out the [prevent malware infection](prevent-malware-infection.md) topic. diff --git a/windows/security/threat-protection/windows-defender-antivirus/collect-diagnostic-data-update-compliance.md b/windows/security/threat-protection/windows-defender-antivirus/collect-diagnostic-data-update-compliance.md index 2e776ea30d..06978674b3 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/collect-diagnostic-data-update-compliance.md +++ b/windows/security/threat-protection/windows-defender-antivirus/collect-diagnostic-data-update-compliance.md @@ -18,7 +18,7 @@ ms.date: 09/03/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) This topic describes how to collect diagnostic data that can be used by Microsoft support and engineering teams to help troubleshoot issues you may encounter when using the Windows Defender AV Assessment section in the Update Compliance add-in. diff --git a/windows/security/threat-protection/windows-defender-antivirus/command-line-arguments-windows-defender-antivirus.md b/windows/security/threat-protection/windows-defender-antivirus/command-line-arguments-windows-defender-antivirus.md index 5544020384..cad1984faf 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/command-line-arguments-windows-defender-antivirus.md +++ b/windows/security/threat-protection/windows-defender-antivirus/command-line-arguments-windows-defender-antivirus.md @@ -18,7 +18,7 @@ ms.date: 09/03/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) You can perform various Windows Defender Antivirus functions with the dedicated command-line tool mpcmdrun.exe. diff --git a/windows/security/threat-protection/windows-defender-antivirus/configuration-management-reference-windows-defender-antivirus.md b/windows/security/threat-protection/windows-defender-antivirus/configuration-management-reference-windows-defender-antivirus.md index c11220d5fc..2af6cfcbc3 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/configuration-management-reference-windows-defender-antivirus.md +++ b/windows/security/threat-protection/windows-defender-antivirus/configuration-management-reference-windows-defender-antivirus.md @@ -18,7 +18,7 @@ ms.date: 09/03/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) You can manage and configure Windows Defender Antivirus with the following tools: diff --git a/windows/security/threat-protection/windows-defender-antivirus/configure-advanced-scan-types-windows-defender-antivirus.md b/windows/security/threat-protection/windows-defender-antivirus/configure-advanced-scan-types-windows-defender-antivirus.md index a1880dbc92..b916b9c91e 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/configure-advanced-scan-types-windows-defender-antivirus.md +++ b/windows/security/threat-protection/windows-defender-antivirus/configure-advanced-scan-types-windows-defender-antivirus.md @@ -19,7 +19,7 @@ ms.date: 10/25/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) **Use Microsoft Intune to configure scanning options** diff --git a/windows/security/threat-protection/windows-defender-antivirus/configure-block-at-first-sight-windows-defender-antivirus.md b/windows/security/threat-protection/windows-defender-antivirus/configure-block-at-first-sight-windows-defender-antivirus.md index 47b577521b..8f34c26265 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/configure-block-at-first-sight-windows-defender-antivirus.md +++ b/windows/security/threat-protection/windows-defender-antivirus/configure-block-at-first-sight-windows-defender-antivirus.md @@ -18,7 +18,7 @@ ms.date: 09/03/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) Block at first sight is a feature of next gen protection that provides a way to detect and block new malware within seconds. diff --git a/windows/security/threat-protection/windows-defender-antivirus/configure-cloud-block-timeout-period-windows-defender-antivirus.md b/windows/security/threat-protection/windows-defender-antivirus/configure-cloud-block-timeout-period-windows-defender-antivirus.md index c4712bd823..e78a18862c 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/configure-cloud-block-timeout-period-windows-defender-antivirus.md +++ b/windows/security/threat-protection/windows-defender-antivirus/configure-cloud-block-timeout-period-windows-defender-antivirus.md @@ -18,7 +18,7 @@ ms.date: 09/03/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) When Windows Defender Antivirus finds a suspicious file, it can prevent the file from running while it queries the [Windows Defender Antivirus cloud service](utilize-microsoft-cloud-protection-windows-defender-antivirus.md). diff --git a/windows/security/threat-protection/windows-defender-antivirus/configure-end-user-interaction-windows-defender-antivirus.md b/windows/security/threat-protection/windows-defender-antivirus/configure-end-user-interaction-windows-defender-antivirus.md index a4e4d1798a..f467dac2b6 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/configure-end-user-interaction-windows-defender-antivirus.md +++ b/windows/security/threat-protection/windows-defender-antivirus/configure-end-user-interaction-windows-defender-antivirus.md @@ -18,7 +18,7 @@ ms.date: 09/03/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) You can configure how users of the endpoints on your network can interact with Windows Defender Antivirus. diff --git a/windows/security/threat-protection/windows-defender-antivirus/configure-exclusions-windows-defender-antivirus.md b/windows/security/threat-protection/windows-defender-antivirus/configure-exclusions-windows-defender-antivirus.md index 05da87967e..ca5c66c4f2 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/configure-exclusions-windows-defender-antivirus.md +++ b/windows/security/threat-protection/windows-defender-antivirus/configure-exclusions-windows-defender-antivirus.md @@ -18,7 +18,7 @@ ms.date: 09/03/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) You can exclude certain files, folders, processes, and process-opened files from Windows Defender Antivirus scans. diff --git a/windows/security/threat-protection/windows-defender-antivirus/configure-extension-file-exclusions-windows-defender-antivirus.md b/windows/security/threat-protection/windows-defender-antivirus/configure-extension-file-exclusions-windows-defender-antivirus.md index 7dc4b3d1f6..8292217735 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/configure-extension-file-exclusions-windows-defender-antivirus.md +++ b/windows/security/threat-protection/windows-defender-antivirus/configure-extension-file-exclusions-windows-defender-antivirus.md @@ -18,7 +18,7 @@ ms.date: 09/03/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) You can exclude certain files from Windows Defender Antivirus scans by modifying exclusion lists. diff --git a/windows/security/threat-protection/windows-defender-antivirus/configure-local-policy-overrides-windows-defender-antivirus.md b/windows/security/threat-protection/windows-defender-antivirus/configure-local-policy-overrides-windows-defender-antivirus.md index e948b58760..833abbcaff 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/configure-local-policy-overrides-windows-defender-antivirus.md +++ b/windows/security/threat-protection/windows-defender-antivirus/configure-local-policy-overrides-windows-defender-antivirus.md @@ -18,7 +18,7 @@ ms.date: 09/03/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) By default, Windows Defender Antivirus settings that are deployed via a Group Policy Object to the endpoints in your network will prevent users from locally changing the settings. You can change this in some instances. diff --git a/windows/security/threat-protection/windows-defender-antivirus/configure-network-connections-windows-defender-antivirus.md b/windows/security/threat-protection/windows-defender-antivirus/configure-network-connections-windows-defender-antivirus.md index e993bcf60f..922fb0f10d 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/configure-network-connections-windows-defender-antivirus.md +++ b/windows/security/threat-protection/windows-defender-antivirus/configure-network-connections-windows-defender-antivirus.md @@ -18,7 +18,7 @@ ms.date: 10/08/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) To ensure Windows Defender Antivirus cloud-delivered protection works properly, you need to configure your network to allow connections between your endpoints and certain Microsoft servers. diff --git a/windows/security/threat-protection/windows-defender-antivirus/configure-notifications-windows-defender-antivirus.md b/windows/security/threat-protection/windows-defender-antivirus/configure-notifications-windows-defender-antivirus.md index d6806de77b..8a98cffbc7 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/configure-notifications-windows-defender-antivirus.md +++ b/windows/security/threat-protection/windows-defender-antivirus/configure-notifications-windows-defender-antivirus.md @@ -18,7 +18,7 @@ ms.date: 09/03/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) In Windows 10, application notifications about malware detection and remediation are more robust, consistent, and concise. diff --git a/windows/security/threat-protection/windows-defender-antivirus/configure-process-opened-file-exclusions-windows-defender-antivirus.md b/windows/security/threat-protection/windows-defender-antivirus/configure-process-opened-file-exclusions-windows-defender-antivirus.md index 268fccc556..320078778c 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/configure-process-opened-file-exclusions-windows-defender-antivirus.md +++ b/windows/security/threat-protection/windows-defender-antivirus/configure-process-opened-file-exclusions-windows-defender-antivirus.md @@ -18,7 +18,7 @@ ms.date: 09/03/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) You can exclude files that have been opened by specific processes from Windows Defender Antivirus scans. diff --git a/windows/security/threat-protection/windows-defender-antivirus/configure-protection-features-windows-defender-antivirus.md b/windows/security/threat-protection/windows-defender-antivirus/configure-protection-features-windows-defender-antivirus.md index 61d9ada7c2..acb2c79bcf 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/configure-protection-features-windows-defender-antivirus.md +++ b/windows/security/threat-protection/windows-defender-antivirus/configure-protection-features-windows-defender-antivirus.md @@ -18,7 +18,7 @@ ms.date: 09/03/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) Windows Defender Antivirus uses several methods to provide threat protection: diff --git a/windows/security/threat-protection/windows-defender-antivirus/configure-real-time-protection-windows-defender-antivirus.md b/windows/security/threat-protection/windows-defender-antivirus/configure-real-time-protection-windows-defender-antivirus.md index 72d4740064..801b935d4e 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/configure-real-time-protection-windows-defender-antivirus.md +++ b/windows/security/threat-protection/windows-defender-antivirus/configure-real-time-protection-windows-defender-antivirus.md @@ -18,7 +18,7 @@ ms.date: 09/03/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) Always-on protection consists of real-time protection, behavior monitoring, and heuristics to identify malware based on known suspicious and malicious activities. diff --git a/windows/security/threat-protection/windows-defender-antivirus/configure-remediation-windows-defender-antivirus.md b/windows/security/threat-protection/windows-defender-antivirus/configure-remediation-windows-defender-antivirus.md index d14d383af2..35159b5198 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/configure-remediation-windows-defender-antivirus.md +++ b/windows/security/threat-protection/windows-defender-antivirus/configure-remediation-windows-defender-antivirus.md @@ -18,7 +18,7 @@ ms.date: 09/03/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) When Windows Defender Antivirus runs a scan, it will attempt to remediate or remove threats that it finds. You can configure how Windows Defender Antivirus should react to certain threats, whether it should create a restore point before remediating, and when it should remove remediated threats. diff --git a/windows/security/threat-protection/windows-defender-antivirus/configure-server-exclusions-windows-defender-antivirus.md b/windows/security/threat-protection/windows-defender-antivirus/configure-server-exclusions-windows-defender-antivirus.md index 497772dfde..d7c05e739f 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/configure-server-exclusions-windows-defender-antivirus.md +++ b/windows/security/threat-protection/windows-defender-antivirus/configure-server-exclusions-windows-defender-antivirus.md @@ -18,7 +18,7 @@ ms.date: 09/03/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) Windows Defender Antivirus on Windows Server 2016 computers automatically enrolls you in certain exclusions, as defined by your specified server role. See [the end of this topic](#list-of-automatic-exclusions) for a list of these exclusions. diff --git a/windows/security/threat-protection/windows-defender-antivirus/configure-windows-defender-antivirus-features.md b/windows/security/threat-protection/windows-defender-antivirus/configure-windows-defender-antivirus-features.md index 03b6bf2fc1..1451728ecf 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/configure-windows-defender-antivirus-features.md +++ b/windows/security/threat-protection/windows-defender-antivirus/configure-windows-defender-antivirus-features.md @@ -18,7 +18,7 @@ ms.date: 09/03/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) You can configure Windows Defender Antivirus with a number of tools, including: diff --git a/windows/security/threat-protection/windows-defender-antivirus/customize-run-review-remediate-scans-windows-defender-antivirus.md b/windows/security/threat-protection/windows-defender-antivirus/customize-run-review-remediate-scans-windows-defender-antivirus.md index fd8a577fc1..ae4eee36d6 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/customize-run-review-remediate-scans-windows-defender-antivirus.md +++ b/windows/security/threat-protection/windows-defender-antivirus/customize-run-review-remediate-scans-windows-defender-antivirus.md @@ -18,7 +18,7 @@ ms.date: 09/03/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) You can use Group Policy, PowerShell, and Windows Management Instrumentation (WMI) to configure Windows Defender Antivirus scans. diff --git a/windows/security/threat-protection/windows-defender-antivirus/deploy-manage-report-windows-defender-antivirus.md b/windows/security/threat-protection/windows-defender-antivirus/deploy-manage-report-windows-defender-antivirus.md index 6d27b50ff2..38147632bc 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/deploy-manage-report-windows-defender-antivirus.md +++ b/windows/security/threat-protection/windows-defender-antivirus/deploy-manage-report-windows-defender-antivirus.md @@ -18,7 +18,7 @@ ms.date: 09/03/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) You can deploy, manage, and report on Windows Defender Antivirus in a number of ways. diff --git a/windows/security/threat-protection/windows-defender-antivirus/deploy-windows-defender-antivirus.md b/windows/security/threat-protection/windows-defender-antivirus/deploy-windows-defender-antivirus.md index 6efcc0eeef..59b048bfda 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/deploy-windows-defender-antivirus.md +++ b/windows/security/threat-protection/windows-defender-antivirus/deploy-windows-defender-antivirus.md @@ -18,7 +18,7 @@ ms.date: 09/03/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) Depending on the management tool you are using, you may need to specifically enable or configure Windows Defender Antivirus protection. diff --git a/windows/security/threat-protection/windows-defender-antivirus/deployment-vdi-windows-defender-antivirus.md b/windows/security/threat-protection/windows-defender-antivirus/deployment-vdi-windows-defender-antivirus.md index d330eff104..781b5ba5d5 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/deployment-vdi-windows-defender-antivirus.md +++ b/windows/security/threat-protection/windows-defender-antivirus/deployment-vdi-windows-defender-antivirus.md @@ -18,7 +18,7 @@ ms.date: 09/03/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) In addition to standard on-premises or hardware configurations, you can also use Windows Defender Antivirus in a remote desktop (RDS) or virtual desktop infrastructure (VDI) environment. diff --git a/windows/security/threat-protection/windows-defender-antivirus/detect-block-potentially-unwanted-apps-windows-defender-antivirus.md b/windows/security/threat-protection/windows-defender-antivirus/detect-block-potentially-unwanted-apps-windows-defender-antivirus.md index b149805427..475e161a65 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/detect-block-potentially-unwanted-apps-windows-defender-antivirus.md +++ b/windows/security/threat-protection/windows-defender-antivirus/detect-block-potentially-unwanted-apps-windows-defender-antivirus.md @@ -18,7 +18,7 @@ ms.date: 10/02/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) The potentially unwanted application (PUA) protection feature in Windows Defender Antivirus can identify and block PUAs from downloading and installing on endpoints in your network. diff --git a/windows/security/threat-protection/windows-defender-antivirus/enable-cloud-protection-windows-defender-antivirus.md b/windows/security/threat-protection/windows-defender-antivirus/enable-cloud-protection-windows-defender-antivirus.md index 660a9ce1eb..bc76dcf3d8 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/enable-cloud-protection-windows-defender-antivirus.md +++ b/windows/security/threat-protection/windows-defender-antivirus/enable-cloud-protection-windows-defender-antivirus.md @@ -18,7 +18,7 @@ ms.date: 09/03/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) >[!NOTE] >The Windows Defender Antivirus cloud service is a mechanism for delivering updated protection to your network and endpoints. Although it is called a cloud service, it is not simply protection for files stored in the cloud; rather, it uses distributed resources and machine learning to deliver protection to your endpoints at a rate that is far faster than traditional signature updates. diff --git a/windows/security/threat-protection/windows-defender-antivirus/evaluate-windows-defender-antivirus.md b/windows/security/threat-protection/windows-defender-antivirus/evaluate-windows-defender-antivirus.md index 743d2497f8..e40b93abd1 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/evaluate-windows-defender-antivirus.md +++ b/windows/security/threat-protection/windows-defender-antivirus/evaluate-windows-defender-antivirus.md @@ -18,7 +18,7 @@ ms.date: 09/03/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) Use this guide to determine how well Windows Defender Antivirus protects you from viruses, malware, and potentially unwanted applications. diff --git a/windows/security/threat-protection/windows-defender-antivirus/limited-periodic-scanning-windows-defender-antivirus.md b/windows/security/threat-protection/windows-defender-antivirus/limited-periodic-scanning-windows-defender-antivirus.md index 942585308e..923a59f0ba 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/limited-periodic-scanning-windows-defender-antivirus.md +++ b/windows/security/threat-protection/windows-defender-antivirus/limited-periodic-scanning-windows-defender-antivirus.md @@ -20,7 +20,7 @@ ms.date: 09/03/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) Limited periodic scanning is a special type of threat detection and remediation that can be enabled when you have installed another antivirus product on a Windows 10 device. diff --git a/windows/security/threat-protection/windows-defender-antivirus/manage-event-based-updates-windows-defender-antivirus.md b/windows/security/threat-protection/windows-defender-antivirus/manage-event-based-updates-windows-defender-antivirus.md index cae61f23dc..6b53608726 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/manage-event-based-updates-windows-defender-antivirus.md +++ b/windows/security/threat-protection/windows-defender-antivirus/manage-event-based-updates-windows-defender-antivirus.md @@ -18,7 +18,7 @@ ms.date: 09/03/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) Windows Defender Antivirus allows you to determine if updates should (or should not) occur after certain events, such as at startup or after receiving specific reports from the cloud-delivered protection service. diff --git a/windows/security/threat-protection/windows-defender-antivirus/manage-outdated-endpoints-windows-defender-antivirus.md b/windows/security/threat-protection/windows-defender-antivirus/manage-outdated-endpoints-windows-defender-antivirus.md index 6bc628a553..7639c8e05b 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/manage-outdated-endpoints-windows-defender-antivirus.md +++ b/windows/security/threat-protection/windows-defender-antivirus/manage-outdated-endpoints-windows-defender-antivirus.md @@ -18,7 +18,7 @@ ms.date: 09/03/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) Windows Defender Antivirus lets you define how long an endpoint can avoid an update or how many scans it can miss before it is required to update and scan itself. This is especially useful in environments where devices are not often connected to a corporate or external network, or devices that are not used on a daily basis. diff --git a/windows/security/threat-protection/windows-defender-antivirus/manage-protection-update-schedule-windows-defender-antivirus.md b/windows/security/threat-protection/windows-defender-antivirus/manage-protection-update-schedule-windows-defender-antivirus.md index adec043210..bb3a6e46d7 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/manage-protection-update-schedule-windows-defender-antivirus.md +++ b/windows/security/threat-protection/windows-defender-antivirus/manage-protection-update-schedule-windows-defender-antivirus.md @@ -18,7 +18,7 @@ ms.date: 09/03/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) Windows Defender Antivirus lets you determine when it should look for and download updates. diff --git a/windows/security/threat-protection/windows-defender-antivirus/manage-protection-updates-windows-defender-antivirus.md b/windows/security/threat-protection/windows-defender-antivirus/manage-protection-updates-windows-defender-antivirus.md index 4d2fb15044..24e05dd41a 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/manage-protection-updates-windows-defender-antivirus.md +++ b/windows/security/threat-protection/windows-defender-antivirus/manage-protection-updates-windows-defender-antivirus.md @@ -18,7 +18,7 @@ ms.date: 09/03/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-antivirus/manage-updates-baselines-windows-defender-antivirus.md b/windows/security/threat-protection/windows-defender-antivirus/manage-updates-baselines-windows-defender-antivirus.md index 8fb1e91905..c1d9aad15b 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/manage-updates-baselines-windows-defender-antivirus.md +++ b/windows/security/threat-protection/windows-defender-antivirus/manage-updates-baselines-windows-defender-antivirus.md @@ -18,7 +18,7 @@ ms.date: 09/03/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) There are two types of updates related to keeping Windows Defender Antivirus up to date: 1. Protection updates diff --git a/windows/security/threat-protection/windows-defender-antivirus/manage-updates-mobile-devices-vms-windows-defender-antivirus.md b/windows/security/threat-protection/windows-defender-antivirus/manage-updates-mobile-devices-vms-windows-defender-antivirus.md index ee85e54424..4ea81cd37f 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/manage-updates-mobile-devices-vms-windows-defender-antivirus.md +++ b/windows/security/threat-protection/windows-defender-antivirus/manage-updates-mobile-devices-vms-windows-defender-antivirus.md @@ -18,7 +18,7 @@ ms.date: 09/03/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) Mobile devices and VMs may require additional configuration to ensure performance is not impacted by updates. diff --git a/windows/security/threat-protection/windows-defender-antivirus/prevent-end-user-interaction-windows-defender-antivirus.md b/windows/security/threat-protection/windows-defender-antivirus/prevent-end-user-interaction-windows-defender-antivirus.md index eeb27d5a8f..880d56c9e3 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/prevent-end-user-interaction-windows-defender-antivirus.md +++ b/windows/security/threat-protection/windows-defender-antivirus/prevent-end-user-interaction-windows-defender-antivirus.md @@ -18,7 +18,7 @@ ms.date: 09/03/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) You can use Group Policy to prevent users on endpoints from seeing the Windows Defender Antivirus interface. You can also prevent them from pausing scans. diff --git a/windows/security/threat-protection/windows-defender-antivirus/report-monitor-windows-defender-antivirus.md b/windows/security/threat-protection/windows-defender-antivirus/report-monitor-windows-defender-antivirus.md index ccf84b466b..efa0d8b522 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/report-monitor-windows-defender-antivirus.md +++ b/windows/security/threat-protection/windows-defender-antivirus/report-monitor-windows-defender-antivirus.md @@ -18,7 +18,7 @@ ms.date: 09/03/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) There are a number of ways you can review protection status and alerts, depending on the management tool you are using for Windows Defender Antivirus. diff --git a/windows/security/threat-protection/windows-defender-antivirus/restore-quarantined-files-windows-defender-antivirus.md b/windows/security/threat-protection/windows-defender-antivirus/restore-quarantined-files-windows-defender-antivirus.md index adc59b2fe8..569d88a51c 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/restore-quarantined-files-windows-defender-antivirus.md +++ b/windows/security/threat-protection/windows-defender-antivirus/restore-quarantined-files-windows-defender-antivirus.md @@ -18,7 +18,7 @@ ms.date: 09/03/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) If Windows Defender Antivirus is configured to detect and remediate threats on your device, Windows Defender Antivirus quarantines suspicious files. If you are certain these files do not present a threat, you can restore them. diff --git a/windows/security/threat-protection/windows-defender-antivirus/review-scan-results-windows-defender-antivirus.md b/windows/security/threat-protection/windows-defender-antivirus/review-scan-results-windows-defender-antivirus.md index 5ffb2c076c..c75f970b7b 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/review-scan-results-windows-defender-antivirus.md +++ b/windows/security/threat-protection/windows-defender-antivirus/review-scan-results-windows-defender-antivirus.md @@ -18,7 +18,7 @@ ms.date: 09/03/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) After an Windows Defender Antivirus scan completes, whether it is an [on-demand](run-scan-windows-defender-antivirus.md) or [scheduled scan](scheduled-catch-up-scans-windows-defender-antivirus.md), the results are recorded and you can view the results. diff --git a/windows/security/threat-protection/windows-defender-antivirus/run-scan-windows-defender-antivirus.md b/windows/security/threat-protection/windows-defender-antivirus/run-scan-windows-defender-antivirus.md index 92f95ad535..7f0a6d6037 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/run-scan-windows-defender-antivirus.md +++ b/windows/security/threat-protection/windows-defender-antivirus/run-scan-windows-defender-antivirus.md @@ -18,7 +18,7 @@ ms.date: 09/03/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) You can run an on-demand scan on individual endpoints. These scans will start immediately, and you can define parameters for the scan, such as the location or type. diff --git a/windows/security/threat-protection/windows-defender-antivirus/scheduled-catch-up-scans-windows-defender-antivirus.md b/windows/security/threat-protection/windows-defender-antivirus/scheduled-catch-up-scans-windows-defender-antivirus.md index ae3d1249f9..d62ac289fe 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/scheduled-catch-up-scans-windows-defender-antivirus.md +++ b/windows/security/threat-protection/windows-defender-antivirus/scheduled-catch-up-scans-windows-defender-antivirus.md @@ -18,7 +18,7 @@ ms.date: 09/03/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) > [!NOTE] > By default, Windows Defender Antivirus checks for an update 15 minutes before the time of any scheduled scans. You can [Manage the schedule for when protection updates should be downloaded and applied](manage-protection-update-schedule-windows-defender-antivirus.md) to override this default. diff --git a/windows/security/threat-protection/windows-defender-antivirus/specify-cloud-protection-level-windows-defender-antivirus.md b/windows/security/threat-protection/windows-defender-antivirus/specify-cloud-protection-level-windows-defender-antivirus.md index df9e3937bc..fe11787198 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/specify-cloud-protection-level-windows-defender-antivirus.md +++ b/windows/security/threat-protection/windows-defender-antivirus/specify-cloud-protection-level-windows-defender-antivirus.md @@ -18,7 +18,7 @@ ms.date: 09/03/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) You can specify the level of cloud-protection offered by Windows Defender Antivirus with Group Policy and System Center Configuration Manager. diff --git a/windows/security/threat-protection/windows-defender-antivirus/troubleshoot-reporting.md b/windows/security/threat-protection/windows-defender-antivirus/troubleshoot-reporting.md index 28d9cb0243..d1ae21771c 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/troubleshoot-reporting.md +++ b/windows/security/threat-protection/windows-defender-antivirus/troubleshoot-reporting.md @@ -18,7 +18,7 @@ ms.date: 09/03/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) When you use [Windows Analytics Update Compliance to obtain reporting into the protection status of machines or endpoints](/windows/deployment/update/update-compliance-using#wdav-assessment) in your network that are using Windows Defender Antivirus, you may encounter problems or issues. diff --git a/windows/security/threat-protection/windows-defender-antivirus/troubleshoot-windows-defender-antivirus.md b/windows/security/threat-protection/windows-defender-antivirus/troubleshoot-windows-defender-antivirus.md index a40df9b551..d23df5b8f1 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/troubleshoot-windows-defender-antivirus.md +++ b/windows/security/threat-protection/windows-defender-antivirus/troubleshoot-windows-defender-antivirus.md @@ -18,7 +18,7 @@ ms.date: 09/11/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) If you encounter a problem with Windows Defender Antivirus, you can search the tables in this topic to find a matching issue and potential solution. diff --git a/windows/security/threat-protection/windows-defender-antivirus/use-group-policy-windows-defender-antivirus.md b/windows/security/threat-protection/windows-defender-antivirus/use-group-policy-windows-defender-antivirus.md index e5cfbb322b..6581b10ed3 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/use-group-policy-windows-defender-antivirus.md +++ b/windows/security/threat-protection/windows-defender-antivirus/use-group-policy-windows-defender-antivirus.md @@ -18,7 +18,7 @@ ms.date: 09/03/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) You can use [Group Policy](https://msdn.microsoft.com/library/ee663280(v=vs.85).aspx) to configure and manage Windows Defender Antivirus on your endpoints. diff --git a/windows/security/threat-protection/windows-defender-antivirus/use-intune-config-manager-windows-defender-antivirus.md b/windows/security/threat-protection/windows-defender-antivirus/use-intune-config-manager-windows-defender-antivirus.md index d453a5b349..89cf104935 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/use-intune-config-manager-windows-defender-antivirus.md +++ b/windows/security/threat-protection/windows-defender-antivirus/use-intune-config-manager-windows-defender-antivirus.md @@ -18,7 +18,7 @@ ms.date: 09/03/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) If you are using System Center Configuration Manager or Microsoft Intune to manage the endpoints on your network, you can also use them to manage Windows Defender Antivirus scans. diff --git a/windows/security/threat-protection/windows-defender-antivirus/use-powershell-cmdlets-windows-defender-antivirus.md b/windows/security/threat-protection/windows-defender-antivirus/use-powershell-cmdlets-windows-defender-antivirus.md index 8501bb8163..25ca31aa0a 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/use-powershell-cmdlets-windows-defender-antivirus.md +++ b/windows/security/threat-protection/windows-defender-antivirus/use-powershell-cmdlets-windows-defender-antivirus.md @@ -18,7 +18,7 @@ ms.date: 09/03/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) You can use PowerShell to perform various functions in Windows Defender. Similar to the command prompt or command line, PowerShell is a task-based command-line shell and scripting language designed especially for system administration, and you can read more about it at the [PowerShell hub on MSDN](https://msdn.microsoft.com/powershell/mt173057.aspx). diff --git a/windows/security/threat-protection/windows-defender-antivirus/use-wmi-windows-defender-antivirus.md b/windows/security/threat-protection/windows-defender-antivirus/use-wmi-windows-defender-antivirus.md index e0542aea06..0ae7bc9771 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/use-wmi-windows-defender-antivirus.md +++ b/windows/security/threat-protection/windows-defender-antivirus/use-wmi-windows-defender-antivirus.md @@ -18,7 +18,7 @@ ms.date: 09/03/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) Windows Management Instrumentation (WMI) is a scripting interface that allows you to retrieve, modify, and update settings. diff --git a/windows/security/threat-protection/windows-defender-antivirus/utilize-microsoft-cloud-protection-windows-defender-antivirus.md b/windows/security/threat-protection/windows-defender-antivirus/utilize-microsoft-cloud-protection-windows-defender-antivirus.md index 3c436236fe..aebdd79b52 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/utilize-microsoft-cloud-protection-windows-defender-antivirus.md +++ b/windows/security/threat-protection/windows-defender-antivirus/utilize-microsoft-cloud-protection-windows-defender-antivirus.md @@ -18,7 +18,7 @@ ms.date: 09/03/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) Microsoft next-gen technologies in Windows Defender Antivirus provide near-instant, automated protection against new and emerging threats. To dynamically identify new threats, these technologies work with large sets of interconnected data in the Microsoft Intelligent Security Graph and powerful artificial intelligence (AI) systems driven by advanced machine learning models. diff --git a/windows/security/threat-protection/windows-defender-antivirus/windows-defender-antivirus-compatibility.md b/windows/security/threat-protection/windows-defender-antivirus/windows-defender-antivirus-compatibility.md index 406a5296f8..97655419cf 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/windows-defender-antivirus-compatibility.md +++ b/windows/security/threat-protection/windows-defender-antivirus/windows-defender-antivirus-compatibility.md @@ -18,7 +18,7 @@ ms.date: 09/03/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) Windows Defender Antivirus is automatically enabled and installed on endpoints and devices that are running Windows 10. diff --git a/windows/security/threat-protection/windows-defender-antivirus/windows-defender-antivirus-in-windows-10.md b/windows/security/threat-protection/windows-defender-antivirus/windows-defender-antivirus-in-windows-10.md index ee54572b4c..7e7820edbb 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/windows-defender-antivirus-in-windows-10.md +++ b/windows/security/threat-protection/windows-defender-antivirus/windows-defender-antivirus-in-windows-10.md @@ -18,7 +18,7 @@ ms.date: 09/03/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) Windows Defender Antivirus is a built-in antimalware solution that provides next generation protection for desktops, portable computers, and servers. diff --git a/windows/security/threat-protection/windows-defender-antivirus/windows-defender-antivirus-on-windows-server-2016.md b/windows/security/threat-protection/windows-defender-antivirus/windows-defender-antivirus-on-windows-server-2016.md index 729d413d7f..e0ce8b36b5 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/windows-defender-antivirus-on-windows-server-2016.md +++ b/windows/security/threat-protection/windows-defender-antivirus/windows-defender-antivirus-on-windows-server-2016.md @@ -18,7 +18,7 @@ ms.date: 09/03/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) Windows Defender Antivirus is available on Windows Server 2016. In some instances it is referred to as Endpoint Protection - however, the protection engine is the same. diff --git a/windows/security/threat-protection/windows-defender-antivirus/windows-defender-offline.md b/windows/security/threat-protection/windows-defender-antivirus/windows-defender-offline.md index 3304f1be1d..b705e33977 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/windows-defender-offline.md +++ b/windows/security/threat-protection/windows-defender-antivirus/windows-defender-offline.md @@ -18,7 +18,7 @@ ms.date: 09/03/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) Windows Defender Offline is an antimalware scanning tool that lets you boot and run a scan from a trusted environment. The scan runs from outside the normal Windows kernel so it can target malware that attempts to bypass the Windows shell, such as viruses and rootkits that infect or overwrite the master boot record (MBR). diff --git a/windows/security/threat-protection/windows-defender-antivirus/windows-defender-security-center-antivirus.md b/windows/security/threat-protection/windows-defender-antivirus/windows-defender-security-center-antivirus.md index e296c871c2..ca5529dfa1 100644 --- a/windows/security/threat-protection/windows-defender-antivirus/windows-defender-security-center-antivirus.md +++ b/windows/security/threat-protection/windows-defender-antivirus/windows-defender-security-center-antivirus.md @@ -18,7 +18,7 @@ ms.date: 09/03/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) In Windows 10, version 1703 and later, the Windows Defender app is part of the Windows Security. diff --git a/windows/security/threat-protection/windows-defender-application-guard/configure-wd-app-guard.md b/windows/security/threat-protection/windows-defender-application-guard/configure-wd-app-guard.md index 026ca31daa..3579ace8b1 100644 --- a/windows/security/threat-protection/windows-defender-application-guard/configure-wd-app-guard.md +++ b/windows/security/threat-protection/windows-defender-application-guard/configure-wd-app-guard.md @@ -13,7 +13,7 @@ ms.date: 10/17/2017 # Configure Windows Defender Application Guard policy settings -**Applies to:** Windows Defender Advanced Threat Protection (Windows Defender ATP) +**Applies to:** [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) Windows Defender Application Guard (Application Guard) works with Group Policy to help you manage your organization's computer settings. By using Group Policy, you can configure a setting once, and then copy it onto many computers. For example, you can set up multiple security settings in a GPO, which is linked to a domain, and then apply all those settings to every computer in the domain. diff --git a/windows/security/threat-protection/windows-defender-application-guard/faq-wd-app-guard.md b/windows/security/threat-protection/windows-defender-application-guard/faq-wd-app-guard.md index 06a0ab7b13..0c72267505 100644 --- a/windows/security/threat-protection/windows-defender-application-guard/faq-wd-app-guard.md +++ b/windows/security/threat-protection/windows-defender-application-guard/faq-wd-app-guard.md @@ -13,7 +13,7 @@ ms.date: 11/07/2017 # Frequently asked questions - Windows Defender Application Guard -**Applies to:** Windows Defender Advanced Threat Protection (Windows Defender ATP) +**Applies to:** [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) Answering frequently asked questions about Windows Defender Application Guard (Application Guard) features, integration with the Windows operating system, and general configuration. diff --git a/windows/security/threat-protection/windows-defender-application-guard/install-wd-app-guard.md b/windows/security/threat-protection/windows-defender-application-guard/install-wd-app-guard.md index 11d81398e4..bcc683e524 100644 --- a/windows/security/threat-protection/windows-defender-application-guard/install-wd-app-guard.md +++ b/windows/security/threat-protection/windows-defender-application-guard/install-wd-app-guard.md @@ -14,7 +14,7 @@ ms.date: 10/19/2017 # Prepare to install Windows Defender Application Guard **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) ## Review system requirements diff --git a/windows/security/threat-protection/windows-defender-application-guard/reqs-wd-app-guard.md b/windows/security/threat-protection/windows-defender-application-guard/reqs-wd-app-guard.md index e60978932b..72eb82edac 100644 --- a/windows/security/threat-protection/windows-defender-application-guard/reqs-wd-app-guard.md +++ b/windows/security/threat-protection/windows-defender-application-guard/reqs-wd-app-guard.md @@ -13,7 +13,7 @@ ms.date: 11/09/2017 # System requirements for Windows Defender Application Guard -**Applies to:** Windows Defender Advanced Threat Protection (Windows Defender ATP) +**Applies to:** [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) The threat landscape is continually evolving. While hackers are busy developing new techniques to breach enterprise networks by compromising workstations, phishing schemes remain one of the top ways to lure employees into social engineering attacks. Windows Defender Application Guard is designed to help prevent old, and newly emerging attacks, to help keep employees productive. diff --git a/windows/security/threat-protection/windows-defender-application-guard/test-scenarios-wd-app-guard.md b/windows/security/threat-protection/windows-defender-application-guard/test-scenarios-wd-app-guard.md index e7f9fe2f97..511904d283 100644 --- a/windows/security/threat-protection/windows-defender-application-guard/test-scenarios-wd-app-guard.md +++ b/windows/security/threat-protection/windows-defender-application-guard/test-scenarios-wd-app-guard.md @@ -14,7 +14,7 @@ ms.date: 10/16/2018 # Application Guard testing scenarios -**Applies to:** Windows Defender Advanced Threat Protection (Windows Defender ATP) +**Applies to:** [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) We've come up with a list of scenarios that you can use to test hardware-based isolation in your organization. diff --git a/windows/security/threat-protection/windows-defender-application-guard/wd-app-guard-overview.md b/windows/security/threat-protection/windows-defender-application-guard/wd-app-guard-overview.md index de2039986d..b4f08ff71c 100644 --- a/windows/security/threat-protection/windows-defender-application-guard/wd-app-guard-overview.md +++ b/windows/security/threat-protection/windows-defender-application-guard/wd-app-guard-overview.md @@ -13,7 +13,7 @@ ms.date: 09/07/2018 # Windows Defender Application Guard overview -**Applies to:** Windows Defender Advanced Threat Protection (Windows Defender ATP) +**Applies to:** [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) Windows Defender Application Guard (Application Guard) is designed to help prevent old and newly emerging attacks to help keep employees productive. Using our unique hardware isolation approach, our goal is to destroy the playbook that attackers use by rendering current attack methods obsolete. diff --git a/windows/security/threat-protection/windows-defender-atp/advanced-features-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/advanced-features-windows-defender-advanced-threat-protection.md index 0e82c47568..b887fd19b7 100644 --- a/windows/security/threat-protection/windows-defender-atp/advanced-features-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/advanced-features-windows-defender-advanced-threat-protection.md @@ -17,7 +17,7 @@ ms.date: 09/28/2018 # Configure advanced features in Windows Defender ATP **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) >Want to experience Windows Defender ATP? [Sign up for a free trial.](https://www.microsoft.com/en-us/WindowsForBusiness/windows-atp?ocid=docs-wdatp-advancedfeats-abovefoldlink) diff --git a/windows/security/threat-protection/windows-defender-atp/advanced-hunting-best-practices-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/advanced-hunting-best-practices-windows-defender-advanced-threat-protection.md index d215d46fec..046e911ac9 100644 --- a/windows/security/threat-protection/windows-defender-atp/advanced-hunting-best-practices-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/advanced-hunting-best-practices-windows-defender-advanced-threat-protection.md @@ -19,7 +19,7 @@ ms.date: 04/24/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/advanced-hunting-reference-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/advanced-hunting-reference-windows-defender-advanced-threat-protection.md index f12506e54b..dcda5f43d8 100644 --- a/windows/security/threat-protection/windows-defender-atp/advanced-hunting-reference-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/advanced-hunting-reference-windows-defender-advanced-threat-protection.md @@ -19,7 +19,7 @@ ms.date: 06/01/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/alerts-queue-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/alerts-queue-windows-defender-advanced-threat-protection.md index cc70b589cc..182eacc7b7 100644 --- a/windows/security/threat-protection/windows-defender-atp/alerts-queue-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/alerts-queue-windows-defender-advanced-threat-protection.md @@ -17,7 +17,7 @@ ms.date: 04/24/2018 # View and organize the Windows Defender Advanced Threat Protection Alerts queue **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/api-portal-mapping-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/api-portal-mapping-windows-defender-advanced-threat-protection.md index 385dfdea3a..421206a7f9 100644 --- a/windows/security/threat-protection/windows-defender-atp/api-portal-mapping-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/api-portal-mapping-windows-defender-advanced-threat-protection.md @@ -19,7 +19,7 @@ ms.date: 10/16/2017 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/assign-portal-access-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/assign-portal-access-windows-defender-advanced-threat-protection.md index 0bd1a15c11..700bbaef2b 100644 --- a/windows/security/threat-protection/windows-defender-atp/assign-portal-access-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/assign-portal-access-windows-defender-advanced-threat-protection.md @@ -19,7 +19,7 @@ ms.date: 09/03/2018 **Applies to:** - Azure Active Directory - Office 365 -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) >Want to experience Windows Defender ATP? [Sign up for a free trial.](https://www.microsoft.com/en-us/WindowsForBusiness/windows-atp?ocid=docs-wdatp-assignaccess-abovefoldlink) diff --git a/windows/security/threat-protection/windows-defender-atp/attack-simulations-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/attack-simulations-windows-defender-advanced-threat-protection.md index ab1b1ae399..f54267ebfe 100644 --- a/windows/security/threat-protection/windows-defender-atp/attack-simulations-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/attack-simulations-windows-defender-advanced-threat-protection.md @@ -19,7 +19,7 @@ ms.date: 28/02/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/basic-permissions-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/basic-permissions-windows-defender-advanced-threat-protection.md index 9835695e87..11611c7741 100644 --- a/windows/security/threat-protection/windows-defender-atp/basic-permissions-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/basic-permissions-windows-defender-advanced-threat-protection.md @@ -18,7 +18,7 @@ ms.date: 09/13/2018 **Applies to:** - Azure Active Directory -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) >Want to experience Windows Defender ATP? [Sign up for a free trial.](https://www.microsoft.com/en-us/WindowsForBusiness/windows-atp?ocid=docs-wdatp-basicaccess-abovefoldlink) diff --git a/windows/security/threat-protection/windows-defender-atp/block-file-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/block-file-windows-defender-advanced-threat-protection.md index 077304ed7f..16ae492cd3 100644 --- a/windows/security/threat-protection/windows-defender-atp/block-file-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/block-file-windows-defender-advanced-threat-protection.md @@ -18,7 +18,7 @@ ms.date: 12/08/2017 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/check-sensor-status-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/check-sensor-status-windows-defender-advanced-threat-protection.md index c2b79d845d..4b525298cf 100644 --- a/windows/security/threat-protection/windows-defender-atp/check-sensor-status-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/check-sensor-status-windows-defender-advanced-threat-protection.md @@ -17,7 +17,7 @@ ms.date: 04/24/2018 # Check sensor health state in Windows Defender ATP **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/collect-investigation-package-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/collect-investigation-package-windows-defender-advanced-threat-protection.md index 278068d40a..f6394dc5a6 100644 --- a/windows/security/threat-protection/windows-defender-atp/collect-investigation-package-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/collect-investigation-package-windows-defender-advanced-threat-protection.md @@ -18,7 +18,7 @@ ms.date: 12/08/2017 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/community-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/community-windows-defender-advanced-threat-protection.md index 4221621c34..4561797028 100644 --- a/windows/security/threat-protection/windows-defender-atp/community-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/community-windows-defender-advanced-threat-protection.md @@ -18,7 +18,7 @@ ms.date: 04/24/2018 # Access the Windows Defender ATP Community Center **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/conditional-access-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/conditional-access-windows-defender-advanced-threat-protection.md index 72d6473f97..4e24ca1381 100644 --- a/windows/security/threat-protection/windows-defender-atp/conditional-access-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/conditional-access-windows-defender-advanced-threat-protection.md @@ -17,7 +17,7 @@ ms.date: 04/24/2018 # Enable conditional access to better protect users, devices, and data **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/configure-arcsight-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/configure-arcsight-windows-defender-advanced-threat-protection.md index fabaf74f07..b3d5cbfb91 100644 --- a/windows/security/threat-protection/windows-defender-atp/configure-arcsight-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/configure-arcsight-windows-defender-advanced-threat-protection.md @@ -19,7 +19,7 @@ ms.date: 10/16/2017 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/configure-conditional-access-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/configure-conditional-access-windows-defender-advanced-threat-protection.md index eae78c84fa..2c223e0718 100644 --- a/windows/security/threat-protection/windows-defender-atp/configure-conditional-access-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/configure-conditional-access-windows-defender-advanced-threat-protection.md @@ -16,7 +16,7 @@ ms.date: 09/03/2018 # Configure conditional access in Windows Defender ATP **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) This section guides you through all the steps you need to take to properly implement conditional access. diff --git a/windows/security/threat-protection/windows-defender-atp/configure-email-notifications-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/configure-email-notifications-windows-defender-advanced-threat-protection.md index 16d4c73d26..94c5bfc2d5 100644 --- a/windows/security/threat-protection/windows-defender-atp/configure-email-notifications-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/configure-email-notifications-windows-defender-advanced-threat-protection.md @@ -17,7 +17,7 @@ ms.date: 10/08/2018 # Configure alert notifications in Windows Defender ATP **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) >Want to experience Windows Defender ATP? [Sign up for a free trial.](https://www.microsoft.com/en-us/WindowsForBusiness/windows-atp?ocid=docs-wdatp-emailconfig-abovefoldlink) diff --git a/windows/security/threat-protection/windows-defender-atp/configure-endpoints-gp-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/configure-endpoints-gp-windows-defender-advanced-threat-protection.md index 3ca88add4f..9b791272a5 100644 --- a/windows/security/threat-protection/windows-defender-atp/configure-endpoints-gp-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/configure-endpoints-gp-windows-defender-advanced-threat-protection.md @@ -20,7 +20,7 @@ ms.date: 04/24/2018 - Group Policy -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/configure-endpoints-mdm-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/configure-endpoints-mdm-windows-defender-advanced-threat-protection.md index 25afed579f..e0c41580fa 100644 --- a/windows/security/threat-protection/windows-defender-atp/configure-endpoints-mdm-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/configure-endpoints-mdm-windows-defender-advanced-threat-protection.md @@ -19,7 +19,7 @@ ms.date: 09/19/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) >Want to experience Windows Defender ATP? [Sign up for a free trial.](https://www.microsoft.com/en-us/WindowsForBusiness/windows-atp?ocid=docs-wdatp-configureendpointsmdm-abovefoldlink) diff --git a/windows/security/threat-protection/windows-defender-atp/configure-endpoints-non-windows-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/configure-endpoints-non-windows-windows-defender-advanced-threat-protection.md index e5fa2adf95..3702b187d3 100644 --- a/windows/security/threat-protection/windows-defender-atp/configure-endpoints-non-windows-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/configure-endpoints-non-windows-windows-defender-advanced-threat-protection.md @@ -19,7 +19,7 @@ ms.date: 10/03/2018 - macOS - Linux -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) >Want to experience Windows Defender ATP? [Sign up for a free trial.](https://www.microsoft.com/en-us/WindowsForBusiness/windows-atp?ocid=docs-wdatp-nonwindows-abovefoldlink) diff --git a/windows/security/threat-protection/windows-defender-atp/configure-endpoints-sccm-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/configure-endpoints-sccm-windows-defender-advanced-threat-protection.md index 6758d81fd7..707a5887a8 100644 --- a/windows/security/threat-protection/windows-defender-atp/configure-endpoints-sccm-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/configure-endpoints-sccm-windows-defender-advanced-threat-protection.md @@ -19,7 +19,7 @@ ms.date: 04/24/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) - System Center 2012 Configuration Manager or later versions diff --git a/windows/security/threat-protection/windows-defender-atp/configure-endpoints-script-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/configure-endpoints-script-windows-defender-advanced-threat-protection.md index 04ac622d7d..69bb28ccaa 100644 --- a/windows/security/threat-protection/windows-defender-atp/configure-endpoints-script-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/configure-endpoints-script-windows-defender-advanced-threat-protection.md @@ -19,7 +19,7 @@ ms.date: 04/24/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/configure-endpoints-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/configure-endpoints-windows-defender-advanced-threat-protection.md index 8a41625b88..8371836083 100644 --- a/windows/security/threat-protection/windows-defender-atp/configure-endpoints-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/configure-endpoints-windows-defender-advanced-threat-protection.md @@ -19,7 +19,7 @@ ms.date: 07/12/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/configure-mssp-support-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/configure-mssp-support-windows-defender-advanced-threat-protection.md index 1dfed290f7..cbff3e3945 100644 --- a/windows/security/threat-protection/windows-defender-atp/configure-mssp-support-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/configure-mssp-support-windows-defender-advanced-threat-protection.md @@ -17,7 +17,7 @@ ms.date: 09/03/2018 # Configure managed security service provider integration **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) >Want to experience Windows Defender ATP? [Sign up for a free trial.](https://www.microsoft.com/en-us/WindowsForBusiness/windows-atp?ocid=docs-mssp-support-abovefoldlink) diff --git a/windows/security/threat-protection/windows-defender-atp/configure-proxy-internet-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/configure-proxy-internet-windows-defender-advanced-threat-protection.md index 4b2c89021e..c7d9e056c4 100644 --- a/windows/security/threat-protection/windows-defender-atp/configure-proxy-internet-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/configure-proxy-internet-windows-defender-advanced-threat-protection.md @@ -18,7 +18,7 @@ ms.date: 09/12/2018 # Configure machine proxy and Internet connectivity settings **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/configure-server-endpoints-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/configure-server-endpoints-windows-defender-advanced-threat-protection.md index d4ac2f4f15..32cc18106d 100644 --- a/windows/security/threat-protection/windows-defender-atp/configure-server-endpoints-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/configure-server-endpoints-windows-defender-advanced-threat-protection.md @@ -21,7 +21,7 @@ ms.date: 11/02/2018 - Windows Server 2016 - Windows Server, version 1803 - Windows Server, 2019 -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) [!include[Prerelease information](prerelease.md)] diff --git a/windows/security/threat-protection/windows-defender-atp/configure-siem-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/configure-siem-windows-defender-advanced-threat-protection.md index 84bdc39057..e2c82a3cc0 100644 --- a/windows/security/threat-protection/windows-defender-atp/configure-siem-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/configure-siem-windows-defender-advanced-threat-protection.md @@ -19,7 +19,7 @@ ms.date: 10/16/2017 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) >Want to experience Windows Defender ATP? [Sign up for a free trial.](https://www.microsoft.com/en-us/WindowsForBusiness/windows-atp?ocid=docs-wdatp-configuresiem-abovefoldlink) diff --git a/windows/security/threat-protection/windows-defender-atp/configure-splunk-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/configure-splunk-windows-defender-advanced-threat-protection.md index b9cd80ca8b..09b8cf9087 100644 --- a/windows/security/threat-protection/windows-defender-atp/configure-splunk-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/configure-splunk-windows-defender-advanced-threat-protection.md @@ -19,7 +19,7 @@ ms.date: 10/16/2017 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/custom-detection-rules.md b/windows/security/threat-protection/windows-defender-atp/custom-detection-rules.md index ae04f96b3d..60545d5706 100644 --- a/windows/security/threat-protection/windows-defender-atp/custom-detection-rules.md +++ b/windows/security/threat-protection/windows-defender-atp/custom-detection-rules.md @@ -17,7 +17,7 @@ ms.date: 10/29/2018 # Create custom detections rules **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) 1. In the navigation pane, select **Advanced hunting**. diff --git a/windows/security/threat-protection/windows-defender-atp/custom-ti-api-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/custom-ti-api-windows-defender-advanced-threat-protection.md index 6f9e0fb968..8bc7172555 100644 --- a/windows/security/threat-protection/windows-defender-atp/custom-ti-api-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/custom-ti-api-windows-defender-advanced-threat-protection.md @@ -19,7 +19,7 @@ ms.date: 04/24/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/data-retention-settings-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/data-retention-settings-windows-defender-advanced-threat-protection.md index 44863a8a91..0232707da6 100644 --- a/windows/security/threat-protection/windows-defender-atp/data-retention-settings-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/data-retention-settings-windows-defender-advanced-threat-protection.md @@ -18,7 +18,7 @@ ms.date: 04/24/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/data-storage-privacy-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/data-storage-privacy-windows-defender-advanced-threat-protection.md index d06e1d8c9d..c2a6e3f9c3 100644 --- a/windows/security/threat-protection/windows-defender-atp/data-storage-privacy-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/data-storage-privacy-windows-defender-advanced-threat-protection.md @@ -17,7 +17,7 @@ ms.date: 09/07/2018 # Windows Defender ATP data storage and privacy **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/defender-compatibility-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/defender-compatibility-windows-defender-advanced-threat-protection.md index ece3b28679..420fba6b8f 100644 --- a/windows/security/threat-protection/windows-defender-atp/defender-compatibility-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/defender-compatibility-windows-defender-advanced-threat-protection.md @@ -20,7 +20,7 @@ ms.date: 04/24/2018 - Windows Defender -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/enable-custom-ti-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/enable-custom-ti-windows-defender-advanced-threat-protection.md index 1010fe1684..f13739ad9c 100644 --- a/windows/security/threat-protection/windows-defender-atp/enable-custom-ti-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/enable-custom-ti-windows-defender-advanced-threat-protection.md @@ -19,7 +19,7 @@ ms.date: 04/24/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/enable-secure-score-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/enable-secure-score-windows-defender-advanced-threat-protection.md index 1e416dcaa7..e88f1959d0 100644 --- a/windows/security/threat-protection/windows-defender-atp/enable-secure-score-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/enable-secure-score-windows-defender-advanced-threat-protection.md @@ -19,7 +19,7 @@ ms.date: 04/24/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/enable-siem-integration-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/enable-siem-integration-windows-defender-advanced-threat-protection.md index d160ae5c3a..fbe3783a63 100644 --- a/windows/security/threat-protection/windows-defender-atp/enable-siem-integration-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/enable-siem-integration-windows-defender-advanced-threat-protection.md @@ -17,7 +17,7 @@ ms.date: 10/08/2018 # Enable SIEM integration in Windows Defender ATP **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/evaluate-atp.md b/windows/security/threat-protection/windows-defender-atp/evaluate-atp.md index 439774a08a..3422e6cbff 100644 --- a/windows/security/threat-protection/windows-defender-atp/evaluate-atp.md +++ b/windows/security/threat-protection/windows-defender-atp/evaluate-atp.md @@ -15,7 +15,7 @@ ms.date: 08/10/2018 --- # Evaluate Windows Defender ATP -Windows Defender Advanced Threat Protection (Windows Defender ATP) is a unified platform for preventative protection, post-breach detection, automated investigation, and response. +[Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) is a unified platform for preventative protection, post-breach detection, automated investigation, and response. You can evaluate Windows Defender Advanced Threat Protection in your organization by [starting your free trial](https://www.microsoft.com/en-us/WindowsForBusiness/windows-atp). diff --git a/windows/security/threat-protection/windows-defender-atp/event-error-codes-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/event-error-codes-windows-defender-advanced-threat-protection.md index 4f2681cf36..7d43f2c2a2 100644 --- a/windows/security/threat-protection/windows-defender-atp/event-error-codes-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/event-error-codes-windows-defender-advanced-threat-protection.md @@ -21,7 +21,7 @@ ms.date: 05/21/2018 - Event Viewer -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/experiment-custom-ti-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/experiment-custom-ti-windows-defender-advanced-threat-protection.md index e0399dc1d9..8aeb2539ee 100644 --- a/windows/security/threat-protection/windows-defender-atp/experiment-custom-ti-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/experiment-custom-ti-windows-defender-advanced-threat-protection.md @@ -19,7 +19,7 @@ ms.date: 11/09/2017 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection.md index 3189b3ffcb..82d6912c6d 100644 --- a/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/exposed-apis-windows-defender-advanced-threat-protection.md @@ -19,7 +19,7 @@ ms.date: 10/23/2017 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/find-machine-info-by-ip-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/find-machine-info-by-ip-windows-defender-advanced-threat-protection.md index 0f32d44dd4..0f74a2e1cf 100644 --- a/windows/security/threat-protection/windows-defender-atp/find-machine-info-by-ip-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/find-machine-info-by-ip-windows-defender-advanced-threat-protection.md @@ -18,7 +18,7 @@ ms.date: 07/25/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) Find a machine entity around a specific timestamp by internal IP. diff --git a/windows/security/threat-protection/windows-defender-atp/fix-unhealhty-sensors-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/fix-unhealhty-sensors-windows-defender-advanced-threat-protection.md index 40fc4f997e..77d40948be 100644 --- a/windows/security/threat-protection/windows-defender-atp/fix-unhealhty-sensors-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/fix-unhealhty-sensors-windows-defender-advanced-threat-protection.md @@ -19,7 +19,7 @@ ms.date: 10/23/2017 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/get-actor-information-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/get-actor-information-windows-defender-advanced-threat-protection.md index c7ad32d81d..12e531ccb6 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-actor-information-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/get-actor-information-windows-defender-advanced-threat-protection.md @@ -19,7 +19,7 @@ ms.date: 12/08/2017 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/get-actor-related-alerts-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/get-actor-related-alerts-windows-defender-advanced-threat-protection.md index 54c1dd45ee..216bf3fd90 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-actor-related-alerts-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/get-actor-related-alerts-windows-defender-advanced-threat-protection.md @@ -18,7 +18,7 @@ ms.date: 12/08/2017 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/get-alert-info-by-id-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/get-alert-info-by-id-windows-defender-advanced-threat-protection.md index b57243b615..d74debcef4 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-alert-info-by-id-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/get-alert-info-by-id-windows-defender-advanced-threat-protection.md @@ -18,7 +18,7 @@ ms.date: 12/08/2017 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/get-alert-related-actor-info-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/get-alert-related-actor-info-windows-defender-advanced-threat-protection.md index e914d35ccb..6eb366dc10 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-alert-related-actor-info-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/get-alert-related-actor-info-windows-defender-advanced-threat-protection.md @@ -18,7 +18,7 @@ ms.date: 12/08/2017 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/get-alert-related-domain-info-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/get-alert-related-domain-info-windows-defender-advanced-threat-protection.md index bc89209fbe..4558e6c341 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-alert-related-domain-info-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/get-alert-related-domain-info-windows-defender-advanced-threat-protection.md @@ -18,7 +18,7 @@ ms.date: 12/08/2017 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/get-alert-related-files-info-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/get-alert-related-files-info-windows-defender-advanced-threat-protection.md index 3efd2de78e..46fc01cffb 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-alert-related-files-info-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/get-alert-related-files-info-windows-defender-advanced-threat-protection.md @@ -18,7 +18,7 @@ ms.date: 12/08/2017 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/get-alert-related-ip-info-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/get-alert-related-ip-info-windows-defender-advanced-threat-protection.md index 3e296665a1..1952732087 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-alert-related-ip-info-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/get-alert-related-ip-info-windows-defender-advanced-threat-protection.md @@ -18,7 +18,7 @@ ms.date: 12/08/2017 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/get-alert-related-machine-info-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/get-alert-related-machine-info-windows-defender-advanced-threat-protection.md index c5d77400aa..52169b949b 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-alert-related-machine-info-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/get-alert-related-machine-info-windows-defender-advanced-threat-protection.md @@ -18,7 +18,7 @@ ms.date: 12/08/2017 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/get-alert-related-user-info-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/get-alert-related-user-info-windows-defender-advanced-threat-protection.md index 6993fd471d..c60acf0220 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-alert-related-user-info-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/get-alert-related-user-info-windows-defender-advanced-threat-protection.md @@ -18,7 +18,7 @@ ms.date: 12/08/2017 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/get-alerts-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/get-alerts-windows-defender-advanced-threat-protection.md index 200e9bcb18..29b9ca446e 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-alerts-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/get-alerts-windows-defender-advanced-threat-protection.md @@ -18,7 +18,7 @@ ms.date: 12/08/2017 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/get-cvekbmap-collection-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/get-cvekbmap-collection-windows-defender-advanced-threat-protection.md index 8b5aa9abb1..ae59bae72e 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-cvekbmap-collection-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/get-cvekbmap-collection-windows-defender-advanced-threat-protection.md @@ -18,7 +18,7 @@ ms.date: 10/07/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) Retrieves a map of CVE's to KB's and CVE details. diff --git a/windows/security/threat-protection/windows-defender-atp/get-domain-related-alerts-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/get-domain-related-alerts-windows-defender-advanced-threat-protection.md index 9ead2dbb39..5f0b8ccfc5 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-domain-related-alerts-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/get-domain-related-alerts-windows-defender-advanced-threat-protection.md @@ -18,7 +18,7 @@ ms.date: 12/08/2017 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/get-domain-related-machines-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/get-domain-related-machines-windows-defender-advanced-threat-protection.md index 37f79cad7c..c09460e204 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-domain-related-machines-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/get-domain-related-machines-windows-defender-advanced-threat-protection.md @@ -18,7 +18,7 @@ ms.date: 12/08/2017 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/get-domain-statistics-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/get-domain-statistics-windows-defender-advanced-threat-protection.md index a3c16e6ca8..2e3cde9b70 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-domain-statistics-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/get-domain-statistics-windows-defender-advanced-threat-protection.md @@ -18,7 +18,7 @@ ms.date: 12/08/2017 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/get-file-information-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/get-file-information-windows-defender-advanced-threat-protection.md index 7584b147fb..2d6f45993f 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-file-information-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/get-file-information-windows-defender-advanced-threat-protection.md @@ -18,7 +18,7 @@ ms.date: 12/08/2017 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/get-file-related-alerts-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/get-file-related-alerts-windows-defender-advanced-threat-protection.md index 05c27cc3c8..89272a50e2 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-file-related-alerts-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/get-file-related-alerts-windows-defender-advanced-threat-protection.md @@ -18,7 +18,7 @@ ms.date: 12/08/2017 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/get-file-related-machines-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/get-file-related-machines-windows-defender-advanced-threat-protection.md index 1fbbc3a108..62a8f25bcf 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-file-related-machines-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/get-file-related-machines-windows-defender-advanced-threat-protection.md @@ -18,7 +18,7 @@ ms.date: 12/08/2017 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/get-file-statistics-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/get-file-statistics-windows-defender-advanced-threat-protection.md index 097db254ff..07424aafd3 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-file-statistics-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/get-file-statistics-windows-defender-advanced-threat-protection.md @@ -18,7 +18,7 @@ ms.date: 12/08/2017 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/get-fileactions-collection-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/get-fileactions-collection-windows-defender-advanced-threat-protection.md index 6b46d49d1c..fb469ffac8 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-fileactions-collection-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/get-fileactions-collection-windows-defender-advanced-threat-protection.md @@ -18,7 +18,7 @@ ms.date: 12/08/2017 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/get-filemachineaction-object-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/get-filemachineaction-object-windows-defender-advanced-threat-protection.md index 129a601d95..0d846e906b 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-filemachineaction-object-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/get-filemachineaction-object-windows-defender-advanced-threat-protection.md @@ -18,7 +18,7 @@ ms.date: 12/08/2017 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/get-filemachineactions-collection-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/get-filemachineactions-collection-windows-defender-advanced-threat-protection.md index b22756a78b..27eb723cd9 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-filemachineactions-collection-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/get-filemachineactions-collection-windows-defender-advanced-threat-protection.md @@ -18,7 +18,7 @@ ms.date: 12/08/2017 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/get-ip-related-alerts-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/get-ip-related-alerts-windows-defender-advanced-threat-protection.md index fad5315c23..32e5f6f95e 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-ip-related-alerts-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/get-ip-related-alerts-windows-defender-advanced-threat-protection.md @@ -18,7 +18,7 @@ ms.date: 12/08/2017 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/get-ip-statistics-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/get-ip-statistics-windows-defender-advanced-threat-protection.md index 5134bd1653..04783ac39e 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-ip-statistics-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/get-ip-statistics-windows-defender-advanced-threat-protection.md @@ -18,7 +18,7 @@ ms.date: 12/08/2017 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/get-kbinfo-collection-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/get-kbinfo-collection-windows-defender-advanced-threat-protection.md index 60756f6400..700a3ded7d 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-kbinfo-collection-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/get-kbinfo-collection-windows-defender-advanced-threat-protection.md @@ -18,7 +18,7 @@ ms.date: 10/07/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) Retrieves a collection of KB's and KB details. diff --git a/windows/security/threat-protection/windows-defender-atp/get-machine-by-id-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/get-machine-by-id-windows-defender-advanced-threat-protection.md index d61e334add..078641587d 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-machine-by-id-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/get-machine-by-id-windows-defender-advanced-threat-protection.md @@ -18,7 +18,7 @@ ms.date: 12/08/2017 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/get-machine-log-on-users-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/get-machine-log-on-users-windows-defender-advanced-threat-protection.md index 4669b6ac62..0bf2c47c64 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-machine-log-on-users-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/get-machine-log-on-users-windows-defender-advanced-threat-protection.md @@ -18,7 +18,7 @@ ms.date: 12/08/2017 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/get-machine-related-alerts-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/get-machine-related-alerts-windows-defender-advanced-threat-protection.md index 9a01fc1a18..4d976968c0 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-machine-related-alerts-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/get-machine-related-alerts-windows-defender-advanced-threat-protection.md @@ -18,7 +18,7 @@ ms.date: 12/08/2017 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/get-machineaction-object-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/get-machineaction-object-windows-defender-advanced-threat-protection.md index 0628465533..2c94ca5628 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-machineaction-object-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/get-machineaction-object-windows-defender-advanced-threat-protection.md @@ -18,7 +18,7 @@ ms.date: 12/08/2017 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/get-machineactions-collection-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/get-machineactions-collection-windows-defender-advanced-threat-protection.md index 889383cdab..c86ead0780 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-machineactions-collection-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/get-machineactions-collection-windows-defender-advanced-threat-protection.md @@ -18,7 +18,7 @@ ms.date: 12/08/2017 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/get-machinegroups-collection-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/get-machinegroups-collection-windows-defender-advanced-threat-protection.md index 1d2ab14e01..d98a86a488 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-machinegroups-collection-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/get-machinegroups-collection-windows-defender-advanced-threat-protection.md @@ -18,7 +18,7 @@ ms.date: 10/07/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) Retrieves a collection of RBAC machine groups. diff --git a/windows/security/threat-protection/windows-defender-atp/get-machines-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/get-machines-windows-defender-advanced-threat-protection.md index 5fc127f082..d442db809b 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-machines-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/get-machines-windows-defender-advanced-threat-protection.md @@ -18,7 +18,7 @@ ms.date: 12/08/2017 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/get-machinesecuritystates-collection-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/get-machinesecuritystates-collection-windows-defender-advanced-threat-protection.md index 1b3f4fe295..8880d2c1b8 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-machinesecuritystates-collection-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/get-machinesecuritystates-collection-windows-defender-advanced-threat-protection.md @@ -18,7 +18,7 @@ ms.date: 10/07/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) Retrieves a collection of machines security states. diff --git a/windows/security/threat-protection/windows-defender-atp/get-package-sas-uri-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/get-package-sas-uri-windows-defender-advanced-threat-protection.md index b360312126..60f0e29f88 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-package-sas-uri-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/get-package-sas-uri-windows-defender-advanced-threat-protection.md @@ -18,7 +18,7 @@ ms.date: 12/08/2017 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/get-started.md b/windows/security/threat-protection/windows-defender-atp/get-started.md index 0d0972f0bd..08d0bcb99e 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-started.md +++ b/windows/security/threat-protection/windows-defender-atp/get-started.md @@ -17,7 +17,7 @@ ms.date: 09/03/2018 # Get started with Windows Defender Advanced Threat Protection **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) Learn about the minimum requirements and initial steps you need to take to get started with Windows Defender ATP. diff --git a/windows/security/threat-protection/windows-defender-atp/get-user-information-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/get-user-information-windows-defender-advanced-threat-protection.md index ac38166ec1..c4dfae50e6 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-user-information-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/get-user-information-windows-defender-advanced-threat-protection.md @@ -18,7 +18,7 @@ ms.date: 12/08/2017 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/get-user-related-alerts-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/get-user-related-alerts-windows-defender-advanced-threat-protection.md index 4283b6db69..aadcc3dd2b 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-user-related-alerts-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/get-user-related-alerts-windows-defender-advanced-threat-protection.md @@ -18,7 +18,7 @@ ms.date: 12/08/2017 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/get-user-related-machines-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/get-user-related-machines-windows-defender-advanced-threat-protection.md index 4be3026444..1b66f1961a 100644 --- a/windows/security/threat-protection/windows-defender-atp/get-user-related-machines-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/get-user-related-machines-windows-defender-advanced-threat-protection.md @@ -18,7 +18,7 @@ ms.date: 12/08/2017 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/incidents-queue.md b/windows/security/threat-protection/windows-defender-atp/incidents-queue.md index fa6a121754..01abcc2317 100644 --- a/windows/security/threat-protection/windows-defender-atp/incidents-queue.md +++ b/windows/security/threat-protection/windows-defender-atp/incidents-queue.md @@ -16,7 +16,7 @@ ms.date: 10/08/2018 # Incidents queue in Windows Defender ATP **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) [!include[Prerelease information](prerelease.md)] diff --git a/windows/security/threat-protection/windows-defender-atp/investigate-alerts-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/investigate-alerts-windows-defender-advanced-threat-protection.md index 56ea8cdf4a..87f2d65c02 100644 --- a/windows/security/threat-protection/windows-defender-atp/investigate-alerts-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/investigate-alerts-windows-defender-advanced-threat-protection.md @@ -18,7 +18,7 @@ ms.date: 04/24/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/investigate-domain-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/investigate-domain-windows-defender-advanced-threat-protection.md index 65acd1c33c..3529488b89 100644 --- a/windows/security/threat-protection/windows-defender-atp/investigate-domain-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/investigate-domain-windows-defender-advanced-threat-protection.md @@ -18,7 +18,7 @@ ms.date: 04/24/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/investigate-files-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/investigate-files-windows-defender-advanced-threat-protection.md index d680bef4c2..196e04a38f 100644 --- a/windows/security/threat-protection/windows-defender-atp/investigate-files-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/investigate-files-windows-defender-advanced-threat-protection.md @@ -18,7 +18,7 @@ ms.date: 04/24/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/investigate-incidents-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/investigate-incidents-windows-defender-advanced-threat-protection.md index bac3bc4093..464c9131b9 100644 --- a/windows/security/threat-protection/windows-defender-atp/investigate-incidents-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/investigate-incidents-windows-defender-advanced-threat-protection.md @@ -17,7 +17,7 @@ ms.date: 10/08/2018 # Investigate incidents in Windows Defender ATP **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) [!include[Prerelease information](prerelease.md)] diff --git a/windows/security/threat-protection/windows-defender-atp/investigate-ip-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/investigate-ip-windows-defender-advanced-threat-protection.md index 44daae5c16..0a5384f47f 100644 --- a/windows/security/threat-protection/windows-defender-atp/investigate-ip-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/investigate-ip-windows-defender-advanced-threat-protection.md @@ -18,7 +18,7 @@ ms.date: 04/24/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/investigate-machines-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/investigate-machines-windows-defender-advanced-threat-protection.md index f9145a0e27..2c1fdf3100 100644 --- a/windows/security/threat-protection/windows-defender-atp/investigate-machines-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/investigate-machines-windows-defender-advanced-threat-protection.md @@ -17,7 +17,7 @@ ms.date: 09/18/2018 # Investigate machines in the Windows Defender ATP Machines list **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) >Want to experience Windows Defender ATP? [Sign up for a free trial.](https://www.microsoft.com/en-us/WindowsForBusiness/windows-atp?ocid=docs-wdatp-investigatemachines-abovefoldlink) diff --git a/windows/security/threat-protection/windows-defender-atp/investigate-user-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/investigate-user-windows-defender-advanced-threat-protection.md index dcbc200193..7850ace854 100644 --- a/windows/security/threat-protection/windows-defender-atp/investigate-user-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/investigate-user-windows-defender-advanced-threat-protection.md @@ -17,7 +17,7 @@ ms.date: 04/24/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/is-ip-seen-org-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/is-ip-seen-org-windows-defender-advanced-threat-protection.md index 7b493211a5..d006cede0b 100644 --- a/windows/security/threat-protection/windows-defender-atp/is-ip-seen-org-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/is-ip-seen-org-windows-defender-advanced-threat-protection.md @@ -18,7 +18,7 @@ ms.date: 12/08/2017 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/isolate-machine-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/isolate-machine-windows-defender-advanced-threat-protection.md index 3ab7ab04d5..61cfbb1c6f 100644 --- a/windows/security/threat-protection/windows-defender-atp/isolate-machine-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/isolate-machine-windows-defender-advanced-threat-protection.md @@ -18,7 +18,7 @@ ms.date: 12/08/2017 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/licensing-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/licensing-windows-defender-advanced-threat-protection.md index 002cb3f3e8..3e8115cdf3 100644 --- a/windows/security/threat-protection/windows-defender-atp/licensing-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/licensing-windows-defender-advanced-threat-protection.md @@ -18,7 +18,7 @@ ms.date: 10/16/2017 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/machine-groups-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/machine-groups-windows-defender-advanced-threat-protection.md index a831efcf16..4f1279bc34 100644 --- a/windows/security/threat-protection/windows-defender-atp/machine-groups-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/machine-groups-windows-defender-advanced-threat-protection.md @@ -20,7 +20,7 @@ ms.date: 05/08/2018 - Azure Active Directory - Office 365 -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/machines-view-overview-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/machines-view-overview-windows-defender-advanced-threat-protection.md index 830fa8ab3c..71992afbff 100644 --- a/windows/security/threat-protection/windows-defender-atp/machines-view-overview-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/machines-view-overview-windows-defender-advanced-threat-protection.md @@ -19,7 +19,7 @@ ms.date: 09/03/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) >Want to experience Windows Defender ATP? [Sign up for a free trial.](https://www.microsoft.com/en-us/WindowsForBusiness/windows-atp?ocid=docs-wdatp-machinesview-abovefoldlink) diff --git a/windows/security/threat-protection/windows-defender-atp/manage-alerts-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/manage-alerts-windows-defender-advanced-threat-protection.md index 76a5039107..352b56b258 100644 --- a/windows/security/threat-protection/windows-defender-atp/manage-alerts-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/manage-alerts-windows-defender-advanced-threat-protection.md @@ -17,7 +17,7 @@ ms.date: 09/03/2018 # Manage Windows Defender Advanced Threat Protection alerts **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) >Want to experience Windows Defender ATP? [Sign up for a free trial.](https://www.microsoft.com/en-us/WindowsForBusiness/windows-atp?ocid=docs-wdatp-managealerts-abovefoldlink) diff --git a/windows/security/threat-protection/windows-defender-atp/manage-automation-allowed-blocked-list-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/manage-automation-allowed-blocked-list-windows-defender-advanced-threat-protection.md index bdecb21ec0..3f276fd070 100644 --- a/windows/security/threat-protection/windows-defender-atp/manage-automation-allowed-blocked-list-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/manage-automation-allowed-blocked-list-windows-defender-advanced-threat-protection.md @@ -19,7 +19,7 @@ ms.date: 06/14/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/manage-automation-file-uploads-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/manage-automation-file-uploads-windows-defender-advanced-threat-protection.md index c29f83b9b6..99572285a6 100644 --- a/windows/security/threat-protection/windows-defender-atp/manage-automation-file-uploads-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/manage-automation-file-uploads-windows-defender-advanced-threat-protection.md @@ -19,7 +19,7 @@ ms.date: 04/24/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/manage-automation-folder-exclusions-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/manage-automation-folder-exclusions-windows-defender-advanced-threat-protection.md index 7fa091f70d..d078349bb4 100644 --- a/windows/security/threat-protection/windows-defender-atp/manage-automation-folder-exclusions-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/manage-automation-folder-exclusions-windows-defender-advanced-threat-protection.md @@ -19,7 +19,7 @@ ms.date: 04/24/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/manage-incidents-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/manage-incidents-windows-defender-advanced-threat-protection.md index 6f9871b74e..83a65ee991 100644 --- a/windows/security/threat-protection/windows-defender-atp/manage-incidents-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/manage-incidents-windows-defender-advanced-threat-protection.md @@ -17,7 +17,7 @@ ms.date: 010/08/2018 # Manage Windows Defender ATP incidents **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) [!include[Prerelease information](prerelease.md)] diff --git a/windows/security/threat-protection/windows-defender-atp/manage-suppression-rules-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/manage-suppression-rules-windows-defender-advanced-threat-protection.md index 15632e8fdf..7154f763fb 100644 --- a/windows/security/threat-protection/windows-defender-atp/manage-suppression-rules-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/manage-suppression-rules-windows-defender-advanced-threat-protection.md @@ -19,7 +19,7 @@ ms.date: 04/24/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/management-apis.md b/windows/security/threat-protection/windows-defender-atp/management-apis.md index ca0c7f20f7..0837b7356d 100644 --- a/windows/security/threat-protection/windows-defender-atp/management-apis.md +++ b/windows/security/threat-protection/windows-defender-atp/management-apis.md @@ -17,7 +17,7 @@ ms.date: 09/03/2018 # Overview of management and APIs **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) >Want to experience Windows Defender ATP? [Sign up for a free trial.](https://www.microsoft.com/en-us/WindowsForBusiness/windows-atp?ocid=docs-mgt-apis-abovefoldlink) diff --git a/windows/security/threat-protection/windows-defender-atp/microsoft-cloud-app-security-config.md b/windows/security/threat-protection/windows-defender-atp/microsoft-cloud-app-security-config.md index 1ccd16747d..bcadd41d25 100644 --- a/windows/security/threat-protection/windows-defender-atp/microsoft-cloud-app-security-config.md +++ b/windows/security/threat-protection/windows-defender-atp/microsoft-cloud-app-security-config.md @@ -17,7 +17,7 @@ ms.date: 09/19/2018 # Configure Microsoft Cloud App Security integration **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) [!include[Prerelease�information](prerelease.md)] diff --git a/windows/security/threat-protection/windows-defender-atp/microsoft-cloud-app-security-integration.md b/windows/security/threat-protection/windows-defender-atp/microsoft-cloud-app-security-integration.md index 1a46548cdd..c18f430649 100644 --- a/windows/security/threat-protection/windows-defender-atp/microsoft-cloud-app-security-integration.md +++ b/windows/security/threat-protection/windows-defender-atp/microsoft-cloud-app-security-integration.md @@ -16,7 +16,7 @@ ms.date: 09/18/2018 # Microsoft Cloud App Security integration overview **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) [!include[Prerelease�information](prerelease.md)] diff --git a/windows/security/threat-protection/windows-defender-atp/minimum-requirements-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/minimum-requirements-windows-defender-advanced-threat-protection.md index db250caeda..4d2d4dc628 100644 --- a/windows/security/threat-protection/windows-defender-atp/minimum-requirements-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/minimum-requirements-windows-defender-advanced-threat-protection.md @@ -17,7 +17,7 @@ ms.date: 07/01/2018 # Minimum requirements for Windows Defender ATP **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) There are some minimum requirements for onboarding machines to the service. diff --git a/windows/security/threat-protection/windows-defender-atp/mssp-support-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/mssp-support-windows-defender-advanced-threat-protection.md index f94250c812..71a710869a 100644 --- a/windows/security/threat-protection/windows-defender-atp/mssp-support-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/mssp-support-windows-defender-advanced-threat-protection.md @@ -17,7 +17,7 @@ ms.date: 10/29/2018 # Managed security service provider support **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) >Want to experience Windows Defender ATP? [Sign up for a free trial.](https://www.microsoft.com/en-us/WindowsForBusiness/windows-atp?ocid=docs-mssp-support-abovefoldlink) diff --git a/windows/security/threat-protection/windows-defender-atp/offboard-machines-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/offboard-machines-windows-defender-advanced-threat-protection.md index c5dbddb3a0..17bba254f9 100644 --- a/windows/security/threat-protection/windows-defender-atp/offboard-machines-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/offboard-machines-windows-defender-advanced-threat-protection.md @@ -21,7 +21,7 @@ ms.date: 04/24/2018 - Linux - Windows Server 2012 R2 - Windows Server 2016 -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/onboard-configure-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/onboard-configure-windows-defender-advanced-threat-protection.md index b2004cfea5..d53fe2abfd 100644 --- a/windows/security/threat-protection/windows-defender-atp/onboard-configure-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/onboard-configure-windows-defender-advanced-threat-protection.md @@ -17,7 +17,7 @@ ms.date: 07/01/2018 # Onboard machines to the Windows Defender ATP service **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) You need to turn on the sensor to give visibility within Windows Defender ATP. diff --git a/windows/security/threat-protection/windows-defender-atp/onboard-downlevel-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/onboard-downlevel-windows-defender-advanced-threat-protection.md index b092882ebc..59c6a4e7a2 100644 --- a/windows/security/threat-protection/windows-defender-atp/onboard-downlevel-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/onboard-downlevel-windows-defender-advanced-threat-protection.md @@ -22,7 +22,7 @@ ms.date: 10/10/2018 - Windows 7 SP1 Pro - Windows 8.1 Pro - Windows 8.1 Enterprise -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) [!include[Prerelease information](prerelease.md)] diff --git a/windows/security/threat-protection/windows-defender-atp/onboard.md b/windows/security/threat-protection/windows-defender-atp/onboard.md index 461847ca9e..eff2042b2e 100644 --- a/windows/security/threat-protection/windows-defender-atp/onboard.md +++ b/windows/security/threat-protection/windows-defender-atp/onboard.md @@ -17,7 +17,7 @@ ms.date: 09/03/2018 # Configure and manage Windows Defender ATP capabilities **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) Configure and manage all the Windows Defender ATP capabilities to get the best security protection for your organization. diff --git a/windows/security/threat-protection/windows-defender-atp/overview-attack-surface-reduction.md b/windows/security/threat-protection/windows-defender-atp/overview-attack-surface-reduction.md index 5d7e92ddb8..fdd308623f 100644 --- a/windows/security/threat-protection/windows-defender-atp/overview-attack-surface-reduction.md +++ b/windows/security/threat-protection/windows-defender-atp/overview-attack-surface-reduction.md @@ -17,7 +17,7 @@ ms.date: 07/01/2018 # Overview of attack surface reduction **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) Attack surface reduction capabilities in Windows Defender ATP helps protect the devices and applications in your organization from new and emerging threats. diff --git a/windows/security/threat-protection/windows-defender-atp/overview-custom-detections.md b/windows/security/threat-protection/windows-defender-atp/overview-custom-detections.md index 40d4dc50bc..de0be3f887 100644 --- a/windows/security/threat-protection/windows-defender-atp/overview-custom-detections.md +++ b/windows/security/threat-protection/windows-defender-atp/overview-custom-detections.md @@ -17,7 +17,7 @@ ms.date: 10/29/2018 # Custom detections overview **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) Alerts in Windows Defender ATP are surfaced through the system based on signals gathered from endpoints. With custom detections, you can create custom queries to monitor events for any kind of behavior such as suspicious or emerging threats. diff --git a/windows/security/threat-protection/windows-defender-atp/overview-endpoint-detection-response.md b/windows/security/threat-protection/windows-defender-atp/overview-endpoint-detection-response.md index ccc6ab2c87..ae60213fe2 100644 --- a/windows/security/threat-protection/windows-defender-atp/overview-endpoint-detection-response.md +++ b/windows/security/threat-protection/windows-defender-atp/overview-endpoint-detection-response.md @@ -17,7 +17,7 @@ ms.date: 09/03/2018 # Overview of endpoint detection and response **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) The Windows Defender ATP endpoint detection and response capabilities provides near real-time actionable advance attacks detections, enables security analysts to effectively prioritize alerts, unfold the full scope of a breach and take response actions to remediate the threat. diff --git a/windows/security/threat-protection/windows-defender-atp/overview-hardware-based-isolation.md b/windows/security/threat-protection/windows-defender-atp/overview-hardware-based-isolation.md index 88596a6cef..99b9d8721c 100644 --- a/windows/security/threat-protection/windows-defender-atp/overview-hardware-based-isolation.md +++ b/windows/security/threat-protection/windows-defender-atp/overview-hardware-based-isolation.md @@ -14,7 +14,7 @@ ms.date: 09/07/2018 # Hardware-based isolation in Windows 10 -**Applies to:** Windows Defender Advanced Threat Protection (Windows Defender ATP) +**Applies to:** [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) Hardware-based isolation helps protect system integrity in Windows 10 and is integrated with Windows Defender ATP. diff --git a/windows/security/threat-protection/windows-defender-atp/overview-hunting-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/overview-hunting-windows-defender-advanced-threat-protection.md index bacc9fdbc1..5bed487738 100644 --- a/windows/security/threat-protection/windows-defender-atp/overview-hunting-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/overview-hunting-windows-defender-advanced-threat-protection.md @@ -16,7 +16,7 @@ ms.date: 09/12/2018 # Overview of advanced hunting **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) Advanced hunting allows you to hunt for possible threats across your organization using a powerful search and query tool. You can also create custom detection rules based on the queries you created and surface alerts in Windows Defender Security Center. diff --git a/windows/security/threat-protection/windows-defender-atp/overview-secure-score-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/overview-secure-score-windows-defender-advanced-threat-protection.md index 5cd11935ed..7e3637ad4f 100644 --- a/windows/security/threat-protection/windows-defender-atp/overview-secure-score-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/overview-secure-score-windows-defender-advanced-threat-protection.md @@ -16,7 +16,7 @@ ms.date: 09/03/2018 # Overview of Secure score in Windows Defender Security Center **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) The Secure score dashboard expands your visibility into the overall security posture of your organization. From this dashboard, you'll be able to quickly assess the security posture of your organization, see machines that require attention, as well as recommendations for actions to further reduce the attack surface in your organization - all in one place. From there you can take action based on the recommended configuration baselines. diff --git a/windows/security/threat-protection/windows-defender-atp/overview.md b/windows/security/threat-protection/windows-defender-atp/overview.md index df560a652f..9741504d5c 100644 --- a/windows/security/threat-protection/windows-defender-atp/overview.md +++ b/windows/security/threat-protection/windows-defender-atp/overview.md @@ -17,7 +17,7 @@ ms.date: 09/03/2018 # Overview of Windows Defender ATP capabilities **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) Understand the concepts behind the capabilities in Windows Defender ATP so you take full advantage of the complete threat protection platform. diff --git a/windows/security/threat-protection/windows-defender-atp/portal-overview-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/portal-overview-windows-defender-advanced-threat-protection.md index 1457a0d7dd..562664aec0 100644 --- a/windows/security/threat-protection/windows-defender-atp/portal-overview-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/portal-overview-windows-defender-advanced-threat-protection.md @@ -17,7 +17,7 @@ ms.date: 04/24/2018 # Windows Defender Advanced Threat Protection portal overview **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/powerbi-reports-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/powerbi-reports-windows-defender-advanced-threat-protection.md index 9cac40a33b..48c6104eb8 100644 --- a/windows/security/threat-protection/windows-defender-atp/powerbi-reports-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/powerbi-reports-windows-defender-advanced-threat-protection.md @@ -17,7 +17,7 @@ ms.date: 10/19/2018 # Create and build Power BI reports using Windows Defender ATP data **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/powershell-example-code-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/powershell-example-code-windows-defender-advanced-threat-protection.md index b61ff7d784..545da6110c 100644 --- a/windows/security/threat-protection/windows-defender-atp/powershell-example-code-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/powershell-example-code-windows-defender-advanced-threat-protection.md @@ -17,7 +17,7 @@ ms.date: 04/24/2018 # PowerShell code examples for the custom threat intelligence API **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/preferences-setup-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/preferences-setup-windows-defender-advanced-threat-protection.md index 828c4d45ac..d408ead55e 100644 --- a/windows/security/threat-protection/windows-defender-atp/preferences-setup-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/preferences-setup-windows-defender-advanced-threat-protection.md @@ -16,7 +16,7 @@ ms.date: 04/24/2018 # Configure Windows Defender Security Center settings **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) >Want to experience Windows Defender ATP? [Sign up for a free trial.](https://www.microsoft.com/en-us/WindowsForBusiness/windows-atp?ocid=docs-wdatp-prefsettings-abovefoldlink) diff --git a/windows/security/threat-protection/windows-defender-atp/preview-settings-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/preview-settings-windows-defender-advanced-threat-protection.md index 2e309e3b2e..a3411e8a2a 100644 --- a/windows/security/threat-protection/windows-defender-atp/preview-settings-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/preview-settings-windows-defender-advanced-threat-protection.md @@ -16,7 +16,7 @@ ms.date: 04/24/2018 # Turn on the preview experience in Windows Defender ATP **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/preview-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/preview-windows-defender-advanced-threat-protection.md index 27650aecca..f77b086c9e 100644 --- a/windows/security/threat-protection/windows-defender-atp/preview-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/preview-windows-defender-advanced-threat-protection.md @@ -17,7 +17,7 @@ ms.date: 11/05/2018 # Windows Defender ATP preview features **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/pull-alerts-using-rest-api-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/pull-alerts-using-rest-api-windows-defender-advanced-threat-protection.md index 9668da89eb..4ede6cb172 100644 --- a/windows/security/threat-protection/windows-defender-atp/pull-alerts-using-rest-api-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/pull-alerts-using-rest-api-windows-defender-advanced-threat-protection.md @@ -17,7 +17,7 @@ ms.date: 10/26/2018 # Pull Windows Defender ATP alerts using REST API **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/python-example-code-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/python-example-code-windows-defender-advanced-threat-protection.md index 46742baa03..57d3428cbc 100644 --- a/windows/security/threat-protection/windows-defender-atp/python-example-code-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/python-example-code-windows-defender-advanced-threat-protection.md @@ -19,7 +19,7 @@ ms.date: 04/24/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/rbac-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/rbac-windows-defender-advanced-threat-protection.md index 5503cf2607..bc2837f2bb 100644 --- a/windows/security/threat-protection/windows-defender-atp/rbac-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/rbac-windows-defender-advanced-threat-protection.md @@ -18,7 +18,7 @@ ms.date: 05/08/2018 **Applies to:** - Azure Active Directory - Office 365 -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) >Want to experience Windows Defender ATP? [Sign up for a free trial.](https://www.microsoft.com/en-us/WindowsForBusiness/windows-atp?ocid=docs-wdatp-rbac-abovefoldlink) diff --git a/windows/security/threat-protection/windows-defender-atp/request-sample-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/request-sample-windows-defender-advanced-threat-protection.md index d9baf6c10d..8c0f6851d1 100644 --- a/windows/security/threat-protection/windows-defender-atp/request-sample-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/request-sample-windows-defender-advanced-threat-protection.md @@ -18,7 +18,7 @@ ms.date: 12/08/2017 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/respond-file-alerts-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/respond-file-alerts-windows-defender-advanced-threat-protection.md index 37af693216..e6e881df90 100644 --- a/windows/security/threat-protection/windows-defender-atp/respond-file-alerts-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/respond-file-alerts-windows-defender-advanced-threat-protection.md @@ -17,7 +17,7 @@ ms.date: 04/24/2018 # Take response actions on a file **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/respond-machine-alerts-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/respond-machine-alerts-windows-defender-advanced-threat-protection.md index 1d46a897c3..cdc3c156e4 100644 --- a/windows/security/threat-protection/windows-defender-atp/respond-machine-alerts-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/respond-machine-alerts-windows-defender-advanced-threat-protection.md @@ -17,7 +17,7 @@ ms.date: 11/05/2018 # Take response actions on a machine **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) >Want to experience Windows Defender ATP? [Sign up for a free trial.](https://www.microsoft.com/en-us/WindowsForBusiness/windows-atp?ocid=docs-wdatp-respondmachine-abovefoldlink) diff --git a/windows/security/threat-protection/windows-defender-atp/response-actions-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/response-actions-windows-defender-advanced-threat-protection.md index 565ee7cc61..202606d056 100644 --- a/windows/security/threat-protection/windows-defender-atp/response-actions-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/response-actions-windows-defender-advanced-threat-protection.md @@ -17,7 +17,7 @@ ms.date: 11/12/2017 # Take response actions in Windows Defender ATP **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/restrict-code-execution-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/restrict-code-execution-windows-defender-advanced-threat-protection.md index c3845d021a..3eb57786f8 100644 --- a/windows/security/threat-protection/windows-defender-atp/restrict-code-execution-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/restrict-code-execution-windows-defender-advanced-threat-protection.md @@ -17,7 +17,7 @@ ms.date: 12/08/2017 # Restrict app execution API **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/run-av-scan-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/run-av-scan-windows-defender-advanced-threat-protection.md index 52cab18906..73333ff005 100644 --- a/windows/security/threat-protection/windows-defender-atp/run-av-scan-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/run-av-scan-windows-defender-advanced-threat-protection.md @@ -17,7 +17,7 @@ ms.date: 12/08/2017 # Run antivirus scan API **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/run-detection-test-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/run-detection-test-windows-defender-advanced-threat-protection.md index ad6fbc2bec..e0cf7f036b 100644 --- a/windows/security/threat-protection/windows-defender-atp/run-detection-test-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/run-detection-test-windows-defender-advanced-threat-protection.md @@ -22,7 +22,7 @@ ms.date: 09/07/2018 - Windows Server 2016 - Windows Server, version 1803 - Windows Server, 2019 -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) Run the following PowerShell script on a newly onboarded machine to verify that it is properly reporting to the Windows Defender ATP service. diff --git a/windows/security/threat-protection/windows-defender-atp/secure-score-dashboard-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/secure-score-dashboard-windows-defender-advanced-threat-protection.md index 36ff48cd5d..6fff222564 100644 --- a/windows/security/threat-protection/windows-defender-atp/secure-score-dashboard-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/secure-score-dashboard-windows-defender-advanced-threat-protection.md @@ -15,7 +15,7 @@ ms.date: 10/26/2018 # Configure the security controls in Secure score **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) Each security control lists recommendations that you can take to increase the security posture of your organization. diff --git a/windows/security/threat-protection/windows-defender-atp/security-operations-dashboard-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/security-operations-dashboard-windows-defender-advanced-threat-protection.md index 907d6c7b27..a5f69cd49c 100644 --- a/windows/security/threat-protection/windows-defender-atp/security-operations-dashboard-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/security-operations-dashboard-windows-defender-advanced-threat-protection.md @@ -17,7 +17,7 @@ ms.date: 09/04/2018 # Windows Defender Security Center Security operations dashboard **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) >Want to experience Windows Defender ATP? [Sign up for a free trial.](https://www.microsoft.com/en-us/WindowsForBusiness/windows-atp?ocid=docs-wdatp-secopsdashboard-abovefoldlink) diff --git a/windows/security/threat-protection/windows-defender-atp/service-status-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/service-status-windows-defender-advanced-threat-protection.md index 65de179e29..b74a5f896b 100644 --- a/windows/security/threat-protection/windows-defender-atp/service-status-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/service-status-windows-defender-advanced-threat-protection.md @@ -17,7 +17,7 @@ ms.date: 04/24/2018 # Check the Windows Defender Advanced Threat Protection service health **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/stop-quarantine-file-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/stop-quarantine-file-windows-defender-advanced-threat-protection.md index 837e642aa1..06af6fc6af 100644 --- a/windows/security/threat-protection/windows-defender-atp/stop-quarantine-file-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/stop-quarantine-file-windows-defender-advanced-threat-protection.md @@ -17,7 +17,7 @@ ms.date: 12/08/2017 # Stop and quarantine file API **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/supported-apis-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/supported-apis-windows-defender-advanced-threat-protection.md index 83fbe686fb..e5bb46bc1d 100644 --- a/windows/security/threat-protection/windows-defender-atp/supported-apis-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/supported-apis-windows-defender-advanced-threat-protection.md @@ -17,7 +17,7 @@ ms.date: 09/03/2018 # Supported Windows Defender ATP query APIs **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/supported-response-apis-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/supported-response-apis-windows-defender-advanced-threat-protection.md index fe228f3acc..55dd5a1cfc 100644 --- a/windows/security/threat-protection/windows-defender-atp/supported-response-apis-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/supported-response-apis-windows-defender-advanced-threat-protection.md @@ -17,7 +17,7 @@ ms.date: 12/01/2017 # Supported Windows Defender ATP query APIs **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) >Want to experience Windows Defender ATP? [Sign up for a free trial.](https://www.microsoft.com/en-us/WindowsForBusiness/windows-atp?ocid=docs-wdatp-supported-response-apis-abovefoldlink) diff --git a/windows/security/threat-protection/windows-defender-atp/threat-analytics-dashboard-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/threat-analytics-dashboard-windows-defender-advanced-threat-protection.md index 321085bc62..4aab3cf41a 100644 --- a/windows/security/threat-protection/windows-defender-atp/threat-analytics-dashboard-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/threat-analytics-dashboard-windows-defender-advanced-threat-protection.md @@ -16,7 +16,7 @@ ms.date: 09/03/2018 # Threat analytics for Spectre and Meltdown **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) The **Threat analytics** dashboard provides insight on how emerging threats affect your organization. It provides information that's specific for your organization. diff --git a/windows/security/threat-protection/windows-defender-atp/threat-analytics.md b/windows/security/threat-protection/windows-defender-atp/threat-analytics.md index bfd50a15cf..ba29920b5d 100644 --- a/windows/security/threat-protection/windows-defender-atp/threat-analytics.md +++ b/windows/security/threat-protection/windows-defender-atp/threat-analytics.md @@ -16,7 +16,7 @@ ms.date: 10/29/2018 # Threat analytics **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) Cyberthreats are emerging more frequently and prevalently. It is critical for organizations to be able to quickly assess their security posture, including impact, and organizational resilience in the context of specific emerging threats. diff --git a/windows/security/threat-protection/windows-defender-atp/threat-indicator-concepts-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/threat-indicator-concepts-windows-defender-advanced-threat-protection.md index 3f5a0597bd..155f23aef6 100644 --- a/windows/security/threat-protection/windows-defender-atp/threat-indicator-concepts-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/threat-indicator-concepts-windows-defender-advanced-threat-protection.md @@ -17,7 +17,7 @@ ms.date: 09/03/2018 # Understand threat intelligence concepts **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/threat-protection-integration.md b/windows/security/threat-protection/windows-defender-atp/threat-protection-integration.md index 4c9c126a2d..e0301cebc1 100644 --- a/windows/security/threat-protection/windows-defender-atp/threat-protection-integration.md +++ b/windows/security/threat-protection/windows-defender-atp/threat-protection-integration.md @@ -18,7 +18,7 @@ ms.date: 10/12/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) Windows Defender ATP is part of the Microsoft Threat Protection solution that helps implement end-to-end security across possible attack surfaces in the modern workplace. diff --git a/windows/security/threat-protection/windows-defender-atp/time-settings-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/time-settings-windows-defender-advanced-threat-protection.md index 4dd9223f2d..e513ef6ba4 100644 --- a/windows/security/threat-protection/windows-defender-atp/time-settings-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/time-settings-windows-defender-advanced-threat-protection.md @@ -17,7 +17,7 @@ ms.date: 02/13/2018 # Windows Defender Security Center time zone settings **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/troubleshoot-custom-ti-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/troubleshoot-custom-ti-windows-defender-advanced-threat-protection.md index 813babce81..193e3acb5f 100644 --- a/windows/security/threat-protection/windows-defender-atp/troubleshoot-custom-ti-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/troubleshoot-custom-ti-windows-defender-advanced-threat-protection.md @@ -19,7 +19,7 @@ ms.date: 06/25/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/troubleshoot-onboarding-error-messages-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/troubleshoot-onboarding-error-messages-windows-defender-advanced-threat-protection.md index dce7b35436..01a0beefda 100644 --- a/windows/security/threat-protection/windows-defender-atp/troubleshoot-onboarding-error-messages-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/troubleshoot-onboarding-error-messages-windows-defender-advanced-threat-protection.md @@ -19,7 +19,7 @@ ms.date: 08/01/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) >Want to experience Windows Defender ATP? [Sign up for a free trial.](https://www.microsoft.com/en-us/WindowsForBusiness/windows-atp?ocid=docs-wdatp-troublshootonboarding-abovefoldlink) diff --git a/windows/security/threat-protection/windows-defender-atp/troubleshoot-onboarding-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/troubleshoot-onboarding-windows-defender-advanced-threat-protection.md index 7f38e2545a..3a34547911 100644 --- a/windows/security/threat-protection/windows-defender-atp/troubleshoot-onboarding-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/troubleshoot-onboarding-windows-defender-advanced-threat-protection.md @@ -17,7 +17,7 @@ ms.date: 09/07/2018 # Troubleshoot Windows Defender Advanced Threat Protection onboarding issues **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) - Windows Server 2012 R2 - Windows Server 2016 diff --git a/windows/security/threat-protection/windows-defender-atp/troubleshoot-siem-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/troubleshoot-siem-windows-defender-advanced-threat-protection.md index 2d4fc88758..ec2722306c 100644 --- a/windows/security/threat-protection/windows-defender-atp/troubleshoot-siem-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/troubleshoot-siem-windows-defender-advanced-threat-protection.md @@ -17,7 +17,7 @@ ms.date: 02/13/2018 # Troubleshoot SIEM tool integration issues **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/unblock-file-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/unblock-file-windows-defender-advanced-threat-protection.md index c0abbe6cdd..fffb9ad229 100644 --- a/windows/security/threat-protection/windows-defender-atp/unblock-file-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/unblock-file-windows-defender-advanced-threat-protection.md @@ -18,7 +18,7 @@ ms.date: 12/08/2017 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/unisolate-machine-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/unisolate-machine-windows-defender-advanced-threat-protection.md index f7b0fe34b5..560416bc51 100644 --- a/windows/security/threat-protection/windows-defender-atp/unisolate-machine-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/unisolate-machine-windows-defender-advanced-threat-protection.md @@ -18,7 +18,7 @@ ms.date: 12/08/2017 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/unrestrict-code-execution-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/unrestrict-code-execution-windows-defender-advanced-threat-protection.md index 393d41412f..10def5a55d 100644 --- a/windows/security/threat-protection/windows-defender-atp/unrestrict-code-execution-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/unrestrict-code-execution-windows-defender-advanced-threat-protection.md @@ -18,7 +18,7 @@ ms.date: 12/08/2017 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/use-custom-ti-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/use-custom-ti-windows-defender-advanced-threat-protection.md index 9a12d912f6..261e038a76 100644 --- a/windows/security/threat-protection/windows-defender-atp/use-custom-ti-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/use-custom-ti-windows-defender-advanced-threat-protection.md @@ -17,7 +17,7 @@ ms.date: 04/24/2018 # Use the threat intelligence API to create custom alerts **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) diff --git a/windows/security/threat-protection/windows-defender-atp/use-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/use-windows-defender-advanced-threat-protection.md index f41440d094..b61baaafb2 100644 --- a/windows/security/threat-protection/windows-defender-atp/use-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/use-windows-defender-advanced-threat-protection.md @@ -18,7 +18,7 @@ ms.date: 03/12/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) >Want to experience Windows Defender ATP? [Sign up for a free trial.](https://www.microsoft.com/en-us/WindowsForBusiness/windows-atp?ocid=docs-wdatp-usewdatp-abovefoldlink) diff --git a/windows/security/threat-protection/windows-defender-atp/user-roles-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/user-roles-windows-defender-advanced-threat-protection.md index 829e256921..505e031a5a 100644 --- a/windows/security/threat-protection/windows-defender-atp/user-roles-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/user-roles-windows-defender-advanced-threat-protection.md @@ -17,7 +17,7 @@ ms.date: 09/03/2018 # Create and manage roles for role-based access control **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) >Want to experience Windows Defender ATP? [Sign up for a free trial.](https://www.microsoft.com/en-us/WindowsForBusiness/windows-atp?ocid=docs-wdatp-roles-abovefoldlink) diff --git a/windows/security/threat-protection/windows-defender-atp/view-incidents-queue.md b/windows/security/threat-protection/windows-defender-atp/view-incidents-queue.md index d905eb0d2b..7ecf9f1fda 100644 --- a/windows/security/threat-protection/windows-defender-atp/view-incidents-queue.md +++ b/windows/security/threat-protection/windows-defender-atp/view-incidents-queue.md @@ -16,7 +16,7 @@ ms.date: 10/08/2018 # View and organize the Windows Defender Advanced Threat Protection Incidents queue **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) [!include[Prerelease information](prerelease.md)] diff --git a/windows/security/threat-protection/windows-defender-exploit-guard/attack-surface-reduction-exploit-guard.md b/windows/security/threat-protection/windows-defender-exploit-guard/attack-surface-reduction-exploit-guard.md index e577fe1f8c..360b2a59c8 100644 --- a/windows/security/threat-protection/windows-defender-exploit-guard/attack-surface-reduction-exploit-guard.md +++ b/windows/security/threat-protection/windows-defender-exploit-guard/attack-surface-reduction-exploit-guard.md @@ -18,7 +18,7 @@ ms.date: 10/15/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) Attack surface reduction rules help prevent actions and apps that are typically used by exploit-seeking malware to infect machines. This feature is part of Windows Defender Advanced Threat Protection and provides: diff --git a/windows/security/threat-protection/windows-defender-exploit-guard/audit-windows-defender-exploit-guard.md b/windows/security/threat-protection/windows-defender-exploit-guard/audit-windows-defender-exploit-guard.md index 57927f648c..0131be7167 100644 --- a/windows/security/threat-protection/windows-defender-exploit-guard/audit-windows-defender-exploit-guard.md +++ b/windows/security/threat-protection/windows-defender-exploit-guard/audit-windows-defender-exploit-guard.md @@ -19,7 +19,7 @@ ms.date: 09/18/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) You can enable attack surface reduction rules, eploit protection, network protection, and controlled folder access in audit mode. This lets you see a record of what *would* have happened if you had enabled the feature. diff --git a/windows/security/threat-protection/windows-defender-exploit-guard/collect-cab-files-exploit-guard-submission.md b/windows/security/threat-protection/windows-defender-exploit-guard/collect-cab-files-exploit-guard-submission.md index 83348307d8..9448ed601f 100644 --- a/windows/security/threat-protection/windows-defender-exploit-guard/collect-cab-files-exploit-guard-submission.md +++ b/windows/security/threat-protection/windows-defender-exploit-guard/collect-cab-files-exploit-guard-submission.md @@ -18,7 +18,7 @@ ms.date: 08/08/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) This topic describes how to collect diagnostic data that can be used by Microsoft support and engineering teams to help troubleshoot issues you may encounter when using attack surface reduction rules, network protection, exploit protection, and controlled folder access. diff --git a/windows/security/threat-protection/windows-defender-exploit-guard/controlled-folders-exploit-guard.md b/windows/security/threat-protection/windows-defender-exploit-guard/controlled-folders-exploit-guard.md index c3e230964e..21c0acfc51 100644 --- a/windows/security/threat-protection/windows-defender-exploit-guard/controlled-folders-exploit-guard.md +++ b/windows/security/threat-protection/windows-defender-exploit-guard/controlled-folders-exploit-guard.md @@ -18,7 +18,7 @@ ms.date: 10/02/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) Controlled folder access helps you protect valuable data from malicious apps and threats, such as ransomware. Controlled folder access is supported on Windows Server 2019 as well as Windows 10 clients. Controlled folder access works best with [Windows Defender Advanced Threat Protection](../windows-defender-atp/windows-defender-advanced-threat-protection.md), which gives you detailed reporting into controlled folder access events and blocks as part of the usual [alert investigation scenarios](../windows-defender-atp/investigate-alerts-windows-defender-advanced-threat-protection.md). diff --git a/windows/security/threat-protection/windows-defender-exploit-guard/customize-attack-surface-reduction.md b/windows/security/threat-protection/windows-defender-exploit-guard/customize-attack-surface-reduction.md index 75725299ff..a948e7db7e 100644 --- a/windows/security/threat-protection/windows-defender-exploit-guard/customize-attack-surface-reduction.md +++ b/windows/security/threat-protection/windows-defender-exploit-guard/customize-attack-surface-reduction.md @@ -18,7 +18,7 @@ ms.date: 10/17/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) Attack surface reduction rules help prevent actions and apps that are typically used by exploit-seeking malware to infect machines. Attack surface reduction rules are supported on Windows Server 2019 as well as Windows 10 clients. diff --git a/windows/security/threat-protection/windows-defender-exploit-guard/customize-controlled-folders-exploit-guard.md b/windows/security/threat-protection/windows-defender-exploit-guard/customize-controlled-folders-exploit-guard.md index 38643b362f..5f501170df 100644 --- a/windows/security/threat-protection/windows-defender-exploit-guard/customize-controlled-folders-exploit-guard.md +++ b/windows/security/threat-protection/windows-defender-exploit-guard/customize-controlled-folders-exploit-guard.md @@ -18,7 +18,7 @@ ms.date: 10/02/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) Controlled folder access helps you protect valuable data from malicious apps and threats, such as ransomware. Controlled folder access is supported on Windows Server 2019 as well as Windows 10 clients. diff --git a/windows/security/threat-protection/windows-defender-exploit-guard/customize-exploit-protection.md b/windows/security/threat-protection/windows-defender-exploit-guard/customize-exploit-protection.md index 57289d1fe5..7591a39db0 100644 --- a/windows/security/threat-protection/windows-defender-exploit-guard/customize-exploit-protection.md +++ b/windows/security/threat-protection/windows-defender-exploit-guard/customize-exploit-protection.md @@ -18,7 +18,7 @@ ms.date: 10/02/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) Exploit protection automatically applies a number of exploit mitigation techniques on both the operating system processes and on individual apps. diff --git a/windows/security/threat-protection/windows-defender-exploit-guard/emet-exploit-protection-exploit-guard.md b/windows/security/threat-protection/windows-defender-exploit-guard/emet-exploit-protection-exploit-guard.md index becce4ead2..3b65d090e5 100644 --- a/windows/security/threat-protection/windows-defender-exploit-guard/emet-exploit-protection-exploit-guard.md +++ b/windows/security/threat-protection/windows-defender-exploit-guard/emet-exploit-protection-exploit-guard.md @@ -18,7 +18,7 @@ ms.date: 08/08/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) >[!IMPORTANT] >If you are currently using EMET, you should be aware that [EMET reached end of life on July 31, 2018](https://blogs.technet.microsoft.com/srd/2016/11/03/beyond-emet/). You should consider replacing EMET with exploit protection in Windows Defender ATP. diff --git a/windows/security/threat-protection/windows-defender-exploit-guard/enable-attack-surface-reduction.md b/windows/security/threat-protection/windows-defender-exploit-guard/enable-attack-surface-reduction.md index 86e12c0578..675f449f0b 100644 --- a/windows/security/threat-protection/windows-defender-exploit-guard/enable-attack-surface-reduction.md +++ b/windows/security/threat-protection/windows-defender-exploit-guard/enable-attack-surface-reduction.md @@ -18,7 +18,7 @@ ms.date: 10/17/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) Attack surface reduction rules help prevent actions and apps that are typically used by exploit-seeking malware to infect machines. Attack surface reduction rules are supported on Windows Server 2019 as well as Windows 10 clients. diff --git a/windows/security/threat-protection/windows-defender-exploit-guard/enable-controlled-folders-exploit-guard.md b/windows/security/threat-protection/windows-defender-exploit-guard/enable-controlled-folders-exploit-guard.md index 1d831ea2a9..79fb8541bf 100644 --- a/windows/security/threat-protection/windows-defender-exploit-guard/enable-controlled-folders-exploit-guard.md +++ b/windows/security/threat-protection/windows-defender-exploit-guard/enable-controlled-folders-exploit-guard.md @@ -18,7 +18,7 @@ ms.date: 10/02/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) Controlled folder access helps you protect valuable data from malicious apps and threats, such as ransomware. It is part of [Windows Defender Exploit Guard](windows-defender-exploit-guard.md). Controlled folder access is supported on Windows Server 2019 as well as Windows 10 clients. diff --git a/windows/security/threat-protection/windows-defender-exploit-guard/enable-exploit-protection.md b/windows/security/threat-protection/windows-defender-exploit-guard/enable-exploit-protection.md index 91f8b6b1bb..70500e0307 100644 --- a/windows/security/threat-protection/windows-defender-exploit-guard/enable-exploit-protection.md +++ b/windows/security/threat-protection/windows-defender-exploit-guard/enable-exploit-protection.md @@ -18,7 +18,7 @@ ms.date: 08/08/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) Exploit protection applies helps protect devices from malware that use exploits to spread and infect. It consists of a number of mitigations that can be applied at either the operating system level, or at the individual app level. diff --git a/windows/security/threat-protection/windows-defender-exploit-guard/enable-network-protection.md b/windows/security/threat-protection/windows-defender-exploit-guard/enable-network-protection.md index af47213614..d147c77d43 100644 --- a/windows/security/threat-protection/windows-defender-exploit-guard/enable-network-protection.md +++ b/windows/security/threat-protection/windows-defender-exploit-guard/enable-network-protection.md @@ -18,7 +18,7 @@ ms.date: 05/30/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) Network protection helps to prevent employees from using any application to access dangerous domains that may host phishing scams, exploits, and other malicious content on the Internet. diff --git a/windows/security/threat-protection/windows-defender-exploit-guard/enable-virtualization-based-protection-of-code-integrity.md b/windows/security/threat-protection/windows-defender-exploit-guard/enable-virtualization-based-protection-of-code-integrity.md index 2c5e663e91..98835fdcfd 100644 --- a/windows/security/threat-protection/windows-defender-exploit-guard/enable-virtualization-based-protection-of-code-integrity.md +++ b/windows/security/threat-protection/windows-defender-exploit-guard/enable-virtualization-based-protection-of-code-integrity.md @@ -13,7 +13,7 @@ ms.date: 08/08/2018 **Applies to** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) This topic covers different ways to enable Hypervisor-protected code integrity (HVCI) on Windows 10. Some applications, including device drivers, may be incompatible with HVCI. diff --git a/windows/security/threat-protection/windows-defender-exploit-guard/evaluate-attack-surface-reduction.md b/windows/security/threat-protection/windows-defender-exploit-guard/evaluate-attack-surface-reduction.md index b0eb1162cb..a143ed81a3 100644 --- a/windows/security/threat-protection/windows-defender-exploit-guard/evaluate-attack-surface-reduction.md +++ b/windows/security/threat-protection/windows-defender-exploit-guard/evaluate-attack-surface-reduction.md @@ -18,7 +18,7 @@ ms.date: 10/02/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) Attack surface reduction rules help prevent actions and apps that are typically used by exploit-seeking malware to infect machines. Attack surface reduction rules are supported on Windows Server 2019 as well as Windows 10 clients. diff --git a/windows/security/threat-protection/windows-defender-exploit-guard/evaluate-controlled-folder-access.md b/windows/security/threat-protection/windows-defender-exploit-guard/evaluate-controlled-folder-access.md index 9fa8ab6d2b..f30804cbd0 100644 --- a/windows/security/threat-protection/windows-defender-exploit-guard/evaluate-controlled-folder-access.md +++ b/windows/security/threat-protection/windows-defender-exploit-guard/evaluate-controlled-folder-access.md @@ -18,7 +18,7 @@ ms.date: 10/02/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) [Controlled folder access](controlled-folders-exploit-guard.md) is a feature that helps protect your documents and files from modification by suspicious or malicious apps. Controlled folder access is supported on Windows Server 2019 as well as Windows 10 clients. diff --git a/windows/security/threat-protection/windows-defender-exploit-guard/evaluate-exploit-protection.md b/windows/security/threat-protection/windows-defender-exploit-guard/evaluate-exploit-protection.md index 412888c242..1d7efe7b59 100644 --- a/windows/security/threat-protection/windows-defender-exploit-guard/evaluate-exploit-protection.md +++ b/windows/security/threat-protection/windows-defender-exploit-guard/evaluate-exploit-protection.md @@ -18,7 +18,7 @@ ms.date: 05/30/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) Exploit protection applies helps protect devices from malware that use exploits to spread and infect. It consists of a number of mitigations that can be applied at either the operating system level, or at the individual app level. diff --git a/windows/security/threat-protection/windows-defender-exploit-guard/evaluate-network-protection.md b/windows/security/threat-protection/windows-defender-exploit-guard/evaluate-network-protection.md index ee1e9948c7..995cbaeb50 100644 --- a/windows/security/threat-protection/windows-defender-exploit-guard/evaluate-network-protection.md +++ b/windows/security/threat-protection/windows-defender-exploit-guard/evaluate-network-protection.md @@ -18,7 +18,7 @@ ms.date: 08/09/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) Network protection helps prevent employees from using any application to access dangerous domains that may host phishing scams, exploits, and other malicious content on the Internet. diff --git a/windows/security/threat-protection/windows-defender-exploit-guard/event-views-exploit-guard.md b/windows/security/threat-protection/windows-defender-exploit-guard/event-views-exploit-guard.md index 1bf42dc66c..5f32c57193 100644 --- a/windows/security/threat-protection/windows-defender-exploit-guard/event-views-exploit-guard.md +++ b/windows/security/threat-protection/windows-defender-exploit-guard/event-views-exploit-guard.md @@ -19,7 +19,7 @@ ms.date: 08/08/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) You can review attack surface reduction events in Event Viewer. This is useful so you can monitor what rules or settings are working, and determine if any settings are too "noisy" or impacting your day to day workflow. diff --git a/windows/security/threat-protection/windows-defender-exploit-guard/exploit-protection-exploit-guard.md b/windows/security/threat-protection/windows-defender-exploit-guard/exploit-protection-exploit-guard.md index 729d6cbc55..7fb3984ab2 100644 --- a/windows/security/threat-protection/windows-defender-exploit-guard/exploit-protection-exploit-guard.md +++ b/windows/security/threat-protection/windows-defender-exploit-guard/exploit-protection-exploit-guard.md @@ -18,7 +18,7 @@ ms.date: 08/09/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) Exploit protection automatically applies a number of exploit mitigation techniques on both the operating system processes and on individual apps. diff --git a/windows/security/threat-protection/windows-defender-exploit-guard/import-export-exploit-protection-emet-xml.md b/windows/security/threat-protection/windows-defender-exploit-guard/import-export-exploit-protection-emet-xml.md index dde4c17bfa..99eb36540f 100644 --- a/windows/security/threat-protection/windows-defender-exploit-guard/import-export-exploit-protection-emet-xml.md +++ b/windows/security/threat-protection/windows-defender-exploit-guard/import-export-exploit-protection-emet-xml.md @@ -18,7 +18,7 @@ ms.date: 04/30/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) Exploit protection applies helps protect devices from malware that use exploits to spread and infect. It consists of a number of mitigations that can be applied at either the operating system level, or at the individual app level. diff --git a/windows/security/threat-protection/windows-defender-exploit-guard/memory-integrity.md b/windows/security/threat-protection/windows-defender-exploit-guard/memory-integrity.md index 03dd9e1ec9..11ff56a123 100644 --- a/windows/security/threat-protection/windows-defender-exploit-guard/memory-integrity.md +++ b/windows/security/threat-protection/windows-defender-exploit-guard/memory-integrity.md @@ -18,7 +18,7 @@ ms.date: 08/09/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) Memory integrity is a powerful system mitigation that leverages hardware virtualization and the Windows Hyper-V hypervisor to protect Windows kernel-mode processes against the injection and execution of malicious or unverified code. Code integrity validation is performed in a secure environment that is resistant to attack from malicious software, and page permissions for kernel mode are set and maintained by the Hyper-V hypervisor. Memory integrity helps block many types of malware from running on computers that run Windows 10 and Windows Server 2016. diff --git a/windows/security/threat-protection/windows-defender-exploit-guard/network-protection-exploit-guard.md b/windows/security/threat-protection/windows-defender-exploit-guard/network-protection-exploit-guard.md index 639057a7b2..b1e742ac1b 100644 --- a/windows/security/threat-protection/windows-defender-exploit-guard/network-protection-exploit-guard.md +++ b/windows/security/threat-protection/windows-defender-exploit-guard/network-protection-exploit-guard.md @@ -18,7 +18,7 @@ ms.date: 08/09/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) Network protection helps reduce the attack surface of your devices from Internet-based events. It prevents employees from using any application to access dangerous domains that may host phishing scams, exploits, and other malicious content on the Internet. diff --git a/windows/security/threat-protection/windows-defender-exploit-guard/requirements-and-deployment-planning-guidelines-for-virtualization-based-protection-of-code-integrity.md b/windows/security/threat-protection/windows-defender-exploit-guard/requirements-and-deployment-planning-guidelines-for-virtualization-based-protection-of-code-integrity.md index 158a8a98ac..1eb3ac9b72 100644 --- a/windows/security/threat-protection/windows-defender-exploit-guard/requirements-and-deployment-planning-guidelines-for-virtualization-based-protection-of-code-integrity.md +++ b/windows/security/threat-protection/windows-defender-exploit-guard/requirements-and-deployment-planning-guidelines-for-virtualization-based-protection-of-code-integrity.md @@ -13,7 +13,7 @@ ms.date: 10/20/2017 **Applies to** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) Computers must meet certain hardware, firmware, and software requirements in order to take adavantage of all of the virtualization-based security (VBS) features in [Windows Defender Device Guard](../device-guard/introduction-to-device-guard-virtualization-based-security-and-windows-defender-application-control.md). Computers lacking these requirements can still be protected by Windows Defender Application Control (WDAC) policies—the difference is that those computers will not be as hardened against certain threats. diff --git a/windows/security/threat-protection/windows-defender-exploit-guard/troubleshoot-asr.md b/windows/security/threat-protection/windows-defender-exploit-guard/troubleshoot-asr.md index 847b1fa492..5711270ae7 100644 --- a/windows/security/threat-protection/windows-defender-exploit-guard/troubleshoot-asr.md +++ b/windows/security/threat-protection/windows-defender-exploit-guard/troubleshoot-asr.md @@ -18,7 +18,7 @@ ms.date: 09/18/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) When you use [attack surface reduction rules](attack-surface-reduction-exploit-guard.md) you may encounter issues, such as: diff --git a/windows/security/threat-protection/windows-defender-exploit-guard/troubleshoot-exploit-protection-mitigations.md b/windows/security/threat-protection/windows-defender-exploit-guard/troubleshoot-exploit-protection-mitigations.md index 31f4604299..ede76cf20a 100644 --- a/windows/security/threat-protection/windows-defender-exploit-guard/troubleshoot-exploit-protection-mitigations.md +++ b/windows/security/threat-protection/windows-defender-exploit-guard/troubleshoot-exploit-protection-mitigations.md @@ -18,7 +18,7 @@ ms.date: 08/09/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) When you create a set of exploit protection mitigations (known as a configuration), you might find that the configuration export and import process does not remove all unwanted mitigations. diff --git a/windows/security/threat-protection/windows-defender-exploit-guard/troubleshoot-np.md b/windows/security/threat-protection/windows-defender-exploit-guard/troubleshoot-np.md index f2f8024158..b091e01721 100644 --- a/windows/security/threat-protection/windows-defender-exploit-guard/troubleshoot-np.md +++ b/windows/security/threat-protection/windows-defender-exploit-guard/troubleshoot-np.md @@ -18,7 +18,7 @@ ms.date: 08/09/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) - IT administrators diff --git a/windows/security/threat-protection/windows-defender-exploit-guard/windows-defender-exploit-guard.md b/windows/security/threat-protection/windows-defender-exploit-guard/windows-defender-exploit-guard.md index cfea6fdd1f..bdf4311dfe 100644 --- a/windows/security/threat-protection/windows-defender-exploit-guard/windows-defender-exploit-guard.md +++ b/windows/security/threat-protection/windows-defender-exploit-guard/windows-defender-exploit-guard.md @@ -18,7 +18,7 @@ ms.date: 08/09/2018 **Applies to:** -- Windows Defender Advanced Threat Protection (Windows Defender ATP) +- [Windows Defender Advanced Threat Protection (Windows Defender ATP)](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf) Windows Defender Exploit Guard (Windows Defender EG) is a new set of host intrusion prevention capabilities for Windows 10, allowing you to manage and reduce the attack surface of apps used by your employees. From 126402c462f01a51c838375e366ec7d4f9a4b796 Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Tue, 6 Nov 2018 13:56:41 -0800 Subject: [PATCH 31/53] edit --- .../protect-enterprise-data-using-wip.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/windows/security/information-protection/windows-information-protection/protect-enterprise-data-using-wip.md b/windows/security/information-protection/windows-information-protection/protect-enterprise-data-using-wip.md index 8ce020a25f..ed41a8ef23 100644 --- a/windows/security/information-protection/windows-information-protection/protect-enterprise-data-using-wip.md +++ b/windows/security/information-protection/windows-information-protection/protect-enterprise-data-using-wip.md @@ -8,7 +8,7 @@ ms.mktglfcycl: explore ms.sitesec: library ms.pagetype: security ms.author: justinha -ms.date: 06/18/2018 +ms.date: 11/06/2018 ms.localizationpriority: medium --- @@ -24,6 +24,10 @@ With the increase of employee-owned devices in the enterprise, there’s also an Windows Information Protection (WIP), previously known as enterprise data protection (EDP), helps to protect against this potential data leakage without otherwise interfering with the employee experience. WIP also helps to protect enterprise apps and data against accidental data leak on enterprise-owned devices and personal devices that employees bring to work without requiring changes to your environment or other apps. Finally, another data protection technology, Azure Rights Management also works alongside WIP to extend data protection for data that leaves the device, such as when email attachments are sent from an enterprise aware version of a rights management mail client. +## Video: Protect enterprise data from being accidentally copied to the wrong place + +> [!Video https://www.youtube.com/embed/1s09SrwxccM] + ## Prerequisites You’ll need this software to run WIP in your enterprise: From a94397275a6917bad14c86e207fe0c041d0f29d0 Mon Sep 17 00:00:00 2001 From: Joey Caparas Date: Tue, 6 Nov 2018 14:11:52 -0800 Subject: [PATCH 32/53] add link to PDF --- ...uirements-windows-defender-advanced-threat-protection.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-atp/minimum-requirements-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/minimum-requirements-windows-defender-advanced-threat-protection.md index db250caeda..97ff492e3b 100644 --- a/windows/security/threat-protection/windows-defender-atp/minimum-requirements-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/minimum-requirements-windows-defender-advanced-threat-protection.md @@ -11,7 +11,7 @@ ms.pagetype: security ms.author: macapara author: mjcaparas ms.localizationpriority: medium -ms.date: 07/01/2018 +ms.date: 11/06/2018 --- # Minimum requirements for Windows Defender ATP @@ -30,7 +30,9 @@ Windows Defender Advanced Threat Protection requires one of the following Micros - Windows 10 Education E5 - Microsoft 365 E5 (M365 E5) which includes Windows 10 Enterprise E5 -For more information, see [Windows 10 Licensing](https://www.microsoft.com/en-us/Licensing/product-licensing/windows10.aspx#tab=2). +For more information on the array of features in Windows 10 editions, see [Compare Windows 10 editions](https://www.microsoft.com/en-us/windowsforbusiness/compare). + +For a detailed comparison table of Windows 10 commercial edition comparison, see the [comparison PDF](https://wincom.blob.core.windows.net/documents/Windows10_Commercial_Comparison.pdf). ## Related topic From 6688e725e692902ee17cccac59de61ff105b0056 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Tue, 6 Nov 2018 22:21:01 +0000 Subject: [PATCH 33/53] Merged PR 12629: Added links to modern deployment Links added --- windows/deployment/deploy-m365.md | 10 +++------- windows/deployment/deploy-whats-new.md | 5 ++++- windows/deployment/deploy.md | 6 +++++- windows/deployment/index.yml | 1 + windows/deployment/windows-10-deployment-scenarios.md | 6 +++--- .../deployment/windows-autopilot/existing-devices.md | 6 +++++- 6 files changed, 21 insertions(+), 13 deletions(-) diff --git a/windows/deployment/deploy-m365.md b/windows/deployment/deploy-m365.md index 6ea42e8bc1..f45a135986 100644 --- a/windows/deployment/deploy-m365.md +++ b/windows/deployment/deploy-m365.md @@ -7,7 +7,7 @@ ms.sitesec: library ms.pagetype: deploy keywords: deployment, automate, tools, configure, mdt, sccm, M365 ms.localizationpriority: medium -ms.date: 04/23/2018 +ms.date: 11/06/2018 author: greg-lindsay --- @@ -55,12 +55,8 @@ Examples of these two deployment advisors are shown below. ## Related Topics -[Windows 10 deployment scenarios](windows-10-deployment-scenarios.md) -  - -  - - +[Windows 10 deployment scenarios](windows-10-deployment-scenarios.md)
+[Modern Destop Deployment Center](https://docs.microsoft.com/microsoft-365/enterprise/desktop-deployment-center-home) diff --git a/windows/deployment/deploy-whats-new.md b/windows/deployment/deploy-whats-new.md index c18d4a269e..be1e1f9ea7 100644 --- a/windows/deployment/deploy-whats-new.md +++ b/windows/deployment/deploy-whats-new.md @@ -7,7 +7,7 @@ ms.localizationpriority: medium ms.prod: w10 ms.sitesec: library ms.pagetype: deploy -ms.date: 09/12/2018 +ms.date: 11/06/2018 author: greg-lindsay --- @@ -24,6 +24,9 @@ This topic provides an overview of new solutions and online content related to d - For an all-up overview of new features in Windows 10, see [What's new in Windows 10](https://technet.microsoft.com/itpro/windows/whats-new/index). - For a detailed list of changes to Windows 10 ITPro TechNet library content, see [Online content change history](#online-content-change-history). +## The Modern Desktop Deployment Center + +The [Modern Destop Deployment Center](https://docs.microsoft.com/microsoft-365/enterprise/desktop-deployment-center-home) has launched with tons of content to help you with large-scale deployment of Windows 10 and Office 365 ProPlus. ## Windows 10 servicing and support diff --git a/windows/deployment/deploy.md b/windows/deployment/deploy.md index a38657a7be..ff0a09c58c 100644 --- a/windows/deployment/deploy.md +++ b/windows/deployment/deploy.md @@ -6,7 +6,7 @@ ms.prod: w10 ms.mktglfcycl: deploy ms.sitesec: library ms.localizationpriority: medium -ms.date: 11/02/2017 +ms.date: 11/06/2018 author: greg-lindsay --- @@ -29,6 +29,10 @@ Windows 10 upgrade options are discussed and information is provided about plann |[Windows 10 deployment tools](windows-10-deployment-tools-reference.md) |Learn about available tools to deploy Windows 10, such as the Windows ADK, DISM, USMT, WDS, MDT, Windows PE and more. | |[How to install fonts that are missing after upgrading to Windows 10](windows-10-missing-fonts.md)|Windows 10 introduced changes to the fonts that are included in the image by default. Learn how to install additional fonts from **Optional features** after you install Windows 10 or upgrade from a previous version.| +## Related topics + +[Modern Destop Deployment Center](https://docs.microsoft.com/microsoft-365/enterprise/desktop-deployment-center-home) +     diff --git a/windows/deployment/index.yml b/windows/deployment/index.yml index b3b1dbc226..0161bd05b1 100644 --- a/windows/deployment/index.yml +++ b/windows/deployment/index.yml @@ -46,6 +46,7 @@ sections: text: "
+ diff --git a/windows/deployment/windows-10-deployment-scenarios.md b/windows/deployment/windows-10-deployment-scenarios.md index f744169d27..684ee94aa7 100644 --- a/windows/deployment/windows-10-deployment-scenarios.md +++ b/windows/deployment/windows-10-deployment-scenarios.md @@ -7,7 +7,7 @@ ms.prod: w10 ms.mktglfcycl: deploy ms.localizationpriority: medium ms.sitesec: library -ms.date: 04/03/2018 +ms.date: 11/06/2018 author: greg-lindsay --- @@ -19,9 +19,9 @@ author: greg-lindsay To successfully deploy the Windows 10 operating system in your organization, it is important to understand the different ways that it can be deployed, especially now that there are new scenarios to consider. Choosing among these scenarios, and understanding the capabilities and limitations of each, is a key task. The following table summarizes various Windows 10 deployment scenarios. The scenarios are each assigned to one of three categories. -- Modern deployment methods are recommended unless you have a specific need to use a different procedure. +- Modern deployment methods are recommended unless you have a specific need to use a different procedure. These methods are supported with existing tools such as Microsoft Deployment Toolkit (MDT) and System Center Configuration Manager. These methods are discussed in detail on the [Modern Desktop Deployment Center](https://docs.microsoft.com/microsoft-365/enterprise/desktop-deployment-center-home). - Dynamic deployment methods enable you to configure applications and settings for specific use cases. -- Traditional deployment methods use tools such as Microsoft Deployment Toolkit (MDT) and System Center Configuration Manager.
  +- Traditional deployment methods use existing tools to deploy operating system images.
 
[Modern Desktop Deployment Center](https://docs.microsoft.com/microsoft-365/enterprise/desktop-deployment-center-home) Check out the new Modern Deskop Deployment Center and discover content to help you with your Windows 10 and Office 365 ProPlus deployments.
[What's new in Windows 10 deployment](deploy-whats-new.md) See this topic for a summary of new features and some recent changes related to deploying Windows 10 in your organization.
[Windows 10 deployment scenarios](windows-10-deployment-scenarios.md) To successfully deploy the Windows 10 operating system in your organization, it is important to understand the different ways that it can be deployed, especially now that there are new scenarios to consider. Choosing among these scenarios, and understanding the key capabilities and limitations of each, is a key task.
[Windows 10 Subscription Activation](windows-10-enterprise-subscription-activation.md) Windows 10 Enterprise has traditionally been sold as on premises software, however, with Windows 10 version 1703 (also known as the Creator’s Update), both Windows 10 Enterprise E3 and Windows 10 Enterprise E5 are available as true online services via subscription. You can move from Windows 10 Pro to Windows 10 Enterprise with no keys and no reboots. If you are using a Cloud Service Providers (CSP) see the related topic: [Windows 10 Enterprise E3 in CSP](windows-10-enterprise-e3-overview.md).
diff --git a/windows/deployment/windows-autopilot/existing-devices.md b/windows/deployment/windows-autopilot/existing-devices.md index 28d5f2748f..72bca7e019 100644 --- a/windows/deployment/windows-autopilot/existing-devices.md +++ b/windows/deployment/windows-autopilot/existing-devices.md @@ -9,7 +9,7 @@ ms.sitesec: library ms.pagetype: deploy author: greg-lindsay ms.author: greg-lindsay -ms.date: 10/31/2018 +ms.date: 11/05/2018 --- # Windows Autopilot for existing devices @@ -298,3 +298,7 @@ The Task Sequence will download content, reboot, format the drives and install W Devices provisioned through Autopilot will only receive the guided OOBE Autopilot experience on first boot. Once updated to Windows 10, the device should be registered to ensure a continued Autopilot experience in the event of PC reset. You can enable automatic registration for an assigned group using the **Convert all targeted devices to Autopilot** setting. For more information, see [Create an Autopilot deployment profile](https://docs.microsoft.com/en-us/intune/enrollment-autopilot#create-an-autopilot-deployment-profile). Also see [Adding devices to Windows Autopilot](https://docs.microsoft.com/windows/deployment/windows-autopilot/add-devices). + +## Speeding up the deployment process + +To remove around 20 minutes from the deployment process, see Michael Niehaus's blog with instructions for [Speeding up Windows Autopilot for existing devices](https://blogs.technet.microsoft.com/mniehaus/2018/10/25/speeding-up-windows-autopilot-for-existing-devices/). From fe06958bce9082270a36c1af07e25e2e00e9d0bf Mon Sep 17 00:00:00 2001 From: Beth Levin Date: Tue, 6 Nov 2018 15:07:26 -0800 Subject: [PATCH 34/53] updated graphs --- .../intelligence/images/PrevalentMalware.png | Bin 0 -> 25161 bytes .../intelligence/images/PrevalentMalware1.png | Bin 23173 -> 0 bytes .../intelligence/images/RealWorld.png | Bin 0 -> 22723 bytes .../intelligence/images/RealWorld1.png | Bin 24104 -> 0 bytes .../top-scoring-industry-antivirus-tests.md | 2 +- 5 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 windows/security/threat-protection/intelligence/images/PrevalentMalware.png delete mode 100644 windows/security/threat-protection/intelligence/images/PrevalentMalware1.png create mode 100644 windows/security/threat-protection/intelligence/images/RealWorld.png delete mode 100644 windows/security/threat-protection/intelligence/images/RealWorld1.png diff --git a/windows/security/threat-protection/intelligence/images/PrevalentMalware.png b/windows/security/threat-protection/intelligence/images/PrevalentMalware.png new file mode 100644 index 0000000000000000000000000000000000000000..8d93b4ed9d217b7ba26044b33b374b02ba9d5666 GIT binary patch literal 25161 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

|71gQhwUr-9f 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 diff --git a/windows/security/threat-protection/intelligence/images/RealWorld.png b/windows/security/threat-protection/intelligence/images/RealWorld.png new file mode 100644 index 0000000000000000000000000000000000000000..82b7983c38d06fc6ab369bf678c4f56007db0ddd GIT binary patch literal 22723 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

- + From a5494b4014c21faded15a3cd69406bf3a69fa2e3 Mon Sep 17 00:00:00 2001 From: James Pearson Date: Thu, 8 Nov 2018 10:20:50 +0000 Subject: [PATCH 46/53] Fix a minor typo Replaced "Nullsoft Scriptable Install System" with "Nullsoft Sciptable Install System" in the Bondat section, and also put commas in the list to make it consistent with the other lists --- .../security/threat-protection/intelligence/worms-malware.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/security/threat-protection/intelligence/worms-malware.md b/windows/security/threat-protection/intelligence/worms-malware.md index b76c90029c..c9e7ce8541 100644 --- a/windows/security/threat-protection/intelligence/worms-malware.md +++ b/windows/security/threat-protection/intelligence/worms-malware.md @@ -25,7 +25,7 @@ Jenxcus (also known as Dunihi), Gamarue (also known as Androm), and Bondat have * **Gamarue** typically arrives through spam campaigns, exploits, downloaders, social networking sites, and removable drives. When Gamarue infects a device, it becomes a distribution channel for other malware. We’ve seen it distribute other malware such as infostealers, spammers, clickers, downloaders, and rogues. -* **Bondat** typically arrives through fictitious Nullsoft Sciptable Install System (NSIS) Java installers and removable drives. When Bondat infects a system, it gathers information about the machine such as device name, Globally Unique Identifier (GUID), and OS build. It then sends that information to a remote server. +* **Bondat** typically arrives through fictitious Nullsoft Scriptable Install System (NSIS), Java installers, and removable drives. When Bondat infects a system, it gathers information about the machine such as device name, Globally Unique Identifier (GUID), and OS build. It then sends that information to a remote server. Both Bondat and Gamarue have clever ways of obscuring themselves to evade detection. By hiding what they are doing, they try to avoid detection by security software. @@ -45,4 +45,4 @@ Download [Microsoft Security Essentials](https://www.microsoft.com/download/deta In case threat removal is unsuccessful, read about [troubleshooting malware detection and removal problems](https://www.microsoft.com/wdsi/help/troubleshooting-infection). -For more general tips, see [prevent malware infection](prevent-malware-infection.md). \ No newline at end of file +For more general tips, see [prevent malware infection](prevent-malware-infection.md). From 84b86cc5907bc150b48f9b847c05c0a038ed45f7 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Thu, 8 Nov 2018 13:41:55 +0000 Subject: [PATCH 47/53] Merged PR 12682: Change toc Change toc --- windows/deployment/windows-autopilot/TOC.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/deployment/windows-autopilot/TOC.md b/windows/deployment/windows-autopilot/TOC.md index 19d3896e66..dab69519b0 100644 --- a/windows/deployment/windows-autopilot/TOC.md +++ b/windows/deployment/windows-autopilot/TOC.md @@ -6,8 +6,8 @@ ## [Scenarios and Capabilities](windows-autopilot-scenarios.md) ### [Support for existing devices](existing-devices.md) ### [User-driven mode](user-driven.md) -#### [User-driven mode for AAD](user-driven-aad.md) -#### [User-driven mode for hybrid AAD](user-driven-hybrid.md) +#### [Azure Active Directory joined](user-driven-aad.md) +#### [Hybrid Azure Active Directory joined](user-driven-hybrid.md) ### [Self-deploying mode](self-deploying.md) ### [Enrollment status page](enrollment-status.md) ### [Windows Autopilot Reset](windows-autopilot-reset.md) From 78c4b52b311ce3dd29b27cac41136b0be08a928f Mon Sep 17 00:00:00 2001 From: Louie Mayor Date: Thu, 8 Nov 2018 14:41:34 +0000 Subject: [PATCH 48/53] Updated investigate-alerts-windows-defender-advanced-threat-protection.md --- ...e-alerts-windows-defender-advanced-threat-protection.md | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-atp/investigate-alerts-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/investigate-alerts-windows-defender-advanced-threat-protection.md index 87f2d65c02..31561fac5b 100644 --- a/windows/security/threat-protection/windows-defender-atp/investigate-alerts-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/investigate-alerts-windows-defender-advanced-threat-protection.md @@ -54,14 +54,11 @@ Some actor profiles include a link to download a more comprehensive threat intel The detailed alert profile helps you understand who the attackers are, who they target, what techniques, tools, and procedures (TTPs) they use, which geolocations they are active in, and finally, what recommended actions you may take. In many cases, you can download a more detailed Threat Intelligence report about this attacker or campaign for offline reading. ## Alert process tree -The **Alert process tree** takes alert triage and investigation to the next level, displaying the alert and related evidence, together with other events that occurred within the same execution context and time. This rich triage context of the alert and surrounding events is available on the alert page. +The **Alert process tree** takes alert triage and investigation to the next level, displaying the aggregated alert and surrounding evidence that occurred within the same execution context and time period. This rich triage and investigation context is available on the alert page. ![Image of the alert process tree](images/atp-alert-process-tree.png) -The **Alert process tree** expands to display the execution path of the alert, its evidence, and related events that occurred in the minutes - before and after - the alert. - -The alert and related events or evidence have circles with thunderbolt icons inside them. - +The **Alert process tree** expands to display the execution path of the alert and related evidence that occurred around the same period. Evidence items that are marked with a thunderbolt icon should be given priority during investigation. >[!NOTE] >The alert process tree might not be available in some alerts. From f1cfa3c9576b81975897b5d873db139330261b78 Mon Sep 17 00:00:00 2001 From: Louie Mayor Date: Thu, 8 Nov 2018 15:04:17 +0000 Subject: [PATCH 49/53] Updated investigate-alerts-windows-defender-advanced-threat-protection.md --- ...tigate-alerts-windows-defender-advanced-threat-protection.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/threat-protection/windows-defender-atp/investigate-alerts-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/investigate-alerts-windows-defender-advanced-threat-protection.md index 31561fac5b..55f697cb46 100644 --- a/windows/security/threat-protection/windows-defender-atp/investigate-alerts-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/investigate-alerts-windows-defender-advanced-threat-protection.md @@ -58,7 +58,7 @@ The **Alert process tree** takes alert triage and investigation to the next leve ![Image of the alert process tree](images/atp-alert-process-tree.png) -The **Alert process tree** expands to display the execution path of the alert and related evidence that occurred around the same period. Evidence items that are marked with a thunderbolt icon should be given priority during investigation. +The **Alert process tree** expands to display the execution path of the alert and related evidence that occurred around the same period. Items marked with a thunderbolt icon should be given priority during investigation. >[!NOTE] >The alert process tree might not be available in some alerts. From 9e947c97eaa6873f650df3461bfbd3e82f341a96 Mon Sep 17 00:00:00 2001 From: Beth Levin Date: Thu, 8 Nov 2018 09:20:10 -0800 Subject: [PATCH 50/53] updated date --- .../intelligence/top-scoring-industry-antivirus-tests.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/security/threat-protection/intelligence/top-scoring-industry-antivirus-tests.md b/windows/security/threat-protection/intelligence/top-scoring-industry-antivirus-tests.md index ed1a13c200..34297ac109 100644 --- a/windows/security/threat-protection/intelligence/top-scoring-industry-antivirus-tests.md +++ b/windows/security/threat-protection/intelligence/top-scoring-industry-antivirus-tests.md @@ -1,14 +1,14 @@ --- title: Top scoring in industry antivirus tests description: Windows Defender Antivirus consistently achieves high scores in independent tests. View the latest scores and analysis. -keywords: security, malware, av-comparatives, av-test, av, antivirus +keywords: security, malware, av-comparatives, av-test, av, antivirus, windows, defender, scores ms.prod: w10 ms.mktglfcycl: secure ms.sitesec: library ms.localizationpriority: medium ms.author: ellevin author: levinec -ms.date: 09/05/2018 +ms.date: 11/07/2018 --- # Top scoring in industry antivirus tests From 90f10fedbe9bb132885d83e3b3ff03a048611fad Mon Sep 17 00:00:00 2001 From: Joey Caparas Date: Thu, 8 Nov 2018 14:44:44 -0800 Subject: [PATCH 51/53] add troubleshooting for pop-up blocker --- ...ot-siem-windows-defender-advanced-threat-protection.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/windows/security/threat-protection/windows-defender-atp/troubleshoot-siem-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/troubleshoot-siem-windows-defender-advanced-threat-protection.md index ec2722306c..8c7c0f5e5f 100644 --- a/windows/security/threat-protection/windows-defender-atp/troubleshoot-siem-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/troubleshoot-siem-windows-defender-advanced-threat-protection.md @@ -11,7 +11,7 @@ ms.pagetype: security ms.author: macapara author: mjcaparas ms.localizationpriority: medium -ms.date: 02/13/2018 +ms.date: 11/08/2018 --- # Troubleshoot SIEM tool integration issues @@ -67,6 +67,12 @@ If you encounter an error when trying to get a refresh token when using the thre 6. Click **Save**. +## Error while enabling the SIEM connector application +If you encounter an error when trying to enable the SIEM connector application, check the pop-up blocker settings of your browser. It might be blocking the new window being opened when you enable the capability. + + + + >Want to experience Windows Defender ATP? [Sign up for a free trial.](https://www.microsoft.com/en-us/WindowsForBusiness/windows-atp?ocid=docs-wdatp-troubleshootsiem-belowfoldlink) ## Related topics From af31678826a3be5ef17f00ebdb6f341523236154 Mon Sep 17 00:00:00 2001 From: Justin Hall Date: Fri, 9 Nov 2018 09:30:21 -0800 Subject: [PATCH 52/53] edit --- .../protect-enterprise-data-using-wip.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/security/information-protection/windows-information-protection/protect-enterprise-data-using-wip.md b/windows/security/information-protection/windows-information-protection/protect-enterprise-data-using-wip.md index ed41a8ef23..33ec5598fe 100644 --- a/windows/security/information-protection/windows-information-protection/protect-enterprise-data-using-wip.md +++ b/windows/security/information-protection/windows-information-protection/protect-enterprise-data-using-wip.md @@ -8,7 +8,7 @@ ms.mktglfcycl: explore ms.sitesec: library ms.pagetype: security ms.author: justinha -ms.date: 11/06/2018 +ms.date: 11/08/2018 ms.localizationpriority: medium --- @@ -26,7 +26,7 @@ Windows Information Protection (WIP), previously known as enterprise data protec ## Video: Protect enterprise data from being accidentally copied to the wrong place -> [!Video https://www.youtube.com/embed/1s09SrwxccM] +> [!Video https://www.microsoft.com/en-us/videoplayer/embed/RE2IGhh] ## Prerequisites You’ll need this software to run WIP in your enterprise: From d1b4f83c1b26cd5105e7812387884f1274146193 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dani=20Halfin=20=F0=9F=93=AC=F0=9F=94=A8?= Date: Fri, 9 Nov 2018 19:40:18 +0000 Subject: [PATCH 53/53] Merged PR 12726: Sediment updates --- ...ndows-diagnostic-events-and-fields-1703.md | 283 ++--------------- ...ndows-diagnostic-events-and-fields-1709.md | 186 ++--------- ...ndows-diagnostic-events-and-fields-1803.md | 298 ++++++++++++++++++ 3 files changed, 336 insertions(+), 431 deletions(-) diff --git a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1703.md b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1703.md index ada643a31a..c0acd3cd73 100644 --- a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1703.md +++ b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1703.md @@ -2791,7 +2791,7 @@ The following fields are available: ### Microsoft.Windows.Remediation.Applicable -This event indicates a remedial plug-in is applicable if/when such a plug-in is detected. This is used to ensure Windows is up to date. +This event sends simple device connectivity and configuration data about an application installed on the system that helps keep the Windows Update stack healthy. The following fields are available: @@ -2814,7 +2814,7 @@ The following fields are available: - **HResult** The HRESULT for detection or perform action phases of the plugin. - **IsAppraiserLatestResult** The HRESULT from the appraiser task. - **IsConfigurationCorrected** Indicates whether the configuration of SIH task was successfully corrected. -- **LastHresult** The HRESULT for detection or perform action phases of the plugin. +- **LastHresult** The HResult of the operation. - **LastRun** The date of the most recent SIH run. - **NextRun** Date of the next scheduled SIH run. - **PackageVersion** The version of the current remediation package. @@ -2875,7 +2875,7 @@ The following fields are available: ### Microsoft.Windows.Remediation.Completed -This event enables completion tracking of a process that remediates issues preventing security and quality updates. +This event sends simple device connectivity and configuration data about an application installed on the system that helps keep the Windows Update stack healthy. The following fields are available: @@ -2964,123 +2964,9 @@ The following fields are available: - **WindowsSxsTempFolderSizeInMegabytes** The size of the WinSxS (Windows Side-by-Side) Temp folder, measured in Megabytes. -### Microsoft.Windows.Remediation.DiskCleanUnExpectedErrorEvent - -This event indicates that an unexpected error occurred during an update and provides information to help address the issue. - -The following fields are available: - -- **CV** The Correlation vector. -- **ErrorMessage** A description of any errors encountered while the plug-in was running. -- **GlobalEventCounter** The client-side counter that indicates ordering of events. -- **Hresult** The result of the event execution. -- **PackageVersion** The version number of the current remediation package. -- **SessionGuid** GUID associated with a given execution of sediment pack. - - -### Microsoft.Windows.Remediation.Error - -This event indicates a Sediment Pack error (update stack failure) has been detected and provides information to help address the issue. - -The following fields are available: - -- **HResult** The result of the event execution. -- **Message** A message containing information about the error that occurred. -- **PackageVersion** The version number of the current remediation package. - - -### Microsoft.Windows.Remediation.FallbackError - -This event indicates an error when Self Update results in a Fallback and provides information to help address the issue. - -The following fields are available: - -- **s0** Indicates the Fallback error level. See [Microsoft.Windows.Remediation.wilResult](#microsoftwindowsremediationwilresult). -- **wilResult** The result of the Windows Installer Logging. See [wilResult](#wilresult). - - -### Microsoft.Windows.Remediation.RemediationNotifyUserFixIssuesInvokeUIEvent - -This event occurs when the Notify User task executes and provides information about the cause of the notification. - -The following fields are available: - -- **CV** The Correlation vector. -- **GlobalEventCounter** The client-side counter that indicates ordering of events. -- **PackageVersion** The version number of the current remediation package. -- **RemediationNotifyUserFixIssuesCallResult** The result of calling the USO (Update Session Orchestrator) sequence steps. -- **RemediationNotifyUserFixIssuesUsoDownloadCalledHr** The error code from the USO (Update Session Orchestrator) download call. -- **RemediationNotifyUserFixIssuesUsoInitializedHr** The error code from the USO (Update Session Orchestrator) initialize call. -- **RemediationNotifyUserFixIssuesUsoProxyBlanketHr** The error code from the USO (Update Session Orchestrator) proxy blanket call. -- **RemediationNotifyUserFixIssuesUsoSetSessionHr** The error code from the USO (Update Session Orchestrator) session call. - - -### Microsoft.Windows.Remediation.RemediationShellFailedAutomaticAppUpdateModifyEventId - -This event provides the modification of the date on which an Automatic App Update scheduled task failed and provides information about the failure. - -The following fields are available: - -- **CV** The Correlation Vector. -- **GlobalEventCounter** The client-side counter that indicates ordering of events. -- **hResult** The result of the event execution. -- **PackageVersion** The version number of the current remediation package. - - -### Microsoft.Windows.Remediation.RemediationShellUnexpectedExceptionId - -This event identifies the remediation plug-in that returned an unexpected exception and provides information about the exception. - -The following fields are available: - -- **CV** The Correlation Vector. -- **GlobalEventCounter** The client-side counter that indicates ordering of events. -- **PackageVersion** The version number of the current remediation package. -- **RemediationShellUnexpectedExceptionId** The ID of the remediation plug-in that caused the exception. - - -### Microsoft.Windows.Remediation.RemediationUHEnableServiceFailed - -This event tracks the health of key update (Remediation) services and whether they are enabled. - -The following fields are available: - -- **CV** The Correlation Vector. -- **GlobalEventCounter** The client-side counter that indicates ordering of events. -- **hResult** The result of the event execution. -- **PackageVersion** The version number of the current remediation package. -- **serviceName** The name associated with the operation. - - -### Microsoft.Windows.Remediation.RemediationUpgradeSucceededDataEventId - -This event returns information about the upgrade upon success to help ensure Windows is up to date. - -The following fields are available: - -- **AppraiserPlugin** TRUE / FALSE depending on whether the Appraiser plug-in task fix was successful. -- **ClearAUOptionsPlugin** TRUE / FALSE depending on whether the AU (Auto Updater) Options registry keys were successfully deleted. -- **CV** The Correlation Vector. -- **DatetimeSyncPlugin** TRUE / FALSE depending on whether the DateTimeSync plug-in ran successfully. -- **DiskCleanupPlugin** TRUE / FALSE depending on whether the DiskCleanup plug-in ran successfully. -- **GlobalEventCounter** The client-side counter that indicates ordering of events. -- **NoisyHammerPlugin** TRUE / FALSE depending on whether the NoisyHammer plug-in ran successfully. -- **PackageVersion** The version number of the current remediation package. -- **RebootRequiredPlugin** TRUE / FALSE depending on whether the Reboot plug-in ran successfully. -- **RemediationNotifyUserFixIssuesPlugin** TRUE / FALSE depending on whether the User Fix Issues plug-in ran successfully -- **RemediationPostUpgradeDiskSpace** The amount of disk space available after the upgrade. -- **RemediationPostUpgradeHibernationSize** The size of the Hibernation file after the upgrade. -- **ServiceHealthPlugin** A list of services updated by the plug-in. -- **SIHHealthPlugin** TRUE / FALSE depending on whether the SIH Health plug-in ran successfully. -- **StackDataResetPlugin** TRUE / FALSE depending on whether the update stack completed successfully. -- **TaskHealthPlugin** A list of tasks updated by the plug-in. -- **UpdateApplicabilityFixerPlugin** TRUE / FALSE depending on whether the update applicability fixer plug-in completed successfully. -- **WindowsUpdateEndpointPlugin** TRUE / FALSE depending on whether the Windows Update Endpoint was successful. - - ### Microsoft.Windows.Remediation.Started -This event reports whether a plug-in started, to help ensure Windows is up to date. +This event sends simple device connectivity and configuration data about an application installed on the system that helps keep the Windows Update stack healthy. The following fields are available: @@ -3091,31 +2977,6 @@ The following fields are available: - **Result** This is the HRESULT for detection or perform action phases of the plugin. -### Microsoft.Windows.Remediation.wilResult - -This event provides Self Update information to help keep Windows up to date. - -The following fields are available: - -- **callContext** A list of diagnostic activities containing this error. -- **currentContextId** An identifier for the newest diagnostic activity containing this error. -- **currentContextMessage** A message associated with the most recent diagnostic activity containing this error (if any). -- **currentContextName** Name of the most recent diagnostic activity containing this error. -- **failureCount** Number of failures seen within the binary where the error occurred. -- **failureId** The identifier assigned to this failure. -- **failureType** Indicates the type of failure observed (exception, returned, error, logged error, or fail fast). -- **fileName** The source code file name where the error occurred. -- **function** The name of the function where the error occurred. -- **hresult** The failure error code. -- **lineNumber** The Line Number within the source code file where the error occurred. -- **message** A message associated with the failure (if any). -- **module** The name of the binary module in which the error occurred. -- **originatingContextId** The identifier for the oldest diagnostic activity containing this error. -- **originatingContextMessage** A message associated with the oldest diagnostic activity containing this error (if any). -- **originatingContextName** The name of the oldest diagnostic activity containing this error. -- **threadId** The identifier of the thread the error occurred on. - - ## Sediment events ### Microsoft.Windows.Sediment.Info.AppraiserData @@ -3465,15 +3326,17 @@ The following fields are available: - **Time** The system time at which the event occurred. +## Sediment Launcher events + ### Microsoft.Windows.SedimentLauncher.Applicable -Indicates whether a given plugin is applicable. +This event sends simple device connectivity and configuration data about an application installed on the system that helps keep the Windows Update stack healthy. The following fields are available: - **CV** Correlation vector. - **DetectedCondition** Boolean true if detect condition is true and perform action will be run. -- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this user. +- **GlobalEventCounter** Client side counter which indicates ordering of events. - **IsSelfUpdateEnabledInOneSettings** True if self update enabled in Settings. - **IsSelfUpdateNeeded** True if self update needed by device. - **PackageVersion** Current package version of Remediation. @@ -3483,97 +3346,43 @@ The following fields are available: ### Microsoft.Windows.SedimentLauncher.Completed -Indicates whether a given plugin has completed its work. +This event sends simple device connectivity and configuration data about an application installed on the system that helps keep the Windows Update stack healthy. The following fields are available: - **CV** Correlation vector. - **FailedReasons** Concatenated list of failure reasons. -- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this user. +- **GlobalEventCounter** Client side counter which indicates ordering of events. - **PackageVersion** Current package version of Remediation. - **PluginName** Name of the plugin specified for each generic plugin event. - **Result** This is the HRESULT for detection or perform action phases of the plugin. - **SedLauncherExecutionResult** HRESULT for one execution of the Sediment Launcher. -### Microsoft.Windows.SedimentLauncher.Error - -This event indicates an error occurred during the execution of the plug-in. The information provided helps ensure future upgrade/update attempts are more successful. - -The following fields are available: - -- **HResult** The result for the Detection or Perform Action phases of the plug-in. -- **Message** A message containing information about the error that occurred (if any). -- **PackageVersion** The version number of the current remediation package. - - -### Microsoft.Windows.SedimentLauncher.FallbackError - -This event indicates that an error occurred during execution of the plug-in fallback. - -The following fields are available: - -- **s0** Error occurred during execution of the plugin fallback. See [Microsoft.Windows.SedimentLauncher.wilResult](#microsoftwindowssedimentlauncherwilresult). - - -### Microsoft.Windows.SedimentLauncher.Information - -This event provides general information returned from the plug-in. - -The following fields are available: - -- **HResult** This is the HRESULT for detection or perform action phases of the plugin. -- **Message** Information message returned from a plugin containing only information internal to the plugins execution. -- **PackageVersion** Current package version of Remediation. - - ### Microsoft.Windows.SedimentLauncher.Started -This event indicates that a given plug-in has started. +This event sends simple device connectivity and configuration data about an application installed on the system that helps keep the Windows Update stack healthy. The following fields are available: - **CV** Correlation vector. -- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this user. +- **GlobalEventCounter** Client side counter which indicates ordering of events. - **PackageVersion** Current package version of Remediation. - **PluginName** Name of the plugin specified for each generic plugin event. - **Result** This is the HRESULT for detection or perform action phases of the plugin. -### Microsoft.Windows.SedimentLauncher.wilResult - -This event provides the result from the Windows internal library. - -The following fields are available: - -- **callContext** List of telemetry activities containing this error. -- **currentContextId** Identifier for the newest telemetry activity containing this error. -- **currentContextMessage** Custom message associated with the newest telemetry activity containing this error (if any). -- **currentContextName** Name of the newest telemetry activity containing this error. -- **failureCount** Number of failures seen within the binary where the error occurred. -- **failureId** Identifier assigned to this failure. -- **failureType** Indicates what type of failure was observed (exception, returned error, logged error or fail fast). -- **fileName** Source code file name where the error occurred. -- **function** Name of the function where the error occurred. -- **hresult** Failure error code. -- **lineNumber** Line number within the source code file where the error occurred. -- **message** Custom message associated with the failure (if any). -- **module** Name of the binary where the error occurred. -- **originatingContextId** Identifier for the oldest telemetry activity containing this error. -- **originatingContextMessage** Custom message associated with the oldest telemetry activity containing this error (if any). -- **originatingContextName** Name of the oldest telemetry activity containing this error. -- **threadId** Identifier of the thread the error occurred on. - +## Sediment Service events ### Microsoft.Windows.SedimentService.Applicable -This event indicates whether a given plug-in is applicable. +This event sends simple device connectivity and configuration data about a service on the system that helps keep Windows up to date. The following fields are available: - **CV** Correlation vector. - **DetectedCondition** Determine whether action needs to run based on device properties. -- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this user. +- **GlobalEventCounter** Client side counter which indicates ordering of events. - **IsSelfUpdateEnabledInOneSettings** Indicates if self update is enabled in One Settings. - **IsSelfUpdateNeeded** Indicates if self update is needed. - **PackageVersion** Current package version of Remediation. @@ -3583,13 +3392,13 @@ The following fields are available: ### Microsoft.Windows.SedimentService.Completed -This event indicates whether a given plug-in has completed its work. +This event sends simple device connectivity and configuration data about a service on the system that helps keep Windows up to date. The following fields are available: - **CV** Correlation vector. - **FailedReasons** List of reasons when the plugin action failed. -- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this user. +- **GlobalEventCounter** Client side counter which indicates ordering of events. - **PackageVersion** Current package version of Remediation. - **PluginName** Name of the plugin specified for each generic plugin event. - **Result** This is the HRESULT for detection or perform action phases of the plugin. @@ -3603,40 +3412,9 @@ The following fields are available: - **SedimentServiceTotalIterations** Number of 5 second iterations service will wait before running again. -### Microsoft.Windows.SedimentService.Error - -This event indicates whether an error condition occurred in the plug-in. - -The following fields are available: - -- **HResult** This is the HRESULT for detection or perform action phases of the plugin. -- **Message** Custom message associated with the failure (if any). -- **PackageVersion** Current package version of Remediation. - - -### Microsoft.Windows.SedimentService.FallbackError - -This event indicates whether an error occurred for a fallback in the plug-in. - -The following fields are available: - -- **s0** Event returned when an error occurs for a fallback in the plugin. See [Microsoft.Windows.SedimentService.wilResult](#microsoftwindowssedimentservicewilresult). - - -### Microsoft.Windows.SedimentService.Information - -This event provides general information returned from the plug-in. - -The following fields are available: - -- **HResult** This is the HRESULT for detection or perform action phases of the plugin. -- **Message** Custom message associated with the failure (if any). -- **PackageVersion** Current package version of Remediation. - - ### Microsoft.Windows.SedimentService.Started -This event indicates a specified plug-in has started. This information helps ensure Windows is up to date. +This event sends simple device connectivity and configuration data about a service on the system that helps keep Windows up to date. The following fields are available: @@ -3647,31 +3425,6 @@ The following fields are available: - **Result** This is the HRESULT for Detection or Perform Action phases of the plugin. -### Microsoft.Windows.SedimentService.wilResult - -This event provides the result from the Windows internal library. - -The following fields are available: - -- **callContext** List of telemetry activities containing this error. -- **currentContextId** Identifier for the newest telemetry activity containing this error. -- **currentContextMessage** Custom message associated with the newest telemetry activity containing this error (if any). -- **currentContextName** Name of the newest telemetry activity containing this error. -- **failureCount** Number of failures seen within the binary where the error occurred. -- **failureId** Identifier assigned to this failure. -- **failureType** Indicates what type of failure was observed (exception, returned error, logged error or fail fast). -- **fileName** Source code file name where the error occurred. -- **function** Name of the function where the error occurred. -- **hresult** Failure error code. -- **lineNumber** Line number within the source code file where the error occurred. -- **message** Custom message associated with the failure (if any). -- **module** Name of the binary where the error occurred. -- **originatingContextId** Identifier for the oldest telemetry activity containing this error. -- **originatingContextMessage** Custom message associated with the oldest telemetry activity containing this error (if any). -- **originatingContextName** Name of the oldest telemetry activity containing this error. -- **threadId** Identifier of the thread the error occurred on. - - ## Setup events ### SetupPlatformTel.SetupPlatformTelActivityEvent diff --git a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1709.md b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1709.md index e6b7d5cbc6..7ed5621811 100644 --- a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1709.md +++ b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1709.md @@ -3004,7 +3004,7 @@ This event is triggered whenever the current app state is changed by: launch, sw ### Microsoft.Windows.Remediation.Applicable -This event indicates a remedial plug-in is applicable if/when such a plug-in is detected. This is used to ensure Windows is up to date. +This event sends simple device connectivity and configuration data about an application installed on the system that helps keep the Windows Update stack healthy. The following fields are available: @@ -3022,7 +3022,7 @@ The following fields are available: - **EvalAndReportAppraiserBinariesFailed** Indicates the EvalAndReportAppraiserBinaries event failed. - **EvalAndReportAppraiserRegEntries** Indicates the EvalAndReportAppraiserRegEntriesFailed event failed. - **EvalAndReportAppraiserRegEntriesFailed** Indicates the EvalAndReportAppraiserRegEntriesFailed event failed. -- **GlobalEventCounter** Client side counter that indicates ordering of events sent by the remediation system. +- **GlobalEventCounter** Client side counter that indicates ordering of events. - **HResult** The HRESULT for detection or perform action phases of the plugin. - **IsAppraiserLatestResult** The HRESULT from the appraiser task. - **IsConfigurationCorrected** Indicates whether the configuration of SIH task was successfully corrected. @@ -3085,29 +3085,9 @@ The following fields are available: - **TimeServiceSyncType** Type of sync behavior for Date & Time service on device. -### Microsoft.Windows.Remediation.ChangePowerProfileDetection - -Indicates whether the remediation system can put in a request to defer a system-initiated sleep to enable installation of security or quality updates. - -The following fields are available: - -- **ActionName** A descriptive name for the plugin action -- **CurrentPowerPlanGUID** The ID of the current power plan configured on the device -- **CV** Correlation vector -- **GlobalEventCounter** Counter that indicates the ordering of events on the device -- **PackageVersion** Current package version of remediation service -- **RemediationBatteryPowerBatteryLevel** Integer between 0 and 100 indicating % battery power remaining (if not on battery, expect 0) -- **RemediationFUInProcess** Result that shows whether the device is currently installing a feature update -- **RemediationFURebootRequred** Indicates that a feature update reboot required was detected so the plugin will exit. -- **RemediationScanInProcess** Result that shows whether the device is currently scanning for updates -- **RemediationTargetMachine** Result that shows whether this device is a candidate for remediation(s) that will fix update issues -- **SetupMutexAvailable** Result that shows whether setup mutex is available or not -- **SysPowerStatusAC** Result that shows whether system is on AC power or not - - ### Microsoft.Windows.Remediation.Completed -This event enables completion tracking of a process that remediates issues preventing security and quality updates. +This event sends simple device connectivity and configuration data about an application installed on the system that helps keep the Windows Update stack healthy. The following fields are available: @@ -3129,7 +3109,7 @@ The following fields are available: - **DiskMbFreeAfterCleanup** The amount of free hard disk space after cleanup, measured in Megabytes. - **DiskMbFreeBeforeCleanup** The amount of free hard disk space before cleanup, measured in Megabytes. - **ForcedAppraiserTaskTriggered** TRUE if Appraiser task ran from the plug-in. -- **GlobalEventCounter** Client-side counter that indicates ordering of events sent by the active user. +- **GlobalEventCounter** Client-side counter that indicates ordering of events. - **HandlerCleanupFreeDiskInMegabytes** The amount of hard disk space cleaned by the storage sense handlers, measured in Megabytes. - **hasRolledBack** Indicates whether the client machine has rolled back. - **hasUninstalled** Indicates whether the client machine has uninstalled a later version of the OS. @@ -3222,30 +3202,14 @@ The following fields are available: - **windowsUpgradeRecoveredFromRs4** Event to report the value of the Windows Upgrade Recovered key. -### Microsoft.Windows.Remediation.RemediationShellMainExeEventId - -Enables tracking of completion of process that remediates issues preventing security and quality updates. - -The following fields are available: - -- **CV** Client side counter which indicates ordering of events sent by the remediation system. -- **GlobalEventCounter** Client side counter which indicates ordering of events sent by the remediation system. -- **PackageVersion** Current package version of Remediation. -- **RemediationShellCanAcquireSedimentMutex** True if the remediation was able to acquire the sediment mutex. False if it is already running. -- **RemediationShellExecuteShellResult** Indicates if the remediation system completed without errors. -- **RemediationShellFoundDriverDll** Result whether the remediation system found its component files to run properly. -- **RemediationShellLoadedShellDriver** Result whether the remediation system loaded its component files to run properly. -- **RemediationShellLoadedShellFunction** Result whether the remediation system loaded the functions from its component files to run properly. - - ### Microsoft.Windows.Remediation.Started -This event reports whether a plug-in started, to help ensure Windows is up to date. +This event sends simple device connectivity and configuration data about an application installed on the system that helps keep the Windows Update stack healthy. The following fields are available: - **CV** Correlation vector. -- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this user. +- **GlobalEventCounter** Client side counter which indicates ordering of events. - **PackageVersion** Current package version of Remediation. - **PluginName** Name of the plugin specified for each generic plugin event. - **Result** This is the HRESULT for detection or perform action phases of the plugin. @@ -3315,15 +3279,17 @@ The following fields are available: - **Time** System timestamp the event was fired +## Sediment Launcher events + ### Microsoft.Windows.SedimentLauncher.Applicable -Indicates whether a given plugin is applicable. +This event sends simple device connectivity and configuration data about an application installed on the system that helps keep the Windows Update stack healthy. The following fields are available: - **CV** Correlation vector. - **DetectedCondition** Boolean true if detect condition is true and perform action will be run. -- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this user. +- **GlobalEventCounter** Client side counter which indicates ordering of events. - **IsSelfUpdateEnabledInOneSettings** True if self update enabled in Settings. - **IsSelfUpdateNeeded** True if self update needed by device. - **PackageVersion** Current package version of Remediation. @@ -3333,98 +3299,43 @@ The following fields are available: ### Microsoft.Windows.SedimentLauncher.Completed -Indicates whether a given plugin has completed its work. +This event sends simple device connectivity and configuration data about an application installed on the system that helps keep the Windows Update stack healthy. The following fields are available: - **CV** Correlation vector. - **FailedReasons** Concatenated list of failure reasons. -- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this user. +- **GlobalEventCounter** Client side counter which indicates ordering of events. - **PackageVersion** Current package version of Remediation. - **PluginName** Name of the plugin specified for each generic plugin event. - **Result** This is the HRESULT for detection or perform action phases of the plugin. - **SedLauncherExecutionResult** HRESULT for one execution of the Sediment Launcher. -### Microsoft.Windows.SedimentLauncher.Error - -Error occurred during execution of the plugin. - -The following fields are available: - -- **HResult** The result for the Detection or Perform Action phases of the plug-in. -- **Message** A message containing information about the error that occurred (if any). -- **PackageVersion** The version number of the current remediation package. - - -### Microsoft.Windows.SedimentLauncher.FallbackError - -This event indicates that an error occurred during execution of the plug-in fallback. - -The following fields are available: - -- **s0** Error occurred during execution of the plugin fallback. See [Microsoft.Windows.SedimentLauncher.wilResult](#microsoftwindowssedimentlauncherwilresult). -- **wilResult** Result from executing wil based function. See [wilResult](#wilresult). - - -### Microsoft.Windows.SedimentLauncher.Information - -This event provides general information returned from the plug-in. - -The following fields are available: - -- **HResult** This is the HRESULT for detection or perform action phases of the plugin. -- **Message** Information message returned from a plugin containing only information internal to the plugins execution. -- **PackageVersion** Current package version of Remediation. - - ### Microsoft.Windows.SedimentLauncher.Started -This event indicates that a given plug-in has started. +This event sends simple device connectivity and configuration data about an application installed on the system that helps keep Windows up to date. The following fields are available: - **CV** Correlation vector. -- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this user. +- **GlobalEventCounter** Client side counter which indicates ordering of events. - **PackageVersion** Current package version of Remediation. - **PluginName** Name of the plugin specified for each generic plugin event. - **Result** This is the HRESULT for detection or perform action phases of the plugin. -### Microsoft.Windows.SedimentLauncher.wilResult - -This event provides the result from the Windows internal library. - -The following fields are available: - -- **callContext** List of telemetry activities containing this error. -- **currentContextId** Identifier for the newest telemetry activity containing this error. -- **currentContextMessage** Custom message associated with the newest telemetry activity containing this error (if any). -- **currentContextName** Name of the newest telemetry activity containing this error. -- **failureCount** Number of failures seen within the binary where the error occurred. -- **failureId** Identifier assigned to this failure. -- **failureType** Indicates what type of failure was observed (exception, returned error, logged error or fail fast). -- **fileName** Source code file name where the error occurred. -- **function** Name of the function where the error occurred. -- **hresult** Failure error code. -- **lineNumber** Line number within the source code file where the error occurred. -- **message** Custom message associated with the failure (if any). -- **module** Name of the binary where the error occurred. -- **originatingContextId** Identifier for the oldest telemetry activity containing this error. -- **originatingContextMessage** Custom message associated with the oldest telemetry activity containing this error (if any). -- **originatingContextName** Name of the oldest telemetry activity containing this error. -- **threadId** Identifier of the thread the error occurred on. - +## Sediment Service events ### Microsoft.Windows.SedimentService.Applicable -This event indicates whether a given plug-in is applicable. +This event sends simple device connectivity and configuration data about a service on the system that helps keep Windows up to date. The following fields are available: - **CV** Correlation vector. - **DetectedCondition** Determine whether action needs to run based on device properties. -- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this user. +- **GlobalEventCounter** Client side counter which indicates ordering of events. - **IsSelfUpdateEnabledInOneSettings** Indicates if self update is enabled in One Settings. - **IsSelfUpdateNeeded** Indicates if self update is needed. - **PackageVersion** Current package version of Remediation. @@ -3434,13 +3345,13 @@ The following fields are available: ### Microsoft.Windows.SedimentService.Completed -This event indicates whether a given plug-in has completed its work. +This event sends simple device connectivity and configuration data about a service on the system that helps keep Windows up to date. The following fields are available: - **CV** Correlation vector. - **FailedReasons** List of reasons when the plugin action failed. -- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this user. +- **GlobalEventCounter** Client side counter which indicates ordering of events. - **PackageVersion** Current package version of Remediation. - **PluginName** Name of the plugin specified for each generic plugin event. - **Result** This is the HRESULT for detection or perform action phases of the plugin. @@ -3454,41 +3365,9 @@ The following fields are available: - **SedimentServiceTotalIterations** Number of 5 second iterations service will wait before running again. -### Microsoft.Windows.SedimentService.Error - -This event indicates whether an error condition occurred in the plug-in. - -The following fields are available: - -- **HResult** This is the HRESULT for detection or perform action phases of the plugin. -- **Message** Custom message associated with the failure (if any). -- **PackageVersion** Current package version of Remediation. - - -### Microsoft.Windows.SedimentService.FallbackError - -This event indicates whether an error occurred for a fallback in the plug-in. - -The following fields are available: - -- **s0** Event returned when an error occurs for a fallback in the plugin. See [Microsoft.Windows.SedimentService.wilResult](#microsoftwindowssedimentservicewilresult). -- **wilResult** Result for wil based function. See [wilResult](#wilresult). - - -### Microsoft.Windows.SedimentService.Information - -This event provides general information returned from the plug-in. - -The following fields are available: - -- **HResult** This is the HRESULT for detection or perform action phases of the plugin. -- **Message** Custom message associated with the failure (if any). -- **PackageVersion** Current package version of Remediation. - - ### Microsoft.Windows.SedimentService.Started -This event indicates a specified plug-in has started. This information helps ensure Windows is up to date. +This event sends simple device connectivity and configuration data about a service on the system that helps keep Windows up to date. The following fields are available: @@ -3499,31 +3378,6 @@ The following fields are available: - **Result** This is the HRESULT for Detection or Perform Action phases of the plugin. -### Microsoft.Windows.SedimentService.wilResult - -This event provides the result from the Windows internal library. - -The following fields are available: - -- **callContext** List of telemetry activities containing this error. -- **currentContextId** Identifier for the newest telemetry activity containing this error. -- **currentContextMessage** Custom message associated with the newest telemetry activity containing this error (if any). -- **currentContextName** Name of the newest telemetry activity containing this error. -- **failureCount** Number of failures seen within the binary where the error occurred. -- **failureId** Identifier assigned to this failure. -- **failureType** Indicates what type of failure was observed (exception, returned error, logged error or fail fast). -- **fileName** Source code file name where the error occurred. -- **function** Name of the function where the error occurred. -- **hresult** Failure error code. -- **lineNumber** Line number within the source code file where the error occurred. -- **message** Custom message associated with the failure (if any). -- **module** Name of the binary where the error occurred. -- **originatingContextId** Identifier for the oldest telemetry activity containing this error. -- **originatingContextMessage** Custom message associated with the oldest telemetry activity containing this error (if any). -- **originatingContextName** Name of the oldest telemetry activity containing this error. -- **threadId** Identifier of the thread the error occurred on. - - ## Setup events ### SetupPlatformTel.SetupPlatformTelActivityEvent diff --git a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md index 945ae68322..1a5a1aa9c7 100644 --- a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md +++ b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md @@ -4208,6 +4208,222 @@ The following fields are available: - **userRegionCode** The current user's region setting +## Remediation events + +### Microsoft.Windows.Remediation.Applicable + +This event sends simple device connectivity and configuration data about an application installed on the system that helps keep the Windows Update stack healthy. + +The following fields are available: + +- **ActionName** The name of the action to be taken by the plug-in. +- **AppraiserBinariesValidResult** Indicates whether plug-in was appraised as valid. +- **AppraiserDetectCondition** Indicates whether the plug-in passed the appraiser's check. +- **AppraiserRegistryValidResult** Indicates whether the registry entry checks out as valid. +- **AppraiserTaskDisabled** Indicates the appraiser task is disabled. +- **AppraiserTaskValidFailed** Indicates the Appraiser task did not function and requires intervention. +- **CV** Correlation vector +- **DateTimeDifference** The difference between local and reference clock times. +- **DateTimeSyncEnabled** Indicates whether the datetime sync plug-in is enabled. +- **DaysSinceLastSIH** The number of days since the most recent SIH executed. +- **DaysToNextSIH** The number of days until the next scheduled SIH execution. +- **DetectedCondition** Indicates whether detect condition is true and the perform action will be run. +- **EvalAndReportAppraiserBinariesFailed** Indicates the EvalAndReportAppraiserBinaries event failed. +- **EvalAndReportAppraiserRegEntries** Indicates the EvalAndReportAppraiserRegEntriesFailed event failed. +- **EvalAndReportAppraiserRegEntriesFailed** Indicates the EvalAndReportAppraiserRegEntriesFailed event failed. +- **GlobalEventCounter** Client side counter that indicates ordering of events. +- **HResult** The HRESULT for detection or perform action phases of the plugin. +- **IsAppraiserLatestResult** The HRESULT from the appraiser task. +- **IsConfigurationCorrected** Indicates whether the configuration of SIH task was successfully corrected. +- **LastHresult** The HRESULT for detection or perform action phases of the plugin. +- **LastRun** The date of the most recent SIH run. +- **NextRun** Date of the next scheduled SIH run. +- **PackageVersion** The version of the current remediation package. +- **PluginName** Name of the plugin specified for each generic plugin event. +- **Reload** True if SIH reload is required. +- **RemediationNoisyHammerAcLineStatus** Event that indicates the AC Line Status of the machine. +- **RemediationNoisyHammerAutoStartCount** The number of times hammer auto-started. +- **RemediationNoisyHammerCalendarTaskEnabled** Event that indicates Update Assistant Calendar Task is enabled. +- **RemediationNoisyHammerCalendarTaskExists** Event that indicates an Update Assistant Calendar Task exists. +- **RemediationNoisyHammerCalendarTaskTriggerEnabledCount** Event that indicates calendar triggers are enabled in the task. +- **RemediationNoisyHammerDaysSinceLastTaskRunTime** The number of days since the most recent hammer task ran. +- **RemediationNoisyHammerGetCurrentSize** Size in MB of the $GetCurrent folder. +- **RemediationNoisyHammerIsInstalled** TRUE if the noisy hammer is installed. +- **RemediationNoisyHammerLastTaskRunResult** The result of the last hammer task run. +- **RemediationNoisyHammerMeteredNetwork** TRUE if the machine is on a metered network. +- **RemediationNoisyHammerTaskEnabled** Indicates whether the Update Assistant Task (Noisy Hammer) is enabled. +- **RemediationNoisyHammerTaskExists** Indicates whether the Update Assistant Task (Noisy Hammer) exists. +- **RemediationNoisyHammerTaskTriggerEnabledCount** Indicates whether counting is enabled for the Update Assistant (Noisy Hammer) task trigger. +- **RemediationNoisyHammerUAExitCode** The exit code of the Update Assistant (Noisy Hammer) task. +- **RemediationNoisyHammerUAExitState** The code for the exit state of the Update Assistant (Noisy Hammer) task. +- **RemediationNoisyHammerUserLoggedIn** TRUE if there is a user logged in. +- **RemediationNoisyHammerUserLoggedInAdmin** TRUE if there is the user currently logged in is an Admin. +- **RemediationShellDeviceManaged** TRUE if the device is WSUS managed or Windows Updated disabled. +- **RemediationShellDeviceNewOS** TRUE if the device has a recently installed OS. +- **RemediationShellDeviceSccm** TRUE if the device is managed by SCCM (Microsoft System Center Configuration Manager). +- **RemediationShellDeviceZeroExhaust** TRUE if the device has opted out of Windows Updates completely. +- **RemediationTargetMachine** Indicates whether the device is a target of the specified fix. +- **RemediationTaskHealthAutochkProxy** True/False based on the health of the AutochkProxy task. +- **RemediationTaskHealthChkdskProactiveScan** True/False based on the health of the Check Disk task. +- **RemediationTaskHealthDiskCleanup_SilentCleanup** True/False based on the health of the Disk Cleanup task. +- **RemediationTaskHealthMaintenance_WinSAT** True/False based on the health of the Health Maintenance task. +- **RemediationTaskHealthServicing_ComponentCleanupTask** True/False based on the health of the Health Servicing Component task. +- **RemediationTaskHealthUSO_ScheduleScanTask** True/False based on the health of the USO (Update Session Orchestrator) Schedule task. +- **RemediationTaskHealthWindowsUpdate_ScheduledStartTask** True/False based on the health of the Windows Update Scheduled Start task. +- **RemediationTaskHealthWindowsUpdate_SihbootTask** True/False based on the health of the Sihboot task. +- **RemediationUHServiceBitsServiceEnabled** Indicates whether BITS service is enabled. +- **RemediationUHServiceDeviceInstallEnabled** Indicates whether Device Install service is enabled. +- **RemediationUHServiceDoSvcServiceEnabled** Indicates whether DO service is enabled. +- **RemediationUHServiceDsmsvcEnabled** Indicates whether DSMSVC service is enabled. +- **RemediationUHServiceLicensemanagerEnabled** Indicates whether License Manager service is enabled. +- **RemediationUHServiceMpssvcEnabled** Indicates whether MPSSVC service is enabled. +- **RemediationUHServiceTokenBrokerEnabled** Indicates whether Token Broker service is enabled. +- **RemediationUHServiceTrustedInstallerServiceEnabled** Indicates whether Trusted Installer service is enabled. +- **RemediationUHServiceUsoServiceEnabled** Indicates whether USO (Update Session Orchestrator) service is enabled. +- **RemediationUHServicew32timeServiceEnabled** Indicates whether W32 Time service is enabled. +- **RemediationUHServiceWecsvcEnabled** Indicates whether WECSVC service is enabled. +- **RemediationUHServiceWinmgmtEnabled** Indicates whether WMI service is enabled. +- **RemediationUHServiceWpnServiceEnabled** Indicates whether WPN service is enabled. +- **RemediationUHServiceWuauservServiceEnabled** Indicates whether WUAUSERV service is enabled. +- **Result** This is the HRESULT for Detection or Perform Action phases of the plugin. +- **RunAppraiserFailed** Indicates RunAppraiser failed to run correctly. +- **RunTask** TRUE if SIH task should be run by the plug-in. +- **TimeServiceNTPServer** The URL for the NTP time server used by device. +- **TimeServiceStartType** The startup type for the NTP time service. +- **TimeServiceSyncDomainJoined** True if device domain joined and hence uses DC for clock. +- **TimeServiceSyncType** Type of sync behavior for Date & Time service on device. + + +### Microsoft.Windows.Remediation.Completed + +This event sends simple device connectivity and configuration data about an application installed on the system that helps keep the Windows Update stack healthy. + +The following fields are available: + +- **ActionName** Name of the action to be completed by the plug-in. +- **AppraiserTaskCreationFailed** TRUE if the appraiser task creation failed to complete successfully. +- **AppraiserTaskDeleteFailed** TRUE if deletion of appraiser task failed to complete successfully. +- **AppraiserTaskExistFailed** TRUE if detection of the appraiser task failed to complete successfully. +- **AppraiserTaskLoadXmlFailed** TRUE if the Appraiser XML Loader failed to complete successfully. +- **AppraiserTaskMissing** TRUE if the Appraiser task is missing. +- **AppraiserTaskTimeTriggerUpdateFailedId** TRUE if the Appraiser Task Time Trigger failed to update successfully. +- **AppraiserTaskValidateTaskXmlFailed** TRUE if the Appraiser Task XML failed to complete successfully. +- **branchReadinessLevel** Branch readiness level policy. +- **cloudControlState** Value indicating whether the shell is enabled on the cloud control settings. +- **CrossedDiskSpaceThreshold** Indicates if cleanup resulted in hard drive usage threshold required for feature update to be exceeded. +- **CV** The Correlation Vector. +- **DateTimeDifference** The difference between the local and reference clocks. +- **DaysSinceOsInstallation** The number of days since the installation of the Operating System. +- **DiskMbCleaned** The amount of space cleaned on the hard disk, measured in Megabytes. +- **DiskMbFreeAfterCleanup** The amount of free hard disk space after cleanup, measured in Megabytes. +- **DiskMbFreeBeforeCleanup** The amount of free hard disk space before cleanup, measured in Megabytes. +- **ForcedAppraiserTaskTriggered** TRUE if Appraiser task ran from the plug-in. +- **GlobalEventCounter** Client-side counter that indicates ordering of events. +- **HandlerCleanupFreeDiskInMegabytes** The amount of hard disk space cleaned by the storage sense handlers, measured in Megabytes. +- **hasRolledBack** Indicates whether the client machine has rolled back. +- **hasUninstalled** Indicates whether the client machine has uninstalled a later version of the OS. +- **hResult** The result of the event execution. +- **HResult** The result of the event execution. +- **installDate** The value of installDate registry key. Indicates the install date. +- **isNetworkMetered** Indicates whether the client machine has uninstalled a later version of the OS. +- **LatestState** The final state of the plug-in component. +- **MicrosoftCompatibilityAppraiser** The name of the component targeted by the Appraiser plug-in. +- **PackageVersion** The package version for the current Remediation. +- **PageFileCount** The number of Windows Page files. +- **PageFileCurrentSize** The size of the Windows Page file, measured in Megabytes. +- **PageFileLocation** The storage location (directory path) of the Windows Page file. +- **PageFilePeakSize** The maximum amount of hard disk space used by the Windows Page file, measured in Megabytes. +- **PluginName** The name of the plug-in specified for each generic plug-in event. +- **RanCleanup** TRUE if the plug-in ran disk cleanup. +- **RemediationBatteryPowerBatteryLevel** Indicates the battery level at which it is acceptable to continue operation. +- **RemediationBatteryPowerExitDueToLowBattery** True when we exit due to low battery power. +- **RemediationBatteryPowerOnBattery** True if we allow execution on battery. +- **RemediationConfigurationTroubleshooterExecuted** True/False based on whether the Remediation Configuration Troubleshooter executed successfully. +- **RemediationConfigurationTroubleshooterIpconfigFix** TRUE if IPConfig Fix completed successfully. +- **RemediationConfigurationTroubleshooterNetShFix** TRUE if network card cache reset ran successfully. +- **RemediationDiskCleanSizeBtWindowsFolderInMegabytes** The size of the Windows BT folder (used to store Windows upgrade files), measured in Megabytes. +- **RemediationDiskCleanupBTFolderEsdSizeInMB** The size of the Windows BT folder (used to store Windows upgrade files) ESD (Electronic Software Delivery), measured in Megabytes. +- **RemediationDiskCleanupGetCurrentEsdSizeInMB** The size of any existing ESD (Electronic Software Delivery) folder, measured in Megabytes. +- **RemediationDiskCleanupSearchFileSizeInMegabytes** The size of the Cleanup Search index file, measured in Megabytes. +- **RemediationDiskCleanupUpdateAssistantSizeInMB** The size of the Update Assistant folder, measured in Megabytes. +- **RemediationDoorstopChangeSucceeded** TRUE if Doorstop registry key was successfully modified. +- **RemediationDoorstopExists** TRUE if there is a One Settings Doorstop value. +- **RemediationDoorstopRegkeyError** TRUE if an error occurred accessing the Doorstop registry key. +- **RemediationDRFKeyDeleteSucceeded** TRUE if the RecoveredFrom (Doorstop) registry key was successfully deleted. +- **RemediationDUABuildNumber** The build number of the DUA. +- **RemediationDUAKeyDeleteSucceeded** TRUE if the UninstallActive registry key was successfully deleted. +- **RemediationDuplicateTokenSucceeded** TRUE if the user token was successfully duplicated. +- **remediationExecution** Remediation shell is in "applying remediation" state. +- **RemediationHibernationMigrated** TRUE if hibernation was migrated. +- **RemediationHibernationMigrationSucceeded** TRUE if hibernation migration succeeded. +- **RemediationImpersonateUserSucceeded** TRUE if the user was successfully impersonated. +- **RemediationNoisyHammerTaskKickOffIsSuccess** TRUE if the NoisyHammer task started successfully. +- **RemediationQueryTokenSucceeded** TRUE if the user token was successfully queried. +- **RemediationRanHibernation** TRUE if the system entered Hibernation. +- **RemediationRevertToSystemSucceeded** TRUE if reversion to the system context succeeded. +- **RemediationShellHasUpgraded** TRUE if the device upgraded. +- **RemediationShellMinimumTimeBetweenShellRuns** Indicates the time between shell runs exceeded the minimum required to execute plugins. +- **RemediationShellRunFromService** TRUE if the shell driver was run from the service. +- **RemediationShellSessionIdentifier** Unique identifier tracking a shell session. +- **RemediationShellSessionTimeInSeconds** Indicates the time the shell session took in seconds. +- **RemediationShellTaskDeleted** Indicates that the shell task has been deleted so no additional sediment pack runs occur for this installation. +- **RemediationUpdateServiceHealthRemediationResult** The result of the Update Service Health plug-in. +- **RemediationUpdateTaskHealthRemediationResult** The result of the Update Task Health plug-in. +- **RemediationUpdateTaskHealthTaskList** A list of tasks fixed by the Update Task Health plug-in. +- **RemediationWindowsLogSpaceFound** The size of the Windows log files found, measured in Megabytes. +- **RemediationWindowsLogSpaceFreed** The amount of disk space freed by deleting the Windows log files, measured in Megabytes. +- **RemediationWindowsSecondaryDriveFreeSpace** The amount of free space on the secondary drive, measured in Megabytes. +- **RemediationWindowsSecondaryDriveLetter** The letter designation of the first secondary drive with a total capacity of 10GB or more. +- **RemediationWindowsSecondaryDriveTotalSpace** The total storage capacity of the secondary drive, measured in Megabytes. +- **RemediationWindowsTotalSystemDiskSize** The total storage capacity of the System Disk Drive, measured in Megabytes. +- **Result** The HRESULT for Detection or Perform Action phases of the plug-in. +- **RunResult** The HRESULT for Detection or Perform Action phases of the plug-in. +- **ServiceHealthPlugin** The nae of the Service Health plug-in. +- **StartComponentCleanupTask** TRUE if the Component Cleanup task started successfully. +- **systemDriveFreeDiskSpace** Indicates the free disk space on system drive in MBs. +- **systemUptimeInHours** Indicates the amount of time the system in hours has been on since the last boot. +- **TotalSizeofOrphanedInstallerFilesInMegabytes** The size of any orphaned Windows Installer files, measured in Megabytes. +- **TotalSizeofStoreCacheAfterCleanupInMegabytes** The size of the Windows Store cache after cleanup, measured in Megabytes. +- **TotalSizeofStoreCacheBeforeCleanupInMegabytes** The size of the Windows Store cache (prior to cleanup), measured in Megabytes. +- **uninstallActive** TRUE if previous uninstall has occurred for current OS +- **usoScanDaysSinceLastScan** The number of days since the last USO (Update Session Orchestrator) scan. +- **usoScanInProgress** TRUE if a USO (Update Session Orchestrator) scan is in progress, to prevent multiple simultaneous scans. +- **usoScanIsAllowAutoUpdateKeyPresent** TRUE if the AllowAutoUpdate registry key is set. +- **usoScanIsAllowAutoUpdateProviderSetKeyPresent** TRUE if AllowAutoUpdateProviderSet registry key is set. +- **usoScanIsAuOptionsPresent** TRUE if Auto Update Options registry key is set. +- **usoScanIsFeatureUpdateInProgress** TRUE if a USO (Update Session Orchestrator) scan is in progress, to prevent multiple simultaneous scans. +- **usoScanIsNetworkMetered** TRUE if the device is currently connected to a metered network. +- **usoScanIsNoAutoUpdateKeyPresent** TRUE if no Auto Update registry key is set/present. +- **usoScanIsUserLoggedOn** TRUE if the user is logged on. +- **usoScanPastThreshold** TRUE if the most recent USO (Update Session Orchestrator) scan is past the threshold (late). +- **usoScanType** The type of USO (Update Session Orchestrator) scan (Interactive or Background). +- **windows10UpgraderBlockWuUpdates** Event to report the value of Windows 10 Upgrader BlockWuUpdates Key. +- **windowsEditionId** Event to report the value of Windows Edition ID. +- **WindowsHyberFilSysSizeInMegabytes** The size of the Windows Hibernation file, measured in Megabytes. +- **WindowsInstallerFolderSizeInMegabytes** The size of the Windows Installer folder, measured in Megabytes. +- **WindowsOldFolderSizeInMegabytes** The size of the Windows.OLD folder, measured in Megabytes. +- **WindowsOldSpaceCleanedInMB** The amount of disk space freed by removing the Windows.OLD folder, measured in Megabytes. +- **WindowsPageFileSysSizeInMegabytes** The size of the Windows Page file, measured in Megabytes. +- **WindowsSoftwareDistributionFolderSizeInMegabytes** The size of the SoftwareDistribution folder, measured in Megabytes. +- **WindowsSwapFileSysSizeInMegabytes** The size of the Windows Swap file, measured in Megabytes. +- **WindowsSxsFolderSizeInMegabytes** The size of the WinSxS (Windows Side-by-Side) folder, measured in Megabytes. +- **WindowsSxsTempFolderSizeInMegabytes** The size of the WinSxS (Windows Side-by-Side) Temp folder, measured in Megabytes. +- **windowsUpgradeRecoveredFromRs4** Event to report the value of the Windows Upgrade Recovered key. + + +### Microsoft.Windows.Remediation.Started + +This event sends simple device connectivity and configuration data about an application installed on the system that helps keep Windows up to date. + +The following fields are available: + +- **CV** Correlation vector. +- **GlobalEventCounter** Client side counter which indicates ordering of events within Remediation application. +- **PackageVersion** Current package version of Remediation application. +- **PluginName** Name of the plugin specified for each generic plugin event. +- **Result** This is the HRESULT for detection or perform action phases of the plugin. + + ## Sediment events ### Microsoft.Windows.Sediment.Info.DetailedState @@ -4272,6 +4488,88 @@ The following fields are available: - **Time** System timestamp when the event was started. +## Sediment Service events + +### Microsoft.Windows.SedimentService.Applicable + +This event sends simple device connectivity and configuration data about a service installed on the system that helps keep Windows up to date. + +The following fields are available: + +- **CV** Correlation vector. +- **GlobalEventCounter** Client side counter which indicates ordering of events within Remediation application. +- **PackageVersion** Current package version of Remediation application. +- **PluginName** Name of the plugin specified for each generic plugin event. +- **Result** This is the HRESULT for detection or perform action phases of the plugin. + + +### Microsoft.Windows.SedimentService.Completed + +This event sends simple device connectivity and configuration data about a service installed on the system that helps keep Windows up to date. + +The following fields are available: + +- **CV** Correlation vector. +- **GlobalEventCounter** Client side counter which indicates ordering of events within Remediation application. +- **PackageVersion** Current package version of Remediation application. +- **PluginName** Name of the plugin specified for each generic plugin event. +- **Result** This is the HRESULT for detection or perform action phases of the plugin. + + +### Microsoft.Windows.SedimentService.Started + +This event sends simple device connectivity and configuration data about a service installed on the system that helps keep Windows up to date. + +The following fields are available: + +- **CV** Correlation vector. +- **GlobalEventCounter** Client side counter which indicates ordering of events within Remediation application. +- **PackageVersion** Current package version of Remediation application. +- **PluginName** Name of the plugin specified for each generic plugin event. +- **Result** This is the HRESULT for detection or perform action phases of the plugin. + + +## Sediment Launcher events + +### Microsoft.Windows.SedimentLauncher.Applicable + +This event sends simple device connectivity and configuration data about an application installed on the system that helps keep Windows up to date. + +The following fields are available: + +- **CV** Correlation vector. +- **GlobalEventCounter** Client side counter which indicates ordering of events within Remediation application. +- **PackageVersion** Current package version of Remediation application. +- **PluginName** Name of the plugin specified for each generic plugin event. +- **Result** This is the HRESULT for detection or perform action phases of the plugin. + + +### Microsoft.Windows.SedimentLauncher.Completed + +This event sends simple device connectivity and configuration data about an application installed on the system that helps keep Windows up to date. + +The following fields are available: + +- **CV** Correlation vector. +- **GlobalEventCounter** Client side counter which indicates ordering of events within Remediation application. +- **PackageVersion** Current package version of Remediation application. +- **PluginName** Name of the plugin specified for each generic plugin event. +- **Result** This is the HRESULT for detection or perform action phases of the plugin. + + +### Microsoft.Windows.SedimentLauncher.Started + +This event sends simple device connectivity and configuration data about an application installed on the system that helps keep Windows up to date. + +The following fields are available: + +- **CV** Correlation vector. +- **GlobalEventCounter** Client side counter which indicates ordering of events within Remediation application. +- **PackageVersion** Current package version of Remediation application. +- **PluginName** Name of the plugin specified for each generic plugin event. +- **Result** This is the HRESULT for detection or perform action phases of the plugin. + + ## Setup events ### SetupPlatformTel.SetupPlatformTelActivityEvent
Category$Tr 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
![AV-Comparatives Logo](./images/av-comparatives-logo-3.png) From e36d84fe21ef28b0f04f09517b44d7cf671b42ab Mon Sep 17 00:00:00 2001 From: Beth Levin Date: Tue, 6 Nov 2018 15:08:33 -0800 Subject: [PATCH 35/53] updated scores --- .../intelligence/top-scoring-industry-antivirus-tests.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/threat-protection/intelligence/top-scoring-industry-antivirus-tests.md b/windows/security/threat-protection/intelligence/top-scoring-industry-antivirus-tests.md index 835d1e92f6..43bef2e93e 100644 --- a/windows/security/threat-protection/intelligence/top-scoring-industry-antivirus-tests.md +++ b/windows/security/threat-protection/intelligence/top-scoring-industry-antivirus-tests.md @@ -31,7 +31,7 @@ The AV-TEST Product Review and Certification Report tests on three categories: p ### July-August 2018 AV-TEST Business User test: [Protection score 6.0/6.0](https://www.av-test.org/en/antivirus/business-windows-client/windows-10/august-2018/microsoft-windows-defender-antivirus-4.12--4.18-183212/) | [Analysis](https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RE2IL3Y) **Latest** - Windows Defender Antivirus achieved an overall Protection score of 6.0/6.0, detecting 100% of 20,022 malware samples. With the latest results, Windows Defender Antivirus has achieved 100% on 11 of the 12 most recent antivirus tests (combined "Real-World" and "Prevalent malware"). + Windows Defender Antivirus achieved an overall Protection score of 6.0/6.0, detecting 100% of 20,022 malware samples. With the latest results, Windows Defender Antivirus has achieved 100% on 14 of the 16 most recent antivirus tests (combined "Real-World" and "Prevalent malware"). ### May-June 2018 AV-TEST Business User test: [Protection score 6.0/6.0](https://www.av-test.org/en/antivirus/business-windows-client/windows-10/june-2018/microsoft-windows-defender-antivirus-4.12-182374/) | [Analysis](https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RE2v60I?ocid=cx-docs-avreports) From 6f06cc2b4c8372c443ae3e3d9336304a8c97e6cb Mon Sep 17 00:00:00 2001 From: Jeanie Decker Date: Wed, 7 Nov 2018 15:33:04 +0000 Subject: [PATCH 36/53] Merged PR 12646: fix wmi bridge script and SH oobe --- .../first-run-program-surface-hub.md | 2 +- ...ses-deployment-surface-hub-multi-forest.md | 2 +- ...change-history-for-configure-windows-10.md | 8 +- windows/configuration/kiosk-mdm-bridge.md | 100 +++++++++--------- 4 files changed, 59 insertions(+), 53 deletions(-) diff --git a/devices/surface-hub/first-run-program-surface-hub.md b/devices/surface-hub/first-run-program-surface-hub.md index 2574c2cbf6..6fcee63f5d 100644 --- a/devices/surface-hub/first-run-program-surface-hub.md +++ b/devices/surface-hub/first-run-program-surface-hub.md @@ -396,7 +396,7 @@ Once the device has been domain joined, you must specify a security group from t The following input is required: - **Domain:** This is the fully qualified domain name (FQDN) of the domain that you want to join. A security group from this domain can be used to manage the device. -- **User name:** The user name of an account that has sufficient permission to join the specified domain. This account must be a computer object. +- **User name:** The user name of an account that has sufficient permission to join the specified domain. - **Password:** The password for the account. After the credentials are verified, you will be asked to type a security group name. This input is required. diff --git a/devices/surface-hub/on-premises-deployment-surface-hub-multi-forest.md b/devices/surface-hub/on-premises-deployment-surface-hub-multi-forest.md index babce30d59..cae7e9639e 100644 --- a/devices/surface-hub/on-premises-deployment-surface-hub-multi-forest.md +++ b/devices/surface-hub/on-premises-deployment-surface-hub-multi-forest.md @@ -80,7 +80,7 @@ If you have a multi-forest on-premises deployment with Microsoft Exchange 2013 o 6. You now need to change the room mailbox to a linked mailbox: ```PowerShell - $cred=Get-Credential AuthForest\LinkedRoomTest1 + $cred=Get-Credential AuthForest\ADAdmin Set-mailbox -Alias LinkedRoomTest1 -LinkedMasterAccount AuthForest\LinkedRoomTest1 -LinkedDomainController AuthForest-4939.AuthForest.extest.contoso.com -Name LinkedRoomTest1 -LinkedCredential $cred -Identity LinkedRoomTest1 ``` diff --git a/windows/configuration/change-history-for-configure-windows-10.md b/windows/configuration/change-history-for-configure-windows-10.md index f14d66e522..d7be6815e1 100644 --- a/windows/configuration/change-history-for-configure-windows-10.md +++ b/windows/configuration/change-history-for-configure-windows-10.md @@ -10,13 +10,19 @@ ms.localizationpriority: medium author: jdeckerms ms.author: jdecker ms.topic: article -ms.date: 10/02/2018 +ms.date: 11/07/2018 --- # Change history for Configure Windows 10 This topic lists new and updated topics in the [Configure Windows 10](index.md) documentation for Windows 10 and Windows 10 Mobile. +## Novermber 2018 + +New or changed topic | Description +--- | --- +[Use MDM Bridge WMI Provider to create a Windows 10 kiosk](kiosk-mdm-bridge.md) | Updated script. + ## October 2018 New or changed topic | Description diff --git a/windows/configuration/kiosk-mdm-bridge.md b/windows/configuration/kiosk-mdm-bridge.md index 9738a64aae..bb333f0c3f 100644 --- a/windows/configuration/kiosk-mdm-bridge.md +++ b/windows/configuration/kiosk-mdm-bridge.md @@ -8,7 +8,7 @@ ms.mktglfcycl: manage ms.sitesec: library author: jdeckerms ms.localizationpriority: medium -ms.date: 07/30/2018 +ms.date: 11/07/2018 --- # Use MDM Bridge WMI Provider to create a Windows 10 kiosk @@ -32,55 +32,55 @@ $nameSpaceName="root\cimv2\mdm\dmmap" $className="MDM_AssignedAccess" $obj = Get-CimInstance -Namespace $namespaceName -ClassName $className $obj.Configuration = @" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ]]> - - - - - - - MultiAppKioskUser - - - - +<?xml version="1.0" encoding="utf-8" ?> +<AssignedAccessConfiguration xmlns="http://schemas.microsoft.com/AssignedAccess/2017/config"> + <Profiles> + <Profile Id="{9A2A490F-10F6-4764-974A-43B19E722C23}"> + <AllAppsList> + <AllowedApps> + <App AppUserModelId="Microsoft.ZuneMusic_8wekyb3d8bbwe!Microsoft.ZuneMusic" /> + <App AppUserModelId="Microsoft.ZuneVideo_8wekyb3d8bbwe!Microsoft.ZuneVideo" /> + <App AppUserModelId="Microsoft.Windows.Photos_8wekyb3d8bbwe!App" /> + <App AppUserModelId="Microsoft.BingWeather_8wekyb3d8bbwe!App" /> + <App AppUserModelId="Microsoft.WindowsCalculator_8wekyb3d8bbwe!App" /> + <App DesktopAppPath="%windir%\system32\mspaint.exe" /> + <App DesktopAppPath="C:\Windows\System32\notepad.exe" /> + </AllowedApps> + </AllAppsList> + <StartLayout> + <![CDATA[<LayoutModificationTemplate xmlns:defaultlayout="http://schemas.microsoft.com/Start/2014/FullDefaultLayout" xmlns:start="http://schemas.microsoft.com/Start/2014/StartLayout" Version="1" xmlns="http://schemas.microsoft.com/Start/2014/LayoutModification"> + <LayoutOptions StartTileGroupCellWidth="6" /> + <DefaultLayoutOverride> + <StartLayoutCollection> + <defaultlayout:StartLayout GroupCellWidth="6"> + <start:Group Name="Group1"> + <start:Tile Size="4x4" Column="0" Row="0" AppUserModelID="Microsoft.ZuneMusic_8wekyb3d8bbwe!Microsoft.ZuneMusic" /> + <start:Tile Size="2x2" Column="4" Row="2" AppUserModelID="Microsoft.ZuneVideo_8wekyb3d8bbwe!Microsoft.ZuneVideo" /> + <start:Tile Size="2x2" Column="4" Row="0" AppUserModelID="Microsoft.Windows.Photos_8wekyb3d8bbwe!App" /> + <start:Tile Size="2x2" Column="4" Row="4" AppUserModelID="Microsoft.BingWeather_8wekyb3d8bbwe!App" /> + <start:Tile Size="4x2" Column="0" Row="4" AppUserModelID="Microsoft.WindowsCalculator_8wekyb3d8bbwe!App" /> + </start:Group> + <start:Group Name="Group2"> + <start:DesktopApplicationTile Size="2x2" Column="2" Row="0" DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Accessories\Paint.lnk" /> + <start:DesktopApplicationTile Size="2x2" Column="0" Row="0" DesktopApplicationLinkPath="%APPDATA%\Microsoft\Windows\Start Menu\Programs\Accessories\Notepad.lnk" /> + </start:Group> + </defaultlayout:StartLayout> + </StartLayoutCollection> + </DefaultLayoutOverride> + </LayoutModificationTemplate> + ]]> + </StartLayout> + <Taskbar ShowTaskbar="true"/> + </Profile> + </Profiles> + <Configs> + <Config> + <Account>MultiAppKioskUser</Account> + <DefaultProfile Id="{9A2A490F-10F6-4764-974A-43B19E722C23}"/> + </Config> + </Configs> +</AssignedAccessConfiguration> "@ - + Set-CimInstance -CimInstance $obj ``` From 200b733f9117d10fc0682e1b8703a2f978df257b Mon Sep 17 00:00:00 2001 From: "Andrea Bichsel (Aquent LLC)" Date: Wed, 7 Nov 2018 17:13:23 +0000 Subject: [PATCH 37/53] Lsass rule does honor exclusions. --- .../customize-attack-surface-reduction.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/threat-protection/windows-defender-exploit-guard/customize-attack-surface-reduction.md b/windows/security/threat-protection/windows-defender-exploit-guard/customize-attack-surface-reduction.md index a948e7db7e..8bbe633287 100644 --- a/windows/security/threat-protection/windows-defender-exploit-guard/customize-attack-surface-reduction.md +++ b/windows/security/threat-protection/windows-defender-exploit-guard/customize-attack-surface-reduction.md @@ -58,7 +58,7 @@ Block JavaScript or VBScript from launching downloaded executable content | [!in Block executable content from email client and webmail | [!include[Check mark no](images/svg/check-no.svg)] | BE9BA2D9-53EA-4CDC-84E5-9B1EEEE46550 Block executable files from running unless they meet a prevalence, age, or trusted list criteria | [!include[Check mark yes](images/svg/check-yes.svg)] | 01443614-cd74-433a-b99e-2ecdc07bfc25 Use advanced protection against ransomware | [!include[Check mark yes](images/svg/check-yes.svg)] | c1db55ab-c21a-4637-bb3f-a12568109d35 -Block credential stealing from the Windows local security authority subsystem (lsass.exe) | [!include[Check mark no](images/svg/check-no.svg)] | 9e6c4e1f-7d60-472f-ba1a-a39ef669e4b2 +Block credential stealing from the Windows local security authority subsystem (lsass.exe) | [!include[Check mark yes](images/svg/check-yes.svg)] | 9e6c4e1f-7d60-472f-ba1a-a39ef669e4b2 Block process creations originating from PSExec and WMI commands | [!include[Check mark yes](images/svg/check-yes.svg)] | d1e49aac-8f56-4280-b9ba-993a6d77406c Block untrusted and unsigned processes that run from USB | [!include[Check mark yes](images/svg/check-yes.svg)] | b2b3f03d-6a65-4f7b-a9c7-1c7ef74a9ba4 Block Office communication applications from creating child processes | [!include[Check mark yes](images/svg/check-yes.svg)] | 26190899-1602-49e8-8b27-eb1d0a1ce869 From f66ed3b32c9ae5d1792e3dd36571709f540829df Mon Sep 17 00:00:00 2001 From: jaimeo Date: Wed, 7 Nov 2018 09:59:20 -0800 Subject: [PATCH 38/53] fixed some typos and yooked up TOC --- windows/deployment/TOC.md | 1 + .../upgrade-readiness-monitor-deployment.md | 14 +++++++------- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/windows/deployment/TOC.md b/windows/deployment/TOC.md index ce9e1629c5..aa375d690f 100644 --- a/windows/deployment/TOC.md +++ b/windows/deployment/TOC.md @@ -260,6 +260,7 @@ ##### [Step 1: Identify apps](upgrade/upgrade-readiness-identify-apps.md) ##### [Step 2: Resolve issues](upgrade/upgrade-readiness-resolve-issues.md) ##### [Step 3: Deploy Windows](upgrade/upgrade-readiness-deploy-windows.md) +##### [Step 4: Monitor deployment](upgrade/upgrade-readiness-monitor-deployment.md) ##### [Additional insights](upgrade/upgrade-readiness-additional-insights.md) ##### [Targeting a new operating system version](upgrade/upgrade-readiness-target-new-OS.md) ### [Monitor Windows Updates with Update Compliance](update/update-compliance-monitor.md) diff --git a/windows/deployment/upgrade/upgrade-readiness-monitor-deployment.md b/windows/deployment/upgrade/upgrade-readiness-monitor-deployment.md index 0f5b9e3730..be3d2aee32 100644 --- a/windows/deployment/upgrade/upgrade-readiness-monitor-deployment.md +++ b/windows/deployment/upgrade/upgrade-readiness-monitor-deployment.md @@ -6,7 +6,7 @@ ms.localizationpriority: medium ms.prod: w10 author: jaimeo ms.author: jaimeo -ms.date: 11/05/2018 +ms.date: 11/07/2018 --- # Upgrade Readiness - Step 4: Monitor @@ -18,26 +18,26 @@ Now that you have started deploying an update with Upgrade Readiness, you can us ## Update progress -The **Update progress** blade allows you to monitor the progress and status of your deployment. Any device that has attepted to upgrade in the last 30 days displays the **DeploymentStatus**. You'll be able to see the number of computers that have successfully upgraded, failed to upgrade, are stalled, etc. {what does "uninstalled" mean? Should we have some more detailed explication of each of the states and what admin actions are recommended for each?} +The **Update progress** blade allows you to monitor the progress and status of your deployment. Any device that has attepted to upgrade in the last 30 days displays the **DeploymentStatus** attribute. You'll be able to see the number of computers that have successfully upgraded, failed to upgrade, are stalled, etc. -Selecting this blade allows you to view device-level details about the deployment. For example, select **Failed**, to view the original operating system version, the target operating system version, and the reason the update failed for each of the devices that failed to upgrade. In the case of the device illustrated in the following image, an attempt was made to upgrade from Windows 10, version 1703 to 1709, but the operation timed out.' +Selecting this blade allows you to view device-level details about the deployment. For example, select **Failed** to view the original operating system version, the target operating system version, and the reason the update failed for each of the devices that failed to upgrade. In the case of the device illustrated in the following image, an attempt was made to upgrade from Windows 10, version 1703 to 1709, but the operation timed out. !["Update progress" blade showing detailed information after selecting the "failed" item](../images/UR-update-progress-failed-detail.png) ## Driver issues -The **Driver issues** blade allows you to see Device Manager errors for your upgraded devices. We include data for all compatibility-related device errors, such as "driver not found" and "driver not started". The blade summarizes errors by error type, but you can select a particular error type to see device-level details about which device(s) are failing and where to obtain a driver. +The **Driver issues** blade allows you to see Device Manager errors for your upgraded devices. We include data for all compatibility-related device errors, such as "driver not found" and "driver not started." The blade summarizes errors by error type, but you can select a particular error type to see device-level details about which device(s) are failing and where to obtain a driver. -For example, by selecting error code **28 - driver not installed**, you would see that the device below is missing the driver for a network controller. Upgrade Readiness also notifies that a suitable driver is available online through Windows Update. If this device is configured to automatically receive updates from Windows Update, this issue would likely resolve itself following the device's next Windows Update scan. If this device does not automatically receive updates from Windows Update, you would need to deliver the driver manually. +For example, by selecting error code **28 - driver not installed**, you would see that the device in the following image is missing the driver for a network controller. Upgrade Readiness also notifies that a suitable driver is available online through Windows Update. If this device is configured to automatically receive updates from Windows Update, this issue would likely resolve itself following the device's next Windows Update scan. If this device does not automatically receive updates from Windows Update, you would need to deliver the driver manually. !["Driver issue" blade showing detailed information after selecting a specific driver error](../images/UR-driver-issue-detail.png) -## User Feedback +## User feedback -The **User Feedback** blade focuses on gathering subjective feedback from your end users. If a user submits feedback through Feedback Hub app on a device in your workspace, we will make that feedback visible to you in this blade. The Feedback Hub app is built into Windows 10 and can be accessed by typing "Feedback Hub" in the Cortana search bar. +The **User Feedback** blade focuses on gathering subjective feedback from your end users. If a user submits feedback through the Feedback Hub app on a device in your workspace, we will make that feedback visible to you in this blade. The Feedback Hub app is built into Windows 10 and can be accessed by typing "Feedback Hub" in the Cortana search bar. We recommend that you encourage your end users to submit any feedback they have through Feedback Hub. Not only will this feedback be sent directly to Microsoft for review, but you'll also be able to see it by using Upgrade Readiness. You should be aware that **feedback submitted through Feedback Hub will be publicly visible**, so it's best to avoid submitting feedback about internal line-of-business applications. From 3f6444634a5f7df460d3f5603ed5d6d76839d3d7 Mon Sep 17 00:00:00 2001 From: Beth Levin Date: Wed, 7 Nov 2018 11:25:05 -0800 Subject: [PATCH 39/53] added note --- .../intelligence/top-scoring-industry-antivirus-tests.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/windows/security/threat-protection/intelligence/top-scoring-industry-antivirus-tests.md b/windows/security/threat-protection/intelligence/top-scoring-industry-antivirus-tests.md index 43bef2e93e..34ca3bda7a 100644 --- a/windows/security/threat-protection/intelligence/top-scoring-industry-antivirus-tests.md +++ b/windows/security/threat-protection/intelligence/top-scoring-industry-antivirus-tests.md @@ -18,16 +18,14 @@ ms.date: 09/05/2018 We want to be transparent and have gathered top industry reports that demonstrate our enterprise antivirus capabilities. Note that these tests only provide results for antivirus and do not test for additional security protections. In the real world, millions of devices are protected from cyberattacks every day, sometimes [milliseconds after a campaign starts](https://cloudblogs.microsoft.com/microsoftsecure/2018/03/07/behavior-monitoring-combined-with-machine-learning-spoils-a-massive-dofoil-coin-mining-campaign?ocid=cx-docs-avreports). Windows Defender Antivirus is part of the [next generation](https://www.youtube.com/watch?v=Xy3MOxkX_o4) Windows Defender Advanced Threat Protection ([Windows Defender ATP](https://www.microsoft.com/WindowsForBusiness/windows-atp?ocid=cx-docs-avreports)) security stack which addresses the latest and most sophisticated threats today. In many cases, customers might not even know they were protected. That's because Windows Defender Antivirus detects and stops malware at first sight by using [machine learning](https://cloudblogs.microsoft.com/microsoftsecure/2018/06/07/machine-learning-vs-social-engineering?ocid=cx-docs-avreports), [artificial intelligence](https://cloudblogs.microsoft.com/microsoftsecure/2018/02/14/how-artificial-intelligence-stopped-an-emotet-outbreak?ocid=cx-docs-avreports), behavioral analysis, and other advanced technologies. - -> [!TIP] -> Learn why [Windows Defender Antivirus is the most deployed in the enterprise](https://cloudblogs.microsoft.com/microsoftsecure/2018/03/22/why-windows-defender-antivirus-is-the-most-deployed-in-the-enterprise?ocid=cx-docs-avreports). -



![AV-TEST logo](./images/av-test-logo.png) ## AV-TEST: Perfect protection score of 6.0/6.0 in the latest test The AV-TEST Product Review and Certification Report tests on three categories: protection, performance, and usability. The scores listed below are for the Protection category which has two scores: Real-World Testing and the AV-TEST reference set (known as "Prevalent Malware"). +> [!NOTE] +> [Download our analysis of the latest results](https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RE2IL3Y) ### July-August 2018 AV-TEST Business User test: [Protection score 6.0/6.0](https://www.av-test.org/en/antivirus/business-windows-client/windows-10/august-2018/microsoft-windows-defender-antivirus-4.12--4.18-183212/) | [Analysis](https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RE2IL3Y) **Latest** From 0cb68bbfe0e8808c561315e1f2aa164dfb8c8e2c Mon Sep 17 00:00:00 2001 From: Beth Levin Date: Wed, 7 Nov 2018 12:00:39 -0800 Subject: [PATCH 40/53] updated text --- .../intelligence/top-scoring-industry-antivirus-tests.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/security/threat-protection/intelligence/top-scoring-industry-antivirus-tests.md b/windows/security/threat-protection/intelligence/top-scoring-industry-antivirus-tests.md index 34ca3bda7a..ed1a13c200 100644 --- a/windows/security/threat-protection/intelligence/top-scoring-industry-antivirus-tests.md +++ b/windows/security/threat-protection/intelligence/top-scoring-industry-antivirus-tests.md @@ -25,9 +25,9 @@ In the real world, millions of devices are protected from cyberattacks every day The AV-TEST Product Review and Certification Report tests on three categories: protection, performance, and usability. The scores listed below are for the Protection category which has two scores: Real-World Testing and the AV-TEST reference set (known as "Prevalent Malware"). > [!NOTE] -> [Download our analysis of the latest results](https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RE2IL3Y) +> [Download our latest analysis: Examining the AV-TEST July-August results](https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RE2IL3Y) -### July-August 2018 AV-TEST Business User test: [Protection score 6.0/6.0](https://www.av-test.org/en/antivirus/business-windows-client/windows-10/august-2018/microsoft-windows-defender-antivirus-4.12--4.18-183212/) | [Analysis](https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RE2IL3Y) **Latest** +### July-August 2018 AV-TEST Business User test: [Protection score 6.0/6.0](https://www.av-test.org/en/antivirus/business-windows-client/windows-10/august-2018/microsoft-windows-defender-antivirus-4.12--4.18-183212/) | [Analysis](https://query.prod.cms.rt.microsoft.com/cms/api/am/binary/RE2IL3Y) Windows Defender Antivirus achieved an overall Protection score of 6.0/6.0, detecting 100% of 20,022 malware samples. With the latest results, Windows Defender Antivirus has achieved 100% on 14 of the 16 most recent antivirus tests (combined "Real-World" and "Prevalent malware"). From de2ca4f5e542e167cf943a8f1329afa53f4259bb Mon Sep 17 00:00:00 2001 From: Brian Lich Date: Wed, 7 Nov 2018 21:36:06 +0000 Subject: [PATCH 41/53] Additional diagnostic data events --- ...ndows-diagnostic-events-and-fields-1703.md | 497 +++++- ...ndows-diagnostic-events-and-fields-1709.md | 1092 +++++++++--- ...ndows-diagnostic-events-and-fields-1803.md | 1331 ++++++++++++++- ...ndows-diagnostic-events-and-fields-1809.md | 1504 ++++++++++++++++- 4 files changed, 4075 insertions(+), 349 deletions(-) diff --git a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1703.md b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1703.md index dce0c91085..ada643a31a 100644 --- a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1703.md +++ b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1703.md @@ -9,7 +9,7 @@ ms.pagetype: security localizationpriority: high author: brianlic-msft ms.author: brianlic -ms.date: 09/10/2018 +ms.date: 11/07/2018 --- @@ -28,6 +28,7 @@ Use this article to learn about diagnostic events, grouped by event area, and th You can learn more about Windows functional and diagnostic data through these articles: + - [Windows 10, version 1809 basic diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields-1809.md) - [Windows 10, version 1803 basic diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields-1803.md) - [Windows 10, version 1709 basic diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields-1709.md) @@ -60,15 +61,15 @@ The following fields are available: - **DecisionMatchingInfoPostUpgrade_RS3** The total DecisionMatchingInfoPostUpgrade objects targeting the next release of Windows on this device. - **DecisionMediaCenter_RS3** The total DecisionMediaCenter objects targeting the next release of Windows on this device. - **DecisionSystemBios_RS3** The total DecisionSystemBios objects targeting the next release of Windows on this device. -- **InventoryLanguagePack** The count of DecisionApplicationFile objects present on this machine targeting the next release of Windows -- **InventorySystemBios** The count of DecisionDevicePnp objects present on this machine targeting the next release of Windows -- **PCFP** The count of DecisionDriverPackage objects present on this machine targeting the next release of Windows -- **SystemProcessorCompareExchange** The count of DecisionMatchingInfoBlock objects present on this machine targeting the next release of Windows -- **SystemProcessorNx** The count of DataSourceMatchingInfoPostUpgrade objects present on this machine targeting the next release of Windows -- **SystemProcessorSse2** The count of DecisionMatchingInfoPostUpgrade objects present on this machine targeting the next release of Windows -- **SystemWim** The count of DecisionMediaCenter objects present on this machine targeting the next release of Windows -- **SystemWindowsActivationStatus** The count of DecisionSystemBios objects present on this machine targeting the next release of Windows -- **SystemWlan** The count of InventoryApplicationFile objects present on this machine. +- **InventoryLanguagePack** The total InventoryLanguagePack objects that are present on this device. +- **InventorySystemBios** The total InventorySystemBios objects that are present on this device. +- **PCFP** An ID for the system that is calculated by hashing hardware identifiers. +- **SystemProcessorCompareExchange** The total SystemProcessorCompareExchange objects that are present on this device. +- **SystemProcessorNx** The total SystemProcessorNx objects that are present on this device. +- **SystemProcessorSse2** The total SystemProcessorSse2 objects that are present on this device. +- **SystemWim** The total SystemWim objects that are present on this device +- **SystemWindowsActivationStatus** The total SystemWindowsActivationStatus objects that are present on this device. +- **SystemWlan** The total SystemWlan objects that are present on this device. - **Wmdrm_RS3** The total Wmdrm objects targeting the next release of Windows on this device. @@ -334,7 +335,7 @@ The following fields are available: ### Microsoft.Windows.Appraiser.General.DecisionApplicationFileRemove -This event indicates that the DecisionApplicationFile object is no longer present. +This event indicates Indicates that the DecisionApplicationFile object is no longer present. This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). @@ -670,7 +671,7 @@ The following fields are available: ### Microsoft.Windows.Appraiser.General.InventoryApplicationFileStartSync -This event indicates that a new set of InventoryApplicationFileAdd events will be sent. +This event indicates indicates that a new set of InventoryApplicationFileAdd events will be sent. This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). @@ -1472,6 +1473,12 @@ The following fields are available: - **SocketCount** Number of physical CPU sockets of the machine. +### Census.Security + +Provides information on several important data points about security settings. + + + ### Census.Speech This event is used to gather basic speech settings on the device. @@ -2058,6 +2065,23 @@ The following fields are available: - **devinv.dll** The file version of the Device inventory component. +### Microsoft.Windows.Inventory.Core.FileSigningInfoAdd + +This event enumerates the signatures of files, either driver packages or application executables. For driver packages, this data is collected on demand via Telecommand to limit it only to unrecognized driver packages, saving time for the client and space on the server. For applications, this data is collected for up to 10 random executables on a system. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **CatalogSigners** Signers from catalog. Each signer starts with Chain. +- **DriverPackageStrongName** Optional. Available only if FileSigningInfo is collected on a driver package. +- **EmbeddedSigners** Embedded signers. Each signer starts with Chain. +- **FileName** The file name of the file whose signatures are listed. +- **FileType** Either exe or sys, depending on if a driver package or application executable. +- **InventoryVersion** The version of the inventory file generating the events. +- **Thumbprint** Comma separated hash of the leaf node of each signer. Semicolon is used to separate CatalogSigners from EmbeddedSigners. There will always be a trailing comma. + + ### Microsoft.Windows.Inventory.Core.InventoryApplicationAdd This event sends basic metadata about an application on the system to help keep Windows up to date. @@ -2251,7 +2275,7 @@ The following fields are available: - **Enumerator** The bus that enumerated the device - **HWID** A JSON array that provides the value and order of the HWID tree for the device. See [HWID](#hwid). - **Inf** The INF file name. -- **InstallState** The device installation state. One of these values: https://msdn.microsoft.com/library/windows/hardware/ff543130.aspx +- **InstallState** The device installation state. One of these values: https://msdn.microsoft.com/en-us/library/windows/hardware/ff543130.aspx - **InventoryVersion** The version of the inventory file generating the events. - **LowerClassFilters** Lower filter class drivers IDs installed for the device. - **LowerFilters** Lower filter drivers IDs installed for the device @@ -2379,6 +2403,90 @@ The following fields are available: - **InventoryVersion** The version of the inventory file generating the events. +### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeAddInAdd + +Invalid variant - Provides data on the installed Office Add-ins + + + +### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeAddInRemove + +Indicates that this particular data object represented by the objectInstanceId is no longer present. + + + +### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeAddInStartSync + +This event indicates that a new sync is being generated for this object type. + + + +### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeIdentifiersAdd + +Provides data on the Office identifiers. + + + +### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeIdentifiersStartSync + +Diagnostic event to indicate a new sync is being generated for this object type. + + + +### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeIESettingsAdd + +Provides data on Office-related Internet Explorer features. + + + +### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeIESettingsStartSync + +Diagnostic event to indicate a new sync is being generated for this object type. + + + +### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeInsightsAdd + +This event provides insight data on the installed Office products + + + +### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeProductsAdd + +Describes Office Products installed. + + + +### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeProductsStartSync + +Diagnostic event to indicate a new sync is being generated for this object type. + + + +### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeSettingsAdd + +This event describes various Office settings + + + +### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeSettingsStartSync + +Indicates a new sync is being generated for this object type. + + + +### Microsoft.Windows.Inventory.General.InventoryMiscellaneousUUPInfoAdd + +Provides data on Unified Update Platform (UUP) products and what version they are at. + + + +### Microsoft.Windows.Inventory.General.InventoryMiscellaneousUUPInfoStartSync + +Diagnostic event to indicate a new sync is being generated for this object type. + + + ### Microsoft.Windows.Inventory.Indicators.Checksum This event summarizes the counts for the InventoryMiscellaneousUexIndicatorAdd events. @@ -2546,14 +2654,14 @@ The following fields are available: - **AppVersion** The version of the app. - **BuildArch** Is the architecture x86 or x64? - **Environment** Is the device on the production or int service? -- **IsMSFTInternal** Is this an internal Microsoft device? -- **MachineGuid** The CEIP machine ID. +- **IsMSFTInternal** TRUE if the device is an internal Microsoft device. +- **MachineGuid** The GUID (Globally Unique ID) that identifies the machine for the CEIP (Customer Experience Improvement Program). - **Market** Which market is this in? - **OfficeVersion** The version of Office that is installed. - **OneDriveDeviceId** The OneDrive device ID. - **OSDeviceName** Only if the device is internal to Microsoft, the device name. - **OSUserName** Only if the device is internal to Microsoft, the user name. -- **UserGuid** A unique global user identifier. +- **UserGuid** The GUID (Globally Unique ID) of the user currently logged in. ### Microsoft.OneDrive.Sync.Updater.ComponentInstallState @@ -2605,12 +2713,12 @@ The following fields are available: ### Microsoft.OneDrive.Sync.Updater.UpdateOverallResult -This event determines the outcome of the operation. +This event sends information describing the result of the update. The following fields are available: - **hr** The HResult of the operation. -- **IsLoggingEnabled** Is logging enabled? +- **IsLoggingEnabled** Indicates whether logging is enabled for the updater. - **UpdaterVersion** The version of the updater. @@ -2642,6 +2750,43 @@ The following fields are available: - **winInetError** The HResult of the operation. +## Other events + +### Microsoft.Xbox.XamTelemetry.AppActivationError + +This event indicates whether the system detected an activation error in the app. + +The following fields are available: + +- **ActivationUri** Activation URI (Uniform Resource Identifier) used in the attempt to activate the app. +- **AppId** The Xbox LIVE Title ID. +- **AppUserModelId** The AUMID (Application User Model ID) of the app to activate. +- **Result** The HResult error. +- **UserId** The Xbox LIVE User ID (XUID). + + +### Microsoft.Xbox.XamTelemetry.AppActivity + +This event is triggered whenever the current app state is changed by: launch, switch, terminate, snap, etc. + +The following fields are available: + +- **AppActionId** The ID of the application action. +- **AppCurrentVisibilityState** The ID of the current application visibility state. +- **AppId** The Xbox LIVE Title ID of the app. +- **AppPackageFullName** The full name of the application package. +- **AppPreviousVisibilityState** The ID of the previous application visibility state. +- **AppSessionId** The application session ID. +- **AppType** The type ID of the application (AppType_NotKnown, AppType_Era, AppType_Sra, AppType_Uwa). +- **BCACode** The BCA (Burst Cutting Area) mark code of the optical disc used to launch the application. +- **DurationMs** The amount of time (in milliseconds) since the last application state transition. +- **IsTrialLicense** This boolean value is TRUE if the application is on a trial license. +- **LicenseType** The type of licensed used to authorize the app (0 - Unknown, 1 - User, 2 - Subscription, 3 - Offline, 4 - Disc). +- **LicenseXuid** If the license type is 1 (User), this field contains the XUID (Xbox User ID) of the registered owner of the license. +- **ProductGuid** The Xbox product GUID (Globally-Unique ID) of the application. +- **UserId** The XUID (Xbox User ID) of the current user. + + ## Remediation events ### Microsoft.Windows.Remediation.Applicable @@ -2807,7 +2952,7 @@ The following fields are available: - **usoScanIsNoAutoUpdateKeyPresent** TRUE if no Auto Update registry key is set/present. - **usoScanIsUserLoggedOn** TRUE if the user is logged on. - **usoScanPastThreshold** TRUE if the most recent USO (Update Session Orchestrator) scan is past the threshold (late). -- **usoScanType** The type of USO (Update Session Orchestrator) scan (Interactive or Background). +- **usoScanType** The type of USO (Update Session Orchestrator) scan: "Interactive" or "Background". - **WindowsHyberFilSysSizeInMegabytes** The size of the Windows Hibernation file, measured in Megabytes. - **WindowsInstallerFolderSizeInMegabytes** The size of the Windows Installer folder, measured in Megabytes. - **WindowsOldFolderSizeInMegabytes** The size of the Windows.OLD folder, measured in Megabytes. @@ -2939,11 +3084,11 @@ This event reports whether a plug-in started, to help ensure Windows is up to da The following fields are available: -- **CV** The Correlation Vector. -- **GlobalEventCounter** The client-side counter that indicates ordering of events. -- **PackageVersion** The version number of the current remediation package. -- **PluginName** The name of the plug-in specified for each generic plug-in event. -- **Result** The HRESULT for Detection or Perform Action phases of the plug-in. +- **CV** Correlation vector. +- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this user. +- **PackageVersion** Current package version of Remediation. +- **PluginName** Name of the plugin specified for each generic plugin event. +- **Result** This is the HRESULT for detection or perform action phases of the plugin. ### Microsoft.Windows.Remediation.wilResult @@ -3821,7 +3966,7 @@ The following fields are available: - **RelatedCV** The previous Correlation Vector that was used before swapping with a new one - **RepeatFailFlag** Indicates whether this specific piece of content had previously failed to download. - **RevisionNumber** Identifies the revision number of this specific piece of content. -- **ServiceGuid** An ID which represents which service the software distribution client is installing content for (Windows Update, Microsoft Store, etc.). +- **ServiceGuid** An ID which represents which service the software distribution client is installing content for (Windows Update, Windows Store, etc.). - **Setup360Phase** If the download is for an operating system upgrade, this datapoint indicates which phase of the upgrade is underway. - **ShippingMobileOperator** The mobile operator that a device shipped on. - **StatusCode** Indicates the result of a Download event (success, cancellation, failure code HResult). @@ -4118,6 +4263,22 @@ The following fields are available: - **UpdateId** Unique ID for each update. +### Update360Telemetry.UpdateAgent_FellBackToCanonical + +This event collects information when Express could not be used, and the update had to fall back to “canonical” during the new UUP (Unified Update Platform) update scenario; which is leveraged by both Mobile and Desktop. + +The following fields are available: + +- **FlightId** Unique ID for the flight (test instance version). +- **ObjectId** The unique value for each Update Agent mode. +- **PackageCount** The number of packages that fell back to “canonical”. +- **PackageList** PackageIDs which fell back to “canonical”. +- **RelatedCV** The correlation vector value generated from the latest USO (Update Service Orchestrator) scan. +- **ScenarioId** The ID of the update scenario. +- **SessionId** The ID of the update attempt. +- **UpdateId** The ID of the update. + + ### Update360Telemetry.UpdateAgent_Initialize This event sends data during the initialize phase of updating Windows. @@ -4152,6 +4313,22 @@ The following fields are available: - **UpdateId** Unique ID for each update. +### Update360Telemetry.UpdateAgent_Merge + +This event sends data on the merge phase when updating Windows. + +The following fields are available: + +- **ErrorCode** The error code returned for the current reboot. +- **FlightId** Unique ID for the flight (test instance version). +- **ObjectId** The unique value for each Update Agent mode. +- **RelatedCV** The correlation vector value generated from the latest USO (Update Service Orchestrator) scan. +- **Result** The HResult of the event. +- **ScenarioId** The ID of the update scenario. +- **SessionId** The ID of the update attempt. +- **UpdateId** The ID of the update. + + ### Update360Telemetry.UpdateAgent_ModeStart This event sends data for the start of each mode during the process of updating Windows. @@ -4184,6 +4361,130 @@ The following fields are available: - **UpdateId** Unique ID for each update. +### Update360Telemetry.UpdateAgentDownloadRequest + +This event sends data for the download request phase of updating Windows via the new Unified Update Platform (UUP) scenario. Applicable to PC and Mobile. + +The following fields are available: + +- **DeletedCorruptFiles** Boolean indicating whether corrupt payload was deleted. +- **DownloadRequests** Number of times a download was retried. +- **ErrorCode** The error code returned for the current download request phase. +- **ExtensionName** Indicates whether the payload is related to Operating System content or a plugin. +- **FlightId** Unique ID for each flight. +- **InternalFailureResult** Indicates a non-fatal error from a plugin. +- **ObjectId** Unique value for each Update Agent mode (same concept as InstanceId for Setup360). +- **PackageCountOptional** # of optional packages requested. +- **PackageCountRequired** # of required packages requested. +- **PackageCountTotal** Total # of packages needed. +- **PackageCountTotalCanonical** Total number of canonical packages. +- **PackageCountTotalDiff** Total number of diff packages. +- **PackageCountTotalExpress** Total number of express packages. +- **PackageExpressType** Type of express package. +- **PackageSizeCanonical** Size of canonical packages in bytes. +- **PackageSizeDiff** Size of diff packages in bytes. +- **PackageSizeExpress** Size of express packages in bytes. +- **RangeRequestState** Indicates the range request type used. +- **RelatedCV** Correlation vector value generated from the latest USO scan. +- **Result** Outcome of the download request phase of update. +- **ScenarioId** Indicates the update scenario. +- **SessionId** Unique value for each attempt (same value for initialize, download, install commit phases). +- **UpdateId** Unique ID for each Update. + + +### Update360Telemetry.UpdateAgentInitialize + +This event sends data for the initialize phase of updating Windows via the new Unified Update Platform (UUP) scenario, which is applicable to both PCs and Mobile. + +The following fields are available: + +- **ErrorCode** The error code returned for the current install phase. +- **FlightId** Unique ID for each flight. +- **FlightMetadata** Contains the FlightId and the build being flighted. +- **ObjectId** Unique value for each Update Agent mode. +- **RelatedCV** Correlation vector value generated from the latest USO scan. +- **Result** Outcome of the install phase of the update. +- **ScenarioId** Indicates the update scenario. +- **SessionData** String containing instructions to update agent for processing FODs and DUICs (Null for other scenarios). +- **SessionId** Unique value for each update attempt. +- **UpdateId** Unique ID for each update. + + +### Update360Telemetry.UpdateAgentMitigationResult + +This event sends data indicating the result of each update agent mitigation. + +The following fields are available: + +- **Applicable** Indicates whether the mitigation is applicable for the current update. +- **CommandCount** The number of command operations in the mitigation entry. +- **CustomCount** The number of custom operations in the mitigation entry. +- **FileCount** The number of file operations in the mitigation entry. +- **FlightId** Unique identifier for each flight. +- **Index** The mitigation index of this particular mitigation. +- **MitigationScenario** The update scenario in which the mitigation was executed. +- **Name** The friendly name of the mitigation. +- **ObjectId** Unique value for each Update Agent mode. +- **OperationIndex** The mitigation operation index (in the event of a failure). +- **OperationName** The friendly name of the mitigation operation (in the event of failure). +- **RegistryCount** The number of registry operations in the mitigation entry. +- **RelatedCV** The correlation vector value generated from the latest USO scan. +- **Result** The HResult of this operation. +- **ScenarioId** The update agent scenario ID. +- **SessionId** Unique value for each update attempt. +- **TimeDiff** The amount of time spent performing the mitigation (in 100-nanosecond increments). +- **UpdateId** Unique ID for each Update. + + +### Update360Telemetry.UpdateAgentMitigationSummary + +This event sends a summary of all the update agent mitigations available for an this update. + + + +### Update360Telemetry.UpdateAgentModeStart + +This event sends data for the start of each mode during the process of updating Windows via the new Unified Update Platform (UUP) scenario. Applicable to both PCs and Mobile. + +The following fields are available: + +- **FlightId** Unique ID for each flight. +- **Mode** Indicates the mode that has started. +- **ObjectId** Unique value for each Update Agent mode. +- **RelatedCV** Correlation vector value generated from the latest USO scan. +- **ScenarioId** Indicates the update scenario. +- **SessionId** Unique value for each update attempt. +- **UpdateId** Unique ID for each update. +- **Version** Version of update + + +### Update360Telemetry.UpdateAgentOneSettings + +This event collects information regarding the post reboot phase of the new UUP (Unified Update Platform) update scenario; which is leveraged by both Mobile and Desktop. + + + +### Update360Telemetry.UpdateAgentSetupBoxLaunch + +The UpdateAgent_SetupBoxLaunch event sends data for the launching of the setup box when updating Windows via the new Unified Update Platform (UUP) scenario. This event is only applicable to PCs. + +The following fields are available: + +- **ContainsExpressPackage** Indicates whether the download package is express. +- **FlightId** Unique ID for each flight. +- **FreeSpace** Free space on OS partition. +- **InstallCount** Number of install attempts using the same sandbox. +- **ObjectId** Unique value for each Update Agent mode. +- **Quiet** Indicates whether setup is running in quiet mode. +- **RelatedCV** Correlation vector value generated from the latest USO scan. +- **SandboxSize** Size of the sandbox. +- **ScenarioId** Indicates the update scenario. +- **SessionId** Unique value for each update attempt. +- **SetupMode** Mode of setup to be launched. +- **UpdateId** Unique ID for each Update. +- **UserSession** Indicates whether install was invoked by user actions. + + ## Upgrade events ### Setup360Telemetry.Downlevel @@ -4242,9 +4543,9 @@ The following fields are available: - **Setup360Extended** Detailed information about the phase or action when the potential failure occurred. - **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback. - **Setup360Result** The result of Setup360. This is an HRESULT error code that is used to diagnose errors. -- **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT +- **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT. - **SetupVersionBuildNumber** The build number of Setup360 (build number of target OS). -- **State** Exit state of a Setup360 run. Example: succeeded, failed, blocked, cancelled. +- **State** Exit state of a Setup360 run. Example: succeeded, failed, blocked, cancelled - **TestId** ID that uniquely identifies a group of events. - **WuId** Windows Update client ID. @@ -4375,6 +4676,24 @@ This event helps determine whether the device received supplemental content duri +### Setup360Telemetry.Setup360MitigationResult + +This event sends data indicating the result of each setup mitigation. + + + +### Setup360Telemetry.Setup360MitigationSummary + +This event sends a summary of all the setup mitigations available for this update. + + + +### Setup360Telemetry.Setup360OneSettings + +This event collects information regarding the post reboot phase of the new UUP (Unified Update Platform) update scenario; which is leveraged by both Mobile and Desktop. + + + ### Setup360Telemetry.UnexpectedEvent This event sends data indicating that the device has invoked the unexpected event phase of the upgrade, to help keep Windows up to date. @@ -4388,7 +4707,7 @@ The following fields are available: - **ReportId** With Windows Update, this is the updateID that is passed to Setup. In media setup, this is the GUID for the install.wim. - **Setup360Extended** Detailed information about the phase/action when the potential failure occurred. - **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback. -- **Setup360Result** The result of Setup360. This is an HRESULT error code that can be used to diagnose errors. +- **Setup360Result** The result of Setup360. This is an HRESULT error code that can be used used to diagnose errors. - **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT. - **SetupVersionBuildNumber** The build number of Setup360 (build number of target OS). - **State** The exit state of a Setup360 run. Example: succeeded, failed, blocked, cancelled. @@ -4819,11 +5138,11 @@ The following fields are available: - **errorCode** The error code that was returned. - **experimentId** When running a test, this is used to correlate events that are part of the same test. - **fileID** The ID of the file being downloaded. -- **isVpn** Is the device connected to a Virtual Private Network? +- **isVpn** Indicates whether the device is connected to a VPN (Virtual Private Network). - **scenarioID** The ID of the scenario. - **sessionID** The ID of the file download session. - **updateID** The ID of the update being downloaded. -- **usedMemoryStream** Did the download use memory streaming? +- **usedMemoryStream** TRUE if the download is using memory streaming for App downloads. ### Microsoft.OSG.DU.DeliveryOptClient.DownloadCompleted @@ -4862,7 +5181,7 @@ The following fields are available: - **updateID** The ID of the update being downloaded. - **uplinkBps** The maximum measured available upload bandwidth (in bytes per second). - **uplinkUsageBps** The upload speed (in bytes per second). -- **usedMemoryStream** Did the download use memory streaming? +- **usedMemoryStream** TRUE if the download is using memory streaming for App downloads. ### Microsoft.OSG.DU.DeliveryOptClient.DownloadPaused @@ -5146,6 +5465,17 @@ The following fields are available: - **wuDeviceid** The Windows Update device GUID. +### Microsoft.Windows.Update.Orchestrator.DeferRestart + +This event indicates that a restart required for installing updates was postponed. + +The following fields are available: + +- **filteredDeferReason** Applicable filtered reasons why reboot was postponed (such as user active, or low battery). +- **raisedDeferReason** Indicates all potential reasons for postponing restart (such as user active, or low battery). +- **wuDeviceid** Unique device ID used by Windows Update. + + ### Microsoft.Windows.Update.Orchestrator.Detection This event indicates that a scan for a Windows Update occurred. @@ -5192,7 +5522,7 @@ The following fields are available: - **EventPublishedTime** Time when this event was generated. - **flightID** The specific ID of the Windows Insider build. - **revisionNumber** Update revision number. -- **updateId** Unique Windows Update ID. +- **updateId** Unique Update ID. - **updateScenarioType** Update session type. - **UpdateStatus** Last status of update. - **wuDeviceid** Unique Device ID. @@ -5240,6 +5570,30 @@ The following fields are available: - **wuDeviceid** Unique device ID used by Windows Update. +### Microsoft.Windows.Update.Orchestrator.LowUptimes + +This event is sent if a device is identified as not having sufficient uptime to reliably process updates in order to keep secure. + +The following fields are available: + +- **lowUptimeMinHours** Current setting for the minimum number of hours needed to not be considered low uptime. +- **lowUptimeQueryDays** Current setting for the number of recent days to check for uptime. +- **uptimeMinutes** Number of minutes of uptime measured. +- **wuDeviceid** Unique device ID for Windows Update. + + +### Microsoft.Windows.Update.Orchestrator.OneshotUpdateDetection + +This event returns data about scans initiated through settings UI, or background scans that are urgent; to help keep Windows up to date. + +The following fields are available: + +- **externalOneshotupdate** The last time a task-triggered scan was completed. +- **interactiveOneshotupdate** The last time an interactive scan was completed. +- **oldlastscanOneshotupdate** The last time a scan completed successfully. +- **wuDeviceid** The Windows Update Device GUID (Globally-Unique ID). + + ### Microsoft.Windows.Update.Orchestrator.PostInstall This event is sent after a Windows update install completes. @@ -5256,6 +5610,15 @@ The following fields are available: - **wuDeviceid** Unique device ID used by Windows Update. +### Microsoft.Windows.Update.Orchestrator.PreShutdownStart + +This event is generated before the shutdown and commit operations. + +The following fields are available: + +- **wuDeviceid** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue. + + ### Microsoft.Windows.Update.Orchestrator.RebootFailed This event sends information about whether an update required a reboot and reasons for failure, to help keep Windows up to date. @@ -5276,6 +5639,18 @@ The following fields are available: - **wuDeviceid** Unique device ID used by Windows Update. +### Microsoft.Windows.Update.Orchestrator.RefreshSettings + +This event sends basic data about the version of upgrade settings applied to the system to help keep Windows up to date. + +The following fields are available: + +- **errorCode** Hex code for the error message, to allow lookup of the specific error. +- **settingsDownloadTime** Timestamp of the last attempt to acquire settings. +- **settingsETag** Version identifier for the settings. +- **wuDeviceid** Unique device ID used by Windows Update. + + ### Microsoft.Windows.Update.Orchestrator.RestoreRebootTask This event sends data indicating that a reboot task is missing unexpectedly on a device and the task is restored because a reboot is still required, to help keep Windows up to date. @@ -5332,6 +5707,32 @@ The following fields are available: - **wuDeviceid** Unique device ID used by Windows Update. +### Microsoft.Windows.Update.Orchestrator.updateSettingsFlushFailed + +This event sends information about an update that encountered problems and was not able to complete. + +The following fields are available: + +- **errorCode** The error code encountered. +- **wuDeviceid** The ID of the device in which the error occurred. + + +### Microsoft.Windows.Update.Orchestrator.UsoSession + +This event represents the state of the USO service at start and completion. + +The following fields are available: + +- **activeSessionid** A unique session GUID. +- **eventScenario** The state of the update action. +- **interactive** Is the USO session interactive? +- **lastErrorcode** The last error that was encountered. +- **lastErrorstate** The state of the update when the last error was encountered. +- **sessionType** A GUID that refers to the update session type. +- **updateScenarioType** A descriptive update session type. +- **wuDeviceid** The Windows Update device GUID. + + ### Microsoft.Windows.Update.UpdateStackServicing.CheckForUpdates This event sends data about the UpdateStackServicing check for updates, to help keep Windows up to date. @@ -5352,6 +5753,28 @@ The following fields are available: - **WUDeviceID** The Windows Update device ID. +### Microsoft.Windows.Update.Ux.MusNotification.EnhancedEngagedRebootUxState + +This event sends information about the configuration of Enhanced Direct-to-Engaged (eDTE), which includes values for the timing of how eDTE will progress through each phase of the reboot. + +The following fields are available: + +- **AcceptAutoModeLimit** The maximum number of days for a device to automatically enter Auto Reboot mode. +- **AutoToAutoFailedLimit** The maximum number of days for Auto Reboot mode to fail before a Reboot Failed dialog will be shown. +- **DeviceLocalTime** The date and time (based on the device date/time settings) the reboot mode changed. +- **EngagedModeLimit** The number of days to switch between DTE (Direct-to-Engaged) dialogs. +- **EnterAutoModeLimit** The maximum number of days a device can enter Auto Reboot mode. +- **ETag** The Entity Tag that represents the OneSettings version. +- **IsForcedEnabled** Identifies whether Forced Reboot mode is enabled for the device. +- **IsUltimateForcedEnabled** Identifies whether Ultimate Forced Reboot mode is enabled for the device. +- **OldestUpdateLocalTime** The date and time (based on the device date/time settings) this update’s reboot began pending. +- **RebootUxState** Identifies the reboot state: Engaged, Auto, Forced, UltimateForced. +- **RebootVersion** The version of the DTE (Direct-to-Engaged). +- **SkipToAutoModeLimit** The maximum number of days to switch to start while in Auto Reboot mode. +- **UpdateId** The ID of the update that is waiting for reboot to finish installation. +- **UpdateRevision** The revision of the update that is waiting for reboot to finish installation. + + ### Microsoft.Windows.Update.Ux.MusNotification.RebootNoLongerNeeded This event is sent when a security update has successfully completed. @@ -5390,7 +5813,7 @@ The following fields are available: ### Microsoft.Windows.Update.Ux.MusUpdateSettings.RebootScheduled -This event sends basic information for scheduling a device restart to install security updates. It's used to help keep Windows up-to-date. +This event sends basic information for scheduling a device restart to install security updates. It's used to help keep Windows up to date. The following fields are available: @@ -5406,6 +5829,14 @@ The following fields are available: - **wuDeviceid** The Windows Update device GUID. +## Windows Update mitigation events + +### Mitigation360Telemetry.MitigationCustom.FixupEditionId + +This event sends data specific to the FixupEditionId mitigation used for OS Updates. + + + ## Winlogon events ### Microsoft.Windows.Security.Winlogon.SetupCompleteLogon diff --git a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1709.md b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1709.md index f1ca2eae5e..e6b7d5cbc6 100644 --- a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1709.md +++ b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1709.md @@ -9,7 +9,7 @@ ms.pagetype: security localizationpriority: high author: brianlic-msft ms.author: brianlic -ms.date: 10/10/2018 +ms.date: 11/07/2018 --- @@ -65,20 +65,20 @@ The following fields are available: - **DecisionSystemBios_RS4** The total DecisionSystemBios objects targeting Windows 10 version, 1803 present on this device. - **DecisionTest_RS1** An ID for the system, calculated by hashing hardware identifiers. - **InventoryApplicationFile** The count of the number of this particular object type present on this device. -- **InventoryLanguagePack** The count of InventoryLanguagePack objects present on this machine. +- **InventoryLanguagePack** The count of the number of this particular object type present on this device. - **InventoryMediaCenter** The count of the number of this particular object type present on this device. - **InventorySystemBios** The count of the number of this particular object type present on this device. - **InventoryTest** The count of the number of this particular object type present on this device. - **InventoryUplevelDriverPackage** The count of the number of this particular object type present on this device. -- **PCFP** An ID for the system, calculated by hashing hardware identifiers. +- **PCFP** The count of the number of this particular object type present on this device. - **SystemMemory** The count of the number of this particular object type present on this device. - **SystemProcessorCompareExchange** The count of the number of this particular object type present on this device. - **SystemProcessorLahfSahf** The count of the number of this particular object type present on this device. - **SystemProcessorNx** The count of the number of this particular object type present on this device. -- **SystemProcessorPrefetchW** The count of SystemProcessorPrefetchW objects present on this machine. -- **SystemProcessorSse2** The count of SystemProcessorSse2 objects present on this machine. +- **SystemProcessorPrefetchW** The count of the number of this particular object type present on this device. +- **SystemProcessorSse2** The count of the number of this particular object type present on this device. - **SystemTouch** The count of the number of this particular object type present on this device. -- **SystemWim** The count of SystemWim objects present on this machine. +- **SystemWim** The count of the number of this particular object type present on this device. - **SystemWindowsActivationStatus** The count of the number of this particular object type present on this device. - **SystemWlan** The count of the number of this particular object type present on this device. - **Wmdrm_RS1** An ID for the system, calculated by hashing hardware identifiers. @@ -359,7 +359,7 @@ The following fields are available: ### Microsoft.Windows.Appraiser.General.DecisionApplicationFileRemove -This event indicates that the DecisionApplicationFile object is no longer present. +This event indicates Indicates that the DecisionApplicationFile object is no longer present. This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). @@ -706,7 +706,7 @@ The following fields are available: ### Microsoft.Windows.Appraiser.General.InventoryApplicationFileStartSync -This event indicates that a new set of InventoryApplicationFileAdd events will be sent. +This event indicates indicates that a new set of InventoryApplicationFileAdd events will be sent. This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). @@ -1209,6 +1209,23 @@ The following fields are available: - **AppraiserVersion** The version of the Appraiser file that is generating the events. +### Microsoft.Windows.Appraiser.General.SystemWlanAdd + +This event sends data indicating whether the system has WLAN, and if so, whether it uses an emulated driver that could block an upgrade, to help keep Windows up-to-date. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. +- **Blocking** Is the upgrade blocked because of an emulated WLAN driver? +- **HasWlanBlock** Does the emulated WLAN driver have an upgrade block? +- **WlanEmulatedDriver** Does the device have an emulated WLAN driver? +- **WlanExists** Does the device support WLAN at all? +- **WlanModulePresent** Are any WLAN modules present? +- **WlanNativeDriver** Does the device have a non-emulated WLAN driver? + + ### Microsoft.Windows.Appraiser.General.SystemWlanRemove This event indicates that the SystemWlan object is no longer present. @@ -1525,16 +1542,16 @@ The following fields are available: - **KvaShadow** Microcode info of the processor. - **MMSettingOverride** Microcode setting of the processor. - **MMSettingOverrideMask** Microcode setting override of the processor. -- **ProcessorArchitecture** Retrieves the processor architecture of the installed operating system. -- **ProcessorClockSpeed** Clock speed of the processor in MHz. -- **ProcessorCores** Number of logical cores in the processor. -- **ProcessorIdentifier** Processor Identifier of a manufacturer. -- **ProcessorManufacturer** Name of the processor manufacturer. -- **ProcessorModel** Name of the processor model. +- **ProcessorArchitecture** Retrieves the processor architecture of the installed operating system. The complete list of values can be found in DimProcessorArchitecture. +- **ProcessorClockSpeed** Retrieves the clock speed of the processor in MHz. +- **ProcessorCores** Retrieves the number of cores in the processor. +- **ProcessorIdentifier** The processor identifier of a manufacturer. +- **ProcessorManufacturer** Retrieves the name of the processor's manufacturer. +- **ProcessorModel** Retrieves the name of the processor model. - **ProcessorPhysicalCores** Number of physical cores in the processor. -- **ProcessorUpdateRevision** Microcode revision +- **ProcessorUpdateRevision** Retrieves the processor architecture of the installed operating system. - **ProcessorUpdateStatus** Enum value that represents the processor microcode load status -- **SocketCount** Count of CPU sockets. +- **SocketCount** Number of physical CPU sockets of the machine. - **SpeculationControl** If the system has enabled protections needed to validate the speculation control vulnerability. @@ -1545,14 +1562,14 @@ This event provides information on about security settings used to help keep Win The following fields are available: - **AvailableSecurityProperties** This field helps to enumerate and report state on the relevant security properties for Device Guard. -- **CGRunning** Is Credential Guard running? +- **CGRunning** Credential Guard isolates and hardens key system and user secrets against compromise, helping to minimize the impact and breadth of a Pass the Hash style attack in the event that malicious code is already running via a local or network based vector. This field tells if Credential Guard is running. - **DGState** This field summarizes the Device Guard state. -- **HVCIRunning** Is HVCI running? +- **HVCIRunning** Hypervisor Code Integrity (HVCI) enables Device Guard to help protect kernel mode processes and drivers from vulnerability exploits and zero days. HVCI uses the processor’s functionality to force all software running in kernel mode to safely allocate memory. This field tells if HVCI is running. - **IsSawGuest** Indicates whether the device is running as a Secure Admin Workstation Guest. - **IsSawHost** Indicates whether the device is running as a Secure Admin Workstation Host. - **RequiredSecurityProperties** Describes the required security properties to enable virtualization-based security. -- **SecureBootCapable** Is this device capable of running Secure Boot? -- **VBSState** Is virtualization-based security enabled, disabled, or running? +- **SecureBootCapable** Systems that support Secure Boot can have the feature turned off via BIOS. This field tells if the system is capable of running Secure Boot, regardless of the BIOS setting. +- **VBSState** Virtualization-based security (VBS) uses the hypervisor to help protect the kernel and other parts of the operating system. Credential Guard and Hypervisor Code Integrity (HVCI) both depend on VBS to isolate/protect secrets, and kernel-mode code integrity validation. VBS has a tri-state that can be Disabled, Enabled, or Running. ### Census.Speech @@ -1889,6 +1906,82 @@ The following fields are available: - **VortexHttpResponsesWithDroppedEvents** Number of Vortex responses containing at least 1 dropped event. +## DxgKernelTelemetry events + +### DxgKrnlTelemetry.GPUAdapterInventoryV2 + +This event sends basic GPU and display driver information to keep Windows and display drivers up-to-date. + +The following fields are available: + +- **AdapterTypeValue** The numeric value indicating the type of Graphics adapter. +- **aiSeqId** The event sequence ID. +- **bootId** The system boot ID. +- **ComputePreemptionLevel** The maximum preemption level supported by GPU for compute payload. +- **DedicatedSystemMemoryB** The amount of system memory dedicated for GPU use (in bytes). +- **DedicatedVideoMemoryB** The amount of dedicated VRAM of the GPU (in bytes). +- **DisplayAdapterLuid** The display adapter LUID. +- **DriverDate** The date of the display driver. +- **DriverRank** The rank of the display driver. +- **DriverVersion** The display driver version. +- **GPUDeviceID** The GPU device ID. +- **GPUPreemptionLevel** The maximum preemption level supported by GPU for graphics payload. +- **GPURevisionID** The GPU revision ID. +- **GPUVendorID** The GPU vendor ID. +- **InterfaceId** The GPU interface ID. +- **IsDisplayDevice** Does the GPU have displaying capabilities? +- **IsHybridDiscrete** Does the GPU have discrete GPU capabilities in a hybrid device? +- **IsHybridIntegrated** Does the GPU have integrated GPU capabilities in a hybrid device? +- **IsLDA** Is the GPU comprised of Linked Display Adapters? +- **IsMiracastSupported** Does the GPU support Miracast? +- **IsMismatchLDA** Is at least one device in the Linked Display Adapters chain from a different vendor? +- **IsMPOSupported** Does the GPU support Multi-Plane Overlays? +- **IsMsMiracastSupported** Are the GPU Miracast capabilities driven by a Microsoft solution? +- **IsPostAdapter** Is this GPU the POST GPU in the device? +- **IsRemovable** TRUE if the adapter supports being disabled or removed. +- **IsRenderDevice** Does the GPU have rendering capabilities? +- **IsSoftwareDevice** Is this a software implementation of the GPU? +- **MeasureEnabled** Is the device listening to MICROSOFT_KEYWORD_MEASURES? +- **NumVidPnSources** The number of supported display output sources. +- **NumVidPnTargets** The number of supported display output targets. +- **SharedSystemMemoryB** The amount of system memory shared by GPU and CPU (in bytes). +- **SubSystemID** The subsystem ID. +- **SubVendorID** The GPU sub vendor ID. +- **TelemetryEnabled** Is the device listening to MICROSOFT_KEYWORD_TELEMETRY? +- **TelInvEvntTrigger** What triggered this event to be logged? Example: 0 (GPU enumeration) or 1 (DxgKrnlTelemetry provider toggling) +- **version** The event version. +- **WDDMVersion** The Windows Display Driver Model version. + + +## Fault Reporting events + +### Microsoft.Windows.FaultReporting.AppCrashEvent + +This event sends data about crashes for both native and managed applications, to help keep Windows up to date. The data includes information about the crashing process and a summary of its exception record. It does not contain any Watson bucketing information. The bucketing information is recorded in a Windows Error Reporting (WER) event that is generated when the WER client reports the crash to the Watson service, and the WER event will contain the same ReportID (see field 14 of crash event, field 19 of WER event) as the crash event for the crash being reported. AppCrash is emitted once for each crash handled by WER (e.g. from an unhandled exception or FailFast or ReportException). Note that Generic Watson event types (e.g. from PLM) that may be considered crashes\" by a user DO NOT emit this event. + +The following fields are available: + +- **AppName** The name of the app that has crashed. +- **AppSessionGuid** GUID made up of process ID and is used as a correlation vector for process instances in the telemetry backend. +- **AppTimeStamp** The date/time stamp of the app. +- **AppVersion** The version of the app that has crashed. +- **ExceptionCode** The exception code returned by the process that has crashed. +- **ExceptionOffset** The address where the exception had occurred. +- **Flags** Flags indicating how reporting is done. For example, queue the report, do not offer JIT debugging, or do not terminate the process after reporting. +- **ModName** Exception module name (e.g. bar.dll). +- **ModTimeStamp** The date/time stamp of the module. +- **ModVersion** The version of the module that has crashed. +- **PackageFullName** Store application identity. +- **PackageRelativeAppId** Store application identity. +- **ProcessArchitecture** Architecture of the crashing process, as one of the PROCESSOR_ARCHITECTURE_* constants: 0: PROCESSOR_ARCHITECTURE_INTEL. 5: PROCESSOR_ARCHITECTURE_ARM. 9: PROCESSOR_ARCHITECTURE_AMD64. 12: PROCESSOR_ARCHITECTURE_ARM64. +- **ProcessCreateTime** The time of creation of the process that has crashed. +- **ProcessId** The ID of the process that has crashed. +- **ReportId** A GUID used to identify the report. This can used to track the report across Watson. +- **TargetAppId** The kernel reported AppId of the application being reported. +- **TargetAppVer** The specific version of the application being reported +- **TargetAsId** The sequence number for the hanging process. + + ## Feature update events ### Microsoft.Windows.Upgrade.Uninstall.UninstallFailed @@ -1916,6 +2009,33 @@ This event sends basic metadata about the starting point of uninstalling a featu +## Hang Reporting events + +### Microsoft.Windows.HangReporting.AppHangEvent + +This event sends data about hangs for both native and managed applications, to help keep Windows up to date. It does not contain any Watson bucketing information. The bucketing information is recorded in a Windows Error Reporting (WER) event that is generated when the WER client reports the hang to the Watson service, and the WER event will contain the same ReportID (see field 13 of hang event, field 19 of WER event) as the hang event for the hang being reported. AppHang is reported only on PC devices. It handles classic Win32 hangs and is emitted only once per report. Some behaviors that may be perceived by a user as a hang are reported by app managers (e.g. PLM/RM/EM) as Watson Generics and will not produce AppHang events. + +The following fields are available: + +- **AppName** The name of the app that has hung. +- **AppSessionGuid** GUID made up of process id used as a correlation vector for process instances in the telemetry backend. +- **AppVersion** The version of the app that has hung. +- **PackageFullName** Store application identity. +- **PackageRelativeAppId** Store application identity. +- **ProcessArchitecture** Architecture of the hung process, as one of the PROCESSOR_ARCHITECTURE_* constants: 0: PROCESSOR_ARCHITECTURE_INTEL. 5: PROCESSOR_ARCHITECTURE_ARM. 9: PROCESSOR_ARCHITECTURE_AMD64. 12: PROCESSOR_ARCHITECTURE_ARM64. +- **ProcessCreateTime** The time of creation of the process that has hung. +- **ProcessId** The ID of the process that has hung. +- **ReportId** A GUID used to identify the report. This can used to track the report across Watson. +- **TargetAppId** The kernel reported AppId of the application being reported. +- **TargetAppVer** The specific version of the application being reported. +- **TargetAsId** The sequence number for the hanging process. +- **TypeCode** Bitmap describing the hang type. +- **WaitingOnAppName** If this is a cross process hang waiting for an application, this has the name of the application. +- **WaitingOnAppVersion** If this is a cross process hang, this has the version of the application for which it is waiting. +- **WaitingOnPackageFullName** If this is a cross process hang waiting for a package, this has the full name of the package for which it is waiting. +- **WaitingOnPackageRelativeAppId** If this is a cross process hang waiting for a package, this has the relative application id of the package. + + ## Inventory events ### Microsoft.Windows.Inventory.Core.AmiTelCacheChecksum @@ -1992,13 +2112,13 @@ This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedevic The following fields are available: -- **InventoryVersion** The version of the inventory component +- **InventoryVersion** The version of the inventory component. - **ProgramIds** The unique program identifier the driver is associated with. ### Microsoft.Windows.Inventory.Core.InventoryApplicationDriverStartSync -The InventoryApplicationDriverStartSync event indicates that a new set of InventoryApplicationDriverStartAdd events will be sent. +This event indicates that a new set of InventoryApplicationDriverStartAdd events will be sent. This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). @@ -2185,12 +2305,12 @@ This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedevic The following fields are available: - **BusReportedDescription** System-supplied GUID that uniquely groups the functional devices associated with a single-function or multifunction device installed in the computer. -- **Class** System-supplied GUID that uniquely groups the functional devices associated with a single-function or multifunction device installed in the computer. -- **ClassGuid** A unique identifier for the driver installed. -- **COMPID** Name of the .sys image file (or wudfrd.sys if using user mode driver framework). -- **ContainerId** INF file name (the name could be renamed by OS, such as oemXX.inf) -- **Description** The version of the inventory binary generating the events. -- **DeviceState** The current error code for the device. +- **Class** The device setup class of the driver loaded for the device. +- **ClassGuid** The device setup class guid of the driver loaded for the device. +- **COMPID** The list of compat ids for the device. +- **ContainerId** System-supplied GUID that uniquely groups the functional devices associated with a single-function or multifunction device installed in the computer. +- **Description** The device description. +- **DeviceState** DeviceState is a bitmask of the following: DEVICE_IS_CONNECTED 0x0001 (currently only for container). DEVICE_IS_NETWORK_DEVICE 0x0002 (currently only for container). DEVICE_IS_PAIRED 0x0004 (currently only for container). DEVICE_IS_ACTIVE 0x0008 (currently never set). DEVICE_IS_MACHINE 0x0010 (currently only for container). DEVICE_IS_PRESENT 0x0020 (currently always set). DEVICE_IS_HIDDEN 0x0040. DEVICE_IS_PRINTER 0x0080 (currently only for container). DEVICE_IS_WIRELESS 0x0100. DEVICE_IS_WIRELESS_FAT 0x0200. The most common values are therefore: 32 (0x20)= device is present. 96 (0x60)= device is present but hidden. 288 (0x120)= device is a wireless device that is present - **DriverId** A unique identifier for the driver installed. - **DriverName** Name of the .sys image file (or wudfrd.sys if using user mode driver framework). - **DriverPackageStrongName** The immediate parent directory name in the Directory field of InventoryDriverPackage. @@ -2703,6 +2823,183 @@ The following fields are available: - **UserInputTime** The amount of time the loader application spent waiting for user input. +## OneDrive events + +### Microsoft.OneDrive.Sync.Setup.APIOperation + +This event includes basic data about install and uninstall OneDrive API operations. + +The following fields are available: + +- **APIName** The name of the API. +- **Duration** How long the operation took. +- **IsSuccess** Was the operation successful? +- **ResultCode** The result code. +- **ScenarioName** The name of the scenario. + + +### Microsoft.OneDrive.Sync.Setup.EndExperience + +This event includes a success or failure summary of the installation. + +The following fields are available: + +- **APIName** The name of the API. +- **HResult** The result code of the last action performed before this operation +- **IsSuccess** Was the operation successful? +- **ScenarioName** The name of the scenario. + + +### Microsoft.OneDrive.Sync.Setup.OSUpgradeInstallationOperation + +This event is related to the OS version when the OS is upgraded with OneDrive installed. + +The following fields are available: + +- **CurrentOneDriveVersion** The current version of OneDrive. +- **CurrentOSBuildBranch** The current branch of the operating system. +- **CurrentOSBuildNumber** The current build number of the operating system. +- **CurrentOSVersion** The current version of the operating system. +- **HResult** The HResult of the operation. +- **SourceOSBuildBranch** The source branch of the operating system. +- **SourceOSBuildNumber** The source build number of the operating system. +- **SourceOSVersion** The source version of the operating system. + + +### Microsoft.OneDrive.Sync.Setup.RegisterStandaloneUpdaterAPIOperation + +This event is related to registering or unregistering the OneDrive update task. + +The following fields are available: + +- **APIName** The name of the API. +- **IsSuccess** Was the operation successful? +- **RegisterNewTaskResult** The HResult of the RegisterNewTask operation. +- **ScenarioName** The name of the scenario. +- **UnregisterOldTaskResult** The HResult of the UnregisterOldTask operation. + + +### Microsoft.OneDrive.Sync.Updater.ComponentInstallState + +This event includes basic data about the installation state of dependent OneDrive components. + +The following fields are available: + +- **ComponentName** The name of the dependent component. +- **isInstalled** Is the dependent component installed? + + +### Microsoft.OneDrive.Sync.Updater.OverlayIconStatus + +This event indicates if the OneDrive overlay icon is working correctly. 0 = healthy; 1 = can be fixed; 2 = broken + +The following fields are available: + +- **32bit** The status of the OneDrive overlay icon on a 32-bit operating system. +- **64bit** The status of the OneDrive overlay icon on a 64-bit operating system. + + +### Microsoft.OneDrive.Sync.Updater.UpdateOverallResult + +This event sends information describing the result of the update. + +The following fields are available: + +- **hr** The HResult of the operation. +- **IsLoggingEnabled** Indicates whether logging is enabled for the updater. +- **UpdaterVersion** The version of the updater. + + +### Microsoft.OneDrive.Sync.Updater.UpdateXmlDownloadHResult + +This event determines the status when downloading the OneDrive update configuration file. + +The following fields are available: + +- **hr** The HResult of the operation. + + +### Microsoft.OneDrive.Sync.Updater.WebConnectionStatus + +This event determines the error code that was returned when verifying Internet connectivity. + +The following fields are available: + +- **winInetError** The HResult of the operation. + + +## Other events + +### CbsServicingProvider.CbsCapabilityEnumeration + +This event reports on the results of scanning for optional Windows content on Windows Update. + +The following fields are available: + +- **architecture** Indicates the scan was limited to the specified architecture. +- **capabilityCount** The number of optional content packages found during the scan. +- **clientId** The name of the application requesting the optional content. +- **duration** The amount of time it took to complete the scan. +- **hrStatus** The HReturn code of the scan. +- **language** Indicates the scan was limited to the specified language. +- **majorVersion** Indicates the scan was limited to the specified major version. +- **minorVersion** Indicates the scan was limited to the specified minor version. +- **namespace** Indicates the scan was limited to packages in the specified namespace. +- **sourceFilter** A bitmask indicating the scan checked for locally available optional content. +- **stackBuild** The build number of the servicing stack. +- **stackMajorVersion** The major version number of the servicing stack. +- **stackMinorVersion** The minor version number of the servicing stack. +- **stackRevision** The revision number of the servicing stack. + + +### CbsServicingProvider.CbsCapabilitySessionFinalize + +This event provides information about the results of installing or uninstalling optional Windows content from Windows Update. + +The following fields are available: + +- **capabilities** The names of the optional content packages that were installed. +- **clientId** The name of the application requesting the optional content. +- **highestState** The highest final install state of the optional content. +- **hrStatus** The HReturn code of the install operation. +- **rebootCount** The number of reboots required to complete the install. +- **stackBuild** The build number of the servicing stack. +- **stackMajorVersion** The major version number of the servicing stack. +- **stackMinorVersion** The minor version number of the servicing stack. +- **stackRevision** The revision number of the servicing stack. + + +### CbsServicingProvider.CbsCapabilitySessionPended + +This event provides information about the results of installing optional Windows content that requires a reboot to keep Windows up to date. + +The following fields are available: + +- **clientId** The name of the application requesting the optional content. +- **pendingDecision** Indicates the cause of reboot, if applicable. + + +### Microsoft.Windows.WaaSAssessment.Error + +This event returns the name of the missing setting needed to determine the Operating System build age. + +The following fields are available: + +- **m** The WaaS (“Workspace as a Service”—cloud-based “workspace”) Assessment Error String. + + +### Microsoft.Xbox.XamTelemetry.AppActivationError + +This event indicates whether the system detected an activation error in the app. + + + +### Microsoft.Xbox.XamTelemetry.AppActivity + +This event is triggered whenever the current app state is changed by: launch, switch, terminate, snap, etc. + + + ## Remediation events ### Microsoft.Windows.Remediation.Applicable @@ -2716,7 +3013,6 @@ The following fields are available: - **AppraiserDetectCondition** Indicates whether the plug-in passed the appraiser's check. - **AppraiserRegistryValidResult** Indicates whether the registry entry checks out as valid. - **AppraiserTaskDisabled** Indicates the appraiser task is disabled. -- **AppraiserTaskValidFailed** Indicates the Appraiser task did not function and requires intervention. - **CV** Correlation vector - **DateTimeDifference** The difference between local and reference clock times. - **DateTimeSyncEnabled** Indicates whether the datetime sync plug-in is enabled. @@ -2911,7 +3207,7 @@ The following fields are available: - **usoScanIsNoAutoUpdateKeyPresent** TRUE if no Auto Update registry key is set/present. - **usoScanIsUserLoggedOn** TRUE if the user is logged on. - **usoScanPastThreshold** TRUE if the most recent USO (Update Session Orchestrator) scan is past the threshold (late). -- **usoScanType** The type of USO (Update Session Orchestrator) scan (Interactive or Background). +- **usoScanType** The type of USO (Update Session Orchestrator) scan: "Interactive" or "Background". - **windows10UpgraderBlockWuUpdates** Event to report the value of Windows 10 Upgrader BlockWuUpdates Key. - **windowsEditionId** Event to report the value of Windows Edition ID. - **WindowsHyberFilSysSizeInMegabytes** The size of the Windows Hibernation file, measured in Megabytes. @@ -2970,6 +3266,41 @@ The following fields are available: - **Time** The time the event was fired. +### Microsoft.Windows.Sediment.Info.Error + +This event indicates an error in the updater payload. This information assists in keeping Windows up to date. + + + +### Microsoft.Windows.Sediment.OSRSS.CheckingOneSettings + +This event indicates the parameters that the Operating System Remediation System Service (OSRSS) uses for a secure ping to Microsoft to help ensure Windows is up to date. + +The following fields are available: + +- **CustomVer** The registry value for targeting. +- **IsMetered** TRUE if the machine is on a metered network. +- **LastVer** The version of the last successful run. +- **ServiceVersionMajor** The Major version information of the component. +- **ServiceVersionMinor** The Minor version information of the component. +- **Time** The system time at which the event occurred. + + +### Microsoft.Windows.Sediment.OSRSS.Error + +This event indicates an error occurred in the Operating System Remediation System Service (OSRSS). The information provided helps ensure future upgrade/update attempts are more successful. + +The following fields are available: + +- **FailureType** The type of error encountered. +- **FileName** The code file in which the error occurred. +- **HResult** The failure error code. +- **LineNumber** The line number in the code file at which the error occurred. +- **ServiceVersionMajor** The Major version information of the component. +- **ServiceVersionMinor** The Minor version information of the component. +- **Time** The system time at which the event occurred. + + ### Microsoft.Windows.Sediment.OSRSS.UrlState This event indicates the state the Operating System Remediation System Service (OSRSS) is in while attempting a download from the URL. @@ -3195,6 +3526,32 @@ The following fields are available: ## Setup events +### SetupPlatformTel.SetupPlatformTelActivityEvent + +This event sends basic metadata about the SetupPlatform update installation process, to help keep Windows up to date. + +The following fields are available: + +- **FieldName** Retrieves the event name/data point. Examples: InstallStartTime, InstallEndtime, OverallResult etc. +- **GroupName** Retrieves the groupname the event belongs to. Example: Install Information, DU Information, Disk Space Information etc. +- **Value** Value associated with the corresponding event name. For example, time-related events will include the system time + + +### SetupPlatformTel.SetupPlatformTelActivityStarted + +This event sends basic metadata about the update installation process generated by SetupPlatform to help keep Windows up to date. + +The following fields are available: + +- **Name** The name of the dynamic update type. Example: GDR driver + + +### SetupPlatformTel.SetupPlatformTelActivityStopped + +This event sends basic metadata about the update installation process generated by SetupPlatform to help keep Windows up to date. + + + ### SetupPlatformTel.SetupPlatformTelEvent This service retrieves events generated by SetupPlatform, the engine that drives the various deployment scenarios. @@ -3780,6 +4137,131 @@ The following fields are available: ## Update events +### Update360Telemetry.UpdateAgent_DownloadRequest + +This event sends data during the download request phase of updating Windows. + +The following fields are available: + +- **DeletedCorruptFiles** Boolean indicating whether corrupt payload was deleted. +- **ErrorCode** The error code returned for the current download request phase. +- **FlightId** Unique ID for each flight. +- **ObjectId** Unique value for each Update Agent mode (same concept as InstanceId for Setup360). +- **PackageCountOptional** # of optional packages requested. +- **PackageCountRequired** # of required packages requested. +- **PackageCountTotal** Total # of packages needed. +- **PackageCountTotalCanonical** Total number of canonical packages. +- **PackageCountTotalDiff** Total number of diff packages. +- **PackageCountTotalExpress** Total number of express packages. +- **PackageSizeCanonical** Size of canonical packages in bytes. +- **PackageSizeDiff** Size of diff packages in bytes. +- **PackageSizeExpress** Size of express packages in bytes. +- **RangeRequestState** Indicates the range request type used. +- **RelatedCV** Correlation vector value generated from the latest USO scan. +- **Result** Outcome of the download request phase of update. +- **ScenarioId** Indicates the update scenario. +- **SessionId** Unique value for each attempt (same value for initialize, download, install commit phases) +- **UpdateId** Unique ID for each Update. + + +### Update360Telemetry.UpdateAgent_FellBackToCanonical + +This event collects information when Express could not be used, and the update had to fall back to “canonical” during the new UUP (Unified Update Platform) update scenario; which is leveraged by both Mobile and Desktop. + +The following fields are available: + +- **FlightId** Unique ID for the flight (test instance version). +- **ObjectId** The unique value for each Update Agent mode. +- **PackageCount** The number of packages that fell back to “canonical”. +- **PackageList** PackageIDs which fell back to “canonical”. +- **RelatedCV** The correlation vector value generated from the latest USO (Update Service Orchestrator) scan. +- **ScenarioId** The ID of the update scenario. +- **SessionId** The ID of the update attempt. +- **UpdateId** The ID of the update. + + +### Update360Telemetry.UpdateAgent_Initialize + +This event sends data during the initialize phase of updating Windows. + +The following fields are available: + +- **ErrorCode** The error code returned for the current initialize phase. +- **FlightId** Unique ID for each flight. +- **FlightMetadata** Contains the FlightId and the build being flighted. +- **ObjectId** Unique value for each Update Agent mode. +- **RelatedCV** Correlation vector value generated from the latest USO scan. +- **Result** Result of the initialize phase of update. 0 = Succeeded, 1 = Failed, 2 = Cancelled, 3 = Blocked, 4 = BlockCancelled +- **ScenarioId** The scenario ID. Example: MobileUpdate, DesktopLanguagePack, DesktopFeatureOnDemand, or DesktopDriverUpdate +- **SessionData** Contains instructions to update agent for processing FODs and DUICs (Null for other scenarios). +- **SessionId** Unique value for each Update Agent mode attempt . +- **UpdateId** Unique ID for each update. + + +### Update360Telemetry.UpdateAgent_Install + +This event sends data during the install phase of updating Windows. + +The following fields are available: + +- **ErrorCode** The error code returned for the current install phase. +- **FlightId** Unique ID for each flight. +- **ObjectId** Unique value for each Update Agent mode. +- **RelatedCV** Correlation vector value generated from the latest scan. +- **Result** Result of the install phase of update. 0 = Succeeded 1 = Failed, 2 = Cancelled, 3 = Blocked, 4 = BlockCancelled +- **ScenarioId** The scenario ID. Example: MobileUpdate, DesktopLanguagePack, DesktopFeatureOnDemand, or DesktopDriverUpdate +- **SessionId** Unique value for each Update Agent mode attempt. +- **UpdateId** Unique ID for each update. + + +### Update360Telemetry.UpdateAgent_Merge + +This event sends data on the merge phase when updating Windows. + +The following fields are available: + +- **ErrorCode** The error code returned for the current reboot. +- **FlightId** Unique ID for the flight (test instance version). +- **ObjectId** The unique value for each Update Agent mode. +- **RelatedCV** The correlation vector value generated from the latest USO (Update Service Orchestrator) scan. +- **Result** The HResult of the event. +- **ScenarioId** The ID of the update scenario. +- **SessionId** The ID of the update attempt. +- **UpdateId** The ID of the update. + + +### Update360Telemetry.UpdateAgent_ModeStart + +This event sends data for the start of each mode during the process of updating Windows. + +The following fields are available: + +- **FlightId** Unique ID for each flight. +- **Mode** Indicates that the Update Agent mode that has started. 1 = Initialize, 2 = DownloadRequest, 3 = Install, 4 = Commit +- **ObjectId** Unique value for each Update Agent mode. +- **RelatedCV** The correlation vector value generated from the latest scan. +- **ScenarioId** The scenario ID. Example: MobileUpdate, DesktopLanguagePack, DesktopFeatureOnDemand, or DesktopDriverUpdate +- **SessionId** Unique value for each Update Agent mode attempt. +- **UpdateId** Unique ID for each update. + + +### Update360Telemetry.UpdateAgent_SetupBoxLaunch + +This event sends data during the launching of the setup box when updating Windows. + +The following fields are available: + +- **FlightId** Unique ID for each flight. +- **ObjectId** Unique value for each Update Agent mode. +- **Quiet** Indicates whether setup is running in quiet mode. 0 = false 1 = true +- **RelatedCV** Correlation vector value generated from the latest scan. +- **SandboxSize** The size of the sandbox folder on the device. +- **ScenarioId** The scenario ID. Example: MobileUpdate, DesktopLanguagePack, DesktopFeatureOnDemand, or DesktopDriverUpdate +- **SessionId** Unique value for each Update Agent mode attempt. +- **SetupMode** Setup mode 1 = predownload, 2 = install, 3 = finalize +- **UpdateId** Unique ID for each update. + + ### Update360Telemetry.UpdateAgentCommit This event collects information regarding the commit phase of the new Unified Update Platform (UUP) update scenario, which is leveraged by both Mobile and Desktop. @@ -3975,6 +4457,24 @@ The following fields are available: - **Version** Version of update +### Update360Telemetry.UpdateAgentOneSettings + +This event collects information regarding the post reboot phase of the new UUP (Unified Update Platform) update scenario; which is leveraged by both Mobile and Desktop. + +The following fields are available: + +- **Count** The count of applicable OneSettings for the device. +- **FlightId** Unique ID for the flight (test instance version). +- **ObjectId** The unique value for each Update Agent mode. +- **Parameters** The set of name value pair parameters sent to OneSettings to determine if there are any applicable OneSettings. +- **RelatedCV** The correlation vector value generated from the latest USO (Update Service Orchestrator) scan. +- **Result** The HResult of the event. +- **ScenarioId** The ID of the update scenario. +- **SessionId** The ID of the update attempt. +- **UpdateId** The ID of the update. +- **Values** The values sent back to the device, if applicable. + + ### Update360Telemetry.UpdateAgentPostRebootResult This event collects information for both Mobile and Desktop regarding the post reboot phase of the new Unified Update Platform (UUP) update scenario. @@ -4028,7 +4528,7 @@ The following fields are available: - **CV** Correlation vector. - **DetectorVersion** Most recently run detector version for the current campaign. - **GlobalEventCounter** Client side counter that indicates the ordering of events sent by this user. -- **key1** UI interaction data +- **key1** Interaction data for the UI - **key10** UI interaction data - **key11** UI interaction data - **key12** UI interaction data @@ -4039,9 +4539,9 @@ The following fields are available: - **key17** UI interaction data - **key18** UI interaction data - **key19** UI interaction data -- **key2** UI interaction data +- **key2** Interaction data for the UI - **key20** UI interaction data -- **key21** Interaction data for the UI +- **key21** UI interaction data - **key22** UI interaction data - **key23** UI interaction data - **key24** UI interaction data @@ -4050,12 +4550,12 @@ The following fields are available: - **key27** UI interaction data - **key28** UI interaction data - **key29** UI interaction data -- **key3** UI interaction data +- **key3** Interaction data for the UI - **key30** UI interaction data -- **key4** UI interaction data -- **key5** UI interaction data -- **key6** UI interaction data -- **key7** UI interaction data +- **key4** Interaction data for the UI +- **key5** UI interaction type +- **key6** Current package version of UNP +- **key7** UI interaction type - **key8** UI interaction data - **key9** UI interaction data - **PackageVersion** Current package version of the update notification. @@ -4353,6 +4853,12 @@ This event sends a summary of all the setup mitigations available for this updat +### Setup360Telemetry.Setup360OneSettings + +This event collects information regarding the post reboot phase of the new UUP (Unified Update Platform) update scenario; which is leveraged by both Mobile and Desktop. + + + ### Setup360Telemetry.UnexpectedEvent This event sends data indicating that the device has invoked the unexpected event phase of the upgrade, to help keep Windows up to date. @@ -4366,7 +4872,7 @@ The following fields are available: - **ReportId** With Windows Update, this is the updateID that is passed to Setup. In media setup, this is the GUID for the install.wim. - **Setup360Extended** Detailed information about the phase/action when the potential failure occurred. - **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback. -- **Setup360Result** The result of Setup360. This is an HRESULT error code that can be used to diagnose errors. +- **Setup360Result** The result of Setup360. This is an HRESULT error code that can be used used to diagnose errors. - **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT. - **SetupVersionBuildNumber** The build number of Setup360 (build number of target OS). - **State** The exit state of a Setup360 run. Example: succeeded, failed, blocked, cancelled. @@ -4402,17 +4908,37 @@ This event provides the results from the WaaSMedic engine The following fields are available: - **detectionSummary** Result of each applicable detection that was run. -- **featureAssessmentImpact** Windows as a Service (WaaS) Assessment impact on feature updates +- **featureAssessmentImpact** WaaS Assessment impact for feature updates. - **hrEngineResult** Indicates the WaaSMedic engine operation error codes -- **insufficientSessions** True, if the device has enough activity to be eligible for update diagnostics. False, if otherwise -- **isManaged** Indicates the device is managed for updates -- **isWUConnected** Indicates the device is connected to Windows Update -- **noMoreActions** All available WaaSMedic diagnostics have run. There are no pending diagnostics and corresponding actions -- **qualityAssessmentImpact** Windows as a Service (WaaS) Assessment impact for quality updates +- **insufficientSessions** Device not eligible for diagnostics. +- **isManaged** Device is managed for updates. +- **isWUConnected** Device is connected to Windows Update. +- **noMoreActions** No more applicable diagnostics. +- **qualityAssessmentImpact** WaaS Assessment impact for quality updates. - **remediationSummary** Result of each operation performed on a device to fix an invalid state or configuration that's preventing the device from getting updates. For example, if Windows Update service is turned off, the fix is to turn the it back on. -- **usingBackupFeatureAssessment** The WaaSMedic engine contacts Windows as a Service (WaaS) Assessment to determine whether the device is up-to-date. If WaaS Assessment isn't available, the engine falls back to backup feature assessments, which are determined programmatically on the client -- **usingBackupQualityAssessment** The WaaSMedic engine contacts Windows as a Service (WaaS) Assessment to determine whether the device is up-to-date. If WaaS Assessment isn't available, the engine falls back to backup quality assessments, which are determined programmatically on the client -- **versionString** Installed version of the WaaSMedic engine +- **usingBackupFeatureAssessment** Relying on backup feature assessment. +- **usingBackupQualityAssessment** Relying on backup quality assessment. +- **versionString** Version of the WaaSMedic engine. + + +## Windows Error Reporting events + +### Microsoft.Windows.WERVertical.OSCrash + +This event sends binary data from the collected dump file wheneveer a bug check occurs, to help keep Windows up to date. The is the OneCore version of this event. + +The following fields are available: + +- **BootId** Uint32 identifying the boot number for this device. +- **BugCheckCode** Uint64 "bugcheck code" that identifies a proximate cause of the bug check. +- **BugCheckParameter1** Uint64 parameter providing additional information. +- **BugCheckParameter2** Uint64 parameter providing additional information. +- **BugCheckParameter3** Uint64 parameter providing additional information. +- **BugCheckParameter4** Uint64 parameter providing additional information. +- **DumpFileAttributes** Codes that identify the type of data contained in the dump file +- **DumpFileSize** Size of the dump file +- **IsValidDumpFile** True if the dump file is valid for the debugger, false otherwise +- **ReportId** WER Report Id associated with this bug check (used for finding the corresponding report archive in Watson). ## Windows Store events @@ -4798,144 +5324,6 @@ The following fields are available: ## Windows Update Delivery Optimization events -### Microsoft.OSG.DU.DeliveryOptClient.DownloadCanceled - -This event describes when a download was canceled with Delivery Optimization. It's used to understand and address problems regarding downloads. - -The following fields are available: - -- **background** Is the download being done in the background? -- **bytesFromCacheServer** Bytes received from a cache host. -- **bytesFromCDN** The number of bytes received from a CDN source. -- **bytesFromGroupPeers** The number of bytes received from a peer in the same group. -- **bytesFromIntPeers** The number of bytes received from peers not in the same LAN or in the same group. -- **bytesFromLocalCache** Bytes copied over from local (on disk) cache. -- **bytesFromPeers** The number of bytes received from a peer in the same LAN. -- **callerName** Name of the API caller. -- **cdnErrorCodes** A list of CDN connection errors since the last FailureCDNCommunication event. -- **cdnErrorCounts** The number of times each error in cdnErrorCodes was encountered. -- **clientTelId** A random number used for device sampling. -- **dataSourcesTotal** Bytes received per source type, accumulated for the whole session. -- **doErrorCode** The Delivery Optimization error code that was returned. -- **errorCode** The error code that was returned. -- **experimentId** When running a test, this is used to correlate events that are part of the same test. -- **fileID** The ID of the file being downloaded. -- **gCurMemoryStreamBytes** Current usage for memory streaming. -- **gMaxMemoryStreamBytes** Maximum usage for memory streaming. -- **isVpn** Is the device connected to a Virtual Private Network? -- **jobID** Identifier for the Windows Update job. -- **reasonCode** Reason the action or event occurred. -- **scenarioID** The ID of the scenario. -- **sessionID** The ID of the file download session. -- **updateID** The ID of the update being downloaded. -- **usedMemoryStream** Did the download use memory streaming? - - -### Microsoft.OSG.DU.DeliveryOptClient.DownloadCompleted - -This event describes when a download has completed with Delivery Optimization. It's used to understand and address problems regarding downloads. - -The following fields are available: - -- **background** Is the download a background download? -- **bytesFromCacheServer** Bytes received from a cache host. -- **bytesFromCDN** The number of bytes received from a CDN source. -- **bytesFromGroupPeers** The number of bytes received from a peer in the same domain group. -- **bytesFromIntPeers** The number of bytes received from peers not in the same LAN or in the same domain group. -- **bytesFromLocalCache** Bytes copied over from local (on disk) cache. -- **bytesFromPeers** The number of bytes received from a peer in the same LAN. -- **bytesRequested** The total number of bytes requested for download. -- **cacheServerConnectionCount** Number of connections made to cache hosts. -- **callerName** Name of the API caller. -- **cdnConnectionCount** The total number of connections made to the CDN. -- **cdnErrorCodes** A list of CDN connection errors since the last FailureCDNCommunication event. -- **cdnErrorCounts** The number of times each error in cdnErrorCodes was encountered. -- **cdnIp** The IP address of the source CDN. -- **clientTelId** A random number used for device sampling. -- **dataSourcesTotal** Bytes received per source type, accumulated for the whole session. -- **doErrorCode** The Delivery Optimization error code that was returned. -- **downlinkBps** The maximum measured available download bandwidth (in bytes per second). -- **downlinkUsageBps** The download speed (in bytes per second). -- **downloadMode** The download mode used for this file download session. -- **downloadModeSrc** Source of the DownloadMode setting (KvsProvider = 0, GeoProvider = 1, GeoVerProvider = 2, CpProvider = 3, DiscoveryProvider = 4, RegistryProvider = 5, GroupPolicyProvider = 6, MdmProvider = 7, SettingsProvider = 8, InvalidProviderType = 9). -- **experimentId** When running a test, this is used to correlate with other events that are part of the same test. -- **fileID** The ID of the file being downloaded. -- **fileSize** The size of the file being downloaded. -- **gCurMemoryStreamBytes** Current usage for memory streaming. -- **gMaxMemoryStreamBytes** Maximum usage for memory streaming. -- **groupConnectionCount** The total number of connections made to peers in the same group. -- **internetConnectionCount** The total number of connections made to peers not in the same LAN or the same group. -- **isVpn** Is the device connected to a Virtual Private Network? -- **jobID** Identifier for the Windows Update job. -- **lanConnectionCount** The total number of connections made to peers in the same LAN. -- **numPeers** The total number of peers used for this download. -- **restrictedUpload** Is the upload restricted? -- **scenarioID** The ID of the scenario. -- **sessionID** The ID of the download session. -- **totalTimeMs** Duration of the download (in seconds). -- **updateID** The ID of the update being downloaded. -- **uplinkBps** The maximum measured available upload bandwidth (in bytes per second). -- **uplinkUsageBps** The upload speed (in bytes per second). -- **usedMemoryStream** Did the download use memory streaming? - - -### Microsoft.OSG.DU.DeliveryOptClient.DownloadPaused - -This event represents a temporary suspension of a download with Delivery Optimization. It's used to understand and address problems regarding downloads. - -The following fields are available: - -- **background** Is the download a background download? -- **callerName** The name of the API caller. -- **clientTelId** A random number used for device sampling. -- **errorCode** The error code that was returned. -- **experimentId** When running a test, this is used to correlate with other events that are part of the same test. -- **fileID** The ID of the file being paused. -- **isVpn** Is the device connected to a Virtual Private Network? -- **jobID** Identifier for the Windows Update job. -- **reasonCode** The reason for pausing the download. -- **scenarioID** The ID of the scenario. -- **sessionID** The ID of the download session. -- **updateID** The ID of the update being paused. - - -### Microsoft.OSG.DU.DeliveryOptClient.DownloadStarted - -This event sends data describing the start of a new download to enable Delivery Optimization. It's used to understand and address problems regarding downloads. - -The following fields are available: - -- **background** Indicates whether the download is happening in the background. -- **bytesRequested** Number of bytes requested for the download. -- **callerName** Name of the API caller. -- **cdnUrl** The URL of the source CDN. -- **clientTelId** Random number used for device selection -- **costFlags** A set of flags representing network cost. -- **deviceProfile** Identifies the usage or form factor (such as Desktop, Xbox, or VM). -- **diceRoll** Random number used for determining if a client will use peering. -- **doClientVersion** The version of the Delivery Optimization client. -- **doErrorCode** The Delivery Optimization error code that was returned. -- **downloadMode** The download mode used for this file download session (CdnOnly = 0, Lan = 1, Group = 2, Internet = 3, Simple = 99, Bypass = 100). -- **downloadModeSrc** Source of the DownloadMode setting (KvsProvider = 0, GeoProvider = 1, GeoVerProvider = 2, CpProvider = 3, DiscoveryProvider = 4, RegistryProvider = 5, GroupPolicyProvider = 6, MdmProvider = 7, SettingsProvider = 8, InvalidProviderType = 9). -- **errorCode** The error code that was returned. -- **experimentId** ID used to correlate client/services calls that are part of the same test during A/B testing. -- **fileID** The ID of the file being downloaded. -- **filePath** The path to where the downloaded file will be written. -- **fileSize** Total file size of the file that was downloaded. -- **fileSizeCaller** Value for total file size provided by our caller. -- **groupID** ID for the group. -- **isVpn** Indicates whether the device is connected to a Virtual Private Network. -- **jobID** The ID of the Windows Update job. -- **minDiskSizeGB** The minimum disk size (in GB) policy set for the device to allow peering with delivery optimization. -- **minDiskSizePolicyEnforced** Indicates whether there is an enforced minimum disk size requirement for peering. -- **minFileSizePolicy** The minimum content file size policy to allow the download using peering with delivery optimization. -- **peerID** The ID for this delivery optimization client. -- **scenarioID** The ID of the scenario. -- **sessionID** The ID for the file download session. -- **updateID** The ID of the update being downloaded. -- **usedMemoryStream** Indicates whether the download used memory streaming. - - ### Microsoft.OSG.DU.DeliveryOptClient.FailureCdnCommunication This event represents a failure to download from a CDN with Delivery Optimization. It's used to understand and address problems regarding downloads. @@ -4959,20 +5347,6 @@ The following fields are available: - **sessionID** The ID of the download session. -### Microsoft.OSG.DU.DeliveryOptClient.JobError - -This event represents a Windows Update job error. It allows for investigation of top errors. - -The following fields are available: - -- **clientTelId** A random number used for device sampling. -- **doErrorCode** Error code returned for delivery optimization. -- **errorCode** The error code returned. -- **experimentId** When running a test, this is used to correlate with other events that are part of the same test. -- **fileID** The ID of the file being downloaded. -- **jobID** The Windows Update job ID. - - ## Windows Update events ### Microsoft.Windows.Update.DeviceUpdateAgent.UpdateAgentCommit @@ -5067,6 +5441,24 @@ The following fields are available: - **updateId** Unique ID for each Update. +### Microsoft.Windows.Update.NotificationUx.DialogNotificationToBeDisplayed + +This event indicates that a notification dialog box is about to be displayed to user. + + + +### Microsoft.Windows.Update.NotificationUx.EnhancedEngagedRebootRebootFailedDialog + +This event indicates that the Enhanced Engaged restart "restart failed" dialog box was displayed. + + + +### Microsoft.Windows.Update.NotificationUx.EnhancedEngagedRebootRebootImminentDialog + +This event indicates that the Enhanced Engaged restart "restart imminent" dialog box was displayed. + + + ### Microsoft.Windows.Update.NotificationUx.RebootScheduled Indicates when a reboot is scheduled by the system or a user for a security, quality, or feature update. @@ -5085,6 +5477,18 @@ The following fields are available: - **wuDeviceid** Unique device ID used by Windows Update. +### Microsoft.Windows.Update.Orchestrator.ActivityRestrictedByActiveHoursPolicy + +This event indicates a policy is present that may restrict update activity to outside of active hours. + + + +### Microsoft.Windows.Update.Orchestrator.BlockedByActiveHours + +This event indicates that update activity was blocked because it is within the active hours window. + + + ### Microsoft.Windows.Update.Orchestrator.CommitFailed This event indicates that a device was unable to restart after an update. @@ -5114,16 +5518,16 @@ This event indicates that a scan for a Windows Update occurred. The following fields are available: - **deferReason** Reason why the device could not check for updates. -- **detectionBlockreason** Reason for detection not completing. +- **detectionBlockreason** Reason for blocking detection - **detectionRetryMode** Indicates whether we will try to scan again. -- **errorCode** The returned error code. -- **eventScenario** End-to-end update session ID, or indicates the purpose of sending this event - whether because the software distribution just started installing content, or whether it was cancelled, succeeded, or failed. +- **errorCode** Error value +- **eventScenario** End to end update session ID, or indicates the purpose of sending this event - whether because the software distribution just started installing content, or whether it was cancelled, succeeded, or failed. - **flightID** The specific ID of the Windows Insider build the device is getting. - **interactive** Indicates whether the session was user initiated. - **revisionNumber** Update revision number. - **updateId** Update ID. -- **updateScenarioType** Update Session type -- **wuDeviceid** Device ID +- **updateScenarioType** The update session type. +- **wuDeviceid** Unique device ID used by Windows Update. ### Microsoft.Windows.Update.Orchestrator.DisplayNeeded @@ -5142,6 +5546,23 @@ The following fields are available: - **wuDeviceid** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue +### Microsoft.Windows.Update.Orchestrator.Download + +This event sends launch data for a Windows Update download to help keep Windows up to date. + +The following fields are available: + +- **deferReason** Reason for download not completing. +- **errorCode** An error code represented as a hexadecimal value. +- **eventScenario** End-to-end update session ID. +- **flightID** The specific ID of the Windows Insider build the device is getting. +- **interactive** Indicates whether the session is user initiated. +- **revisionNumber** Update revision number. +- **updateId** Update ID. +- **updateScenarioType** The update session type. +- **wuDeviceid** Unique device ID used by Windows Update. + + ### Microsoft.Windows.Update.Orchestrator.FlightInapplicable This event indicates that the update is no longer applicable to this device. @@ -5169,6 +5590,48 @@ The following fields are available: - **wuDeviceid** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue. +### Microsoft.Windows.Update.Orchestrator.InitiatingReboot + +This event sends data about an Orchestrator requesting a reboot from power management to help keep Windows up to date. + +The following fields are available: + +- **EventPublishedTime** Time of the event. +- **flightID** Unique update ID +- **interactive** Indicates whether the reboot initiation stage of the update process was entered as a result of user action. +- **rebootOutsideOfActiveHours** Indicates whether the reboot was to occur outside of active hours. +- **revisionNumber** Revision number of the update. +- **updateId** Update ID. +- **updateScenarioType** The update session type. +- **uxRebootstate** Indicates the exact state of the user experience at the time the required reboot was initiated. +- **wuDeviceid** Unique device ID used by Windows Update. + + +### Microsoft.Windows.Update.Orchestrator.Install + +This event sends launch data for a Windows Update install to help keep Windows up to date. + +The following fields are available: + +- **batteryLevel** Current battery capacity in mWh or percentage left. +- **deferReason** Reason for install not completing. +- **errorCode** The error code reppresented by a hexadecimal value. +- **eventScenario** End-to-end update session ID. +- **flightID** The specific ID of the Windows Insider build the device is getting. +- **flightUpdate** Indicates whether the update is a Windows Insider build. +- **ForcedRebootReminderSet** A boolean value that indicates if a forced reboot will happen for updates. +- **installCommitfailedtime** The time it took for a reboot to happen but the upgrade failed to progress. +- **installRebootinitiatetime** The time it took for a reboot to be attempted. +- **interactive** Identifies if session is user initiated. +- **minutesToCommit** The time it took to install updates. +- **rebootOutsideOfActiveHours** Indicates whether a reboot is scheduled outside of active hours. +- **revisionNumber** Update revision number. +- **updateId** Update ID. +- **updateScenarioType** The update session type. +- **uxRebootstate** Indicates the exact state of the user experience at the time the required reboot was initiated to ensure the correct update process and experience is provided to keep Windows up to date. +- **wuDeviceid** Unique device ID used by Windows Update. + + ### Microsoft.Windows.Update.Orchestrator.LowUptimes This event is sent if a device is identified as not having sufficient uptime to reliably process updates in order to keep secure. @@ -5182,6 +5645,18 @@ The following fields are available: - **wuDeviceid** Unique device ID for Windows Update. +### Microsoft.Windows.Update.Orchestrator.OneshotUpdateDetection + +This event returns data about scans initiated through settings UI, or background scans that are urgent; to help keep Windows up to date. + +The following fields are available: + +- **externalOneshotupdate** The last time a task-triggered scan was completed. +- **interactiveOneshotupdate** The last time an interactive scan was completed. +- **oldlastscanOneshotupdate** The last time a scan completed successfully. +- **wuDeviceid** The Windows Update Device GUID (Globally-Unique ID). + + ### Microsoft.Windows.Update.Orchestrator.PreShutdownStart This event is generated before the shutdown and commit operations. @@ -5191,6 +5666,166 @@ The following fields are available: - **wuDeviceid** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue. +### Microsoft.Windows.Update.Orchestrator.RebootFailed + +This event sends information about whether an update required a reboot and reasons for failure, to help keep Windows up to date. + +The following fields are available: + +- **batteryLevel** Current battery capacity in mWh or percentage left. +- **deferReason** Reason for install not completing. +- **EventPublishedTime** The time that the reboot failure occurred. +- **flightID** Unique update ID. +- **rebootOutsideOfActiveHours** Indicates whether a reboot was scheduled outside of active hours. +- **RebootResults** Hex code indicating failure reason. Typically, we expect this to be a specific USO generated hex code. +- **revisionNumber** Update revision number. +- **updateId** Update ID. +- **updateScenarioType** The update session type. +- **uxRebootstate** Indicates the exact state of the user experience at the time the required reboot was initiated to ensure the correct update process and experience is provided to keep Windows up to date. +- **wuDeviceid** Unique device ID used by Windows Update. + + +### Microsoft.Windows.Update.Orchestrator.RefreshSettings + +This event sends basic data about the version of upgrade settings applied to the system to help keep Windows up to date. + +The following fields are available: + +- **errorCode** Hex code for the error message, to allow lookup of the specific error. +- **settingsDownloadTime** Timestamp of the last attempt to acquire settings. +- **settingsETag** Version identifier for the settings. +- **wuDeviceid** Unique device ID used by Windows Update. + + +### Microsoft.Windows.Update.Orchestrator.RestoreRebootTask + +This event sends data indicating that a reboot task is missing unexpectedly on a device and the task is restored because a reboot is still required, to help keep Windows up to date. + +The following fields are available: + +- **RebootTaskRestoredTime** Time at which this reboot task was restored. +- **wuDeviceid** Device ID for the device on which the reboot is restored. + + +### Microsoft.Windows.Update.Orchestrator.SystemNeeded + +This event sends data about why a device is unable to reboot, to help keep Windows up to date. + +The following fields are available: + +- **eventScenario** End-to-end update session ID. +- **rebootOutsideOfActiveHours** Indicates whether a reboot is scheduled outside of active hours. +- **revisionNumber** Update revision number. +- **systemNeededReason** List of apps or tasks that are preventing the system from restarting. +- **updateId** Update ID. +- **updateScenarioType** The update session type. +- **uxRebootstate** Indicates the exact state of the user experience at the time the required reboot was initiated to ensure the correct update process and experience is provided to keep Windows up to date. +- **wuDeviceid** Unique device ID used by Windows Update. + + +### Microsoft.Windows.Update.Orchestrator.UpdatePolicyCacheRefresh + +This event sends data on whether Update Management Policies were enabled on a device, to help keep Windows up to date. + +The following fields are available: + +- **configuredPoliciescount** Number of policies on the device. +- **policiesNamevaluesource** Policy name and source of policy (group policy, MDM or flight). +- **policyCacherefreshtime** Time when policy cache was refreshed. +- **updateInstalluxsetting** Indicates whether a user has set policies via a user experience option. +- **wuDeviceid** Unique device ID used by Windows Update. + + +### Microsoft.Windows.Update.Orchestrator.updateSettingsFlushFailed + +This event sends information about an update that encountered problems and was not able to complete. + +The following fields are available: + +- **errorCode** The error code encountered. +- **wuDeviceid** The ID of the device in which the error occurred. + + +### Microsoft.Windows.Update.Orchestrator.USODiagnostics + +This event sends data on whether the state of the update attempt, to help keep Windows up to date. + +The following fields are available: + +- **errorCode** result showing success or failure of current update +- **LastApplicableUpdateFoundTime** The time when the last applicable update was found. +- **LastDownloadDeferredReason** The last reason download was deferred. +- **LastDownloadDeferredTime** The time of the download deferral. +- **LastDownloadFailureError** The last download failure. +- **LastDownloadFailureTime** The time of the last download failure. +- **LastInstallCompletedTime** The time when the last successful install completed. +- **LastInstallDeferredReason** The reason the last install was deferred. +- **LastInstallDeferredTime** The time when the last install was deferred. +- **LastInstallFailureError** The error code associated with the last install failure. +- **LastInstallFailureTime** The time when the last install failed to complete. +- **LastRebootDeferredReason** The reason the last reboot was deferred. +- **LastRebootDeferredTime** The time when the last reboot was deferred. +- **LastRebootPendingTime** The time when the last reboot state was set to “Pending”. +- **LastScanDeferredReason** The reason the last scan was deferred. +- **LastScanDeferredTime** The time when the last scan was deferred. +- **LastScanFailureError** The error code for the last scan failure. +- **LastScanFailureTime** The time when the last scan failed. +- **LastUpdateCheckTime** The time of the last update check. +- **LastUpdateDownloadTime** The time when the last update was downloaded. +- **LastUpgradeInstallFailureError** The error code for the last upgrade install failure. +- **LastUpgradeInstallFailureTime** The time of the last upgrade install failure. +- **LowUpTimeDetectTime** The last time “low up-time” was detected. +- **NoLowUpTimeDetectTime** The last time no “low up-time” was detected. +- **RebootRequired** Indicates reboot is required. +- **revisionNumber** Unique revision number of the Update +- **updateId** Unique ID for Update +- **updateState** Progress within an update state +- **UpgradeInProgressTime** The amount of time a feature update has been in progress. +- **WaaSFeatureAssessmentDays** The number of days Feature Update Assessment has been out of date. +- **WaaSFeatureAssessmentImpact** The impact of the Feature Update Assessment. +- **WaaSUpToDateAssessmentDays** The number of days Quality Update Assessment has been out of date. +- **WaaSUpToDateAssessmentImpact** The impact of Quality Update Assessment. +- **wuDeviceid** Unique ID for Device + + +### Microsoft.Windows.Update.Orchestrator.UsoSession + +This event represents the state of the USO service at start and completion. + +The following fields are available: + +- **activeSessionid** A unique session GUID. +- **eventScenario** The state of the update action. +- **interactive** Is the USO session interactive? +- **lastErrorcode** The last error that was encountered. +- **lastErrorstate** The state of the update when the last error was encountered. +- **sessionType** A GUID that refers to the update session type. +- **updateScenarioType** A descriptive update session type. +- **wuDeviceid** The Windows Update device GUID. + + +### Microsoft.Windows.Update.Ux.MusNotification.EnhancedEngagedRebootUxState + +This event sends information about the configuration of Enhanced Direct-to-Engaged (eDTE), which includes values for the timing of how eDTE will progress through each phase of the reboot. + +The following fields are available: + +- **AcceptAutoModeLimit** The maximum number of days for a device to automatically enter Auto Reboot mode. +- **AutoToAutoFailedLimit** The maximum number of days for Auto Reboot mode to fail before a Reboot Failed dialog will be shown. +- **DeviceLocalTime** The date and time (based on the device date/time settings) the reboot mode changed. +- **EngagedModeLimit** The number of days to switch between DTE (Direct-to-Engaged) dialogs. +- **EnterAutoModeLimit** The maximum number of days a device can enter Auto Reboot mode. +- **ETag** The Entity Tag that represents the OneSettings version. +- **IsForcedEnabled** Identifies whether Forced Reboot mode is enabled for the device. +- **IsUltimateForcedEnabled** Identifies whether Ultimate Forced Reboot mode is enabled for the device. +- **OldestUpdateLocalTime** The date and time (based on the device date/time settings) this update’s reboot began pending. +- **RebootUxState** Identifies the reboot state: Engaged, Auto, Forced, UltimateForced. +- **RebootVersion** The version of the DTE (Direct-to-Engaged). +- **SkipToAutoModeLimit** The maximum number of days to switch to start while in Auto Reboot mode. +- **UpdateId** The ID of the update that is waiting for reboot to finish installation. +- **UpdateRevision** The revision of the update that is waiting for reboot to finish installation. + + ### Microsoft.Windows.Update.Ux.MusNotification.RebootNoLongerNeeded This event is sent when a security update has successfully completed. @@ -5209,6 +5844,25 @@ The following fields are available: - **Reason** The reason sent which will cause the reboot to defer. +### Microsoft.Windows.Update.Ux.MusNotification.RebootScheduled + +This event sends basic information about scheduling an update-related reboot, to get security updates and to help keep Windows up-to-date. + +The following fields are available: + +- **activeHoursApplicable** Indicates whether Active Hours applies on this device. +- **forcedReboot** True, if a reboot is forced on the device. Otherwise, this is False +- **rebootArgument** Argument for the reboot task. It also represents specific reboot related action. +- **rebootOutsideOfActiveHours** True, if a reboot is scheduled outside of active hours. False, otherwise. +- **rebootScheduledByUser** True, if a reboot is scheduled by user. False, if a reboot is scheduled automatically. +- **rebootState** Current state of the reboot. +- **revisionNumber** Revision number of the update that is getting installed with this reboot. +- **scheduledRebootTime** Time scheduled for the reboot. +- **scheduledRebootTimeInUTC** Time scheduled for the reboot, in UTC. +- **updateId** Identifies which update is being scheduled. +- **wuDeviceid** Unique device ID used by Windows Update. + + ### Microsoft.Windows.Update.Ux.MusNotification.UxBrokerFirstReadyToReboot This event is fired the first time when the reboot is required. @@ -5227,7 +5881,7 @@ The following fields are available: ### Microsoft.Windows.Update.Ux.MusUpdateSettings.RebootScheduled -This event sends basic information for scheduling a device restart to install security updates. It's used to help keep Windows up-to-date +This event sends basic information for scheduling a device restart to install security updates. It's used to help keep Windows up to date. The following fields are available: @@ -5244,6 +5898,32 @@ The following fields are available: - **wuDeviceid** The Windows Update device GUID. +## Windows Update mitigation events + +### Mitigation360Telemetry.MitigationCustom.CleanupSafeOsImages + +This event sends data specific to the CleanupSafeOsImages mitigation used for OS Updates. + +The following fields are available: + +- **ClientId** In the WU scenario, this will be the WU client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. +- **FlightId** Unique identifier for each flight. +- **InstanceId** Unique GUID that identifies each instances of setuphost.exe. +- **MitigationScenario** The update scenario in which the mitigation was executed. +- **MountedImageCount** Number of mounted images. +- **MountedImageMatches** Number of mounted images that were under %systemdrive%\$Windows.~BT. +- **MountedImagesFailed** Number of mounted images under %systemdrive%\$Windows.~BT that could not be removed. +- **MountedImagesRemoved** Number of mounted images under %systemdrive%\$Windows.~BT that were successfully removed. +- **MountedImagesSkipped** Number of mounted images that were not under %systemdrive%\$Windows.~BT. +- **RelatedCV** Correlation vector value generated from the latest USO scan. +- **Result** HResult of this operation. +- **ScenarioId** ID indicating the mitigation scenario. +- **ScenarioSupported** Indicates whether the scenario was supported. +- **SessionId** Unique value for each update attempt. +- **UpdateId** Unique ID for each Update. +- **WuId** Unique ID for the Windows Update client. + + ## Winlogon events ### Microsoft.Windows.Security.Winlogon.SetupCompleteLogon diff --git a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md index 9af3127db4..945ae68322 100644 --- a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md +++ b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md @@ -9,7 +9,7 @@ ms.pagetype: security localizationpriority: high author: brianlic-msft ms.author: brianlic -ms.date: 09/10/2018 +ms.date: 11/07/2018 --- @@ -28,6 +28,7 @@ Use this article to learn about diagnostic events, grouped by event area, and th You can learn more about Windows functional and diagnostic data through these articles: + - [Windows 10, version 1809 basic diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields-1809.md) - [Windows 10, version 1709 basic diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields-1709.md) - [Windows 10, version 1703 basic diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields-1703.md) @@ -35,6 +36,8 @@ You can learn more about Windows functional and diagnostic data through these ar - [Configure Windows diagnostic data in your organization](configure-windows-diagnostic-data-in-your-organization.md) + + ## Appraiser events ### Microsoft.Windows.Appraiser.General.ChecksumTotalPictureCount @@ -75,7 +78,7 @@ The following fields are available: - **DecisionSystemBios_RS3** The total DecisionSystemBios objects targeting the next release of Windows on this device. - **DecisionTest_RS1** An ID for the system, calculated by hashing hardware identifiers. - **InventoryApplicationFile** The count of the number of this particular object type present on this device. -- **InventoryLanguagePack** The count of the number of this particular object type present on this device. +- **InventoryLanguagePack** The count of InventoryLanguagePack objects present on this machine. - **InventoryMediaCenter** The count of the number of this particular object type present on this device. - **InventorySystemBios** The count of the number of this particular object type present on this device. - **InventoryTest** The count of the number of this particular object type present on this device. @@ -369,7 +372,7 @@ The following fields are available: ### Microsoft.Windows.Appraiser.General.DecisionApplicationFileRemove -This event indicates that the DecisionApplicationFile object is no longer present. +This event indicates Indicates that the DecisionApplicationFile object is no longer present. This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). @@ -575,6 +578,17 @@ The following fields are available: - **AppraiserVersion** The version of the Appraiser file that is generating the events. +### Microsoft.Windows.Appraiser.General.DecisionMatchingInfoPostUpgradeStartSync + +This event indicates that a new set of DecisionMatchingInfoPostUpgradeAdd events will be sent. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + ### Microsoft.Windows.Appraiser.General.DecisionMediaCenterAdd This event sends decision data about the presence of Windows Media Center, to help keep Windows up to date. @@ -701,7 +715,7 @@ The following fields are available: ### Microsoft.Windows.Appraiser.General.InventoryApplicationFileStartSync -This event indicates that a new set of InventoryApplicationFileAdd events will be sent. +This event indicates indicates that a new set of InventoryApplicationFileAdd events will be sent. This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). @@ -822,6 +836,31 @@ The following fields are available: - **AppraiserVersion** The version of the Appraiser file that is generating the events. +### Microsoft.Windows.Appraiser.General.InventoryUplevelDriverPackageAdd + +This event is only runs during setup. It provides a listing of the uplevel driver packages that were downloaded before the upgrade. Is critical to understanding if failures in setup can be traced to not having sufficient uplevel drivers before the upgrade. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. +- **BootCritical** Is the driver package marked as boot critical? +- **Build** The build value from the driver package. +- **CatalogFile** The name of the catalog file within the driver package. +- **Class** The device class from the driver package. +- **ClassGuid** The device class unique ID from the driver package. +- **Date** The date from the driver package. +- **Inbox** Is the driver package of a driver that is included with Windows? +- **OriginalName** The original name of the INF file before it was renamed. Generally a path under $WINDOWS.~BT\Drivers\DU. +- **Provider** The provider of the driver package. +- **PublishedName** The name of the INF file after it was renamed. +- **Revision** The revision of the driver package. +- **SignatureStatus** Indicates if the driver package is signed. Unknown = 0, Unsigned = 1, Signed = 2. +- **VersionMajor** The major version of the driver package. +- **VersionMinor** The minor version of the driver package. + + ### Microsoft.Windows.Appraiser.General.InventoryUplevelDriverPackageRemove This event indicates that the InventoryUplevelDriverPackage object is no longer present. @@ -1179,6 +1218,23 @@ The following fields are available: - **AppraiserVersion** The version of the Appraiser file that is generating the events. +### Microsoft.Windows.Appraiser.General.SystemWlanAdd + +This event sends data indicating whether the system has WLAN, and if so, whether it uses an emulated driver that could block an upgrade, to help keep Windows up-to-date. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. +- **Blocking** Is the upgrade blocked because of an emulated WLAN driver? +- **HasWlanBlock** Does the emulated WLAN driver have an upgrade block? +- **WlanEmulatedDriver** Does the device have an emulated WLAN driver? +- **WlanExists** Does the device support WLAN at all? +- **WlanModulePresent** Are any WLAN modules present? +- **WlanNativeDriver** Does the device have a non-emulated WLAN driver? + + ### Microsoft.Windows.Appraiser.General.SystemWlanRemove This event indicates that the SystemWlan object is no longer present. @@ -1292,7 +1348,7 @@ The following fields are available: - **AppraiserTaskExitCode** The Appraiser task exist code. - **AppraiserTaskLastRun** The last runtime for the Appraiser task. - **CensusVersion** The version of Census that generated the current data for this device. -- **IEVersion** Retrieves which version of Internet Explorer is running on this device. +- **IEVersion** IE version running on the device. ### Census.Battery @@ -2594,6 +2650,91 @@ The following fields are available: - **CV** Correlation vector. +## DxgKernelTelemetry events + +### DxgKrnlTelemetry.GPUAdapterInventoryV2 + +This event sends basic GPU and display driver information to keep Windows and display drivers up-to-date. + +The following fields are available: + +- **AdapterTypeValue** The numeric value indicating the type of Graphics adapter. +- **aiSeqId** The event sequence ID. +- **bootId** The system boot ID. +- **BrightnessVersionViaDDI** The version of the Display Brightness Interface. +- **ComputePreemptionLevel** The maximum preemption level supported by GPU for compute payload. +- **DedicatedSystemMemoryB** The amount of system memory dedicated for GPU use (in bytes). +- **DedicatedVideoMemoryB** The amount of dedicated VRAM of the GPU (in bytes). +- **DisplayAdapterLuid** The display adapter LUID. +- **DriverDate** The date of the display driver. +- **DriverRank** The rank of the display driver. +- **DriverVersion** The display driver version. +- **DX10UMDFilePath** The file path to the location of the DirectX 10 Display User Mode Driver in the Driver Store. +- **DX11UMDFilePath** The file path to the location of the DirectX 11 Display User Mode Driver in the Driver Store. +- **DX12UMDFilePath** The file path to the location of the DirectX 12 Display User Mode Driver in the Driver Store. +- **DX9UMDFilePath** The file path to the location of the DirectX 9 Display User Mode Driver in the Driver Store. +- **GPUDeviceID** The GPU device ID. +- **GPUPreemptionLevel** The maximum preemption level supported by GPU for graphics payload. +- **GPURevisionID** The GPU revision ID. +- **GPUVendorID** The GPU vendor ID. +- **InterfaceId** The GPU interface ID. +- **IsDisplayDevice** Does the GPU have displaying capabilities? +- **IsHybridDiscrete** Does the GPU have discrete GPU capabilities in a hybrid device? +- **IsHybridIntegrated** Does the GPU have integrated GPU capabilities in a hybrid device? +- **IsLDA** Is the GPU comprised of Linked Display Adapters? +- **IsMiracastSupported** Does the GPU support Miracast? +- **IsMismatchLDA** Is at least one device in the Linked Display Adapters chain from a different vendor? +- **IsMPOSupported** Does the GPU support Multi-Plane Overlays? +- **IsMsMiracastSupported** Are the GPU Miracast capabilities driven by a Microsoft solution? +- **IsPostAdapter** Is this GPU the POST GPU in the device? +- **IsRemovable** TRUE if the adapter supports being disabled or removed. +- **IsRenderDevice** Does the GPU have rendering capabilities? +- **IsSoftwareDevice** Is this a software implementation of the GPU? +- **KMDFilePath** The file path to the location of the Display Kernel Mode Driver in the Driver Store. +- **MeasureEnabled** Is the device listening to MICROSOFT_KEYWORD_MEASURES? +- **NumVidPnSources** The number of supported display output sources. +- **NumVidPnTargets** The number of supported display output targets. +- **SharedSystemMemoryB** The amount of system memory shared by GPU and CPU (in bytes). +- **SubSystemID** The subsystem ID. +- **SubVendorID** The GPU sub vendor ID. +- **TelemetryEnabled** Is the device listening to MICROSOFT_KEYWORD_TELEMETRY? +- **TelInvEvntTrigger** What triggered this event to be logged? Example: 0 (GPU enumeration) or 1 (DxgKrnlTelemetry provider toggling) +- **version** The event version. +- **WDDMVersion** The Windows Display Driver Model version. + + +## Fault Reporting events + +### Microsoft.Windows.FaultReporting.AppCrashEvent + +This event sends data about crashes for both native and managed applications, to help keep Windows up to date. The data includes information about the crashing process and a summary of its exception record. It does not contain any Watson bucketing information. The bucketing information is recorded in a Windows Error Reporting (WER) event that is generated when the WER client reports the crash to the Watson service, and the WER event will contain the same ReportID (see field 14 of crash event, field 19 of WER event) as the crash event for the crash being reported. AppCrash is emitted once for each crash handled by WER (e.g. from an unhandled exception or FailFast or ReportException). Note that Generic Watson event types (e.g. from PLM) that may be considered crashes\" by a user DO NOT emit this event. + +The following fields are available: + +- **AppName** The name of the app that has crashed. +- **AppSessionGuid** GUID made up of process ID and is used as a correlation vector for process instances in the telemetry backend. +- **AppTimeStamp** The date/time stamp of the app. +- **AppVersion** The version of the app that has crashed. +- **ExceptionCode** The exception code returned by the process that has crashed. +- **ExceptionOffset** The address where the exception had occurred. +- **Flags** Flags indicating how reporting is done. For example, queue the report, do not offer JIT debugging, or do not terminate the process after reporting. +- **FriendlyAppName** The description of the app that has crashed, if different from the AppName. Otherwise, the process name. +- **IsCrashFatal** (Deprecated) True/False to indicate whether the crash resulted in process termination. +- **IsFatal** True/False to indicate whether the crash resulted in process termination. +- **ModName** Exception module name (e.g. bar.dll). +- **ModTimeStamp** The date/time stamp of the module. +- **ModVersion** The version of the module that has crashed. +- **PackageFullName** Store application identity. +- **PackageRelativeAppId** Store application identity. +- **ProcessArchitecture** Architecture of the crashing process, as one of the PROCESSOR_ARCHITECTURE_* constants: 0: PROCESSOR_ARCHITECTURE_INTEL. 5: PROCESSOR_ARCHITECTURE_ARM. 9: PROCESSOR_ARCHITECTURE_AMD64. 12: PROCESSOR_ARCHITECTURE_ARM64. +- **ProcessCreateTime** The time of creation of the process that has crashed. +- **ProcessId** The ID of the process that has crashed. +- **ReportId** A GUID used to identify the report. This can used to track the report across Watson. +- **TargetAppId** The kernel reported AppId of the application being reported. +- **TargetAppVer** The specific version of the application being reported +- **TargetAsId** The sequence number for the hanging process. + + ## Feature update events ### Microsoft.Windows.Upgrade.Uninstall.UninstallFailed @@ -2618,6 +2759,34 @@ This event sends basic metadata about the starting point of uninstalling a featu +## Hang Reporting events + +### Microsoft.Windows.HangReporting.AppHangEvent + +This event sends data about hangs for both native and managed applications, to help keep Windows up to date. It does not contain any Watson bucketing information. The bucketing information is recorded in a Windows Error Reporting (WER) event that is generated when the WER client reports the hang to the Watson service, and the WER event will contain the same ReportID (see field 13 of hang event, field 19 of WER event) as the hang event for the hang being reported. AppHang is reported only on PC devices. It handles classic Win32 hangs and is emitted only once per report. Some behaviors that may be perceived by a user as a hang are reported by app managers (e.g. PLM/RM/EM) as Watson Generics and will not produce AppHang events. + +The following fields are available: + +- **AppName** The name of the app that has hung. +- **AppSessionGuid** GUID made up of process id used as a correlation vector for process instances in the telemetry backend. +- **AppVersion** The version of the app that has hung. +- **IsFatal** True/False based on whether the hung application caused the creation of a Fatal Hang Report. +- **PackageFullName** Store application identity. +- **PackageRelativeAppId** Store application identity. +- **ProcessArchitecture** Architecture of the hung process, as one of the PROCESSOR_ARCHITECTURE_* constants: 0: PROCESSOR_ARCHITECTURE_INTEL. 5: PROCESSOR_ARCHITECTURE_ARM. 9: PROCESSOR_ARCHITECTURE_AMD64. 12: PROCESSOR_ARCHITECTURE_ARM64. +- **ProcessCreateTime** The time of creation of the process that has hung. +- **ProcessId** The ID of the process that has hung. +- **ReportId** A GUID used to identify the report. This can used to track the report across Watson. +- **TargetAppId** The kernel reported AppId of the application being reported. +- **TargetAppVer** The specific version of the application being reported. +- **TargetAsId** The sequence number for the hanging process. +- **TypeCode** Bitmap describing the hang type. +- **WaitingOnAppName** If this is a cross process hang waiting for an application, this has the name of the application. +- **WaitingOnAppVersion** If this is a cross process hang, this has the version of the application for which it is waiting. +- **WaitingOnPackageFullName** If this is a cross process hang waiting for a package, this has the full name of the package for which it is waiting. +- **WaitingOnPackageRelativeAppId** If this is a cross process hang waiting for a package, this has the relative application id of the package. + + ## Inventory events ### Microsoft.Windows.Inventory.Core.AmiTelCacheChecksum @@ -2693,6 +2862,18 @@ The following fields are available: - **Version** The version number of the program. +### Microsoft.Windows.Inventory.Core.InventoryApplicationDriverAdd + +This event represents what drivers an application installs. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **InventoryVersion** The version of the inventory component. +- **ProgramIds** The unique program identifier the driver is associated with. + + ### Microsoft.Windows.Inventory.Core.InventoryApplicationFrameworkAdd This event provides the basic metadata about the frameworks an application may depend on. @@ -2839,6 +3020,17 @@ The following fields are available: - **InventoryVersion** The version of the inventory file generating the events. +### Microsoft.Windows.Inventory.Core.InventoryDeviceMediaClassRemove + +This event indicates that the InventoryDeviceMediaClassRemove object is no longer present. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **InventoryVersion** The version of the inventory file generating the events. + + ### Microsoft.Windows.Inventory.Core.InventoryDeviceMediaClassStartSync This event indicates that a new set of InventoryDeviceMediaClassSAdd events will be sent. @@ -2873,7 +3065,7 @@ The following fields are available: - **Enumerator** The date of the driver loaded for the device. - **HWID** The version of the driver loaded for the device. - **Inf** The bus that enumerated the device. -- **InstallState** The device installation state. One of these values: https://msdn.microsoft.com/library/windows/hardware/ff543130.aspx +- **InstallState** The device installation state. One of these values: https://msdn.microsoft.com/en-us/library/windows/hardware/ff543130.aspx - **InventoryVersion** List of hardware ids for the device. - **LowerClassFilters** Lower filter class drivers IDs installed for the device - **LowerFilters** Lower filter drivers IDs installed for the device @@ -3438,6 +3630,557 @@ The following fields are available: - **UptimeDeltaMS** Total time (in milliseconds) added to Uptime since the last event +## OneDrive events + +### Microsoft.OneDrive.Sync.Setup.APIOperation + +This event includes basic data about install and uninstall OneDrive API operations. + +The following fields are available: + +- **APIName** The name of the API. +- **Duration** How long the operation took. +- **IsSuccess** Was the operation successful? +- **ResultCode** The result code. +- **ScenarioName** The name of the scenario. + + +### Microsoft.OneDrive.Sync.Setup.EndExperience + +This event includes a success or failure summary of the installation. + +The following fields are available: + +- **APIName** The name of the API. +- **HResult** HResult of the operation +- **IsSuccess** Whether the operation is successful or not +- **ScenarioName** The name of the scenario. + + +### Microsoft.OneDrive.Sync.Setup.OSUpgradeInstallationOperation + +This event is related to the OS version when the OS is upgraded with OneDrive installed. + +The following fields are available: + +- **CurrentOneDriveVersion** The current version of OneDrive. +- **CurrentOSBuildBranch** The current branch of the operating system. +- **CurrentOSBuildNumber** The current build number of the operating system. +- **CurrentOSVersion** The current version of the operating system. +- **HResult** The HResult of the operation. +- **SourceOSBuildBranch** The source branch of the operating system. +- **SourceOSBuildNumber** The source build number of the operating system. +- **SourceOSVersion** The source version of the operating system. + + +### Microsoft.OneDrive.Sync.Setup.RegisterStandaloneUpdaterAPIOperation + +This event is related to registering or unregistering the OneDrive update task. + +The following fields are available: + +- **APIName** The name of the API. +- **IsSuccess** Was the operation successful? +- **RegisterNewTaskResult** The HResult of the RegisterNewTask operation. +- **ScenarioName** The name of the scenario. +- **UnregisterOldTaskResult** The HResult of the UnregisterOldTask operation. + + +### Microsoft.OneDrive.Sync.Updater.ComponentInstallState + +This event includes basic data about the installation state of dependent OneDrive components. + +The following fields are available: + +- **ComponentName** The name of the dependent component. +- **isInstalled** Is the dependent component installed? + + +### Microsoft.OneDrive.Sync.Updater.OverlayIconStatus + +This event indicates if the OneDrive overlay icon is working correctly. 0 = healthy; 1 = can be fixed; 2 = broken + +The following fields are available: + +- **32bit** The status of the OneDrive overlay icon on a 32-bit operating system. +- **64bit** The status of the OneDrive overlay icon on a 64-bit operating system. + + +### Microsoft.OneDrive.Sync.Updater.UpdateOverallResult + +This event sends information describing the result of the update. + +The following fields are available: + +- **hr** The HResult of the operation. +- **IsLoggingEnabled** Indicates whether logging is enabled for the updater. +- **UpdaterVersion** The version of the updater. + + +### Microsoft.OneDrive.Sync.Updater.UpdateXmlDownloadHResult + +This event determines the status when downloading the OneDrive update configuration file. + +The following fields are available: + +- **hr** The HResult of the operation. + + +### Microsoft.OneDrive.Sync.Updater.WebConnectionStatus + +This event determines the error code that was returned when verifying Internet connectivity. + +The following fields are available: + +- **winInetError** The HResult of the operation. + + +## Other events + +### CbsServicingProvider.CbsCapabilityEnumeration + +This event reports on the results of scanning for optional Windows content on Windows Update. + +The following fields are available: + +- **architecture** Indicates the scan was limited to the specified architecture. +- **capabilityCount** The number of optional content packages found during the scan. +- **clientId** The name of the application requesting the optional content. +- **duration** The amount of time it took to complete the scan. +- **hrStatus** The HReturn code of the scan. +- **language** Indicates the scan was limited to the specified language. +- **majorVersion** Indicates the scan was limited to the specified major version. +- **minorVersion** Indicates the scan was limited to the specified minor version. +- **namespace** Indicates the scan was limited to packages in the specified namespace. +- **sourceFilter** A bitmask indicating the scan checked for locally available optional content. +- **stackBuild** The build number of the servicing stack. +- **stackMajorVersion** The major version number of the servicing stack. +- **stackMinorVersion** The minor version number of the servicing stack. +- **stackRevision** The revision number of the servicing stack. + + +### CbsServicingProvider.CbsCapabilitySessionFinalize + +This event provides information about the results of installing or uninstalling optional Windows content from Windows Update. + +The following fields are available: + +- **capabilities** The names of the optional content packages that were installed. +- **clientId** The name of the application requesting the optional content. +- **currentID** The ID of the current install session. +- **highestState** The highest final install state of the optional content. +- **hrStatus** The HReturn code of the install operation. +- **rebootCount** The number of reboots required to complete the install. +- **retryID** The session ID that will be used to retry a failed operation. +- **retryStatus** Indicates whether the install will be retried in the event of failure. +- **stackBuild** The build number of the servicing stack. +- **stackMajorVersion** The major version number of the servicing stack. +- **stackMinorVersion** The minor version number of the servicing stack. +- **stackRevision** The revision number of the servicing stack. + + +### CbsServicingProvider.CbsCapabilitySessionPended + +This event provides information about the results of installing optional Windows content that requires a reboot to keep Windows up to date. + +The following fields are available: + +- **clientId** The name of the application requesting the optional content. +- **pendingDecision** Indicates the cause of reboot, if applicable. + + +### CbsServicingProvider.CbsPackageRemoval + +This event provides information about the results of uninstalling a Windows Cumulative Security Update to help keep Windows up to date. + +The following fields are available: + +- **buildVersion** The build number of the security update being uninstalled. +- **clientId** The name of the application requesting the uninstall. +- **currentStateEnd** The final state of the update after the operation. +- **failureDetails** Information about the cause of a failure, if applicable. +- **failureSourceEnd** The stage during the uninstall where the failure occurred. +- **hrStatusEnd** The overall exit code of the operation. +- **initiatedOffline** Indicates if the uninstall was initiated for a mounted Windows image. +- **majorVersion** The major version number of the security update being uninstalled. +- **minorVersion** The minor version number of the security update being uninstalled. +- **originalState** The starting state of the update before the operation. +- **pendingDecision** Indicates the cause of reboot, if applicable. +- **primitiveExecutionContext** The state during system startup when the uninstall was completed. +- **revisionVersion** The revision number of the security update being uninstalled. +- **transactionCanceled** Indicates whether the uninstall was cancelled. + + +### Microsoft.Windows.Remediation.Applicable + +This event indicates a remedial plug-in is applicable if/when such a plug-in is detected. This is used to ensure Windows is up to date. + +The following fields are available: + +- **ActionName** The name of the action to be taken by the plug-in. +- **AppraiserBinariesValidResult** Indicates whether plug-in was appraised as valid. +- **AppraiserDetectCondition** Indicates whether the plug-in passed the appraiser's check. +- **AppraiserRegistryValidResult** Indicates whether the registry entry checks out as valid. +- **AppraiserTaskDisabled** Indicates the appraiser task is disabled. +- **AppraiserTaskValidFailed** Indicates the Appraiser task did not function and requires intervention. +- **CV** Correlation vector +- **DateTimeDifference** The difference between local and reference clock times. +- **DateTimeSyncEnabled** Indicates whether the datetime sync plug-in is enabled. +- **DaysSinceLastSIH** The number of days since the most recent SIH executed. +- **DaysToNextSIH** The number of days until the next scheduled SIH execution. +- **DetectedCondition** Indicates whether detect condition is true and the perform action will be run. +- **EvalAndReportAppraiserBinariesFailed** Indicates the EvalAndReportAppraiserBinaries event failed. +- **EvalAndReportAppraiserRegEntries** Indicates the EvalAndReportAppraiserRegEntriesFailed event failed. +- **EvalAndReportAppraiserRegEntriesFailed** Indicates the EvalAndReportAppraiserRegEntriesFailed event failed. +- **GlobalEventCounter** Client side counter that indicates ordering of events sent by the remediation system. +- **HResult** The HRESULT for detection or perform action phases of the plugin. +- **IsAppraiserLatestResult** The HRESULT from the appraiser task. +- **IsConfigurationCorrected** Indicates whether the configuration of SIH task was successfully corrected. +- **LastHresult** The HRESULT for detection or perform action phases of the plugin. +- **LastRun** The date of the most recent SIH run. +- **NextRun** Date of the next scheduled SIH run. +- **PackageVersion** The version of the current remediation package. +- **PluginName** Name of the plugin specified for each generic plugin event. +- **Reload** True if SIH reload is required. +- **RemediationNoisyHammerAcLineStatus** Event that indicates the AC Line Status of the machine. +- **RemediationNoisyHammerAutoStartCount** The number of times hammer auto-started. +- **RemediationNoisyHammerCalendarTaskEnabled** Event that indicates Update Assistant Calendar Task is enabled. +- **RemediationNoisyHammerCalendarTaskExists** Event that indicates an Update Assistant Calendar Task exists. +- **RemediationNoisyHammerCalendarTaskTriggerEnabledCount** Event that indicates calendar triggers are enabled in the task. +- **RemediationNoisyHammerDaysSinceLastTaskRunTime** The number of days since the most recent hammer task ran. +- **RemediationNoisyHammerGetCurrentSize** Size in MB of the $GetCurrent folder. +- **RemediationNoisyHammerIsInstalled** TRUE if the noisy hammer is installed. +- **RemediationNoisyHammerLastTaskRunResult** The result of the last hammer task run. +- **RemediationNoisyHammerMeteredNetwork** TRUE if the machine is on a metered network. +- **RemediationNoisyHammerTaskEnabled** Indicates whether the Update Assistant Task (Noisy Hammer) is enabled. +- **RemediationNoisyHammerTaskExists** Indicates whether the Update Assistant Task (Noisy Hammer) exists. +- **RemediationNoisyHammerTaskTriggerEnabledCount** Indicates whether counting is enabled for the Update Assistant (Noisy Hammer) task trigger. +- **RemediationNoisyHammerUAExitCode** The exit code of the Update Assistant (Noisy Hammer) task. +- **RemediationNoisyHammerUAExitState** The code for the exit state of the Update Assistant (Noisy Hammer) task. +- **RemediationNoisyHammerUserLoggedIn** TRUE if there is a user logged in. +- **RemediationNoisyHammerUserLoggedInAdmin** TRUE if there is the user currently logged in is an Admin. +- **RemediationShellDeviceManaged** TRUE if the device is WSUS managed or Windows Updated disabled. +- **RemediationShellDeviceNewOS** TRUE if the device has a recently installed OS. +- **RemediationShellDeviceSccm** TRUE if the device is managed by SCCM (Microsoft System Center Configuration Manager). +- **RemediationShellDeviceZeroExhaust** TRUE if the device has opted out of Windows Updates completely. +- **RemediationTargetMachine** Indicates whether the device is a target of the specified fix. +- **RemediationTaskHealthAutochkProxy** True/False based on the health of the AutochkProxy task. +- **RemediationTaskHealthChkdskProactiveScan** True/False based on the health of the Check Disk task. +- **RemediationTaskHealthDiskCleanup_SilentCleanup** True/False based on the health of the Disk Cleanup task. +- **RemediationTaskHealthMaintenance_WinSAT** True/False based on the health of the Health Maintenance task. +- **RemediationTaskHealthServicing_ComponentCleanupTask** True/False based on the health of the Health Servicing Component task. +- **RemediationTaskHealthUSO_ScheduleScanTask** True/False based on the health of the USO (Update Session Orchestrator) Schedule task. +- **RemediationTaskHealthWindowsUpdate_ScheduledStartTask** True/False based on the health of the Windows Update Scheduled Start task. +- **RemediationTaskHealthWindowsUpdate_SihbootTask** True/False based on the health of the Sihboot task. +- **RemediationUHServiceBitsServiceEnabled** Indicates whether BITS service is enabled. +- **RemediationUHServiceDeviceInstallEnabled** Indicates whether Device Install service is enabled. +- **RemediationUHServiceDoSvcServiceEnabled** Indicates whether DO service is enabled. +- **RemediationUHServiceDsmsvcEnabled** Indicates whether DSMSVC service is enabled. +- **RemediationUHServiceLicensemanagerEnabled** Indicates whether License Manager service is enabled. +- **RemediationUHServiceMpssvcEnabled** Indicates whether MPSSVC service is enabled. +- **RemediationUHServiceTokenBrokerEnabled** Indicates whether Token Broker service is enabled. +- **RemediationUHServiceTrustedInstallerServiceEnabled** Indicates whether Trusted Installer service is enabled. +- **RemediationUHServiceUsoServiceEnabled** Indicates whether USO (Update Session Orchestrator) service is enabled. +- **RemediationUHServicew32timeServiceEnabled** Indicates whether W32 Time service is enabled. +- **RemediationUHServiceWecsvcEnabled** Indicates whether WECSVC service is enabled. +- **RemediationUHServiceWinmgmtEnabled** Indicates whether WMI service is enabled. +- **RemediationUHServiceWpnServiceEnabled** Indicates whether WPN service is enabled. +- **RemediationUHServiceWuauservServiceEnabled** Indicates whether WUAUSERV service is enabled. +- **Result** This is the HRESULT for Detection or Perform Action phases of the plugin. +- **RunAppraiserFailed** Indicates RunAppraiser failed to run correctly. +- **RunTask** TRUE if SIH task should be run by the plug-in. +- **TimeServiceNTPServer** The URL for the NTP time server used by device. +- **TimeServiceStartType** The startup type for the NTP time service. +- **TimeServiceSyncDomainJoined** True if device domain joined and hence uses DC for clock. +- **TimeServiceSyncType** Type of sync behavior for Date & Time service on device. + + +### Microsoft.Windows.Remediation.ChangePowerProfileDetection + +Indicates whether the remediation system can put in a request to defer a system-initiated sleep to enable installation of security or quality updates. + +The following fields are available: + +- **ActionName** A descriptive name for the plugin action +- **CurrentPowerPlanGUID** The ID of the current power plan configured on the device +- **CV** Correlation vector +- **GlobalEventCounter** Counter that indicates the ordering of events on the device +- **PackageVersion** Current package version of remediation service +- **RemediationBatteryPowerBatteryLevel** Integer between 0 and 100 indicating % battery power remaining (if not on battery, expect 0) +- **RemediationFUInProcess** Result that shows whether the device is currently installing a feature update +- **RemediationFURebootRequred** Indicates that a feature update reboot required was detected so the plugin will exit. +- **RemediationScanInProcess** Result that shows whether the device is currently scanning for updates +- **RemediationTargetMachine** Result that shows whether this device is a candidate for remediation(s) that will fix update issues +- **SetupMutexAvailable** Result that shows whether setup mutex is available or not +- **SysPowerStatusAC** Result that shows whether system is on AC power or not + + +### Microsoft.Windows.Remediation.Completed + +This event enables completion tracking of a process that remediates issues preventing security and quality updates. + +The following fields are available: + +- **ActionName** Name of the action to be completed by the plug-in. +- **AppraiserTaskCreationFailed** TRUE if the appraiser task creation failed to complete successfully. +- **AppraiserTaskDeleteFailed** TRUE if deletion of appraiser task failed to complete successfully. +- **AppraiserTaskExistFailed** TRUE if detection of the appraiser task failed to complete successfully. +- **AppraiserTaskLoadXmlFailed** TRUE if the Appraiser XML Loader failed to complete successfully. +- **AppraiserTaskMissing** TRUE if the Appraiser task is missing. +- **AppraiserTaskTimeTriggerUpdateFailedId** TRUE if the Appraiser Task Time Trigger failed to update successfully. +- **AppraiserTaskValidateTaskXmlFailed** TRUE if the Appraiser Task XML failed to complete successfully. +- **branchReadinessLevel** Branch readiness level policy. +- **cloudControlState** Value indicating whether the shell is enabled on the cloud control settings. +- **CrossedDiskSpaceThreshold** Indicates if cleanup resulted in hard drive usage threshold required for feature update to be exceeded. +- **CV** The Correlation Vector. +- **DateTimeDifference** The difference between the local and reference clocks. +- **DaysSinceOsInstallation** The number of days since the installation of the Operating System. +- **DiskMbCleaned** The amount of space cleaned on the hard disk, measured in Megabytes. +- **DiskMbFreeAfterCleanup** The amount of free hard disk space after cleanup, measured in Megabytes. +- **DiskMbFreeBeforeCleanup** The amount of free hard disk space before cleanup, measured in Megabytes. +- **ForcedAppraiserTaskTriggered** TRUE if Appraiser task ran from the plug-in. +- **GlobalEventCounter** Client-side counter that indicates ordering of events sent by the active user. +- **HandlerCleanupFreeDiskInMegabytes** The amount of hard disk space cleaned by the storage sense handlers, measured in Megabytes. +- **hasRolledBack** Indicates whether the client machine has rolled back. +- **hasUninstalled** Indicates whether the client machine has uninstalled a later version of the OS. +- **hResult** The result of the event execution. +- **HResult** The result of the event execution. +- **installDate** The value of installDate registry key. Indicates the install date. +- **isNetworkMetered** Indicates whether the client machine has uninstalled a later version of the OS. +- **LatestState** The final state of the plug-in component. +- **MicrosoftCompatibilityAppraiser** The name of the component targeted by the Appraiser plug-in. +- **PackageVersion** The package version for the current Remediation. +- **PageFileCount** The number of Windows Page files. +- **PageFileCurrentSize** The size of the Windows Page file, measured in Megabytes. +- **PageFileLocation** The storage location (directory path) of the Windows Page file. +- **PageFilePeakSize** The maximum amount of hard disk space used by the Windows Page file, measured in Megabytes. +- **PluginName** The name of the plug-in specified for each generic plug-in event. +- **RanCleanup** TRUE if the plug-in ran disk cleanup. +- **RemediationBatteryPowerBatteryLevel** Indicates the battery level at which it is acceptable to continue operation. +- **RemediationBatteryPowerExitDueToLowBattery** True when we exit due to low battery power. +- **RemediationBatteryPowerOnBattery** True if we allow execution on battery. +- **RemediationConfigurationTroubleshooterExecuted** True/False based on whether the Remediation Configuration Troubleshooter executed successfully. +- **RemediationConfigurationTroubleshooterIpconfigFix** TRUE if IPConfig Fix completed successfully. +- **RemediationConfigurationTroubleshooterNetShFix** TRUE if network card cache reset ran successfully. +- **RemediationDiskCleanSizeBtWindowsFolderInMegabytes** The size of the Windows BT folder (used to store Windows upgrade files), measured in Megabytes. +- **RemediationDiskCleanupBTFolderEsdSizeInMB** The size of the Windows BT folder (used to store Windows upgrade files) ESD (Electronic Software Delivery), measured in Megabytes. +- **RemediationDiskCleanupGetCurrentEsdSizeInMB** The size of any existing ESD (Electronic Software Delivery) folder, measured in Megabytes. +- **RemediationDiskCleanupSearchFileSizeInMegabytes** The size of the Cleanup Search index file, measured in Megabytes. +- **RemediationDiskCleanupUpdateAssistantSizeInMB** The size of the Update Assistant folder, measured in Megabytes. +- **RemediationDoorstopChangeSucceeded** TRUE if Doorstop registry key was successfully modified. +- **RemediationDoorstopExists** TRUE if there is a One Settings Doorstop value. +- **RemediationDoorstopRegkeyError** TRUE if an error occurred accessing the Doorstop registry key. +- **RemediationDRFKeyDeleteSucceeded** TRUE if the RecoveredFrom (Doorstop) registry key was successfully deleted. +- **RemediationDUABuildNumber** The build number of the DUA. +- **RemediationDUAKeyDeleteSucceeded** TRUE if the UninstallActive registry key was successfully deleted. +- **RemediationDuplicateTokenSucceeded** TRUE if the user token was successfully duplicated. +- **remediationExecution** Remediation shell is in "applying remediation" state. +- **RemediationHibernationMigrated** TRUE if hibernation was migrated. +- **RemediationHibernationMigrationSucceeded** TRUE if hibernation migration succeeded. +- **RemediationImpersonateUserSucceeded** TRUE if the user was successfully impersonated. +- **RemediationNoisyHammerTaskKickOffIsSuccess** TRUE if the NoisyHammer task started successfully. +- **RemediationQueryTokenSucceeded** TRUE if the user token was successfully queried. +- **RemediationRanHibernation** TRUE if the system entered Hibernation. +- **RemediationRevertToSystemSucceeded** TRUE if reversion to the system context succeeded. +- **RemediationShellHasUpgraded** TRUE if the device upgraded. +- **RemediationShellMinimumTimeBetweenShellRuns** Indicates the time between shell runs exceeded the minimum required to execute plugins. +- **RemediationShellRunFromService** TRUE if the shell driver was run from the service. +- **RemediationShellSessionIdentifier** Unique identifier tracking a shell session. +- **RemediationShellSessionTimeInSeconds** Indicates the time the shell session took in seconds. +- **RemediationShellTaskDeleted** Indicates that the shell task has been deleted so no additional sediment pack runs occur for this installation. +- **RemediationUpdateServiceHealthRemediationResult** The result of the Update Service Health plug-in. +- **RemediationUpdateTaskHealthRemediationResult** The result of the Update Task Health plug-in. +- **RemediationUpdateTaskHealthTaskList** A list of tasks fixed by the Update Task Health plug-in. +- **RemediationWindowsLogSpaceFound** The size of the Windows log files found, measured in Megabytes. +- **RemediationWindowsLogSpaceFreed** The amount of disk space freed by deleting the Windows log files, measured in Megabytes. +- **RemediationWindowsSecondaryDriveFreeSpace** The amount of free space on the secondary drive, measured in Megabytes. +- **RemediationWindowsSecondaryDriveLetter** The letter designation of the first secondary drive with a total capacity of 10GB or more. +- **RemediationWindowsSecondaryDriveTotalSpace** The total storage capacity of the secondary drive, measured in Megabytes. +- **RemediationWindowsTotalSystemDiskSize** The total storage capacity of the System Disk Drive, measured in Megabytes. +- **Result** The HRESULT for Detection or Perform Action phases of the plug-in. +- **RunResult** The HRESULT for Detection or Perform Action phases of the plug-in. +- **ServiceHealthPlugin** The nae of the Service Health plug-in. +- **StartComponentCleanupTask** TRUE if the Component Cleanup task started successfully. +- **systemDriveFreeDiskSpace** Indicates the free disk space on system drive in MBs. +- **systemUptimeInHours** Indicates the amount of time the system in hours has been on since the last boot. +- **TotalSizeofOrphanedInstallerFilesInMegabytes** The size of any orphaned Windows Installer files, measured in Megabytes. +- **TotalSizeofStoreCacheAfterCleanupInMegabytes** The size of the Windows Store cache after cleanup, measured in Megabytes. +- **TotalSizeofStoreCacheBeforeCleanupInMegabytes** The size of the Windows Store cache (prior to cleanup), measured in Megabytes. +- **uninstallActive** TRUE if previous uninstall has occurred for current OS +- **usoScanDaysSinceLastScan** The number of days since the last USO (Update Session Orchestrator) scan. +- **usoScanInProgress** TRUE if a USO (Update Session Orchestrator) scan is in progress, to prevent multiple simultaneous scans. +- **usoScanIsAllowAutoUpdateKeyPresent** TRUE if the AllowAutoUpdate registry key is set. +- **usoScanIsAllowAutoUpdateProviderSetKeyPresent** TRUE if AllowAutoUpdateProviderSet registry key is set. +- **usoScanIsAuOptionsPresent** TRUE if Auto Update Options registry key is set. +- **usoScanIsFeatureUpdateInProgress** TRUE if a USO (Update Session Orchestrator) scan is in progress, to prevent multiple simultaneous scans. +- **usoScanIsNetworkMetered** TRUE if the device is currently connected to a metered network. +- **usoScanIsNoAutoUpdateKeyPresent** TRUE if no Auto Update registry key is set/present. +- **usoScanIsUserLoggedOn** TRUE if the user is logged on. +- **usoScanPastThreshold** TRUE if the most recent USO (Update Session Orchestrator) scan is past the threshold (late). +- **usoScanType** The type of USO (Update Session Orchestrator) scan: "Interactive" or "Background". +- **windows10UpgraderBlockWuUpdates** Event to report the value of Windows 10 Upgrader BlockWuUpdates Key. +- **windowsEditionId** Event to report the value of Windows Edition ID. +- **WindowsHyberFilSysSizeInMegabytes** The size of the Windows Hibernation file, measured in Megabytes. +- **WindowsInstallerFolderSizeInMegabytes** The size of the Windows Installer folder, measured in Megabytes. +- **WindowsOldFolderSizeInMegabytes** The size of the Windows.OLD folder, measured in Megabytes. +- **WindowsOldSpaceCleanedInMB** The amount of disk space freed by removing the Windows.OLD folder, measured in Megabytes. +- **WindowsPageFileSysSizeInMegabytes** The size of the Windows Page file, measured in Megabytes. +- **WindowsSoftwareDistributionFolderSizeInMegabytes** The size of the SoftwareDistribution folder, measured in Megabytes. +- **WindowsSwapFileSysSizeInMegabytes** The size of the Windows Swap file, measured in Megabytes. +- **WindowsSxsFolderSizeInMegabytes** The size of the WinSxS (Windows Side-by-Side) folder, measured in Megabytes. +- **WindowsSxsTempFolderSizeInMegabytes** The size of the WinSxS (Windows Side-by-Side) Temp folder, measured in Megabytes. +- **windowsUpgradeRecoveredFromRs4** Event to report the value of the Windows Upgrade Recovered key. + + +### Microsoft.Windows.Remediation.RemediationShellMainExeEventId + +Enables tracking of completion of process that remediates issues preventing security and quality updates. + +The following fields are available: + +- **CV** Client side counter which indicates ordering of events sent by the remediation system. +- **GlobalEventCounter** Client side counter which indicates ordering of events sent by the remediation system. +- **PackageVersion** Current package version of Remediation. +- **RemediationShellCanAcquireSedimentMutex** True if the remediation was able to acquire the sediment mutex. False if it is already running. +- **RemediationShellExecuteShellResult** Indicates if the remediation system completed without errors. +- **RemediationShellFoundDriverDll** Result whether the remediation system found its component files to run properly. +- **RemediationShellLoadedShellDriver** Result whether the remediation system loaded its component files to run properly. +- **RemediationShellLoadedShellFunction** Result whether the remediation system loaded the functions from its component files to run properly. + + +### Microsoft.Windows.Remediation.Started + +This event reports whether a plug-in started, to help ensure Windows is up to date. + +The following fields are available: + +- **CV** Correlation vector. +- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this user. +- **PackageVersion** Current package version of Remediation. +- **PluginName** Name of the plugin specified for each generic plugin event. +- **Result** This is the HRESULT for detection or perform action phases of the plugin. + + +### Microsoft.Windows.SedimentLauncher.Applicable + +Indicates whether a given plugin is applicable. + +The following fields are available: + +- **CV** Correlation vector. +- **DetectedCondition** Boolean true if detect condition is true and perform action will be run. +- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this user. +- **IsSelfUpdateEnabledInOneSettings** True if self update enabled in Settings. +- **IsSelfUpdateNeeded** True if self update needed by device. +- **PackageVersion** Current package version of Remediation. +- **PluginName** Name of the plugin specified for each generic plugin event. +- **Result** This is the HRESULT for detection or perform action phases of the plugin. + + +### Microsoft.Windows.SedimentLauncher.Completed + +Indicates whether a given plugin has completed its work. + +The following fields are available: + +- **CV** Correlation vector. +- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this user. +- **PackageVersion** Current package version of Remediation. +- **PluginName** Name of the plugin specified for each generic plugin event. +- **Result** This is the HRESULT for detection or perform action phases of the plugin. +- **SedLauncherExecutionResult** HRESULT for one execution of the Sediment Launcher. + + +### Microsoft.Windows.SedimentLauncher.Started + +This event indicates that a given plug-in has started. + +The following fields are available: + +- **CV** Correlation vector. +- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this user. +- **PackageVersion** Current package version of Remediation. +- **PluginName** Name of the plugin specified for each generic plugin event. +- **Result** This is the HRESULT for detection or perform action phases of the plugin. + + +### Microsoft.Windows.SedimentService.Applicable + +This event indicates whether a given plug-in is applicable. + +The following fields are available: + +- **CV** Correlation vector. +- **DetectedCondition** Determine whether action needs to run based on device properties. +- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this user. +- **PackageVersion** Current package version of Remediation. +- **PluginName** Name of the plugin. +- **Result** This is the HRESULT for detection or perform action phases of the plugin. + + +### Microsoft.Windows.SedimentService.Completed + +This event indicates whether a given plug-in has completed its work. + +The following fields are available: + +- **CV** Correlation vector. +- **FailedReasons** List of reasons when the plugin action failed. +- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this user. +- **PackageVersion** Current package version of Remediation. +- **PluginName** Name of the plugin specified for each generic plugin event. +- **Result** This is the HRESULT for detection or perform action phases of the plugin. +- **SedimentServiceCheckTaskFunctional** True/False if scheduled task check succeeded. +- **SedimentServiceCurrentBytes** Number of current private bytes of memory consumed by sedsvc.exe. +- **SedimentServiceKillService** True/False if service is marked for kill (Shell.KillService). +- **SedimentServiceMaximumBytes** Maximum bytes allowed for the service. +- **SedimentServiceRetrievedKillService** True/False if result of One Settings check for kill succeeded - we only send back one of these indicators (not for each call). +- **SedimentServiceStopping** True/False indicating whether the service is stopping. +- **SedimentServiceTaskFunctional** True/False if scheduled task is functional. If task is not functional this indicates plugins will be run. +- **SedimentServiceTotalIterations** Number of 5 second iterations service will wait before running again. + + +### Microsoft.Windows.SedimentService.Started + +This event indicates a specified plug-in has started. This information helps ensure Windows is up to date. + +The following fields are available: + +- **CV** The Correlation Vector. +- **GlobalEventCounter** The client-side counter that indicates ordering of events. +- **PackageVersion** The version number of the current remediation package. +- **PluginName** Name of the plugin specified for each generic plugin event. +- **Result** This is the HRESULT for Detection or Perform Action phases of the plugin. + + +### Microsoft.Xbox.XamTelemetry.AppActivationError + +This event indicates whether the system detected an activation error in the app. + + + +### Microsoft.Xbox.XamTelemetry.AppActivity + +This event is triggered whenever the current app state is changed by: launch, switch, terminate, snap, etc. + +The following fields are available: + +- **AppActionId** The ID of the application action. +- **AppCurrentVisibilityState** The ID of the current application visibility state. +- **AppId** The Xbox LIVE Title ID of the app. +- **AppPackageFullName** The full name of the application package. +- **AppPreviousVisibilityState** The ID of the previous application visibility state. +- **AppSessionId** The application session ID. +- **AppType** The type ID of the application (AppType_NotKnown, AppType_Era, AppType_Sra, AppType_Uwa). +- **BCACode** The BCA (Burst Cutting Area) mark code of the optical disc used to launch the application. +- **DurationMs** The amount of time (in milliseconds) since the last application state transition. +- **IsTrialLicense** This boolean value is TRUE if the application is on a trial license. +- **LicenseType** The type of licensed used to authorize the app (0 - Unknown, 1 - User, 2 - Subscription, 3 - Offline, 4 - Disc). +- **LicenseXuid** If the license type is 1 (User), this field contains the XUID (Xbox User ID) of the registered owner of the license. +- **ProductGuid** The Xbox product GUID (Globally-Unique ID) of the application. +- **UserId** The XUID (Xbox User ID) of the current user. + + ## Privacy consent logging events ### Microsoft.Windows.Shell.PrivacyConsentLogging.PrivacyConsentCompleted @@ -3467,6 +4210,54 @@ The following fields are available: ## Sediment events +### Microsoft.Windows.Sediment.Info.DetailedState + +This event is sent when detailed state information is needed from an update trial run. + +The following fields are available: + +- **Data** Data relevant to the state, such as what percent of disk space the directory takes up. +- **Id** Identifies the trial being run, such as a disk related trial. +- **ReleaseVer** The version of the component. +- **State** The state of the reporting data from the trial, such as the top-level directory analysis. +- **Time** The time the event was fired. + + +### Microsoft.Windows.Sediment.Info.Error + +This event indicates an error in the updater payload. This information assists in keeping Windows up to date. + + + +### Microsoft.Windows.Sediment.OSRSS.CheckingOneSettings + +This event indicates the parameters that the Operating System Remediation System Service (OSRSS) uses for a secure ping to Microsoft to help ensure Windows is up to date. + +The following fields are available: + +- **CustomVer** The registry value for targeting. +- **IsMetered** TRUE if the machine is on a metered network. +- **LastVer** The version of the last successful run. +- **ServiceVersionMajor** The Major version information of the component. +- **ServiceVersionMinor** The Minor version information of the component. +- **Time** The system time at which the event occurred. + + +### Microsoft.Windows.Sediment.OSRSS.Error + +This event indicates an error occurred in the Operating System Remediation System Service (OSRSS). The information provided helps ensure future upgrade/update attempts are more successful. + +The following fields are available: + +- **FailureType** The type of error encountered. +- **FileName** The code file in which the error occurred. +- **HResult** The failure error code. +- **LineNumber** The line number in the code file at which the error occurred. +- **ServiceVersionMajor** The Major version information of the component. +- **ServiceVersionMinor** The Minor version information of the component. +- **Time** The system time at which the event occurred. + + ### Microsoft.Windows.Sediment.OSRSS.UrlState This event indicates the state the Operating System Remediation System Service (OSRSS) is in while attempting a download from the URL. @@ -3483,6 +4274,32 @@ The following fields are available: ## Setup events +### SetupPlatformTel.SetupPlatformTelActivityEvent + +This event sends basic metadata about the SetupPlatform update installation process, to help keep Windows up to date. + +The following fields are available: + +- **FieldName** Retrieves the event name/data point. Examples: InstallStartTime, InstallEndtime, OverallResult etc. +- **GroupName** Retrieves the groupname the event belongs to. Example: Install Information, DU Information, Disk Space Information etc. +- **Value** Value associated with the corresponding event name. For example, time-related events will include the system time + + +### SetupPlatformTel.SetupPlatformTelActivityStarted + +This event sends basic metadata about the update installation process generated by SetupPlatform to help keep Windows up to date. + +The following fields are available: + +- **Name** The name of the dynamic update type. Example: GDR driver + + +### SetupPlatformTel.SetupPlatformTelActivityStopped + +This event sends basic metadata about the update installation process generated by SetupPlatform to help keep Windows up to date. + + + ### SetupPlatformTel.SetupPlatformTelEvent This service retrieves events generated by SetupPlatform, the engine that drives the various deployment scenarios. @@ -3961,14 +4778,31 @@ The following fields are available: - **SignatureAlgorithm** Hash algorithm for the metadata signature - **SLSPrograms** A test program a machine may be opted in. Examples include "Canary" and "Insider Fast". - **StatusCode** Result code of the event (success, cancellation, failure code HResult) -- **TimestampTokenCertThumbprint** The thumbprint of the encoded timestamp token. +- **TimestampTokenCertThumbprint** Thumbprint of the encoded timestamp token. - **TimestampTokenId** Created time encoded in the timestamp blob. This will be zeroed if the token is itself malformed and decoding failed. - **UpdateId** Identifier associated with the specific piece of content -- **ValidityWindowInDays** The validity window that's in effect when verifying the timestamp. +- **ValidityWindowInDays** Validity window in effect when verifying the timestamp ## Update events +### Update360Telemetry.Revert + +This event sends data relating to the Revert phase of updating Windows. + +The following fields are available: + +- **ErrorCode** The error code returned for the Revert phase. +- **FlightId** Unique ID for the flight (test instance version). +- **ObjectId** The unique value for each Update Agent mode. +- **RebootRequired** Indicates reboot is required. +- **RelatedCV** The correlation vector value generated from the latest USO (Update Service Orchestrator) scan. +- **Result** The HResult of the event. +- **ScenarioId** The ID of the update scenario. +- **SessionId** The ID of the update attempt. +- **UpdateId** The ID of the update. + + ### Update360Telemetry.UpdateAgentCommit This event collects information regarding the commit phase of the new Unified Update Platform (UUP) update scenario, which is leveraged by both Mobile and Desktop. @@ -4104,6 +4938,52 @@ The following fields are available: - **UpdateId** Unique ID for each update. +### Update360Telemetry.UpdateAgentMitigationResult + +This event sends data indicating the result of each update agent mitigation. + +The following fields are available: + +- **Applicable** Indicates whether the mitigation is applicable for the current update. +- **CommandCount** The number of command operations in the mitigation entry. +- **CustomCount** The number of custom operations in the mitigation entry. +- **FileCount** The number of file operations in the mitigation entry. +- **FlightId** Unique identifier for each flight. +- **Index** The mitigation index of this particular mitigation. +- **MitigationScenario** The update scenario in which the mitigation was executed. +- **Name** The friendly name of the mitigation. +- **ObjectId** Unique value for each Update Agent mode. +- **OperationIndex** The mitigation operation index (in the event of a failure). +- **OperationName** The friendly name of the mitigation operation (in the event of failure). +- **RegistryCount** The number of registry operations in the mitigation entry. +- **RelatedCV** The correlation vector value generated from the latest USO scan. +- **Result** The HResult of this operation. +- **ScenarioId** The update agent scenario ID. +- **SessionId** Unique value for each update attempt. +- **TimeDiff** The amount of time spent performing the mitigation (in 100-nanosecond increments). +- **UpdateId** Unique ID for each Update. + + +### Update360Telemetry.UpdateAgentMitigationSummary + +This event sends a summary of all the update agent mitigations available for an this update. + +The following fields are available: + +- **Applicable** The count of mitigations that were applicable to the system and scenario. +- **Failed** The count of mitigations that failed. +- **FlightId** Unique identifier for each flight. +- **MitigationScenario** The update scenario in which the mitigations were attempted. +- **ObjectId** The unique value for each Update Agent mode. +- **RelatedCV** The correlation vector value generated from the latest USO scan. +- **Result** The HResult of this operation. +- **ScenarioId** The update agent scenario ID. +- **SessionId** Unique value for each update attempt. +- **TimeDiff** The amount of time spent performing all mitigations (in 100-nanosecond increments). +- **Total** Total number of mitigations that were available. +- **UpdateId** Unique ID for each update. + + ### Update360Telemetry.UpdateAgentModeStart This event sends data for the start of each mode during the process of updating Windows via the new Unified Update Platform (UUP) scenario. Applicable to both PCs and Mobile. @@ -4120,6 +5000,24 @@ The following fields are available: - **Version** Version of update +### Update360Telemetry.UpdateAgentOneSettings + +This event collects information regarding the post reboot phase of the new UUP (Unified Update Platform) update scenario; which is leveraged by both Mobile and Desktop. + +The following fields are available: + +- **Count** The count of applicable OneSettings for the device. +- **FlightId** Unique ID for the flight (test instance version). +- **ObjectId** The unique value for each Update Agent mode. +- **Parameters** The set of name value pair parameters sent to OneSettings to determine if there are any applicable OneSettings. +- **RelatedCV** The correlation vector value generated from the latest USO (Update Service Orchestrator) scan. +- **Result** The HResult of the event. +- **ScenarioId** The ID of the update scenario. +- **SessionId** The ID of the update attempt. +- **UpdateId** The ID of the update. +- **Values** The values sent back to the device, if applicable. + + ### Update360Telemetry.UpdateAgentPostRebootResult This event collects information for both Mobile and Desktop regarding the post reboot phase of the new Unified Update Platform (UUP) update scenario. @@ -4136,6 +5034,12 @@ The following fields are available: - **UpdateId** Unique ID for each update. +### Update360Telemetry.UpdateAgentReboot + +This event sends information indicating that a request has been sent to suspend an update. + + + ### Update360Telemetry.UpdateAgentSetupBoxLaunch The UpdateAgent_SetupBoxLaunch event sends data for the launching of the setup box when updating Windows via the new Unified Update Platform (UUP) scenario. This event is only applicable to PCs. @@ -4185,7 +5089,7 @@ The following fields are available: - **key19** UI interaction data - **key2** Interaction data for the UI - **key20** UI interaction data -- **key21** Interaction data for the UI +- **key21** UI interaction data - **key22** UI interaction data - **key23** UI interaction data - **key24** UI interaction data @@ -4197,10 +5101,10 @@ The following fields are available: - **key3** Interaction data for the UI - **key30** UI interaction data - **key4** Interaction data for the UI -- **key5** UI interaction data -- **key6** UI interaction data -- **key7** Interaction data for the UI -- **key8** Interaction data for the UI +- **key5** UI interaction type +- **key6** Current package version of UNP +- **key7** UI interaction type +- **key8** UI interaction data - **key9** UI interaction data - **PackageVersion** Current package version of the update notification. - **schema** UI interaction type. @@ -4314,6 +5218,7 @@ The following fields are available: - **DownloadRequestAttributes** The attributes we send to DCAT. - **ResultCode** The result returned from the initialization of Facilitator with the URL/attributes. - **Scenario** Dynamic Update scenario (Image DU, or Setup DU). +- **Url** The Delivery Catalog (DCAT) URL we send the request to. - **Version** Version of Facilitator. @@ -4376,9 +5281,9 @@ The following fields are available: - **Setup360Extended** Detailed information about the phase or action when the potential failure occurred. - **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback. - **Setup360Result** The result of Setup360. This is an HRESULT error code that is used to diagnose errors. -- **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT +- **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT. - **SetupVersionBuildNumber** The build number of Setup360 (build number of target OS). -- **State** Exit state of a Setup360 run. Example: succeeded, failed, blocked, cancelled. +- **State** Exit state of a Setup360 run. Example: succeeded, failed, blocked, cancelled - **TestId** ID that uniquely identifies a group of events. - **WuId** Windows Update client ID. @@ -4524,6 +5429,67 @@ The following fields are available: - **TargetBuild** Build of the target OS. +### Setup360Telemetry.Setup360MitigationResult + +This event sends data indicating the result of each setup mitigation. + +The following fields are available: + +- **Applicable** TRUE if the mitigation is applicable for the current update. +- **ClientId** In the Windows Update scenario, this is the client ID passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. +- **CommandCount** The number of command operations in the mitigation entry. +- **CustomCount** The number of custom operations in the mitigation entry. +- **FileCount** The number of file operations in the mitigation entry. +- **FlightData** The unique identifier for each flight (test release). +- **Index** The mitigation index of this particular mitigation. +- **InstanceId** The GUID (Globally Unique ID) that identifies each instance of SetupHost.EXE. +- **MitigationScenario** The update scenario in which the mitigation was executed. +- **Name** The friendly (descriptive) name of the mitigation. +- **OperationIndex** The mitigation operation index (in the event of a failure). +- **OperationName** The friendly (descriptive) name of the mitigation operation (in the event of failure). +- **RegistryCount** The number of registry operations in the mitigation entry. +- **ReportId** In the Windows Update scenario, the Update ID that is passed to Setup. In media setup, this is the GUID for the INSTALL.WIM. +- **Result** HResult of this operation. +- **ScenarioId** Setup360 flow type. +- **TimeDiff** The amount of time spent performing the mitigation (in 100-nanosecond increments). + + +### Setup360Telemetry.Setup360MitigationSummary + +This event sends a summary of all the setup mitigations available for this update. + +The following fields are available: + +- **Applicable** The count of mitigations that were applicable to the system and scenario. +- **ClientId** The Windows Update client ID passed to Setup. +- **Failed** The count of mitigations that failed. +- **FlightData** The unique identifier for each flight (test release). +- **InstanceId** The GUID (Globally Unique ID) that identifies each instance of SetupHost.EXE. +- **MitigationScenario** The update scenario in which the mitigations were attempted. +- **ReportId** In the Windows Update scenario, the Update ID that is passed to Setup. In media setup, this is the GUID for the INSTALL.WIM. +- **Result** HResult of this operation. +- **ScenarioId** Setup360 flow type. +- **TimeDiff** The amount of time spent performing the mitigation (in 100-nanosecond increments). +- **Total** The total number of mitigations that were available. + + +### Setup360Telemetry.Setup360OneSettings + +This event collects information regarding the post reboot phase of the new UUP (Unified Update Platform) update scenario; which is leveraged by both Mobile and Desktop. + +The following fields are available: + +- **ClientId** The Windows Update client ID passed to Setup. +- **Count** The count of applicable OneSettings for the device. +- **FlightData** The ID for the flight (test instance version). +- **InstanceId** The GUID (Globally-Unique ID) that identifies each instance of setuphost.exe. +- **Parameters** The set of name value pair parameters sent to OneSettings to determine if there are any applicable OneSettings. +- **ReportId** The Update ID passed to Setup. +- **Result** The HResult of the event error. +- **ScenarioId** The update scenario ID. +- **Values** Values sent back to the device, if applicable. + + ### Setup360Telemetry.UnexpectedEvent This event sends data indicating that the device has invoked the unexpected event phase of the upgrade, to help keep Windows up to date. @@ -4538,7 +5504,7 @@ The following fields are available: - **ReportId** With Windows Update, this is the updateID that is passed to Setup. In media setup, this is the GUID for the install.wim. - **Setup360Extended** Detailed information about the phase/action when the potential failure occurred. - **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback. -- **Setup360Result** The result of Setup360. This is an HRESULT error code that can be used to diagnose errors. +- **Setup360Result** The result of Setup360. This is an HRESULT error code that can be used used to diagnose errors. - **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT. - **SetupVersionBuildNumber** The build number of Setup360 (build number of target OS). - **State** The exit state of a Setup360 run. Example: succeeded, failed, blocked, cancelled. @@ -4570,6 +5536,26 @@ The following fields are available: - **versionString** Version of the WaaSMedic engine. +## Windows Error Reporting events + +### Microsoft.Windows.WERVertical.OSCrash + +This event sends binary data from the collected dump file wheneveer a bug check occurs, to help keep Windows up to date. The is the OneCore version of this event. + +The following fields are available: + +- **BootId** Uint32 identifying the boot number for this device. +- **BugCheckCode** Uint64 "bugcheck code" that identifies a proximate cause of the bug check. +- **BugCheckParameter1** Uint64 parameter providing additional information. +- **BugCheckParameter2** Uint64 parameter providing additional information. +- **BugCheckParameter3** Uint64 parameter providing additional information. +- **BugCheckParameter4** Uint64 parameter providing additional information. +- **DumpFileAttributes** Codes that identify the type of data contained in the dump file +- **DumpFileSize** Size of the dump file +- **IsValidDumpFile** True if the dump file is valid for the debugger, false otherwise +- **ReportId** WER Report Id associated with this bug check (used for finding the corresponding report archive in Watson). + + ## Windows Error Reporting MTT events ### Microsoft.Windows.WER.MTT.Denominator @@ -4982,7 +5968,7 @@ The following fields are available: - **current** Result of currency check. - **dismOperationSucceeded** Dism uninstall operation status. -- **hResult** Failure error code. +- **hResult** Failure Error code. - **oSVersion** Build number of the device. - **paused** Indicates whether the device is paused. - **rebootRequestSucceeded** Reboot Configuration Service Provider (CSP) call success status. @@ -5023,7 +6009,7 @@ The following fields are available: - **current** Result of currency check. - **dismOperationSucceeded** Dism uninstall operation status. -- **hResult** Failure error code. +- **hResult** Failure Error code. - **oSVersion** Build number of the device. - **paused** Indicates whether the device is paused. - **rebootRequestSucceeded** Reboot Configuration Service Provider (CSP) call success status. @@ -5058,45 +6044,128 @@ This event sends basic telemetry on the success of the rollback of the Quality/L ## Windows Update Delivery Optimization events -### Microsoft.OSG.DU.DeliveryOptClient.DownloadStarted +### Microsoft.OSG.DU.DeliveryOptClient.DownloadCanceled -This event sends data describing the start of a new download to enable Delivery Optimization. It's used to understand and address problems regarding downloads. +This event describes when a download was canceled with Delivery Optimization. It's used to understand and address problems regarding downloads. The following fields are available: -- **background** Indicates whether the download is happening in the background. -- **bytesRequested** Number of bytes requested for the download. +- **background** Is the download being done in the background? +- **bytesFromCacheServer** Bytes received from a cache host. +- **bytesFromCDN** The number of bytes received from a CDN source. +- **bytesFromGroupPeers** The number of bytes received from a peer in the same group. +- **bytesFromIntPeers** The number of bytes received from peers not in the same LAN or in the same group. +- **bytesFromLocalCache** Bytes copied over from local (on disk) cache. +- **bytesFromPeers** The number of bytes received from a peer in the same LAN. - **callerName** Name of the API caller. -- **cdnUrl** The URL of the source CDN -- **costFlags** A set of flags representing network cost. -- **deviceProfile** Identifies the usage or form factor (such as Desktop, Xbox, or VM). -- **diceRoll** Random number used for determining if a client will use peering. -- **doClientVersion** The version of the Delivery Optimization client. -- **doErrorCode** The Delivery Optimization error code that was returned. -- **downloadMode** The download mode used for this file download session (CdnOnly = 0, Lan = 1, Group = 2, Internet = 3, Simple = 99, Bypass = 100). -- **downloadModeSrc** Source of the DownloadMode setting (KvsProvider = 0, GeoProvider = 1, GeoVerProvider = 2, CpProvider = 3, DiscoveryProvider = 4, RegistryProvider = 5, GroupPolicyProvider = 6, MdmProvider = 7, SettingsProvider = 8, InvalidProviderType = 9). +- **cdnErrorCodes** A list of CDN connection errors since the last FailureCDNCommunication event. +- **cdnErrorCounts** The number of times each error in cdnErrorCodes was encountered. +- **dataSourcesTotal** Bytes received per source type, accumulated for the whole session. - **errorCode** The error code that was returned. -- **experimentId** ID used to correlate client/services calls that are part of the same test during A/B testing. +- **experimentId** When running a test, this is used to correlate events that are part of the same test. - **fileID** The ID of the file being downloaded. -- **filePath** The path to where the downloaded file will be written. -- **fileSize** Total file size of the file that was downloaded. -- **fileSizeCaller** Value for total file size provided by our caller. -- **groupID** ID for the group. -- **isEncrypted** Indicates whether the download is encrypted. -- **isVpn** Indicates whether the device is connected to a Virtual Private Network. -- **jobID** The ID of the Windows Update job. -- **minDiskSizeGB** The minimum disk size (in GB) policy set for the device to allow peering with delivery optimization. -- **minDiskSizePolicyEnforced** Indicates whether there is an enforced minimum disk size requirement for peering. -- **minFileSizePolicy** The minimum content file size policy to allow the download using peering with delivery optimization. -- **peerID** The ID for this delivery optimization client. -- **predefinedCallerName** Name of the API caller. +- **gCurMemoryStreamBytes** Current usage for memory streaming. +- **gMaxMemoryStreamBytes** Maximum usage for memory streaming. +- **isVpn** Indicates whether the device is connected to a VPN (Virtual Private Network). +- **jobID** Identifier for the Windows Update job. +- **predefinedCallerName** The name of the API Caller. +- **reasonCode** Reason the action or event occurred. - **scenarioID** The ID of the scenario. -- **sessionID** The ID for the file download session. -- **setConfigs** A JSON representation of the configurations that have been set, and their sources. +- **sessionID** The ID of the file download session. - **updateID** The ID of the update being downloaded. -- **usedMemoryStream** Indicates whether the download used memory streaming. +- **usedMemoryStream** TRUE if the download is using memory streaming for App downloads. +### Microsoft.OSG.DU.DeliveryOptClient.DownloadCompleted + +This event describes when a download has completed with Delivery Optimization. It's used to understand and address problems regarding downloads. + +The following fields are available: + +- **background** Is the download a background download? +- **bytesFromCacheServer** Bytes received from a cache host. +- **bytesFromCDN** The number of bytes received from a CDN source. +- **bytesFromGroupPeers** The number of bytes received from a peer in the same domain group. +- **bytesFromIntPeers** The number of bytes received from peers not in the same LAN or in the same domain group. +- **bytesFromLocalCache** Bytes copied over from local (on disk) cache. +- **bytesFromPeers** The number of bytes received from a peer in the same LAN. +- **bytesRequested** The total number of bytes requested for download. +- **cacheServerConnectionCount** Number of connections made to cache hosts. +- **callerName** Name of the API caller. +- **cdnConnectionCount** The total number of connections made to the CDN. +- **cdnErrorCodes** A list of CDN connection errors since the last FailureCDNCommunication event. +- **cdnErrorCounts** The number of times each error in cdnErrorCodes was encountered. +- **cdnIp** The IP address of the source CDN. +- **dataSourcesTotal** Bytes received per source type, accumulated for the whole session. +- **doErrorCode** The Delivery Optimization error code that was returned. +- **downlinkBps** The maximum measured available download bandwidth (in bytes per second). +- **downlinkUsageBps** The download speed (in bytes per second). +- **downloadMode** The download mode used for this file download session. +- **downloadModeSrc** Source of the DownloadMode setting (KvsProvider = 0, GeoProvider = 1, GeoVerProvider = 2, CpProvider = 3, DiscoveryProvider = 4, RegistryProvider = 5, GroupPolicyProvider = 6, MdmProvider = 7, SettingsProvider = 8, InvalidProviderType = 9). +- **experimentId** When running a test, this is used to correlate with other events that are part of the same test. +- **fileID** The ID of the file being downloaded. +- **fileSize** The size of the file being downloaded. +- **gCurMemoryStreamBytes** Current usage for memory streaming. +- **gMaxMemoryStreamBytes** Maximum usage for memory streaming. +- **groupConnectionCount** The total number of connections made to peers in the same group. +- **internetConnectionCount** The total number of connections made to peers not in the same LAN or the same group. +- **isEncrypted** TRUE if the file is encrypted and will be decrypted after download. +- **isVpn** Is the device connected to a Virtual Private Network? +- **jobID** Identifier for the Windows Update job. +- **lanConnectionCount** The total number of connections made to peers in the same LAN. +- **numPeers** The total number of peers used for this download. +- **predefinedCallerName** The name of the API Caller. +- **restrictedUpload** Is the upload restricted? +- **scenarioID** The ID of the scenario. +- **sessionID** The ID of the download session. +- **totalTimeMs** Duration of the download (in seconds). +- **updateID** The ID of the update being downloaded. +- **uplinkBps** The maximum measured available upload bandwidth (in bytes per second). +- **uplinkUsageBps** The upload speed (in bytes per second). +- **usedMemoryStream** TRUE if the download is using memory streaming for App downloads. + + +### Microsoft.OSG.DU.DeliveryOptClient.DownloadPaused + +This event represents a temporary suspension of a download with Delivery Optimization. It's used to understand and address problems regarding downloads. + +The following fields are available: + +- **background** Is the download a background download? +- **callerName** The name of the API caller. +- **errorCode** The error code that was returned. +- **experimentId** When running a test, this is used to correlate with other events that are part of the same test. +- **fileID** The ID of the file being paused. +- **isVpn** Is the device connected to a Virtual Private Network? +- **jobID** Identifier for the Windows Update job. +- **predefinedCallerName** The name of the API Caller object. +- **reasonCode** The reason for pausing the download. +- **scenarioID** The ID of the scenario. +- **sessionID** The ID of the download session. +- **updateID** The ID of the update being paused. + +### Microsoft.OSG.DU.DeliveryOptClient.FailureCdnCommunication + +This event represents a failure to download from a CDN with Delivery Optimization. It's used to understand and address problems regarding downloads. + +The following fields are available: + +- **cdnHeaders** The HTTP headers returned by the CDN. +- **cdnIp** The IP address of the CDN. +- **cdnUrl** The URL of the CDN. +- **clientTelId** A random number used for device sampling. +- **errorCode** The error code that was returned. +- **errorCount** The total number of times this error code was seen since the last FailureCdnCommunication event was encountered. +- **experimentId** When running a test, this is used to correlate with other events that are part of the same test. +- **fileID** The ID of the file being downloaded. +- **httpStatusCode** The HTTP status code returned by the CDN. +- **isHeadRequest** The type of HTTP request that was sent to the CDN. Example: HEAD or GET +- **peerType** The type of peer (LAN, Group, Internet, CDN, Cache Host, etc.). +- **requestOffset** The byte offset within the file in the sent request. +- **requestSize** The size of the range requested from the CDN. +- **responseSize** The size of the range response received from the CDN. +- **sessionID** The ID of the download session. + ## Windows Update events ### Microsoft.Windows.Update.DeviceUpdateAgent.UpdateAgentAnalysisSummary @@ -5443,7 +6512,7 @@ The following fields are available: - **displayNeededReason** List of reasons for needing display. - **eventScenario** Indicates the purpose of the event (scan started, succeeded, failed, etc.). -- **filteredDeferReason** Applicable filtered reasons why reboot was postponed (such as user active, or low battery). +- **filteredDeferReason** Applicable filtered reasons why reboot was postponed (such as user active, or low battery).. - **gameModeReason** Name of the executable that caused the game mode state check to start. - **ignoredReason** List of reasons that were intentionally ignored. - **raisedDeferReason** Indicates all potential reasons for postponing restart (such as user active, or low battery). @@ -5462,9 +6531,9 @@ The following fields are available: - **deferReason** Reason why the device could not check for updates. - **detectionBlockingPolicy** State of update action. -- **detectionBlockreason** Reason for blocking detection +- **detectionBlockreason** If we retry to scan - **detectionRetryMode** Indicates whether we will try to scan again. -- **errorCode** Error info +- **errorCode** State of update action - **eventScenario** End-to-end update session ID, or indicates the purpose of sending this event - whether because the software distribution just started installing content, or whether it was cancelled, succeeded, or failed. - **flightID** The specific ID of the Windows Insider build the device is getting. - **interactive** Indicates whether the session was user initiated. @@ -5472,7 +6541,7 @@ The following fields are available: - **revisionNumber** Update revision number. - **scanTriggerSource** Source of the triggered scan. - **updateId** Update ID. -- **updateScenarioType** Source of the triggered scan +- **updateScenarioType** Update Session type - **wuDeviceid** Device ID @@ -5557,7 +6626,7 @@ This event is sent during update scan, download, or install, and indicates that The following fields are available: -- **configVersion** Escalation config version on device . +- **configVersion** Escalation config version on device. - **downloadElapsedTime** Indicates how long since the download is required on device. - **downloadRiskLevel** At-risk level of download phase. - **installElapsedTime** Indicates how long since the install is required on device. @@ -5585,7 +6654,7 @@ This event indicates that the update is no longer applicable to this device. The following fields are available: -- **EventPublishedTime** Time when this event was generated +- **EventPublishedTime** Time when this event was generated. - **flightID** The specific ID of the Windows Insider build. - **revisionNumber** Update revision number. - **updateId** Unique Windows Update ID. @@ -5633,7 +6702,7 @@ The following fields are available: - **deferReason** Reason for install not completing. - **errorCode** The error code reppresented by a hexadecimal value. - **eventScenario** End-to-end update session ID. -- **flightID** The specific ID of the Windows Insider build the device is getting. +- **flightID** Unique update ID - **flightUpdate** Indicates whether the update is a Windows Insider build. - **ForcedRebootReminderSet** A boolean value that indicates if a forced reboot will happen for updates. - **installCommitfailedtime** The time it took for a reboot to happen but the upgrade failed to progress. @@ -5648,6 +6717,31 @@ The following fields are available: - **wuDeviceid** Unique device ID used by Windows Update. +### Microsoft.Windows.Update.Orchestrator.LowUptimes + +This event is sent if a device is identified as not having sufficient uptime to reliably process updates in order to keep secure. + +The following fields are available: + +- **isLowUptimeMachine** Is the machine considered low uptime or not. +- **lowUptimeMinHours** Current setting for the minimum number of hours needed to not be considered low uptime. +- **lowUptimeQueryDays** Current setting for the number of recent days to check for uptime. +- **uptimeMinutes** Number of minutes of uptime measured. +- **wuDeviceid** Unique device ID for Windows Update. + + +### Microsoft.Windows.Update.Orchestrator.OneshotUpdateDetection + +This event returns data about scans initiated through settings UI, or background scans that are urgent; to help keep Windows up to date. + +The following fields are available: + +- **externalOneshotupdate** The last time a task-triggered scan was completed. +- **interactiveOneshotupdate** The last time an interactive scan was completed. +- **oldlastscanOneshotupdate** The last time a scan completed successfully. +- **wuDeviceid** The Windows Update Device GUID (Globally-Unique ID). + + ### Microsoft.Windows.Update.Orchestrator.PostInstall This event is sent after a Windows update install completes. @@ -5723,6 +6817,18 @@ The following fields are available: - **wuDeviceid** Unique device ID used by Windows Update. +### Microsoft.Windows.Update.Orchestrator.RefreshSettings + +This event sends basic data about the version of upgrade settings applied to the system to help keep Windows up to date. + +The following fields are available: + +- **errorCode** Hex code for the error message, to allow lookup of the specific error. +- **settingsDownloadTime** Timestamp of the last attempt to acquire settings. +- **settingsETag** Version identifier for the settings. +- **wuDeviceid** Unique device ID used by Windows Update. + + ### Microsoft.Windows.Update.Orchestrator.RestoreRebootTask This event sends data indicating that a reboot task is missing unexpectedly on a device and the task is restored because a reboot is still required, to help keep Windows up to date. @@ -5819,6 +6925,76 @@ The following fields are available: - **wuDeviceid** Unique device ID used by Windows Update. +### Microsoft.Windows.Update.Orchestrator.updateSettingsFlushFailed + +This event sends information about an update that encountered problems and was not able to complete. + +The following fields are available: + +- **errorCode** The error code encountered. +- **wuDeviceid** The ID of the device in which the error occurred. + + +### Microsoft.Windows.Update.Orchestrator.USODiagnostics + +This event sends data on whether the state of the update attempt, to help keep Windows up to date. + +The following fields are available: + +- **LastApplicableUpdateFoundTime** The time when the last applicable update was found. +- **LastDownloadDeferredReason** The last reason download was deferred. +- **LastDownloadDeferredTime** The time of the download deferral. +- **LastDownloadFailureError** The last download failure. +- **LastDownloadFailureTime** The time of the last download failure. +- **LastInstallCompletedTime** The time when the last successful install completed. +- **LastInstallDeferredReason** The reason the last install was deferred. +- **LastInstallDeferredTime** The time when the last install was deferred. +- **LastInstallFailureError** The error code associated with the last install failure. +- **LastInstallFailureTime** The time when the last install failed to complete. +- **LastRebootDeferredReason** The reason the last reboot was deferred. +- **LastRebootDeferredTime** The time when the last reboot was deferred. +- **LastRebootPendingTime** The time when the last reboot state was set to “Pending”. +- **LastScanDeferredReason** The reason the last scan was deferred. +- **LastScanDeferredTime** The time when the last scan was deferred. +- **LastScanFailureError** The error code for the last scan failure. +- **LastScanFailureTime** The time when the last scan failed. +- **LastUpdateCheckTime** The time of the last update check. +- **LastUpdateDownloadTime** The time when the last update was downloaded. +- **LastUpgradeInstallFailureError** The error code for the last upgrade install failure. +- **LastUpgradeInstallFailureTime** The time of the last upgrade install failure. +- **LowUpTimeDetectTime** The last time “low up-time” was detected. +- **NoLowUpTimeDetectTime** The last time no “low up-time” was detected. +- **RebootRequired** Indicates reboot is required. +- **UpgradeInProgressTime** The amount of time a feature update has been in progress. +- **WaaSFeatureAssessmentDays** The number of days Feature Update Assessment has been out of date. +- **WaaSFeatureAssessmentImpact** The impact of the Feature Update Assessment. +- **WaaSUpToDateAssessmentDays** The number of days Quality Update Assessment has been out of date. +- **WaaSUpToDateAssessmentImpact** The impact of Quality Update Assessment. +- **wuDeviceid** Unique ID for Device + + +### Microsoft.Windows.Update.Ux.MusNotification.EnhancedEngagedRebootUxState + +This event sends information about the configuration of Enhanced Direct-to-Engaged (eDTE), which includes values for the timing of how eDTE will progress through each phase of the reboot. + +The following fields are available: + +- **AcceptAutoModeLimit** The maximum number of days for a device to automatically enter Auto Reboot mode. +- **AutoToAutoFailedLimit** The maximum number of days for Auto Reboot mode to fail before a Reboot Failed dialog will be shown. +- **DeviceLocalTime** The date and time (based on the device date/time settings) the reboot mode changed. +- **EngagedModeLimit** The number of days to switch between DTE (Direct-to-Engaged) dialogs. +- **EnterAutoModeLimit** The maximum number of days a device can enter Auto Reboot mode. +- **ETag** The Entity Tag that represents the OneSettings version. +- **IsForcedEnabled** Identifies whether Forced Reboot mode is enabled for the device. +- **IsUltimateForcedEnabled** Identifies whether Ultimate Forced Reboot mode is enabled for the device. +- **OldestUpdateLocalTime** The date and time (based on the device date/time settings) this update’s reboot began pending. +- **RebootUxState** Identifies the reboot state: Engaged, Auto, Forced, UltimateForced. +- **RebootVersion** The version of the DTE (Direct-to-Engaged). +- **SkipToAutoModeLimit** The maximum number of days to switch to start while in Auto Reboot mode. +- **UpdateId** The ID of the update that is waiting for reboot to finish installation. +- **UpdateRevision** The revision of the update that is waiting for reboot to finish installation. + + ### Microsoft.Windows.Update.Ux.MusNotification.RebootNoLongerNeeded This event is sent when a security update has successfully completed. @@ -5872,6 +7048,25 @@ The following fields are available: - **TaskName** Name of the task +### Microsoft.Windows.Update.Ux.MusUpdateSettings.RebootScheduled + +This event sends basic information for scheduling a device restart to install security updates. It's used to help keep Windows up to date. + +The following fields are available: + +- **activeHoursApplicable** Is the restart respecting Active Hours? +- **IsEnhancedEngagedReboot** TRUE if the reboot path is Enhanced Engaged. Otherwise, FALSE. +- **rebootArgument** The arguments that are passed to the OS for the restarted. +- **rebootOutsideOfActiveHours** Was the restart scheduled outside of Active Hours? +- **rebootScheduledByUser** Was the restart scheduled by the user? If the value is false, the restart was scheduled by the device. +- **rebootState** The state of the restart. +- **revisionNumber** The revision number of the OS being updated. +- **scheduledRebootTime** Time of the scheduled reboot +- **scheduledRebootTimeInUTC** Time of the scheduled restart, in Coordinated Universal Time. +- **updateId** The Windows Update device GUID. +- **wuDeviceid** The Windows Update device GUID. + + ## Windows Update mitigation events ### Mitigation360Telemetry.MitigationCustom.CleanupSafeOsImages @@ -5880,21 +7075,21 @@ This event sends data specific to the CleanupSafeOsImages mitigation used for OS The following fields are available: -- **ClientId** Unique identifier for each flight. -- **FlightId** Unique GUID that identifies each instances of setuphost.exe. -- **InstanceId** The update scenario in which the mitigation was executed. -- **MitigationScenario** Number of mounted images. -- **MountedImageCount** Number of mounted images that were under %systemdrive%\$Windows.~BT. -- **MountedImageMatches** Number of mounted images under %systemdrive%\$Windows.~BT that could not be removed. -- **MountedImagesFailed** Number of mounted images under %systemdrive%\$Windows.~BT that were successfully removed. -- **MountedImagesRemoved** Number of mounted images that were not under %systemdrive%\$Windows.~BT. -- **MountedImagesSkipped** Correlation vector value generated from the latest USO scan. -- **RelatedCV** HResult of this operation. -- **Result** ID indicating the mitigation scenario. -- **ScenarioId** Indicates whether the scenario was supported. -- **ScenarioSupported** Unique value for each update attempt. -- **SessionId** Unique ID for each Update. -- **UpdateId** Unique ID for the Windows Update client. +- **ClientId** In the WU scenario, this will be the WU client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. +- **FlightId** Unique identifier for each flight. +- **InstanceId** Unique GUID that identifies each instances of setuphost.exe. +- **MitigationScenario** The update scenario in which the mitigation was executed. +- **MountedImageCount** Number of mounted images. +- **MountedImageMatches** Number of mounted images that were under %systemdrive%\$Windows.~BT. +- **MountedImagesFailed** Number of mounted images under %systemdrive%\$Windows.~BT that could not be removed. +- **MountedImagesRemoved** Number of mounted images under %systemdrive%\$Windows.~BT that were successfully removed. +- **MountedImagesSkipped** Number of mounted images that were not under %systemdrive%\$Windows.~BT. +- **RelatedCV** Correlation vector value generated from the latest USO scan. +- **Result** HResult of this operation. +- **ScenarioId** ID indicating the mitigation scenario. +- **ScenarioSupported** Indicates whether the scenario was supported. +- **SessionId** Unique value for each update attempt. +- **UpdateId** Unique ID for each Update. - **WuId** Unique ID for the Windows Update client. diff --git a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1809.md b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1809.md index 0755ce1e09..b83547ea2a 100644 --- a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1809.md +++ b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1809.md @@ -9,7 +9,7 @@ ms.pagetype: security localizationpriority: high author: brianlic-msft ms.author: brianlic -ms.date: 10/03/2018 +ms.date: 11/07/2018 --- @@ -20,7 +20,7 @@ ms.date: 10/03/2018 - Windows 10, version 1809 -The Basic level gathers a limited set of information that is critical for understanding the device and its configuration including: basic device information, quality-related information, app compatibility, and Microsoft Store. When the level is set to Basic, it also includes the Security level information. +The Basic level gathers a limited set of information that is critical for understanding the device and its configuration including: basic device information, quality-related information, app compatibility, and Windows Store. When the level is set to Basic, it also includes the Security level information. The Basic level helps to identify problems that can occur on a particular device hardware or software configuration. For example, it can help determine if crashes are more frequent on devices with a specific amount of memory or that are running a particular driver version. This helps Microsoft fix operating system or app problems. @@ -281,7 +281,7 @@ The following fields are available: - **DatasourceApplicationFile_TH1** The count of the number of this particular object type present on this device. - **DatasourceApplicationFile_TH2** The count of the number of this particular object type present on this device. - **DatasourceDevicePnp_RS1** The total DataSourceDevicePnp objects targeting Windows 10 version 1607 on this device. -- **DatasourceDevicePnp_RS2** The count of DatasourceApplicationFile objects present on this machine targeting the next release of Windows +- **DatasourceDevicePnp_RS2** The total DatasourceDevicePnp objects targeting Windows 10 version 1703 present on this device. - **DatasourceDevicePnp_RS3** The total DatasourceDevicePnp objects targeting the next release of Windows on this device. - **DatasourceDevicePnp_RS4** The count of the number of this particular object type present on this device. - **DatasourceDevicePnp_RS4Setup** The count of the number of this particular object type present on this device. @@ -295,7 +295,7 @@ The following fields are available: - **DatasourceDriverPackage_TH1** The count of the number of this particular object type present on this device. - **DatasourceDriverPackage_TH2** The count of the number of this particular object type present on this device. - **DataSourceMatchingInfoBlock_RS1** The total DataSourceMatchingInfoBlock objects targeting Windows 10 version 1607 on this device. -- **DataSourceMatchingInfoBlock_RS2** The count of DatasourceDevicePnp objects present on this machine targeting the next release of Windows +- **DataSourceMatchingInfoBlock_RS2** The total DataSourceMatchingInfoBlock objects targeting Windows 10 version 1703 present on this device. - **DataSourceMatchingInfoBlock_RS3** The total DataSourceMatchingInfoBlock objects targeting the next release of Windows on this device. - **DataSourceMatchingInfoBlock_RS4** The count of the number of this particular object type present on this device. - **DataSourceMatchingInfoBlock_RS4Setup** The count of the number of this particular object type present on this device. @@ -309,7 +309,7 @@ The following fields are available: - **DataSourceMatchingInfoPassive_TH1** The count of the number of this particular object type present on this device. - **DataSourceMatchingInfoPassive_TH2** The count of the number of this particular object type present on this device. - **DataSourceMatchingInfoPostUpgrade_RS1** The total DataSourceMatchingInfoPostUpgrade objects targeting Windows 10 version 1607 on this device. -- **DataSourceMatchingInfoPostUpgrade_RS2** The count of DatasourceDriverPackage objects present on this machine targeting the next release of Windows +- **DataSourceMatchingInfoPostUpgrade_RS2** The total DataSourceMatchingInfoPostUpgrade objects targeting Windows 10 version 1703 present on this device. - **DataSourceMatchingInfoPostUpgrade_RS3** The total DataSourceMatchingInfoPostUpgrade objects targeting the next release of Windows on this device. - **DataSourceMatchingInfoPostUpgrade_RS4** The count of the number of this particular object type present on this device. - **DataSourceMatchingInfoPostUpgrade_RS4Setup** The count of the number of this particular object type present on this device. @@ -330,7 +330,7 @@ The following fields are available: - **DecisionApplicationFile_TH1** The count of the number of this particular object type present on this device. - **DecisionApplicationFile_TH2** The count of the number of this particular object type present on this device. - **DecisionDevicePnp_RS1** The total DecisionDevicePnp objects targeting Windows 10 version 1607 on this device. -- **DecisionDevicePnp_RS2** The count of DataSourceMatchingInfoBlock objects present on this machine targeting the next release of Windows +- **DecisionDevicePnp_RS2** The total DecisionDevicePnp objects targeting Windows 10 version 1703 present on this device. - **DecisionDevicePnp_RS3** The total DecisionDevicePnp objects targeting the next release of Windows on this device. - **DecisionDevicePnp_RS4** The count of the number of this particular object type present on this device. - **DecisionDevicePnp_RS4Setup** The count of the number of this particular object type present on this device. @@ -344,7 +344,7 @@ The following fields are available: - **DecisionDriverPackage_TH1** The count of the number of this particular object type present on this device. - **DecisionDriverPackage_TH2** The count of the number of this particular object type present on this device. - **DecisionMatchingInfoBlock_RS1** The total DecisionMatchingInfoBlock objects targeting Windows 10 version 1607 present on this device. -- **DecisionMatchingInfoBlock_RS2** The count of DataSourceMatchingInfoPassive objects present on this machine targeting the next release of Windows +- **DecisionMatchingInfoBlock_RS2** The total DecisionMatchingInfoBlock objects targeting Windows 10 version 1703 present on this device. - **DecisionMatchingInfoBlock_RS3** The total DecisionMatchingInfoBlock objects targeting the next release of Windows on this device. - **DecisionMatchingInfoBlock_RS4** The count of the number of this particular object type present on this device. - **DecisionMatchingInfoBlock_RS4Setup** The count of the number of this particular object type present on this device. @@ -358,14 +358,14 @@ The following fields are available: - **DecisionMatchingInfoPassive_TH1** The count of the number of this particular object type present on this device. - **DecisionMatchingInfoPassive_TH2** The count of the number of this particular object type present on this device. - **DecisionMatchingInfoPostUpgrade_RS1** The total DecisionMatchingInfoPostUpgrade objects targeting Windows 10 version 1607 on this device. -- **DecisionMatchingInfoPostUpgrade_RS2** The count of DataSourceMatchingInfoPostUpgrade objects present on this machine targeting the next release of Windows +- **DecisionMatchingInfoPostUpgrade_RS2** The total DecisionMatchingInfoPostUpgrade objects targeting Windows 10 version 1703 present on this device. - **DecisionMatchingInfoPostUpgrade_RS3** The total DecisionMatchingInfoPostUpgrade objects targeting the next release of Windows on this device. - **DecisionMatchingInfoPostUpgrade_RS4** The count of the number of this particular object type present on this device. - **DecisionMatchingInfoPostUpgrade_RS4Setup** The count of the number of this particular object type present on this device. - **DecisionMatchingInfoPostUpgrade_TH1** The count of the number of this particular object type present on this device. - **DecisionMatchingInfoPostUpgrade_TH2** The count of the number of this particular object type present on this device. - **DecisionMediaCenter_RS1** The total DecisionMediaCenter objects targeting Windows 10 version 1607 present on this device. -- **DecisionMediaCenter_RS2** The count of DatasourceSystemBios objects present on this machine targeting the next release of Windows +- **DecisionMediaCenter_RS2** The total DecisionMediaCenter objects targeting Windows 10 version 1703 present on this device. - **DecisionMediaCenter_RS3** The total DecisionMediaCenter objects targeting the next release of Windows on this device. - **DecisionMediaCenter_RS4** The count of the number of this particular object type present on this device. - **DecisionMediaCenter_RS4Setup** The count of the number of this particular object type present on this device. @@ -395,7 +395,7 @@ The following fields are available: - **SystemWindowsActivationStatus** The count of the number of this particular object type present on this device. - **SystemWlan** The count of the number of this particular object type present on this device. - **Wmdrm_RS1** An ID for the system, calculated by hashing hardware identifiers. -- **Wmdrm_RS2** The count of InventoryLanguagePack objects present on this machine. +- **Wmdrm_RS2** The total Wmdrm objects targeting Windows 10 version 1703 present on this device. - **Wmdrm_RS3** The total Wmdrm objects targeting the next release of Windows on this device. - **Wmdrm_RS4** The total Wmdrm objects targeting Windows 10, version 1803 present on this device. - **Wmdrm_RS4Setup** The count of the number of this particular object type present on this device. @@ -666,7 +666,7 @@ The following fields are available: ### Microsoft.Windows.Appraiser.General.DecisionApplicationFileRemove -This event indicates that the DecisionApplicationFile object is no longer present. +This event indicates Indicates that the DecisionApplicationFile object is no longer present. This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). @@ -1013,7 +1013,7 @@ The following fields are available: ### Microsoft.Windows.Appraiser.General.InventoryApplicationFileStartSync -This event indicates that a new set of InventoryApplicationFileAdd events will be sent. +This event indicates indicates that a new set of InventoryApplicationFileAdd events will be sent. This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). @@ -1818,14 +1818,18 @@ The following fields are available: - **AdvertisingId** Current state of the advertising ID setting. - **AppDiagnostics** Current state of the app diagnostics setting. - **Appointments** Current state of the calendar setting. +- **AppointmentsSystem** Current state of the calendar setting. - **Bluetooth** Current state of the Bluetooth capability setting. - **BluetoothSync** Current state of the Bluetooth sync capability setting. - **BroadFileSystemAccess** Current state of the broad file system access setting. - **CellularData** Current state of the cellular data capability setting. - **Chat** Current state of the chat setting. +- **ChatSystem** Current state of the chat setting. - **Contacts** Current state of the contacts setting. +- **ContactsSystem** Current state of the Contacts setting. - **DocumentsLibrary** Current state of the documents library setting. - **Email** Current state of the email setting. +- **EmailSystem** Current state of the email setting. - **FindMyDevice** Current state of the "find my device" setting. - **GazeInput** Current state of the gaze input setting. - **HumanInterfaceDevice** Current state of the human interface device setting. @@ -1837,6 +1841,7 @@ The following fields are available: - **Microphone** Current state of the microphone setting. - **PhoneCall** Current state of the phone call setting. - **PhoneCallHistory** Current state of the call history setting. +- **PhoneCallHistorySystem** Current state of the call history setting. - **PicturesLibrary** Current state of the pictures library setting. - **Radios** Current state of the radios setting. - **SensorsCustom** Current state of the custom sensor setting. @@ -1846,6 +1851,7 @@ The following fields are available: - **USB** Current state of the USB setting. - **UserAccountInformation** Current state of the account information setting. - **UserDataTasks** Current state of the tasks setting. +- **UserDataTasksSystem** Current state of the tasks setting. - **UserNotificationListener** Current state of the notifications setting. - **VideosLibrary** Current state of the videos library setting. - **Webcam** Current state of the camera setting. @@ -1979,14 +1985,18 @@ The following fields are available: - **AdvertisingId** Current state of the advertising ID setting. - **AppDiagnostics** Current state of the app diagnostics setting. - **Appointments** Current state of the calendar setting. +- **AppointmentsSystem** Current state of the calendar setting. - **Bluetooth** Current state of the Bluetooth capability setting. - **BluetoothSync** Current state of the Bluetooth sync capability setting. - **BroadFileSystemAccess** Current state of the broad file system access setting. - **CellularData** Current state of the cellular data capability setting. - **Chat** Current state of the chat setting. +- **ChatSystem** Current state of the chat setting. - **Contacts** Current state of the contacts setting. +- **ContactsSystem** Current state of the contacts setting. - **DocumentsLibrary** Current state of the documents library setting. - **Email** Current state of the email setting. +- **EmailSystem** Current state of the email setting. - **GazeInput** Current state of the gaze input setting. - **HumanInterfaceDevice** Current state of the human interface device setting. - **InkTypeImprovement** Current state of the improve inking and typing setting. @@ -1998,6 +2008,7 @@ The following fields are available: - **Microphone** Current state of the microphone setting. - **PhoneCall** Current state of the phone call setting. - **PhoneCallHistory** Current state of the call history setting. +- **PhoneCallHistorySystem** Current state of the call history setting. - **PicturesLibrary** Current state of the pictures library setting. - **Radios** Current state of the radios setting. - **SensorsCustom** Current state of the custom sensor setting. @@ -2007,6 +2018,7 @@ The following fields are available: - **USB** Current state of the USB setting. - **UserAccountInformation** Current state of the account information setting. - **UserDataTasks** Current state of the tasks setting. +- **UserDataTasksSystem** Current state of the tasks setting. - **UserNotificationListener** Current state of the notifications setting. - **VideosLibrary** Current state of the videos library setting. - **Webcam** Current state of the camera setting. @@ -2256,6 +2268,59 @@ The following fields are available: ## Component-based servicing events +### CbsServicingProvider.CbsCapabilityEnumeration + +This event reports on the results of scanning for optional Windows content on Windows Update. + +The following fields are available: + +- **architecture** Indicates the scan was limited to the specified architecture. +- **capabilityCount** The number of optional content packages found during the scan. +- **clientId** The name of the application requesting the optional content. +- **duration** The amount of time it took to complete the scan. +- **hrStatus** The HReturn code of the scan. +- **language** Indicates the scan was limited to the specified language. +- **majorVersion** Indicates the scan was limited to the specified major version. +- **minorVersion** Indicates the scan was limited to the specified minor version. +- **namespace** Indicates the scan was limited to packages in the specified namespace. +- **sourceFilter** A bitmask indicating the scan checked for locally available optional content. +- **stackBuild** The build number of the servicing stack. +- **stackMajorVersion** The major version number of the servicing stack. +- **stackMinorVersion** The minor version number of the servicing stack. +- **stackRevision** The revision number of the servicing stack. + + +### CbsServicingProvider.CbsCapabilitySessionFinalize + +This event provides information about the results of installing or uninstalling optional Windows content from Windows Update. + +The following fields are available: + +- **capabilities** The names of the optional content packages that were installed. +- **clientId** The name of the application requesting the optional content. +- **currentID** The ID of the current install session. +- **highestState** The highest final install state of the optional content. +- **hrLCUReservicingStatus** Indicates whether the optional content was updated to the latest available version. +- **hrStatus** The HReturn code of the install operation. +- **rebootCount** The number of reboots required to complete the install. +- **retryID** The session ID that will be used to retry a failed operation. +- **retryStatus** Indicates whether the install will be retried in the event of failure. +- **stackBuild** The build number of the servicing stack. +- **stackMajorVersion** The major version number of the servicing stack. +- **stackMinorVersion** The minor version number of the servicing stack. +- **stackRevision** The revision number of the servicing stack. + + +### CbsServicingProvider.CbsCapabilitySessionPended + +This event provides information about the results of installing optional Windows content that requires a reboot to keep Windows up to date. + +The following fields are available: + +- **clientId** The name of the application requesting the optional content. +- **pendingDecision** Indicates the cause of reboot, if applicable. + + ### CbsServicingProvider.CbsLateAcquisition This event sends data to indicate if some Operating System packages could not be updated as part of an upgrade, to help keep Windows up to date. @@ -2266,6 +2331,28 @@ The following fields are available: - **RetryID** The ID identifying the retry attempt to update the listed packages. +### CbsServicingProvider.CbsPackageRemoval + +This event provides information about the results of uninstalling a Windows Cumulative Security Update to help keep Windows up to date. + +The following fields are available: + +- **buildVersion** The build number of the security update being uninstalled. +- **clientId** The name of the application requesting the uninstall. +- **currentStateEnd** The final state of the update after the operation. +- **failureDetails** Information about the cause of a failure, if applicable. +- **failureSourceEnd** The stage during the uninstall where the failure occurred. +- **hrStatusEnd** The overall exit code of the operation. +- **initiatedOffline** Indicates if the uninstall was initiated for a mounted Windows image. +- **majorVersion** The major version number of the security update being uninstalled. +- **minorVersion** The minor version number of the security update being uninstalled. +- **originalState** The starting state of the update before the operation. +- **pendingDecision** Indicates the cause of reboot, if applicable. +- **primitiveExecutionContext** The state during system startup when the uninstall was completed. +- **revisionVersion** The revision number of the security update being uninstalled. +- **transactionCanceled** Indicates whether the uninstall was cancelled. + + ## Deployment extensions ### DeploymentTelemetry.Deployment_End @@ -3009,6 +3096,87 @@ The following fields are available: - **CV** Correlation vector. +## DxgKernelTelemetry events + +### DxgKrnlTelemetry.GPUAdapterInventoryV2 + +This event sends basic GPU and display driver information to keep Windows and display drivers up-to-date. + +The following fields are available: + +- **AdapterTypeValue** The numeric value indicating the type of Graphics adapter. +- **aiSeqId** The event sequence ID. +- **bootId** The system boot ID. +- **BrightnessVersionViaDDI** The version of the Display Brightness Interface. +- **ComputePreemptionLevel** The maximum preemption level supported by GPU for compute payload. +- **DedicatedSystemMemoryB** The amount of system memory dedicated for GPU use (in bytes). +- **DedicatedVideoMemoryB** The amount of dedicated VRAM of the GPU (in bytes). +- **DisplayAdapterLuid** The display adapter LUID. +- **DriverDate** The date of the display driver. +- **DriverRank** The rank of the display driver. +- **DriverVersion** The display driver version. +- **DX10UMDFilePath** The file path to the location of the DirectX 10 Display User Mode Driver in the Driver Store. +- **DX11UMDFilePath** The file path to the location of the DirectX 11 Display User Mode Driver in the Driver Store. +- **DX12UMDFilePath** The file path to the location of the DirectX 12 Display User Mode Driver in the Driver Store. +- **DX9UMDFilePath** The file path to the location of the DirectX 9 Display User Mode Driver in the Driver Store. +- **GPUDeviceID** The GPU device ID. +- **GPUPreemptionLevel** The maximum preemption level supported by GPU for graphics payload. +- **GPURevisionID** The GPU revision ID. +- **GPUVendorID** The GPU vendor ID. +- **InterfaceId** The GPU interface ID. +- **IsDisplayDevice** Does the GPU have displaying capabilities? +- **IsHybridDiscrete** Does the GPU have discrete GPU capabilities in a hybrid device? +- **IsHybridIntegrated** Does the GPU have integrated GPU capabilities in a hybrid device? +- **IsLDA** Is the GPU comprised of Linked Display Adapters? +- **IsMiracastSupported** Does the GPU support Miracast? +- **IsMismatchLDA** Is at least one device in the Linked Display Adapters chain from a different vendor? +- **IsMPOSupported** Does the GPU support Multi-Plane Overlays? +- **IsMsMiracastSupported** Are the GPU Miracast capabilities driven by a Microsoft solution? +- **IsPostAdapter** Is this GPU the POST GPU in the device? +- **IsRemovable** TRUE if the adapter supports being disabled or removed. +- **IsRenderDevice** Does the GPU have rendering capabilities? +- **IsSoftwareDevice** Is this a software implementation of the GPU? +- **KMDFilePath** The file path to the location of the Display Kernel Mode Driver in the Driver Store. +- **MeasureEnabled** Is the device listening to MICROSOFT_KEYWORD_MEASURES? +- **NumVidPnSources** The number of supported display output sources. +- **NumVidPnTargets** The number of supported display output targets. +- **SharedSystemMemoryB** The amount of system memory shared by GPU and CPU (in bytes). +- **SubSystemID** The subsystem ID. +- **SubVendorID** The GPU sub vendor ID. +- **TelemetryEnabled** Is the device listening to MICROSOFT_KEYWORD_TELEMETRY? +- **TelInvEvntTrigger** What triggered this event to be logged? Example: 0 (GPU enumeration) or 1 (DxgKrnlTelemetry provider toggling) +- **version** The event version. +- **WDDMVersion** The Windows Display Driver Model version. + + +## Hang Reporting events + +### Microsoft.Windows.HangReporting.AppHangEvent + +This event sends data about hangs for both native and managed applications, to help keep Windows up to date. It does not contain any Watson bucketing information. The bucketing information is recorded in a Windows Error Reporting (WER) event that is generated when the WER client reports the hang to the Watson service, and the WER event will contain the same ReportID (see field 13 of hang event, field 19 of WER event) as the hang event for the hang being reported. AppHang is reported only on PC devices. It handles classic Win32 hangs and is emitted only once per report. Some behaviors that may be perceived by a user as a hang are reported by app managers (e.g. PLM/RM/EM) as Watson Generics and will not produce AppHang events. + +The following fields are available: + +- **AppName** The name of the app that has hung. +- **AppSessionGuid** GUID made up of process id used as a correlation vector for process instances in the telemetry backend. +- **AppVersion** The version of the app that has hung. +- **IsFatal** True/False based on whether the hung application caused the creation of a Fatal Hang Report. +- **PackageFullName** Store application identity. +- **PackageRelativeAppId** Store application identity. +- **ProcessArchitecture** Architecture of the hung process, as one of the PROCESSOR_ARCHITECTURE_* constants: 0: PROCESSOR_ARCHITECTURE_INTEL. 5: PROCESSOR_ARCHITECTURE_ARM. 9: PROCESSOR_ARCHITECTURE_AMD64. 12: PROCESSOR_ARCHITECTURE_ARM64. +- **ProcessCreateTime** The time of creation of the process that has hung. +- **ProcessId** The ID of the process that has hung. +- **ReportId** A GUID used to identify the report. This can used to track the report across Watson. +- **TargetAppId** The kernel reported AppId of the application being reported. +- **TargetAppVer** The specific version of the application being reported. +- **TargetAsId** The sequence number for the hanging process. +- **TypeCode** Bitmap describing the hang type. +- **WaitingOnAppName** If this is a cross process hang waiting for an application, this has the name of the application. +- **WaitingOnAppVersion** If this is a cross process hang, this has the version of the application for which it is waiting. +- **WaitingOnPackageFullName** If this is a cross process hang waiting for a package, this has the full name of the package for which it is waiting. +- **WaitingOnPackageRelativeAppId** If this is a cross process hang waiting for a package, this has the relative application id of the package. + + ## Inventory events ### Microsoft.Windows.Inventory.Core.AmiTelCacheChecksum @@ -3104,8 +3272,8 @@ This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedevic The following fields are available: -- **InventoryVersion** The version of the inventory component -- **ProgramIds** The unique program identifier the driver is associated with +- **InventoryVersion** The version of the inventory component. +- **ProgramIds** The unique program identifier the driver is associated with. ### Microsoft.Windows.Inventory.Core.InventoryApplicationDriverStartSync @@ -3308,9 +3476,10 @@ The following fields are available: - **DriverVerDate** Name of the .sys image file (or wudfrd.sys if using user mode driver framework). - **DriverVerVersion** The immediate parent directory name in the Directory field of InventoryDriverPackage. - **Enumerator** The date of the driver loaded for the device. +- **ExtendedInfs** The extended INF file names. - **HWID** The version of the driver loaded for the device. - **Inf** The bus that enumerated the device. -- **InstallState** The device installation state. One of these values: https://msdn.microsoft.com/library/windows/hardware/ff543130.aspx +- **InstallState** The device installation state. One of these values: https://msdn.microsoft.com/en-us/library/windows/hardware/ff543130.aspx - **InventoryVersion** List of hardware ids for the device. - **LowerClassFilters** Lower filter class drivers IDs installed for the device - **LowerFilters** Lower filter drivers IDs installed for the device @@ -3463,6 +3632,18 @@ The following fields are available: - **InventoryVersion** The version of the inventory file generating the events. +### Microsoft.Windows.Inventory.Core.StartUtcJsonTrace + +This event collects traces of all other Core events, not used in typical customer scenarios. This event signals the beginning of the event download, and that tracing should begin. + + + +### Microsoft.Windows.Inventory.Core.StopUtcJsonTrace + +This event collects traces of all other Core events, not used in typical customer scenarios. This event signals the end of the event download, and that tracing should end. + + + ### Microsoft.Windows.Inventory.General.AppHealthStaticAdd This event sends details collected for a specific application on the source device. @@ -3510,27 +3691,27 @@ This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedevic The following fields are available: -- **AddinCLSID** The CLSID for the Office add-in. -- **AddInId** Office add-in ID. -- **AddinType** Office add-in Type. -- **BinFileTimestamp** Timestamp of the Office add-in. -- **BinFileVersion** Version of the Office add-in. -- **Description** Office add-in description. -- **FileId** FileId of the Office add-in. -- **FileSize** File size of the Office add-in. -- **FriendlyName** Friendly name for office add-in. -- **FullPath** Unexpanded path to the office add-in. +- **AddinCLSID** The CLSID for the Office addin +- **AddInId** Office addin ID +- **AddinType** The type of the Office addin. +- **BinFileTimestamp** Timestamp of the Office addin +- **BinFileVersion** Version of the Office addin +- **Description** Office addin description +- **FileId** FileId of the Office addin +- **FileSize** File size of the Office addin +- **FriendlyName** Friendly name for office addin +- **FullPath** Unexpanded path to the office addin - **InventoryVersion** The version of the inventory binary generating the events. -- **LoadBehavior** Uint32 that describes the load behavior. -- **OfficeApplication** The office application for this add-in. -- **OfficeArchitecture** Architecture of the add-in. -- **OfficeVersion** The office version for this add-in. -- **OutlookCrashingAddin** Boolean that indicates if crashes have been found for this add-in. -- **ProductCompany** The name of the company associated with the Office add-in. -- **ProductName** The product name associated with the Office add-in. -- **ProductVersion** The version associated with the Office add-in. -- **ProgramId** The unique program identifier of the Office add-in. -- **Provider** Name of the provider for this add-in. +- **LoadBehavior** Uint32 that describes the load behavior +- **OfficeApplication** The office application for this addin +- **OfficeArchitecture** Architecture of the addin +- **OfficeVersion** The office version for this addin +- **OutlookCrashingAddin** Boolean that indicates if crashes have been found for this addin +- **ProductCompany** The name of the company associated with the Office addin +- **ProductName** The product name associated with the Office addin +- **ProductVersion** The version associated with the Office addin +- **ProgramId** The unique program identifier of the Office addin +- **Provider** Name of the provider for this addin ### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeAddInRemove @@ -3908,6 +4089,153 @@ The following fields are available: - **UserInputTime** The amount of time the loader application spent waiting for user input. +## OneDrive events + +### Microsoft.OneDrive.Sync.Updater.ComponentInstallState + +This event includes basic data about the installation state of dependent OneDrive components. + +The following fields are available: + +- **ComponentName** The name of the dependent component. +- **isInstalled** Is the dependent component installed? + + +### Microsoft.OneDrive.Sync.Updater.OverlayIconStatus + +This event indicates if the OneDrive overlay icon is working correctly. 0 = healthy; 1 = can be fixed; 2 = broken + +The following fields are available: + +- **32bit** The status of the OneDrive overlay icon on a 32-bit operating system. +- **64bit** The status of the OneDrive overlay icon on a 64-bit operating system. + + +### Microsoft.OneDrive.Sync.Updater.UpdateOverallResult + +This event sends information describing the result of the update. + +The following fields are available: + +- **hr** The HResult of the operation. +- **IsLoggingEnabled** Indicates whether logging is enabled for the updater. +- **UpdaterVersion** The version of the updater. + + +### Microsoft.OneDrive.Sync.Updater.UpdateXmlDownloadHResult + +This event determines the status when downloading the OneDrive update configuration file. + +The following fields are available: + +- **hr** The HResult of the operation. + + +### Microsoft.OneDrive.Sync.Updater.WebConnectionStatus + +This event determines the error code that was returned when verifying Internet connectivity. + +The following fields are available: + +- **winInetError** The HResult of the operation. + + +## Other events + +### Microsoft.Windows.Kits.WSK.WskImageCreate + +This event sends simple Product and Service usage data when a user is using the Windows System Kit to create new OS “images”. The data includes the version of the Windows System Kit and the state of the event and is used to help investigate “image” creation failures. + +The following fields are available: + +- **Phase** The image creation phase. Values are “Start” or “End”. +- **WskVersion** The version of the Windows System Kit being used. + + +### Microsoft.Windows.Kits.WSK.WskImageCustomization + +This event sends simple Product and Service usage data when a user is using the Windows System Kit to create/modify configuration files allowing the customization of a new OS image with Apps or Drivers. The data includes the version of the Windows System Kit, the state of the event, the customization type (drivers or apps) and the mode (new or updating) and is used to help investigate configuration file creation failures. + +The following fields are available: + +- **Mode** The mode of update to image configuration files. Values are “New” or “Update”. +- **Phase** The image creation phase. Values are “Start” or “End”. +- **Type** The type of update to image configuration files. Values are “Apps” or “Drivers”. +- **WskVersion** The version of the Windows System Kit being used. + + +### Microsoft.Windows.Kits.WSK.WskWorkspaceCreate + +This event sends simple Product and Service usage data when a user is using the Windows System Kit to create new workspace for generating OS “images”. The data includes the version of the Windows System Kit and the state of the event and is used to help investigate workspace creation failures. + +The following fields are available: + +- **Architecture** The OS architecture that the workspace will target. Values are one of: “AMD64”, “ARM64”, “x86”, or “ARM”. +- **OsEdition** The Operating System Edition that the workspace will target. +- **Phase** The image creation phase. Values are “Start” or “End”. +- **WskVersion** The version of the Windows System Kit being used. + + +### Microsoft.Windows.Mitigation.AccountTraceLoggingProvider.General + +This event provides information about application properties to indicate the successful execution. + +The following fields are available: + +- **AppMode** Indicates the mode the app is being currently run around privileges. +- **ExitCode** Indicates the exit code of the app. +- **Help** Indicates if the app needs to be launched in the help mode. +- **ParseError** Indicates if there was a parse error during the execution. +- **RightsAcquired** Indicates if the right privileges were acquired for successful execution. +- **RightsWereEnabled** Indicates if the right privileges were enabled for successful execution. +- **TestMode** Indicates whether the app is being run in test mode. + + +### Microsoft.Windows.Mitigation.AccountTraceLoggingProvider.GetCount + +This event provides information about the properties of user accounts in the Administrator group. + +The following fields are available: + +- **Internal** Indicates the internal property associated with the count group. +- **LastError** The error code (if applicable) for the cause of the failure to get the count of the user account. + + +### Microsoft.Xbox.XamTelemetry.AppActivationError + +This event indicates whether the system detected an activation error in the app. + +The following fields are available: + +- **ActivationUri** Activation URI (Uniform Resource Identifier) used in the attempt to activate the app. +- **AppId** The Xbox LIVE Title ID. +- **AppUserModelId** The AUMID (Application User Model ID) of the app to activate. +- **Result** The HResult error. +- **UserId** The Xbox LIVE User ID (XUID). + + +### Microsoft.Xbox.XamTelemetry.AppActivity + +This event is triggered whenever the current app state is changed by: launch, switch, terminate, snap, etc. + +The following fields are available: + +- **AppActionId** The ID of the application action. +- **AppCurrentVisibilityState** The ID of the current application visibility state. +- **AppId** The Xbox LIVE Title ID of the app. +- **AppPackageFullName** The full name of the application package. +- **AppPreviousVisibilityState** The ID of the previous application visibility state. +- **AppSessionId** The application session ID. +- **AppType** The type ID of the application (AppType_NotKnown, AppType_Era, AppType_Sra, AppType_Uwa). +- **BCACode** The BCA (Burst Cutting Area) mark code of the optical disc used to launch the application. +- **DurationMs** The amount of time (in milliseconds) since the last application state transition. +- **IsTrialLicense** This boolean value is TRUE if the application is on a trial license. +- **LicenseType** The type of licensed used to authorize the app (0 - Unknown, 1 - User, 2 - Subscription, 3 - Offline, 4 - Disc). +- **LicenseXuid** If the license type is 1 (User), this field contains the XUID (Xbox User ID) of the registered owner of the license. +- **ProductGuid** The Xbox product GUID (Globally-Unique ID) of the application. +- **UserId** The XUID (Xbox User ID) of the current user. + + ## Privacy consent logging events ### Microsoft.Windows.Shell.PrivacyConsentLogging.PrivacyConsentCompleted @@ -3936,6 +4264,43 @@ The following fields are available: - **userRegionCode** The current user's region setting +## Setup events + +### SetupPlatformTel.SetupPlatformTelActivityEvent + +This event sends basic metadata about the SetupPlatform update installation process, to help keep Windows up to date. + +The following fields are available: + +- **FieldName** Retrieves the event name/data point. Examples: InstallStartTime, InstallEndtime, OverallResult etc. +- **GroupName** Retrieves the groupname the event belongs to. Example: Install Information, DU Information, Disk Space Information etc. +- **Value** Value associated with the corresponding event name. For example, time-related events will include the system time + + +### SetupPlatformTel.SetupPlatformTelActivityStarted + +This event sends basic metadata about the update installation process generated by SetupPlatform to help keep Windows up to date. + +The following fields are available: + +- **Name** The name of the dynamic update type. Example: GDR driver + + +### SetupPlatformTel.SetupPlatformTelActivityStopped + +This event sends basic metadata about the update installation process generated by SetupPlatform to help keep Windows up to date. + + + +### SetupPlatformTel.SetupPlatfOrmTelEvent + +This service retrieves events generated by SetupPlatform, the engine that drives the various deployment scenarios. + +The following fields are available: + +- **GroupName** Retrieves the groupname the event belongs to. Example: Install Information, DU Information, Disk Space Information etc. + + ## Software update events ### SoftwareUpdateClientTelemetry.CheckForUpdates @@ -4010,7 +4375,7 @@ The following fields are available: - **ScanDurationInSeconds** The number of seconds a scan took - **ScanEnqueueTime** The number of seconds it took to initialize a scan - **ScanProps** This is a 32-bit integer containing Boolean properties for a given Windows Update scan. The following bits are used; all remaining bits are reserved and set to zero. Bit 0 (0x1): IsInteractive - is set to 1 if the scan is requested by a user, or 0 if the scan is requested by Automatic Updates. Bit 1 (0x2): IsSeeker - is set to 1 if the Windows Update client's Seeker functionality is enabled. Seeker functionality is enabled on certain interactive scans, and results in the scans returning certain updates that are in the initial stages of release (not yet released for full adoption via Automatic Updates). -- **ServiceGuid** An ID which represents which service the software distribution client is checking for content (Windows Update, Microsoft Store, etc.). +- **ServiceGuid** An ID which represents which service the software distribution client is checking for content (Windows Update, Windows Store, etc.). - **ServiceUrl** The environment URL a device is configured to scan with - **ShippingMobileOperator** The mobile operator that a device shipped on. - **StatusCode** Indicates the result of a CheckForUpdates event (success, cancellation, failure code HResult). @@ -4092,7 +4457,7 @@ The following fields are available: - **RepeatFailCount** Indicates whether this specific piece of content has previously failed. - **RepeatFailFlag** Indicates whether this specific piece of content had previously failed to download. - **RevisionNumber** Identifies the revision number of this specific piece of content. -- **ServiceGuid** An ID that represents which service the software distribution client is installing content for (Windows Update, Microsoft Store, etc.). +- **ServiceGuid** An ID that represents which service the software distribution client is installing content for (Windows Update, Windows Store, etc.). - **Setup360Phase** If the download is for an operating system upgrade, this datapoint indicates which phase of the upgrade is underway. - **ShippingMobileOperator** The mobile operator that a device shipped on. - **SizeCalcTime** Time taken (in seconds) to calculate the total download size of the payload. @@ -4169,7 +4534,7 @@ The following fields are available: - **RepeatFailCount** Indicates whether this specific piece of content has previously failed. - **RepeatFailFlag** Indicates whether this specific piece of content previously failed to install. - **RevisionNumber** The revision number of this specific piece of content. -- **ServiceGuid** An ID which represents which service the software distribution client is installing content for (Windows Update, Microsoft Store, etc.). +- **ServiceGuid** An ID which represents which service the software distribution client is installing content for (Windows Update, Windows Store, etc.). - **Setup360Phase** If the install is for an operating system upgrade, indicates which phase of the upgrade is underway. - **ShippingMobileOperator** The mobile operator that a device shipped on. - **StatusCode** Indicates the result of an installation event (success, cancellation, failure code HResult). @@ -4219,7 +4584,7 @@ The following fields are available: - **RelatedCV** The previous correlation vector that was used by the client before swapping with a new one. - **RepeatFailCount** Indicates whether this specific piece of content has previously failed. - **RevisionNumber** Identifies the revision number of this specific piece of content. -- **ServiceGuid** Identifier for the service to which the software distribution client is connecting (Windows Update, Microsoft Store, etc.). +- **ServiceGuid** Identifier for the service to which the software distribution client is connecting (Windows Update, Windows Store, etc.). - **StatusCode** Result code of the event (success, cancellation, failure code HResult). - **TargetGroupId** For drivers targeted to a specific device model, this ID indicates the distribution group of devices receiving that driver. - **TargetingVersion** For drivers targeted to a specific device model, this is the version number of the drivers being distributed to the device. @@ -4240,7 +4605,7 @@ The following fields are available: - **CmdLineArgs** Command line arguments passed in by the caller. - **EventInstanceID** A globally unique identifier for the event instance. - **EventScenario** Indicates the purpose of the event (scan started, succeeded, failed, etc.). -- **ServiceGuid** Identifier for the service to which the software distribution client is connecting (Windows Update, Microsoft Store, etc.). +- **ServiceGuid** Identifier for the service to which the software distribution client is connecting (Windows Update, Windows Store, etc.). - **StatusCode** Result code of the event (success, cancellation, failure code HResult). - **WUDeviceID** Unique device ID controlled by the software distribution client. @@ -4279,7 +4644,7 @@ The following fields are available: - **RelatedCV** The previous correlation vector that was used by the client before swapping with a new one. - **RepeatFailCount** Indicates whether this specific piece of content previously failed. - **RevisionNumber** Identifies the revision number of this specific piece of content. -- **ServiceGuid** Identifier for the service to which the software distribution client is connecting (Windows Update, Microsoft Store, etc.). +- **ServiceGuid** Identifier for the service to which the software distribution client is connecting (Windows Update, Windows Store, etc.). - **StatusCode** Result code of the event (success, cancellation, failure code HResult). - **TargetGroupId** For drivers targeted to a specific device model, this ID indicates the distribution group of devices receiving that driver. - **TargetingVersion** For drivers targeted to a specific device model, this is the version number of the drivers being distributed to the device. @@ -4300,7 +4665,7 @@ The following fields are available: - **IntentPFNs** Intended application-set metadata for atomic update scenarios. - **NumberOfApplicableUpdates** The number of updates ultimately deemed applicable to the system after the detection process is complete. - **RelatedCV** The previous Correlation Vector that was used before swapping with a new one. -- **ServiceGuid** An ID that represents which service the software distribution client is connecting to (Windows Update, Microsoft Store, etc.). +- **ServiceGuid** An ID that represents which service the software distribution client is connecting to (Windows Update, Windows Store, etc.). - **WUDeviceID** The unique device ID controlled by the software distribution client. @@ -4334,6 +4699,296 @@ The following fields are available: - **LinkSpeed** The adapter link speed. +## Update events + +### Update360Telemetry.Revert + +This event sends data relating to the Revert phase of updating Windows. + +The following fields are available: + +- **ErrorCode** The error code returned for the Revert phase. +- **FlightId** Unique ID for the flight (test instance version). +- **ObjectId** The unique value for each Update Agent mode. +- **RebootRequired** Indicates reboot is required. +- **RelatedCV** The correlation vector value generated from the latest USO (Update Service Orchestrator) scan. +- **Result** The HResult of the event. +- **RevertResult** The result code returned for the Revert operation. +- **ScenarioId** The ID of the update scenario. +- **SessionId** The ID of the update attempt. +- **UpdateId** The ID of the update. + + +### Update360Telemetry.UpdateAgentCommit + +This event collects information regarding the commit phase of the new Unified Update Platform (UUP) update scenario, which is leveraged by both Mobile and Desktop. + +The following fields are available: + +- **ErrorCode** The error code returned for the current install phase. +- **FlightId** Unique ID for each flight. +- **ObjectId** Unique value for each Update Agent mode. +- **RelatedCV** Correlation vector value generated from the latest USO scan. +- **Result** Outcome of the install phase of the update. +- **ScenarioId** Indicates the update scenario. +- **SessionId** Unique value for each update attempt. +- **UpdateId** Unique ID for each update. + + +### Update360Telemetry.UpdateAgentDownloadRequest + +This event sends data for the download request phase of updating Windows via the new Unified Update Platform (UUP) scenario. Applicable to PC and Mobile. + +The following fields are available: + +- **DeletedCorruptFiles** Boolean indicating whether corrupt payload was deleted. +- **DownloadRequests** Number of times a download was retried. +- **ErrorCode** The error code returned for the current download request phase. +- **ExtensionName** Indicates whether the payload is related to Operating System content or a plugin. +- **FlightId** Unique ID for each flight. +- **InternalFailureResult** Indicates a non-fatal error from a plugin. +- **ObjectId** Unique value for each Update Agent mode (same concept as InstanceId for Setup360). +- **PackageCategoriesSkipped** Indicates package categories that were skipped, if applicable. +- **PackageCountOptional** Number of optional packages requested. +- **PackageCountRequired** Number of required packages requested. +- **PackageCountTotal** Total number of packages needed. +- **PackageCountTotalCanonical** Total number of canonical packages. +- **PackageCountTotalDiff** Total number of diff packages. +- **PackageCountTotalExpress** Total number of express packages. +- **PackageExpressType** Type of express package. +- **PackageSizeCanonical** Size of canonical packages in bytes. +- **PackageSizeDiff** Size of diff packages in bytes. +- **PackageSizeExpress** Size of express packages in bytes. +- **RangeRequestState** Indicates the range request type used. +- **RelatedCV** Correlation vector value generated from the latest USO scan. +- **Result** Outcome of the download request phase of update. +- **ScenarioId** Indicates the update scenario. +- **SessionId** Unique value for each attempt (same value for initialize, download, install commit phases). +- **UpdateId** Unique ID for each update. + + +### Update360Telemetry.UpdateAgentExpand + +This event collects information regarding the expansion phase of the new Unified Update Platform (UUP) update scenario, which is leveraged by both Mobile and Desktop. + +The following fields are available: + +- **ElapsedTickCount** Time taken for expand phase. +- **EndFreeSpace** Free space after expand phase. +- **EndSandboxSize** Sandbox size after expand phase. +- **ErrorCode** The error code returned for the current install phase. +- **FlightId** Unique ID for each flight. +- **ObjectId** Unique value for each Update Agent mode. +- **RelatedCV** Correlation vector value generated from the latest USO scan. +- **ScenarioId** Indicates the update scenario. +- **SessionId** Unique value for each update attempt. +- **StartFreeSpace** Free space before expand phase. +- **StartSandboxSize** Sandbox size after expand phase. +- **UpdateId** Unique ID for each update. + + +### Update360Telemetry.UpdateAgentFellBackToCanonical + +This event collects information when express could not be used and we fall back to canonical during the new Unified Update Platform (UUP) update scenario, which is leveraged by both Mobile and Desktop. + +The following fields are available: + +- **FlightId** Unique ID for each flight. +- **ObjectId** Unique value for each Update Agent mode. +- **PackageCount** Number of packages that feel back to canonical. +- **PackageList** PackageIds which fell back to canonical. +- **RelatedCV** Correlation vector value generated from the latest USO scan. +- **ScenarioId** Indicates the update scenario. +- **SessionId** Unique value for each update attempt. +- **UpdateId** Unique ID for each update. + + +### Update360Telemetry.UpdateAgentInitialize + +This event sends data for the initialize phase of updating Windows via the new Unified Update Platform (UUP) scenario, which is applicable to both PCs and Mobile. + +The following fields are available: + +- **ErrorCode** The error code returned for the current install phase. +- **FlightId** Unique ID for each flight. +- **FlightMetadata** Contains the FlightId and the build being flighted. +- **ObjectId** Unique value for each Update Agent mode. +- **RelatedCV** Correlation vector value generated from the latest USO scan. +- **Result** Outcome of the install phase of the update. +- **ScenarioId** Indicates the update scenario. +- **SessionData** String containing instructions to update agent for processing FODs and DUICs (Null for other scenarios). +- **SessionId** Unique value for each update attempt. +- **UpdateId** Unique ID for each update. + + +### Update360Telemetry.UpdateAgentInstall + +This event sends data for the install phase of updating Windows. + +The following fields are available: + +- **ErrorCode** The error code returned for the current install phase. +- **ExtensionName** Indicates whether the payload is related to Operating System content or a plugin. +- **FlightId** Unique value for each Update Agent mode (same concept as InstanceId for Setup360). +- **InternalFailureResult** Indicates a non-fatal error from a plugin. +- **ObjectId** Correlation vector value generated from the latest USO scan. +- **RelatedCV** Correlation vector value generated from the latest USO scan. +- **Result** The result for the current install phase. +- **ScenarioId** Indicates the update scenario. +- **SessionId** Unique value for each update attempt. +- **UpdateId** Unique ID for each update. + + +### Update360Telemetry.UpdateAgentMerge + +The UpdateAgentMerge event sends data on the merge phase when updating Windows. + +The following fields are available: + +- **ErrorCode** The error code returned for the current merge phase. +- **FlightId** Unique ID for each flight. +- **MergeId** The unique ID to join two update sessions being merged. +- **ObjectId** Unique value for each Update Agent mode. +- **RelatedCV** Related correlation vector value. +- **Result** Outcome of the merge phase of the update. +- **ScenarioId** Indicates the update scenario. +- **SessionId** Unique value for each attempt. +- **UpdateId** Unique ID for each update. + + +### Update360Telemetry.UpdateAgentMitigationResult + +This event sends data indicating the result of each update agent mitigation. + +The following fields are available: + +- **Applicable** Indicates whether the mitigation is applicable for the current update. +- **CommandCount** The number of command operations in the mitigation entry. +- **CustomCount** The number of custom operations in the mitigation entry. +- **FileCount** The number of file operations in the mitigation entry. +- **FlightId** Unique identifier for each flight. +- **Index** The mitigation index of this particular mitigation. +- **MitigationScenario** The update scenario in which the mitigation was executed. +- **Name** The friendly name of the mitigation. +- **ObjectId** Unique value for each Update Agent mode. +- **OperationIndex** The mitigation operation index (in the event of a failure). +- **OperationName** The friendly name of the mitigation operation (in the event of failure). +- **RegistryCount** The number of registry operations in the mitigation entry. +- **RelatedCV** The correlation vector value generated from the latest USO scan. +- **Result** The HResult of this operation. +- **ScenarioId** The update agent scenario ID. +- **SessionId** Unique value for each update attempt. +- **TimeDiff** The amount of time spent performing the mitigation (in 100-nanosecond increments). +- **UpdateId** Unique ID for each Update. + + +### Update360Telemetry.UpdateAgentMitigationSummary + +This event sends a summary of all the update agent mitigations available for an this update. + +The following fields are available: + +- **Applicable** The count of mitigations that were applicable to the system and scenario. +- **Failed** The count of mitigations that failed. +- **FlightId** Unique identifier for each flight. +- **MitigationScenario** The update scenario in which the mitigations were attempted. +- **ObjectId** The unique value for each Update Agent mode. +- **RelatedCV** The correlation vector value generated from the latest USO scan. +- **Result** The HResult of this operation. +- **ScenarioId** The update agent scenario ID. +- **SessionId** Unique value for each update attempt. +- **TimeDiff** The amount of time spent performing all mitigations (in 100-nanosecond increments). +- **Total** Total number of mitigations that were available. +- **UpdateId** Unique ID for each update. + + +### Update360Telemetry.UpdateAgentModeStart + +This event sends data for the start of each mode during the process of updating Windows via the new Unified Update Platform (UUP) scenario. Applicable to both PCs and Mobile. + +The following fields are available: + +- **FlightId** Unique ID for each flight. +- **Mode** Indicates the mode that has started. +- **ObjectId** Unique value for each Update Agent mode. +- **RelatedCV** Correlation vector value generated from the latest USO scan. +- **ScenarioId** Indicates the update scenario. +- **SessionId** Unique value for each update attempt. +- **UpdateId** Unique ID for each update. +- **Version** Version of update + + +### Update360Telemetry.UpdateAgentOneSettings + +This event collects information regarding the post reboot phase of the new UUP (Unified Update Platform) update scenario; which is leveraged by both Mobile and Desktop. + +The following fields are available: + +- **Count** The count of applicable OneSettings for the device. +- **FlightId** Unique ID for the flight (test instance version). +- **ObjectId** The unique value for each Update Agent mode. +- **Parameters** The set of name value pair parameters sent to OneSettings to determine if there are any applicable OneSettings. +- **RelatedCV** The correlation vector value generated from the latest USO (Update Service Orchestrator) scan. +- **Result** The HResult of the event. +- **ScenarioId** The ID of the update scenario. +- **SessionId** The ID of the update attempt. +- **UpdateId** The ID of the update. +- **Values** The values sent back to the device, if applicable. + + +### Update360Telemetry.UpdateAgentPostRebootResult + +This event collects information for both Mobile and Desktop regarding the post reboot phase of the new Unified Update Platform (UUP) update scenario. + +The following fields are available: + +- **ErrorCode** The error code returned for the current post reboot phase. +- **FlightId** The specific ID of the Windows Insider build the device is getting. +- **ObjectId** Unique value for each Update Agent mode. +- **PostRebootResult** Indicates the Hresult. +- **RelatedCV** Correlation vector value generated from the latest USO scan. +- **ScenarioId** The scenario ID. Example: MobileUpdate, DesktopLanguagePack, DesktopFeatureOnDemand, or DesktopDriverUpdate. +- **SessionId** Unique value for each update attempt. +- **UpdateId** Unique ID for each update. + + +### Update360Telemetry.UpdateAgentReboot + +This event sends information indicating that a request has been sent to suspend an update. + +The following fields are available: + +- **ErrorCode** The error code returned for the current reboot. +- **FlightId** Unique ID for the flight (test instance version). +- **ObjectId** The unique value for each Update Agent mode. +- **RelatedCV** The correlation vector value generated from the latest USO (Update Service Orchestrator) scan. +- **Result** The HResult of the event. +- **ScenarioId** The ID of the update scenario. +- **SessionId** The ID of the update attempt. +- **UpdateId** The ID of the update. + + +### Update360Telemetry.UpdateAgentSetupBoxLaunch + +The UpdateAgent_SetupBoxLaunch event sends data for the launching of the setup box when updating Windows via the new Unified Update Platform (UUP) scenario. This event is only applicable to PCs. + +The following fields are available: + +- **ContainsExpressPackage** Indicates whether the download package is express. +- **FlightId** Unique ID for each flight. +- **FreeSpace** Free space on OS partition. +- **InstallCount** Number of install attempts using the same sandbox. +- **ObjectId** Unique value for each Update Agent mode. +- **Quiet** Indicates whether setup is running in quiet mode. +- **RelatedCV** Correlation vector value generated from the latest USO scan. +- **SandboxSize** Size of the sandbox. +- **ScenarioId** Indicates the update scenario. +- **SessionId** Unique value for each update attempt. +- **SetupMode** Mode of setup to be launched. +- **UpdateId** Unique ID for each Update. +- **UserSession** Indicates whether install was invoked by user actions. + + ## Upgrade events ### FacilitatorTelemetry.DCATDownload @@ -4364,6 +5019,197 @@ The following fields are available: - **Version** Version of Facilitator. +### Setup360Telemetry.Downlevel + +This event sends data indicating that the device has started the downlevel phase of the upgrade, to help keep Windows up-to-date and secure. + +The following fields are available: + +- **ClientId** If using Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, the default value is Media360, but it can be overwritten by the caller to a unique value. +- **FlightData** Unique value that identifies the flight. +- **HostOSBuildNumber** The build number of the downlevel OS. +- **HostOsSkuName** The operating system edition which is running Setup360 instance (downlevel OS). +- **InstanceId** A unique GUID that identifies each instance of setuphost.exe. +- **ReportId** In the Windows Update scenario, this is the updateID that is passed to Setup. In media setup, this is the GUID for the install.wim. +- **Setup360Extended** More detailed information about phase/action when the potential failure occurred. +- **Setup360Mode** The phase of Setup360 (for example, Predownload, Install, Finalize, Rollback). +- **Setup360Result** The result of Setup360 (HRESULT used to diagnose errors). +- **Setup360Scenario** The Setup360 flow type (for example, Boot, Media, Update, MCT). +- **SetupVersionBuildNumber** The build number of Setup360 (build number of the target OS). +- **State** Exit state of given Setup360 run. Example: succeeded, failed, blocked, cancelled. +- **TestId** An ID that uniquely identifies a group of events. +- **WuId** This is the Windows Update Client ID. In the Windows Update scenario, this is the same as the clientId. + + +### Setup360Telemetry.Finalize + +This event sends data indicating that the device has started the phase of finalizing the upgrade, to help keep Windows up-to-date and secure. + +The following fields are available: + +- **ClientId** With Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. +- **FlightData** Unique value that identifies the flight. +- **HostOSBuildNumber** The build number of the previous OS. +- **HostOsSkuName** The OS edition which is running Setup360 instance (previous OS). +- **InstanceId** A unique GUID that identifies each instance of setuphost.exe +- **ReportId** With Windows Update, this is the updateID that is passed to Setup. In media setup, this is the GUID for the install.wim. +- **Setup360Extended** More detailed information about the phase/action when the potential failure occurred. +- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback. +- **Setup360Result** The result of Setup360. This is an HRESULT error code that is used to diagnose errors. +- **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT. +- **SetupVersionBuildNumber** The build number of Setup360 (build number of target OS). +- **State** The exit state of a Setup360 run. Example: succeeded, failed, blocked, cancelled. +- **TestId** ID that uniquely identifies a group of events. +- **WuId** This is the Windows Update Client ID. With Windows Update, this is the same as the clientId. + + +### Setup360Telemetry.OsUninstall + +This event sends data regarding OS updates and upgrades from Windows 7, Windows 8, and Windows 10. Specifically, it indicates the outcome of an OS uninstall. + +The following fields are available: + +- **ClientId** For Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. +- **FlightData** Unique value that identifies the flight. +- **HostOSBuildNumber** The build number of the previous OS. +- **HostOsSkuName** The OS edition which is running the Setup360 instance (previous OS). +- **InstanceId** A unique GUID that identifies each instance of setuphost.exe. +- **ReportId** For Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, this is the GUID for the install.wim. +- **Setup360Extended** Detailed information about the phase or action when the potential failure occurred. +- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback. +- **Setup360Result** The result of Setup360. This is an HRESULT error code that is used to diagnose errors. +- **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT. +- **SetupVersionBuildNumber** The build number of Setup360 (build number of target OS). +- **State** Exit state of a Setup360 run. Example: succeeded, failed, blocked, cancelled +- **TestId** ID that uniquely identifies a group of events. +- **WuId** Windows Update client ID. + + +### Setup360Telemetry.PostRebootInstall + +This event sends data indicating that the device has invoked the post reboot install phase of the upgrade, to help keep Windows up-to-date. + +The following fields are available: + +- **ClientId** With Windows Update, this is the Windows Update client ID that is passed to Setup. In Media setup, the default value is Media360, but can be overwritten by the caller to a unique value. +- **FlightData** Unique value that identifies the flight. +- **HostOSBuildNumber** The build number of the previous OS. +- **HostOsSkuName** The OS edition which is running Setup360 instance (previous OS). +- **InstanceId** A unique GUID that identifies each instance of setuphost.exe. +- **ReportId** With Windows Update, this is the updateID that is passed to Setup. In media setup, this is the GUID for the install.wim. +- **Setup360Extended** Extension of result - more granular information about phase/action when the potential failure happened +- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback +- **Setup360Result** The result of Setup360. This is an HRESULT error code that's used to diagnose errors. +- **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT +- **SetupVersionBuildNumber** The build number of Setup360 (build number of target OS). +- **State** The exit state of a Setup360 run. Example: succeeded, failed, blocked, cancelled +- **TestId** A string to uniquely identify a group of events. +- **WuId** This is the Windows Update Client ID. With Windows Update, this is the same as ClientId. + + +### Setup360Telemetry.PreDownloadQuiet + +This event sends data indicating that the device has invoked the predownload quiet phase of the upgrade, to help keep Windows up to date. + +The following fields are available: + +- **ClientId** Using Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. +- **FlightData** Unique value that identifies the flight. +- **HostOSBuildNumber** The build number of the previous OS. +- **HostOsSkuName** The OS edition which is running Setup360 instance (previous operating system). +- **InstanceId** A unique GUID that identifies each instance of setuphost.exe. +- **ReportId** Using Windows Update, this is the updateID that is passed to Setup. In media setup, this is the GUID for the install.wim. +- **Setup360Extended** Detailed information about the phase/action when the potential failure occurred. +- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback. +- **Setup360Result** The result of Setup360. This is an HRESULT error code that is used to diagnose errors. +- **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT. +- **SetupVersionBuildNumber** The build number of Setup360 (build number of target OS). +- **State** The exit state of a Setup360 run. Example: succeeded, failed, blocked, canceled. +- **TestId** ID that uniquely identifies a group of events. +- **WuId** This is the Windows Update Client ID. Using Windows Update, this is the same as the clientId. + + +### Setup360Telemetry.PreDownloadUX + +This event sends data regarding OS Updates and Upgrades from Windows 7.X, Windows 8.X, Windows 10 and RS, to help keep Windows up-to-date and secure. Specifically, it indicates the outcome of the PredownloadUX portion of the update process. + +The following fields are available: + +- **ClientId** For Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. +- **FlightData** In the WU scenario, this will be the WU client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. +- **HostOSBuildNumber** The build number of the previous operating system. +- **HostOsSkuName** The OS edition which is running the Setup360 instance (previous operating system). +- **InstanceId** Unique GUID that identifies each instance of setuphost.exe. +- **ReportId** For Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, this is the GUID for the install.wim. +- **Setup360Extended** Detailed information about the phase/action when the potential failure occurred. +- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback. +- **Setup360Result** The result of Setup360. This is an HRESULT error code that can be used to diagnose errors. +- **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT. +- **SetupVersionBuildNumber** The build number of Setup360 (build number of the target OS). +- **State** The exit state of the Setup360 run. Example: succeeded, failed, blocked, cancelled. +- **TestId** ID that uniquely identifies a group of events. +- **WuId** Windows Update client ID. + + +### Setup360Telemetry.PreInstallQuiet + +This event sends data indicating that the device has invoked the preinstall quiet phase of the upgrade, to help keep Windows up-to-date. + +The following fields are available: + +- **ClientId** With Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. +- **FlightData** Unique value that identifies the flight. +- **HostOSBuildNumber** The build number of the previous OS. +- **HostOsSkuName** The OS edition which is running Setup360 instance (previous OS). +- **InstanceId** A unique GUID that identifies each instance of setuphost.exe +- **ReportId** With Windows Update, this is the updateID that is passed to Setup. In media setup, this is the GUID for the install.wim. +- **Setup360Extended** Detailed information about the phase/action when the potential failure occurred. +- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback. +- **Setup360Result** The result of Setup360. This is an HRESULT error code that can be used to diagnose errors. +- **Setup360Scenario** Setup360 flow type (Boot, Media, Update, MCT). +- **SetupVersionBuildNumber** The build number of Setup360 (build number of target OS). +- **State** The exit state of a Setup360 run. Example: succeeded, failed, blocked, cancelled. +- **TestId** A string to uniquely identify a group of events. +- **WuId** This is the Windows Update Client ID. With Windows Update, this is the same as the clientId. + + +### Setup360Telemetry.PreInstallUX + +This event sends data regarding OS updates and upgrades from Windows 7, Windows 8, and Windows 10, to help keep Windows up-to-date. Specifically, it indicates the outcome of the PreinstallUX portion of the update process. + +The following fields are available: + +- **ClientId** For Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. +- **FlightData** Unique value that identifies the flight. +- **HostOSBuildNumber** The build number of the previous OS. +- **HostOsSkuName** The OS edition which is running the Setup360 instance (previous OS). +- **InstanceId** A unique GUID that identifies each instance of setuphost.exe. +- **ReportId** For Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, this is the GUID for the install.wim. +- **Setup360Extended** Detailed information about the phase/action when the potential failure occurred. +- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback. +- **Setup360Result** The result of Setup360. This is an HRESULT error code that is used to diagnose errors. +- **Setup360Scenario** The Setup360 flow type, Example: Boot, Media, Update, MCT. +- **SetupVersionBuildNumber** The build number of Setup360 (build number of target OS). +- **State** The exit state of a Setup360 run. Example: succeeded, failed, blocked, cancelled. +- **TestId** A string to uniquely identify a group of events. +- **WuId** Windows Update client ID. + + +### Setup360Telemetry.Setup360 + +This event sends data about OS deployment scenarios, to help keep Windows up-to-date. + +The following fields are available: + +- **ClientId** Retrieves the upgrade ID. In the Windows Update scenario, this will be the Windows Update client ID. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. +- **FieldName** Retrieves the data point. +- **FlightData** Specifies a unique identifier for each group of Windows Insider builds. +- **InstanceId** Retrieves a unique identifier for each instance of a setup session. +- **ReportId** Retrieves the report ID. +- **ScenarioId** Retrieves the deployment scenario. +- **Value** Retrieves the value associated with the corresponding FieldName. + + ### Setup360Telemetry.Setup360DynamicUpdate This event helps determine whether the device received supplemental content during an operating system upgrade, to help keep Windows up-to-date. @@ -4381,6 +5227,89 @@ The following fields are available: - **TargetBuild** Build of the target OS. +### Setup360Telemetry.Setup360MitigationResult + +This event sends data indicating the result of each setup mitigation. + +The following fields are available: + +- **Applicable** TRUE if the mitigation is applicable for the current update. +- **ClientId** In the Windows Update scenario, this is the client ID passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. +- **CommandCount** The number of command operations in the mitigation entry. +- **CustomCount** The number of custom operations in the mitigation entry. +- **FileCount** The number of file operations in the mitigation entry. +- **FlightData** The unique identifier for each flight (test release). +- **Index** The mitigation index of this particular mitigation. +- **InstanceId** The GUID (Globally Unique ID) that identifies each instance of SetupHost.EXE. +- **MitigationScenario** The update scenario in which the mitigation was executed. +- **Name** The friendly (descriptive) name of the mitigation. +- **OperationIndex** The mitigation operation index (in the event of a failure). +- **OperationName** The friendly (descriptive) name of the mitigation operation (in the event of failure). +- **RegistryCount** The number of registry operations in the mitigation entry. +- **ReportId** In the Windows Update scenario, the Update ID that is passed to Setup. In media setup, this is the GUID for the INSTALL.WIM. +- **Result** HResult of this operation. +- **ScenarioId** Setup360 flow type. +- **TimeDiff** The amount of time spent performing the mitigation (in 100-nanosecond increments). + + +### Setup360Telemetry.Setup360MitigationSummary + +This event sends a summary of all the setup mitigations available for this update. + +The following fields are available: + +- **Applicable** The count of mitigations that were applicable to the system and scenario. +- **ClientId** The Windows Update client ID passed to Setup. +- **Failed** The count of mitigations that failed. +- **FlightData** The unique identifier for each flight (test release). +- **InstanceId** The GUID (Globally Unique ID) that identifies each instance of SetupHost.EXE. +- **MitigationScenario** The update scenario in which the mitigations were attempted. +- **ReportId** In the Windows Update scenario, the Update ID that is passed to Setup. In media setup, this is the GUID for the INSTALL.WIM. +- **Result** HResult of this operation. +- **ScenarioId** Setup360 flow type. +- **TimeDiff** The amount of time spent performing the mitigation (in 100-nanosecond increments). +- **Total** The total number of mitigations that were available. + + +### Setup360Telemetry.Setup360OneSettings + +This event collects information regarding the post reboot phase of the new UUP (Unified Update Platform) update scenario; which is leveraged by both Mobile and Desktop. + +The following fields are available: + +- **ClientId** The Windows Update client ID passed to Setup. +- **Count** The count of applicable OneSettings for the device. +- **FlightData** The ID for the flight (test instance version). +- **InstanceId** The GUID (Globally-Unique ID) that identifies each instance of setuphost.exe. +- **Parameters** The set of name value pair parameters sent to OneSettings to determine if there are any applicable OneSettings. +- **ReportId** The Update ID passed to Setup. +- **Result** The HResult of the event error. +- **ScenarioId** The update scenario ID. +- **Values** Values sent back to the device, if applicable. + + +### Setup360Telemetry.UnexpectedEvent + +This event sends data indicating that the device has invoked the unexpected event phase of the upgrade, to help keep Windows up to date. + +The following fields are available: + +- **ClientId** With Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. +- **FlightData** Unique value that identifies the flight. +- **HostOSBuildNumber** The build number of the previous OS. +- **HostOsSkuName** The OS edition which is running Setup360 instance (previous OS). +- **InstanceId** A unique GUID that identifies each instance of setuphost.exe +- **ReportId** With Windows Update, this is the updateID that is passed to Setup. In media setup, this is the GUID for the install.wim. +- **Setup360Extended** Detailed information about the phase/action when the potential failure occurred. +- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback. +- **Setup360Result** The result of Setup360. This is an HRESULT error code that can be used used to diagnose errors. +- **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT. +- **SetupVersionBuildNumber** The build number of Setup360 (build number of target OS). +- **State** The exit state of a Setup360 run. Example: succeeded, failed, blocked, cancelled. +- **TestId** A string to uniquely identify a group of events. +- **WuId** This is the Windows Update Client ID. With Windows Update, this is the same as the clientId. + + ## Windows as a Service diagnostic events ### Microsoft.Windows.WaaSMedic.SummaryEvent @@ -4407,6 +5336,50 @@ The following fields are available: - **waasMedicRunMode** Indicates whether this was a background regular run of the medic or whether it was triggered by a user launching Windows Update Troubleshooter. +## Windows Error Reporting events + +### Microsoft.Windows.WERVertical.OSCrash + +This event sends binary data from the collected dump file wheneveer a bug check occurs, to help keep Windows up to date. The is the OneCore version of this event. + +The following fields are available: + +- **BootId** Uint32 identifying the boot number for this device. +- **BugCheckCode** Uint64 "bugcheck code" that identifies a proximate cause of the bug check. +- **BugCheckParameter1** Uint64 parameter providing additional information. +- **BugCheckParameter2** Uint64 parameter providing additional information. +- **BugCheckParameter3** Uint64 parameter providing additional information. +- **BugCheckParameter4** Uint64 parameter providing additional information. +- **DumpFileAttributes** Codes that identify the type of data contained in the dump file +- **DumpFileSize** Size of the dump file +- **IsValidDumpFile** True if the dump file is valid for the debugger, false otherwise +- **ReportId** WER Report Id associated with this bug check (used for finding the corresponding report archive in Watson). + + +## Windows Update Delivery Optimization events + +### Microsoft.OSG.DU.DeliveryOptClient.FailureCdnCommunication + +This event represents a failure to download from a CDN with Delivery Optimization. It's used to understand and address problems regarding downloads. + +The following fields are available: + +- **cdnHeaders** The HTTP headers returned by the CDN. +- **cdnIp** The IP address of the CDN. +- **cdnUrl** The URL of the CDN. +- **errorCode** The error code that was returned. +- **errorCount** The total number of times this error code was seen since the last FailureCdnCommunication event was encountered. +- **experimentId** When running a test, this is used to correlate with other events that are part of the same test. +- **fileID** The ID of the file being downloaded. +- **httpStatusCode** The HTTP status code returned by the CDN. +- **isHeadRequest** The type of HTTP request that was sent to the CDN. Example: HEAD or GET +- **peerType** The type of peer (LAN, Group, Internet, CDN, Cache Host, etc.). +- **requestOffset** The byte offset within the file in the sent request. +- **requestSize** The size of the range requested from the CDN. +- **responseSize** The size of the range response received from the CDN. +- **sessionID** The ID of the download session. + + ## Windows Update events ### Microsoft.Windows.Update.DeviceUpdateAgent.UpdateAgentAnalysisSummary @@ -4525,6 +5498,32 @@ The following fields are available: - **updateId** Unique identifier for each update. +### Microsoft.Windows.Update.NotificationUx.DialogNotificationToBeDisplayed + +This event indicates that a notification dialog box is about to be displayed to user. + +The following fields are available: + +- **AcceptAutoModeLimit** The maximum number of days for a device to automatically enter Auto Reboot mode. +- **AutoToAutoFailedLimit** The maximum number of days for Auto Reboot mode to fail before the RebootFailed dialog box is shown. +- **DaysSinceRebootRequired** Number of days since restart was required. +- **DeviceLocalTime** The local time on the device sending the event. +- **EngagedModeLimit** The number of days to switch between DTE dialog boxes. +- **EnterAutoModeLimit** The maximum number of days for a device to enter Auto Reboot mode. +- **ETag** OneSettings versioning value. +- **IsForcedEnabled** Indicates whether Forced Reboot mode is enabled for this device. +- **IsUltimateForcedEnabled** Indicates whether Ultimate Forced Reboot mode is enabled for this device. +- **NotificationUxState** Indicates which dialog box is shown. +- **NotificationUxStateString** Indicates which dialog box is shown. +- **RebootUxState** Indicates the state of the restart (Engaged, Auto, Forced, or UltimateForced). +- **RebootUxStateString** Indicates the state of the restart (Engaged, Auto, Forced, or UltimateForced). +- **RebootVersion** Version of DTE. +- **SkipToAutoModeLimit** The minimum length of time to pass in restart pending before a device can be put into auto mode. +- **UpdateId** The ID of the update that is pending restart to finish installation. +- **UpdateRevision** The revision of the update that is pending restart to finish installation. +- **UtcTime** The time the dialog box notification will be displayed, in Coordinated Universal Time. + + ### Microsoft.Windows.Update.NotificationUx.EnhancedEngagedRebootFirstReminderDialog This event indicates that the Enhanced Engaged restart "first reminder" dialog box was displayed.. @@ -4541,6 +5540,65 @@ The following fields are available: - **UtcTime** The time that the dialog box was displayed, in Coordinated Universal Time. +### Microsoft.Windows.Update.NotificationUx.EnhancedEngagedRebootRebootFailedDialog + +This event indicates that the Enhanced Engaged restart "restart failed" dialog box was displayed. + +The following fields are available: + +- **DeviceLocalTime** The local time of the device sending the event. +- **ETag** OneSettings versioning value. +- **ExitCode** Indicates how users exited the dialog box. +- **RebootVersion** Version of DTE. +- **UpdateId** The ID of the update that is pending restart to finish installation. +- **UpdateRevision** The revision of the update that is pending restart to finish installation. +- **UserResponseString** The option that the user chose in this dialog box. +- **UtcTime** The time that the dialog box was displayed, in Coordinated Universal Time. + + +### Microsoft.Windows.Update.NotificationUx.EnhancedEngagedRebootRebootImminentDialog + +This event indicates that the Enhanced Engaged restart "restart imminent" dialog box was displayed. + +The following fields are available: + +- **DeviceLocalTime** Time the dialog box was shown on the local device. +- **ETag** OneSettings versioning value. +- **ExitCode** Indicates how users exited the dialog box. +- **RebootVersion** Version of DTE. +- **UpdateId** The ID of the update that is pending restart to finish installation. +- **UpdateRevision** The revision of the update that is pending restart to finish installation. +- **UserResponseString** The option that user chose in this dialog box. +- **UtcTime** The time that dialog box was displayed, in Coordinated Universal Time. + + +### Microsoft.Windows.Update.NotificationUx.EnhancedEngagedRebootReminderDialog + +This event returns information relating to the Enhanced Engaged reboot reminder dialog that was displayed. + +The following fields are available: + +- **DeviceLocalTime** The time at which the reboot reminder dialog was shown (based on the local device time settings). +- **ETag** The OneSettings versioning value. +- **ExitCode** Indicates how users exited the reboot reminder dialog box. +- **RebootVersion** The version of the DTE (Direct-to-Engaged). +- **UpdateId** The ID of the update that is waiting for reboot to finish installation. +- **UpdateRevision** The revision of the update that is waiting for reboot to finish installation. +- **UserResponseString** The option chosen by the user on the reboot dialog box. +- **UtcTime** The time at which the reboot reminder dialog was shown (in UTC). + + +### Microsoft.Windows.Update.Orchestrator.ActivityRestrictedByActiveHoursPolicy + +This event indicates a policy is present that may restrict update activity to outside of active hours. + +The following fields are available: + +- **activeHoursEnd** The end of the active hours window. +- **activeHoursStart** The start of the active hours window. +- **wuDeviceid** Unique device ID used by Windows Update. + + ### Microsoft.Windows.Update.Orchestrator.BlockedByBatteryLevel This event indicates that Windows Update activity was blocked due to low battery level. @@ -4553,6 +5611,22 @@ The following fields are available: - **wuDeviceid** Device ID. +### Microsoft.Windows.Update.Orchestrator.DisplayNeeded + +This event indicates the reboot was postponed due to needing a display. + +The following fields are available: + +- **displayNeededReason** Reason the display is needed. +- **eventScenario** Indicates the purpose of sending this event - whether because the software distribution just started checking for content, or whether it was cancelled, succeeded, or failed. +- **rebootOutsideOfActiveHours** Indicates whether the reboot was to occur outside of active hours. +- **revisionNumber** Revision number of the update. +- **updateId** Update ID. +- **updateScenarioType** The update session type. +- **uxRebootstate** Indicates the exact state of the user experience at the time the required reboot was initiated. +- **wuDeviceid** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue + + ### Microsoft.Windows.Update.Orchestrator.DTUCompletedWhenWuFlightPendingCommit This event indicates that DTU completed installation of the electronic software delivery (ESD), when Windows Update was already in Pending Commit phase of the feature update. @@ -4592,6 +5666,162 @@ The following fields are available: - **wuDeviceid** The Windows Update device ID. +### Microsoft.Windows.Update.Orchestrator.FlightInapplicable + +This event indicates that the update is no longer applicable to this device. + +The following fields are available: + +- **EventPublishedTime** Time when this event was generated. +- **flightID** The specific ID of the Windows Insider build. +- **revisionNumber** Update revision number. +- **updateId** Unique Windows Update ID. +- **updateScenarioType** Update session type. +- **UpdateStatus** Last status of update. +- **UUPFallBackConfigured** Indicates whether UUP fallback is configured. +- **wuDeviceid** Unique Device ID. + + +### Microsoft.Windows.Update.Orchestrator.InitiatingReboot + +This event sends data about an Orchestrator requesting a reboot from power management to help keep Windows up to date. + +The following fields are available: + +- **EventPublishedTime** Time of the event. +- **flightID** Unique update ID +- **interactive** Indicates whether the reboot initiation stage of the update process was entered as a result of user action. +- **rebootOutsideOfActiveHours** Indicates whether the reboot was to occur outside of active hours. +- **revisionNumber** Revision number of the update. +- **updateId** Update ID. +- **updateScenarioType** The update session type. +- **uxRebootstate** Indicates the exact state of the user experience at the time the required reboot was initiated. +- **wuDeviceid** Unique device ID used by Windows Update. + + +### Microsoft.Windows.Update.Orchestrator.Install + +This event sends launch data for a Windows Update install to help keep Windows up to date. + +The following fields are available: + +- **batteryLevel** Current battery capacity in mWh or percentage left. +- **deferReason** Reason for install not completing. +- **errorCode** The error code reppresented by a hexadecimal value. +- **eventScenario** End-to-end update session ID. +- **flightID** Unique update ID +- **flightUpdate** Indicates whether the update is a Windows Insider build. +- **ForcedRebootReminderSet** A boolean value that indicates if a forced reboot will happen for updates. +- **IgnoreReasonsForRestart** The reason(s) a Postpone Restart command was ignored. +- **installCommitfailedtime** The time it took for a reboot to happen but the upgrade failed to progress. +- **installRebootinitiatetime** The time it took for a reboot to be attempted. +- **interactive** Identifies if session is user initiated. +- **minutesToCommit** The time it took to install updates. +- **rebootOutsideOfActiveHours** Indicates whether a reboot is scheduled outside of active hours. +- **revisionNumber** Update revision number. +- **updateId** Update ID. +- **updateScenarioType** The update session type. +- **uxRebootstate** Indicates the exact state of the user experience at the time the required reboot was initiated to ensure the correct update process and experience is provided to keep Windows up to date. +- **wuDeviceid** Unique device ID used by Windows Update. + + +### Microsoft.Windows.Update.Orchestrator.LowUptimes + +This event is sent if a device is identified as not having sufficient uptime to reliably process updates in order to keep secure. + +The following fields are available: + +- **availableHistoryMinutes** The number of minutes available from the local machine activity history. +- **isLowUptimeMachine** Is the machine considered low uptime or not. +- **lowUptimeMinHours** Current setting for the minimum number of hours needed to not be considered low uptime. +- **lowUptimeQueryDays** Current setting for the number of recent days to check for uptime. +- **uptimeMinutes** Number of minutes of uptime measured. +- **wuDeviceid** Unique device ID for Windows Update. + + +### Microsoft.Windows.Update.Orchestrator.OneshotUpdateDetection + +This event returns data about scans initiated through settings UI, or background scans that are urgent; to help keep Windows up to date. + +The following fields are available: + +- **externalOneshotupdate** The last time a task-triggered scan was completed. +- **interactiveOneshotupdate** The last time an interactive scan was completed. +- **oldlastscanOneshotupdate** The last time a scan completed successfully. +- **wuDeviceid** The Windows Update Device GUID (Globally-Unique ID). + + +### Microsoft.Windows.Update.Orchestrator.PreShutdownStart + +This event is generated before the shutdown and commit operations. + +The following fields are available: + +- **wuDeviceid** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue. + + +### Microsoft.Windows.Update.Orchestrator.RebootFailed + +This event sends information about whether an update required a reboot and reasons for failure, to help keep Windows up to date. + +The following fields are available: + +- **batteryLevel** Current battery capacity in mWh or percentage left. +- **deferReason** Reason for install not completing. +- **EventPublishedTime** The time that the reboot failure occurred. +- **flightID** Unique update ID. +- **rebootOutsideOfActiveHours** Indicates whether a reboot was scheduled outside of active hours. +- **RebootResults** Hex code indicating failure reason. Typically, we expect this to be a specific USO generated hex code. +- **revisionNumber** Update revision number. +- **updateId** Update ID. +- **updateScenarioType** The update session type. +- **uxRebootstate** Indicates the exact state of the user experience at the time the required reboot was initiated to ensure the correct update process and experience is provided to keep Windows up to date. +- **wuDeviceid** Unique device ID used by Windows Update. + + +### Microsoft.Windows.Update.Orchestrator.RefreshSettings + +This event sends basic data about the version of upgrade settings applied to the system to help keep Windows up to date. + +The following fields are available: + +- **errorCode** Hex code for the error message, to allow lookup of the specific error. +- **settingsDownloadTime** Timestamp of the last attempt to acquire settings. +- **settingsETag** Version identifier for the settings. +- **wuDeviceid** Unique device ID used by Windows Update. + + +### Microsoft.Windows.Update.Orchestrator.RestoreRebootTask + +This event sends data indicating that a reboot task is missing unexpectedly on a device and the task is restored because a reboot is still required, to help keep Windows up to date. + +The following fields are available: + +- **RebootTaskMissedTimeUTC** The time when the reboot task was scheduled to run, but did not. +- **RebootTaskNextTimeUTC** The time when the reboot task was rescheduled for. +- **RebootTaskRestoredTime** Time at which this reboot task was restored. +- **wuDeviceid** Device ID for the device on which the reboot is restored. + + +### Microsoft.Windows.Update.Orchestrator.ScanTriggered + +This event indicates that Update Orchestrator has started a scan operation. + +The following fields are available: + +- **errorCode** The error code returned for the current scan operation. +- **eventScenario** Indicates the purpose of sending this event. +- **interactive** Indicates whether the scan is interactive. +- **isDTUEnabled** Indicates whether DTU (internal abbreviation for Direct Feature Update) channel is enabled on the client system. +- **isScanPastSla** Indicates whether the SLA has elapsed for scanning. +- **isScanPastTriggerSla** Indicates whether the SLA has elapsed for triggering a scan. +- **minutesOverScanSla** Indicates how many minutes the scan exceeded the scan SLA. +- **minutesOverScanTriggerSla** Indicates how many minutes the scan exceeded the scan trigger SLA. +- **scanTriggerSource** Indicates what caused the scan. +- **updateScenarioType** The update session type. +- **wuDeviceid** Unique device ID used by Windows Update. + + ### Microsoft.Windows.Update.Orchestrator.StickUpdate This event is sent when the update service orchestrator (USO) indicates the update cannot be superseded by a newer update. @@ -4602,6 +5832,22 @@ The following fields are available: - **wuDeviceid** Unique device ID controlled by the software distribution client. +### Microsoft.Windows.Update.Orchestrator.SystemNeeded + +This event sends data about why a device is unable to reboot, to help keep Windows up to date. + +The following fields are available: + +- **eventScenario** End-to-end update session ID. +- **rebootOutsideOfActiveHours** Indicates whether a reboot is scheduled outside of active hours. +- **revisionNumber** Update revision number. +- **systemNeededReason** List of apps or tasks that are preventing the system from restarting. +- **updateId** Update ID. +- **updateScenarioType** The update session type. +- **uxRebootstate** Indicates the exact state of the user experience at the time the required reboot was initiated to ensure the correct update process and experience is provided to keep Windows up to date. +- **wuDeviceid** Unique device ID used by Windows Update. + + ### Microsoft.Windows.Update.Orchestrator.TerminatedByActiveHours This event indicates that update activity was stopped due to active hours starting. @@ -4636,6 +5882,111 @@ The following fields are available: - **wuDeviceid** Unique device ID controlled by the software distribution client. +### Microsoft.Windows.Update.Orchestrator.UpdatePolicyCacheRefresh + +This event sends data on whether Update Management Policies were enabled on a device, to help keep Windows up to date. + +The following fields are available: + +- **configuredPoliciescount** Number of policies on the device. +- **policiesNamevaluesource** Policy name and source of policy (group policy, MDM or flight). +- **policyCacherefreshtime** Time when policy cache was refreshed. +- **updateInstalluxsetting** Indicates whether a user has set policies via a user experience option. +- **wuDeviceid** Unique device ID used by Windows Update. + + +### Microsoft.Windows.Update.Orchestrator.UpdateRebootRequired + +This event sends data about whether an update required a reboot to help keep Windows up to date. + +The following fields are available: + +- **flightID** The specific ID of the Windows Insider build the device is getting. +- **interactive** Indicates whether the reboot initiation stage of the update process was entered as a result of user action. +- **revisionNumber** Update revision number. +- **updateId** Update ID. +- **updateScenarioType** The update session type. +- **uxRebootstate** Indicates the exact state of the user experience at the time the required reboot was initiated to ensure the correct update process and experience is provided to keep Windows up to date. +- **wuDeviceid** Unique device ID used by Windows Update. + + +### Microsoft.Windows.Update.Orchestrator.updateSettingsFlushFailed + +This event sends information about an update that encountered problems and was not able to complete. + +The following fields are available: + +- **errorCode** The error code encountered. +- **wuDeviceid** The ID of the device in which the error occurred. + + +### Microsoft.Windows.Update.Orchestrator.UsoSession + +This event represents the state of the USO service at start and completion. + +The following fields are available: + +- **activeSessionid** A unique session GUID. +- **eventScenario** The state of the update action. +- **interactive** Is the USO session interactive? +- **lastErrorcode** The last error that was encountered. +- **lastErrorstate** The state of the update when the last error was encountered. +- **sessionType** A GUID that refers to the update session type. +- **updateScenarioType** A descriptive update session type. +- **wuDeviceid** The Windows Update device GUID. + + +### Microsoft.Windows.Update.Ux.MusNotification.EnhancedEngagedRebootUxState + +This event sends information about the configuration of Enhanced Direct-to-Engaged (eDTE), which includes values for the timing of how eDTE will progress through each phase of the reboot. + +The following fields are available: + +- **AcceptAutoModeLimit** The maximum number of days for a device to automatically enter Auto Reboot mode. +- **AutoToAutoFailedLimit** The maximum number of days for Auto Reboot mode to fail before a Reboot Failed dialog will be shown. +- **DeviceLocalTime** The date and time (based on the device date/time settings) the reboot mode changed. +- **EngagedModeLimit** The number of days to switch between DTE (Direct-to-Engaged) dialogs. +- **EnterAutoModeLimit** The maximum number of days a device can enter Auto Reboot mode. +- **ETag** The Entity Tag that represents the OneSettings version. +- **IsForcedEnabled** Identifies whether Forced Reboot mode is enabled for the device. +- **IsUltimateForcedEnabled** Identifies whether Ultimate Forced Reboot mode is enabled for the device. +- **OldestUpdateLocalTime** The date and time (based on the device date/time settings) this update’s reboot began pending. +- **RebootUxState** Identifies the reboot state: Engaged, Auto, Forced, UltimateForced. +- **RebootVersion** The version of the DTE (Direct-to-Engaged). +- **SkipToAutoModeLimit** The maximum number of days to switch to start while in Auto Reboot mode. +- **UpdateId** The ID of the update that is waiting for reboot to finish installation. +- **UpdateRevision** The revision of the update that is waiting for reboot to finish installation. + + +### Microsoft.Windows.Update.Ux.MusNotification.RebootNoLongerNeeded + +This event is sent when a security update has successfully completed. + +The following fields are available: + +- **UtcTime** The Coordinated Universal Time that the restart was no longer needed. + + +### Microsoft.Windows.Update.Ux.MusNotification.RebootScheduled + +This event sends basic information about scheduling an update-related reboot, to get security updates and to help keep Windows up-to-date. + +The following fields are available: + +- **activeHoursApplicable** Indicates whether Active Hours applies on this device. +- **IsEnhancedEngagedReboot** Indicates whether Enhanced reboot was enabled. +- **rebootArgument** Argument for the reboot task. It also represents specific reboot related action. +- **rebootOutsideOfActiveHours** True, if a reboot is scheduled outside of active hours. False, otherwise. +- **rebootScheduledByUser** True, if a reboot is scheduled by user. False, if a reboot is scheduled automatically. +- **rebootState** Current state of the reboot. +- **rebootUsingSmartScheduler** Indicates that the reboot is scheduled by SmartScheduler. +- **revisionNumber** Revision number of the OS. +- **scheduledRebootTime** Time scheduled for the reboot. +- **scheduledRebootTimeInUTC** Time scheduled for the reboot, in UTC. +- **updateId** Identifies which update is being scheduled. +- **wuDeviceid** Unique DeviceID + + ### Microsoft.Windows.Update.Ux.MusNotification.UxBrokerScheduledTask This event is sent when MUSE broker schedules a task. @@ -4646,4 +5997,73 @@ The following fields are available: - **TaskName** Name of the task. +### Microsoft.Windows.Update.Ux.MusUpdateSettings.RebootScheduled + +This event sends basic information for scheduling a device restart to install security updates. It's used to help keep Windows up to date. + +The following fields are available: + +- **activeHoursApplicable** Is the restart respecting Active Hours? +- **IsEnhancedEngagedReboot** TRUE if the reboot path is Enhanced Engaged. Otherwise, FALSE. +- **rebootArgument** The arguments that are passed to the OS for the restarted. +- **rebootOutsideOfActiveHours** Was the restart scheduled outside of Active Hours? +- **rebootScheduledByUser** Was the restart scheduled by the user? If the value is false, the restart was scheduled by the device. +- **rebootState** The state of the restart. +- **rebootUsingSmartScheduler** TRUE if the reboot should be performed by the Smart Scheduler. Otherwise, FALSE. +- **revisionNumber** The revision number of the OS being updated. +- **scheduledRebootTime** Time of the scheduled reboot +- **scheduledRebootTimeInUTC** Time of the scheduled restart, in Coordinated Universal Time. +- **updateId** The Windows Update device GUID. +- **wuDeviceid** The Windows Update device GUID. + + +## Windows Update mitigation events + +### Mitigation360Telemetry.MitigationCustom.CleanupSafeOsImages + +This event sends data specific to the CleanupSafeOsImages mitigation used for OS Updates. + +The following fields are available: + +- **ClientId** Unique identifier for each flight. +- **FlightId** Unique GUID that identifies each instances of setuphost.exe. +- **InstanceId** The update scenario in which the mitigation was executed. +- **MitigationScenario** Number of mounted images. +- **MountedImageCount** Number of mounted images that were under %systemdrive%\$Windows.~BT. +- **MountedImageMatches** Number of mounted images under %systemdrive%\$Windows.~BT that could not be removed. +- **MountedImagesFailed** Number of mounted images under %systemdrive%\$Windows.~BT that were successfully removed. +- **MountedImagesRemoved** Number of mounted images that were not under %systemdrive%\$Windows.~BT. +- **MountedImagesSkipped** Correlation vector value generated from the latest USO scan. +- **RelatedCV** HResult of this operation. +- **Result** ID indicating the mitigation scenario. +- **ScenarioId** Indicates whether the scenario was supported. +- **ScenarioSupported** Unique value for each update attempt. +- **SessionId** Unique ID for each Update. +- **UpdateId** Unique ID for the Windows Update client. +- **WuId** Unique ID for the Windows Update client. + + +### Mitigation360Telemetry.MitigationCustom.FixupEditionId + +This event sends data specific to the FixupEditionId mitigation used for OS updates. + +The following fields are available: + +- **ClientId** In the WU scenario, this will be the WU client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. +- **EditionIdUpdated** Determine whether EditionId was changed. +- **FlightId** Unique identifier for each flight. +- **InstanceId** Unique GUID that identifies each instances of setuphost.exe. +- **MitigationScenario** The update scenario in which the mitigation was executed. +- **ProductEditionId** Expected EditionId value based on GetProductInfo. +- **ProductType** Value returned by GetProductInfo. +- **RegistryEditionId** EditionId value in the registry. +- **RelatedCV** Correlation vector value generated from the latest USO scan. +- **Result** HResult of this operation. +- **ScenarioId** ID indicating the mitigation scenario. +- **ScenarioSupported** Indicates whether the scenario was supported. +- **SessionId** Unique value for each update attempt. +- **UpdateId** Unique ID for each update. +- **WuId** Unique ID for the Windows Update client. + + From 958aa64dbe0b7ab20c74e166962681a83802ca9e Mon Sep 17 00:00:00 2001 From: Joey Caparas Date: Wed, 7 Nov 2018 15:45:54 -0800 Subject: [PATCH 42/53] detection --- windows/security/threat-protection/index.md | 4 ++-- .../windows-defender-advanced-threat-protection.md | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/windows/security/threat-protection/index.md b/windows/security/threat-protection/index.md index a83dc7afac..028116204e 100644 --- a/windows/security/threat-protection/index.md +++ b/windows/security/threat-protection/index.md @@ -63,8 +63,8 @@ To further reinforce the security perimeter of your network, Windows Defender AT -**[Endpoint protection and response](windows-defender-atp/overview-endpoint-detection-response.md)**
-Endpoint protection and response capabilities are put in place to detect, investigate, and respond to advanced threats that may have made it past the first two security pillars. +**[Endpoint detection and response](windows-defender-atp/overview-endpoint-detection-response.md)**
+Endpoint detection and response capabilities are put in place to detect, investigate, and respond to advanced threats that may have made it past the first two security pillars. - [Alerts](windows-defender-atp/alerts-queue-windows-defender-advanced-threat-protection.md) - [Historical endpoint data](windows-defender-atp/investigate-machines-windows-defender-advanced-threat-protection.md#machine-timeline) diff --git a/windows/security/threat-protection/windows-defender-atp/windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/windows-defender-advanced-threat-protection.md index abe99e8194..6d9b834f75 100644 --- a/windows/security/threat-protection/windows-defender-atp/windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/windows-defender-advanced-threat-protection.md @@ -11,7 +11,7 @@ ms.pagetype: security ms.author: macapara author: mjcaparas ms.localizationpriority: medium -ms.date: 10/26/2018 +ms.date: 11/07/2018 --- # Windows Defender Advanced Threat Protection @@ -76,8 +76,8 @@ To further reinforce the security perimeter of your network, Windows Defender AT -**[Endpoint protection and response](overview-endpoint-detection-response.md)**
-Endpoint protection and response capabilities are put in place to detect, investigate, and respond to advanced threats that may have made it past the first two security pillars. +**[Endpoint detection and response](overview-endpoint-detection-response.md)**
+Endpoint detection and response capabilities are put in place to detect, investigate, and respond to advanced threats that may have made it past the first two security pillars. From 9a85f729b1272874335ba14559dc8d0879dfb639 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dani=20Halfin=20=F0=9F=93=AC=F0=9F=94=A8?= Date: Thu, 8 Nov 2018 00:24:20 +0000 Subject: [PATCH 43/53] Merged PR 12677: Updates for zero exhaust --- ...system-components-to-microsoft-services.md | 143 ++++++++++++++---- windows/privacy/manage-windows-endpoints.md | 8 +- 2 files changed, 116 insertions(+), 35 deletions(-) diff --git a/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services.md b/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services.md index 865d98939f..3ac0a072a3 100644 --- a/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services.md +++ b/windows/privacy/manage-connections-from-windows-operating-system-components-to-microsoft-services.md @@ -18,6 +18,7 @@ ms.date: 06/05/2018 - Windows 10 Enterprise, version 1607 and newer - Windows Server 2016 +- Windows Server 2019 If you're looking for content on what each diagnostic data level means and how to configure it in your organization, see [Configure Windows diagnostic data in your organization](configure-windows-diagnostic-data-in-your-organization.md). @@ -43,6 +44,12 @@ Note that **Get Help** and **Give us Feedback** links no longer work after the W We are always striving to improve our documentation and welcome your feedback. You can provide feedback by contacting telmhelp@microsoft.com. +## What's new in Windows 10, version 1809 Enterprise edition + +Here's a list of changes that were made to this article for Windows 10, version 1809: + +- Added a policy to disable Windows Defender SmartScreen + ## What's new in Windows 10, version 1803 Enterprise edition Here's a list of changes that were made to this article for Windows 10, version 1803: @@ -99,19 +106,19 @@ The following table lists management options for each setting, beginning with Wi | Setting | UI | Group Policy | MDM policy | Registry | Command line | | - | :-: | :-: | :-: | :-: | :-: | -| [1. Automatic Root Certificates Update](#automatic-root-certificates-update) | | ![Check mark](images/checkmark.png) | | | | +| [1. Automatic Root Certificates Update](#automatic-root-certificates-update) | | ![Check mark](images/checkmark.png) | | ![Check mark](images/checkmark.png) | | | [2. Cortana and Search](#bkmk-cortana) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | | | [3. Date & Time](#bkmk-datetime) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | | ![Check mark](images/checkmark.png) | | -| [4. Device metadata retrieval](#bkmk-devinst) | | ![Check mark](images/checkmark.png) | | ![Check mark](images/checkmark.png) | | -| [5. Find My Device](#find-my-device) | | ![Check mark](images/checkmark.png) | | | | -| [6. Font streaming](#font-streaming) | | ![Check mark](images/checkmark.png) | | ![Check mark](images/checkmark.png) | | +| [4. Device metadata retrieval](#bkmk-devinst) | | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | | +| [5. Find My Device](#find-my-device) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | | ![Check mark](images/checkmark.png) | | +| [6. Font streaming](#font-streaming) | | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | | | [7. Insider Preview builds](#bkmk-previewbuilds) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | | | [8. Internet Explorer](#bkmk-ie) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | | ![Check mark](images/checkmark.png) | | | [9. Live Tiles](#live-tiles) | | ![Check mark](images/checkmark.png) | | ![Check mark](images/checkmark.png) | | | [10. Mail synchronization](#bkmk-mailsync) | ![Check mark](images/checkmark.png) | | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | | | [11. Microsoft Account](#bkmk-microsoft-account) | | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | | | [12. Microsoft Edge](#bkmk-edge) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | | -| [13. Network Connection Status Indicator](#bkmk-ncsi) | | ![Check mark](images/checkmark.png) | | ![Check mark](images/checkmark.png) | | +| [13. Network Connection Status Indicator](#bkmk-ncsi) | | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | | | [14. Offline maps](#bkmk-offlinemaps) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | | ![Check mark](images/checkmark.png) | | | [15. OneDrive](#bkmk-onedrive) | | ![Check mark](images/checkmark.png) | | ![Check mark](images/checkmark.png) | | | [16. Preinstalled apps](#bkmk-preinstalledapps) | ![Check mark](images/checkmark.png) | | | | ![Check mark](images/checkmark.png) | @@ -142,6 +149,7 @@ The following table lists management options for each setting, beginning with Wi | [21. Teredo](#bkmk-teredo) | | ![Check mark](images/checkmark.png) | | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | | [22. Wi-Fi Sense](#bkmk-wifisense) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | | ![Check mark](images/checkmark.png) | | | [23. Windows Defender](#bkmk-defender) | | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | | +|     [23.1 Windows Defender Smartscreen](#bkmk-defender-smartscreen) | | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | | | [24. Windows Media Player](#bkmk-wmp) | ![Check mark](images/checkmark.png) | | | | ![Check mark](images/checkmark.png) | | [25. Windows Spotlight](#bkmk-spotlight) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | | | [26. Microsoft Store](#bkmk-windowsstore) | | ![Check mark](images/checkmark.png) | | ![Check mark](images/checkmark.png) | | @@ -202,6 +210,63 @@ See the following table for a summary of the management settings for Windows Ser | [21. Teredo](#bkmk-teredo) | | ![Check mark](images/checkmark.png) | | [28. Windows Update](#bkmk-wu) | ![Check mark](images/checkmark.png) | | +### Settings for Windows Server 2019 + +See the following table for a summary of the management settings for Windows Server 2019. + +| Setting | UI | Group Policy | MDM policy | Registry | Command line | +| - | :-: | :-: | :-: | :-: | :-: | +| [1. Automatic Root Certificates Update](#automatic-root-certificates-update) | | ![Check mark](images/checkmark.png) | | ![Check mark](images/checkmark.png) | | +| [2. Cortana and Search](#bkmk-cortana) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | | +| [3. Date & Time](#bkmk-datetime) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | | ![Check mark](images/checkmark.png) | | +| [4. Device metadata retrieval](#bkmk-devinst) | | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | | +| [5. Find My Device](#find-my-device) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | | ![Check mark](images/checkmark.png) | | +| [6. Font streaming](#font-streaming) | | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | | +| [7. Insider Preview builds](#bkmk-previewbuilds) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | | +| [8. Internet Explorer](#bkmk-ie) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | | ![Check mark](images/checkmark.png) | | +| [9. Live Tiles](#live-tiles) | | ![Check mark](images/checkmark.png) | | ![Check mark](images/checkmark.png) | | +| [10. Mail synchronization](#bkmk-mailsync) | ![Check mark](images/checkmark.png) | | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | | +| [11. Microsoft Account](#bkmk-microsoft-account) | | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | | +| [12. Microsoft Edge](#bkmk-edge) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | | +| [13. Network Connection Status Indicator](#bkmk-ncsi) | | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | | +| [14. Offline maps](#bkmk-offlinemaps) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | | ![Check mark](images/checkmark.png) | | +| [15. OneDrive](#bkmk-onedrive) | | ![Check mark](images/checkmark.png) | | ![Check mark](images/checkmark.png) | | +| [16. Preinstalled apps](#bkmk-preinstalledapps) | ![Check mark](images/checkmark.png) | | | | ![Check mark](images/checkmark.png) | +| [17. Settings > Privacy](#bkmk-settingssection) | | | | | | +|     [17.1 General](#bkmk-general) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | | +|     [17.2 Location](#bkmk-priv-location) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | | +|     [17.3 Camera](#bkmk-priv-camera) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | | +|     [17.4 Microphone](#bkmk-priv-microphone) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | | +|     [17.5 Notifications](#bkmk-priv-notifications) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png)| ![Check mark](images/checkmark.png) | | +|     [17.6 Speech, inking, & typing](#bkmk-priv-speech) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | | +|     [17.7 Account info](#bkmk-priv-accounts) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | | +|     [17.8 Contacts](#bkmk-priv-contacts) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | | +|     [17.9 Calendar](#bkmk-priv-calendar) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | | +|     [17.10 Call history](#bkmk-priv-callhistory) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | | +|     [17.11 Email](#bkmk-priv-email) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | | +|     [17.12 Messaging](#bkmk-priv-messaging) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | | +|     [17.13 Phone calls](#bkmk-priv-phone-calls) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | | +|     [17.14 Radios](#bkmk-priv-radios) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | | +|     [17.15 Other devices](#bkmk-priv-other-devices) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | | +|     [17.16 Feedback & diagnostics](#bkmk-priv-feedback) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | | +|     [17.17 Background apps](#bkmk-priv-background) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | | | +|     [17.18 Motion](#bkmk-priv-motion) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | | +|     [17.19 Tasks](#bkmk-priv-tasks) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | | +|     [17.20 App Diagnostics](#bkmk-priv-diag) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | | +| [18. Software Protection Platform](#bkmk-spp) | | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | | +| [19. Storage Health](#bkmk-storage-health) | | ![Check mark](images/checkmark.png) | | | | +| [20. Sync your settings](#bkmk-syncsettings) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | | +| [21. Teredo](#bkmk-teredo) | | ![Check mark](images/checkmark.png) | | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | +| [22. Wi-Fi Sense](#bkmk-wifisense) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | | ![Check mark](images/checkmark.png) | | +| [23. Windows Defender](#bkmk-defender) | | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | | +|     [23.1 Windows Defender Smartscreen](#bkmk-defender-smartscreen) | | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | | +| [24. Windows Media Player](#bkmk-wmp) | ![Check mark](images/checkmark.png) | | | | ![Check mark](images/checkmark.png) | +| [25. Windows Spotlight](#bkmk-spotlight) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | | +| [26. Microsoft Store](#bkmk-windowsstore) | | ![Check mark](images/checkmark.png) | | ![Check mark](images/checkmark.png) | | +|     [26.1 Apps for websites](#bkmk-apps-for-websites) | | ![Check mark](images/checkmark.png) | | | +| [27. Windows Update Delivery Optimization](#bkmk-updates) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | | +| [28. Windows Update](#bkmk-wu) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | ![Check mark](images/checkmark.png) | | | + ## How to configure each setting Use the following sections for more information about how to configure each setting. @@ -336,9 +401,17 @@ After that, configure the following: ### 4. Device metadata retrieval -To prevent Windows from retrieving device metadata from the Internet, apply the Group Policy: **Computer Configuration** > **Administrative Templates** > **System** > **Device Installation** > **Prevent device metadata retrieval from the Internet**. +To prevent Windows from retrieving device metadata from the Internet: -You can also create a new REG\_DWORD registry setting named **PreventDeviceMetadataFromNetwork** in **HKEY\_LOCAL\_MACHINE\\SOFTWARE\\Policies\\Microsoft\\Windows\\Device Metadata** and set it to 1 (one). +- Apply the Group Policy: **Computer Configuration** > **Administrative Templates** > **System** > **Device Installation** > **Prevent device metadata retrieval from the Internet**. + + -or - + +- Create a new REG\_DWORD registry setting named **PreventDeviceMetadataFromNetwork** in **HKEY\_LOCAL\_MACHINE\\SOFTWARE\\Policies\\Microsoft\\Windows\\Device Metadata** and set it to 1 (one). + + -or - + +- Apply the DeviceInstallation/PreventDeviceMetadataFromNetwork MDM policy from the [Policy CSP](https://docs.microsoft.com/windows/client-management/mdm/policy-csp-deviceinstallation#deviceinstallation-preventdevicemetadatafromnetwork). ### 5. Find My Device @@ -608,7 +681,7 @@ You can turn off NCSI by doing one of the following: - Enable the Group Policy: **Computer Configuration** > **Administrative Templates** > **System** > **Internet Communication Management** > **Internet Communication Settings** > **Turn off Windows Network Connectivity Status Indicator active tests** -- In Windows 10, version 1703 and later, apply the Connectivity/DisallowNetworkConnectivityActiveTests MDM policy. +- In Windows 10, version 1703 and later, apply the Connectivity/DisallowNetworkConnectivityActiveTests MDM policy from the [Policy CSP](https://docs.microsoft.com/windows/client-management/mdm/policy-csp-connectivity#connectivity-disallownetworkconnectivityactivetests) with a value of 1. > [!NOTE] > After you apply this policy, you must restart the device for the policy setting to take effect. @@ -879,31 +952,13 @@ To turn off **Turn on SmartScreen Filter to check web content (URLs) that Micros -or- -- In Windows Server 2016, apply the Group Policy: **Computer Configuration** > **Administrative Templates** > **Windows Components** > **Microsoft Edge** > **Configure SmartScreen Filter**. - In Windows 10, version 1703, apply the Group Policy: **Computer Configuration** > **Administrative Templates** > **Windows Components** > **Microsoft Edge** > **Configure Windows Defender SmartScreen Filter**. - - In Windows Server 2016, apply the Group Policy: **Computer Configuration** > **Administrative Templates** > **Windows Components** > **File Explorer** > **Configure Windows SmartScreen**. - In Windows 10, version 1703 , apply the Group Policy: **Computer Configuration** > **Administrative Templates** > **Windows Components** > **File Explorer** > **Configure Windows Defender SmartScreen**. - - -or- - -- Apply the Browser/AllowSmartScreen MDM policy from the [Policy CSP](https://msdn.microsoft.com/library/windows/hardware/dn904962.aspx) where 0 is turned off and 1 is turned on. - - -or- - - Create a provisioning package, using: - - - For Internet Explorer: **Runtime settings** > **Policies** > **Browser** > **AllowSmartScreen** - - - For Microsoft Edge: **Runtime settings** > **Policies** > **MicrosoftEdge** > **AllowSmartScreen** + - For Internet Explorer: **Runtime settings > Policies > Browser > AllowSmartScreen** + - For Microsoft Edge: **Runtime settings > Policies > MicrosoftEdge > AllowSmartScreen** -or- -- Create a REG\_DWORD registry setting named **EnableWebContentEvaluation** in **HKEY\_CURRENT\_USER\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\AppHost** with a value of 0 (zero). - - -or- - -- Create a REG\_DWORD registry setting named **EnableSmartScreen** in **HKEY\_LOCAL\_MACHINE\\Sofware\\Policies\\Microsoft\\Windows\\System** with a value of 0 (zero). +- Create a REG_DWORD registry setting named **EnableWebContentEvaluation** in **HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\AppHost** with a value of 0 (zero). To turn off **Send Microsoft info about how I write to help us improve typing and writing in the future**: @@ -1793,6 +1848,36 @@ For Windows 10 only, you can stop Enhanced Notifications: You can also use the registry to turn off Malicious Software Reporting Tool diagnostic data by setting the REG\_DWORD value **HKEY\_LOCAL\_MACHINE\\Software\\Policies\\Microsoft\\MRT\\DontReportInfectionInformation** to 1. +### 23.1 Windows Defender SmartScreen + +To disable Windows Defender Smartscreen: + +- In Group Policy, configure - **Computer Configuration > Administrative Templates > Windows Components > Windows Defender SmartScreen > Explorer > Configure Windows Defender SmartScreen** : **Disable** + + -or- + +- **Computer Configuration > Administrative Templates > Windows Components > File Explorer > Configure Windows Defender SmartScreen** : **Disable** + + -and- + +- **Computer Configuration > Administrative Templates > Windows Components > Windows Defender SmartScreen > Explorer > Configure app install control** : **Enable** + + -or- + +- Create a REG_DWORD registry setting named **EnableSmartScreen** in **HKEY_LOCAL_MACHINE\Sofware\Policies\Microsoft\Windows\System** with a value of 0 (zero). + + -and- + +- Create a REG_DWORD registry setting named **ConfigureAppInstallControlEnabled** in **HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Defender\SmartScreen** with a value of 1. + + -and- + +- Create a SZ registry setting named **ConfigureAppInstallControl** in **HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Defender\SmartScreen** with a value of **Anywhere**. + + -or- + +- Apply the Browser/AllowSmartScreen MDM policy from the [Policy CSP](https://msdn.microsoft.com/library/windows/hardware/dn904962.aspx) where 0 is turned off and 1 is turned on. + ### 24. Windows Media Player To remove Windows Media Player on Windows 10: diff --git a/windows/privacy/manage-windows-endpoints.md b/windows/privacy/manage-windows-endpoints.md index 721814aabe..c324f877dd 100644 --- a/windows/privacy/manage-windows-endpoints.md +++ b/windows/privacy/manage-windows-endpoints.md @@ -145,13 +145,9 @@ If you [turn off traffic for this endpoint](manage-connections-from-windows-oper ## Certificates -The following endpoint is used by the Automatic Root Certificates Update component to automatically check the list of trusted authorities on Windows Update to see if an update is available. It is possible to [turn off traffic to this endpoint](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#automatic-root-certificates-update), but that is not recommended because when root certificates are updated over time, applications and websites may stop working because they did not receive an updated root certificate the application uses. +The following endpoint is used by the Automatic Root Certificates Update component to automatically check the list of trusted authorities on Windows Update to see if an update is available. It is possible to [turn off traffic to this endpoint](manage-connections-from-windows-operating-system-components-to-microsoft-services.md#automatic-root-certificates-update), but that is not recommended because when root certificates are updated over time, applications and websites may stop working because they did not receive an updated root certificate the application uses. -| Source process | Protocol | Destination | Applies from Windows 10 version | -|----------------|----------|------------|----------------------------------| -| svchost | HTTP | ctldl.windowsupdate.com | 1709 | - -The following endpoints are used to download certificates that are publicly known to be fraudulent. +Additionally, it is used to download certificates that are publicly known to be fraudulent. These settings are critical for both Windows security and the overall security of the Internet. We do not recommend blocking this endpoint. If traffic to this endpoint is turned off, Windows no longer automatically downloads certificates known to be fraudulent, which increases the attack vector on the device. From a675e587ef27e741cf6f4fd61f1dcab201d77af8 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Thu, 8 Nov 2018 00:25:07 +0000 Subject: [PATCH 44/53] Merged PR 12668: Hybrid AD join for Autopilot New content --- windows/deployment/windows-autopilot/TOC.md | 2 + .../windows-autopilot/user-driven-aad.md | 54 ++++++++++++------- .../windows-autopilot/user-driven-hybrid.md | 25 +++++++-- .../windows-autopilot/user-driven.md | 23 +++----- 4 files changed, 67 insertions(+), 37 deletions(-) diff --git a/windows/deployment/windows-autopilot/TOC.md b/windows/deployment/windows-autopilot/TOC.md index 315115e706..19d3896e66 100644 --- a/windows/deployment/windows-autopilot/TOC.md +++ b/windows/deployment/windows-autopilot/TOC.md @@ -6,6 +6,8 @@ ## [Scenarios and Capabilities](windows-autopilot-scenarios.md) ### [Support for existing devices](existing-devices.md) ### [User-driven mode](user-driven.md) +#### [User-driven mode for AAD](user-driven-aad.md) +#### [User-driven mode for hybrid AAD](user-driven-hybrid.md) ### [Self-deploying mode](self-deploying.md) ### [Enrollment status page](enrollment-status.md) ### [Windows Autopilot Reset](windows-autopilot-reset.md) diff --git a/windows/deployment/windows-autopilot/user-driven-aad.md b/windows/deployment/windows-autopilot/user-driven-aad.md index 6da9e99b33..b63517060d 100644 --- a/windows/deployment/windows-autopilot/user-driven-aad.md +++ b/windows/deployment/windows-autopilot/user-driven-aad.md @@ -1,19 +1,35 @@ ---- -title: User-driven mode for AAD -description: Listing of Autopilot scenarios -keywords: mdm, setup, windows, windows 10, oobe, manage, deploy, autopilot, ztd, zero-touch, partner, msfb, intune -ms.prod: w10 -ms.mktglfcycl: deploy -ms.localizationpriority: low -ms.sitesec: library -ms.pagetype: deploy -author: greg-lindsay -ms.author: greg-lindsay -ms.date: 10/02/2018 ---- - -# Windows Autopilot user-driven mode for Azure Active Directory - -**Applies to: Windows 10** - -PLACEHOLDER. This topic is a placeholder for the AAD-specific instuctions currently in user-driven.md. +--- +title: User-driven mode for AAD +description: Listing of Autopilot scenarios +keywords: mdm, setup, windows, windows 10, oobe, manage, deploy, autopilot, ztd, zero-touch, partner, msfb, intune +ms.prod: w10 +ms.mktglfcycl: deploy +ms.localizationpriority: low +ms.sitesec: library +ms.pagetype: deploy +author: greg-lindsay +ms.author: greg-lindsay +ms.date: 11/07/2018 +--- + +# Windows Autopilot user-driven mode for Azure Active Directory join + +**Applies to: Windows 10** + +## Procedures + +In order to perform a user-driven deployment using Windows Autopilot, the following preparation steps need to be completed: + +- Ensure that the users who will be performing user-driven mode deployments are able to join devices to Azure Active Directory. See [Configure device settings](https://docs.microsoft.com/azure/active-directory/device-management-azure-portal#configure-device-settings) in the Azure Active Directory documentation for more information. +- Create an Autopilot profile for user-driven mode with the desired settings. In Microsoft Intune, this mode is explicitly chosen when creating the profile. With Microsoft Store for Business and Partner Center, user-driven mode is the default and does not need to be selected. +- If using Intune, create a device group in Azure Active Directory and assign the Autopilot profile to that group. + +For each device that will be deployed using user-driven deployment, these additional steps are needed: + +- Ensure that the device has been added to Windows Autopilot. This can be done automatically by an OEM or partner at the time the device is purchased, or it can be done through a manual harvesting process later. See [Adding devices to Windows Autopilot](add-devices.md) for more information. +- Ensure an Autopilot profile has been assigned to the device: + - If using Intune and Azure Active Directory dynamic device groups, this can be done automatically. + - If using Intune and Azure Active Directory static device groups, manually add the device to the device group. + - If using other methods (e.g. Microsoft Store for Business or Partner Center), manually assign an Autopilot profile to the device. + +Also see the **Validation** section in the [Windows Autopilot user-driven mode](user-driven.md) topic. diff --git a/windows/deployment/windows-autopilot/user-driven-hybrid.md b/windows/deployment/windows-autopilot/user-driven-hybrid.md index 6f4a760dcc..88e4a87f15 100644 --- a/windows/deployment/windows-autopilot/user-driven-hybrid.md +++ b/windows/deployment/windows-autopilot/user-driven-hybrid.md @@ -9,12 +9,31 @@ ms.sitesec: library ms.pagetype: deploy author: greg-lindsay ms.author: greg-lindsay -ms.date: 10/02/2018 +ms.date: 11/07/2018 --- -# Windows Autopilot user-driven mode for Hybrid Azure Active Directory Join +# Windows Autopilot user-driven mode for hybrid Azure Active Directory join **Applies to: Windows 10** -PLACEHOLDER. This topic is a placeholder for the AD-specific (hybrid) instuctions. +Windows Autopilot requires that devices be Azure Active Directory joined. If you have an on-premises Active Directory environment and want to also join devices to your on-premises domain, you can accomplish this by configuring Autopilot devices to be [hybrid Azure Active Directory (AAD) joined](https://docs.microsoft.com/azure/active-directory/devices/hybrid-azuread-join-plan). + +## Requirements + +To perform a user-driven hybrid AAD joined deployment using Windows Autopilot: + +- Users must be able to join devices to Azure Active Directory. +- A Windows Autopilot profile for user-driven mode must be created and + - **Hybrid Azure AD joined** must be specified as the selected option under **Join to Azure AD as** in the Autopilot profile. +- If using Intune, a device group in Azure Active Directory must exist with the Windows Autopilot profile assigned to that group. +- The device must be running Windows 10, version 1809 or later. +- The device must be connected to the Internet and have access to an Active Directory domain controller. +- The Intune Connector for Active Directory must be installed. + - Note: The Intune Connector will perform an on-prem AD join, therefore users do not need on-prem AD-join permission, assuming the Connector is [configured to perform this action](https://docs.microsoft.com/intune/windows-autopilot-hybrid#increase-the-computer-account-limit-in-the-organizational-unit) on the user's behalf. + +## Step by step instructions + +See [Deploy hybrid Azure AD joined devices using Intune and Windows Autopilot](https://docs.microsoft.com/intune/windows-autopilot-hybrid). + +Also see the **Validation** section in the [Windows Autopilot user-driven mode](user-driven.md) topic. \ No newline at end of file diff --git a/windows/deployment/windows-autopilot/user-driven.md b/windows/deployment/windows-autopilot/user-driven.md index 1aa1ad5321..4fd86ef3b5 100644 --- a/windows/deployment/windows-autopilot/user-driven.md +++ b/windows/deployment/windows-autopilot/user-driven.md @@ -8,11 +8,13 @@ ms.localizationpriority: medium ms.sitesec: library ms.pagetype: deploy author: greg-lindsay -ms.date: 10/02/2018 +ms.date: 11/07/2018 ms.author: greg-lindsay -ms.date: 10/02/2018 +ms.date: 11/07/2018 --- +# Windows Autopilot user-driven mode + Windows Autopilot user-driven mode is designed to enable new Windows 10 devices to be transformed from their initial state, directly from the factory, into a ready-to-use state without requiring that IT personnel ever touch the device. The process is designed to be simple so that anyone can complete it, enabling devices to be shipped or distributed to the end user directly with simple instructions: - Unbox the device, plug it in, and turn it on. @@ -24,21 +26,12 @@ After completing those simple steps, the remainder of the process is completely Today, Windows Autopilot user-driven mode supports joining devices to Azure Active Directory. Support for Hybrid Azure Active Directory Join (with devices joined to an on-premises Active Directory domain) will be available in a future Windows 10 release. See [Introduction to device management in Azure Active Directory](https://docs.microsoft.com/azure/active-directory/device-management-introduction) for more information about the differences between these two join options. -## Step by step +## Available user-driven modes -In order to perform a user-driven deployment using Windows Autopilot, the following preparation steps need to be completed: +The following options are available for user-driven deployment: -- Ensure that the users who will be performing user-driven mode deployments are able to join devices to Azure Active Directory. See [Configure device settings](https://docs.microsoft.com/azure/active-directory/device-management-azure-portal#configure-device-settings) in the Azure Active Directory documentation for more information. -- Create an Autopilot profile for user-driven mode with the desired settings. In Microsoft Intune, this mode is explicitly chosen when creating the profile. With Microsoft Store for Business and Partner Center, user-driven mode is the default and does not need to be selected. -- If using Intune, create a device group in Azure Active Directory and assign the Autopilot profile to that group. - -For each machine that will be deployed using user-driven deployment, these additional steps are needed: - -- Ensure that the device has been added to Windows Autopilot. This can be done automatically by an OEM or partner at the time the device is purchased, or it can be done through a manual harvesting process later. See [Adding devices to Windows Autopilot](add-devices.md) for more information. -- Ensure an Autopilot profile has been assigned to the device: - - If using Intune and Azure Active Directory dynamic device groups, this can be done automatically. - - If using Intune and Azure Active Directory static device groups, manually add the device to the device group. - - If using other methods (e.g. Microsoft Store for Business or Partner Center), manually assign an Autopilot profile to the device. +- [Azure Active Directory join](user-driven-aad.md) is available if devices do not need to be joined to an on-prem Active Directory domain. +- [Hybrid Azure Active Directory join](user-driven-hybrid.md) is available for devices that must be joined to both Azure Active Directory and your on-prem Active Directory domain. ## Validation From a1938d0e7ab01c9eafc8af33ab05e426356952aa Mon Sep 17 00:00:00 2001 From: Adam Gross Date: Wed, 7 Nov 2018 18:52:27 -0600 Subject: [PATCH 45/53] Update upgrade-readiness-deployment-script.md Fixed a typo --- .../deployment/upgrade/upgrade-readiness-deployment-script.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deployment/upgrade/upgrade-readiness-deployment-script.md b/windows/deployment/upgrade/upgrade-readiness-deployment-script.md index 76e0198780..e295b3fa32 100644 --- a/windows/deployment/upgrade/upgrade-readiness-deployment-script.md +++ b/windows/deployment/upgrade/upgrade-readiness-deployment-script.md @@ -93,7 +93,7 @@ The deployment script displays the following exit codes to let you know if it wa
N/A
1 - Unexpected error occurred while executiEng the script.1 - Unexpected error occurred while executing the script. The files in the deployment script are likely corrupted. Download the [latest script](https://go.microsoft.com/fwlink/?LinkID=822966) from the download center and try again.