It's bulking season
Python 2, 295 bytes
i=input()-45
w=90,50,20,10,5;p=".|||||'"," !|||! "," .|||' "," !|! "," .|' "
a=[' '*46]
b=zip(*a*3+['='*9+'[]'+'-'*24+'[]'+'='*9]+a*3)
v=8
j=0
while i:
if i>=w[j]:i-=w[j];b[v]=b[-v-1]=p[j];v-=1
else:j+=1
if v<8:b[v]=b[10];b[-v-1]=b[9]
for l in zip(*b):
L=''.join(l).rstrip()
if L:print L
Builds the bar vertically, then rotates and prints non-empty lines.