@progress/kendo-react-grid
Version:
React Data Grid (Table) provides 100+ ready-to-use data grid features. KendoReact Grid package
10 lines (9 loc) • 16.6 kB
JavaScript
/**
* @license
*-------------------------------------------------------------------------------------------
* Copyright © 2025 Progress Software Corporation. All rights reserved.
* Licensed under commercial license. See LICENSE.md in the package root for more information
*-------------------------------------------------------------------------------------------
*/
;const t=require("./utils.js");function f(l,m){const e=m.jscodeshift,i=e(l.source),d=l.path.endsWith(".ts")||l.path.endsWith(".tsx");let E=!1;const x=new Set;i.find(e.Identifier).forEach(s=>{x.add(s.node.name)});const o=t.generateUniqueName("handleDetailExpandChange",x),u=t.findImportedName(e,i,"Grid","@progress/kendo-react-grid")||"Grid";return i.find(e.JSXElement,{openingElement:{name:{name:u}}}).forEach(s=>{const n=s.node.openingElement.attributes;if(!t.hasJSXAttribute(n,"detail"))return;const r=n==null?void 0:n.find(a=>a.type==="JSXAttribute"&&a.name.name==="onExpandChange"),c=r!=null&&r.value?e(r.value).toSource():"No value provided";t.removeAttribute(n,"onExpandChange"),E=!0;const{isClassComponent:h,isFunctionalComponent:g,parentNode:p}=t.findParentComponent(e,s);if(h){if(t.addStateDeclaration(e,p,"detailExpand",e.objectExpression([])),t.hasJSXAttribute(n,"detailExpand")||t.addStateAttribute(e,n,"detailExpand","this.state.detailExpand"),!t.hasJSXAttribute(n,"onDetailExpandChange")){t.addEventAttribute(e,n,"onDetailExpandChange",`this.${o}`);const a=t.createClassMethod(e,o,[`event${d?": GridDetailExpandChangeEvent":""}`],[e.expressionStatement(e.callExpression(e.memberExpression(e.thisExpression(),e.identifier("setState")),[e.objectExpression([e.property("init",e.identifier("detailExpand"),e.memberExpression(e.identifier("event"),e.identifier("detailExpand")))])]))]);t.addCommentToMethod(e,e(a),`Original onExpandChange value: ${c}`,"class"),t.addMethodToComponent(e,p,a,!0)}}else if(g&&(t.addUseStateDeclaration(e,p,"detailExpand","setDetailExpand",e.objectExpression([]),d,"DetailExpandDescriptor"),t.hasJSXAttribute(n,"detailExpand")||t.addStateAttribute(e,n,"detailExpand","detailExpand"),!t.hasJSXAttribute(n,"onDetailExpandChange"))){t.addEventAttribute(e,n,"onDetailExpandChange",`${o}`);const a=t.createArrowFunction(e,`${o}`,[`(event${d?": GridDetailExpandChangeEvent":""})`],[e.expressionStatement(e.callExpression(e.identifier("setDetailExpand"),[e.memberExpression(e.identifier("event"),e.identifier("detailExpand"))]))]);t.addCommentToMethod(e,e(a),`Original onExpandChange value: ${c}`,"function"),t.addMethodToComponent(e,p,a,!1)}}),E&&d&&(t.ensureImportExists(e,i,"GridDetailExpandChangeEvent","@progress/kendo-react-grid"),t.ensureImportExists(e,i,"DetailExpandDescriptor","@progress/kendo-react-data-tools")),i.toSource()}module.exports=f;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV0YWlsLWV4cGFuZC1zdGF0ZS5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ3JpZC9jb2RlbW9kcy92MTEvZGV0YWlsLWV4cGFuZC1zdGF0ZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBUEksIEZpbGVJbmZvLCBKU0NvZGVzaGlmdCwgSlNYQXR0cmlidXRlLCBKU1hTcHJlYWRBdHRyaWJ1dGUgfSBmcm9tICdqc2NvZGVzaGlmdCc7XG5pbXBvcnQge1xuICAgIGFkZE1ldGhvZFRvQ29tcG9uZW50LFxuICAgIHJlbW92ZUF0dHJpYnV0ZSxcbiAgICBmaW5kUGFyZW50Q29tcG9uZW50LFxuICAgIGdlbmVyYXRlVW5pcXVlTmFtZSxcbiAgICBlbnN1cmVJbXBvcnRFeGlzdHMsXG4gICAgYWRkRXZlbnRBdHRyaWJ1dGUsXG4gICAgYWRkU3RhdGVBdHRyaWJ1dGUsXG4gICAgYWRkU3RhdGVEZWNsYXJhdGlvbixcbiAgICBhZGRVc2VTdGF0ZURlY2xhcmF0aW9uLFxuICAgIGZpbmRJbXBvcnRlZE5hbWUsXG4gICAgY3JlYXRlQ2xhc3NNZXRob2QsXG4gICAgY3JlYXRlQXJyb3dGdW5jdGlvbixcbiAgICBoYXNKU1hBdHRyaWJ1dGUsXG4gICAgYWRkQ29tbWVudFRvTWV0aG9kXG59IGZyb20gJy4vdXRpbHMnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiAoZmlsZUluZm86IEZpbGVJbmZvLCBhcGk6IEFQSSkge1xuICAgIGNvbnN0IGo6IEpTQ29kZXNoaWZ0ID0gYXBpLmpzY29kZXNoaWZ0O1xuICAgIGNvbnN0IHJvb3QgPSBqKGZpbGVJbmZvLnNvdXJjZSk7XG5cbiAgICAvLyBDaGVjayBpZiB0aGUgZmlsZSBpcyBUeXBlU2NyaXB0IG9yIFRTWFxuICAgIGNvbnN0IGlzVHlwZVNjcmlwdCA9IGZpbGVJbmZvLnBhdGguZW5kc1dpdGgoJy50cycpIHx8IGZpbGVJbmZvLnBhdGguZW5kc1dpdGgoJy50c3gnKTtcblxuICAgIGxldCBhZGRJbXBvcnRzID0gZmFsc2U7XG4gICAgY29uc3QgZXhpc3RpbmdOYW1lcyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuICAgIHJvb3QuZmluZChqLklkZW50aWZpZXIpLmZvckVhY2goKHBhdGgpID0+IHtcbiAgICAgICAgZXhpc3RpbmdOYW1lcy5hZGQocGF0aC5ub2RlLm5hbWUpO1xuICAgIH0pO1xuXG4gICAgY29uc3QgYmFzZU5hbWUgPSAnaGFuZGxlRGV0YWlsRXhwYW5kQ2hhbmdlJztcbiAgICBjb25zdCB1bmlxdWVOYW1lID0gZ2VuZXJhdGVVbmlxdWVOYW1lKGJhc2VOYW1lLCBleGlzdGluZ05hbWVzKTtcblxuICAgIC8vIER5bmFtaWNhbGx5IHJlc29sdmUgdGhlIGltcG9ydGVkIG5hbWUgZm9yIGBHcmlkYFxuICAgIGNvbnN0IGdyaWROYW1lID0gZmluZEltcG9ydGVkTmFtZShqLCByb290LCAnR3JpZCcsICdAcHJvZ3Jlc3Mva2VuZG8tcmVhY3QtZ3JpZCcpIHx8ICdHcmlkJztcblxuICAgIC8vIEZpbmQgYWxsIEpTWEVsZW1lbnRzIHdpdGggdGhlIG5hbWUgb2YgdGhlIHJlc29sdmVkIGBHcmlkYCBjb21wb25lbnRcbiAgICBjb25zdCBncmlkRWxlbWVudHMgPSByb290LmZpbmQoai5KU1hFbGVtZW50LCB7IG9wZW5pbmdFbGVtZW50OiB7IG5hbWU6IHsgbmFtZTogZ3JpZE5hbWUgfSB9IH0pO1xuXG4gICAgZ3JpZEVsZW1lbnRzLmZvckVhY2goKGdyaWRQYXRoKSA9PiB7XG4gICAgICAgIGNvbnN0IGF0dHJpYnV0ZXMgPSBncmlkUGF0aC5ub2RlLm9wZW5pbmdFbGVtZW50LmF0dHJpYnV0ZXM7XG5cbiAgICAgICAgLy8gQ2hlY2sgaWYgdGhlIGBkZXRhaWxgIGF0dHJpYnV0ZSBleGlzdHNcbiAgICAgICAgaWYgKCFoYXNKU1hBdHRyaWJ1dGUoYXR0cmlidXRlcywgJ2RldGFpbCcpKSB7XG4gICAgICAgICAgICByZXR1cm47IC8vIFNraXAgdGhpcyBHcmlkIGlmIGBkZXRhaWxgIGlzIG5vdCBwcmVzZW50XG4gICAgICAgIH1cblxuICAgICAgICAvLyBGaW5kIHRoZSBgb25FeHBhbmRDaGFuZ2VgIGF0dHJpYnV0ZVxuICAgICAgICBjb25zdCBvbkV4cGFuZENoYW5nZUF0dHJpYnV0ZSA9IGF0dHJpYnV0ZXM/LmZpbmQoXG4gICAgICAgICAgICAoYXR0cikgPT4gYXR0ci50eXBlID09PSAnSlNYQXR0cmlidXRlJyAmJiBhdHRyLm5hbWUubmFtZSA9PT0gJ29uRXhwYW5kQ2hhbmdlJ1xuICAgICAgICApIGFzIEpTWEF0dHJpYnV0ZTtcblxuICAgICAgICAvLyBDb3B5IHRoZSB2YWx1ZSBvZiBgb25FeHBhbmRDaGFuZ2VgIGFzIGEgY29tbWVudFxuICAgICAgICBjb25zdCBvbkV4cGFuZENoYW5nZVZhbHVlID0gb25FeHBhbmRDaGFuZ2VBdHRyaWJ1dGU/LnZhbHVlXG4gICAgICAgICAgICA/IGoob25FeHBhbmRDaGFuZ2VBdHRyaWJ1dGUudmFsdWUpLnRvU291cmNlKClcbiAgICAgICAgICAgIDogJ05vIHZhbHVlIHByb3ZpZGVkJztcblxuICAgICAgICAvLyBSZW1vdmUgdGhlIGBvbkV4cGFuZENoYW5nZWAgYXR0cmlidXRlXG4gICAgICAgIHJlbW92ZUF0dHJpYnV0ZShhdHRyaWJ1dGVzIGFzIChKU1hBdHRyaWJ1dGUgfCBKU1hTcHJlYWRBdHRyaWJ1dGUpW10sICdvbkV4cGFuZENoYW5nZScpO1xuICAgICAgICBhZGRJbXBvcnRzID0gdHJ1ZTtcblxuICAgICAgICAvLyBEZXRlcm1pbmUgaWYgdGhlIHBhcmVudCBjb21wb25lbnQgaXMgYSBjbGFzcyBvciBmdW5jdGlvbmFsIGNvbXBvbmVudFxuICAgICAgICBjb25zdCB7IGlzQ2xhc3NDb21wb25lbnQsIGlzRnVuY3Rpb25hbENvbXBvbmVudCwgcGFyZW50Tm9kZSB9ID0gZmluZFBhcmVudENvbXBvbmVudChqLCBncmlkUGF0aCk7XG5cbiAgICAgICAgaWYgKGlzQ2xhc3NDb21wb25lbnQpIHtcbiAgICAgICAgICAgIC8vIEFkZCBgZGV0YWlsRXhwYW5kYCB0byB0aGUgY2xhc3MgY29tcG9uZW50J3Mgc3RhdGVcbiAgICAgICAgICAgIGFkZFN0YXRlRGVjbGFyYXRpb24oaiwgcGFyZW50Tm9kZSwgJ2RldGFpbEV4cGFuZCcsIGoub2JqZWN0RXhwcmVzc2lvbihbXSkpO1xuXG4gICAgICAgICAgICAvLyBBZGQgYGRldGFpbEV4cGFuZGAgYW5kIGBvbkRldGFpbEV4cGFuZENoYW5nZWAgYXR0cmlidXRlc1xuICAgICAgICAgICAgaWYgKCFoYXNKU1hBdHRyaWJ1dGUoYXR0cmlidXRlcywgJ2RldGFpbEV4cGFuZCcpKSB7XG4gICAgICAgICAgICAgICAgYWRkU3RhdGVBdHRyaWJ1dGUoXG4gICAgICAgICAgICAgICAgICAgIGosXG4gICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXMgYXMgKEpTWEF0dHJpYnV0ZSB8IEpTWFNwcmVhZEF0dHJpYnV0ZSlbXSxcbiAgICAgICAgICAgICAgICAgICAgJ2RldGFpbEV4cGFuZCcsXG4gICAgICAgICAgICAgICAgICAgICd0aGlzLnN0YXRlLmRldGFpbEV4cGFuZCdcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoIWhhc0pTWEF0dHJpYnV0ZShhdHRyaWJ1dGVzLCAnb25EZXRhaWxFeHBhbmRDaGFuZ2UnKSkge1xuICAgICAgICAgICAgICAgIGFkZEV2ZW50QXR0cmlidXRlKFxuICAgICAgICAgICAgICAgICAgICBqLFxuICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzIGFzIChKU1hBdHRyaWJ1dGUgfCBKU1hTcHJlYWRBdHRyaWJ1dGUpW10sXG4gICAgICAgICAgICAgICAgICAgICdvbkRldGFpbEV4cGFuZENoYW5nZScsXG4gICAgICAgICAgICAgICAgICAgIGB0aGlzLiR7dW5pcXVlTmFtZX1gXG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgIC8vIENyZWF0ZSBhbmQgYWRkIGBoYW5kbGVEZXRhaWxFeHBhbmRDaGFuZ2VgIG1ldGhvZFxuICAgICAgICAgICAgICAgIGNvbnN0IGhhbmRsZURldGFpbEV4cGFuZE1ldGhvZCA9IGNyZWF0ZUNsYXNzTWV0aG9kKFxuICAgICAgICAgICAgICAgICAgICBqLFxuICAgICAgICAgICAgICAgICAgICB1bmlxdWVOYW1lLFxuICAgICAgICAgICAgICAgICAgICBbYGV2ZW50JHtpc1R5cGVTY3JpcHQgPyAnOiBHcmlkRGV0YWlsRXhwYW5kQ2hhbmdlRXZlbnQnIDogJyd9YF0sXG4gICAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgICAgIGouZXhwcmVzc2lvblN0YXRlbWVudChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBqLmNhbGxFeHByZXNzaW9uKGoubWVtYmVyRXhwcmVzc2lvbihqLnRoaXNFeHByZXNzaW9uKCksIGouaWRlbnRpZmllcignc2V0U3RhdGUnKSksIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgai5vYmplY3RFeHByZXNzaW9uKFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGoucHJvcGVydHkoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2luaXQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGouaWRlbnRpZmllcignZGV0YWlsRXhwYW5kJyksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgai5tZW1iZXJFeHByZXNzaW9uKGouaWRlbnRpZmllcignZXZlbnQnKSwgai5pZGVudGlmaWVyKCdkZXRhaWxFeHBhbmQnKSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBdKVxuICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgIC8vIEFkZCB0aGUgYG9uRXhwYW5kQ2hhbmdlYCB2YWx1ZSBhcyBhIGNvbW1lbnQgaW4gdGhlIG1ldGhvZFxuICAgICAgICAgICAgICAgIGFkZENvbW1lbnRUb01ldGhvZChcbiAgICAgICAgICAgICAgICAgICAgaixcbiAgICAgICAgICAgICAgICAgICAgaihoYW5kbGVEZXRhaWxFeHBhbmRNZXRob2QpLFxuICAgICAgICAgICAgICAgICAgICBgT3JpZ2luYWwgb25FeHBhbmRDaGFuZ2UgdmFsdWU6ICR7b25FeHBhbmRDaGFuZ2VWYWx1ZX1gLFxuICAgICAgICAgICAgICAgICAgICAnY2xhc3MnXG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgIGFkZE1ldGhvZFRvQ29tcG9uZW50KGosIHBhcmVudE5vZGUsIGhhbmRsZURldGFpbEV4cGFuZE1ldGhvZCwgdHJ1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAoaXNGdW5jdGlvbmFsQ29tcG9uZW50KSB7XG4gICAgICAgICAgICAvLyBBZGQgYFJlYWN0LnVzZVN0YXRlYCBmb3IgYGRldGFpbEV4cGFuZGBcbiAgICAgICAgICAgIGFkZFVzZVN0YXRlRGVjbGFyYXRpb24oXG4gICAgICAgICAgICAgICAgaixcbiAgICAgICAgICAgICAgICBwYXJlbnROb2RlLFxuICAgICAgICAgICAgICAgICdkZXRhaWxFeHBhbmQnLFxuICAgICAgICAgICAgICAgICdzZXREZXRhaWxFeHBhbmQnLFxuICAgICAgICAgICAgICAgIGoub2JqZWN0RXhwcmVzc2lvbihbXSksXG4gICAgICAgICAgICAgICAgaXNUeXBlU2NyaXB0LFxuICAgICAgICAgICAgICAgICdEZXRhaWxFeHBhbmREZXNjcmlwdG9yJ1xuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgLy8gQWRkIGBkZXRhaWxFeHBhbmRgIGFuZCBgb25EZXRhaWxFeHBhbmRDaGFuZ2VgIGF0dHJpYnV0ZXNcbiAgICAgICAgICAgIGlmICghaGFzSlNYQXR0cmlidXRlKGF0dHJpYnV0ZXMsICdkZXRhaWxFeHBhbmQnKSkge1xuICAgICAgICAgICAgICAgIGFkZFN0YXRlQXR0cmlidXRlKFxuICAgICAgICAgICAgICAgICAgICBqLFxuICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzIGFzIChKU1hBdHRyaWJ1dGUgfCBKU1hTcHJlYWRBdHRyaWJ1dGUpW10sXG4gICAgICAgICAgICAgICAgICAgICdkZXRhaWxFeHBhbmQnLFxuICAgICAgICAgICAgICAgICAgICAnZGV0YWlsRXhwYW5kJ1xuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICghaGFzSlNYQXR0cmlidXRlKGF0dHJpYnV0ZXMsICdvbkRldGFpbEV4cGFuZENoYW5nZScpKSB7XG4gICAgICAgICAgICAgICAgYWRkRXZlbnRBdHRyaWJ1dGUoXG4gICAgICAgICAgICAgICAgICAgIGosXG4gICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXMgYXMgKEpTWEF0dHJpYnV0ZSB8IEpTWFNwcmVhZEF0dHJpYnV0ZSlbXSxcbiAgICAgICAgICAgICAgICAgICAgJ29uRGV0YWlsRXhwYW5kQ2hhbmdlJyxcbiAgICAgICAgICAgICAgICAgICAgYCR7dW5pcXVlTmFtZX1gXG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgIC8vIENyZWF0ZSBhbmQgYWRkIGBoYW5kbGVEZXRhaWxFeHBhbmRDaGFuZ2VgIGZ1bmN0aW9uXG4gICAgICAgICAgICAgICAgY29uc3QgaGFuZGxlRGV0YWlsRXhwYW5kRnVuY3Rpb24gPSBjcmVhdGVBcnJvd0Z1bmN0aW9uKFxuICAgICAgICAgICAgICAgICAgICBqLFxuICAgICAgICAgICAgICAgICAgICBgJHt1bmlxdWVOYW1lfWAsXG4gICAgICAgICAgICAgICAgICAgIFtgKGV2ZW50JHtpc1R5cGVTY3JpcHQgPyAnOiBHcmlkRGV0YWlsRXhwYW5kQ2hhbmdlRXZlbnQnIDogJyd9KWBdLFxuICAgICAgICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgICAgICAgICBqLmV4cHJlc3Npb25TdGF0ZW1lbnQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgai5jYWxsRXhwcmVzc2lvbihqLmlkZW50aWZpZXIoJ3NldERldGFpbEV4cGFuZCcpLCBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGoubWVtYmVyRXhwcmVzc2lvbihqLmlkZW50aWZpZXIoJ2V2ZW50JyksIGouaWRlbnRpZmllcignZGV0YWlsRXhwYW5kJykpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXSlcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAvLyBBZGQgdGhlIGBvbkV4cGFuZENoYW5nZWAgdmFsdWUgYXMgYSBjb21tZW50IGluIHRoZSBmdW5jdGlvblxuICAgICAgICAgICAgICAgIGFkZENvbW1lbnRUb01ldGhvZChcbiAgICAgICAgICAgICAgICAgICAgaixcbiAgICAgICAgICAgICAgICAgICAgaihoYW5kbGVEZXRhaWxFeHBhbmRGdW5jdGlvbiksXG4gICAgICAgICAgICAgICAgICAgIGBPcmlnaW5hbCBvbkV4cGFuZENoYW5nZSB2YWx1ZTogJHtvbkV4cGFuZENoYW5nZVZhbHVlfWAsXG4gICAgICAgICAgICAgICAgICAgICdmdW5jdGlvbidcbiAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgYWRkTWV0aG9kVG9Db21wb25lbnQoaiwgcGFyZW50Tm9kZSwgaGFuZGxlRGV0YWlsRXhwYW5kRnVuY3Rpb24sIGZhbHNlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKGFkZEltcG9ydHMgJiYgaXNUeXBlU2NyaXB0KSB7XG4gICAgICAgIC8vIEVuc3VyZSBUeXBlU2NyaXB0IGltcG9ydHNcbiAgICAgICAgZW5zdXJlSW1wb3J0RXhpc3RzKGosIHJvb3QsICdHcmlkRGV0YWlsRXhwYW5kQ2hhbmdlRXZlbnQnLCAnQHByb2dyZXNzL2tlbmRvLXJlYWN0LWdyaWQnKTtcbiAgICAgICAgZW5zdXJlSW1wb3J0RXhpc3RzKGosIHJvb3QsICdEZXRhaWxFeHBhbmREZXNjcmlwdG9yJywgJ0Bwcm9ncmVzcy9rZW5kby1yZWFjdC1kYXRhLXRvb2xzJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJvb3QudG9Tb3VyY2UoKTtcbn1cbiJdLCJuYW1lcyI6WyJkZXRhaWxFeHBhbmRTdGF0ZSIsImZpbGVJbmZvIiwiYXBpIiwiaiIsInJvb3QiLCJpc1R5cGVTY3JpcHQiLCJhZGRJbXBvcnRzIiwiZXhpc3RpbmdOYW1lcyIsInBhdGgiLCJ1bmlxdWVOYW1lIiwiZ2VuZXJhdGVVbmlxdWVOYW1lIiwiZ3JpZE5hbWUiLCJmaW5kSW1wb3J0ZWROYW1lIiwiZ3JpZFBhdGgiLCJhdHRyaWJ1dGVzIiwiaGFzSlNYQXR0cmlidXRlIiwib25FeHBhbmRDaGFuZ2VBdHRyaWJ1dGUiLCJhdHRyIiwib25FeHBhbmRDaGFuZ2VWYWx1ZSIsInJlbW92ZUF0dHJpYnV0ZSIsImlzQ2xhc3NDb21wb25lbnQiLCJpc0Z1bmN0aW9uYWxDb21wb25lbnQiLCJwYXJlbnROb2RlIiwiZmluZFBhcmVudENvbXBvbmVudCIsImFkZFN0YXRlRGVjbGFyYXRpb24iLCJhZGRTdGF0ZUF0dHJpYnV0ZSIsImFkZEV2ZW50QXR0cmlidXRlIiwiaGFuZGxlRGV0YWlsRXhwYW5kTWV0aG9kIiwiY3JlYXRlQ2xhc3NNZXRob2QiLCJhZGRDb21tZW50VG9NZXRob2QiLCJhZGRNZXRob2RUb0NvbXBvbmVudCIsImFkZFVzZVN0YXRlRGVjbGFyYXRpb24iLCJoYW5kbGVEZXRhaWxFeHBhbmRGdW5jdGlvbiIsImNyZWF0ZUFycm93RnVuY3Rpb24iLCJlbnN1cmVJbXBvcnRFeGlzdHMiXSwibWFwcGluZ3MiOiIyQ0FrQkEsU0FBQUEsRUFB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