{
  "format": "refined.math.wasm-adapter",
  "schemaVersion": 1,
  "name": {
    "en": "Editable Rust least squares",
    "sk": "Upraviteľné najmenšie štvorce v Ruste"
  },
  "description": {
    "en": "Fit real-valued coefficients using your own coordinate search with incrementally updated residuals.",
    "sk": "Nájdite reálne koeficienty vlastným súradnicovým vyhľadávaním s priebežne aktualizovanými odchýlkami."
  },
  "executable": {
    "moduleBase64": "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IgRHDQALIAghBAsgACABIAIgAyAEEJWAgIAADwsgACABIAIgAyAEEJSAgIAAC94BAQJ/I4CAgIAAQSBrIgUkgICAgAACQAJAAkACQCADDQAgBA0BCyABKAIUIgMgASgCECIETw0BIAEoAgwhBgNAIAYgA2otAABBUGpB/wFxQQpPDQIgASADQQFqIgM2AhQgBCADRw0ADAILCyAFQQ42AhQgBUEIaiABKAIMIAEoAhAgASgCFBCXgICAACAAIAVBFGogBSgCCCAFKAIMEJiAgIAANgIEQQEhAwwBCyAARAAAAAAAAAAARAAAAAAAAACAIAIbOQMIQQAhAwsgACADNgIAIAVBIGokgICAgAALqgIBBH8jgICAgABBIGsiASSAgICAACAAKAIMIQICQAJAAkACQCAAKAIUIgMgACgCECIETw0AA0ACQCACIANqLQAAQXdqDjIAAAQEAAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAwQLIAAgA0EBaiIDNgIUIAQgA0cNAAsgBCEDCyABQQM2AhQgAUEIaiACIAQgA0EBaiIDIAQgAyAESRsQl4CAgAAgAUEUaiABKAIIIAEoAgwQmICAgAAhAwwCCyAAIANBAWo2AhRBACEDDAELIAFBBjYCFCABIAIgBCADQQFqIgMgBCADIARJGxCXgICAACABQRRqIAEoAgAgASgCBBCYgICAACEDCyABQSBqJICAgIAAIAMLygEBA38jgICAgABBEGsiAiSAgICAAAJAAkACQAJAIAAoAgxFDQAgACEBDAELIAJBCGogASgCDCABKAIQIAEoAhQQl4CAgAAgACACKAIIIAIoAgwQmICAgAAhASAAQXxqKAIAIgNBeHEiBEEYQRwgA0EDcSIDG0kNAQJAIANFDQAgBEE8Tw0DCyAAEJCAgIAACyACQRBqJICAgIAAIAEPC0HU/sCAAEEuQYT/wIAAEJOAgIAAAAtBlP/AgABBLkHE/8CAABCTgICAAAALOgEBfyOAgICAAEEQayIDJICAgIAAIAMgABCggICAACADIAEgAhChgICAACEAIANBEGokgICAgAAgAAupAQEBf0EHIQICQAJAAkACQAJAAkAgAS0AAA4GBQABAgMEBQsgACABLQABOgABIABBADoAAA8LAkACQAJAIAEoAggO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wIAAQS5BhP/AgAAQk4CAgAAAC0GU/8CAAEEuQcT/wIAAEJOAgIAAAAtB1P7AgABBLkGE/8CAABCTgICAAAALQZT/wIAAQS5BxP/AgAAQk4CAgAAAC0HU/sCAAEEuQYT/wIAAEJOAgIAAAAtBlP/AgABBLkHE/8CAABCTgICAAAALqBAEBH8CfgF8BX8jgICAgABBMGsiAiSAgICAAAJAAkACQAJAAkACQAJAAkACQAJAIAAtAAAOBgABAggDBAALAkAgASgCACIDKAIAIAMoAggiBGtBA0sNACADIARBBBCBgICAACADKAIIIQQLIAMgBEEEajYCCCADKAIEIARqQe7qseMGNgAADAgLIAEoAgAhAwJAIAAtAAENAAJAIAMoAgAgAygCCCIEa0EESw0AIAMgBEEFEIGAgIAAIAMoAgghBAsgAygCBCAEaiIAQQAoANCqwIAANgAAIABBBGpBAC0A1KrAgAA6AAAgAyAEQQVqNgIIDAgLAkAgAygCACADKAIIIgRrQQNLDQAgAyAEQQQQgYCAgAAgAygCCCEECyADKAIEIARqQfTk1asGNgAAIAMgBEEEajYCCAwHCyABKAIAIQMCQAJAAkAgACgCCA4DAAECAAsCQEEUIAApAxAgAkEIahCsgICAACIFayIEIAMoAgAgAygCCCIAa00NACADIAAgBBCBgICAACADKAIIIQALAkAgBEUNACADKAIEIABqIAJBCGogBWogBPwKAAALIAMgACAEajYCCAwICyAAKQMQIgYgBkI/hyIHhSAHfSACQQhqEKyAgIAAIQQCQCAGQn9VDQAgBEF/aiIEQRNLDQQgAkEIaiAEakEtOgAACwJAQRQgBGsiACADKAIAIAMoAggiBWtNDQAgAyAFIAAQgYCAgAAgAygCCCEFCwJAIABFDQAgAygCBCAFaiACQQhqIARqIAD8CgAACyADIAUgAGo2AggMBwsCQCAAKwMQIgi9Qv///////////wCDQoCAgICAgID4/wBTDQACQCADKAIAIAMoAggiBGtBA0sNACADIARBBBCBgICAACADKAIIIQQLIAMgBEEEajYCCCADKAIEIARqQe7qseMGNgAADAcLAkAgCCACQQhqEK2AgIAAIAJBCGprIgQgAygCACADKAIIIgBrTQ0AIAMgACAEEIGAgIAAIAMoAgghAAsCQCAERQ0A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ARCQgICAAAwOCyACIAIoAhAiATYCNCACIAU2AjAgAkEANgIsIAIgATYCJCACIAU2AiAgAkEANgIcQQEhBSACKAIUIQELIAIgATYCOCACIAU2AiggAiAFNgIYAkADQCACQTxqIAJBGGoQp4CAgAAgAigCPEUNASACQTxqEKiAgIAADAALCyACKAIAIgVBgICAgHhyQYCAgIB4Rg0MIAIoAgQiBEF8aigCACIBQXhxIghBBEEIIAFBA3EiARsgBWpJDQoCQCABRQ0AIAggBUEnaksNDAsgBBCQgICAAAwMC0EBIAUQkoCAgAAACxCRgICAAAALQQggBxCSgICAAAALQciewIAAEK+AgIAAAAtB2J7AgAAQr4CAgAAAC0EBIAQQkoCAgAAAC0HU/sCAAEEuQYT/wIAAEJOAgIAAAAtBlP/AgABBLkHE/8CAABCTgICAAAALQdT+wIAAQS5BhP/AgAAQk4CAgAAAC0GU/8CAAEEuQcT/wIAAEJOAgIAAAAtB1P7AgABBLkGE/8CAABCTgICAAAALQZT/wIAAQS5BxP/AgAAQk4CAgAAACyACQeAAaiSAgICAAAurAgMCfwF+An8jgICAgABBwABrIgIkgICAgAAgACgCACEDIABBgICAgHg2AgACQAJAAkAgA0GAgICAeEYNACAAKQIEIQQgAiADNgIcIAIgBDcCICACQShqIAEQsICAgAACQAJAIAItAChBBkcNACACKAIsIQAgA0UNASAEpyIFQXxqKAIAIgFBeHEiBkEEQQggAUEDcSIBGyADakkNAwJAIAFFDQAgBiADQSdqSw0FCyAFEJCAgIAADAELIAIgAEEMaiACQRxqIAJBKGoQqYCAgABBACEAIAItAABBBkYNACACEKOAgIAACyACQcAAaiSAgICAACAADwsQgoGAgAAAC0HU/sCAAEEuQYT/wIAAEJOAgIAAAAtBlP/AgABBLkHE/8CAABCTgICAAAALowcBCH8jgICAgABB4ABrIgIkgICAgAAgAkEANgIcIAJBADYCFCACQYCAgIB4NgIIIAJBCGpBsZnAgABBCiABKQMAELOAgIAAIAEoAhAhAyABKAIMIQQCQAJAAkACQAJAAkACQAJAQQcQjICAgAAiAUUNACABQQNqQQAoAL6ZwIAANgAAIAFBACgAu5nAgAA2AAACQCACKAIIIgVBgICA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gYCAACEBIABBEGokgICAgAAgAQvNCwEEfyOAgICAAEEgayICJICAgIAAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIADhkAAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYAAsgASgCACAAKAIEIAAoAgggASgCBCgCDBGAgICAAICAgIAAIQEMGAsCQAJAAkACQCAALQAEDgQAAQIDAAsgAiAAKAIINgIAQRQQjICAgAAiAEUNGyAAQRBqQQAoAL3+wIAANgAAIABBCGpBACkAtf7AgAA3AAAgAEEAKQCt/sCAADcAACACQRQ2AgwgAiAANgIIIAJBFDYCBCACQYiAgIAArUIghiACrYQ3AxggAkGJgICAAK1CIIYgAkEEaq2ENwMQIAEoAgAgASgCBEHsksCAACACQRBqELuAgIAAIQEgAigCBCIARQ0aIAIoAggiA0F8aigCACIEQXhxIgVBBEEIIARBA3EiBBsgAGpJDRwCQCAERQ0AIAUgAEEnaksNHgsgAxCQgICAAAwaCyACIAAtAAVBAnQiACgCwIXCgAA2AgggAiAAKALohsKAADYCBCACQYqAgIAArUIghiACQQRqrYQ3AxAgASgCACABKAIEQbOFwIAAIAJBEGoQu4CAgAAhAQwZCyABIAAoAggiACgCACAAKAIEEKWBgIAAIQEMGAsgACgCCCIAKAIAIAEgACgCBCgCEBGBgICAAICAgIAAIQEMFwsgASgCAEH888CAAEEYIAEoAgQoAgwRgICAgACAgICAACEBDBYLIAEoAgBBlPTAgABBGyABKAIEKAIMEYCAgIAAgICAgAAhAQwVCyABKAIAQa/0wIAAQRogASgCBCgCDBGAgICAAICAgIAAIQEMFAsgASgCAEHJ9MCAAEEZIAEoAgQoAgwRgICAgACAgICAACEBDBMLIAEoAgBB4vTAgABBDCABKAIEKAIMEYCAgIAAgICAgAAhAQwSCyABKAIAQe70wIAAQRMgASgCBCgCDBGAgICAAICAgIAAIQEMEQsgASgCAEGB9cCAAEETIAEoAgQoAgwRgICAgACAgICAACEBDBALIAEoAgBBlPXAgABBDiABKAIEKAIMEYCAgIAAgICAgAAhAQwPCyABKAIAQaL1wIAAQQ4gASgC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CCAFQQNxIgUbIARqSQ0LAkAgBUUNACAGIARBJ2pLDQ0LIAEQkICAgAALIAcNDwJAAkAgC0EBcUUNACACQRhqIAJBKGoQt4CAgAAgAigCHCEGAkAgAigCGEEBcUUNACAGIQgMEgsgAkHoAGogAxCngICAACACKAJoIgFFDQIgASACKAJwIgVBDGxqIgcoAowCIgRBgICAgHhGDQIgBykCkAIhCiACQegAakEQaiIHIAEgBUEYbGoiAUEQaikDADcDACACQegAakEIaiIIIAFBCGopAwA3AwAgAiABKQMANwNoIApCIIinIQUCQCACLQAoQQZGDQAgAkEoahCjgICAAAsgCqchASACQShqQRBqIAcpAwA3AwAgAkEoakEIaiAIKQMANwMAIAIgAikDaDcDKAJAAkACQAJAIAVBdmoOAgABAgsgAUGglcCAAEEKEN2BgIAADQFBACEFQQAhBwwCCyABQaqVwIAAQQsQ3YGAgAANAEEAIQdBASEFDAELQQEhByABIAVBtJbAgABBAhCFgICAACEICwJAIARFDQAgASAEQQEQpoCAgAALIAcNESAFQQFxDQELIAJBEGogAkEoahC3gICAACACKAIUIQUCQCACKAIQQQFxRQ0AIAUhCAwRCyACQegAaiADEKeAgIAAIAIoAmgiAUUNAiABIAIoAnAiB0EMbGoiCCgCjAIiBEGAgICAeEYNAyAIKQKQAiEKIAJB6ABqQRBqIgggASAHQRhsaiIBQRBqKQMANwMAIAJB6ABqQQhqIgYgAUEIaikDADcDACACIAEpAwA3A2ggCkIgiKchBwJAIAItAChBBkYNACACQShqEKOAgIAACyAKpyEBIAJBKGpBEGogCCkDADcDACACQShqQQhqIAYpAwA3AwAgAiACKQNoNwMoAkACQAJAAkAgB0F2ag4CAQACCyABQaqVwIAAQQsQ3YGAgAANAUEAIQZBASEHDAILIAFBoJXAgABBChDdgYCAAA0AQQAhB0EAIQYMAQtBASEGIAEgB0G0lsCAAEECEIWAgIAAIQgLAkAgBEUNACABIARBARCmgICAAAsgBg0QAkAgB0EBcUUNACALQQFxDQEgAkEIaiACQShqELeAgIAAIAIoAgwhBgJAIAIoAghBAXFFDQAgBiEIDBILIAJB6ABqIAMQp4CAgAAgAigCaCIBRQ0FIAEgAigC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ABCTgICAAAAL0AMCAn8BfiOAgICAAEEwayICJICAgIAAAkACQAJAAkAgAS0AACIDDQAgARCjgICAAEEAIQEMAQsCQAJAAkACQCADQQJHDQAgASkDECEEAkACQCABKAIIDgMAAQMACyAEQoCAgIAQVA0EIAJBAToAGCACIAQ3AyAgAkEYaiACQS9qQbCTwIAAELaAgIAAIQMMAwsgBEKAgICAEFQNAyACQQI6ABggAiAENwMgIAJBGGogAkEvakGwk8CAABC2gICAACEDDAILIAEgAkEvakGwk8CAABCfgICAACEDIAEQo4CAgAAMAQsgAkEDOgAYIAIgBDcDICACQRhqIAJBL2pBsJPAgAAQoYCAgAAhAwsgAiADNgIIIAJBADYCFCACQoCAgIAQNwIMIAJB7JvAgAA2AhwgAkKggICABjcCICACIAJBDGo2AhggAyACQRhqEMCAgIAADQMgACACKQIMNwIAIABBCGogAkEMakEIaigCADYCACACQQhqEKqAgIAADAILIASnIQNBASEBCyAAIAM2AgggACABNgIEIABBgICAgHg2AgALIAJBMGokgICAgAAPC0Gc8sCAAEE3IAJBL2pBhJzAgABB1PLAgAAQvICAgAAAC44EAwF/AX4BfyOAgICAAEHAAGsiAiSAgICAAAJAAkACQAJAAkACQCABLQAAQQJHDQAgASkDECEDAkACQCABKAIIDgMAAQMACyADQoCAgIAQVA0EIAJBAToAICACIAM3AyggAkEgaiACQT9qQbCTwIAAELaAgIAAIQQMAwsgA0KAgICAEFQNAyACQQI6ACAgAiADNwMoIAJBIGogAkE/akGwk8CAABC2gICAACEEDAILIAEgAkE/akGwk8CAABCfgICAACEEIAEQo4CAgAAMAQsgAkEDOgAgIAIgAzcDKCACQSBqIAJBP2pBsJPAgAAQoYCAgAAhBAsgAiAENgIAIAJBADYCDCACQoCAgIAQNwIEIAJCoICAgAY3AhggAkHsm8CAADYCFCACIAJBBGo2AhACQAJAIAQoAgwNACAEIAJBEGoQuoCAgABFDQEMBAsgAkGFgICAAK1CIIYiAyAEQRBqrYQ3AzAgAiADIARBDGqthDcDKCACQYeAgIAArUIghiAErYQ3AyAgAkEEakHsm8CAAEH/gcCAACACQSBqELuAgIAADQMLIAAg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CyADQdACaiADQZACahC9gICAACADKALQAkUNBiADKALUAiEFIAAgAykD2AI3AwggACAFNgIEIABBBjoAAAxSCyADQaADakEIaiAFKAIANgIAIAMgAykD+AI3A6ADAkAgAUF9ag4KBAMAAAAAAAAAAgALIANB0AJqQcuawIAAQQcgAhDbgICAACIFQdDxwIAAIAUbENyAgIAAIANBkAJqIANB0AJqELSAgIAAIAMoApwCIQQCQCADKAKYAiIFQYCAgIB4Rw0AIAAgAykDoAI3AwggACAENgIEIABBBjoAAAw9CwJAAkACQAJAAkACQAJAAkACQCABQXtqDgkAAQIDBAUGCAcICyADQQA2AowBIANCgICAgIABNwKEASAAIANBhAFqEMuAgIAADEYLIANBkAJqQdKawIAAQQQgAhDbgICAACIBQdDxwIAAIAEbENyAgIAAIANB0AJqIANBkAJqEMSAgIAAAkAgAygC0AIiAUGAgICAeEYNACADKALUAiEGIAAgAygC2AI2AgwgACAGNgIIIAAgATYCBCAAQQY6AAAMQwsgA0GQAmpB9ZnAgABBBiACENuAgIAAIgFB0PHAgAAgARsQ3ICAgAAgA0H4AmogA0GQAmoQv4CAgAACQCADKAL4AiIBQYCAgIB4Rg0AIAAgAykC/AI3AwggACABNgIEIABBBjoAAAxDCyADQdACaiADKAKoAxDdgICAACADQZgBaiIBIANB0AJqQQxqKAIANgIAIAMgAykC1AI3A5ABAkAgAygC0AJBAUcNACAAIAMpA5ABNwIEIABBBjoAACAAQQxqIAEoAgA2AgAMQwsgACADQZABahDQgICAAAxFCyADQZACakHWmsCAAEEIIAIQ24CAgAAiAUHQ8cCAACABGxDcgICAACADQdACaiADQZACahDBgICAACADKwPYAiEXIAMoAtACDQogA0H4AmpBACsDmIjCgABBACsDoIjCgAAgAygCpAMgAygCqAMgFyADKALgAhDegICAACADQaABakEIaiADQfgCakEMaigCADYCACADIAMpAvwCNwOgAQJAIAMoAvgCQQFHDQAgACADKQOgATcCBCAAQQY6AAAgAEEMaiADQagBaigCADYCAAxCCyAAIANBoAFqENGAgIAADEQLIAMoAqADIQcgAygCpAMhCSADQZACakHemsCAAEEGIAIQ24CAgAAiAUHQ8cCAACABGxDcgICAACADQfgCaiADQZACahC+gICAACADKAL8AiEBIAMoAoADIQYCQCADKAL4AiIKQYCAgIB4Rg0AIAAgBjYCDCAAIAE2AgggACAKNgIEIABBBjoAACAHRQ1FIAkgB0EDdEEIEKaAgIAADEULIANB0AJqIANBoANqIAEgBhDfgICAACADQYACaiIBIANB0AJqQQxqKAIANgIAIAMgAykC1AI3A/gBIAMoAtACIgZBgICAgHhHDUUgACADKQP4ATcCBCAAQQY6AAAgAEEMaiABKAIANgIADEQLIAMoAqADIQEgAygCpAMhCiADQZACakHkmsCAAEEIIAIQ24CAgAAiBkHQ8cCAACAGGxDcgICAACADQfgCaiADQZACahDFgICAACADKAL8AiEGAkAgAygC+AIiB0GAgICAeEYNACAAIAMoAoADNgIMIAAgBjYCCCAAIAc2AgQgAEEGOgAAIAFFDUQgCiABQQN0QQgQpoCAgAAMRAsgA0GQAmpBipbAgABBBCACENuAgIAAIgdB0PHAgAAgBxsQ3ICAgAAgA0H4AmogA0GQAmoQvYCAgAAgAykDgAMhEAJAIAMoAvgCQQFHDQAgAygC/AIhBiAAIBA3AwggACAGNgIEIABBBjoAACABRQ1EIAogAUEDdEEIEKaAgIAADEQLIANB0AJqQQArA5iIwoAAQQArA6CIwoAAIANBoANqIAYgEBDggICAACADQYACaiIBIANB0AJqQQxqKAIANgIAIAMgAykC1AI3A/gBAkAgAygC0AIiBkGAgICAeEcNACAAIAMpA/gBNwIEIABBBjoAACAAQQxqIAEoAgA2AgAMRAsgA0HAAWpBDGogASgCADYCACADIAY2AsABIAMgAykD+AE3AsQBIAMgAygC4AI2AtABIAAgA0HAAWoQ0oCAgAAMRQsgA0GQAmpB7JrAgABBBSACENuAgIAAIgFB0PHAgAAgARsQ3ICAgAAgA0HQAmogA0GQAmoQxYCAgAAgAygC0AIiAUGAgICAeEYNQCADKALUAiEGIAAgAygC2AI2AgwgACAGNgIIIAAgATYCBCAAQQY6AAAMPgsgA0GQAmpB8ZrAgABBBSACENuAgIAAIgFB0PHAgAAgARsQ3ICAgAAgA0HQAmogA0GQAmoQwoCAgAAgAygC1AIhASADKALYAiEGIAMoAtwCIQcgAygC0AINPCADQZACakHsmsCAAEEFIAIQ24CAgAAiCkHQ8cCAACAKGxDcgICAACADQdACaiADQZACahDFgICAACADKALUAiEKAkAgAygC0AIiCUGAgICAeEYNACAAIAMoAtgCNgIMIAAgCjYCCCAAIAk2AgQgAEEGOgAADDwLIANB+AJqIAMoAqQDIAMoAqgDIAYgByAKEOGAgIAAIANB6AFqIgcgA0H4AmpBDGooAgA2AgAgAyADKQL8AjcD4AECQCADKAL4AkEBRw0AIAAgAykD4AE3AgQgAEEGOgAAIABBDGogBygCADYCAAw8CyAAIANB4AFqEMmAgIAAIAFFDUAgBiABQQN0QQgQpoCAgAAMQAsgA0GQAmpB8ZrAgABBBSACENuAgIAAIgFB0PHAgAAgARsQ3ICAgAAgA0HQAmogA0GQAmoQwoCAgAAgAygC2AIhBiADKALUAiEBIAMoAtACDTkgA0GQAmpB7JrAgABBBSACENuAgIAAIgdB0PHAgAAgBxsQ3ICAgAAgA0HQAmogA0GQAmoQxYCAgAACQCADKALQAiIHQYCAgIB4Rw0AIANBADYC9AEgA0KAgICAwAA3AuwBIAAgA0HsAWoQyYCAgAAgAUUNQCAGIAFBA3RBCBCmgICAAAxACyADKALUAiEKIAAgAygC2AI2AgwgACAKNgIIIAAgBzYCBCAAQQY6AAAgAUUNPCAGIAFBA3RBCBCmgICAAAw8CyADQZACahDigICAACAAQQY6AAAgAEEMaiADQZgCaigCADYCACAAIAMpApACNwIEDD4LIAAgAykD+AE3AwAgAEEQaiADQfgBakEQaikDADcDACAAQQhqIANB+AFqQQhqKQMANwMADFALIANBADYCgAEgA0KAgICAgAE3AnggACADQfgAahDPgICAAAw6CyADQZACaiADKAKkAyADKAKoAxDjgICAACADKAKYAiIFQYCAgIB4Rg00IANB2AJqIANBkAJqQRRqKAIAIgE2AgAgA0HAAGpBIGogA0GQAmpBIGopAwA3AwAgA0HAAGpBKGogA0GQAmpBKGopAwA3AwAgA0HAAGpBMGogA0GQAmpBMGopAwA3AwAgA0HAAGpBFGogATYCACADIAMpApwCIhA3A9ACIAMgAykDqAI3A1ggAyAFNgJIIAMgAykDkAI3A0AgAyAQNwJMIAAgA0HAAGoQx4CAgAAMOQsgA0GQAmogAygCpAMgAygCqAMQ5ICAgAAgAygCmAIiBUGAgICAeEYNMiADQdgCaiADQZACakEUaigCACIBNgIAIANBKGpBFGogATYCACADIAMpApwCIhA3A9ACIAMgBTYCMCADIAMpA5ACNwMoIAMgEDcCNCAAIANBKGoQxoCAgAAMOAsgAygC1AIhASAAIBc5AwggACABNgIEIABBBjoAAAw2C0EAIQUCQCAIQQVHDQAgAigCBCIKRQ0AIAIoAgghCQNAIApBjAJqIQUgCi8BkgMiCEEMbCEBQX8hBgJAAkADQAJAIAENACAIIQYMAgsgBUEIaiEEIAVBBGohByAGQQFqIQYgAUF0aiEBIAVBDGohBUGUm8CAACAHKAIAIAQoAgAiBEEFIARBBUkbEN2BgIAAIgdBBSAEayAHGyIEQQBKIARBAEhrQf8BcSIEQQFGDQALIARFDQELAkAgCQ0AQQAhBQwDCyAJQX9qIQkgCiAGQQJ0aigCmAMhCgwBCwsgCiAGQRhsaiEFCwJAAkACQAJAAkACQAJAIAVB0PHAgAAgBRsiBS0AAA4GAAECAwQFAAsgA0EAOgCQAgwFCyADQZACakEQaiAFQRBqKQMANwMAIANBkAJqQQhqIAVBCGopAwA3AwAgAyAFKQMANwOQAgwECyADQZACakEQaiAFQRBqKQMANwMAIANBkAJqQQhqIAVBCGopAwA3AwAgAyAFKQMANwOQAgwDCyADQZACakEEciAFQQhqKAIAIAVBDGooAgAQ2oCAgAAgA0EDOgCQAgwCCyADQZACakEEciAFKAIIIAUoAgwQ14CAgAAgA0EEOgCQAgwBCwJAAkAgBSgCDEUNAAJAIAUoAgQiAUUNACADQdACaiABIAUoAggQ1oCAgAAMAgtBuKLAgAAQr4CAgAAACyADQQA2AtgCIANBADYC0AILIANBnAJqIANB2AJqKAIANgIAIAMgAykC0AI3ApQCIANBBToAkAILIANB0AJqIANBkAJqEMWAgIAAAkAgAygC0AIiBUGAgICAeEYNACADKALUAiEBIAAgAygC2AI2AgwgACABNgIIIAAgBTYCBCAAQQY6AAAMTAtBDBCMgICAACIERQ0rQQArA5iIwoAAIhdBACsDoIjCgAAiGGVFDSxBACgCsIjCgABFDS9BACgCrIjCgAAoAggiBkEDdCEFAkACQCAYIBdEAAAAAAAAAAAgF0QAAAAAAAAAAGQbIhcgFyAYZBsiF71QDQACQCAGDQBBCCEHDAILIAUQjICAgAAiB0UNLyAHIQUCQCAGQQFGDQAgByEFAkAgBkF+akEHSQ0AIAchBQJAIAZBd2oiCkEISQ0AIApBA3ZBAWpB/v///wNxIQEgByEFA0AgBSAXOQMAIAVB+ABqIBc5AwAgBUHwAGogFzkDACAFQegAaiAXOQMAIAVB4ABqIBc5AwAgBUHYAGogFzkDACAFQdAAaiAXOQMAIAVByABqIBc5AwAgBUHAAGogFzkDACAFQThqIBc5AwAgBUEwaiAXOQMAIAVBKGogFzkDACAFQSBqIBc5AwAgBUEYaiAXOQMAIAVBEGogFzkDACAFQQhqIBc5AwAgBUGAAWohBSABQX5qIgENAAsLIApBCHENACAFIBc5AzggBSAXOQMwIAUgFzkDKCAFIBc5AyAgBSAXOQMYIAUgFzkDECAFIBc5AwggBSAXOQMAIAVBwABqIQULIAZBB3FBAUYNACAGQX9qQQdxIQEDQCAFIBc5AwAgBUEIaiEFIAFBf2oiAQ0ACwsgBSAXOQMADAELAkAgBg0AQQghBwwBCyAFEIyAgIAAIgdFDS8gB0F8ai0AAEEDcUUNACAFRQ0AIAdBACAF/AsACyAEIAY2AgggBCAHNgIEIAQgBjYCACADQQE2AiQgAyAENgIgIANBATYCHCAAIANBHGoQyYCAgAAMSwtBAUEUEJKAgIAAAAtBAUEFEJKAgIAAAAtBBEEkEOWAgIAAAAtBAUEMEJKAgIAAAAtBAUEDEJKAgIAAAAtBAUEIEJKAgIAAAAtBAkECEOWAgIAAAAtBAUEKEJKAgIAAAAtBAUEHEJKAgIAAAAtB1P7AgABBLkGE/8CAABCTgICAAAALQZT/wIAAQS5BxP/AgAAQk4CAgAAAC0EIQRgQkoCAgAAAC0HU/sCAAEEuQYT/wIAAEJOAgIAAAAtBlP/AgABBLkHE/8CAABCTgICAAAALQQFBCBCSgICAAAALQdT+wIAAQS5BhP/AgAAQk4CAgAAAC0GU/8CAAEEuQcT/wIAAEJOAgIAAAAtBCEEYEJKAgIAAAAtBAUEFEJKAgIAAAAtB1P7AgABBLkGE/8CAABCTgICAAAALQZT/wIAAQS5BxP/AgAAQk4CAgAAAC0HU/sCAAEEuQYT/wIAAEJOAgIAAAAtBlP/AgABBLkHE/8CAABCTgICAAAALQdT+wIAAQS5BhP/AgAAQk4CAgAAAC0GU/8CAAEEuQcT/wIAAEJOAgIAAAAtB1P7AgABBLkGE/8CAABCTgICAAAALQZT/wIAAQS5BxP/AgAAQk4CAgAAAC0HU/sCAAEEuQYT/wIAAEJOAgIAAAAtBlP/AgABBLkHE/8CAABCTgICAAAALQdT+wIAAQS5BhP/AgAAQk4CAgAAAC0GU/8CAAEEuQcT/wIAAEJOAgIAAAAtB1P7AgABBLkGE/8CAABCTgICAAAALQZT/wIAAQS5BxP/AgAAQk4CAgAAAC0HU/sCAAEEuQYT/wIAAEJOAgIAAAAtBlP/AgABBLkHE/8CAABCTgICAAAALQdT+wIAAQS5BhP/AgAAQk4CAgAAAC0GU/8CAAEEuQcT/wIAAEJOAgIAAAAtBASAFEJKAgIAAAAsgA0EAQcCXwIAAEIeAgIAANgKQAwwWC0HU/sCAAEEuQYT/wIAAEJOAgIAAAAtBlP/AgABBLkHE/8CAABCTgICAAAALQdT+wIAAQS5BhP/AgAAQk4CAgAAAC0GU/8CAAEEuQcT/wIAAEJOAgIAAAAtBBEEMEOWAgIAAAAsgFyAYEOaAgIAAAAtBCCAFEJKAgIAAAAtBCCAFEJKAgIAAAAtBAEEAQfiewIAAEK6AgIAAAAsgA0HYAmogA0GkAmooAgAiBTYCACADIAMpApwCIhA3A9ACIABBDGogBTYCACAAIBA3AgQgAEEGOgAADAULIANB2AJqIANBpAJqKAIAIgU2AgAgAyADKQKcAiIQNwPQAiAAQQxqIAU2AgAgACAQNwIEIABBBjoAAAwECyAAIAMoAtwCNgIMIAAgBjYCCCAAIAE2AgQgAEEGOgAADAILIAFFDQEgBiABQQN0QQgQpoCAgAAMAQsgACAHNgIMIAAgBjYCCCAAIAE2AgQgAEEGOgAACyAFRQ0AIAQgBUEBEKaAgIAACyADKAKgAyIFRQ0UAkACQCADKAKkAyIEQXxqKAIAIgFBeHEiBkEEQQggAUEDcSIBGyAFQQN0IgVqSQ0AAkAgAUUNACAGIAVBJ2pLDQILIAQQkICAgAAMFgtB1P7AgABBLkGE/8CAABCTgICAAAALQZT/wIAAQS5BxP/AgAAQk4CAgAAACyADQQA2AtwBIANCgICAgMAANwLUASAAIANB1AFqEMmAgIAACwJAIAVFDQAgBCAFQQEQpoCAgAALIAMoAqADIgVFDRIgAygCpAMgBUEDdEEIEKaAgIAADBILIAVFDREgBCAFQQEQpoCAgAAMEQsgA0GsAWpBDGogASgCADYCACADIAY2AqwBIAMgAykD+AE3ArABIAMgAygC4AI2ArwBIAAgA0GsAWoQ0oCAgAALIAVFDQ8gBCAFQQEQpoCAgAAMDwsCQEEhEIyAgIAAIgVFDQAgAEEhNgIMIAAgBTYCCCAAQSE2AgQgAEEGOgAAIAVBIGpBAC0AyprAgAA6AAAgBUEYakEAKQDCmsCAADcAACAFQRBqQQApALqawIAANwAAIAVBCGpBACkAsprAgAA3AAAgBUEAKQCqmsCAADcAAAwPC0EBQSEQkoCAgAAACyALIAVrQRhuIQECQCALIAVGDQADQCAFEKOAgIAAIAVBGGohBSABQX9qIgENAAsLIAxFDQRBgICAgHghEgsCQAJAIAZBfGooAgAiBUF4cSIEQQRBCCAFQQNxIgUbIAxBGGwiB2pJDQACQCAFRQ0AIAQgB0EnaksNAgsgBhCQgICAAAwEC0HU/sCAAEEuQYT/wIAAEJOAgIAAAAtBlP/AgABBLkHE/8CAABCTgICAAAALIAMoAoACIQEgAyADKAKEAiIZQQAgAygC/AEiBRs2AsgCIAMgATYCxAIgAyAFNgLAAiADQQA2ArwCIAMgBUEARyIENgK4AiADIAE2ArQCIAMgBTYCsAIgA0EANgKsAiADIAQ2AqgCIANBBjoAkAIgA0H4AmpBAXIhBSADQZACakEBciEGIANBkAJqQRhqIQRBgICAgHghEkGAgICAeCEUQgAhGkIAIRsCQAJAAkACQANAIANB+AJqIAQQp4CAgAACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCADKAL4AiIHRQ0AIAcgAygCgAMiCEEMbGoiCSgCjAIiCkGAgICAeEYNACAJKQKQAiEQIANB+AJqQRBqIgkgByAIQRhsaiIHQRBqKQMANwMAIANB+AJqQQhqIgggB0EIaikDADcDACADIAcpAwA3A/gCIBBCIIinIQsCQCADLQCQAkEGRg0AIANBkAJqEKOAgIAACyAQpyEHIANBkAJqQRBqIg8gCSkDADcDACADQZACakEIaiIcIAgpAwA3AwAgAyADKQP4AjcDkAICQAJAAkACQAJAIAtBe2oOAwACAQMLQQAhDAJAIAdBl5fAgABBBRDdgYCAAA0AQQIhDgwECyAHQZyXwIAAQQUQ3YGAgAANAkEDIQ4MAwsgB0GQl8CAAEEHEN2BgIAADQFBACEMQQEhDgwCC0EAIQ5BACEMIAdBipfAgABBBhDdgYCAAEUNAQtBASEMIAcgC0GMmMCAAEEEEIWAgIAAIQ0LAkAgCkUNACAHQXxqKAIAIgtBeHEiHUEEQQggC0EDcSILGyAKakkNEAJAIAtFDQAgHSAKQSdqSw0SCyAHEJCAgIAACyAMDQICQCAOQf8BcQ4EBQYHAAULIBtCAFINCCADLQCQAiEHIANBBjoAkAIgB0EGRg0JIAUgBikAADcAACAFQQhqIAZBCGopAAA3AAAgBUEPaiAGQQ9qKQAANwAAIAMgBzoA+AIgB0ECRw0HIAMpA4gDIRACQAJAAkACQCADKAKAAw4DAgEAAgsgEL8hGAwCCyAQuSEYDAELIBC6IRgLIANB+AJqIAQQp4CAgAACQCADKAL4AiIHRQ0AIAcgAygCgAMiC0EMbGoiDCgCjAIiCkGAgICAeEcNAgtCASEbCyAUQYCAgIB4RiIFDQwgAyABNgKAAyADIBM2AvwCIAMgFDYC+AIgEkGAgICAeEYiBg0JIBqnQQFxDQpBl5fAgAAhBwwLCyAMKQKQAiEQIAkgByALQRhsaiIHQRBqKQMANwMAIAggB0EIaikDADcDACADIAcpAwA3A/gCIBBCIIinIQsCQCADLQCQAkEGRg0AIANBkAJqEKOAgIAACyAQpyEHIA8gCSkDADcDACAcIAgpAwA3AwAgAyADKQP4AjcDkAICQAJAAkACQAJAIAtBe2oOAwECAAMLIAdBkJfAgABBBxDdgYCAAA0CQQAhCUEBIQgMAwtBACEJAkAgB0GXl8CAAEEFEN2BgIAADQBBAiEIDAMLIAdBnJfAgABBBRDdgYCAAA0BQQMhCAwCC0EAIQhBACEJIAdBipfAgABBBhDdgYCAAEUNAQtBASEJIAcgC0GMmMCAAEEEEIWAgIAAIQ0LAkAgCkUNACAHQXxqKAIAIgtBeHEiDEEEQQggC0EDcSILGyAKakkNEAJAIAtFDQAgDCAKQSdqSw0SCyAHEJCAgIAACyAJRQ0BCyADIA02ApADDBcLQgEhGyAIQf8BcSIHQQJGDQICQCAHDgQBAgAFAQsACyAUQYCAgIB4Rg0TIANBipfAgABBBhCKgICAADYCkAMMFQsgEkGAgICAeEYNESADQZCXwIAAQQcQioCAgAA2ApADDBQLIBpQDQ8gA0GXl8CAAEEFEIqAgIAANgKQAwwTCyADQfgCaiADQa8DakGglMCAABCfgICAACEFIANB+AJqEKOAgIAAIAMgBTYCkAMMEgsgA0Gcl8CAAEEFEIqAgIAANgKQAwwRCyADELmAgIAANgKQAwwQCyADQZCXwIAAQQcQgoCAgAA2ApADDAoLIBunQQFxDQJBnJfAgAAhBwsgAyAHQQUQgoCAgAA2ApADIBJFDQggFSASQQN0QQgQpoCAgAAMCAsgA0GKl8CAAEEGEIKAgIAANgKQA0EBIQZBgICAgHghFAwNCyADIBc5A5ADIAMgFjYC9AIgAyAVNgLwAiADIBI2AuwCIAMgATYC6AIgAyATNgLkAiADIBQ2AuACIAMgGDkD2AIgAyAXOQPQAgJAIAMoAsgCRQ0AIAMgGUGYlMCAABCHgICAADYCkAMgA0HQAmoQ2YCAgABBgICAgHghEgsCQANAIANB0AJqIAQQp4CAgAAgAygC0AIiBUUNASADIAUgAygC2AIiBkEYbGo2AvgCAkAgBSAGQQxsaiIGKAKMAiIFRQ0AIAZBjAJqKAIEIgdBfGooAgAiBkF4cSIKQQRBCCAGQQNxIgYbIAVqSQ0HAkAgBkUNACAKIAVBJ2pLDQkLIAcQkICAgAALIANB+AJqELiAgIAADAALCyADLQCQAkEGRg0PDA4LQdT+wIAAQS5BhP/AgAAQk4CAgAAAC0GU/8CAAEEuQcT/wIAAEJOAgIAAAAtB1P7AgABBLkGE/8CAABCTgICAAAALQZT/wIAAQS5BxP/AgAAQk4CAgAAAC0HU/sCAAEEuQYT/wIAAEJOAgIAAAAtBlP/AgABBLkHE/8CAABCTgICAAAALIANB+AJqEOeAgIAADAULIAMtAJACIQcgA0EGOgCQAgJAIAdBBkYNACAFIAYpAAA3AAAgBUEIaiAGQQhqKQAANwAAIAVBD2ogBkEPaikAADcAACADIAc6APgCAkAgB0ECRw0AIAMpA4gDIRACQAJAAkAgAygCgAMOAwABAgALIBC6IRdCASEaDAYLIBC5IRdCASEaDAULIBC/IRdCASEaDAQLIANB+AJqIANBrwNqQaCUwIAAEJ+AgIAAIQUgA0H4AmoQo4CAgAAgAyAFNgKQAwwECyADELmAgIAANgKQAwwDCyADLQCQAiEHIANBBjoAkAICQAJAIAdBBkcNABC5gICAACEVDAELIAUgBikAADcAACAFQQhqIAZBCGopAAA3AAAgBUEPaiAGQQ9qKQAANwAAIAMgBzoA+AIgA0GgA2ogA0H4AmoQw4CAgAAgAygCpAMhFSADKAKgAyISQYCAgIB4Rg0AIAMoAqgDIRYMAgsgAyAVNgKQA0EBIQUMBAsgAy0AkAIhByADQQY6AJACAkACQCAHQQZHDQAQuYCAgAAhBwwBCyAFIAYpAAA3AAAgBUEIaiAGQQhqKQAANwAAIAVBD2ogBkEPaikAADcAACADIAc6APgCIANBoANqIANB+AJqENiAgIAAIAMoAqQDIQcgAygCoAMiFEGAgICAeEYNACADKAKoAyEBIAchEwwBCwsgAyAHNgKQA0EBIQZBgICAgHghFEEBIQUMAQtBASEGQQEhBQsgEkH/////B3FFDQAgBkUNAAJAAkAgFUF8aigCACIGQXhxIgdBBEEIIAZBA3EiBhsgEkEDdCIKakkNAAJAIAZFDQAgByAKQSdqSw0CCyAVEJCAgIAADAILQdT+wIAAQS5BhP/AgAAQk4CAgAAAC0GU/8CAAEEuQcT/wIAAEJOAgIAAAAsCQCAUQYCAgIB4Rg0AIAVFDQACQCABRQ0AIBMhBQNAAkAgBSgCACIGRQ0AIAVBBGooAgAiCkF8aigCACIHQXhxIglBBEEIIAdBA3EiBxsgBkEDdCIGakkNCQJAIAdFDQAgCSAGQSdqSw0LCyAKEJCAgIAACyAFQQxqIQUgAUF/aiIBDQALCyAURQ0AIBMgFEEMbEEEEKaAgIAACwJAA0AgA0HQAmogBBCngICAACADKALQAiIFRQ0BIAMgBSADKALYAiIBQRhsajYC+AICQCAFIAFBDGxqIgEoAowCIgVFDQAgAUGMAmooAgQiBkF8aigCACIBQXhxIgdBBEEIIAFBA3EiARsgBWpJDQoCQCABRQ0AIAcgBUEnaksNDAsgBhCQgICAAAsgA0H4AmoQuICAgAAMAAsLQYCAgIB4IRIgAy0AkAJBBkYNAQsgA0GQAmoQo4CAgAALIBFBBnFBBEYNACADQfgBahCjgICAAAsgEkGAgICAeEcNAQsgAyADKAKQAyIFNgKgAyADQQA2AoADIANCgICAgBA3A/gCIANCoICAgAY3AtgCIANB7JvAgAA2AtQCIAMgA0H4Amo2AtACAkACQCAFKAIMDQAgBSADQdACahC6gICAAEUNAQwSCyADQYWAgIAArUIghiIQIAVBEGqthDcDoAIgAyAQIAVBDGqthDcDmAIgA0GHgICAAK1CIIYgBa2ENwOQAiADQfgCakHsm8CAAEH/gcCAACADQZACahC7gICAAA0RCyADKAKAAyEFIAMrA/gCIRcgA0GgA2oQqoCAgAAgAyAXOQMIDAcLIAFFDQUgAUHAAEsNBSATKAIIIgVBf2pBEE8NBSAWIAFHDQUgAysDkAMiHr1C////////////AINC//////////f/AFUNBSAYmUQAAAAAgIQuQWQNBSAYvUL///////////8Ag0L/////////9/8AVQ0FIB4gGGQNBSAemUQAAAAAgIQuQWQNBSADIBM2ApACIAMgEyABQQxsajYClAIgA0GQAmogBRDogICAAA0FIAFBA3QhBSAVIQQCQANAIAVFDQEgBCsDACIXvUL///////////8Ag0L/////////9/8AVQ0HIAVBeGohBSAEQQhqIQQgF5lEAAAAAICELkFkDQcMAAsLIAGtQiCGIBWthCEQAkBBACgCtIjCgAAiB0GAgICAeEYNAEEAKAKsiMKAACEKAkBBACgCsIjCgAAiBEUNACAKIQUDQAJAIAUoAgAiBkUNACAFQQRqKAIAIAZBA3RBCBCmgICAAAsgBUEMaiEFIARBf2oiBA0ACwsCQEEAKAKoiMKAACIFRQ0AIAogBUEMbEEEEKaAgIAACyAHRQ0AQQAoAriIwoAAIAdBA3RBCBCmgICAAAtBACAQNwO4iMKAAEEAIBI2ArSIwoAAQQAgATYCsIjCgABBACATNgKsiMKAAEEAIBQ2AqiIwoAAQQAgGDkDoIjCgABBACAeOQOYiMKAACADQQA2AoACIANBADYC+AFBBRCMgICAACIFRQ0EIAVBBGpBAC0AoZvAgAA6AAAgBUEAKACdm8CAADYAACADQQU2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C0EIIAQQkoCAgAAAC3QBAX8CQEEeEIyAgIAAIgENAEEBQR4QkoCAgAAACyAAIAE2AgQgAEEeNgIAIABBHjYCCCABQQApAPaawIAANwAAIAFBCGpBACkA/prAgAA3AAAgAUEQakEAKQCGm8CAADcAACABQRZqQQApAIybwIAANwAAC68OAwJ/AX4NfyOAgICAAEGQAWsiAySAgICAACADQeAAaiABIAIQ5ICAgAACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAMoAmgiBEGAgICAeEcNACADKQJsIQUgACADKAJ0NgIUIAAgBTcCDCAAQYCAgIB4NgIIDAELIAMoAnQhBiADKAJwIQcgAygCbCEIIAMpA2AhBSADQQRqIAEgAhDpgICAACADQQA2AjggA0EANgIwQQwQjICAgAAiCUUNASAJQQhqQQAoAJmhwIAANgAAIAlBACkAkaHAgAA3AAAgA0EMNgJEIAMgCTYCQCADQQw2AjwgA0HgAGogASACEIuAgIAAIAMtAGBBBkYNAiADQcgAakEQaiADQeAAakEQaikDADcDACADQcgAakEIaiADQeAAakEIaikDADcDACADIAMpA2A3A0ggA0HgAGogA0EwaiADQTxqIANByABqEKmAgIAAAkAgAy0AYEEGRg0AIANB4ABqEKOAgIAAC0EGEIyAgIAAIgJFDQNBACEBIAJBBGpBAC8AoaHAgAA7AAAgAkEAKACdocCAADYAACADQQY2AkQgAyACNgJAIANBBjYCPEEAKAK8iMKAACICIAMoAgwiCiACIApJGyILQYCAgIABTw0EIAMoAgghDAJAAkAgCw0AQQghDQwBC0EAKAK4iMKAACEOIAtBA3QiAhCMgICAACINRQ0GQQAhAQJAAkAgC0EBRg0AIAtBAXEhDyALQf7///8AcSEQQQAhAkEAIQEDQCANIAJqIgkgDCACaiIRKwMAIA4gAmoiEisDAKA5AwAgCUEIaiARQQhqKwMAIBJBCGorAwCgOQMAIAJBEGohAiAQIAFBAmoiAUcNAAsgD0UNAQsgDSABQQN0IgJqIAwgAmorAwAgDiACaisDAKA5AwALIAshAQsgA0HgAGogDSALEIuAgIAAIAMtAGBBBkYNBiADQcgAakEQaiADQeAAakEQaikDADcDACADQcgAakEIaiADQeAAakEIaikDADcDACADIAMpA2A3A0ggA0HgAGogA0EwaiADQTxqIANByABqEKmAgIAAAkAgAy0AYEEGRg0AIANB4ABqEKOAgIAACwJAIAFFDQAgDUF8aigCACICQXhxIglBBEEIIAJBA3EiAhsgAUEDdCIBakkNCAJAIAJFDQAgCSABQSdqSw0KCyANEJCAgIAAC0EJEIyAgIAAIgJFDQkgAkEIakEALQCrocCAADoAACACQQApAKOhwIAANwAAIANBCTYCRCADIAI2AkAgA0EJNgI8IANB4ABqIAwgChCLgICAACADLQBgQQZGDQogA0HIAGpBEGogA0HgAGpBEGopAwA3AwAgA0HIAGpBCGogA0HgAGpBCGopAwA3AwAgAyADKQNgNwNIIANB4ABqIANBMGogA0E8aiADQcgAahCpgICAAAJAIAMtAGBBBkYNACADQeAAahCjgICAAAtBDBCMgICAACICRQ0LIAJBCGpBACgA1aDAgAA2AAAgAkEAKQDNoMCAADcAACADQQw2AlAgAyACNgJMIANBDDYCSCAHRQ0PIAgoAgQhCQJAAkAgCCgCCCICDQBBASEBDAELIAIQjICAgAAiAUUNDQsCQCACRQ0AIAEgCSAC/AoAAAsgAyACNgKEASADIAE2AoABIAMgAjYCfCADQQM6AHggA0HgAGogA0EwaiADQcgAaiADQfgAahCpgICAAAJAIAMtAGBBBkYNACADQeAAahCjgICAAAsgA0EcaiADQTBqQQhqKAIANgAAIAMgAykCMDcAFCAAQQU6ABggACAGNgIUIAAgBzYCECAAIAg2AgwgACAENgIIIAAgBTcDACAAIAMpABE3ABkgAEEgaiADQRhqKQAANwAAIABBAToAMCADKAIEIgJFDQAgDEF8aigCACIBQXhxIglBBEEIIAFBA3EiARsgAkEDdCICakkNDQJAIAFFDQAgCSACQSdqSw0PCyAMEJCAgIAACyADQZABaiSAgICAAA8LQQFBDBCSgICAAAALIAMgAygCZDYCSEGUnMCAAEErIANByABqQbyhwIAAQcyhwIAAELyAgIAAAAtBAUEGEJKAgIAAAAsQkYCAgAAAC0EIIAIQkoCAgAAACyADIAMoAmQ2AkhBlJzAgABBKyADQcgAakG8ocCAAEHMocCAABC8gICAAAALQdT+wIAAQS5BhP/AgAAQ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ACADIAMpAzg3A5gBAkACQCADKAKMASIBIAMoAogBIgVPDQAgAygChAEhBgNAIAYgAWotAABBd2oiAkEXSw0CQQEgAnRBk4CABHFFDQIgBSABQQFqIgFHDQALIAMgBTYCjAELIAMoAngiAUUNBAwDCyADIAE2AowBIANBFjYCECADQQhqIAYgBSABQQFqIgEgBSABIAVJGxCXgICAACADIANBEGogAygCCCADKAIMEJiAgIAANgI8IANBBjoAOCADQZgBahCjgICAAAtBBiEEIAMoAngiAQ0BDAMLQQFBFxCSgICAAAALIAMoAnwiBUF8aigCACICQXhxIgZBBEEIIAJBA3EiAhsgAWpJDQQCQCACRQ0AIAYgAUEnaksNBgsgBRCQgICAAAsgBEEGRg0AIAMgAykAOTcDKCADIANBOGpBCGopAAA3AC8gAykDSCEHIANB+ABqQQhqIAMpAC83AABBAC0AkIjCgAAhAUEAQQE6AJCIwoAAIAMgAykDKDcAeSADIAc3A4gBIAMgBDoAeCADIAE6AJgBIAFBAUYNBSADQRBqIAAgA0H4AGoQ04CAgABBAEEAOgCQiMKAACADLQAQQQZGDQEgA0EANgJcIANBADYCVEECEIyAgIAAIgFFDQsgAUHv1gE7AAAgA0ECNgIwIAMgATYCLCADQQI2AiggA0GBAjsBeCADQZgBaiADQdQAaiADQShqIANB+ABqEKmAgIAAAkAgAy0AmAFBBkYNACADQZgBahCjgICAAAtBBhCMgICAACIBRQ0MIAFBBGpBAC8AzKLAgAA7AAAgAUEAKADIosCAADYAACADQQY2AjAgAyABNgIsIANBBjYCKCADQfgAaiADQRBqELCAgIAAIAMtAHhBBkYNDSADQZgBakEQaiADQfgAakEQaikDADcDACADQZgBakEIaiADQfgAakEIaikDADcDACADIAMpA3g3A5gBIANB+ABqIANB1ABqIANBKGogA0GYAWoQqYCAgAACQCADLQB4QQZGDQAgA0H4AGoQo4CAgAALIANBxABqIANB1ABqQQhqKAIANgIAIAMgAykCVDcCPCADQQU6ADggA0EQahCjgICAAAwCCyADIAMoAjwiATYCVCADQQA2AhggA0KAgICAEDcCECADQqCAgIAGNwKgASADQeybwIAANgKcASADIANBEGo2ApgBAkACQCABKAIMDQAgASADQZgBahC6gICAAEUNAQwTCyADQYWAgIAArUIghiIHIAFBEGqthDcDiAEgAyAHIAFBDGqthDcDgAEgA0GHgICAAK1CIIYgAa2ENwN4IANBEGpB7JvAgABB/4HAgAAgA0H4AGoQu4CAgAANEgsgA0H4AGpBCGoiASADQRBqQQhqKAIANgIAIAMgAykCEDcDeCADQdQAahCqgICAACADQRxqIAEoAgA2AgAgAyADKQN4Igc3ACsgAyAHNwIUCyADKAIcIQEgAygCGCEGIAMoAhQhBSADQQA2AlwgA0EANgJUQQIQjICAgAAiAkUNBCACQe/WATsAACADQQI2AjAgAyACNgIsIANBAjYCKCADQQE7AXggA0GYAWogA0HUAGogA0EoaiADQfgAahCpgICAAAJAIAMtAJgBQQZGDQAgA0GYAWoQo4CAgAALQQUQjICAgAAiAkUNBSACQQRqQQAtAPuiwIAAOgAAIAJBACgA96LAgAA2AAAgA0EFNgKgASADIAI2ApwBIANBBTYCmAECQAJAIAENAEEBIQIMAQsgARCMgICAACICRQ0HCwJAIAFFDQAgAiAGIAH8CgAACyADIAE2AmwgAyACNgJoIAMgATYCZCADQQM6AGAgA0H4AGogA0HUAGogA0GYAWogA0HgAGoQqYCAgAACQCADLQB4QQZGDQAgA0H4AGoQo4CAgAALIANBxABqIANB1ABqQQhqKAIANgIAIAMgAykCVDcCPCADQQU6ADggBUUNACAGQXxqKAIAIgFBeHEiAkEEQQggAUEDcSIBGyAFakkNBwJAIAFFDQAgAiAFQSdqSw0JCyAGEJCAgIAAC0GAARCMgICAACIBRQ0LIANB+ABqQQhqIgJBADYCACADIAE2AnwgA0GAATYCeCADIANB+ABqNgIoIANBOGogA0EoahCrgICAACADQZgBakEIaiACKAIANgIAIAMgAykCeCIHNwOYAQJAAkAgB6ciAUGAgICAeEcNACADQZgBakEEchCqgICAAEIAIQcMAQsgAygCnAEhAgJAIAMoAqABIgVB//+/f2pB//+/f0sNAEIAIQcgAUUNASACQXxqKAIAIgVBeHEiBkEEQQggBUEDcSIFGyABakkNDgJAIAVFDQAgBiABQSdqSw0QCyACEJCAgIAADAELAkAgASAFTQ0AIAIgAUEB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AigCBCEGDAILIAAoAgAgAigCACACKAIEIgEgACgCBCgCDBGAgICAAICAgIAADQIgACAFQYCAgP95cUGwgICAAnIiBTYCCCACQgE3AwBBACEGQQAgAyABQf//A3FrIgEgASADSxshAwwBCyAAKAIAIAAoAgQgARCvgYCAACEBDAILAkACQCACKAIMIgcNAEEAIQgMAQsgAigCCCEBQQAhCANAAkACQAJAAkACQCABLwEADgMAAQIACyABQQRqKAIAIQkMAwsgAUECai8BACIJDQFBASEJDAILIAFBCGooAgAhCQwBCyAJQfb/F2ogCUGc/x9qcSAJQZj4N2ogCUHwsR9qcXNBEXZBAWohCQsgAUEMaiEBIAkgCGohCCAHQX9qIgcNAAsLAkACQAJAIAggBmoiASADQf//A3FPDQAgAyABayEGQQAhAUEAIQMCQAJAAkAgBUEddkEDcQ4EAgABAAILIAYhAwwBCyAGQf7/A3FBAXYhAwsgBUH///8AcSEJIAAoAgQhCCAAKAIAIQcDQCABQf//A3EgA0H//wNxTw0CIAFBAWohASAHIAkgCCgCEBGBgICAAICAgIAARQ0ADAQLCyAAKAIAIAAoAgQgAhCvgYCAACEBDAELIAcgCCACEK+BgIAADQEgBiADa0H//wNxIQVBACEDA0ACQCADQf//A3EgBUkNAEEAIQEMAgtBASEBIANBAWohAyAHIAkgCCgCEBGBgICAAICAgIAARQ0ACwsgACAENwIIDAELQQEhAQsgAkEQaiSAgICAACABC9IFAQh/I4CAgIAAQRBrIgMkgICAgAACQAJAIAIoAgQiBEUNACAAIAIoAgAgBCABKAIMEYCAgIAAgICAgABFDQBBASEFDAELAkAgAigCDCIEDQBBACEFDAELIAIoAggiBiAEQQxsaiEHIAZBDGohBCADQQxqIQgDQCAGIQIgBCEGAkACQAJAAkAgAi8BAA4DAAIBAAsCQAJAIAIoAgQiAkHBAEkNACABQQxqKAIAIQQDQAJAIABB76rAgABBwAAgBBGAgICAAICAgIAARQ0AQQEhBQwICyACQUBqIgJBwABLDQAMAgsLIAJFDQMgAUEMaigCACEECyAAQe+qwIAAIAIgBBGAgICAAICAgIAARQ0CQQEhBQwECyAAIAIoAgQgAigCCCABQQxqKAIAEYCAgIAAgICA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BgAHCAkKCwwNDg8QAQsACyACIAAtAAE6ACggAkGQgICAAK1CIIYgAkEoaq2ENwMQIAEgBEGuksCAACACQRBqELuAgIAAIQEMEQsgAiAAKQMINwMoIAJBkYCAgACtQiCGIAJBKGqthDcDECABIARBoJLAgAAgAkEQahC7gICAACEBDBALIAIgACkDCDcDKCACQZKAgIAArUIghiACQShqrYQ3AxAgASAEQaCSwIAAIAJBEGoQu4CAgAAhAQwPCyACIAAoAgQ2AiggAkGTgICAAK1CIIYgAkEoaq2ENwMQIAEgBEGQksCAACACQRBqELuAgIAAIQEMDgsgAiAAKQIENwIoIAJBlICAgACtQiCGIAJBKGqthDcDECABIARBhoPAgAAgAkEQahC7gICAACEBDA0LIAFB0dHAgABBCiAEKAIMEYCAgIAAgICAgAAhAQwMCyABQdvRwIAAQQwgBCgCDBGAgICAAICAgIAAIQEMCwsgAUHn0cCAAEEOIAQoAgwRgICAgACAgICAACEBDAoLIAFB9dHAgABBCCAEKAIMEYCAgIAAgICAgAAhAQwJCyABQf3RwIAAQQMgBCgCDBGAgICAAICAgIAAIQEMCAsgAUGA0sCAAEEEIAQoAgwRgICAgACAgICAACEBDAcLIAFBhNLAgABBDCAEKAIMEYCAgIAAgICAgAAhAQwGCyABQZDSwIAAQQ8gBCgCDBGAgICAAICAgIAAIQEMBQsgAUGf0sCAAEENIAQoAgwRgICAgACAgICAACEBDAQLIAFBrNLAgABBDiAEKAIMEYCAgIAAgICAgAAhAQwDCyABIAAoAgQgACgCCCAEKAIMEYCAgIAAgICAgAAhAQwCCwJAAkAgACsDCCIFvSIGQv///////////wCDQv/////////3/wBVDQAgBSACQRBqEK2AgIAAIAJBEGprIQAgAkEQaiEDDAELQejxwIAAQevxwIAAIAZCf1UiABtB7/HAgAAgBkL/////////B4NQIgQbIQNBA0EEIAAbQQMgBBshAAsgAiAANgIMIAIgAzYCCCACQYGAgIAArUIghiACQQhqrYQ3AyggASgCACABKAIEQe2RwIAAIAJBKGoQu4CAgAAhAQwBCyABKAIAQYDowIAAQQQgASgCBCgCDBGAgICAAICAgIAAIQELIAJBMGokgICAgAAgAQuaBAMJ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BUIgiIR8IAogB1StfCAEIAF+IAMgAn58fDcDCAsL04gCAgBBgIDAAAuQiAIOYmVnaW4gPD0gZW5kICjABCA8PSDAECkgd2hlbiBzbGljaW5nIGDAAWDAAAtieXRlIGluZGV4IMAWIGlzIG91dCBvZiBib3VuZHMgb2YgYMABYMAAC2J5dGUgaW5kZXggwCYgaXMgbm90IGEgY2hhciBib3VuZGFyeTsgaXQgaXMgaW5zaWRlIMAIIChieXRlcyDABikgb2YgYMABYMAAFnNsaWNlIGluZGV4IHN0YXJ0cyBhdCDADSBidXQgZW5kcyBhdCDAACBpbmRleCBvdXQgb2YgYm91bmRzOiB0aGUgbGVuIGlzIMASIGJ1dCB0aGUgaW5kZXggaXMgwADACSBhdCBsaW5lIMAIIGNvbHVtbiDAABJyYW5nZSBzdGFydCBpbmRleCDAIiBvdXQgb2YgcmFuZ2UgZm9yIHNsaWNlIG9mIGxlbmd0aCDAABByYW5nZSBlbmQgaW5kZXggwCIgb3V0IG9mIHJhbmdlIGZvciBzbGljZSBvZiBsZW5ndGggwAAHc3RyaW5nIMAAD3Vua25vd24gZmllbGQgYMAMYCwgZXhwZWN0ZWQgwAAPaW52YWxpZCBsZW5ndGggwAssIGV4cGVjdGVkIMAAD2ludmFsaWQgdmFsdWU6IMALLCBleHBlY3RlZCDAAA5pbnZhbGlkIHR5cGU6IMALLCBleHBlY3RlZCDAACRtaW4gPiBtYXgsIG9yIGVpdGhlciB3YXMgTmFOLiBtaW4gPSDACCwgbWF4ID0gwAAQYXNzZXJ0aW9uIGBsZWZ0IMAXIHJpZ2h0YCBmYWlsZWQKICBsZWZ0OiDACQogcmlnaHQ6IMAAEGFzc2VydGlvbiBgbGVmdCDAECByaWdodGAgZmFpbGVkOiDACQogIGxlZnQ6IMAJCiByaWdodDogwADAAjogwAAvcnVzdGMvMjU0YjU5NjA3ZDQ0MTdlOWRmZmJjMzA3MTM4YWU1Yzg2MjgwZmU0Yy9saWJyYXJ5L2FsbG9jL3NyYy9jb2xsZWN0aW9ucy9idHJlZS9tYXAvZW50cnkucnMAbGlicmFyeS9jb3JlL3NyYy9udW0vZmx0MmRlYy9zdHJhdGVneS9ncmlzdS5ycwBsaWJyYXJ5L2FsbG9jL3NyYy9mbXQucnMAbGlicmFyeS9jb3JlL3NyYy9udW0vZGl5X2Zsb2F0LnJzAC9ydXN0Yy8yNTRiNTk2MDdkNDQxN2U5ZGZmYmMzMDcxMzhhZTVjODYyODBmZTRjL2xpYnJhcnkvc3RkL3NyYy9zeXMvc3luYy9tdXRleC9ub190aHJlYWRzLnJzAEM6XFVzZXJzXHJvYm9wXC5jYXJnb1xyZWdpc3RyeVxzcmNcaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2Zcc2VyZGVfanNvbi0xLjAuMTU0XHNyY1xlcnJvci5ycwBDOlxVc2Vyc1xyb2JvcFwuY2FyZ29ccmVnaXN0cnlcc3JjXGluZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmXHNlcmRlX2pzb24tMS4wLjE1NFxzcmNcdmFsdWVcc2VyLnJzAC9ydXN0Yy8yNTRiNTk2MDdkNDQxN2U5ZGZmYmMzMDcxMzhhZTVjODYyODBmZTRjL2xpYnJhcnkvYWxsb2Mvc3JjL2NvbGxlY3Rpb25zL2J0cmVlL21hcC5ycwAvcnVzdGMvMjU0YjU5NjA3ZDQ0MTdlOWRmZmJjMzA3MTM4YWU1Yzg2MjgwZmU0Yy9saWJyYXJ5L2NvcmUvc3JjL3N0ci9wYXR0ZXJuLnJzAGxpYnJhcnkvY29yZS9zcmMvbnVtL2ZsdDJkZWMvc3RyYXRlZ3kvZHJhZ29uLnJzAGxpYnJhcnkvY29yZS9zcmMvbnVtL2JpZ251bS5ycwAvcnVzdGMvMjU0YjU5NjA3ZDQ0MTdlOWRmZmJjMzA3MTM4YWU1Yzg2MjgwZmU0Yy9saWJyYXJ5L2FsbG9jL3NyYy9zdHJpbmcucnMAL3J1c3RjLzI1NGI1OTYwN2Q0NDE3ZTlkZmZiYzMwNzEzOGFlNWM4NjI4MGZlNGMvbGlicmFyeS9hbGxvYy9zcmMvY29sbGVjdGlvbnMvYnRyZWUvbmF2aWdhdGUucnMAbGlicmFyeS9jb3JlL3NyYy91bmljb2RlL3ByaW50YWJsZS5ycwAvcnVzdGMvMjU0YjU5NjA3ZDQ0MTdlOWRmZmJjMzA3MTM4YWU1Yzg2MjgwZmU0Yy9saWJyYXJ5L2FsbG9jL3NyYy9jb2xsZWN0aW9ucy9idHJlZS9ub2RlLnJzAEM6XFVzZXJzXHJvYm9wXC5jYXJnb1xyZWdpc3RyeVxzcmNcaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2Zcc2VyZGVfY29yZS0xLjAuMjI5XHNyY1xkZVxtb2QucnMAbGlicmFyeS9jb3JlL3NyYy9mbXQvbW9kLnJzAGxpYnJhcnkvYWxsb2Mvc3JjL3Jhd192ZWMvbW9kLnJzAGxpYnJhcnkvY29yZS9zcmMvbnVtL2ZsdDJkZWMvbW9kLnJzAEM6XFVzZXJzXHJvYm9wXC5jYXJnb1xyZWdpc3RyeVxzcmNcaW5kZXguY3JhdGVzLmlvLTE5NDljZjhjNmI1YjU1N2Zcc2VyZGVfanNvbi0xLjAuMTU0XHNyY1xyZWFkLnJzAC9ydXN0L2RlcHMvZGxtYWxsb2MtMC4yLjExL3NyYy9kbG1hbGxvYy5ycwBleGFtcGxlc1x3ZWlnaHRlZC1maXRcc3JjXGxpYi5ycwBDOlxVc2Vyc1xyb2JvcFwuY2FyZ29ccmVnaXN0cnlcc3JjXGluZGV4LmNyYXRlcy5pby0xOTQ5Y2Y4YzZiNWI1NTdmXGl0b2EtMS4wLjE4XHNyY1xsaWIucnMAL3J1c3RjLzI1NGI1OTYwN2Q0NDE3ZTlkZmZiYzMwNzEzOGFlNWM4NjI4MGZlNGMvbGlicmFyeS9jb3JlL3NyYy9udW0vZjY0LnJzABBmbG9hdGluZyBwb2ludCBgwAFgAAFgwAZgIG9yIGDAAWAAC2NoYXJhY3RlciBgwAFgAAlpbnRlZ2VyIGDAAWAACWJvb2xlYW4gYMABYAAPbWlzc2luZyBmaWVsZCBgwAFgABFkdXBsaWNhdGUgZmllbGQgYMABYAABYMABYADACyAob3MgZXJyb3IgwAEpAAZFcnJvcijACCwgbGluZTogwAosIGNvbHVtbjogwAEpAAAAAAAAAAAAAAABAAAAGAAAAAAAAAAAAAAAAQAAABkAAAAAAAAAAAAAAAEAAAAaAAAAZmV3ZXIgZWxlbWVudHMgaW4gYXJyYXkA0AkQABcAAAAAAAAACAAAAAQAAAAbAAAAZmV3ZXIgZWxlbWVudHMgaW4gbWFwAAAAAAoQABUAAAAAAAAAAAAAAAEAAAAcAAAAAAAAAAAAAAABAAAAHQAAAAAAAAAAAAAAAQAAAB4AAAAAAAAAAAAAAAEAAAAfAAAAAAAAAAAAAAABAAAAIAAAAAAAAAAAAAAAAQAAACEAAAAAAAAAAAAAAAEAAAAiAAAAAAAAAAAAAAABAAAAIwAAAGl0ZXJhdGlvbnNldmFsdWF0aW9uc3N0cnVjdCBCdWRnZXQgd2l0aCAyIGVsZW1lbnRzAAC1ChAAHQAAAHJ1bkluZGV4aXRlcmF0aW9uY2FuZGlkYXRlSW5kZXhzdGFnbmF0aW9ucGhhc2VzZWVkc3RydWN0IENvbnRleHQgd2l0aCA2IGVsZW1lbnRzDgsQAB4AAACgChAACgAAAKoKEAALAAAA3AoQAAgAAADkChAACQAAAO0KEAAOAAAA+woQAAoAAAAFCxAABQAAAAoLEAAEAAAAYSBzZXF1ZW5jZXN0cnVjdCBJbnB1dG1hdHJpeHRhcmdldHNsb3dlcnVwcGVyc3RydWN0IElucHV0IHdpdGggNCBlbGVtZW50cwAAAKELEAAcAAAAc3RydWN0IENvb3JkaW5hdGVpbmRleGRlbHRhc3RydWN0IENvb3JkaW5hdGUgd2l0aCAyIGVsZW1lbnRz4wsQACEAAACKCxAABgAAAJALEAAHAAAAlwsQAAUAAACcCxAABQAAAHN0cnVjdCBDb2VmZmljaWVudHN2YWx1ZXNzdHJ1Y3QgQ29lZmZpY2llbnRzIHdpdGggMSBlbGVtZW50AEUMEAAiAAAAZ3VpZGFuY2VyZXBhaXJyZWNvbWJpbmVwYXRoUmVsaW5rZmVhdHVyZXNuYW1lbnVtZXJpY1R5cGVkaXJlY3Rpb252aW9sYXRpb25zbWV0cmljc3ZhbGlkYXNzZXNzbWVudG91dHB1dHNhYmlWZXJzaW9uaWR2ZXJzaW9uaG9va3N2YWx1ZWZhbWlseWtleXN0YXRlcmVwb3J0ZWRFdmFsdWF0aW9uc3JlcG9ydGVkSW1wcm92ZW1lbnRzVGhlIGFkYXB0ZXIgaXMgbm90IGJvdW5kIHRvIGRhdGEuY29udGV4dGVkZ2Vtb3ZlbWVudGJ1ZGdldHN0cmVuZ3RobGltaXRvdGhlclVuc3VwcG9ydGVkIGFkYXB0ZXIgb3BlcmF0aW9uLmNvdW50ZGF0YWJvdW5kAAA/DBAABgAAACUIEAAgAAAAGwAAADAAAABjYW5ub3QgcmVjdXJzaXZlbHkgYWNxdWlyZSBtdXRleIADEABcAAAAEwAAAAkAAAAkAAAADAAAAAQAAAAlAAAAJgAAACcAAAAAAAAAAAAAAAEAAAAoAAAAY2FsbGVkIGBSZXN1bHQ6OnVud3JhcCgpYCBvbiBhbiBgRXJyYCB2YWx1ZQBGCBAAWgAAALwAAAABAAAAtQIQAGAAAACgAQAALgAAAGFzc2VydGlvbiBmYWlsZWQ6IGlkeCA8IENBUEFDSVRZdQYQAFsAAACeAgAACQAAAGFzc2VydGlvbiBmYWlsZWQ6IGVkZ2UuaGVpZ2h0ID09IHNlbGYuaGVpZ2h0IC0gMXUGEABbAAAAtgIAAAkAAAB1BhAAWwAAALoCAAAJAAAAdQYQAFsAAADwAAAATQAAAGFzc2VydGlvbiBmYWlsZWQ6IHNyYy5sZW4oKSA9PSBkc3QubGVuKCl1BhAAWwAAAFQHAAAFAAAAdQYQAFsAAADQBAAAIwAAAHUGEABbAAAAEwUAACQAAADvBRAAXwAAABYCAAAvAAAA7wUQAF8AAAChAAAAJAAAAKEIEABLAAAAlgUAAAkAAAAlCBAAIAAAAGAAAAAiAAAAJQgQACAAAADCAAAAIgAAACUIEAAgAAAAugAAACgAAAAlCBAAIAAAALAAAAAjAAAAVXNlIGEgZmluaXRlIG1hdHJpeCB3aXRoIDEuLjY0IHJvd3MgYW5kIDEuLjE2IGNvbHVtbnMsIG1hdGNoaW5nIHRhcmdldHMgYW5kIG9yZGVyZWQgYm91bmRzIHdpdGhpbiArLy0xZTYuAAAAJQgQACAAAADeAAAAHgAAAGV4YW1wbGUud2VpZ2h0ZWQtZml0MS4wLjBzcXVhcmVkRXJyb3JDb2VmZmljaWVudCBzdGF0ZSB2aW9sYXRlcyBpdHMgcmVwcmVzZW50YXRpb24gb3IgYm91bmRzLmNvZWZmaWNpZW50c2ZpdHRlZHJlc2lkdWFscyUIEAAgAAAAcwAAAMcAAAApAAAABAAAAAQAAAAqAAAAJQgQACAAAABzAAAAFgAAAHZhbHVlIGlzIG1pc3NpbmdzZXJpYWxpemVfdmFsdWUgY2FsbGVkIGJlZm9yZSBzZXJpYWxpemVfa2V5AEEEEABnAAAAqgEAAB8AAACpBBAAWgAAAA0BAAA/AAAAqQQQAFoAAAAyAQAALgAAAHJlc3VsdAAAJQgQACAAAAD2AAAAAQAAAEludmFsaWQgcmVxdWVzdCBidWZmZXIuZXJyb3IrAAAADAAAAAQAAAAsAAAALQAAAC4AAAAAAAAAAAAAAAEAAAAvAAAAYSBmb3JtYXR0aW5nIHRyYWl0IGltcGxlbWVudGF0aW9uIHJldHVybmVkIGFuIGVycm9yIHdoZW4gdGhlIHVuZGVybHlpbmcgc3RyZWFtIGRpZCBub3QAAEUDEAAYAAAAigIAAA4AAABjYXBhY2l0eSBvdmVyZmxvdwAAAFIHEAAgAAAAHAAAAAUAAAAAcAAHAC0BAQECAQIBAUgLMBUQAWUHAgYCAgEEIwEeG1sLOgkJARgEAQkBAwEFKwM7CSoYASA3AQEBBAgEAQMHCgIdAToBAQECBAgBCQEKAhoBAgI5AQQCBAICAwMBHgIDAQsCOQEEBQECBAEUAhYGAQE6AQECAQQIAQcDCgIeATsBAQEMAQkBKAEDATcBAQMFAwEEBwILAh0BOgECAgEBAwMBBAcCCwIcAjkCAQECBAgBCQEKAh0BSAEEAQIDAQEIAVEBAgcMCGIBAgkLB0kCGwEBAQEBNw4BBQECBQsBJAkBZgQBBgECAgIZAgQDEAQNAQICBgEPAQADAAQcAx0CHgJAAgEHCAECCwkBLQMBAXUCIgF2AwQCCQEGA9sCAgE6AQEHAQEBAQIIBgoCATAuAgwUBDAKBAMmCQwCIAQCBjgBAQIDAQEFOAgCApgDAQ0BBwQBBgEDAsZAAAHDIQADjQFgIAAGaQIABAEKIAJQAgABAwEEARkCBQGXAhoSDQEmCBkLAQEsAzABAgQCAgIBJAFDBgICAgIMAQgBLwEzAQEDAgIFAgEBKgIIAe4BAgEEAQABABAQEAACAAHiAZUFAAMBAgUEKAMEAaUCAARBBQACTQZGCzEEewE2DykBAgIKAzEEAgIHAT0DJAUBCD4BDAI0CQEBCAQCAV8DAgQGAQIBnQEDCBUCOQIBAQEBDAEJAQ4HAwVDAQIGAQECAQEDBAMBAQ4CVQgCAwEBFwFRAQIGAQECAQECAQLrAQIEBgIBAhsCVQgCAQECagEBAQIIZQEBAQIEAQUACQEC9QEKBAQBkAQCAgQBIAooBgIECAEJBgIDLg0BAsYBAQMBAckHAQYBAVIWAgcBAgECegYDAQECAQcBAUgCAwEBAQACCwI0BQUDFwEAAQYPAAwDAwAFOwcAAT8EUQELAgAC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XbRdbNHHOJq6kJJsxvnGQOk0x2w3uPiQIwL9bCNzmzpWITJt609CyaupZm3m45K7FlScbXDOOzWOtNFtDMKKwrEhBm6Pci0zHqo7bpln/N9SSnFuf4H7l+ecpW7fYfp9IQTbbix9vO6U4hBvdpxrKjobRW+Ugwa1CGJ6bz0SJHFFfbBvzBZtzZac5G9/XMiAvMMZcM85fdBVGlBwQ4icROsghHBUqsMVJim5cOmUNJtvc+9wEd0AwSWoI3FWFEExL5JYcWtZkf26to5x49d63jQyw3HcjRkWwv73cVPxn5ty/i1y1PZDoQe/YnKJ9JSJyW6Xcqsx+ut7Ss1yC198c41OAnPNdlvQMOI2c4FUcgS9mmxz0HTHIrbgoXMEUnmr41jWc4amV5Yc7wt0FMj23XF1QXQYenRVztJ1dJ6Y0eqBR6t0Y//CMrEM4XQ8v3N/3U8VdQuvUN/Uo0p1Z22SC2WmgHXACHdO/s+0dfHKFOL9A+p11v5MrX5CIHaMPqBYHlNUdi9OyO7lZ4l2u2F6at/Bv3YVfYyiK9nzdlqcL4t2zyh3cIP7LVQDX3cmMr2cFGKTd7B+7MOZOsh3XJ7nNEBJ/nf5whAhyO0yeLjzVCk6qWd4pTCqs4iTnXhnXkpwNXzSeAH2XMxCGwd5gjN0fxPiPHkxoKgvTA1yeT3IkjufkKZ5TXp3Csc03HlwrIpm/KAReoxXLYA7CUZ6b604YIqLe3plbCN8Njexen9HLBsEheV6Xln3IUXmGnvblzo1689Qe9I9iQLmA4V7Ro0rg99EuntMOPuxC2vwe18Gep7OhSR89ocYRkKnWXz6VM9riQiQfDgqw8arCsR8x/RzuFYN+Xz48ZBmrFAvfTuXGsBrkmN9Cj0hsAZ3mH1MjClcyJTOfbD3mTn9HAN+nHUAiDzkN34DkwCqS91tfuJbQEpPqqJ+2nLQHONU136QjwTkGyoNf7rZgm5ROkJ/KZAjyuXIdn8zdKw8H3usf6DI64XzzOF/bnVsbP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wAAAQACAAMABAAFAAYABwAIAAkA//////////////////8KAAsADAANAA4ADwD/////////////////////////////////////////////////////////////////////CgALAAwADQAOAA8A////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAAQACAAMABAAFAAYABwAIAAkAD//////////////////6AAsADAANAA4ADwAP////////////////////////////////////////////////////////////////////+gALAAwADQAOAA8AD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////+XBxAAYgAAAM4BAAAaAAAAlwcQAGIAAAAbAgAAEwAAAJcHEABiAAAAJAIAAD4AAACXBxAAYgAAACACAAAzAAAAlwcQAGIAAAAqAgAAOgAAAJcHEABiAAAAwQEAAEUAAAAgYXQgbGluZSAAAADdAxAAYwAAAPcBAAAhAAAA3QMQAGMAAAD7AQAADAAAAN0DEABjAAAAAgIAACEAAADdAxAAYwAAAAsCAAAqAAAA3QMQAGMAAAAPAgAALAAAAN0DEABjAAAAFAIAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABpbmYtaW5mTmFOAAAkAAAADAAAAAQAAAAxAAAAMgAAADMAAAAAAAAAAAAAAAEAAAAoAAAAYSBEaXNwbGF5IGltcGxlbWVudGF0aW9uIHJldHVybmVkIGFuIGVycm9yIHVuZXhwZWN0ZWRseQCjBRAASwAAAEkLAAAOAAAABAUQAE8AAAA7BgAAFAAAAAQFEABPAAAAOwYAACEAAAAEBRAATwAAAC8GAAAUAAAABAUQAE8AAAAvBgAAIQAAAEVycm9yAAAA7wUQAF8AAADGAAAAJwAAAO8FEABfAAAAWAIAADAAAABhc3NlcnRpb24gZmFpbGVkOiBzZWxmLmlzX2NoYXJfYm91bmRhcnkobmV3X2xlbilFT0Ygd2hpbGUgcGFyc2luZyBhIGxpc3RFT0Ygd2hpbGUgcGFyc2luZyBhbiBvYmplY3RFT0Ygd2hpbGUgcGFyc2luZyBhIHN0cmluZ0VPRiB3aGlsZSBwYXJzaW5nIGEgdmFsdWVleHBlY3RlZCBgOmBleHBlY3RlZCBgLGAgb3IgYF1gZXhwZWN0ZWQgYCxgIG9yIGB9YGV4cGVjdGVkIGlkZW50ZXhwZWN0ZWQgdmFsdWVleHBlY3RlZCBgImBpbnZhbGlkIGVzY2FwZWludmFsaWQgbnVtYmVybnVtYmVyIG91dCBvZiByYW5nZWludmFsaWQgdW5pY29kZSBjb2RlIHBvaW50Y29udHJvbCBjaGFyYWN0ZXIgKFx1MDAwMC1cdTAwMUYpIGZvdW5kIHdoaWxlIHBhcnNpbmcgYSBzdHJpbmdrZXkgbXVzdCBiZSBhIHN0cmluZ2ludmFsaWQgdmFsdWU6IGV4cGVjdGVkIGtleSB0byBiZSBhIG51bWJlciBpbiBxdW90ZXNmbG9hdCBrZXkgbXVzdCBiZSBmaW5pdGUgKGdvdCBOYU4gb3IgKy8taW5mKWxvbmUgbGVhZGluZyBzdXJyb2dhdGUgaW4gaGV4IGVzY2FwZXRyYWlsaW5nIGNvbW1hdHJhaWxpbmcgY2hhcmFjdGVyc3VuZXhwZWN0ZWQgZW5kIG9mIGhleCBlc2NhcGVyZWN1cnNpb24gbGltaXQgZXhjZWVkZWSXBxAAYgAAAIkCAAAZAAAAZW50aXR5IG5vdCBmb3VuZHBlcm1pc3Npb24gZGVuaWVkY29ubmVjdGlvbiByZWZ1c2VkY29ubmVjdGlvbiByZXNldGhvc3QgdW5yZWFjaGFibGVuZXR3b3JrIHVucmVhY2hhYmxlY29ubmVjdGlvbiBhYm9ydGVkbm90IGNvbm5lY3RlZGFkZHJlc3MgaW4gdXNlYWRkcmVzcyBub3QgYXZhaWxhYmxlbmV0d29yayBkb3duYnJva2VuIHBpcGVlbnRpdHkgYWxyZWFkeSBleGlzdHNvcGVyYXRpb24gd291bGQgYmxvY2tub3QgYSBkaXJlY3RvcnlpcyBhIGRpcmVjdG9yeWRpcmVjdG9yeSBub3QgZW1wdHlyZWFkLW9ubHkgZmlsZXN5c3RlbSBvciBzdG9yYWdlIG1lZGl1bWZpbGVzeXN0ZW0gbG9vcCBvciBpbmRpcmVjdGlvbiBsaW1pdCAoZS5nLiBzeW1saW5rIGxvb3Apc3RhbGUgbmV0d29yayBmaWxlIGhhbmRsZWludmFsaWQgaW5wdXQgcGFyYW1ldGVyaW52YWxpZCBkYXRhdGltZWQgb3V0d3JpdGUgemVyb25vIHN0b3JhZ2Ugc3BhY2VzZWVrIG9uIHVuc2Vla2FibGUgZmlsZXF1b3RhIGV4Y2VlZGVkZmlsZSB0b28gbGFyZ2VyZXNvdXJjZSBidXN5ZXhlY3V0YWJsZSBmaWxlIGJ1c3lkZWFkbG9ja2Nyb3NzLWRldmljZSBsaW5rIG9yIHJlbmFtZXRvbyBtYW55IGxpbmtzaW52YWxpZCBmaWxlbmFtZWFyZ3VtZW50IGxpc3QgdG9vIGxvbmdvcGVyYXRpb24gaW50ZXJydXB0ZWR1bnN1cHBvcnRlZHVuZXhwZWN0ZWQgZW5kIG9mIGZpbGVvdXQgb2YgbWVtb3J5aW4gcHJvZ3Jlc3NvdGhlciBlcnJvcnVuY2F0ZWdvcml6ZWQgZXJyb3JvcGVyYXRpb24gc3VjY2Vzc2Z1bAAAAAAAAAAEAAAABAAAADQAAABhc3NlcnRpb24gZmFpbGVkOiBwc2l6ZSA+PSBzaXplICsgbWluX292ZXJoZWFkAAD6BxAAKgAAALEEAAAJAAAAYXNzZXJ0aW9uIGZhaWxlZDogcHNpemUgPD0gc2l6ZSArIG1heF9vdmVyaGVhZAAA+gcQACoAAAC3BAAADQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQUGBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAUGBAUGAwQFBgQFBgQFBgMEBQYEBQYEBQYDBAUGBAVlLTMyNAAFAGUtMzIzAAUAZS0zMjIABQBlLTMyMQAFAGUtMzIwAAUAZS0zMTkABQBlLTMxOAAFAGUtMzE3AAUAZS0zMTYABQBlLTMxNQAFAGUtMzE0AAUAZS0zMTMABQBlLTMxMgAFAGUtMzExAAUAZS0zMTAABQBlLTMwOQAFAGUtMzA4AAUAZS0zMDcABQBlLTMwNgAFAGUtMzA1AAUAZS0zMDQABQBlLTMwMwAFAGUtMzAyAAUAZS0zMDEABQBlLTMwMAAFAGUtMjk5AAUAZS0yOTgABQBlLTI5NwAFAGUtMjk2AAUAZS0yOTUABQBlLTI5NAAFAGUtMjkzAAUAZS0yOTIABQBlLTI5MQAFAGUtMjkwAAUAZS0yODkABQBlLTI4OAAFAGUtMjg3AAUAZS0yODYABQBlLTI4NQAFAGUtMjg0AAUAZS0yODMABQBlLTI4MgAFAGUtMjgxAAUAZS0yODAABQBlLTI3OQAFAGUtMjc4AAUAZS0yNzcABQBlLTI3NgAFAGUtMjc1AAUAZS0yNzQABQBlLTI3MwAFAGUtMjcyAAUAZS0yNzEABQBlLTI3MAAFAGUtMjY5AAUAZS0yNjgABQBlLTI2NwAFAGUtMjY2AAUAZS0yNjUABQBlLTI2NAAFAGUtMjYzAAUAZS0yNjIABQBlLTI2MQAFAGUtMjYwAAUAZS0yNTkABQBlLTI1OAAFAGUtMjU3AAUAZS0yNTYABQBlLTI1NQAFAGUtMjU0AAUAZS0yNTMABQBlLTI1MgAFAGUtMjUxAAUAZS0yNTAABQBlLTI0OQAFAGUtMjQ4AAUAZS0yNDcABQBlLTI0NgAFAGUtMjQ1AAUAZS0yNDQABQBlLTI0MwAFAGUtMjQyAAUAZS0yNDEABQBlLTI0MAAFAGUtMjM5AAUAZS0yMzgABQBlLTIzNwAFAGUtMjM2AAUAZS0yMzUABQBlLTIzNAAFAGUtMjMzAAUAZS0yMzIABQBlLTIzMQAFAGUtMjMwAAUAZS0yMjkABQBlLTIyOAAFAGUtMjI3AAUAZS0yMjYABQBlLTIyNQAFAGUtMjI0AAUAZS0yMjMABQBlLTIyMgAFAGUtMjIxAAUAZS0yMjAABQBlLTIxOQAFAGUtMjE4AAUAZS0yMTcABQBlLTIxNgAFAGUtMjE1AAUAZS0yMTQABQBlLTIxMwAFAGUtMjEyAAUAZS0yMTEABQBlLTIxMAAFAGUtMjA5AAUAZS0yMDgABQBlLTIwNwAFAGUtMjA2AAUAZS0yMDUABQBlLTIwNAAFAGUtMjAzAAUAZS0yMDIABQBlLTIwMQAFAGUtMjAwAAUAZS0xOTkABQBlLTE5OAAFAGUtMTk3AAUAZS0xOTYABQBlLTE5NQAFAGUtMTk0AAUAZS0xOTMABQBlLTE5MgAFAGUtMTkxAAUAZS0xOTAABQBlLTE4OQAFAGUtMTg4AAUAZS0xODcABQBlLTE4NgAFAGUtMTg1AAUAZS0xODQABQBlLTE4MwAFAGUtMTgyAAUAZS0xODEABQBlLTE4MAAFAGUtMTc5AAUAZS0xNzgABQBlLTE3NwAFAGUtMTc2AAUAZS0xNzUABQBlLTE3NAAFAGUtMTczAAUAZS0xNzIABQBlLTE3MQAFAGUtMTcwAAUAZS0xNjkABQBlLTE2OAAFAGUtMTY3AAUAZS0xNjYABQBlLTE2NQAFAGUtMTY0AAUAZS0xNjMABQBlLTE2MgAFAGUtMTYxAAUAZS0xNjAABQBlLTE1OQAFAGUtMTU4AAUAZS0xNTcABQBlLTE1NgAFAGUtMTU1AAUAZS0xNTQABQBlLTE1MwAFAGUtMTUyAAUAZS0xNTEABQBlLTE1MAAFAGUtMTQ5AAUAZS0xNDgABQBlLTE0NwAFAGUtMTQ2AAUAZS0xNDUABQBlLTE0NAAFAGUtMTQzAAUAZS0xNDIABQBlLTE0MQAFAGUtMTQwAAUAZS0xMzkABQBlLTEzOAAFAGUtMTM3AAUAZS0xMzYABQBlLTEzNQAFAGUtMTM0AAUAZS0xMzMABQBlLTEzMgAFAGUtMTMxAAUAZS0xMzAABQBlLTEyOQAFAGUtMTI4AAUAZS0xMjcABQBlLTEyNgAFAGUtMTI1AAUAZS0xMjQABQBlLTEyMwAFAGUtMTIyAAUAZS0xMjEABQBlLTEyMAAFAGUtMTE5AAUAZS0xMTgABQBlLTExNwAFAGUtMTE2AAUAZS0xMTUABQBlLTExNAAFAGUtMTEzAAUAZS0xMTIABQBlLTExMQAFAGUtMTEwAAUAZS0xMDkABQBlLTEwOAAFAGUtMTA3AAUAZS0xMDYABQBlLTEwNQAFAGUtMTA0AAUAZS0xMDMABQBlLTEwMgAFAGUtMTAxAAUAZS0xMDAABQBlLTk5AAAEAGUtOTgAAAQAZS05NwAABABlLTk2AAAEAGUtOTUAAAQAZS05NAAABABlLTkzAAAEAGUtOTIAAAQAZS05MQAABABlLTkwAAAEAGUtODkAAAQAZS04OAAABABlLTg3AAAEAGUtODYAAAQAZS04NQAABABlLTg0AAAEAGUtODMAAAQAZS04MgAABABlLTgxAAAEAGUtODAAAAQAZS03OQAABABlLTc4AAAEAGUtNzcAAAQAZS03NgAABABlLTc1AAAEAGUtNzQAAAQAZS03MwAABABlLTcyAAAEAGUtNzEAAAQAZS03MAAABABlLTY5AAAEAGUtNjgAAAQAZS02NwAABABlLTY2AAAEAGUtNjUAAAQAZS02NAAABABlLTYzAAAEAGUtNjIAAAQAZS02MQAABABlLTYwAAAEAGUtNTkAAAQAZS01OAAABABlLTU3AAAEAGUtNTYAAAQAZS01NQAABABlLTU0AAAEAGUtNTMAAAQAZS01MgAABABlLTUxAAAEAGUtNTAAAAQAZS00OQAABABlLTQ4AAAEAGUtNDcAAAQAZS00NgAABABlLTQ1AAAEAGUtNDQAAAQAZS00MwAABABlLTQyAAAEAGUtNDEAAAQAZS00MAAABABlLTM5AAAEAGUtMzgAAAQAZS0zNwAABABlLTM2AAAEAGUtMzUAAAQAZS0zNAAABABlLTMzAAAEAGUtMzIAAAQAZS0zMQAABABlLTMwAAAEAGUtMjkAAAQAZS0yOAAABABlLTI3AAAEAGUtMjYAAAQAZS0yNQAABABlLTI0AAAEAGUtMjMAAAQAZS0yMgAABABlLTIxAAAEAGUtMjAAAAQAZS0xOQAABABlLTE4AAAEAGUtMTcAAAQAZS0xNgAABABlLTE1AAAEAGUtMTQAAAQAZS0xMwAABABlLTEyAAAEAGUtMTEAAAQAZS0xMAAABABlLTkAAAADAGUtOAAAAAMAZS03AAAAAwBlLTYAAAADAGUtNQAAAAMAZS00AAAAAwBlLTMAAAADAGUtMgAAAAMAZS0xAAAAAwBlKzAAAAADAGUrMQAAAAMAZSsyAAAAAwBlKzMAAAADAGUrNAAAAAMAZSs1AAAAAwBlKzYAAAADAGUrNwAAAAMAZSs4AAAAAwBlKzkAAAADAGUrMTAAAAQAZSsxMQAABABlKzEyAAAEAGUrMTMAAAQAZSsxNAAABABlKzE1AAAEAGUrMTYAAAQAZSsxNwAABABlKzE4AAAEAGUrMTkAAAQAZSsyMAAABABlKzIxAAAEAGUrMjIAAAQAZSsyMwAABABlKzI0AAAEAGUrMjUAAAQAZSsyNgAABABlKzI3AAAEAGUrMjgAAAQAZSsyOQAABABlKzMwAAAEAGUrMzEAAAQAZSszMgAABABlKzMzAAAEAGUrMzQAAAQAZSszNQAABABlKzM2AAAEAGUrMzcAAAQAZSszOAAABABlKzM5AAAEAGUrNDAAAAQAZSs0MQAABABlKzQyAAAEAGUrNDMAAAQAZSs0NAAABABlKzQ1AAAEAGUrNDYAAAQAZSs0NwAABABlKzQ4AAAEAGUrNDkAAAQAZSs1MAAABABlKzUxAAAEAGUrNTIAAAQAZSs1MwAABABlKzU0AAAEAGUrNTUAAAQAZSs1NgAABABlKzU3AAAEAGUrNTgAAAQAZSs1OQAABABlKzYwAAAEAGUrNjEAAAQAZSs2MgAABABlKzYzAAAEAGUrNjQAAAQAZSs2NQAABABlKzY2AAAEAGUrNjcAAAQAZSs2OAAABABlKzY5AAAEAGUrNzAAAAQAZSs3MQAABABlKzcyAAAEAGUrNzMAAAQAZSs3NAAABABlKzc1AAAEAGUrNzYAAAQAZSs3NwAABABlKzc4AAAEAGUrNzkAAAQAZSs4MAAABABlKzgxAAAEAGUrODIAAAQAZSs4MwAABABlKzg0AAAEAGUrODUAAAQAZSs4NgAABABlKzg3AAAEAGUrODgAAAQAZSs4OQAABABlKzkwAAAEAGUrOTEAAAQAZSs5MgAABABlKzkzAAAEAGUrOTQAAAQAZSs5NQAABABlKzk2AAAEAGUrOTcAAAQAZSs5OAAABABlKzk5AAAEAGUrMTAwAAUAZSsxMDEABQBlKzEwMgAFAGUrMTAzAAUAZSsxMDQABQBlKzEwNQAFAGUrMTA2AAUAZSsxMDcABQBlKzEwOAAFAGUrMTA5AAUAZSsxMTAABQBlKzExMQAFAGUrMTEyAAUAZSsxMTMABQBlKzExNAAFAGUrMTE1AAUAZSsxMTYABQBlKzExNwAFAGUrMTE4AAUAZSsxMTkABQBlKzEyMAAFAGUrMTIxAAUAZSsxMjIABQBlKzEyMwAFAGUrMTI0AAUAZSsxMjUABQBlKzEyNgAFAGUrMTI3AAUAZSsxMjgABQBlKzEyOQAFAGUrMTMwAAUAZSsxMzEABQBlKzEzMgAFAGUrMTMzAAUAZSsxMzQABQBlKzEzNQAFAGUrMTM2AAUAZSsxMzcABQBlKzEzOAAFAGUrMTM5AAUAZSsxNDAABQBlKzE0MQAFAGUrMTQyAAUAZSsxNDMABQBlKzE0NAAFAGUrMTQ1AAUAZSsxNDYABQBlKzE0NwAFAGUrMTQ4AAUAZSsxNDkABQBlKzE1MAAFAGUrMTUxAAUAZSsxNTIABQBlKzE1MwAFAGUrMTU0AAUAZSsxNTUABQBlKzE1NgAFAGUrMTU3AAUAZSsxNTgABQBlKzE1OQAFAGUrMTYwAAUAZSsxNjEABQBlKzE2MgAFAGUrMTYzAAUAZSsxNjQABQBlKzE2NQAFAGUrMTY2AAUAZSsxNjcABQBlKzE2OAAFAGUrMTY5AAUAZSsxNzAABQBlKzE3MQAFAGUrMTcyAAUAZSsxNzMABQBlKzE3NAAFAGUrMTc1AAUAZSsxNzYABQBlKzE3NwAFAGUrMTc4AAUAZSsxNzkABQBlKzE4MAAFAGUrMTgxAAUAZSsxODIABQBlKzE4MwAFAGUrMTg0AAUAZSsxODUABQBlKzE4NgAFAGUrMTg3AAUAZSsxODgABQBlKzE4OQAFAGUrMTkwAAUAZSsxOTEABQBlKzE5MgAFAGUrMTkzAAUAZSsxOTQABQBlKzE5NQAFAGUrMTk2AAUAZSsxOTcABQBlKzE5OAAFAGUrMTk5AAUAZSsyMDAABQBlKzIwMQAFAGUrMjAyAAUAZSsyMDMABQBlKzIwNAAFAGUrMjA1AAUAZSsyMDYABQBlKzIwNwAFAGUrMjA4AAUAZSsyMDkABQBlKzIxMAAFAGUrMjExAAUAZSsyMTIABQBlKzIxMwAFAGUrMjE0AAUAZSsyMTUABQBlKzIxNgAFAGUrMjE3AAUAZSsyMTgABQBlKzIxOQAFAGUrMjIwAAUAZSsyMjEABQBlKzIyMgAFAGUrMjIzAAUAZSsyMjQABQBlKzIyNQAFAGUrMjI2AAUAZSsyMjcABQBlKzIyOAAFAGUrMjI5AAUAZSsyMzAABQBlKzIzMQAFAGUrMjMyAAUAZSsyMzMABQBlKzIzNAAFAGUrMjM1AAUAZSsyMzYABQBlKzIzNwAFAGUrMjM4AAUAZSsyMzkABQBlKzI0MAAFAGUrMjQxAAUAZSsyNDIABQBlKzI0MwAFAGUrMjQ0AAUAZSsyNDUABQBlKzI0NgAFAGUrMjQ3AAUAZSsyNDgABQBlKzI0OQAFAGUrMjUwAAUAZSsyNTEABQBlKzI1MgAFAGUrMjUzAAUAZSsyNTQABQBlKzI1NQAFAGUrMjU2AAUAZSsyNTcABQBlKzI1OAAFAGUrMjU5AAUAZSsyNjAABQBlKzI2MQAFAGUrMjYyAAUAZSsyNjMABQBlKzI2NAAFAGUrMjY1AAUAZSsyNjYABQBlKzI2NwAFAGUrMjY4AAUAZSsyNjkABQBlKzI3MAAFAGUrMjcxAAUAZSsyNzIABQBlKzI3MwAFAGUrMjc0AAUAZSsyNzUABQBlKzI3NgAFAGUrMjc3AAUAZSsyNzgABQBlKzI3OQAFAGUrMjgwAAUAZSsyODEABQBlKzI4MgAFAGUrMjgzAAUAZSsyODQABQBlKzI4NQAFAGUrMjg2AAUAZSsyODcABQBlKzI4OAAFAGUrMjg5AAUAZSsyOTAABQBlKzI5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",
    "moduleDigest": "42378d72ab849686f684f2a1f3373ee95cd01b3ff226111b3231e4238c775e18",
    "description": {
      "abiVersion": 1,
      "id": "example.weighted-fit",
      "version": "1.0.0",
      "metrics": [
        {
          "name": "squaredError",
          "numericType": "f64",
          "direction": "minimize"
        }
      ],
      "families": [
        1
      ],
      "hooks": {
        "guidance": false,
        "repair": false,
        "recombine": true,
        "pathRelink": false,
        "features": false
      }
    }
  },
  "inputSchema": {
    "type": "object",
    "additionalProperties": false,
    "required": [
      "matrix",
      "targets",
      "lower",
      "upper"
    ],
    "properties": {
      "matrix": {
        "type": "array"
      },
      "targets": {
        "type": "array"
      },
      "lower": {
        "type": "number"
      },
      "upper": {
        "type": "number"
      }
    }
  },
  "defaultData": {
    "matrix": [
      [
        1,
        0
      ],
      [
        1,
        1
      ],
      [
        1,
        2
      ],
      [
        1,
        3
      ]
    ],
    "targets": [
      1,
      3,
      5,
      7
    ],
    "lower": -10,
    "upper": 10
  },
  "samples": [],
  "presentation": {
    "format": "refined.math.outputs",
    "schemaVersion": 1,
    "objective": {
      "label": {
        "en": "Sum of squared residuals",
        "sk": "Súčet štvorcov odchýlok"
      },
      "unit": ""
    },
    "labels": {},
    "metrics": [],
    "tables": [
      {
        "id": "coefficients",
        "label": {
          "en": "Fitted coefficients",
          "sk": "Nájdené koeficienty"
        },
        "source": [
          "get",
          "result",
          "outputs",
          "coefficients"
        ],
        "columns": [
          {
            "id": "coefficient",
            "label": {
              "en": "Coefficient",
              "sk": "Koeficient"
            },
            "type": "number",
            "value": [
              "add",
              [
                "rowIndex"
              ],
              1
            ]
          },
          {
            "id": "value",
            "label": {
              "en": "Value",
              "sk": "Hodnota"
            },
            "type": "number",
            "value": [
              "row"
            ]
          }
        ]
      },
      {
        "id": "fit",
        "label": {
          "en": "Observed and fitted values",
          "sk": "Požadované a vypočítané hodnoty"
        },
        "source": [
          "get",
          "data",
          "targets"
        ],
        "columns": [
          {
            "id": "row",
            "label": {
              "en": "Row",
              "sk": "Riadok"
            },
            "type": "number",
            "value": [
              "add",
              [
                "rowIndex"
              ],
              1
            ]
          },
          {
            "id": "target",
            "label": {
              "en": "Target",
              "sk": "Požadované"
            },
            "type": "number",
            "value": [
              "row"
            ]
          },
          {
            "id": "fitted",
            "label": {
              "en": "Fitted",
              "sk": "Vypočítané"
            },
            "type": "number",
            "value": [
              "get",
              "result",
              "outputs",
              "fitted",
              [
                "rowIndex"
              ]
            ]
          }
        ]
      }
    ],
    "charts": [
      {
        "id": "fit-chart",
        "label": {
          "en": "Fit comparison",
          "sk": "Porovnanie hodnôt"
        },
        "type": "line",
        "table": "fit",
        "x": "row",
        "series": [
          "target",
          "fitted"
        ]
      }
    ]
  },
  "sources": [
    {
      "name": "examples/weighted-fit/Cargo.toml",
      "content": "[package]\nname = \"refined_custom_weighted_fit\"\nversion = \"1.0.0\"\nedition = \"2021\"\npublish = false\n\n[lib]\ncrate-type = [\"cdylib\"]\n\n[dependencies]\nrefined_adapter_sdk = { path = \"../../sdk\" }\nserde = { version = \"1\", features = [\"derive\"] }\n"
    },
    {
      "name": "examples/weighted-fit/fixtures.json",
      "content": "{\n  \"format\": \"refined.math.adapter-fixtures\",\n  \"schemaVersion\": 1,\n  \"description\": {\n    \"abiVersion\": 1,\n    \"id\": \"example.weighted-fit\",\n    \"version\": \"1.0.0\",\n    \"metrics\": [{\"name\": \"squaredError\", \"numericType\": \"f64\", \"direction\": \"minimize\"}],\n    \"families\": [1],\n    \"hooks\": {\"guidance\": false, \"repair\": false, \"recombine\": true, \"pathRelink\": false, \"features\": false}\n  },\n  \"cases\": [\n    {\n      \"name\": \"Correlated columns with an exact fit at one and two\",\n      \"data\": {\"matrix\": [[1, 0], [1, 1], [0, 1]], \"targets\": [1, 3, 2], \"lower\": -10, \"upper\": 10},\n      \"seed\": 42,\n      \"tolerance\": {\"absolute\": 1e-9, \"relative\": 1e-9},\n      \"states\": [\n        {\n          \"name\": \"Zero coefficients\",\n          \"state\": {\"values\": [0, 0]},\n          \"assessment\": {\"violations\": 0, \"metrics\": [\"14\"]},\n          \"valid\": true,\n          \"outputs\": {\"coefficients\": [0, 0], \"fitted\": [0, 0, 0], \"residuals\": [-1, -3, -2], \"squaredError\": \"14\"}\n        },\n        {\n          \"name\": \"Exact solution\",\n          \"state\": {\"values\": [1, 2]},\n          \"assessment\": {\"violations\": 0, \"metrics\": [\"0\"]},\n          \"valid\": true,\n          \"outputs\": {\"coefficients\": [1, 2], \"fitted\": [1, 3, 2], \"residuals\": [0, 0, 0], \"squaredError\": \"0\"}\n        },\n        {\n          \"name\": \"Half-unit coordinate move\",\n          \"state\": {\"values\": [0.5, 0]},\n          \"assessment\": {\"violations\": 0, \"metrics\": [\"10.5\"]},\n          \"valid\": true,\n          \"outputs\": {\"coefficients\": [0.5, 0], \"fitted\": [0.5, 0.5, 0], \"residuals\": [-0.5, -2.5, -2], \"squaredError\": \"10.5\"}\n        },\n        {\n          \"name\": \"First coordinate sweep\",\n          \"state\": {\"values\": [2, 1.5]},\n          \"assessment\": {\"violations\": 0, \"metrics\": [\"1.5\"]},\n          \"valid\": true,\n          \"outputs\": {\"coefficients\": [2, 1.5], \"fitted\": [2, 3.5, 1.5], \"residuals\": [1, 0.5, -0.5], \"squaredError\": \"1.5\"}\n        },\n        {\n          \"name\": \"Second coordinate sweep\",\n          \"state\": {\"values\": [1.25, 1.875]},\n          \"assessment\": {\"violations\": 0, \"metrics\": [\"0.09375\"]},\n          \"valid\": true,\n          \"outputs\": {\"coefficients\": [1.25, 1.875], \"fitted\": [1.25, 3.125, 1.875], \"residuals\": [0.25, 0.125, -0.125], \"squaredError\": \"0.09375\"}\n        }\n      ],\n      \"moves\": [\n        {\n          \"name\": \"Increase the first coefficient by one half\",\n          \"state\": {\"values\": [0, 0]},\n          \"movement\": {\"index\": 0, \"delta\": 0.5},\n          \"expectedState\": {\"values\": [0.5, 0]},\n          \"assessment\": {\"violations\": 0, \"metrics\": [\"10.5\"]}\n        },\n        {\n          \"name\": \"Clamp an accepted move to the upper bound\",\n          \"state\": {\"values\": [9.5, 0]},\n          \"movement\": {\"index\": 0, \"delta\": 1},\n          \"expectedState\": {\"values\": [10, 0]},\n          \"assessment\": {\"violations\": 0, \"metrics\": [\"134\"]}\n        },\n        {\n          \"name\": \"Accept a zero coordinate change\",\n          \"state\": {\"values\": [0, 0]},\n          \"movement\": {\"index\": 0, \"delta\": 0},\n          \"expectedState\": {\"values\": [0, 0]},\n          \"assessment\": {\"violations\": 0, \"metrics\": [\"14\"]}\n        },\n        {\n          \"name\": \"Reject an out-of-range coefficient index\",\n          \"state\": {\"values\": [0, 0]},\n          \"movement\": {\"index\": 2, \"delta\": 0.5},\n          \"expectedState\": null\n        }\n      ],\n      \"searches\": [\n        {\n          \"name\": \"One sweep updates both correlated residuals\",\n          \"state\": {\"values\": [0, 0]},\n          \"budget\": {\"iterations\": 1, \"evaluations\": 2},\n          \"expectedState\": {\"values\": [2, 1.5]},\n          \"assessment\": {\"violations\": 0, \"metrics\": [\"1.5\"]},\n          \"requireChange\": true\n        },\n        {\n          \"name\": \"Two sweeps preserve the updated residual cache\",\n          \"state\": {\"values\": [0, 0]},\n          \"budget\": {\"iterations\": 2, \"evaluations\": 4},\n          \"expectedState\": {\"values\": [1.25, 1.875]},\n          \"assessment\": {\"violations\": 0, \"metrics\": [\"0.09375\"]},\n          \"requireChange\": true\n        },\n        {\n          \"name\": \"An exact fit remains unchanged\",\n          \"state\": {\"values\": [1, 2]},\n          \"budget\": {\"iterations\": 2, \"evaluations\": 4},\n          \"expectedState\": {\"values\": [1, 2]},\n          \"assessment\": {\"violations\": 0, \"metrics\": [\"0\"]}\n        }\n      ],\n      \"invalidStates\": [{\"values\": [0]}, {\"values\": [11, 0]}, {\"values\": [0, -11]}]\n    },\n    {\n      \"name\": \"Changed targets with an exact fit at two and minus one\",\n      \"data\": {\"matrix\": [[1, 0], [1, 1], [0, 1]], \"targets\": [2, 1, -1], \"lower\": -10, \"upper\": 10},\n      \"seed\": 42,\n      \"tolerance\": {\"absolute\": 1e-9, \"relative\": 1e-9},\n      \"states\": [\n        {\n          \"name\": \"Zero coefficients use the replacement targets\",\n          \"state\": {\"values\": [0, 0]},\n          \"assessment\": {\"violations\": 0, \"metrics\": [\"6\"]},\n          \"valid\": true,\n          \"outputs\": {\"coefficients\": [0, 0], \"fitted\": [0, 0, 0], \"residuals\": [-2, -1, 1], \"squaredError\": \"6\"}\n        },\n        {\n          \"name\": \"Exact solution for the replacement targets\",\n          \"state\": {\"values\": [2, -1]},\n          \"assessment\": {\"violations\": 0, \"metrics\": [\"0\"]},\n          \"valid\": true,\n          \"outputs\": {\"coefficients\": [2, -1], \"fitted\": [2, 1, -1], \"residuals\": [0, 0, 0], \"squaredError\": \"0\"}\n        },\n        {\n          \"name\": \"Half-unit coordinate move on replacement data\",\n          \"state\": {\"values\": [0.5, 0]},\n          \"assessment\": {\"violations\": 0, \"metrics\": [\"3.5\"]},\n          \"valid\": true,\n          \"outputs\": {\"coefficients\": [0.5, 0], \"fitted\": [0.5, 0.5, 0], \"residuals\": [-1.5, -0.5, 1], \"squaredError\": \"3.5\"}\n        },\n        {\n          \"name\": \"First sweep on replacement data\",\n          \"state\": {\"values\": [1.5, -0.75]},\n          \"assessment\": {\"violations\": 0, \"metrics\": [\"0.375\"]},\n          \"valid\": true,\n          \"outputs\": {\"coefficients\": [1.5, -0.75], \"fitted\": [1.5, 0.75, -0.75], \"residuals\": [-0.5, -0.25, 0.25], \"squaredError\": \"0.375\"}\n        },\n        {\n          \"name\": \"Second sweep on replacement data\",\n          \"state\": {\"values\": [1.875, -0.9375]},\n          \"assessment\": {\"violations\": 0, \"metrics\": [\"0.0234375\"]},\n          \"valid\": true,\n          \"outputs\": {\"coefficients\": [1.875, -0.9375], \"fitted\": [1.875, 0.9375, -0.9375], \"residuals\": [-0.125, -0.0625, 0.0625], \"squaredError\": \"0.0234375\"}\n        }\n      ],\n      \"moves\": [\n        {\n          \"name\": \"The same coordinate move uses the replacement targets\",\n          \"state\": {\"values\": [0, 0]},\n          \"movement\": {\"index\": 0, \"delta\": 0.5},\n          \"expectedState\": {\"values\": [0.5, 0]},\n          \"assessment\": {\"violations\": 0, \"metrics\": [\"3.5\"]}\n        },\n        {\n          \"name\": \"Clamp a move under the replacement targets\",\n          \"state\": {\"values\": [9.5, 0]},\n          \"movement\": {\"index\": 0, \"delta\": 1},\n          \"expectedState\": {\"values\": [10, 0]},\n          \"assessment\": {\"violations\": 0, \"metrics\": [\"146\"]}\n        },\n        {\n          \"name\": \"Reject an out-of-range index on replacement data\",\n          \"state\": {\"values\": [0, 0]},\n          \"movement\": {\"index\": 2, \"delta\": -0.5},\n          \"expectedState\": null\n        }\n      ],\n      \"searches\": [\n        {\n          \"name\": \"One sweep follows the replacement targets\",\n          \"state\": {\"values\": [0, 0]},\n          \"budget\": {\"iterations\": 1, \"evaluations\": 2},\n          \"expectedState\": {\"values\": [1.5, -0.75]},\n          \"assessment\": {\"violations\": 0, \"metrics\": [\"0.375\"]},\n          \"requireChange\": true\n        },\n        {\n          \"name\": \"Two sweeps use fresh residuals for the replacement targets\",\n          \"state\": {\"values\": [0, 0]},\n          \"budget\": {\"iterations\": 2, \"evaluations\": 4},\n          \"expectedState\": {\"values\": [1.875, -0.9375]},\n          \"assessment\": {\"violations\": 0, \"metrics\": [\"0.0234375\"]},\n          \"requireChange\": true\n        },\n        {\n          \"name\": \"The replacement exact fit remains unchanged\",\n          \"state\": {\"values\": [2, -1]},\n          \"budget\": {\"iterations\": 2, \"evaluations\": 4},\n          \"expectedState\": {\"values\": [2, -1]},\n          \"assessment\": {\"violations\": 0, \"metrics\": [\"0\"]}\n        }\n      ],\n      \"invalidStates\": [{\"values\": []}, {\"values\": [-11, 0]}, {\"values\": [0, 11]}]\n    }\n  ]\n}\n"
    },
    {
      "name": "examples/weighted-fit/manifest.json",
      "content": "{\n  \"name\":{\"en\":\"Editable Rust least squares\",\"sk\":\"Upraviteľné najmenšie štvorce v Ruste\"},\n  \"description\":{\"en\":\"Fit real-valued coefficients using your own coordinate search with incrementally updated residuals.\",\"sk\":\"Nájdite reálne koeficienty vlastným súradnicovým vyhľadávaním s priebežne aktualizovanými odchýlkami.\"},\n  \"descriptionContract\":{\"abiVersion\":1,\"id\":\"example.weighted-fit\",\"version\":\"1.0.0\",\"metrics\":[{\"name\":\"squaredError\",\"numericType\":\"f64\",\"direction\":\"minimize\"}],\"families\":[1],\"hooks\":{\"guidance\":false,\"repair\":false,\"recombine\":true,\"pathRelink\":false,\"features\":false}},\n  \"inputSchema\":{\"type\":\"object\",\"additionalProperties\":false,\"required\":[\"matrix\",\"targets\",\"lower\",\"upper\"],\"properties\":{\"matrix\":{\"type\":\"array\"},\"targets\":{\"type\":\"array\"},\"lower\":{\"type\":\"number\"},\"upper\":{\"type\":\"number\"}}},\n  \"defaultData\":{\"matrix\":[[1,0],[1,1],[1,2],[1,3]],\"targets\":[1,3,5,7],\"lower\":-10,\"upper\":10},\n  \"samples\":[],\n  \"presentation\":{\"format\":\"refined.math.outputs\",\"schemaVersion\":1,\"objective\":{\"label\":{\"en\":\"Sum of squared residuals\",\"sk\":\"Súčet štvorcov odchýlok\"},\"unit\":\"\"},\"labels\":{},\"metrics\":[],\"tables\":[{\"id\":\"coefficients\",\"label\":{\"en\":\"Fitted coefficients\",\"sk\":\"Nájdené koeficienty\"},\"source\":[\"get\",\"result\",\"outputs\",\"coefficients\"],\"columns\":[{\"id\":\"coefficient\",\"label\":{\"en\":\"Coefficient\",\"sk\":\"Koeficient\"},\"type\":\"number\",\"value\":[\"add\",[\"rowIndex\"],1]},{\"id\":\"value\",\"label\":{\"en\":\"Value\",\"sk\":\"Hodnota\"},\"type\":\"number\",\"value\":[\"row\"]}]},{\"id\":\"fit\",\"label\":{\"en\":\"Observed and fitted values\",\"sk\":\"Požadované a vypočítané hodnoty\"},\"source\":[\"get\",\"data\",\"targets\"],\"columns\":[{\"id\":\"row\",\"label\":{\"en\":\"Row\",\"sk\":\"Riadok\"},\"type\":\"number\",\"value\":[\"add\",[\"rowIndex\"],1]},{\"id\":\"target\",\"label\":{\"en\":\"Target\",\"sk\":\"Požadované\"},\"type\":\"number\",\"value\":[\"row\"]},{\"id\":\"fitted\",\"label\":{\"en\":\"Fitted\",\"sk\":\"Vypočítané\"},\"type\":\"number\",\"value\":[\"get\",\"result\",\"outputs\",\"fitted\",[\"rowIndex\"]]}]}],\"charts\":[{\"id\":\"fit-chart\",\"label\":{\"en\":\"Fit comparison\",\"sk\":\"Porovnanie hodnôt\"},\"type\":\"line\",\"table\":\"fit\",\"x\":\"row\",\"series\":[\"target\",\"fitted\"]}]}\n}\n"
    },
    {
      "name": "examples/weighted-fit/src/lib.rs",
      "content": "//! Real-valued adapter: coordinate minimization with incrementally updated residuals.\nuse refined_adapter_sdk::*;\nuse serde::{Deserialize, Serialize};\n#[derive(Deserialize)]\n#[serde(deny_unknown_fields)]\nstruct Input {\n    matrix: Vec<Vec<f64>>,\n    targets: Vec<f64>,\n    lower: f64,\n    upper: f64,\n}\n#[derive(Clone, Serialize, Deserialize)]\n#[serde(deny_unknown_fields)]\npub struct Coefficients {\n    pub values: Vec<f64>,\n}\n#[derive(Clone, Serialize, Deserialize)]\npub struct Coordinate {\n    index: usize,\n    delta: f64,\n}\npub struct Fit {\n    input: Input,\n}\nimpl Fit {\n    fn valid(&self, state: &Coefficients) -> bool {\n        state.values.len() == self.input.matrix[0].len()\n            && state\n                .values\n                .iter()\n                .all(|v| v.is_finite() && *v >= self.input.lower && *v <= self.input.upper)\n    }\n    fn residuals(&self, state: &Coefficients) -> Vec<f64> {\n        self.input\n            .matrix\n            .iter()\n            .zip(&self.input.targets)\n            .map(|(row, target)| {\n                row.iter()\n                    .zip(&state.values)\n                    .map(|(a, x)| a * x)\n                    .sum::<f64>()\n                    - target\n            })\n            .collect()\n    }\n}\nimpl Adapter for Fit {\n    type State = Coefficients;\n    type Move = Coordinate;\n    type Edge = usize;\n    fn describe() -> Description {\n        Description {\n            abi_version: 1,\n            id: \"example.weighted-fit\".into(),\n            version: \"1.0.0\".into(),\n            metrics: vec![Metric {\n                name: \"squaredError\".into(),\n                numeric_type: \"f64\".into(),\n                direction: \"minimize\".into(),\n            }],\n            families: vec![1],\n            hooks: Hooks {\n                recombine: true,\n                ..Hooks::default()\n            },\n        }\n    }\n    fn bind(data: Value) -> Result<Self> {\n        let input: Input = serde_json::from_value(data).map_err(|e| e.to_string())?;\n        let columns = input.matrix.first().map_or(0, Vec::len);\n        if !(1..=64).contains(&input.matrix.len())\n            || !(1..=16).contains(&columns)\n            || input.targets.len() != input.matrix.len()\n            || !input.lower.is_finite()\n            || !input.upper.is_finite()\n            || input.lower > input.upper\n            || input.lower.abs() > 1e6\n            || input.upper.abs() > 1e6\n            || input.matrix.iter().any(|row| {\n                row.len() != columns || row.iter().any(|v| !v.is_finite() || v.abs() > 1e6)\n            })\n            || input\n                .targets\n                .iter()\n                .any(|v| !v.is_finite() || v.abs() > 1e6)\n        {\n            return Err(\"Use a finite matrix with 1..64 rows and 1..16 columns, matching targets and ordered bounds within +/-1e6.\".into());\n        }\n        Ok(Self { input })\n    }\n    fn initialize(&mut self, _: u64, _: usize) -> Result<Vec<Coefficients>> {\n        Ok(vec![Coefficients {\n            values: vec![\n                0.0f64.clamp(self.input.lower, self.input.upper);\n                self.input.matrix[0].len()\n            ],\n        }])\n    }\n    fn evaluate(&mut self, state: &Coefficients) -> Result<Assessment> {\n        if !self.valid(state) {\n            return Err(\"Coefficient state violates its representation or bounds.\".into());\n        }\n        let score = self.residuals(state).iter().map(|r| r * r).sum::<f64>();\n        Ok(Assessment {\n            violations: 0,\n            metrics: vec![score.to_string()],\n        })\n    }\n    fn validate(&mut self, state: &Coefficients) -> Result<Validation> {\n        let assessment = self.evaluate(state)?;\n        let residuals = self.residuals(state);\n        Ok(Validation {\n            valid: true,\n            outputs: json!({\"coefficients\":state.values,\"fitted\":residuals.iter().zip(&self.input.targets).map(|(r,t)|r+t).collect::<Vec<_>>(),\"residuals\":residuals,\"squaredError\":assessment.metrics[0]}),\n            assessment,\n        })\n    }\n    fn moves(\n        &mut self,\n        state: &Coefficients,\n        _: Option<&usize>,\n        _: Option<u16>,\n        _: &Context,\n    ) -> Result<Vec<Hint<Coordinate>>> {\n        let mut hints = Vec::new();\n        for i in 0..state.values.len() {\n            for direction in [-1.0, 1.0] {\n                hints.push(Hint {\n                    value: Coordinate {\n                        index: i,\n                        delta: direction * 0.1,\n                    },\n                    priority: 1,\n                    family: 1,\n                    key: (2 * i + usize::from(direction > 0.0)) as u64,\n                });\n            }\n        }\n        Ok(hints)\n    }\n    fn apply(\n        &mut self,\n        state: &Coefficients,\n        movement: &Coordinate,\n        _: &Context,\n    ) -> Result<Option<Coefficients>> {\n        if movement.index >= state.values.len() || !movement.delta.is_finite() {\n            return Ok(None);\n        }\n        let mut next = state.clone();\n        next.values[movement.index] = (next.values[movement.index] + movement.delta)\n            .clamp(self.input.lower, self.input.upper);\n        Ok(Some(next))\n    }\n    fn local_search(\n        &mut self,\n        mut state: Coefficients,\n        budget: &Budget,\n        _: &Context,\n    ) -> Result<SearchResult<Coefficients>> {\n        let mut residuals = self.residuals(&state);\n        let mut evaluations = 0;\n        let mut improvements = 0;\n        'rounds: for _ in 0..budget.iterations {\n            let mut changed = false;\n            for column in 0..state.values.len() {\n                if evaluations >= budget.evaluations {\n                    break 'rounds;\n                }\n                evaluations += 1;\n                let norm = self\n                    .input\n                    .matrix\n                    .iter()\n                    .map(|row| row[column] * row[column])\n                    .sum::<f64>();\n                if norm <= 1e-24 {\n                    continue;\n                }\n                let gradient = self\n                    .input\n                    .matrix\n                    .iter()\n                    .zip(&residuals)\n                    .map(|(row, r)| row[column] * r)\n                    .sum::<f64>();\n                let next = (state.values[column] - gradient / norm)\n                    .clamp(self.input.lower, self.input.upper);\n                let delta = next - state.values[column];\n                if delta.abs() > 1e-12 {\n                    state.values[column] = next;\n                    for (r, row) in residuals.iter_mut().zip(&self.input.matrix) {\n                        *r += row[column] * delta;\n                    }\n                    changed = true;\n                    improvements += 1;\n                }\n            }\n            if !changed {\n                break;\n            }\n        }\n        Ok(SearchResult {\n            state,\n            reported_evaluations: evaluations,\n            reported_improvements: improvements,\n        })\n    }\n    fn perturb(\n        &mut self,\n        mut state: Coefficients,\n        strength: usize,\n        seed: u64,\n        _: &Context,\n    ) -> Result<SearchResult<Coefficients>> {\n        let mut random = Random(seed);\n        for _ in 0..strength.min(32) {\n            let i = random.index(state.values.len());\n            let sign = if random.index(2) == 0 { -1.0 } else { 1.0 };\n            state.values[i] =\n                (state.values[i] + sign * 0.25).clamp(self.input.lower, self.input.upper);\n        }\n        Ok(SearchResult::unchanged(state))\n    }\n    fn recombine(\n        &mut self,\n        left: &Coefficients,\n        right: &Coefficients,\n        limit: usize,\n        _: &Context,\n    ) -> Result<Vec<Coefficients>> {\n        if limit == 0 {\n            return Ok(Vec::new());\n        }\n        Ok(vec![Coefficients {\n            values: left\n                .values\n                .iter()\n                .zip(&right.values)\n                .map(|(a, b)| (a + b) / 2.0)\n                .collect(),\n        }])\n    }\n}\nexport_adapter!(Fit);\n"
    },
    {
      "name": "sdk/Cargo.toml",
      "content": "[package]\nname = \"refined_adapter_sdk\"\nversion = \"1.0.0\"\nedition = \"2021\"\npublish = false\ndescription = \"Public author contract for isolated Refined Math adapter modules; contains no Refined core\"\n\n[dependencies]\nserde = { version = \"1\", features = [\"derive\"] }\nserde_json = \"1\"\n"
    },
    {
      "name": "sdk/src/lib.rs",
      "content": "//! Author-owned algorithms for the Refined Math module ABI.\n//! This crate contains serialization and an adapter interface, not the search core.\nuse serde::{de::DeserializeOwned, Deserialize, Serialize};\npub use serde_json::{json, Value};\n\npub const ABI_VERSION: i32 = 1;\npub type Result<T> = std::result::Result<T, String>;\n\n#[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Eq)]\n#[serde(rename_all = \"camelCase\", deny_unknown_fields)]\npub struct Metric {\n    pub name: String,\n    pub numeric_type: String,\n    pub direction: String,\n}\n\n#[derive(Clone, Debug, Default, Serialize, Deserialize, PartialEq, Eq)]\n#[serde(rename_all = \"camelCase\", deny_unknown_fields)]\npub struct Hooks {\n    #[serde(default)] pub guidance: bool,\n    #[serde(default)] pub repair: bool,\n    #[serde(default)] pub recombine: bool,\n    #[serde(default)] pub path_relink: bool,\n    #[serde(default)] pub features: bool,\n}\n\n#[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Eq)]\n#[serde(rename_all = \"camelCase\", deny_unknown_fields)]\npub struct Description {\n    pub abi_version: u32,\n    pub id: String,\n    pub version: String,\n    pub metrics: Vec<Metric>,\n    pub families: Vec<u16>,\n    pub hooks: Hooks,\n}\n\n#[derive(Clone, Debug, Serialize, Deserialize, PartialEq, Eq)]\n#[serde(rename_all = \"camelCase\", deny_unknown_fields)]\npub struct Assessment {\n    pub violations: u64,\n    /// Exact integers or finite real values encoded as decimal strings.\n    pub metrics: Vec<String>,\n}\n\n#[derive(Clone, Debug, Serialize, Deserialize)]\n#[serde(rename_all = \"camelCase\", deny_unknown_fields)]\npub struct Validation {\n    pub valid: bool,\n    pub assessment: Assessment,\n    pub outputs: Value,\n}\n\n#[derive(Clone, Debug, Default, Serialize, Deserialize)]\n#[serde(rename_all = \"camelCase\", deny_unknown_fields)]\npub struct Context {\n    pub run_index: usize,\n    pub iteration: usize,\n    pub candidate_index: usize,\n    pub stagnation: usize,\n    pub phase: String,\n    pub seed: u64,\n}\n\n#[derive(Clone, Debug, Serialize, Deserialize)]\n#[serde(rename_all = \"camelCase\", deny_unknown_fields)]\npub struct Budget {\n    pub iterations: usize,\n    /// A requested author-side bound. The host separately enforces Wasm fuel.\n    pub evaluations: usize,\n}\n\n#[derive(Clone, Debug, Serialize, Deserialize)]\n#[serde(rename_all = \"camelCase\", deny_unknown_fields)]\npub struct Hint<T> {\n    pub value: T,\n    pub priority: i64,\n    pub family: u16,\n    /// Domain-specific learning identifier, independent of transient addresses.\n    pub key: u64,\n}\n\n#[derive(Clone, Debug, Serialize, Deserialize)]\n#[serde(rename_all = \"camelCase\", deny_unknown_fields)]\npub struct SearchResult<S> {\n    pub state: S,\n    /// Author-reported internal work, distinct from host-checked evaluations.\n    pub reported_evaluations: usize,\n    pub reported_improvements: usize,\n}\nimpl<S> SearchResult<S> {\n    pub fn unchanged(state: S) -> Self {\n        Self { state, reported_evaluations: 0, reported_improvements: 0 }\n    }\n}\n\n/// An adapter owns its representations, operators and complete local-search loop.\n/// Optional hooks are invoked only when declared by `describe`.\n/// Caches can live in `Self`; final validation is performed in a fresh instance.\npub trait Adapter: Sized + Send + 'static {\n    type State: Clone + Serialize + DeserializeOwned;\n    type Move: Clone + Serialize + DeserializeOwned;\n    type Edge: Clone + Serialize + DeserializeOwned;\n    fn describe() -> Description;\n    fn bind(input: Value) -> Result<Self>;\n    fn initialize(&mut self, seed: u64, count: usize) -> Result<Vec<Self::State>>;\n    fn evaluate(&mut self, state: &Self::State) -> Result<Assessment>;\n    fn validate(&mut self, state: &Self::State) -> Result<Validation>;\n    fn guidance(&mut self, _state: &Self::State, _context: &Context) -> Result<Vec<Hint<Self::Edge>>> { Ok(Vec::new()) }\n    fn moves(&mut self, state: &Self::State, edge: Option<&Self::Edge>, family: Option<u16>, context: &Context) -> Result<Vec<Hint<Self::Move>>>;\n    fn apply(&mut self, state: &Self::State, movement: &Self::Move, context: &Context) -> Result<Option<Self::State>>;\n    fn local_search(&mut self, state: Self::State, budget: &Budget, context: &Context) -> Result<SearchResult<Self::State>>;\n    fn perturb(&mut self, state: Self::State, strength: usize, seed: u64, context: &Context) -> Result<SearchResult<Self::State>>;\n    fn repair(&mut self, _state: &Self::State, _limit: usize, _context: &Context) -> Result<Vec<Self::State>> { Ok(Vec::new()) }\n    fn recombine(&mut self, _left: &Self::State, _right: &Self::State, _limit: usize, _context: &Context) -> Result<Vec<Self::State>> { Ok(Vec::new()) }\n    fn path_relink(&mut self, _left: &Self::State, _right: &Self::State, _limit: usize, _context: &Context) -> Result<Vec<Self::State>> { Ok(Vec::new()) }\n    fn features(&mut self, _state: &Self::State) -> Result<Vec<u64>> { Ok(Vec::new()) }\n}\n\nfn decode<T: DeserializeOwned>(value: Value) -> Result<T> { serde_json::from_value(value).map_err(|e| e.to_string()) }\nfn encode<T: Serialize>(value: T) -> Result<Value> { serde_json::to_value(value).map_err(|e| e.to_string()) }\n\n/// Shared protocol machinery, deliberately independent of the Refined engine.\npub fn dispatch<A: Adapter>(bound: &mut Option<A>, operation: u32, request: Value) -> Result<Value> {\n    if operation == 0 { return encode(A::describe()); }\n    if operation == 1 { *bound = Some(A::bind(request[\"data\"].clone())?); return Ok(json!({\"bound\":true})); }\n    let adapter = bound.as_mut().ok_or(\"The adapter is not bound to data.\")?;\n    if operation == 2 { return encode(adapter.initialize(decode(request[\"seed\"].clone())?, decode(request[\"count\"].clone())?)?); }\n    let state: A::State = decode(request[\"state\"].clone())?;\n    if operation == 3 { return encode(adapter.evaluate(&state)?); }\n    if operation == 4 { return encode(adapter.validate(&state)?); }\n    if operation == 12 { return encode(adapter.features(&state)?); }\n    let context: Context = decode(request[\"context\"].clone())?;\n    match operation {\n        5 => encode(adapter.guidance(&state, &context)?),\n        6 => {\n            let edge: Option<A::Edge> = decode(request[\"edge\"].clone())?;\n            encode(adapter.moves(&state, edge.as_ref(), decode(request[\"family\"].clone())?, &context)?)\n        }\n        7 => encode(adapter.apply(&state, &decode(request[\"movement\"].clone())?, &context)?),\n        8 => encode(adapter.local_search(state, &decode(request[\"budget\"].clone())?, &context)?),\n        9 => encode(adapter.perturb(state, decode(request[\"strength\"].clone())?, decode(request[\"seed\"].clone())?, &context)?),\n        10 => encode(adapter.repair(&state, decode(request[\"limit\"].clone())?, &context)?),\n        11 => encode(adapter.recombine(&state, &decode(request[\"other\"].clone())?, decode(request[\"limit\"].clone())?, &context)?),\n        13 => encode(adapter.path_relink(&state, &decode(request[\"other\"].clone())?, decode(request[\"limit\"].clone())?, &context)?),\n        _ => Err(\"Unsupported adapter operation.\".into()),\n    }\n}\n\n/// Export the bounded linear-memory ABI from one cdylib crate.\n/// The memory operations below run inside the guest's isolated memory only.\n#[macro_export]\nmacro_rules! export_adapter {\n    ($adapter:ty) => {\n        static ADAPTER: std::sync::Mutex<Option<$adapter>> = std::sync::Mutex::new(None);\n        #[no_mangle]\n        pub extern \"C\" fn refined_adapter_abi() -> i32 { $crate::ABI_VERSION }\n        #[no_mangle]\n        pub extern \"C\" fn refined_adapter_alloc(length: u32) -> u32 {\n            if length == 0 || length > 1_048_576 { return 0; }\n            Box::into_raw(vec![0u8; length as usize].into_boxed_slice()) as *mut u8 as u32\n        }\n        #[no_mangle]\n        pub unsafe extern \"C\" fn refined_adapter_free(pointer: u32, length: u32) {\n            if pointer != 0 && length != 0 {\n                drop(Box::from_raw(std::ptr::slice_from_raw_parts_mut(pointer as *mut u8, length as usize)));\n            }\n        }\n        #[no_mangle]\n        pub unsafe extern \"C\" fn refined_adapter_call(operation: u32, pointer: u32, length: u32) -> u64 {\n            let response = if pointer == 0 || length == 0 || length > 1_048_576 {\n                Err(\"Invalid request buffer.\".to_string())\n            } else {\n                let bytes = std::slice::from_raw_parts(pointer as *const u8, length as usize);\n                $crate::serde_json::from_slice(bytes).map_err(|e| e.to_string()).and_then(|request| {\n                    let mut bound = ADAPTER.lock().map_err(|_| \"Adapter state is unavailable.\".to_string())?;\n                    $crate::dispatch::<$adapter>(&mut *bound, operation, request)\n                })\n            };\n            let envelope = match response {\n                Ok(value) => $crate::json!({\"ok\":true,\"result\":value}),\n                Err(error) => $crate::json!({\"ok\":false,\"error\":error}),\n            };\n            let bytes = $crate::serde_json::to_vec(&envelope).unwrap_or_default();\n            if bytes.is_empty() || bytes.len() > 1_048_576 { return 0; }\n            let length = bytes.len() as u32;\n            let pointer = Box::into_raw(bytes.into_boxed_slice()) as *mut u8 as u32;\n            ((pointer as u64) << 32) | length as u64\n        }\n    };\n}\n\n#[doc(hidden)]\npub use serde_json;\n\n/// Public deterministic random stream for adapter-owned choices.\n/// This is a SplitMix64 utility, not the core's private learning/search policy.\npub struct Random(pub u64);\nimpl Random {\n    pub fn next_u64(&mut self) -> u64 {\n        self.0 = self.0.wrapping_add(0x9e3779b97f4a7c15);\n        let mut z = self.0;\n        z = (z ^ (z >> 30)).wrapping_mul(0xbf58476d1ce4e5b9);\n        z = (z ^ (z >> 27)).wrapping_mul(0x94d049bb133111eb);\n        z ^ (z >> 31)\n    }\n    pub fn index(&mut self, length: usize) -> usize { if length == 0 { 0 } else { (self.next_u64() % length as u64) as usize } }\n}\n"
    },
    {
      "name": "checker/Cargo.toml",
      "content": "[package]\nname = \"refined_adapter_checker\"\nversion = \"1.0.0\"\nedition = \"2021\"\npublish = false\ndescription = \"Portable, bounded author-fixture checks for compiled adapter modules; no Refined dependency\"\n\n[dependencies]\nrefined_adapter_sdk = { path = \"../sdk\" }\nserde = { version = \"1\", features = [\"derive\"] }\nserde_json = \"1\"\nwasmi = \"=2.0.0\"\nsha2 = \"0.10\"\nbase64 = \"0.22\"\n\n[dev-dependencies]\nwat = \"1\"\n"
    },
    {
      "name": "checker/FIXTURES.md",
      "content": "# Author fixture contract\n\nThe portable checker runs the actual author-built Wasm module through the public adapter ABI. It has no Refined dependency. These fixtures check author evaluation, validation, moves and bounded local-search callbacks. They do not execute a Refined calculation, measure Refined search quality, or turn author validation into a mathematical proof.\n\nThe examples include [QAP fixtures](../examples/qap/fixtures.json) and [least-squares fixtures](../examples/weighted-fit/fixtures.json). Keep expected answers independently calculated from the declared mathematical problem. Do not obtain the only expected score by calling the same module that will be checked.\n\n## Document shape\n\n```json\n{\n  \"format\": \"refined.math.adapter-fixtures\",\n  \"schemaVersion\": 1,\n  \"description\": {\n    \"abiVersion\": 1,\n    \"id\": \"example.adapter\",\n    \"version\": \"1.0.0\",\n    \"metrics\": [{\"name\": \"cost\", \"numericType\": \"i128\", \"direction\": \"minimize\"}],\n    \"families\": [1],\n    \"hooks\": {\"guidance\": false, \"repair\": false, \"recombine\": false, \"pathRelink\": false, \"features\": false}\n  },\n  \"cases\": [{\n    \"name\": \"A named dataset\",\n    \"data\": {},\n    \"seed\": 42,\n    \"states\": [],\n    \"moves\": [],\n    \"searches\": [],\n    \"invalidStates\": []\n  }]\n}\n```\n\n`description` must match the executable description, including metric order, objective directions, operator families and declared optional hooks. It is the same contract as the example manifest's `descriptionContract`. Every case and each entry in `states`, `moves` and `searches` has a descriptive `name`. States, movements and data are ordinary JSON values for the author's representation; they contain no executable expressions or reference-language shortcuts. Unknown fixture fields are rejected.\n\n| Case field | Meaning |\n| --- | --- |\n| `name` | Identifies the dataset and appears in diagnostics. |\n| `data` | Complete input passed to the module's bind operation. |\n| `seed` | Deterministic author-callback seed; use integers representable exactly in the tools producing the JSON. |\n| `tolerance` | Optional finite nonnegative `absolute` and `relative` tolerances for real metrics and numeric values in expected states/outputs. |\n| `states` | Independently known evaluations and validation expectations. |\n| `moves` | Explicit operator transitions and expected accepted/rejected outcomes. |\n| `searches` | Bounded author local-search calls with expected final assessments. |\n| `invalidStates` | Raw JSON states that evaluation or validation must reject. These are not named wrapper records. |\n\nA state fixture has `name`, `state`, `assessment` and `valid`, plus an optional `outputs` object. An assessment has `violations` and a `metrics` array in description order. Expected outputs are a subset of the validation output object; include concrete arrays and values when the result has useful domain meaning.\n\n```json\n{\n  \"name\": \"Known assignment\",\n  \"state\": {\"permutation\": [0, 1]},\n  \"assessment\": {\"violations\": 0, \"metrics\": [\"70\"]},\n  \"valid\": true,\n  \"outputs\": {\"assignment\": [1, 2], \"assignmentCost\": \"70\", \"indexBase\": 1}\n}\n```\n\nA move fixture has `name`, `state`, `movement` and `expectedState`. Use `expectedState: null` only when the operation must reject the move. A valid move may legitimately return the same state. Optional `assessment` checks an accepted result's score against a known value.\n\nA search fixture has `name`, `state`, `budget` and `assessment`. `budget` contains the author's `iterations` and `evaluations` limits. Optional `expectedState` fixes the expected returned representation; optional `requireChange: true` also requires a changed state. Change detection compares numeric state values exactly, independently of reference tolerance: `0` versus `0.0` is not a change, while a genuine small real change still is. A positive improving search case exposes a frozen or replaced operator even when initialization and evaluation still work. A matching final score alone is insufficient when a particular transition is part of the intended algorithm.\n\nThe checker also inspects automatic initialization, generated moves and declared optional-hook results for bounded, well-formed states and compatible assessments. Only listed expected states, transitions and scores provide an independent answer for that behavior. Structural checks on arbitrary generated states do not supply a general mathematical oracle.\n\nInitialization requests three states and accepts one to three. The same seed must reproduce them in a fresh instance. Automatically returned candidates must pass fresh author validation; an explicit state fixture may instead require `valid: false`. Automatic operator probes use a validated initialization seed, so reordering reference states cannot feed an explicitly invalid state into those probes. Contexts use the runtime phase name `Scout`, the case seed and zeroed run/iteration/candidate/stagnation indices. Of at most 256 generated moves, the checker applies only the first eight. Guided-edge proposals are checked for their declared families and bounded shape. Optional candidate hooks are called with a limit of two and may return an empty batch. These sampled checks do not exhaust a neighborhood or establish operator quality. Every initial or repeated data bind must acknowledge exactly `{\"bound\":true}`.\n\nSuites contain 1..16 uniquely named cases. Each case has 1..32 state references, at most 32 move checks, eight local-search checks and eight invalid states. Names are 1..120 bytes; state/movement values are at most 64 KiB and case data at most 100,000 bytes. Local fixture budgets permit at most 1,000 iterations and 10,000 author evaluations. Default absolute and relative tolerances are both `1e-9`; each declared tolerance must lie in `0..0.001`. Exact integer metrics never use tolerance. Fixture files are limited to 1 MiB.\n\nThe standalone interpreter rejects start functions and host imports, limits linear memory to 32 MiB per instance, and meters setup, allocation, callbacks and cleanup. A call may consume at most 50 million fuel units; the complete suite has 500 million. Calls reserve their full allowance before entry, so a suite can finish with unused fuel when the remaining amount cannot fund another complete call. Fresh-instance setup reserves three call allowances. Reports count actual consumed fuel, including failed setup/bind attempts, rather than those reservations. `guestCalls` includes ABI-version, description and binding calls; allocation/free work consumes fuel within those calls.\n\n## Numeric meaning\n\nAll metric values are decimal strings, including `\"70\"` for an exact integer and `\"0.09375\"` for a real value. Use `i128` metrics for exact integer objectives; the checker compares them exactly without converting through a floating-point number. Real metric strings must decode to finite values. Approximate comparisons use the case's explicit tolerances; do not widen tolerances merely to conceal an incorrect algorithm. Nonmetric strings, object keys, array lengths, and Boolean values retain their ordinary JSON meaning. A numeric-looking output string is still a string, so write its expected representation as returned by the author module.\n\nState/metric checks are repeated and compared with validation in a newly instantiated module bound to the same data. Repeated, fresh and validator scores must agree exactly after parsing their numeric type, with signed zero normalized; fixture tolerance applies only to independent expected values. This detects scores that depend on stale guest state or previous callback order, including real-valued drift smaller than the reference tolerance. Separate datasets in one fixture document exercise reuse of the same executable with different input. A fresh instance checks cache independence; it does not make the author's own validator an independent verifier of arbitrary problem semantics.\n\nReported author evaluations describe internal work. They differ from checker evaluations and private host counters. A perturbation may change a state while reporting zero scored evaluations. Do not infer that a zero-work report means the returned state is unchanged.\n\n## Independent QAP calculation\n\nFor a zero-based permutation `p`, calculate the complete directed objective\n\n```text\nC(p) = sum_i sum_j flow[i][j] * distance[p[i]][p[j]].\n```\n\nInclude both directions and diagonal terms. The first fixture uses\n\n```text\nflow     = [[1, 2], [3, 4]]\ndistance = [[5, 6], [7, 8]]\nC([0,1]) = 1*5 + 2*6 + 3*7 + 4*8 = 70\nC([1,0]) = 1*8 + 2*7 + 3*6 + 4*5 = 60\n```\n\nThere are only two valid permutations, so this enumerates the full domain. One improving swap takes the initial identity to cost 60. Replacing distance with `[[8,7],[6,5]]` reverses the two costs: identity costs 60 and the swapped assignment costs 70. The same representation therefore has different checked scores under the two inputs. The author's exported assignment uses one-based locations, while its internal permutation is zero-based.\n\nThe example's `frozen-operators` feature keeps evaluation and initialization but disables moves, application, local search, perturbation and recombination. It must fail the active fixture's improving transition/search expectations. A different module digest or successful instantiation alone does not demonstrate a changed algorithm.\n\n## Independent least-squares calculation\n\nBoth datasets use\n\n```text\nA = [[1,0], [1,1], [0,1]], bounds [-10,10].\nr(x,y) = [x-t0, x+y-t1, y-t2]\nSSE(x,y) = (x-t0)^2 + (x+y-t1)^2 + (y-t2)^2.\n```\n\nThe example is ordinary squared-residual minimization; there is no separate row-weight input. The correlated columns exercise incremental residual maintenance across coordinate updates. For one coordinate sweep, first minimize in `x` holding `y` fixed, then minimize in `y` using the newly updated `x`:\n\n```text\nx_next = clamp((t0 + t1 - y) / 2, lower, upper)\ny_next = clamp((t1 + t2 - x_next) / 2, lower, upper).\n```\n\nEach complete sweep consumes two author evaluations for this two-column input. The fixture uses one sweep with budget `{iterations:1,evaluations:2}` and two sweeps with `{iterations:2,evaluations:4}`.\n\n| Targets | Initial state / SSE | First sweep / SSE | Second sweep / SSE | Exact zero-residual state |\n| --- | --- | --- | --- | --- |\n| `[1,3,2]` | `[0,0]` / 14 | `[2,1.5]` / 1.5 | `[1.25,1.875]` / 0.09375 | `[1,2]` |\n| `[2,1,-1]` | `[0,0]` / 6 | `[1.5,-0.75]` / 0.375 | `[1.875,-0.9375]` / 0.0234375 | `[2,-1]` |\n\nAll coordinates and scores in this table are dyadic and exactly representable in binary floating point. The explicit half-unit move from `[0,0]` to `[0.5,0]` has SSE 10.5 for the first dataset and 3.5 for the second. Clamping a move from `[9.5,0]` by `+1` returns `[10,0]`, with SSE 134 and 146 respectively. Bounds or dimension violations must be rejected even if a residual could otherwise be computed.\n\nThe independently calculated zero residual establishes these tiny examples' minimum because a sum of squares is nonnegative. The checker still reports author-module behavior and fixture checks; it does not report a private Refined optimum certificate or a general theorem about other datasets.\n"
    },
    {
      "name": "checker/src/guest.rs",
      "content": "//! Standalone execution of an author's compiled module through the public SDK ABI.\n//! This module has no dependency on the Refined engine or the application host.\n\nuse refined_adapter_sdk::Description;\nuse serde_json::{json, Value};\nuse sha2::{Digest, Sha256};\nuse std::collections::BTreeSet;\nuse wasmi::{Config, Engine, Linker, Memory, Store, StoreLimits, StoreLimitsBuilder, TypedFunc};\n\npub const MAX_MODULE_BYTES: usize = 512 * 1024;\npub const MAX_MESSAGE_BYTES: usize = 128 * 1024;\npub const MAX_CALL_FUEL: u64 = 50_000_000;\npub const MAX_GUEST_FUEL: u64 = 500_000_000;\nconst MAX_ERROR_CHARS: usize = 1000;\n\nfn message(text: impl AsRef<str>) -> String {\n    text.as_ref().chars().take(MAX_ERROR_CHARS).collect()\n}\n\nfn operation_error(operation: u32, stage: &str, error: impl std::fmt::Display) -> String {\n    message(format!(\"Operation {operation}: {stage}: {error}\"))\n}\n\nfn check_description(description: &Description) -> Result<(), String> {\n    let token = |text: &str, limit: usize| {\n        !text.is_empty()\n            && text.len() <= limit\n            && text.bytes().all(|byte| byte.is_ascii_alphanumeric() || b\"_.-\".contains(&byte))\n    };\n    if description.abi_version != 1 {\n        return Err(\"Description.abiVersion must be 1.\".into());\n    }\n    if !token(&description.id, 96) || !token(&description.version, 64) {\n        return Err(\"Description id/version must be bounded ASCII letters, digits, underscores, dots or hyphens.\".into());\n    }\n    if !(1..=8).contains(&description.metrics.len()) {\n        return Err(\"Description.metrics must contain one to eight objectives.\".into());\n    }\n    let mut names = BTreeSet::new();\n    for (index, metric) in description.metrics.iter().enumerate() {\n        if !token(&metric.name, 64) || !names.insert(&metric.name) {\n            return Err(format!(\"Description.metrics[{index}].name must be a unique bounded ASCII token.\"));\n        }\n        if !matches!(metric.numeric_type.as_str(), \"i128\" | \"f64\") {\n            return Err(format!(\"Description.metrics[{index}].numericType must be i128 or f64.\"));\n        }\n        if !matches!(metric.direction.as_str(), \"minimize\" | \"maximize\") {\n            return Err(format!(\"Description.metrics[{index}].direction must be minimize or maximize.\"));\n        }\n    }\n    if !(1..=32).contains(&description.families.len())\n        || description.families.iter().collect::<BTreeSet<_>>().len() != description.families.len()\n    {\n        return Err(\"Description.families must contain one to 32 distinct u16 identifiers.\".into());\n    }\n    Ok(())\n}\n\n/// The digest identifies the exact original bytes executed by this checker.\npub struct Module {\n    pub description: Description,\n    pub digest: String,\n    engine: Engine,\n    compiled: wasmi::Module,\n}\n\nimpl Module {\n    pub fn from_bytes(bytes: &[u8], expected: Description) -> Result<Self, String> {\n        check_description(&expected)?;\n        if bytes.len() > MAX_MODULE_BYTES || !bytes.starts_with(b\"\\0asm\\x01\\0\\0\\0\") {\n            return Err(\"Expected an unmodified WebAssembly v1 module of at most 512 KiB.\".into());\n        }\n        let mut configuration = Config::default();\n        configuration.consume_fuel(true).allow_start_fn(false);\n        let engine = Engine::new(&configuration);\n        let compiled = wasmi::Module::new(&engine, bytes)\n            .map_err(|error| message(format!(\"Cannot validate module (start functions are forbidden): {error}\")))?;\n        if compiled.imports().next().is_some() {\n            return Err(\"Module imports are forbidden, including WASI, filesystem and host services.\".into());\n        }\n        Ok(Self {\n            description: expected,\n            digest: format!(\"{:x}\", Sha256::digest(bytes)),\n            engine,\n            compiled,\n        })\n    }\n\n    /// Instantiate the original executable with fresh state and independent limits.\n    #[cfg(test)]\n    pub fn open(&self, data: &Value) -> Result<Guest, String> {\n        self.open_metered(data, &mut (0, 0))\n    }\n\n    /// Return actual setup/admission work even when no usable instance is returned.\n    /// Calls count ABI-version and protocol attempts; allocation/free consume fuel.\n    pub fn open_metered(&self, data: &Value, usage: &mut (u64, u64)) -> Result<Guest, String> {\n        *usage = (0, 0);\n        let limits = StoreLimitsBuilder::new()\n            .memory_size(32 * 1024 * 1024)\n            .table_elements(8192)\n            .memories(1)\n            .tables(1)\n            .instances(1)\n            .trap_on_grow_failure(true)\n            .build();\n        let mut store = Store::new(&self.engine, limits);\n        store.limiter(|limits| limits);\n        store.set_fuel(MAX_CALL_FUEL).map_err(|error| message(format!(\"Cannot meter module setup: {error}\")))?;\n        let mut setup_calls = 0;\n        let exports: Result<_, String> = (|| {\n            let linker = Linker::<StoreLimits>::new(&self.engine);\n            let instance = linker.instantiate_and_start(&mut store, &self.compiled)\n                .map_err(|error| message(format!(\"Cannot instantiate module within its memory/table limits: {error}\")))?;\n            let memory = instance.get_memory(&store, \"memory\")\n                .ok_or_else(|| \"The module must export its linear memory as memory.\".to_string())?;\n            let abi = instance.get_typed_func::<(), i32>(&store, \"refined_adapter_abi\")\n                .map_err(|error| message(format!(\"ABI export must have signature () -> i32: {error}\")))?;\n            setup_calls += 1;\n            let version = abi.call(&mut store, ())\n                .map_err(|error| message(format!(\"ABI version call failed within the setup allowance: {error}\")))?;\n            if version != 1 {\n                return Err(\"The executable ABI version must be 1.\".into());\n            }\n            let allocate = instance.get_typed_func::<i32, i32>(&store, \"refined_adapter_alloc\")\n                .map_err(|error| message(format!(\"Allocation export must have signature (i32) -> i32: {error}\")))?;\n            let release = instance.get_typed_func::<(i32, i32), ()>(&store, \"refined_adapter_free\")\n                .map_err(|error| message(format!(\"Release export must have signature (i32, i32) -> (): {error}\")))?;\n            let invoke = instance.get_typed_func::<(i32, i32, i32), i64>(&store, \"refined_adapter_call\")\n                .map_err(|error| message(format!(\"Call export must have signature (i32, i32, i32) -> i64: {error}\")))?;\n            Ok((memory, allocate, release, invoke))\n        })();\n        let setup_fuel = MAX_CALL_FUEL.saturating_sub(store.get_fuel().unwrap_or(0));\n        *usage = (setup_fuel, setup_calls);\n        let (memory, allocate, release, invoke) = exports?;\n        let mut guest = Guest {\n            store,\n            memory,\n            allocate,\n            release,\n            invoke,\n            fuel_used: setup_fuel,\n            calls: setup_calls,\n        };\n        let admission: Result<(), String> = (|| {\n            let actual: Description = serde_json::from_value(guest.call(0, &json!({}))?)\n                .map_err(|error| message(format!(\"Operation 0 returned an invalid executable description: {error}\")))?;\n            check_description(&actual)?;\n            if actual != self.description {\n                return Err(\"The executable description does not exactly match the fixture or package description.\".into());\n            }\n            let binding = guest.call(1, &json!({\"data\": data}))?;\n            if binding != json!({\"bound\": true}) {\n                return Err(\"Operation 1 must acknowledge data binding with {\\\"bound\\\":true}.\".into());\n            }\n            Ok(())\n        })();\n        *usage = (guest.fuel_used(), guest.calls());\n        admission?;\n        Ok(guest)\n    }\n}\n\n/// One isolated adapter instance. All guest calls, including cleanup, consume fuel.\npub struct Guest {\n    store: Store<StoreLimits>,\n    memory: Memory,\n    allocate: TypedFunc<i32, i32>,\n    release: TypedFunc<(i32, i32), ()>,\n    invoke: TypedFunc<(i32, i32, i32), i64>,\n    fuel_used: u64,\n    calls: u64,\n}\n\nimpl Guest {\n    pub fn fuel_used(&self) -> u64 { self.fuel_used }\n    pub fn calls(&self) -> u64 { self.calls }\n\n    pub fn call(&mut self, operation: u32, request: &Value) -> Result<Value, String> {\n        let bytes = serde_json::to_vec(request)\n            .map_err(|error| operation_error(operation, \"cannot serialize request\", error))?;\n        if bytes.is_empty() || bytes.len() > MAX_MESSAGE_BYTES {\n            return Err(format!(\"Operation {operation}: request exceeds the 128 KiB message limit.\"));\n        }\n        let allowance = MAX_CALL_FUEL.min(MAX_GUEST_FUEL.saturating_sub(self.fuel_used));\n        if allowance == 0 {\n            return Err(format!(\"Operation {operation}: the instance's 500 million fuel allowance is exhausted.\"));\n        }\n        self.store.set_fuel(allowance)\n            .map_err(|error| operation_error(operation, \"cannot set fuel allowance\", error))?;\n        self.calls += 1;\n        let result = self.exchange(operation, &bytes);\n        let remaining = self.store.get_fuel().unwrap_or(0);\n        self.fuel_used = self.fuel_used.saturating_add(allowance.saturating_sub(remaining));\n        result\n    }\n\n    fn exchange(&mut self, operation: u32, bytes: &[u8]) -> Result<Value, String> {\n        let pointer = self.allocate.call(&mut self.store, bytes.len() as i32)\n            .map_err(|error| operation_error(operation, \"allocation trapped or exhausted fuel\", error))?;\n        let start = pointer as u32 as usize;\n        let input_end = start.checked_add(bytes.len())\n            .filter(|end| start != 0 && *end <= self.memory.data(&self.store).len())\n            .ok_or_else(|| format!(\"Operation {operation}: allocator returned an invalid request span.\"))?;\n        let mut response_allocation = None;\n        let result = (|| {\n            self.memory.write(&mut self.store, start, bytes)\n                .map_err(|error| operation_error(operation, \"cannot write request memory\", error))?;\n            let packed = self.invoke.call(&mut self.store, (operation as i32, pointer, bytes.len() as i32))\n                .map_err(|error| operation_error(operation, \"guest call trapped or exhausted fuel\", error))? as u64;\n            let response_start = (packed >> 32) as usize;\n            let response_length = (packed & u64::from(u32::MAX)) as usize;\n            let response_end = response_start.checked_add(response_length)\n                .ok_or_else(|| format!(\"Operation {operation}: response address overflow.\"))?;\n            if response_start == 0 || response_length == 0 || response_length > MAX_MESSAGE_BYTES\n                || response_end > self.memory.data(&self.store).len()\n                || (response_start < input_end && start < response_end)\n            {\n                return Err(format!(\"Operation {operation}: response span is outside memory, overlaps its request or exceeds 128 KiB.\"));\n            }\n            response_allocation = Some((response_start as u32 as i32, response_length as i32));\n            let mut output = vec![0; response_length];\n            self.memory.read(&self.store, response_start, &mut output)\n                .map_err(|error| operation_error(operation, \"cannot read response memory\", error))?;\n            let envelope: Value = serde_json::from_slice(&output)\n                .map_err(|error| operation_error(operation, \"response is not valid UTF-8 JSON\", error))?;\n            let fields = envelope.as_object()\n                .ok_or_else(|| format!(\"Operation {operation}: response envelope must be an object.\"))?;\n            match fields.get(\"ok\") {\n                Some(Value::Bool(true)) if fields.len() == 2 && fields.contains_key(\"result\") => {\n                    Ok(fields[\"result\"].clone())\n                }\n                Some(Value::Bool(false)) if fields.len() == 2 && fields.get(\"error\").is_some_and(Value::is_string) => {\n                    Err(message(format!(\"AUTHOR_REJECTED: operation {operation}: {}\", fields[\"error\"].as_str().unwrap_or_default())))\n                }\n                _ => Err(format!(\"Operation {operation}: response must contain exactly ok/result or ok/error with a string error.\")),\n            }\n        })();\n        // Release only spans whose bounds and exclusive ownership were checked.\n        // A trap can prevent cleanup; dropping this isolated store releases its memory.\n        let response_cleanup = response_allocation.and_then(|span| self.release.call(&mut self.store, span).err());\n        let request_cleanup = self.release.call(&mut self.store, (pointer, bytes.len() as i32)).err();\n        if let Some(error) = response_cleanup.or(request_cleanup) {\n            // A cleanup trap must never masquerade as an expected author rejection.\n            return Err(operation_error(operation, \"buffer cleanup trapped or exhausted fuel\", error));\n        }\n        result\n    }\n}\n\n#[cfg(test)]\nmod tests {\n    use super::*;\n\n    fn description() -> Description {\n        serde_json::from_value(json!({\n            \"abiVersion\": 1, \"id\": \"checker.fixture\", \"version\": \"1.0.0\",\n            \"metrics\": [{\"name\": \"cost\", \"numericType\": \"i128\", \"direction\": \"minimize\"}],\n            \"families\": [1], \"hooks\": {}\n        })).unwrap()\n    }\n\n    fn escaped(bytes: &[u8]) -> String {\n        bytes.iter().map(|byte| format!(\"\\\\{byte:02x}\")).collect()\n    }\n\n    fn module_with(response: &str, default_call: Option<&str>, free: &str, pages: usize) -> Vec<u8> {\n        let description = serde_json::to_vec(&json!({\"ok\": true, \"result\": description()})).unwrap();\n        let binding = br#\"{\"ok\":true,\"result\":{\"bound\":true}}\"#;\n        let result = ((4096_u64 << 32) | response.len() as u64).to_string();\n        let default_call = default_call.map(str::to_owned).unwrap_or_else(|| format!(\"i64.const {result}\"));\n        wat::parse_str(format!(r#\"(module\n            (memory (export \"memory\") {pages})\n            (data (i32.const 1024) \"{}\")\n            (data (i32.const 2048) \"{}\")\n            (data (i32.const 4096) \"{}\")\n            (func (export \"refined_adapter_abi\") (result i32) i32.const 1)\n            (func (export \"refined_adapter_alloc\") (param i32) (result i32) i32.const 64)\n            (func (export \"refined_adapter_free\") (param i32 i32) {free})\n            (func (export \"refined_adapter_call\") (param $operation i32) (param i32 i32) (result i64)\n                local.get $operation i32.eqz\n                if (result i64) i64.const {}\n                else local.get $operation i32.const 1 i32.eq\n                    if (result i64) i64.const {}\n                    else {default_call} end\n                end))\"#,\n            escaped(&description), escaped(binding), escaped(response.as_bytes()),\n            (1024_u64 << 32) | description.len() as u64,\n            (2048_u64 << 32) | binding.len() as u64,\n        )).unwrap()\n    }\n\n    fn module(response: &str) -> Module {\n        Module::from_bytes(&module_with(response, None, \"\", 1), description()).unwrap()\n    }\n\n    #[test]\n    fn executes_original_bytes_and_frees_both_buffers() {\n        let free = \"i32.const 16 i32.const 16 i32.load i32.const 1 i32.add i32.store\";\n        let bytes = module_with(r#\"{\"ok\":true,\"result\":{\"violations\":0,\"metrics\":[\"7\"]}}\"#, None, free, 1);\n        let compiled = Module::from_bytes(&bytes, description()).unwrap();\n        assert_eq!(compiled.digest, format!(\"{:x}\", Sha256::digest(&bytes)));\n        let mut guest = compiled.open(&json!({})).unwrap();\n        assert_eq!(guest.calls(), 3);\n        let setup_fuel = guest.fuel_used();\n        assert!(setup_fuel > 0);\n        assert_eq!(guest.call(3, &json!({\"state\": [0]})).unwrap(), json!({\"violations\": 0, \"metrics\": [\"7\"]}));\n        assert_eq!(guest.calls(), 4);\n        assert!(guest.fuel_used() > setup_fuel);\n        let mut released = [0; 4];\n        guest.memory.read(&guest.store, 16, &mut released).unwrap();\n        assert_eq!(u32::from_le_bytes(released), 6);\n    }\n\n    #[test]\n    fn distinguishes_author_rejection_from_protocol_failures() {\n        let mut rejected = module(r#\"{\"ok\":false,\"error\":\"Invalid permutation.\"}\"#).open(&json!({})).unwrap();\n        assert!(rejected.call(3, &json!({})).unwrap_err().starts_with(\"AUTHOR_REJECTED: \"));\n        for response in [r#\"{\"ok\":false,\"error\":7}\"#, r#\"{\"ok\":true,\"result\":0,\"extra\":0}\"#, \"invalid JSON\"] {\n            let mut guest = module(response).open(&json!({})).unwrap();\n            assert!(!guest.call(3, &json!({})).unwrap_err().starts_with(\"AUTHOR_REJECTED: \"));\n        }\n    }\n\n    #[test]\n    fn rejects_imports_start_functions_and_large_modules() {\n        for source in [\n            r#\"(module (import \"env\" \"read\" (func)))\"#,\n            r#\"(module (func $start) (start $start))\"#,\n        ] {\n            let bytes = wat::parse_str(source).unwrap();\n            assert!(Module::from_bytes(&bytes, description()).is_err());\n        }\n        assert!(Module::from_bytes(&vec![0; MAX_MODULE_BYTES + 1], description()).is_err());\n    }\n\n    #[test]\n    fn limits_memory_and_checks_exact_description() {\n        let too_large = Module::from_bytes(&module_with(r#\"{\"ok\":true,\"result\":0}\"#, None, \"\", 513), description()).unwrap();\n        assert!(too_large.open(&json!({})).is_err());\n        let mut different = description();\n        different.id = \"another.adapter\".into();\n        let bytes = module_with(r#\"{\"ok\":true,\"result\":0}\"#, None, \"\", 1);\n        let mismatch = Module::from_bytes(&bytes, different).unwrap();\n        assert!(mismatch.open(&json!({})).err().unwrap().contains(\"exactly match\"));\n    }\n\n    #[test]\n    fn rejects_overlapping_and_out_of_bounds_response_spans() {\n        for packed in [(64_u64 << 32) | 2, (65_530_u64 << 32) | 20, (4096_u64 << 32) | (MAX_MESSAGE_BYTES as u64 + 1)] {\n            let instruction = format!(\"i64.const {packed}\");\n            let compiled = Module::from_bytes(&module_with(\"{}\", Some(&instruction), \"\", 1), description()).unwrap();\n            let mut guest = compiled.open(&json!({})).unwrap();\n            assert!(guest.call(3, &json!({})).unwrap_err().contains(\"response span\"));\n        }\n    }\n\n    #[test]\n    fn bounds_instruction_exhaustion_and_aggregate_fuel() {\n        let forever = \"(loop $forever br $forever) i64.const 0\";\n        let compiled = Module::from_bytes(&module_with(\"{}\", Some(forever), \"\", 1), description()).unwrap();\n        let mut guest = compiled.open(&json!({})).unwrap();\n        let before = guest.fuel_used();\n        let error = guest.call(3, &json!({})).unwrap_err();\n        assert!(!error.starts_with(\"AUTHOR_REJECTED: \"));\n        assert!(guest.fuel_used() - before <= MAX_CALL_FUEL);\n        assert!(guest.fuel_used() > before);\n        guest.fuel_used = MAX_GUEST_FUEL - 4;\n        assert!(guest.call(3, &json!({})).is_err());\n        assert!(guest.fuel_used() <= MAX_GUEST_FUEL);\n    }\n\n    #[test]\n    fn rejects_invalid_description_and_oversized_requests() {\n        let bytes = module_with(r#\"{\"ok\":true,\"result\":0}\"#, None, \"\", 1);\n        let mut invalid = description();\n        invalid.metrics.push(invalid.metrics[0].clone());\n        assert!(Module::from_bytes(&bytes, invalid).is_err());\n        let mut guest = Module::from_bytes(&bytes, description()).unwrap().open(&json!({})).unwrap();\n        let calls = guest.calls();\n        assert!(guest.call(3, &json!({\"text\": \"x\".repeat(MAX_MESSAGE_BYTES)})).is_err());\n        assert_eq!(guest.calls(), calls);\n    }\n\n    #[test]\n    fn refuses_memory_growth_and_excessive_table_capacity() {\n        let growth = \"i32.const 512 memory.grow drop i64.const 0\";\n        let compiled = Module::from_bytes(&module_with(\"{}\", Some(growth), \"\", 1), description()).unwrap();\n        let mut guest = compiled.open(&json!({})).unwrap();\n        assert!(guest.call(3, &json!({})).is_err());\n        assert!(guest.memory.data(&guest.store).len() <= 32 * 1024 * 1024);\n        let oversized = wat::parse_str(r#\"(module (memory (export \"memory\") 1) (table 8193 funcref))\"#).unwrap();\n        let compiled = Module::from_bytes(&oversized, description()).unwrap();\n        assert!(compiled.open(&json!({})).err().unwrap().contains(\"limits\"));\n    }\n\n    #[test]\n    fn checks_abi_signature_and_meters_version_execution() {\n        for body in [\"(result i64) i64.const 1\", \"(result i32) (loop $forever br $forever) i32.const 1\"] {\n            let bytes = wat::parse_str(format!(r#\"(module\n                (memory (export \"memory\") 1)\n                (func (export \"refined_adapter_abi\") {body}))\"#)).unwrap();\n            let compiled = Module::from_bytes(&bytes, description()).unwrap();\n            assert!(compiled.open(&json!({})).is_err());\n        }\n    }\n\n    #[test]\n    fn cleanup_failure_is_not_an_expected_author_rejection() {\n        let free = \"local.get 0 i32.const 4096 i32.eq if unreachable end\";\n        let bytes = module_with(r#\"{\"ok\":false,\"error\":\"Invalid state.\"}\"#, None, free, 1);\n        let compiled = Module::from_bytes(&bytes, description()).unwrap();\n        let mut guest = compiled.open(&json!({})).unwrap();\n        let error = guest.call(3, &json!({})).unwrap_err();\n        assert!(error.contains(\"cleanup\"));\n        assert!(!error.starts_with(\"AUTHOR_REJECTED: \"));\n    }\n\n    #[test]\n    fn records_actual_usage_for_successful_and_failed_open() {\n        let compiled = module(r#\"{\"ok\":true,\"result\":0}\"#);\n        let mut usage = (u64::MAX, u64::MAX);\n        let guest = compiled.open_metered(&json!({}), &mut usage).unwrap();\n        assert_eq!(usage, (guest.fuel_used(), guest.calls()));\n        assert_eq!(usage.1, 3);\n        assert!(usage.0 > 0 && usage.0 < MAX_CALL_FUEL);\n\n        let mut different = description();\n        different.id = \"different.description\".into();\n        let bytes = module_with(r#\"{\"ok\":true,\"result\":0}\"#, None, \"\", 1);\n        let mismatch = Module::from_bytes(&bytes, different).unwrap();\n        assert!(mismatch.open_metered(&json!({}), &mut usage).is_err());\n        assert_eq!(usage.1, 2);\n        assert!(usage.0 > 0 && usage.0 < MAX_CALL_FUEL);\n\n        let bytes = wat::parse_str(r#\"(module\n            (memory (export \"memory\") 1)\n            (func (export \"refined_adapter_abi\") (result i32)\n                (loop $forever br $forever) i32.const 1))\"#).unwrap();\n        let trapping = Module::from_bytes(&bytes, description()).unwrap();\n        assert!(trapping.open_metered(&json!({}), &mut usage).is_err());\n        assert_eq!(usage.1, 1);\n        assert!(usage.0 > 0 && usage.0 <= MAX_CALL_FUEL);\n    }\n\n    #[test]\n    fn charges_failed_binding_without_treating_reservation_as_spent_fuel() {\n        let describe = serde_json::to_vec(&json!({\"ok\": true, \"result\": description()})).unwrap();\n        let rejection = br#\"{\"ok\":false,\"error\":\"The input is invalid.\"}\"#;\n        let bytes = wat::parse_str(format!(r#\"(module\n            (memory (export \"memory\") 1)\n            (data (i32.const 1024) \"{}\")\n            (data (i32.const 2048) \"{}\")\n            (func (export \"refined_adapter_abi\") (result i32) i32.const 1)\n            (func (export \"refined_adapter_alloc\") (param i32) (result i32) i32.const 64)\n            (func (export \"refined_adapter_free\") (param i32 i32))\n            (func (export \"refined_adapter_call\") (param $op i32) (param i32 i32) (result i64)\n                local.get $op i32.eqz\n                if (result i64) i64.const {}\n                else i64.const {} end))\"#,\n            escaped(&describe), escaped(rejection),\n            (1024_u64 << 32) | describe.len() as u64,\n            (2048_u64 << 32) | rejection.len() as u64,\n        )).unwrap();\n        let compiled = Module::from_bytes(&bytes, description()).unwrap();\n        let mut usage = (0, 0);\n        let error = compiled.open_metered(&json!({}), &mut usage).err().unwrap();\n        assert!(error.starts_with(\"AUTHOR_REJECTED: \"));\n        assert_eq!(usage.1, 3);\n        assert!(usage.0 > 0 && usage.0 < MAX_CALL_FUEL);\n    }\n}\n"
    },
    {
      "name": "checker/src/lib.rs",
      "content": "//! Bounded, declarative conformance fixtures. This is not a search engine.\nmod guest;\n\nuse guest::{Guest, Module};\nuse refined_adapter_sdk::{Assessment, Budget, Description, Hint, SearchResult, Validation};\nuse serde::{Deserialize, Serialize};\nuse serde_json::{json, Value};\nuse std::collections::BTreeSet;\n\nconst CALL_FUEL: u64 = 50_000_000;\nconst SUITE_FUEL: u64 = 500_000_000;\n\n#[derive(Clone, Copy, Deserialize)]\n#[serde(deny_unknown_fields)]\npub struct Tolerance { pub absolute: f64, pub relative: f64 }\nimpl Default for Tolerance {\n    fn default() -> Self { Self { absolute: 1e-9, relative: 1e-9 } }\n}\n\n#[derive(Deserialize)]\n#[serde(rename_all = \"camelCase\", deny_unknown_fields)]\npub struct Suite {\n    pub format: String,\n    pub schema_version: u32,\n    pub description: Description,\n    pub cases: Vec<Case>,\n}\n\n#[derive(Deserialize)]\n#[serde(rename_all = \"camelCase\", deny_unknown_fields)]\npub struct Case {\n    pub name: String,\n    pub data: Value,\n    #[serde(default = \"default_seed\")] pub seed: u64,\n    #[serde(default)] pub tolerance: Tolerance,\n    pub states: Vec<StateFixture>,\n    #[serde(default)] pub moves: Vec<MoveFixture>,\n    #[serde(default)] pub searches: Vec<SearchFixture>,\n    #[serde(default)] pub invalid_states: Vec<Value>,\n}\nfn default_seed() -> u64 { 42 }\n\n#[derive(Deserialize)]\n#[serde(deny_unknown_fields)]\npub struct StateFixture {\n    pub name: String,\n    pub state: Value,\n    pub assessment: Assessment,\n    pub valid: bool,\n    #[serde(default)] pub outputs: Option<Value>,\n}\n\n#[derive(Deserialize)]\n#[serde(rename_all = \"camelCase\", deny_unknown_fields)]\npub struct MoveFixture {\n    pub name: String,\n    pub state: Value,\n    pub movement: Value,\n    pub expected_state: Value,\n    #[serde(default)] pub assessment: Option<Assessment>,\n}\n\n#[derive(Deserialize)]\n#[serde(rename_all = \"camelCase\", deny_unknown_fields)]\npub struct SearchFixture {\n    pub name: String,\n    pub state: Value,\n    pub budget: Budget,\n    #[serde(default)] pub expected_state: Option<Value>,\n    pub assessment: Assessment,\n    #[serde(default)] pub require_change: bool,\n}\n\n#[derive(Serialize)]\n#[serde(rename_all = \"camelCase\")]\npub struct CaseReport {\n    name: String,\n    ok: bool,\n    checks: usize,\n    #[serde(skip_serializing_if = \"Option::is_none\")] error: Option<String>,\n}\n\npub struct Report {\n    module_digest: String,\n    adapter_id: String,\n    cases: Vec<CaseReport>,\n    meter: Meter,\n}\nimpl Report {\n    pub fn to_json(&self) -> Value {\n        json!({\"format\":\"refined.math.adapter-check-report\", \"schemaVersion\":1,\n            \"ok\":self.cases.iter().all(|case| case.ok), \"coreUsed\":false,\n            \"evidence\":\"author_fixture_checks\", \"moduleDigest\":self.module_digest,\n            \"adapterId\":self.adapter_id, \"cases\":self.cases,\n            \"checks\":self.meter.checks, \"guestCalls\":self.meter.calls, \"fuelUsed\":self.meter.fuel,\n            \"limits\":{\"suiteFuel\":SUITE_FUEL,\"callFuel\":CALL_FUEL,\"memoryBytesPerInstance\":33_554_432},\n            \"note\":\"Fixture assertions and fresh author validation; no Refined search or independent mathematical proof.\"})\n    }\n}\n\n#[derive(Default)]\nstruct Meter { fuel: u64, calls: u64, checks: usize }\nimpl Meter {\n    fn reserve(&self, allowance: u64) -> Result<(), String> {\n        if self.fuel.saturating_add(allowance) > SUITE_FUEL {\n            Err(\"The bounded checker suite fuel allowance is exhausted; use fewer or smaller fixtures.\".into())\n        } else { Ok(()) }\n    }\n    fn open(&mut self, module: &Module, data: &Value) -> Result<Guest, String> {\n        // Opening includes the ABI, description and bind calls, before any fixture.\n        self.reserve(3 * CALL_FUEL)?;\n        let mut usage = (0, 0);\n        let result = module.open_metered(data, &mut usage);\n        self.fuel += usage.0;\n        self.calls += usage.1;\n        result\n    }\n    fn call(&mut self, guest: &mut Guest, operation: u32, request: Value) -> Result<Value, String> {\n        self.reserve(CALL_FUEL)?;\n        let before_fuel = guest.fuel_used();\n        let before_calls = guest.calls();\n        let result = guest.call(operation, &request);\n        self.fuel += guest.fuel_used().saturating_sub(before_fuel);\n        self.calls += guest.calls().saturating_sub(before_calls);\n        result.map_err(|error| format!(\"operation {operation}: {error}\"))\n    }\n}\n\nfn ensure(condition: bool, message: impl Into<String>) -> Result<(), String> {\n    if condition { Ok(()) } else { Err(message.into()) }\n}\n\nfn bounded(value: &Value, limit: usize, label: &str) -> Result<(), String> {\n    ensure(!value.is_null() && serde_json::to_vec(value).map_err(|e| e.to_string())?.len() <= limit,\n        format!(\"{label} must be non-null and at most {limit} bytes.\"))\n}\n\nfn validate_assessment(score: &Assessment, description: &Description) -> Result<(), String> {\n    ensure(score.violations <= 1_000_000_000 && score.metrics.len() == description.metrics.len(), \"Invalid violations or metric count.\")?;\n    for (value, metric) in score.metrics.iter().zip(&description.metrics) {\n        ensure(!value.is_empty() && value.len() <= 64, \"Metrics must be bounded decimal strings.\")?;\n        match metric.numeric_type.as_str() {\n            \"i128\" => { value.parse::<i128>().map_err(|_| format!(\"{} is not an exact i128 value: {value}\", metric.name))?; }\n            \"f64\" => { ensure(value.parse::<f64>().is_ok_and(|v| v.is_finite()), format!(\"{} is not finite: {value}\", metric.name))?; }\n            _ => return Err(\"Unknown metric numeric type.\".into()),\n        }\n    }\n    Ok(())\n}\n\nfn near(left: f64, right: f64, tolerance: Tolerance) -> bool {\n    left.is_finite() && right.is_finite()\n        && (left - right).abs() <= tolerance.absolute + tolerance.relative * left.abs().max(right.abs())\n}\n\nfn compare_score(actual: &Assessment, expected: &Assessment, description: &Description, tolerance: Tolerance) -> Result<(), String> {\n    validate_assessment(actual, description)?;\n    validate_assessment(expected, description)?;\n    ensure(actual.violations == expected.violations, format!(\"violations: expected {}, got {}\", expected.violations, actual.violations))?;\n    for ((left, right), metric) in actual.metrics.iter().zip(&expected.metrics).zip(&description.metrics) {\n        let equal = if metric.numeric_type == \"i128\" {\n            left.parse::<i128>().unwrap() == right.parse::<i128>().unwrap()\n        } else { near(left.parse().unwrap(), right.parse().unwrap(), tolerance) };\n        ensure(equal, format!(\"metric {}: expected {right}, got {left}\", metric.name))?;\n    }\n    Ok(())\n}\n\n/// Compare states exactly, except finite real numbers use the declared tolerance.\n/// Output objects can be asserted by subset; states never use subset matching.\nfn compare_value(actual: &Value, expected: &Value, tolerance: Tolerance, subset: bool) -> bool {\n    match (actual, expected) {\n        (Value::Number(a), Value::Number(b)) => {\n            if !a.is_f64() && !b.is_f64() { return a.to_string().parse::<i128>().ok() == b.to_string().parse::<i128>().ok(); }\n            if a.is_f64() != b.is_f64() {\n                let (integer, real) = if a.is_f64() { (b, a) } else { (a, b) };\n                let integer = integer.to_string().parse::<i128>().unwrap();\n                let real = real.as_f64().unwrap();\n                // Exact representable integers remain equal across JSON encodings,\n                // while a rounded neighboring large integer must never compare equal.\n                if real.is_finite() && real.fract() == 0.0 && real >= i128::MIN as f64 && real < i128::MAX as f64 && real as i128 == integer { return true; }\n                if integer.unsigned_abs() > 9_007_199_254_740_991 { return false; }\n            }\n            a.as_f64().zip(b.as_f64()).is_some_and(|(a,b)| near(a,b,tolerance))\n        }\n        (Value::Array(a), Value::Array(b)) => a.len() == b.len() && a.iter().zip(b).all(|(a,b)| compare_value(a,b,tolerance,subset)),\n        (Value::Object(a), Value::Object(b)) => (subset || a.len() == b.len()) && b.iter().all(|(key,b)| a.get(key).is_some_and(|a| compare_value(a,b,tolerance,subset))),\n        _ => actual == expected,\n    }\n}\n\nfn assessment(value: Value, description: &Description) -> Result<Assessment, String> {\n    let result: Assessment = serde_json::from_value(value).map_err(|e| format!(\"Invalid assessment: {e}\"))?;\n    validate_assessment(&result, description)?;\n    Ok(result)\n}\n\nfn candidate(module: &Module, guest: &mut Guest, case: &Case, state: &Value, expected: Option<&Assessment>, valid: Option<bool>, outputs: Option<&Value>, meter: &mut Meter) -> Result<(), String> {\n    bounded(state, 65_536, \"Decision state\")?;\n    let score = assessment(meter.call(guest, 3, json!({\"state\":state}))?, &module.description)?;\n    let repeated = assessment(meter.call(guest, 3, json!({\"state\":state}))?, &module.description)?;\n    // Tolerance belongs to independent references, never to an adapter's own\n    // repeated/fresh score consistency. Signed zero compares as normalized zero.\n    let consistency = Tolerance { absolute: 0.0, relative: 0.0 };\n    compare_score(&repeated, &score, &module.description, consistency)?;\n    if let Some(expected) = expected { compare_score(&score, expected, &module.description, case.tolerance)?; }\n    let mut fresh = meter.open(module, &case.data)?;\n    let recomputed = assessment(meter.call(&mut fresh, 3, json!({\"state\":state}))?, &module.description)?;\n    compare_score(&recomputed, &score, &module.description, consistency)?;\n    let validated: Validation = serde_json::from_value(meter.call(&mut fresh, 4, json!({\"state\":state}))?)\n        .map_err(|e| format!(\"Invalid validation response: {e}\"))?;\n    compare_score(&validated.assessment, &score, &module.description, consistency)?;\n    ensure(validated.outputs.is_object(), \"Validation outputs must be an object.\")?;\n    let expected_valid = valid.unwrap_or(true);\n    ensure(validated.valid == expected_valid, format!(\"author validity: expected {expected_valid}, got {}\", validated.valid))?;\n    if let Some(expected) = outputs {\n        ensure(compare_value(&validated.outputs, expected, case.tolerance, true), format!(\"validation outputs differ: expected {expected}, got {}\", validated.outputs))?;\n    }\n    meter.checks += 1;\n    Ok(())\n}\n\nfn hints(value: Value, description: &Description) -> Result<Vec<Hint<Value>>, String> {\n    let hints: Vec<Hint<Value>> = serde_json::from_value(value).map_err(|e| format!(\"Invalid hints: {e}\"))?;\n    ensure(hints.len() <= 256 && hints.iter().all(|h| description.families.contains(&h.family)), \"Hints exceed 256 entries or use an undeclared family.\")?;\n    Ok(hints)\n}\n\nfn run_case(module: &Module, case: &Case, meter: &mut Meter) -> Result<(), String> {\n    let mut guest = meter.open(module, &case.data)?;\n    let context = json!({\"runIndex\":0,\"iteration\":0,\"candidateIndex\":0,\"stagnation\":0,\"phase\":\"Scout\",\"seed\":case.seed});\n    let initialized = meter.call(&mut guest, 2, json!({\"seed\":case.seed,\"count\":3}))?;\n    let seeds = initialized.as_array().filter(|v| !v.is_empty() && v.len() <= 3).ok_or(\"Initialization must return 1..3 states.\")?;\n    let mut repeated = meter.open(module, &case.data)?;\n    let again = meter.call(&mut repeated, 2, json!({\"seed\":case.seed,\"count\":3}))?;\n    ensure(initialized == again, \"Initialization differs between fresh instances using the same seed.\")?;\n    drop(repeated);\n    for state in seeds { candidate(module, &mut guest, case, state, None, None, None, meter)?; }\n    for fixture in &case.states {\n        candidate(module, &mut guest, case, &fixture.state, Some(&fixture.assessment), Some(fixture.valid), fixture.outputs.as_ref(), meter)\n            .map_err(|e| format!(\"states/{}: {e}\", fixture.name))?;\n    }\n    for fixture in &case.moves {\n        let next = meter.call(&mut guest, 7, json!({\"state\":fixture.state,\"movement\":fixture.movement,\"context\":context}))?;\n        ensure(compare_value(&next, &fixture.expected_state, case.tolerance, false), format!(\"moves/{}: expected state {}, got {next}\", fixture.name, fixture.expected_state))?;\n        if !next.is_null() {\n            candidate(module, &mut guest, case, &next, fixture.assessment.as_ref(), None, None, meter).map_err(|e| format!(\"moves/{}: {e}\", fixture.name))?;\n        }\n        meter.checks += 1;\n    }\n    for fixture in &case.searches {\n        let result: SearchResult<Value> = serde_json::from_value(meter.call(&mut guest, 8, json!({\"state\":fixture.state,\"budget\":fixture.budget,\"context\":context}))?)\n            .map_err(|e| format!(\"searches/{}: invalid local-search result: {e}\", fixture.name))?;\n        ensure(result.reported_evaluations <= fixture.budget.evaluations && result.reported_improvements <= result.reported_evaluations,\n            format!(\"searches/{}: reported work exceeds the fixture budget or improvements exceed evaluations\", fixture.name))?;\n        if fixture.require_change {\n            let exact = Tolerance { absolute: 0.0, relative: 0.0 };\n            ensure(!compare_value(&result.state, &fixture.state, exact, false), format!(\"searches/{}: the required operator change did not occur\", fixture.name))?;\n        }\n        if let Some(expected) = &fixture.expected_state {\n            ensure(compare_value(&result.state, expected, case.tolerance, false), format!(\"searches/{}: expected state {expected}, got {}\", fixture.name, result.state))?;\n        }\n        candidate(module, &mut guest, case, &result.state, Some(&fixture.assessment), None, None, meter).map_err(|e| format!(\"searches/{}: {e}\", fixture.name))?;\n    }\n    // Automatic operators need a valid input, regardless of reference ordering.\n    // Every initialization seed has already passed fresh author validation.\n    let state = &seeds[0];\n    let offered = hints(meter.call(&mut guest, 6, json!({\"state\":state,\"edge\":null,\"family\":null,\"context\":context}))?, &module.description)?;\n    for hint in offered.iter().take(8) {\n        let next = meter.call(&mut guest, 7, json!({\"state\":state,\"movement\":hint.value,\"context\":context}))?;\n        if !next.is_null() { candidate(module, &mut guest, case, &next, None, None, None, meter)?; }\n    }\n    if module.description.hooks.guidance {\n        let guided = hints(meter.call(&mut guest, 5, json!({\"state\":state,\"context\":context}))?, &module.description)?;\n        if let Some(edge) = guided.first() {\n            hints(meter.call(&mut guest, 6, json!({\"state\":state,\"edge\":edge.value,\"family\":edge.family,\"context\":context}))?, &module.description)?;\n        }\n    }\n    if module.description.hooks.features {\n        let features: Vec<u64> = serde_json::from_value(meter.call(&mut guest, 12, json!({\"state\":state}))?).map_err(|e| format!(\"Invalid features: {e}\"))?;\n        ensure(features.len() <= 256, \"Too many stable features.\")?;\n        ensure(meter.call(&mut guest, 12, json!({\"state\":state}))? == json!(features), \"Stable features changed for the same state.\")?;\n    }\n    let perturbed: SearchResult<Value> = serde_json::from_value(meter.call(&mut guest, 9, json!({\"state\":state,\"strength\":1,\"seed\":case.seed,\"context\":context}))?)\n        .map_err(|e| format!(\"Invalid perturbation: {e}\"))?;\n    ensure(perturbed.reported_evaluations <= 1_000_000_000 && perturbed.reported_improvements <= perturbed.reported_evaluations, \"Invalid perturbation work counters.\")?;\n    candidate(module, &mut guest, case, &perturbed.state, None, None, None, meter)?;\n    for (operation, enabled) in [(10,module.description.hooks.repair),(11,module.description.hooks.recombine),(13,module.description.hooks.path_relink)] {\n        if !enabled { continue; }\n        let batch = meter.call(&mut guest, operation, json!({\"state\":state,\"other\":seeds[0],\"limit\":2,\"context\":context}))?;\n        let states = batch.as_array().filter(|v| v.len() <= 2).ok_or(\"Invalid optional-hook batch; requested at most two candidates.\")?;\n        for next in states { candidate(module, &mut guest, case, next, None, None, None, meter)?; }\n        meter.checks += 1;\n    }\n    for invalid in &case.invalid_states {\n        let evaluated = meter.call(&mut guest, 3, json!({\"state\":invalid}));\n        if let Err(error) = &evaluated {\n            ensure(error.contains(\": AUTHOR_REJECTED: \"), format!(\"Invalid state trapped instead of being rejected: {error}\"))?;\n        } else {\n            assessment(evaluated.unwrap(), &module.description)?;\n            match meter.call(&mut guest, 4, json!({\"state\":invalid})) {\n                Err(error) => ensure(error.contains(\": AUTHOR_REJECTED: \"), format!(\"Invalid-state validation trapped: {error}\"))?,\n                Ok(result) => {\n                    let checked: Validation = serde_json::from_value(result).map_err(|e| format!(\"Invalid rejection response: {e}\"))?;\n                    ensure(!checked.valid, \"An invalid-state fixture was accepted as valid.\")?;\n                }\n            }\n        }\n        meter.checks += 1;\n    }\n    // Revisit a known state after the other operations to detect cache pollution.\n    let first = &case.states[0];\n    candidate(module, &mut guest, case, &first.state, Some(&first.assessment), Some(first.valid), first.outputs.as_ref(), meter)?;\n    Ok(())\n}\n\nfn validate_suite(suite: &Suite) -> Result<(), String> {\n    ensure(suite.format == \"refined.math.adapter-fixtures\" && suite.schema_version == 1, \"Expected refined.math.adapter-fixtures v1.\")?;\n    ensure(!suite.cases.is_empty() && suite.cases.len() <= 16, \"A suite needs 1..16 small cases.\")?;\n    let mut names = BTreeSet::new();\n    for case in &suite.cases {\n        ensure(!case.name.is_empty() && case.name.len() <= 120 && names.insert(&case.name), \"Cases need unique names of 1..120 bytes.\")?;\n        ensure(!case.states.is_empty() && case.states.len() <= 32 && case.moves.len() <= 32 && case.searches.len() <= 8 && case.invalid_states.len() <= 8, \"Case fixture counts exceed their limits.\")?;\n        ensure([case.tolerance.absolute,case.tolerance.relative].iter().all(|v| v.is_finite() && (0.0..=0.001).contains(v)), \"Tolerances must be finite and within 0..0.001.\")?;\n        bounded(&case.data, 100_000, \"Case data\")?;\n        let mut labels = BTreeSet::new();\n        for (category, name) in case.states.iter().map(|f| (\"states\",&f.name)).chain(case.moves.iter().map(|f| (\"moves\",&f.name))).chain(case.searches.iter().map(|f| (\"searches\",&f.name))) {\n            ensure(!name.is_empty() && name.len() <= 120 && labels.insert((category,name)), \"Fixtures need unique names per category, each 1..120 bytes.\")?;\n        }\n        for fixture in &case.states {\n            bounded(&fixture.state,65_536,\"Fixture state\")?;\n            validate_assessment(&fixture.assessment,&suite.description)?;\n            if let Some(outputs) = &fixture.outputs { ensure(outputs.is_object(), \"Expected outputs must be an object subset.\")?; }\n        }\n        for fixture in &case.moves {\n            bounded(&fixture.state,65_536,\"Move input state\")?;\n            bounded(&fixture.movement,65_536,\"Movement\")?;\n            if !fixture.expected_state.is_null() { bounded(&fixture.expected_state,65_536,\"Expected move state\")?; }\n            ensure(!fixture.expected_state.is_null() || fixture.assessment.is_none(), \"A rejected move cannot have an expected assessment.\")?;\n            if let Some(score) = &fixture.assessment { validate_assessment(score,&suite.description)?; }\n        }\n        for fixture in &case.searches {\n            bounded(&fixture.state,65_536,\"Local-search input state\")?;\n            if let Some(expected) = &fixture.expected_state { bounded(expected,65_536,\"Expected local-search state\")?; }\n            ensure(fixture.budget.iterations <= 1_000 && fixture.budget.evaluations <= 10_000, \"Local fixture budgets are at most 1,000 iterations and 10,000 evaluations.\")?;\n            validate_assessment(&fixture.assessment,&suite.description)?;\n        }\n        for invalid in &case.invalid_states { bounded(invalid,65_536,\"Invalid-state fixture\")?; }\n    }\n    Ok(())\n}\n\npub fn check(bytes: &[u8], suite: &Suite) -> Result<Report, String> {\n    validate_suite(suite)?;\n    let module = Module::from_bytes(bytes, suite.description.clone())?;\n    let mut meter = Meter::default();\n    let mut cases = Vec::new();\n    for case in &suite.cases {\n        let before = meter.checks;\n        let result = run_case(&module, case, &mut meter);\n        cases.push(CaseReport { name:case.name.clone(), ok:result.is_ok(), checks:meter.checks-before, error:result.err().map(|error| error.chars().take(2000).collect()) });\n    }\n    let before = meter.checks;\n    let rebinding = (|| -> Result<(), String> {\n        let mut guest = meter.open(&module, &suite.cases[0].data)?;\n        for case in suite.cases.iter().chain(std::iter::once(&suite.cases[0])) {\n            let binding = meter.call(&mut guest,1,json!({\"data\":case.data}))?;\n            ensure(binding == json!({\"bound\":true}), \"Rebinding must acknowledge data binding with {\\\"bound\\\":true}.\")?;\n            let first = &case.states[0];\n            candidate(&module,&mut guest,case,&first.state,Some(&first.assessment),Some(first.valid),first.outputs.as_ref(),&mut meter)\n                .map_err(|e| format!(\"{}: {e}\",case.name))?;\n        }\n        Ok(())\n    })();\n    cases.push(CaseReport {name:\"data-rebinding\".into(),ok:rebinding.is_ok(),checks:meter.checks-before,error:rebinding.err().map(|error| error.chars().take(2000).collect())});\n    Ok(Report {module_digest:module.digest, adapter_id:module.description.id, cases, meter})\n}\n\n#[cfg(test)]\nmod tests {\n    use super::*;\n    fn description(numeric_type: &str) -> Description {\n        serde_json::from_value(json!({\"abiVersion\":1,\"id\":\"test.example\",\"version\":\"1\",\"metrics\":[{\"name\":\"cost\",\"numericType\":numeric_type,\"direction\":\"minimize\"}],\"families\":[1],\"hooks\":{}})).unwrap()\n    }\n    fn score(value: &str) -> Assessment { Assessment {violations:0,metrics:vec![value.into()]} }\n    #[test]\n    fn integer_reference_checks_do_not_round_through_f64() {\n        let spec=description(\"i128\");\n        assert!(compare_score(&score(\"9007199254740993\"),&score(\"9007199254740992\"),&spec,Tolerance::default()).is_err());\n        assert!(compare_score(&score(&i128::MAX.to_string()),&score(&i128::MAX.to_string()),&spec,Tolerance::default()).is_ok());\n        assert!(validate_assessment(&score(\"170141183460469231731687303715884105728\"),&spec).is_err());\n    }\n    #[test]\n    fn real_checks_use_explicit_finite_tolerance() {\n        let spec=description(\"f64\");\n        assert!(compare_score(&score(\"0.0000000001\"),&score(\"0\"),&spec,Tolerance::default()).is_ok());\n        let consistency=Tolerance {absolute:0.0,relative:0.0};\n        assert!(compare_score(&score(\"0.0000000001\"),&score(\"0\"),&spec,consistency).is_err());\n        assert!(compare_score(&score(\"-0\"),&score(\"0\"),&spec,consistency).is_ok());\n        assert!(compare_score(&score(\"0.0001\"),&score(\"0\"),&spec,Tolerance::default()).is_err());\n        for value in [\"NaN\",\"inf\",\"-inf\",\"1e999\"] { assert!(validate_assessment(&score(value),&spec).is_err()); }\n    }\n    #[test]\n    fn output_subsets_do_not_weaken_state_assertions() {\n        let actual=json!({\"values\":[1.0,2.0],\"extra\":true});\n        let expected=json!({\"values\":[1,2]});\n        assert!(compare_value(&actual,&expected,Tolerance::default(),true));\n        assert!(!compare_value(&actual,&expected,Tolerance::default(),false));\n        assert!(!compare_value(&json!(9007199254740993u64),&json!(9007199254740992u64),Tolerance::default(),true));\n        assert!(compare_value(&json!(9007199254740992u64),&json!(9007199254740992.0f64),Tolerance::default(),false));\n        assert!(!compare_value(&json!(9007199254740993u64),&json!(9007199254740992.0f64),Tolerance::default(),false));\n    }\n    #[test]\n    fn malformed_and_empty_fixture_suites_are_rejected() {\n        let empty=Suite {format:\"refined.math.adapter-fixtures\".into(),schema_version:1,description:description(\"i128\"),cases:vec![]};\n        assert!(validate_suite(&empty).is_err());\n        assert!(serde_json::from_value::<Suite>(json!({\"format\":\"refined.math.adapter-fixtures\",\"schemaVersion\":1,\"description\":description(\"i128\"),\"cases\":[],\"script\":\"unavailable\"})).is_err());\n    }\n\n    #[derive(Default)]\n    struct ProbeBehavior {\n        reject_invalid_moves: bool,\n        floating_noop: bool,\n        tiny_change: bool,\n        invalid_rebinding: bool,\n        require_scout: bool,\n    }\n\n    /// A complete ABI guest with small known states. Its callbacks expose the\n    /// reviewed failures through actual guest requests, not private helpers.\n    fn probe_module(behavior: ProbeBehavior) -> Vec<u8> {\n        let mut segments = String::new();\n        let mut offset = 4096_u64;\n        let mut response = |value: Value| {\n            let bytes = serde_json::to_vec(&value).unwrap();\n            let escaped: String = bytes.iter().map(|byte| format!(\"\\\\{byte:02x}\")).collect();\n            segments.push_str(&format!(\"(data (i32.const {offset}) \\\"{escaped}\\\")\\n\"));\n            let instruction = format!(\"i64.const {}\", (offset << 32) | bytes.len() as u64);\n            offset += 1024;\n            instruction\n        };\n        let describe = response(json!({\"ok\":true,\"result\":description(\"i128\")}));\n        let bound = response(json!({\"ok\":true,\"result\":{\"bound\":true}}));\n        let unbound = response(json!({\"ok\":true,\"result\":{\"bound\":false}}));\n        let initial = response(json!({\"ok\":true,\"result\":[{\"x\":0}]}));\n        let zero_score = response(json!({\"ok\":true,\"result\":score(\"0\")}));\n        let one_score = response(json!({\"ok\":true,\"result\":score(\"1\")}));\n        let valid = response(json!({\"ok\":true,\"result\":{\"valid\":true,\"assessment\":score(\"0\"),\"outputs\":{}}}));\n        let invalid = response(json!({\"ok\":true,\"result\":{\"valid\":false,\"assessment\":score(\"1\"),\"outputs\":{}}}));\n        let moves = response(json!({\"ok\":true,\"result\":[{\"value\":0,\"priority\":1,\"family\":1,\"key\":1}]}));\n        let applied = response(json!({\"ok\":true,\"result\":{\"x\":0}}));\n        let unchanged = response(json!({\"ok\":true,\"result\":{\"state\":{\"x\":0},\"reportedEvaluations\":0,\"reportedImprovements\":0}}));\n        let search_state = if behavior.tiny_change { json!({\"x\":1e-10}) }\n            else if behavior.floating_noop { json!({\"x\":0.0}) } else { json!({\"x\":0}) };\n        let searched = response(json!({\"ok\":true,\"result\":{\"state\":search_state,\"reportedEvaluations\":0,\"reportedImprovements\":0}}));\n        let rejected = response(json!({\"ok\":false,\"error\":\"The callback input is invalid.\"}));\n        let binding = if behavior.invalid_rebinding {\n            format!(\"global.get $bindings i32.const 1 i32.gt_u if (result i64) {unbound} else {bound} end\")\n        } else { bound };\n        let invalid_move = if behavior.reject_invalid_moves {\n            format!(\"local.get $pointer local.get $length i32.const 60000 i32.const 6 call $contains if {rejected} return end\")\n        } else { String::new() };\n        let phase_check = if behavior.require_scout {\n            format!(\"local.get $pointer local.get $length i32.const 60016 i32.const 5 call $contains i32.eqz if {rejected} return end\")\n        } else { String::new() };\n        wat::parse_str(format!(r#\"(module\n            (memory (export \"memory\") 1)\n            (global $bindings (mut i32) (i32.const 0))\n            {segments}\n            (data (i32.const 60000) \"\\22x\\22:1}}\")\n            (data (i32.const 60016) \"Scout\")\n            (func $contains (param $start i32) (param $length i32) (param $needle i32) (param $size i32) (result i32)\n                (local $at i32) (local $matched i32)\n                (block $missing\n                    (loop $scan\n                        local.get $at local.get $size i32.add local.get $length i32.gt_u br_if $missing\n                        i32.const 0 local.set $matched\n                        (block $different\n                            (loop $bytes\n                                local.get $matched local.get $size i32.ge_u\n                                if i32.const 1 return end\n                                local.get $start local.get $at i32.add local.get $matched i32.add i32.load8_u\n                                local.get $needle local.get $matched i32.add i32.load8_u\n                                i32.ne br_if $different\n                                local.get $matched i32.const 1 i32.add local.set $matched\n                                br $bytes))\n                        local.get $at i32.const 1 i32.add local.set $at\n                        br $scan))\n                i32.const 0)\n            (func (export \"refined_adapter_abi\") (result i32) i32.const 1)\n            (func (export \"refined_adapter_alloc\") (param i32) (result i32) i32.const 64)\n            (func (export \"refined_adapter_free\") (param i32 i32))\n            (func (export \"refined_adapter_call\") (param $operation i32) (param $pointer i32) (param $length i32) (result i64)\n                local.get $operation i32.eqz if {describe} return end\n                local.get $operation i32.const 1 i32.eq\n                if\n                    global.get $bindings i32.const 1 i32.add global.set $bindings\n                    {binding} return\n                end\n                local.get $operation i32.const 2 i32.eq if {initial} return end\n                local.get $operation i32.const 3 i32.eq\n                if\n                    local.get $pointer local.get $length i32.const 60000 i32.const 6 call $contains\n                    if (result i64) {one_score} else {zero_score} end return\n                end\n                local.get $operation i32.const 4 i32.eq\n                if\n                    local.get $pointer local.get $length i32.const 60000 i32.const 6 call $contains\n                    if (result i64) {invalid} else {valid} end return\n                end\n                local.get $operation i32.const 6 i32.ge_u\n                local.get $operation i32.const 9 i32.le_u i32.and\n                if {phase_check} end\n                local.get $operation i32.const 6 i32.eq if {invalid_move} {moves} return end\n                local.get $operation i32.const 7 i32.eq if {applied} return end\n                local.get $operation i32.const 8 i32.eq if {searched} return end\n                local.get $operation i32.const 9 i32.eq if {unchanged} return end\n                {rejected}))\"#)).unwrap()\n    }\n\n    fn probe_suite() -> Suite {\n        serde_json::from_value(json!({\n            \"format\":\"refined.math.adapter-fixtures\",\"schemaVersion\":1,\n            \"description\":description(\"i128\"),\n            \"cases\":[{\"name\":\"probe\",\"data\":{},\"states\":[{\n                \"name\":\"valid zero\",\"state\":{\"x\":0},\"assessment\":score(\"0\"),\"valid\":true\n            }]}]\n        })).unwrap()\n    }\n\n    fn unchanged_search(require_change: bool) -> SearchFixture {\n        SearchFixture {\n            name:\"numeric change\".into(), state:json!({\"x\":0}),\n            budget:Budget {iterations:1,evaluations:1}, expected_state:None,\n            assessment:score(\"0\"), require_change,\n        }\n    }\n\n    #[test]\n    fn required_change_rejects_integer_to_float_serialization_of_a_noop() {\n        let mut suite = probe_suite();\n        suite.cases[0].searches.push(unchanged_search(true));\n        let bytes = probe_module(ProbeBehavior {floating_noop:true,..Default::default()});\n        let report = check(&bytes,&suite).unwrap().to_json();\n        assert_eq!(report[\"ok\"],false);\n        assert!(report[\"cases\"][0][\"error\"].as_str().unwrap().contains(\"required operator change did not occur\"));\n        assert_eq!(report[\"cases\"][1][\"ok\"],true);\n    }\n\n    #[test]\n    fn required_change_preserves_real_changes_smaller_than_reference_tolerance() {\n        let mut suite = probe_suite();\n        suite.cases[0].searches.push(unchanged_search(true));\n        let bytes = probe_module(ProbeBehavior {tiny_change:true,..Default::default()});\n        let report = check(&bytes,&suite).unwrap().to_json();\n        assert_eq!(report[\"ok\"],true,\"{report}\");\n    }\n\n    #[test]\n    fn automatic_operators_use_valid_seeds_when_an_invalid_reference_comes_first() {\n        let mut suite = probe_suite();\n        suite.cases[0].states.insert(0,StateFixture {\n            name:\"explicit invalid one\".into(),state:json!({\"x\":1}),assessment:score(\"1\"),\n            valid:false,outputs:None,\n        });\n        let bytes = probe_module(ProbeBehavior {reject_invalid_moves:true,..Default::default()});\n        let report = check(&bytes,&suite).unwrap().to_json();\n        assert_eq!(report[\"ok\"],true,\"{report}\");\n        assert!(report[\"cases\"].as_array().unwrap().iter().all(|case| case[\"checks\"].as_u64().unwrap() > 0));\n    }\n\n    #[test]\n    fn later_bindings_must_acknowledge_the_same_protocol_as_initial_binding() {\n        let bytes = probe_module(ProbeBehavior {invalid_rebinding:true,..Default::default()});\n        let report = check(&bytes,&probe_suite()).unwrap().to_json();\n        assert_eq!(report[\"cases\"][0][\"ok\"],true,\"{report}\");\n        assert_eq!(report[\"cases\"][1][\"name\"],\"data-rebinding\");\n        assert_eq!(report[\"cases\"][1][\"ok\"],false);\n        assert!(report[\"cases\"][1][\"error\"].as_str().unwrap().contains(\"Rebinding must acknowledge\"));\n        assert_eq!(report[\"ok\"],false);\n    }\n\n    #[test]\n    fn author_callbacks_receive_the_runtime_scout_phase() {\n        let mut suite = probe_suite();\n        suite.cases[0].searches.push(unchanged_search(false));\n        let bytes = probe_module(ProbeBehavior {require_scout:true,..Default::default()});\n        let report = check(&bytes,&suite).unwrap().to_json();\n        assert_eq!(report[\"ok\"],true,\"{report}\");\n    }\n}\n"
    },
    {
      "name": "checker/src/main.rs",
      "content": "//! Run author fixtures against an actual module, without loading the Refined core.\nuse base64::{engine::general_purpose::STANDARD, Engine};\nuse refined_adapter_checker::{check, Suite};\nuse refined_adapter_sdk::Description;\nuse serde::Deserialize;\nuse serde_json::{json, Value};\nuse sha2::{Digest, Sha256};\nuse std::{fs::File, io::{self, Read, Write}, path::Path};\n\n#[derive(Deserialize)]\n#[serde(rename_all = \"camelCase\", deny_unknown_fields)]\nstruct Executable {\n    module_base64: String,\n    module_digest: String,\n    description: Description,\n}\n\nfn read_bounded(path: &Path, limit: u64) -> Result<Vec<u8>, String> {\n    let mut bytes = Vec::new();\n    File::open(path).map_err(|e| format!(\"Cannot open {}: {e}\", path.display()))?\n        .take(limit + 1).read_to_end(&mut bytes).map_err(|e| e.to_string())?;\n    if bytes.len() as u64 > limit { return Err(format!(\"{} exceeds {limit} bytes.\", path.display())); }\n    Ok(bytes)\n}\n\nfn execute(arguments: &[String]) -> Result<Value, String> {\n    if arguments.len() != 2 {\n        return Err(\"Usage: refined_adapter_checker MODULE.wasm|PACKAGE.adapter.json FIXTURES.json\".into());\n    }\n    let fixtures = read_bounded(Path::new(&arguments[1]), 1_048_576)?;\n    let suite: Suite = serde_json::from_slice(&fixtures).map_err(|e| format!(\"Invalid fixture document: {e}\"))?;\n    let source = read_bounded(Path::new(&arguments[0]), 4 * 1024 * 1024)?;\n    let bytes = if source.starts_with(b\"\\0asm\\x01\\0\\0\\0\") {\n        source\n    } else {\n        let package: Value = serde_json::from_slice(&source).map_err(|e| format!(\"Expected a Wasm module or adapter package: {e}\"))?;\n        if package[\"format\"] != \"refined.math.wasm-adapter\" || package[\"schemaVersion\"] != 1 {\n            return Err(\"Expected a refined.math.wasm-adapter v1 package.\".into());\n        }\n        let executable: Executable = serde_json::from_value(package[\"executable\"].clone())\n            .map_err(|e| format!(\"Invalid executable metadata: {e}\"))?;\n        if executable.description != suite.description {\n            return Err(\"Package description differs from the fixture description.\".into());\n        }\n        if executable.module_base64.len() > 699_052 {\n            return Err(\"The module exceeds 512 KiB.\".into());\n        }\n        let bytes = STANDARD.decode(&executable.module_base64).map_err(|_| \"Invalid module base64.\".to_string())?;\n        if STANDARD.encode(&bytes) != executable.module_base64 {\n            return Err(\"Module base64 must be canonical.\".into());\n        }\n        if format!(\"{:x}\", Sha256::digest(&bytes)) != executable.module_digest {\n            return Err(\"Package module digest differs from its actual bytes.\".into());\n        }\n        bytes\n    };\n    check(&bytes, &suite).map(|report| report.to_json())\n}\n\nfn main() {\n    let arguments: Vec<String> = std::env::args().skip(1).collect();\n    if arguments.len() == 1 && [\"--help\", \"-h\"].contains(&arguments[0].as_str()) {\n        println!(\"Usage: refined_adapter_checker MODULE.wasm|PACKAGE.adapter.json FIXTURES.json\\nChecks author fixtures only. Does not run Refined or establish a mathematical proof.\\nSee checker/FIXTURES.md for the bounded fixture format.\");\n        return;\n    }\n    let result = execute(&arguments).unwrap_or_else(|error| json!({\n        \"format\":\"refined.math.adapter-check-report\", \"schemaVersion\":1,\n        \"ok\":false, \"coreUsed\":false, \"evidence\":\"author_fixture_checks\", \"error\":error\n    }));\n    let success = result[\"ok\"] == true;\n    let text = serde_json::to_string_pretty(&result).expect(\"The report is valid JSON.\");\n    if writeln!(io::stdout().lock(), \"{text}\").is_err() { std::process::exit(2); }\n    if !success { std::process::exit(1); }\n}\n"
    },
    {
      "name": "Cargo.toml",
      "content": "[workspace]\nmembers = [\"sdk\", \"checker\", \"examples/weighted-fit\"]\nresolver = \"2\"\n\n[profile.release]\nopt-level = 3\nlto = true\ncodegen-units = 1\nstrip = true\npanic = \"abort\"\n"
    },
    {
      "name": "Cargo.lock",
      "content": "# This file is automatically @generated by Cargo.\n# It is not intended for manual editing.\nversion = 4\n\n[[package]]\nname = \"base64\"\nversion = \"0.22.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6\"\n\n[[package]]\nname = \"bitflags\"\nversion = \"2.13.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"3ded4057c258ba199e2d26386d3af3780957ecaee6c4ef4041c6b4b8b97c0b06\"\n\n[[package]]\nname = \"block-buffer\"\nversion = \"0.10.4\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71\"\ndependencies = [\n \"generic-array\",\n]\n\n[[package]]\nname = \"bumpalo\"\nversion = \"3.20.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"72f5acc6cb2ba439de613abc23857ec3d78374d8ed5ac84e9d11336e87da8649\"\n\n[[package]]\nname = \"cfg-if\"\nversion = \"1.0.5\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"4e7648175b45a9a48536d676f68d918270699102aa8dab5496df06904c914600\"\n\n[[package]]\nname = \"cpufeatures\"\nversion = \"0.2.17\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"59ed5838eebb26a2bb2e58f6d5b5316989ae9d08bab10e0e6d103e656d1b0280\"\ndependencies = [\n \"libc\",\n]\n\n[[package]]\nname = \"crypto-common\"\nversion = \"0.1.7\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a\"\ndependencies = [\n \"generic-array\",\n \"typenum\",\n]\n\n[[package]]\nname = \"digest\"\nversion = \"0.10.7\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292\"\ndependencies = [\n \"block-buffer\",\n \"crypto-common\",\n]\n\n[[package]]\nname = \"equivalent\"\nversion = \"1.0.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f\"\n\n[[package]]\nname = \"foldhash\"\nversion = \"0.1.5\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2\"\n\n[[package]]\nname = \"generic-array\"\nversion = \"0.14.7\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a\"\ndependencies = [\n \"typenum\",\n \"version_check\",\n]\n\n[[package]]\nname = \"hashbrown\"\nversion = \"0.15.5\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1\"\ndependencies = [\n \"foldhash\",\n]\n\n[[package]]\nname = \"hashbrown\"\nversion = \"0.17.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"ed5909b6e89a2db4456e54cd5f673791d7eca6732202bbf2a9cc504fe2f9b84a\"\n\n[[package]]\nname = \"indexmap\"\nversion = \"2.14.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d466e9454f08e4a911e14806c24e16fba1b4c121d1ea474396f396069cf949d9\"\ndependencies = [\n \"equivalent\",\n \"hashbrown 0.17.1\",\n]\n\n[[package]]\nname = \"itoa\"\nversion = \"1.0.18\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682\"\n\n[[package]]\nname = \"leb128fmt\"\nversion = \"0.1.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2\"\n\n[[package]]\nname = \"libc\"\nversion = \"0.2.191\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"65cd87c9a6d60536580b316ad985726104730a5151c99845f2490428ef91240a\"\n\n[[package]]\nname = \"libm\"\nversion = \"0.2.16\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981\"\n\n[[package]]\nname = \"memchr\"\nversion = \"2.8.3\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98\"\n\n[[package]]\nname = \"proc-macro2\"\nversion = \"1.0.107\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9\"\ndependencies = [\n \"unicode-ident\",\n]\n\n[[package]]\nname = \"quote\"\nversion = \"1.0.47\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001\"\ndependencies = [\n \"proc-macro2\",\n]\n\n[[package]]\nname = \"refined_adapter_checker\"\nversion = \"1.0.0\"\ndependencies = [\n \"base64\",\n \"refined_adapter_sdk\",\n \"serde\",\n \"serde_json\",\n \"sha2\",\n \"wasmi\",\n \"wat\",\n]\n\n[[package]]\nname = \"refined_adapter_sdk\"\nversion = \"1.0.0\"\ndependencies = [\n \"serde\",\n \"serde_json\",\n]\n\n[[package]]\nname = \"refined_custom_qap\"\nversion = \"1.0.0\"\ndependencies = [\n \"refined_adapter_sdk\",\n \"serde\",\n]\n\n[[package]]\nname = \"refined_custom_weighted_fit\"\nversion = \"1.0.0\"\ndependencies = [\n \"refined_adapter_sdk\",\n \"serde\",\n]\n\n[[package]]\nname = \"semver\"\nversion = \"1.0.28\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"8a7852d02fc848982e0c167ef163aaff9cd91dc640ba85e263cb1ce46fae51cd\"\n\n[[package]]\nname = \"serde\"\nversion = \"1.0.229\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba\"\ndependencies = [\n \"serde_core\",\n \"serde_derive\",\n]\n\n[[package]]\nname = \"serde_core\"\nversion = \"1.0.229\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48\"\ndependencies = [\n \"serde_derive\",\n]\n\n[[package]]\nname = \"serde_derive\"\nversion = \"1.0.229\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348\"\ndependencies = [\n \"proc-macro2\",\n \"quote\",\n \"syn\",\n]\n\n[[package]]\nname = \"serde_json\"\nversion = \"1.0.154\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"e7e9cc8b1b85264074fbcc02a88680c4096b1e47df8f739dceb03bf482f04bd6\"\ndependencies = [\n \"itoa\",\n \"memchr\",\n \"serde\",\n \"serde_core\",\n \"zmij\",\n]\n\n[[package]]\nname = \"sha2\"\nversion = \"0.10.9\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"a7507d819769d01a365ab707794a4084392c824f54a7a6a7862f8c3d0892b283\"\ndependencies = [\n \"cfg-if\",\n \"cpufeatures\",\n \"digest\",\n]\n\n[[package]]\nname = \"spin\"\nversion = \"0.9.9\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"3763264f6b73151db08c50ff20d7d8a0b8796e021cdea7ceedad07b80155fa0e\"\n\n[[package]]\nname = \"string-interner\"\nversion = \"0.19.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"23de088478b31c349c9ba67816fa55d9355232d63c3afea8bf513e31f0f1d2c0\"\ndependencies = [\n \"hashbrown 0.15.5\",\n \"serde\",\n]\n\n[[package]]\nname = \"syn\"\nversion = \"3.0.9\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"d78c8dee4c7bf0e14673097256fed6142ce9d3b85a408189d07482442145823b\"\ndependencies = [\n \"proc-macro2\",\n \"quote\",\n \"unicode-ident\",\n]\n\n[[package]]\nname = \"typenum\"\nversion = \"1.20.1\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"b6f5e870be6c3b371b77fe0ee0bafb859fa4964b4404c27de1d380043c4dda20\"\n\n[[package]]\nname = \"unicode-ident\"\nversion = \"1.0.27\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"a2c754d6c33795a1c324727428e5a7dedb5b06195f9890bdbcba760d3e246563\"\n\n[[package]]\nname = \"unicode-width\"\nversion = \"0.2.2\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"b4ac048d71ede7ee76d585517add45da530660ef4390e49b098733c6e897f254\"\n\n[[package]]\nname = \"version_check\"\nversion = \"0.9.5\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a\"\n\n[[package]]\nname = \"wasm-encoder\"\nversion = \"0.262.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"4495a6f85dd94c411c749303efcbc5defade0b0cbdbc0541495241ab917a9b5a\"\ndependencies = [\n \"leb128fmt\",\n \"wasmparser 0.262.0\",\n]\n\n[[package]]\nname = \"wasmi\"\nversion = \"2.0.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"78693fcdd618e0fc34af59c6b8efa9ac5d58c68df940beff4bedddb6acfe7c27\"\ndependencies = [\n \"spin\",\n \"wasmi_collections\",\n \"wasmi_core\",\n \"wasmi_ir\",\n \"wasmparser 0.228.0\",\n \"wat\",\n]\n\n[[package]]\nname = \"wasmi_collections\"\nversion = \"2.0.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"8a8be2aa467cf2d29e96ff759472c36eeb44a3c81c67fc9cb76c9a24c519c557\"\ndependencies = [\n \"string-interner\",\n]\n\n[[package]]\nname = \"wasmi_core\"\nversion = \"2.0.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"69372d5fda3ea3d1e0aa6603c7888110e0187e88ea17cd8fc2e2df0a0e1f37fa\"\ndependencies = [\n \"libm\",\n]\n\n[[package]]\nname = \"wasmi_ir\"\nversion = \"2.0.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"8f17b774caa13c618c7244f1ee51fe23c5e7b8538a471fa46d9949779758aed6\"\ndependencies = [\n \"wasmi_core\",\n]\n\n[[package]]\nname = \"wasmparser\"\nversion = \"0.228.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"4abf1132c1fdf747d56bbc1bb52152400c70f336870f968b85e89ea422198ae3\"\ndependencies = [\n \"bitflags\",\n \"indexmap\",\n]\n\n[[package]]\nname = \"wasmparser\"\nversion = \"0.262.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"974d643b125b272607e2fff8012ea14a8328acd7621e4bafa7afb32500052b1b\"\ndependencies = [\n \"bitflags\",\n \"indexmap\",\n \"semver\",\n]\n\n[[package]]\nname = \"wast\"\nversion = \"262.0.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"30612a0c29249b5f185888a107e8a519d920226b7d07f9d351fd094e9f75eb23\"\ndependencies = [\n \"bumpalo\",\n \"leb128fmt\",\n \"memchr\",\n \"unicode-width\",\n \"wasm-encoder\",\n]\n\n[[package]]\nname = \"wat\"\nversion = \"1.262.0\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"e228027f2b07bbaf946980ebbe2437fca73be6f54c40c2a8d4f42f277075f8d1\"\ndependencies = [\n \"wast\",\n]\n\n[[package]]\nname = \"zmij\"\nversion = \"1.0.23\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b\"\n"
    },
    {
      "name": "README.md",
      "content": "# Refined Math Rust adapter SDK v1\n\nUse this project to write and build your own executable adapter. The SDK contains the public data contracts, serialization helpers and example algorithms. The Refined search implementation is separate. After you import the resulting `*.adapter.json` package, the application executes its Wasm module in the calculation server's native worker and uses the supplied operators with Refined. With the local server, execution takes place on that computer.\n\n## Build, change and import\n\nInstall Rust and Node.js, then extract the project archive. Run the following commands from the extracted directory containing `Cargo.toml` and `package.mjs`. Rust 1.93.0 is the reference toolchain:\n\n```text\nrustup toolchain install 1.93.0 --profile minimal\nrustup target add wasm32-unknown-unknown --toolchain 1.93.0\ncargo +1.93.0 build --release --target wasm32-unknown-unknown -p refined_custom_qap\ncargo +1.93.0 run --locked --release -p refined_adapter_checker -- target/wasm32-unknown-unknown/release/refined_custom_qap.wasm examples/qap/fixtures.json\nnode package.mjs qap target/wasm32-unknown-unknown/release/refined_custom_qap.wasm qap.adapter.json\n```\n\nIn Refined Math, choose **Import adapter or task**, select `qap.adapter.json`, and wait for the executable checks to finish. The adapter appears in **My adapters**. Review or change its matrix data, choose **Validate input**, then **Calculate**. To change the algorithm, edit `examples/qap/src/lib.rs`, rebuild the module and package it under a new filename. Importing changed package content creates a new definition revision for the same author adapter ID. Earlier calculations keep their original package and module identities.\n\nThe second project uses real-valued states and incrementally updated residuals:\n\n```text\ncargo +1.93.0 build --release --target wasm32-unknown-unknown -p refined_custom_weighted_fit\ncargo +1.93.0 run --locked --release -p refined_adapter_checker -- target/wasm32-unknown-unknown/release/refined_custom_weighted_fit.wasm examples/weighted-fit/fixtures.json\nnode package.mjs weighted-fit target/wasm32-unknown-unknown/release/refined_custom_weighted_fit.wasm weighted-fit.adapter.json\n```\n\n`package.mjs` combines an already compiled binary, its source and its manifest into an importable document. Before writing, it uses the included `package-contract.cjs`, a copy of the application's public package validator, to check the package format, source paths, cumulative source size and bounded data. It does not compile or execute the module; server executable admission remains a separate step. Existing output files are not overwritten, so choose a new output filename for each changed package. Import the complete package rather than an individual `.rs` or `.wasm` file. Keep the executable package: exporting a definition or task that refers to its digest does not copy the executable to another installation.\n\n## Check your adapter before import\n\nThe source project includes a standalone native author checker under `checker/`, fixtures for both examples and the fixture contract in `checker/FIXTURES.md`. Build/run it from the extracted SDK workspace with the commands above. It needs no Refined Math server, account, private worker or Refined dependency. Cargo builds the public native checker; the checker then calls the supplied Wasm module with the trusted fixtures. It does not compile source or generate code from fixture text.\n\nThe first argument may also be the complete executable package:\n\n```text\ncargo +1.93.0 run --locked --release -p refined_adapter_checker -- qap.adapter.json examples/qap/fixtures.json\n```\n\nFixtures contain the expected executable `description`, matching the example manifest's `descriptionContract`, and explicit reference cases for the calls being checked. The description is read from the supplied module and compared with that contract. Keep fixtures under your control: write independently checked states, moves, scores and validation expectations for your problem, rather than treating the module's own output as its reference. Follow `checker/FIXTURES.md` when adapting the examples. Exact `i128` scores use decimal strings; finite `f64` scores use the fixture's declared tolerance.\n\nReference tolerance never permits the module's own score to drift: repeated evaluation, fresh-instance evaluation and author validation must agree exactly after numeric parsing, with signed zero normalized.\n\nThe checker reports actual callback checks as JSON on standard output and exits with a nonzero status when a check fails. Its report states `coreUsed:false`: this is a bounded interface/behavior check, not a Refined solve or an optimality proof. Passing trusted small cases does not establish that an arbitrary model represents the intended problem or that every input is correct. Import admission and an actual Refined Math calculation remain separate steps.\n\nChecker execution uses `wasmi`, rejects module imports and start functions, and bounds each instance to 32 MiB of linear memory. Calls allow at most 50 million fuel units and a suite allows at most 500 million. These are instruction/memory bounds, not a wall-time guarantee. The checker is a local author tool for trusted fixture files; it is not an application service for arbitrary uploaded workloads.\n\nBoth `source.zip` and the source attached to a new single-example executable package include the SDK, checker, fixture documentation and the matching example fixtures. The single-example workspace keeps `sdk`, `checker` and that example as members, so it can be rebuilt and checked independently. Dependencies must be available to Cargo; `--locked` preserves the supplied dependency resolution.\n\n## What the adapter controls\n\nImplement the `Adapter` trait in `sdk/src/lib.rs`. Your code supplies initialization, evaluation, validation, proposed moves, application, the entire local-search loop and perturbation. Optional hooks provide guidance, repair, recombination, path relinking and stable features. Rust structs, integer or real state, helper functions and private per-instance caches are supported. Cache contents must not change mathematical semantics: instances can be reused by different core threads and final validation starts fresh.\n\nScores prioritize nonnegative constraint violations, then up to eight declared lexicographic objectives. `i128` objectives are exact decimal integers; `f64` objectives must be finite decimal values. State, moves and data cross the boundary as bounded JSON. Inner local-search iterations stay inside the module; there is no browser or process callback per iteration.\n\nThe QAP example uses exact swap deltas, best-improvement local search and order-preserving recombination. Its `frozen-operators` Cargo feature exists for conformance testing: it disables changes while keeping the same starting state. The fit example keeps residuals inside its local search and updates them after coordinate changes. Both examples are standalone author implementations using this public contract; their package digests identify their own executable versions, not the built-in adapters' source versions.\n\n## Execution boundary and current profile limits\n\nSDK v1 uses a bounded CPU Wasm interpreter. Modules have no host imports or WASI access, so they cannot access the network, filesystem, processes or native libraries through the application. The application accepts compiled packages and does not compile user source. This execution profile is separate from installed native adapters and does not expose GPU services or every private core hook. Core learning can use supplied operator keys and stable features. CPU core parallelism uses at most four isolated module instances. Interpreter execution and serialization have different costs from specialized native adapters, so their performance may differ.\n\nCurrent ceilings: 512 KiB module, 4 MiB import package, 2 MiB accompanying source, 64 KiB decision state, 128 KiB request/response and 32 MiB memory per instance. A callback may return up to 256 guidance or move hints. Repair, recombination and path-relinking calls may return at most 24 candidate states, also bounded by the requested candidate limit. Execution allows 50 million fuel units per callback and 500 million across search instances. Initialization, allocation, cleanup and calls consume fuel. Fresh final validation has a separate bounded allowance. The outer native resource guard also enforces process memory and wall time. Limits are enforced independently of author-supplied counters.\n\nActual Wasm fuel, host-checked state evaluations and author-reported inner work are separate statistics. A fresh evaluation plus the author's validator checks consistency with the supplied algorithm; it does not independently prove that the author's model represents the intended mathematics. Imported modules cannot award themselves global-optimality certificates.\n\n## Source and identity\n\nThe package includes the module SHA-256 and its declared executable interface. Admission checks the binary and compares the module's actual interface to that declaration. The complete package receives a host-computed digest. Source files are author-supplied reference material; source-to-binary equivalence is not attested. The source viewer must not label supplied source as independently proven to match arbitrary uploaded binaries.\n\nKeep reusable code and separate data distinct. Export data from the workspace to reuse the same executable with other inputs. Use **Download executable package** in the source viewer to move the complete adapter to another installation.\n"
    },
    {
      "name": "package.mjs",
      "content": "// Build an import document from an already compiled module. This tool never compiles or executes customer code.\nimport {readFile,writeFile,readdir,lstat,realpath} from 'node:fs/promises';\nimport {fileURLToPath} from 'node:url';\nimport path from 'node:path';\nimport {createHash} from 'node:crypto';\nimport PackageContract from './package-contract.cjs';\nconst root=fileURLToPath(new URL('.',import.meta.url));\nconst [name,moduleFile,outputFile]=process.argv.slice(2);\nif(!name||!moduleFile||!outputFile||!/^[a-z0-9-]+$/.test(name))throw Error('Usage: node package.mjs EXAMPLE COMPILED_MODULE.wasm OUTPUT.adapter.json');\nconst example=path.join(root,'examples',name),manifest=JSON.parse(await readFile(path.join(example,'manifest.json'),'utf8'));\nconst moduleBytes=await readFile(path.resolve(moduleFile));\nif(moduleBytes.length>524288||!moduleBytes.subarray(0,8).equals(Buffer.from([0,97,115,109,1,0,0,0])))throw Error('Expected a Wasm binary of at most 512 KiB.');\nconst sources=[];\nasync function collect(directory,relative){\n  for(const entry of await readdir(directory,{withFileTypes:true})){\n    if(['target','.git'].includes(entry.name))continue;\n    const filename=path.join(directory,entry.name),local=path.posix.join(relative,entry.name),stat=await lstat(filename);\n    if(stat.isSymbolicLink())throw Error('Source symlinks are not supported.');\n    if(stat.isDirectory()){await collect(filename,local);continue;}\n    if(!/\\.(rs|toml|md|json|mjs|txt)$/.test(entry.name))continue;\n    if(!stat.isFile()||stat.size>524288||sources.length>=60)throw Error('Source package limit exceeded.');\n    const resolved=await realpath(filename);if(!resolved.toLowerCase().startsWith(path.resolve(root).toLowerCase()+path.sep))throw Error('Source path escaped the SDK project.');\n    sources.push({name:local,content:await readFile(filename,'utf8')});\n  }\n}\nawait collect(example,'examples/'+name);await collect(path.join(root,'sdk'),'sdk');await collect(path.join(root,'checker'),'checker');\nfor(const filename of ['Cargo.toml','Cargo.lock','README.md','package.mjs','package-contract.cjs'])sources.push({name:filename,content:await readFile(path.join(root,filename),'utf8')});\n// Keep the exported project independently buildable when it contains one example.\nconst cargo=sources.find(file=>file.name==='Cargo.toml');\nif(!/members\\s*=\\s*\\[[^\\]]+\\]/.test(cargo.content))throw Error('Expected an explicit SDK workspace member list.');\ncargo.content=cargo.content.replace(/members\\s*=\\s*\\[[^\\]]+\\]/,'members = [\"sdk\", \"checker\", \"examples/'+name+'\"]');\nconst packet={format:'refined.math.wasm-adapter',schemaVersion:1,name:manifest.name,description:manifest.description,executable:{moduleBase64:moduleBytes.toString('base64'),moduleDigest:createHash('sha256').update(moduleBytes).digest('hex'),description:manifest.descriptionContract},inputSchema:manifest.inputSchema,defaultData:manifest.defaultData,samples:manifest.samples||[],...(manifest.presentation?{presentation:manifest.presentation}:{}),sources};\nawait PackageContract.validate(packet);\nconst json=JSON.stringify(packet,null,2)+'\\n';if(Buffer.byteLength(json)>4*1024*1024)throw Error('The complete adapter package exceeds 4 MiB.');\nawait writeFile(path.resolve(outputFile),json,{flag:'wx'});\nconsole.log('Created '+path.resolve(outputFile)+'; module SHA-256 '+packet.executable.moduleDigest);\n"
    },
    {
      "name": "package-contract.cjs",
      "content": "(function(root,factory){const node=typeof module==='object'&&module.exports;const api=factory(node?require('node:crypto').webcrypto:root.crypto);if(node)module.exports=api;else root.WasmAdapterPackage=api;})(globalThis,function(crypto){\n  'use strict';\n  const FORMAT='refined.math.wasm-adapter',MAX_BYTES=4*1024*1024,MAX_MODULE_BYTES=524288;\n  const object=value=>value!==null&&typeof value==='object'&&!Array.isArray(value),clone=value=>JSON.parse(JSON.stringify(value));\n  const stable=value=>Array.isArray(value)?'['+value.map(stable).join(',')+']':object(value)?'{'+Object.keys(value).sort().map(key=>JSON.stringify(key)+':'+stable(value[key])).join(',')+'}':JSON.stringify(value);\n  const bytes=value=>new TextEncoder().encode(typeof value==='string'?value:JSON.stringify(value));\n  const fail=message=>{throw Object.assign(Error(message),{code:'INVALID_ADAPTER',field:'adapterPackage'});};\n  const keys=(value,allowed)=>{if(!object(value)||Object.keys(value).some(key=>!allowed.includes(key)))fail('Unexpected adapter package fields.');};\n  const token=(value,maximum=96)=>typeof value==='string'&&value.length>0&&value.length<=maximum&&/^[A-Za-z0-9_.-]+$/.test(value);\n  const digest=async value=>Array.from(new Uint8Array(await crypto.subtle.digest('SHA-256',value instanceof Uint8Array?value:bytes(stable(value)))),b=>b.toString(16).padStart(2,'0')).join('');\n  function safe(value,depth=0){if(depth>40)fail('The adapter package is nested too deeply.');if(value===null||['string','boolean'].includes(typeof value))return;if(typeof value==='number'){if(!Number.isFinite(value))fail('A value is not finite.');return;}if(Array.isArray(value)){if(value.length>4096)fail('An adapter data array is too long.');for(const item of value)safe(item,depth+1);return;}if(!object(value))fail('Expected JSON data.');for(const [key,item]of Object.entries(value)){if(['__proto__','constructor','prototype'].includes(key))fail('Reserved adapter field.');safe(item,depth+1);}}\n  function localized(value,maximum){if(!object(value)||typeof value.en!=='string'||!value.en.trim()||Object.keys(value).some(key=>!['en','sk'].includes(key))||Object.values(value).some(text=>typeof text!=='string'||!text.trim()||text.length>maximum))fail('Use bounded English/Slovak adapter labels.');}\n  function description(value){\n    keys(value,['abiVersion','id','version','metrics','families','hooks']);\n    if(value.abiVersion!==1||!token(value.id)||!token(value.version,64)||!Array.isArray(value.metrics)||value.metrics.length<1||value.metrics.length>8||!Array.isArray(value.families)||value.families.length<1||value.families.length>32||value.families.some(f=>!Number.isInteger(f)||f<0||f>65535)||new Set(value.families).size!==value.families.length)fail('Invalid executable ABI, identity, metrics or families.');\n    const names=new Set();for(const metric of value.metrics){keys(metric,['name','numericType','direction']);if(!token(metric.name,64)||names.has(metric.name)||!['i128','f64'].includes(metric.numericType)||!['minimize','maximize'].includes(metric.direction))fail('Invalid metric declaration.');names.add(metric.name);}\n    keys(value.hooks,['guidance','repair','recombine','pathRelink','features']);if(Object.values(value.hooks).some(v=>typeof v!=='boolean'))fail('Hook declarations must be boolean.');\n    return value;\n  }\n  function reference(value){keys(value,['packageDigest','moduleDigest','description']);if(!/^[a-f0-9]{64}$/.test(value.packageDigest)||!/^[a-f0-9]{64}$/.test(value.moduleDigest))fail('Invalid admitted adapter identity.');description(value.description);return value;}\n  async function validate(value){\n    if(bytes(value).length>MAX_BYTES)fail('The executable adapter package exceeds 4 MiB.');safe(value);\n    keys(value,['format','schemaVersion','name','description','executable','inputSchema','defaultData','samples','presentation','sources']);\n    if(value.format!==FORMAT||value.schemaVersion!==1)fail('Expected an executable Rust SDK v1 adapter package.');localized(value.name,120);localized(value.description,4000);\n    keys(value.executable,['moduleBase64','moduleDigest','description']);description(value.executable.description);\n    const encoded=value.executable.moduleBase64;if(typeof encoded!=='string'||encoded.length>Math.ceil(MAX_MODULE_BYTES/3)*4||encoded.length%4||!/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(encoded))fail('Invalid or oversized Wasm encoding.');\n    const raw=Uint8Array.from(atob(encoded),c=>c.charCodeAt(0));if(raw.length>MAX_MODULE_BYTES||[0,97,115,109,1,0,0,0].some((v,i)=>raw[i]!==v))fail('Expected a WebAssembly binary, not source text or a native executable.');\n    if(await digest(raw)!==value.executable.moduleDigest)fail('The executable digest does not match the supplied module.');\n    if(!object(value.inputSchema)||!object(value.defaultData)||bytes(value.defaultData).length>65536)fail('An adapter needs an input schema and bounded default data.');\n    if(value.samples!==undefined&&(!Array.isArray(value.samples)||value.samples.length>8||value.samples.some(sample=>!object(sample)||Object.keys(sample).some(k=>!['name','data'].includes(k))||!object(sample.data)||bytes(sample.data).length>65536)))fail('Invalid adapter examples.');\n    for(const sample of value.samples||[])localized(sample.name,120);\n    const sources=value.sources||[];if(!Array.isArray(sources)||sources.length>64)fail('Invalid source file list.');let sourceBytes=0;const paths=new Set();\n    for(const source of sources){keys(source,['name','content']);if(typeof source.name!=='string'||source.name.length>180||!source.name.split('/').every(part=>/^[A-Za-z0-9_-]+(?:\\.[A-Za-z0-9_-]+)*$/.test(part))||! /\\.(rs|toml|md|json|mjs|cjs|txt|lock)$/.test(source.name)||paths.has(source.name.toLowerCase())||typeof source.content!=='string')fail('Invalid or duplicated source path.');paths.add(source.name.toLowerCase());sourceBytes+=bytes(source.content).length;}\n    if(sourceBytes>2*1024*1024)fail('The supplied source exceeds 2 MiB.');\n    return {package:clone(value),packageDigest:await digest(value),moduleDigest:value.executable.moduleDigest};\n  }\n  function profile(value,packageDigest,coreRevision){\n    const adapter={packageDigest,moduleDigest:value.executable.moduleDigest,description:clone(value.executable.description)};\n    const task=(name,data)=>({format:'refined.math.task',schemaVersion:1,adapterId:'customer-wasm',title:name.en,payload:{input:{adapter:clone(adapter),data:clone(data)}},options:{seed:42,timeLimitMs:3000,maxCandidateStates:20000},...(value.presentation?{presentation:clone(value.presentation)}:{})});\n    return {format:'refined.math.adapter',schemaVersion:1,adapterId:'customer-wasm',version:value.executable.description.version,name:{en:value.name.en,sk:value.name.sk||value.name.en},description:{en:value.description.en,sk:value.description.sk||value.description.en},help:{en:'Edit data and run your imported Rust adapter. Import a newly built package to change its algorithms.',sk:'Upravte dáta a spustite importovaný Rust adaptér. Algoritmus zmeníte importom nanovo zostaveného balíka.'},\n      runtime:{binding:'customer-wasm',coreRevision,inputKey:'input'},inputSchema:{type:'object',additionalProperties:false,required:['adapter','data'],properties:{adapter:{},data:clone(value.inputSchema)}},\n      contract:{state:{en:'An author-defined state, freshly evaluated through the imported module.',sk:'Stav definovaný autorom a znovu vyhodnotený importovaným modulom.'},score:{en:'Feasibility first, followed by the declared exact or real objectives.',sk:'Najprv splnenie podmienok, potom deklarované presné alebo reálne ciele.'},operators:{en:['The imported module owns moves, local search and perturbation.'],sk:['Importovaný modul určuje operátory, lokálne vyhľadávanie a perturbáciu.']},output:{en:'Author outputs, checked scores, actual core statistics and metered module work. No global proof is claimed.',sk:'Výstupy autora, skontrolované skóre, skutočné štatistiky jadra a meraná práca modulu. Výsledok nie je dôkaz globálneho optima.'}},\n      defaultTask:task(value.name,value.defaultData),samples:(value.samples||[]).map((sample,index)=>({id:'module-example-'+index,name:clone(sample.name),description:clone(value.description),expected:{en:'Checked best-found result from the imported module.',sk:'Skontrolovaný najlepší nájdený výsledok importovaného modulu.'},task:task(sample.name,sample.data)}))};\n  }\n  return {FORMAT,MAX_BYTES,MAX_MODULE_BYTES,stable,digest,safe,description,reference,validate,profile};\n});\n"
    }
  ]
}
