Not too hard to code this right? You have to write a program or a function in any language that outputs this pattern:

~|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||~
|~|||||||||||||||||||||||||||||||||||||||||||||||||||||||||~|
||~|||||||||||||||||||||||||||||||||||||||||||||||||||||||~||
|||~|||||||||||||||||||||||||||||||||||||||||||||||||||||~|||
||||~|||||||||||||||||||||||||||||||||||||||||||||||||||~||||
|||||~|||||||||||||||||||||||||||||||||||||||||||||||||~|||||
||||||~|||||||||||||||||||||||||||||||||||||||||||||||~||||||
|||||||~|||||||||||||||||||||||||||||||||||||||||||||~|||||||
||||||||~|||||||||||||||||||||||||||||||||||||||||||~||||||||
|||||||||~|||||||||||||||||||||||||||||||||||||||||~|||||||||
||||||||||~|||||||||||||||||||~|||||||||||||||||||~||||||||||
|||||||||||~|||||||||||||||||~|~|||||||||||||||||~|||||||||||
||||||||||||~|||||||||||||||~|||~|||||||||||||||~||||||||||||
|||||||||||||~|||||||||||||~|||||~|||||||||||||~|||||||||||||
||||||||||||||~|||||||||||~|||||||~|||||||||||~||||||||||||||
|||||||||||||||~|||||||||~|||||||||~|||||||||~|||||||||||||||
||||||||||||||||~|||||||~|||||||||||~|||||||~||||||||||||||||
|||||||||||||||||~|||||~|||||||||||||~|||||~|||||||||||||||||
||||||||||||||||||~|||~|||||||||||||||~|||~||||||||||||||||||
|||||||||||||||||||~|~|||||||||||||||||~|~|||||||||||||||||||


The output is composed of 20 lines of 61 characters each.

Rules


Standard loopholes are forbidden
There may be a single trailing newline at the end of the output  
There may not be any trailing whitespace on any line of the output


Without a trailing newline, the md5 checksum of the output is fde4e3b4606bf9f8c314131c93988e96.

With a trailing newline, the md5 checksum of the output is 1f0b43db4fec6594be202c8339024cb7.

This is code-golf, so the shortest code in bytes wins.
C (gcc), 97 82 81 80 bytes
Golfed 15 bytes after learning that abs is a builtin in C, an additional byte thanks to Rogem for pointing out that the declarations of my variables can be moved to the function, and another byte thanks to ceilingcat for suggesting x=31;--x+31 instead of x=-31;++x&lt;31.

f(x,y){for(y=21;--y;puts(&quot;&quot;))for(x=31;--x+31;)printf(abs(10-abs(x))-y?&quot;|&quot;:&quot;~&quot;);}

Try it online!
This outputs with a trailing newline. The function f does the outputting.
Explanation
The output can be stated as a graph.
~|||||||||||||||||||||||||||||+|||||||||||||||||||||||||||||~
|~||||||||||||||||||||||||||||+||||||||||||||||||||||||||||~|
||~|||||||||||||||||||||||||||+|||||||||||||||||||||||||||~||
|||~||||||||||||||||||||||||||+||||||||||||||||||||||||||~|||
||||~|||||||||||||||||||||||||+|||||||||||||||||||||||||~||||
|||||~||||||||||||||||||||||||+||||||||||||||||||||||||~|||||
||||||~|||||||||||||||||||||||+|||||||||||||||||||||||~||||||
|||||||~||||||||||||||||||||||+||||||||||||||||||||||~|||||||
||||||||~|||||||||||||||||||||+|||||||||||||||||||||~||||||||
|||||||||~||||||||||||||||||||+||||||||||||||||||||~|||||||||
||||||||||~|||||||||||||||||||+|||||||||||||||||||~||||||||||
|||||||||||~|||||||||||||||||~+~|||||||||||||||||~|||||||||||
||||||||||||~|||||||||||||||~|+|~|||||||||||||||~||||||||||||
|||||||||||||~|||||||||||||~||+||~|||||||||||||~|||||||||||||
||||||||||||||~|||||||||||~|||+|||~|||||||||||~||||||||||||||
|||||||||||||||~|||||||||~||||+||||~|||||||||~|||||||||||||||
||||||||||||||||~|||||||~|||||+|||||~|||||||~||||||||||||||||
|||||||||||||||||~|||||~||||||+||||||~|||||~|||||||||||||||||
||||||||||||||||||~|||~|||||||+|||||||~|||~||||||||||||||||||
|||||||||||||||||||~|~|||||||||||||||||~|~|||||||||||||||||||
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

(The +s are only shown for explanation purposes and represent the axes.)
The equation of this graph is \$y=\text{abs}(10-\text{abs}(x))\$ as can be seen here in this link to a Desmos graph.
abs(10 - abs(x))
abs(           )            Reflect whatever is beneath the x-axis to above the x-axis
    10 - abs(x)             This forms the central triangle-like structure

In function f, we have two for-loops that iterate through every coordinate in this graph. y goes from 20 to 1 and x goes from -30 to 30.
For every x, we check if abs(10-abs(x)) equals y by doing abs(10-abs(x))-y in a ternary. If they are equal, this yields 0, a falsey value in C, otherwise it will evaluate to some positive value. Then in the ternary abs(10-abs(x))-y?&quot;|&quot;:&quot;~&quot;, we printf accordingly.
And after each line, we output a newline using puts(&quot;&quot;), and that is how the function outputs with a trailing newline.