From 013ea59f70b265c7038936dbf8fa85729559a4a2 Mon Sep 17 00:00:00 2001 From: peetzweg/ Date: Mon, 26 Feb 2024 14:43:09 +0100 Subject: [PATCH] changes `Abi.decodeEvent(data:Bytes)` method interface to `Abi.decodeEvent(record:EventRecord)` which includes the event and the topic for decoding. --- packages/api-contract/src/Abi/Abi.spec.ts | 106 +++++++++-------- packages/api-contract/src/Abi/index.ts | 16 ++- packages/api-contract/src/base/Contract.ts | 5 +- .../static-substrate-contracts-node.ts | 10 ++ .../v14/substrate-contracts-node-hex.ts | 8 ++ .../v14/substrate-contracts-node-rpc.ts | 108 ++++++++++++++++++ .../v14/substrate-contracts-node-ver.ts | 58 ++++++++++ scripts/metadata-get.mjs | 3 +- 8 files changed, 258 insertions(+), 56 deletions(-) create mode 100644 packages/types-support/src/metadata/static-substrate-contracts-node.ts create mode 100644 packages/types-support/src/metadata/v14/substrate-contracts-node-hex.ts create mode 100644 packages/types-support/src/metadata/v14/substrate-contracts-node-rpc.ts create mode 100644 packages/types-support/src/metadata/v14/substrate-contracts-node-ver.ts diff --git a/packages/api-contract/src/Abi/Abi.spec.ts b/packages/api-contract/src/Abi/Abi.spec.ts index 62cc1d505db2..4659ba07e636 100644 --- a/packages/api-contract/src/Abi/Abi.spec.ts +++ b/packages/api-contract/src/Abi/Abi.spec.ts @@ -9,9 +9,10 @@ import fs from 'node:fs'; import process from 'node:process'; import { TypeDefInfo } from '@polkadot/types/types'; -import { hexToU8a } from '@polkadot/util'; +import rpcMetadata from '@polkadot/types-support/metadata/static-substrate-contracts-node'; import { blake2AsHex } from '@polkadot/util-crypto'; +import { Metadata, TypeRegistry } from '../../../types/src/bundle.js'; import abis from '../test/contracts/index.js'; import { Abi } from './index.js'; @@ -124,68 +125,77 @@ describe('Abi', (): void => { expect(bundle.source.hash).toEqual(abi.info.source.wasmHash.toHex()); }); - it('decoding <=ink!v4 events', (): void => { - const abi = new Abi(abis['ink_v4_erc20Metadata']); + describe('Events', (): void => { + const registry = new TypeRegistry(); - const dataHex = '0x0001d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d018eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a4800505a4f7e9f4eb10600000000000000'; - const dataU8A = hexToU8a(dataHex); + beforeAll((): void => { + const metadata = new Metadata(registry, rpcMetadata); - const decodedEvent = abi.decodeEvent(dataU8A); + registry.setMetadata(metadata); + }); - expect(decodedEvent.event.args.length).toEqual(3); - expect(decodedEvent.args.length).toEqual(3); - expect(decodedEvent.event.identifier).toEqual('Transfer'); + it('decoding <=ink!v4 events', (): void => { + const abiJson = abis['ink_v4_erc20Metadata']; - const decodedEventHuman = decodedEvent.event.args.reduce((prev, cur, index) => { - return { - ...prev, - [cur.name]: decodedEvent.args[index].toHuman() - }; - }, {}); + expect(abiJson).toBeDefined(); + const abi = new Abi(abiJson); - const expectedEvent = { - from: '5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY', - to: '5FHneW46xGXgs5mUiveU4sbTyGBzmstUspZC92UhjJM694ty', - value: '123.4567 MUnit' - }; + const eventRecordHex = + '0x0001000000080360951b8baf569bca905a279c12d6ce17db7cdce23a42563870ef585129ce5dc64d010001d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d018eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a4800505a4f7e9f4eb106000000000000000c0045726332303a3a5472616e7366657200000000000000000000000000000000da2d695d3b5a304e0039e7fc4419c34fa0c1f239189c99bb72a6484f1634782b2b00c7d40fe6d84d660f3e6bed90f218e022a0909f7e1a7ea35ada8b6e003564'; + const record = registry.createType('EventRecord', eventRecordHex); - expect(decodedEventHuman).toEqual(expectedEvent); - }); + const decodedEvent = abi.decodeEvent(record); + + expect(decodedEvent.event.args.length).toEqual(3); + expect(decodedEvent.args.length).toEqual(3); + expect(decodedEvent.event.identifier).toEqual('Transfer'); + + const decodedEventHuman = decodedEvent.event.args.reduce((prev, cur, index) => { + return { + ...prev, + [cur.name]: decodedEvent.args[index].toHuman() + }; + }, {}); - it('decoding <=ink!v5 events', (): void => { - const metadataJson = abis['ink_v5_erc20Metadata']; + const expectedEvent = { + from: '5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY', + to: '5FHneW46xGXgs5mUiveU4sbTyGBzmstUspZC92UhjJM694ty', + value: '123.4567 MUnit' + }; - expect(metadataJson).toBeDefined(); - const abi = new Abi(metadataJson); + expect(decodedEventHuman).toEqual(expectedEvent); + }); - const dataHex = '0x01d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d018eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a4800505a4f7e9f4eb10600000000000000'; - const dataU8A = hexToU8a(dataHex); + it('decoding <=ink!v5 events', (): void => { + const abiJson = abis['ink_v5_erc20Metadata']; - const signatureTopicHex = '0xb5b61a3e6a21a16be4f044b517c28ac692492f73c5bfd3f60178ad98c767f4cb'; + expect(abiJson).toBeDefined(); + const abi = new Abi(abiJson); - expect(abi.events.length).toEqual(2); - expect(abi.events[0].signatureTopic).toEqual(signatureTopicHex); + const eventRecordHex = + '0x00010000000803da17150e96b3955a4db6ad35ddeb495f722f9c1d84683113bfb096bf3faa30f2490101d43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d018eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a4800505a4f7e9f4eb106000000000000000cb5b61a3e6a21a16be4f044b517c28ac692492f73c5bfd3f60178ad98c767f4cbd43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d8eaf04151687736326c9fea17e25fc5287613693c912909cb226aa4794f26a48'; + const record = registry.createType('EventRecord', eventRecordHex); - const signatureTopicHash = abi.registry.createType('Hash', signatureTopicHex); - const decodedEvent = abi.decodeEvent(dataU8A, signatureTopicHash); + const decodedEvent = abi.decodeEvent(record); - expect(decodedEvent.event.args.length).toEqual(3); - expect(decodedEvent.args.length).toEqual(3); - expect(decodedEvent.event.identifier).toEqual('erc20::erc20::Transfer'); + expect(decodedEvent.event.args.length).toEqual(3); + expect(decodedEvent.args.length).toEqual(3); + expect(decodedEvent.event.identifier).toEqual('erc20::erc20::Transfer'); - const decodedEventHuman = decodedEvent.event.args.reduce((prev, cur, index) => { - return { - ...prev, - [cur.name]: decodedEvent.args[index].toHuman() - }; - }, {}); + const decodedEventHuman = decodedEvent.event.args.reduce((prev, cur, index) => { + return { + ...prev, + [cur.name]: decodedEvent.args[index].toHuman() + }; + }, {}); - const expectedEvent = { - from: '5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY', - to: '5FHneW46xGXgs5mUiveU4sbTyGBzmstUspZC92UhjJM694ty', - value: '123.4567 MUnit' - }; + const expectedEvent = { + from: '5GrwvaEF5zXb26Fz9rcQpDWS57CtERHpNehXCPcNoHGKutQY', + to: '5FHneW46xGXgs5mUiveU4sbTyGBzmstUspZC92UhjJM694ty', + value: '123.4567 MUnit' + }; - expect(decodedEventHuman).toEqual(expectedEvent); + expect(decodedEventHuman).toEqual(expectedEvent); + }); }); }); diff --git a/packages/api-contract/src/Abi/index.ts b/packages/api-contract/src/Abi/index.ts index 9e99e4125e9f..0b05795f1782 100644 --- a/packages/api-contract/src/Abi/index.ts +++ b/packages/api-contract/src/Abi/index.ts @@ -2,8 +2,7 @@ // SPDX-License-Identifier: Apache-2.0 import type { Bytes } from '@polkadot/types'; -import type { ChainProperties, ContractConstructorSpecLatest, ContractEventSpecLatest, ContractMessageParamSpecLatest, ContractMessageSpecLatest, ContractMetadata, ContractMetadataLatest, ContractProjectInfo, ContractTypeSpec } from '@polkadot/types/interfaces'; -import type { Hash } from '@polkadot/types/interfaces/runtime'; +import type { ChainProperties, ContractConstructorSpecLatest, ContractEventSpecLatest, ContractMessageParamSpecLatest, ContractMessageSpecLatest, ContractMetadata, ContractMetadataLatest, ContractProjectInfo, ContractTypeSpec, EventRecord } from '@polkadot/types/interfaces'; import type { Codec, Registry, TypeDef } from '@polkadot/types/types'; import type { AbiConstructor, AbiEvent, AbiMessage, AbiParam, DecodedEvent, DecodedMessage } from '../types.js'; @@ -163,7 +162,12 @@ export class Abi { /** * Warning: Unstable API, bound to change */ - public decodeEvent (data: Bytes | Uint8Array, signatureTopic?: Hash): DecodedEvent { + public decodeEvent (record: EventRecord): DecodedEvent { + // TODO we could double check here if record is actually section `contract` and type `ContractExecution` or `ContractEmitted` + const data = record.event.data[1] as Bytes; + + const signatureTopic = record.topics[0]; + if (signatureTopic !== undefined) { const event = this.events.find((e) => e.signatureTopic !== undefined && e.signatureTopic === signatureTopic.toHex()); @@ -173,7 +177,11 @@ export class Abi { throw new Error(`Unable to find event with signature_topic ${signatureTopic.toHex()}`); } } else { - // otherwise fallback to using the index to determine event - ink! v4 downwards + if (!data) { + throw new Error('Unable to find event data'); + } + + // otherwise fallback to using the index to determine event - ink! v4 downwards const index = data[0]; const event = this.events[index]; diff --git a/packages/api-contract/src/base/Contract.ts b/packages/api-contract/src/base/Contract.ts index 9dd14cad7da3..64e4eb07c262 100644 --- a/packages/api-contract/src/base/Contract.ts +++ b/packages/api-contract/src/base/Contract.ts @@ -4,7 +4,6 @@ import type { ApiBase } from '@polkadot/api/base'; import type { SubmittableExtrinsic } from '@polkadot/api/submittable/types'; import type { ApiTypes, DecorateMethod } from '@polkadot/api/types'; -import type { Bytes } from '@polkadot/types'; import type { AccountId, ContractExecResult, EventRecord, Weight, WeightV2 } from '@polkadot/types/interfaces'; import type { ISubmittableResult } from '@polkadot/types/types'; import type { Abi } from '../Abi/index.js'; @@ -115,9 +114,9 @@ export class Contract extends Base { // ContractEmitted is the current generation, ContractExecution is the previous generation new ContractSubmittableResult(result, applyOnEvent(result, ['ContractEmitted', 'ContractExecution'], (records: EventRecord[]) => records - .map(({ event: { data: [, data] }, topics }): DecodedEvent | null => { + .map((record): DecodedEvent | null => { try { - return this.abi.decodeEvent(data as Bytes, topics[0]); + return this.abi.decodeEvent(record); } catch (error) { l.error(`Unable to decode contract event: ${(error as Error).message}`); diff --git a/packages/types-support/src/metadata/static-substrate-contracts-node.ts b/packages/types-support/src/metadata/static-substrate-contracts-node.ts new file mode 100644 index 000000000000..d1b990c60b17 --- /dev/null +++ b/packages/types-support/src/metadata/static-substrate-contracts-node.ts @@ -0,0 +1,10 @@ +// Copyright 2017-2024 @polkadot/types-support authors & contributors +// SPDX-License-Identifier: Apache-2.0 + +import metadata from './v14/substrate-contracts-node-hex.js'; +import rpc from './v14/substrate-contracts-node-rpc.js'; +import version from './v14/substrate-contracts-node-ver.js'; + +export { rpc, version }; + +export default metadata; diff --git a/packages/types-support/src/metadata/v14/substrate-contracts-node-hex.ts b/packages/types-support/src/metadata/v14/substrate-contracts-node-hex.ts new file mode 100644 index 000000000000..a0ec87cc2f7a --- /dev/null +++ b/packages/types-support/src/metadata/v14/substrate-contracts-node-hex.ts @@ -0,0 +1,8 @@ +// Copyright 2017-2024 @polkadot/types-support authors & contributors +// SPDX-License-Identifier: Apache-2.0 + +/* eslint-disable */ + +// cargo run --release -- purge-chain -y --dev && cargo run --release -- --dev + +export default '0x6d6574610e7d02000c1c73705f636f72651863727970746f2c4163636f756e7449643332000004000401205b75383b2033325d0000040000032000000008000800000503000c08306672616d655f73797374656d2c4163636f756e74496e666f08144e6f6e636501102c4163636f756e74446174610114001401146e6f6e63651001144e6f6e6365000124636f6e73756d657273100120526566436f756e7400012470726f766964657273100120526566436f756e7400012c73756666696369656e7473100120526566436f756e740001106461746114012c4163636f756e74446174610000100000050500140c3c70616c6c65745f62616c616e6365731474797065732c4163636f756e7444617461041c42616c616e63650118001001106672656518011c42616c616e6365000120726573657276656418011c42616c616e636500011866726f7a656e18011c42616c616e6365000114666c6167731c01284578747261466c61677300001800000507001c0c3c70616c6c65745f62616c616e636573147479706573284578747261466c61677300000400180110753132380000200c346672616d655f737570706f7274206469737061746368405065724469737061746368436c6173730404540124000c01186e6f726d616c2401045400012c6f7065726174696f6e616c240104540001246d616e6461746f7279240104540000240c2873705f77656967687473247765696768745f76321857656967687400000801207265665f74696d6528010c75363400012870726f6f665f73697a6528010c7536340000280000062c002c000005060030083c7072696d69746976655f74797065731048323536000004000401205b75383b2033325d000034000002080038102873705f72756e74696d651c67656e65726963186469676573741844696765737400000401106c6f67733c013c5665633c4469676573744974656d3e00003c000002400040102873705f72756e74696d651c67656e6572696318646967657374284469676573744974656d0001142850726552756e74696d650800440144436f6e73656e737573456e67696e654964000034011c5665633c75383e00060024436f6e73656e7375730800440144436f6e73656e737573456e67696e654964000034011c5665633c75383e000400105365616c0800440144436f6e73656e737573456e67696e654964000034011c5665633c75383e000500144f74686572040034011c5665633c75383e0000006452756e74696d65456e7669726f6e6d656e74557064617465640008000044000003040000000800480000024c004c08306672616d655f73797374656d2c4576656e745265636f7264080445015004540130000c01147068617365ac011450686173650001146576656e7450010445000118746f70696373b001185665633c543e0000500858636f6e7472616374735f6e6f64655f72756e74696d653052756e74696d654576656e7400011c1853797374656d04005401706672616d655f73797374656d3a3a4576656e743c52756e74696d653e0000001c5574696c697479040078015470616c6c65745f7574696c6974793a3a4576656e740002002042616c616e636573040084017c70616c6c65745f62616c616e6365733a3a4576656e743c52756e74696d653e000400485472616e73616374696f6e5061796d656e7404008c01a870616c6c65745f7472616e73616374696f6e5f7061796d656e743a3a4576656e743c52756e74696d653e000600105375646f040090016c70616c6c65745f7375646f3a3a4576656e743c52756e74696d653e00070024436f6e747261637473040098018070616c6c65745f636f6e7472616374733a3a4576656e743c52756e74696d653e000800184173736574730400a4017470616c6c65745f6173736574733a3a4576656e743c52756e74696d653e00090000540c306672616d655f73797374656d1870616c6c6574144576656e740404540001184045787472696e7369635375636365737304013464697370617463685f696e666f5801304469737061746368496e666f00000490416e2065787472696e73696320636f6d706c65746564207375636365737366756c6c792e3c45787472696e7369634661696c656408013864697370617463685f6572726f7264013444697370617463684572726f7200013464697370617463685f696e666f5801304469737061746368496e666f00010450416e2065787472696e736963206661696c65642e2c436f64655570646174656400020450603a636f6465602077617320757064617465642e284e65774163636f756e7404011c6163636f756e74000130543a3a4163636f756e7449640003046841206e6577206163636f756e742077617320637265617465642e344b696c6c65644163636f756e7404011c6163636f756e74000130543a3a4163636f756e74496400040458416e206163636f756e7420776173207265617065642e2052656d61726b656408011873656e646572000130543a3a4163636f756e7449640001106861736830011c543a3a48617368000504704f6e206f6e2d636861696e2072656d61726b2068617070656e65642e04704576656e7420666f72207468652053797374656d2070616c6c65742e580c346672616d655f737570706f7274206469737061746368304469737061746368496e666f00000c0118776569676874240118576569676874000114636c6173735c01344469737061746368436c617373000120706179735f6665656001105061797300005c0c346672616d655f737570706f7274206469737061746368344469737061746368436c61737300010c184e6f726d616c0000002c4f7065726174696f6e616c000100244d616e6461746f727900020000600c346672616d655f737570706f727420646973706174636810506179730001080c596573000000084e6f0001000064082873705f72756e74696d653444697370617463684572726f72000138144f746865720000003043616e6e6f744c6f6f6b7570000100244261644f726967696e000200184d6f64756c65040068012c4d6f64756c654572726f7200030044436f6e73756d657252656d61696e696e670004002c4e6f50726f76696465727300050040546f6f4d616e79436f6e73756d65727300060014546f6b656e04006c0128546f6b656e4572726f720007002841726974686d65746963040070013c41726974686d657469634572726f72000800345472616e73616374696f6e616c04007401485472616e73616374696f6e616c4572726f7200090024457868617573746564000a0028436f7272757074696f6e000b002c556e617661696c61626c65000c0038526f6f744e6f74416c6c6f776564000d000068082873705f72756e74696d652c4d6f64756c654572726f720000080114696e64657808010875380001146572726f7244018c5b75383b204d41585f4d4f44554c455f4552524f525f454e434f4445445f53495a455d00006c082873705f72756e74696d6528546f6b656e4572726f720001284046756e6473556e617661696c61626c65000000304f6e6c7950726f76696465720001003042656c6f774d696e696d756d0002003043616e6e6f7443726561746500030030556e6b6e6f776e41737365740004001846726f7a656e0005002c556e737570706f727465640006004043616e6e6f74437265617465486f6c64000700344e6f74457870656e6461626c650008001c426c6f636b65640009000070083473705f61726974686d657469633c41726974686d657469634572726f7200010c24556e646572666c6f77000000204f766572666c6f77000100384469766973696f6e42795a65726f0002000074082873705f72756e74696d65485472616e73616374696f6e616c4572726f72000108304c696d6974526561636865640000001c4e6f4c6179657200010000780c3870616c6c65745f7574696c6974791870616c6c6574144576656e74000118404261746368496e746572727570746564080114696e64657810010c7533320001146572726f7264013444697370617463684572726f7200000855014261746368206f66206469737061746368657320646964206e6f7420636f6d706c6574652066756c6c792e20496e646578206f66206669727374206661696c696e6720646973706174636820676976656e2c2061734877656c6c20617320746865206572726f722e384261746368436f6d706c65746564000104c84261746368206f66206469737061746368657320636f6d706c657465642066756c6c792077697468206e6f206572726f722e604261746368436f6d706c65746564576974684572726f7273000204b44261746368206f66206469737061746368657320636f6d706c657465642062757420686173206572726f72732e344974656d436f6d706c657465640003041d01412073696e676c65206974656d2077697468696e2061204261746368206f6620646973706174636865732068617320636f6d706c657465642077697468206e6f206572726f722e284974656d4661696c65640401146572726f7264013444697370617463684572726f720004041101412073696e676c65206974656d2077697468696e2061204261746368206f6620646973706174636865732068617320636f6d706c657465642077697468206572726f722e30446973706174636865644173040118726573756c747c01384469737061746368526573756c7400050458412063616c6c2077617320646973706174636865642e047c54686520604576656e746020656e756d206f6620746869732070616c6c65747c0418526573756c740804540180044501640108084f6b040080000000000c4572720400640000010000800000040000840c3c70616c6c65745f62616c616e6365731870616c6c6574144576656e740804540004490001541c456e646f77656408011c6163636f756e74000130543a3a4163636f756e744964000130667265655f62616c616e6365180128543a3a42616c616e6365000004b8416e206163636f756e74207761732063726561746564207769746820736f6d6520667265652062616c616e63652e20447573744c6f737408011c6163636f756e74000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e63650001083d01416e206163636f756e74207761732072656d6f7665642077686f73652062616c616e636520776173206e6f6e2d7a65726f206275742062656c6f77204578697374656e7469616c4465706f7369742c78726573756c74696e6720696e20616e206f75747269676874206c6f73732e205472616e736665720c011066726f6d000130543a3a4163636f756e744964000108746f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e63650002044c5472616e73666572207375636365656465642e2842616c616e636553657408010c77686f000130543a3a4163636f756e74496400011066726565180128543a3a42616c616e636500030468412062616c616e6365207761732073657420627920726f6f742e20526573657276656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e6365000404e0536f6d652062616c616e63652077617320726573657276656420286d6f7665642066726f6d206672656520746f207265736572766564292e28556e726573657276656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e6365000504e8536f6d652062616c616e63652077617320756e726573657276656420286d6f7665642066726f6d20726573657276656420746f2066726565292e4852657365727665526570617472696174656410011066726f6d000130543a3a4163636f756e744964000108746f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e636500014864657374696e6174696f6e5f7374617475738801185374617475730006084d01536f6d652062616c616e636520776173206d6f7665642066726f6d207468652072657365727665206f6620746865206669727374206163636f756e7420746f20746865207365636f6e64206163636f756e742ed846696e616c20617267756d656e7420696e64696361746573207468652064657374696e6174696f6e2062616c616e636520747970652e1c4465706f73697408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e6365000704d8536f6d6520616d6f756e7420776173206465706f73697465642028652e672e20666f72207472616e73616374696f6e2066656573292e20576974686472617708010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e63650008041d01536f6d6520616d6f756e74207761732077697468647261776e2066726f6d20746865206163636f756e742028652e672e20666f72207472616e73616374696f6e2066656573292e1c536c617368656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e63650009040101536f6d6520616d6f756e74207761732072656d6f7665642066726f6d20746865206163636f756e742028652e672e20666f72206d69736265686176696f72292e184d696e74656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e6365000a049c536f6d6520616d6f756e7420776173206d696e74656420696e746f20616e206163636f756e742e184275726e656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e6365000b049c536f6d6520616d6f756e7420776173206275726e65642066726f6d20616e206163636f756e742e2453757370656e64656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e6365000c041501536f6d6520616d6f756e74207761732073757370656e6465642066726f6d20616e206163636f756e74202869742063616e20626520726573746f726564206c61746572292e20526573746f72656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e6365000d04a4536f6d6520616d6f756e742077617320726573746f72656420696e746f20616e206163636f756e742e20557067726164656404010c77686f000130543a3a4163636f756e744964000e0460416e206163636f756e74207761732075706772616465642e18497373756564040118616d6f756e74180128543a3a42616c616e6365000f042d01546f74616c2069737375616e63652077617320696e637265617365642062792060616d6f756e74602c206372656174696e6720612063726564697420746f2062652062616c616e6365642e2452657363696e646564040118616d6f756e74180128543a3a42616c616e63650010042501546f74616c2069737375616e636520776173206465637265617365642062792060616d6f756e74602c206372656174696e672061206465627420746f2062652062616c616e6365642e184c6f636b656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e636500110460536f6d652062616c616e636520776173206c6f636b65642e20556e6c6f636b656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e636500120468536f6d652062616c616e63652077617320756e6c6f636b65642e1846726f7a656e08010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e636500130460536f6d652062616c616e6365207761732066726f7a656e2e1854686177656408010c77686f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e636500140460536f6d652062616c616e636520776173207468617765642e047c54686520604576656e746020656e756d206f6620746869732070616c6c65748814346672616d655f737570706f72741874726169747318746f6b656e73106d6973633442616c616e63655374617475730001081046726565000000205265736572766564000100008c0c6870616c6c65745f7472616e73616374696f6e5f7061796d656e741870616c6c6574144576656e74040454000104485472616e73616374696f6e466565506169640c010c77686f000130543a3a4163636f756e74496400012861637475616c5f66656518013042616c616e63654f663c543e00010c74697018013042616c616e63654f663c543e000008590141207472616e73616374696f6e20666565206061637475616c5f666565602c206f662077686963682060746970602077617320616464656420746f20746865206d696e696d756d20696e636c7573696f6e206665652c5c686173206265656e2070616964206279206077686f602e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574900c2c70616c6c65745f7375646f1870616c6c6574144576656e7404045400010c14537564696404012c7375646f5f726573756c747c01384469737061746368526573756c7404b454686520726573756c74206f66207468652063616c6c206d61646520627920746865207375646f20757365722e00047041207375646f2063616c6c206a75737420746f6f6b20706c6163652e284b65794368616e6765640401286f6c645f7375646f65729401504f7074696f6e3c543a3a4163636f756e7449643e04ac546865206f6c64207375646f206b6579206966206f6e65207761732070726576696f75736c79207365742e010478546865207375646f206b657920686173206265656e20757064617465642e285375646f4173446f6e6504012c7375646f5f726573756c747c01384469737061746368526573756c7404b454686520726573756c74206f66207468652063616c6c206d61646520627920746865207375646f20757365722e0204c841205b7375646f5f61735d2850616c6c65743a3a7375646f5f6173292063616c6c206a75737420746f6f6b20706c6163652e047c54686520604576656e746020656e756d206f6620746869732070616c6c65749404184f7074696f6e04045401000108104e6f6e6500000010536f6d650400000000010000980c4070616c6c65745f636f6e7472616374731870616c6c6574144576656e7404045400012830496e7374616e7469617465640801206465706c6f796572000130543a3a4163636f756e744964000120636f6e7472616374000130543a3a4163636f756e744964000004d8436f6e7472616374206465706c6f7965642062792061646472657373206174207468652073706563696669656420616464726573732e285465726d696e61746564080120636f6e7472616374000130543a3a4163636f756e744964048454686520636f6e7472616374207468617420776173207465726d696e617465642e012c62656e6566696369617279000130543a3a4163636f756e74496404e4546865206163636f756e7420746861742072656365697665642074686520636f6e7472616374732072656d61696e696e672062616c616e6365011868436f6e747261637420686173206265656e2072656d6f7665642e001823204e6f7465003d01546865206f6e6c792077617920666f72206120636f6e747261637420746f2062652072656d6f76656420616e6420656d697474696e672074686973206576656e742069732062792063616c6c696e6744607365616c5f7465726d696e617465602e28436f646553746f7265640c0124636f64655f6861736830011c543a3a486173680001306465706f7369745f68656c6418013042616c616e63654f663c543e00012075706c6f61646572000130543a3a4163636f756e744964000204b4436f646520776974682074686520737065636966696564206861736820686173206265656e2073746f7265642e3c436f6e7472616374456d6974746564080120636f6e7472616374000130543a3a4163636f756e744964049054686520636f6e7472616374207468617420656d697474656420746865206576656e742e01106461746134011c5665633c75383e0835014461746120737570706c6965642062792074686520636f6e74726163742e204d657461646174612067656e65726174656420647572696e6720636f6e747261637420636f6d70696c6174696f6e5c6973206e656564656420746f206465636f64652069742e03049c4120637573746f6d206576656e7420656d69747465642062792074686520636f6e74726163742e2c436f646552656d6f7665640c0124636f64655f6861736830011c543a3a486173680001406465706f7369745f72656c656173656418013042616c616e63654f663c543e00011c72656d6f766572000130543a3a4163636f756e744964000404ac4120636f6465207769746820746865207370656369666965642068617368207761732072656d6f7665642e4c436f6e7472616374436f6465557064617465640c0120636f6e7472616374000130543a3a4163636f756e744964048c54686520636f6e7472616374207468617420686173206265656e20757064617465642e01346e65775f636f64655f6861736830011c543a3a4861736804b04e657720636f646520686173682074686174207761732073657420666f722074686520636f6e74726163742e01346f6c645f636f64655f6861736830011c543a3a48617368048c50726576696f757320636f64652068617368206f662074686520636f6e74726163742e0504784120636f6e7472616374277320636f64652077617320757064617465642e1843616c6c656408011863616c6c65729c01244f726967696e3c543e04745468652063616c6c6572206f66207468652060636f6e7472616374602e0120636f6e7472616374000130543a3a4163636f756e744964047454686520636f6e74726163742074686174207761732063616c6c65642e061c11014120636f6e7472616374207761732063616c6c656420656974686572206279206120706c61696e206163636f756e74206f7220616e6f7468657220636f6e74726163742e001823204e6f7465003101506c65617365206b65657020696e206d696e642074686174206c696b6520616c6c206576656e74732074686973206973206f6e6c7920656d697474656420666f72207375636365737366756c290163616c6c732e20546869732069732062656361757365206f6e206661696c75726520616c6c2073746f72616765206368616e67657320696e636c7564696e67206576656e74732061726530726f6c6c6564206261636b2e3844656c656761746543616c6c6564080120636f6e7472616374000130543a3a4163636f756e74496408210154686520636f6e7472616374207468617420706572666f726d6564207468652064656c65676174652063616c6c20616e642068656e636520696e2077686f736520636f6e74657874707468652060636f64655f68617368602069732065786563757465642e0124636f64655f6861736830012c436f6465486173683c543e049c54686520636f646520686173682074686174207761732064656c65676174652063616c6c65642e071c9c4120636f6e74726163742064656c65676174652063616c6c6564206120636f646520686173682e001823204e6f7465003101506c65617365206b65657020696e206d696e642074686174206c696b6520616c6c206576656e74732074686973206973206f6e6c7920656d697474656420666f72207375636365737366756c290163616c6c732e20546869732069732062656361757365206f6e206661696c75726520616c6c2073746f72616765206368616e67657320696e636c7564696e67206576656e74732061726530726f6c6c6564206261636b2e8053746f726167654465706f7369745472616e73666572726564416e6448656c640c011066726f6d000130543a3a4163636f756e744964000108746f000130543a3a4163636f756e744964000118616d6f756e7418013042616c616e63654f663c543e000804f4536f6d652066756e64732068617665206265656e207472616e7366657272656420616e642068656c642061732073746f72616765206465706f7369742e9053746f726167654465706f7369745472616e73666572726564416e6452656c65617365640c011066726f6d000130543a3a4163636f756e744964000108746f000130543a3a4163636f756e744964000118616d6f756e7418013042616c616e63654f663c543e000904f8536f6d652073746f72616765206465706f7369742066756e64732068617665206265656e207472616e7366657272656420616e642072656c65617365642e047c54686520604576656e746020656e756d206f6620746869732070616c6c65749c084070616c6c65745f636f6e747261637473184f726967696e04045401a0010810526f6f74000000185369676e65640400000130543a3a4163636f756e74496400010000a00858636f6e7472616374735f6e6f64655f72756e74696d651c52756e74696d6500000000a40c3470616c6c65745f6173736574731870616c6c6574144576656e740804540004490001601c437265617465640c012061737365745f6964100128543a3a4173736574496400011c63726561746f72000130543a3a4163636f756e7449640001146f776e6572000130543a3a4163636f756e74496400000474536f6d6520617373657420636c6173732077617320637265617465642e184973737565640c012061737365745f6964100128543a3a417373657449640001146f776e6572000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e636500010460536f6d65206173736574732077657265206973737565642e2c5472616e7366657272656410012061737365745f6964100128543a3a4173736574496400011066726f6d000130543a3a4163636f756e744964000108746f000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e636500020474536f6d65206173736574732077657265207472616e736665727265642e184275726e65640c012061737365745f6964100128543a3a417373657449640001146f776e6572000130543a3a4163636f756e74496400011c62616c616e6365180128543a3a42616c616e63650003046c536f6d652061737365747320776572652064657374726f7965642e2c5465616d4368616e67656410012061737365745f6964100128543a3a41737365744964000118697373756572000130543a3a4163636f756e74496400011461646d696e000130543a3a4163636f756e74496400011c667265657a6572000130543a3a4163636f756e74496400040470546865206d616e6167656d656e74207465616d206368616e6765642e304f776e65724368616e67656408012061737365745f6964100128543a3a417373657449640001146f776e6572000130543a3a4163636f756e74496400050448546865206f776e6572206368616e6765642e1846726f7a656e08012061737365745f6964100128543a3a4173736574496400010c77686f000130543a3a4163636f756e74496400060478536f6d65206163636f756e74206077686f60207761732066726f7a656e2e1854686177656408012061737365745f6964100128543a3a4173736574496400010c77686f000130543a3a4163636f756e74496400070478536f6d65206163636f756e74206077686f6020776173207468617765642e2c417373657446726f7a656e04012061737365745f6964100128543a3a4173736574496400080484536f6d65206173736574206061737365745f696460207761732066726f7a656e2e2c417373657454686177656404012061737365745f6964100128543a3a4173736574496400090484536f6d65206173736574206061737365745f69646020776173207468617765642e444163636f756e747344657374726f7965640c012061737365745f6964100128543a3a417373657449640001486163636f756e74735f64657374726f79656410010c7533320001486163636f756e74735f72656d61696e696e6710010c753332000a04a04163636f756e747320776572652064657374726f79656420666f7220676976656e2061737365742e48417070726f76616c7344657374726f7965640c012061737365745f6964100128543a3a4173736574496400014c617070726f76616c735f64657374726f79656410010c75333200014c617070726f76616c735f72656d61696e696e6710010c753332000b04a4417070726f76616c7320776572652064657374726f79656420666f7220676976656e2061737365742e484465737472756374696f6e5374617274656404012061737365745f6964100128543a3a41737365744964000c04d0416e20617373657420636c61737320697320696e207468652070726f63657373206f66206265696e672064657374726f7965642e2444657374726f79656404012061737365745f6964100128543a3a41737365744964000d0474416e20617373657420636c617373207761732064657374726f7965642e30466f7263654372656174656408012061737365745f6964100128543a3a417373657449640001146f776e6572000130543a3a4163636f756e744964000e048c536f6d6520617373657420636c6173732077617320666f7263652d637265617465642e2c4d6574616461746153657414012061737365745f6964100128543a3a417373657449640001106e616d6534011c5665633c75383e00011873796d626f6c34011c5665633c75383e000120646563696d616c73080108753800012469735f66726f7a656ea80110626f6f6c000f049c4e6577206d6574616461746120686173206265656e2073657420666f7220616e2061737365742e3c4d65746164617461436c656172656404012061737365745f6964100128543a3a417373657449640010049c4d6574616461746120686173206265656e20636c656172656420666f7220616e2061737365742e40417070726f7665645472616e7366657210012061737365745f6964100128543a3a41737365744964000118736f75726365000130543a3a4163636f756e74496400012064656c6567617465000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e63650011043101284164646974696f6e616c292066756e64732068617665206265656e20617070726f76656420666f72207472616e7366657220746f20612064657374696e6174696f6e206163636f756e742e44417070726f76616c43616e63656c6c65640c012061737365745f6964100128543a3a417373657449640001146f776e6572000130543a3a4163636f756e74496400012064656c6567617465000130543a3a4163636f756e744964001204f0416e20617070726f76616c20666f72206163636f756e74206064656c656761746560207761732063616e63656c6c656420627920606f776e6572602e4c5472616e73666572726564417070726f76656414012061737365745f6964100128543a3a417373657449640001146f776e6572000130543a3a4163636f756e74496400012064656c6567617465000130543a3a4163636f756e74496400012c64657374696e6174696f6e000130543a3a4163636f756e744964000118616d6f756e74180128543a3a42616c616e63650013083101416e2060616d6f756e746020776173207472616e7366657272656420696e2069747320656e7469726574792066726f6d20606f776e65726020746f206064657374696e6174696f6e602062796074686520617070726f766564206064656c6567617465602e4841737365745374617475734368616e67656404012061737365745f6964100128543a3a41737365744964001404f8416e2061737365742068617320686164206974732061747472696275746573206368616e676564206279207468652060466f72636560206f726967696e2e5841737365744d696e42616c616e63654368616e67656408012061737365745f6964100128543a3a4173736574496400013c6e65775f6d696e5f62616c616e6365180128543a3a42616c616e63650015040101546865206d696e5f62616c616e6365206f6620616e20617373657420686173206265656e207570646174656420627920746865206173736574206f776e65722e1c546f75636865640c012061737365745f6964100128543a3a4173736574496400010c77686f000130543a3a4163636f756e7449640001246465706f7369746f72000130543a3a4163636f756e744964001604fc536f6d65206163636f756e74206077686f6020776173206372656174656420776974682061206465706f7369742066726f6d20606465706f7369746f72602e1c426c6f636b656408012061737365745f6964100128543a3a4173736574496400010c77686f000130543a3a4163636f756e7449640017047c536f6d65206163636f756e74206077686f602077617320626c6f636b65642e047c54686520604576656e746020656e756d206f6620746869732070616c6c6574a80000050000ac08306672616d655f73797374656d14506861736500010c384170706c7945787472696e736963040010010c7533320000003046696e616c697a6174696f6e00010038496e697469616c697a6174696f6e00020000b00000023000b4000002b800b800000408101000bc08306672616d655f73797374656d584c61737452756e74696d6555706772616465496e666f0000080130737065635f76657273696f6ec0014c636f6465633a3a436f6d706163743c7533323e000124737065635f6e616d65c4016473705f72756e74696d653a3a52756e74696d65537472696e670000c00000061000c40000050200c80c306672616d655f73797374656d1870616c6c65741043616c6c0404540001201872656d61726b04011872656d61726b34011c5665633c75383e0000045c536565205b6050616c6c65743a3a72656d61726b605d2e387365745f686561705f706167657304011470616765732c010c7536340001047c536565205b6050616c6c65743a3a7365745f686561705f7061676573605d2e207365745f636f6465040110636f646534011c5665633c75383e00020464536565205b6050616c6c65743a3a7365745f636f6465605d2e5c7365745f636f64655f776974686f75745f636865636b73040110636f646534011c5665633c75383e000304a0536565205b6050616c6c65743a3a7365745f636f64655f776974686f75745f636865636b73605d2e2c7365745f73746f726167650401146974656d73cc01345665633c4b657956616c75653e00040470536565205b6050616c6c65743a3a7365745f73746f72616765605d2e306b696c6c5f73746f726167650401106b657973d401205665633c4b65793e00050474536565205b6050616c6c65743a3a6b696c6c5f73746f72616765605d2e2c6b696c6c5f70726566697808011870726566697834010c4b657900011c7375626b65797310010c75333200060470536565205b6050616c6c65743a3a6b696c6c5f707265666978605d2e4472656d61726b5f776974685f6576656e7404011872656d61726b34011c5665633c75383e00070488536565205b6050616c6c65743a3a72656d61726b5f776974685f6576656e74605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732ecc000002d000d000000408343400d40000023400d80c306672616d655f73797374656d186c696d69747330426c6f636b5765696768747300000c0128626173655f626c6f636b2401185765696768740001246d61785f626c6f636b2401185765696768740001247065725f636c617373dc01845065724469737061746368436c6173733c57656967687473506572436c6173733e0000dc0c346672616d655f737570706f7274206469737061746368405065724469737061746368436c61737304045401e0000c01186e6f726d616ce001045400012c6f7065726174696f6e616ce00104540001246d616e6461746f7279e00104540000e00c306672616d655f73797374656d186c696d6974733c57656967687473506572436c6173730000100138626173655f65787472696e7369632401185765696768740001346d61785f65787472696e736963e401384f7074696f6e3c5765696768743e0001246d61785f746f74616ce401384f7074696f6e3c5765696768743e0001207265736572766564e401384f7074696f6e3c5765696768743e0000e404184f7074696f6e04045401240108104e6f6e6500000010536f6d650400240000010000e80c306672616d655f73797374656d186c696d6974732c426c6f636b4c656e677468000004010c6d6178ec01545065724469737061746368436c6173733c7533323e0000ec0c346672616d655f737570706f7274206469737061746368405065724469737061746368436c6173730404540110000c01186e6f726d616c1001045400012c6f7065726174696f6e616c100104540001246d616e6461746f7279100104540000f0082873705f776569676874733c52756e74696d6544625765696768740000080110726561642c010c75363400011477726974652c010c7536340000f4082873705f76657273696f6e3852756e74696d6556657273696f6e0000200124737065635f6e616d65c4013452756e74696d65537472696e67000124696d706c5f6e616d65c4013452756e74696d65537472696e67000144617574686f72696e675f76657273696f6e10010c753332000130737065635f76657273696f6e10010c753332000130696d706c5f76657273696f6e10010c75333200011061706973f8011c4170697356656300014c7472616e73616374696f6e5f76657273696f6e10010c75333200013473746174655f76657273696f6e08010875380000f8040c436f7704045401fc000400fc000000fc000002010100010100000408050110000501000003080000000800090100000504000d010c306672616d655f73797374656d1870616c6c6574144572726f720404540001183c496e76616c6964537065634e616d650000081101546865206e616d65206f662073706563696669636174696f6e20646f6573206e6f74206d61746368206265747765656e207468652063757272656e742072756e74696d6550616e6420746865206e65772072756e74696d652e685370656356657273696f6e4e65656473546f496e63726561736500010841015468652073706563696669636174696f6e2076657273696f6e206973206e6f7420616c6c6f77656420746f206465637265617365206265747765656e207468652063757272656e742072756e74696d6550616e6420746865206e65772072756e74696d652e744661696c6564546f4578747261637452756e74696d6556657273696f6e00020cec4661696c656420746f2065787472616374207468652072756e74696d652076657273696f6e2066726f6d20746865206e65772072756e74696d652e0009014569746865722063616c6c696e672060436f72655f76657273696f6e60206f72206465636f64696e67206052756e74696d6556657273696f6e60206661696c65642e4c4e6f6e44656661756c74436f6d706f73697465000304fc537569636964652063616c6c6564207768656e20746865206163636f756e7420686173206e6f6e2d64656661756c7420636f6d706f7369746520646174612e3c4e6f6e5a65726f526566436f756e74000404350154686572652069732061206e6f6e2d7a65726f207265666572656e636520636f756e742070726576656e74696e6720746865206163636f756e742066726f6d206265696e67207075726765642e3043616c6c46696c7465726564000504d0546865206f726967696e2066696c7465722070726576656e74207468652063616c6c20746f20626520646973706174636865642e046c4572726f7220666f72207468652053797374656d2070616c6c657411010c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540130045300000400b001185665633c543e000015010c3870616c6c65745f7574696c6974791870616c6c65741043616c6c04045400011814626174636804011463616c6c731901017c5665633c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e00000458536565205b6050616c6c65743a3a6261746368605d2e3461735f64657269766174697665080114696e6465780901010c75313600011063616c6c1d01017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e00010478536565205b6050616c6c65743a3a61735f64657269766174697665605d2e2462617463685f616c6c04011463616c6c731901017c5665633c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e00020468536565205b6050616c6c65743a3a62617463685f616c6c605d2e2c64697370617463685f617308012461735f6f726967696e51010154426f783c543a3a50616c6c6574734f726967696e3e00011063616c6c1d01017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e00030470536565205b6050616c6c65743a3a64697370617463685f6173605d2e2c666f7263655f626174636804011463616c6c731901017c5665633c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e00040470536565205b6050616c6c65743a3a666f7263655f6261746368605d2e2c776974685f77656967687408011063616c6c1d01017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e00011877656967687424011857656967687400050470536565205b6050616c6c65743a3a776974685f776569676874605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e19010000021d01001d010858636f6e7472616374735f6e6f64655f72756e74696d652c52756e74696d6543616c6c00011c1853797374656d0400c801ad0173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c53797374656d2c2052756e74696d653e0000001c5574696c6974790400150101b10173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c5574696c6974792c2052756e74696d653e0002002454696d657374616d700400210101b90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c54696d657374616d702c2052756e74696d653e0003002042616c616e6365730400250101b50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c42616c616e6365732c2052756e74696d653e000400105375646f04003d0101a50173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c5375646f2c2052756e74696d653e00070024436f6e7472616374730400410101b90173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c436f6e7472616374732c2052756e74696d653e0008001841737365747304004d0101ad0173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a64697370617463680a3a3a43616c6c61626c6543616c6c466f723c4173736574732c2052756e74696d653e0009000021010c4070616c6c65745f74696d657374616d701870616c6c65741043616c6c0404540001040c73657404010c6e6f77280124543a3a4d6f6d656e7400000450536565205b6050616c6c65743a3a736574605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e25010c3c70616c6c65745f62616c616e6365731870616c6c65741043616c6c08045400044900011c507472616e736665725f616c6c6f775f646561746808011064657374290101504163636f756e7449644c6f6f6b75704f663c543e00011476616c756535010128543a3a42616c616e636500000494536565205b6050616c6c65743a3a7472616e736665725f616c6c6f775f6465617468605d2e38666f7263655f7472616e736665720c0118736f75726365290101504163636f756e7449644c6f6f6b75704f663c543e00011064657374290101504163636f756e7449644c6f6f6b75704f663c543e00011476616c756535010128543a3a42616c616e63650002047c536565205b6050616c6c65743a3a666f7263655f7472616e73666572605d2e4c7472616e736665725f6b6565705f616c69766508011064657374290101504163636f756e7449644c6f6f6b75704f663c543e00011476616c756535010128543a3a42616c616e636500030490536565205b6050616c6c65743a3a7472616e736665725f6b6565705f616c697665605d2e307472616e736665725f616c6c08011064657374290101504163636f756e7449644c6f6f6b75704f663c543e0001286b6565705f616c697665a80110626f6f6c00040474536565205b6050616c6c65743a3a7472616e736665725f616c6c605d2e3c666f7263655f756e7265736572766508010c77686f290101504163636f756e7449644c6f6f6b75704f663c543e000118616d6f756e74180128543a3a42616c616e636500050480536565205b6050616c6c65743a3a666f7263655f756e72657365727665605d2e40757067726164655f6163636f756e747304010c77686f390101445665633c543a3a4163636f756e7449643e00060484536565205b6050616c6c65743a3a757067726164655f6163636f756e7473605d2e44666f7263655f7365745f62616c616e636508010c77686f290101504163636f756e7449644c6f6f6b75704f663c543e0001206e65775f6672656535010128543a3a42616c616e636500080488536565205b6050616c6c65743a3a666f7263655f7365745f62616c616e6365605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e29010c2873705f72756e74696d65306d756c746961646472657373304d756c74694164647265737308244163636f756e7449640100304163636f756e74496e6465780180011408496404000001244163636f756e74496400000014496e64657804002d0101304163636f756e74496e6465780001000c526177040034011c5665633c75383e0002002441646472657373333204000401205b75383b2033325d000300244164647265737332300400310101205b75383b2032305d000400002d010000068000310100000314000000080035010000061800390100000200003d010c2c70616c6c65745f7375646f1870616c6c65741043616c6c040454000110107375646f04011063616c6c1d01017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e00000454536565205b6050616c6c65743a3a7375646f605d2e547375646f5f756e636865636b65645f77656967687408011063616c6c1d01017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e00011877656967687424011857656967687400010498536565205b6050616c6c65743a3a7375646f5f756e636865636b65645f776569676874605d2e1c7365745f6b657904010c6e6577290101504163636f756e7449644c6f6f6b75704f663c543e00020460536565205b6050616c6c65743a3a7365745f6b6579605d2e1c7375646f5f617308010c77686f290101504163636f756e7449644c6f6f6b75704f663c543e00011063616c6c1d01017c426f783c3c5420617320436f6e6669673e3a3a52756e74696d6543616c6c3e00030460536565205b6050616c6c65743a3a7375646f5f6173605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e41010c4070616c6c65745f636f6e7472616374731870616c6c65741043616c6c0404540001283c63616c6c5f6f6c645f77656967687414011064657374290101504163636f756e7449644c6f6f6b75704f663c543e00011476616c75653501013042616c616e63654f663c543e0001246761735f6c696d69742801244f6c6457656967687400015473746f726167655f6465706f7369745f6c696d6974450101c44f7074696f6e3c3c42616c616e63654f663c543e20617320636f6465633a3a486173436f6d706163743e3a3a547970653e0001106461746134011c5665633c75383e00000480536565205b6050616c6c65743a3a63616c6c5f6f6c645f776569676874605d2e80696e7374616e74696174655f776974685f636f64655f6f6c645f77656967687418011476616c75653501013042616c616e63654f663c543e0001246761735f6c696d69742801244f6c6457656967687400015473746f726167655f6465706f7369745f6c696d6974450101c44f7074696f6e3c3c42616c616e63654f663c543e20617320636f6465633a3a486173436f6d706163743e3a3a547970653e000110636f646534011c5665633c75383e0001106461746134011c5665633c75383e00011073616c7434011c5665633c75383e000104c4536565205b6050616c6c65743a3a696e7374616e74696174655f776974685f636f64655f6f6c645f776569676874605d2e58696e7374616e74696174655f6f6c645f77656967687418011476616c75653501013042616c616e63654f663c543e0001246761735f6c696d69742801244f6c6457656967687400015473746f726167655f6465706f7369745f6c696d6974450101c44f7074696f6e3c3c42616c616e63654f663c543e20617320636f6465633a3a486173436f6d706163743e3a3a547970653e000124636f64655f6861736830012c436f6465486173683c543e0001106461746134011c5665633c75383e00011073616c7434011c5665633c75383e0002049c536565205b6050616c6c65743a3a696e7374616e74696174655f6f6c645f776569676874605d2e2c75706c6f61645f636f64650c0110636f646534011c5665633c75383e00015473746f726167655f6465706f7369745f6c696d6974450101c44f7074696f6e3c3c42616c616e63654f663c543e20617320636f6465633a3a486173436f6d706163743e3a3a547970653e00012c64657465726d696e69736d4901012c44657465726d696e69736d00030470536565205b6050616c6c65743a3a75706c6f61645f636f6465605d2e2c72656d6f76655f636f6465040124636f64655f6861736830012c436f6465486173683c543e00040470536565205b6050616c6c65743a3a72656d6f76655f636f6465605d2e207365745f636f646508011064657374290101504163636f756e7449644c6f6f6b75704f663c543e000124636f64655f6861736830012c436f6465486173683c543e00050464536565205b6050616c6c65743a3a7365745f636f6465605d2e1063616c6c14011064657374290101504163636f756e7449644c6f6f6b75704f663c543e00011476616c75653501013042616c616e63654f663c543e0001246761735f6c696d697424011857656967687400015473746f726167655f6465706f7369745f6c696d6974450101c44f7074696f6e3c3c42616c616e63654f663c543e20617320636f6465633a3a486173436f6d706163743e3a3a547970653e0001106461746134011c5665633c75383e00060454536565205b6050616c6c65743a3a63616c6c605d2e54696e7374616e74696174655f776974685f636f646518011476616c75653501013042616c616e63654f663c543e0001246761735f6c696d697424011857656967687400015473746f726167655f6465706f7369745f6c696d6974450101c44f7074696f6e3c3c42616c616e63654f663c543e20617320636f6465633a3a486173436f6d706163743e3a3a547970653e000110636f646534011c5665633c75383e0001106461746134011c5665633c75383e00011073616c7434011c5665633c75383e00070498536565205b6050616c6c65743a3a696e7374616e74696174655f776974685f636f6465605d2e2c696e7374616e746961746518011476616c75653501013042616c616e63654f663c543e0001246761735f6c696d697424011857656967687400015473746f726167655f6465706f7369745f6c696d6974450101c44f7074696f6e3c3c42616c616e63654f663c543e20617320636f6465633a3a486173436f6d706163743e3a3a547970653e000124636f64655f6861736830012c436f6465486173683c543e0001106461746134011c5665633c75383e00011073616c7434011c5665633c75383e00080470536565205b6050616c6c65743a3a696e7374616e7469617465605d2e1c6d6967726174650401307765696768745f6c696d697424011857656967687400090460536565205b6050616c6c65743a3a6d696772617465605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e450104184f7074696f6e0404540135010108104e6f6e6500000010536f6d6504003501000001000049010c4070616c6c65745f636f6e747261637473107761736d2c44657465726d696e69736d00010820456e666f726365640000001c52656c61786564000100004d010c3470616c6c65745f6173736574731870616c6c65741043616c6c080454000449000180186372656174650c01086964c0014c543a3a41737365744964506172616d6574657200011461646d696e290101504163636f756e7449644c6f6f6b75704f663c543e00012c6d696e5f62616c616e6365180128543a3a42616c616e63650000045c536565205b6050616c6c65743a3a637265617465605d2e30666f7263655f6372656174651001086964c0014c543a3a41737365744964506172616d657465720001146f776e6572290101504163636f756e7449644c6f6f6b75704f663c543e00013469735f73756666696369656e74a80110626f6f6c00012c6d696e5f62616c616e636535010128543a3a42616c616e636500010474536565205b6050616c6c65743a3a666f7263655f637265617465605d2e3473746172745f64657374726f790401086964c0014c543a3a41737365744964506172616d6574657200020478536565205b6050616c6c65743a3a73746172745f64657374726f79605d2e4064657374726f795f6163636f756e74730401086964c0014c543a3a41737365744964506172616d6574657200030484536565205b6050616c6c65743a3a64657374726f795f6163636f756e7473605d2e4464657374726f795f617070726f76616c730401086964c0014c543a3a41737365744964506172616d6574657200040488536565205b6050616c6c65743a3a64657374726f795f617070726f76616c73605d2e3866696e6973685f64657374726f790401086964c0014c543a3a41737365744964506172616d657465720005047c536565205b6050616c6c65743a3a66696e6973685f64657374726f79605d2e106d696e740c01086964c0014c543a3a41737365744964506172616d6574657200012c62656e6566696369617279290101504163636f756e7449644c6f6f6b75704f663c543e000118616d6f756e7435010128543a3a42616c616e636500060454536565205b6050616c6c65743a3a6d696e74605d2e106275726e0c01086964c0014c543a3a41737365744964506172616d6574657200010c77686f290101504163636f756e7449644c6f6f6b75704f663c543e000118616d6f756e7435010128543a3a42616c616e636500070454536565205b6050616c6c65743a3a6275726e605d2e207472616e736665720c01086964c0014c543a3a41737365744964506172616d65746572000118746172676574290101504163636f756e7449644c6f6f6b75704f663c543e000118616d6f756e7435010128543a3a42616c616e636500080464536565205b6050616c6c65743a3a7472616e73666572605d2e4c7472616e736665725f6b6565705f616c6976650c01086964c0014c543a3a41737365744964506172616d65746572000118746172676574290101504163636f756e7449644c6f6f6b75704f663c543e000118616d6f756e7435010128543a3a42616c616e636500090490536565205b6050616c6c65743a3a7472616e736665725f6b6565705f616c697665605d2e38666f7263655f7472616e736665721001086964c0014c543a3a41737365744964506172616d65746572000118736f75726365290101504163636f756e7449644c6f6f6b75704f663c543e00011064657374290101504163636f756e7449644c6f6f6b75704f663c543e000118616d6f756e7435010128543a3a42616c616e6365000a047c536565205b6050616c6c65743a3a666f7263655f7472616e73666572605d2e18667265657a650801086964c0014c543a3a41737365744964506172616d6574657200010c77686f290101504163636f756e7449644c6f6f6b75704f663c543e000b045c536565205b6050616c6c65743a3a667265657a65605d2e10746861770801086964c0014c543a3a41737365744964506172616d6574657200010c77686f290101504163636f756e7449644c6f6f6b75704f663c543e000c0454536565205b6050616c6c65743a3a74686177605d2e30667265657a655f61737365740401086964c0014c543a3a41737365744964506172616d65746572000d0474536565205b6050616c6c65743a3a667265657a655f6173736574605d2e28746861775f61737365740401086964c0014c543a3a41737365744964506172616d65746572000e046c536565205b6050616c6c65743a3a746861775f6173736574605d2e487472616e736665725f6f776e6572736869700801086964c0014c543a3a41737365744964506172616d657465720001146f776e6572290101504163636f756e7449644c6f6f6b75704f663c543e000f048c536565205b6050616c6c65743a3a7472616e736665725f6f776e657273686970605d2e207365745f7465616d1001086964c0014c543a3a41737365744964506172616d65746572000118697373756572290101504163636f756e7449644c6f6f6b75704f663c543e00011461646d696e290101504163636f756e7449644c6f6f6b75704f663c543e00011c667265657a6572290101504163636f756e7449644c6f6f6b75704f663c543e00100464536565205b6050616c6c65743a3a7365745f7465616d605d2e307365745f6d657461646174611001086964c0014c543a3a41737365744964506172616d657465720001106e616d6534011c5665633c75383e00011873796d626f6c34011c5665633c75383e000120646563696d616c73080108753800110474536565205b6050616c6c65743a3a7365745f6d65746164617461605d2e38636c6561725f6d657461646174610401086964c0014c543a3a41737365744964506172616d657465720012047c536565205b6050616c6c65743a3a636c6561725f6d65746164617461605d2e48666f7263655f7365745f6d657461646174611401086964c0014c543a3a41737365744964506172616d657465720001106e616d6534011c5665633c75383e00011873796d626f6c34011c5665633c75383e000120646563696d616c73080108753800012469735f66726f7a656ea80110626f6f6c0013048c536565205b6050616c6c65743a3a666f7263655f7365745f6d65746164617461605d2e50666f7263655f636c6561725f6d657461646174610401086964c0014c543a3a41737365744964506172616d6574657200140494536565205b6050616c6c65743a3a666f7263655f636c6561725f6d65746164617461605d2e48666f7263655f61737365745f7374617475732001086964c0014c543a3a41737365744964506172616d657465720001146f776e6572290101504163636f756e7449644c6f6f6b75704f663c543e000118697373756572290101504163636f756e7449644c6f6f6b75704f663c543e00011461646d696e290101504163636f756e7449644c6f6f6b75704f663c543e00011c667265657a6572290101504163636f756e7449644c6f6f6b75704f663c543e00012c6d696e5f62616c616e636535010128543a3a42616c616e636500013469735f73756666696369656e74a80110626f6f6c00012469735f66726f7a656ea80110626f6f6c0015048c536565205b6050616c6c65743a3a666f7263655f61737365745f737461747573605d2e40617070726f76655f7472616e736665720c01086964c0014c543a3a41737365744964506172616d6574657200012064656c6567617465290101504163636f756e7449644c6f6f6b75704f663c543e000118616d6f756e7435010128543a3a42616c616e636500160484536565205b6050616c6c65743a3a617070726f76655f7472616e73666572605d2e3c63616e63656c5f617070726f76616c0801086964c0014c543a3a41737365744964506172616d6574657200012064656c6567617465290101504163636f756e7449644c6f6f6b75704f663c543e00170480536565205b6050616c6c65743a3a63616e63656c5f617070726f76616c605d2e54666f7263655f63616e63656c5f617070726f76616c0c01086964c0014c543a3a41737365744964506172616d657465720001146f776e6572290101504163636f756e7449644c6f6f6b75704f663c543e00012064656c6567617465290101504163636f756e7449644c6f6f6b75704f663c543e00180498536565205b6050616c6c65743a3a666f7263655f63616e63656c5f617070726f76616c605d2e447472616e736665725f617070726f7665641001086964c0014c543a3a41737365744964506172616d657465720001146f776e6572290101504163636f756e7449644c6f6f6b75704f663c543e00012c64657374696e6174696f6e290101504163636f756e7449644c6f6f6b75704f663c543e000118616d6f756e7435010128543a3a42616c616e636500190488536565205b6050616c6c65743a3a7472616e736665725f617070726f766564605d2e14746f7563680401086964c0014c543a3a41737365744964506172616d65746572001a0458536565205b6050616c6c65743a3a746f756368605d2e18726566756e640801086964c0014c543a3a41737365744964506172616d65746572000128616c6c6f775f6275726ea80110626f6f6c001b045c536565205b6050616c6c65743a3a726566756e64605d2e3c7365745f6d696e5f62616c616e63650801086964c0014c543a3a41737365744964506172616d6574657200012c6d696e5f62616c616e6365180128543a3a42616c616e6365001c0480536565205b6050616c6c65743a3a7365745f6d696e5f62616c616e6365605d2e2c746f7563685f6f746865720801086964c0014c543a3a41737365744964506172616d6574657200010c77686f290101504163636f756e7449644c6f6f6b75704f663c543e001d0470536565205b6050616c6c65743a3a746f7563685f6f74686572605d2e30726566756e645f6f746865720801086964c0014c543a3a41737365744964506172616d6574657200010c77686f290101504163636f756e7449644c6f6f6b75704f663c543e001e0474536565205b6050616c6c65743a3a726566756e645f6f74686572605d2e14626c6f636b0801086964c0014c543a3a41737365744964506172616d6574657200010c77686f290101504163636f756e7449644c6f6f6b75704f663c543e001f0458536565205b6050616c6c65743a3a626c6f636b605d2e040d01436f6e7461696e7320612076617269616e742070657220646973706174636861626c652065787472696e736963207468617420746869732070616c6c6574206861732e51010858636f6e7472616374735f6e6f64655f72756e74696d65304f726967696e43616c6c65720001081873797374656d0400550101746672616d655f73797374656d3a3a4f726967696e3c52756e74696d653e00000010566f69640400590101410173656c663a3a73705f6170695f68696464656e5f696e636c756465735f636f6e7374727563745f72756e74696d653a3a68696464656e5f696e636c7564653a3a0a5f5f707269766174653a3a566f69640001000055010c346672616d655f737570706f7274206469737061746368245261774f726967696e04244163636f756e7449640100010c10526f6f74000000185369676e656404000001244163636f756e744964000100104e6f6e65000200005901081c73705f636f726510566f6964000100005d010c3870616c6c65745f7574696c6974791870616c6c6574144572726f7204045400010430546f6f4d616e7943616c6c730000045c546f6f206d616e792063616c6c7320626174636865642e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e61010c4c626f756e6465645f636f6c6c656374696f6e73407765616b5f626f756e6465645f766563385765616b426f756e6465645665630804540165010453000004006d0101185665633c543e000065010c3c70616c6c65745f62616c616e6365731474797065732c42616c616e63654c6f636b041c42616c616e63650118000c01086964050101384c6f636b4964656e746966696572000118616d6f756e7418011c42616c616e636500011c726561736f6e736901011c526561736f6e73000069010c3c70616c6c65745f62616c616e6365731474797065731c526561736f6e7300010c0c466565000000104d6973630001000c416c6c000200006d0100000265010071010c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454017501045300000400790101185665633c543e000075010c3c70616c6c65745f62616c616e6365731474797065732c52657365727665446174610844526573657276654964656e7469666965720105011c42616c616e6365011800080108696405010144526573657276654964656e746966696572000118616d6f756e7418011c42616c616e6365000079010000027501007d010c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e6465645665630804540181010453000004008d0101185665633c543e000081010c3c70616c6c65745f62616c616e636573147479706573204964416d6f756e74080849640185011c42616c616e63650118000801086964850101084964000118616d6f756e7418011c42616c616e6365000085010858636f6e7472616374735f6e6f64655f72756e74696d654452756e74696d65486f6c64526561736f6e00010424436f6e74726163747304008901017070616c6c65745f636f6e7472616374733a3a486f6c64526561736f6e0008000089010c4070616c6c65745f636f6e7472616374731870616c6c657428486f6c64526561736f6e00010860436f646555706c6f61644465706f736974526573657276650000005453746f726167654465706f73697452657365727665000100008d0100000281010091010c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e646564566563080454019501045300000400990101185665633c543e000095010c3c70616c6c65745f62616c616e636573147479706573204964416d6f756e740808496401801c42616c616e636501180008010869648001084964000118616d6f756e7418011c42616c616e6365000099010000029501009d010c3c70616c6c65745f62616c616e6365731870616c6c6574144572726f720804540004490001283856657374696e6742616c616e63650000049c56657374696e672062616c616e636520746f6f206869676820746f2073656e642076616c75652e544c69717569646974795265737472696374696f6e73000104c84163636f756e74206c6971756964697479207265737472696374696f6e732070726576656e74207769746864726177616c2e4c496e73756666696369656e7442616c616e63650002047842616c616e636520746f6f206c6f7720746f2073656e642076616c75652e484578697374656e7469616c4465706f736974000304ec56616c756520746f6f206c6f7720746f20637265617465206163636f756e742064756520746f206578697374656e7469616c206465706f7369742e34457870656e646162696c697479000404905472616e736665722f7061796d656e7420776f756c64206b696c6c206163636f756e742e5c4578697374696e6756657374696e675363686564756c65000504cc412076657374696e67207363686564756c6520616c72656164792065786973747320666f722074686973206163636f756e742e2c446561644163636f756e740006048c42656e6566696369617279206163636f756e74206d757374207072652d65786973742e3c546f6f4d616e795265736572766573000704b84e756d626572206f66206e616d65642072657365727665732065786365656420604d61785265736572766573602e30546f6f4d616e79486f6c6473000804884e756d626572206f6620686f6c64732065786365656420604d6178486f6c6473602e38546f6f4d616e79467265657a6573000904984e756d626572206f6620667265657a65732065786365656420604d6178467265657a6573602e048054686520604572726f726020656e756d206f6620746869732070616c6c65742ea1010c3473705f61726974686d657469632c66697865645f706f696e742446697865645531323800000400180110753132380000a501086870616c6c65745f7472616e73616374696f6e5f7061796d656e742052656c6561736573000108245631416e6369656e7400000008563200010000a9010c2c70616c6c65745f7375646f1870616c6c6574144572726f720404540001042c526571756972655375646f0000047c53656e646572206d75737420626520746865205375646f206163636f756e7404644572726f7220666f7220746865205375646f2070616c6c6574ad010c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003401185665633c543e0000b1010c4070616c6c65745f636f6e747261637473107761736d20436f6465496e666f04045400001401146f776e65720001384163636f756e7449644f663c543e00011c6465706f7369743501013042616c616e63654f663c543e000120726566636f756e7428010c75363400012c64657465726d696e69736d4901012c44657465726d696e69736d000120636f64655f6c656e10010c7533320000b5010c4070616c6c65745f636f6e7472616374731c73746f7261676530436f6e7472616374496e666f040454000020011c747269655f6964b9010118547269654964000124636f64655f6861736830012c436f6465486173683c543e00013473746f726167655f627974657310010c75333200013473746f726167655f6974656d7310010c75333200015073746f726167655f627974655f6465706f73697418013042616c616e63654f663c543e00015073746f726167655f6974656d5f6465706f73697418013042616c616e63654f663c543e00015073746f726167655f626173655f6465706f73697418013042616c616e63654f663c543e00015464656c65676174655f646570656e64656e63696573bd01011d01426f756e64656442547265654d61703c436f6465486173683c543e2c2042616c616e63654f663c543e2c20543a3a0a4d617844656c6567617465446570656e64656e636965733e0000b9010c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003401185665633c543e0000bd010c4c626f756e6465645f636f6c6c656374696f6e7344626f756e6465645f62747265655f6d61703c426f756e64656442547265654d61700c044b013004560118045300000400c101013842547265654d61703c4b2c20563e0000c101042042547265654d617008044b013004560118000400c501000000c501000002c90100c90100000408301800cd010c4070616c6c65745f636f6e7472616374731c73746f726167655044656c6574696f6e51756575654d616e616765720404540000080138696e736572745f636f756e74657210010c75333200013864656c6574655f636f756e74657210010c7533320000d1010c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003401185665633c543e0000d5010c4070616c6c65745f636f6e747261637473207363686564756c65205363686564756c6504045400000c01186c696d697473d90101184c696d69747300014c696e737472756374696f6e5f77656967687473dd010154496e737472756374696f6e576569676874733c543e00013c686f73745f666e5f77656967687473e1010140486f7374466e576569676874733c543e0000d9010c4070616c6c65745f636f6e747261637473207363686564756c65184c696d69747300002801306576656e745f746f7069637310010c75333200011c676c6f62616c7310010c7533320001186c6f63616c7310010c753332000128706172616d657465727310010c7533320001306d656d6f72795f706167657310010c7533320001287461626c655f73697a6510010c75333200013462725f7461626c655f73697a6510010c75333200012c7375626a6563745f6c656e10010c75333200012c7061796c6f61645f6c656e10010c75333200013872756e74696d655f6d656d6f727910010c7533320000dd010c4070616c6c65745f636f6e747261637473207363686564756c6548496e737472756374696f6e5765696768747304045400000401106261736510010c7533320000e1010c4070616c6c65745f636f6e747261637473207363686564756c6534486f7374466e576569676874730404540000fc011863616c6c657224011857656967687400012c69735f636f6e7472616374240118576569676874000124636f64655f686173682401185765696768740001346f776e5f636f64655f6861736824011857656967687400014063616c6c65725f69735f6f726967696e24011857656967687400013863616c6c65725f69735f726f6f7424011857656967687400011c616464726573732401185765696768740001206761735f6c65667424011857656967687400011c62616c616e636524011857656967687400014476616c75655f7472616e7366657272656424011857656967687400013c6d696e696d756d5f62616c616e6365240118576569676874000130626c6f636b5f6e756d62657224011857656967687400010c6e6f772401185765696768740001347765696768745f746f5f666565240118576569676874000114696e707574240118576569676874000138696e7075745f7065725f62797465240118576569676874000120722372657475726e24011857656967687400013c72657475726e5f7065725f627974652401185765696768740001247465726d696e61746524011857656967687400011872616e646f6d2401185765696768740001346465706f7369745f6576656e7424011857656967687400015c6465706f7369745f6576656e745f7065725f746f7069632401185765696768740001586465706f7369745f6576656e745f7065725f6279746524011857656967687400013464656275675f6d65737361676524011857656967687400015864656275675f6d6573736167655f7065725f6279746524011857656967687400012c7365745f73746f726167652401185765696768740001607365745f73746f726167655f7065725f6e65775f627974652401185765696768740001607365745f73746f726167655f7065725f6f6c645f627974652401185765696768740001347365745f636f64655f68617368240118576569676874000134636c6561725f73746f72616765240118576569676874000158636c6561725f73746f726167655f7065725f62797465240118576569676874000140636f6e7461696e735f73746f72616765240118576569676874000164636f6e7461696e735f73746f726167655f7065725f6279746524011857656967687400012c6765745f73746f726167652401185765696768740001506765745f73746f726167655f7065725f6279746524011857656967687400013074616b655f73746f7261676524011857656967687400015474616b655f73746f726167655f7065725f627974652401185765696768740001207472616e7366657224011857656967687400011063616c6c24011857656967687400013464656c65676174655f63616c6c24011857656967687400015c63616c6c5f7472616e736665725f73757263686172676524011857656967687400015063616c6c5f7065725f636c6f6e65645f6279746524011857656967687400012c696e7374616e7469617465240118576569676874000178696e7374616e74696174655f7472616e736665725f737572636861726765240118576569676874000168696e7374616e74696174655f7065725f696e7075745f62797465240118576569676874000164696e7374616e74696174655f7065725f73616c745f62797465240118576569676874000134686173685f736861325f323536240118576569676874000158686173685f736861325f3235365f7065725f6279746524011857656967687400013c686173685f6b656363616b5f323536240118576569676874000160686173685f6b656363616b5f3235365f7065725f6279746524011857656967687400013c686173685f626c616b65325f323536240118576569676874000160686173685f626c616b65325f3235365f7065725f6279746524011857656967687400013c686173685f626c616b65325f313238240118576569676874000160686173685f626c616b65325f3132385f7065725f6279746524011857656967687400013465636473615f7265636f76657224011857656967687400015065636473615f746f5f6574685f61646472657373240118576569676874000138737232353531395f76657269667924011857656967687400015c737232353531395f7665726966795f7065725f627974652401185765696768740001407265656e7472616e63655f636f756e742401185765696768740001606163636f756e745f7265656e7472616e63655f636f756e7424011857656967687400014c696e7374616e74696174696f6e5f6e6f6e636524011857656967687400015c6164645f64656c65676174655f646570656e64656e637924011857656967687400016872656d6f76655f64656c65676174655f646570656e64656e63792401185765696768740000e5010c3473705f61726974686d65746963287065725f7468696e67731c50657262696c6c0000040010010c7533320000e901084070616c6c65745f636f6e7472616374732c456e7669726f6e6d656e7404045400001801286163636f756e745f6964ed01017c456e7669726f6e6d656e74547970653c4163636f756e7449644f663c543e3e00011c62616c616e6365f1010174456e7669726f6e6d656e74547970653c42616c616e63654f663c543e3e00011068617368f50101c8456e7669726f6e6d656e74547970653c3c54206173206672616d655f73797374656d3a3a436f6e6669673e3a3a486173683e000118686173686572f90101d4456e7669726f6e6d656e74547970653c3c54206173206672616d655f73797374656d3a3a436f6e6669673e3a3a48617368696e673e00012474696d657374616d7001020170456e7669726f6e6d656e74547970653c4d6f6d656e744f663c543e3e000130626c6f636b5f6e756d62657205020188456e7669726f6e6d656e74547970653c426c6f636b4e756d626572466f723c543e3e0000ed01084070616c6c65745f636f6e7472616374733c456e7669726f6e6d656e74547970650404540100000000f101084070616c6c65745f636f6e7472616374733c456e7669726f6e6d656e74547970650404540118000000f501084070616c6c65745f636f6e7472616374733c456e7669726f6e6d656e74547970650404540130000000f901084070616c6c65745f636f6e7472616374733c456e7669726f6e6d656e745479706504045401fd01000000fd010c2873705f72756e74696d65187472616974732c426c616b6554776f323536000000000102084070616c6c65745f636f6e7472616374733c456e7669726f6e6d656e7454797065040454012c0000000502084070616c6c65745f636f6e7472616374733c456e7669726f6e6d656e7454797065040454011000000009020c4070616c6c65745f636f6e7472616374731870616c6c6574144572726f720404540001883c496e76616c69645363686564756c650000041901496e76616c6964207363686564756c6520737570706c6965642c20652e672e2077697468207a65726f20776569676874206f662061206261736963206f7065726174696f6e2e40496e76616c696443616c6c466c6167730001043501496e76616c696420636f6d62696e6174696f6e206f6620666c61677320737570706c69656420746f20607365616c5f63616c6c60206f7220607365616c5f64656c65676174655f63616c6c602e204f75744f66476173000204b854686520657865637574656420636f6e7472616374206578686175737465642069747320676173206c696d69742e504f7574707574427566666572546f6f536d616c6c0003040101546865206f75747075742062756666657220737570706c69656420746f206120636f6e7472616374204150492063616c6c2077617320746f6f20736d616c6c2e385472616e736665724661696c65640004083501506572666f726d696e672074686520726571756573746564207472616e73666572206661696c65642e2050726f6261626c7920626563617573652074686572652069736e277420656e6f75676894667265652062616c616e636520696e207468652073656e6465722773206163636f756e742e4c4d617843616c6c4465707468526561636865640005082101506572666f726d696e6720612063616c6c207761732064656e6965642062656361757365207468652063616c6c696e67206465707468207265616368656420746865206c696d6974946f6620776861742069732073706563696669656420696e20746865207363686564756c652e40436f6e74726163744e6f74466f756e64000604bc4e6f20636f6e74726163742077617320666f756e64206174207468652073706563696669656420616464726573732e30436f6465546f6f4c617267650007083d0154686520636f646520737570706c69656420746f2060696e7374616e74696174655f776974685f636f646560206578636565647320746865206c696d69742073706563696669656420696e207468654463757272656e74207363686564756c652e30436f64654e6f74466f756e64000804c44e6f20636f646520636f756c6420626520666f756e642061742074686520737570706c69656420636f646520686173682e40436f6465496e666f4e6f74466f756e64000904d84e6f20636f646520696e666f20636f756c6420626520666f756e642061742074686520737570706c69656420636f646520686173682e2c4f75744f66426f756e6473000a0425014120627566666572206f757473696465206f662073616e64626f78206d656d6f7279207761732070617373656420746f206120636f6e7472616374204150492066756e6374696f6e2e384465636f64696e674661696c6564000b042901496e7075742070617373656420746f206120636f6e7472616374204150492066756e6374696f6e206661696c656420746f206465636f646520617320657870656374656420747970652e3c436f6e747261637454726170706564000c0488436f6e7472616374207472617070656420647572696e6720657865637574696f6e2e3456616c7565546f6f4c61726765000d04cc5468652073697a6520646566696e656420696e2060543a3a4d617856616c756553697a6560207761732065786365656465642e605465726d696e617465645768696c655265656e7472616e74000e0819015465726d696e6174696f6e206f66206120636f6e7472616374206973206e6f7420616c6c6f776564207768696c652074686520636f6e747261637420697320616c7265616479e06f6e207468652063616c6c20737461636b2e2043616e2062652074726967676572656420627920607365616c5f7465726d696e617465602e38496e707574466f72776172646564000f044101607365616c5f63616c6c6020666f72776172646564207468697320636f6e74726163747320696e7075742e204974207468657265666f7265206973206e6f206c6f6e67657220617661696c61626c652e5052616e646f6d5375626a656374546f6f4c6f6e67001004d8546865207375626a6563742070617373656420746f20607365616c5f72616e646f6d60206578636565647320746865206c696d69742e34546f6f4d616e79546f706963730011041d0154686520616d6f756e74206f6620746f706963732070617373656420746f20607365616c5f6465706f7369745f6576656e747360206578636565647320746865206c696d69742e404e6f436861696e457874656e73696f6e00120c450154686520636861696e20646f6573206e6f742070726f76696465206120636861696e20657874656e73696f6e2e2043616c6c696e672074686520636861696e20657874656e73696f6e20726573756c74734d01696e2074686973206572726f722e204e6f74652074686174207468697320757375616c6c79202073686f756c646e27742068617070656e206173206465706c6f79696e67207375636820636f6e7472616374733069732072656a65637465642e444475706c6963617465436f6e7472616374001304c84120636f6e74726163742077697468207468652073616d65204163636f756e74496420616c7265616479206578697374732e5c5465726d696e61746564496e436f6e7374727563746f7200140cb84120636f6e74726163742073656c66206465737472756374656420696e2069747320636f6e7374727563746f722e00d0546869732063616e2062652074726967676572656420627920612063616c6c20746f20607365616c5f7465726d696e617465602e405265656e7472616e636544656e6965640015100d01412063616c6c20747269656420746f20696e766f6b65206120636f6e7472616374207468617420697320666c6167676564206173206e6f6e2d7265656e7472616e742e5d01546865206f6e6c79206f74686572206361757365206973207468617420612063616c6c2066726f6d206120636f6e747261637420696e746f207468652072756e74696d6520747269656420746f2063616c6c206261636b4901696e746f206070616c6c65742d636f6e747261637473602e205468697320776f756c64206d616b65207468652077686f6c652070616c6c6574207265656e7472616e7420776974682072656761726420746fbc636f6e747261637420636f646520657865637574696f6e207768696368206973206e6f7420737570706f727465642e7053746f726167654465706f7369744e6f74456e6f75676846756e647300160421014f726967696e20646f65736e2774206861766520656e6f7567682062616c616e636520746f20706179207468652072657175697265642073746f72616765206465706f736974732e7053746f726167654465706f7369744c696d69744578686175737465640017040d014d6f72652073746f72616765207761732063726561746564207468616e20616c6c6f776564206279207468652073746f72616765206465706f736974206c696d69742e24436f6465496e5573650018044901436f64652072656d6f76616c207761732064656e69656420626563617573652074686520636f6465206973207374696c6c20696e20757365206279206174206c65617374206f6e6520636f6e74726163742e40436f6e74726163745265766572746564001910250154686520636f6e74726163742072616e20746f20636f6d706c6574696f6e20627574206465636964656420746f20726576657274206974732073746f72616765206368616e6765732e4901506c65617365206e6f746520746861742074686973206572726f72206973206f6e6c792072657475726e65642066726f6d2065787472696e736963732e205768656e2063616c6c6564206469726563746c795d016f72207669612052504320616e20604f6b602077696c6c2062652072657475726e65642e20496e20746869732063617365207468652063616c6c6572206e6565647320746f20696e73706563742074686520666c616773c4746f2064657465726d696e652077686574686572206120726576657273696f6e206861732074616b656e20706c6163652e30436f646552656a6563746564001a20f854686520636f6e7472616374277320636f64652077617320666f756e6420746f20626520696e76616c696420647572696e672076616c69646174696f6e2e004d01546865206d6f7374206c696b656c79206361757365206f662074686973206973207468617420616e20415049207761732075736564207768696368206973206e6f7420737570706f727465642062792074686551016e6f64652e20546869732068617070656e7320696620616e206f6c646572206e6f6465206973207573656420776974682061206e65772076657273696f6e206f6620696e6b212e20547279207570646174696e67a8796f7572206e6f646520746f20746865206e657765737420617661696c61626c652076657273696f6e2e00510141206d6f72652064657461696c6564206572726f722063616e20626520666f756e64206f6e20746865206e6f646520636f6e736f6c65206966206465627567206d657373616765732061726520656e61626c6564a8627920737570706c79696e6720602d6c72756e74696d653a3a636f6e7472616374733d6465627567602e3c496e64657465726d696e6973746963001b042101416e20696e64657465726d697374696320636f646520776173207573656420696e206120636f6e746578742077686572652074686973206973206e6f74207065726d69747465642e4c4d6967726174696f6e496e50726f6772657373001c042501412070656e64696e67206d6967726174696f6e206e6565647320746f20636f6d706c657465206265666f7265207468652065787472696e7369632063616e2062652063616c6c65642e504e6f4d6967726174696f6e506572666f726d6564001d040d014d6967726174652064697370617463682063616c6c2077617320617474656d7074656420627574206e6f206d6967726174696f6e2077617320706572666f726d65642e784d617844656c6567617465446570656e64656e6369657352656163686564001e04150154686520636f6e747261637420686173207265616368656420697473206d6178696d756d206e756d626572206f662064656c656761746520646570656e64656e636965732e6844656c6567617465446570656e64656e63794e6f74466f756e64001f04150154686520646570656e64656e637920776173206e6f7420666f756e6420696e2074686520636f6e747261637427732064656c656761746520646570656e64656e636965732e7c44656c6567617465446570656e64656e6379416c7265616479457869737473002004f854686520636f6e747261637420616c726561647920646570656e6473206f6e2074686520676976656e2064656c656761746520646570656e64656e63792e8443616e6e6f7441646453656c66417344656c6567617465446570656e64656e6379002104290143616e206e6f742061646420612064656c656761746520646570656e64656e637920746f2074686520636f64652068617368206f662074686520636f6e747261637420697473656c662e048054686520604572726f726020656e756d206f6620746869732070616c6c65742e0d020c3470616c6c65745f61737365747314747970657330417373657444657461696c730c1c42616c616e63650118244163636f756e7449640100384465706f73697442616c616e63650118003001146f776e65720001244163636f756e7449640001186973737565720001244163636f756e74496400011461646d696e0001244163636f756e74496400011c667265657a65720001244163636f756e744964000118737570706c7918011c42616c616e636500011c6465706f7369741801384465706f73697442616c616e636500012c6d696e5f62616c616e636518011c42616c616e636500013469735f73756666696369656e74a80110626f6f6c0001206163636f756e747310010c75333200012c73756666696369656e747310010c753332000124617070726f76616c7310010c7533320001187374617475731102012c4173736574537461747573000011020c3470616c6c65745f6173736574731474797065732c417373657453746174757300010c104c6976650000001846726f7a656e0001002844657374726f79696e670002000015020000040810000019020c3470616c6c65745f6173736574731474797065733041737365744163636f756e74101c42616c616e63650118384465706f73697442616c616e636501181445787472610180244163636f756e74496401000010011c62616c616e636518011c42616c616e63650001187374617475731d0201344163636f756e74537461747573000118726561736f6e210201a84578697374656e6365526561736f6e3c4465706f73697442616c616e63652c204163636f756e7449643e0001146578747261800114457874726100001d020c3470616c6c65745f617373657473147479706573344163636f756e7453746174757300010c184c69717569640000001846726f7a656e0001001c426c6f636b65640002000021020c3470616c6c65745f6173736574731474797065733c4578697374656e6365526561736f6e081c42616c616e63650118244163636f756e7449640100011420436f6e73756d65720000002853756666696369656e740001002c4465706f73697448656c64040018011c42616c616e63650002003c4465706f736974526566756e6465640003002c4465706f73697446726f6d08000001244163636f756e744964000018011c42616c616e63650004000025020000040c1000000029020c3470616c6c65745f61737365747314747970657320417070726f76616c081c42616c616e63650118384465706f73697442616c616e6365011800080118616d6f756e7418011c42616c616e636500011c6465706f7369741801384465706f73697442616c616e636500002d020c3470616c6c65745f6173736574731474797065733441737365744d6574616461746108384465706f73697442616c616e6365011834426f756e646564537472696e670131020014011c6465706f7369741801384465706f73697442616c616e63650001106e616d6531020134426f756e646564537472696e6700011873796d626f6c31020134426f756e646564537472696e67000120646563696d616c73080108753800012469735f66726f7a656ea80110626f6f6c000031020c4c626f756e6465645f636f6c6c656374696f6e732c626f756e6465645f76656328426f756e64656456656308045401080453000004003401185665633c543e000035020c3470616c6c65745f6173736574731870616c6c6574144572726f720804540004490001502842616c616e63654c6f7700000415014163636f756e742062616c616e6365206d7573742062652067726561746572207468616e206f7220657175616c20746f20746865207472616e7366657220616d6f756e742e244e6f4163636f756e7400010490546865206163636f756e7420746f20616c74657220646f6573206e6f742065786973742e304e6f5065726d697373696f6e000204e8546865207369676e696e67206163636f756e7420686173206e6f207065726d697373696f6e20746f20646f20746865206f7065726174696f6e2e1c556e6b6e6f776e0003047854686520676976656e20617373657420494420697320756e6b6e6f776e2e1846726f7a656e00040474546865206f726967696e206163636f756e742069732066726f7a656e2e14496e5573650005047854686520617373657420494420697320616c72656164792074616b656e2e284261645769746e6573730006046c496e76616c6964207769746e657373206461746120676976656e2e384d696e42616c616e63655a65726f0007048c4d696e696d756d2062616c616e63652073686f756c64206265206e6f6e2d7a65726f2e4c556e617661696c61626c65436f6e73756d657200080c5901556e61626c6520746f20696e6372656d656e742074686520636f6e73756d6572207265666572656e636520636f756e74657273206f6e20746865206163636f756e742e20456974686572206e6f2070726f76696465724d017265666572656e63652065786973747320746f20616c6c6f772061206e6f6e2d7a65726f2062616c616e6365206f662061206e6f6e2d73656c662d73756666696369656e742061737365742c206f72206f6e65f06665776572207468656e20746865206d6178696d756d206e756d626572206f6620636f6e73756d65727320686173206265656e20726561636865642e2c4261644d657461646174610009045c496e76616c6964206d6574616461746120676976656e2e28556e617070726f766564000a04c44e6f20617070726f76616c20657869737473207468617420776f756c6420616c6c6f7720746865207472616e736665722e20576f756c64446965000b04350154686520736f75726365206163636f756e7420776f756c64206e6f74207375727669766520746865207472616e7366657220616e64206974206e6565647320746f207374617920616c6976652e34416c7265616479457869737473000c04845468652061737365742d6163636f756e7420616c7265616479206578697374732e244e6f4465706f736974000d04d45468652061737365742d6163636f756e7420646f65736e2774206861766520616e206173736f636961746564206465706f7369742e24576f756c644275726e000e04c4546865206f7065726174696f6e20776f756c6420726573756c7420696e2066756e6473206265696e67206275726e65642e244c6976654173736574000f0859015468652061737365742069732061206c69766520617373657420616e64206973206163746976656c79206265696e6720757365642e20557375616c6c7920656d697420666f72206f7065726174696f6e7320737563681d016173206073746172745f64657374726f796020776869636820726571756972652074686520617373657420746f20626520696e20612064657374726f79696e672073746174652e3041737365744e6f744c697665001004c8546865206173736574206973206e6f74206c6976652c20616e64206c696b656c79206265696e672064657374726f7965642e3c496e636f7272656374537461747573001104b054686520617373657420737461747573206973206e6f7420746865206578706563746564207374617475732e244e6f7446726f7a656e001204d85468652061737365742073686f756c642062652066726f7a656e206265666f72652074686520676976656e206f7065726174696f6e2e3843616c6c6261636b4661696c65640013048443616c6c6261636b20616374696f6e20726573756c74656420696e206572726f72048054686520604572726f726020656e756d206f6620746869732070616c6c65742e3902102873705f72756e74696d651c67656e657269634c756e636865636b65645f65787472696e73696348556e636865636b656445787472696e736963101c416464726573730129011043616c6c011d01245369676e6174757265013d02144578747261015502000400340000003d02082873705f72756e74696d65384d756c74695369676e617475726500010c1c45643235353139040041020148656432353531393a3a5369676e61747572650000001c53723235353139040049020148737232353531393a3a5369676e617475726500010014456364736104004d02014065636473613a3a5369676e61747572650002000041020c1c73705f636f72651c65643235353139245369676e617475726500000400450201205b75383b2036345d0000450200000340000000080049020c1c73705f636f72651c73723235353139245369676e617475726500000400450201205b75383b2036345d00004d020c1c73705f636f7265146563647361245369676e617475726500000400510201205b75383b2036355d0000510200000341000000080055020000042059025d0261026502690271027502790200590210306672616d655f73797374656d28657874656e73696f6e7354636865636b5f6e6f6e5f7a65726f5f73656e64657248436865636b4e6f6e5a65726f53656e646572040454000000005d0210306672616d655f73797374656d28657874656e73696f6e7348636865636b5f737065635f76657273696f6e40436865636b5370656356657273696f6e04045400000000610210306672616d655f73797374656d28657874656e73696f6e7340636865636b5f74785f76657273696f6e38436865636b547856657273696f6e04045400000000650210306672616d655f73797374656d28657874656e73696f6e7334636865636b5f67656e6573697330436865636b47656e6573697304045400000000690210306672616d655f73797374656d28657874656e73696f6e733c636865636b5f6d6f7274616c69747938436865636b4d6f7274616c697479040454000004006d02010c45726100006d02102873705f72756e74696d651c67656e657269630c6572610c4572610001010420496d6d6f7274616c0000001c4d6f7274616c31040008000001001c4d6f7274616c32040008000002001c4d6f7274616c33040008000003001c4d6f7274616c34040008000004001c4d6f7274616c35040008000005001c4d6f7274616c36040008000006001c4d6f7274616c37040008000007001c4d6f7274616c38040008000008001c4d6f7274616c3904000800000900204d6f7274616c313004000800000a00204d6f7274616c313104000800000b00204d6f7274616c313204000800000c00204d6f7274616c313304000800000d00204d6f7274616c313404000800000e00204d6f7274616c313504000800000f00204d6f7274616c313604000800001000204d6f7274616c313704000800001100204d6f7274616c313804000800001200204d6f7274616c313904000800001300204d6f7274616c323004000800001400204d6f7274616c323104000800001500204d6f7274616c323204000800001600204d6f7274616c323304000800001700204d6f7274616c323404000800001800204d6f7274616c323504000800001900204d6f7274616c323604000800001a00204d6f7274616c323704000800001b00204d6f7274616c323804000800001c00204d6f7274616c323904000800001d00204d6f7274616c333004000800001e00204d6f7274616c333104000800001f00204d6f7274616c333204000800002000204d6f7274616c333304000800002100204d6f7274616c333404000800002200204d6f7274616c333504000800002300204d6f7274616c333604000800002400204d6f7274616c333704000800002500204d6f7274616c333804000800002600204d6f7274616c333904000800002700204d6f7274616c343004000800002800204d6f7274616c343104000800002900204d6f7274616c343204000800002a00204d6f7274616c343304000800002b00204d6f7274616c343404000800002c00204d6f7274616c343504000800002d00204d6f7274616c343604000800002e00204d6f7274616c343704000800002f00204d6f7274616c343804000800003000204d6f7274616c343904000800003100204d6f7274616c353004000800003200204d6f7274616c353104000800003300204d6f7274616c353204000800003400204d6f7274616c353304000800003500204d6f7274616c353404000800003600204d6f7274616c353504000800003700204d6f7274616c353604000800003800204d6f7274616c353704000800003900204d6f7274616c353804000800003a00204d6f7274616c353904000800003b00204d6f7274616c363004000800003c00204d6f7274616c363104000800003d00204d6f7274616c363204000800003e00204d6f7274616c363304000800003f00204d6f7274616c363404000800004000204d6f7274616c363504000800004100204d6f7274616c363604000800004200204d6f7274616c363704000800004300204d6f7274616c363804000800004400204d6f7274616c363904000800004500204d6f7274616c373004000800004600204d6f7274616c373104000800004700204d6f7274616c373204000800004800204d6f7274616c373304000800004900204d6f7274616c373404000800004a00204d6f7274616c373504000800004b00204d6f7274616c373604000800004c00204d6f7274616c373704000800004d00204d6f7274616c373804000800004e00204d6f7274616c373904000800004f00204d6f7274616c383004000800005000204d6f7274616c383104000800005100204d6f7274616c383204000800005200204d6f7274616c383304000800005300204d6f7274616c383404000800005400204d6f7274616c383504000800005500204d6f7274616c383604000800005600204d6f7274616c383704000800005700204d6f7274616c383804000800005800204d6f7274616c383904000800005900204d6f7274616c393004000800005a00204d6f7274616c393104000800005b00204d6f7274616c393204000800005c00204d6f7274616c393304000800005d00204d6f7274616c393404000800005e00204d6f7274616c393504000800005f00204d6f7274616c393604000800006000204d6f7274616c393704000800006100204d6f7274616c393804000800006200204d6f7274616c393904000800006300244d6f7274616c31303004000800006400244d6f7274616c31303104000800006500244d6f7274616c31303204000800006600244d6f7274616c31303304000800006700244d6f7274616c31303404000800006800244d6f7274616c31303504000800006900244d6f7274616c31303604000800006a00244d6f7274616c31303704000800006b00244d6f7274616c31303804000800006c00244d6f7274616c31303904000800006d00244d6f7274616c31313004000800006e00244d6f7274616c31313104000800006f00244d6f7274616c31313204000800007000244d6f7274616c31313304000800007100244d6f7274616c31313404000800007200244d6f7274616c31313504000800007300244d6f7274616c31313604000800007400244d6f7274616c31313704000800007500244d6f7274616c31313804000800007600244d6f7274616c31313904000800007700244d6f7274616c31323004000800007800244d6f7274616c31323104000800007900244d6f7274616c31323204000800007a00244d6f7274616c31323304000800007b00244d6f7274616c31323404000800007c00244d6f7274616c31323504000800007d00244d6f7274616c31323604000800007e00244d6f7274616c31323704000800007f00244d6f7274616c31323804000800008000244d6f7274616c31323904000800008100244d6f7274616c31333004000800008200244d6f7274616c31333104000800008300244d6f7274616c31333204000800008400244d6f7274616c31333304000800008500244d6f7274616c31333404000800008600244d6f7274616c31333504000800008700244d6f7274616c31333604000800008800244d6f7274616c31333704000800008900244d6f7274616c31333804000800008a00244d6f7274616c31333904000800008b00244d6f7274616c31343004000800008c00244d6f7274616c31343104000800008d00244d6f7274616c31343204000800008e00244d6f7274616c31343304000800008f00244d6f7274616c31343404000800009000244d6f7274616c31343504000800009100244d6f7274616c31343604000800009200244d6f7274616c31343704000800009300244d6f7274616c31343804000800009400244d6f7274616c31343904000800009500244d6f7274616c31353004000800009600244d6f7274616c31353104000800009700244d6f7274616c31353204000800009800244d6f7274616c31353304000800009900244d6f7274616c31353404000800009a00244d6f7274616c31353504000800009b00244d6f7274616c31353604000800009c00244d6f7274616c31353704000800009d00244d6f7274616c31353804000800009e00244d6f7274616c31353904000800009f00244d6f7274616c3136300400080000a000244d6f7274616c3136310400080000a100244d6f7274616c3136320400080000a200244d6f7274616c3136330400080000a300244d6f7274616c3136340400080000a400244d6f7274616c3136350400080000a500244d6f7274616c3136360400080000a600244d6f7274616c3136370400080000a700244d6f7274616c3136380400080000a800244d6f7274616c3136390400080000a900244d6f7274616c3137300400080000aa00244d6f7274616c3137310400080000ab00244d6f7274616c3137320400080000ac00244d6f7274616c3137330400080000ad00244d6f7274616c3137340400080000ae00244d6f7274616c3137350400080000af00244d6f7274616c3137360400080000b000244d6f7274616c3137370400080000b100244d6f7274616c3137380400080000b200244d6f7274616c3137390400080000b300244d6f7274616c3138300400080000b400244d6f7274616c3138310400080000b500244d6f7274616c3138320400080000b600244d6f7274616c3138330400080000b700244d6f7274616c3138340400080000b800244d6f7274616c3138350400080000b900244d6f7274616c3138360400080000ba00244d6f7274616c3138370400080000bb00244d6f7274616c3138380400080000bc00244d6f7274616c3138390400080000bd00244d6f7274616c3139300400080000be00244d6f7274616c3139310400080000bf00244d6f7274616c3139320400080000c000244d6f7274616c3139330400080000c100244d6f7274616c3139340400080000c200244d6f7274616c3139350400080000c300244d6f7274616c3139360400080000c400244d6f7274616c3139370400080000c500244d6f7274616c3139380400080000c600244d6f7274616c3139390400080000c700244d6f7274616c3230300400080000c800244d6f7274616c3230310400080000c900244d6f7274616c3230320400080000ca00244d6f7274616c3230330400080000cb00244d6f7274616c3230340400080000cc00244d6f7274616c3230350400080000cd00244d6f7274616c3230360400080000ce00244d6f7274616c3230370400080000cf00244d6f7274616c3230380400080000d000244d6f7274616c3230390400080000d100244d6f7274616c3231300400080000d200244d6f7274616c3231310400080000d300244d6f7274616c3231320400080000d400244d6f7274616c3231330400080000d500244d6f7274616c3231340400080000d600244d6f7274616c3231350400080000d700244d6f7274616c3231360400080000d800244d6f7274616c3231370400080000d900244d6f7274616c3231380400080000da00244d6f7274616c3231390400080000db00244d6f7274616c3232300400080000dc00244d6f7274616c3232310400080000dd00244d6f7274616c3232320400080000de00244d6f7274616c3232330400080000df00244d6f7274616c3232340400080000e000244d6f7274616c3232350400080000e100244d6f7274616c3232360400080000e200244d6f7274616c3232370400080000e300244d6f7274616c3232380400080000e400244d6f7274616c3232390400080000e500244d6f7274616c3233300400080000e600244d6f7274616c3233310400080000e700244d6f7274616c3233320400080000e800244d6f7274616c3233330400080000e900244d6f7274616c3233340400080000ea00244d6f7274616c3233350400080000eb00244d6f7274616c3233360400080000ec00244d6f7274616c3233370400080000ed00244d6f7274616c3233380400080000ee00244d6f7274616c3233390400080000ef00244d6f7274616c3234300400080000f000244d6f7274616c3234310400080000f100244d6f7274616c3234320400080000f200244d6f7274616c3234330400080000f300244d6f7274616c3234340400080000f400244d6f7274616c3234350400080000f500244d6f7274616c3234360400080000f600244d6f7274616c3234370400080000f700244d6f7274616c3234380400080000f800244d6f7274616c3234390400080000f900244d6f7274616c3235300400080000fa00244d6f7274616c3235310400080000fb00244d6f7274616c3235320400080000fc00244d6f7274616c3235330400080000fd00244d6f7274616c3235340400080000fe00244d6f7274616c3235350400080000ff0000710210306672616d655f73797374656d28657874656e73696f6e732c636865636b5f6e6f6e636528436865636b4e6f6e636504045400000400c00120543a3a4e6f6e63650000750210306672616d655f73797374656d28657874656e73696f6e7330636865636b5f7765696768742c436865636b576569676874040454000000007902086870616c6c65745f7472616e73616374696f6e5f7061796d656e74604368617267655472616e73616374696f6e5061796d656e74040454000004003501013042616c616e63654f663c543e0000281853797374656d011853797374656d401c4163636f756e7401010402000c4101000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008004e8205468652066756c6c206163636f756e7420696e666f726d6174696f6e20666f72206120706172746963756c6172206163636f756e742049442e3845787472696e736963436f756e74000010040004b820546f74616c2065787472696e7369637320636f756e7420666f72207468652063757272656e7420626c6f636b2e2c426c6f636b576569676874010020180000000000000488205468652063757272656e742077656967687420666f722074686520626c6f636b2e40416c6c45787472696e736963734c656e000010040004410120546f74616c206c656e6774682028696e2062797465732920666f7220616c6c2065787472696e736963732070757420746f6765746865722c20666f72207468652063757272656e7420626c6f636b2e24426c6f636b486173680101040510308000000000000000000000000000000000000000000000000000000000000000000498204d6170206f6620626c6f636b206e756d6265727320746f20626c6f636b206861736865732e3445787472696e736963446174610101040510340400043d012045787472696e73696373206461746120666f72207468652063757272656e7420626c6f636b20286d61707320616e2065787472696e736963277320696e64657820746f206974732064617461292e184e756d6265720100101000000000040901205468652063757272656e7420626c6f636b206e756d626572206265696e672070726f6365737365642e205365742062792060657865637574655f626c6f636b602e28506172656e744861736801003080000000000000000000000000000000000000000000000000000000000000000004702048617368206f66207468652070726576696f757320626c6f636b2e18446967657374010038040004f020446967657374206f66207468652063757272656e7420626c6f636b2c20616c736f2070617274206f662074686520626c6f636b206865616465722e184576656e747301004804001ca0204576656e7473206465706f736974656420666f72207468652063757272656e7420626c6f636b2e001d01204e4f54453a20546865206974656d20697320756e626f756e6420616e642073686f756c64207468657265666f7265206e657665722062652072656164206f6e20636861696e2ed020497420636f756c64206f746865727769736520696e666c6174652074686520506f562073697a65206f66206120626c6f636b2e002d01204576656e747320686176652061206c6172676520696e2d6d656d6f72792073697a652e20426f7820746865206576656e747320746f206e6f7420676f206f75742d6f662d6d656d6f7279fc206a75737420696e206361736520736f6d656f6e65207374696c6c207265616473207468656d2066726f6d2077697468696e207468652072756e74696d652e284576656e74436f756e74010010100000000004b820546865206e756d626572206f66206576656e747320696e2074686520604576656e74733c543e60206c6973742e2c4576656e74546f706963730101040230b40400282501204d617070696e67206265747765656e206120746f7069632028726570726573656e74656420627920543a3a486173682920616e64206120766563746f72206f6620696e646578657394206f66206576656e747320696e2074686520603c4576656e74733c543e3e60206c6973742e00510120416c6c20746f70696320766563746f727320686176652064657465726d696e69737469632073746f72616765206c6f636174696f6e7320646570656e64696e67206f6e2074686520746f7069632e2054686973450120616c6c6f7773206c696768742d636c69656e747320746f206c6576657261676520746865206368616e67657320747269652073746f7261676520747261636b696e67206d656368616e69736d20616e64e420696e2063617365206f66206368616e67657320666574636820746865206c697374206f66206576656e7473206f6620696e7465726573742e005901205468652076616c756520686173207468652074797065206028426c6f636b4e756d626572466f723c543e2c204576656e74496e646578296020626563617573652069662077652075736564206f6e6c79206a7573744d012074686520604576656e74496e64657860207468656e20696e20636173652069662074686520746f70696320686173207468652073616d6520636f6e74656e7473206f6e20746865206e65787420626c6f636b0101206e6f206e6f74696669636174696f6e2077696c6c20626520747269676765726564207468757320746865206576656e74206d69676874206265206c6f73742e484c61737452756e74696d65557067726164650000bc04000455012053746f726573207468652060737065635f76657273696f6e6020616e642060737065635f6e616d6560206f66207768656e20746865206c6173742072756e74696d6520757067726164652068617070656e65642e545570677261646564546f553332526566436f756e740100a80400044d012054727565206966207765206861766520757067726164656420736f207468617420607479706520526566436f756e74602069732060753332602e2046616c7365202864656661756c7429206966206e6f742e605570677261646564546f547269706c65526566436f756e740100a80400085d012054727565206966207765206861766520757067726164656420736f2074686174204163636f756e74496e666f20636f6e7461696e73207468726565207479706573206f662060526566436f756e74602e2046616c736548202864656661756c7429206966206e6f742e38457865637574696f6e50686173650000ac040004882054686520657865637574696f6e207068617365206f662074686520626c6f636b2e01c801541830426c6f636b57656967687473d8f901025b1f5d000b00204aa9d10113ffffffffffffffffc2a0a91d00010bd05f9fa62e011366666666666666a6010b0098f73e5d0113ffffffffffffffbf010000c2a0a91d00010bd0e7f110a3011366666666666666e6010b00204aa9d10113ffffffffffffffff01070088526a74130000000000000040c2a0a91d0000000004d020426c6f636b20262065787472696e7369637320776569676874733a20626173652076616c75657320616e64206c696d6974732e2c426c6f636b4c656e677468e83000003c00000050000000500004a820546865206d6178696d756d206c656e677468206f66206120626c6f636b2028696e206279746573292e38426c6f636b48617368436f756e74101060090000045501204d6178696d756d206e756d626572206f6620626c6f636b206e756d62657220746f20626c6f636b2068617368206d617070696e677320746f206b65657020286f6c64657374207072756e6564206669727374292e204462576569676874f04040787d010000000000e1f505000000000409012054686520776569676874206f662072756e74696d65206461746162617365206f7065726174696f6e73207468652072756e74696d652063616e20696e766f6b652e1c56657273696f6ef4f102607375627374726174652d636f6e7472616374732d6e6f6465607375627374726174652d636f6e7472616374732d6e6f646501000000640000000100000028df6acb689907609b0400000037e397fc7c91f5e40200000040fe3ad401f8959a06000000d2bc9897eed08f1503000000f78b278be53f454c02000000ab3c0572291feb8b01000000bc9d89904f5b923f0100000037c8bb1350a9a2a804000000f3ff14d5ab5270590300000068b66ba122c93fa70200000001000000010484204765742074686520636861696e27732063757272656e742076657273696f6e2e28535335385072656669780901082a0014a8205468652064657369676e61746564205353353820707265666978206f66207468697320636861696e2e0039012054686973207265706c6163657320746865202273733538466f726d6174222070726f7065727479206465636c6172656420696e2074686520636861696e20737065632e20526561736f6e20697331012074686174207468652072756e74696d652073686f756c64206b6e6f772061626f7574207468652070726566697820696e206f7264657220746f206d616b6520757365206f662069742061737020616e206964656e746966696572206f662074686520636861696e2e010d01006052616e646f6d6e657373436f6c6c656374697665466c6970016052616e646f6d6e657373436f6c6c656374697665466c6970043852616e646f6d4d6174657269616c0100110104000c610120536572696573206f6620626c6f636b20686561646572732066726f6d20746865206c61737420383120626c6f636b73207468617420616374732061732072616e646f6d2073656564206d6174657269616c2e2054686973610120697320617272616e67656420617320612072696e672062756666657220776974682060626c6f636b5f6e756d626572202520383160206265696e672074686520696e64657820696e746f20746865206056656360206f664420746865206f6c6465737420686173682e00000000011c5574696c697479000115010178044c626174636865645f63616c6c735f6c696d69741010aa2a000004a820546865206c696d6974206f6e20746865206e756d626572206f6620626174636865642063616c6c732e015d01022454696d657374616d70012454696d657374616d70080c4e6f7701002c20000000000000000004a0205468652063757272656e742074696d6520666f72207468652063757272656e7420626c6f636b2e244469645570646174650100a8040010d82057686574686572207468652074696d657374616d7020686173206265656e207570646174656420696e207468697320626c6f636b2e00550120546869732076616c7565206973207570646174656420746f206074727565602075706f6e207375636365737366756c207375626d697373696f6e206f6620612074696d657374616d702062792061206e6f64652e4501204974206973207468656e20636865636b65642061742074686520656e64206f66206561636820626c6f636b20657865637574696f6e20696e2074686520606f6e5f66696e616c697a656020686f6f6b2e0121010004344d696e696d756d506572696f642c200500000000000000188c20546865206d696e696d756d20706572696f64206265747765656e20626c6f636b732e004d012042652061776172652074686174207468697320697320646966666572656e7420746f20746865202a65787065637465642a20706572696f6420746861742074686520626c6f636b2070726f64756374696f6e4901206170706172617475732070726f76696465732e20596f75722063686f73656e20636f6e73656e7375732073797374656d2077696c6c2067656e6572616c6c7920776f726b2077697468207468697320746f61012064657465726d696e6520612073656e7369626c6520626c6f636b2074696d652e20466f72206578616d706c652c20696e2074686520417572612070616c6c65742069742077696c6c20626520646f75626c6520746869737020706572696f64206f6e2064656661756c742073657474696e67732e00032042616c616e636573012042616c616e6365731c34546f74616c49737375616e6365010018400000000000000000000000000000000004982054686520746f74616c20756e6974732069737375656420696e207468652073797374656d2e40496e61637469766549737375616e636501001840000000000000000000000000000000000409012054686520746f74616c20756e697473206f66206f75747374616e64696e672064656163746976617465642062616c616e636520696e207468652073797374656d2e1c4163636f756e74010104020014010100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080600901205468652042616c616e6365732070616c6c6574206578616d706c65206f662073746f72696e67207468652062616c616e6365206f6620616e206163636f756e742e00282023204578616d706c650034206060606e6f636f6d70696c65b02020696d706c2070616c6c65745f62616c616e6365733a3a436f6e66696720666f722052756e74696d65207b19022020202074797065204163636f756e7453746f7265203d2053746f726167654d61705368696d3c53656c663a3a4163636f756e743c52756e74696d653e2c206672616d655f73797374656d3a3a50726f76696465723c52756e74696d653e2c204163636f756e7449642c2053656c663a3a4163636f756e74446174613c42616c616e63653e3e0c20207d102060606000150120596f752063616e20616c736f2073746f7265207468652062616c616e6365206f6620616e206163636f756e7420696e20746865206053797374656d602070616c6c65742e00282023204578616d706c650034206060606e6f636f6d70696c65b02020696d706c2070616c6c65745f62616c616e6365733a3a436f6e66696720666f722052756e74696d65207b7420202074797065204163636f756e7453746f7265203d2053797374656d0c20207d102060606000510120427574207468697320636f6d657320776974682074726164656f6666732c2073746f72696e67206163636f756e742062616c616e63657320696e207468652073797374656d2070616c6c65742073746f7265736d0120606672616d655f73797374656d60206461746120616c6f6e677369646520746865206163636f756e74206461746120636f6e747261727920746f2073746f72696e67206163636f756e742062616c616e63657320696e207468652901206042616c616e636573602070616c6c65742c20776869636820757365732061206053746f726167654d61706020746f2073746f72652062616c616e6365732064617461206f6e6c792e4101204e4f54453a2054686973206973206f6e6c79207573656420696e207468652063617365207468617420746869732070616c6c6574206973207573656420746f2073746f72652062616c616e6365732e144c6f636b7301010402006101040008b820416e79206c6971756964697479206c6f636b73206f6e20736f6d65206163636f756e742062616c616e6365732e2501204e4f54453a2053686f756c64206f6e6c79206265206163636573736564207768656e2073657474696e672c206368616e67696e6720616e642066726565696e672061206c6f636b2e20526573657276657301010402007101040004a4204e616d6564207265736572766573206f6e20736f6d65206163636f756e742062616c616e6365732e14486f6c647301010402007d010400046c20486f6c6473206f6e206163636f756e742062616c616e6365732e1c467265657a6573010104020091010400048820467265657a65206c6f636b73206f6e206163636f756e742062616c616e6365732e012501018414484578697374656e7469616c4465706f736974184000ca9a3b00000000000000000000000020410120546865206d696e696d756d20616d6f756e7420726571756972656420746f206b65657020616e206163636f756e74206f70656e2e204d5553542042452047524541544552205448414e205a45524f2100590120496620796f75202a7265616c6c792a206e65656420697420746f206265207a65726f2c20796f752063616e20656e61626c652074686520666561747572652060696e7365637572655f7a65726f5f65646020666f72610120746869732070616c6c65742e20486f77657665722c20796f7520646f20736f20617420796f7572206f776e207269736b3a20746869732077696c6c206f70656e2075702061206d616a6f7220446f5320766563746f722e590120496e206361736520796f752068617665206d756c7469706c6520736f7572636573206f662070726f7669646572207265666572656e6365732c20796f75206d617920616c736f2067657420756e65787065637465648c206265686176696f757220696620796f7520736574207468697320746f207a65726f2e00f020426f74746f6d206c696e653a20446f20796f757273656c662061206661766f757220616e64206d616b65206974206174206c65617374206f6e6521204d61784c6f636b7310103200000008f420546865206d6178696d756d206e756d626572206f66206c6f636b7320746861742073686f756c64206578697374206f6e20616e206163636f756e742edc204e6f74207374726963746c7920656e666f726365642c20627574207573656420666f722077656967687420657374696d6174696f6e2e2c4d61785265736572766573101032000000040d0120546865206d6178696d756d206e756d626572206f66206e616d656420726573657276657320746861742063616e206578697374206f6e20616e206163636f756e742e204d6178486f6c647310103200000004190120546865206d6178696d756d206e756d626572206f6620686f6c647320746861742063616e206578697374206f6e20616e206163636f756e7420617420616e792074696d652e284d6178467265657a657310100000000004610120546865206d6178696d756d206e756d626572206f6620696e646976696475616c20667265657a65206c6f636b7320746861742063616e206578697374206f6e20616e206163636f756e7420617420616e792074696d652e019d010428417574686f72736869700128417574686f72736869700418417574686f720000000400046420417574686f72206f662063757272656e7420626c6f636b2e0000000005485472616e73616374696f6e5061796d656e7401485472616e73616374696f6e5061796d656e7408444e6578744665654d756c7469706c6965720100a10140000064a7b3b6e00d0000000000000000003853746f7261676556657273696f6e0100a50104000000018c04604f7065726174696f6e616c4665654d756c7469706c696572080405545901204120666565206d756c6974706c69657220666f7220604f7065726174696f6e616c602065787472696e7369637320746f20636f6d7075746520227669727475616c207469702220746f20626f6f73742074686569722c20607072696f7269747960004d0120546869732076616c7565206973206d756c7469706c656420627920746865206066696e616c5f6665656020746f206f627461696e206120227669727475616c20746970222074686174206973206c61746572f420616464656420746f20612074697020636f6d706f6e656e7420696e20726567756c617220607072696f72697479602063616c63756c6174696f6e732e4d01204974206d65616e732074686174206120604e6f726d616c60207472616e73616374696f6e2063616e2066726f6e742d72756e20612073696d696c61726c792d73697a656420604f7065726174696f6e616c6041012065787472696e736963202877697468206e6f20746970292c20627920696e636c7564696e672061207469702076616c75652067726561746572207468616e20746865207669727475616c207469702e003c20606060727573742c69676e6f726540202f2f20466f7220604e6f726d616c608c206c6574207072696f72697479203d207072696f726974795f63616c6328746970293b0054202f2f20466f7220604f7065726174696f6e616c601101206c6574207669727475616c5f746970203d2028696e636c7573696f6e5f666565202b2074697029202a204f7065726174696f6e616c4665654d756c7469706c6965723bc4206c6574207072696f72697479203d207072696f726974795f63616c6328746970202b207669727475616c5f746970293b1020606060005101204e6f746520746861742073696e636520776520757365206066696e616c5f6665656020746865206d756c7469706c696572206170706c69657320616c736f20746f2074686520726567756c61722060746970605d012073656e74207769746820746865207472616e73616374696f6e2e20536f2c206e6f74206f6e6c7920646f657320746865207472616e73616374696f6e206765742061207072696f726974792062756d702062617365646101206f6e207468652060696e636c7573696f6e5f666565602c2062757420776520616c736f20616d706c6966792074686520696d70616374206f662074697073206170706c69656420746f20604f7065726174696f6e616c6038207472616e73616374696f6e732e0006105375646f01105375646f040c4b6579000000040004842054686520604163636f756e74496460206f6620746865207375646f206b65792e013d0101900001a9010724436f6e7472616374730124436f6e7472616374731c305072697374696e65436f64650001040630ad01040004cc2041206d617070696e672066726f6d206120636f6e7472616374277320636f6465206861736820746f2069747320636f64652e28436f6465496e666f4f660001040630b101040004e02041206d617070696e672066726f6d206120636f6e7472616374277320636f6465206861736820746f2069747320636f646520696e666f2e144e6f6e636501002c200000000000000000581d0120546869732069732061202a2a6d6f6e6f746f6e69632a2a20636f756e74657220696e6372656d656e746564206f6e20636f6e747261637420696e7374616e74696174696f6e2e0005012054686973206973207573656420696e206f7264657220746f2067656e657261746520756e6971756520747269652069647320666f7220636f6e7472616374732e2901205468652074726965206964206f662061206e657720636f6e74726163742069732063616c63756c617465642066726f6d2068617368286163636f756e745f69642c206e6f6e6365292e350120546865206e6f6e63652069732072657175697265642062656361757365206f74686572776973652074686520666f6c6c6f77696e672073657175656e636520776f756c64206c65616420746f84206120706f737369626c6520636f6c6c6973696f6e206f662073746f726167653a006820312e204372656174652061206e657720636f6e74726163742e6c20322e205465726d696e6174652074686520636f6e74726163742efc20332e20496d6d6564696174656c792072656372656174652074686520636f6e74726163742077697468207468652073616d65206163636f756e745f69642e00450120546869732069732062616420626563617573652074686520636f6e74656e7473206f6620612074726965206172652064656c65746564206c617a696c7920616e64207468657265206d6967687420626559012073746f72616765206f6620746865206f6c6420696e7374616e74696174696f6e207374696c6c20696e206974207768656e20746865206e657720636f6e747261637420697320637265617465642e20506c656173655901206e6f746520746861742077652063616e2774207265706c6163652074686520636f756e7465722062792074686520626c6f636b206e756d6265722062656361757365207468652073657175656e63652061626f766551012063616e2068617070656e20696e207468652073616d6520626c6f636b2e20576520616c736f2063616e2774206b65657020746865206163636f756e7420636f756e74657220696e206d656d6f7279206f6e6c79490120626563617573652073746f7261676520697320746865206f6e6c792077617920746f20636f6d6d756e6963617465206163726f737320646966666572656e742065787472696e7369637320696e20746865302073616d6520626c6f636b2e001c2023204e6f7465003d0120446f206e6f742075736520697420746f2064657465726d696e6520746865206e756d626572206f6620636f6e7472616374732e20497420776f6e27742062652064656372656d656e74656420696664206120636f6e74726163742069732064657374726f7965642e38436f6e7472616374496e666f4f660001040500b50104000ca82054686520636f6465206173736f6369617465642077697468206120676976656e206163636f756e742e00d02054574f582d4e4f54453a20534146452073696e636520604163636f756e7449646020697320612073656375726520686173682e3444656c6574696f6e51756575650001040510b901040010c8204576696374656420636f6e7472616374732074686174206177616974206368696c6420747269652064656c6574696f6e2e004901204368696c6420747269652064656c6574696f6e2069732061206865617679206f7065726174696f6e20646570656e64696e67206f6e2074686520616d6f756e74206f662073746f72616765206974656d7341012073746f72656420696e207361696420747269652e205468657265666f72652074686973206f7065726174696f6e20697320706572666f726d6564206c617a696c7920696e20606f6e5f69646c65602e5044656c6574696f6e5175657565436f756e7465720100cd01200000000000000000084d0120412070616972206f66206d6f6e6f746f6e696320636f756e74657273207573656420746f20747261636b20746865206c617465737420636f6e7472616374206d61726b656420666f722064656c6574696f6ea820616e6420746865206c61746573742064656c6574656420636f6e747261637420696e2071756575652e4c4d6967726174696f6e496e50726f67726573730000d10104000861012041206d6967726174696f6e2063616e207370616e206163726f7373206d756c7469706c6520626c6f636b732e20546869732073746f7261676520646566696e6573206120637572736f7220746f20747261636b207468654d012070726f6772657373206f6620746865206d6967726174696f6e2c20656e61626c696e6720757320746f20726573756d652066726f6d20746865206c61737420636f6d706c6574656420706f736974696f6e2e01410101982c205363686564756c65d50151050400000000010000000400008000000010000000001000000001000020000000004000000000004027130000b6b5140018f222dd06f129baf81507012a762b1a0018362c0b000cd2170a000c4afb1400185aad160018b616650018a233150018ca941400189230140018129f1400181e4c5800387a4111001871100000b41d0600032470934d4952b2927d00285278e80028fe36ae1e31276d0b0062b90e001c391100a687811f95048d0800b90804f6e2264849308a30741f850410041e81480785044d0104d2355207a504c90f048642721fa5040d0a04ee4cf9266127261fc876852aee7d506535290e4ed290ad515d11006e7d8df7ad2a0265cd1dd527ad1e003120007273180020b91100eef830002049350026531d0020991300cad71e002091130016eaf90a35016e5ed902a812c0610dc1012d6004be060b000cc66a1300a02a5409000c1209661fb9280e33351f2128046820436f7374207363686564756c6520616e64206c696d6974732e384465706f736974506572427974651840404b4c000000000000000000000000001411012054686520616d6f756e74206f662062616c616e636520612063616c6c65722068617320746f2070617920666f7220656163682062797465206f662073746f726167652e001c2023204e6f7465002901204368616e67696e6720746869732076616c756520666f7220616e206578697374696e6720636861696e206d69676874206e65656420612073746f72616765206d6967726174696f6e2e4c44656661756c744465706f7369744c696d697418400000a08fe661000000000000000000000445012046616c6c6261636b2076616c756520746f206c696d6974207468652073746f72616765206465706f7369742069662069742773206e6f74206265696e6720736574206279207468652063616c6c65722e384465706f7369745065724974656d184000e876481700000000000000000000001405012054686520616d6f756e74206f662062616c616e636520612063616c6c65722068617320746f2070617920666f7220656163682073746f72616765206974656d2e001c2023204e6f7465002901204368616e67696e6720746869732076616c756520666f7220616e206578697374696e6720636861696e206d69676874206e65656420612073746f72616765206d6967726174696f6e2e70436f6465486173684c6f636b75704465706f73697450657263656e74e5011000000000104501205468652070657263656e74616765206f66207468652073746f72616765206465706f73697420746861742073686f756c642062652068656c6420666f72207573696e67206120636f646520686173682e5d0120496e7374616e74696174696e67206120636f6e74726163742c206f722063616c6c696e67205b60636861696e5f657874656e73696f6e3a3a4578743a3a6164645f64656c65676174655f646570656e64656e6379605d49012070726f74656374732074686520636f64652066726f6d206265696e672072656d6f7665642e20496e206f7264657220746f2070726576656e7420616275736520746865736520616374696f6e7320617265c42070726f746563746564207769746820612070657263656e74616765206f662074686520636f6465206465706f7369742e284d6178436f64654c656e10100000040014c020546865206d6178696d756d206c656e677468206f66206120636f6e747261637420636f646520696e2062797465732e005901205468652076616c75652073686f756c642062652063686f73656e206361726566756c6c792074616b696e6720696e746f20746865206163636f756e7420746865206f766572616c6c206d656d6f7279206c696d6974f020796f75722072756e74696d65206861732c2061732077656c6c20617320746865205b6d6178696d756d20616c6c6f7765642063616c6c737461636b5d012064657074685d28236173736f636961746564747970652e43616c6c537461636b292e204c6f6f6b20696e746f207468652060696e746567726974795f7465737428296020666f7220736f6d6520696e7369676874732e404d617853746f726167654b65794c656e10108000000004e020546865206d6178696d756d20616c6c6f7761626c65206c656e67746820696e20627974657320666f722073746f72616765206b6579732e5c4d617844656c6567617465446570656e64656e6369657310102000000008290120546865206d6178696d756d206e756d626572206f662064656c65676174655f646570656e64656e636965732074686174206120636f6e74726163742063616e206c6f636b2077697468cc205b60636861696e5f657874656e73696f6e3a3a4578743a3a6164645f64656c65676174655f646570656e64656e6379605d2e5c556e73616665556e737461626c65496e74657266616365a80401241101204d616b6520636f6e74726163742063616c6c61626c652066756e6374696f6e73206d61726b65642061732060235b756e737461626c655d6020617661696c61626c652e003d0120436f6e7472616374732074686174207573652060235b756e737461626c655d602066756e6374696f6e7320776f6e27742062652061626c6520746f2062652075706c6f6164656420756e6c657373450120746869732069732073657420746f206074727565602e2054686973206973206f6e6c79206d65616e7420666f7220746573746e65747320616e6420646576206e6f64657320696e206f7264657220746f78206578706572696d656e742077697468206e65772066656174757265732e00282023205761726e696e6700c020446f202a2a6e6f742a2a2073657420746f20607472756560206f6e2070726f64756374696f6e7320636861696e732e444d617844656275674275666665724c656e10100000200004c420546865206d6178696d756d206c656e677468206f66207468652064656275672062756666657220696e2062797465732e2c456e7669726f6e6d656e74e90100102501205479706520746861742062756e646c657320746f67657468657220616c6c207468652072756e74696d6520636f6e666967757261626c6520696e746572666163652074797065732e0035012054686973206973206e6f742061207265616c20636f6e6669672e205765206a757374206d656e74696f6e207468652074797065206865726520617320636f6e7374616e7420736f2074686174f0206974732074797065206170706561727320696e20746865206d657461646174612e204f6e6c792076616c69642076616c756520697320602829602e010902081841737365747301184173736574731014417373657400010402100d02040004542044657461696c73206f6620616e2061737365742e1c4163636f756e74000108020215021902040004e42054686520686f6c64696e6773206f662061207370656369666963206163636f756e7420666f7220612073706563696669632061737365742e24417070726f76616c7300010c0202022502290204000c590120417070726f7665642062616c616e6365207472616e73666572732e2046697273742062616c616e63652069732074686520616d6f756e7420617070726f76656420666f72207472616e736665722e205365636f6e64e82069732074686520616d6f756e74206f662060543a3a43757272656e63796020726573657276656420666f722073746f72696e6720746869732e4901204669727374206b6579206973207468652061737365742049442c207365636f6e64206b657920697320746865206f776e657220616e64207468697264206b6579206973207468652064656c65676174652e204d6574616461746101010402102d025000000000000000000000000000000000000000000458204d65746164617461206f6620616e2061737365742e014d0101a41c4052656d6f76654974656d734c696d69741010e80300000c5101204d6178206e756d626572206f66206974656d7320746f2064657374726f7920706572206064657374726f795f6163636f756e74736020616e64206064657374726f795f617070726f76616c73602063616c6c2e003901204d75737420626520636f6e6669677572656420746f20726573756c7420696e2061207765696768742074686174206d616b657320656163682063616c6c2066697420696e206120626c6f636b2e3041737365744465706f73697418400000c16ff2862300000000000000000004f82054686520626173696320616d6f756e74206f662066756e64732074686174206d75737420626520726573657276656420666f7220616e2061737365742e4c41737365744163636f756e744465706f736974184000407a10f35a000000000000000000000845012054686520616d6f756e74206f662066756e64732074686174206d75737420626520726573657276656420666f722061206e6f6e2d70726f7669646572206173736574206163636f756e7420746f20626530206d61696e7461696e65642e4c4d657461646174614465706f7369744261736518400080c6a47e8d030000000000000000000451012054686520626173696320616d6f756e74206f662066756e64732074686174206d757374206265207265736572766564207768656e20616464696e67206d6574616461746120746f20796f75722061737365742e584d657461646174614465706f73697450657242797465184000407a10f35a0000000000000000000008550120546865206164646974696f6e616c2066756e64732074686174206d75737420626520726573657276656420666f7220746865206e756d626572206f6620627974657320796f752073746f726520696e20796f757228206d657461646174612e3c417070726f76616c4465706f736974184000407a10f35a000000000000000000000421012054686520616d6f756e74206f662066756e64732074686174206d757374206265207265736572766564207768656e206372656174696e672061206e657720617070726f76616c2e2c537472696e674c696d697410103200000004e020546865206d6178696d756d206c656e677468206f662061206e616d65206f722073796d626f6c2073746f726564206f6e2d636861696e2e013502093902042048436865636b4e6f6e5a65726f53656e64657259028040436865636b5370656356657273696f6e5d021038436865636b547856657273696f6e61021030436865636b47656e6573697365023038436865636b4d6f7274616c69747969023028436865636b4e6f6e63657102802c436865636b576569676874750280604368617267655472616e73616374696f6e5061796d656e74790280a0'; diff --git a/packages/types-support/src/metadata/v14/substrate-contracts-node-rpc.ts b/packages/types-support/src/metadata/v14/substrate-contracts-node-rpc.ts new file mode 100644 index 000000000000..9a0f35e25114 --- /dev/null +++ b/packages/types-support/src/metadata/v14/substrate-contracts-node-rpc.ts @@ -0,0 +1,108 @@ +// Copyright 2017-2024 @polkadot/types-support authors & contributors +// SPDX-License-Identifier: Apache-2.0 + +/* eslint-disable */ + +// cargo run --release -- purge-chain -y --dev && cargo run --release -- --dev + +export default { + "methods": [ + "account_nextIndex", + "author_hasKey", + "author_hasSessionKeys", + "author_insertKey", + "author_pendingExtrinsics", + "author_removeExtrinsic", + "author_rotateKeys", + "author_submitAndWatchExtrinsic", + "author_submitExtrinsic", + "author_unwatchExtrinsic", + "chainHead_unstable_body", + "chainHead_unstable_call", + "chainHead_unstable_continue", + "chainHead_unstable_follow", + "chainHead_unstable_genesisHash", + "chainHead_unstable_header", + "chainHead_unstable_stopOperation", + "chainHead_unstable_storage", + "chainHead_unstable_unfollow", + "chainHead_unstable_unpin", + "chain_getBlock", + "chain_getBlockHash", + "chain_getFinalisedHead", + "chain_getFinalizedHead", + "chain_getHead", + "chain_getHeader", + "chain_getRuntimeVersion", + "chain_subscribeAllHeads", + "chain_subscribeFinalisedHeads", + "chain_subscribeFinalizedHeads", + "chain_subscribeNewHead", + "chain_subscribeNewHeads", + "chain_subscribeRuntimeVersion", + "chain_unsubscribeAllHeads", + "chain_unsubscribeFinalisedHeads", + "chain_unsubscribeFinalizedHeads", + "chain_unsubscribeNewHead", + "chain_unsubscribeNewHeads", + "chain_unsubscribeRuntimeVersion", + "childstate_getKeys", + "childstate_getKeysPaged", + "childstate_getKeysPagedAt", + "childstate_getStorage", + "childstate_getStorageEntries", + "childstate_getStorageHash", + "childstate_getStorageSize", + "offchain_localStorageGet", + "offchain_localStorageSet", + "payment_queryFeeDetails", + "payment_queryInfo", + "state_call", + "state_callAt", + "state_getChildReadProof", + "state_getKeys", + "state_getKeysPaged", + "state_getKeysPagedAt", + "state_getMetadata", + "state_getPairs", + "state_getReadProof", + "state_getRuntimeVersion", + "state_getStorage", + "state_getStorageAt", + "state_getStorageHash", + "state_getStorageHashAt", + "state_getStorageSize", + "state_getStorageSizeAt", + "state_queryStorage", + "state_queryStorageAt", + "state_subscribeRuntimeVersion", + "state_subscribeStorage", + "state_traceBlock", + "state_unsubscribeRuntimeVersion", + "state_unsubscribeStorage", + "subscribe_newHead", + "system_accountNextIndex", + "system_addLogFilter", + "system_addReservedPeer", + "system_chain", + "system_chainType", + "system_dryRun", + "system_dryRunAt", + "system_health", + "system_localListenAddresses", + "system_localPeerId", + "system_name", + "system_nodeRoles", + "system_peers", + "system_properties", + "system_removeReservedPeer", + "system_reservedPeers", + "system_resetLogFilter", + "system_syncState", + "system_unstable_networkState", + "system_version", + "transaction_unstable_submitAndWatch", + "transaction_unstable_unwatch", + "unsubscribe_newHead" + ] +}; diff --git a/packages/types-support/src/metadata/v14/substrate-contracts-node-ver.ts b/packages/types-support/src/metadata/v14/substrate-contracts-node-ver.ts new file mode 100644 index 000000000000..bafd22de2fc2 --- /dev/null +++ b/packages/types-support/src/metadata/v14/substrate-contracts-node-ver.ts @@ -0,0 +1,58 @@ +// Copyright 2017-2024 @polkadot/types-support authors & contributors +// SPDX-License-Identifier: Apache-2.0 + +/* eslint-disable */ + +// cargo run --release -- purge-chain -y --dev && cargo run --release -- --dev + +export default { + "specName": "substrate-contracts-node", + "implName": "substrate-contracts-node", + "authoringVersion": 1, + "specVersion": 100, + "implVersion": 1, + "apis": [ + [ + "0xdf6acb689907609b", + 4 + ], + [ + "0x37e397fc7c91f5e4", + 2 + ], + [ + "0x40fe3ad401f8959a", + 6 + ], + [ + "0xd2bc9897eed08f15", + 3 + ], + [ + "0xf78b278be53f454c", + 2 + ], + [ + "0xab3c0572291feb8b", + 1 + ], + [ + "0xbc9d89904f5b923f", + 1 + ], + [ + "0x37c8bb1350a9a2a8", + 4 + ], + [ + "0xf3ff14d5ab527059", + 3 + ], + [ + "0x68b66ba122c93fa7", + 2 + ] + ], + "transactionVersion": 1, + "stateVersion": 1 +}; diff --git a/scripts/metadata-get.mjs b/scripts/metadata-get.mjs index 270020bd314e..8b4ca9feff1b 100644 --- a/scripts/metadata-get.mjs +++ b/scripts/metadata-get.mjs @@ -9,7 +9,8 @@ const PREAMBLE = '// Copyright 2017-2024 @polkadot/types-support authors & contr const CMD = { kusama: `${PREAMBLE}// cargo run --release -- purge-chain -y --chain kusama-dev && cargo run --release -- --chain kusama-dev --alice --force-authoring\n\nexport default`, polkadot: `${PREAMBLE}// cargo run --release -- purge-chain -y --dev && cargo run --release -- --dev\n\nexport default`, - substrate: `${PREAMBLE}// cargo run --release -- purge-chain -y --dev && cargo run --release -- --dev\n\nexport default` + substrate: `${PREAMBLE}// cargo run --release -- purge-chain -y --dev && cargo run --release -- --dev\n\nexport default`, + 'substrate-contracts-node': `${PREAMBLE}// cargo run --release -- purge-chain -y --dev && cargo run --release -- --dev\n\nexport default` }; let requestId = 0;