JAJMGPT乙肝小三阳是什么么意思?

您所在的位置: &
Flask 学习(二)路由
时间: 编辑:feesland 来源:CnBlogs
Flask& 路由
  在说明什么是 Flask&路由之前,详细阐述下 Flask &Hello World&&这一 最小应用的代码。
  Flask &Hello World&
from flask import Flask
Flask(__name__)
@app.route('/')
def hello():
return 'Hello World'
if __name__ = '__main__':
    剖析上述代码:
    1. 首先,我们导入了类 Flask 。这个类的实例化将会是我们的 WSGI 应用。第一个参数是应用模块的名称。 如果你使用的是单一的模块(就如本例),第一个参数应该使用 __name__。因为取决于如果它以单独应用启动或作为模块导入, 名称将会不同 ( '__main__' 对应于实际导入的名称)。
    2. 接着,我们创建一个该类的实例。我们传递给它模块或包的名称。这样 Flask 才会知道去哪里寻找模板、静态文件等等。    3. 之后,我们使用装饰器 route() 告诉 Flask 哪个 URL 才能触发我们的函数。这也就是路由,博文之后会详细学习。    4. 之后 ,定义一个函数,该函数名也是用来给特定函数生成 URLs,并且返回我们想要显示在用户浏览器上的信息。    5. 最后,我们用函数 run() 启动本地服务器来运行我们的应用。if __name__ == '__main__': 确保服务器只会在该脚本被 Python 解释器直接执行的时候才会运行,而不是作为模块导入的时候。
    服务器外部可见:
      目前服务器 仅可本机 localhost 访问,这是因为默认情况下,调试模式,应用中的一个用户可以执行你计算机上的任意 Python 代码。
      如果你关闭 debug 或者信任你所在网络上的用户,你可以让你的服务器对外可用,只要简单地改变方法 run() 的调用像如下这样:
      &app.run(host='0.0.0.0')& 这让你的操作系统去监听所有公开的 IP。
 & 调试模式
    有两种方式开启调式模式:加入语句,应用对象上设置标志位:& &app.debug = True&&
                或者作为 run 的一个参数传入: & app.run(debug=True)&& 作为 run 的一个参数传入。
    调试模式有安全隐患,决不可在生产环境使用,参考如下:
Even though the interactive debugger does not work in forking environments (which makes it nearly impossible to use on production servers), it still allows the execution of arbitrary code. This makes it a major security risk and therefore it must never be used on production machines.
      打开调试模式下,若网页出错,示例显示如:
  Flask&路由
      所谓 路由,即 URL 绑定,route() 装饰器用于把一个函数绑于一个URL上,
from flask import Flask
Flask(__name__)
@app.route('/')
def indexPage():
return 'Index Page'
@app.route('/flask')
def flaskPage():
return 'Flask Page'
if __name__ == '__main__':
      如上示例,把 "/" url 绑了indexPage() 函数,把"/flask" url 绑了flaskPage() 函数。
  HTTP请求模拟工具:这边需要使用到HTTP请求工具来查看,chrome可用插件postman;firefox可用HttpRequest。具体使用这边就不介绍了,很简单。
      运行后,请求url&
      以上仅是最简单的url构造,你可以动态地构造 URL 的特定部分,也可以在一个函数上附加多个规则。
   变量规则
      给 URL 增加变量的部分,把一些特定的字段标记成 &variable_name&。这些特定的字段将作为参数传入到你的函数中。
      当然也可以指定一个可选的转换器通过规则 &converter:variable_name&。
      先看以下示例(之后示例均省略上下文代码):
@app.route("/query_user")
def query_user():
id = request.args.get("id")
return "query user: {0}".format(id)
      即简单的URL增加变量,运行后请求的URL需带参数&
      存在如下转换器: ,示例代码如下:
@app.route('/userid/&int:user_id&')
def show_userId(user_id):
# show the user_id, the id
is an integer
return 'User ID: {0}'.format(user_id)
      URL&须在 "/userid/" 后传递一个整数,运行后如
&   HTTP 方法
      默认情况,创建的URL路由是Get方法,可在通过给 route() 装饰器提供 methods 参数来改变 HTTP 方法,有关HTTP协议相关,请Google相关文档。
@app.route("/postUser", methods=["POST"])
def hello_user():
return "Post User"
      上述示例即为一 Post 方法的路由,运行后直接访问会报405,因为该请求方式 应为 Post,这边使用 FireFox 插件 HttpRequester 来模拟
      
      更改为 Post 方式,
      最常用的方式即 Post 和 Get,其他的还有 Delete、Put 等,需用时请阅相关的文档。
&   Request
      须要引入request&&&from flask import Flask, request& ,来进行request参数的传值,具体示例如下:
@app.route("/query_user")
def query_user():
id = request.args.get("id")
return "query user: {0}".format(id)
&      & 有没有很熟悉? 再看下多参数的,如下例:
@app.route("/query_page")
def query_page():
= request.args.get("pageid")
= request.args.get("num")
return "query page: {0} and {1}".format(pageid,num)
      
  URL 构建
      根据函数名反向生成url。可以使用函数 url_for() 来针对一个特定的函数构建一个 URL。它能够接受函数名作为第一参数,以及一些关键字参数, 每一个关键字参数对应于 URL 规则的变量部分。未知变量部分被插入到 URL 中作为查询参数。
      须要引入 url_for,&from flask import Flask, request, url_for&& 路由的构建为之前的示例& (这里使用了 test_request_context() 方法,下面会给出解释。这个方法告诉 Flask 表现得像是在处理一个请求。)
@app.route('/')
def indexPage():
return 'Index Page'
@app.route("/query_user")
def query_user():
id = request.args.get("id")
return "query user: {0}".format(id)
with app.test_request_context():
print url_for('indexPage')
print url_for('query_user',id=100)
      
      URL的构建在实际项目中比较常用,为什么你愿意构建 URLs 而不是在模版中硬编码?这里有三个好的理由:
        & 反向构建通常比硬编码更具备描述性。更重要的是,它允许你一次性修改 URL, 而不是到处找 URL 修改。        & 构建 URL 能够显式地处理特殊字符和 Unicode 转义,因此你不必去处理这些。        & 如果你的应用不在 URL 根目录下(比如,在 /myapplication 而不在 /), url_for() 将会适当地替你处理好。
热门关键字无法找到该页
无法找到该页
您正在搜索的页面可能已经删除、更名或暂时不可用。
请尝试以下操作:
确保浏览器的地址栏中显示的网站地址的拼写和格式正确无误。
如果通过单击链接而到达了该网页,请与网站管理员联系,通知他们该链接的格式不正确。
单击按钮尝试另一个链接。
HTTP 错误 404 - 文件或目录未找到。Internet 信息服务 (IIS)
技术信息(为技术支持人员提供)
转到 并搜索包括&HTTP&和&404&的标题。
打开&IIS 帮助&(可在 IIS 管理器 (inetmgr) 中访问),然后搜索标题为&网站设置&、&常规管理任务&和&关于自定义错误消息&的主题。MIME-Version: 1.0
Content-Type: multipart/ boundary="----=_NextPart_01C9A95B.277D2200"
?ゅン琌?虫?郎?呼???ョ嘿??呼???郎???璝???癟???ボ眤?聅凝竟┪絪胯竟ぃや穿?呼???郎???叫?更や穿?呼?????聅凝竟?ㄒ? Microsoft Internet Explorer?
------=_NextPart_01C9A95B.277D2200
Content-Location: file:///C:/C465C992/T_choir.htm
Content-Transfer-Encoding: quoted-printable
Content-Type: text/ charset="us-ascii"
A Mother’s Prayer
Father lead us day by day, ever in Your own
sweet way. Show us what we need to do. Teach us to be always true. Share Yo=
wisdom as we journey on. All we need to understand is
Your gentle guiding
hand. Give us all the love we need then
A Mother’s Prayer
Father lead us day by day, ever in Your own
sweet way. Show us what we need to do. Teach us to be always true. Share Yo=
wisdom as we journey on. All we need to understand is
Your gentle guiding
hand. Give us all the love we need then
A Mother’s Prayer
Father lead us day by day, ever in Your own
sweet way. Show us what we need to do. Teach us to be always true. Share Yo=
wisdom as we journey on. All we need to understand is
Your gentle guiding
hand. Give us all the love we need then
A Mother’s Prayer
Father lead us day by day, ever in Your own
sweet way. Show us what we need to do. Teach us to be always true. Share Yo=
wisdom as we journey on. All we need to understand is
Your gentle guiding
hand. Give us all the love we need then
A Mother’s Prayer
Father lead us day by day, ever in Your own
sweet way. Show us what we need to do. Teach us to be always true. Share Yo=
wisdom as we journey on. All we need to understand is
Your gentle guiding
hand. Give us all the love we need then
A Mother’s Prayer
Father lead us day by day, ever in Your own
sweet way. Show us what we need to do. Teach us to be always true. Share Yo=
wisdom as we journey on. All we need to understand is
Your gentle guiding
hand. Give us all the love we need then
A Mother’s Prayer
Father lead us day by day, ever in Your own
sweet way. Show us what we need to do. Teach us to be always true. Share Yo=
wisdom as we journey on. All we need to understand is
Your gentle guiding
hand. Give us all the love we need then
A Mother’s Prayer
Father lead us day by day, ever in Your own
sweet way. Show us what we need to do. Teach us to be always true. Share Yo=
wisdom as we journey on. All we need to understand is
Your gentle guiding
hand. Give us all the love we need then
A Mother’s Prayer
Father lead us day by day, ever in Your own
sweet way. Show us what we need to do. Teach us to be always true. Share Yo=
wisdom as we journey on. All we need to understand is
Your gentle guiding
hand. Give us all the love we need then
你養育我使我&#33021=
;越過山嶺 你養育我衝&#3=
0772;狂風巨浪
You raise me up so I can sta=
on mountains
You raise me up to walk on stormy seas
你是&#25=
105;永遠依靠的膀臂 你養育我超&#3=
6942;我全所有
I am strong when I am on your shoulders
You raise me up to more than I can be
你養&#32=
946;我使我能越過山嶺=
你養育我衝&#3=
0772;狂風巨浪
You raise me up so I can sta=
on mountains
You raise me up to walk on stormy seas
你是&#25=
105;永遠依靠的膀臂 你養育我超&#3=
6942;我全所有
I am strong when I am on your shoulders
You raise me up to more than I can be
你養育&#251=
05;超過我全所有
You raise me up to more than I can be=
------=_NextPart_01C9A95B.277D2200
Content-Location: file:///C:/C465C992/T_choir.files/master03_stylesheet.css
Content-Transfer-Encoding: base64
Content-Type: text/css
Ym9keQ0KCXt3aWR0aDo1MzRweDsNCgloZWlnaHQ6NDAwcHg7fQ0KLlRCDQoJe21zby1zcGVjaWFs
LWZvcm1hdDpub2J1bGxldFwyMDIyO30NCi5UDQoJe3RleHQtYWxpZ246Y2VudGVyOw0KCWZvbnQt
ZmFtaWx5OlBNaW5nTGlVOw0KCW1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OlBNaW5nTGlVOw0KCW1z
by1oYW5zaS1mb250LWZhbWlseTpBcmlhbDsNCglsYXlvdXQtZmxvdzp2ZXJ0aWNhbDsNCgljb2xv
cjpibGFjazsNCgltc28tY29sb3ItaW5kZXg6MzsNCglmb250LXNpemU6MjA5JTsNCgltc28tY2hh
ci13cmFwOjE7DQoJbXNvLWtpbnNva3Utb3ZlcmZsb3c6MTt9DQouQkINCgl7bXNvLXNwZWNpYWwt
Zm9ybWF0OmJ1bGxldFwyMDIyO30NCi5CDQoJe3RleHQtYWxpZ246bGVmdDsNCglmb250LWZhbWls
eTpQTWluZ0xpVTsNCgltc28tZmFyZWFzdC1mb250LWZhbWlseTpQTWluZ0xpVTsNCgltc28taGFu
c2ktZm9udC1mYW1pbHk6QXJpYWw7DQoJbGF5b3V0LWZsb3c6dmVydGljYWw7DQoJY29sb3I6Ymxh
Y2s7DQoJbXNvLWNvbG9yLWluZGV4OjE7DQoJZm9udC1zaXplOjE1MiU7DQoJbXNvLWNoYXItd3Jh
cDoxOw0KCW1zby1raW5zb2t1LW92ZXJmbG93OjE7fQ0KLkIxQg0KCXttc28tc3BlY2lhbC1mb3Jt
YXQ6YnVsbGV0XDIwMTM7fQ0KLkIxDQoJe3RleHQtYWxpZ246bGVmdDsNCglmb250LWZhbWlseTpQ
TWluZ0xpVTsNCgltc28tZmFyZWFzdC1mb250LWZhbWlseTpQTWluZ0xpVTsNCgltc28taGFuc2kt
Zm9udC1mYW1pbHk6QXJpYWw7DQoJbGF5b3V0LWZsb3c6dmVydGljYWw7DQoJY29sb3I6YmxhY2s7
DQoJbXNvLWNvbG9yLWluZGV4OjE7DQoJZm9udC1zaXplOjEzMyU7DQoJbXNvLWNoYXItd3JhcDox
Ow0KCW1zby1raW5zb2t1LW92ZXJmbG93OjE7fQ0KLkIyQg0KCXttc28tc3BlY2lhbC1mb3JtYXQ6
YnVsbGV0XDIwMjI7fQ0KLkIyDQoJe3RleHQtYWxpZ246bGVmdDsNCglmb250LWZhbWlseTpQTWlu
Z0xpVTsNCgltc28tZmFyZWFzdC1mb250LWZhbWlseTpQTWluZ0xpVTsNCgltc28taGFuc2ktZm9u
dC1mYW1pbHk6QXJpYWw7DQoJbGF5b3V0LWZsb3c6dmVydGljYWw7DQoJY29sb3I6YmxhY2s7DQoJ
bXNvLWNvbG9yLWluZGV4OjE7DQoJZm9udC1zaXplOjExNCU7DQoJbXNvLWNoYXItd3JhcDoxOw0K
CW1zby1raW5zb2t1LW92ZXJmbG93OjE7fQ0KLkIzQg0KCXttc28tc3BlY2lhbC1mb3JtYXQ6YnVs
bGV0XDIwMTM7fQ0KLkIzDQoJe3RleHQtYWxpZ246bGVmdDsNCglmb250LWZhbWlseTpQTWluZ0xp
VTsNCgltc28tZmFyZWFzdC1mb250LWZhbWlseTpQTWluZ0xpVTsNCgltc28taGFuc2ktZm9udC1m
YW1pbHk6QXJpYWw7DQoJbGF5b3V0LWZsb3c6dmVydGljYWw7DQoJY29sb3I6YmxhY2s7DQoJbXNv
LWNvbG9yLWluZGV4OjE7DQoJZm9udC1zaXplOjk1JTsNCgltc28tY2hhci13cmFwOjE7DQoJbXNv
LWtpbnNva3Utb3ZlcmZsb3c6MTt9DQouQjRCDQoJe21zby1zcGVjaWFsLWZvcm1hdDpidWxsZXRc
MDBCQjt9DQouQjQNCgl7dGV4dC1hbGlnbjpsZWZ0Ow0KCWZvbnQtZmFtaWx5OlBNaW5nTGlVOw0K
CW1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OlBNaW5nTGlVOw0KCW1zby1oYW5zaS1mb250LWZhbWls
eTpBcmlhbDsNCglsYXlvdXQtZmxvdzp2ZXJ0aWNhbDsNCgljb2xvcjpibGFjazsNCgltc28tY29s
b3ItaW5kZXg6MTsNCglmb250LXNpemU6OTUlOw0KCW1zby1jaGFyLXdyYXA6MTsNCgltc28ta2lu
c29rdS1vdmVyZmxvdzoxO30NCi5ODQoJe2ZvbnQtZmFtaWx5OlBNaW5nTGlVOw0KCW1zby1mYXJl
YXN0LWZvbnQtZmFtaWx5OlBNaW5nTGlVOw0KCW1zby1oYW5zaS1mb250LWZhbWlseTpBcmlhbDsN
CglsYXlvdXQtZmxvdzp2ZXJ0aWNhbDsNCgltc28tY2hhci13cmFwOjE7DQoJbXNvLWtpbnNva3Ut
b3ZlcmZsb3c6MTt9DQouTjENCgl7Zm9udC1mYW1pbHk6UE1pbmdMaVU7DQoJbXNvLWZhcmVhc3Qt
Zm9udC1mYW1pbHk6UE1pbmdMaVU7DQoJbXNvLWhhbnNpLWZvbnQtZmFtaWx5OkFyaWFsOw0KCWxh
eW91dC1mbG93OnZlcnRpY2FsOw0KCW1zby1jaGFyLXdyYXA6MTsNCgltc28ta2luc29rdS1vdmVy
ZmxvdzoxO30NCi5OMg0KCXtmb250LWZhbWlseTpQTWluZ0xpVTsNCgltc28tZmFyZWFzdC1mb250
LWZhbWlseTpQTWluZ0xpVTsNCgltc28taGFuc2ktZm9udC1mYW1pbHk6QXJpYWw7DQoJbGF5b3V0
LWZsb3c6dmVydGljYWw7DQoJbXNvLWNoYXItd3JhcDoxOw0KCW1zby1raW5zb2t1LW92ZXJmbG93
OjE7fQ0KLk4zDQoJe2ZvbnQtZmFtaWx5OlBNaW5nTGlVOw0KCW1zby1mYXJlYXN0LWZvbnQtZmFt
aWx5OlBNaW5nTGlVOw0KCW1zby1oYW5zaS1mb250LWZhbWlseTpBcmlhbDsNCglsYXlvdXQtZmxv
dzp2ZXJ0aWNhbDsNCgltc28tY2hhci13cmFwOjE7DQoJbXNvLWtpbnNva3Utb3ZlcmZsb3c6MTt9
DQouTjQNCgl7Zm9udC1mYW1pbHk6UE1pbmdMaVU7DQoJbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6
UE1pbmdMaVU7DQoJbXNvLWhhbnNpLWZvbnQtZmFtaWx5OkFyaWFsOw0KCWxheW91dC1mbG93OnZl
cnRpY2FsOw0KCW1zby1jaGFyLXdyYXA6MTsNCgltc28ta2luc29rdS1vdmVyZmxvdzoxO30NCi5P
Qg0KCXttc28tc3BlY2lhbC1mb3JtYXQ6bm9idWxsZXRcMjAyMjt9DQouTw0KCXt0ZXh0LWFsaWdu
OmxlZnQ7DQoJZm9udC1mYW1pbHk6UE1pbmdMaVU7DQoJbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6
UE1pbmdMaVU7DQoJbXNvLWhhbnNpLWZvbnQtZmFtaWx5OkFyaWFsOw0KCWxheW91dC1mbG93OnZl
cnRpY2FsOw0KCWNvbG9yOmJsYWNrOw0KCW1zby1jb2xvci1pbmRleDoxOw0KCWZvbnQtc2l6ZTo4
NSU7DQoJbXNvLWNoYXItd3JhcDoxOw0KCW1zby1raW5zb2t1LW92ZXJmbG93OjE7fQ0KLk8xDQoJ
e2ZvbnQtZmFtaWx5OlBNaW5nTGlVOw0KCW1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OlBNaW5nTGlV
Ow0KCW1zby1oYW5zaS1mb250LWZhbWlseTpBcmlhbDsNCglsYXlvdXQtZmxvdzp2ZXJ0aWNhbDsN
Cgltc28tY2hhci13cmFwOjE7DQoJbXNvLWtpbnNva3Utb3ZlcmZsb3c6MTt9DQouTzINCgl7Zm9u
dC1mYW1pbHk6UE1pbmdMaVU7DQoJbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6UE1pbmdMaVU7DQoJ
bXNvLWhhbnNpLWZvbnQtZmFtaWx5OkFyaWFsOw0KCWxheW91dC1mbG93OnZlcnRpY2FsOw0KCW1z
by1jaGFyLXdyYXA6MTsNCgltc28ta2luc29rdS1vdmVyZmxvdzoxO30NCi5PMw0KCXtmb250LWZh
bWlseTpQTWluZ0xpVTsNCgltc28tZmFyZWFzdC1mb250LWZhbWlseTpQTWluZ0xpVTsNCgltc28t
aGFuc2ktZm9udC1mYW1pbHk6QXJpYWw7DQoJbGF5b3V0LWZsb3c6dmVydGljYWw7DQoJbXNvLWNo
YXItd3JhcDoxOw0KCW1zby1raW5zb2t1LW92ZXJmbG93OjE7fQ0KLk80DQoJe2ZvbnQtZmFtaWx5
OlBNaW5nTGlVOw0KCW1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OlBNaW5nTGlVOw0KCW1zby1oYW5z
aS1mb250LWZhbWlseTpBcmlhbDsNCglsYXlvdXQtZmxvdzp2ZXJ0aWNhbDsNCgltc28tY2hhci13
cmFwOjE7DQoJbXNvLWtpbnNva3Utb3ZlcmZsb3c6MTt9DQouQ0INCgl7Zm9udC1mYW1pbHk6UE1p
bmdMaVU7DQoJbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6UE1pbmdMaVU7DQoJbXNvLWhhbnNpLWZv
bnQtZmFtaWx5OkFyaWFsOw0KCWxheW91dC1mbG93OnZlcnRpY2FsOw0KCW1zby1jaGFyLXdyYXA6
MTsNCgltc28ta2luc29rdS1vdmVyZmxvdzoxO30NCi5DQjENCgl7Zm9udC1mYW1pbHk6UE1pbmdM
aVU7DQoJbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6UE1pbmdMaVU7DQoJbXNvLWhhbnNpLWZvbnQt
ZmFtaWx5OkFyaWFsOw0KCWxheW91dC1mbG93OnZlcnRpY2FsOw0KCW1zby1jaGFyLXdyYXA6MTsN
Cgltc28ta2luc29rdS1vdmVyZmxvdzoxO30NCi5DQjINCgl7Zm9udC1mYW1pbHk6UE1pbmdMaVU7
DQoJbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6UE1pbmdMaVU7DQoJbXNvLWhhbnNpLWZvbnQtZmFt
aWx5OkFyaWFsOw0KCWxheW91dC1mbG93OnZlcnRpY2FsOw0KCW1zby1jaGFyLXdyYXA6MTsNCglt
c28ta2luc29rdS1vdmVyZmxvdzoxO30NCi5DQjMNCgl7Zm9udC1mYW1pbHk6UE1pbmdMaVU7DQoJ
bXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6UE1pbmdMaVU7DQoJbXNvLWhhbnNpLWZvbnQtZmFtaWx5
OkFyaWFsOw0KCWxheW91dC1mbG93OnZlcnRpY2FsOw0KCW1zby1jaGFyLXdyYXA6MTsNCgltc28t
a2luc29rdS1vdmVyZmxvdzoxO30NCi5DQjQNCgl7Zm9udC1mYW1pbHk6UE1pbmdMaVU7DQoJbXNv
LWZhcmVhc3QtZm9udC1mYW1pbHk6UE1pbmdMaVU7DQoJbXNvLWhhbnNpLWZvbnQtZmFtaWx5OkFy
aWFsOw0KCWxheW91dC1mbG93OnZlcnRpY2FsOw0KCW1zby1jaGFyLXdyYXA6MTsNCgltc28ta2lu
c29rdS1vdmVyZmxvdzoxO30NCi5DVA0KCXtmb250LWZhbWlseTpQTWluZ0xpVTsNCgltc28tZmFy
ZWFzdC1mb250LWZhbWlseTpQTWluZ0xpVTsNCgltc28taGFuc2ktZm9udC1mYW1pbHk6QXJpYWw7
DQoJbGF5b3V0LWZsb3c6dmVydGljYWw7DQoJbXNvLWNoYXItd3JhcDoxOw0KCW1zby1raW5zb2t1
LW92ZXJmbG93OjE7fQ0KLkhCDQoJe2ZvbnQtZmFtaWx5OlBNaW5nTGlVOw0KCW1zby1mYXJlYXN0
LWZvbnQtZmFtaWx5OlBNaW5nTGlVOw0KCW1zby1oYW5zaS1mb250LWZhbWlseTpBcmlhbDsNCgls
YXlvdXQtZmxvdzp2ZXJ0aWNhbDsNCgltc28tY2hhci13cmFwOjE7DQoJbXNvLWtpbnNva3Utb3Zl
cmZsb3c6MTt9DQouSEIxDQoJe2ZvbnQtZmFtaWx5OlBNaW5nTGlVOw0KCW1zby1mYXJlYXN0LWZv
bnQtZmFtaWx5OlBNaW5nTGlVOw0KCW1zby1oYW5zaS1mb250LWZhbWlseTpBcmlhbDsNCglsYXlv
dXQtZmxvdzp2ZXJ0aWNhbDsNCgltc28tY2hhci13cmFwOjE7DQoJbXNvLWtpbnNva3Utb3ZlcmZs
b3c6MTt9DQouSEIyDQoJe2ZvbnQtZmFtaWx5OlBNaW5nTGlVOw0KCW1zby1mYXJlYXN0LWZvbnQt
ZmFtaWx5OlBNaW5nTGlVOw0KCW1zby1oYW5zaS1mb250LWZhbWlseTpBcmlhbDsNCglsYXlvdXQt
Zmxvdzp2ZXJ0aWNhbDsNCgltc28tY2hhci13cmFwOjE7DQoJbXNvLWtpbnNva3Utb3ZlcmZsb3c6
MTt9DQouSEIzDQoJe2ZvbnQtZmFtaWx5OlBNaW5nTGlVOw0KCW1zby1mYXJlYXN0LWZvbnQtZmFt
aWx5OlBNaW5nTGlVOw0KCW1zby1oYW5zaS1mb250LWZhbWlseTpBcmlhbDsNCglsYXlvdXQtZmxv
dzp2ZXJ0aWNhbDsNCgltc28tY2hhci13cmFwOjE7DQoJbXNvLWtpbnNva3Utb3ZlcmZsb3c6MTt9
DQouSEI0DQoJe2ZvbnQtZmFtaWx5OlBNaW5nTGlVOw0KCW1zby1mYXJlYXN0LWZvbnQtZmFtaWx5
OlBNaW5nTGlVOw0KCW1zby1oYW5zaS1mb250LWZhbWlseTpBcmlhbDsNCglsYXlvdXQtZmxvdzp2
ZXJ0aWNhbDsNCgltc28tY2hhci13cmFwOjE7DQoJbXNvLWtpbnNva3Utb3ZlcmZsb3c6MTt9DQou
UUINCgl7Zm9udC1mYW1pbHk6UE1pbmdMaVU7DQoJbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6UE1p
bmdMaVU7DQoJbXNvLWhhbnNpLWZvbnQtZmFtaWx5OkFyaWFsOw0KCWxheW91dC1mbG93OnZlcnRp
Y2FsOw0KCW1zby1jaGFyLXdyYXA6MTsNCgltc28ta2luc29rdS1vdmVyZmxvdzoxO30NCi5RQjEN
Cgl7Zm9udC1mYW1pbHk6UE1pbmdMaVU7DQoJbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6UE1pbmdM
aVU7DQoJbXNvLWhhbnNpLWZvbnQtZmFtaWx5OkFyaWFsOw0KCWxheW91dC1mbG93OnZlcnRpY2Fs
Ow0KCW1zby1jaGFyLXdyYXA6MTsNCgltc28ta2luc29rdS1vdmVyZmxvdzoxO30NCi5RQjINCgl7
Zm9udC1mYW1pbHk6UE1pbmdMaVU7DQoJbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6UE1pbmdMaVU7
DQoJbXNvLWhhbnNpLWZvbnQtZmFtaWx5OkFyaWFsOw0KCWxheW91dC1mbG93OnZlcnRpY2FsOw0K
CW1zby1jaGFyLXdyYXA6MTsNCgltc28ta2luc29rdS1vdmVyZmxvdzoxO30NCi5RQjMNCgl7Zm9u
dC1mYW1pbHk6UE1pbmdMaVU7DQoJbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6UE1pbmdMaVU7DQoJ
bXNvLWhhbnNpLWZvbnQtZmFtaWx5OkFyaWFsOw0KCWxheW91dC1mbG93OnZlcnRpY2FsOw0KCW1z
by1jaGFyLXdyYXA6MTsNCgltc28ta2luc29rdS1vdmVyZmxvdzoxO30NCi5RQjQNCgl7Zm9udC1m
YW1pbHk6UE1pbmdMaVU7DQoJbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6UE1pbmdMaVU7DQoJbXNv
LWhhbnNpLWZvbnQtZmFtaWx5OkFyaWFsOw0KCWxheW91dC1mbG93OnZlcnRpY2FsOw0KCW1zby1j
aGFyLXdyYXA6MTsNCgltc28ta2luc29rdS1vdmVyZmxvdzoxO30NCi5UYmwNCgl7Zm9udC1mYW1p
bHk6UE1pbmdMaVU7DQoJbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6UE1pbmdMaVU7DQoJbXNvLWhh
bnNpLWZvbnQtZmFtaWx5OkFyaWFsOw0KCWxheW91dC1mbG93OnZlcnRpY2FsOw0KCW1zby1jaGFy
LXdyYXA6MTsNCgltc28ta2luc29rdS1vdmVyZmxvdzoxO30NCi5UYmwxDQoJe2ZvbnQtZmFtaWx5
OlBNaW5nTGlVOw0KCW1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OlBNaW5nTGlVOw0KCW1zby1oYW5z
aS1mb250LWZhbWlseTpBcmlhbDsNCglsYXlvdXQtZmxvdzp2ZXJ0aWNhbDsNCgltc28tY2hhci13
cmFwOjE7DQoJbXNvLWtpbnNva3Utb3ZlcmZsb3c6MTt9DQouVGJsMg0KCXtmb250LWZhbWlseTpQ
TWluZ0xpVTsNCgltc28tZmFyZWFzdC1mb250LWZhbWlseTpQTWluZ0xpVTsNCgltc28taGFuc2kt
Zm9udC1mYW1pbHk6QXJpYWw7DQoJbGF5b3V0LWZsb3c6dmVydGljYWw7DQoJbXNvLWNoYXItd3Jh
cDoxOw0KCW1zby1raW5zb2t1LW92ZXJmbG93OjE7fQ0KLlRibDMNCgl7Zm9udC1mYW1pbHk6UE1p
bmdMaVU7DQoJbXNvLWZhcmVhc3QtZm9udC1mYW1pbHk6UE1pbmdMaVU7DQoJbXNvLWhhbnNpLWZv
bnQtZmFtaWx5OkFyaWFsOw0KCWxheW91dC1mbG93OnZlcnRpY2FsOw0KCW1zby1jaGFyLXdyYXA6
MTsNCgltc28ta2luc29rdS1vdmVyZmxvdzoxO30NCi5UYmw0DQoJe2ZvbnQtZmFtaWx5OlBNaW5n
TGlVOw0KCW1zby1mYXJlYXN0LWZvbnQtZmFtaWx5OlBNaW5nTGlVOw0KCW1zby1oYW5zaS1mb250
LWZhbWlseTpBcmlhbDsNCglsYXlvdXQtZmxvdzp2ZXJ0aWNhbDsNCgltc28tY2hhci13cmFwOjE7
DQoJbXNvLWtpbnNva3Utb3ZlcmZsb3c6MTt9DQouZGVmYXVsdEINCgl7bXNvLXNwZWNpYWwtZm9y
bWF0Om5vYnVsbGV0XDIwMjI7fQ0KLmRlZmF1bHQNCgl7dGV4dC1hbGlnbjpsZWZ0Ow0KCWZvbnQt
ZmFtaWx5OlBNaW5nTGlVOw0KCW1zby1hc2NpaS1mb250LWZhbWlseTpBcmlhbDsNCgltc28tZmFy
ZWFzdC1mb250LWZhbWlseTpQTWluZ0xpVTsNCgltc28taGFuc2ktZm9udC1mYW1pbHk6QXJpYWw7
DQoJZm9udC13ZWlnaHQ6bm9ybWFsOw0KCWZvbnQtc3R5bGU6bm9ybWFsOw0KCXRleHQtZGVjb3Jh
dGlvbjpub25lOw0KCXRleHQtc2hhZG93Om5vbmU7DQoJdGV4dC1lZmZlY3Q6bm9uZTsNCgltc28t
ZmFyZWFzdC1oaW50Om5vOw0KCWxheW91dC1mbG93OnZlcnRpY2FsOw0KCWNvbG9yOmJsYWNrOw0K
CW1zby1jb2xvci1pbmRleDoxOw0KCWZvbnQtc2l6ZTo4NSU7DQoJbXNvLXRleHQtcmFpc2U6MCU7
DQoJbXNvLWxpbmUtc3BhY2luZzoiMTAwIDAgMCI7DQoJbXNvLW1hcmdpbi1sZWZ0LWFsdDowOw0K
CW1zby10ZXh0LWluZGVudC1hbHQ6MDsNCgltc28tY2hhci13cmFwOjE7DQoJbXNvLWtpbnNva3Ut
b3ZlcmZsb3c6MTsNCglkaXJlY3Rpb246bHRyOw0KCW1zby13b3JkLXdyYXA6MTsNCgltc28tdmVy
dGljYWwtYWxpZ24tc3BlY2lhbDpiYXNlbGluZTsNCgltc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1U
VzsNCgltc28tYW5zaS1sYW5ndWFnZTpFTi1VUzt9DQphOmxpbmsNCgl7Y29sb3I6IzAwOTk5OSAh
aW1wb3J0YW50O30NCmE6YWN0aXZlDQoJe2NvbG9yOiMzMzMzOTkgIWltcG9ydGFudDt9DQphOnZp
c2l0ZWQNCgl7Y29sb3I6Izk5Q0MwMCAhaW1wb3J0YW50O30NCn==
------=_NextPart_01C9A95B.277D2200
Content-Location: file:///C:/C465C992/T_choir.files/script.js
Content-Transfer-Encoding: quoted-printable
Content-Type: application/ charset="us-ascii"
function LoadSld()
var sld=3DGetObj("SlideObj")
if( !g_supportsPPTHTML ) { =09
sld.style.visibility=3D"visible"
if( MakeNotesVis() ) return
runAnimations =3D _InitAnimations();
if( IsWin("PPTSld") )
parent.SldUpdated(GetSldId())
g_origSz=3DparseInt(SlideObj.style.fontSize)
g_origH=3Dsld.style.posHeight
g_origW=3Dsld.style.posWidth
g_scaleHyperlinks=3D(document.all.tags("AREA").length>0)
if( g_scaleHyperlinks )
InitHLinkArray()
if( g_scaleInFrame||(IsWin("PPTSld") && parent.IsFullScrMode() ) )
document.body.scroll=3D"no"
if( IsWin("PPTSld") && parent.IsFullScrMode() )
FullScrInit();
MakeSldVis();
ChkAutoAdv()
if( runAnimations )
if( document.all("NSPlay") )
document.all("NSPlay").autoStart =3D
if( sld.filters && sld.filters.revealtrans )
setTimeout( "document.body.start()", sld.filters.revealtrans.duration * =
document.body.start();
function MakeSldVis()=20
var fTrans=3Dg_showAnimation && SldHasTrans()
if( fTrans )=09
if( g_bgSound ) {
idx=3Dg_bgSound.indexOf(",");
pptSound.src=3Dg_bgSound.substr( 0, idx );
pptSound.loop=3D -(parseInt(g_bgSound.substr(idx+1)));
SlideObj.filters.revealtrans.Apply()=09
SlideObj.style.visibility=3D"visible"
if( fTrans )
SlideObj.filters.revealtrans.Play()
function MakeNotesVis()=20
if( !IsNts() ) return false=20
SlideObj.style.display=3D"none"
nObj =3D document.all.item("NotesObj")
parent.SetHasNts(0)
if( nObj ) {=20
nObj.style.display=3D""
parent.SetHasNts(1)
function ChkAutoAdv()
if(SldHasTrans())
SlideObj.onfilterchange=3DAutoAdv
function AutoAdv()
if(!IsWin("PPTSld") || !gUseSldTimings )return
var sld=3DGetCurSld()
if( (sld.mAdvDelay>0) && !parent.IsFramesMode() )
setTimeout("parent.GoToNextSld()",sld.mAdvDelay)
function GetObj(id)
if(g_supportsPPTHTML) return document.all(id);
else return document.getElementById(id);
function SldHasTrans() { return SlideObj.style.filter !=3D ""; }
function GetSldId() { return sId=3Dlocation.href.substring(location.href.la=
stIndexOf('/')+1) }
function HideMenu() { if( frames["PPTSld"] && PPTSld.document.all.item("ctx=
tmenu") && PPTSld.ctxtmenu.style.display!=3D"none" ) { PPTSld.ctxtmenu.styl=
e.display=3D'none'; return true } return false }
function IsWin( name ) { return window.name =3D=3D name }
function IsNts() { return IsWin("PPTNts") }
function IsSldOrNts() { return( IsWin("PPTSld")||IsWin("PPTNts") ) }
function SupportsPPTAnimation() { return( navigator.platform =3D=3D "Win32"=
&& navigator.appVersion.indexOf("Windows")>0 ) }
function SupportsPPTHTML()
var appVer=3Dnavigator.appVersion, msie=3DappVer.indexOf("MSIE "), ver=3D0
if( msie >=3D 0 )
ver=3DparseFloat( appVer.substring( msie+5, appVer.indexOf(";",msie) ) )
ver=3DparseInt(appVer)
return( ver >=3D 4 && msie >=3D 0 )
function _RSW()
if( !g_supportsPPTHTML || IsNts() ||
( !g_scaleInFrame && (!IsWin("PPTSld") || !parent.IsFullScrMode()) ) )
var padding=3D0;
if( IsWin("PPTSld") && parent.IsFramesMode() ) padding=3D6
cltWidth=3Ddocument.body.clientWidth-padding
cltHeight=3Ddocument.body.clientHeight-padding
factor=3D(1.0*cltWidth)/g_origW
if( cltHeight < g_origH*factor )
factor=3D(1.0*cltHeight)/g_origH
newSize =3D g_origSz * factor
if( newSize < 1 ) newSize=3D1
s=3DSlideObj.style
s.fontSize=3DnewSize+"px"
s.posWidth=3Dg_origW*factor
s.posHeight=3Dg_origH*factor
s.posLeft=3D(cltWidth-s.posWidth+padding)/2
s.posTop=3D(cltHeight-s.posHeight+padding)/2
if( g_scaleHyperlinks )
ScaleHyperlinks( factor )
function _InitAnimations()
animRuntimeInstalled =3D ''+document.body.localTime !=3D 'undefined';
isFullScreen =3D (window.name =3D=3D "PPTSld") && !parent.IsFramesMode();
g_animUseRuntime =3D g_showAnimation && animRuntimeInstalled && !(isFullSc=
reen && parent.IsSldVisited());
if( g_animUseRuntime ) {
collSeq =3D document.all.tags("seq");
if( collSeq !=3D null ) {
for(ii=3D0;ii<collSeq.ii++) {
if( collSeq[ii].getAttribute( "p:nodeType" ) =3D=3D "mainSeq" ) {
g_animMainSequence =3D collSeq[ii];
if( g_animItemsToHide && document.body.playAnimations !=3D false ) {
for(jj =3D 0; jj < g_animItemsToHide. jj++) {
if( hideObj =3D GetObj(g_animItemsToHide[jj]) )
hideObj.runtimeStyle.visibility=3D"hidden";
if( g_animInteractiveItems ){
for(jj =3D 0; jj < g_animInteractiveItems. jj++) {
if( triggerObj =3D GetObj(g_animInteractiveItems[jj]) )
triggerObj.runtimeStyle.cursor=3D"hand";
if( gUseSldTimings && ''+g_animSlideTime !=3D 'undefined' ) {
adjustedTime =3D document.body.calculateAutoAdvanceTimes( g_animSlideTim=
e, g_animEffectTimings );
if( IsWin("PPTSld") && adjustedTime !=3D g_animSlideTime ) {
var sld =3D GetCurSld();
sld.mAdvDelay =3D adjustedTime * 1000;
return g_animUseR
gSldJump =3D 0, gSldJumpTrack =3D 0, gSldJumpIdx =3D "";
function _KPH()
if( IsNts() )
if( !parent.IsFramesMode() && event.keyCode =3D=3D 27 && !HideMenu() )
parent.window.close( self );
else if( event.keyCode =3D=3D 32 ) {
if( window.name =3D=3D "PPTSld" )
parent.PPTSld.DocumentOnClick();
parent.GoToNextSld();
CatchNumKeys( parent, event );
function CatchNumKeys( win, event ) {
if( win.IsFullScrMode() && (48<=3Devent.keyCode) && (event.keyCode numSlds )
gSldJumpIdx =3D numS
if ( gSldJumpIdx >=3D 0 ) {
if ( gSldJumpIdx =3D=3D 0 )
gSldJumpIdx =3D 1;
var jumpTo =3D parseInt(gSldJumpIdx);
gSldJump =3D 0; gSldJumpIdx =3D "";
win.GoToSld( parent.GetSldList().mList[jumpTo-1].mSldHref )
function _KDH()
if( event.keyCode =3D=3D 8 ) {
event.returnValue =3D 0;
parent.GoToPrevSld();
function DocumentOnClick()
if( IsNts() || parent.HideMenu() )
if( ( g_allowAdvOnClick && !parent.IsFramesMode() ) ||
(event && (event.keyCode=3D=3D32) ) )
parent.GoToNextSld();
var g_supportsPPTHTML =3D SupportsPPTHTML(), g_scaleInFrame =3D 1, gId=3D""=
, g_bgSound=3D"",
g_scaleHyperlinks =3D false, g_allowAdvOnClick =3D 1, g_showInBrowser =
=3D 0, gLoopCont =3D 0, gUseSldTimings =3D 1;
var g_showAnimation =3D g_supportsPPTHTML && SupportsPPTAnimation() && ( (w=
indow.name=3D=3D"PPTSld" && !parent.IsFramesMode()) || g_showInBrowser );va=
r g_animManager =3D
var g_animUseRuntime =3D
var g_animItemsToHide, g_animInteractiveItems, g_animSlideT
var g_animMainSequence =3D
var ENDSHOW_MESG=3D"&#25918;&#26144;&#32080;&#26463;&#65292;&#25353;&#19968=
;&#19979;&#21363;&#21487;&#38626;&#38283;&#12290;", SCREEN_MODE=3D"Frames",=
gIsEndShow=3D0, NUM_VIS_SLDS=3D8, SCRIPT_HREF=3D"script.js", FULLSCR_HREF=
=3D"fullscreen.htm";
var gCurSld =3D gPrevSld =3D 1, g_offset =3D 0, gNtsOpen =3D gHasNts =3D gO=
tlTxtExp =3D 0, gHasNarration =3D 0, gOtlOpen =3D true
window.gPPTHTML=3DSupportsPPTHTML()
var gMainDoc=3Dnew Array(new hrefList("slide0001.htm",1,-1,1),new hrefList(=
"slide0002.htm",1,-1,1),new hrefList("slide0003.htm",1,-1,1),new hrefList("=
slide0005.htm",1,-1,1),new hrefList("slide0006.htm",1,-1,1),new hrefList("s=
lide0004.htm",1,-1,1),new hrefList("slide0007.htm",1,-1,1),new hrefList("sl=
ide0008.htm",1,-1,1));
/*********************************************
Frameset functions
These functions control slide navigation
and state of the frameset.
**********************************************/
function FullScrInit()
g_allowAdvOnClick =3D GetCurSld().mAdvOnClk
document.body.style.backgroundColor=3D"black"
document.oncontextmenu=3Dparent._CM;
document.onkeydown =3D _KDH;
document.ondragstart=3DCancel
document.onselectstart=3DCancel
self.focus()
function Redirect( frmId )
var str=3Ddocument.location.hash,idx=3Dstr.indexOf('#'), sId=3DGetSldId()
if(idx>=3D0) str=3Dstr.substr(1);
if( window.name !=3D frmId && ( sId !=3D str) ) {
obj =3D GetObj("Main-File")
window.location.href=3Dobj.href+"#"+sId
var MHTMLPrefix =3D CalculateMHTMLPrefix();=20
function CalculateMHTMLPrefix()
if ( document.location.protocol =3D=3D 'mhtml:') {=20
href=3Dnew String(document.location.href)=20
Start=3Dhref.indexOf('!')+1=20
End=3Dhref.lastIndexOf('/')+1=20
if (End < Start)=20
return href.substring(0, Start)=20
return href.substring(0, End)=20
return '';
function GetTags(base,tag)
if(g_supportsPPTHTML) return base.all.tags(tag);
else return base.getElementsByTagName(tag);
function UpdNtsPane(){ if(frames["PPTNts"]) PPTNts.location.replace( MHTMLP=
refix+GetHrefObj( gCurSld ).mNtsHref ) }
function UpdNavPane( sldIndex ){ if(gNavLoaded) PPTNav.UpdNav() }
function UpdOtNavPane(){ if(gOtlNavLoaded) PPTOtlNav.UpdOtlNav() }
function UpdOtlPane(){ if(gOtlLoaded) PPTOtl.UpdOtl() }
function SetHasNts( fVal )
if( gHasNts !=3D fVal ) {
gHasNts=3DfVal
UpdNavPane()
function ToggleOtlText()
gOtlTxtExp=3D!gOtlTxtExp
UpdOtlPane()
function ClearMedia()
// Clear any sounds playing before launching another browser window. Other=
// in fullscreen mode, you'll continue to hear the sound in the frames mod=
if (PPTSld.pptSound) PPTSld.pptSound.loop =3D 0;
function FullScreen()
if ( PPTSld.g_animUseRuntime )
PPTSld.document.body.pause();
ClearMedia();
var href =3D ( document.location.protocol =3D=3D 'mhtml:') ? FULLSCR_HREF =
: FULLSCR_HREF+"#"+GetHrefObj(gCurSld).mSldH
if(PPTNav.event.ctrlKey) {
var w =3D (window.screen.availWidth * 1.0) / 2.0
var h =3D w * (PPTSld.g_origH * 1.0) / PPTSld.g_origW
win =3D window.open( MHTMLPrefix+href,null,"toolbar=3D0,resizable=3D1,top=
=3D0,left=3D0," + "width=3D"+ w + ",height=3D" + h );
if( win.document.body && PPTSld.g_animUseRuntime )
win.document.body.PPTSldFrameset=3D
win =3D window.open( MHTMLPrefix+href,null,"fullscreen=3Dyes" );
if( win.document.body && PPTSld.g_animUseRuntime )
win.document.body.PPTSldFrameset=3D
function ToggleVNarration()
rObj=3DPPTSld.document.all("NSPlay")
if( rObj && !PPTSld.g_animUseRuntime ) {
if( (rObj.playState =3D=3D 1)||(rObj.playState =3D=3D 0) )
rObj.Play()
else if( rObj.playState =3D=3D 2 )
rObj.Pause()
else if( PPTSld.g_animUseRuntime )
narObj =3D PPTSld.document.all("narrationID")
if( narObj )
narObj.togglePause()
function GetCurSldNum()
obj=3DGetHrefObj(gCurSld)
if( obj.mOrigVis =3D=3D 1 )
return obj.mSldIdx
return gCurSld
function GetNumSlds()
if( GetHrefObj(gCurSld).mOrigVis =3D=3D 1 )
return GetSldList().mNumVisS
return GetSldList().mList.length
function GetSldNum( href )
for(ii=3D0; ii<GetSldList().mList. ii++) {
if ( GetSldList().mList[ii].mSldHref =3D=3D href )
return ii+1
function GetHrefObj( sldIdx ){ return GetSldList().mList[sldIdx-1] }
function IsFramesMode(){ return ( SCREEN_MODE =3D=3D "Frames" ) }
function IsFullScrMode(){ return ( SCREEN_MODE =3D=3D "FullScreen" ) }
function GoToNextSld()
ii=3DgCurSld + 1
if( GetHrefObj( ii-1 ).mOrigVis =3D=3D 0 ) {
if( ii 1 )
PopSldList();
else if( !IsFramesMode() ) {
if( gLoopCont )
GoToFirst()
function GoToPrevSld()
ii=3DgCurSld-1
if( ii > 0 ) {
obj=3DGetHrefObj(ii)
while ( obj && ( obj.mVis =3D=3D 0 ) && ( ii>0 ) )
obj=3DGetHrefObj(--ii)
if( ii =3D=3D 0 ) ii=3D1
GoToSldNum(ii)
function GoToFirst(){ GoToSld( GetHrefObj(1).mSldHref ) }
function GoToLast()
ii=3DGetSldList().mList.length
if( ii !=3D gCurSld )
GoToSld( GetHrefObj(ii).mSldHref )
function GoToSldNum( num )
if( PPTSld.event ) PPTSld.event.cancelBubble=3Dtrue
obj =3D GetHrefObj( num )
obj.mVis=3D1
gPrevSld=3DgCurSld
gCurSld =3D
PPTSld.location.replace(MHTMLPrefix+obj.mSldHref)
if( IsFramesMode() ) {
UpdNavPane(); UpdOtlPane(); UpdNtsPane()
function GoToSld( href )
if( PPTSld.event ) PPTSld.event.cancelBubble=3Dtrue
GetHrefObj( GetSldNum(href) ).mVis=3D1
PPTSld.location.replace(MHTMLPrefix+href)
function SldUpdated( id )
if( id =3D=3D GetHrefObj(gCurSld).mSldHref ) return
gPrevSld=3DgCurSld
gCurSld=3DGetSldNum(id)
if( IsFramesMode() ) {
UpdNavPane(); UpdOtlPane(); UpdNtsPane()
function PrevSldViewed(){ GoToSld( GetHrefObj(gPrevSld).mSldHref ) }
function HasPrevSld() { return ( gIsEndShow || ( gCurSld !=3D 1 && GetHrefO=
bj( gCurSld-1 ).mVis =3D=3D 1 )||( GetCurSldNum() > 1 ) ) }
function HasNextSld() { return (GetCurSldNum() !=3D GetNumSlds()) }
function CloseWindow() {
if( HideMenu() )
var event =3D PPTSld.
if( !IsFramesMode() && event && (event.keyCode=3D=3D27 || event.keyCode=3D=
=3D32 || event.type=3D=3D"click" ) )
window.close( self );
CatchNumKeys( self, event );
function Unload() { gIsEndShow=3D0; }
function SetupEndShow() {
gIsEndShow=3D1;
PPTSld.document.body.scroll=3D"no";
PPTSld.document.onkeypress=3DCloseW
PPTSld.document.onclick=3DCloseW
PPTSld.document.oncontextmenu=3D_CM;
function EndShow()
if( IsFramesMode() ) return
if( PPTSld.event ) PPTSld.event.cancelBubble=3Dtrue
doc=3DPPTSld.document
var dir =3D doc.body.dir
if( dir !=3D "rtl" ) dir =3D "ltr";
doc.open()
doc.writeln('' + ENDSHOW_MESG + '')
doc.close()
function SetSldVisited(){ GetSldList().mList[gCurSld-1].mVisited=3Dtrue }
function IsSldVisited(){ return GetSldList().mList[gCurSld-1].mVisited }
function hrefList( sldHref, visible, advDelay, advClk )
this.mSldHref=3D this.mNtsHref =3D sldHref
this.mOrigVis=3D this.mVis =3D visible
this.mVisited=3D false
this.mAdvDelay=3D advDelay
this.mAdvOnClk=3D advClk
function SldList(arr,curSld,fEnd)
this.mCurSld =3D curS
this.mList =3D new Array();
var idx =3D 1;
for(ii=3D0;ii<arr.ii++) {
this.mList[ii] =3D new hrefList( arr[ii].mSldHref, arr[ii].mOrigVis, arr[=
ii].mAdvDelay, arr[ii].mAdvOnClk );
if( arr[ii].mOrigVis )
this.mList[ii].mSldIdx =3D idx++;
this.mNumVisSlds =3D idx-1;
this.fEndShow =3D fE
function GetSldList() { return gSldStack[gSldStack.length-1] }
function GetCurSld() { return parent.GetSldList().mList[parent.gCurSld - 1]=
gSldStack =3D new Array();
gSldStack[0] =3D new SldList(gMainDoc,gCurSld,1)
function ToggleOtlPane()
frmset=3Ddocument.all("PPTHorizAdjust")
frm=3Ddocument.all("PPTOtl")
if( gOtlOpen )
frmset.cols=3D"*,100%"
frmset.cols=3D"25%,*"
gOtlOpen=3D!gOtlOpen
frm.noResize=3D!frm.noResize
UpdOtNavPane()
function ToggleNtsPane()
frmset=3Ddocument.all("PPTVertAdjust")
frm=3Ddocument.all("PPTNts")
if( gNtsOpen )
frmset.rows=3D"100%,*"
frmset.rows=3D"*,20%"
gNtsOpen=3D!gNtsOpen
UpdNtsPane()
/*********************************************
Custom Shows implementation
When ViewCustomShow() is called, we create
a new array that is a subset of the slides in=20
the main doc. This list pushed on a stack so
we can return after the end of the custom
*********************************************/
function ViewCustomShow(idx,fEnd)
if( !IsFullScrMode() )
var sldList =3D new Array();
var custShow =3D custShowList[idx-1];
var jj =3D 0;
for( ii=3D0;ii<custShow.ii++ ) {
if( custShow[ii]
PushSldList(sldList,fEnd);
gCurSld =3D 1;
if( PPTSld.event ) PPTSld.event.cancelBubble=3Dtrue
function PushSldList(arr,fEnd) {
var ii =3D gSldStack.
gSldStack[ii] =3D new SldList(arr,gCurSld,fEnd);
GoToSld( gSldStack[ii].mList[0].mSldHref );
function PopSldList() {
if (gSldStack[gSldStack.length-1].fEndShow)
gCurSld =3D gSldStack[gSldStack.length-1].mCurS
gSldStack[gSldStack.length-1] =3D
gSldStack.length--;
var sldList =3D gSldStack[gSldStack.length-1];
GoToSld( sldList.mList[gCurSld - 1].mSldHref );
var custShowList=3Dnew Array();
/*********************************************
Navigation button implementation
There are 2 types of buttons: ImgBtn, TxtBtn
implemented as function objects. They share
a similiar interface so the event handlers
can call SetActive, for example, on a button=20
object without needing to know exactly=20
what type of button it is.
**********************************************/
//----------------------------------
function ImgBtn( oId,bId,w,action )
//----------------------------------
var t=3Dthis
t.SetActive
=3D _IBSetA
t.SetInactive=3D _IBSetI
t.SetPressed =3D _IBSetP
t.SetDisabled=3D _IBSetD
=3D _IBSetE
t.ChangeIcon =3D null
t.UserAction =3D action
t.ChgState
t.mBorderId=3D bId
=3D t.mCurState =3D 0
function _IBSetA()
if( this.mIsOn ) {
obj=3Dthis.ChgState( gHiliteClr,gShadowClr,2 )
obj.style.posTop=3D0
function _IBSetI()
if( this.mIsOn ) {
obj=3Dthis.ChgState( gFaceClr,gFaceClr,1 )
obj.style.posTop=3D0=20
function _IBSetP()
if( this.mIsOn ) {
obj=3Dthis.ChgState( gShadowClr,gHiliteClr,2 )
obj.style.posLeft+=3D1; obj.style.posTop+=3D1
function _IBSetD()
obj=3Dthis.ChgState( gFaceClr,gFaceClr,0 )
obj.style.posTop=3D0=20
function _IBSetE( state )
var t=3Dthis
GetObj( t.mBorderId ).style.visibility=3D"visible"
if( state !=3D t.mIsOn ) {
t.mIsOn=3Dstate
if( state )
t.SetInactive()
t.SetDisabled()
function _IBP()
var t=3Dthis
if( t.mIsOn ) {
if( t.UserAction !=3D null )
t.UserAction()
if( t.ChangeIcon ) {
obj=3DGetObj(t.mObjId)
if( t.ChangeIcon() )
obj.style.posLeft=3Dobj.style.posLeft+(t.mCurState-4)*t.mWidth
obj.style.posLeft=3Dobj.style.posLeft+(t.mCurState-0)*t.mWidth
t.SetActive()
function _IBUI( clr1,clr2,nextState )
var t=3Dthis
SetBorder( GetObj( t.mBorderId ),clr1,clr2 )
obj=3DGetObj( t.mObjId )
obj.style.posLeft=3Dobj.style.posLeft+(t.mCurState-nextState)*t.mWidth-obj=
.style.posTop
t.mCurState=3DnextState
return obj
//-----------------------------------------
function TxtBtn( oId,oeId,action,chkState )
//-----------------------------------------
var t=3Dthis
t.SetActive
=3D _TBSetA
t.SetInactive=3D _TBSetI
t.SetPressed =3D _TBSetP
t.SetDisabled=3D _TBSetD
t.SetEnabled =3D _TBSetE
t.GetState
=3D chkState
t.UserAction =3D action
t.ChgState
t.m_elementsId=3D oeId
function _TBSetA()
var t=3Dthis
if( t.mIsOn && !t.GetState() )
t.ChgState( gHiliteClr,gShadowClr,0,0 )
function _TBSetI()
var t=3Dthis
if( t.mIsOn && !t.GetState() )
t.ChgState( gFaceClr,gFaceClr,0,0 )
function _TBSetP()
if( this.mIsOn )
this.ChgState( gShadowClr,gHiliteClr,1,1 )
function _TBSetD()
this.ChgState( gFaceClr,gFaceClr,0,0 )
this.mIsOn =3D 0
function _TBSetE()
var t=3Dthis
if( !t.GetState() )
t.ChgState( gFaceClr,gFaceClr,0,0 )
t.ChgState( gShadowClr,gHiliteClr,1,1 )
t.mIsOn =3D 1
function _TBP()
var t=3Dthis
if( t.mIsOn ) {=20
if( t.UserAction !=3D null )
t.UserAction()
if( !t.GetState )
if( t.GetState() )
t.SetPressed()
t.SetActive()
function _TBUI( clr1,clr2,lOffset,tOffset )
SetBorder( GetObj( this.mObjId ),clr1,clr2 )
Offset( GetObj( this.m_elementsId ),lOffset,tOffset )
function Offset( obj, top, left ){ obj.style.top=3D obj.style.left=3Dle=
function SetBorder( obj, upperLeft, lowerRight )
s.borderStyle
=3D "solid"
s.borderWidth
s.borderLeftColor
=3D s.borderTopColor =3D upperLeft
s.borderBottomColor=3D s.borderRightColor =3D lowerRight
function GetBtnObj(){ return gBtnArr[window.event.srcElement.id] }
function BtnOnOver(){ b=3DGetBtnObj(); if( b !=3D null ) b.SetActive() }
function BtnOnDown(){ b=3DGetBtnObj(); if( b !=3D null ) b.SetPressed() }
function BtnOnOut(){ b=3DGetBtnObj(); if( b !=3D null ) b.SetInactive() }
function BtnOnUp()
b=3DGetBtnObj()
if( b !=3D null )
b.Perform()
function GetNtsState(){ return parent.gNtsOpen }
function GetOtlState(){ return parent.gOtlOpen }
function GetOtlTxtState(){ return parent.gOtlTxtExp }
function NtsBtnSetFlag( fVal )
s=3Ddocument.all.item( this.m_flagId ).style
s.display=3D"none"
if( fVal )
s.display=3D""
s.display=3D"none"
function _BSetA_Border(){ b =3D gBtnArr[this.mObjId]; if( b !=3D null ) b.S=
etActive() }
function _BSetI_Border(){ b =3D gBtnArr[this.mObjId]; if( b !=3D null ) b.S=
etInactive() }
function _BSetP_Border(){ b =3D gBtnArr[this.mObjId]; if( b !=3D null ) b.S=
etPressed() }
function _BSetA_BorderImg()
b =3D gBtnArr[this.mBorderId]=20
if( b !=3D null && this.mIsOn && !b.GetState() ) {
obj=3Dthis.ChgState( gHiliteClr,gShadowClr,2 )
obj.style.posTop=3D0
function _BSetI_BorderImg()
b =3D gBtnArr[this.mBorderId]
if( b !=3D null && this.mIsOn && !b.GetState() ) {
obj=3Dthis.ChgState( gFaceClr,gFaceClr,1 )
obj.style.posTop=3D0
var gHiliteClr=3D"THREEDHIGHLIGHT",gShadowClr=3D"THREEDSHADOW",gFaceClr=3D"=
THREEDFACE"
var gBtnArr =3D new Array()
gBtnArr["nb_otl"] =3D new TxtBtn( "nb_otl","nb_otlElem",parent.ToggleOtlPan=
e,GetOtlState )
gBtnArr["nb_otlElem"] =3D new TxtBtn( "nb_otl","nb_otlElem",parent.ToggleOt=
lPane,GetOtlState )
gBtnArr["nb_nts"] =3D new ImgBtn( "nb_nts","nb_ntsBorder",10,parent.ToggleN=
gBtnArr["nb_nts"].SetActive =3D _BSetA_BorderI
gBtnArr["nb_nts"].SetInactive =3D _BSetI_BorderI
gBtnArr["nb_ntsBorder"] =3D new TxtBtn( "nb_ntsBorder","nb_ntsElem",parent.=
ToggleNtsPane,GetNtsState )
gBtnArr["nb_ntsElem"] =3D new TxtBtn( "nb_ntsBorder","nb_ntsElem",parent.To=
ggleNtsPane,GetNtsState )
gBtnArr["nb_prevBorder"] =3D gBtnArr["nb_prev"]=3D new ImgBtn( "nb_prev","n=
b_prevBorder",30,parent.GoToPrevSld )
gBtnArr["nb_nextBorder"] =3D gBtnArr["nb_next"]=3D new ImgBtn( "nb_next","n=
b_nextBorder",30,parent.GoToNextSld )
gBtnArr["nb_sldshw"]=3D new ImgBtn( "nb_sldshw","nb_sldshwBorder",18,parent=
.FullScreen )
gBtnArr["nb_sldshwBorder"] =3D new TxtBtn( "nb_sldshw","nb_sldshwBorder",pa=
rent.FullScreen,null )
gBtnArr["nb_sldshwBorder"].SetActive =3D _BSetA_B
gBtnArr["nb_sldshwBorder"].SetInactive =3D _BSetI_B
gBtnArr["nb_sldshwText"] =3D new TxtBtn( "nb_sldshw","nb_sldshwText",parent=
.FullScreen,null )
gBtnArr["nb_sldshwText"].SetActive =3D _BSetA_B
gBtnArr["nb_sldshwText"].SetInactive =3D _BSetI_B
gBtnArr["nb_voice"] =3D gBtnArr["nb_voiceBorder"] =3D new ImgBtn( "nb_voice=
","nb_voiceBorder",18,parent.ToggleVNarration )
gBtnArr["nb_otlTxtBorder"] =3D gBtnArr["nb_otlTxt"]=3D new ImgBtn( "nb_otlT=
xt","nb_otlTxtBorder",23,parent.ToggleOtlText )
gBtnArr["nb_ntsBorder"].m_flagId=3D "nb_nts"
gBtnArr["nb_ntsBorder"].SetFlag =3D NtsBtnSetFlag
gBtnArr["nb_otlTxt"].ChangeIcon=3D GetOtlTxtState
/*********************************************
Context menu implementation
_CM() is the function that's hooked up to
the oncontextmenu event. Once we're asked to
show the menu, we first build it by creating
DIVs on-the-fly. Then we position it=20
within the screen area so it doesn't get
Creating the DIVs using createElement() means
we don't have to write out any extra HTML
into the slide HTML files.
**********************************************/
var sNext=3D"&#19979;&#19968;&#20491;",sPrev=3D"&#21069;&#19968;&#20491;",s=
End=3D"&#32080;&#26463;&#25918;&#26144;",sFont=3D"&#26032;&#32048;&#26126;&=
#39636;",sArrow=3D"&#31661;&#38957;",sFreeform=3D"&#25163;&#32362;&#22810;&=
#37002;&#24418;",sRect=3D"&#30697;&#24418;",sOval=3D"&#27234;&#22291;&#2441=
function ShowMenu()
BuildMenu();
var doc=3DPPTSld.document.body,x=3DPPTSld.event.clientX+doc.scrollLeft,y=
=3DPPTSld.event.clientY+doc.scrollTop
m =3D PPTSld.document.all.item("ctxtmenu")
m.style.pixelLeft=3Dx
if( (x+m.scrollWidth > doc.clientWidth)&&(x-m.scrollWidth > 0) )
m.style.pixelLeft=3Dx-m.scrollWidth
m.style.pixelTop=3Dy
if( (y+m.scrollHeight > doc.clientHeight)&&(y-m.scrollHeight > 0) )
m.style.pixelTop=3Dy-m.scrollHeight
m.style.display=3D""
function _CM()
if( !parent.IsFullScrMode() )
if(!PPTSld.event.ctrlKey) {
ShowMenu()
return false
HideMenu()
function BuildMenu()
if( PPTSld.document.all.item("ctxtmenu") ) return
var mObj=3DCreateItem( PPTSld.document.body )
mObj.id=3D"ctxtmenu"
mObj.style.visibility=3D"hidden"
var s=3DmObj.style
s.position=3D"absolute"
s.cursor=3D"default"
s.width=3D"120px"
SetCMBorder(mObj,"menu","black")
var iObj=3DCreateItem( mObj )
SetCMBorder( iObj, "threedhighlight","threedshadow" )
iObj.style.padding=3D2
CreateMenuItem( iObj,sNext,M_GoNextSld,M_True )
CreateMenuItem( iObj,sPrev,M_GoPrevSld,M_HasPrevSld )
CreateSeparator( iObj )
CreateMenuItem( iObj,sEnd,M_End,M_True )
mObj.style.visibility=3D"visible"
function Cancel() { window.event.cancelBubble=3D window.event.returnVa=
lue=3Dfalse }
function Highlight() { ChangeClr("activecaption","threedhighlight") }
function Deselect() { ChangeClr("threedface","menutext") }
function Perform()
e=3DPPTSld.event.srcElement
if( e.type=3D=3D"menuitem" && e.IsActive() )
e.Action()
PPTSld.event.cancelBubble=3Dtrue
function ChangeClr( bg,clr )
e=3DPPTSld.event.srcElement
if( e.type=3D=3D"menuitem" && e.IsActive() ) {
e.style.backgroundColor=3Dbg
e.style.color=3Dclr
function M_HasPrevSld() { return( parent.HasPrevSld() ) }
function M_GoNextSld() { if( gIsEndShow ) M_End(); else GoToNextSld() }
function M_GoPrevSld() { if( gIsEndShow ) { gIsEndShow=3D0; history.back();=
PPTSld.event.cancelBubble=3D } else GoToPrevSld() }
function M_True() { return true }
function M_End() { window.close( self ) }
function CreateMenuItem( node,text,action,eval )
var e=3DCreateItem( node )
e.type=3D"menuitem"
e.Action=3Daction
e.IsActive=3Deval
e.innerHTML=3Dtext
if( !e.IsActive() )
e.style.color=3D"threedshadow"
e.onclick=3DPerform
e.onmouseover=3DHighlight
e.onmouseout=3DDeselect
s.fontFamily=3DsFont
s.fontSize=3D"9pt"
s.paddingLeft=3D2
function CreateSeparator( node )
var sObj=3DCreateItem( node )
SetCMBorder(sObj,"menu","menu")
var s=3DsObj.style
s.borderTopColor=3D"threedshadow"
s.borderBottomColor=3D"threedhighlight"
s.height=3D1
s.fontSize=3D"0px"
function CreateItem( node )
var elem=3DPPTSld.document.createElement("DIV")
node.insertBefore( elem )
return elem
function SetCMBorder( o,ltClr,rbClr )
var s=3Do.style
s.backgroundColor=3D"menu"
s.borderStyle=3D"solid"
s.borderWidth=3D1
s.borderColor=3DltClr+" "+rbClr+" "+rbClr+" "+ltClr
------=_NextPart_01C9A95B.277D2200
Content-Location: file:///C:/C465C992/T_choir.files/fullscreen.htm
Content-Transfer-Encoding: quoted-printable
Content-Type: text/ charset="us-ascii"
------=_NextPart_01C9A95B.277D2200
Content-Location: file:///C:/C465C992/T_choir.files/buttons.gif
Content-Transfer-Encoding: base64
Content-Type: image/gif
R0lGODlhWAESAPf4AAAAAIAAAACAAICAAAAAgIAAgACAgICAgAQEBISEBASEBISEhAQEhMTExAQE
/KTM9Pz8/ERERPz8BAT8/KSkpGRkhMTcxCRkxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAMDAwP8AAAD/AP//AAAA//8A/wD//////yH5BAEAAPgALAAAAABYARIA
QAj/APEJHEiwoMGDCBMqXMiwocOHECNKnEixosWLGCEiQKCRo8YDIEHig2DxAD4LKD1avDDhgUuV
GUOGbHBR5QGYFBG4fHAB58EKECJEwCfUYAWPFGAygLCRKQIIUKM6WAohKUGgCikcFWh1INWoYKVS
7SrQ41GbIhGYLAuVQVOoC+IyXUuUAkG1HE3KFDhAwkgJc5/qDZmxsOHDiBMrXsy4sePDGyP7lChT
5MULmDPnlDw5YmW6FTNrfgi0aNGEZPEtbfo2bNTUpYeeRph69dPWrqvCNFuBIGG1A59CYPAVQtwF
cw0OxWdTIOiBCQAjaAB17fOFII8voGmRc+eOkilm/z9OvTtnjN4hYk1YoT3H2rnBOphPAB9skgq3
2lcaX/5YnJVt9BloAar12UEIRGCZdQghMABI1Tn32IQUVthYexhmqGGGMBHAgIfEhSiiiATAtOGJ
GnYI4ogsEldicAYOGNJGZaml3Y0L3NTZUBz1xlB0PUoUI0jlVWRSVN89xBKSGB1YU1TMoRfVBEle
hR9HQs1GEHxQ3RZZbveZthxt/LEmXHyp5XWABSCpaRJwbM13gAACPHVccgJFgF+NEhqUAEkQSCfc
ddhVhh5dVTaEAEsTUNlkZUWKN9BNGDE6QU8OrSdbllzpxyVTTrU21Uj3scfhp7nNpyoDaTIEJ3P9
If8J2kbLNYegg9JRBwGhFvbq66+ZUiDssMQWK2yHxiZLrInKNotss8l+B5yBrr5p2UIJvortANoC
6+234IbLla/elRtZjeamh5CC3Sb0YLvixivvYkDFGlZqBNh7r4n6goVvv6/ZlCicN+kL71ALTnpQ
dCIZp7CihkLA3UQmoWRBogyxtBPGCTnZncVR1rSTo5nuydC/Eo8kUH+lOoTyyvjoCuZu+PjYIKLD
rZybtrM1d10C0QXKEVz48GrQkEeWdFJKlbb0UmEeV0SzyC6RvNB646LWIVjUNeC1zAFb+RDKXksM
9r531bwmpQW9+hQDDsx5pqwDRWBXcFES2hc+gEn/wJGdEEWdE6LoWcoxQweaTNmkhydkKaYMYY2Q
p1unbLl/pPKbn3v7EZRvrKvqlja2ONvrtoIw9tn2g32/tQBlhtYkU+MNikZ7QYlPDPuMldpOmuJX
nVo5VF3HjI+q89mteX5IDd/fVFClma5kiE4f2XUJhlz09gj2NbTDRifkmu7zXjR++RVJ/lPznuvr
QH2iD6S+UewP9Dnon6d2NLwN8n90BB6hC68cFMCHoe+ACASP9c4DowUyEF0OPFcDI0ij/VXPaAKC
UfhS95AKGoQ7IBRICI1HwhGaUIQoLGEKT6jCFrLwhSuMoQtlCMMZ2rCGOKShDm+4wxzy8Ic+DGIP
B4cIRCKGMCAAOy==
------=_NextPart_01C9A95B.277D2200
Content-Location: file:///C:/C465C992/T_choir.files/frame.htm
Content-Transfer-Encoding: quoted-printable
Content-Type: text/ charset="us-ascii"
A Mother&#8217;s Prayer
Father lead us day by day, ever in Your own
sweet way. Show us what we need to do. Teach us to be always true. Share Yo=
wisdom as we journey on. All we need to understand is
Your gentle guiding
hand. Give us all the love we need then
------=_NextPart_01C9A95B.277D2200
Content-Location: file:///C:/C465C992/T_choir.files/outline.htm
Content-Transfer-Encoding: quoted-printable
Content-Type: text/ charset="us-ascii"
&#25237;&#24433;&#29255;&#25918;&#26144;
A Mother&#8217;s
Father lead us day by day,
ever in Your own sweet way.
Show us what we need to do.
Teach us to be always true.
Share Your wisdom as we journey on.
All we need to understand is
Your gentle guiding hand.
Give us all the love we need
then we&#8217;ll follow where You lead
and we&#8217;ll always sing Your perfect song.
There will be some sad days.
There will be some fear.
But with ev&#821=
passing day
we will know You&#8217;re near.
Ev&#8217;ry day that dawns anew
brings us closer still to You.
We all strive to do what&#8217;s right
ev&#8217;ry day and ev&#8217;ry night.
We are blest to learn Your wondrous ways.
As You taught us all
(As You taught us in Your creed)
We will comfort them
(We will comfort those in need.)
We can feel Your care beyond compare.
(We can feel Your constant care.
Off&#8217;ring love beyond compare.)
So it&#8217;s to=
You alone we pray
Se pray to You alone we pray.
&#22825;&#19978;=
&#30340;&#26143;
&#22825;&#19978;&#30340;&#26143;&#23601;&#20687;&#23229;&#23229;&#24744=
;&#28331;&#26580;&#30340;&#30524;&#30555;
&#30475;&#25105;&#27489;&#21916; &#20276;&#25105;&#20663;&#24754; &#241=
18;&#25105;&#36208;&#36942;&#40657;&#22812;
&&#22825;&#19978;&#30340;&=
#26143;&#23601;&#20687;&#23229;&#23229;&#24744;&#32654;&#40599;&#30340;&#30=
524;&#30555;
&#26377;&#26178;&#27489;&#21916; &#26377;&#26178;&#20663;&#24754; &#387=
38;&#26149;&#28961;&#24724;&#27506;&#26376;
&#24863;&#35613;&#24744;&#29309;&#25105;&#30340;&#25163;&#65281;&#23229;&=
#23229;&#65292;
&#24863;&#35613;&#24744;&#32102;&#25105;&#30340;&#24859;
&#22825;&#19978;&#26368;&#26126;&#20142;&#30340;&#37027;&#38982;&#26143=
; &#24439;&#24447;&#23601;&#26159;&#23229;&#23229;&#24744;
&#22825;&#19978;&#30340;&#26143;&#23601;&#20687;&#23229;&#23229;&#24744;&=
#28331;&#26580;&#30340;&#30524;&#30555;
&#30475;&#25105;=
&#27489;&#21916;
&#20276;&#25105;&#20663;&#24754; &#24118;&#25105;&#36208;&#36942;&#40657;=
&&#22825;&#19978;&#30340;&=
#26143;&#23601;&#20687;&#23229;&#23229;&#24744;&#32654;&#40599;&#30340;&#30=
524;&#30555;
&#26377;&#26178;&#27489;&#21916; &#26377;&#26178;&#20663;&#24754; &#387=
38;&#26149;&#28961;&#24724;&#27506;&#26376;
&#24863;&#35613;&#24744;&#29309;&#25105;&#30340;&#25163;&#65281;&#23229;&=
#23229;&#65292;
&#24863;&#35613;&#24744;&#32102;&#25105;&#30340;&#24859;
&#22825;&#19978;&#26368;&#26126;&#20142;&#30340;&#37027;&#38982;&#26143=
; &#24439;&#24447;&#23601;&#26159;&#23229;&#23229;&#24744;
&#24863;&#35613;&#24744;&#29309;&#25105;&#30340;&#25163;&#65281;&#23229;&=
#23229;&#65292;
&#24863;&#35613;&#24744;&#32102;&#25105;&#30340;&#24859;
&#22825;&#19978;&#26368;&#26126;&#20142;&#30340;&#37027;&#38982;&#26143=
; &#24439;&#24447;&#23601;&#26159;&#23229;&#23229;&#24744;
&#24439;&#24447;&#23601;&#26159;&#23229;&#23229;&#24744;
&#20320;&#39178;=
&#32946;&#25105;/You
Raise Me up
&#27599;&#30070;&#25105;&#24515;&#38728;&#30130;&#20047;&#36575;&#24369;&=
#24962;&#20663;
&#32972;&#36000;&#37325;&#25812;&#24833;&#33510;&#22739;&#22312;&#24515;&=
When I am down and on, my soul&#8217;s so weary
When troubles come and my heart burdened be
&#25105;&#21482;&#26377;&#21628;&#21914;&#33879;&#20320; &#38748;&#3874=
8;&#31561;&#33879;
&#20320;&#30340;&#21040;&#20358; &#38506;&#20276;&#22312;&#25105;&#36523;=
Then I am still and wait here in the silence
Until you come and sit a while with me
&#20320;&#39178;&#32946;&#25105;&#20351;&#25105;&#33021;&#36234;&#36942=
;&#23665;&#23994;
&#20320;&#39178;&#32946;&#25105;&#34909;&#30772;&#29378;&#39080;&#24040;&=
You raise me up so I can stand on mountains
You raise me up to walk on stormy seas
&#20320;&#26159;&#25105;&#27704;&#36960;&#20381;&#38752;&#30340;&#33152=
&#20320;&#39178;&#32946;&#25105;&#36229;&#36942;&#25105;&#20840;&#25152;&=
I am strong when I am on your shoulders
You raise me up to more than I can be
&#27599;&#30070;=
&#25105;&#24515;&#38728;&#30130;&#20047;&#36575;&#24369;&#24962;&#20663;
&#32972;&#36000;&#37325;&#25812;&#24833;&#33510;&#22739;&#22312;&#24515;&=
When I am down and on, my soul&#8217;s so weary
When troubles come and my heart burdened be
&#25105;&#21482;&#26377;&#21628;&#21914;&#33879;&#20320; &#38748;&#3874=
8;&#31561;&#33879;
&#20320;&#30340;&#21040;&#20358; &#38506;&#20276;&#22312;&#25105;&#36523;=
Then I am still and wait here in the silence
Until you come and sit a while with me
&#20320;&#39178;&#32946;&#25105;&#20351;&#25105;&#33021;&#36234;&#36942=
;&#23665;&#23994;
&#20320;&#39178;&#32946;&#25105;&#34909;&#30772;&#29378;&#39080;&#24040;&=
You raise me up so I can stand on mountains
You raise me up to walk on stormy seas
&#20320;&#26159;&#25105;&#27704;&#36960;&#20381;&#38752;&#30340;&#33152=
&#20320;&#39178;&#32946;&#25105;&#36229;&#36942;&#25105;&#20840;&#25152;&=
I am strong when I am on your shoulders
You raise me up to more than I can be
&#20320;&#39178;=
&#32946;&#25105;&#20351;&#25105;&#33021;&#36234;&#36942;&#23665;&#23994;
&#20320;&#39178;&#32946;&#25105;&#34909;&#30772;&#29378;&#39080;&#24040;&=
You raise me up so I can stand on mountains
You raise me up to walk on stormy seas
&#20320;&#26159;&#25105;&#27704;&#36960;&#20381;&#38752;&#30340;&#33152=
&#20320;&#39178;&#32946;&#25105;&#36229;&#36942;&#25105;&#20840;&#25152;&=
I am strong when I am on your shoulders
You raise me up to more than I can be
&#20320;&#39178;&#32946;&#25105;&#20351;&#25105;&#33021;&#36234;&#36942=
;&#23665;&#23994;
&#20320;&#39178;&#32946;&#25105;&#34909;&#30772;&#29378;&#39080;&#24040;&=
You raise me up so I can stand on mountains
You raise me up to walk on stormy seas
&#20320;&#26159;&#25105;&#27704;&#36960;&#20381;&#38752;&#30340;&#33152=
&#20320;&#39178;&#32946;&#25105;&#36229;&#36942;&#25105;&#20840;&#25152;&=
I am strong when I am on your shoulders
You raise me up to more than I can be
&#20320;&#39178;&#32946;&#25105;&#36229;&#36942;&#25105;&#20840;&#25152=
You raise me up to more than I can be
------=_NextPart_01C9A95B.277D2200
Content-Location: file:///C:/C465C992/T_choir.files/filelist.xml
Content-Transfer-Encoding: quoted-printable
Content-Type: text/ charset="utf-8"
------=_NextPart_01C9A95B.277D2200--}

我要回帖

更多关于 hold是什么意思 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信