2023.06.09 01:08 [3679841] transfer 3PGvA5joGCPcUfJodAkQTm95iPNdXD48sAY > 3PLoX5yufZz9jRahL1CVVRAXq8VpUmXBKLK default() 0.05128342 Waves
2023.06.09 01:08 [3679841] transfer 3P3KU81iteCQxKb8u15yEPcABknLEcCvGyr > 3PLk7wu8tovkaszYGLZy4g4yKMMRMuHeUwg exchange() 0.00324500 Waves
2023.06.09 01:08 [3679841] transfer 3P3KU81iteCQxKb8u15yEPcABknLEcCvGyr > 3P6J84oH51DzY6xk2mT5TheXRbrCwBMxonp exchange() 0.01135751 Waves
2023.06.09 01:08 [3679841] transfer 3P3KU81iteCQxKb8u15yEPcABknLEcCvGyr > 3PGvA5joGCPcUfJodAkQTm95iPNdXD48sAY exchange() 5.37589055 Waves
2023.06.09 01:08 [3679841] lease 3P3KU81iteCQxKb8u15yEPcABknLEcCvGyr > 3PLXMk37Nn7Wtm3uAK1gbxDc87JZmTh4gnU stakeUnstake() 2392.34555622 Waves
2023.06.09 01:08 [3679841] unlease 3P3KU81iteCQxKb8u15yEPcABknLEcCvGyr > 3PLXMk37Nn7Wtm3uAK1gbxDc87JZmTh4gnU stakeUnstake() +2397.73604928 Waves
2023.06.09 01:08 [3679841] invoke 3PBFHAHS4PZaXpS7gT5SPLnuPh7YPoJgCfE > 3P3KU81iteCQxKb8u15yEPcABknLEcCvGyr stakeUnstake()
2023.06.09 01:08 [3679841] invoke 3P3KU81iteCQxKb8u15yEPcABknLEcCvGyr > 3PBFHAHS4PZaXpS7gT5SPLnuPh7YPoJgCfE exchange()
2023.06.09 01:08 [3679841] invoke 3PGvA5joGCPcUfJodAkQTm95iPNdXD48sAY > 3P3KU81iteCQxKb8u15yEPcABknLEcCvGyr exchange() 0.00473357 ETH-Ethereum-PPT
2023.06.09 01:08 [3679841] transfer 3P68zNiufsu1viZpu1aY3cdahRRKcvV5N93 > 3PATKQATPmnxLd5DjXg8FmbXXbKpA1BVAvS swap() 0.019292 USDT-ERC20-PPT
2023.06.09 01:08 [3679841] transfer 3P68zNiufsu1viZpu1aY3cdahRRKcvV5N93 > 3PEjHv3JGjcWNpYEEkif2w8NXV4kbhnoGgu swap() 0.019292 USDT-ERC20-PPT
2023.06.09 01:08 [3679841] transfer 3PATKQATPmnxLd5DjXg8FmbXXbKpA1BVAvS > 3PGvA5joGCPcUfJodAkQTm95iPNdXD48sAY calculateAmountOutForSwapAndSendTokens() 0.00473357 ETH-Ethereum-PPT
2023.06.09 01:08 [3679841] invoke 3PATKQATPmnxLd5DjXg8FmbXXbKpA1BVAvS > 3PCuHsTU58WKhCqotbcSwABvdPzqqVAbbTv getPoolLeaseConfigREADONLY()
2023.06.09 01:08 [3679841] invoke 3PATKQATPmnxLd5DjXg8FmbXXbKpA1BVAvS > 3PCuHsTU58WKhCqotbcSwABvdPzqqVAbbTv getPoolLeaseConfigREADONLY()
2023.06.09 01:08 [3679841] invoke 3PATKQATPmnxLd5DjXg8FmbXXbKpA1BVAvS > 3PCuHsTU58WKhCqotbcSwABvdPzqqVAbbTv getSwapContractREADONLY()
2023.06.09 01:08 [3679841] invoke 3P68zNiufsu1viZpu1aY3cdahRRKcvV5N93 > 3PATKQATPmnxLd5DjXg8FmbXXbKpA1BVAvS calculateAmountOutForSwapAndSendTokens() 9.607829 USDT-ERC20-PPT
2023.06.09 01:08 [3679841] invoke 3P68zNiufsu1viZpu1aY3cdahRRKcvV5N93 > 3PCuHsTU58WKhCqotbcSwABvdPzqqVAbbTv getPoolStatusREADONLY()
2023.06.09 01:08 [3679841] invoke 3P68zNiufsu1viZpu1aY3cdahRRKcvV5N93 > 3PCuHsTU58WKhCqotbcSwABvdPzqqVAbbTv getPoolAddressFromLpAssetREADONLY()
2023.06.09 01:08 [3679841] invoke 3P68zNiufsu1viZpu1aY3cdahRRKcvV5N93 > 3PCuHsTU58WKhCqotbcSwABvdPzqqVAbbTv getLpAssetFromPoolAssetsREADONLY()
2023.06.09 01:08 [3679841] invoke 3P68zNiufsu1viZpu1aY3cdahRRKcvV5N93 > 3PCuHsTU58WKhCqotbcSwABvdPzqqVAbbTv getLpAssetFromPoolAssetsREADONLY()
2023.06.09 01:08 [3679841] invoke 3PGvA5joGCPcUfJodAkQTm95iPNdXD48sAY > 3P68zNiufsu1viZpu1aY3cdahRRKcvV5N93 swap() 9.646413 USDT-ERC20-PPT
2023.06.09 01:08 [3679841] transfer 3P2M9btqYdpENh1SkaHFDdc8XSjXHNiAXF5 > 3PLk7wu8tovkaszYGLZy4g4yKMMRMuHeUwg exchange() 0.005822 USDT-ERC20-PPT
2023.06.09 01:08 [3679841] transfer 3P2M9btqYdpENh1SkaHFDdc8XSjXHNiAXF5 > 3P6J84oH51DzY6xk2mT5TheXRbrCwBMxonp exchange() 0.020379 USDT-ERC20-PPT
2023.06.09 01:08 [3679841] transfer 3P2M9btqYdpENh1SkaHFDdc8XSjXHNiAXF5 > 3PGvA5joGCPcUfJodAkQTm95iPNdXD48sAY exchange() 9.646413 USDT-ERC20-PPT
2023.06.09 01:08 [3679841] lease 3P2M9btqYdpENh1SkaHFDdc8XSjXHNiAXF5 > 3PLXMk37Nn7Wtm3uAK1gbxDc87JZmTh4gnU stakeUnstake() 892.59224801 Waves
2023.06.09 01:08 [3679841] unlease 3P2M9btqYdpENh1SkaHFDdc8XSjXHNiAXF5 > 3PLXMk37Nn7Wtm3uAK1gbxDc87JZmTh4gnU stakeUnstake() +887.26764088 Waves
2023.06.09 01:08 [3679841] invoke 3PBFHAHS4PZaXpS7gT5SPLnuPh7YPoJgCfE > 3P2M9btqYdpENh1SkaHFDdc8XSjXHNiAXF5 stakeUnstake()
2023.06.09 01:08 [3679841] invoke 3P2M9btqYdpENh1SkaHFDdc8XSjXHNiAXF5 > 3PBFHAHS4PZaXpS7gT5SPLnuPh7YPoJgCfE exchange()
2023.06.09 01:08 [3679841] invoke 3PGvA5joGCPcUfJodAkQTm95iPNdXD48sAY > 3P2M9btqYdpENh1SkaHFDdc8XSjXHNiAXF5 exchange() 5.32460713 Waves
2023.06.09 01:08 [3679841] invoke 3PQ23xgnf98t4qDtF5bscxdCDwgYoL7SPeK > jher default()

3PGvA5joGCPcUfJodAkQTm95iPNdXD48sAY: totalProfit_WAVES: 158527568502 -> 158532696844
3PGvA5joGCPcUfJodAkQTm95iPNdXD48sAY: profit_WAVES_1686262110827: 1524009 -> 5128342
3P3KU81iteCQxKb8u15yEPcABknLEcCvGyr: B_asset_balance: 239773604928 -> 239234555622
3P3KU81iteCQxKb8u15yEPcABknLEcCvGyr: A_asset_balance: 209384939 -> 209858296
3P3KU81iteCQxKb8u15yEPcABknLEcCvGyr: leasing_amount: 239773604928 -> 239234555622
3P3KU81iteCQxKb8u15yEPcABknLEcCvGyr: leasing_id: "0x6fc04320f3505c4a5a12b4d29448dcac45fb76293cbcaff959b596799e220409" -> "0x3caf80a96b1a5ada61f2db988abc99b8e5ac6a69dccf617ad8e2c1ad0653abee"
3P2M9btqYdpENh1SkaHFDdc8XSjXHNiAXF5: B_asset_balance: 1626840716 -> 1617168102
3P2M9btqYdpENh1SkaHFDdc8XSjXHNiAXF5: A_asset_balance: 88726764088 -> 89259224801
3P2M9btqYdpENh1SkaHFDdc8XSjXHNiAXF5: leasing_amount: 88726764088 -> 89259224801
3P2M9btqYdpENh1SkaHFDdc8XSjXHNiAXF5: leasing_id: "0x8411f7f174349f62623a2c404af371480bbded845b065ee5654d8a631f864d03" -> "0x520544b277a2afd592cd769b582f7a2c76d471e91d773e41c5c6ae1e5ac9b51c"

{ "type": 16, "id": "4n8pSZ96iob2X5v2uGKMjoV6YGmZykh181NsSpaCZgLy", "fee": 500000, "feeAssetId": null, "timestamp": 1686261988715, "version": 1, "sender": "3PQ23xgnf98t4qDtF5bscxdCDwgYoL7SPeK", "senderPublicKey": "CAKbAYMx5sDYFB9G6v2CTspzRoAUppPvv7uGpuZpZ7zj", "proofs": [ "2Xc4jpDrS5UpGDfiUyJ4vvhRHUPLsBNPAFAQzd1g1FZaA2sKdPAkX3Ukz8Qr6LzpGGKMVgbFUCTUN6Pfy8C8b8je" ], "dApp": "jher", "payment": [], "call": { "function": "default", "args": [] }, "height": 3679841, "applicationStatus": "succeeded", "spentComplexity": 12210, "stateChanges": { "data": [ { "key": "profit_WAVES_1686262110827", "type": "integer", "value": 5128342 }, { "key": "totalProfit_WAVES", "type": "integer", "value": 158532696844 } ], "transfers": [ { "address": "3PLoX5yufZz9jRahL1CVVRAXq8VpUmXBKLK", "asset": null, "amount": 5128342 } ], "issues": [], "reissues": [], "burns": [], "sponsorFees": [], "leases": [], "leaseCancels": [], "invokes": [ { "dApp": "3P2M9btqYdpENh1SkaHFDdc8XSjXHNiAXF5", "call": { "function": "exchange", "args": [ { "type": "Int", "value": 1 } ] }, "payment": [ { "assetId": null, "amount": 532460713 } ], "stateChanges": { "data": [ { "key": "A_asset_balance", "type": "integer", "value": 89259224801 }, { "key": "B_asset_balance", "type": "integer", "value": 1617168102 } ], "transfers": [ { "address": "3PGvA5joGCPcUfJodAkQTm95iPNdXD48sAY", "asset": "9wc3LXNA4TEBsXyKtoLE9mrbDD7WMHXvXrCjZvabLAsi", "amount": 9646413 }, { "address": "3P6J84oH51DzY6xk2mT5TheXRbrCwBMxonp", "asset": "9wc3LXNA4TEBsXyKtoLE9mrbDD7WMHXvXrCjZvabLAsi", "amount": 20379 }, { "address": "3PLk7wu8tovkaszYGLZy4g4yKMMRMuHeUwg", "asset": "9wc3LXNA4TEBsXyKtoLE9mrbDD7WMHXvXrCjZvabLAsi", "amount": 5822 } ], "issues": [], "reissues": [], "burns": [], "sponsorFees": [], "leases": [], "leaseCancels": [], "invokes": [ { "dApp": "3PBFHAHS4PZaXpS7gT5SPLnuPh7YPoJgCfE", "call": { "function": "exchange", "args": [ { "type": "ByteVector", "value": "3PGvA5joGCPcUfJodAkQTm95iPNdXD48sAY" }, { "type": "Array", "value": [ { "type": "String", "value": "1" } ] }, { "type": "Array", "value": [ { "type": "Int", "value": 532460713 } ] }, { "type": "Array", "value": [ { "type": "ByteVector", "value": "" } ] } ] }, "payment": [], "stateChanges": { "data": [], "transfers": [], "issues": [], "reissues": [], "burns": [], "sponsorFees": [], "leases": [], "leaseCancels": [], "invokes": [ { "dApp": "3P2M9btqYdpENh1SkaHFDdc8XSjXHNiAXF5", "call": { "function": "stakeUnstake", "args": [ { "type": "Boolean", "value": true }, { "type": "Int", "value": 532460713 }, { "type": "String", "value": "WAVES" } ] }, "payment": [], "stateChanges": { "data": [ { "key": "leasing_id", "type": "binary", "value": "base64:UgVEsneir9WSzXabWC96LHbUcekddz5BxcauHlrJtRw=" }, { "key": "leasing_amount", "type": "integer", "value": 89259224801 } ], "transfers": [], "issues": [], "reissues": [], "burns": [], "sponsorFees": [], "leases": [ { "id": "6XB6FgM91NWeopvdCEypWN3pxsaJtZsEp5sMY61qYuYo", "originTransactionId": "4n8pSZ96iob2X5v2uGKMjoV6YGmZykh181NsSpaCZgLy", "sender": "3P2M9btqYdpENh1SkaHFDdc8XSjXHNiAXF5", "recipient": "3PLXMk37Nn7Wtm3uAK1gbxDc87JZmTh4gnU", "amount": 89259224801, "height": 3679841, "status": "canceled", "cancelHeight": 3679842, "cancelTransactionId": "C7MQG3LG5pUej9Ga3xcVwRuGGXU9Uc4yH9yx81EPXcHp" } ], "leaseCancels": [ { "id": "9tYi3Eo1tmwjT1zgVsH2mkjwgu4uQ6LQrRbbSAa5Mq3G", "originTransactionId": "EFhVhhRf6M8wuzbNyngMVQnrSt2QGYm8bu4r1MPSHkmG", "sender": "3P2M9btqYdpENh1SkaHFDdc8XSjXHNiAXF5", "recipient": "3PLXMk37Nn7Wtm3uAK1gbxDc87JZmTh4gnU", "amount": 88726764088, "height": 3679841, "status": "canceled", "cancelHeight": 3679841, "cancelTransactionId": "4n8pSZ96iob2X5v2uGKMjoV6YGmZykh181NsSpaCZgLy" } ], "invokes": [] } } ] } } ] } }, { "dApp": "3P68zNiufsu1viZpu1aY3cdahRRKcvV5N93", "call": { "function": "swap", "args": [ { "type": "Int", "value": 0 }, { "type": "String", "value": "3VuV5WTmDz47Dmdn3QpcYjzbSdipjQE4JMdNe1xZpX13" }, { "type": "String", "value": "3PGvA5joGCPcUfJodAkQTm95iPNdXD48sAY" } ] }, "payment": [ { "assetId": "9wc3LXNA4TEBsXyKtoLE9mrbDD7WMHXvXrCjZvabLAsi", "amount": 9646413 } ], "stateChanges": { "data": [], "transfers": [ { "address": "3PEjHv3JGjcWNpYEEkif2w8NXV4kbhnoGgu", "asset": "9wc3LXNA4TEBsXyKtoLE9mrbDD7WMHXvXrCjZvabLAsi", "amount": 19292 }, { "address": "3PATKQATPmnxLd5DjXg8FmbXXbKpA1BVAvS", "asset": "9wc3LXNA4TEBsXyKtoLE9mrbDD7WMHXvXrCjZvabLAsi", "amount": 19292 } ], "issues": [], "reissues": [], "burns": [], "sponsorFees": [], "leases": [], "leaseCancels": [], "invokes": [ { "dApp": "3PCuHsTU58WKhCqotbcSwABvdPzqqVAbbTv", "call": { "function": "getLpAssetFromPoolAssetsREADONLY", "args": [ { "type": "String", "value": "9wc3LXNA4TEBsXyKtoLE9mrbDD7WMHXvXrCjZvabLAsi" }, { "type": "String", "value": "3VuV5WTmDz47Dmdn3QpcYjzbSdipjQE4JMdNe1xZpX13" } ] }, "payment": [], "stateChanges": { "data": [], "transfers": [], "issues": [], "reissues": [], "burns": [], "sponsorFees": [], "leases": [], "leaseCancels": [], "invokes": [] } }, { "dApp": "3PCuHsTU58WKhCqotbcSwABvdPzqqVAbbTv", "call": { "function": "getLpAssetFromPoolAssetsREADONLY", "args": [ { "type": "String", "value": "3VuV5WTmDz47Dmdn3QpcYjzbSdipjQE4JMdNe1xZpX13" }, { "type": "String", "value": "9wc3LXNA4TEBsXyKtoLE9mrbDD7WMHXvXrCjZvabLAsi" } ] }, "payment": [], "stateChanges": { "data": [], "transfers": [], "issues": [], "reissues": [], "burns": [], "sponsorFees": [], "leases": [], "leaseCancels": [], "invokes": [] } }, { "dApp": "3PCuHsTU58WKhCqotbcSwABvdPzqqVAbbTv", "call": { "function": "getPoolAddressFromLpAssetREADONLY", "args": [ { "type": "String", "value": "3VWCZws3knDimTQtqfaAmBhXKBYDUzgm8s4y86Mbe9CE" } ] }, "payment": [], "stateChanges": { "data": [], "transfers": [], "issues": [], "reissues": [], "burns": [], "sponsorFees": [], "leases": [], "leaseCancels": [], "invokes": [] } }, { "dApp": "3PCuHsTU58WKhCqotbcSwABvdPzqqVAbbTv", "call": { "function": "getPoolStatusREADONLY", "args": [ { "type": "String", "value": "3PATKQATPmnxLd5DjXg8FmbXXbKpA1BVAvS" } ] }, "payment": [], "stateChanges": { "data": [], "transfers": [], "issues": [], "reissues": [], "burns": [], "sponsorFees": [], "leases": [], "leaseCancels": [], "invokes": [] } }, { "dApp": "3PATKQATPmnxLd5DjXg8FmbXXbKpA1BVAvS", "call": { "function": "calculateAmountOutForSwapAndSendTokens", "args": [ { "type": "Int", "value": 9607829 }, { "type": "Boolean", "value": true }, { "type": "Int", "value": 0 }, { "type": "String", "value": "3PGvA5joGCPcUfJodAkQTm95iPNdXD48sAY" }, { "type": "Int", "value": 19292 } ] }, "payment": [ { "assetId": "9wc3LXNA4TEBsXyKtoLE9mrbDD7WMHXvXrCjZvabLAsi", "amount": 9607829 } ], "stateChanges": { "data": [], "transfers": [ { "address": "3PGvA5joGCPcUfJodAkQTm95iPNdXD48sAY", "asset": "3VuV5WTmDz47Dmdn3QpcYjzbSdipjQE4JMdNe1xZpX13", "amount": 473357 } ], "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": "3PATKQATPmnxLd5DjXg8FmbXXbKpA1BVAvS" }, { "type": "String", "value": "9wc3LXNA4TEBsXyKtoLE9mrbDD7WMHXvXrCjZvabLAsi" } ] }, "payment": [], "stateChanges": { "data": [], "transfers": [], "issues": [], "reissues": [], "burns": [], "sponsorFees": [], "leases": [], "leaseCancels": [], "invokes": [] } }, { "dApp": "3PCuHsTU58WKhCqotbcSwABvdPzqqVAbbTv", "call": { "function": "getPoolLeaseConfigREADONLY", "args": [ { "type": "String", "value": "3PATKQATPmnxLd5DjXg8FmbXXbKpA1BVAvS" }, { "type": "String", "value": "3VuV5WTmDz47Dmdn3QpcYjzbSdipjQE4JMdNe1xZpX13" } ] }, "payment": [], "stateChanges": { "data": [], "transfers": [], "issues": [], "reissues": [], "burns": [], "sponsorFees": [], "leases": [], "leaseCancels": [], "invokes": [] } } ] } } ] } }, { "dApp": "3P3KU81iteCQxKb8u15yEPcABknLEcCvGyr", "call": { "function": "exchange", "args": [ { "type": "Int", "value": 1 } ] }, "payment": [ { "assetId": "3VuV5WTmDz47Dmdn3QpcYjzbSdipjQE4JMdNe1xZpX13", "amount": 473357 } ], "stateChanges": { "data": [ { "key": "A_asset_balance", "type": "integer", "value": 209858296 }, { "key": "B_asset_balance", "type": "integer", "value": 239234555622 } ], "transfers": [ { "address": "3PGvA5joGCPcUfJodAkQTm95iPNdXD48sAY", "asset": null, "amount": 537589055 }, { "address": "3P6J84oH51DzY6xk2mT5TheXRbrCwBMxonp", "asset": null, "amount": 1135751 }, { "address": "3PLk7wu8tovkaszYGLZy4g4yKMMRMuHeUwg", "asset": null, "amount": 324500 } ], "issues": [], "reissues": [], "burns": [], "sponsorFees": [], "leases": [], "leaseCancels": [], "invokes": [ { "dApp": "3PBFHAHS4PZaXpS7gT5SPLnuPh7YPoJgCfE", "call": { "function": "exchange", "args": [ { "type": "ByteVector", "value": "3PGvA5joGCPcUfJodAkQTm95iPNdXD48sAY" }, { "type": "Array", "value": [ { "type": "String", "value": "1" } ] }, { "type": "Array", "value": [ { "type": "Int", "value": 473357 } ] }, { "type": "Array", "value": [ { "type": "ByteVector", "value": "3VuV5WTmDz47Dmdn3QpcYjzbSdipjQE4JMdNe1xZpX13" } ] } ] }, "payment": [], "stateChanges": { "data": [], "transfers": [], "issues": [], "reissues": [], "burns": [], "sponsorFees": [], "leases": [], "leaseCancels": [], "invokes": [ { "dApp": "3P3KU81iteCQxKb8u15yEPcABknLEcCvGyr", "call": { "function": "stakeUnstake", "args": [ { "type": "Boolean", "value": false }, { "type": "Int", "value": 539049306 }, { "type": "String", "value": "WAVES" } ] }, "payment": [], "stateChanges": { "data": [ { "key": "leasing_id", "type": "binary", "value": "base64:PK+AqWsaWtph8tuYiryZuOWsamncz2F62OLBrQZTq+4=" }, { "key": "leasing_amount", "type": "integer", "value": 239234555622 } ], "transfers": [], "issues": [], "reissues": [], "burns": [], "sponsorFees": [], "leases": [ { "id": "55tgHEyMLDkLrzBsvxD2NPoHspHZK3YhMxZpEvTfKcbX", "originTransactionId": "4n8pSZ96iob2X5v2uGKMjoV6YGmZykh181NsSpaCZgLy", "sender": "3P3KU81iteCQxKb8u15yEPcABknLEcCvGyr", "recipient": "3PLXMk37Nn7Wtm3uAK1gbxDc87JZmTh4gnU", "amount": 239234555622, "height": 3679841, "status": "canceled", "cancelHeight": 3679842, "cancelTransactionId": "49buJ1YSAGj4ZS8nyrhijsaDmuGX8jtyCKANDyULzBTR" } ], "leaseCancels": [ { "id": "8XEHwk28JQTuPETmijVREKFnnfLUdJo2EQQAyYZRyfjn", "originTransactionId": "73xkhTs92MDeiaNzfGB2CxrtuVtbMWJKYyDDgmQg1e5T", "sender": "3P3KU81iteCQxKb8u15yEPcABknLEcCvGyr", "recipient": "3PLXMk37Nn7Wtm3uAK1gbxDc87JZmTh4gnU", "amount": 239773604928, "height": 3679841, "status": "canceled", "cancelHeight": 3679841, "cancelTransactionId": "4n8pSZ96iob2X5v2uGKMjoV6YGmZykh181NsSpaCZgLy" } ], "invokes": [] } } ] } } ] } } ] } }

github/deemru/w8io/786bc32 
37.73 ms