1 | "use strict";
|
---|
2 | /**
|
---|
3 | * @license
|
---|
4 | * Copyright Google LLC All Rights Reserved.
|
---|
5 | *
|
---|
6 | * Use of this source code is governed by an MIT-style license that can be
|
---|
7 | * found in the LICENSE file at https://angular.io/license
|
---|
8 | */
|
---|
9 | Object.defineProperty(exports, "__esModule", { value: true });
|
---|
10 | exports.updateToV13 = exports.updateToV12 = exports.updateToV11 = exports.updateToV10 = exports.updateToV9 = exports.updateToV8 = exports.updateToV7 = exports.updateToV6 = void 0;
|
---|
11 | const schematics_1 = require("@angular/cdk/schematics");
|
---|
12 | const hammer_gestures_migration_1 = require("./migrations/hammer-gestures-v9/hammer-gestures-migration");
|
---|
13 | const misc_class_inheritance_1 = require("./migrations/misc-checks/misc-class-inheritance");
|
---|
14 | const misc_class_names_1 = require("./migrations/misc-checks/misc-class-names");
|
---|
15 | const misc_imports_1 = require("./migrations/misc-checks/misc-imports");
|
---|
16 | const misc_property_names_1 = require("./migrations/misc-checks/misc-property-names");
|
---|
17 | const misc_template_1 = require("./migrations/misc-checks/misc-template");
|
---|
18 | const ripple_speed_factor_migration_1 = require("./migrations/misc-ripples-v7/ripple-speed-factor-migration");
|
---|
19 | const secondary_entry_points_migration_1 = require("./migrations/package-imports-v8/secondary-entry-points-migration");
|
---|
20 | const theming_api_migration_1 = require("./migrations/theming-api-v12/theming-api-migration");
|
---|
21 | const upgrade_data_1 = require("./upgrade-data");
|
---|
22 | const materialMigrations = [
|
---|
23 | misc_class_inheritance_1.MiscClassInheritanceMigration,
|
---|
24 | misc_class_names_1.MiscClassNamesMigration,
|
---|
25 | misc_imports_1.MiscImportsMigration,
|
---|
26 | misc_property_names_1.MiscPropertyNamesMigration,
|
---|
27 | misc_template_1.MiscTemplateMigration,
|
---|
28 | ripple_speed_factor_migration_1.RippleSpeedFactorMigration,
|
---|
29 | secondary_entry_points_migration_1.SecondaryEntryPointsMigration,
|
---|
30 | hammer_gestures_migration_1.HammerGesturesMigration,
|
---|
31 | theming_api_migration_1.ThemingApiMigration,
|
---|
32 | ];
|
---|
33 | /** Entry point for the migration schematics with target of Angular Material v6 */
|
---|
34 | function updateToV6() {
|
---|
35 | return schematics_1.createMigrationSchematicRule(schematics_1.TargetVersion.V6, materialMigrations, upgrade_data_1.materialUpgradeData, onMigrationComplete);
|
---|
36 | }
|
---|
37 | exports.updateToV6 = updateToV6;
|
---|
38 | /** Entry point for the migration schematics with target of Angular Material v7 */
|
---|
39 | function updateToV7() {
|
---|
40 | return schematics_1.createMigrationSchematicRule(schematics_1.TargetVersion.V7, materialMigrations, upgrade_data_1.materialUpgradeData, onMigrationComplete);
|
---|
41 | }
|
---|
42 | exports.updateToV7 = updateToV7;
|
---|
43 | /** Entry point for the migration schematics with target of Angular Material v8 */
|
---|
44 | function updateToV8() {
|
---|
45 | return schematics_1.createMigrationSchematicRule(schematics_1.TargetVersion.V8, materialMigrations, upgrade_data_1.materialUpgradeData, onMigrationComplete);
|
---|
46 | }
|
---|
47 | exports.updateToV8 = updateToV8;
|
---|
48 | /** Entry point for the migration schematics with target of Angular Material v9 */
|
---|
49 | function updateToV9() {
|
---|
50 | return schematics_1.createMigrationSchematicRule(schematics_1.TargetVersion.V9, materialMigrations, upgrade_data_1.materialUpgradeData, onMigrationComplete);
|
---|
51 | }
|
---|
52 | exports.updateToV9 = updateToV9;
|
---|
53 | /** Entry point for the migration schematics with target of Angular Material v10 */
|
---|
54 | function updateToV10() {
|
---|
55 | return schematics_1.createMigrationSchematicRule(schematics_1.TargetVersion.V10, materialMigrations, upgrade_data_1.materialUpgradeData, onMigrationComplete);
|
---|
56 | }
|
---|
57 | exports.updateToV10 = updateToV10;
|
---|
58 | /** Entry point for the migration schematics with target of Angular Material v11 */
|
---|
59 | function updateToV11() {
|
---|
60 | return schematics_1.createMigrationSchematicRule(schematics_1.TargetVersion.V11, materialMigrations, upgrade_data_1.materialUpgradeData, onMigrationComplete);
|
---|
61 | }
|
---|
62 | exports.updateToV11 = updateToV11;
|
---|
63 | /** Entry point for the migration schematics with target of Angular Material v12 */
|
---|
64 | function updateToV12() {
|
---|
65 | return schematics_1.createMigrationSchematicRule(schematics_1.TargetVersion.V12, materialMigrations, upgrade_data_1.materialUpgradeData, onMigrationComplete);
|
---|
66 | }
|
---|
67 | exports.updateToV12 = updateToV12;
|
---|
68 | /** Entry point for the migration schematics with target of Angular Material v13 */
|
---|
69 | function updateToV13() {
|
---|
70 | return schematics_1.createMigrationSchematicRule(schematics_1.TargetVersion.V13, materialMigrations, upgrade_data_1.materialUpgradeData, onMigrationComplete);
|
---|
71 | }
|
---|
72 | exports.updateToV13 = updateToV13;
|
---|
73 | /** Function that will be called when the migration completed. */
|
---|
74 | function onMigrationComplete(context, targetVersion, hasFailures) {
|
---|
75 | context.logger.info('');
|
---|
76 | context.logger.info(` ✓ Updated Angular Material to ${targetVersion}`);
|
---|
77 | context.logger.info('');
|
---|
78 | if (hasFailures) {
|
---|
79 | context.logger.warn(' ⚠ Some issues were detected but could not be fixed automatically. Please check the ' +
|
---|
80 | 'output above and fix these issues manually.');
|
---|
81 | }
|
---|
82 | }
|
---|
83 | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbWF0ZXJpYWwvc2NoZW1hdGljcy9uZy11cGRhdGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOzs7Ozs7R0FNRzs7O0FBR0gsd0RBSWlDO0FBQ2pDLHlHQUFrRztBQUNsRyw0RkFBOEY7QUFDOUYsZ0ZBQWtGO0FBQ2xGLHdFQUEyRTtBQUMzRSxzRkFBd0Y7QUFDeEYsMEVBQTZFO0FBQzdFLDhHQUVvRTtBQUNwRSx1SEFFMEU7QUFDMUUsOEZBQXVGO0FBRXZGLGlEQUFtRDtBQUVuRCxNQUFNLGtCQUFrQixHQUE4QjtJQUNwRCxzREFBNkI7SUFDN0IsMENBQXVCO0lBQ3ZCLG1DQUFvQjtJQUNwQixnREFBMEI7SUFDMUIscUNBQXFCO0lBQ3JCLDBEQUEwQjtJQUMxQixnRUFBNkI7SUFDN0IsbURBQXVCO0lBQ3ZCLDJDQUFtQjtDQUNwQixDQUFDO0FBRUYsa0ZBQWtGO0FBQ2xGLFNBQWdCLFVBQVU7SUFDeEIsT0FBTyx5Q0FBNEIsQ0FDL0IsMEJBQWEsQ0FBQyxFQUFFLEVBQUUsa0JBQWtCLEVBQUUsa0NBQW1CLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztBQUN0RixDQUFDO0FBSEQsZ0NBR0M7QUFFRCxrRkFBa0Y7QUFDbEYsU0FBZ0IsVUFBVTtJQUN4QixPQUFPLHlDQUE0QixDQUMvQiwwQkFBYSxDQUFDLEVBQUUsRUFBRSxrQkFBa0IsRUFBRSxrQ0FBbUIsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO0FBQ3RGLENBQUM7QUFIRCxnQ0FHQztBQUVELGtGQUFrRjtBQUNsRixTQUFnQixVQUFVO0lBQ3hCLE9BQU8seUNBQTRCLENBQy9CLDBCQUFhLENBQUMsRUFBRSxFQUFFLGtCQUFrQixFQUFFLGtDQUFtQixFQUFFLG1CQUFtQixDQUFDLENBQUM7QUFDdEYsQ0FBQztBQUhELGdDQUdDO0FBRUQsa0ZBQWtGO0FBQ2xGLFNBQWdCLFVBQVU7SUFDeEIsT0FBTyx5Q0FBNEIsQ0FDL0IsMEJBQWEsQ0FBQyxFQUFFLEVBQUUsa0JBQWtCLEVBQUUsa0NBQW1CLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztBQUN0RixDQUFDO0FBSEQsZ0NBR0M7QUFFRCxtRkFBbUY7QUFDbkYsU0FBZ0IsV0FBVztJQUN6QixPQUFPLHlDQUE0QixDQUMvQiwwQkFBYSxDQUFDLEdBQUcsRUFBRSxrQkFBa0IsRUFBRSxrQ0FBbUIsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO0FBQ3ZGLENBQUM7QUFIRCxrQ0FHQztBQUVELG1GQUFtRjtBQUNuRixTQUFnQixXQUFXO0lBQ3pCLE9BQU8seUNBQTRCLENBQy9CLDBCQUFhLENBQUMsR0FBRyxFQUFFLGtCQUFrQixFQUFFLGtDQUFtQixFQUFFLG1CQUFtQixDQUFDLENBQUM7QUFDdkYsQ0FBQztBQUhELGtDQUdDO0FBRUQsbUZBQW1GO0FBQ25GLFNBQWdCLFdBQVc7SUFDekIsT0FBTyx5Q0FBNEIsQ0FDL0IsMEJBQWEsQ0FBQyxHQUFHLEVBQUUsa0JBQWtCLEVBQUUsa0NBQW1CLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztBQUN2RixDQUFDO0FBSEQsa0NBR0M7QUFFRCxtRkFBbUY7QUFDbkYsU0FBZ0IsV0FBVztJQUN6QixPQUFPLHlDQUE0QixDQUMvQiwwQkFBYSxDQUFDLEdBQUcsRUFBRSxrQkFBa0IsRUFBRSxrQ0FBbUIsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO0FBQ3ZGLENBQUM7QUFIRCxrQ0FHQztBQUVELGlFQUFpRTtBQUNqRSxTQUFTLG1CQUFtQixDQUFDLE9BQXlCLEVBQUUsYUFBNEIsRUFDdkQsV0FBb0I7SUFDL0MsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDeEIsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsb0NBQW9DLGFBQWEsRUFBRSxDQUFDLENBQUM7SUFDekUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFFeEIsSUFBSSxXQUFXLEVBQUU7UUFDZixPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDakIsd0ZBQXdGO1lBQ3hGLDZDQUE2QyxDQUFDLENBQUM7S0FDbEQ7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7UnVsZSwgU2NoZW1hdGljQ29udGV4dH0gZnJvbSAnQGFuZ3VsYXItZGV2a2l0L3NjaGVtYXRpY3MnO1xuaW1wb3J0IHtcbiAgY3JlYXRlTWlncmF0aW9uU2NoZW1hdGljUnVsZSxcbiAgTnVsbGFibGVEZXZraXRNaWdyYXRpb24sXG4gIFRhcmdldFZlcnNpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY2RrL3NjaGVtYXRpY3MnO1xuaW1wb3J0IHtIYW1tZXJHZXN0dXJlc01pZ3JhdGlvbn0gZnJvbSAnLi9taWdyYXRpb25zL2hhbW1lci1nZXN0dXJlcy12OS9oYW1tZXItZ2VzdHVyZXMtbWlncmF0aW9uJztcbmltcG9ydCB7TWlzY0NsYXNzSW5oZXJpdGFuY2VNaWdyYXRpb259IGZyb20gJy4vbWlncmF0aW9ucy9taXNjLWNoZWNrcy9taXNjLWNsYXNzLWluaGVyaXRhbmNlJztcbmltcG9ydCB7TWlzY0NsYXNzTmFtZXNNaWdyYXRpb259IGZyb20gJy4vbWlncmF0aW9ucy9taXNjLWNoZWNrcy9taXNjLWNsYXNzLW5hbWVzJztcbmltcG9ydCB7TWlzY0ltcG9ydHNNaWdyYXRpb259IGZyb20gJy4vbWlncmF0aW9ucy9taXNjLWNoZWNrcy9taXNjLWltcG9ydHMnO1xuaW1wb3J0IHtNaXNjUHJvcGVydHlOYW1lc01pZ3JhdGlvbn0gZnJvbSAnLi9taWdyYXRpb25zL21pc2MtY2hlY2tzL21pc2MtcHJvcGVydHktbmFtZXMnO1xuaW1wb3J0IHtNaXNjVGVtcGxhdGVNaWdyYXRpb259IGZyb20gJy4vbWlncmF0aW9ucy9taXNjLWNoZWNrcy9taXNjLXRlbXBsYXRlJztcbmltcG9ydCB7XG4gIFJpcHBsZVNwZWVkRmFjdG9yTWlncmF0aW9uXG59IGZyb20gJy4vbWlncmF0aW9ucy9taXNjLXJpcHBsZXMtdjcvcmlwcGxlLXNwZWVkLWZhY3Rvci1taWdyYXRpb24nO1xuaW1wb3J0IHtcbiAgU2Vjb25kYXJ5RW50cnlQb2ludHNNaWdyYXRpb25cbn0gZnJvbSAnLi9taWdyYXRpb25zL3BhY2thZ2UtaW1wb3J0cy12OC9zZWNvbmRhcnktZW50cnktcG9pbnRzLW1pZ3JhdGlvbic7XG5pbXBvcnQge1RoZW1pbmdBcGlNaWdyYXRpb259IGZyb20gJy4vbWlncmF0aW9ucy90aGVtaW5nLWFwaS12MTIvdGhlbWluZy1hcGktbWlncmF0aW9uJztcblxuaW1wb3J0IHttYXRlcmlhbFVwZ3JhZGVEYXRhfSBmcm9tICcuL3VwZ3JhZGUtZGF0YSc7XG5cbmNvbnN0IG1hdGVyaWFsTWlncmF0aW9uczogTnVsbGFibGVEZXZraXRNaWdyYXRpb25bXSA9IFtcbiAgTWlzY0NsYXNzSW5oZXJpdGFuY2VNaWdyYXRpb24sXG4gIE1pc2NDbGFzc05hbWVzTWlncmF0aW9uLFxuICBNaXNjSW1wb3J0c01pZ3JhdGlvbixcbiAgTWlzY1Byb3BlcnR5TmFtZXNNaWdyYXRpb24sXG4gIE1pc2NUZW1wbGF0ZU1pZ3JhdGlvbixcbiAgUmlwcGxlU3BlZWRGYWN0b3JNaWdyYXRpb24sXG4gIFNlY29uZGFyeUVudHJ5UG9pbnRzTWlncmF0aW9uLFxuICBIYW1tZXJHZXN0dXJlc01pZ3JhdGlvbixcbiAgVGhlbWluZ0FwaU1pZ3JhdGlvbixcbl07XG5cbi8qKiBFbnRyeSBwb2ludCBmb3IgdGhlIG1pZ3JhdGlvbiBzY2hlbWF0aWNzIHdpdGggdGFyZ2V0IG9mIEFuZ3VsYXIgTWF0ZXJpYWwgdjYgKi9cbmV4cG9ydCBmdW5jdGlvbiB1cGRhdGVUb1Y2KCk6IFJ1bGUge1xuICByZXR1cm4gY3JlYXRlTWlncmF0aW9uU2NoZW1hdGljUnVsZShcbiAgICAgIFRhcmdldFZlcnNpb24uVjYsIG1hdGVyaWFsTWlncmF0aW9ucywgbWF0ZXJpYWxVcGdyYWRlRGF0YSwgb25NaWdyYXRpb25Db21wbGV0ZSk7XG59XG5cbi8qKiBFbnRyeSBwb2ludCBmb3IgdGhlIG1pZ3JhdGlvbiBzY2hlbWF0aWNzIHdpdGggdGFyZ2V0IG9mIEFuZ3VsYXIgTWF0ZXJpYWwgdjcgKi9cbmV4cG9ydCBmdW5jdGlvbiB1cGRhdGVUb1Y3KCk6IFJ1bGUge1xuICByZXR1cm4gY3JlYXRlTWlncmF0aW9uU2NoZW1hdGljUnVsZShcbiAgICAgIFRhcmdldFZlcnNpb24uVjcsIG1hdGVyaWFsTWlncmF0aW9ucywgbWF0ZXJpYWxVcGdyYWRlRGF0YSwgb25NaWdyYXRpb25Db21wbGV0ZSk7XG59XG5cbi8qKiBFbnRyeSBwb2ludCBmb3IgdGhlIG1pZ3JhdGlvbiBzY2hlbWF0aWNzIHdpdGggdGFyZ2V0IG9mIEFuZ3VsYXIgTWF0ZXJpYWwgdjggKi9cbmV4cG9ydCBmdW5jdGlvbiB1cGRhdGVUb1Y4KCk6IFJ1bGUge1xuICByZXR1cm4gY3JlYXRlTWlncmF0aW9uU2NoZW1hdGljUnVsZShcbiAgICAgIFRhcmdldFZlcnNpb24uVjgsIG1hdGVyaWFsTWlncmF0aW9ucywgbWF0ZXJpYWxVcGdyYWRlRGF0YSwgb25NaWdyYXRpb25Db21wbGV0ZSk7XG59XG5cbi8qKiBFbnRyeSBwb2ludCBmb3IgdGhlIG1pZ3JhdGlvbiBzY2hlbWF0aWNzIHdpdGggdGFyZ2V0IG9mIEFuZ3VsYXIgTWF0ZXJpYWwgdjkgKi9cbmV4cG9ydCBmdW5jdGlvbiB1cGRhdGVUb1Y5KCk6IFJ1bGUge1xuICByZXR1cm4gY3JlYXRlTWlncmF0aW9uU2NoZW1hdGljUnVsZShcbiAgICAgIFRhcmdldFZlcnNpb24uVjksIG1hdGVyaWFsTWlncmF0aW9ucywgbWF0ZXJpYWxVcGdyYWRlRGF0YSwgb25NaWdyYXRpb25Db21wbGV0ZSk7XG59XG5cbi8qKiBFbnRyeSBwb2ludCBmb3IgdGhlIG1pZ3JhdGlvbiBzY2hlbWF0aWNzIHdpdGggdGFyZ2V0IG9mIEFuZ3VsYXIgTWF0ZXJpYWwgdjEwICovXG5leHBvcnQgZnVuY3Rpb24gdXBkYXRlVG9WMTAoKTogUnVsZSB7XG4gIHJldHVybiBjcmVhdGVNaWdyYXRpb25TY2hlbWF0aWNSdWxlKFxuICAgICAgVGFyZ2V0VmVyc2lvbi5WMTAsIG1hdGVyaWFsTWlncmF0aW9ucywgbWF0ZXJpYWxVcGdyYWRlRGF0YSwgb25NaWdyYXRpb25Db21wbGV0ZSk7XG59XG5cbi8qKiBFbnRyeSBwb2ludCBmb3IgdGhlIG1pZ3JhdGlvbiBzY2hlbWF0aWNzIHdpdGggdGFyZ2V0IG9mIEFuZ3VsYXIgTWF0ZXJpYWwgdjExICovXG5leHBvcnQgZnVuY3Rpb24gdXBkYXRlVG9WMTEoKTogUnVsZSB7XG4gIHJldHVybiBjcmVhdGVNaWdyYXRpb25TY2hlbWF0aWNSdWxlKFxuICAgICAgVGFyZ2V0VmVyc2lvbi5WMTEsIG1hdGVyaWFsTWlncmF0aW9ucywgbWF0ZXJpYWxVcGdyYWRlRGF0YSwgb25NaWdyYXRpb25Db21wbGV0ZSk7XG59XG5cbi8qKiBFbnRyeSBwb2ludCBmb3IgdGhlIG1pZ3JhdGlvbiBzY2hlbWF0aWNzIHdpdGggdGFyZ2V0IG9mIEFuZ3VsYXIgTWF0ZXJpYWwgdjEyICovXG5leHBvcnQgZnVuY3Rpb24gdXBkYXRlVG9WMTIoKTogUnVsZSB7XG4gIHJldHVybiBjcmVhdGVNaWdyYXRpb25TY2hlbWF0aWNSdWxlKFxuICAgICAgVGFyZ2V0VmVyc2lvbi5WMTIsIG1hdGVyaWFsTWlncmF0aW9ucywgbWF0ZXJpYWxVcGdyYWRlRGF0YSwgb25NaWdyYXRpb25Db21wbGV0ZSk7XG59XG5cbi8qKiBFbnRyeSBwb2ludCBmb3IgdGhlIG1pZ3JhdGlvbiBzY2hlbWF0aWNzIHdpdGggdGFyZ2V0IG9mIEFuZ3VsYXIgTWF0ZXJpYWwgdjEzICovXG5leHBvcnQgZnVuY3Rpb24gdXBkYXRlVG9WMTMoKTogUnVsZSB7XG4gIHJldHVybiBjcmVhdGVNaWdyYXRpb25TY2hlbWF0aWNSdWxlKFxuICAgICAgVGFyZ2V0VmVyc2lvbi5WMTMsIG1hdGVyaWFsTWlncmF0aW9ucywgbWF0ZXJpYWxVcGdyYWRlRGF0YSwgb25NaWdyYXRpb25Db21wbGV0ZSk7XG59XG5cbi8qKiBGdW5jdGlvbiB0aGF0IHdpbGwgYmUgY2FsbGVkIHdoZW4gdGhlIG1pZ3JhdGlvbiBjb21wbGV0ZWQuICovXG5mdW5jdGlvbiBvbk1pZ3JhdGlvbkNvbXBsZXRlKGNvbnRleHQ6IFNjaGVtYXRpY0NvbnRleHQsIHRhcmdldFZlcnNpb246IFRhcmdldFZlcnNpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhc0ZhaWx1cmVzOiBib29sZWFuKSB7XG4gIGNvbnRleHQubG9nZ2VyLmluZm8oJycpO1xuICBjb250ZXh0LmxvZ2dlci5pbmZvKGAgIOKckyAgVXBkYXRlZCBBbmd1bGFyIE1hdGVyaWFsIHRvICR7dGFyZ2V0VmVyc2lvbn1gKTtcbiAgY29udGV4dC5sb2dnZXIuaW5mbygnJyk7XG5cbiAgaWYgKGhhc0ZhaWx1cmVzKSB7XG4gICAgY29udGV4dC5sb2dnZXIud2FybihcbiAgICAgICcgIOKaoCAgU29tZSBpc3N1ZXMgd2VyZSBkZXRlY3RlZCBidXQgY291bGQgbm90IGJlIGZpeGVkIGF1dG9tYXRpY2FsbHkuIFBsZWFzZSBjaGVjayB0aGUgJyArXG4gICAgICAnb3V0cHV0IGFib3ZlIGFuZCBmaXggdGhlc2UgaXNzdWVzIG1hbnVhbGx5LicpO1xuICB9XG59XG4iXX0= |
---|