# There's no place like home

I recently watched The Wizard Of Oz and thought that when Dorothy taps her shoes together three times, it would be easier if she used a program to do it. So let's help her.

Output slippers being tapped together 3 times.

## Output

Slippers being tapped together. A pair of slippers not being tapped looks like this:

  __.....__                   __.....__
/ ,------.\                 /.------, \
(  \        \               /        /  )
\  \      ___\             /___      /  /
\  \   ,'  __.         .´__  ',   /  /
\  .'  ='  =\       /=´  '=  '.´  /
.  .        \     /        .´  .´
.  .       \   /       .´  .´
.  -.___.'\ /'.___.-´  .´
-._      / \      _.-´
----'   '----´


And a pair being tapped together looks like this:

         __.....__     __.....__
/.------, \   / ,------.\
/        /  ) (  \        \
/___      /  / \  \      ___\
.´__  ',   /  /   \  \   ,'  __.
/=´  '=  '.´  /     \  .'  ='  =\
/        .´  .´       .  .        \
/       .´  .´           .  .       \
/'.___.-´  .´               .  -.___.'\
\      _.-´                   -._      /
'----´                           ----'


Basically, output

  __.....__                   __.....__
/ ,------.\                 /.------, \
(  \        \               /        /  )
\  \      ___\             /___      /  /
\  \   ,'  __.         .´__  ',   /  /
\  .'  ='  =\       /=´  '=  '.´  /
.  .        \     /        .´  .´
.  .       \   /       .´  .´
.  -.___.'\ /'.___.-´  .´
-._      / \      _.-´
----'   '----´

__.....__     __.....__
/.------, \   / ,------.\
/        /  ) (  \        \
/___      /  / \  \      ___\
.´__  ',   /  /   \  \   ,'  __.
/=´  '=  '.´  /     \  .'  ='  =\
/        .´  .´       .  .        \
/       .´  .´           .  .       \
/'.___.-´  .´               .  -.___.'\
\      _.-´                   -._      /
'----´                           ----'

__.....__                   __.....__
/ ,------.\                 /.------, \
(  \        \               /        /  )
\  \      ___\             /___      /  /
\  \   ,'  __.         .´__  ',   /  /
\  .'  ='  =\       /=´  '=  '.´  /
.  .        \     /        .´  .´
.  .       \   /       .´  .´
.  -.___.'\ /'.___.-´  .´
-._      / \      _.-´
----'   '----´

__.....__     __.....__
/.------, \   / ,------.\
/        /  ) (  \        \
/___      /  / \  \      ___\
.´__  ',   /  /   \  \   ,'  __.
/=´  '=  '.´  /     \  .'  ='  =\
/        .´  .´       .  .        \
/       .´  .´           .  .       \
/'.___.-´  .´               .  -.___.'\
\      _.-´                   -._      /
'----´                           ----'

__.....__                   __.....__
/ ,------.\                 /.------, \
(  \        \               /        /  )
\  \      ___\             /___      /  /
\  \   ,'  __.         .´__  ',   /  /
\  .'  ='  =\       /=´  '=  '.´  /
.  .        \     /        .´  .´
.  .       \   /       .´  .´
.  -.___.'\ /'.___.-´  .´
-._      / \      _.-´
----'   '----´

__.....__     __.....__
/.------, \   / ,------.\
/        /  ) (  \        \
/___      /  / \  \      ___\
.´__  ',   /  /   \  \   ,'  __.
/=´  '=  '.´  /     \  .'  ='  =\
/        .´  .´       .  .        \
/       .´  .´           .  .       \
/'.___.-´  .´               .  -.___.'\
\      _.-´                   -._      /
'----´                           ----'


For reference, the characters used are

_-.,/$$)='´ ## Rules • The output can have an optional leading/trailing whitespace • While not explicitly banned, builtins detract from the competition, so please don't post an answer which is simply a single builtin* • This is a so shortest code in characters wins. Characters is chosen due to the use of a multibyte character. * For all you killjoys out there, this rule is intended for comedic effect and shouldn't be taken literally • does leading whitespace include extra spaces before each line (as long as they are the same amount everywhere)? Commented Sep 5, 2017 at 18:59 • @dzaima Yes, I'll allow that. Commented Sep 5, 2017 at 19:11 • Are you missing the last untap from your output? Commented Sep 5, 2017 at 19:12 • @EngineerToast no, sorry, the structure part was left over from the sandbox. Commented Sep 5, 2017 at 19:18 • ´ makes me sad. Commented Sep 6, 2017 at 11:35 ## 9 Answers # SOGL V0.12, 113110 108 characters ░╗╬)λ]cw╚╥Æ⁄║RL↓κΟiRDΨ℮≠3*s4sφ¡┐rκ⁾žχ&ν3.ΦƧ⁴ty¬OΗΒ%Τz׀PΥω╤8⅟∆KΣ⅜4⅔⅝⁰?Z+pķcE□L6⁵/4γ⁽Κ¹‘▓:±↔Ζ´ŗ⁴@┼⁴┼≥@┼;┼+3∙  Try it Here! Explanation: ...‘ push a compressed string of one slipper (one as the top left one) with a leading newline ▓ convert from a multiline string to an array of lines : dulplicate a copy for reversing horizontally ±↔ reverse horizontally Ζ´ŗ replace  with ´ ⁴ create a copy of the original slipper for the untapped part @┼ append a line of spaces after it horizontally ⁴┼ append horizontally a copy of the reversed slipper ≥ move this - the untapped version - to the botton of the stack @┼ append a space after the reversed slipper ;┼ append the original slipper after it + join the two vertically together 3∙ multiply vertically three times  # Charcoal, 165 127 bytes Ｆ´´«‖ＴＰ⪫⪪”}∧≕Ｉ3⁼wＸ¿↔？⁺⊖？◧χêIr﹪≦⎈X⊞c_⁹jＥτＴＣεh⌊Y﹪ＹＹ}φ⬤»[↷¢|nＸ;ＩζCHE⁷ＲrCsd～¢_⊖⦄⎚§⌈▷φＳ¤Iv}›ＲPx!∧⁵Ｆ]üC”ι»Ｃ⁴²¦⁰Ｃ²¹¦¹²Ｔ⁴²¦²⁴Ｆ²Ｃ⁰¦²⁴  Try it online! Verbose approximation (I don't know how to write ´ in Verbose mode). Explanation: Ｆ´´«  Loop twice, once with ´, once with . ‖Ｔ  Reflect the canvas, transforming the characters, except for the above two, which is why they are special-cased. Note that this causes the right slipper to end up on the left, which is actually correct for the second row. ⪫⪪””ι»  Print the compressed slipper string, but with s replaced with the loop character. (Note that the compressed string includes left padding; this means that the reflected string from the first iteration doesn't touch the second string.) Ｃ⁴²¦⁰  The right slipper is in the wrong place on the canvas, so copy it to the correct place. (This also makes an extra copy of the left slipper.) Ｃ²¹¦¹²  The second row also needs a copy of the pair of slippers, but this is the same way around as they were originally created. (Actually both pairs get copied, so we now have eight slippers.) Ｔ⁴²¦²⁴  Delete all unnecessary extra slippers, leaving two rows of two slippers. Ｆ²Ｃ⁰¦²⁴  Make two additional vertical duplicates of the whole thing. • It doesn't mirror because I don't consider them as opposites, not sure if it would be more useful if they mirrored Commented Sep 7, 2017 at 1:52 # Bash + Common Utilities (268 265 258 Bytes) Saved a few bytes thanks to Justin Mariner Bash (31 21 Bytes) gzip -d w;cat w w w  Additional File named w (237 Bytes) (Base64 Encoded so I can paste it here) H4sICIT6rlkAA3cAbZFbDsQgCEX/WQV/ziQWV+BOTOgiu4JZ2YAWhVYSGxpOfNyDyExazPiuOQMsmIe1F5YoTHK2OCDOIEnWVzzhTYBZo5oYbuOkAXwRnNS9qTJ0e9SMOVJKneScFXWWW3bUn+XcFUWaack6krsxav2DH5QP8LaHNcxG7wkMSYUsOSenc8oIHYAy0ExRYxKCl5ByZtZLrG0ZrzZA9eSvohU54RwQUGa7CTgFEX7OIf2XhTsMveQvSeYBO9j3Rpglf2PrHgCR75Y6zgCrwGfJczBuZjgy1c1QH8Af0NuE5gAwAA  This might be seen as cheating, and I kind of agree :P. • Could you do cat w w w instead of three cats? Commented Sep 6, 2017 at 17:13 # PowerShell, 575 bytes553 551 characters a="3__.....__222 __.....__ / ,1.\2233 /.1, \ (3\23\223 /23/3) \3\2___\22 /___2/3/ \3\3 ,'3__0.23 .´__3',3 /3/ 3\30.'3='30=\2 /=´3'=3'.´3/ 3 0.30.23\33 /23.´3.´ 33 0.30.2 \3 /2 .´3.´ 2 0.30-.___.'\ /'.___.-´3.´ 23 0-._2/ \2_.-´ 22 0----'3 '----´ 23 __.....__33 __.....__ 23/.1, \3 / ,1.\ 2 /23/3) (3\23\ 2/___2/3/ \3\2___\ 33.´__3',3 /3/3 \3\3 ,'3__0. 3 /=´3'=3'.´3/33 \30.'3='30=\ 3/23.´3.´2 0.30.23\ /2 .´3.´233 0.30.2 \ /'.___.-´3.´223 0.30-.___.'\ \2_.-´222 0-._2/ '----´22223 0----'" 0..3|%{a=a-replace_,('','------',333,' ')[_]} ,a*3  Try it online! Simple repeated character replacement. Edit - saved two characters by using a and looping the replace commands. • Remember, it's scored by characters, not bytes. Commented Sep 6, 2017 at 0:33 • @ConorO'Brien Ah, thanks. I missed that. Commented Sep 6, 2017 at 12:30 # 05AB1E, 140 bytes "_ ./,-$$'´="•3₅Cæ¶ÿâsΣkÞ₂ÏÕ›|Y=ß°«:ws^N5%ÖΩjĆR["DĀó©›tØ¹oÜ™¾týǝàZ½aÕL.sΔÊÑû8&+››₄|wεŠ8ε¼áNsHÑŽJнi'³Ö!èÆžIIƵò•11вèJ20ô∞¶¡ε2ä"´"':‚}6FíD»,


Try it online!

Explanation

"_ ./,-\)'´="                                   # push this string
•...•                              # push a base-255 compressed number
11в                           # convert to a list of base-11 numbers
èJ                         # index into the string with these and join
20ô                      # split in pieces of size 20
∞                     # mirror, giving us a pair of shoes
# both using the char "´"
¶¡                   # split on newlines
ε                  # apply to each row
2ä               # split in 2 pieces on stack
"´"':         # replace "´" with "" in the 2nd string
‚        # pair them up
}       # end apply
6F     # 6 times do
í    # reverse each
D», # print a copy joined on space and newline


# Python 2, 328326 316 bytes

s=[''.join(' '*int(c)if'/'<c<':'else c for c in l)for l in r"2__.....__9 1/1,------.\8 (2\8\7 \2\6___\6 1\2\3,'2__.4 2\2.'2='2=\3 3.2.8\2 5.2.7\1 7.2-.___.'\ 9-._6/ 94----'1 0".split()]
r=[''.join(dict(zip("/\$$","\xb4\\/)")).get(c,c)for c in l[::-1])for l in s] for a,b in(zip(s,r)+zip(r,s))*3:print a,b  Try it online! • 327 bytes Commented Sep 6, 2017 at 11:05 # Python 2, 495 468 bytes r,R,s,a,b=str.replace,range(12),str.split,"/(","\$$\xb4";A=B=r(r("  __.....__8 @ / ,------.#8@(  #8#       @#  #      ___#      @ #  #   ,'  __.    @  #  .'  ='  =#   @   .  .8#  @     .  .       # @       .  -.___.'#@8 -._      /@"+" "*13+"----' @","#","\\"),"8"," "*8)
for _ in(0,1,2):B=r(r(r(B,a[_],"*"),b[_],a[_]),"*",b[_])
A,B,j=s(A,"@"),[_[::-1]for _ in s(B,"@")],"\n".join
for _ in"*"*3:print j(j(" ".join((A[_],B[_])[::p])for _ in R)for p in(1,-1))


Try it online!

Excited to read Mathematica 12's update notes. (SlippersTapped@3 only requires 16 bytes!)

# Bubblegum, 219 bytes

00000000: ec93 d1c9 8630 0c00 df33 c5bd e5ff 419b  .....0...3....A.
00000010: 09dc a410 8774 0227 fb34 a0d4 9011 7aa0  .....t.'.4....z.
00000020: 147a 88e4 08b8 b71b 7732 c39d 602c 6bd0  .z......w2..,k.
00000030: 3a19 6b6b b0d0 e50f 5e21 9b36 1cfe a5bf  :.kk....^!.6....
00000040: 82bb 7f55 73f7 d734 2154 5814 dcf7 c643  ...Us..4!TX....C
00000050: 3b0f 77d0 e531 c3db 9bc2 a6b0 6f1d 02db  ;.w..1......o...
00000060: ce03 7403 6de7 11e6 ed11 cff8 b336 7c3a  ..t.m........6|:
00000070: 5e02 490d d30a ed15 d7e6 ee4d 3ba6 715a  ^.I........M;.qZ
00000080: 9344 2804 4627 082d 8cc1 ba50 40ef c375  .D(.F'[email protected]
00000090: 2b90 cba4 4e45 1218 e349 d582 4f35 a922  +...NE...I..O5."
000000a0: f0cd 25d5 f821 9792 6af6 00b9 9314 a327  ..%..!..j......'
000000b0: c899 042b bda2 93a4 f933 905b c990 2189  ...+.....3.[..!.
000000c0: b998 3c3d c8e4 7422 30f7 6bee d7dc afb9  ..<=..t"0.k.....
000000d0: 5f73 bfe6 7efd 36e4 f217 00              _s..~.6....


Try it online!

Format: DEFLATE
Maximum attempted iterations: 10000
Decompressing iterations: 1019

# JavaScript, 455 bytes

for(_="  Y#YXY WWWV#VU---T.TT, S ,TT.R__QW/PQ_O/OWPY/N%.Y%MM-.O.'L%-._WPK.´JJYJI#0H-´G/'.O.GYJFJQY',PY/EV DX#W,'YQ%.C/=´Y'=Y'JY/BX%.'Y='Y%=#AD @Q.....Q?@ >Y?>> ?0 /R#>@/SH(Y#@#>WP@/Y)0XUO#>W N0 C>E0YADB0WM.@[email protected]#PDI0DL# F0>K U_.G0>W %T-'W'TG0>?WY?0@/S#PRHD/@/Y) (Y#@HVN XUOHW EWC0WBWYA0Y/@IDM.@H /DI>YM.DHF>VLHU_.G>> K0 'TG>>>%T-'0";G=/[>-Y]/.exec(_);)with(_.split(G))_=join(shift());f=a=>_.replace(/./g,a=>\\\
['#%0'.indexOf(a)]||a).repeat(3)


Try it online!