phone+net+tics · let your phone talk to you

phone-net · I.C.K.S.

(phone + net + I.C.K.S.)

Your phone already heard it all: the calls, the meetings, the promises. Plug it in and let it talk back, as an indexed, checksummed, searchable account of what was said, asked and answered, on hardware you own.

Intake · Custody · Keywords · Synthesis

YOUR PHONE USB-C · SHA-256 I · C · K · S LOCAL BLACK BOX v0.7.6 · 2026-10-18 full analytics → workflow → sessions of therapy →

Why it exists

Life changes fast. Paperwork doesn't keep up.

Family caregivers juggle calls, visits, emails, portals and letters across offices that don't talk to each other. When something doesn't add up, the answer is usually already somewhere in your own phone. It's just scattered. phone-net pulls it into one timeline you can search, so you can ask clear questions in writing.

The four stages

From a pocket full of recordings to questions you can put in writing

IIntake

Pull only what's new over USB-C, diff against earlier backups, verify every file.

CCustody

Checksums on every copy and output. True recording dates recovered from the audio itself.

KKeywords

Level, transcribe, separate speakers, then keyword and meaning search across everything.

SSynthesis

Dated index, honest summaries, and packets for family, care team, advocate or counsel.

First run

One caregiver, one phone, a lot of hours

Aggregate counts only. No names, no content.

~19,100caregiving notes logged since Jan 2024
~14.5 haverage day, first note to last (since Feb 2025)
3.5–4.25 hpaid cap per day in payroll exports; 5.25 sent for Sep (6.5 was promised)
~750 haudio transcribed locally · 2,047 recordings

Hours per day: the caregiver's log, the payroll app, and the paid cap

Notes span (first to last note, monthly average) Logged in the payroll app Paid cap (payroll) Promised

Same unit on one scale: hours per day, monthly averages. "Notes span" = first to last note of the day (when the caregiver was active). "Logged in the payroll app" and "paid cap" come from the payroll company's own shift-status exports (535 service days). From Dec 2025 the logged hours fall to about the cap: entries were limited to what would be paid. Sep 2026: 6.5 promised, 5.25 sent to payroll.

Caregiving notes per month

Show the numbers as a table
MonthNotesAvg notes span (h/day)Approved (h/day)
895days with notes (of 1,000 since Jan 2024)
699days with calendar events
32days with a safety incident noted
14 · 40days with a 911 call · days with a choking incident

Computer-side caregiving work: AI-assisted admin time per month

Active time in AI sessions about caregiving (10-minute windows with a message), from the session index. A conservative floor: only sessions whose opening message is about caregiving are counted. The GPU's own hours (about 22 h of heavy use Sept 25–29, plus about 17 h of job time in the last day) are the computer's work, not the caregiver's, and are listed separately. Whether any admin time is payable depends on the care plan.

Days with an emergency incident, per month

911 / EMS calledChoking incident

Distinct incident days from the caregiver's own log and recordings, not every time it was talked about. Not a medical record.

Emails: the two companies, and the social worker when they didn't answer

Care-plan companyPayroll companyCare-team social worker

Above the line: sent by the family. Below: received. Care plan 19 sent · 13 received. Payroll 14 sent · 18 received. Social worker 14 sent · 7 received: contacted out of necessity, when the proper channels gave no solution for the care receiver's needs.

Why caregivers get lost

The lines are tangled

Company A sets the care plan. Company B runs payroll. The caregiver calls both. Each points at the other, and the person receiving care has to fight just to let the caregiver speak for her.

Company Acare plan Company Bpayroll Caregivercalls, emails, waits Care receiver"let my son talk" A → caregiver: "X will happen" B: "A has to send Y before X" A → B: something other than X B → caregiver: "can't discuss X or Y with you"
phone-net lays every one of these lines on a single dated timeline, so the question can finally be asked in one place.

What we learned doing it

Getting complex systems to talk, one plain step at a time

Worked out the hard way, by a family caregiver, on very little sleep.

  1. Gather everything you already own. Phone audio, SD cards, email, scanned letters and bills. Pull only what's new; verify every copy.
  2. Fix the dates. Backups stamp files with the day they were copied. The audio itself usually knows when it was recorded.
  3. Hear each voice. Level quiet speech, transcribe, and separate who's talking, so the TV isn't mistaken for a person.
  4. Search by word and by meaning. Your own filenames are an index too, misspellings and all.
  5. Put what changed next to what didn't. What happened on one line; what was promised and paid on the other.
  6. Check the pattern before you believe it. One exciting spike turned out to be TV and copy-day dates. Say so.
  7. Include your own worst moments. A record that only shows one side isn't a record.
  8. Ask in writing, one question per office. Certified mail, a deadline, then the free advocate. Fewer phone calls, fewer triggers.
  9. Pace the machine and yourself. Queues that wait for free resources, a pause switch, handoff notes. No marathons.

Rules it runs on

Local, honest, and yours to share

What the notes are about

A day's work, by topic

Keyword categories from 18,797 notes (a note can fall in more than one). Bubble area = count. Named people and places are grouped as "local contacts."

Breakthroughs

Each coding step, and what it made possible for caregiving

Built between care tasks with several AI assistants. Citations are commit IDs and session IDs from the owner's private records; they are listed so each step can be traced, not as public links. Sources were checked against three records (session index, Grok export, chat-history import); the session index had filed early grok.com chats as ChatGPT, and these entries use the corrected source.

  1. 2026-04-14Grok (grok.com)Coding pivot + AI certificate enrollmentMoved from chatting about the situation to building tools for it. grok.com chat a368cd55 (first build question: a Dockerfile) · AI/ML certificate acceptance, same night
  2. 2026-06-19Grok (grok.com)One caregiving catalogScattered documents became one catalog that later tools could read. grok.com chat 7dc00839 (catalog naming, 00:01) · commit ee882c1 (00:52; coding agent not recorded)
  3. 2026-07-22CodexPortable intake with checksumsEvidence could be pulled and verified the same way every time. commit da4ceec · session codex:019f88b5
  4. 2026-08-04Pi · CodexMemory that survives long daysAssistants stopped losing the thread between caregiving interruptions. commit 3ba0ddb · commit e6ede46 · session codex:019fcd1f
  5. 2026-08-12CodexBrowsing history made searchablePast research on rules and offices could be found again in seconds. commit de6860f · session codex:019ff902
  6. 2026-09-22ClaudeLocal search over the agency recordAny email or recording about the two companies became findable. commit 3bc62e6 · commit db1f3f9 · session f85d6f3f
  7. 2026-09-25Claude · GrokEvery agency call transcribed and summarized locallyHours of calls turned into text that could be quoted, with dates. commit 0452ae7 · commit b1833c4 · session 6985c5c0
  8. 2026-09-26ClaudeTwo-recorder cross-check, phone inventory, texts and call logsThe key meeting was verified from two devices; texts and calls joined the timeline. commit 16384fb · commit aa50d77 · commit 440372c · commit 518453f · session 14aa5ea2
  9. 2026-09-27ClaudeThe caregiver's own log became the timing backboneMinute-stamped notes, calendar and voicemail lined everything else up. commit 8cb1dae · commit 86170fe · session 93ba0bae
  10. 2026-09-29ClaudeKeyword + meaning sweeps, true dates, trip contextFound the gap between hours promised and hours sent to payroll. session 52bdff7f
  11. 2026-09-29Claude · adbPayroll truth, straight from the payroll appThe payroll company's own shift exports (hours logged vs paid cap) plus a read-only check of the app on the phone: clock-in time with GPS and fingerprint, no camera or mic, screen time. commit 913b9b2 · device audit 2026-09-29 17:41 · session 52bdff7f
  12. 2026-10-02ClaudeTwo computers at once: a quick pass on the Mac, the deep pass on the GPULong recordings are cut into 15-minute pieces and scored by a small model on the Mac's own GPU while the CUDA GPU does speaker separation. On a 16-hour recording only 12 of 65 pieces needed the deep pass. The job board shows both computers, with CPU, GPU and network per host. commit 0d5bb44 · session 9cf494a3 (resident GPU worker: session 875a33cc) session index, 2026-10-02 18:43 and 18:47: “can any jobs run concurrently like overnight?” · “on large- run smaller model to get context to discern if second better pass is required”
  13. 2026-10-03ClaudeEvery pull covered, broken files recoveredThe board now checks every recording in every phone pull by hash. It found 97 recordings that no queue covered. A recovery step rebuilt 15 damaged files (cut-off recordings, missing headers), one of them with untrunc in a container, so their audio could be transcribed. commit 28e2275 · session 9cf494a3 session index, 2026-10-02 22:58: “can job board have a watch directory already established where the new pulls drop to?”
  14. 2026-10-11Claude · adbCamera clips saved with a person in the loopThe home-camera app only keeps clips in its cloud for a short time. A script now drives the app on a phone over USB: it scrolls to each wanted minute and taps only Download, Share or "Not now", never Delete. Every pulled clip's file time is checked against the minute it was meant to catch (zero mismatches before a run counts). Clips about to expire go first. A person unlocks the phone (the script never types the PIN) and hand-saves the few the script cannot reach. The to-do pages are stamped after each run: pulled, not in the app list, past the scroll limit, or queued. runbook commits 684338f · ea88b17 · de0298e · session 635a3008
  15. 2026-10-12ClaudeA six-year-old phone backup opened without the vendor appA 2020 full-phone backup from the vendor's desktop tool (an .lbf file) was the only copy of an old work phone. Only its small index is scrambled; the rest is a stream of ordinary compressed entries with their original phone paths and dates. A short open script reads them in order, hashes every entry into a manifest and pulls out the databases and recordings. The original is hashed on the storage server, copied, and hashed again before anything is read. Old music and video project files gave original save times the same way, which dated a recording session to the hour. scripts/lbf_extract.py (this repo) · session 635a3008
  16. 2026-10-15Claude · local modelsThe whole care-record export, read on the home computersOne structured export from the patient portal (316 documents) was parsed and counted locally, never sent to the cloud. It showed new or worse symptoms arriving about four times faster than a year earlier. session 3d0052d1 · local model only (PHI rule)
  17. 2026-10-16ClaudeOne visit fully mapped; "what was said" in one placeTwo phones, the photographed forms and the transcript lined up minute by minute, then every statement by the care agency, the payroll company and the care receiver was set beside what was certified and what the record shows. session 3d0052d1
  18. 2026-10-16ClaudeBottlenecks visible per job; a side matter dated and handed to counselEach running job on the board now shows its own CPU, memory, GPU and network use with a "likely limit" tag. Separately, a neighborhood-group matter was dated from public records and put on hold for a lawyer, for safety. v0.7.4 · session 3d0052d1

By the numbers · v0.7.5 · updated 2026-10-16

Everything in one place

Totals from Jan 2024 to Oct 16, 2026. Counts only: no names, no content, no medical detail.

~19,100caregiving notes
~14.5 haverage day, first note to last (since Feb 2025)
3.5 → 4.0 → 4.25 → 5.25paid cap per day from payroll exports (6.5 promised)
~760 haudio transcribed on local hardware
2,461phone-pull recordings catalogued and checked by hash (~750 h of audio), plus ~90 new from the Oct 14–16 pulls (including two hospice calls), quick-passed
4,975 · 60speaker-separated outputs (recordings + fifteen-minute chunks) · recordings redone at deep quality with voiceprints
296voicemails from named callers: leveled, speaker-separated, checked against the provider's own transcript, each with a speaker-name confidence
325home-camera clips saved from the phone app and pulled, each timestamp-checked against its target minute
1,119true recording dates recovered
90emails indexed: 63 with the two companies, 26 with the social worker, 1 with the care team
1,750calendar events · 699 days with one
895days with notes
12,572texts, calls and voicemails indexed (incl. 1,756 call/text records read from 3 phones)
14,867photos, videos and audio files hashed
720candidate trips for mileage
14 · 40days with a 911 call · a choking incident
32days with a safety incident noted
18device pulls and reads from 5 phones (one with the care receiver's OK, case contacts only)
~81 h · ~22 hactive AI-assisted admin time since Sep 1 (38 h of it in the Sep 25–29 sprint, from agent session logs) · heavy GPU hours (Sep 25–29)
109 M · 27 MAI tokens in (fresh input) · out (written by the models), Apr–Oct 2026, across Claude (83%), Grok (9%) and Codex (8%). Counting cache re-reads of the same context, 12.55 B processed (98% re-reads); ~$4.2k API-equivalent, mostly on flat-rate plans (codeburn)
316 · 12care-record portal documents parsed locally from one structured export · provider home-visit notes read locally
Why the thinking is outsourcedone live-in caregiver with PTSD; ~14.5 h days; paid for 5.25; care needs rose sharply in October. The AI does the sorting so the caregiver can do the caring.
55payroll records exported: 40 pay stubs, 14 shift-status periods, 1 W-2
3,786 h · 2,018 hhours logged · hours paid (Mar 2025 to Oct 2026)
568days in the day-by-day ledger (hours, notes, emails, calls, recordings)
36 of 40pay stubs match the paid daily cap exactly (the other 4 are split corrections)

How the sausage was made (simple version)

  1. Phones in. USB-C cable, adb, pull only what's new. Phones used: a 2024 Moto G Play, two 2023 Moto G Stylus, a 2018 LG V35, plus their SD cards.
  2. Everything else in. Account exports for notes, calendar, texts and calls; email through the provider; paper scanned with a phone scanner app.
  3. Recording apps found: the phone's built-in Recorder, an SD-card "Recordings" folder, a stylus-phone audio recorder, and a quick voice-memo app.
  4. Fix dates, hash everything, then transcribe, separate voices, search by word and meaning, and cross-check against notes, calendar and trips.
  5. Write it up in tiers: one plain page for the family, a care page for the care team (with consent), a certified-mail packet for an advocate, the full index for a lawyer.

Planned: an official records export (or records request) from the care receiver's online records portal, to line trips up with hours. Screen automation (scrcpy) only as a last resort.

What it found (in general terms)

  • One company promised a care-hours increase; the other received a smaller number for the same start date.
  • A written request for a full audit was answered twice with the same portal sign-up flyer.
  • Payroll had no representative authorization on file; the family had handed it to the care-plan company.
  • A care-plan staffer said on the record there is no team that does audits.
  • The daily log runs about 14–15 hours; approved paid hours ran 3.5 to 5.25.
  • One "spike" in the data was TV and copy-day timestamps. It was reported as an artifact, not a finding.

Answering a written explanation, fast

  • On Oct 9, a nurse at Company A sent the budget worksheet behind the 5.25 paid hours, through a secure portal. It came 65 days after an in-person audit request and after 10 written requests.
  • Within 7 days the owner had the full care-record export (316 documents) parsed locally, the provider's home-visit notes read, and the worksheet checked line by line against them.
  • What the check found: night wakings recorded but 0 night hours; appointments capped at 10 hours a month against 8 to 28 appointment days a month; monthly totals that work out to 22–24 days; a "pay rate increase" with the rate unchanged; a worksheet dated before the care needs rose.
  • The reply went by fax: a dated timeline, 12 written questions, and a request for a reassessment with the family's advocates on the call.
  • How it was possible: the same pipeline. A hash on every file, session logs for every agent run (AgentsView, plus codeburn when the session index was unreachable), Claude coordinating while Grok and Codex ran parallel recon passes, and local models for anything clinical. Forensic-style cataloging modeled on ISO/IEC 27037; not a certification.

Data key: where every chart and number comes from

Source types only. The private key (with file names and hashes) stays with the owner.

  • Hours per day: Notes span = first to last caregiving note of each day, monthly average (the caregiver's own task-app notes, account export). Logged in the payroll app and paid = the payroll company's own Shift Status exports (one row per service day; 535 days), monthly averages. Cross-checked against the payroll company's pay stubs (40). Promised = the care-plan company's phone call on the eve of the change (recorded).
  • Why May 2025 reads 5.99: in the May 4–17 pay period the payroll export shows 9 days paid at the full logged time (3.75 to 15 h), and the pay stub for that period confirms it (99.25 h paid, against the usual 49 h). It is a real paid amount, not a chart error. Every other month sits at the approved cap.
  • Caregiving notes per month and What the notes are about: the same task-app export, counted per month; topics from keyword lists (a note can count in more than one); named people and places grouped as "local contacts."
  • AI-assisted admin time per month: the local agent session index (AgentsView); 10-minute windows with at least one message, in sessions whose first message is about caregiving. A floor, not a total. Token totals: codeburn (all agents).
  • Days with an emergency incident: distinct days from the caregiver's log and recordings (911/EMS, choking). Not a medical record.
  • Emails: the caregiver's own mailbox, indexed by sender and recipient organization; counts only.
  • Recordings, outputs and hours: the recordings catalog (hash, length, true date) built from phone pulls; speaker-separated outputs counted from the transcriber's result files.
  • Calendar, texts, calls, photos, trips, ledger: account exports (calendar, voice and texts), phone call logs read over USB, file hashes from phone pulls, and the day-by-day ledger that joins them.
  • Care-record and worksheet findings: the patient portal's structured export (parsed locally) and the care-plan company's own worksheet; checked by a person before any claim.

Path to those findings

Keyword lists from the key meetings → the owner's own filename tags → meaning search → same-day cross-checks (notes, calendar, email, trips) → read every lead in context before calling it strong.

Chain of custody

  • Originals are never edited. Copies are made read-only and verified by size and SHA-256.
  • Every derived file (transcript, summary, index) is checksummed and traces back to its source hash.
  • Recording dates come from the file's own metadata, and the copy-day problem is documented.
  • Queue logs record what ran, when, and what failed or was retried.
  • Modeled on the principles of ISO/IEC 27037 (identify, collect, acquire, preserve) and NIST SP 800-86. Not a certification.

Personal and health information

  • All audio and text processing runs locally. Nothing is uploaded automatically.
  • Public outputs carry counts only, with generic labels (Company A/B, "care receiver", "local contacts").
  • Names, places and health details stay in the private record, shared only by the owner's choice.

Strategies learned

  • Your own filenames and misspellings are an index.
  • Count incidents, not mentions.
  • Check a pattern before you believe it.
  • Keep context words out of the transcriber (it can echo them back as fake lines).
  • Queue long files last, and wait for free GPU memory.
  • Letters, not calls: one question per office, certified mail, a deadline.

Time to process

The first full pass (about 750 hours of audio, 2,461 recordings) took roughly a week of evenings and overnights on one 16 GB GPU. The deep sweep (voiceprints, beam-10, QC flags) has finished 60 recordings. 1,664 more (about 350 hours of audio) are staged in the queues: about 320 GPU hours, or 4 to 5 weeks of evenings and overnights at one job at a time. A many-core CPU lane now takes the urgent one-off transcripts so the GPU queue keeps moving.

Models, tools and AI assistants (all links official) · as of v0.6.0

On-device models: Whisper large-v3 via faster-whisper and WhisperX (word timing with wav2vec2) · pyannote speaker-diarization-community-1 (Hugging Face, gated: accept terms) · whisper.cpp with ggml small.en (q5_1) for the quick first pass on long files (on the Mac's GPU, about 10 s per 15 minutes of audio) · Gemma summaries and nomic-embed-text-v2-moe search, both served by Ollama · model gateway LiteLLM

Tools: adb · FFmpeg · rclone · Tesseract OCR · scrcpy (planned) · account export · Hister (browser-history search) · untrunc (rebuilds cut-off phone recordings, run in a container)

AI assistants and CLI agents used to build it: Claude Code · Claude · Grok · ChatGPT · Codex CLI · OpenCode · Pi coding agent · Cowork, with session history from an AgentsView index.

Done (v0.5.6–v0.5.10): two computers working at once — the GPU host does the deep pass (large transcription model, speaker separation) while the Mac cuts long recordings into pieces, checks for silence and runs a quick small-model pass that decides which pieces need the deep pass; every phone pull is checked by hash, and damaged recordings go through a recovery step first.

Roadmap (earmarked): next, move audio leveling and the silence check fully to the Mac, and let it transcribe short items itself when the GPU is busy. Also earmarked: a fast first hash (xxHash XXH128) at every copy hop for quick transfer checks, with SHA-256 still taken once at the first pull as the custody hash. Details: docs/EARMARK_DUAL_HOST_FAST_HASH.md.

Case audio and transcripts were processed only by the on-device models above, never sent to the cloud assistants.

Job board, in the open · v0.6.0

What runs, what waits, and which pages are out of date

The job board is a small local web page. It shows every queue, every runner and every report, so the owner can see what the tools did and what still needs a person.

Out-of-date lights on every report

  • Each report page and the report list carry a coloured light: green nothing newer, yellow new phone, task, calendar, email or camera data in the last 24 h, red older than that, grey a fixed snapshot.
  • Hovering the light names the new data that arrived after the page was built. Rebuild, and it turns green.
  • Report addresses stay fixed: new reports are added at the end of the list, so saved links keep working.

Camera-clip queues

  • Short queues by urgency: clips about to leave the cloud first, then daytime, then early-morning stretches that need a deeper scroll.
  • Each line ends as pulled, not in the app list (a hand save will not find it either), past the scroll limit (a hand save with the date filter can), or queued.
  • Indoor cameras that cannot see the street are flagged, so they are not counted as street evidence.

Other board changes

  • Voicemail queues keep finished rows, so a finished queue counts every done row instead of showing 0 of 0.
  • Hours and minutes everywhere; queue and batch lists reload live; open-ended batch jobs.
  • A panel shows what is using the Mac's GPU next to the GPU host's deep pass.

Handoffs

Getting a packet to the right desk

The tools do the finding and the marking. People decide what to send and where. No names, agencies or case details here.

One question per office

  • Each office gets one short letter with one question and a date to answer by.
  • The same PDF goes by certified mail, fax and email, so delivery can be shown.
  • Advocates, ombudsman offices, fair-hearing requests and legal aid each get the tier they need, not the whole archive.

What goes in the packet

  • A plain timeline, then exhibits. Each exhibit lists the file, the minute and second to listen to, and its SHA-256, so the receiver can check it is unchanged.
  • Machine transcripts are for finding, not proof. A person listens at each marked spot before it is cited.
  • Consent first: the care receiver's OK for anything about them, and only case contacts from any phone.

Safety concerns about someone else

  • A concern about another person's safety, for example a child's, goes to the right agency through a licensed professional, not posted or argued in public.
  • The tools find old recordings and backups, date them, and mark each spot with file, timestamp and hash. The professional and the agency listen and decide.

Context · self-directed services (SDS)

Who holds which piece of the record

In self-directed Medicaid long-term care, a person can hire their own caregiver, often a family member. The work runs through several separate organizations, and each keeps its own part of the record. This page names none of them; it describes roles only.

The member

The person receiving care. In the fiscal/employer agent model, the member is the legal employer of their caregiver.

The managed care organization (MCO)

Its care team assesses needs and authorizes services and hours. In Wisconsin Family Care, self-directed supports is an option inside that plan.

The fiscal employer agent (F/EA)

A financial management services provider that runs payroll, tax filing and timesheets for the member-employer, paid from the budget the MCO authorizes.

The county or benefits office

Handles eligibility and any monthly cost share, on its own records and its own appeal route.

The caregiver

Does the work and logs the hours, often in the payroll app, and ends up the only one holding all the pieces, mostly on their own phone.

The gap phone+net+tics fills

There is often no shared system joining these records. The caregiver's own dated, checksummed copy lets each written question name exactly which piece is missing, and from whom.

Official sources: Medicaid.gov: Self-Directed Services · Wisconsin DHS: Self-Directed Supports FAQ (P-00088N) · Wisconsin DHS: Self-Directed Supports in Family Care (P-00593) · Wisconsin DHS: IRIS (Include, Respect, I Self-Direct) · Wisconsin DHS: member rights, grievances and appeals

The larger µlab · M.A.N.A.G.E.R. LLC

Sibling public repos

phone+net+tics is one door. These are the others, all public and MIT-licensed, all built the same way: local first, with AI coding assistants writing the code.

ai-gateway

Home LLM gateway: route models across machines, keep chat and tools portable. The local gateway these pages refer to.

repopage
mok-tua

Script → storyboard stills → optional video, on your own GPU.

repopage
fast-models

Two spare NVMe drives turned into one fast, deduped storage pool for local models.

repopage
grok-tua-tok-tua

Launch coding CLIs next to a live health and spend pane.

repopage
johnny-appleseed-chipper

Johnny Appleseed + C.H.I.P.P.E.R.S. + C.H.A.I.N.S.: artifact manifests and custody receipts.

repopage
aida-complex-doc-lab

A.I.D.A. complex-document lab: a synthetic accessibility harness.

repopage
ada-doc-check

Prepare-only ADA/WCAG-style document triage (a first pass, not certification).

repo
cmip-terpene-db

Schema ideas for cannabis and hemp chemistry and cultivars.

repopage
all-in-one-home-food-bank-tank-rank

Local-first home food bank: stock locations, recipe match, tank-rank.

repo
shreddit

Userscript that flattens modern Reddit into a wide, fast reading view.

repopage