{"remainingRequest":"D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\thread-loader\\dist\\cjs.js!D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\babel-loader\\lib\\index.js!D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\jsmind\\es6\\jsmind.draggable-node.js","dependencies":[{"path":"D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\jsmind\\es6\\jsmind.draggable-node.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\dataShare-fvue\\babel.config.js","mtime":1733906004399},{"path":"D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\cache-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\@vue\\cli-plugin-babel\\node_modules\\thread-loader\\dist\\cjs.js","mtime":499162500000},{"path":"D:\\jenkins\\workspace\\dataShare-fvue\\node_modules\\babel-loader\\lib\\index.js","mtime":456789000000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:dmFyIF9jbGFzc0NhbGxDaGVjayA9IHJlcXVpcmUoIkQ6L2plbmtpbnMvd29ya3NwYWNlL2RhdGFTaGFyZS1mdnVlL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2NsYXNzQ2FsbENoZWNrLmpzIikuZGVmYXVsdDsKdmFyIF9jcmVhdGVDbGFzcyA9IHJlcXVpcmUoIkQ6L2plbmtpbnMvd29ya3NwYWNlL2RhdGFTaGFyZS1mdnVlL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2NyZWF0ZUNsYXNzLmpzIikuZGVmYXVsdDsKdmFyIF90eXBlb2YgPSByZXF1aXJlKCJEOi9qZW5raW5zL3dvcmtzcGFjZS9kYXRhU2hhcmUtZnZ1ZS9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy90eXBlb2YuanMiKS5kZWZhdWx0OwpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvZXMuZXJyb3IuY2F1c2UuanMiKTsKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzLmFycmF5LmZpbHRlci5qcyIpOwpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuZmluZC5qcyIpOwpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkubWFwLmpzIik7CnJlcXVpcmUoImNvcmUtanMvbW9kdWxlcy9lcy5hcnJheS5yZWR1Y2UuanMiKTsKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzLmdsb2JhbC10aGlzLmpzIik7CnJlcXVpcmUoImNvcmUtanMvbW9kdWxlcy9lcy5udW1iZXIuY29uc3RydWN0b3IuanMiKTsKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzLm9iamVjdC50by1zdHJpbmcuanMiKTsKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzLm9iamVjdC52YWx1ZXMuanMiKTsKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzbmV4dC5pdGVyYXRvci5jb25zdHJ1Y3Rvci5qcyIpOwpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvZXNuZXh0Lml0ZXJhdG9yLmZpbHRlci5qcyIpOwpyZXF1aXJlKCJjb3JlLWpzL21vZHVsZXMvZXNuZXh0Lml0ZXJhdG9yLmZpbmQuanMiKTsKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzbmV4dC5pdGVyYXRvci5tYXAuanMiKTsKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL2VzbmV4dC5pdGVyYXRvci5yZWR1Y2UuanMiKTsKcmVxdWlyZSgiY29yZS1qcy9tb2R1bGVzL3dlYi5zZWxmLmpzIik7Ci8qKgoqIEBsaWNlbnNlIEJTRC0zLUNsYXVzZQoqIEBjb3B5cmlnaHQgMjAxNC0yMDIzIGhpenpnZGV2QDE2My5jb20KKgoqIFByb2plY3QgSG9tZToKKiAgIGh0dHBzOi8vZ2l0aHViLmNvbS9oaXp6Z2Rldi9qc21pbmQvCiovCiFmdW5jdGlvbiAodCwgZSkgewogICJvYmplY3QiID09ICh0eXBlb2YgZXhwb3J0cyA9PT0gInVuZGVmaW5lZCIgPyAidW5kZWZpbmVkIiA6IF90eXBlb2YoZXhwb3J0cykpICYmICJ1bmRlZmluZWQiICE9IHR5cGVvZiBtb2R1bGUgPyBlKHJlcXVpcmUoImpzbWluZCIpKSA6ICJmdW5jdGlvbiIgPT0gdHlwZW9mIGRlZmluZSAmJiBkZWZpbmUuYW1kID8gZGVmaW5lKFsianNtaW5kIl0sIGUpIDogZSgodCA9ICJ1bmRlZmluZWQiICE9IHR5cGVvZiBnbG9iYWxUaGlzID8gZ2xvYmFsVGhpcyA6IHQgfHwgc2VsZikuanNNaW5kKTsKfSh0aGlzLCBmdW5jdGlvbiAodCkgewogICJ1c2Ugc3RyaWN0IjsKCiAgZnVuY3Rpb24gZSh0KSB7CiAgICByZXR1cm4gdCAmJiAib2JqZWN0IiA9PSBfdHlwZW9mKHQpICYmICJkZWZhdWx0IiBpbiB0ID8gdCA6IHsKICAgICAgZGVmYXVsdDogdAogICAgfTsKICB9CiAgdmFyIGkgPSBlKHQpOwogIGlmICghaS5kZWZhdWx0KSB0aHJvdyBuZXcgRXJyb3IoImpzTWluZCBpcyBub3QgZGVmaW5lZCIpOwogIHZhciBzID0gaS5kZWZhdWx0LiQsCiAgICBvID0gImdldFNlbGVjdGlvbiIgaW4gcy53ID8gZnVuY3Rpb24gKCkgewogICAgICBzLncuZ2V0U2VsZWN0aW9uKCkucmVtb3ZlQWxsUmFuZ2VzKCk7CiAgICB9IDogZnVuY3Rpb24gKCkgewogICAgICBzLmQuc2VsZWN0aW9uLmVtcHR5KCk7CiAgICB9LAogICAgbiA9IHsKICAgICAgbGluZV93aWR0aDogNSwKICAgICAgbGluZV9jb2xvcjogInJnYmEoMCwwLDAsMC4zKSIsCiAgICAgIGxpbmVfY29sb3JfaW52YWxpZDogInJnYmEoMjU1LDUxLDUxLDAuNikiLAogICAgICBsb29rdXBfZGVsYXk6IDIwMCwKICAgICAgbG9va3VwX2ludGVydmFsOiAxMDAsCiAgICAgIHNjcm9sbGluZ190cmlnZ2VyX3dpZHRoOiAyMCwKICAgICAgc2Nyb2xsaW5nX3N0ZXBfbGVuZ3RoOiAxMCwKICAgICAgc2hhZG93X25vZGVfY2xhc3NfbmFtZTogImpzbWluZC1kcmFnZ2FibGUtc2hhZG93LW5vZGUiCiAgICB9OwogIHZhciBoID0gLyojX19QVVJFX18qL2Z1bmN0aW9uICgpIHsKICAgIGZ1bmN0aW9uIGgodCwgZSkgewogICAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgaCk7CiAgICAgIHZhciBzID0ge307CiAgICAgIGkuZGVmYXVsdC51dGlsLmpzb24ubWVyZ2UocywgbiksIGkuZGVmYXVsdC51dGlsLmpzb24ubWVyZ2UocywgZSksIHRoaXMudmVyc2lvbiA9ICIwLjQuMCIsIHRoaXMuam0gPSB0LCB0aGlzLm9wdGlvbnMgPSBzLCB0aGlzLmVfY2FudmFzID0gbnVsbCwgdGhpcy5jYW52YXNfY3R4ID0gbnVsbCwgdGhpcy5zaGFkb3cgPSBudWxsLCB0aGlzLnNoYWRvd19wX3ggPSAwLCB0aGlzLnNoYWRvd19wX3kgPSAwLCB0aGlzLnNoYWRvd193ID0gMCwgdGhpcy5zaGFkb3dfaCA9IDAsIHRoaXMuYWN0aXZlX25vZGUgPSBudWxsLCB0aGlzLnRhcmdldF9ub2RlID0gbnVsbCwgdGhpcy50YXJnZXRfZGlyZWN0ID0gbnVsbCwgdGhpcy5jbGllbnRfdyA9IDAsIHRoaXMuY2xpZW50X2ggPSAwLCB0aGlzLm9mZnNldF94ID0gMCwgdGhpcy5vZmZzZXRfeSA9IDAsIHRoaXMuaGxvb2t1cF9kZWxheSA9IDAsIHRoaXMuaGxvb2t1cF90aW1lciA9IDAsIHRoaXMuY2FwdHVyZSA9ICExLCB0aGlzLm1vdmVkID0gITEsIHRoaXMuY2FudmFzX2RyYWdnYWJsZSA9IHQuZ2V0X3ZpZXdfZHJhZ2dhYmxlKCksIHRoaXMudmlld19wYW5lbCA9IHQudmlldy5lX3BhbmVsLCB0aGlzLnZpZXdfcGFuZWxfcmVjdCA9IG51bGw7CiAgICB9CiAgICByZXR1cm4gX2NyZWF0ZUNsYXNzKGgsIFt7CiAgICAgIGtleTogImluaXQiLAogICAgICB2YWx1ZTogZnVuY3Rpb24gaW5pdCgpIHsKICAgICAgICB0aGlzLmNyZWF0ZV9jYW52YXMoKSwgdGhpcy5jcmVhdGVfc2hhZG93KCksIHRoaXMuZXZlbnRfYmluZCgpOwogICAgICB9CiAgICB9LCB7CiAgICAgIGtleTogInJlc2l6ZSIsCiAgICAgIHZhbHVlOiBmdW5jdGlvbiByZXNpemUoKSB7CiAgICAgICAgdGhpcy5qbS52aWV3LmVfbm9kZXMuYXBwZW5kQ2hpbGQodGhpcy5zaGFkb3cpLCB0aGlzLmVfY2FudmFzLndpZHRoID0gdGhpcy5qbS52aWV3LnNpemUudywgdGhpcy5lX2NhbnZhcy5oZWlnaHQgPSB0aGlzLmptLnZpZXcuc2l6ZS5oOwogICAgICB9CiAgICB9LCB7CiAgICAgIGtleTogImNyZWF0ZV9jYW52YXMiLAogICAgICB2YWx1ZTogZnVuY3Rpb24gY3JlYXRlX2NhbnZhcygpIHsKICAgICAgICB2YXIgdCA9IHMuYygiY2FudmFzIik7CiAgICAgICAgdGhpcy5qbS52aWV3LmVfcGFuZWwuYXBwZW5kQ2hpbGQodCk7CiAgICAgICAgdmFyIGUgPSB0LmdldENvbnRleHQoIjJkIik7CiAgICAgICAgdGhpcy5lX2NhbnZhcyA9IHQsIHRoaXMuY2FudmFzX2N0eCA9IGU7CiAgICAgIH0KICAgIH0sIHsKICAgICAga2V5OiAiY3JlYXRlX3NoYWRvdyIsCiAgICAgIHZhbHVlOiBmdW5jdGlvbiBjcmVhdGVfc2hhZG93KCkgewogICAgICAgIHZhciB0ID0gcy5jKCJqbW5vZGUiKTsKICAgICAgICB0LnN0eWxlLnZpc2liaWxpdHkgPSAiaGlkZGVuIiwgdC5zdHlsZS56SW5kZXggPSAiMyIsIHQuc3R5bGUuY3Vyc29yID0gIm1vdmUiLCB0LnN0eWxlLm9wYWNpdHkgPSAiMC43IiwgdC5jbGFzc05hbWUgPSB0aGlzLm9wdGlvbnMuc2hhZG93X25vZGVfY2xhc3NfbmFtZSwgdGhpcy5zaGFkb3cgPSB0OwogICAgICB9CiAgICB9LCB7CiAgICAgIGtleTogInJlc2V0X3NoYWRvdyIsCiAgICAgIHZhbHVlOiBmdW5jdGlvbiByZXNldF9zaGFkb3codCkgewogICAgICAgIHZhciBlID0gdGhpcy5zaGFkb3cuc3R5bGU7CiAgICAgICAgdGhpcy5zaGFkb3cuaW5uZXJIVE1MID0gdC5pbm5lckhUTUwsIGUubGVmdCA9IHQuc3R5bGUubGVmdCwgZS50b3AgPSB0LnN0eWxlLnRvcCwgZS53aWR0aCA9IHQuc3R5bGUud2lkdGgsIGUuaGVpZ2h0ID0gdC5zdHlsZS5oZWlnaHQsIGUuYmFja2dyb3VuZEltYWdlID0gdC5zdHlsZS5iYWNrZ3JvdW5kSW1hZ2UsIGUuYmFja2dyb3VuZFNpemUgPSB0LnN0eWxlLmJhY2tncm91bmRTaXplLCBlLnRyYW5zZm9ybSA9IHQuc3R5bGUudHJhbnNmb3JtLCB0aGlzLnNoYWRvd193ID0gdGhpcy5zaGFkb3cuY2xpZW50V2lkdGgsIHRoaXMuc2hhZG93X2ggPSB0aGlzLnNoYWRvdy5jbGllbnRIZWlnaHQ7CiAgICAgIH0KICAgIH0sIHsKICAgICAga2V5OiAic2hvd19zaGFkb3ciLAogICAgICB2YWx1ZTogZnVuY3Rpb24gc2hvd19zaGFkb3coKSB7CiAgICAgICAgdGhpcy5tb3ZlZCB8fCAodGhpcy5zaGFkb3cuc3R5bGUudmlzaWJpbGl0eSA9ICJ2aXNpYmxlIik7CiAgICAgIH0KICAgIH0sIHsKICAgICAga2V5OiAiaGlkZV9zaGFkb3ciLAogICAgICB2YWx1ZTogZnVuY3Rpb24gaGlkZV9zaGFkb3coKSB7CiAgICAgICAgdGhpcy5zaGFkb3cuc3R5bGUudmlzaWJpbGl0eSA9ICJoaWRkZW4iOwogICAgICB9CiAgICB9LCB7CiAgICAgIGtleTogIm1hZ25ldF9zaGFkb3ciLAogICAgICB2YWx1ZTogZnVuY3Rpb24gbWFnbmV0X3NoYWRvdyh0LCBlLCBpKSB7CiAgICAgICAgdGhpcy5jYW52YXNfY3R4LmxpbmVXaWR0aCA9IHRoaXMub3B0aW9ucy5saW5lX3dpZHRoLCB0aGlzLmNhbnZhc19jdHguc3Ryb2tlU3R5bGUgPSBpID8gdGhpcy5vcHRpb25zLmxpbmVfY29sb3JfaW52YWxpZCA6IHRoaXMub3B0aW9ucy5saW5lX2NvbG9yLCB0aGlzLmNhbnZhc19jdHgubGluZUNhcCA9ICJyb3VuZCIsIHRoaXMuY2xlYXJfbGluZXMoKSwgdGhpcy5jYW52YXNfbGluZXRvKHQueCwgdC55LCBlLngsIGUueSk7CiAgICAgIH0KICAgIH0sIHsKICAgICAga2V5OiAiY2xlYXJfbGluZXMiLAogICAgICB2YWx1ZTogZnVuY3Rpb24gY2xlYXJfbGluZXMoKSB7CiAgICAgICAgdGhpcy5jYW52YXNfY3R4LmNsZWFyUmVjdCgwLCAwLCB0aGlzLmptLnZpZXcuc2l6ZS53LCB0aGlzLmptLnZpZXcuc2l6ZS5oKTsKICAgICAgfQogICAgfSwgewogICAgICBrZXk6ICJjYW52YXNfbGluZXRvIiwKICAgICAgdmFsdWU6IGZ1bmN0aW9uIGNhbnZhc19saW5ldG8odCwgZSwgaSwgcykgewogICAgICAgIHRoaXMuY2FudmFzX2N0eC5iZWdpblBhdGgoKSwgdGhpcy5jYW52YXNfY3R4Lm1vdmVUbyh0LCBlKSwgdGhpcy5jYW52YXNfY3R4LmxpbmVUbyhpLCBzKSwgdGhpcy5jYW52YXNfY3R4LnN0cm9rZSgpOwogICAgICB9CiAgICB9LCB7CiAgICAgIGtleTogImV2ZW50X2JpbmQiLAogICAgICB2YWx1ZTogZnVuY3Rpb24gZXZlbnRfYmluZCgpIHsKICAgICAgICB2YXIgdCA9IHRoaXMsCiAgICAgICAgICBlID0gdGhpcy5qbS52aWV3LmNvbnRhaW5lcjsKICAgICAgICBzLm9uKGUsICJtb3VzZWRvd24iLCBmdW5jdGlvbiAoZSkgewogICAgICAgICAgMCA9PT0gZS5idXR0b24gJiYgdC5kcmFnc3RhcnQuY2FsbCh0LCBlKTsKICAgICAgICB9KSwgcy5vbihlLCAibW91c2Vtb3ZlIiwgZnVuY3Rpb24gKGUpIHsKICAgICAgICAgIDAgPT09IGUubW92ZW1lbnRYICYmIDAgPT09IGUubW92ZW1lbnRZIHx8IHQuZHJhZy5jYWxsKHQsIGUpOwogICAgICAgIH0pLCBzLm9uKGUsICJtb3VzZXVwIiwgZnVuY3Rpb24gKGUpIHsKICAgICAgICAgIHQuZHJhZ2VuZC5jYWxsKHQsIGUpOwogICAgICAgIH0pLCBzLm9uKGUsICJ0b3VjaHN0YXJ0IiwgZnVuY3Rpb24gKGUpIHsKICAgICAgICAgIHQuZHJhZ3N0YXJ0LmNhbGwodCwgZSk7CiAgICAgICAgfSksIHMub24oZSwgInRvdWNobW92ZSIsIGZ1bmN0aW9uIChlKSB7CiAgICAgICAgICB0LmRyYWcuY2FsbCh0LCBlKTsKICAgICAgICB9KSwgcy5vbihlLCAidG91Y2hlbmQiLCBmdW5jdGlvbiAoZSkgewogICAgICAgICAgdC5kcmFnZW5kLmNhbGwodCwgZSk7CiAgICAgICAgfSk7CiAgICAgIH0KICAgIH0sIHsKICAgICAga2V5OiAiZHJhZ3N0YXJ0IiwKICAgICAgdmFsdWU6IGZ1bmN0aW9uIGRyYWdzdGFydCh0KSB7CiAgICAgICAgaWYgKHRoaXMuam0uZ2V0X2VkaXRhYmxlKCkgJiYgIXRoaXMuY2FwdHVyZSkgewogICAgICAgICAgdmFyIGUgPSB0aGlzLmptLnZpZXc7CiAgICAgICAgICBpZiAoIWUuaXNfZWRpdGluZygpKSB7CiAgICAgICAgICAgIHRoaXMuYWN0aXZlX25vZGUgPSBudWxsLCB0aGlzLnZpZXdfZHJhZ2dhYmxlID0gdGhpcy5qbS5nZXRfdmlld19kcmFnZ2FibGUoKTsKICAgICAgICAgICAgdmFyIGkgPSB0aGlzLmZpbmRfbm9kZV9lbGVtZW50KHQudGFyZ2V0KTsKICAgICAgICAgICAgaWYgKGkpIHsKICAgICAgICAgICAgICB0aGlzLnZpZXdfZHJhZ2dhYmxlICYmIHRoaXMuam0uZGlzYWJsZV92aWV3X2RyYWdnYWJsZSgpOwogICAgICAgICAgICAgIHZhciBvID0gZS5nZXRfYmluZGVkX25vZGVpZChpKTsKICAgICAgICAgICAgICBpZiAobykgewogICAgICAgICAgICAgICAgdmFyIG4gPSB0aGlzLmptLmdldF9ub2RlKG8pOwogICAgICAgICAgICAgICAgaWYgKCFuLmlzcm9vdCkgewogICAgICAgICAgICAgICAgICB0aGlzLnJlc2V0X3NoYWRvdyhpKSwgdGhpcy52aWV3X3BhbmVsX3JlY3QgPSB0aGlzLnZpZXdfcGFuZWwuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksIHRoaXMuYWN0aXZlX25vZGUgPSBuLCB0aGlzLm9mZnNldF94ID0gKHQuY2xpZW50WCB8fCB0LnRvdWNoZXNbMF0uY2xpZW50WCkgLyBlLnpvb21fY3VycmVudCAtIGkub2Zmc2V0TGVmdCwgdGhpcy5vZmZzZXRfeSA9ICh0LmNsaWVudFkgfHwgdC50b3VjaGVzWzBdLmNsaWVudFkpIC8gZS56b29tX2N1cnJlbnQgLSBpLm9mZnNldFRvcCwgdGhpcy5jbGllbnRfaHcgPSBNYXRoLmZsb29yKGkuY2xpZW50V2lkdGggLyAyKSwgdGhpcy5jbGllbnRfaGggPSBNYXRoLmZsb29yKGkuY2xpZW50SGVpZ2h0IC8gMiksIDAgIT0gdGhpcy5obG9va3VwX2RlbGF5ICYmIHMudy5jbGVhclRpbWVvdXQodGhpcy5obG9va3VwX2RlbGF5KSwgMCAhPSB0aGlzLmhsb29rdXBfdGltZXIgJiYgcy53LmNsZWFySW50ZXJ2YWwodGhpcy5obG9va3VwX3RpbWVyKTsKICAgICAgICAgICAgICAgICAgdmFyIF9oID0gdGhpczsKICAgICAgICAgICAgICAgICAgdGhpcy5obG9va3VwX2RlbGF5ID0gcy53LnNldFRpbWVvdXQoZnVuY3Rpb24gKCkgewogICAgICAgICAgICAgICAgICAgIF9oLmhsb29rdXBfZGVsYXkgPSAwLCBfaC5obG9va3VwX3RpbWVyID0gcy53LnNldEludGVydmFsKGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgICAgICAgIF9oLmxvb2t1cF90YXJnZXRfbm9kZS5jYWxsKF9oKTsKICAgICAgICAgICAgICAgICAgICB9LCBfaC5vcHRpb25zLmxvb2t1cF9pbnRlcnZhbCk7CiAgICAgICAgICAgICAgICAgIH0sIHRoaXMub3B0aW9ucy5sb29rdXBfZGVsYXkpLCBfaC5jYXB0dXJlID0gITA7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfQogICAgICB9CiAgICB9LCB7CiAgICAgIGtleTogImRyYWciLAogICAgICB2YWx1ZTogZnVuY3Rpb24gZHJhZyh0KSB7CiAgICAgICAgaWYgKHRoaXMuam0uZ2V0X2VkaXRhYmxlKCkgJiYgdGhpcy5jYXB0dXJlKSB7CiAgICAgICAgICB0LnByZXZlbnREZWZhdWx0KCksIHRoaXMuc2hvd19zaGFkb3coKSwgdGhpcy5tb3ZlZCA9ICEwLCBvKCk7CiAgICAgICAgICB2YXIgZSA9IHRoaXMuam0udmlldywKICAgICAgICAgICAgaSA9ICh0LmNsaWVudFggfHwgdC50b3VjaGVzWzBdLmNsaWVudFgpIC8gZS56b29tX2N1cnJlbnQgLSB0aGlzLm9mZnNldF94LAogICAgICAgICAgICBzID0gKHQuY2xpZW50WSB8fCB0LnRvdWNoZXNbMF0uY2xpZW50WSkgLyBlLnpvb21fY3VycmVudCAtIHRoaXMub2Zmc2V0X3k7CiAgICAgICAgICB0LmNsaWVudFkgLSB0aGlzLnZpZXdfcGFuZWxfcmVjdC50b3AgPCB0aGlzLm9wdGlvbnMuc2Nyb2xsaW5nX3RyaWdnZXJfd2lkdGggJiYgdGhpcy52aWV3X3BhbmVsLnNjcm9sbFRvcCA+IHRoaXMub3B0aW9ucy5zY3JvbGxpbmdfc3RlcF9sZW5ndGggPyAodGhpcy52aWV3X3BhbmVsLnNjcm9sbEJ5KDAsIC10aGlzLm9wdGlvbnMuc2Nyb2xsaW5nX3N0ZXBfbGVuZ3RoKSwgdGhpcy5vZmZzZXRfeSArPSB0aGlzLm9wdGlvbnMuc2Nyb2xsaW5nX3N0ZXBfbGVuZ3RoIC8gZS56b29tX2N1cnJlbnQpIDogdGhpcy52aWV3X3BhbmVsX3JlY3QuYm90dG9tIC0gdC5jbGllbnRZIDwgdGhpcy5vcHRpb25zLnNjcm9sbGluZ190cmlnZ2VyX3dpZHRoICYmIHRoaXMudmlld19wYW5lbC5zY3JvbGxUb3AgPCB0aGlzLnZpZXdfcGFuZWwuc2Nyb2xsSGVpZ2h0IC0gdGhpcy52aWV3X3BhbmVsX3JlY3QuaGVpZ2h0IC0gdGhpcy5vcHRpb25zLnNjcm9sbGluZ19zdGVwX2xlbmd0aCAmJiAodGhpcy52aWV3X3BhbmVsLnNjcm9sbEJ5KDAsIHRoaXMub3B0aW9ucy5zY3JvbGxpbmdfc3RlcF9sZW5ndGgpLCB0aGlzLm9mZnNldF95IC09IHRoaXMub3B0aW9ucy5zY3JvbGxpbmdfc3RlcF9sZW5ndGggLyBlLnpvb21fY3VycmVudCksIHQuY2xpZW50WCAtIHRoaXMudmlld19wYW5lbF9yZWN0LmxlZnQgPCB0aGlzLm9wdGlvbnMuc2Nyb2xsaW5nX3RyaWdnZXJfd2lkdGggJiYgdGhpcy52aWV3X3BhbmVsLnNjcm9sbExlZnQgPiB0aGlzLm9wdGlvbnMuc2Nyb2xsaW5nX3N0ZXBfbGVuZ3RoID8gKHRoaXMudmlld19wYW5lbC5zY3JvbGxCeSgtdGhpcy5vcHRpb25zLnNjcm9sbGluZ19zdGVwX2xlbmd0aCwgMCksIHRoaXMub2Zmc2V0X3ggKz0gdGhpcy5vcHRpb25zLnNjcm9sbGluZ19zdGVwX2xlbmd0aCAvIGUuem9vbV9jdXJyZW50KSA6IHRoaXMudmlld19wYW5lbF9yZWN0LnJpZ2h0IC0gdC5jbGllbnRYIDwgdGhpcy5vcHRpb25zLnNjcm9sbGluZ190cmlnZ2VyX3dpZHRoICYmIHRoaXMudmlld19wYW5lbC5zY3JvbGxMZWZ0IDwgdGhpcy52aWV3X3BhbmVsLnNjcm9sbFdpZHRoIC0gdGhpcy52aWV3X3BhbmVsX3JlY3Qud2lkdGggLSB0aGlzLm9wdGlvbnMuc2Nyb2xsaW5nX3N0ZXBfbGVuZ3RoICYmICh0aGlzLnZpZXdfcGFuZWwuc2Nyb2xsQnkodGhpcy5vcHRpb25zLnNjcm9sbGluZ19zdGVwX2xlbmd0aCwgMCksIHRoaXMub2Zmc2V0X3ggLT0gdGhpcy5vcHRpb25zLnNjcm9sbGluZ19zdGVwX2xlbmd0aCAvIGUuem9vbV9jdXJyZW50KSwgdGhpcy5zaGFkb3cuc3R5bGUubGVmdCA9IGkgKyAicHgiLCB0aGlzLnNoYWRvdy5zdHlsZS50b3AgPSBzICsgInB4IiwgbygpOwogICAgICAgIH0KICAgICAgfQogICAgfSwgewogICAgICBrZXk6ICJkcmFnZW5kIiwKICAgICAgdmFsdWU6IGZ1bmN0aW9uIGRyYWdlbmQodCkgewogICAgICAgIGlmICh0aGlzLmptLmdldF9lZGl0YWJsZSgpKSB7CiAgICAgICAgICBpZiAodGhpcy52aWV3X2RyYWdnYWJsZSAmJiB0aGlzLmptLmVuYWJsZV92aWV3X2RyYWdnYWJsZSgpLCB0aGlzLmNhcHR1cmUpIHsKICAgICAgICAgICAgaWYgKDAgIT0gdGhpcy5obG9va3VwX2RlbGF5ICYmIChzLncuY2xlYXJUaW1lb3V0KHRoaXMuaGxvb2t1cF9kZWxheSksIHRoaXMuaGxvb2t1cF9kZWxheSA9IDAsIHRoaXMuY2xlYXJfbGluZXMoKSksIDAgIT0gdGhpcy5obG9va3VwX3RpbWVyICYmIChzLncuY2xlYXJJbnRlcnZhbCh0aGlzLmhsb29rdXBfdGltZXIpLCB0aGlzLmhsb29rdXBfdGltZXIgPSAwLCB0aGlzLmNsZWFyX2xpbmVzKCkpLCB0aGlzLm1vdmVkKSB7CiAgICAgICAgICAgICAgdmFyIGUgPSB0aGlzLmFjdGl2ZV9ub2RlLAogICAgICAgICAgICAgICAgaSA9IHRoaXMudGFyZ2V0X25vZGUsCiAgICAgICAgICAgICAgICBvID0gdGhpcy50YXJnZXRfZGlyZWN0OwogICAgICAgICAgICAgIHRoaXMubW92ZV9ub2RlKGUsIGksIG8pOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHRoaXMuaGlkZV9zaGFkb3coKTsKICAgICAgICAgIH0KICAgICAgICAgIHRoaXMudmlld19wYW5lbF9yZWN0ID0gbnVsbCwgdGhpcy5tb3ZlZCA9ICExLCB0aGlzLmNhcHR1cmUgPSAhMTsKICAgICAgICB9CiAgICAgIH0KICAgIH0sIHsKICAgICAga2V5OiAiZmluZF9ub2RlX2VsZW1lbnQiLAogICAgICB2YWx1ZTogZnVuY3Rpb24gZmluZF9ub2RlX2VsZW1lbnQodCkgewogICAgICAgIHJldHVybiB0ID09PSB0aGlzLmptLnZpZXcuZV9ub2RlcyB8fCB0ID09PSB0aGlzLmptLnZpZXcuZV9wYW5lbCB8fCB0ID09PSB0aGlzLmptLnZpZXcuY29udGFpbmVyID8gbnVsbCA6ICJqbW5vZGUiID09PSB0LnRhZ05hbWUudG9Mb3dlckNhc2UoKSA/IHQgOiB0aGlzLmZpbmRfbm9kZV9lbGVtZW50KHQucGFyZW50Tm9kZSk7CiAgICAgIH0KICAgIH0sIHsKICAgICAga2V5OiAibG9va3VwX3RhcmdldF9ub2RlIiwKICAgICAgdmFsdWU6IGZ1bmN0aW9uIGxvb2t1cF90YXJnZXRfbm9kZSgpIHsKICAgICAgICB2YXIgdCA9IHRoaXMuc2hhZG93Lm9mZnNldExlZnQsCiAgICAgICAgICBlID0gdGhpcy5zaGFkb3cub2Zmc2V0VG9wOwogICAgICAgIGlmICh0ID09PSB0aGlzLnNoYWRvd19wX3ggJiYgZSA9PT0gdGhpcy5zaGFkb3dfcF95KSByZXR1cm47CiAgICAgICAgdGhpcy5zaGFkb3dfcF94ID0gdCwgdGhpcy5zaGFkb3dfcF95ID0gZTsKICAgICAgICB2YXIgcyA9IHRoaXMuc2hhZG93X3BfeCArIHRoaXMuc2hhZG93X3cgLyAyID49IHRoaXMuZ2V0X3Jvb3RfeCgpID8gaS5kZWZhdWx0LmRpcmVjdGlvbi5yaWdodCA6IGkuZGVmYXVsdC5kaXJlY3Rpb24ubGVmdCwKICAgICAgICAgIG8gPSB0aGlzLmxvb2t1cF9vdmVybGFwcGluZ19ub2RlX3BhcmVudChzKSB8fCB0aGlzLmxvb2t1cF9jbG9zZV9ub2RlKHMpOwogICAgICAgIGlmIChvKSB7CiAgICAgICAgICB2YXIgX3QgPSB0aGlzLmNhbGNfcG9pbnRfb2Zfbm9kZShvLCBzKSwKICAgICAgICAgICAgX2UgPSBpLmRlZmF1bHQubm9kZS5pbmhlcml0ZWQodGhpcy5hY3RpdmVfbm9kZSwgbyk7CiAgICAgICAgICB0aGlzLm1hZ25ldF9zaGFkb3coX3Quc3AsIF90Lm5wLCBfZSksIHRoaXMudGFyZ2V0X25vZGUgPSBvLCB0aGlzLnRhcmdldF9kaXJlY3QgPSBzOwogICAgICAgIH0KICAgICAgfQogICAgfSwgewogICAgICBrZXk6ICJnZXRfcm9vdF94IiwKICAgICAgdmFsdWU6IGZ1bmN0aW9uIGdldF9yb290X3goKSB7CiAgICAgICAgdmFyIHQgPSB0aGlzLmptLmdldF9yb290KCksCiAgICAgICAgICBlID0gdC5nZXRfbG9jYXRpb24oKSwKICAgICAgICAgIGkgPSB0LmdldF9zaXplKCk7CiAgICAgICAgcmV0dXJuIGUueCArIGkudyAvIDI7CiAgICAgIH0KICAgIH0sIHsKICAgICAga2V5OiAibG9va3VwX292ZXJsYXBwaW5nX25vZGVfcGFyZW50IiwKICAgICAgdmFsdWU6IGZ1bmN0aW9uIGxvb2t1cF9vdmVybGFwcGluZ19ub2RlX3BhcmVudCh0KSB7CiAgICAgICAgdmFyIGUgPSB0aGlzLnNoYWRvdy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSwKICAgICAgICAgIGkgPSBlLnggKyBlLndpZHRoICogKDEgLSB0KSAvIDIsCiAgICAgICAgICBzID0gKHRoaXMuam0ub3B0aW9ucy5sYXlvdXQuaHNwYWNlICsgdGhpcy5qbS5vcHRpb25zLmxheW91dC5wc3BhY2UpICogdCwKICAgICAgICAgIG8gPSBlLmhlaWdodCwKICAgICAgICAgIG4gPSBbW2ksIGUueV0sIFtpLCBlLnkgKyBvIC8gMl0sIFtpLCBlLnkgKyBvXSwgW2kgKyBzIC8gMiwgZS55XSwgW2kgKyBzIC8gMiwgZS55ICsgbyAvIDJdLCBbaSArIHMgLyAyLCBlLnkgKyBvXSwgW2kgKyBzLCBlLnldLCBbaSArIHMsIGUueSArIG8gLyAyXSwgW2kgKyBzLCBlLnkgKyBvXV07CiAgICAgICAgZm9yICh2YXIgX2kgPSAwLCBfbiA9IG47IF9pIDwgX24ubGVuZ3RoOyBfaSsrKSB7CiAgICAgICAgICB2YXIgX3QyID0gX25bX2ldOwogICAgICAgICAgdmFyIF9lMiA9IHRoaXMubG9va3VwX25vZGVfcGFyZW50X2J5X2xvY2F0aW9uKF90MlswXSwgX3QyWzFdKTsKICAgICAgICAgIGlmIChfZTIpIHJldHVybiBfZTI7CiAgICAgICAgfQogICAgICB9CiAgICB9LCB7CiAgICAgIGtleTogImxvb2t1cF9ub2RlX3BhcmVudF9ieV9sb2NhdGlvbiIsCiAgICAgIHZhbHVlOiBmdW5jdGlvbiBsb29rdXBfbm9kZV9wYXJlbnRfYnlfbG9jYXRpb24odCwgZSkgewogICAgICAgIHZhciBfdGhpcyA9IHRoaXM7CiAgICAgICAgcmV0dXJuIHMuZC5lbGVtZW50c0Zyb21Qb2ludCh0LCBlKS5maWx0ZXIoZnVuY3Rpb24gKHQpIHsKICAgICAgICAgIHJldHVybiAiSk1OT0RFIiA9PT0gdC50YWdOYW1lICYmIHQuY2xhc3NOYW1lICE9PSBfdGhpcy5vcHRpb25zLnNoYWRvd19ub2RlX2NsYXNzX25hbWU7CiAgICAgICAgfSkubWFwKGZ1bmN0aW9uICh0KSB7CiAgICAgICAgICByZXR1cm4gX3RoaXMuam0udmlldy5nZXRfYmluZGVkX25vZGVpZCh0KTsKICAgICAgICB9KS5tYXAoZnVuY3Rpb24gKHQpIHsKICAgICAgICAgIHJldHVybiB0ICYmIF90aGlzLmptLm1pbmQubm9kZXNbdF07CiAgICAgICAgfSkubWFwKGZ1bmN0aW9uICh0KSB7CiAgICAgICAgICByZXR1cm4gdCAmJiB0LnBhcmVudDsKICAgICAgICB9KS5maW5kKGZ1bmN0aW9uICh0KSB7CiAgICAgICAgICByZXR1cm4gdDsKICAgICAgICB9KTsKICAgICAgfQogICAgfSwgewogICAgICBrZXk6ICJsb29rdXBfY2xvc2Vfbm9kZSIsCiAgICAgIHZhbHVlOiBmdW5jdGlvbiBsb29rdXBfY2xvc2Vfbm9kZSh0KSB7CiAgICAgICAgdmFyIF90aGlzMiA9IHRoaXM7CiAgICAgICAgcmV0dXJuIE9iamVjdC52YWx1ZXModGhpcy5qbS5taW5kLm5vZGVzKS5maWx0ZXIoZnVuY3Rpb24gKGUpIHsKICAgICAgICAgIHJldHVybiBlLmRpcmVjdGlvbiA9PSB0IHx8IGUuaXNyb290OwogICAgICAgIH0pLmZpbHRlcihmdW5jdGlvbiAodCkgewogICAgICAgICAgcmV0dXJuIF90aGlzMi5qbS5sYXlvdXQuaXNfdmlzaWJsZSh0KTsKICAgICAgICB9KS5maWx0ZXIoZnVuY3Rpb24gKGUpIHsKICAgICAgICAgIHJldHVybiBfdGhpczIuc2hhZG93X29uX3RhcmdldF9zaWRlKGUsIHQpOwogICAgICAgIH0pLm1hcChmdW5jdGlvbiAoZSkgewogICAgICAgICAgcmV0dXJuIHsKICAgICAgICAgICAgbm9kZTogZSwKICAgICAgICAgICAgZGlzdGFuY2U6IF90aGlzMi5zaGFkb3dfdG9fbm9kZShlLCB0KQogICAgICAgICAgfTsKICAgICAgICB9KS5yZWR1Y2UoZnVuY3Rpb24gKHQsIGUpIHsKICAgICAgICAgIHJldHVybiB0LmRpc3RhbmNlIDwgZS5kaXN0YW5jZSA/IHQgOiBlOwogICAgICAgIH0sIHsKICAgICAgICAgIG5vZGU6IHRoaXMuam0uZ2V0X3Jvb3QoKSwKICAgICAgICAgIGRpc3RhbmNlOiBOdW1iZXIuTUFYX1ZBTFVFCiAgICAgICAgfSkubm9kZTsKICAgICAgfQogICAgfSwgewogICAgICBrZXk6ICJzaGFkb3dfb25fdGFyZ2V0X3NpZGUiLAogICAgICB2YWx1ZTogZnVuY3Rpb24gc2hhZG93X29uX3RhcmdldF9zaWRlKHQsIGUpIHsKICAgICAgICByZXR1cm4gZSA9PSBpLmRlZmF1bHQuZGlyZWN0aW9uLnJpZ2h0ICYmIHRoaXMuc2hhZG93X3RvX3JpZ2h0X29mX25vZGUodCkgPiAwIHx8IGUgPT0gaS5kZWZhdWx0LmRpcmVjdGlvbi5sZWZ0ICYmIHRoaXMuc2hhZG93X3RvX2xlZnRfb2Zfbm9kZSh0KSA+IDA7CiAgICAgIH0KICAgIH0sIHsKICAgICAga2V5OiAic2hhZG93X3RvX3JpZ2h0X29mX25vZGUiLAogICAgICB2YWx1ZTogZnVuY3Rpb24gc2hhZG93X3RvX3JpZ2h0X29mX25vZGUodCkgewogICAgICAgIHJldHVybiB0aGlzLnNoYWRvd19wX3ggLSB0LmdldF9sb2NhdGlvbigpLnggLSB0LmdldF9zaXplKCkudzsKICAgICAgfQogICAgfSwgewogICAgICBrZXk6ICJzaGFkb3dfdG9fbGVmdF9vZl9ub2RlIiwKICAgICAgdmFsdWU6IGZ1bmN0aW9uIHNoYWRvd190b19sZWZ0X29mX25vZGUodCkgewogICAgICAgIHJldHVybiB0LmdldF9sb2NhdGlvbigpLnggLSB0aGlzLnNoYWRvd19wX3ggLSB0aGlzLnNoYWRvd193OwogICAgICB9CiAgICB9LCB7CiAgICAgIGtleTogInNoYWRvd190b19iYXNlX2xpbmVfb2Zfbm9kZSIsCiAgICAgIHZhbHVlOiBmdW5jdGlvbiBzaGFkb3dfdG9fYmFzZV9saW5lX29mX25vZGUodCkgewogICAgICAgIHJldHVybiB0aGlzLnNoYWRvd19wX3kgKyB0aGlzLnNoYWRvd19oIC8gMiAtIHQuZ2V0X2xvY2F0aW9uKCkueSAtIHQuZ2V0X3NpemUoKS5oIC8gMjsKICAgICAgfQogICAgfSwgewogICAgICBrZXk6ICJzaGFkb3dfdG9fbm9kZSIsCiAgICAgIHZhbHVlOiBmdW5jdGlvbiBzaGFkb3dfdG9fbm9kZSh0LCBlKSB7CiAgICAgICAgcmV0dXJuIChlID09PSBpLmRlZmF1bHQuZGlyZWN0aW9uLnJpZ2h0ID8gTWF0aC5hYnModGhpcy5zaGFkb3dfdG9fcmlnaHRfb2Zfbm9kZSh0KSkgOiBNYXRoLmFicyh0aGlzLnNoYWRvd190b19sZWZ0X29mX25vZGUodCkpKSArIE1hdGguYWJzKHRoaXMuc2hhZG93X3RvX2Jhc2VfbGluZV9vZl9ub2RlKHQpKTsKICAgICAgfQogICAgfSwgewogICAgICBrZXk6ICJjYWxjX3BvaW50X29mX25vZGUiLAogICAgICB2YWx1ZTogZnVuY3Rpb24gY2FsY19wb2ludF9vZl9ub2RlKHQsIGUpIHsKICAgICAgICB2YXIgaSA9IHQuZ2V0X3NpemUoKSwKICAgICAgICAgIHMgPSB0LmdldF9sb2NhdGlvbigpLAogICAgICAgICAgbyA9IHQuaXNyb290ID8gcy54ICsgaS53IC8gMiA6IHMueCArIGkudyAqICgxICsgZSkgLyAyICsgdGhpcy5vcHRpb25zLmxpbmVfd2lkdGggKiBlLAogICAgICAgICAgbiA9IHMueSArIGkuaCAvIDI7CiAgICAgICAgcmV0dXJuIHsKICAgICAgICAgIHNwOiB7CiAgICAgICAgICAgIHg6IHRoaXMuc2hhZG93X3BfeCArIHRoaXMuc2hhZG93X3cgKiAoMSAtIGUpIC8gMiAtIHRoaXMub3B0aW9ucy5saW5lX3dpZHRoICogZSwKICAgICAgICAgICAgeTogdGhpcy5zaGFkb3dfcF95ICsgdGhpcy5zaGFkb3dfaCAvIDIKICAgICAgICAgIH0sCiAgICAgICAgICBucDogewogICAgICAgICAgICB4OiBvLAogICAgICAgICAgICB5OiBuCiAgICAgICAgICB9CiAgICAgICAgfTsKICAgICAgfQogICAgfSwgewogICAgICBrZXk6ICJtb3ZlX25vZGUiLAogICAgICB2YWx1ZTogZnVuY3Rpb24gbW92ZV9ub2RlKHQsIGUsIHMpIHsKICAgICAgICB2YXIgbyA9IHRoaXMuc2hhZG93Lm9mZnNldFRvcDsKICAgICAgICBpZiAoZSAmJiB0ICYmICFpLmRlZmF1bHQubm9kZS5pbmhlcml0ZWQodCwgZSkpIHsKICAgICAgICAgIGZvciAodmFyIG4gPSBlLmNoaWxkcmVuLCBfaDIgPSBuLmxlbmd0aCwgbCA9IG51bGwsIGEgPSBOdW1iZXIuTUFYX1ZBTFVFLCBfID0gbnVsbCwgZCA9ICJfbGFzdF8iOyBfaDItLTspIGlmICgobCA9IG5bX2gyXSkuZGlyZWN0aW9uID09IHMgJiYgbC5pZCAhPSB0LmlkKSB7CiAgICAgICAgICAgIHZhciByID0gbC5nZXRfbG9jYXRpb24oKS55IC0gbzsKICAgICAgICAgICAgciA+IDAgJiYgciA8IGEgJiYgKGEgPSByLCBfID0gbCwgZCA9ICJfZmlyc3RfIik7CiAgICAgICAgICB9CiAgICAgICAgICBfICYmIChkID0gXy5pZCksIHRoaXMuam0ubW92ZV9ub2RlKHQuaWQsIGQsIGUuaWQsIHMpOwogICAgICAgIH0KICAgICAgICB0aGlzLmFjdGl2ZV9ub2RlID0gbnVsbCwgdGhpcy50YXJnZXRfbm9kZSA9IG51bGwsIHRoaXMudGFyZ2V0X2RpcmVjdCA9IG51bGw7CiAgICAgIH0KICAgIH0sIHsKICAgICAga2V5OiAiam1fZXZlbnRfaGFuZGxlIiwKICAgICAgdmFsdWU6IGZ1bmN0aW9uIGptX2V2ZW50X2hhbmRsZSh0LCBlKSB7CiAgICAgICAgdCA9PT0gaS5kZWZhdWx0LmV2ZW50X3R5cGUucmVzaXplICYmIHRoaXMucmVzaXplKCk7CiAgICAgIH0KICAgIH1dKTsKICB9KCk7CiAgdmFyIGwgPSBuZXcgaS5kZWZhdWx0LnBsdWdpbigiZHJhZ2dhYmxlX25vZGUiLCBmdW5jdGlvbiAodCwgZSkgewogICAgdmFyIGkgPSBuZXcgaCh0LCBlKTsKICAgIGkuaW5pdCgpLCB0LmFkZF9ldmVudF9saXN0ZW5lcihmdW5jdGlvbiAodCwgZSkgewogICAgICBpLmptX2V2ZW50X2hhbmRsZS5jYWxsKGksIHQsIGUpOwogICAgfSk7CiAgfSk7CiAgaS5kZWZhdWx0LnJlZ2lzdGVyX3BsdWdpbihsKTsKfSk7"},null]}