From 645cad5614b8d39a1ad82fa8f1e83e98d8e4755f Mon Sep 17 00:00:00 2001 From: Pete Bacon Darwin Date: Thu, 27 May 2021 21:27:38 +0100 Subject: [PATCH] docs(core): describe interactions between view-encapsulated components (#42397) This commit adds information to the view encapsulation guide that describes the styling interactions between components that use differing view encapsulation modes. Closes #40715 PR Close #42397 --- .pullapprove.yml | 5 +- .../src/app/quest-summary.component.ts | 4 +- .../e2e/src/app.e2e-spec.ts | 97 +++++++++++++ .../view-encapsulation/example-config.json | 0 .../src/app/app.component.ts | 18 +++ .../view-encapsulation/src/app/app.module.ts | 22 +++ .../app/emulated-encapsulation.component.ts | 14 ++ .../src/app/no-encapsulation.component.ts | 13 ++ .../app/shadow-dom-encapsulation.component.ts | 15 ++ .../view-encapsulation/src/index.html | 13 ++ .../examples/view-encapsulation/src/main.ts | 12 ++ .../view-encapsulation/stackblitz.json | 16 +++ aio/content/guide/view-encapsulation.md | 128 ++++++++++++++---- .../emulated-encapsulation.png | Bin 0 -> 23714 bytes .../view-encapsulation/no-encapsulation.png | Bin 0 -> 10497 bytes .../shadow-dom-encapsulation.png | Bin 0 -> 48235 bytes 16 files changed, 324 insertions(+), 33 deletions(-) create mode 100644 aio/content/examples/view-encapsulation/e2e/src/app.e2e-spec.ts create mode 100644 aio/content/examples/view-encapsulation/example-config.json create mode 100644 aio/content/examples/view-encapsulation/src/app/app.component.ts create mode 100644 aio/content/examples/view-encapsulation/src/app/app.module.ts create mode 100644 aio/content/examples/view-encapsulation/src/app/emulated-encapsulation.component.ts create mode 100644 aio/content/examples/view-encapsulation/src/app/no-encapsulation.component.ts create mode 100644 aio/content/examples/view-encapsulation/src/app/shadow-dom-encapsulation.component.ts create mode 100644 aio/content/examples/view-encapsulation/src/index.html create mode 100644 aio/content/examples/view-encapsulation/src/main.ts create mode 100644 aio/content/examples/view-encapsulation/stackblitz.json create mode 100644 aio/content/images/guide/view-encapsulation/emulated-encapsulation.png create mode 100644 aio/content/images/guide/view-encapsulation/no-encapsulation.png create mode 100644 aio/content/images/guide/view-encapsulation/shadow-dom-encapsulation.png diff --git a/.pullapprove.yml b/.pullapprove.yml index f00412b1e9..6b03a5d858 100644 --- a/.pullapprove.yml +++ b/.pullapprove.yml @@ -409,7 +409,10 @@ groups: 'aio/content/guide/template-statements.md', 'aio/content/guide/user-input.md', 'aio/content/examples/user-input/**', - 'aio/content/images/guide/user-input/**' + 'aio/content/images/guide/user-input/**', + 'aio/content/guide/view-encapsulation.md', + 'aio/content/examples/view-encapsulation/**', + 'aio/content/images/guide/view-encapsulation/**' ]) reviewers: users: diff --git a/aio/content/examples/component-styles/src/app/quest-summary.component.ts b/aio/content/examples/component-styles/src/app/quest-summary.component.ts index 9b75c0f403..418937182b 100644 --- a/aio/content/examples/component-styles/src/app/quest-summary.component.ts +++ b/aio/content/examples/component-styles/src/app/quest-summary.component.ts @@ -1,6 +1,6 @@ /* tslint:disable:no-unused-variable */ // #docplaster -import { Component, ViewEncapsulation } from '@angular/core'; +import { Component } from '@angular/core'; // #docregion @Component({ @@ -12,7 +12,7 @@ export class QuestSummaryComponent { } // #enddocregion /* // #docregion encapsulation.shadow - // warning: few browsers support shadow DOM encapsulation at this time + // warning: not all browsers support shadow DOM encapsulation at this time encapsulation: ViewEncapsulation.ShadowDom // #enddocregion encapsulation.shadow */ diff --git a/aio/content/examples/view-encapsulation/e2e/src/app.e2e-spec.ts b/aio/content/examples/view-encapsulation/e2e/src/app.e2e-spec.ts new file mode 100644 index 0000000000..8443edafac --- /dev/null +++ b/aio/content/examples/view-encapsulation/e2e/src/app.e2e-spec.ts @@ -0,0 +1,97 @@ +import { browser, by, element, logging, WebElement } from 'protractor'; + +/* tslint:disable:max-line-length */ + +describe('View Encapsulation App', () => { + + const RED = 'rgba(255, 0, 0, 1)'; + const GREEN = 'rgba(0, 128, 0, 1)'; + const BLUE = 'rgba(0, 0, 255, 1)'; + + beforeAll(() => browser.get('')); + + it('should color the `NoEncapsulationComponent` heading red, when it is at the top level', async () => { + const noEncapsulationHeading = element(by.css('app-root > app-no-encapsulation > h2')); + expect(await noEncapsulationHeading.getCssValue('color')).toEqual(RED); + }); + + it('should color the `NoEncapsulationComponent` message red, when it is at the top level', async () => { + const noEncapsulationMessage = element(by.css('app-root > app-no-encapsulation > .none-message')); + expect(await noEncapsulationMessage.getCssValue('color')).toEqual(RED); + }); + + it('should color the `EmulatedEncapsulationComponent` heading green, when it is at the top level', async () => { + const noEncapsulationHeading = element(by.css('app-root > app-emulated-encapsulation > h2')); + expect(await noEncapsulationHeading.getCssValue('color')).toEqual(GREEN); + }); + + it('should color the `EmulatedEncapsulationComponent` message green, when it is at the top level', async () => { + const noEncapsulationMessage = element(by.css('app-root > app-emulated-encapsulation > .emulated-message')); + expect(await noEncapsulationMessage.getCssValue('color')).toEqual(GREEN); + }); + + it('should color the `NoEncapsulationComponent` heading red, when it is a child of `EmulatedEncapsulationComponent`)', async () => { + const noEncapsulationHeading = element(by.css('app-root > app-emulated-encapsulation > app-no-encapsulation > h2')); + expect(await noEncapsulationHeading.getCssValue('color')).toEqual(RED); + }); + + it('should color the `NoEncapsulationComponent` message red, when it is a child of `EmulatedEncapsulationComponent`)', async () => { + const noEncapsulationMessage = element(by.css('app-root > app-emulated-encapsulation > app-no-encapsulation > .none-message')); + expect(await noEncapsulationMessage.getCssValue('color')).toEqual(RED); + }); + + it('should color the `ShadowDomEncapsulationComponent` heading blue', async () => { + const noEncapsulationHeading = await findShadowDomElement('app-root > app-shadow-dom-encapsulation', 'h2'); + expect(await noEncapsulationHeading.getCssValue('color')).toEqual(BLUE); + }); + + it('should color the `ShadowDomEncapsulationComponent` message blue', async () => { + const noEncapsulationHMessage = await findShadowDomElement('app-root > app-shadow-dom-encapsulation', '.shadow-message'); + expect(await noEncapsulationHMessage.getCssValue('color')).toEqual(BLUE); + }); + + it('should color the `EmulatedEncapsulationComponent` heading green, when it is a child of `ShadowDomEncapsulationComponent`', async () => { + const noEncapsulationHeading = await findShadowDomElement('app-root > app-shadow-dom-encapsulation', 'app-emulated-encapsulation > h2'); + expect(await noEncapsulationHeading.getCssValue('color')).toEqual(GREEN); + }); + + it('should color the `EmulatedEncapsulationComponent` message green, when it is a child of `ShadowDomEncapsulationComponent`', async () => { + const noEncapsulationMessage = await findShadowDomElement('app-root > app-shadow-dom-encapsulation', 'app-emulated-encapsulation > .emulated-message'); + expect(await noEncapsulationMessage.getCssValue('color')).toEqual(GREEN); + }); + + it('should color the `NoEncapsulationComponent` heading blue (not red!), when it is a child of the `ShadowDomEncapsulationComponent`', async () => { + const noEncapsulationHeading = await findShadowDomElement('app-root > app-shadow-dom-encapsulation', 'app-no-encapsulation > h2'); + expect(await noEncapsulationHeading.getCssValue('color')).toEqual(BLUE); + }); + + it('should color the `NoEncapsulationComponent` message red (not blue!), when it is a child of the `ShadowDomEncapsulationComponent`', async () => { + const noEncapsulationMessage = await findShadowDomElement('app-root > app-shadow-dom-encapsulation', 'app-no-encapsulation > .none-message'); + expect(await noEncapsulationMessage.getCssValue('color')).toEqual(RED); + }); + + it('should color the `NoEncapsulationComponent` heading blue (not red!), when it is a child of the `EmulatedEncapsulationComponent`, which is a child of the `ShadowDomEncapsulationComponent`', async () => { + const noEncapsulationHeading = await findShadowDomElement('app-root > app-shadow-dom-encapsulation', 'app-emulated-encapsulation > app-no-encapsulation > h2'); + expect(await noEncapsulationHeading.getCssValue('color')).toEqual(BLUE); + }); + + it('should color the `NoEncapsulationComponent` message red (not blue!), when it is a child of the `EmulatedEncapsulationComponent`, which is a child of the `ShadowDomEncapsulationComponent`', async () => { + const noEncapsulationMessage = await findShadowDomElement('app-root > app-shadow-dom-encapsulation', 'app-emulated-encapsulation > app-no-encapsulation > .none-message'); + expect(await noEncapsulationMessage.getCssValue('color')).toEqual(RED); + }); + + afterEach(async () => { + // Assert that there are no errors emitted from the browser + const logs = await browser.manage().logs().get(logging.Type.BROWSER); + expect(logs).not.toContain(jasmine.objectContaining({ + level: logging.Level.SEVERE, + } as logging.Entry)); + }); +}); + + +async function findShadowDomElement(shadowHostSelector: string, shadowElementSelector: string): Promise { + const shadowHost = browser.findElement(by.css(shadowHostSelector)); + const shadowRoot: any = await browser.executeScript('return arguments[0].shadowRoot', shadowHost); + return shadowRoot.findElement(by.css(shadowElementSelector)); +} diff --git a/aio/content/examples/view-encapsulation/example-config.json b/aio/content/examples/view-encapsulation/example-config.json new file mode 100644 index 0000000000..e69de29bb2 diff --git a/aio/content/examples/view-encapsulation/src/app/app.component.ts b/aio/content/examples/view-encapsulation/src/app/app.component.ts new file mode 100644 index 0000000000..ef994a53b9 --- /dev/null +++ b/aio/content/examples/view-encapsulation/src/app/app.component.ts @@ -0,0 +1,18 @@ +import { Component, ViewEncapsulation } from '@angular/core'; + +@Component({ + selector: 'app-root', + template: ` + + + + `, + styles: [ + 'app-no-encapsulation, app-emulated-encapsulation, app-shadow-dom-encapsulation { display: block; max-width: 500px; padding: 5px; margin: 5px 0; }', + 'app-no-encapsulation { border: solid 2px red; }', + 'app-emulated-encapsulation { border: solid 2px green; }', + 'app-shadow-dom-encapsulation { border: solid 2px blue; }', + ], + encapsulation: ViewEncapsulation.None, +}) +export class AppComponent { } diff --git a/aio/content/examples/view-encapsulation/src/app/app.module.ts b/aio/content/examples/view-encapsulation/src/app/app.module.ts new file mode 100644 index 0000000000..00bfe8093a --- /dev/null +++ b/aio/content/examples/view-encapsulation/src/app/app.module.ts @@ -0,0 +1,22 @@ +import { BrowserModule } from '@angular/platform-browser'; +import { NgModule } from '@angular/core'; + +import { AppComponent } from './app.component'; +import { NoEncapsulationComponent } from './no-encapsulation.component'; +import { ShadowDomEncapsulationComponent } from './shadow-dom-encapsulation.component'; +import { EmulatedEncapsulationComponent } from './emulated-encapsulation.component'; + +@NgModule({ + declarations: [ + AppComponent, + NoEncapsulationComponent, + ShadowDomEncapsulationComponent, + EmulatedEncapsulationComponent + ], + imports: [ + BrowserModule + ], + providers: [], + bootstrap: [AppComponent] +}) +export class AppModule { } diff --git a/aio/content/examples/view-encapsulation/src/app/emulated-encapsulation.component.ts b/aio/content/examples/view-encapsulation/src/app/emulated-encapsulation.component.ts new file mode 100644 index 0000000000..94a9bd66fb --- /dev/null +++ b/aio/content/examples/view-encapsulation/src/app/emulated-encapsulation.component.ts @@ -0,0 +1,14 @@ +import { Component, ViewEncapsulation } from '@angular/core'; + +// #docregion +@Component({ + selector: 'app-emulated-encapsulation', + template: ` +

Emulated

+
Emulated encapsulation
+ + `, + styles: ['h2, .emulated-message { color: green; }'], + encapsulation: ViewEncapsulation.Emulated, +}) +export class EmulatedEncapsulationComponent { } diff --git a/aio/content/examples/view-encapsulation/src/app/no-encapsulation.component.ts b/aio/content/examples/view-encapsulation/src/app/no-encapsulation.component.ts new file mode 100644 index 0000000000..341aacae7e --- /dev/null +++ b/aio/content/examples/view-encapsulation/src/app/no-encapsulation.component.ts @@ -0,0 +1,13 @@ +import { Component, ViewEncapsulation } from '@angular/core'; + +// #docregion +@Component({ + selector: 'app-no-encapsulation', + template: ` +

None

+
No encapsulation
+ `, + styles: ['h2, .none-message { color: red; }'], + encapsulation: ViewEncapsulation.None, +}) +export class NoEncapsulationComponent { } diff --git a/aio/content/examples/view-encapsulation/src/app/shadow-dom-encapsulation.component.ts b/aio/content/examples/view-encapsulation/src/app/shadow-dom-encapsulation.component.ts new file mode 100644 index 0000000000..536e312bea --- /dev/null +++ b/aio/content/examples/view-encapsulation/src/app/shadow-dom-encapsulation.component.ts @@ -0,0 +1,15 @@ +import { Component, ViewEncapsulation } from '@angular/core'; + +// #docregion +@Component({ + selector: 'app-shadow-dom-encapsulation', + template: ` +

ShadowDom

+
Shadow DOM encapsulation
+ + + `, + styles: ['h2, .shadow-message { color: blue; }'], + encapsulation: ViewEncapsulation.ShadowDom, +}) +export class ShadowDomEncapsulationComponent { } diff --git a/aio/content/examples/view-encapsulation/src/index.html b/aio/content/examples/view-encapsulation/src/index.html new file mode 100644 index 0000000000..3e64774523 --- /dev/null +++ b/aio/content/examples/view-encapsulation/src/index.html @@ -0,0 +1,13 @@ + + + + + Ponyracer + + + + + + + + diff --git a/aio/content/examples/view-encapsulation/src/main.ts b/aio/content/examples/view-encapsulation/src/main.ts new file mode 100644 index 0000000000..c7b673cf44 --- /dev/null +++ b/aio/content/examples/view-encapsulation/src/main.ts @@ -0,0 +1,12 @@ +import { enableProdMode } from '@angular/core'; +import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; + +import { AppModule } from './app/app.module'; +import { environment } from './environments/environment'; + +if (environment.production) { + enableProdMode(); +} + +platformBrowserDynamic().bootstrapModule(AppModule) + .catch(err => console.error(err)); diff --git a/aio/content/examples/view-encapsulation/stackblitz.json b/aio/content/examples/view-encapsulation/stackblitz.json new file mode 100644 index 0000000000..8109cb8480 --- /dev/null +++ b/aio/content/examples/view-encapsulation/stackblitz.json @@ -0,0 +1,16 @@ +{ + "description": "View Encapsulation", + "files": [ + "!**/*.d.ts", + "!**/*.js", + "!**/*.[1,2].*" + ], + "tags": [ + [ + "view encapsulation", + "shadow DOM", + "CSS", + "component styling" + ] + ] +} diff --git a/aio/content/guide/view-encapsulation.md b/aio/content/guide/view-encapsulation.md index e0dba19ad5..bcb6b76699 100644 --- a/aio/content/guide/view-encapsulation.md +++ b/aio/content/guide/view-encapsulation.md @@ -3,34 +3,31 @@ In Angular, component CSS styles are encapsulated into the component's view and don't affect the rest of the application. -To control how this encapsulation happens on a *per -component* basis, you can set the *view encapsulation mode* in the component metadata. +To control how this encapsulation happens on a _per +component_ basis, you can set the _view encapsulation mode_ in the component metadata. Choose from the following modes: -* `ShadowDom` view encapsulation uses the browser's native shadow DOM implementation (see - [Shadow DOM](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Shadow_DOM) - on the [MDN](https://developer.mozilla.org) site) +- `ShadowDom` view encapsulation uses the browser's native shadow DOM implementation (see + [Shadow DOM](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Shadow_DOM)) to attach a shadow DOM to the component's host element, and then puts the component view inside that shadow DOM. The component's styles are included within the shadow DOM. -* `Emulated` view encapsulation (the default) emulates the behavior of shadow DOM by preprocessing +- `Emulated` view encapsulation (the default) emulates the behavior of shadow DOM by preprocessing (and renaming) the CSS code to effectively scope the CSS to the component's view. For details, see [Inspecting generated CSS](guide/view-encapsulation#inspect-generated-css) below. -* `None` means that Angular does no view encapsulation. +- `None` means that Angular does no view encapsulation. Angular adds the CSS to the global styles. The scoping rules, isolations, and protections discussed earlier don't apply. - This is essentially the same as pasting the component's styles into the HTML. + This mode is essentially the same as pasting the component's styles into the HTML. To set the component's encapsulation mode, use the `encapsulation` property in the component metadata: `ShadowDom` view encapsulation only works on browsers that have native support -for shadow DOM (see [Shadow DOM v1](https://caniuse.com/shadowdomv1) on the -[Can I use](https://caniuse.com/) site). The support is still limited, -which is why `Emulated` view encapsulation is the default mode and recommended -in most cases. +for shadow DOM (see [Can I use - Shadow DOM v1](https://caniuse.com/shadowdomv1)). +The support is still limited, which is why `Emulated` view encapsulation is the default mode and recommended in most cases. {@a inspect-generated-css} @@ -44,38 +41,109 @@ encapsulation enabled, each DOM element has some extra attributes attached to it: - <hero-details _nghost-pmm-5> - <h2 _ngcontent-pmm-5>Mister Fantastic</h2> - <hero-team _ngcontent-pmm-5 _nghost-pmm-6> - <h3 _ngcontent-pmm-6>Team</h3> - </hero-team> - </hero-detail> - +<hero-details _nghost-pmm-5> + <h2 _ngcontent-pmm-5>Mister Fantastic</h2> + <hero-team _ngcontent-pmm-5 _nghost-pmm-6> + <h3 _ngcontent-pmm-6>Team</h3> + </hero-team> +</hero-detail> There are two kinds of generated attributes: -* An element that would be a shadow DOM host in native encapsulation has a +- An element that would be a shadow DOM host in native encapsulation has a generated `_nghost` attribute. This is typically the case for component host elements. -* An element within a component's view has a `_ngcontent` attribute -that identifies to which host's emulated shadow DOM this element belongs. +- An element within a component's view has a `_ngcontent` attribute + that identifies to which host's emulated shadow DOM this element belongs. The exact values of these attributes aren't important. They are automatically generated and you should never refer to them in application code. But they are targeted by the generated component styles, which are in the `` section of the DOM: - [_nghost-pmm-5] { - display: block; - border: 1px solid black; - } +[_nghost-pmm-5] { + display: block; + border: 1px solid black; +} - h3[_ngcontent-pmm-6] { - background-color: white; - border: 1px solid #777; - } +h3[_ngcontent-pmm-6] { + background-color: white; + border: 1px solid #777; +} These styles are post-processed so that each selector is augmented with `_nghost` or `_ngcontent` attribute selectors. These extra selectors enable the scoping rules described in this page. + +## Mixing encapsulation modes + +Avoid mixing components that use different view encapsulation. Where it is necessary, you should be aware of how the component styles will interact. + +- The styles of components with `ViewEncapsulation.Emulated` are added to the `` of the document, making them available throughout the application, but are "scoped" so they only affect elements within the component's template. + +- The styles of components with `ViewEncapsulation.None` are added to the `` of the document, making them available throughout the application, and are not "scoped" so they can affect any element in the application. + +- The styles of components with `ViewEncapsulation.ShadowDom` are only added to the shadow DOM host, ensuring that they only affect elements within the component's template. + +**All the styles for `ViewEncapsulation.Emulated` and `ViewEncapsulation.None` components are also added to the shadow DOM host of each `ViewEncapsulation.ShadowDom` component.** + +The result is that styling for components with `ViewEncapsulation.None` will affect matching elements within the shadow DOM. + +This approach may seem counter-intuitive at first, but without it a component with `ViewEncapsulation.None` could not be used within a component with `ViewEncapsulation.ShadowDom`, since its styles would not be available. + +### Examples + +This section shows examples of how the styling of components with different `ViewEncapsulation` interact. + +See the to try out these components yourself. + +#### No encapsulation + +The first example shows a component that has `ViewEncapsulation.None`. This component colors its template elements red. + +> + +Angular adds the styles for this component as global styles to the `` of the document. + +**Angular also adds the styles to all shadow DOM hosts.** Therefore, the styles are available throughout the application. + +component with no encapsulation + +#### Emulated encapsulation + +The second example shows a component that has `ViewEncapsulation.Emulated`. This component colors its template elements green. + +> + +Similar to `ViewEncapsulation.None`, Angular adds the styles for this component to the `` of the document, and to all the shadow DOM hosts. +But in this case, the styles are "scoped" by the attributes described in ["Inspecting generated CSS"](#inspecting-generated-css). + +Therefore, only the elements directly within this component's template will match its styles. +Since the "scoped" styles from the `EmulatedEncapsulationComponent` are very specific, they override the global styles from the `NoEncapsulationComponent`. + +In this example, the `EmulatedEncapsulationComponent` contains a `NoEncapsulationComponent`. +The `NoEncapsulationComponent` is styled as expected because the scoped styles do not match elements in its template. + +component with no encapsulation + +#### Shadow DOM encapsulation + +The third example shows a component that has `ViewEncapsulation.ShadowDom`. This component colors its template elements blue. + +> + +Angular adds styles for this component only to the shadow DOM host, so they are not visible outside the shadow DOM. + +Note that Angular also adds the global styles from the `NoEncapsulationComponent` and `ViewEncapsulationComponent` to the shadow DOM host, so those styles are still available to the elements in the template of this component. + +In this example, the `ShadowDomEncapsulationComponent` contains both a `NoEncapsulationComponent` and `ViewEncapsulationComponent`. + +The styles added by the `ShadowDomEncapsulationComponent` component are available throughout the shadow DOM of this component, and so to both the `NoEncapsulationComponent` and `ViewEncapsulationComponent`. + +The `EmulatedEncapsulationComponent` has specific "scoped" styles, so the styling of this component's template is unaffected. + +But since styles from `ShadowDomEncapsulationComponent` are added to the shadow host after the global styles, the `h2` style overrides the style from the `NoEncapsulationComponent`. +The result is that the `

` element in the `NoEncapsulationComponent` is colored blue rather than red, which may not be what the component author intended. + +component with no encapsulation diff --git a/aio/content/images/guide/view-encapsulation/emulated-encapsulation.png b/aio/content/images/guide/view-encapsulation/emulated-encapsulation.png new file mode 100644 index 0000000000000000000000000000000000000000..21725578e78b8f99306769c23e74e83d63322f5e GIT binary patch literal 23714 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 QK6iHMJko!N(6kT#KeDixzyJUM literal 0 HcmV?d00001 diff --git a/aio/content/images/guide/view-encapsulation/no-encapsulation.png b/aio/content/images/guide/view-encapsulation/no-encapsulation.png new file mode 100644 index 0000000000000000000000000000000000000000..86d9b8e6274d6752af9e825502ea06736ac53a19 GIT binary patch literal 10497 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 PtfQf-t&(@&Ea-m$n}DfD literal 0 HcmV?d00001 diff --git a/aio/content/images/guide/view-encapsulation/shadow-dom-encapsulation.png b/aio/content/images/guide/view-encapsulation/shadow-dom-encapsulation.png new file mode 100644 index 0000000000000000000000000000000000000000..df0b44a22c80993709f35fe3abb8901b6f8b95f3 GIT binary patch literal 48235 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 LNEJ%F|NQ>}Hotr; literal 0 HcmV?d00001