piral-blazor 0.14.28-beta.4379 → 0.14.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/esm/converter.js +14 -3
- package/esm/converter.js.map +1 -1
- package/esm/interop.d.ts +4 -3
- package/esm/interop.js +7 -10
- package/esm/interop.js.map +1 -1
- package/infra.codegen +1 -1
- package/lib/converter.js +13 -2
- package/lib/converter.js.map +1 -1
- package/lib/interop.d.ts +4 -3
- package/lib/interop.js +9 -11
- package/lib/interop.js.map +1 -1
- package/package.json +9 -5
- package/src/converter.ts +16 -4
- package/src/interop.ts +8 -3
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# [Piral Blazor](https://piral.io) · [](https://github.com/smapiot/piral/blob/main/LICENSE) [](https://www.npmjs.com/package/piral-blazor) [](https://jestjs.io) [](https://gitter.im/piral-io/community)
|
|
4
4
|
|
|
5
|
-
This is a plugin that has a peer dependency to `
|
|
5
|
+
This is a plugin that has a peer dependency to `blazor`. What `piral-blazor` brings to the table is a set of Pilet API extensions that can be used with `piral` or `piral-core`.
|
|
6
6
|
|
|
7
7
|
The set includes a Blazor (WASM) loader and converter for any component registration, as well as a `fromBlazor` shortcut together with some Blazor component coming in the `Piral.Blazor.Utils` NuGet package.
|
|
8
8
|
|
package/esm/converter.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { addGlobalEventListeners, attachEvents, removeGlobalEventListeners } from './events';
|
|
2
|
-
import { activate, deactivate, createBootLoader, reactivate } from './interop';
|
|
2
|
+
import { activate, deactivate, createBootLoader, reactivate, callNotifyLocationChanged } from './interop';
|
|
3
3
|
import bootConfig from '../infra.codegen';
|
|
4
4
|
const noop = () => { };
|
|
5
5
|
const mediaRules = [
|
|
@@ -21,6 +21,7 @@ function project(component, destination, options) {
|
|
|
21
21
|
export function createConverter(lazy) {
|
|
22
22
|
const boot = createBootLoader(bootConfig);
|
|
23
23
|
let loader = !lazy && boot();
|
|
24
|
+
let listener = undefined;
|
|
24
25
|
const enqueueChange = (locals, update) => {
|
|
25
26
|
if (locals.state === 'mounted') {
|
|
26
27
|
loader.then(update);
|
|
@@ -32,13 +33,23 @@ export function createConverter(lazy) {
|
|
|
32
33
|
const convert = (moduleName, dependency, args, options) => ({
|
|
33
34
|
mount(el, data, ctx, locals) {
|
|
34
35
|
const props = Object.assign(Object.assign({}, args), data);
|
|
36
|
+
const nav = ctx.router.history;
|
|
35
37
|
el.setAttribute('data-blazor-pilet-root', 'true');
|
|
36
38
|
addGlobalEventListeners(el);
|
|
39
|
+
if (listener === undefined) {
|
|
40
|
+
listener = nav.listen((location, action) => {
|
|
41
|
+
// POP is already handled by .NET
|
|
42
|
+
if (action !== 'POP') {
|
|
43
|
+
const href = nav.createHref(location);
|
|
44
|
+
callNotifyLocationChanged(href, action === 'REPLACE');
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
}
|
|
37
48
|
locals.state = 'fresh';
|
|
38
49
|
locals.update = noop;
|
|
39
50
|
locals.dispose = attachEvents(el, (ev) => data.piral.renderHtmlExtension(ev.detail.target, ev.detail.props), (ev) => ev.detail.replace
|
|
40
|
-
?
|
|
41
|
-
:
|
|
51
|
+
? nav.replace(ev.detail.to, ev.detail.store)
|
|
52
|
+
: nav.push(ev.detail.to, ev.detail.state));
|
|
42
53
|
(loader || (loader = boot()))
|
|
43
54
|
.then((root) => dependency()
|
|
44
55
|
.then(() => activate(moduleName, props))
|
package/esm/converter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"converter.js","sourceRoot":"","sources":["../src/converter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,YAAY,EAAE,0BAA0B,EAAE,MAAM,UAAU,CAAC;AAC7F,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"converter.js","sourceRoot":"","sources":["../src/converter.ts"],"names":[],"mappings":"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"}
|
package/esm/interop.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
export declare function activate(moduleName: string, props: any): any;
|
|
2
2
|
export declare function reactivate(moduleName: string, referenceId: string, props: any): any;
|
|
3
3
|
export declare function deactivate(moduleName: string, referenceId: string): any;
|
|
4
|
-
export declare function
|
|
5
|
-
export declare function
|
|
6
|
-
export declare function
|
|
4
|
+
export declare function callNotifyLocationChanged(url: string, replace: boolean): any;
|
|
5
|
+
export declare function loadResource(url: string): any;
|
|
6
|
+
export declare function loadResourceWithSymbol(dllUrl: string, pdbUrl: string): any;
|
|
7
|
+
export declare function unloadResource(url: string): any;
|
|
7
8
|
export declare function initialize(scriptUrl: string, publicPath: string): Promise<HTMLDivElement>;
|
|
8
9
|
export declare function createBootLoader(scriptUrl: string): () => Promise<HTMLDivElement>;
|
package/esm/interop.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { __awaiter } from "tslib";
|
|
2
1
|
import { emitRenderEvent, emitNavigateEvent } from './events';
|
|
2
|
+
const wasmLib = 'Microsoft.AspNetCore.Components.WebAssembly';
|
|
3
3
|
const coreLib = 'Piral.Blazor.Core';
|
|
4
4
|
function createBlazorStarter(publicPath) {
|
|
5
5
|
const root = document.body.appendChild(document.createElement('div'));
|
|
@@ -53,20 +53,17 @@ export function reactivate(moduleName, referenceId, props) {
|
|
|
53
53
|
export function deactivate(moduleName, referenceId) {
|
|
54
54
|
return window.DotNet.invokeMethodAsync(coreLib, 'Deactivate', moduleName, referenceId);
|
|
55
55
|
}
|
|
56
|
+
export function callNotifyLocationChanged(url, replace) {
|
|
57
|
+
return window.DotNet.invokeMethodAsync(wasmLib, 'NotifyLocationChanged', url, replace);
|
|
58
|
+
}
|
|
56
59
|
export function loadResource(url) {
|
|
57
|
-
return
|
|
58
|
-
return window.DotNet.invokeMethodAsync(coreLib, 'LoadComponentsFromLibrary', url);
|
|
59
|
-
});
|
|
60
|
+
return window.DotNet.invokeMethodAsync(coreLib, 'LoadComponentsFromLibrary', url);
|
|
60
61
|
}
|
|
61
62
|
export function loadResourceWithSymbol(dllUrl, pdbUrl) {
|
|
62
|
-
return
|
|
63
|
-
return window.DotNet.invokeMethodAsync(coreLib, 'LoadComponentsWithSymbolsFromLibrary', dllUrl, pdbUrl);
|
|
64
|
-
});
|
|
63
|
+
return window.DotNet.invokeMethodAsync(coreLib, 'LoadComponentsWithSymbolsFromLibrary', dllUrl, pdbUrl);
|
|
65
64
|
}
|
|
66
65
|
export function unloadResource(url) {
|
|
67
|
-
return
|
|
68
|
-
return window.DotNet.invokeMethodAsync(coreLib, 'UnloadComponentsFromLibrary', url);
|
|
69
|
-
});
|
|
66
|
+
return window.DotNet.invokeMethodAsync(coreLib, 'UnloadComponentsFromLibrary', url);
|
|
70
67
|
}
|
|
71
68
|
export function initialize(scriptUrl, publicPath) {
|
|
72
69
|
return new Promise((resolve, reject) => {
|
package/esm/interop.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interop.js","sourceRoot":"","sources":["../src/interop.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"interop.js","sourceRoot":"","sources":["../src/interop.ts"],"names":[],"mappings":"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"}
|
package/infra.codegen
CHANGED
|
@@ -52,6 +52,6 @@ module.exports = function () {
|
|
|
52
52
|
|
|
53
53
|
return `export default ${JSON.stringify('_framework/blazor.webassembly.js')};`;
|
|
54
54
|
} catch (err) {
|
|
55
|
-
throw new Error(`The npm package "blazor" was not found. Make sure to install it via "npm i blazor"
|
|
55
|
+
throw new Error(`The npm package "blazor" was not found. Make sure to install it via "npm i blazor": ${err}`);
|
|
56
56
|
}
|
|
57
57
|
};
|
package/lib/converter.js
CHANGED
|
@@ -24,6 +24,7 @@ function project(component, destination, options) {
|
|
|
24
24
|
function createConverter(lazy) {
|
|
25
25
|
const boot = (0, interop_1.createBootLoader)(infra_codegen_1.default);
|
|
26
26
|
let loader = !lazy && boot();
|
|
27
|
+
let listener = undefined;
|
|
27
28
|
const enqueueChange = (locals, update) => {
|
|
28
29
|
if (locals.state === 'mounted') {
|
|
29
30
|
loader.then(update);
|
|
@@ -35,13 +36,23 @@ function createConverter(lazy) {
|
|
|
35
36
|
const convert = (moduleName, dependency, args, options) => ({
|
|
36
37
|
mount(el, data, ctx, locals) {
|
|
37
38
|
const props = Object.assign(Object.assign({}, args), data);
|
|
39
|
+
const nav = ctx.router.history;
|
|
38
40
|
el.setAttribute('data-blazor-pilet-root', 'true');
|
|
39
41
|
(0, events_1.addGlobalEventListeners)(el);
|
|
42
|
+
if (listener === undefined) {
|
|
43
|
+
listener = nav.listen((location, action) => {
|
|
44
|
+
// POP is already handled by .NET
|
|
45
|
+
if (action !== 'POP') {
|
|
46
|
+
const href = nav.createHref(location);
|
|
47
|
+
(0, interop_1.callNotifyLocationChanged)(href, action === 'REPLACE');
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
}
|
|
40
51
|
locals.state = 'fresh';
|
|
41
52
|
locals.update = noop;
|
|
42
53
|
locals.dispose = (0, events_1.attachEvents)(el, (ev) => data.piral.renderHtmlExtension(ev.detail.target, ev.detail.props), (ev) => ev.detail.replace
|
|
43
|
-
?
|
|
44
|
-
:
|
|
54
|
+
? nav.replace(ev.detail.to, ev.detail.store)
|
|
55
|
+
: nav.push(ev.detail.to, ev.detail.state));
|
|
45
56
|
(loader || (loader = boot()))
|
|
46
57
|
.then((root) => dependency()
|
|
47
58
|
.then(() => (0, interop_1.activate)(moduleName, props))
|
package/lib/converter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"converter.js","sourceRoot":"","sources":["../src/converter.ts"],"names":[],"mappings":";;;AACA,qCAA6F;AAC7F,
|
|
1
|
+
{"version":3,"file":"converter.js","sourceRoot":"","sources":["../src/converter.ts"],"names":[],"mappings":"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"}
|
package/lib/interop.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
export declare function activate(moduleName: string, props: any): any;
|
|
2
2
|
export declare function reactivate(moduleName: string, referenceId: string, props: any): any;
|
|
3
3
|
export declare function deactivate(moduleName: string, referenceId: string): any;
|
|
4
|
-
export declare function
|
|
5
|
-
export declare function
|
|
6
|
-
export declare function
|
|
4
|
+
export declare function callNotifyLocationChanged(url: string, replace: boolean): any;
|
|
5
|
+
export declare function loadResource(url: string): any;
|
|
6
|
+
export declare function loadResourceWithSymbol(dllUrl: string, pdbUrl: string): any;
|
|
7
|
+
export declare function unloadResource(url: string): any;
|
|
7
8
|
export declare function initialize(scriptUrl: string, publicPath: string): Promise<HTMLDivElement>;
|
|
8
9
|
export declare function createBootLoader(scriptUrl: string): () => Promise<HTMLDivElement>;
|
package/lib/interop.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createBootLoader = exports.initialize = exports.unloadResource = exports.loadResourceWithSymbol = exports.loadResource = exports.deactivate = exports.reactivate = exports.activate = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
3
|
+
exports.createBootLoader = exports.initialize = exports.unloadResource = exports.loadResourceWithSymbol = exports.loadResource = exports.callNotifyLocationChanged = exports.deactivate = exports.reactivate = exports.activate = void 0;
|
|
5
4
|
const events_1 = require("./events");
|
|
5
|
+
const wasmLib = 'Microsoft.AspNetCore.Components.WebAssembly';
|
|
6
6
|
const coreLib = 'Piral.Blazor.Core';
|
|
7
7
|
function createBlazorStarter(publicPath) {
|
|
8
8
|
const root = document.body.appendChild(document.createElement('div'));
|
|
@@ -59,22 +59,20 @@ function deactivate(moduleName, referenceId) {
|
|
|
59
59
|
return window.DotNet.invokeMethodAsync(coreLib, 'Deactivate', moduleName, referenceId);
|
|
60
60
|
}
|
|
61
61
|
exports.deactivate = deactivate;
|
|
62
|
+
function callNotifyLocationChanged(url, replace) {
|
|
63
|
+
return window.DotNet.invokeMethodAsync(wasmLib, 'NotifyLocationChanged', url, replace);
|
|
64
|
+
}
|
|
65
|
+
exports.callNotifyLocationChanged = callNotifyLocationChanged;
|
|
62
66
|
function loadResource(url) {
|
|
63
|
-
return
|
|
64
|
-
return window.DotNet.invokeMethodAsync(coreLib, 'LoadComponentsFromLibrary', url);
|
|
65
|
-
});
|
|
67
|
+
return window.DotNet.invokeMethodAsync(coreLib, 'LoadComponentsFromLibrary', url);
|
|
66
68
|
}
|
|
67
69
|
exports.loadResource = loadResource;
|
|
68
70
|
function loadResourceWithSymbol(dllUrl, pdbUrl) {
|
|
69
|
-
return
|
|
70
|
-
return window.DotNet.invokeMethodAsync(coreLib, 'LoadComponentsWithSymbolsFromLibrary', dllUrl, pdbUrl);
|
|
71
|
-
});
|
|
71
|
+
return window.DotNet.invokeMethodAsync(coreLib, 'LoadComponentsWithSymbolsFromLibrary', dllUrl, pdbUrl);
|
|
72
72
|
}
|
|
73
73
|
exports.loadResourceWithSymbol = loadResourceWithSymbol;
|
|
74
74
|
function unloadResource(url) {
|
|
75
|
-
return
|
|
76
|
-
return window.DotNet.invokeMethodAsync(coreLib, 'UnloadComponentsFromLibrary', url);
|
|
77
|
-
});
|
|
75
|
+
return window.DotNet.invokeMethodAsync(coreLib, 'UnloadComponentsFromLibrary', url);
|
|
78
76
|
}
|
|
79
77
|
exports.unloadResource = unloadResource;
|
|
80
78
|
function initialize(scriptUrl, publicPath) {
|
package/lib/interop.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interop.js","sourceRoot":"","sources":["../src/interop.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"interop.js","sourceRoot":"","sources":["../src/interop.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "piral-blazor",
|
|
3
|
-
"version": "0.14.
|
|
3
|
+
"version": "0.14.30",
|
|
4
4
|
"description": "Plugin for integrating Blazor components in Piral.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"piral",
|
|
@@ -35,6 +35,10 @@
|
|
|
35
35
|
"./lib/*": {
|
|
36
36
|
"require": "./lib/*"
|
|
37
37
|
},
|
|
38
|
+
"./_/*": {
|
|
39
|
+
"import": "./esm/*.js",
|
|
40
|
+
"require": "./lib/*.js"
|
|
41
|
+
},
|
|
38
42
|
"./package.json": "./package.json"
|
|
39
43
|
},
|
|
40
44
|
"sideEffects": false,
|
|
@@ -54,6 +58,7 @@
|
|
|
54
58
|
"url": "https://github.com/smapiot/piral/issues"
|
|
55
59
|
},
|
|
56
60
|
"scripts": {
|
|
61
|
+
"cleanup": "rimraf esm lib convert.d.ts convert.js",
|
|
57
62
|
"build": "yarn build:commonjs && yarn build:esnext && yarn build:convert",
|
|
58
63
|
"build:convert": "tsc convert.ts --skipLibCheck --declaration --module esnext",
|
|
59
64
|
"build:commonjs": "tsc --project tsconfig.json --outDir lib --module commonjs",
|
|
@@ -62,11 +67,10 @@
|
|
|
62
67
|
"test": "echo \"Error: run tests from root\" && exit 1"
|
|
63
68
|
},
|
|
64
69
|
"devDependencies": {
|
|
65
|
-
"piral-core": "0.14.
|
|
70
|
+
"piral-core": "^0.14.30"
|
|
66
71
|
},
|
|
67
72
|
"peerDependencies": {
|
|
68
|
-
"blazor": "*"
|
|
69
|
-
"piral-core": "0.14.x"
|
|
73
|
+
"blazor": "*"
|
|
70
74
|
},
|
|
71
|
-
"gitHead": "
|
|
75
|
+
"gitHead": "f8fa71fb0f71425771ceda09c17080bf15412002"
|
|
72
76
|
}
|
package/src/converter.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { BaseComponentProps, ForeignComponent } from 'piral-core';
|
|
1
|
+
import type { BaseComponentProps, Disposable, ForeignComponent } from 'piral-core';
|
|
2
2
|
import { addGlobalEventListeners, attachEvents, removeGlobalEventListeners } from './events';
|
|
3
|
-
import { activate, deactivate, createBootLoader, reactivate } from './interop';
|
|
3
|
+
import { activate, deactivate, createBootLoader, reactivate, callNotifyLocationChanged } from './interop';
|
|
4
4
|
import { BlazorOptions } from './types';
|
|
5
5
|
import bootConfig from '../infra.codegen';
|
|
6
6
|
|
|
@@ -38,6 +38,7 @@ interface BlazorLocals {
|
|
|
38
38
|
export function createConverter(lazy: boolean) {
|
|
39
39
|
const boot = createBootLoader(bootConfig);
|
|
40
40
|
let loader = !lazy && boot();
|
|
41
|
+
let listener: Disposable = undefined;
|
|
41
42
|
|
|
42
43
|
const enqueueChange = (locals: BlazorLocals, update: (root: HTMLDivElement) => void) => {
|
|
43
44
|
if (locals.state === 'mounted') {
|
|
@@ -55,10 +56,21 @@ export function createConverter(lazy: boolean) {
|
|
|
55
56
|
): ForeignComponent<TProps> => ({
|
|
56
57
|
mount(el, data, ctx, locals: BlazorLocals) {
|
|
57
58
|
const props = { ...args, ...data };
|
|
59
|
+
const nav = ctx.router.history;
|
|
58
60
|
el.setAttribute('data-blazor-pilet-root', 'true');
|
|
59
61
|
|
|
60
62
|
addGlobalEventListeners(el);
|
|
61
63
|
|
|
64
|
+
if (listener === undefined) {
|
|
65
|
+
listener = nav.listen((location, action) => {
|
|
66
|
+
// POP is already handled by .NET
|
|
67
|
+
if (action !== 'POP') {
|
|
68
|
+
const href = nav.createHref(location)
|
|
69
|
+
callNotifyLocationChanged(href, action === 'REPLACE');
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
|
|
62
74
|
locals.state = 'fresh';
|
|
63
75
|
locals.update = noop;
|
|
64
76
|
locals.dispose = attachEvents(
|
|
@@ -66,8 +78,8 @@ export function createConverter(lazy: boolean) {
|
|
|
66
78
|
(ev) => data.piral.renderHtmlExtension(ev.detail.target, ev.detail.props),
|
|
67
79
|
(ev) =>
|
|
68
80
|
ev.detail.replace
|
|
69
|
-
?
|
|
70
|
-
:
|
|
81
|
+
? nav.replace(ev.detail.to, ev.detail.store)
|
|
82
|
+
: nav.push(ev.detail.to, ev.detail.state),
|
|
71
83
|
);
|
|
72
84
|
|
|
73
85
|
(loader || (loader = boot()))
|
package/src/interop.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { emitRenderEvent, emitNavigateEvent } from './events';
|
|
2
2
|
|
|
3
|
+
const wasmLib = 'Microsoft.AspNetCore.Components.WebAssembly';
|
|
3
4
|
const coreLib = 'Piral.Blazor.Core';
|
|
4
5
|
|
|
5
6
|
function createBlazorStarter(publicPath: string): () => Promise<HTMLDivElement> {
|
|
@@ -66,15 +67,19 @@ export function deactivate(moduleName: string, referenceId: string) {
|
|
|
66
67
|
return window.DotNet.invokeMethodAsync(coreLib, 'Deactivate', moduleName, referenceId);
|
|
67
68
|
}
|
|
68
69
|
|
|
69
|
-
export
|
|
70
|
+
export function callNotifyLocationChanged(url: string, replace: boolean) {
|
|
71
|
+
return window.DotNet.invokeMethodAsync(wasmLib, 'NotifyLocationChanged', url, replace);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
export function loadResource(url: string) {
|
|
70
75
|
return window.DotNet.invokeMethodAsync(coreLib, 'LoadComponentsFromLibrary', url);
|
|
71
76
|
}
|
|
72
77
|
|
|
73
|
-
export
|
|
78
|
+
export function loadResourceWithSymbol(dllUrl: string, pdbUrl: string) {
|
|
74
79
|
return window.DotNet.invokeMethodAsync(coreLib, 'LoadComponentsWithSymbolsFromLibrary', dllUrl, pdbUrl);
|
|
75
80
|
}
|
|
76
81
|
|
|
77
|
-
export
|
|
82
|
+
export function unloadResource(url: string) {
|
|
78
83
|
return window.DotNet.invokeMethodAsync(coreLib, 'UnloadComponentsFromLibrary', url);
|
|
79
84
|
}
|
|
80
85
|
|