[Question]
      [
In this challenge you are to write a program or function, that takes a string as input and outputs one of two possible values. We will call one of these values *truthy* and one *falsy*. They do not need to actually be *truthy* or *falsy*. For an answer to be valid it must meet four additional criteria
* When you pass your program to itself it outputs the *truthy* value.
* If you pass your program as input to any older answer it should output the *truthy* output (of the program you are passing to).
* If you pass any older answer to your answer as input it should output the *falsy* output (of your program).
* There must be an infinite number of strings that evaluate to *truthy* output in all answers on the challenge (including your new answer).
What this will do is it will slowly build up a chain of answers each of which can determine if other programs in the chain come before or after it.
The goal of this challenge is to build up a list of source restrictions that are applied to the successive answers making each one more challenging than the last.
## Example
A chain (written in Haskell) could start:
```
f _ = True
```
Since there are no older programs, the criteria do not apply to this answer it need only output one of two possible values, in this case it always outputs `True`.
Following this could be the answer:
```
f x=or$zipWith(==)x$tail x
```
[Try it online!](https://tio.run/##y0gszk7Nyfn/P02hwja/SKUqsyA8syRDw9ZWs0KlJDEzR6Hif25iZp5tQVFmXolGmlKaQryCrUJIUWmqkg6Ih0uXkuZ/AA "Haskell – Try It Online")
Which asserts that there is a character twice in a row somewhere in the string. The first answer doesn't have this property while the second does (`==`). Thus this is a valid next answer.
## Special rules
* You may use any language you wish (that has a freely available implementation) as many times as you wish.
* If you were the last person to answer you must wait at least 7 days before posting a new answer.
* Your program may not read its own source.
* Since the 4th rule is exceedingly difficult to verify if cryptographic functions are involved, such functions are disallowed.
## Scoring criterion
Each time you add an answer you will get as many points as its place in the chain. For example the 5th answer would gain it's writer 5 points. The goal is to get as many points as you can. The last answer will score its answerer -∞ points. This will probably be more fun if you try to maximize your own score rather than "win" the challenge. I will not be accepting an answer.
>
> Since this is [answer-chaining](/questions/tagged/answer-chaining "show questions tagged 'answer-chaining'") you may want to [sort by oldest](https://codegolf.stackexchange.com/questions/159629/does-it-lead-or-follow?answertab=oldest)
>
>
>

[Answer]
# 14. X86 Assembly (gcc 6.3), 324 bytes
```
.TITLE "a"#"a" ELTIT.
.data
i:.fill 25,1,0
s:.string "%25[^\n]"
t:.string "->Hi, Retina!"
f:.string "Bye Retina!"
.global main
main:
pushl $i
pushl $s
call scanf
addl $8, %esp
pushl $i
call strlen
addl $4, %esp
sub $21, %eax
jz y
pushl $f
call printf
addl $4, %esp
jmp en
y:
pushl $t
call printf
addl $4, %esp
en:
ret
```
[Try it on ideone!](https://ideone.com/q6Nwrm "Try it on ideone!")
Note: *this **will** return a runtime error because the exit code is not zero. Running this in the ideone editor will display all stdout output regardless of how the program concludes.*
* **Truthy** output: `"->Hi, Retina!"`
* **Falsy** output: `"Bye Retina!"`
**Satisfies:**
2. The first character is a `.`.
3. It contains an `e`.
4. Its length is even.
5. Its length is a perfect square.
6. It contains an `a`.
7. It contains a `>` character.
8. Contains the exact string `->`.
9. Contains the exact string `Hi, Retina!`.
10. The sum of the first two Unicode code points is a multiple of 5.
11. The 10-th character is a `"`.
12. The last non-empty line does not have any duplicate characters.
13. The first line is a palindrome of length > 5.
14. **The first line is exactly 21 characters long (not including newline).**
**For future answers:**
* The first character is a `.`.
* Its length is an even perfect square.
* Contains the exact sequence `->`.
* Contains the exact string `Hi, Retina!`.
* The second character's Unicode code point, mod 5, is 4.
* The 10-th character is a `"`.
* The last non-empty line does not have any duplicate characters.
* **The first line is a palindrome of length = 21**
[Answer]
## 9. [Retina](https://github.com/m-ender/retina/wiki/The-Language), 16 bytes
```
.->0`Hi, Retina!
```
[Try it online!](https://tio.run/##XY/dSsMwFIDv8xQxMkxGGhrLQCgNCoIWBEHFGxVWt9MZ7dKapbMtCF7uJXyNPcAeZS9S0116Lg4f3zmcHwtOm0z2ZLfdbcmIXk17Eahweq05vjvUjvr@kuf8nEuEhGBCIMHSpUBEkER4hfY/vwAeoqfjE1iDefEcQohLiyurjaMFGKpNVTvK2HgsJiOZJCHzXfD9nHX3MsKHmHiTvc7mkC/e9PtHsTRl9WlXrl5/NS1SmCjiczoMuigKpBSW@83mdIDb2nmLo2FzoLq4SSxk8xttYEVZ3CaPMHOl1R3Q2uVnD2VqHKMNizPT0oWFqqAkUIQ3bLjq3/t/ "Retina – Try It Online")
If you want to try your own program, simply append it to the input field, separated by two linefeeds. (If your program contains two linefeeds, you'll have to change the separator between all programs and in the TIO header.)
**Satisfies:**
2. The first character is a `.`
3. It contains an `e`
4. Its length is even
5. Its length is a perfect square
6. It contains an `a`
7. It contains a `>` character
8. Contains the exact string `->`.
9. Contains the exact string `Hi, Retina!`.
Sorry, but you kinda forced me to pad to length 16...
**Without redundant requirements:**
* The first character is a `.`
* Its length is an even perfect square.
* Contains the exact sequence `->`.
* Contains the exact string `Hi, Retina!`.
### Explanation
Starting with `.` is fine, it just means that we suppress Retina's implicit output (provided the first line has a configuration, but I didn't want a two-line program). That means we need it explicit output, but the option for that is `>`, so we're in luck. The `-` can go in front of it because it doesn't do anything.
Now we can get to the program itself. The simplest thing to do is to match a literal string. That's guaranteed to show up in our program, we can easily make sure that it isn't part of any existing program, and it gives us a number as the result. However, it could potentially return a number greater than 1 (so more than two different values). We avoid this with the `0`-limit which only looks at the first match and counts that if it exists. So the `0` ensures that the output is only ever `0` or `1` (depending on whether the input contains the literal string).
As for the literal string... well, we still need to include an `e` and an `a`... and we need the string to have at least 11 characters, so that we match the length requirements (getting to an even square). `Hi, Retina!` happens to satisfy those requirements.
[Answer]
# 13. [Perl 5](https://www.perl.org/), 64 bytes
```
.1;";1.
\"Hi, Retina!->";$_=<>;chop;print y///c>5&&reverse
eq$_;
```
[Try it online!](https://tio.run/##K0gtyjH9/1/P0FrJ2lCPK0bJI1NHISi1JDMvUVHXTslaJd7Wxs46OSO/wLqgKDOvRKFSX18/2c5UTa0otSy1qDiVK7VQJd6achMA "Perl 5 – Try It Online")
**Satisfies:**
2. The first character is a `.`.
3. It contains an `e`.
4. Its length is even.
5. Its length is a perfect square.
6. It contains an `a`.
7. It contains a `>` character.
8. Contains the exact string `->`.
9. Contains the exact string `Hi, Retina!`.
10. The sum of the first two Unicode code points is a multiple of 5.
11. The 10-th character is a `"`.
12. The last non-empty line does not have any duplicate characters.
13. **The first line is a palindrome of length > 5.**
**Summary for future answers:**
* First character is a `.`.
* Its length is an even perfect square.
* Contains the exact sequence `->`.
* Contains the exact string `Hi, Retina!`.
* The second character's Unicode code point, mod 5, is 4.
* The 10th character is a `"`.
* The last non-empty line does not have any duplicate characters.
* **The first line is a palindrome of length > 5 (in *characters*).**
[**Verification Ruby script**](https://tio.run/##dVNNl5MwFN3nVzyxdmDspKBWnYPtLJyFLnSh7moPJ4XXNkcmwSSonZbfXhPA08wc2QB53Htz35eq1/tTgRtgQv9GFYoJjDciIgAlu1sXDA5wrJTcHiEcbRgvYQ5G1ZhCVRsNwXspCm64FPD0IBpYK/kDRRBBLUrUGjZi6cgraAiKghB3kZBZUVclz5nBLN8xxXKDSoc6SkFTF9CUleUNHI750UVkLUyYRzCfQ9Kk4ISczppvMxSy3u6yipVcFEreYa@i@T3CAmYwHtuTwl/2AnQC@swvUWzNLnT@LMe96HpvsCN3MJL/S0/bvJenvkYvonNV3HMZr5x2QANoJqQHvXwEotYh/oEAfdArD@T7odaxuPGAswHg5WVMZ/AMEmcgprFHeT1ggPkG3gyAFj7o7QDo6gHqegD1gU/gCxou2BMfnsQePuzLSKUq4HlX1KQ9RTa5WZucz00ed@C67cBFcOGj/D4NTV3rVBvFK2pnCPXyKllFvojfx/@PXCvRkW0GrZZTOK2I@2MH5@u324@f7RSyBxNFkeU7p@1CR7twAO6rWxjSENJt2Cc0YNcBzkRbxn692o080SQN0oSS736pbW/SUTZ/t0jznazSSnFhYD@dTvPFbDzuN4Lgz1GW/gU)
[Answer]
# 5. [Python 3](https://docs.python.org/3/), 64 bytes
```
.012
import sys
print(len(sys . stdin . read()) ** 0.5 % 1 == 0)
```
[Try it online!](https://tio.run/##K6gsycjPM/7/X8/A0IgrM7cgv6hEobiymKugKDOvRCMnNU8DyFPQUyguScnMA9JFqYkpGpqaClpaCgZ6pgqqCoYKtrYKBpqUmwAA "Python 3 – Try It Online")
Checks if the length of the input is a perfect square.
**This had been updated by the time 18 answers were present to support multiline input.**
**The update does not hurt the chain.**
---
**Satisfies:**
2. starts with a `.`
3. contains an `e`
4. has an even length
5. has a perfect square length
[Answer]
# 25, [Octave](https://www.gnu.org/software/octave/), 196 bytes
New requirement: To avoid the tab versus spaces discussion, tabs can no longer be used for indentation. Each line still needs a tab, but it can't be the first character in the line.
```
.6;%+->?|"	"|?>-+%;6.
f=@(x)1&&cellfun(@(C)any(C=='	')&1&&find(C=='	')>1,strsplit(x,char(10)));
%
%
%
%
%
%
%Henry Jams?Hi, Retina!
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%	~
```
[**Verify all programs online!**](https://tio.run/##3Rddc9tE8Nn9FYeILV0sqz45No2F5KZp2gZKW9q0tE3ScpHPzTmyLCS5sYPp8AT8BB7gR/DK8EQf@RX0j5SVdKcPN2HKDDPMcLEd3X7v7d7uaurG9CV7@9boWfVmyxkslZqyHDitZt3qGZdG9lVtjkmj4TLPG8187aq2jam/0LZtW62puAGoEfeHcu8QPYrDKPB4rM1195iGGmljjK1L9do7n1vMDxfoEzqJBre4ju6zmPv0g9p5pO/1efU2@Jp8g2ykXtdH@lWdqNal4GszgeyrhoENQ9URaetINfDuJN8ohmIb6mFC2xG0EvXm258Zy1AbAtXZ/1BV2UvmH2bwroC3WRtNQxSE3I81j/ka94NZrGG8vm5068S22zhj6AkG9s0BjYyzB6SDYHUz5EcCSY/cIRu9OObjE2/iT4OvwiievTydL87UzDIHKY4izXTQbqJsy/NyiIPImx9@MEv7u7MYaFAnBaXKrkjTW86ZNbdDRoe3uc8iDVsL@xFz42nIz5g2i0dX9qa7fowhFawk@C9CFnia0nIUfY6FW5tCWMtpf1mKZoYkbYElLaeERLvI4ycM3QiZ7x6j/vXUNqSryv1HnmcNjeM@9YcohJ/pBMEJjEYonk6lUCKFQhJqke0oJdFgW6MR7W8eQl6qiqoKK4nMBuJ53s0nj24pSvD6xwrf69/@@M5Y//2X7OjU1z8@a68JZpkexFIskifJwYpea@25/bFjucfTwErTAS0uX77sOt1GI4TECSMmOdlXa88tIVvm197u3u0dpFDlQ/iinduwL9J2SGMqN7xvjLjnIbOrE70toVHfgAvI/RdIqZvd/WcH/mGeJnGBq4RBEKijAn9twVaxxgtvekQ9NKHcF6DksY@KJcDBLDr20BqvbiOxdSkYHbnUHwkAHQ4BfUVHdRYF54vIeOIQ7lWFaaPCFM2O0JpJEhidC9j4DC2qMkdlmWl8Rn8jczwJUK500a@Kiv@RKOb3ZSRCFouwy/JBIMc1QtYVRVknRBv6tEiwSnrBMQMNTsg9OjkaUhT1lUEeY@6jSOa6rDTEyBYklHgqZIM4uJN0v6TjsMAN9lvE3NCMpUPxIIdvbOb3Wtar5SD7U5qKeFqCisTrqvGqvql3zARR/qhI1jshVlamnqUwCk0JLgO0JMoU6El52X43g8H9STANYxQtIgkpCjIAIb@H3DeSSqdhI2tTyoGvYOyYvSbBwASlbUJjLTFM3yA4UbRMlpK5s2GYwsbN3EbRN1nRN6XyrH1Cdmg8mrDJEQs1tXwiqpoU0EY0mxQELmg39U6n3@npGz19k/Q3O7oKCye0H/cac82Ef@1GIlY7seca6acteG7bidW4RTC27ZHHA@0EqnNqdl3Vy46ZPZw6Ybbfw4lKBNvE7Gx0ex9d2ZTo8yFFB/2p1Oahn/756/fZAZpF@c6WAn9i5boHy2alVE0DOs1Dy3nAuctp5DLK3CDgEeVuXghpwAEeuS7AE0JYee1kLpByPqaMZRgOAgpOxtg4w8AjkMIm52QJIgOzsZCbG0RTwWOWr3EJmShMTZZkJc5UJJPc44y0zClWIaCwNgNKflYWK7lyY/g4KFsreQAXpM5W/Mw8F8ZU/Cy7mBxVciQlzlRkmSQXOw4KrSAkqOhcYRuv6Fw9P9jmOgMuwRljIrhqUK4tPaOKn2V1q35WFI6rYmUKCKnnx/M8seOyunFmb6EzVTYOStcmP9sjNx0KTytDoUTCcCjL6OlMUuRpIsZHQfFK3EHzPe5/pWKVrFJVa6XOwWg4T@atbShWOa6@5S/Q9kBsiyqEoFGbXVGH8smqud1yltDiagpCS6e13SxqQa2WT7O1ZPIADijtLKRujGIWxQU22aEI8NHx9BRp7jFzT5DmJbMtdEdcEGYYGyX9W2Mem6CYHpXwsANsPN3xZxOU17fa/@OhHMocVupNEiZzRU6o1nrLaS5pTZkrNbpsOq11q4jRHNnpi89/BLDW0XluPUb27p17D/dywN2He7BF9s097cHu0x3tMdZNgmvkwuOS338/DswfFsCta9vXd27cvLX7yae3P7tz997n9x/sPXz0xeMnTy9@I0z673sFsLt62WsXTSwXvPCD0Suv/Cnkwpf@vATUEgsujbIRWVO3/OiUhX1U58n3AMbrfdKHK8Y8LcAWKlTPMRrBj44CfIjf/gU "Octave – Try It Online")
**Satisfies:**
2. The first character is a `.`.
3. It contains an `e`.
4. Its length is even.
5. Its length is a perfect square.
6. It contains an `a`.
7. It contains a `>` character.
8. Contains the exact string `->`.
9. Contains the exact string `Hi, Retina!`.
10. The sum of the first two Unicode code points is a multiple of 5.
11. The 10-th character is a `"`.
12. The last non-empty line does not have any duplicate characters.
13. The first line is a palindrome of length > 5.
14. The first line is exactly 21 characters long (not including newline).
15. It contains a `?`.
16. It contains a `|`.
17. Contains a `+`.
18. It is at least 28 lines long.
19. The following characters are used five times in total: `!"#$.[\]` and the codepoint of the second character is less than 60.
20. Contains `Henry Jams?` as a continuous substring.
21. The last character is `~`.
22. It contains a `C`
23. Each line contains a tab character.
24. The ninth line contains at least 22 characters, excluding the newline.
25. The tab character can't be the first character on a line
---
**For future answers:**
* The first character is a `.`, and so is the 21st character (palindromic rule).
* The 10th character is a `"`, and so is the 12th character (palindromic rule).
* The first line is a palindrome of length 21.
* The second character's Unicode code point, mod 5, is 4, **and** its code point is lower than 60 (the printables are `',1;6` and tab).
* The last character is `~`.
* Its length is an even perfect square.
* It is at least 28 lines long.
* The ninth line must have at least 22 characters, excluding the newline.
* The last non-empty line does not have any duplicate characters.
* Contains the exact strings `->`, `Hi, Retina!`, and `Henry Jams?`.
* It contains `|`, `+` and `C`.
* Each line contains at least one tab character, but it can't be the first character on a line.
* Each program is now allowed only the 2 `.` and 2 `"` in the first line, and the `!` in `Hi, Retina!`. Those characters cannot be used anywhere else, in addition to no uses of `#$[\]`.
**Explanation:**
It was actually a bit hard to keep this at 196 bytes, since there are many bytes that are now mandatory on each line.
The first line is simply a scalar that's not outputted, followed by a comment. The second line is an anonymous function that takes a string `x` as input and makes the following operations:
```
strsplit(x,char(10))   % Split at newlines. Can't use a literal newline, or [10,''] due to previous rules
cellfun(@(C) ...     ) % Perform the following operation on each line:
  any(C==' ')          % Make sure there is at least one tab character
  1&&find(C==' ')>1    % Make sure the index is higher than 1
1&&cellfun( ... )     % Check that this is true for all lines.
```
It's lucky that the short circuit operation `&&` takes precedence over `&`, and that `1&&find` doesn't require parentheses. Otherwise I wouldn't manage to golf this down to 196 bytes.
[Answer]
# 11. JavaScript (ES6), 36 bytes
```
.11&&(s=>"Hi, Retina!->"&&s[9]=='"')
```
[Try it online!](https://tio.run/##hZLRbtowFIbveYqzTIOYBpfA2NqiRKtUTaOatAmq7oIg4SUOuDh2ajuMIE3aZV9iL9cXYS5tQ7jakWwfW59@n6Pz35E10bFiuekImdBdGuyw7zebrg5C5wvzYEwNE@RNJ3SaTT09nwVBy2mhXSyFlpxiLhfutAFw2gbwMVwmyckJvEb7FOZXXup98vy59wL1MNwoRsSi4EQxU@4hjBG2a5ThSDjYCXCF9zFcU87LI01LPf75S2lFvccwMSRe0aRO9advW3RNxaziBhi@l2YpBfRrXNfvRYJluVQGdKkjkSsmjMupcO0VMGiTMGFPRUniIgTtNnTxAN6BD0EAXVTpf3jWh@Nq6e8oIhpvJ/7@10GFf8TwY8l0TpWu4eRnnNB0sWR3K54Jmd8rbYr1r025jUQITug8HSORF@aSc5uH4D8@PPT22bfC2HfoR6L65AzDGOrx3HMn3A43wVNHX5mg2kXDMrilsZGKbalbmPTsRo6EQe4GDYko3YWiOXcd6wNvgw4dn@MXhxypd8JuNK@55xX3u3ZQMsvocTF@J6zBMALOVhQ@KyriJVxcWU@MbzkfJnh5QUQCym4ys1Mp0hSMlAd568Bra@jJ3tAH@f/7ed6YNXBGcjdFaPcP "JavaScript (Node.js) – Try It Online")
**Satisfies:**
2. The first character is a `.`.
3. It contains an `e`.
4. Its length is even.
5. Its length is a perfect square.
6. It contains an `a`.
7. It contains a `>` character.
8. Contains the exact string `->`.
9. Contains the exact string `Hi, Retina!`.
10. The sum of the first two Unicode code points is a multiple of 5.
11. **The 10-th character is a `"`.**
**For future answers:**
* The first character is a `.`.
* Its length is an even perfect square.
* Contains the exact sequence `->`.
* Contains the exact string `Hi, Retina!`.
* The second character's Unicode code point, mod 5, is 4.
* The 10-th character is a `"`.
[Answer]
# 23, [Literate Haskell](https://www.haskell.org/onlinereport/literate.html), 196 bytes
New requirement: Indentation is great, so each line needs to contain at least one tab character.
```
.1+C->|  "	"  |>-C+1.

>	main = interact test
>	test s = show (check (lines s))
>	check = all (elem tab)
>	tab = toEnum 9

	Henry Jams?
	Hi, Retina!
	~
```
[Try it online!](https://tio.run/##3Y8xCsJAFETr3VOMqSIxgZQWiUUQxNIbrOFDlvzdQP4XEYJXjxs8ga1MMcybaWZwMhJzyV5pdkrrWtVFV7YLkJkMWNqyK@rKGmNbE5yPaODjtu0VSqIJbwZJhQzTE3k/UD8iZx9JIPt9WnxRA8eMnJgC1N23IlnCOp3jI@BozS@6UJxfuLogpxT8ATdSH93Omvd/vPgA "Literate Haskell – Try It Online")
**Satisfies:**
2. The first character is a `.`.
3. It contains an `e`.
4. Its length is even.
5. Its length is a perfect square.
6. It contains an `a`.
7. It contains a `>` character.
8. Contains the exact string `->`.
9. Contains the exact string `Hi, Retina!`.
10. The sum of the first two Unicode code points is a multiple of 5.
11. The 10-th character is a `"`.
12. The last non-empty line does not have any duplicate characters.
13. The first line is a palindrome of length > 5.
14. The first line is exactly 21 characters long (not including newline).
15. It contains a `?`.
16. It contains a `|`.
17. Contains a `+`.
18. It is at least 28 lines long.
19. The following characters are used five times in total: `!"#$.[\]` and the codepoint of the second character is less than 60.
20. Contains `Henry Jams?` as a continuous substring.
21. The last character is `~`.
22. It contains a `C`
23. **Each line contains a tab character.**
---
**For future answers:**
* The first line is a palindrome of length 21.
* The first character is a `.`, and so is the 21st character (palindromic rule).
* The 10th character is a `"`, and so is the 12th character (palindromic rule).
* The second character's Unicode code point, mod 5, is 4, **and** its code point is lower than 60 (the printables are `',1;6` and tab).
* The last character is `~`.
* Its length is an even perfect square.
* It is at least 28 lines long.
* The last non-empty line does not have any duplicate characters.
* Contains the exact sequence `->`.
* Contains the exact strings `Hi, Retina!` and `Henry Jams?`.
* It contains `|`, `+` and `C`.
* Each line contains a tab character.
* Each program is now allowed only the 2 `.` and 2 `"` in the first line, and the `!` in `Hi, Retina!`. Those characters cannot be used anywhere else, in addition to no uses of `#$[\]`.
[Answer]
# 27. [GolfScript](http://www.golfscript.com/golfscript/), 144 bytes
```
.		;'>-C+"1"+C->';		.
'
z
y
x
w
v
u
Hi, Retina!	Henry Jams?';;
t
s
r
q
o
m
l
k
j
i
h
g
f
e
d
c
b
n	/:^,27>^^^|=lynn
*	n~
```
[Try it online!](https://tio.run/##zc67DYJQAIbR@vunUJubiGi0MZGIBQ2xdAASREAULwr4wBhXxzU8E5y8KrMmqYtr2/dT8IzvBs5oPnIC1zceTGXQG3XohZ7oge4oLCaDXdoWNh4SprbuBtv40myM56lFDarRDVXogkp0RidUoCPKUYZSdEAJ2iPLbBVNFks/iqLPuuys1Rj7/b/RDw "GolfScript – Try It Online")
**Satisfies:**
2. The first character is a `.`.
3. It contains an `e`.
4. Its length is even.
5. Its length is a perfect square.
6. It contains an `a`.
7. It contains a `>` character.
8. Contains the exact string `->`.
9. Contains the exact string `Hi, Retina!`.
10. The sum of the first two Unicode code points is a multiple of 5.
11. The 10-th character is a `"`.
12. The last non-empty line does not have any duplicate characters.
13. The first line is a palindrome of length > 5.
14. The first line is exactly 21 characters long (not including newline).
15. It contains a `?`.
16. It contains a `|`.
17. Contains a `+`.
18. It is at least 28 lines long.
19. The following characters are used five times in total: `!"#$.[\]` and the codepoint of the second character is less than 60.
20. Contains `Henry Jams?` as a continuous substring.
21. The last character is `~`.
22. It contains a `C`
23. Each line contains a tab character.
24. The ninth line contains at least 22 characters, excluding the newline.
25. The tab character can't be the first character on a line
26. The third-to-last character is a tab.
27. **There are at least 28 lines, and they are all distinct.**
---
**For future answers:**
* The first line is a palindrome matching `.␣␣␣␣␣␣␣␣"␣"␣␣␣␣␣␣␣␣.` (you are free to fill in the ␣s).
* The second character is one of `',16;`, or a tab, or one of `\x04\x0e\x13\x18\x1d`.
* Its length is an even perfect square.
* There are at least 28 lines, and **all lines are distinct**.
* The ninth line must have at least 22 characters (excluding the newline).
* The last line does not have any duplicate characters.
* Contains the exact strings `->`, `Hi, Retina!`, and `Henry Jams?`.
* It contains `|`, `+` and `C`.
* Each line contains at least one tab character, but it can't be the first character on a line.
* `!".#$[\]` are banned except where necessary:
	+ Only `!` in `Hi, Retina!` and the two `.` and two `"` in the first line are allowed.
* The program ends with: `tab`, *(whatever)*, `~`.
[Answer]
# 12. [V](https://github.com/DJMcMayhem/V), 36 bytes
```
.1lllGYVH""pØHi, Retina!->üˆ.*±
Ø^0$
```
[Try it online!](https://tio.run/##K/v/X88wJyfHPTLMQ0mp4PAMj0wdhaDUksy8REVdu8N7DnXoaR3ayHV4RpyBCglKAQ "V – Try It Online")
**Satisfies:**
2. The first character is a `.`.
3. It contains an `e`.
4. Its length is even.
5. Its length is a perfect square.
6. It contains an `a`.
7. It contains a `>` character.
8. Contains the exact string `->`.
9. Contains the exact string `Hi, Retina!`.
10. The sum of the first two Unicode code points is a multiple of 5.
11. The 10-th character is a `"`.
12. **The last non-empty line does not have any duplicate characters.**
**For future answers:**
* The first character is a `.`.
* Its length is an even perfect square.
* Contains the exact sequence `->`.
* Contains the exact string `Hi, Retina!`.
* The second character's Unicode code point, mod 5, is 4.
* The 10-th character is a `"`.
* The last line non-empty line does not have any duplicate characters.
[Answer]
# 21. [Alphuck](https://github.com/TryItOnline/brainfuck), 676 bytes
*Surprisingly, most of the code is not padding.*
```
.11111111"1"11111111.
?|+->Hi, Retina!opaos
iipiiciasceaecppisaic
sapiceasccpisipiiiiia
ecsaiiijaeepiiiiiiaec
saeeejeepiiiaeecsajee
eeeepiaeecsaejipiiiii
iaecsaijeeeeeeeeeejii
iiiijiipiiiaecsaijiii
piaeeeecsaijeejiiijii
iiiiiiiiiiijiipiiiaec
saijiipiaeeeecsaejiii
iiiiiiijeeeeeejiiijpi
iaeeeeecsaeeejpiiaeee
eeeecsajeejiiijiiiiii
iijeeeeeeeeeeejeeepia
eeecsaeejeeeeeeeeeeee
jpiaeeeeecsaijepiaeee
csaeejeeeeeeeeejiiiii
iiiiijiipiiiaecsaiiij
epiiiiaecsaeeejiipiae
eeecsaijepiaeeecsaeje
eeeeeeeeeejiiiiiiiiii
iijiipiiiaecsaiijpiae
eecsaejipiaeeecsajiii
piaeeeecsajiiiiiiiiii
ijeeejiiiiiiiijejiipi
iiaecsajpHenry Jams?a
bcefghiwklmnopqrstuvw
xyzabcdefghwuklmnopqr
stuvwxyzabcdefg~
```
[Try it online!](https://tio.run/##7VJBUsMwDLzrFYUr0Bk@QK8djvxANYJKbVNRN4QyDF8vsmUnaV7AocolWu2uV4lxq@s2bM7n@WOpW3tKzWHxc/fwtOT72QsducGbveI@ArMyB8YYCCmockQOEFHZgBiCAYlhhUDBhsyCRA6xSYxLROKQvRrHGjDMEO9JigUkgXkI9SUJTaY5SJ0nblZT5YtzgIcaJOCaQZHplSv9SSyaM1SWgZpDe16PXk7yvOOoacm0E1T1eEYgOjibzDuYEKX6Tle2FvyrYo3mC8HEMW/neceWfd4LUykO9ScUg8n3vXCQsaV4CiiGoktqDqfZM@7iAmEV6O19zd1mu2v2@nGIx/azg6/TN67Caxp1bR1Bng2j3@stvd7S/39L/wA "Alphuck – Try It Online")
**Satisfies:**
2. The first character is a `.`.
3. It contains an `e`.
4. Its length is even.
5. Its length is a perfect square.
6. It contains an `a`.
7. It contains a `>` character.
8. Contains the exact string `->`.
9. Contains the exact string `Hi, Retina!`.
10. The sum of the first two Unicode code points is a multiple of 5.
11. The 10-th character is a `"`.
12. The last non-empty line does not have any duplicate characters.
13. The first line is a palindrome of length > 5.
14. The first line is exactly 21 characters long (not including newline).
15. It contains a `?`.
16. It contains a `|`.
17. Contains a `+`.
18. It is at least 28 lines long.
19. The following characters are used five times in total: `!"#$.[\]` and the codepoint of the second character is less than 60.
20. Contains `Henry Jams?` as a continuous substring.
21. The last character is `~`.
---
**For future answers:**
* The first character is a `.`, and so is the 21st character (palindromic rule).
* The 10th character is a `"`, and so is the 12th character (palindromic rule).
* The first line is a palindrome of length 21.
* The second character's Unicode code point, mod 5, is 4, **and** its code point is lower than 60 (the printables are `',1;6` and tab).
* The last character is `~`.
---
* Its length is an even perfect square.
* It is at least 28 lines long.
* The last non-empty line does not have any duplicate characters.
---
* Contains the exact sequence `->`.
* Contains the exact strings `Hi, Retina!` and `Henry Jams?`.
* It contains `|` and `+`.
---
* Each program is now allowed only the 2 `.` and 2 `"` in the first line, and the `!` in `Hi, Retina!`. Those characters cannot be used anywhere else, in addition to no uses of `#$[\]`.
[Answer]
# 26. [Self-modifying Brainfuck](https://esolangs.org/wiki/Self-modifying_Brainfuck) (SMBF), 256 bytes
The third-to-last character must be a tab.
```
.1111111	"1"	1111111.
x
x
x
x
x
x
x
x	Hi, Retina!Henry Jams?C|xxxxxxxxxxxxxxxxxxxx
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x	<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
x	+>>>->>+>>->>+>>->>>>>>>>>>>+>>>>>->>->>>>
x	>,Z>,^<Z-^<Z-^<---------Z>+.>^
^	x~
```
Prints out `\x00` for truthy and outputs `\x00\x01` for falsey. Always terminates with an error due to an unmatched bracket. This prevents any input from being dynamically executed.
This program only works in the [Python interpreter](https://ideone.com/L2byRe). **DOES NOT WORK ON TIO.** This is because the Python interpreter EOF is NUL.
To use the Python interpreter, paste this code into the line where the `data` is set. This had to be done, because TIO has no easy way to type or input NUL bytes, so I still use Ideone. Then uncomment `sys.stdin = MySTDIN("<[.<]")` and replace the custom input with whatever input you are testing against.
**Satisfies:**
2. The first character is a `.`.
3. It contains an `e`.
4. Its length is even.
5. Its length is a perfect square.
6. It contains an `a`.
7. It contains a `>` character.
8. Contains the exact string `->`.
9. Contains the exact string `Hi, Retina!`.
10. The sum of the first two Unicode code points is a multiple of 5.
11. The 10-th character is a `"`.
12. The last non-empty line does not have any duplicate characters.
13. The first line is a palindrome of length > 5.
14. The first line is exactly 21 characters long (not including newline).
15. It contains a `?`.
16. It contains a `|`.
17. Contains a `+`.
18. It is at least 28 lines long.
19. The following characters are used five times in total: `!"#$.[\]` and the codepoint of the second character is less than 60.
20. Contains `Henry Jams?` as a continuous substring.
21. The last character is `~`.
22. It contains a `C`
23. Each line contains a tab character.
24. The ninth line contains at least 22 characters, excluding the newline.
25. The tab character can't be the first character on a line
26. The third-to-last character is a tab.
---
**For future answers:**
* The first character is a `.`, and so is the 21st character (palindromic rule).
* The 10th character is a `"`, and so is the 12th character (palindromic rule).
* The first line is a palindrome of length 21.
* The second character's Unicode code point, mod 5, is 4, **and** its code point is lower than 60 (the printables are `',1;6` and tab).
* The last character is `~`.
* Its length is an even perfect square.
* It is at least 28 lines long.
* The ninth line must have at least 22 characters, excluding the newline.
* The last non-empty line does not have any duplicate characters.
* Contains the exact strings `->`, `Hi, Retina!`, and `Henry Jams?`.
* It contains `|`, `+` and `C`.
* Each line contains at least one tab character, but it can't be the first character on a line.
* Each program is now allowed only the 2 `.` and 2 `"` in the first line, and the `!` in `Hi, Retina!`. Those characters cannot be used anywhere else, in addition to no uses of `#$[\]`.
* The third-to-last character is a tab.
[Answer]
# 28. [Literate Haskell](https://www.haskell.org/onlinereport/literate.html), 256 bytes
```
.	|+xx<<<"a"<<<xx+|	.

>	g x=elem '<'x&&e%x==e
>	e=tail(show 0)
>	('<':a)%('>':b)=a%b
>	a%('<':b)=('<':a)%b
>	a%('>':b)='<':e
>	a%(x:b)=a%b{->Hi, Retina!Henry Jams?-}
>	a@(_:_)%_=a
>	a%b=e

a
b
C
d
e
f
g
h
i
j
k
l
m
n
o
ppppppppp
q	3~
```
[Try it online!](https://tio.run/##5ZDBToNAEIbP/zzFtgkFUiEm3giLJl4aj74AGXQKaxdaC4lrrL46LlSewjlMMt/8/2RmGu4PYm1izSBnHmQcU1y2zuV5vua1z85tL0hJAVSgVk6LlVaFeeg2Gwmc1uK56IGNjfrm@KFu40kZeUXGcRCFRZhVseag8pSDmft66S/0qpqgXIn7c30lxc7cqGcZTMernXTnT/XEbX@ffE/Ch6jMyjgoNc@2yq@jQAyqQI@gV5CA9qAa1IAM6A10AFlQC@pAR9BpCdA77n5G8pNaNp023fSTl2G@K63jf/@aXw "Literate Haskell – Try It Online")
[Test Driver](https://tio.run/##5RjbVtvK9XnmK6YTjCXAYyQwFxuJQJJzwllp6EpoVrsI0LE9sgWypEgy2MRknaf2fMJ5aD@ir119ah77Fc2PuHtGNpZvB3LiPtUspJm998zs@96aKo@b/X6NJ8QmYRQ0It5iSSfBWNSaASn4hC4ZlACS1@thqFAjjKkwSeRyv9H2eOQm3QmKDUVxKTxvErOpMHHCa1eiPoErKVzYTZqBvzGB27rHTSC2FeKm6cahiOIREn50aUch3yioFJa5fthOWOIGxB7CR1vtKupIJK7PJ1AfjfU7KhkPWi0xhTMU7pJf87gWuWEyRWAqgusp@IaCA@NeaRzntsIgSkjcjSuOBYSlu0oYuX6iORrAWJzUXZ9Fgtc1XdfpSGvm1BFb6ogPbR4loJ@EO84UybYiARUmIg55bVq@nbvMEZOW@WimqlHWnjrfTEVs8vgK8MxrxmPY9OhG4DmzNWfu3GFsoxZ3fQvEFxGvJVrcDG5YQ8/sa6qNMT6wlrQBm6QYhElRua98rq6ysEsKhXbiwNNxPTFybbKXcQwdH/7aTe7H@kgEo0wodh1yCtIcUGJZ8D6k5KxCkqbwMVGENORxTLHwYjGEONz1KHbcGTKNBV7xZCwMgb2puHxIvF@x3xQsI7G5EIkVZ8ql0idx2qN8MkOih@jvxxlON76Z03T@Ns1mxI2JHyTE9eV6Uo/caxExip8Q0VHR/Pr4@YuL3x2cvLRosR1HRc@tFv2gLi5aQb3tiViSynlqlkGOHL7ZZZxNm2MqSFU2keB6w4DNZtRUWZIyA5xHeq@o0jcratqL5UQ9pI8N8/pDrjpv0XCY4Xnrf8DzsMrcDyQb2dLzEP@P2SA7zcizvbiwiopV1y@@STNuWgUHB6mKaRMSwJ5RpjymcDsLP5y924giw/vOt9siBbxRtXluoLUCP0gVnRbxYkrPREdkyvqM0Ina1e4g6mSBT58sqo7q/QzLPmrR/ThbE9YXlHh@uO84ZquEkKN8HWrktSBJQG4gWYtMlyKJg6guIols8StB3AS0qBTyzlKCXQ8SgpnKeV2UhVj6rGplSKFNCs6UXr5m7fWkahZTPWRHJbe/76zIrMicRXQ/yTK1qELxh50tAkSiVYUCNbBY4JOTo2P6uBRujnL4IC5la0jnEo5EKC2@D8n2lGMTaeTJhvOhzPi1m02CsrJuLS5Vjpri4o16TbTJ8zqRR6wbB2T5X0yqf8iXZvcDcxqCyY7A2FlQSBzXEpme5mT0X24Fza/tBc1sMzgZIuaisvKBFzbbtau5Mj1a8KjtD75vst9PMyvRHMLMLCvpwhrf18eHx6@@TdDBTr89/G4@Sdo@vzp4/b0l/Ivfvx25xejLMTOUNXj8k3Kekzx@@Tggq8zFROu0Cc05xh7/Opa5f87aLJPfHK79PkO91U5nb2@PcgrPTme1hxgmCMH3eYN0LOGJFsnv5TvLyyLXsSwBcGElsIH6YCfruqTUgKLM9ZyWt/Plqm7xXBWgPKfgMB/ih9CUSgJFCukMVn0s2C/dNZJ2eL95KfyoS37grXi/cCcJn2oX5Qs9d2FxtawK7BCEOcJVhJ8hXEdYIOwg3EC4ibCL8CXCVwh7CLcQ9hEOEA6HP4Q/oI1P/edrztrTNQMvOTYdjCk@7jOmM4aZftRimDJqsT7DX378mxB9tnH6JC@uhX@Gn5YdjPNsQ0hQ3sytW2d54pCgnfTZumHi0X0PTu95POHLmx7CiLrrgffgtoesrJB1ViI5Ykgzrut9Ju7e85jdvjU25K1Xqc94tVYXTqPpXl55LT8IP0CdbF/fdLq32CbUpvA8kk514HkYunrjy08/mXJw3E4ASjYwMFWwbysdSx76yvVFrOmVrvVO1JIgcm@F1k6cnZPgyE90raNXuN/VGpEIPY0WbLrW0YGpgr3@p4yB@swYMxg5Ip4LLed3kfBrTVJ@jumbd55XqbNmmft1EsEjaIHwbceB/jSQGxjLy1ps2TSzDRy3vByf7p5ZVp7m4VjD87zv//juJaXh55/HCD//899/Ziv/@jv@/PP5@hJQVmjFYPj9xHaVpQtrz66A94fplRvpFovFml1aXo7AlhHEhviwdFHps5Ojk1cvCETDE/gnL17BHPygzhOO3TJzXAhHs7RmrK3juMziBPZqEJozS6fn7/0zipMRcEwzEG4jzGFXjOCs4QVV7hHZSGP5KEt7QwCG7bjpkSV3OIhxjcPpcY37Dub1OoB21kgOuo0RaUqRROBoA5LNAUncrpIl05Az3sGXt6Q7XOWkq5RanIlVl62QwFbd8pA4@QVi4ZcxfJCBnxlgZ80wViilK4ah1X0ONhmziLzIpVSXdB5vVeucxGW6D9nMJ7E0OEt/YIPBCDaANeBu/DSz0RkA908LhrmpsZ7N9f0zvLkr/bK3n/7RVToY9SY5kPthIhMIAnUjqXT5J6cKRjBgcUqlIJIUxsM47LOtChW8YO@Dr@zbBS5oZQuyxZjV56WAscteFoeem2j0vU913Ta3Vg0dP/ZHe/JH8SYz@5Kj3Cow1KOC9oCl1ZzkaExsyEsbm6Wt7Z1dPDGce8SXH/@aycSQBf/zj7/04TBj9VnB7oEhESWkZxeerYKRVOWQbkwsMrzbJdASJwCWLxIDQpUOrdYU0FBpnsxEYHUdKFKQRaSPaar2JLwqEfACcBK88NstsovR1/xlmIfJSBkYfepLORCq5CX31KBSonwFQQnMI3yLcBfhDsI3CF8j3EZZTWZ3zVcqOEE4RjiSVUWWmZaqOleqArmqGjVUZRKqStVUxfJRsXy@Zm7b5@fnPcvr@j5eQf6n//ua/F8)
**Satisfies**
2. The first character is a `.`.
3. It contains an `e`.
4. Its length is even.
5. Its length is a perfect square.
6. It contains an `a`.
7. It contains a `>` character.
8. Contains the exact string `->`.
9. Contains the exact string `Hi, Retina!`.
10. The sum of the first two Unicode code points is a multiple of 5.
11. The 10-th character is a `"`.
12. The last non-empty line does not have any duplicate characters.
13. The first line is a palindrome of length > 5.
14. The first line is exactly 21 characters long (not including newline).
15. It contains a `?`.
16. It contains a `|`.
17. Contains a `+`.
18. It is at least 28 lines long.
19. The following characters are used five times in total: `!"#$.[\]` and the codepoint of the second character is less than 60.
20. Contains `Henry Jams?` as a continuous substring.
21. The last character is `~`.
22. It contains a `C`
23. Each line contains a tab character.
24. The ninth line contains at least 22 characters, excluding the newline.
25. The tab character can't be the first character on a line
26. The third-to-last character is a tab.
27. There are at least 28 lines, and they are all distinct.
28. **There must be a `>` in the code and angle braces must be balanced**
---
**For future answers:**
* The first line is a palindrome matching `.␣␣␣␣␣␣␣␣"␣"␣␣␣␣␣␣␣␣.` (you are free to fill in the ␣s).
* The second character is one of `',16;`, or a tab, or one of `\x04\x0e\x13\x18\x1d`.
* Its length is an even perfect square.
* There are at least 28 lines, and all lines are distinct.
* The ninth line must have at least 22 characters (excluding the newline).
* The last line does not have any duplicate characters.
* Contains the exact strings `->`, `Hi, Retina!`, and `Henry Jams?`.
* It contains `|`, `+` and `C`.
* Each line contains at least one tab character, but it can't be the first character on a line.
* `!".` are banned except where necessary:
	+ Only `!` in `Hi, Retina!` and the two `.` and two `"` in the first line are allowed.
* `#$[\]` may not appear in the program.
* The program ends with: `tab`, *(whatever)*, `~`.
* **Angle braces must be balanced**
[Answer]
## 29. [PHP](https://php.net/) with `-r`, 256 bytes
```
.6|0&"123'  '321"&0|6.
<
0
;
+
eval(
~
preg_replace
('Hi, Retina!'^'g5X|<J'
,
''
^'Henry Jams?'
,'×× ×  ×ÝÅÐÐÝÖÓÎÖÖÁÇÇÀ«Å¹ÖÄ'));?>->/45789:@ABCDEFGHIJKLMNOPQ
*
a
b
c
d
e
f
g
h
i
j
k
m
n
o   p~
```
Not being able to use `$` made this quite tricky, in my original solution I misunderstood the rule, but I think I have everything covered now. I've used high-byte characters, `~` and `eval` to work around the lack of decent variables for PHP. I nearly made the minimum number of unique code points 96, but I thought that might make it a little too hard for some languages.
Here's a reversible hex dump for verification too.
```
00000000: 2e36 7c30 2622 3132 3327 0927 3332 3122  .6|0&"123'.'321"
00000010: 2630 7c36 2e0a 2a09 0a30 090a 3b09 0a2b  &0|6..*..0..;..+
00000020: 090a 6576 616c 2809 0a7e 090a 7072 6567  ..eval(..~..preg
00000030: 5f72 6570 6c61 6365 090a 2827 4869 2c20  _replace..('Hi,
00000040: 5265 7469 6e61 2127 5e27 6735 587c 3c4a  Retina!'^'g5X|<J
00000050: 2709 0a2c 090a 2727 090a 5e27 4865 6e72  '..,..''..^'Henr
00000060: 7920 4a61 6d73 3f27 090a 2c27 9b96 9ad7  y Jams?'..,'....
00000070: 9c90 8a91 8bd7 9c90 8a91 8ba0 9c97 9e8d  ................
00000080: 8cd7 9996 939a a098 9a8b a09c 9091 8b9a  ................
00000090: 918b 8cd7 dd8f 978f c5d0 d08c 8b9b 9691  ................
000000a0: ddd6 d3ce d6d6 c1c7 c7c0 abc5 b9d6 c427  ...............'
000000b0: 2929 3b3f 3e2d 3e2f 3435 3738 393a 4041  ));?>->/45789:@A
000000c0: 4243 4445 4647 4849 4a4b 4c4d 4e4f 5051  BCDEFGHIJKLMNOPQ
000000d0: 090a 3c09 0a61 090a 6209 0a63 090a 6409  ..<..a..b..c..d.
000000e0: 0a65 090a 6609 0a67 090a 6809 0a69 090a  .e..f..g..h..i..
000000f0: 6a09 0a6b 090a 6d09 0a6e 090a 6f09 707e  j..k..m..n..o.p~
```
[Try it online!](https://tio.run/##rRfRctvG8fnuKy5nkQBEEiZISRYJApIjO7ZcN05t2XVsieoRPIqgQBAmQAtUGY870zSZNm2cyYzjunGn733qYzt5Ih/7FfWPsHsAIYK05KQzPfAOe3u7e7t7u3tgg/nt6dQ3ViR1Y1TMUq1U3g9LV/bDYkW8yyWNZoujDRUQrBZji6yYAHoC5BKAP2WOnEyeJYDX50eHfe45zOIJThbyb9p5cpcHtss@ENO6GI7WH45qt@ZaFFk@AWLkfCGiv8nd/pDcYl1/a4lJTCoN6BvQgbkp5hZ0MGAT5hUN3o2L8cLQCC/WQfHNJnRrRl@ZyS3HsiPazRhe4C3O5VVSshM5TSGzFe8h3tY64IpxFzQRX2KDFtM3AW7CvsKZEQzdgjXryqwDL2vEshqV2fqa8Iei6Ftmwby8tn5ls1LdvvrhzrXrH924uXvrZ7d//vGdT36ROG81AVgCNBLASoDm2ZknQCsBjhKgnQB2AnQS4DgBugngJkBPAN4zScfcavcIXfHpDCy40Wx0YpGCpeNWr08YsQVym@qk2cNoTsboyGt7pNCfCYiWdNzsuRxPp9OzeJeQdBbmuIZwEWEd4RzCUSwj/AzhdPwiLEupsJXqUhywEsJ5hCV41aVUSAq0NP7L@OX49eS78ffjF@Pfj78Z/yENj/8G8Hfjv47/OP4K8H8G2m/HrwH7CsZ49UVE9zoagWbyZvw1cHw9@XzyYvJi/BVgxQ7fTN5MXk6@nfwJxpeT30y@gOf5@O@Tz8f/hPlvpR87fYRXEWYINxC2EG6CBxBuIXyEcBthG@EOwscIdxF2Ee4h79lURaNcGNZqNcoojGGYGyEVE4SwiY5IaHCHd4lUk8JslmdCw@CA50bAbEf2270TUlQEpQwUVaZkZMmUqg3FYJkGYFkmwsM8WU@wMZVA8hgTzrh@XTBTJ5M6hMJngnBbPqweKplDg0VsDVCHJPbuXGyvMzcZe0lD@AkqCwcgXTILOzmq0dxOwZR0BA6AMz9FeIhwiPAJwk8RHiCc0gyl40PXcYCwj3BfyBSbdKM9j6P97UiXo0gvHuloRfq66HK1ni9dMev1@shwhq4LZ@eCQht6Jlcwt0YU0REcdi6jQ1S3jG05VLRs1uKO0xq48ra8ozB3KO8YBoS/koWllu02k7mp5f2g73uOHchh3mqzvqwVFQgfnEHv/FLGpG08j/Qn/cAIfbVg5kYM0ZAiNsqZhVVdxSgkhu16g@D/A@mrJKU5Rg@JsfvxJ/f3MLpzfw/exLixJ9/bfXRdfqjkS5qCNIwufLgLJ4PeSai79/buP/jlw08fsYbV5K2jtt05drpuz3vS94PB05NweAoFaA2jlOOwcIAmgmlECJwiISMRYBo4QCRLl0G5M6DmBbzPrIAE3A8ALV7Eh4Uor2Srza1jIju2y33iKwpQxCiDMMchcpSYAWuIBXgBOuhddwddUnmPkec8Cx58x4i4IcgNNINVkRLn/c7P251ReE67SMZ7frUfa0CTM00ojmYuNZ61XDQWZkggNvOPzHy99qgQ90LSHpk51azjOgrTuchTuSidbypcdnGWirSEUintSCLdrrpDsrOFL2iZuZc18LJ25uWtUW6hFvY81vOxbXu2bdnMtzjjlufZPrMt7DPPBoRvWYAQFNAYXLewaNsdxnmMsoEFaDnnnRgFINDABAMOMPGcd2YisGAAGR1@1joCK4RGiiTrgjbi5gl9J6bB9rzNWXDMM@eIyBPaztlOdseLdEioAOlFSsf6xqrPdor1TasqjBQ24YQ7vcZxx5tLBrZ4hpcIO4ncZZNhimOvskS12CC8JDGyLtY3LfJM3wWhnZmE5BBmApb8uyChkxbZibXAM4EdLxWdDDesqH6dLNQvDAUsKW0ng2QJJ7VttnRRJqTis2AWRSFc34APE7wEXhT8@O3z71Mqvn3@5j//@uKCrWap5Tiy7Xd5t8H7ix9x@VBRsv6gO1@Ga48FcilfLlfLG/m1jXxFq1bKeQk@opTaRjaUS/AqZoVI@dgIZa0aXaCQuVoxrykFTVEMo@XYnnwM5TeD/4cmbKCcgRH0EgUTGKfCBppSmGK76/X6UPKHPnydwm0gO9yVYab6QdN21T5nTVlR4yuc7rtUUczSRk5TfrIWdCQaxWtqaaqOtuKH5ugMGi2dH1nmJ0lgQIlS4wZfiTMIShQhRCuY7HFKygEgtx4XtNKarI5Mpmwd4LUK@wAEMHCtpq1SSlc1TW66TFveHu5KShVB57Buo8mIX6Vb4CYXrr@pure7d/s6gf0vQSfXb8NcxWqTBQzbVbVlw51YWs9r@SL2q@BBcOgRoZnS@uP6vntAcTBHLpRVilvzlQ@HfI5Xj5xegzlEXNdYDFUyb9gb@G2HrNgJ4GNLXMu@xdwWZs0moDbzJMN9b04aUwR9OOcZydqMxB80yEpJEzMW4s4pGSZcrZgrCpDWElen6xEQNawmxMF7iLlbxX0ewEnoVAff79MF71N95dComTr8wfL0SAAZXr582TLXs9k@f8r7PhSmJyuHOghwHOfGpw9uUupNXi0Imfzw79@pq@N/4MmrenFFXGzZrOwb5tJW2az/uHIAFySV4GC1hfMgu8Sxjzn5qM9dq02q1zC9@8Bx9KbarkJokD4MvS54cdBqwRdPD0ILKs@vUhKmarFgnuqhIRLotvh8khV9aDzgVtDr26dcHgStzb3erhsoUFB0cVkfiT@GMgQGFVVkql78rYdNQk0K4674AL3qONg0ifb2yy9LArgzCABLypD//LN95qun97SyCJd1UEorXZjxRCVRzsM7znqFrK6SorpOMkQjhgH/sqZq@fElCQ7CPZiqUDffcD5VVUWFHFB2u1BaVGqo02v5Vn47r/0X "Bash – Try It Online")
[Test driver](https://tio.run/##7Rldc9vG8Rn3K65nSSAkESRAUZZIAbLkT7mKldqqJx1ZUo/kgYQEAjAASqRMedyZpsm0aeNMZhzXjTt971Mf2@kT@ZhfUf8Rdg8gRfArkiP2rcTocLe7d7dft7s4Fahf6XSKNMA6dj2n7NGqHNQDhFix4uCkjcmMQjAgaankuiGqj1FDTOCZ1C7XLOqZQWOIIhNSHDHLGsYshRg/oMVjVhrCZUOc2wgqjp0Zwi1f4IYQN0PEacX0Xeb5fST8yMxKiHwcQrmwsmm7tUAOTAfrPXh/qdWQ2mOBadMh1AslfU444061ykZwSog7oifUL3qmG4wQqCHByQg8E8KBcSs7iDOrruMF2G/4eUMDwux53vVMO0gYCYDJflAybdljtJSQJIn0taaObLEcbvG8Rr0A9BNQwxghuRmSgAoD5ru0OCrfynlsi2HLvFAj1YTWHtlfjUSsUP8Y8LJV8Qew0dZlxzLGa05dOUdIF6rUtDUQn3m0GCT8inMql6XYuurIwqsRy5XId9GGNpPo8o9TjhukQr/m7cKC7DZwMlkLDGgN02J9n8drMY@R0OZPXeSiL/V5VHKYINPAe8DuBsGaBu9NgvfzOKgwG@GQkLjU9wlils96EIOaFkGGOUamgROZ2h04n8DeyIG9TLyfsN4ILCaxOhWJQ85CX4tabNT6gWaMRJfRX/RjnGauzWk0fhKFOWz62HYCbNp8Pi555gnzZIJuYFYPj/mjnTt3Dz/d2H2gkVTN91KWWUjZTokdVp1SzWI@J@XjyCzd4Nl7y0d@PJ4OqCBS2VDka/ZOcjzURsrilDHgJNILRWWvrahRL@aDsOE@1gv4l7nqpEm9bozn5f8Bz730c9HhbMRz0mX8X2WB@DAmz83pHSsvVTDt1OMoFEfpsbtRmEp1jB1Y04vlzQiux@Gb41frU8R4X7m@LSLA4zBpTzxoVcd2IkVH2T0V0cuszmL5fszR8WqFRvfU8cwftbJX6BcCYyx7pUkX/XhOSE8p8Dy8KEXGqwTjLbEEyfOE4cDBpxCsWax84cSOV2IeR1bpMcNmAFoMFfJUCwU76QYENZLzJMUzNPfZsMbByRpOGiN6@Zi5J8OqmU724KUWX/6i5MLjTuY4ootBnKlpJYrPVpYxELFqARJU12KOjXe3dsjVQrjaj@Hdc8lrRjKRsC9Cdvp1SLzYHBhwIw9XopdFxo9dbBgUl3V5eqGyXy2nTsPXUP08qRK5wrxBQJz/6YT6y3xpfD0woSAYrgiUlSkdiZ1iwMPThIj@46Wg@rG1oBovBoePiDqtqLxhuZVa8XiiTFcW3KvZ3Q@f@IfV2Ew0gTA2iks6tcL30c7mzvb1BO2u9MnmvckkUfm8vfHovsbsw18@6btF/5My1uU5ePBbc5KTXH36ICCuzOmc1lETqhOMPfjZzGP/hLlxJlemE/4rLk56vc/tcSF9mKDbi7Oyel1WOh15uZmeg1ohIwpiRlXIXLq5LKM1AaUFlBfQgoDYCbUSAnopINdj5UOPuRYEWgElxAfmIo7Kwp@JB2I5@1lz7aEooEUBifA6EB8w22vgh7Tqr3Ow2PpL603rXfu71vet163ft75p/SHeb/0N@t@1/tr6Y@srgP8ZaL9tvQPoW2gj7OuQ7l3YAk37fetrmPF1@/P26/br1lcA5Tt8037fftP@tv0naN@0f9P@Ap5Xrb@3P2/9E8a/FSUpv64n9dRS9ubKau7WxubtO3fv3X@w9fDn25882vn0FwKaFxAVUEFARQGVQAMCMgRUFlBFQKaAjgR0LKCqgGwBOYL7snNn0Vi8taigGUMn3T5BOx1ZlmQZydJWVUZEJprckdGHV@8Z68iZvRsiO2H2PrqVMxAS5QzjIFGdTWv7IjawUws6clpRUf9aC0XXWRaz@YUWlnF4pQXv7qUWnp/HaTmLZ7HCPSEtdWR2/oz68tkTJcMv97IdmRaKJWaUK@bRsVW1Hfc5ZP3ayWm9cYZ0THQC7RZ3ww3LQvCNonz48kuVd3ZqAUBxBgFTSf0sX9f4ptumzfyElG9oT1kxcDzzjCVqgbGy62zZgZSoS3lqNxJl7jEJktTJYl0CppJ6@tcxz@nISlKPjfEWtkwooO95zC5WcO4OIo@fWla@JFdy1C5hDxqnCsLXDAOqbYcvoMzNJXxNJ7FlYLu5OX9vdV/TRCLCtoplWfd/9fQBIW777QBh@98//E6eb/0Dtd8epGeAMk/yioyeDS2XnznU1vQ8HCA3ulnEjVQqVdSzc3Me2NKD48WezxzmO/Lu1u72XUwouQF/@O42jMEPSjSgyMzJhgnBRc0uKotp5OdkP4C1ypjMqtm9g2f2PkFBHzigGTixfcxmg/XhctlyCtTC/LMA8SbH7S3Aia35FQvPmL2Oj4oUdveL1DYQLZUAtLKIZ6F26pNGFIEHjtYlWeqS@LUCnlEVPqJ1dHSGG71ZRjQrVIsxNOuo6mJYqpHrEQc/QszsHILPS/AzBeycUJR5Qsi8oiRKNgWbDFiE31cTInE6i1YLJYr9HFmHgGhjnxtcjn5gg24PFoA54G50L7bQPgDX95KKupSQmzqV1vfR0ir3y@Z69JAF0u01hzng6yF4BCSAugWudP7wYQjDCLAoogohnBT6vXMI4TdPGE3q6@ArEJQoI3kIv2TA6pNCwMCdtuy7lhkkyDObSJKuLi8oErrqjzT5j6AlWeUJIT@7AAw1CSNNYGlhlnM0IDbEpcxSdhmiJxrqTtziw6vvY9kAouB//vVFBzZTFm4n9SYYUiAYN/Xk7QUwEugvusDGGu5dYWMo8AMA8xf2AcGvtHGiWGFQHiYsHonA6hJQRCANcx9LMItVcUALHAEvAAfOXbtWxatI@JgnxjwM@spAwssOl0MQ8iLnniiESyTmBUFGkPTOBNQQUF1ApwI6EVBNiGsyvqqYz6NAQL6APAE954mFZxgrTDVHYdqphCnICNNRKUxNBZ6CUrmDRfWmfnBw0NSshm1D8rJfAkPNhXp9bW0NvB/aen2hCQzhULNlXNdCvYhrYn1ujs3WNY0BnGkB1AXh/woge3DKBFDkqDSbEHUxV5A0OlsAKJ0N4TDu4XvQiIoDWQSpd2e9GAhkMbGT55zwVuIwdyjNHmo0nFYAdnAvBd@enIKtfhZGbu/HtZd5@f@65vp1zX8B "Bash – Try It Online")
**Satisfies**
2. The first character is a `.`.
3. It contains an `e`.
4. Its length is even.
5. Its length is a perfect square.
6. It contains an `a`.
7. It contains a `>` character.
8. Contains the exact string `->`.
9. Contains the exact string `Hi, Retina!`.
10. The sum of the first two Unicode code points is a multiple of 5.
11. The 10-th character is a `"`.
12. The last non-empty line does not have any duplicate characters.
13. The first line is a palindrome of length > 5.
14. The first line is exactly 21 characters long (not including newline).
15. It contains a `?`.
16. It contains a `|`.
17. Contains a `+`.
18. It is at least 28 lines long.
19. The following characters are used five times in total: `!"#$.[\]` and the codepoint of the second character is less than 60.
20. Contains `Henry Jams?` as a continuous substring.
21. The last character is `~`.
22. It contains a `C`
23. Each line contains a tab character.
24. The ninth line contains at least 22 characters, excluding the newline.
25. The tab character can't be the first character on a line
26. The third-to-last character is a tab.
27. There are at least 28 lines, and they are all distinct.
28. There must be a `>` in the code and angle braces must be balanced.
29. **There must be more than 88 distinct code points in the program.**
---
**For future answers:**
* The first line is a palindrome matching `.␣␣␣␣␣␣␣␣"␣"␣␣␣␣␣␣␣␣.` (you are free to fill in the ␣s).
* The second character is one of `',16;`, or a tab, or one of `\x04\x0e\x13\x18\x1d`.
* Its length is an even perfect square.
* There are at least 28 lines, and all lines are distinct.
* The ninth line must have at least 22 characters (excluding the newline).
* The last line does not have any duplicate characters.
* Contains the exact strings `->`, `Hi, Retina!`, and `Henry Jams?`.
* It contains `|`, `+` and `C`.
* Each line contains at least one tab character, but it can't be the first character on a line.
* `!".` are banned except where necessary:
	+ Only `!` in `Hi, Retina!` and the two `.` and two `"` in the first line are allowed.
* `#$[\]` may not appear in the program.
* The program ends with: `tab`, *(whatever)*, `~`.
* Angle braces must be balanced.
* **There must be more than 88 distinct code points in the program.**
[Answer]
# 30. [><>](https://esolangs.org/wiki/Fish) with `-v 0 -v 0`, 324 bytes
`1` is truthy, empty string is falsey
```
.1|-<<<<	"C"	<<<<-|1.
>i:0(?v'	'~
v     >}@@:'	'=0=?;@
v
     >:0(?va=?v&1+&>'	'~
>{r0&/    v   >&}0&^
          >&}rv
<
              >l3(?v@:}@@=?;{'	'~
                  ->1n;
Hi, Retina!
ABDEFGIKLMNOPQSTUVWXYZ
b	c
d
fg
h
jk
o
p	*      *  *
q	  *  *      *
u	*      *  *
w
xz
2
45
6
78	9
Henry Jams?%-	_~
```
[**Try it online!**](https://tio.run/##7VDJUsJQEDx3f0WkyoeFBl/cDeQl7rjv60ErKkhcogaNC4Rfx5eEg5ZXj/Zhlp7pnqppBK1mr1e2OmZVA4WFAtLC7FhlqsCWQ25cRLHL2EihEs@zde9Ix614jMGczvZ8x42FNSxUJlDtSIrRdJpKlUikOO@v5xqRRFpf/c5l/P249vJsfUnfaGdexi@YygorYC0YMfbqL0HoD4Bz84tLyyur6xubW9s7u/sHh0fHJ6dn4CWueA02bsAmeHsHPoJPKOVOOpX4jLzoU3z9MX0D3z/BMXBiEpwCp2cwy1o9jD6MNf@h5Q6auOj@f/FPvmjGhszCFw "><> – Try It Online")
**Satisfies**
2. The first character is a `.`.
3. It contains an `e`.
4. Its length is even.
5. Its length is a perfect square.
6. It contains an `a`.
7. It contains a `>` character.
8. Contains the exact string `->`.
9. Contains the exact string `Hi, Retina!`.
10. The sum of the first two Unicode code points is a multiple of 5.
11. The 10-th character is a `"`.
12. The last non-empty line does not have any duplicate characters.
13. The first line is a palindrome of length > 5.
14. The first line is exactly 21 characters long (not including newline).
15. It contains a `?`.
16. It contains a `|`.
17. Contains a `+`.
18. It is at least 28 lines long.
19. The following characters are used five times in total: `!"#$.[\]` and the codepoint of the second character is less than 60.
20. Contains `Henry Jams?` as a continuous substring.
21. The last character is `~`.
22. It contains a `C`
23. Each line contains a tab character.
24. The ninth line contains at least 22 characters, excluding the newline.
25. The tab character can't be the first character on a line
26. The third-to-last character is a tab.
27. There are at least 28 lines, and they are all distinct.
28. There must be a `>` in the code and angle braces must be balanced.
29. There must be more than 88 distinct code points in the program.
30. **The third-to-last character is a tab (#26) AND adjacent lines must have different lengths**
---
**For future answers:**
* The first line is a palindrome matching `.␣␣␣␣␣␣␣␣"␣"␣␣␣␣␣␣␣␣.` (you are free to fill in the ␣s).
* The second character is one of `',16;`, or a tab, or one of `\x04\x0e\x13\x18\x1d`.
* Its length is an even perfect square.
* There are at least 28 lines, and all lines are distinct.
* The ninth line must have at least 22 characters (excluding the newline).
* The last line does not have any duplicate characters.
* Contains the exact strings `->`, `Hi, Retina!`, and `Henry Jams?`.
* It contains `|`, `+` and `C`.
* Each line contains at least one tab character, but it can't be the first character on a line.
* `!".` are banned except where necessary:
	+ Only `!` in `Hi, Retina!` and the two `.` and two `"` in the first line are allowed.
* `#$[\]` may not appear in the program.
* The program ends with: `tab`, *(whatever)*, `~`.
* Angle braces must be balanced.
* There must be more than 88 distinct code points in the program.
* **Adjacent lines must have different lengths**
[Answer]
# 32. [Io](http://iolanguage.org/), 256 bytes
New requirement: The codepoint sum has to be a perfect square, just like the bytecount.
(TBH it did take me a whole day to write a program that satisfies my new requirement, hope you enjoy this requirement!)
```
.1//	|+|?"'"?|+|	//1.
//Hi, Retina!	Henry Jams?
C	:= method(a
,	a sum sqrt %1== 0)
//	e@
//
//	?
//	{f
//	&FO`FC*EU/2345678XYZ^
//	B
//	DE
//	F
//	Gh
//	Ig
//	JKh
//	L
//	MN
//	O
//	PQ
//	jklm
//	ST
//	bci
//	V
~	:=9;
//	Apqrstuvwxyz{}
//	defgh
//	<->
	 ~
```
[Try it online!](https://tio.run/##5Rhdc9pI8nnmV8yxAUkgCQS2EyMkcIiTOOvNp@NLHIIziAGEhZCRcMDGrlzV7e0@XV3VVe3uw@UX3NM93tU9hcf7Fbd/JNcjgS0gzmar9u0GTY@mp7vV09PdM4Pd//hR1bJZNMlMygkhUYYWZbOairPZ@7ZMnrLAdunv0H3mDsbkAe35ZVxFRYP0WNDpN0WKZUSJP@wR/3gQkKRmGCQnATNiFQ55LXNw1uIwdffRm7vV9PbzbL6wtr5x89aLlwd1PnCbgzvbHN7l4F6Hw502hw@@Dju7HHzzkMNHHDx@wmH3yOnx9tkehw3L5s0@vgAdN3X@vuUdD/xgePJ2ND49O@eYJmu1Q4klxcSIXHysiok7ckuuyFpCIt7AdgPHxRiwqiqpKlalnZ6Kawm1ljDUZQr887v3jC1jC6@@EtgJc18vD@S0PLZ7Xh9s5Y99HI6JDnNF6BGV@EHTdqEdMNoUJYmk0ySnrpMk0Uho2GVxtGGFs7G5Gdx@bKrYJLWEWUtAu@N6w2DLcbBpEu3n77/P85dHwwCwpICXRbLzWo366ukzrUCgrK/MQDFP9ZHBNdy1XeaLkj429pkV9Af2KROHQevWXn/HDSRxJOnUHYvtAfMcsZZQQBt5JK3MQTFzb2KutjysKWZslOwQxz5i5O6AuVaHFO/Aujzddxy9qXaK1G2SAYA@eGMwbLVI0O@vytNSKdE3QJmYWK5bKuW/2nxtGEItIawoqTmOc@/l/v1aopbwpj8tsE7//Z8/qekP/8DTn@q5Gyucei2hQzzVaitf1G8cGiVTtzp9Tw95yDibzVrmeio1AO8Z@Ayz4xuH@rLIvZ293W1YXlpLfBVCsr0LOPDUJg0ototqy3Yckl@XNTmH/aLqB8DeBo5kfv1Vvea@Br8IYugFE8NYKzZ2e8xiI2rb6TeoQ3rUdjEHRXJVsDf0Ow65Yc9ffGxRUMS3qNvCtNkE1C2ZJJnvXZFGFMEAgmBGsjYj8YcNciOv8R4d4e4pGc@5WhFXaJTWEle35xEQNS7OiYPPEDO3iAcsWFkzcCJR09J8tWuJtKaJTZfCGi6sH0w4Gpc4tUN7jSZkwmItUQY7QRT7q06kRiVcs9k7SAVB4OT0VUz6a0CWXylafk1UJyaVyq/x2uZqbEzK0a@WyMBnZ71lNbl8HMIIfK7gpRcMjBjP@3GAyTz3LCu1AQ7PqGKWQ@8smwpl4OobPIMuetl1eVANs6Aa5UDV9xw7gPRRq7lgasnMb2Q0CX9pqSUmvMDX1tT8qqbJDOgJo6DhBDTNJLmeLaMCuQt8RrT9Hus12EAUYpoLPImlYMu7Gh7JFg3EvFwoFAsb8tqGvKkVNwuyIEiSVNpIjcQ8NLkUFykeGSNRK7Zs8JmRYWg5WZMUTZIMo@XYnngkSTiJf0X5wjktuARsQtHuu4mXXq/9zM/v/hY7AsCe999/fbeaWaNSS/BnVlQMR4qF/NL3aN/Htu3ZtmVT32KUWZ5n@9S2sE89GxC@ZQGCU0ChmFkwaNtdyliEsoEFaBlj3QgFr0ADHQw4wER91p2JwJwBZHTZZelyLBcaKjIf57QhN5vTdyMabF@VKxYc8VxxhORz2u7ll@yuF@owpwKkFyod6RupPvtSpG9cVT5JPic8546PMdz1riQDW9TDS4TdudzlKUMXR1alc9WiCeElieHsIn3jIi/1XRDanUmYL8JMwJJ9FyR04yK7kRZ4JrDrxZyP4oYVnnneLpx5MBx65inp7XA@hOfnodnQxRfGSzzgY98W9Hl2gIMNhK9QFSQdJ7fcMamWr4ud5MU1kYLCSEGXkTJCn3w@rUp1MvpEuU7GZ57SLxWgyZimqZhmJgYvSyaEygwJxKZ8YMr10oESVWVeDsyMatZxHY1WDZKpKuaEb6hgE0ImplLNgEEQwibipwxiEKBmA2oFJGB@AGjeEB8G/E7/LRGtDrOOiOjwIylsvRJQRCiD8N1fZA7rkYA2@AA0gA762y7cWzYx@jW/@EUovjIYrUxKTytmZkJhRiOYF51kTCWtw6RGxLD5kfy3edPTZEGnF8TYefj4@R5Gj57vQUuMe3vis52DbfGFJOc1CWmfmR5zm9Bs3a7e2b577/7Og693v3n46PGTp8/2nu//Hu5q1983@D7ySwa5ijW0ut/CsdxijtMaumJFrIYBVoUAQ4KUgqFwv5z1TU2G82J0LoCdt0MHopaDnRYCEa08MdvE77OfIv2iZ2VSCOkCd9cwlrkbCzpCkEAQPkV4HMbYW4RPEB4ifM2NWtB1HCDsIzxA@BjhPsI9hB2EjxDuImwj3EG4jXALFghhWCEL4QbCLsoW63L@plmv1yeGM3ZdnEbuqoKTzGgEYRyeOqEdjeCKD6fOMLjaZGSEoSGUhFEqxZKQ1BjgmRFQ2xHD2MpJnFIEiiKVkqJgCsWGZNBkA7A0GeKhPx@fYyMqjmQRZjTjOls4DcTMoJxzwop4WDyUkocGDdkaoA5BmIYzroazZ6El2qFV7NBCR6G1etwk3HjevHBrFlbdcJJLwWrlCwIhQiEPy5bKTcAPS/xgm@NA5yDDATuhjshfLsL7zYC1D/l1llosPAYvHgzrQnv9xaT0QCBY5qMCfADXhfhKA0IWpj9OfyTwQJ2@n347/Qv83k9/mP51@meAP0z/MP0Ofu8@/H367Yd/Qv@PcI7UIVzM7No6nNSKlZUABbFp/kXKQYMDi4NmOAUOWhy0OehwYHPQ5eCIgx4HLgd9AN5qep4ofCOAqK1C7PJXZQLp2bSLObF8AjF5gU/C@4J5XqkUoW/kjLJe4V4foUM6apRPUlomZYYM5tkgl8ryUc5qps5zqTqKXVAAMwD@Elq6tJhOAWRVivAl@MZZKGv1IqOYmqsvBhzeus2NtjMz2TylcceyuFu1Io/qHkU@hNKRJGjS4EbRywwFsRwfhfgeQbDnEV5bR3gD4Zu30CaOLXtSQYefzIYl5TIbKqVrbx@d/uCUXzAKBbmwxq8XAkmmBEGU0hnZyF4d4Yt6CdJr5fr0XT98c30GP5ucXwgSv9zoPNHBVp5E@8Lx8Mlm@9ZQqLSyKWFLYrvPdO9NIJwdvDxZe1qglAJVowHAgtpsfi7hMqitFoA21E4HgA212wVwBNVxAPSgQh5Loj5UzwNwDHUwAOBDDQIAQ6gnJycA6aqnzv7KrCWE2v/ln5lXBvn4Pw "Io – Try It Online")
2. It starts with a `.`.
3. It contains an `e`.
4. Its length is even.
5. Its length is a perfect square.
6. It contains an `a`.
7. It contains a `>` character.
8. Contains the exact string `->`.
9. Contains the exact string `Hi, Retina!`.
10. The sum of the first two Unicode code points is a multiple of 5.
11. The 10-th character is a `"`.
12. The last non-empty line does not have any duplicate characters.
13. The first line is a palindrome of length > 5.
14. The first line is exactly 21 characters long (not including newline).
15. It contains a `?`.
16. It contains a `|`.
17. Contains a `+`.
18. It is at least 28 lines long.
19. The following characters are used five times in total: `!"#$.[\]` and the codepoint of the second character is less than 60.
20. Contains `Henry Jams?` as a continuous substring.
21. The last character is `~`.
22. It contains a `C`
23. Each line contains a tab character.
24. The ninth line contains at least 22 characters, excluding the newline.
25. The tab character can't be the first character on a line
26. The third-to-last character is a tab.
27. There are at least 28 lines, and they are all distinct.
28. There must be a `>` in the code and angle braces must be balanced.
29. There must be more than 88 distinct code points in the program.
30. The third-to-last character is a tab (#26) AND adjacent lines must have different lengths
31. All printable ASCII characters that are not previously forbidden must be part of the code. The complete list is:  `!"%&'()*+,-./0123456789:;=?@ABCDEFGHIJKLMNOPQRSTUVWXYZ^_`abcdefghijklmnopqrstuvwxyz{|}~`
**32. The codepoint sum must be a perfect square.**
---
**For future answers:**
* The first line is a palindrome matching `.␣␣␣␣␣␣␣␣"␣"␣␣␣␣␣␣␣␣.` (you are free to fill in the ␣s).
* The second character is one of `',16;`, or a tab, or one of `\x04\x0e\x13\x18\x1d`.
* Its length is an even perfect square.
* There are at least 28 lines, and **all lines are distinct**.
* The ninth line must have at least 22 characters (excluding the newline).
* The last line does not have any duplicate characters.
* Contains the exact strings `->`, `Hi, Retina!`, and `Henry Jams?`.
* Each line contains at least one tab character, but it can't be the first character on a line.
* `!".` are banned except where necessary:
	+ Only `!` in `Hi, Retina!` and the two `.` and two `"` in the first line are allowed.
* `#$[\]` may not appear in the program.
* The program ends with: `tab`, *(whatever)*, `~`.
* Angle braces must be balanced.
* There must be more than 88 distinct code points in the program.
* Adjacent lines must have different lengths
* It contains all printable ASCII that are not previously forbidden. The characters are:  `!"%&'()*+,-./0123456789:;=?@ABCDEFGHIJKLMNOPQRSTUVWXYZ^_`abcdefghijklmnopqrstuvwxyz{|}~`.
* The codepoint sum is a perfect square.
[Answer]
# 1. [Add++](https://github.com/cairdcoinheringaahing/AddPlusPlus), 7 bytes
```
D,f,@,1
```
[Try it online!](https://tio.run/##S0xJKSj4/99FJ03HQcfwv0qanRKUrcTl/x8A "Add++ – Try It Online")
Might as well get Add++ in before things start getting difficult. This is very simply a translation of the first example into Add++. `D,f,@,1` defines a function which, no matter the argument given, returns `1`.
[Answer]
# 4. [Stacked](https://github.com/ConorOBrien-Foxx/stacked), 10 bytes
```
.3[#'even]
```
[Try it online!](https://tio.run/##Ky5JTM5OTfn/X884Wlk9tSw1L/a/g1UaF5e6nnEqSEjdSNXANlZdIU0hv7TkPwA "Stacked – Try It Online")
Checks if the length of the program is even. Anonymous function which returns `1` for "true" inputs and `0` for "false" ones.
**Satisfies:**
2. starts with a `.`
3. contains an `e`
4. has an even length
[Answer]
# 24, [SNOBOL4 (CSNOBOL4)](http://www.snobol4.org/csnobol4/), 256 bytes
```
.;*->+|a	"x"	a|+>-*;.
	x =input
	x =input
	x =input
	x =input
	x =input
	x =input
	x =input
	x =input;* Henry Jams?
	X =INPUT
	OUTPUT =GT(SIZE(X),21)	1

end
	ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234
	Hi, Retina!
	~
```
[Try it online!](https://tio.run/##K87LT8rPMfn/X89aS9dOuyaRU6lCiTOxRttOV8taj4uzQsE2M6@gtIQ6LGstBY/UvKJKBa/E3GJ7Ls4IBVtPv4DQEC5O/9AQIK1g6x6iEewZ5aoRoaljZKjJacjFiROm5qUAKUcnZxdXN3cPTy9vH18//4DAoOCQ0LDwiMioxKTklNS09IzMrOyc3Lz8gsKi4pLSsvKKyipDI2MTLk6PTB2FoNSSzLxERS7OutEQAAA "SNOBOL4 (CSNOBOL4) – Try It Online")
Prints out `1` for truthy and outputs nothing for falsey.
**Satisfies:**
2. The first character is a `.`.
3. It contains an `e`.
4. Its length is even.
5. Its length is a perfect square.
6. It contains an `a`.
7. It contains a `>` character.
8. Contains the exact string `->`.
9. Contains the exact string `Hi, Retina!`.
10. The sum of the first two Unicode code points is a multiple of 5.
11. The 10-th character is a `"`.
12. The last non-empty line does not have any duplicate characters.
13. The first line is a palindrome of length > 5.
14. The first line is exactly 21 characters long (not including newline).
15. It contains a `?`.
16. It contains a `|`.
17. Contains a `+`.
18. It is at least 28 lines long.
19. The following characters are used five times in total: `!"#$.[\]` and the codepoint of the second character is less than 60.
20. Contains `Henry Jams?` as a continuous substring.
21. The last character is `~`.
22. It contains a `C`
23. Each line contains a tab character.
24. The ninth line contains at least 22 characters, excluding the newline.
---
**For future answers:**
* The first character is a `.`, and so is the 21st character (palindromic rule).
* The 10th character is a `"`, and so is the 12th character (palindromic rule).
* The first line is a palindrome of length 21.
* The second character's Unicode code point, mod 5, is 4, **and** its code point is lower than 60 (the printables are `',1;6` and tab).
* The last character is `~`.
* Its length is an even perfect square.
* It is at least 28 lines long.
* The ninth line must have at least 22 characters, excluding the newline.
* The last non-empty line does not have any duplicate characters.
* Contains the exact strings `->`, `Hi, Retina!`, and `Henry Jams?`.
* It contains `|`, `+` and `C`.
* Each line contains a tab character.
* Each program is now allowed only the 2 `.` and 2 `"` in the first line, and the `!` in `Hi, Retina!`. Those characters cannot be used anywhere else, in addition to no uses of `#$[\]`.
[Answer]
# 2. [Triangularity](https://github.com/Mr-Xcoder/Triangularity), 17 bytes
```
..)..
.)Im.
"."=.
```
[Try it online!](https://tio.run/##KynKTMxLL81JLMosqfz/X09PU0@PS0/TM1ePS0lPyVYPixAA "Triangularity – Try It Online")
Checks whether the first character is a dot (`.`).
[Answer]
# 8. [R](https://www.r-project.org/), 64 bytes
```
.0->z;x=readLines();y=Vectorize(utf8ToInt)(x);any(grepl("->",x))
```
[Try it online!](https://tio.run/##K/r/X89A167KusK2KDUxxSczL7VYQ9O60jYsNbkkvyizKlWjtCTNIiTfM69EU6NC0zoxr1IjvSi1IEdDSddOSadCU/O/XmJSckpqWnpGZlZ2Tm5efkFhUXFJaVl5RSWXnYKSnRKQ9MwrKC1xzMnhsrNTMHzU0WEEYviXlgBFFYz/AwA "R – Try It Online")
Satisfies:
2. The first character is a `.`
3. It contains an `e`
4. Its length is even
5. Its length is a perfect square
6. It contains an `a`
7. It contains a `>` character
8. Contains the exact sequence `->` in one of its lines.
[Answer]
# 10. [Somme](https://github.com/ConorOBrien-Foxx/Somme), 64 bytes
```
.1->Hi, Retina! I like French :D
"RVll;d.h:and random stuff too!
```
[Try it online!](https://tio.run/##K87PzU39/1/PUNfOI1NHISi1JDMvUVHBUyEnMztVwa0oNS85Q8HKhUspKCwnxzpFL8MqMS9FoQhI5OcqFJeUpqUplOTnK1JuAgA "Somme – Try It Online")
**[Verify it online!](https://tio.run/##dZJPTwIxEMXv/RTjqgQINAuKfzBgjMTIxQMaL4RDl86yG0pL2l0Vgc@O3WWVSrKXSdv85vVN5uk0WO3OAq3mKKEHIRMGCccQmDSfqKuyAZVQ1ohgi4AzWMNmqdVsQ1Ip0BgI5Ti7TwjAQSTRKdqHZZoY8B6V5HESKwmna7mFPeQRlJxs85r/JlDOkqiaadVIVmmwStBQE39jTk1/ZYz9YLwr3LVrf44gq2N/Ar0eeNSDbYMU0MURRGPJ8Qs8dKFLB3LNUPxAee@AnRKwXvdpB86hlRnwqe@0XJUYYK6B6xKo70I3JVDzH3VbQj3HDRhhEkt24uIt/5ifRkybsU9pe0IXbFmtdJXmNWrShR2wkw9o@3eTfFN2H69vg@EL1cjsNg@LosimUaacPW1sIACyUxGYLSH7gDwIATOluPVUhKpI0o62mn3HMwxBxHOEJ43SCncHxBu9C3HHadRlkoO2RS3AJGkYQqLUyQ8)**
**Satisfies:**
2. The first character is a `.`
3. It contains an `e`
4. Its length is even
5. Its length is a perfect square
6. It contains an `a`
7. It contains a `>` character
8. Contains the exact string `->`.
9. Contains the exact string `Hi, Retina!`.
10. The sum of the first two Unicode code points is a multiple of 5.
**For future answers:**
* The first character is a `.`
* Its length is an even perfect square.
* Contains the exact sequence `->`.
* Contains the exact string `Hi, Retina!`.
* The second character's Unicode code point, mod 5, is 4.
[Answer]
# 6. [Pyth](https://pyth.readthedocs.io), 16 bytes
```
.e}\as.zS13    5
```
[Try it here!](https://pyth.herokuapp.com/?code=.e%7D%5Cas.zS13++++5&input=.e%7D%5Cas.zS13++++5&debug=0)
Checks if the input contains an `a`. Outputs either:
* `[True, True, True, True, True, True, True, True, True, True, True, True, True]` for truthy
* or `[False, False, False, False, False, False, False, False, False, False, False, False, False]` for falsy
**Satisfies:**
2. starts with a `.`
3. contains an `e`
4. has an even length
5. has a perfect square length
6. contains an `a`
[Answer]
# 7. [Whispers](https://github.com/cairdcoinheringaahing/Whispers), 66 bytes
```
.abcdefghijklmnopqrstuvwxyz
> ">"
> InputAll
>> 1∈2
>> Output 3
```
[Try it online!](https://tio.run/##K8/ILC5ILSr@/18vMSk5JTUtPSMzKzsnNy@/oLCouKS0rLyisorLTkHJTglIeuYVlJY45uRw2dkpGD7q6DACMfxLS4CiCsZc1DADAA "Whispers – Try It Online")
Outputs either `True` or `False`. Note the trailing new line.
**Satisfies:**
2. The first character is a `.`
3. It contains an `e`
4. Its length is even
5. Its length in characters is a perfect square
6. It contains an `a`
7. It contains a `>` character
[Answer]
# 3. [Jelly](https://github.com/DennisMitchell/jelly), 5 bytes
```
.
”ee
```
[Try it online!](https://tio.run/##y0rNyan8/1@P61HD3NTU/3AWAA "Jelly – Try It Online")
Checks whether the input contains a `e` character. Changed from `”` to `e` because that seemed unfair to languages without that character. And, to verify, here's a hexdump:
```
00000000: 2e0a ff65 65                             ...ee
```
**Satisfies:**
2. Starts with a `.`
3. Contains an `e`
[Answer]
# 18. [Python 3](https://docs.python.org/3/), 144 bytes
```
.6;"ea->?"#"?>-ae";6.
"Hi, Retina!"
import sys
print(len(sys.stdin.read().split("\n"))>26+1)
"|||||"
4.2
```
[Try it online!](https://tio.run/##K6gsycjPM/7/X8/MWik1UdfOXklZyd5ONzFVydpMj0vJI1NHISi1JDMvUVGJKzO3IL@oRKG4spiroCgzr0QjJzVPA8jTKy5JyczTK0pNTNHQ1CsuyMks0VCKyVPS1LQzMtM21OQiFijVgIASl4me0eBzEQA "Python 3 – Try It Online")
Outputs `True` if the input is at least 28 lines long, `False` otherwise.
**Satisfies:**
2. The first character is a `.`.
3. It contains an `e`.
4. Its length is even.
5. Its length is a perfect square.
6. It contains an `a`.
7. It contains a `>` character.
8. Contains the exact string `->`.
9. Contains the exact string `Hi, Retina!`.
10. The sum of the first two Unicode code points is a multiple of 5.
11. The 10-th character is a `"`.
12. The last non-empty line does not have any duplicate characters.
13. The first line is a palindrome of length > 5.
14. The first line is exactly 21 characters long (not including newline).
15. It contains a `?`.
16. It contains a `|`.
17. Contains a `+`.
18. It is at least 28 lines long.
**For future answers:**
* The first character is a `.`.
* Its length is an even perfect square.
* Contains the exact sequence `->`.
* Contains the exact string `Hi, Retina!`.
* The second character's Unicode code point, mod 5, is 4.
* The 10-th character is a `"`, and so is the twelfth character (palindromic rule).
* The last non-empty line does not have any duplicate characters.
* The first line is a palindrome of length = 21
* It contains a `?`.
* It contains a `|`.
* It contains a `+`.
* It is at least 28 lines long.
[Answer]
# 16: [Quarterstaff](https://github.com/Destructible-Watermelon/Quarterstaff), 64
1 is truthy,
```
.1......."a".......1.
   1->a[Hi, Retina!]
  ?[-124(.|>a)?]
49a!
```
[Try it online!](https://tio.run/##KyxNLCpJLSouSUxL@/9fz1APApQSlaAsQz0uBQUFQ127xGiPTB2FoNSSzLxExVigoH20rqGRiYZejV2ipn0sl4lloiKyCXpkmQAA "Quarterstaff – Try It Online")
the indentation doesn't do anything, by the way.
**Satisfies:**
2. The first character is a `.`.
3. It contains an `e`.
4. Its length is even.
5. Its length is a perfect square.
6. It contains an `a`.
7. It contains a `>` character.
8. Contains the exact string `->`.
9. Contains the exact string `Hi, Retina!`.
10. The sum of the first two Unicode code points is a multiple of 5.
11. The 10-th character is a `"`.
12. The last non-empty line does not have any duplicate characters.
13. The first line is a palindrome of length > 5.
14. The first line is exactly 21 characters long (not including newline).
15. It contains a `?`.
16. It contains a `|`
**For future answers:**
* The first character is a `.`.
* Its length is an even perfect square.
* Contains the exact sequence `->`.
* Contains the exact string `Hi, Retina!`.
* The second character's Unicode code point, mod 5, is 4.
* The 10-th character is a `"`, and so is the twelfth character (palindromic rule).
* The last non-empty line does not have any duplicate characters.
* The first line is a palindrome of length = 21
* It contains a `?`.
* It contains a `|`
[Answer]
# 15. Python 3, 64 bytes
```
.1and(11*"""*11(dna1.
Hi, Retina!->   """)and(lambda s:"?"
in s)
```
[Try it online!](https://tio.run/##fVTdbts2FL7nU5wyjiO5MmPadZtak7oM/XMRoEUSZC2stKMlylZCUapIp5aBArsa@gi96UPsflfL5d6iL5JRkg03BVoBIqhzvu/88HxiXup5Jgc38UKGXnBDKJORRWkHY9yh1IokowQ9Txw45jqR7E7XBwDjtCucYOk0YqBG@BFGiQRl3@RFIrU1qcJZyoY4K0CBcU3QDlACh1F09y7Cj53Y@dWh2DHWPoHTImFythCsSHSJTHRCbEIQsccpQZhgjxhbhR0QeMGFaDDo659fOF977hE40Sy85JEhDCY7e/yKy/PaNSTwqu4SBsbX4z0wRTV1Ci6tROYLbdl2p0OGu9TzenbNut@wDIN/DAK2OqEDqJ9h7X5A4Pd5onJeqLoYNg0jHs/mycWlSGWWvy@UXlx9WJYr5AP2sVnHVaJDIZDvA/366VO/2rxcaGOtKmv6OCBwXFXZ9Vfu0is4i44SyZVlu6V3xkOdFcmKWwsdH5xmY6lta2m7TJbWrOC5sALc9QPsLO2mh4dkPTYTsev3/vhmjrWf9sypZWnK6xZo1/8GAGMQySWHpwWX4RxGjxE@PhPCjch8ZGYPhVmyFEyXcQw6y@6sG6Bmyi/YFTsJiyTXJjGl7balPFPXLRkFuN1Wk4fnnrcX4L2mXmq0cNbUIoR49ubsOcb59edbvOt//vuLdP79G11/fttrbZIaYbzihYBhw3axa2QbfJcSu6133i@@G86z3K0FAOX@/n7oD9vtwuilUBzx96137iaqEdXrg/twqBRPp2vVnY5Pj54ABrxjXnhyZL6NUiOmGUpGJE6EgP7QoU4PqRFR2mSZAd7tDydvA6NHpLfGW8eNUbz1/FbyrZ3MRDZlAlKWSFQtI9g@KF@ouYBWstkoFDJTggqZjBGLImM6cGCXq3wLbRC6MOpfQ@6tIWoxhVafVl9siS5WUG5YccOqTy3@jnWR5mBClaMNWP8EzOUIFVxvjvjWz1mNbnP/BD@9gIIf3kAmCDo/t2/@Bw "Python 3 – Try It Online")
**Satisfies:**
2. The first character is a `.`.
3. It contains an `e`.
4. Its length is even.
5. Its length is a perfect square.
6. It contains an `a`.
7. It contains a `>` character.
8. Contains the exact string `->`.
9. Contains the exact string `Hi, Retina!`.
10. The sum of the first two Unicode code points is a multiple of 5.
11. The 10-th character is a `"`.
12. The last non-empty line does not have any duplicate characters.
13. The first line is a palindrome of length > 5.
14. The first line is exactly 21 characters long (not including newline).
15. It contains a `?`.
**For future answers:**
* The first character is a `.`.
* Its length is an even perfect square.
* Contains the exact sequence `->`.
* Contains the exact string `Hi, Retina!`.
* The second character's Unicode code point, mod 5, is 4.
* The 10-th character is a `"`.
* The last non-empty line does not have any duplicate characters.
* The first line is a palindrome of length = 21
* It contains a `?`.
[Answer]
# 31. [Octave](https://www.gnu.org/software/octave/), 324 bytes
New requirement: All printable ASCII that are not previously forbidden must be part of the code. The complete list is:  `!"%&'()*+,-./0123456789:;=?@ABCDEFGHIJKLMNOPQRSTUVWXYZ^_`abcdefghijklmnopqrstuvwxyz{|}~`.
```
.6;%+<-?|"	"|?-<+%;6.
f=@(x)all(ismember(horzcat(33,34,46,' %&''()*+,=/0123456789:;<->?@ABCDEFGHIJKLMNOPQRSTUVWXYZ^_`abcdefghijklmnopqrstuvwxyz{|}~'),x));
%	>>
%	V'quQ9g8u'@f/&'A)eLS;p`t'{ZYv4R3aaa
%	bb
%	c
%	dd
%Henry Jams?Hi, Retina!
%	e
%	ff
%	g
%	hh
%	i
%	jj
%	k
%	ll
%	m
%	nn
%	o
%	pp
%	q
%	rr
%	s
%	tt
%	u
%	vvv
%	a~
```
[Try it online!](https://tio.run/##3Tprd@PGdZ@xv2ICLwlABCmClLQrUoSklXe9crZeZ1/xrlbaHZJDEhQIQABIkStqj9PGsZs48Tppbcex0/SVtEn6SB9Jk6btOQS/9Vc0f8S9g8cMIHFd9xz79JxCwujivubOzJ175yG75eMR@eQYu5ZhdZHd6XxSWqvnChvFzakoiNPN4kYhV18rXeg0tuSxgk1TNrwBGTSJK/ds90kL@3K1qlZX1JU1VUK5vCTJylJBbSyXtUp1ZXXt0uX1Wn2jqG9ubV/ZefHqtZeu77785Ru/98rNV79y6/adu/e@@tr9BwePHuNmq0063Z7RPzQHlu0cuZ4/HB2PJ09OpqdPJUUdK0pduJATdB2Ke9LR8Cvr3ctDaauznJe2FXLjdt157EsnD@6PVm5VMcbA1WxC0YK33b6Qu04sd4JexgNv87qholvENyz8JaqRwNvpQNGFt9eDwoC334fiEF7ThGIAr2VBYcPrOFAcweu6UHjw@j4UQ3hHoxGU@Oknzol2ihpIelHtqFuqJtUvOCcVitmTSiWlVJJUpJVVJJWU3QH7EEtioyTtU95qzJuQfvf6x4REpJWYVN17QZLIiFj7EX41xpdJGdkuclzD8mWTWLJhOUNfVpSlpdJqTms0ykoksBYLkNOH2Cs9ua1VETyrEfFSTHz@wEiRZToSdTExU0e7tLJt02QYHWm/e@utSur75tAHHlQNUWFllxPTi/qT@rjhEty@YVjEk5X6pHGPtHzbNZ4Qeeh3Lt@xdy1fAVesY2sid13imLJY1EXqIJHl67Gyol5@nBrqiKiVY6pW1FNEtItM45Cgay6xWj1UezG0DamSeOueadbbpV4NW23kQmEPEPRAp4N8206UaolSLZ@XvYYuplSDbfm8t7e@32hIkihJsZVa4g2aaZov3b93XRSd4IOMXPDb//xGaWn2i6jrpOCDg/LFWDhxD60u1jXmJA/P1Fu/@KixoddbPduph@6AJsvLyy19NZ93wXFcjySS5Ojio3qsO/GvO7t3blxFIhZfgBddvQHf3G3b2MfJh1ErdQzTRJVVVVPLCdarlTzfpUFFzFVW9w4eWvvMTXxOywxDzCB1OP3KhJyllrqm3cQmGmDDilEUrCH@xGhn6PVMdNHIfnrxZwuiGfJa2OrECNxuA/myinLEcxariGR8F@ZVRmglI@QNm@hiRaM4PI5x/SdoktXZSesMx6fzKTr7AwexSie1rCr/f6WKWLVkJFzix8OehA8NfFzWtCVRFJc0TW5bmDtYxr2gm4FHoewmHjTbGHk1cZONsWEhL/H1JNJopegBh4ohrhvUwZzEe6k69jltc6@oVVbk0lTHyibDr6yzeZ3Eq@lm9CMWxBiaQhW01VnjJXVdrVYoIf0roSTexWqTyLRWFwmGLAaTYVMvYiJCTmRh@7wHQ/MHju36yJt4CYYHZECCf7cNq0QjnayUPMc0fFl8aImKolfWCpoCQhDaBpBdqWHqiqbQiqb0EaPmrJQqsY3rzMZcAUycigTytl4M83ZS@YL0LaV7RJJoAM17wwFnoLm9olarteoaze7rWm29qkrwhNl4Yy0/livwp5ynauXDxljWah0D3GHcaFCrlaKmKI1GxzQc@RCic2h2TlLTDausKWEjKuXP0IjMCPL1RUJejOEZ9KPUGgDy6X/95s2oAys8fEePCD/xw@renBYyocp2sM2G1jAcw2gZ2GsRTFqOY3jYaLFAiB0D8F6rBXjKCA@LnaQFrIbRx4REFAMUcElCSD@iAAis8MEkCSVEaNKP9TKDcKi4T9jTTxFphaHJCVtKMlRJEul@xJqWjB@ugFsbIRN5klabSDFjjL6TtjaRAZoTNjbTzqjlsTGZdqabSLuKdklKMlSZZmFq@w6vFZQ4mTrPiPXP1Hm2/@CT1ekYCToSpIqzBrHawj7KtDNd3dl2ZirsZ9UmLhBrXTyei9T209X1I3t5nWFlfSc1bVjfNlvhovA4syhMiLA4TMLo8TDhYG4SLx9jjqfxHKx8hvmfiVgpqySpfibOwdJwTNdbOxCsGC23bU3Qzmb8yaMQgkRdWY3jEFtZFXaK@hRSnCAiNNWLOwUeCwSBrWYFuvIACQjtxMUtH/nE8zmVfiEP6F7PPkZyq0dah0g26doWsqPCGSNKA9H8LROTDJCPmyk6fAHVt69awwFi8U34/wGkh5LhUrkpwSW@kqxQ60tFvTDFgjgWBTwt6MWlOh@jMWqEG5//I0R9CS1q1muosfvKq3fvMMTNu3fgEzVeuiPf3n1wVX5NUSuaImjP7a7k/fzHgVhtjnz@bv35O0Kafz/TAK6enezC81YssKFqEdPsDC15S94JJ/YOndgCTOw8EMP1BsPomgpr82g1NVZbPezC/FaUVAgQqAXUhLVszhcg5wtnc/5Y@HygxVFrZzpe8HzedX9x0Mb/9HDWgq7rRV0vpEr2FMKyGCO5jK4@0NWDjQfF6C0mzwO9UNIPEr4DYfw0GdJkCyAIdUmiERvGlEZxSA@CkEoirA1PGDRZ0MJjBo0YNBQWrEWFbCpizuYzZo9BLoOOGGQzaMAgk0GHDOozyGBQj0FdBnX4jGYQn9ktBjUZZAnLtQO1ckk/ODiYNsyJZSWUJcFi/ZvshYRpYTyG8YVdHJTjcWHKexelc2MXjRthLpOkDUka5/MkB1mZcAbS8LFhymFyLCspSTmUqGElBxAMYK2pNHCuyRlwLmYBAmc@yxBLRnSSIY5jlSeZVX1qJIunKf4t@VHtkZJ71MBpJU3eFsSMxwv6d2fBOJAF49VdMK7GgvE/XOAng9RonvcsJ3lS/ldlI8t2kNNyXqR7JhpNqxVNzJenPCJvMNkyg@oMKvCWjbAps6@n3AaXdB/RAzvc4o0/uw09kKTu6mvTjZdT81QV@ORNoYE1M/M4vyTNfjB7b/Zh8P7so9mz2Tdn786@lYZnPwL4/dkPZ9@evQ347wPv92YfAvYDKCPqs5Dvw7AEnuDj2Tsg8U7wRvAseDZ7G7C0hneDj4P3gu8F34HyveBrwZvw8/rsZ8Ebs1/D99chJSl1SGz68soqPQg/fwYu8In2aQ7U@sIcaLHbOIlrVNl56bRIY7og7ohh5C9OeZ7UjVpZ3hyFXvOUBc3wIE4/3dqqhYRGubFZ3zofUiO2UAFubI7yWiGvZzXpJ245v0zZqE49f1rOH2TFIx35U5er3VjAEXKZVahpqwZ2gT0n2ZrQuaeoa1Z9YdBPcNtX6IjuxuOZLJJSY9g6P3SdRePUP1w0b4WlyBD4s8SnbvQdU3hyWsDLs9iYp7sKg1ZWGbjGoEuXBbbFSM2wXFF4xPyCnZnEZy4iPQ68fGltdQXiBvMM3x0StLHcJqNlawhbm@Rklh589GyYzxyxi/yePez2fHRM4NclqIdH9AjY8wkekDZqmWAE57/ZU5Flo10E@@E2Y@oBTx3d6WHfQ8dQAj08EwV8c@h2ieuhlBH37eE5clrTZpqXeCoyQC2GrWPXsC1soraBTQKbvoTnbq/YG4JdYc0R12a6vrtAQ0PH87FP0CvkGN233cMU/RYBYyZ19FVY8qpod4A6rj1Ad32jhVVELyB2RwRZ9Oge9Qh224Cb2BZBQ49A7xHk9FwMoCSlG0E7@Uyv@bBfTdRadh3t0mZZaNtsgkJExhCpPQ@MT4@OR0gd0Q47tOxjlVbnkXS/YRixo6EBDfOMgWFiF3aroVE23ewCMKEDShD0zJfdoedP0JVQ8qxtdfQq9A5sp9vo9qFhWcARV1FHN8026mDQPoHebRkOYbLXbDczcig7ctAHeR0t8kOjE27Z0eMWGBYyhCezaIoG7VUPNttT2tVtVGyhlcfg8o9Dxy1CZ8FwTBL/geYNsvW3iefQzqA90AkPBqhPhN1Ae8pujgx76EFDuq5hmiC1sMI6sxMkrXSjKEzGho/KqTllwpAs4tE4rmNw@Pq17SvX7qa@@VxnuJ0CpwfvBt@FZPdHwR9Dcns/@CD4fvBh8IPgI0iCPwz@JPhR8KfBnwV/HvxF8JfBj4OfBH8V/HXw0@Bnwc@Dvwn@Nvi74O@DXwT/EPxj8E/BPwe/DH4V/Evw6@A3wb8Gvw3@Lfj34D/mr8@/Nv/9@R/Mvz5/Y/6N@Zvzt@Z/OP/m/Fvzt@ffnn9n/s782fzd@Xe5Nduplqav8jYgaGeGmnEdAYxZsE8iWfrk6ey196ccn5@//Y6uv7@YC/DkBpxvZPleid6Hswvx6EY8dSWeuhPnAs0mh1scbLcZ/Jz7cs5LONjpcLjLwV6PwwYH@30OH3KQXxnnhAEH@VYkJ9gcdBwOH3HQdTnscdD3OTzk4Gg04h84Sm2d6PZMlrYtD7JQDeUqBhTGQ7BjT6tZwwExZUepI34sMVZQBwoVOcq@cuHCGNzJOSFW@7R@oW14jrwnXcder0bdEMQrnu/K1JN6gJQlmPT06kXWaitKoyFdXsNrsGgEPbHoNr1vHDaj61DvnJI9fp2TOXABc1KU9EFUhgKbY0Dspyt80eh0IPtaPjKJ1fV75@tsA0dU8NsehT5cyV3LOILMT09gsvKW9UQehkTosbTE1aMhJFRgA7uQ3YF01DVJVpZeTtFT3Q0Jeir50KG3INJtFNFOeIQ6wNaQJlHUgYzQxCa2WkRKVWNBcO@CWqbV8AitWh7LMGTFvYpa3lfUvXXwi8papmMgxTSNdptYaemn9ESK9@cLF/ce7odXaSnBmxaYs3quKUxqrEpfKolSRmYHeg6yBlnQfaCcxnbDo4QTiWZz6fTkqewduX7C0Gh0jHEGo@TzA7sdf6kVhf4byCndbViI/g8J8qATXNpTn/w3 "Octave – Try It Online")
2. It starts with a `.`.
3. It contains an `e`.
4. Its length is even.
5. Its length is a perfect square.
6. It contains an `a`.
7. It contains a `>` character.
8. Contains the exact string `->`.
9. Contains the exact string `Hi, Retina!`.
10. The sum of the first two Unicode code points is a multiple of 5.
11. The 10-th character is a `"`.
12. The last non-empty line does not have any duplicate characters.
13. The first line is a palindrome of length > 5.
14. The first line is exactly 21 characters long (not including newline).
15. It contains a `?`.
16. It contains a `|`.
17. Contains a `+`.
18. It is at least 28 lines long.
19. The following characters are used five times in total: `!"#$.[\]` and the codepoint of the second character is less than 60.
20. Contains `Henry Jams?` as a continuous substring.
21. The last character is `~`.
22. It contains a `C`
23. Each line contains a tab character.
24. The ninth line contains at least 22 characters, excluding the newline.
25. The tab character can't be the first character on a line
26. The third-to-last character is a tab.
27. There are at least 28 lines, and they are all distinct.
28. There must be a `>` in the code and angle braces must be balanced.
29. There must be more than 88 distinct code points in the program.
30. The third-to-last character is a tab (#26) AND adjacent lines must have different lengths
31. All printable ASCII characters that are not previously forbidden must be part of the code. The complete list is:  `!"%&'()*+,-./0123456789:;=?@ABCDEFGHIJKLMNOPQRSTUVWXYZ^_`abcdefghijklmnopqrstuvwxyz{|}~`
---
**For future answers:**
* The first line is a palindrome matching `.␣␣␣␣␣␣␣␣"␣"␣␣␣␣␣␣␣␣.` (you are free to fill in the ␣s).
* The second character is one of `',16;`, or a tab, or one of `\x04\x0e\x13\x18\x1d`.
* Its length is an even perfect square.
* There are at least 28 lines, and **all lines are distinct**.
* The ninth line must have at least 22 characters (excluding the newline).
* The last line does not have any duplicate characters.
* Contains the exact strings `->`, `Hi, Retina!`, and `Henry Jams?`.
* Each line contains at least one tab character, but it can't be the first character on a line.
* `!".` are banned except where necessary:
	+ Only `!` in `Hi, Retina!` and the two `.` and two `"` in the first line are allowed.
* `#$[\]` may not appear in the program.
* The program ends with: `tab`, *(whatever)*, `~`.
* Angle braces must be balanced.
* There must be more than 88 distinct code points in the program.
* Adjacent lines must have different lengths
* It contains all printable ASCII that are not previously forbidden. The characters are:  `!"%&'()*+,-./0123456789:;=?@ABCDEFGHIJKLMNOPQRSTUVWXYZ^_`abcdefghijklmnopqrstuvwxyz{|}~`.
[Answer]
# 20. [Jelly](https://github.com/DennisMitchell/jelly), 100 bytes
This code checks whether or not `Henry Jams?`. Returns `1` for truthy, `0` for falsy.
```
.6;%+->?|"e"|?>-+%;6.
Hi, Retina!->0123456789
0123456789
0123
“Henry Jams?”ẇ
```
[Try it online!](https://tio.run/##y0rNyan8/1/PzFpVW9fOvkYpVanG3k5XW9XaTI/LI1NHISi1JDMvUVHXzsDQyNjE1MzcwpILjcmFCzxqmOORmldUqeCVmFts/6hh7sNd7f/paRkA "Jelly – Try It Online")
**Satisfies:**
2. The first character is a `.`.
3. It contains an `e`.
4. Its length is even.
5. Its length is a perfect square.
6. It contains an `a`.
7. It contains a `>` character.
8. Contains the exact string `->`.
9. Contains the exact string `Hi, Retina!`.
10. The sum of the first two Unicode code points is a multiple of 5.
11. The 10-th character is a `"`.
12. The last non-empty line does not have any duplicate characters.
13. The first line is a palindrome of length > 5.
14. The first line is exactly 21 characters long (not including newline).
15. It contains a `?`.
16. It contains a `|`.
17. Contains a `+`.
18. It is at least 28 lines long.
19. The following characters are used five times in total: `!"#$.[\]` and the codepoint of the second character is less than 60.
20. Contains `Henry Jams?` as a continuous substring.
**For future answers:**
* The first character is a `.`, and so is the 21st character (palindromic rule).
* Its length is an even perfect square.
* Contains the exact sequence `->`.
* Contains the exact string `Hi, Retina!`.
* The second character's Unicode code point, mod 5, is 4, **and** its code point is lower than 60.
* The 10-th character is a `"`, and so is the twelfth character (palindromic rule).
* The last non-empty line does not have any duplicate characters.
* The first line is a palindrome of length = 21
* It contains a `?`.
* It contains a `|`.
* It contains a `+`.
* It is at least 28 lines long.
* The following characters can only be used five times in total: `!"#$.[\]`.
	+ Each program is now allowed only the 2 `.` and 2 `"` in the first line, and the `!` in `Hi, Retina!`. Those characters cannot be used anywhere else, in addition to no uses of `#$[\]`.
* Each program must contain `Henry Jams?` as a continuous substring.
[Answer]
# 22, [Octave](https://www.gnu.org/software/octave/), 100 bytes
Executive summary: There must now be an uppercase `C` in the code.
```
.6;%+->?|"e"|?>-+%;6.
'Hi, Retina!Henry Jams?';
f=@(x)any(x=='C');
%Any C?
%~
```
[Try it online!](https://tio.run/##lVbLcts2FN37K1DEEkibogXqEUuMqDzbuJOZzqSZzHRkJ4Up0AZDkQhJxZKjZLpq8wlZtB/RbaerZtmvaH7EBUmAD8XppKAexH2cewBcXCByU/KKXl2ZQ7u133GmG0jhZup09lv20NxBD5kBHtOUheSrhzSM1@BbskimyN7xJre1lU7CtbaaTNA9pNs7rTvhGtyb7nymtd5eXZA4ZOEZiDxvh7/Gb8AEoPuGZ9w2sIDkr61MMkOmqZsmMgDuGgCZ@tGi7EATTkx0ktn2pK1SffzpN0oLVV@qerMbCNFXNDwp5AMp79IuiGLAYxamWkBDjYV8mWq6vrdnDlp4MunqhcNQOtA3xyQxL7/HPSDaoFDelEpy6s6pd3bO/BfBIoz4yzhJl68uVutLVDBzAHSgoumAoyzYnSAoJQ7AH9@9s2r975apsAG9XJQHO1TUO86lvZrElMwfsZAmmm6vJ0@pm0Yxu6TaMvUOn0RHYaqLxbGz1TmLKQ802HGgsdLlsEYSrON0f6wtcKHEXanFHaemBEcgYC8o@DqmoXsOxvdzbsBA8PHTILDn5vmYhHMQi59oAcQMeB5Io0iBYgWK220tmTiwBi24tdvJbHQiEglBhCRLrLIBB0HwzQ9PH0LIP7xv@H348@@fzb2/fi@mDn14/6y7K51VemAb2rhMkuOtuPbu88ktx3bPI27n6QDWBwcHrjNot2OROHFClSd9ufvcltgqv54cPXn0AEACb4gvePBI9Ku0nZOUqA4bmx4LAmANDGx0lTQZm0kaZ/sBtqzB7NlxeFKmSVrpGssgDZBX6e@u6bbWPAuiUxKABWGhFGWvY1A1KebL5DwAu6zZTWTXJYJ04pLQkwIynwv1oQFaNOHXQxQ@aSz2VcOp33BKlqdg18KZjKykzL8E6yamV8fM18f7D0x/wUEZdD1uQqX/C4qGY7USMU3lsqvygUWOaxjvQQj3MNbmIakSrJFeYpqFjZ6ZB2RxOicgGcNpucYsBInKdVVpsFk0kVDyrcIWcGJPklktxkmlm8462Opr5sYh@rSU90flvlb1ajMtHrgP5dtGhMhG3SSPjJHRszJF/YOAqncSVlWmoQ0pEQeI2Azi@CAUivOjLNufZrAY/oJHcQqSdaIkVUEWQpHfcxaaWaXTdDPhAUs1eBxCXXes4T7WhZMobQuSahkxo4/1LNAma7AYTt@0JMdRyfHTM04FlwdaEGgsWdDFKY01VJ8RhLIC2k6Wi8rAFdEto9cb94ZGf2iM8HjUM5BoemZ7a9heaT3x1y34tJBRZ2wN9Zyd1f0Cdo2l6WKr1x8Mbx6OlPp6SXU0/lo7vMVB@c8fvxQzY1V1uWhQPLKVsaeb/UYNijiJyjVjjDPmMpK4lFCXc5YQ5pYVjnAm5InrCnlmKFpZFKkrTBnzCaWFhgmAypNS6hca8SpMRaf0pJmiEFNf4paESA7s07L5NWUWMKeszGqeOSRV3n5hWveUrQKo2BZC5U/rsMqrJMN8XmerfISO54NtjLMYuSTTGGd9iNlUZVNS88wh6yYlrM@rqAKEN2JuuflbMbfnT3TLmJwpceGYATcJldHyOWqMsx5ue5yNgH4TVqWARL1@Pa@D9evh/IJvFTMP5vPatinn9tTNb3sXjdueUopbn6qPF0tlUaaJvBdKi7dyD1pfsP/R527iyN4qYPJGLq7k4k6udPJqLrtVFQLiBLYGWR3ameFxuFzQQOO6DVwaBN4y1DJE4IkfA3D95Opf "Octave – Try It Online")
**Satisfies:**
2. The first character is a `.`.
3. It contains an `e`.
4. Its length is even.
5. Its length is a perfect square.
6. It contains an `a`.
7. It contains a `>` character.
8. Contains the exact string `->`.
9. Contains the exact string `Hi, Retina!`.
10. The sum of the first two Unicode code points is a multiple of 5.
11. The 10-th character is a `"`.
12. The last non-empty line does not have any duplicate characters.
13. The first line is a palindrome of length > 5.
14. The first line is exactly 21 characters long (not including newline).
15. It contains a `?`.
16. It contains a `|`.
17. Contains a `+`.
18. It is at least 28 lines long.
19. The following characters are used five times in total: `!"#$.[\]` and the codepoint of the second character is less than 60.
20. Contains `Henry Jams?` as a continuous substring.
21. The last character is `~`.
22. It contains a `C`
---
**For future answers:**
* The first character is a `.`, and so is the 21st character (palindromic rule).
* The 10th character is a `"`, and so is the 12th character (palindromic rule).
* The first line is a palindrome of length 21.
* The second character's Unicode code point, mod 5, is 4, **and** its code point is lower than 60 (the printables are `',1;6` and tab).
* The last character is `~`.
---
* Its length is an even perfect square.
* It is at least 28 lines long.
* The last non-empty line does not have any duplicate characters.
---
* Contains the exact sequence `->`.
* Contains the exact strings `Hi, Retina!` and `Henry Jams?`.
* It contains `|`, `+` and `C`.
---
* Each program is now allowed only the 2 `.` and 2 `"` in the first line, and the `!` in `Hi, Retina!`. Those characters cannot be used anywhere else, in addition to no uses of `#$[\]`.
]


[Question]
      [
## Challenge
Weirdly, this hasn't been done yet: output the current date.
## Rules
The date format you should follow is as follows:
```
YYYY-MM-DD
```
Where the month and day should be padded by zeroes if they are less than 10.
For example, if the program is run on the 24th May 2017, it should output
```
2017-05-24
```
The date can either be always in UTC or in the local date.
You must handle leaps years. i.e. in leap years, February has 29 days but 28 days in a normal year.
## Winning
Shortest code in bytes wins.

[Answer]
# [AWK](https://www.gnu.org/software/gawk/manual/gawk.html), 17 bytes
```
$0=strftime("%F")
```
[Try it online!](https://tio.run/##SyzP/v9fxcC2uKQorSQzN1VDSdVNSfP/fyUlAA "AWK – Try It Online")
[Answer]
# [jamal](http://verhas.com/peter/progs/perl/jamal/), 32 characters
```
{@format date=YEAR-0M-0D}{@date}
```
(Only interesting part is jamal's unusual date format specifiers. For example YYYY would mean YY twice, where YY is the year as in Perl, since 1900.)
Sample run:
```
bash-4.4$ jamal.pl date.jam
2018-03-19
```
[Answer]
# [Gema](http://gema.sourceforge.net/), 40 characters
```
\A=@subst{*\\/*\\/*=\$3-\*-\*;@date}@end
```
Sample run:
```
bash-4.4$ gema '\A=@subst{*\\/*\\/*=\$3-\*-\*;@date}@end'
2018-03-19
```
[Answer]
# [Japt](https://github.com/ETHproductions/japt), 5 bytes
```
AîKs3
```
[Try it](https://petershaggynoble.github.io/Japt-Interpreter/?v=1.4.6&code=Qe5LczM=)
```
A         :10
 î        :Slice the following to that length
  K       :  Current date & time
   s3     :  Convert to ISO string
```
[Answer]
# [Forth (gforth)](http://www.complang.tuwien.ac.at/forth/gforth/Docs-html/), 52 bytes
```
: x 0 <# # # #> ." -"type ; : f time&date 1 .r x x ;
```
[Try it online!](https://tio.run/##S8svKsnQTU8DUf//WylUKBgo2CgrgKGdgp6Sgq5SSWVBqoK1gpVCmkJJZm6qWkpiSaqCoYJeEVBxhYL1/7T/AA "Forth (gforth) – Try It Online")
### Code Explanation
```
\ x prints a dash followed by a 2-digit number with leading zeros
: x               \ start a new word definition
  0 <# # # #>     \ convert number to double-precision, then converts to a string with leading 0
  ." -"type       \ print "-" followed by the string from the previous command
;                 \ end the word definition

: f               \ start a new word definition
  time&date       \ forth built-in to get the components of a date/time (year on top)
  1 .r            \ print the year (with no space appended)
  x               \ print a dash, followed by the month
  x               \ print a dash, followed by the day
;                 \ end word definition
```
[Answer]
# [Nim](http://nim-lang.org/), 32 bytes
```
import times
echo ($now())[0..9]
```
[Try it online!](https://tio.run/##y8vM/f8/M7cgv6hEoSQzN7WYKzU5I19BQyUvv1xDUzPaQE/PMvb/fwA "Nim – Try It Online")
[Answer]
# TI-Basic (TI-84), 32 bytes
```
Output(1,1,sum(getDate{ᴇ6,ᴇ3,1
Output(1,5,"-
Output(1,8,"-
```
* `getDate` is a list in the form `{2021, 1, 20}`.
* the date list is multiplied by `{1e6, 1e3, 1}` and then summed, giving a single number in the form `yyyy0mm0dd`, this deals automatically with leading zeros
* `-`s are then added at the right places, giving the output `yyyy-mm-dd`
[Answer]
# [Thunno 2](https://github.com/Thunno/Thunno2) `h`, 3 bytes
```
kQO
```
[Attempt This Online!](https://ato.pxeger.com/run?1=m728JKM0Ly_faGm0UoZS7IKlpSVpuhaLswP9lxQnJRdD-QugNAA)
#### Explanation
```
kQ   # Push a string of the current time
     # in the format "YYYY-MM-DD HH:mm:ss"
  O  # Split it on spaces to get the list
     # ["YYYY-MM-DD", "HH:mm:ss"]
     # Implicit output of first item
     # ("YYYY-MM-DD")
```
]


[Question]
      []


[Question]
      [
## Four integer sequences
In this challenge, you will test four different properties of a positive integer, given by the following sequences.
A positive integer **N** is
1. *perfect* ([OEIS A000396](https://oeis.org/A000396)), if the sum of proper divisors of **N** equals **N**. The sequence begins with 6, 28, 496, 8128, 33550336, 8589869056, 137438691328, 2305843008139952128...
2. *refactorable* ([OEIS A033950](https://oeis.org/A033950)), if the number of divisors of **N** is a divisor of **N**. The sequence begins with 1, 2, 8, 9, 12, 18, 24, 36, 40, 56, 60, 72, 80, 84, 88, 96, 104, 108, 128...
3. *practical* ([OEIS A005153](https://oeis.org/A005153)), if every integer **1 ≤ K ≤ N** is a sum of some distinct divisors of **N**. The sequence begins with 1, 2, 4, 6, 8, 12, 16, 18, 20, 24, 28, 30, 32, 36, 40, 42, 48, 54, 56...
4. *highly composite* ([OEIS A002128](https://oeis.org/A002182)), if every number **1 ≤ K < N** has strictly fewer divisors than **N**. The sequence begins with 1, 2, 4, 6, 12, 24, 36, 48, 60, 120, 180, 240, 360, 720, 840, 1260, 1680, 2520, 5040...
## Four programs
Your task is to write four programs (meaning full programs, function definitions or anonymous functions that perform I/O by any of the [standard methods](https://codegolf.meta.stackexchange.com/q/2447/32014)).
Each program shall solve the membership problem of one of these sequences.
In other words, each program will take a positive integer **N ≥ 1** as input, and output a truthy value if **N** is in the sequence, and a falsy value if not.
You can assume that **N** is within the bounds of the standard integer type of your programming language.
The programs must be related in the following way.
There are four strings `ABCD` such that
1. `AC` is the program that recognizes perfect numbers.
2. `AD` is the program that recognizes refactorable numbers.
3. `BC` is the program that recognizes practical numbers.
4. `BD` is the program that recognizes highly composite numbers.
## Scoring
Your score is the total length (in bytes) of the strings `ABCD`, or in other words, the total byte count of the four programs divided by two.
The lowest score in each programming language is the winner.
Standard [code-golf](/questions/tagged/code-golf "show questions tagged 'code-golf'") rules apply.
For example, if the four strings are `a{`, `b{n`, `+n}` and `=n}?`, then the four programs are `a{+n}`, `a{=n}?`, `b{n+n}` and `b{n=n}?`, and the score is 2+3+3+4=12.

[Answer]
## JavaScript (ES6), 46 + 55 + 6 + 36 = ~~282~~ ~~274~~ ... ~~158~~ 143 bytes
A:
```
n=>(r=0,D=x=>x&&D(x-1,n%x||(r++?q-=x:q=n)))(n)
```
B:
```
n=>(q=(g=D=x=>x&&!(n%x||(g|=m>2*(m=x),0))+D(x-1))(m=n))
```
C:
```
?!g:!q
```
D:
```
?(P=k=>--k?D(n=k)<q&P(k):1)(n):n%r<1
```
The result is 4 anonymous functions which give truthy/falsy values for their respective inputs (`AC`, `AD`, and `BC` give `true`/`false`, `BD` gives `1`/`0`).
### Test snippet
```
let AC =
n=>(r=0,D=x=>x&&D(x-1,n%x||(r++?q-=x:q=n)))(n)
?!g:!q
let AD =
n=>(r=0,D=x=>x&&D(x-1,n%x||(r++?q-=x:q=n)))(n)
?(P=k=>--k?D(n=k)<q&P(k):1)(n):n%r<1
let BC =
n=>(q=(g=D=x=>x&&!(n%x||(g|=m>2*(m=x),0))+D(x-1))(m=n))
?!g:!q
let BD =
n=>(q=(g=D=x=>x&&!(n%x||(g|=m>2*(m=x),0))+D(x-1))(m=n))
?(P=k=>--k?D(n=k)<q&P(k):1)(n):n%r<1
let update = n => O.innerText = [
  'perfect: ' + AC(n),
  'refactorable: ' + AD(n),
  'practical: ' + BC(n),
  'highly composite: ' + BD(n)
].join("\n")
```
```
<input type=number value=1 min=1 oninput=update(this.value)>
<pre id=O></pre>
```
[Answer]
# [Jelly](https://github.com/DennisMitchell/jelly), 8 + 17 + ~~2~~ 1 + 2 = ~~29~~ 28 bytes
A:
```
Æṣ⁼$Ædḍ$
```
B:
```
ÆDŒPS€QṢwRµṖÆdṀ<Ʋ
```
C:
```
ƭ
```
D:
```
0?
```
For practical numbers (BC), `0` is falsy and any other result is truthy.
AC and BC are full programs, since they're not reusable as functions.
[Answer]
# [05AB1E](https://github.com/Adriandmen/05AB1E), 8 + 16 + 1 + 0 = 25 bytes
A: `Ñ¨O©QI®Ö`
B: `ÑæOILåPILÑ€gRć‹P`
C: `s`
D:
The long parts each calculate both values, `s` swaps to the first one.
```
Ñ          # push list of divisors
 ©         # store this list
  ¨        # remove the last (largest) value
   O       # take the sum
    Q      # is this equal to the input (perfect)
     I     # push the input
      ®    # push the stored divisor list
       g   # take the length
        Ö  # does it divide the input? (refactorable)
        (s)# (swap to perfect)
```
[Try *perfect* online!](https://tio.run/##yy9OTMpM/f//8MRDKw@t8A/0PLQu/fC04v//DS0A "05AB1E – Try It Online") or [Try *refactorable* online!](https://tio.run/##yy9OTMpM/f//8MRDKw@t8A/0PLQu/fC0//8NLQA "05AB1E – Try It Online")
```
ÑæOILåP    # practical?
Ñ          # push list of divisors
 æ         # take the powerset
  O        # sum of each subset
   IL      # push the range [1..input]
     å     # is each value in the sums of divisor-subsets?
      P    # take the product / boolean all
ILÑ€gRć‹P  # highly composite?
IL         # push the range [1..input]
  Ñ        # take the divisors of each integer
   €g      # take the length of each divisor list
     R     # reverse it (swap the input's to the front)
      ć    # push the first value seperately
       ‹   # is this larger
        P  # than all other values?
(s)        # (swap to practical)
```
[Try *practical* online!](https://tio.run/##yy9OTMpM/f//8MTDy/w9fQ4vDQASEx81rUkPOtL@qGFnQPH//4YWAA "05AB1E – Try It Online") or [Try *highly composite* online](https://tio.run/##yy9OTMpM/f//8MTDy/w9fQ4vDQASEx81rUkPOtL@qGFnwP//hhYA "05AB1E – Try It Online")
[Answer]
# [Jelly](https://github.com/DennisMitchell/jelly), 5 + 17 + 3 + 3 = 28 bytes
There's already a 28-byte Jelly answer, but I have a different approach, so why not add it too?
## Parts
The pilcrow `¶` represents a newline.
A: `S=¶ḍ¶` (5 bytes)
B: `ŒP§iⱮḶ}Ạ¶>ḶÆd$}Ạ¶` (17 bytes)
C: `ÆḌñ` (3 bytes)
D: `Ædç` (3 bytes)
## Perfect (8 bytes)
```
S=
ḍ
ÆḌñ
```
[Try it online!](https://tio.run/##y0rNyan8/z/Yluvhjl6uw20Pd/Qc3vj//38zAA "Jelly – Try It Online")
### Explanation
```
S=   Auxiliary dyadic link
S    Sum of items in left argument
 =   Equals right argument?
ḍ   Ignored
ÆḌñ   Main monadic link
ÆḌ    Proper divisors
  ñ   Apply next link, with the number as right argument
```
## Refactorable (8 bytes)
```
S=
ḍ
Ædç
```
[Try it online!](https://tio.run/##y0rNyan8/z/Yluvhjl6uw20ph5f////fyAIA "Jelly – Try It Online")
### Explanation
```
S=   Ignored
ḍ   Auxiliary dyadic link: Divides?
Ædç   Main monadic link
Æd    Number of divisors
  ç   Apply previous link, with the number as right argument
```
## Practical (20 bytes)
```
ŒP§iⱮḶ}Ạ
>ḶÆd$}Ạ
ÆḌñ
```
[Try it online!](https://tio.run/##y0rNyan8///opIBDyzMfbVz3cMe22oe7FnDZARmH21JUwJzDbQ939Bze@P//f3MA "Jelly – Try It Online")
### Explanation
```
ŒP§iⱮḶ}Ạ   Auxiliary dyadic link
ŒP         Power set
  §        Sum of each
   iⱮ      Find index of each item from
     Ḷ}      Lowered range [0..(right argument - 1)]
       Ạ   All?
>ḶÆd$}Ạ   Ignored
ÆḌñ   Main monadic link
ÆḌ    Proper divisors
  ñ   Apply next link, with the number as right argument
```
## Highly composite (20 bytes)
```
ŒP§iⱮḶ}Ạ
>ḶÆd$}Ạ
Ædç
```
[Try it online!](https://tio.run/##y0rNyan8///opIBDyzMfbVz3cMe22oe7FnDZARmH21JUwBwg4/Dy////WwAA "Jelly – Try It Online")
### Explanation
```
ŒP§iⱮḶ}Ạ   Ignored
>ḶÆd$}Ạ   Auxiliary dyadic link
>         Greater than?
    $     (
 Ḷ   }      Lowered range [0..(right argument - 1)]
  Æd        Number of divisors [of each]
    $     )
      Ạ   All?
Ædç   Main monadic link
Æd    Number of divisors
  ç   Apply previous link, with the number as right argument
```
[Answer]
# [Haskell](https://www.haskell.org/), 69 + 133 + 3 + 3 = score 208
A:
```
d n=filter((<1).mod n)[1..n]
f n=[sum(d n)-n==n,length(d n)`elem`d n]
```
B:
```
import Data.List
d n=filter((<1).mod n)[1..n]
f n=[all(\n->any(==n)$sum$subsequences$d n)[1..n],all((<length(d n)).length.d)[1..n-1]]
```
C:
```
!!0
```
D:
```
!!1
```
[Try it online!](https://tio.run/##rU@7DsIwDNzzFanUIZWaiDBWFAnoyB9AJQJNISIxpQkDQnx7cal4jAwMlnxn@@58UP6ore1unM4yUlHIa2ODbhmbyES4EzLJSgoBJalxuPIXx3qOQ55DajXsw@FJbLTVboNdSfidENSbZ8S45tQGWqigxNL48IOBspatgU8VXBlaJDE6Ym29Pl807LSPPxdpv8wmXykSMQBRDStclu88i4xE0eiFih5JRN1fnkblzikDNKdNayDQmNZUjrsH "Haskell – Try It Online")
Yeah, it's pretty cheap but I'm not smart enough for a cooler solution. :P
]