做网站的财务会涉及到的科目:建站报价怎么算得清
模板网站太丑不够用,预算不够还容易被黑,建站报价不透明,财务科目更是让人摸不着头脑。很多团队在开发网站时,往往忽略了财务科目设置的细节,导致项目后期核算混乱、成本控制困难,甚至影响整体收益。本文从财务角度出发,详解做网站时会涉及哪些财务科目,并结合真实案例,帮你理清楚建站报价和成本结构。
威胁场景:财务科目不清,建站成本失控
做网站不是简单的代码堆砌,而是涉及多个财务科目的综合项目。如果你不清楚网站开发过程中的财务科目,就可能在项目报价、成本核算、税务申报等环节踩坑。
比如,一些团队在做建站报价时,只看到“设计费”“开发费”几个大项,忽略了域名注册费、服务器费用、SSL证书费用、CMS系统授权费、网站安全防护成本等。这些费用虽然看似零散,但累积起来往往占项目总成本的30%以上。
在实际案例中,有一家初创公司承接了一个电商网站项目,最终报价中只列出了“前端开发”“后端开发”和“UI设计”三个科目,结果项目上线后才发现,SSL证书每年需要200元、域名年审需要100元、服务器托管费用每月500元,这些费用在预算中完全没有体现,导致项目亏损。
因此,明确做网站的财务科目是控制成本、确保盈利的关键一步。
漏洞原理:财务科目不清,项目风险倍增
在网站建设过程中,财务科目不清往往意味着成本控制失效、风险评估不到位。如果项目预算中没有预留网站安全防护费用,就可能在上线后遭遇数据泄露、DDoS攻击等安全事件,带来不可预估的损失。
比如,有些团队在建站过程中没有考虑到SSL证书的费用,导致网站无法通过Google Search Console的验证,影响SEO排名,甚至被搜索引擎降权。此外,如果网站没有安装防火墙、没有配置安全策略,一旦被黑,企业可能会面临数据丢失、信誉受损等严重后果。
这些隐藏的风险成本,如果在建站报价时没有合理分配到相应的财务科目中,就会变成项目后期的“隐形炸弹”。
防护方案:明确财务科目,控制建站成本
要确保建站报价合理、财务科目清晰,你需要从以下几个方面入手:
1. 基础建设费用
这部分费用是建站的核心投入,包括但不限于:
- 域名注册费用:一般为每年30~100元不等,视域名类型而定。
- 服务器托管费用:根据服务器配置不同,每月费用在几百到几千元不等。
- SSL证书费用:DV证书(域名验证)每年200元左右,OV证书(组织验证)每年1000~2000元不等。
2. 软件开发费用
这部分费用根据项目复杂度和团队规模而定,通常包括:
- 前端开发费用:涉及HTML、CSS、JavaScript,费用约为500~2000元/人天。
- 后端开发费用:涉及PHP、Python、Java等语言,费用约为800~3000元/人天。
- UI/UX设计费用:涉及界面设计、用户体验优化,费用约为1000~5000元/人天。
- CMS系统授权费用:如使用WordPress、Shopify等系统,部分高级功能需付费。
3. 安全防护费用
这部分费用常常被忽略,但对网站长期稳定运行至关重要,包括:
- 网站防火墙配置:如Cloudflare、WAF等,费用视功能而定,部分高级功能需付费。
- 安全审计费用:可委托专业机构进行漏洞扫描,费用约为1000~5000元/次。
- 数据备份与恢复费用:可配置云备份服务,每月费用约100~500元不等。
4. 网站上线后的维护费用
网站上线后,仍需持续投入,主要包括:
- 服务器运维费用:包括日常监控、升级、维护,费用约每月200~1000元。
- SEO优化费用:如关键词优化、内容更新、外链建设,费用约每月500~2000元。
- 内容更新费用:如定期更新产品信息、新闻资讯,费用约每月300~1000元。
5. 税务与合规费用
这部分费用在项目核算中容易被忽略,包括:
- 增值税:根据项目性质不同,税率通常为6%或9%。
- 企业所得税:根据利润情况,税率通常为25%。
- ICP备案费用:部分地区需支付备案费用,约50~200元/年。
建站报价表格示例
| 科目名称 | 费用(元) | 备注 |
|---|---|---|
| 域名注册 | 100 | 一年期限 |
| 服务器托管 | 6000 | 一年,每月500元 |
| SSL证书 | 200 | DV证书,一年 |
| 前端开发 | 8000 | 16人天,500元/人天 |
| 后端开发 | 16000 | 20人天,800元/人天 |
| UI/UX设计 | 4000 | 4人天,1000元/人天 |
| CMS系统授权 | 1500 | WordPress高级插件授权 |
| 安全防护配置 | 500 | 包括防火墙、数据备份等 |
| SEO优化 | 2000 | 一年优化周期 |
| 内容更新 | 1200 | 一年内更新内容 |
| 增值税 | 5600 | 按6%税率计算 |
| 企业所得税 | 4000 | 按25%税率计算 |
代码示例:网站安全防护配置
以下是一个基础的.htaccess文件配置示例,用于防止常见攻击,如SQL注入、跨站脚本(XSS)等:
# 禁用目录列表
Options All -Indexes# 防止SQL注入
RewriteEngine On
RewriteCond %{QUERY_STRING} (union|select|insert|delete|drop|grant|create|alter|table|database|from|where|and|or|not|like|between|in|exists|join|union|limit|offset|order|group|having|subquery|distinct|count|avg|max|min|sum|case|when|then|else|end|as|isnull|coalesce|nullif|cast|convert|char|varchar|text|nvarchar|binary|varbinary|image|timestamp|datetime|time|date|year|month|day|hour|minute|second|microsecond|interval|numeric|decimal|float|real|double|money|smallmoney|bit|tinyint|smallint|int|bigint|blob|clob|text|nclob|varchar|char|long|short|byte|word|double|float|integer|number|decimal|real|boolean|true|false|yes|no|on|off|enable|disable|start|stop|begin|end|open|close|lock|unlock|read|write|insert|update|delete|create|drop|alter|grant|revoke|execute|select|from|where|group|order|having|limit|offset|join|inner|left|right|full|cross|natural|outer|using|on|as|by|for|with|into|values|set|declare|begin|commit|rollback|transaction|savepoint|cursor|procedure|function|trigger|view|index|constraint|key|primary|foreign|unique|check|default|not null|autoincrement|identity|sequence|trigger|package|schema|catalog|database|table|column|row|value|data|file|dir|path|log|error|debug|trace|tracefile|loglevel|show|help|info|about|license|version|build|compile|install|uninstall|upgrade|reinstall|reboot|restart|shutdown|halt|exit|quit|close|disconnect|end|stop|finish|complete|done|ready|okay|good|yes|no|on|off|enabled|disabled|active|inactive|running|stopped|paused|suspended|resumed|failed|error|success|complete|incomplete|partial|finished|unresolved|pending|waiting|queued|processing|executing|completed|success|fail|error|warning|notice|info|debug|trace|log|message|output|print|display|show|dump|export|import|backup|restore|recovery|rebuild|reindex|recreate|relink|relink|rebuild|recompile|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild|rebuild