ASCII Art Archery Arrows Write a program or function that takes in a positive integer and prints or returns an ASCII art depiction of an archery arrow, scaled according to the input.

If the input is 1 the output is

  /\
 /  \
 \__/
  ||
  ||
  ||
  ||
  ||
  ||
  ||
  ||
 /||\
/ || \
/ || \
//  \\
/    \


If the input is 2 the output is

     /\
    /  \
   /    \
  /      \
  \      /
   \____/
    |  |
    |  |
    |  |
    |  |
    |  |
    |  |
    |  |
    |  |
    |  |
    |  |
    |  |
    |  |
    |  |
    |  |
    |  |
    |  |
   /|  |\
  / |  | \
 /  |  |  \
/   |  |   \
/   |  |   \
/   |__|   \
/  /    \  \
/ /      \ \
//        \\
/          \


If the input is 3 the output is

        /\
       /  \
      /    \
     /      \
    /        \
   /          \
   \          /
    \        /
     \______/
      |    |
      |    |
      |    |
      |    |
      |    |
      |    |
      |    |
      |    |
      |    |
      |    |
      |    |
      |    |
      |    |
      |    |
      |    |
      |    |
      |    |
      |    |
      |    |
      |    |
      |    |
      |    |
      |    |
      |    |
     /|    |\
    / |    | \
   /  |    |  \
  /   |    |   \
 /    |    |    \
/     |    |     \
/     |    |     \
/     |    |     \
/     |____|     \
/    /      \    \
/   /        \   \
/  /          \  \
/ /            \ \
//              \\
/                \


If the input is 4 the output is

           /\
          /  \
         /    \
        /      \
       /        \
      /          \
     /            \
    /              \
    \              /
     \            /
      \          /
       \________/
        |      |
        |      |
        |      |
        |      |
        |      |
        |      |
        |      |
        |      |
        |      |
        |      |
        |      |
        |      |
        |      |
        |      |
        |      |
        |      |
        |      |
        |      |
        |      |
        |      |
        |      |
        |      |
        |      |
        |      |
        |      |
        |      |
        |      |
        |      |
        |      |
        |      |
        |      |
        |      |
       /|      |\
      / |      | \
     /  |      |  \
    /   |      |   \
   /    |      |    \
  /     |      |     \
 /      |      |      \
/       |      |       \
/       |      |       \
/       |      |       \
/       |      |       \
/       |______|       \
/      /        \      \
/     /          \     \
/    /            \    \
/   /              \   \
/  /                \  \
/ /                  \ \
//                    \\
/                      \


The pattern continues on for larger input numbers - the arrow is scaled up accordingly.

Notice that for any input N:


The arrowhead is a pentagon with 2×N underscores at the base, N slashes on each of the sides extending from the base, and 2×N slashes on the two sides that form the arrow tip.
The shaft (including the part within the fletching) consists of 11×N lines of two vertical bars separated by 2×(N-1) spaces. The very last line has underscores instead of spaces.
The fletching surrounds the lower 3×N lines of the shaft. Two lines of 2×N slashes extend diagonally downward from either side of the shaft and are joined with vertical columns of slashes.
The complete arrow is 16×N lines high and 6×N characters wide.


In your output there should be no empty lines before the arrow tip and only up to one trailing newline.

None of the output lines should have unnecessary leading spaces (the left edge of the fletching should be as leftmost as possible) but any of the lines may have any number of trailing spaces.

The shortest submission in bytes wins.
Perl, 298 bytes

for$y(0..($w=&lt;&gt;)*16-1){$r=$w*3;for$x(0..$w*6-1){$z=$x&lt;$r?$x:$w*6-$x-1,$_.=$z==$r-$y-1&amp;&amp;$y&lt;$w*2||!$z&amp;&amp;$y&gt;=$w*13-1||($z==$w*16-1-$y||$z==$w*13-1-$y)&amp;&amp;$z&lt;$w*2?$x&lt;$r?'/':'\\':$z==$y-$w&amp;&amp;$y&gt;=$w*2&amp;&amp;$y&lt;$r?$x&lt;$r?'\\':'/':$z==$r-$w&amp;&amp;$y&gt;=$r&amp;&amp;$y&lt;$w*14?'|':$z&gt;=$r-$w&amp;&amp;($y==$r-1||$y==$w*14-1)?_:$&quot;}$_.=$/}print

Multi-line:
for$y(0..($w=&lt;&gt;)*16-1){$r=$w*3;  # read input and loop over rows
    for$x(0..$w*6-1){  # loop over columns

        # flip x on right side of arrow:
        $z=$x&lt;$r?$x:$w*6-$x-1;

        # slashes on fletching and tip of arrowhead:
        $_.=$z==$r-$y-1&amp;&amp;$y&lt;$w*2||!$z&amp;&amp;$y&gt;=$w*13-1||($z==$w*16-1-$y||$z==$w*13-1-$y)&amp;&amp;$z&lt;$w*2?$x&lt;$r?'/':'\\':
        
        # slashes on underside of arrowhead:
        $z==$y-$w&amp;&amp;$y&gt;=$w*2&amp;&amp;$y&lt;$r?$x&lt;$r?'\\':'/':

        # vertical bars on side of shaft:
        $z==$r-$w&amp;&amp;$y&gt;=$r&amp;&amp;$y&lt;$w*14?'|':

        # underscores on base of arrowhead and shaft:
        $z&gt;=$r-$w&amp;&amp;($y==$r-1||$y==$w*14-1)?_:$&quot;
   }
   $_.=$/  # add newline at end of each row
}
print  # print out string

Output:

2
     /\     
    /  \    
   /    \   
  /      \  
  \      /  
   \____/   
    |  |    
    |  |    
    |  |    
    |  |    
    |  |    
    |  |    
    |  |    
    |  |    
    |  |    
    |  |    
    |  |    
    |  |    
    |  |    
    |  |    
    |  |    
    |  |    
   /|  |\   
  / |  | \  
 /  |  |  \ 
/   |  |   \
/   |  |   \
/   |__|   \
/  /    \  \
/ /      \ \
//        \\
/          \

Thanks to Dom Hastings for helping me save 5 (and counting) bytes