content: Remove reference to non-existant src directories and update file hashes given script changes.

This commit is contained in:
William Floyd 2022-03-17 10:48:11 -05:00
parent 8d82112e28
commit 1311aa290b
Signed by untrusted user who does not match committer: william
GPG key ID: B3EEEDD81893CAF9
76 changed files with 114 additions and 113 deletions

View file

@ -27,13 +27,13 @@ I got so far as adding a sleek new brand name model to my Amazon cart, but thank
Instead, I opted to swing by the local Goodwill the next day, to see what secondhand options might be available.
As luck would have it, I found a no-frills, single button coffee maker for the princely sum of $4, and I was on my merry way.
[![The Spoils of Goodwill](media/20200610_204856.webp)](media/src/20200610_204856.jpg)
![The Spoils of Goodwill](media/20200610_204856.webp)
***
Later that evening, opening the black box up (thankfully I had the correct triangular screwdriver head), I found very easily hackable innards.
[![Poor lighting is the worst...](media/20200610_205351.webp)](media/src/20200610_205351.jpg)
![Poor lighting is the worst...](media/20200610_205351.webp)
The control board ([front](media/20200610_205847.webp), [back](media/20200610_205841.webp)) is very simple - two buttons in parallel, an LED, and a couple resistors.
I'm not quite sure what the logic is upstream (it un/latches on each press), but the buttons short to ground, and this is something I can work with.
@ -41,16 +41,16 @@ The control board has wires for ground, signal, and 5V, in that order.
The ordeal of hacking into the thing, and my missteps trying to do so, is rather boring really, but it produced this:
[![Interception!](media/20200702_120309.webp)](media/src/20200702_120309.jpg)
![Interception!](media/20200702_120309.webp)
[![Perfboard](media/20200702_120302.webp)](media/src/20200702_120302.jpg)
![Perfboard](media/20200702_120302.webp)
[![D1 Mini](media/20200702_120328.webp)](media/src/20200702_120328.jpg)
![D1 Mini](media/20200702_120328.webp)
The brains I added was a Wemos D1 Mini (thanks, Aliexpress!), with a 3.3V<->5V converter between to sense when the coffee maker is on, and also turn on a mosfet to short the button to ground.
I initially had issues with the coffee maker turning on whenever I plugger the D1 Mini in, but a pulldown resistor solved this.
[![External USB Plug](media/20200702_120334.webp)](media/src/20200702_120334.jpg)
![External USB Plug](media/20200702_120334.webp)
I also opted for an external USB plug - this allows me to possibly reflash this without opening the enclosure, and also meant I did not need to splice into the mains line inside, which I was reluctant to do.

View file

@ -1 +1 @@
fcfa94e586a635d6a5d73537c520bf03
68586dbaf760b52735d4ab7b5b38fe79

View file

@ -1 +1 @@
d4adab8b122ff1cff30a5cd345048367
90bcfca3be76ae0ce5633f2fe11c3d15

View file

@ -1 +1 @@
23c9550263ea11ac7ab2da63ec0d8b15
01fa2dce7513f27bfec08fe9f9344e9c

View file

@ -1 +1 @@
2c7084abab9ca05a441d677ec3fd1d59
974d754a75bed707f919241ec69cbffb

View file

@ -1 +1 @@
38cf01772a38974a427b555eff3abfd1
b9866dea89a681680d24256b050a0ffd

View file

@ -1 +1 @@
7ce7f0dcfc7db5e9514482ef945dbd37
922cc6c8ac058d5b3154f8a2d78bf45d

View file

@ -1 +1 @@
8f39b2e158b5260cfc565173c6bae2ab
c171eff5784389674445bc755b3d3bb9

View file

@ -1 +1 @@
421a11f42a70837cc5723281fb04682d
cf76b997c8ae8e74131c1ebd865a8e1d

View file

@ -1 +1 @@
d82d23ff6a0c735ce6b2a97e12207cf0
2f058d8ba64bbfe95f1fb43f98b7e4a9

View file

@ -1 +1 @@
53c5b1ff22f195fa815e9202d5c7c804
da1b745f8bcc72e286d78448ced2f10d

View file

@ -30,12 +30,12 @@ I am reluctant to tap into the CAN bus directly, so instead I am going to invest
# The Hardware
[![Opened remote](media/fob/opened.webp)](media/src/fob/opened.jpg)
![Opened remote](media/fob/opened.webp)
While I may analyze the original fob at some point, for the time being I shall work from the aftermarket fob.
Opening the casing reveals a rather simple circuit ([front](media/fob/pcb_front.webp), [back](media/fob/pcb_back.webp)) - battery contacts, four buttons, a smattering of passives, an oscillator, the main control chip, 8 test points, and an antenna trace running around the perimeter of the PCB.
[![Closeup](media/fob/closeup.webp)](media/src/fob/closeup.jpg)
![Closeup](media/fob/closeup.webp)
Rather unhelpfully, the control IC is unmarked, so either I'll need to wait until I can look at the original fob to find any clues, or try to find what I need online.
@ -62,7 +62,7 @@ With this information in hand, I ordered a cheap RTL-SDR (a Nooelec NESDR Mini 2
# SDR Analysis
[![4 Presses of the Locking Key](media/4_locks.webp)](media/4_locks.webp)
![4 Presses of the Locking Key](media/4_locks.webp)
The radio, being a North American model, operates at 315MHz.
Using Universal [Radio Hacker](https://github.com/jopohl/urh), I began capturing examples of locking and unlocking signals.
@ -112,7 +112,7 @@ In any case, this extra trailing bit is always 0.
Finally we have something like this:
[![Decoded data](media/decoded.webp)](media/decoded.webp)
![Decoded data](media/decoded.webp)
The top four entries are when locking, the bottom four when unlocking.
The highlighted segments from left to right, as per the technical document, are:
@ -131,9 +131,9 @@ What we know now is that the keyfob does indeed use a rolling code algorithm, th
I do not have access to the original keyfob at this time, so some image searching may be in order.
Several leads appeared, but the main one was this:
<!-- [![Different model fob with same compatibility](media/research/alt_1.webp)](media/src/research/alt_1.jpg) -->
[![Pre-owned OEM fob](media/research/alt_2.webp)](media/src/research/alt_2.jpg)
<!-- [![Similar model to mine](media/research/alt_3.webp)](media/src/research/alt_3.jpg) -->
<!-- ![Different model fob with same compatibility](media/research/alt_1.webp) -->
![Pre-owned OEM fob](media/research/alt_2.webp)
<!-- ![Similar model to mine](media/research/alt_3.webp) -->
None of text appears especially legible, so the first thing I can do is compare the logo on the OEM fob to existing rolling code chip manufacturers.
As it happens, Microchip is the company in question, producing the widely documented KeeLoq product line ([leaked spec sheet](http://keeloq.narod.ru/decryption.pdf)).

View file

@ -1 +1 @@
45780075c0373b5de461166eeae4f2d5
4fea09660677f09e2bb6c272335c0293

View file

@ -1 +1 @@
d882707b0489e5dfe49d6c0b511dfac4
7279df55f1825a07b628e5c18ecc584b

View file

@ -1 +1 @@
2c10e1f0b80580f2b2ba98a7786d61d0
04cc3a49b4423799bc56b3a86e7309b4

View file

@ -1 +1 @@
d0d40010aa70ac331725b3ba0b40a9fa
4ac3ff45a088ebdc25bd3c749dc9b659

View file

@ -1 +1 @@
38ea70fb8046f20af6c701be90183bae
1e8840e2c8577c1adeefab1f5f45eeb1

View file

@ -1 +1 @@
15d568259ebd4d3b109f7a48e9fc3f75
5f031230c411bf86ebc2aa72202d3db0

View file

@ -1 +1 @@
60b63f29468d759916b592856d84e244
8ecbce738a3c738c5edc442e7110dced

View file

@ -1 +1 @@
0c5dab9c716b6d76382a75765ca35597
852abd3b5b628f76874e5187df129d62

View file

@ -1 +1 @@
f715aae112e3cc887738f7cadcdfbd96
b91827913709898883a9a109a821e884

View file

@ -1 +1 @@
952703b2c11f53810cb99271d55929ad
b6ccb442be13d63918d34adabfd9daea

View file

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.44.0 (20200408.0750)
<!-- Generated by graphviz version 2.50.0 (0)
-->
<!-- Pages: 1 -->
<svg width="1425pt" height="1258pt"
@ -78,8 +78,8 @@
</g>
<g id="clust15" class="cluster">
<title>cluster_time</title>
<polygon fill="none" stroke="black" points="817.65,-332.52 817.65,-408.52 887.65,-408.52 887.65,-332.52 817.65,-332.52"/>
<text text-anchor="middle" x="852.65" y="-393.32" font-family="Times,serif" font-size="14.00">time</text>
<polygon fill="none" stroke="black" points="729.65,-332.52 729.65,-408.52 799.65,-408.52 799.65,-332.52 729.65,-332.52"/>
<text text-anchor="middle" x="764.65" y="-393.32" font-family="Times,serif" font-size="14.00">time</text>
</g>
<g id="clust16" class="cluster">
<title>cluster_lighting</title>
@ -88,8 +88,8 @@
</g>
<g id="clust17" class="cluster">
<title>cluster_settings_recipe</title>
<polygon fill="none" stroke="black" points="729.65,-332.52 729.65,-408.52 799.65,-408.52 799.65,-332.52 729.65,-332.52"/>
<text text-anchor="middle" x="764.65" y="-393.32" font-family="Times,serif" font-size="14.00">recipe</text>
<polygon fill="none" stroke="black" points="817.65,-332.52 817.65,-408.52 887.65,-408.52 887.65,-332.52 817.65,-332.52"/>
<text text-anchor="middle" x="852.65" y="-393.32" font-family="Times,serif" font-size="14.00">recipe</text>
</g>
<!-- Done -->
<g id="node1" class="node">
@ -310,8 +310,8 @@
<!-- /api/recipe/schedule/add -->
<g id="node22" class="node">
<title>/api/recipe/schedule/add</title>
<polygon fill="#caff70" stroke="black" points="458.29,-108.22 458.29,-144.22 512.29,-144.22 512.29,-108.22 458.29,-108.22"/>
<text text-anchor="middle" x="485.29" y="-122.52" font-family="Times,serif" font-size="14.00">add</text>
<polygon fill="#caff70" stroke="black" points="463.29,-43.22 463.29,-79.22 517.29,-79.22 517.29,-43.22 463.29,-43.22"/>
<text text-anchor="middle" x="490.29" y="-57.52" font-family="Times,serif" font-size="14.00">add</text>
</g>
<!-- /api/recipe/schedule/delete -->
<g id="node23" class="node">
@ -322,32 +322,32 @@
<!-- /api/recipe/schedule/list -->
<g id="node24" class="node">
<title>/api/recipe/schedule/list</title>
<polygon fill="#caff70" stroke="black" points="463.29,-43.22 463.29,-79.22 517.29,-79.22 517.29,-43.22 463.29,-43.22"/>
<text text-anchor="middle" x="490.29" y="-57.52" font-family="Times,serif" font-size="14.00">list</text>
<polygon fill="#caff70" stroke="black" points="458.29,-108.22 458.29,-144.22 512.29,-144.22 512.29,-108.22 458.29,-108.22"/>
<text text-anchor="middle" x="485.29" y="-122.52" font-family="Times,serif" font-size="14.00">list</text>
</g>
<!-- /api/settings/time/set -->
<g id="node25" class="node">
<title>/api/settings/time/set</title>
<polygon fill="#caff70" stroke="black" points="825.89,-341.16 825.89,-377.16 879.89,-377.16 879.89,-341.16 825.89,-341.16"/>
<text text-anchor="middle" x="852.89" y="-355.46" font-family="Times,serif" font-size="14.00">set</text>
<polygon fill="#caff70" stroke="black" points="737.89,-341.16 737.89,-377.16 791.89,-377.16 791.89,-341.16 737.89,-341.16"/>
<text text-anchor="middle" x="764.89" y="-355.46" font-family="Times,serif" font-size="14.00">set</text>
</g>
<!-- /api/settings/lighting/list -->
<g id="node26" class="node">
<title>/api/settings/lighting/list</title>
<polygon fill="#caff70" stroke="black" points="742.89,-248.16 742.89,-284.16 796.89,-284.16 796.89,-248.16 742.89,-248.16"/>
<text text-anchor="middle" x="769.89" y="-262.46" font-family="Times,serif" font-size="14.00">list</text>
<polygon fill="#caff70" stroke="black" points="682.89,-198.16 682.89,-234.16 736.89,-234.16 736.89,-198.16 682.89,-198.16"/>
<text text-anchor="middle" x="709.89" y="-212.46" font-family="Times,serif" font-size="14.00">list</text>
</g>
<!-- /api/settings/lighting/set -->
<g id="node27" class="node">
<title>/api/settings/lighting/set</title>
<polygon fill="#caff70" stroke="black" points="682.89,-198.16 682.89,-234.16 736.89,-234.16 736.89,-198.16 682.89,-198.16"/>
<text text-anchor="middle" x="709.89" y="-212.46" font-family="Times,serif" font-size="14.00">set</text>
<polygon fill="#caff70" stroke="black" points="742.89,-248.16 742.89,-284.16 796.89,-284.16 796.89,-248.16 742.89,-248.16"/>
<text text-anchor="middle" x="769.89" y="-262.46" font-family="Times,serif" font-size="14.00">set</text>
</g>
<!-- /api/settings/recipe/set -->
<g id="node28" class="node">
<title>/api/settings/recipe/set</title>
<polygon fill="#caff70" stroke="black" points="737.89,-341.16 737.89,-377.16 791.89,-377.16 791.89,-341.16 737.89,-341.16"/>
<text text-anchor="middle" x="764.89" y="-355.46" font-family="Times,serif" font-size="14.00">set</text>
<polygon fill="#caff70" stroke="black" points="825.89,-341.16 825.89,-377.16 879.89,-377.16 879.89,-341.16 825.89,-341.16"/>
<text text-anchor="middle" x="852.89" y="-355.46" font-family="Times,serif" font-size="14.00">set</text>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

View file

@ -0,0 +1 @@
PROCESS_SCRIPT=true

View file

@ -1 +1 @@
ff1bcdfb55cd7e0fb267a49d6626185e
d753e95224d0e937381407b1ba052de1

View file

@ -1 +1 @@
350414652e48b1502c92d53cae3f8a8a
6495309467eb7da66e280392dd579edd

View file

@ -1 +1 @@
3ffd8f056e06cb258bfc412cda49c453
d13befb6b1c5adfc884c0678817b2eaa

View file

@ -1 +1 @@
73535fefabedc24d7a9628a9832edc84
6d87c72df63ff74d137f3412bfcd3235

View file

@ -1 +1 @@
d971cb31c8c70b313ef7777c2e18f180
8dfbea332c798b9691a8649669b57edd

View file

@ -1 +1 @@
c01a86e33e628effde4cb073b2d4e788
ea72093aba7336505789a32e503316bc

View file

@ -1 +1 @@
586e44b3168e8350d97d49a524187ee1
d97c2dacebeea0b90596bd8c318be7aa

View file

@ -1 +1 @@
871f28fb15205ad180e9050e8d56feb1
0016c28348f47dcdf0e40609feff7713

View file

@ -1 +1 @@
9f353e96551de67df144c31d8fae0edf
59c49d25c711801bbcbf0ddc099c9cf9

View file

@ -1 +1 @@
29f2466883105eb032f60bb9fdfbf077
67c110b947a4b1dc78357d8d22eb2e73

View file

@ -1 +1 @@
9ec9803782dbd1372555907b9e596198
db70af13ba792891677b01a7d5697605

View file

@ -1 +1 @@
a617dc66c55fe5979218f3fe7df43599
849078500d644f68cb5960a3f1494c07

View file

@ -1 +1 @@
944f12a1110fa607994bb5b84e64dbbd
724ba2f77f04fd5e607058fabfb9e63c

View file

@ -1 +1 @@
ed3ce82d285ceb1c021ff0d6f01ada81
1b980e5b1bb8b6042334841b8c8ed6ab

View file

@ -1 +1 @@
b14f3d74503c5d8cfc0aca1963b6679a
122cc19a1af7dc8c715a041b717a3d74

View file

@ -1 +1 @@
cb6d7de7c7aa989fdb79e79a7726b6d1
8168332c0c0996e6e2459806e0f1e696

View file

@ -1 +1 @@
3861a4408816fe9a3aded7b9109b73ea
2a488a878ebfea7b4c0178cb574a9427

View file

@ -1 +1 @@
b6d58e2fda8e5bd9fd64c3b3b00f8c0b
c80a9b1a66c8957b486b83e08035232f

View file

@ -1 +1 @@
531d47870063080be0cd1e5a049f95d7
953d6bc8b2309cc6ac56762829f19d6b

View file

@ -1 +1 @@
8453a2abca158bbeb71ffd0d29f736e8
959085c0978c4a7e3c73259f85165ede

View file

@ -38,7 +38,7 @@ And so it was that we began brainstorming.
***
[![Laying the groundwork](media/20190919_143530.webp)](media/src/20190919_143530.jpg)
![Laying the groundwork](media/20190919_143530.webp)
The idea was fairly simple - use two smooth rods and a leadscrew to pull a carriage against springs that would then somehow fire the fishing weight.
The choice of this mechanism was, for the most part, due to availability of parts.
@ -46,7 +46,7 @@ I already owned the necessary rods and bearings, and springs were readily availa
***
[![First print](media/20190919_224711.webp)](media/src/20190919_224711.jpg)
![First print](media/20190919_224711.webp)
Soon, we had [some](media/20190919_213947.webp) basic 3D printed parts in order - for it was 3D printing that was most accessible to us, and allowed largely unattended manufacturing while classes continued.
Despite this early start of progress, however, the ever present tendency toward procrastination crept in.
@ -61,7 +61,7 @@ Nor was it realistic for us to budget a baitcasting reel instead of a much cheap
***
[![T'was but a Fanta-sea](media/20191010_152148.webp)](media/src/20191010_152148.jpg)
![T'was but a Fanta-sea](media/20191010_152148.webp)
Eventually, however, some progress was made - progress in something of a wrong direction, but progress nonetheless.
As the shape of our ungainly creation began to emerge, it was clear progress needed to be made quickly.
@ -72,7 +72,7 @@ A H-Bridge would need to be bought for the drill motor (I [tried to](media/20191
***
[![Latching Track Installed](media/20191110_014623.webp)](media/src/20191110_014623.jpg)
![Latching Track Installed](media/20191110_014623.webp)
The next week or so resulted in the beginnings of a working launch mechanism.
With the aid of a rubber band, a latching track was put under the rods and springs, such that the motor would tension the launching carriage, then return to the front of the mechanism to allow the eventual release of the catch using a servo.
@ -89,7 +89,7 @@ The end was near, or so it seemed.
***
[![Reel Mounted](media/20191115_090125.webp)](media/src/20191115_090125.jpg)
![Reel Mounted](media/20191115_090125.webp)
Following soon after was the reel being mounted to the device also.
Attempts were made to use a small DC motor, but with no luck.
@ -100,7 +100,7 @@ Remaining at this point was a means of reeling in the line, a means of depressin
***
[![Plenty of Torque](media/20191118_032416.webp)](media/src/20191118_032416.jpg)
![Plenty of Torque](media/20191118_032416.webp)
As it turned out, the very same stepper motor that had once tried to turn our leadscrew now instead would be pressed into service reeling in the line.
Overkill, to be sure, and it's power most wastefully used, it did indeed reliably turn our reel, albeit slowly.
@ -110,7 +110,7 @@ This saved the most time 3D printed as compared to a smaller pulley with other p
***
[![It'll Send You Reeling!](media/20191120_224129.webp)](media/src/20191120_224129.jpg)
![It'll Send You Reeling!](media/20191120_224129.webp)
Finally, the mechanics of the project were completed, with each component individually power tested, though not yet in tandem with one another.
As all of this was coming about, I had also begun getting the electronics in order.

View file

@ -1 +1 @@
54befd65f41a7fd92d43f889b9a3f520
9778abf15511811c43b452e39941b9c4

View file

@ -1 +1 @@
df53fdcaf52ec5994ab8c62d314522a0
e42cb1fdf806f2d73d970fa13c2b941a

View file

@ -1 +1 @@
800fb245064b782152b92f1f4dc8a586
68f61cbb57be06bc5eaa3db0952611ad

View file

@ -1 +1 @@
86aeb5d4584841dd6a70bd521e757aa5
f848b7c7b9048a34178f986173c0526c

View file

@ -1 +1 @@
cc91737528ce2c1719c3137ad0075d4a
f2f81e8ba9d6c00e79b11542ada5e44d

View file

@ -1 +1 @@
ac7d2d4fe7c4d885f7d8e961e7493d12
d99c6766c1971b59be51e1f00510fc5a

View file

@ -1 +1 @@
c0bb73969bf6c516470a747c81ad5e82
b7263d1732aa26aa49468c31206df2f0

View file

@ -1 +1 @@
a86a4eab229cbca413e5c88a0d2241e9
79f027047f516863d9763fc90548debd

View file

@ -1 +1 @@
8f3dbfb631f0040a6e9ed6b903565cca
eefe5e3578e1c026a4bb008c6e88266d

View file

@ -1 +1 @@
ec034c9710a992dd302954407a09488d
6856a0dfa0a410619e36bae006ccd528

View file

@ -1 +1 @@
966170548dad660f4e20e17fbebe767a
1d4f8d726d309cd1ba53aca7032249d8

View file

@ -1 +1 @@
37f54ea2306e36804bfb16bbc482b466
1074d07eb0e51a84f43564ca900e7867

View file

@ -1 +1 @@
42b0cb75905a00724d62891683cbf61b
696ff7b758842b732f490ce518efa57c

View file

@ -27,7 +27,7 @@ But in the back of my head I still wanted to build some hardware to help with th
***
[![Orange Sherbert Dreams](media/handwired/20190811_004928.webp)](media/src/handwired/20190811_004928.jpg)
![Orange Sherbert Dreams](media/handwired/20190811_004928.webp)
This eventually came about in the summer of 2019, when I finally hand-wired a simple 8 knob control surface.
Truth be told, I actually built two.
@ -41,16 +41,16 @@ This would come to change, however, in April of 2020.
***
[![It's Not Easy, Being Green](media/v1/20200506_152328.webp)](media/src/v1/20200506_152328.jpg)
![It's Not Easy, Being Green](media/v1/20200506_152328.webp)
[![Look Mum, Open Hardware!](media/v1/20200506_152317.webp)](media/src/v1/20200506_152317.jpg)
![Look Mum, Open Hardware!](media/v1/20200506_152317.webp)
Fast forward close to a year, and here we are - toilet paper is the currency of the quickly collapsing Covid19 crazed world, and I'm back with my grandparents for the remainder of my semester (which, as of writing, is all but concluded).
Finding my lack of a social life leaving me with a little bit more free time, and being home yielding a *lot* more distractions, I learned the basics of KiCAD from YouTube, and set out to design a simple PCB.
My old MIDI controller project came to mind, so I set myself to it, and within a few days had my first Gerber files sent off to JLCPCB.
In reality, I should have waited a bit and done a couple more design iterations before committing, but I guess $7 is the price of impatience.
[![One In Hand](media/v1/20200506_151852.webp)](media/src/v1/20200506_151852.jpg)
![One In Hand](media/v1/20200506_151852.webp)
So it was that my crisp PCBs showed up 3 weeks later - I had one assembled within the hour, and my old code dusted off and flashed within two hours.
It's really as simple as it gets - a [Pro Micro](media/v1/20200506_152023.webp) hooked up to a [4051 analogue multiplexer](media/v1/20200506_152016.webp), in turn hooked up to 8 potentiometers.
@ -62,7 +62,7 @@ Should the correct potentiometers be used, these would not be needed, though som
***
[![It Ain't Much, But I'm Proud](media/v1/20200506_152248.webp)](media/src/v1/20200506_152248.jpg)
![It Ain't Much, But I'm Proud](media/v1/20200506_152248.webp)
This being my first PCB design, I am quite happy it worked out so well - I am studying for Mechanical Engineering, not Electrical...
However, I see room for improvement.
@ -71,4 +71,4 @@ The knobs barely clear the Arduino, and the Arduino is mounted far higher off th
I see myself making a v2 in due course - perhaps next time I will try JLCPCB's SMT assembly?
I imagine adding indicator LEDs, improving the layout, and adding a button to switch between banks would make this much more useful.
[![That Hair Is Bothering Me](media/v1/20200506_151947.webp)](media/src/v1/20200506_151947.jpg)
![That Hair Is Bothering Me](media/v1/20200506_151947.webp)

View file

@ -1 +1 @@
7bf97aa38817bc82a8fdf8ee3a4ae85e
58ff2548d707a90de93441735e0da24d

View file

@ -1 +1 @@
ae1063af1892e4ab8380b04982ebc64f
92a03e2df85266ed8b9ea4561901d39b

View file

@ -1 +1 @@
c2e3f41f1e54575d5299a8f22f9852a6
22459c4c3bc7ae48379739f5427386f9

View file

@ -1 +1 @@
ed2d06b8ee123252956e23001155c26f
67d3ca27f084121da354df7355b4405d

View file

@ -1 +1 @@
0dec644a8df022b5543d85b828aa585c
2faf19b931faf86ccb3aff682f4a92df

View file

@ -1 +1 @@
80d5ba48859ecc9f6342213fbb2c13ac
57fa5ec3bd8cffac029d2dc6489369bb

View file

@ -1 +1 @@
f9c477fb4af062b6cb7d8c73d5eaef26
e85032653c1570c5721741c63d186a97

View file

@ -1 +1 @@
902fe9e5e4da1dd825b8208b3f4e62e1
d8e7afdd0ad3a2845d18cde7334a0094

View file

@ -1 +1 @@
213b3b1d4abc6cf8faef76e3254db4a5
657582827a5638f23db4223ac3a731aa

View file

@ -1 +1 @@
d747a36b80905e7228b8693cfb98b9c1
85e71888438393751b2621f529cfab0b

View file

@ -1 +1 @@
23c52cb5b7b769b20f15558c9e694084
7c6756e5e51b9833d63c3375e09215ea

View file

@ -1 +1 @@
6f31ea9e0c5498fe11648bd793d9547f
a52100044aceed92d0564e23d222534f

View file

@ -1 +1 @@
2516868ca90874c7c7104d664bba4e0f
0a4f2297e2b3360ecc709f46fd11d685

View file

@ -1 +1 @@
cf6c283e078f02f8a08fb6e4d16cf872
d8743e18233837dfbb80a440fa3129fc

View file

@ -1 +1 @@
fdee6a5f5a5beffa52aebe2b72f79caf
74aa4a11b1595b73e7f5cf5a474600c6

View file

@ -1 +1 @@
5f5236350d2791553e2311c4c7645337
ac461dc051be1674775000a46ccd5dc9

View file

@ -1 +1 @@
f873c0afcd44511ad3d5bb9b3c89a0c6
6b04af5171a9343f964cbdf02991018c