UNPKG

@syncfusion/ej2-angular-diagrams

Version:

Feature-rich diagram control to create diagrams like flow charts, organizational charts, mind maps, and BPMN diagrams. Its rich feature set includes built-in shapes, editing, serializing, exporting, printing, overview, data binding, and automatic layouts.

59 lines 14.2 kB
import { Directive, ContentChildren } from '@angular/core'; import { ComplexBase, ArrayBase, setValue } from '@syncfusion/ej2-angular-base'; import * as i0 from "@angular/core"; let input = ['addInfo', 'alignment', 'annotationType', 'constraints', 'content', 'displacement', 'dragLimit', 'height', 'horizontalAlignment', 'hyperlink', 'id', 'margin', 'offset', 'rotateAngle', 'rotationReference', 'segmentAngle', 'style', 'template', 'tooltip', 'type', 'verticalAlignment', 'visibility', 'width']; let outputs = []; /** * Connectors Directive * ```html * <e-connectors> * <e-connector> * <e-connector-annotations> * <e-connector-annotation> * </e-connector-annotation> * </e-connector-annotations> * </e-connector> * </e-connectors> * ``` */ export class ConnectorAnnotationDirective extends ComplexBase { constructor(viewContainerRef) { super(); this.viewContainerRef = viewContainerRef; setValue('currentInstance', this, this.viewContainerRef); this.registerEvents(outputs); this.directivePropList = input; } } ConnectorAnnotationDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ConnectorAnnotationDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); ConnectorAnnotationDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.3", type: ConnectorAnnotationDirective, selector: "e-connector>e-connector-annotations>e-connector-annotation", inputs: { addInfo: "addInfo", alignment: "alignment", annotationType: "annotationType", constraints: "constraints", content: "content", displacement: "displacement", dragLimit: "dragLimit", height: "height", horizontalAlignment: "horizontalAlignment", hyperlink: "hyperlink", id: "id", margin: "margin", offset: "offset", rotateAngle: "rotateAngle", rotationReference: "rotationReference", segmentAngle: "segmentAngle", style: "style", template: "template", tooltip: "tooltip", type: "type", verticalAlignment: "verticalAlignment", visibility: "visibility", width: "width" }, usesInheritance: true, ngImport: i0 }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ConnectorAnnotationDirective, decorators: [{ type: Directive, args: [{ selector: 'e-connector>e-connector-annotations>e-connector-annotation', inputs: input, outputs: outputs, queries: {} }] }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; } }); /** * ConnectorAnnotation Array Directive * @private */ export class ConnectorAnnotationsDirective extends ArrayBase { constructor() { super('annotations'); } } ConnectorAnnotationsDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ConnectorAnnotationsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); ConnectorAnnotationsDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.3", type: ConnectorAnnotationsDirective, selector: "e-connector>e-connector-annotations", queries: [{ propertyName: "children", predicate: ConnectorAnnotationDirective }], usesInheritance: true, ngImport: i0 }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: ConnectorAnnotationsDirective, decorators: [{ type: Directive, args: [{ selector: 'e-connector>e-connector-annotations', queries: { children: new ContentChildren(ConnectorAnnotationDirective) }, }] }], ctorParameters: function () { return []; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdG9yLWFubm90YXRpb24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2RpYWdyYW0vY29ubmVjdG9yLWFubm90YXRpb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQW9CLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RSxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7QUFJaEYsSUFBSSxLQUFLLEdBQWEsQ0FBQyxTQUFTLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFFLGFBQWEsRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUscUJBQXFCLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRSxtQkFBbUIsRUFBRSxjQUFjLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLG1CQUFtQixFQUFFLFlBQVksRUFBRSxPQUFPLENBQUMsQ0FBQztBQUN4VSxJQUFJLE9BQU8sR0FBYSxFQUFFLENBQUM7QUFDM0I7Ozs7Ozs7Ozs7OztHQVlHO0FBU0gsTUFBTSxPQUFPLDRCQUE2QixTQUFRLFdBQXlDO0lBcUp2RixZQUFvQixnQkFBaUM7UUFDakQsS0FBSyxFQUFFLENBQUM7UUFEUSxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWlCO1FBRWpELFFBQVEsQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsS0FBSyxDQUFDO0lBQ25DLENBQUM7O3lIQTFKUSw0QkFBNEI7NkdBQTVCLDRCQUE0QjsyRkFBNUIsNEJBQTRCO2tCQVJ4QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSw0REFBNEQ7b0JBQ3RFLE1BQU0sRUFBRSxLQUFLO29CQUNiLE9BQU8sRUFBRSxPQUFPO29CQUNoQixPQUFPLEVBQUUsRUFFUjtpQkFDSjs7QUE4SkQ7OztHQUdHO0FBT0gsTUFBTSxPQUFPLDZCQUE4QixTQUFRLFNBQXdDO0lBQ3ZGO1FBQ0ksS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3pCLENBQUM7OzBIQUhRLDZCQUE2Qjs4R0FBN0IsNkJBQTZCLG9HQUhKLDRCQUE0QjsyRkFHckQsNkJBQTZCO2tCQU56QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxxQ0FBcUM7b0JBQy9DLE9BQU8sRUFBRTt3QkFDTCxRQUFRLEVBQUUsSUFBSSxlQUFlLENBQUMsNEJBQTRCLENBQUM7cUJBQzlEO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBWaWV3Q29udGFpbmVyUmVmLCBDb250ZW50Q2hpbGRyZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbXBsZXhCYXNlLCBBcnJheUJhc2UsIHNldFZhbHVlIH0gZnJvbSAnQHN5bmNmdXNpb24vZWoyLWFuZ3VsYXItYmFzZSc7XG5cblxuXG5sZXQgaW5wdXQ6IHN0cmluZ1tdID0gWydhZGRJbmZvJywgJ2FsaWdubWVudCcsICdhbm5vdGF0aW9uVHlwZScsICdjb25zdHJhaW50cycsICdjb250ZW50JywgJ2Rpc3BsYWNlbWVudCcsICdkcmFnTGltaXQnLCAnaGVpZ2h0JywgJ2hvcml6b250YWxBbGlnbm1lbnQnLCAnaHlwZXJsaW5rJywgJ2lkJywgJ21hcmdpbicsICdvZmZzZXQnLCAncm90YXRlQW5nbGUnLCAncm90YXRpb25SZWZlcmVuY2UnLCAnc2VnbWVudEFuZ2xlJywgJ3N0eWxlJywgJ3RlbXBsYXRlJywgJ3Rvb2x0aXAnLCAndHlwZScsICd2ZXJ0aWNhbEFsaWdubWVudCcsICd2aXNpYmlsaXR5JywgJ3dpZHRoJ107XG5sZXQgb3V0cHV0czogc3RyaW5nW10gPSBbXTtcbi8qKlxuICogQ29ubmVjdG9ycyBEaXJlY3RpdmVcbiAqIGBgYGh0bWxcbiAqIDxlLWNvbm5lY3RvcnM+XG4gKiA8ZS1jb25uZWN0b3I+XG4gKiA8ZS1jb25uZWN0b3ItYW5ub3RhdGlvbnM+XG4gKiA8ZS1jb25uZWN0b3ItYW5ub3RhdGlvbj5cbiAqIDwvZS1jb25uZWN0b3ItYW5ub3RhdGlvbj5cbiAqIDwvZS1jb25uZWN0b3ItYW5ub3RhdGlvbnM+XG4gKiA8L2UtY29ubmVjdG9yPlxuICogPC9lLWNvbm5lY3RvcnM+XG4gKiBgYGBcbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdlLWNvbm5lY3Rvcj5lLWNvbm5lY3Rvci1hbm5vdGF0aW9ucz5lLWNvbm5lY3Rvci1hbm5vdGF0aW9uJyxcbiAgICBpbnB1dHM6IGlucHV0LFxuICAgIG91dHB1dHM6IG91dHB1dHMsICAgIFxuICAgIHF1ZXJpZXM6IHtcblxuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgQ29ubmVjdG9yQW5ub3RhdGlvbkRpcmVjdGl2ZSBleHRlbmRzIENvbXBsZXhCYXNlPENvbm5lY3RvckFubm90YXRpb25EaXJlY3RpdmU+IHtcbiAgICBwdWJsaWMgZGlyZWN0aXZlUHJvcExpc3Q6IGFueTtcblx0XG5cblxuICAgIC8qKiBcbiAgICAgKiBTZXRzIHRoZSB0eXBlIG9mIHRoZSBhbm5vdGF0aW9uIFxuICAgICAqICAqIFNoYXBlIC0gU2V0cyB0aGUgYW5ub3RhdGlvbiB0eXBlIGFzIFNoYXBlIFxuICAgICAqICAqIFBhdGggLSBTZXRzIHRoZSBhbm5vdGF0aW9uIHR5cGUgYXMgUGF0aFxuICAgICAqIEBkZWZhdWx0ICdTaGFwZSdcbiAgICAgKi9cbiAgICBwdWJsaWMgdHlwZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBBbGxvd3MgdGhlIHVzZXIgdG8gc2F2ZSBjdXN0b20gaW5mb3JtYXRpb24vZGF0YSBhYm91dCBhbiBhbm5vdGF0aW9uIFxuICAgICAqIFxuICAgICAqIEBhc3BkZWZhdWx0dmFsdWVpZ25vcmUgXG4gICAgICogQGRlZmF1bHQgdW5kZWZpbmVkXG4gICAgICovXG4gICAgcHVibGljIGFkZEluZm86IGFueTtcbiAgICAvKiogXG4gICAgICogU2V0cyB0aGUgc2VnbWVudCBhbGlnbm1lbnQgb2YgYW5ub3RhdGlvbiBcbiAgICAgKiAgKiBDZW50ZXIgLSBBbGlnbnMgdGhlIGFubm90YXRpb24gYXQgdGhlIGNlbnRlciBvZiBhIGNvbm5lY3RvciBzZWdtZW50IFxuICAgICAqICAqIEJlZm9yZSAtIEFsaWducyB0aGUgYW5ub3RhdGlvbiBiZWZvcmUgYSBjb25uZWN0b3Igc2VnbWVudCBcbiAgICAgKiAgKiBBZnRlciAtIEFsaWducyB0aGUgYW5ub3RhdGlvbiBhZnRlciBhIGNvbm5lY3RvciBzZWdtZW50XG4gICAgICogQGRlZmF1bHQgQ2VudGVyXG4gICAgICovXG4gICAgcHVibGljIGFsaWdubWVudDogYW55O1xuICAgIC8qKiBcbiAgICAgKiAgRGVmaW5lcyB0aGUgdHlwZSBvZiBhbm5vdGF0aW9uIHRlbXBsYXRlIFxuICAgICAqIFN0cmluZyAtICBEZWZpbmVzIGFubm90YXRpb24gdGVtcGxhdGUgdG8gYmUgaW4gc3RyaW5nIFxuICAgICAqIFRlbXBsYXRlIC0gRGVmaW5lcyBhbm5vdGF0aW9uIHRlbXBsYXRlIHRvIGJlIGluIGh0bWwgY29udGVudFxuICAgICAqIEBkZWZhdWx0ICdTdHJpbmcnXG4gICAgICovXG4gICAgcHVibGljIGFubm90YXRpb25UeXBlOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIEVuYWJsZXMgb3IgZGlzYWJsZXMgdGhlIGRlZmF1bHQgYmVoYXZpb3JzIG9mIHRoZSBsYWJlbC4gXG4gICAgICogKiBSZWFkT25seSAtIEVuYWJsZXMvRGlzYWJsZXMgdGhlIFJlYWRPbmx5IENvbnN0cmFpbnRzIFxuICAgICAqICogSW5oZXJpdFJlYWRPbmx5IC0gRW5hYmxlcy9EaXNhYmxlcyB0aGUgSW5oZXJpdFJlYWRPbmx5IENvbnN0cmFpbnRzXG4gICAgICogQGRlZmF1bHQgJ0luaGVyaXRSZWFkT25seSdcbiAgICAgKiBAYXNwbnVtYmVyZW51bSBcbiAgICAgKi9cbiAgICBwdWJsaWMgY29uc3RyYWludHM6IGFueTtcbiAgICAvKiogXG4gICAgICogU2V0cyB0aGUgdGV4dHVhbCBkZXNjcmlwdGlvbiBvZiB0aGUgbm9kZS9jb25uZWN0b3JcbiAgICAgKiBAZGVmYXVsdCAnJ1xuICAgICAqL1xuICAgIHB1YmxpYyBjb250ZW50OiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFNldHMgdGhlIGRpc3BsYWNlbWVudCBvZiBhbiBhbm5vdGF0aW9uIGZyb20gaXRzIGFjdHVhbCBwb3NpdGlvblxuICAgICAqIEBhc3BkZWZhdWx0dmFsdWVpZ25vcmUgXG4gICAgICogQGJsYXpvcmRlZmF1bHR2YWx1ZWlnbm9yZSBcbiAgICAgKiBAZGVmYXVsdCB1bmRlZmluZWRcbiAgICAgKi9cbiAgICBwdWJsaWMgZGlzcGxhY2VtZW50OiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFNldHMgdGhlIHNwYWNlIHRvIGJlIGxlZnQgYmV0d2VlbiBhbiBhbm5vdGF0aW9uIGFuZCBpdHMgcGFyZW50IG5vZGUvY29ubmVjdG9yXG4gICAgICogQGRlZmF1bHQgbmV3IE1hcmdpbigyMCwyMCwyMCwyMClcbiAgICAgKi9cbiAgICBwdWJsaWMgZHJhZ0xpbWl0OiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFNldHMgdGhlIGhlaWdodCBvZiB0aGUgdGV4dFxuICAgICAqIEBhc3BkZWZhdWx0dmFsdWVpZ25vcmUgXG4gICAgICogQGRlZmF1bHQgdW5kZWZpbmVkXG4gICAgICovXG4gICAgcHVibGljIGhlaWdodDogYW55O1xuICAgIC8qKiBcbiAgICAgKiBTZXRzIHRoZSBob3Jpem9udGFsIGFsaWdubWVudCBvZiB0aGUgdGV4dCB3aXRoIHJlc3BlY3QgdG8gdGhlIHBhcmVudCBub2RlL2Nvbm5lY3RvciBcbiAgICAgKiAqIFN0cmV0Y2ggLSBTdHJldGNoZXMgdGhlIGRpYWdyYW0gZWxlbWVudCB0aHJvdWdob3V0IGl0cyBpbW1lZGlhdGUgcGFyZW50IFxuICAgICAqICogTGVmdCAtIEFsaWducyB0aGUgZGlhZ3JhbSBlbGVtZW50IGF0IHRoZSBsZWZ0IG9mIGl0cyBpbW1lZGlhdGUgcGFyZW50IFxuICAgICAqICogUmlnaHQgLSBBbGlnbnMgdGhlIGRpYWdyYW0gZWxlbWVudCBhdCB0aGUgcmlnaHQgb2YgaXRzIGltbWVkaWF0ZSBwYXJlbnQgXG4gICAgICogKiBDZW50ZXIgLSBBbGlnbnMgdGhlIGRpYWdyYW0gZWxlbWVudCBhdCB0aGUgY2VudGVyIG9mIGl0cyBpbW1lZGlhdGUgcGFyZW50IFxuICAgICAqICogQXV0byAtIEFsaWducyB0aGUgZGlhZ3JhbSBlbGVtZW50IGJhc2VkIG9uIHRoZSBjaGFyYWN0ZXJpc3RpY3Mgb2YgaXRzIGltbWVkaWF0ZSBwYXJlbnRcbiAgICAgKiBAZGVmYXVsdCAnQ2VudGVyJ1xuICAgICAqL1xuICAgIHB1YmxpYyBob3Jpem9udGFsQWxpZ25tZW50OiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFNldHMgdGhlIGh5cGVybGluayBvZiB0aGUgbGFiZWwgXG4gICAgICogXG4gICAgICogQGFzcGRlZmF1bHR2YWx1ZWlnbm9yZSBcbiAgICAgKiBAZGVmYXVsdCB1bmRlZmluZWRcbiAgICAgKi9cbiAgICBwdWJsaWMgaHlwZXJsaW5rOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIERlZmluZXMgdGhlIHVuaXF1ZSBpZCBvZiB0aGUgYW5ub3RhdGlvblxuICAgICAqIEBkZWZhdWx0ICcnXG4gICAgICovXG4gICAgcHVibGljIGlkOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFNldHMgdGhlIHNwYWNlIHRvIGJlIGxlZnQgYmV0d2VlbiBhbiBhbm5vdGF0aW9uIGFuZCBpdHMgcGFyZW50IG5vZGUvY29ubmVjdG9yXG4gICAgICogQGRlZmF1bHQgbmV3IE1hcmdpbigwLDAsMCwwKVxuICAgICAqL1xuICAgIHB1YmxpYyBtYXJnaW46IGFueTtcbiAgICAvKiogXG4gICAgICogU2V0cyB0aGUgc2VnbWVudCBvZmZzZXQgb2YgYW5ub3RhdGlvblxuICAgICAqIEBkZWZhdWx0IDAuNVxuICAgICAqL1xuICAgIHB1YmxpYyBvZmZzZXQ6IGFueTtcbiAgICAvKiogXG4gICAgICogU2V0cyB0aGUgcm90YXRlIGFuZ2xlIG9mIHRoZSB0ZXh0XG4gICAgICogQGRlZmF1bHQgMFxuICAgICAqL1xuICAgIHB1YmxpYyByb3RhdGVBbmdsZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBHZXRzIG9yIHNldHMgdGhlIHJlZmVyZW5jZSBtb2RlIGZvciBhbm5vdGF0aW9uIHJvdGF0aW9uLlxuICAgICAqIEBkZWZhdWx0ICdQYXJlbnQnXG4gICAgICovXG4gICAgcHVibGljIHJvdGF0aW9uUmVmZXJlbmNlOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIEVuYWJsZS9EaXNhYmxlIHRoZSBhbmdsZSBiYXNlZCBvbiB0aGUgY29ubmVjdG9yIHNlZ21lbnRcbiAgICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgICAqL1xuICAgIHB1YmxpYyBzZWdtZW50QW5nbGU6IGFueTtcbiAgICAvKiogXG4gICAgICogRGVmaW5lcyB0aGUgYXBwZWFyYW5jZSBvZiB0aGUgdGV4dFxuICAgICAqIEBkZWZhdWx0IG5ldyBUZXh0U3R5bGUoKVxuICAgICAqL1xuICAgIHB1YmxpYyBzdHlsZTogYW55O1xuICAgIC8qKiBcbiAgICAgKiBTZXRzIHRoZSB0ZXh0dWFsIGRlc2NyaXB0aW9uIG9mIHRoZSBub2RlL2Nvbm5lY3RvclxuICAgICAqIEBkZWZhdWx0ICd1bmRlZmluZWQnXG4gICAgICovXG4gICAgcHVibGljIHRlbXBsYXRlOiBhbnk7XG4gICAgLyoqIFxuICAgICAqIFRoaXMgcHJvcGVydHkgaXMgdXNlZCB0byBzaG93IHRvb2x0aXAgZm9yIGFubm90YXRpb24gb24gbW91c2Ugb3Zlci5cbiAgICAgKiBAZGVmYXVsdCBuZXcgRGlhZ3JhbVRvb2xUaXAoKTtcbiAgICAgKi9cbiAgICBwdWJsaWMgdG9vbHRpcDogYW55O1xuICAgIC8qKiBcbiAgICAgKiBTZXRzIHRoZSB2ZXJ0aWNhbCBhbGlnbm1lbnQgb2YgdGhlIHRleHQgd2l0aCByZXNwZWN0IHRvIHRoZSBwYXJlbnQgbm9kZS9jb25uZWN0b3IgXG4gICAgICogKiBTdHJldGNoIC0gU3RyZXRjaGVzIHRoZSBkaWFncmFtIGVsZW1lbnQgdGhyb3VnaG91dCBpdHMgaW1tZWRpYXRlIHBhcmVudCBcbiAgICAgKiAqIFRvcCAtIEFsaWducyB0aGUgZGlhZ3JhbSBlbGVtZW50IGF0IHRoZSB0b3Agb2YgaXRzIGltbWVkaWF0ZSBwYXJlbnQgXG4gICAgICogKiBCb3R0b20gLSBBbGlnbnMgdGhlIGRpYWdyYW0gZWxlbWVudCBhdCB0aGUgYm90dG9tIG9mIGl0cyBpbW1lZGlhdGUgcGFyZW50IFxuICAgICAqICogQ2VudGVyIC0gQWxpZ25zIHRoZSBkaWFncmFtIGVsZW1lbnQgYXQgdGhlIGNlbnRlciBvZiBpdHMgaW1tZWRpYXRlIHBhcmVudCBcbiAgICAgKiAqIEF1dG8gLSBBbGlnbnMgdGhlIGRpYWdyYW0gZWxlbWVudCBiYXNlZCBvbiB0aGUgY2hhcmFjdGVyaXN0aWNzIG9mIGl0cyBpbW1lZGlhdGUgcGFyZW50XG4gICAgICogQGRlZmF1bHQgJ0NlbnRlcidcbiAgICAgKi9cbiAgICBwdWJsaWMgdmVydGljYWxBbGlnbm1lbnQ6IGFueTtcbiAgICAvKiogXG4gICAgICogRGVmaW5lcyB0aGUgdmlzaWJpbGl0eSBvZiB0aGUgbGFiZWxcbiAgICAgKiBAZGVmYXVsdCB0cnVlXG4gICAgICovXG4gICAgcHVibGljIHZpc2liaWxpdHk6IGFueTtcbiAgICAvKiogXG4gICAgICogU2V0cyB0aGUgd2lkdGggb2YgdGhlIHRleHRcbiAgICAgKiBAYXNwZGVmYXVsdHZhbHVlaWdub3JlIFxuICAgICAqIEBkZWZhdWx0IHVuZGVmaW5lZFxuICAgICAqL1xuICAgIHB1YmxpYyB3aWR0aDogYW55O1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOlZpZXdDb250YWluZXJSZWYpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgc2V0VmFsdWUoJ2N1cnJlbnRJbnN0YW5jZScsIHRoaXMsIHRoaXMudmlld0NvbnRhaW5lclJlZik7XG4gICAgICAgIHRoaXMucmVnaXN0ZXJFdmVudHMob3V0cHV0cyk7XG4gICAgICAgIHRoaXMuZGlyZWN0aXZlUHJvcExpc3QgPSBpbnB1dDtcbiAgICB9XG59XG5cbi8qKlxuICogQ29ubmVjdG9yQW5ub3RhdGlvbiBBcnJheSBEaXJlY3RpdmVcbiAqIEBwcml2YXRlXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnZS1jb25uZWN0b3I+ZS1jb25uZWN0b3ItYW5ub3RhdGlvbnMnLFxuICAgIHF1ZXJpZXM6IHtcbiAgICAgICAgY2hpbGRyZW46IG5ldyBDb250ZW50Q2hpbGRyZW4oQ29ubmVjdG9yQW5ub3RhdGlvbkRpcmVjdGl2ZSlcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBDb25uZWN0b3JBbm5vdGF0aW9uc0RpcmVjdGl2ZSBleHRlbmRzIEFycmF5QmFzZTxDb25uZWN0b3JBbm5vdGF0aW9uc0RpcmVjdGl2ZT4ge1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcignYW5ub3RhdGlvbnMnKTtcbiAgICB9XG59Il19