#include<bits/stdc++.h>
using namespace std;
char s[505][505];
bool ans[505][505],vis[505][505];
int main()
{
    int _;
    scanf("%d",&_);
    while(_--)
    {
        int n,m;
        scanf("%d%d",&n,&m);
        for(int i=1;i<=n;i++)
            for(int j=1;j<=m;j++)
                ans[i][j]=vis[i][j]=0;
        for(int i=1;i<=n;i++)
            scanf("%s",s[i]+1);
        if(!(n%3))
        {
            for(int i=2;i<=n;i+=3)
                for(int j=1;j<=m;j++)
                    ans[i][j]=1;
            for(int i=2;i<=n;i+=3)
                for(int j=1;j<=m;j++)
                {
                    if(s[i-1][j]=='X')ans[i-1][j]=1;
                    if(s[i+1][j]=='X')ans[i+1][j]=1;
                }
            for(int i=2;i+3<=n;i+=3)
            {
                bool flag=0;
                for(int j=1;j<=m;j++)
                    if(ans[i+1][j]||ans[i+2][j]){ans[i+1][j]=ans[i+2][j]=1;flag=1;break;}
                if(!flag)ans[i+1][1]=ans[i+2][1]=1;
            }
        }
        else
        {
            for(int i=1;i<=n;i+=3)
                for(int j=1;j<=m;j++)
                    ans[i][j]=1;
            for(int i=1;i<=n;i+=3)
                for(int j=1;j<=m;j++)
                {
                    if(i+1<=n&&s[i+1][j]=='X')ans[i+1][j]=1;
                    if(i+2<=n&&s[i+2][j]=='X')ans[i+2][j]=1;
                }
            for(int i=1;i+3<=n;i+=3)
            {
                bool flag=0;
                for(int j=1;j<=m;j++)
                    if(ans[i+1][j]||ans[i+2][j]){ans[i+1][j]=ans[i+2][j]=1;flag=1;break;}
                if(!flag)ans[i+1][1]=ans[i+2][1]=1;
            }
        }
        for(int i=1;i<=n;i++)
        {
            for(int j=1;j<=m;j++)putchar(ans[i][j]?'X':'.');
            puts("");
        }
    }
    return 0;
}
/*
1
4 4
X..X
....
.X..
...X
*/