{"ScriptPreparationCode":"var MergeState = (function () {\r\n function MergeState() {\r\n this.writeVersion = 0;\r\n this.deepInspect = false;\r\n }\r\n MergeState.prototype.derive1 = function () {\r\n var ret = new MergeState();\r\n ret.writeVersion = this.writeVersion;\r\n ret.deepInspect = this.deepInspect;\r\n return ret;\r\n };\r\n MergeState.prototype.derive2 = function () {\r\n var ret = {};\r\n Object.setPrototypeOf(ret, this);\r\n return ret;\r\n };\r\n return MergeState;\r\n }());\r\n\r\nvar base = new MergeState();\r\n","TestCases":[{"Name":"Manual clone","Code":"var der = base.derive1();","IsDeferred":false},{"Name":"Prototype","Code":"var der = base.derive2();","IsDeferred":false}]}