tx · DBRRscFnSjzC912H4Vzce1vygLXNAR1KTCDALmBm5Xyf

3PRE5KH9oPGfFPs7fGnQcJ4wNshEDUPGj1t:  +0.867968 XTN.
———————————————————————————————————:  -0.00500000 Waves
3P4PFYKHyxitgwVb4WVWEcdH7ZsuR4GgcXC:  -95.432959 XTN.
———————————————————————————————————:  +0.33356366 Duck Egg
3PFWAVKmXjfHXyzJb12jCbhP4Uhi9t4uWiD:  +1.904488 XTN.
3P8qVX189qpoTJZQQQdKS9endHK5sxWsvrd:  +0.143397 XTN.
3PE7NtJdmVq4yo47LKDqurQ8RLDCouvJCPB:  -1.703943 XTN.
———————————————————————————————————:  -0.33356366 Duck Egg
———————————————————————————————————:  +23.39672924 VIRES
3P4kBiU4wr2yV1S5gMfu3MdkVvy7kxXHsKe:  +0.757308 XTN.
3PEtLVxDT8mxAh1SDAn8m7JTGNkdpkaFxBk:  +0.189327 XTN.
3P5HjPowgipiVB3UvXphDiPvKs424WC9xQw:  +92.808042 XTN.
———————————————————————————————————:  -23.39672924 VIRES
3PEjHv3JGjcWNpYEEkif2w8NXV4kbhnoGgu:  +0.466372 XTN.

2024.03.04 20:03 [4069374] transfer 3P3qCUfvbDUjRnjrfM5XFMrXrzxxiad94Ez > 3PRE5KH9oPGfFPs7fGnQcJ4wNshEDUPGj1t y() 0.867968 XTN.
2024.03.04 20:03 [4069374] transfer 3P4PFYKHyxitgwVb4WVWEcdH7ZsuR4GgcXC > 3PFWAVKmXjfHXyzJb12jCbhP4Uhi9t4uWiD swap() 0.573590 XTN.
2024.03.04 20:03 [4069374] transfer 3P4PFYKHyxitgwVb4WVWEcdH7ZsuR4GgcXC > 3P8qVX189qpoTJZQQQdKS9endHK5sxWsvrd swap() 0.143397 XTN.
2024.03.04 20:03 [4069374] transfer 3P4PFYKHyxitgwVb4WVWEcdH7ZsuR4GgcXC > 3P3qCUfvbDUjRnjrfM5XFMrXrzxxiad94Ez swap() 94.142382 XTN.
2024.03.04 20:03 [4069374] transfer 3PFTbywqxtFfukX3HyT881g4iW5K4QL3FAS > 3PFWAVKmXjfHXyzJb12jCbhP4Uhi9t4uWiD topUpReward() 0.573590 XTN.
2024.03.04 20:03 [4069374] invoke 3P4PFYKHyxitgwVb4WVWEcdH7ZsuR4GgcXC > 3PFTbywqxtFfukX3HyT881g4iW5K4QL3FAS topUpReward() 0.573590 XTN.
2024.03.04 20:03 [4069374] invoke 3P3qCUfvbDUjRnjrfM5XFMrXrzxxiad94Ez > 3P4PFYKHyxitgwVb4WVWEcdH7ZsuR4GgcXC swap() 0.33356366 Duck Egg
2024.03.04 20:03 [4069374] transfer 3PE7NtJdmVq4yo47LKDqurQ8RLDCouvJCPB > 3P4kBiU4wr2yV1S5gMfu3MdkVvy7kxXHsKe swap() 0.757308 XTN.
2024.03.04 20:03 [4069374] transfer 3PE7NtJdmVq4yo47LKDqurQ8RLDCouvJCPB > 3PEtLVxDT8mxAh1SDAn8m7JTGNkdpkaFxBk swap() 0.189327 XTN.
2024.03.04 20:03 [4069374] transfer 3PE7NtJdmVq4yo47LKDqurQ8RLDCouvJCPB > 3P3qCUfvbDUjRnjrfM5XFMrXrzxxiad94Ez swap() 0.33356366 Duck Egg
2024.03.04 20:03 [4069374] transfer 3PFTbywqxtFfukX3HyT881g4iW5K4QL3FAS > 3PFWAVKmXjfHXyzJb12jCbhP4Uhi9t4uWiD topUpReward() 0.757308 XTN.
2024.03.04 20:03 [4069374] invoke 3PE7NtJdmVq4yo47LKDqurQ8RLDCouvJCPB > 3PFTbywqxtFfukX3HyT881g4iW5K4QL3FAS topUpReward() 0.757308 XTN.
2024.03.04 20:03 [4069374] invoke 3P3qCUfvbDUjRnjrfM5XFMrXrzxxiad94Ez > 3PE7NtJdmVq4yo47LKDqurQ8RLDCouvJCPB swap() 23.39672924 VIRES
2024.03.04 20:03 [4069374] transfer 3P68zNiufsu1viZpu1aY3cdahRRKcvV5N93 > 3P5HjPowgipiVB3UvXphDiPvKs424WC9xQw swap() 0.466372 XTN.
2024.03.04 20:03 [4069374] transfer 3P68zNiufsu1viZpu1aY3cdahRRKcvV5N93 > 3PEjHv3JGjcWNpYEEkif2w8NXV4kbhnoGgu swap() 0.466372 XTN.
2024.03.04 20:03 [4069374] transfer 3P5HjPowgipiVB3UvXphDiPvKs424WC9xQw > 3P3qCUfvbDUjRnjrfM5XFMrXrzxxiad94Ez calculateAmountOutForSwapAndSendTokens() 23.39672924 VIRES
2024.03.04 20:03 [4069374] invoke 3P5HjPowgipiVB3UvXphDiPvKs424WC9xQw > 3PCuHsTU58WKhCqotbcSwABvdPzqqVAbbTv getPoolLeaseConfigREADONLY()
2024.03.04 20:03 [4069374] invoke 3P5HjPowgipiVB3UvXphDiPvKs424WC9xQw > 3PCuHsTU58WKhCqotbcSwABvdPzqqVAbbTv getPoolLeaseConfigREADONLY()
2024.03.04 20:03 [4069374] invoke 3P5HjPowgipiVB3UvXphDiPvKs424WC9xQw > 3PCuHsTU58WKhCqotbcSwABvdPzqqVAbbTv getSwapContractREADONLY()
2024.03.04 20:03 [4069374] invoke 3P5HjPowgipiVB3UvXphDiPvKs424WC9xQw > 3PCuHsTU58WKhCqotbcSwABvdPzqqVAbbTv isPoolSwapDisabledREADONLY()
2024.03.04 20:03 [4069374] invoke 3P68zNiufsu1viZpu1aY3cdahRRKcvV5N93 > 3P5HjPowgipiVB3UvXphDiPvKs424WC9xQw calculateAmountOutForSwapAndSendTokens() 92.341670 XTN.
2024.03.04 20:03 [4069374] invoke 3P68zNiufsu1viZpu1aY3cdahRRKcvV5N93 > 3PCuHsTU58WKhCqotbcSwABvdPzqqVAbbTv getSwapFeeREADONLY()
2024.03.04 20:03 [4069374] invoke 3P68zNiufsu1viZpu1aY3cdahRRKcvV5N93 > 3PCuHsTU58WKhCqotbcSwABvdPzqqVAbbTv getPoolStatusREADONLY()
2024.03.04 20:03 [4069374] invoke 3P68zNiufsu1viZpu1aY3cdahRRKcvV5N93 > 3PCuHsTU58WKhCqotbcSwABvdPzqqVAbbTv getPoolAddressFromLpAssetREADONLY()
2024.03.04 20:03 [4069374] invoke 3P68zNiufsu1viZpu1aY3cdahRRKcvV5N93 > 3PCuHsTU58WKhCqotbcSwABvdPzqqVAbbTv getLpAssetFromPoolAssetsREADONLY()
2024.03.04 20:03 [4069374] invoke 3P68zNiufsu1viZpu1aY3cdahRRKcvV5N93 > 3PCuHsTU58WKhCqotbcSwABvdPzqqVAbbTv getLpAssetFromPoolAssetsREADONLY()
2024.03.04 20:03 [4069374] invoke 3P3qCUfvbDUjRnjrfM5XFMrXrzxxiad94Ez > 3P68zNiufsu1viZpu1aY3cdahRRKcvV5N93 swap() 93.274414 XTN.
2024.03.04 20:03 [4069374] invoke 3PRE5KH9oPGfFPs7fGnQcJ4wNshEDUPGj1t > 94ez y()

3P4PFYKHyxitgwVb4WVWEcdH7ZsuR4GgcXC: global_volume: 6433961645744 -> 6434057247062
3P4PFYKHyxitgwVb4WVWEcdH7ZsuR4GgcXC: global_earnedByOwner: 9622389241 -> 9622532638
3P4PFYKHyxitgwVb4WVWEcdH7ZsuR4GgcXC: hello: "world" == "world"
3P4PFYKHyxitgwVb4WVWEcdH7ZsuR4GgcXC: global_C1iWsKGqLwjHUndiQ7iXpdmPum9PeCDFfyXBdJJosDRS_balance: 15510872898 -> 15543728919
3P4PFYKHyxitgwVb4WVWEcdH7ZsuR4GgcXC: global_DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p_balance: 59367578270 -> 59272001911
3PE7NtJdmVq4yo47LKDqurQ8RLDCouvJCPB: global_volume: 2964445859459 -> 2964540529183
3PE7NtJdmVq4yo47LKDqurQ8RLDCouvJCPB: global_earnedByOwner: 5891057207 -> 5891246534
3PE7NtJdmVq4yo47LKDqurQ8RLDCouvJCPB: global_DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p_balance: 29496993626 -> 29495100354
3PE7NtJdmVq4yo47LKDqurQ8RLDCouvJCPB: global_DSbbhLsSTeDg5Lsiufk2Aneh3DjVqJuPr2M9uU1gwy5p_balance: 728990367696 -> 731283247162
3PE7NtJdmVq4yo47LKDqurQ8RLDCouvJCPB: global_C1iWsKGqLwjHUndiQ7iXpdmPum9PeCDFfyXBdJJosDRS_balance: 10638566952 -> 10605210586

{ "type": 16, "id": "DBRRscFnSjzC912H4Vzce1vygLXNAR1KTCDALmBm5Xyf", "fee": 500000, "feeAssetId": null, "timestamp": 1709571786745, "version": 1, "sender": "3PRE5KH9oPGfFPs7fGnQcJ4wNshEDUPGj1t", "senderPublicKey": "Cr1ybL2JGg9GwJHA2JwqxBPfSW6Q7Jg4HvNrsEiCsHu6", "proofs": [ "2jHpSAdBToKdvSiWJRd1ZoFAP35L6ZUqN6HN525XVhAsw2kFgPmpynwtBBhMsaFUWifKLi6RkySGnwUKDRmpeyo6" ], "dApp": "94ez", "payment": [], "call": { "function": "y", "args": [ { "type": "string", "value": "DSbbhLsSTeDg5Lsiufk2Aneh3DjVqJuPr2M9uU1gwy5p_C1iWsKGqLwjHUndiQ7iXpdmPum9PeCDFfyXBdJJosDRS_0_93274414_H|3P5HjPowgipiVB3UvXphDiPvKs424WC9xQw_W|3PE7NtJdmVq4yo47LKDqurQ8RLDCouvJCPB_P|3P4PFYKHyxitgwVb4WVWEcdH7ZsuR4GgcXC_P|x" } ] }, "height": 4069374, "applicationStatus": "succeeded", "spentComplexity": 5324, "stateChanges": { "data": [], "transfers": [ { "address": "3PRE5KH9oPGfFPs7fGnQcJ4wNshEDUPGj1t", "asset": "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p", "amount": 867968 } ], "issues": [], "reissues": [], "burns": [], "sponsorFees": [], "leases": [], "leaseCancels": [], "invokes": [ { "dApp": "3P68zNiufsu1viZpu1aY3cdahRRKcvV5N93", "call": { "function": "swap", "args": [ { "type": "Int", "value": 1 }, { "type": "String", "value": "DSbbhLsSTeDg5Lsiufk2Aneh3DjVqJuPr2M9uU1gwy5p" }, { "type": "String", "value": "3P3qCUfvbDUjRnjrfM5XFMrXrzxxiad94Ez" } ] }, "payment": [ { "assetId": "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p", "amount": 93274414 } ], "stateChanges": { "data": [], "transfers": [ { "address": "3PEjHv3JGjcWNpYEEkif2w8NXV4kbhnoGgu", "asset": "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p", "amount": 466372 }, { "address": "3P5HjPowgipiVB3UvXphDiPvKs424WC9xQw", "asset": "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p", "amount": 466372 } ], "issues": [], "reissues": [], "burns": [], "sponsorFees": [], "leases": [], "leaseCancels": [], "invokes": [ { "dApp": "3PCuHsTU58WKhCqotbcSwABvdPzqqVAbbTv", "call": { "function": "getLpAssetFromPoolAssetsREADONLY", "args": [ { "type": "String", "value": "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p" }, { "type": "String", "value": "DSbbhLsSTeDg5Lsiufk2Aneh3DjVqJuPr2M9uU1gwy5p" } ] }, "payment": [], "stateChanges": { "data": [], "transfers": [], "issues": [], "reissues": [], "burns": [], "sponsorFees": [], "leases": [], "leaseCancels": [], "invokes": [] } }, { "dApp": "3PCuHsTU58WKhCqotbcSwABvdPzqqVAbbTv", "call": { "function": "getLpAssetFromPoolAssetsREADONLY", "args": [ { "type": "String", "value": "DSbbhLsSTeDg5Lsiufk2Aneh3DjVqJuPr2M9uU1gwy5p" }, { "type": "String", "value": "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p" } ] }, "payment": [], "stateChanges": { "data": [], "transfers": [], "issues": [], "reissues": [], "burns": [], "sponsorFees": [], "leases": [], "leaseCancels": [], "invokes": [] } }, { "dApp": "3PCuHsTU58WKhCqotbcSwABvdPzqqVAbbTv", "call": { "function": "getPoolAddressFromLpAssetREADONLY", "args": [ { "type": "String", "value": "Tgk2yCxkzurHneBnUJb2xmf3oQKvDbs72fSi8rCNKBX" } ] }, "payment": [], "stateChanges": { "data": [], "transfers": [], "issues": [], "reissues": [], "burns": [], "sponsorFees": [], "leases": [], "leaseCancels": [], "invokes": [] } }, { "dApp": "3PCuHsTU58WKhCqotbcSwABvdPzqqVAbbTv", "call": { "function": "getPoolStatusREADONLY", "args": [ { "type": "String", "value": "3P5HjPowgipiVB3UvXphDiPvKs424WC9xQw" } ] }, "payment": [], "stateChanges": { "data": [], "transfers": [], "issues": [], "reissues": [], "burns": [], "sponsorFees": [], "leases": [], "leaseCancels": [], "invokes": [] } }, { "dApp": "3PCuHsTU58WKhCqotbcSwABvdPzqqVAbbTv", "call": { "function": "getSwapFeeREADONLY", "args": [ { "type": "String", "value": "3P5HjPowgipiVB3UvXphDiPvKs424WC9xQw" } ] }, "payment": [], "stateChanges": { "data": [], "transfers": [], "issues": [], "reissues": [], "burns": [], "sponsorFees": [], "leases": [], "leaseCancels": [], "invokes": [] } }, { "dApp": "3P5HjPowgipiVB3UvXphDiPvKs424WC9xQw", "call": { "function": "calculateAmountOutForSwapAndSendTokens", "args": [ { "type": "Int", "value": 92341670 }, { "type": "Boolean", "value": true }, { "type": "Int", "value": 1 }, { "type": "String", "value": "3P3qCUfvbDUjRnjrfM5XFMrXrzxxiad94Ez" }, { "type": "Int", "value": 466372 } ] }, "payment": [ { "assetId": "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p", "amount": 92341670 } ], "stateChanges": { "data": [], "transfers": [ { "address": "3P3qCUfvbDUjRnjrfM5XFMrXrzxxiad94Ez", "asset": "DSbbhLsSTeDg5Lsiufk2Aneh3DjVqJuPr2M9uU1gwy5p", "amount": 2339672924 } ], "issues": [], "reissues": [], "burns": [], "sponsorFees": [], "leases": [], "leaseCancels": [], "invokes": [ { "dApp": "3PCuHsTU58WKhCqotbcSwABvdPzqqVAbbTv", "call": { "function": "isPoolSwapDisabledREADONLY", "args": [ { "type": "String", "value": "3P5HjPowgipiVB3UvXphDiPvKs424WC9xQw" } ] }, "payment": [], "stateChanges": { "data": [], "transfers": [], "issues": [], "reissues": [], "burns": [], "sponsorFees": [], "leases": [], "leaseCancels": [], "invokes": [] } }, { "dApp": "3PCuHsTU58WKhCqotbcSwABvdPzqqVAbbTv", "call": { "function": "getSwapContractREADONLY", "args": [] }, "payment": [], "stateChanges": { "data": [], "transfers": [], "issues": [], "reissues": [], "burns": [], "sponsorFees": [], "leases": [], "leaseCancels": [], "invokes": [] } }, { "dApp": "3PCuHsTU58WKhCqotbcSwABvdPzqqVAbbTv", "call": { "function": "getPoolLeaseConfigREADONLY", "args": [ { "type": "String", "value": "3P5HjPowgipiVB3UvXphDiPvKs424WC9xQw" }, { "type": "String", "value": "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p" } ] }, "payment": [], "stateChanges": { "data": [], "transfers": [], "issues": [], "reissues": [], "burns": [], "sponsorFees": [], "leases": [], "leaseCancels": [], "invokes": [] } }, { "dApp": "3PCuHsTU58WKhCqotbcSwABvdPzqqVAbbTv", "call": { "function": "getPoolLeaseConfigREADONLY", "args": [ { "type": "String", "value": "3P5HjPowgipiVB3UvXphDiPvKs424WC9xQw" }, { "type": "String", "value": "DSbbhLsSTeDg5Lsiufk2Aneh3DjVqJuPr2M9uU1gwy5p" } ] }, "payment": [], "stateChanges": { "data": [], "transfers": [], "issues": [], "reissues": [], "burns": [], "sponsorFees": [], "leases": [], "leaseCancels": [], "invokes": [] } } ] } } ] } }, { "dApp": "3PE7NtJdmVq4yo47LKDqurQ8RLDCouvJCPB", "call": { "function": "swap", "args": [ { "type": "String", "value": "C1iWsKGqLwjHUndiQ7iXpdmPum9PeCDFfyXBdJJosDRS" }, { "type": "Int", "value": 1 } ] }, "payment": [ { "assetId": "DSbbhLsSTeDg5Lsiufk2Aneh3DjVqJuPr2M9uU1gwy5p", "amount": 2339672924 } ], "stateChanges": { "data": [ { "key": "global_C1iWsKGqLwjHUndiQ7iXpdmPum9PeCDFfyXBdJJosDRS_balance", "type": "integer", "value": 10605210586 }, { "key": "global_DSbbhLsSTeDg5Lsiufk2Aneh3DjVqJuPr2M9uU1gwy5p_balance", "type": "integer", "value": 731283247162 }, { "key": "global_DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p_balance", "type": "integer", "value": 29495100354 }, { "key": "global_earnedByOwner", "type": "integer", "value": 5891246534 }, { "key": "global_volume", "type": "integer", "value": 2964540529183 } ], "transfers": [ { "address": "3P3qCUfvbDUjRnjrfM5XFMrXrzxxiad94Ez", "asset": "C1iWsKGqLwjHUndiQ7iXpdmPum9PeCDFfyXBdJJosDRS", "amount": 33356366 }, { "address": "3PEtLVxDT8mxAh1SDAn8m7JTGNkdpkaFxBk", "asset": "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p", "amount": 189327 }, { "address": "3P4kBiU4wr2yV1S5gMfu3MdkVvy7kxXHsKe", "asset": "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p", "amount": 757308 } ], "issues": [], "reissues": [], "burns": [], "sponsorFees": [], "leases": [], "leaseCancels": [], "invokes": [ { "dApp": "3PFTbywqxtFfukX3HyT881g4iW5K4QL3FAS", "call": { "function": "topUpReward", "args": [] }, "payment": [ { "assetId": "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p", "amount": 757308 } ], "stateChanges": { "data": [], "transfers": [ { "address": "3PFWAVKmXjfHXyzJb12jCbhP4Uhi9t4uWiD", "asset": "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p", "amount": 757308 } ], "issues": [], "reissues": [], "burns": [], "sponsorFees": [], "leases": [], "leaseCancels": [], "invokes": [] } } ] } }, { "dApp": "3P4PFYKHyxitgwVb4WVWEcdH7ZsuR4GgcXC", "call": { "function": "swap", "args": [ { "type": "String", "value": "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p" }, { "type": "Int", "value": 1 } ] }, "payment": [ { "assetId": "C1iWsKGqLwjHUndiQ7iXpdmPum9PeCDFfyXBdJJosDRS", "amount": 33356366 } ], "stateChanges": { "data": [ { "key": "global_DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p_balance", "type": "integer", "value": 59272001911 }, { "key": "global_C1iWsKGqLwjHUndiQ7iXpdmPum9PeCDFfyXBdJJosDRS_balance", "type": "integer", "value": 15543728919 }, { "key": "hello", "type": "string", "value": "world" }, { "key": "global_earnedByOwner", "type": "integer", "value": 9622532638 }, { "key": "global_volume", "type": "integer", "value": 6434057247062 } ], "transfers": [ { "address": "3P3qCUfvbDUjRnjrfM5XFMrXrzxxiad94Ez", "asset": "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p", "amount": 94142382 }, { "address": "3P8qVX189qpoTJZQQQdKS9endHK5sxWsvrd", "asset": "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p", "amount": 143397 }, { "address": "3PFWAVKmXjfHXyzJb12jCbhP4Uhi9t4uWiD", "asset": "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p", "amount": 573590 } ], "issues": [], "reissues": [], "burns": [], "sponsorFees": [], "leases": [], "leaseCancels": [], "invokes": [ { "dApp": "3PFTbywqxtFfukX3HyT881g4iW5K4QL3FAS", "call": { "function": "topUpReward", "args": [] }, "payment": [ { "assetId": "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p", "amount": 573590 } ], "stateChanges": { "data": [], "transfers": [ { "address": "3PFWAVKmXjfHXyzJb12jCbhP4Uhi9t4uWiD", "asset": "DG2xFkPdDwKUoBkzGAhQtLpSGzfXLiCYPEzeKH2Ad24p", "amount": 573590 } ], "issues": [], "reissues": [], "burns": [], "sponsorFees": [], "leases": [], "leaseCancels": [], "invokes": [] } } ] } } ] } }

github/deemru/w8io/3ef1775 
20.82 ms