UNPKG

@ultipa-graph/ultipa-driver

Version:

NodeJS SDK for Ultipa GQL

237 lines 22.9 kB
"use strict"; /** * Error definitions for GQLDB Node.js driver. */ Object.defineProperty(exports, "__esModule", { value: true }); exports.UnsupportedTypeError = exports.TypeConversionError = exports.InvalidTypeError = exports.ExportFailedError = exports.DeleteFailedError = exports.InsertFailedError = exports.DropGraphFailedError = exports.CreateGraphFailedError = exports.GraphExistsError = exports.GraphNotFoundError = exports.EmptyQueryError = exports.InvalidQueryError = exports.QueryTimeoutError = exports.QueryFailedError = exports.TransactionAlreadyOpenError = exports.TransactionNotFoundError = exports.TransactionFailedError = exports.NoTransactionError = exports.InvalidSessionError = exports.SessionExpiredError = exports.LogoutFailedError = exports.LoginFailedError = exports.NotLoggedInError = exports.HealthCheckFailedError = exports.AllHostsFailedError = exports.ConnectionFailedError = exports.ConnectionClosedError = exports.NoConnectionError = exports.InvalidTimeoutError = exports.NoHostsError = exports.GqldbError = void 0; /** Base error class for GQLDB errors */ class GqldbError extends Error { code; cause; constructor(message, code = 0, cause) { super(message); this.code = code; this.cause = cause; this.name = 'GqldbError'; } } exports.GqldbError = GqldbError; // Configuration errors class NoHostsError extends GqldbError { constructor() { super('No hosts configured'); this.name = 'NoHostsError'; } } exports.NoHostsError = NoHostsError; class InvalidTimeoutError extends GqldbError { constructor() { super('Invalid timeout value'); this.name = 'InvalidTimeoutError'; } } exports.InvalidTimeoutError = InvalidTimeoutError; // Connection errors class NoConnectionError extends GqldbError { constructor() { super('No connection available'); this.name = 'NoConnectionError'; } } exports.NoConnectionError = NoConnectionError; class ConnectionClosedError extends GqldbError { constructor() { super('Connection closed'); this.name = 'ConnectionClosedError'; } } exports.ConnectionClosedError = ConnectionClosedError; class ConnectionFailedError extends GqldbError { constructor(message = 'Connection failed', cause) { super(message, 0, cause); this.name = 'ConnectionFailedError'; } } exports.ConnectionFailedError = ConnectionFailedError; class AllHostsFailedError extends GqldbError { constructor() { super('All hosts failed to connect'); this.name = 'AllHostsFailedError'; } } exports.AllHostsFailedError = AllHostsFailedError; class HealthCheckFailedError extends GqldbError { constructor() { super('Health check failed'); this.name = 'HealthCheckFailedError'; } } exports.HealthCheckFailedError = HealthCheckFailedError; // Session errors class NotLoggedInError extends GqldbError { constructor() { super('Not logged in'); this.name = 'NotLoggedInError'; } } exports.NotLoggedInError = NotLoggedInError; class LoginFailedError extends GqldbError { constructor(message = 'Login failed', cause) { super(message, 0, cause); this.name = 'LoginFailedError'; } } exports.LoginFailedError = LoginFailedError; class LogoutFailedError extends GqldbError { constructor(message = 'Logout failed', cause) { super(message, 0, cause); this.name = 'LogoutFailedError'; } } exports.LogoutFailedError = LogoutFailedError; class SessionExpiredError extends GqldbError { constructor() { super('Session expired'); this.name = 'SessionExpiredError'; } } exports.SessionExpiredError = SessionExpiredError; class InvalidSessionError extends GqldbError { constructor() { super('Invalid session'); this.name = 'InvalidSessionError'; } } exports.InvalidSessionError = InvalidSessionError; // Transaction errors class NoTransactionError extends GqldbError { constructor() { super('No active transaction'); this.name = 'NoTransactionError'; } } exports.NoTransactionError = NoTransactionError; class TransactionFailedError extends GqldbError { constructor(message = 'Transaction failed', cause) { super(message, 0, cause); this.name = 'TransactionFailedError'; } } exports.TransactionFailedError = TransactionFailedError; class TransactionNotFoundError extends GqldbError { constructor() { super('Transaction not found'); this.name = 'TransactionNotFoundError'; } } exports.TransactionNotFoundError = TransactionNotFoundError; class TransactionAlreadyOpenError extends GqldbError { constructor() { super('Transaction already open'); this.name = 'TransactionAlreadyOpenError'; } } exports.TransactionAlreadyOpenError = TransactionAlreadyOpenError; // Query errors class QueryFailedError extends GqldbError { constructor(message = 'Query failed', cause) { super(message, 0, cause); this.name = 'QueryFailedError'; } } exports.QueryFailedError = QueryFailedError; class QueryTimeoutError extends GqldbError { constructor() { super('Query timeout'); this.name = 'QueryTimeoutError'; } } exports.QueryTimeoutError = QueryTimeoutError; class InvalidQueryError extends GqldbError { constructor(message = 'Invalid query') { super(message); this.name = 'InvalidQueryError'; } } exports.InvalidQueryError = InvalidQueryError; class EmptyQueryError extends GqldbError { constructor() { super('Empty query'); this.name = 'EmptyQueryError'; } } exports.EmptyQueryError = EmptyQueryError; // Graph errors class GraphNotFoundError extends GqldbError { constructor(graphName = '') { super(graphName ? `Graph not found: ${graphName}` : 'Graph not found'); this.name = 'GraphNotFoundError'; } } exports.GraphNotFoundError = GraphNotFoundError; class GraphExistsError extends GqldbError { constructor(graphName = '') { super(graphName ? `Graph already exists: ${graphName}` : 'Graph already exists'); this.name = 'GraphExistsError'; } } exports.GraphExistsError = GraphExistsError; class CreateGraphFailedError extends GqldbError { constructor(message = 'Create graph failed', cause) { super(message, 0, cause); this.name = 'CreateGraphFailedError'; } } exports.CreateGraphFailedError = CreateGraphFailedError; class DropGraphFailedError extends GqldbError { constructor(message = 'Drop graph failed', cause) { super(message, 0, cause); this.name = 'DropGraphFailedError'; } } exports.DropGraphFailedError = DropGraphFailedError; // Data errors class InsertFailedError extends GqldbError { constructor(message = 'Insert failed', cause) { super(message, 0, cause); this.name = 'InsertFailedError'; } } exports.InsertFailedError = InsertFailedError; class DeleteFailedError extends GqldbError { constructor(message = 'Delete failed', cause) { super(message, 0, cause); this.name = 'DeleteFailedError'; } } exports.DeleteFailedError = DeleteFailedError; class ExportFailedError extends GqldbError { constructor(message = 'Export failed', cause) { super(message, 0, cause); this.name = 'ExportFailedError'; } } exports.ExportFailedError = ExportFailedError; // Type errors class InvalidTypeError extends GqldbError { constructor(message = 'Invalid type') { super(message); this.name = 'InvalidTypeError'; } } exports.InvalidTypeError = InvalidTypeError; class TypeConversionError extends GqldbError { constructor(message = 'Type conversion failed') { super(message); this.name = 'TypeConversionError'; } } exports.TypeConversionError = TypeConversionError; class UnsupportedTypeError extends GqldbError { constructor(typeName = '') { super(typeName ? `Unsupported type: ${typeName}` : 'Unsupported type'); this.name = 'UnsupportedTypeError'; } } exports.UnsupportedTypeError = UnsupportedTypeError; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2Vycm9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7O0dBRUc7OztBQUVILHdDQUF3QztBQUN4QyxNQUFhLFVBQVcsU0FBUSxLQUFLO0lBR2pCO0lBQ0E7SUFIbEIsWUFDRSxPQUFlLEVBQ0MsT0FBZSxDQUFDLEVBQ2hCLEtBQWE7UUFFN0IsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBSEMsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixVQUFLLEdBQUwsS0FBSyxDQUFRO1FBRzdCLElBQUksQ0FBQyxJQUFJLEdBQUcsWUFBWSxDQUFDO0lBQzNCLENBQUM7Q0FDRjtBQVRELGdDQVNDO0FBRUQsdUJBQXVCO0FBQ3ZCLE1BQWEsWUFBYSxTQUFRLFVBQVU7SUFDMUM7UUFDRSxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUM3QixJQUFJLENBQUMsSUFBSSxHQUFHLGNBQWMsQ0FBQztJQUM3QixDQUFDO0NBQ0Y7QUFMRCxvQ0FLQztBQUVELE1BQWEsbUJBQW9CLFNBQVEsVUFBVTtJQUNqRDtRQUNFLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxJQUFJLEdBQUcscUJBQXFCLENBQUM7SUFDcEMsQ0FBQztDQUNGO0FBTEQsa0RBS0M7QUFFRCxvQkFBb0I7QUFDcEIsTUFBYSxpQkFBa0IsU0FBUSxVQUFVO0lBQy9DO1FBQ0UsS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLElBQUksR0FBRyxtQkFBbUIsQ0FBQztJQUNsQyxDQUFDO0NBQ0Y7QUFMRCw4Q0FLQztBQUVELE1BQWEscUJBQXNCLFNBQVEsVUFBVTtJQUNuRDtRQUNFLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxJQUFJLEdBQUcsdUJBQXVCLENBQUM7SUFDdEMsQ0FBQztDQUNGO0FBTEQsc0RBS0M7QUFFRCxN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QUFHLG1CQUFtQixDQUFDO0lBQ2xDLENBQUM7Q0FDRjtBQUxELDhDQUtDO0FBRUQsY0FBYztBQUNkLE1BQWEsZ0JBQWlCLFNBQVEsVUFBVTtJQUM5QyxZQUFZLFVBQWtCLGNBQWM7UUFDMUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2YsSUFBSSxDQUFDLElBQUksR0FBRyxrQkFBa0IsQ0FBQztJQUNqQyxDQUFDO0NBQ0Y7QUFMRCw0Q0FLQztBQUVELE1BQWEsbUJBQW9CLFNBQVEsVUFBVTtJQUNqRCxZQUFZLFVBQWtCLHdCQUF3QjtRQUNwRCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDZixJQUFJLENBQUMsSUFBSSxHQUFHLHFCQUFxQixDQUFDO0lBQ3BDLENBQUM7Q0FDRjtBQUxELGtEQUtDO0FBRUQsTUFBYSxvQkFBcUIsU0FBUSxVQUFVO0lBQ2xELFlBQVksV0FBbUIsRUFBRTtRQUMvQixLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDdkUsSUFBSSxDQUFDLElBQUksR0FBRyxzQkFBc0IsQ0FBQztJQUNyQyxDQUFDO0NBQ0Y7QUFMRCxvREFLQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRXJyb3IgZGVmaW5pdGlvbnMgZm9yIEdRTERCIE5vZGUuanMgZHJpdmVyLlxuICovXG5cbi8qKiBCYXNlIGVycm9yIGNsYXNzIGZvciBHUUxEQiBlcnJvcnMgKi9cbmV4cG9ydCBjbGFzcyBHcWxkYkVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihcbiAgICBtZXNzYWdlOiBzdHJpbmcsXG4gICAgcHVibGljIHJlYWRvbmx5IGNvZGU6IG51bWJlciA9IDAsXG4gICAgcHVibGljIHJlYWRvbmx5IGNhdXNlPzogRXJyb3JcbiAgKSB7XG4gICAgc3VwZXIobWVzc2FnZSk7XG4gICAgdGhpcy5uYW1lID0gJ0dxbGRiRXJyb3InO1xuICB9XG59XG5cbi8vIENvbmZpZ3VyYXRpb24gZXJyb3JzXG5leHBvcnQgY2xhc3MgTm9Ib3N0c0Vycm9yIGV4dGVuZHMgR3FsZGJFcnJvciB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCdObyBob3N0cyBjb25maWd1cmVkJyk7XG4gICAgdGhpcy5uYW1lID0gJ05vSG9zdHNFcnJvcic7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEludmFsaWRUaW1lb3V0RXJyb3IgZXh0ZW5kcyBHcWxkYkVycm9yIHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoJ0ludmFsaWQgdGltZW91dCB2YWx1ZScpO1xuICAgIHRoaXMubmFtZSA9ICdJbnZhbGlkVGltZW91dEVycm9yJztcbiAgfVxufVxuXG4vLyBDb25uZWN0aW9uIGVycm9yc1xuZXhwb3J0IGNsYXNzIE5vQ29ubmVjdGlvbkVycm9yIGV4dGVuZHMgR3FsZGJFcnJvciB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCdObyBjb25uZWN0aW9uIGF2YWlsYWJsZScpO1xuICAgIHRoaXMubmFtZSA9ICdOb0Nvbm5lY3Rpb25FcnJvcic7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIENvbm5lY3Rpb25DbG9zZWRFcnJvciBleHRlbmRzIEdxbGRiRXJyb3Ige1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcignQ29ubmVjdGlvbiBjbG9zZWQnKTtcbiAgICB0aGlzLm5hbWUgPSAnQ29ubmVjdGlvbkNsb3NlZEVycm9yJztcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgQ29ubmVjdGlvbkZhaWxlZEVycm9yIGV4dGVuZHMgR3FsZGJFcnJvciB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZyA9ICdDb25uZWN0aW9uIGZhaWxlZCcsIGNhdXNlPzogRXJyb3IpIHtcbiAgICBzdXBlcihtZXNzYWdlLCAwLCBjYXVzZSk7XG4gICAgdGhpcy5uYW1lID0gJ0Nvbm5lY3Rpb25GYWlsZWRFcnJvcic7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEFsbEhvc3RzRmFpbGVkRXJyb3IgZXh0ZW5kcyBHcWxkYkVycm9yIHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoJ0FsbCBob3N0cyBmYWlsZWQgdG8gY29ubmVjdCcpO1xuICAgIHRoaXMubmFtZSA9ICdBbGxIb3N0c0ZhaWxlZEVycm9yJztcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgSGVhbHRoQ2hlY2tGYWlsZWRFcnJvciBleHRlbmRzIEdxbGRiRXJyb3Ige1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcignSGVhbHRoIGNoZWNrIGZhaWxlZCcpO1xuICAgIHRoaXMubmFtZSA9ICdIZWFsdGhDaGVja0ZhaWxlZEVycm9yJztcbiAgfVxufVxuXG4vLyBTZXNzaW9uIGVycm9yc1xuZXhwb3J0IGNsYXNzIE5vdExvZ2dlZEluRXJyb3IgZXh0ZW5kcyBHcWxkYkVycm9yIHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoJ05vdCBsb2dnZWQgaW4nKTtcbiAgICB0aGlzLm5hbWUgPSAnTm90TG9nZ2VkSW5FcnJvcic7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIExvZ2luRmFpbGVkRXJyb3IgZXh0ZW5kcyBHcWxkYkVycm9yIHtcbiAgY29uc3RydWN0b3IobWVzc2FnZTogc3RyaW5nID0gJ0xvZ2luIGZhaWxlZCcsIGNhdXNlPzogRXJyb3IpIHtcbiAgICBzdXBlcihtZXNzYWdlLCAwLCBjYXVzZSk7XG4gICAgdGhpcy5uYW1lID0gJ0xvZ2luRmFpbGVkRXJyb3InO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBMb2dvdXRGYWlsZWRFcnJvciBleHRlbmRzIEdxbGRiRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlOiBzdHJpbmcgPSAnTG9nb3V0IGZhaWxlZCcsIGNhdXNlPzogRXJyb3IpIHtcbiAgICBzdXBlcihtZXNzYWdlLCAwLCBjYXVzZSk7XG4gICAgdGhpcy5uYW1lID0gJ0xvZ291dEZhaWxlZEVycm9yJztcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgU2Vzc2lvbkV4cGlyZWRFcnJvciBleHRlbmRzIEdxbGRiRXJyb3Ige1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcignU2Vzc2lvbiBleHBpcmVkJyk7XG4gICAgdGhpcy5uYW1lID0gJ1Nlc3Npb25FeHBpcmVkRXJyb3InO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBJbnZhbGlkU2Vzc2lvbkVycm9yIGV4dGVuZHMgR3FsZGJFcnJvciB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCdJbnZhbGlkIHNlc3Npb24nKTtcbiAgICB0aGlzLm5hbWUgPSAnSW52YWxpZFNlc3Npb25FcnJvcic7XG4gIH1cbn1cblxuLy8gVHJhbnNhY3Rpb24gZXJyb3JzXG5leHBvcnQgY2xhc3MgTm9UcmFuc2FjdGlvbkVycm9yIGV4dGVuZHMgR3FsZGJFcnJvciB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCdObyBhY3RpdmUgdHJhbnNhY3Rpb24nKTtcbiAgICB0aGlzLm5hbWUgPSAnTm9UcmFuc2FjdGlvbkVycm9yJztcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgVHJhbnNhY3Rpb25GYWlsZWRFcnJvciBleHRlbmRzIEdxbGRiRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlOiBzdHJpbmcgPSAnVHJhbnNhY3Rpb24gZmFpbGVkJywgY2F1c2U/OiBFcnJvcikge1xuICAgIHN1cGVyKG1lc3NhZ2UsIDAsIGNhdXNlKTtcbiAgICB0aGlzLm5hbWUgPSAnVHJhbnNhY3Rpb25GYWlsZWRFcnJvcic7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uTm90Rm91bmRFcnJvciBleHRlbmRzIEdxbGRiRXJyb3Ige1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcignVHJhbnNhY3Rpb24gbm90IGZvdW5kJyk7XG4gICAgdGhpcy5uYW1lID0gJ1RyYW5zYWN0aW9uTm90Rm91bmRFcnJvcic7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFRyYW5zYWN0aW9uQWxyZWFkeU9wZW5FcnJvciBleHRlbmRzIEdxbGRiRXJyb3Ige1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcignVHJhbnNhY3Rpb24gYWxyZWFkeSBvcGVuJyk7XG4gICAgdGhpcy5uYW1lID0gJ1RyYW5zYWN0aW9uQWxyZWFkeU9wZW5FcnJvcic7XG4gIH1cbn1cblxuLy8gUXVlcnkgZXJyb3JzXG5leHBvcnQgY2xhc3MgUXVlcnlGYWlsZWRFcnJvciBleHRlbmRzIEdxbGRiRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlOiBzdHJpbmcgPSAnUXVlcnkgZmFpbGVkJywgY2F1c2U/OiBFcnJvcikge1xuICAgIHN1cGVyKG1lc3NhZ2UsIDAsIGNhdXNlKTtcbiAgICB0aGlzLm5hbWUgPSAnUXVlcnlGYWlsZWRFcnJvcic7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFF1ZXJ5VGltZW91dEVycm9yIGV4dGVuZHMgR3FsZGJFcnJvciB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCdRdWVyeSB0aW1lb3V0Jyk7XG4gICAgdGhpcy5uYW1lID0gJ1F1ZXJ5VGltZW91dEVycm9yJztcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgSW52YWxpZFF1ZXJ5RXJyb3IgZXh0ZW5kcyBHcWxkYkVycm9yIHtcbiAgY29uc3RydWN0b3IobWVzc2FnZTogc3RyaW5nID0gJ0ludmFsaWQgcXVlcnknKSB7XG4gICAgc3VwZXIobWVzc2FnZSk7XG4gICAgdGhpcy5uYW1lID0gJ0ludmFsaWRRdWVyeUVycm9yJztcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgRW1wdHlRdWVyeUVycm9yIGV4dGVuZHMgR3FsZGJFcnJvciB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCdFbXB0eSBxdWVyeScpO1xuICAgIHRoaXMubmFtZSA9ICdFbXB0eVF1ZXJ5RXJyb3InO1xuICB9XG59XG5cbi8vIEdyYXBoIGVycm9yc1xuZXhwb3J0IGNsYXNzIEdyYXBoTm90Rm91bmRFcnJvciBleHRlbmRzIEdxbGRiRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihncmFwaE5hbWU6IHN0cmluZyA9ICcnKSB7XG4gICAgc3VwZXIoZ3JhcGhOYW1lID8gYEdyYXBoIG5vdCBmb3VuZDogJHtncmFwaE5hbWV9YCA6ICdHcmFwaCBub3QgZm91bmQnKTtcbiAgICB0aGlzLm5hbWUgPSAnR3JhcGhOb3RGb3VuZEVycm9yJztcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgR3JhcGhFeGlzdHNFcnJvciBleHRlbmRzIEdxbGRiRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihncmFwaE5hbWU6IHN0cmluZyA9ICcnKSB7XG4gICAgc3VwZXIoZ3JhcGhOYW1lID8gYEdyYXBoIGFscmVhZHkgZXhpc3RzOiAke2dyYXBoTmFtZX1gIDogJ0dyYXBoIGFscmVhZHkgZXhpc3RzJyk7XG4gICAgdGhpcy5uYW1lID0gJ0dyYXBoRXhpc3RzRXJyb3InO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBDcmVhdGVHcmFwaEZhaWxlZEVycm9yIGV4dGVuZHMgR3FsZGJFcnJvciB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZyA9ICdDcmVhdGUgZ3JhcGggZmFpbGVkJywgY2F1c2U/OiBFcnJvcikge1xuICAgIHN1cGVyKG1lc3NhZ2UsIDAsIGNhdXNlKTtcbiAgICB0aGlzLm5hbWUgPSAnQ3JlYXRlR3JhcGhGYWlsZWRFcnJvcic7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIERyb3BHcmFwaEZhaWxlZEVycm9yIGV4dGVuZHMgR3FsZGJFcnJvciB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZyA9ICdEcm9wIGdyYXBoIGZhaWxlZCcsIGNhdXNlPzogRXJyb3IpIHtcbiAgICBzdXBlcihtZXNzYWdlLCAwLCBjYXVzZSk7XG4gICAgdGhpcy5uYW1lID0gJ0Ryb3BHcmFwaEZhaWxlZEVycm9yJztcbiAgfVxufVxuXG4vLyBEYXRhIGVycm9yc1xuZXhwb3J0IGNsYXNzIEluc2VydEZhaWxlZEVycm9yIGV4dGVuZHMgR3FsZGJFcnJvciB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZyA9ICdJbnNlcnQgZmFpbGVkJywgY2F1c2U/OiBFcnJvcikge1xuICAgIHN1cGVyKG1lc3NhZ2UsIDAsIGNhdXNlKTtcbiAgICB0aGlzLm5hbWUgPSAnSW5zZXJ0RmFpbGVkRXJyb3InO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBEZWxldGVGYWlsZWRFcnJvciBleHRlbmRzIEdxbGRiRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlOiBzdHJpbmcgPSAnRGVsZXRlIGZhaWxlZCcsIGNhdXNlPzogRXJyb3IpIHtcbiAgICBzdXBlcihtZXNzYWdlLCAwLCBjYXVzZSk7XG4gICAgdGhpcy5uYW1lID0gJ0RlbGV0ZUZhaWxlZEVycm9yJztcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgRXhwb3J0RmFpbGVkRXJyb3IgZXh0ZW5kcyBHcWxkYkVycm9yIHtcbiAgY29uc3RydWN0b3IobWVzc2FnZTogc3RyaW5nID0gJ0V4cG9ydCBmYWlsZWQnLCBjYXVzZT86IEVycm9yKSB7XG4gICAgc3VwZXIobWVzc2FnZSwgMCwgY2F1c2UpO1xuICAgIHRoaXMubmFtZSA9ICdFeHBvcnRGYWlsZWRFcnJvcic7XG4gIH1cbn1cblxuLy8gVHlwZSBlcnJvcnNcbmV4cG9ydCBjbGFzcyBJbnZhbGlkVHlwZUVycm9yIGV4dGVuZHMgR3FsZGJFcnJvciB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZyA9ICdJbnZhbGlkIHR5cGUnKSB7XG4gICAgc3VwZXIobWVzc2FnZSk7XG4gICAgdGhpcy5uYW1lID0gJ0ludmFsaWRUeXBlRXJyb3InO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBUeXBlQ29udmVyc2lvbkVycm9yIGV4dGVuZHMgR3FsZGJFcnJvciB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZyA9ICdUeXBlIGNvbnZlcnNpb24gZmFpbGVkJykge1xuICAgIHN1cGVyKG1lc3NhZ2UpO1xuICAgIHRoaXMubmFtZSA9ICdUeXBlQ29udmVyc2lvbkVycm9yJztcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgVW5zdXBwb3J0ZWRUeXBlRXJyb3IgZXh0ZW5kcyBHcWxkYkVycm9yIHtcbiAgY29uc3RydWN0b3IodHlwZU5hbWU6IHN0cmluZyA9ICcnKSB7XG4gICAgc3VwZXIodHlwZU5hbWUgPyBgVW5zdXBwb3J0ZWQgdHlwZTogJHt0eXBlTmFtZX1gIDogJ1Vuc3VwcG9ydGVkIHR5cGUnKTtcbiAgICB0aGlzLm5hbWUgPSAnVW5zdXBwb3J0ZWRUeXBlRXJyb3InO1xuICB9XG59XG4iXX0=