ਡਿਵੈਲਪਰਜ਼
Zinn® Cache ਸਮਰੱਥਾ ਹਵਾਲਾ
Zinn® Cache ਆਪਣੇ ਕਾਰਜਾਂ ਨੂੰ WordPress Abilities API ਨਾਲ ਰਜਿਸਟਰ ਕਰਦਾ ਹੈ। ਇਹੋ ਅਯੋਗਤਾਵਾਂ ਸਾਈਟ ਦੇ ਆਪਣੇ ਸਰਵਰ 'ਤੇ MCP ਟੂਲ ਅਤੇ /wp-json/wp-abilities/v1 ਦੇ ਅਧੀਨ REST ਰੂਟ ਹਨ। ਇਹ ਪੰਨਾ ਪਲੱਗਇਨ ਦੀ ਆਪਣੀ ਰਜਿਸਟਰੀ ਤੋਂ ਤਿਆਰ ਕੀਤਾ ਗਿਆ ਹੈ।
ਸਿਰੇ
HTTP ਉੱਤੇ MCP (ਸਟ੍ਰੀਮ ਕਰਨ ਯੋਗ)
https://example.com/wp-json/zinn-cache/v1/mcpWP-CLI ਉੱਤੇ MCP (ਸਟੈਂਡਰਡ ਇਨਪੁੱਟ ਅਤੇ ਆਉਟਪੁੱਟ)
wp mcp-adapter serve --server=zinn-cache --user=<login>REST: ਸਮਰੱਥਾਵਾਂ ਦੀ ਸੂਚੀ ਬਣਾਓ
/wp-json/wp-abilities/v1/abilities?category=zinn-cacheREST: ਇੱਕ ਯੋਗਤਾ ਚਲਾਓ
/wp-json/wp-abilities/v1/abilities/<name>/runਪ੍ਰਮਾਣੀਕਰਨ ਅਤੇ ਅਨੁਮਤੀਆਂ
HTTP ਬੇਨਤੀਆਂ WordPress ਐਪਲੀਕੇਸ਼ਨ ਪਾਸਵਰਡ (HTTP Basic) ਨਾਲ ਪ੍ਰਮਾਣਿਤ ਹੁੰਦੀਆਂ ਹਨ। MCP ਸਰਵਰ ਨਾਲ ਕਨੈਕਟ ਕਰਨ ਲਈ ਹੇਠਾਂ ਦਿਖਾਈ ਗਈ ਸਮਰੱਥਾ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ; ਫਿਰ ਹਰ ਇੱਕ ਸਮਰੱਥਾ ਪ੍ਰਤੀ ਆਬਜੈਕਟ ਆਪਣੀ ਖੁਦ ਦੀ ਇਜਾਜ਼ਤ ਦੀ ਜਾਂਚ ਕਰਦੀ ਹੈ। ਪੜ੍ਹਨ-ਯੋਗ (Read-only) ਸਮਰੱਥਾਵਾਂ GET ਨਾਲ ਅਤੇ ਉਹਨਾਂ ਦਾ ਇਨਪੁਟ ਕਿਊਰੀ ਸ੍ਰਿੰਗ ਵਿੱਚ ਚੱਲਦੀਆਂ ਹਨ; ਬਾਕੀ POST ਅਤੇ JSON ਬਾਡੀ {"input": {…}} ਨਾਲ ਚੱਲਦੀਆਂ ਹਨ।
ਉਦਾਹਰਣਾਂ
# REST: ਇੱਕ ਯੋਗਤਾ ਚਲਾਓ
curl -u your-username:your-application-password \
"https://example.com/wp-json/wp-abilities/v1/abilities/zinn-cache/get-diagnostics/run"# MCP (JSON-RPC over HTTP, after "initialize")
{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"zinn-cache-get-diagnostics","arguments":{}}}ਸਾਰੀਆਂ ਸਮਰੱਥਾਵਾਂ
ਪਲੱਗਇਨ ਦੀ abilities.json ਤੋਂ ਤਿਆਰ ਕੀਤਾ ਗਿਆ ਹੈ, ਜੋ ਕਿ ਖੁਦ ਇੱਕ ਚੱਲ ਰਹੀ ਸਾਈਟ ਤੋਂ ਤਿਆਰ ਕੀਤੀ ਜਾਂਦੀ ਹੈ; ਜਦੋਂ ਦੋਵੇਂ ਅਸਹਿਮਤ ਹੁੰਦੇ ਹਨ ਤਾਂ ਇੱਕ ਟੈਸਟ ਅਸਫਲ ਹੋ ਜਾਂਦਾ ਹੈ।
| ਯੋਗਤਾ | ਇਹ ਕੀ ਕਰਦਾ ਹੈ | ਐਡੀਸ਼ਨ | REST | ਇਜਾਜ਼ਤ | ਪੈਰਾਮੀਟਰ |
|---|---|---|---|---|---|
zinn-cache/clean-databasezinn-cache-clean-database | ਡਾਟਾਬੇਸ ਸਾਫ਼ ਕਰੋ (Pro) ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਚਾਲੂ ਕੀਤੇ ਗਏ ਕਈ ਤਰ੍ਹਾਂ ਦੇ ਬੇਲੋੜੇ ਡਾਟੇ ਨੂੰ ਬੈਕਗ੍ਰਾਊਂਡ ਵਿੱਚ ਹਟਾਉਂਦਾ ਹੈ। ਜੋ ਹਟਾ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ ਉਸਨੂੰ ਵਾਪਸ ਨਹੀਂ ਲਿਆਂਦਾ ਜਾ ਸਕਦਾ। | ਪ੍ਰੋ ਐਡੀਸ਼ਨ | POST …/abilities/zinn-cache/clean-database/run | manage_options | ਕੋਈ ਨਹੀਂ |
zinn-cache/convert-imageszinn-cache-convert-images | ਸਾਰੀਆਂ ਮੌਜੂਦਾ ਤਸਵੀਰਾਂ ਨੂੰ ਕਨਵਰਟ ਕਰੋ (Pro) ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਸਮਰੱਥ ਕੀਤੇ ਗਏ ਆਧੁਨਿਕ ਫਾਰਮੈਟਾਂ ਵਿੱਚ ਮੀਡੀਆ ਲਾਇਬ੍ਰੇਰੀ ਦੀਆਂ ਤਸਵੀਰਾਂ ਨੂੰ ਬੈਕਗ੍ਰਾਊਂਡ ਵਿੱਚ ਬਦਲਣਾ ਸ਼ੁਰੂ ਕਰਦਾ ਹੈ। | ਪ੍ਰੋ ਐਡੀਸ਼ਨ | POST …/abilities/zinn-cache/convert-images/run | manage_options | ਕੋਈ ਨਹੀਂ |
zinn-cache/get-cache-analyticszinn-cache-get-cache-analytics | ਕੈਸ਼ ਐਨਾਲਿਟਿਕਸ ਪੜ੍ਹੋ (ਪ੍ਰੋ) ਪਿਛਲੇ ਘੰਟਿਆਂ (720 ਘੰਟਿਆਂ ਤੱਕ) ਲਈ ਆਬਜੈਕਟ ਕੈਸ਼ ਦੀ ਹਿੱਟ ਰੇਟ ਅਤੇ ਟ੍ਰੈਫਿਕ, ਇਸਦੇ ਸਭ ਤੋਂ ਹੌਲੀ ਕਮਾਂਡਾਂ, ਅਤੇ ਕਿਹੜੇ ਪਲੱਗਇਨ ਕੈਸ਼ ਨੂੰ ਸਭ ਤੋਂ ਵੱਧ ਮਿਸ ਕਰਦੇ ਹਨ, ਵਾਪਸ ਕਰਦਾ ਹੈ। | ਪ੍ਰੋ ਐਡੀਸ਼ਨ | GET …/abilities/zinn-cache/get-cache-analytics/run | manage_options | hours: integer |
zinn-cache/get-diagnosticszinn-cache-get-diagnostics | ਡਾਇਗਨੌਸਟਿਕਸ ਰਿਪੋਰਟ ਪੜ੍ਹੋ ਡਾਇਗਨੌਸਟਿਕਸ ਰਿਪੋਰਟ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜਿਸਦੀ ਸਹਾਇਤਾ ਟੀਮ ਮੰਗ ਕਰਦੀ ਹੈ: ਸੰਸਕਰਣ, ਸਰਵਰ ਸੀਮਾਵਾਂ, ਕੈਸ਼ ਸਥਿਤੀ ਅਤੇ ਹਾਲ ਹੀ ਦੀਆਂ ਤਰੁਟੀਆਂ। ਇਸ ਵਿੱਚ ਕੋਈ ਪਾਸਵਰਡ ਜਾਂ ਕੁੰਜੀਆਂ ਨਹੀਂ ਹੁੰਦੀਆਂ। | ਮਫ਼ਤ ਐਡੀਸ਼ਨ | GET …/abilities/zinn-cache/get-diagnostics/run | manage_options | ਕੋਈ ਨਹੀਂ |
zinn-cache/get-image-progresszinn-cache-get-image-progress | ਚਿੱਤਰ ਪਰਿਵਰਤਨ ਪ੍ਰਗਤੀ ਪੜ੍ਹੋ (Pro) ਚਿੱਤਰਾਂ ਨੂੰ ਬਦਲਣ (ਜਾਂ ਹਟਾਉਣ) ਦਾ ਕੰਮ ਕਿੱਥੋਂ ਤੱਕ ਪਹੁੰਚ ਗਿਆ ਹੈ, ਇਹ ਵਾਪਸ ਕਰਦਾ ਹੈ। | ਪ੍ਰੋ ਐਡੀਸ਼ਨ | GET …/abilities/zinn-cache/get-image-progress/run | manage_options | ਕੋਈ ਨਹੀਂ |
zinn-cache/get-pro-settingszinn-cache-get-pro-settings | ਕੈਸ਼ ਪ੍ਰੋ ਸੈਟਿੰਗਾਂ ਪੜ੍ਹੋ (ਪ੍ਰੋ) ਕੈਸ਼ ਪ੍ਰੋ (Cache Pro) ਦੀ ਹਰੇਕ ਸੈਟਿੰਗ (ਵਾਰਮ-ਅੱਪ, ਚਿੱਤਰ, ਸਕ੍ਰਿਪਟਾਂ ਅਤੇ ਸਟਾਈਲ, ਡਾਟਾਬੇਸ ਦੀ ਸਫਾਈ, ਸਮਾਰਟ ਪਰਜਿੰਗ, ਫਾਈਂਡਰ) ਵਾਪਸ ਕਰਦਾ ਹੈ। ਭੇਦ (Secrets) ਕਦੇ ਵੀ ਵਾਪਸ ਨਹੀਂ ਕੀਤੇ ਜਾਂਦੇ। | ਪ੍ਰੋ ਐਡੀਸ਼ਨ | GET …/abilities/zinn-cache/get-pro-settings/run | manage_options | ਕੋਈ ਨਹੀਂ |
zinn-cache/get-settingszinn-cache-get-settings | ਕੈਸ਼ ਸੈਟਿੰਗਾਂ ਪੜ੍ਹੋ ਸਾਰੀਆਂ ਕੈਸ਼ ਸੈਟਿੰਗਾਂ ਵਾਪਸ ਕਰਦਾ ਹੈ। Redis ਪਾਸਵਰਡ ਕਦੇ ਵੀ ਵਾਪਸ ਨਹੀਂ ਕੀਤਾ ਜਾਂਦਾ, ਸਿਰਫ਼ ਇਹ ਦੱਸਿਆ ਜਾਂਦਾ ਹੈ ਕਿ ਕੀ ਕੋਈ ਸੇਵ ਹੈ। | ਮਫ਼ਤ ਐਡੀਸ਼ਨ | GET …/abilities/zinn-cache/get-settings/run | manage_options | ਕੋਈ ਨਹੀਂ |
zinn-cache/get-slow-querieszinn-cache-get-slow-queries | ਹੌਲੀ-ਕੁਅਰੀ ਫਾਈਂਡਰ (ਪ੍ਰੋ) ਪੜ੍ਹੋ ਸਭ ਤੋਂ ਹੌਲ਼ੀ ਡਾਟਾਬੇਸ ਕਿਊਰੀਆਂ ਅਤੇ ਬਾਹਰ ਜਾਣ ਵਾਲੀਆਂ ਕਾਲਾਂ ਨੂੰ ਵਾਪਸ ਕਰਦਾ ਹੈ ਜੋ ਫਾਈਂਡਰ ਨੇ ਦੇਖੀਆਂ ਹਨ, ਉਸ ਪਲੱਗਇਨ ਜਾਂ ਥੀਮ ਦੇ ਨਾਲ ਜਿਸਨੇ ਹਰ ਇੱਕ ਨੂੰ ਬਣਾਇਆ ਹੈ। | ਪ੍ਰੋ ਐਡੀਸ਼ਨ | GET …/abilities/zinn-cache/get-slow-queries/run | manage_options | ਕੋਈ ਨਹੀਂ |
zinn-cache/get-statuszinn-cache-get-status | ਕੈਸ਼ ਸਥਿਤੀ ਪੜ੍ਹੋ ਇਹ ਵਾਪਸ ਕਰਦਾ ਹੈ ਕਿ ਕੀ ਪੇਜ ਕੈਸ਼ ਅਤੇ ਆਬਜੈਕਟ ਕੈਸ਼ ਚਾਲੂ ਹਨ ਅਤੇ ਕੰਮ ਕਰ ਰਹੇ ਹਨ, ਕਿੰਨੇ ਪੇਜ ਕੈਸ਼ ਕੀਤੇ ਗਏ ਹਨ, ਅਤੇ ਆਬਜੈਕਟ ਕੈਸ਼ ਦਾ ਕਨੈਕਸ਼ਨ ਅਤੇ ਹਿੱਟ ਨੰਬਰ। | ਮਫ਼ਤ ਐਡੀਸ਼ਨ | GET …/abilities/zinn-cache/get-status/run | manage_options | ਕੋਈ ਨਹੀਂ |
zinn-cache/get-warmup-progresszinn-cache-get-warmup-progress | ਵਰਮ-ਅੱਪ ਪ੍ਰਗਤੀ (Pro) ਪੜ੍ਹੋ ਇਹ ਵਾਪਸ ਦੱਸਦਾ ਹੈ ਕਿ ਵਾਰਮ-ਅੱਪ ਚੱਲ ਰਿਹਾ ਹੈ ਜਾਂ ਨਹੀਂ, ਇਸਨੇ ਕਿੰਨੇ ਪੰਨਿਆਂ ਦਾ ਦੌਰਾ ਕੀਤਾ ਹੈ ਅਤੇ ਕਿੰਨੇ ਅਸਫਲ ਰਹੇ ਹਨ। | ਪ੍ਰੋ ਐਡੀਸ਼ਨ | GET …/abilities/zinn-cache/get-warmup-progress/run | manage_options | ਕੋਈ ਨਹੀਂ |
zinn-cache/preview-database-cleanupzinn-cache-preview-database-cleanup | ਡਾਟਾਬੇਸ ਸਾਫ਼ ਕਰਨ ਦਾ ਪੂਰਵ-ਦ੍ਰਿਸ਼ (ਪ੍ਰੋ) ਗਿਣਤੀ ਕਰਦਾ ਹੈ ਕਿ ਸਫਾਈ ਨਾਲ ਪ੍ਰਤੀ ਕਿਸਮ (ਸੰਸ਼ੋਧਨ, ਡਰਾਫਟ, ਸਪੈਮ, ਮਿਆਦ ਪੁੱਗ ਚੁੱਕਾ ਅਸਥਾਈ ਡਾਟਾ ਅਤੇ ਇਸ ਵਰਗਾ ਹੋਰ) ਕੀ ਹਟਾਇਆ ਜਾਵੇਗਾ। ਕੁਝ ਵੀ ਹਟਾਇਆ ਨਹੀਂ ਜਾਂਦਾ। | ਪ੍ਰੋ ਐਡੀਸ਼ਨ | GET …/abilities/zinn-cache/preview-database-cleanup/run | manage_options | ਕੋਈ ਨਹੀਂ |
zinn-cache/purgezinn-cache-purge | ਕੈਸ਼ ਸਾਫ਼ ਕਰੋ ਕੈਸ਼ ਕੀਤੇ ਪੰਨੇ ਰੱਦ ਕਰਦਾ ਹੈ: ਸਭ ਕੁਝ (all: true), ਕੁਝ ਪਤੇ (urls) ਜਾਂ ਟੈਗ ਕੀਤੇ ਗਏ ਸਾਰੇ (tags)। ਜਿਵੇਂ ਹੀ ਵਿਜ਼ਟਰ ਆਉਂਦੇ ਹਨ, ਪੰਨੇ ਦੁਬਾਰਾ ਤਿਆਰ ਕੀਤੇ ਜਾਂਦੇ ਹਨ। | ਮਫ਼ਤ ਐਡੀਸ਼ਨ | POST …/abilities/zinn-cache/purge/run | manage_options (the REST route's own check) | all: boolean, urls: array, tags: array |
zinn-cache/remove-converted-imageszinn-cache-remove-converted-images | ਸਾਰੀਆਂ ਬਦਲੀਆਂ ਗਈਆਂ ਤਸਵੀਰਾਂ ਹਟਾਓ (Pro) ਪਿਛੋਕੜ ਵਿੱਚ ਤਸਵੀਰਾਂ ਦੀਆਂ ਸਾਰੀਆਂ ਬਦਲੀਆਂ ਹੋਈਆਂ ਕਾਪੀਆਂ ਨੂੰ ਮਿਟਾ ਦਿੰਦਾ ਹੈ; ਅਸਲ ਕਾਪੀਆਂ ਬਰਕਰਾਰ ਰਹਿੰਦੀਆਂ ਹਨ। | ਪ੍ਰੋ ਐਡੀਸ਼ਨ | POST …/abilities/zinn-cache/remove-converted-images/run | manage_options | ਕੋਈ ਨਹੀਂ |
zinn-cache/reset-settingszinn-cache-reset-settings | ਕੈਸ਼ ਸੈਟਿੰਗਾਂ ਨੂੰ ਉਹਨਾਂ ਦੇ ਮੂਲ ਰੂਪ ਵਿੱਚ ਵਾਪਸ ਰੱਖੋ ਰੀਸੈਟ ਬਟਨ ਵਾਂਗ, ਹਰ ਕੈਸ਼ ਸੈਟਿੰਗ ਨੂੰ ਇਸਦੀ ਮੂਲ ਸਥਿਤੀ 'ਤੇ ਵਾਪਸ ਲਿਆਉਂਦਾ ਹੈ। ਸੁਰੱਖਿਅਤ ਕੀਤਾ Redis ਪਾਸਵਰਡ ਵੀ ਹਟਾ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ। | ਮਫ਼ਤ ਐਡੀਸ਼ਨ | POST …/abilities/zinn-cache/reset-settings/run | manage_options | ਕੋਈ ਨਹੀਂ |
zinn-cache/reset-slow-querieszinn-cache-reset-slow-queries | ਹੌਲੀ-ਕੁਅਰੀ ਦੇ ਨਤੀਜਿਆਂ ਨੂੰ ਸਾਫ਼ ਕਰੋ (Pro) ਹੁਣ ਤੱਕ ਮਿਲੇ ਹਰੇਕ ਹੌਲੀ ਕੁਏਰੀ ਅਤੇ ਹੌਲੀ ਕਾਲ ਨੂੰ ਭੁੱਲ ਜਾਂਦਾ ਹੈ, ਅਤੇ ਖੋਜਕਰਤਾ ਮੁੜ ਤੋਂ ਸ਼ੁਰੂ ਹੁੰਦਾ ਹੈ। | ਪ੍ਰੋ ਐਡੀਸ਼ਨ | POST …/abilities/zinn-cache/reset-slow-queries/run | manage_options | ਕੋਈ ਨਹੀਂ |
zinn-cache/update-pro-settingszinn-cache-update-pro-settings | ਕੈਸ਼ ਪ੍ਰੋ ਸੈਟਿੰਗਾਂ ਬਦਲੋ (Pro) ਕੈਸ਼ ਪ੍ਰੋ (Cache Pro) ਸੈਟਿੰਗਾਂ ਨੂੰ ਬਦਲਦਾ ਹੈ ਜੋ ਤੁਸੀਂ ਭੇਜਦੇ ਹੋ (ਸੈਟਿੰਗਾਂ: ਕੁੰਜੀ ਤੋਂ ਮੁੱਲ) ਅਤੇ ਬਾਕੀ ਨੂੰ ਬਰਕਰਾਰ ਰੱਖਦਾ ਹੈ। ਹਰੇਕ ਮੁੱਲ ਦੀ ਜਾਂਚ ਬਿਲਕੁਲ ਉਸੇ ਤਰ੍ਹਾਂ ਕੀਤੀ ਜਾਂਦੀ ਹੈ ਜਿਵੇਂ ਕਿ ਕੈਸ਼ ਪ੍ਰੋ ਸਕ੍ਰੀਨ 'ਤੇ ਹੁੰਦੀ ਹੈ; ਇੱਕ ਅਣਜਾਣ ਕੁੰਜੀ ਨੂੰ ਅਸਵੀਕਾਰ ਕਰ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ। | ਪ੍ਰੋ ਐਡੀਸ਼ਨ | POST …/abilities/zinn-cache/update-pro-settings/run | manage_options | settings: object (ਲੋੜੀਂਦਾ) |
zinn-cache/update-settingszinn-cache-update-settings | ਕੈਸ਼ ਸੈਟਿੰਗਾਂ ਬਦਲੋ ਇਹ ਤੁਹਾਡੇ ਵੱਲੋਂ ਭੇਜੀਆਂ ਗਈਆਂ ਸੈਟਿੰਗਾਂ ਨੂੰ ਬਦਲਦਾ ਹੈ ਅਤੇ ਬਾਕੀ ਸਭ ਕੁਝ (ਪੇਜ ਕੈਸ਼, ਪੇਜ ਕਿੰਨੇ ਸਮੇਂ ਤੱਕ ਕੈਸ਼ ਰਹਿੰਦੇ ਹਨ, ਆਬਜੈਕਟ ਕੈਸ਼ ਅਤੇ ਇਸਦਾ Redis ਕਨੈਕਸ਼ਨ, ਪਰਜਿੰਗ ਨਿਯਮ ਅਤੇ ਛੋਟਾਂ) ਬਰਕਰਾਰ ਰੱਖਦਾ ਹੈ। ਮੁੱਲਾਂ ਦੀ ਜਾਂਚ ਅਤੇ ਸੁਧਾਰ ਬਿਲਕੁਲ Cache ਸਕ੍ਰੀਨ ਵਾਂਗ ਹੀ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। | ਮਫ਼ਤ ਐਡੀਸ਼ਨ | POST …/abilities/zinn-cache/update-settings/run | manage_options | lscache_enabled: boolean, lscache_ttl: integer, object_cache_enabled: boolean, auto_purge_enabled: boolean, purge_on_upgrade: boolean, exclude_uris: array|object|string, exclude_query_keys: array|object|string, exclude_cookies: array|object|string, redis_host: string, redis_port: integer, redis_database: integer, redis_username: string, redis_password: string, redis_key_prefix: string, browser_ttl: integer, cache_logged_out_only: boolean, purge_on_comment: boolean, ttl_overrides: array|object|string |
zinn-cache/warm-cachezinn-cache-warm-cache | ਕੈਸ਼ ਗਰਮ ਕਰੋ (ਪ੍ਰੋ) ਬੈਕਗ੍ਰਾਊਂਡ ਵਿੱਚ ਸਾਈਟਮੈਪ ਵਿੱਚ ਹਰੇਕ ਪੇਜ 'ਤੇ ਜਾਣਾ ਸ਼ੁਰੂ ਕਰਦਾ ਹੈ, ਤਾਂ ਜੋ ਵਿਜ਼ਟਰਾਂ ਨੂੰ ਕੈਸ਼ ਕੀਤੇ ਪੇਜ ਮਿਲ ਸਕਣ। ਇਸ ਤੋਂ ਬਾਅਦ zinn-cache/get-warmup-progress ਦੀ ਵਰਤੋਂ ਕਰੋ। | ਪ੍ਰੋ ਐਡੀਸ਼ਨ | POST …/abilities/zinn-cache/warm-cache/run | manage_options | ਕੋਈ ਨਹੀਂ |